1import{d as qt,O as Gt,cM as zo,r as b,e as N,w as Pt,R as He,L as t,f as e,y as h,z as a,S as l,x as O,F as Ge,bK as bt,D as _e,k as Nt,an as Zt,A as _,bM as $t,_ as Jt,U as Xt,M as C,a7 as Xe,N as re,G as Do,am as xo,cn as tl,E as io,bI as So,aX as Bo,cJ as yl,cN as Cl,cO as bl,c as Eo,b as ol,cx as qo,ck as fo,V as ll,cy as ho,a1 as nl,n as Rt,a as $o,J as al,W as po,cP as kl,bq as Sl,ch as _l,cg as Yt,cl as Mo,cm as Vo,u as Il,B as xl}from"./main-Brh8g5Gs.js";import{u as no,n as to,f as _o,r as wl,b as Pl,g as rl,a as wo,c as il,d as Oo,e as Fl,h as Dl,i as sl,j as $l,k as Ho,l as ul,m as cl,o as dl,p as yo,q as Qo,s as Ml,t as Vl,v as Nl,w as Tl,x as Ul,y as Al,z as Go,D as El,A as Xo,B as Jo,_ as Rl,C as Ll,E as zl,F as Bl}from"./DescriptionTemplateEditor-CELUtNPa.js";import{l as Ol}from"./lodash-CF1iixvY.js";import{V as Ft,a as Lt,d as Mt,e as jt}from"./VCard-_xk-bQlF.js";import{V as Hl}from"./VForm-DLRLdWfZ.js";import{V as mo}from"./VCol-CS-lHZVq.js";import{V as Ao}from"./VRow-Ca4lElJG.js";import{V as zt}from"./VImg-zo2hjRlf.js";import{V as lo,a as Dt,b as Vt,d as ko}from"./VList-BrIBmEeA.js";import{V as go}from"./VMenu-DsSGAunm.js";import{V as Ct}from"./VTextField-CZ9WOjPt.js";import{f as ao}from"./error-0WoCVOON.js";import{V as Wo}from"./VCheckboxBtn-nDDltcfg.js";import{V as Wt}from"./VDialog-B8BDF5Wj.js";import{V as Po}from"./VDivider-DPls16s1.js";import{V as Ht}from"./VSpacer-Du-JhunF.js";import{V as Fo}from"./VSelect-BGCtxxpP.js";import{V as Kl}from"./VTextarea-CUmOt0BY.js";import{c as Co,b as Ko}from"./marketplace-CSPgZxLR.js";import{b as ml,c as jl,d as fl,e as pl,f as Yo,h as gl,j as vl,k as Wl,l as jo,s as ql}from"./upload-management-Cu4Pl7T3.js";import{V as ro}from"./VAvatar-CQcliD1L.js";import{V as oo}from"./VChip-C3VK_9tS.js";import{V as Ql}from"./VPagination-DYwwLejj.js";import{V as Gl}from"./VTable-C7AcN5jR.js";import{V as Xl}from"./VSwitch-FkoQF5i-.js";import{V as Jl}from"./VSkeletonLoader-Opp3HP-V.js";import{c as Yl}from"./index-Dj2nUHW9.js";import{u as Zl,i as en}from"./shopifyProductUi-DajMwTTt.js";import{V as tn}from"./VContainer-Bu78zjHx.js";import{a as uo,V as on,c as co,b as ln}from"./VTabs-BkIwvXUV.js";import"./index-Y1wQ6Kce.js";import"./index-Beg9h4-l.js";import"./VFileInput-DthutN87.js";/* empty css */import"./ssrBoot-CWT9GvX2.js";import"./dialog-transition-DsO976QT.js";import"./shopifyBilling-CsMFep3j.js";const nn={key:0,class:"mt-4 category-list-container"},an={class:"text-subtitle-1 font-weight-bold mb-2"},rn={class:"breadcrumbs"},sn={key:1,class:"mt-2 category-list-container"},un={class:"breadcrumbs"},cn={key:2,class:"mt-2 text-center"},dn=qt({__name:"BasicInfoTab",setup(ke){const{t:S}=Gt(),o=no(),{item:g,loading:u,formData:L}=zo(o),ne=b([]),D=N(()=>g.value.img??void 0),ue=N(()=>{var x,W;return to((W=(x=L.value)==null?void 0:x.customProduct)==null?void 0:W.marketCountryCode)||"KR"}),H=N(()=>ue.value==="KR"),Q=N(()=>{const x=S("productNameMarketplaces");return H.value?x:x.replace(/\s*[\(ï¼][^)ï¼]*[\)ï¼]\s*$/,"")}),j=N({get:()=>{var W,de,Re,xe,ot,mt,Ze,me,Qe,U,z,fe,et;const x=L.value.customProduct.customTitle;return x??(((de=(W=o.apiData)==null?void 0:W.customProduct)==null?void 0:de.customTitle)||((xe=(Re=o.apiData)==null?void 0:Re.customProduct)==null?void 0:xe.titleTranslationFallback)||((Ze=(mt=(ot=o.apiData)==null?void 0:ot.customProduct)==null?void 0:mt.supplier_product)==null?void 0:Ze.translatedTitle)||((U=(Qe=(me=o.apiData)==null?void 0:me.customProduct)==null?void 0:Qe.supplier_product)==null?void 0:U.supplierProductTranslatedTitle)||((et=(fe=(z=o.apiData)==null?void 0:z.customProduct)==null?void 0:fe.supplier_product)==null?void 0:et.title)||"")},set:x=>{L.value.customProduct.customTitle=x}}),I=async()=>{try{if(L.value&&L.value.customProduct&&L.value.customProduct.id){const x=De.value||"COUP",{data:W}=await $t.get(`/product/candidate-categories/${L.value.customProduct.id}`,{params:{marketCode:x}});ne.value=W}}catch(x){console.error("Error fetching candidate categories:",x)}},q=b(!1),ve=b(null),Se=x=>x.marketCategoryId??x.id??x.name??"category",Fe=x=>(x??"").replace(/ > /g," » "),Oe=()=>{q.value=!0,setTimeout(()=>{ve.value&&ve.value.focus()},200)};Pt(q,x=>{x&&ve.value&&setTimeout(()=>{var W;
1(W=ve.value)==null||W.focus()},200)});const Ue=Ol.debounce(x=>{const W=x.target;o.searchCategories(W.value,De.value)},300),De=b(""),Pe=b(null),ee=b(null),We=x=>{var W,de;return[x.id??"new",x.shopId??((W=x.shop)==null?void 0:W.id)??"no-shop",x.marketCode??((de=x.shop)==null?void 0:de.marketCode)??"market"].join(":")},ze=x=>{const W=x.shop;return(W==null?void 0:W.shopName)||(W==null?void 0:W.name)||(W==null?void 0:W.nick)||(W==null?void 0:W.shopHandle)||(x.shopId?`${x.marketCode||(W==null?void 0:W.marketCode)||"Shop"} #${x.shopId}`:"")},ft=x=>{const W=String(x||"").trim().toUpperCase();return W==="COUP"?S("Coupang"):W==="SMST"?S("SmartStore"):W||S("marketCategory")},le=x=>{const W=ze(x),Re=[H.value?ft(x.marketCode):"",W].filter(Boolean).join(" - ");return Re?`${S("marketCategory")} (${Re})`:S("marketCategory")},he=()=>o.formData.marketProducts.find(x=>{var xe;const W=Pe.value!==null&&x.id!==null&&String(x.id)===String(Pe.value),de=x.shopId??((xe=x.shop)==null?void 0:xe.id)??null,Re=ee.value!==null&&de!==null&&String(de)===String(ee.value);return W||Re}),J=x=>{var de,Re;const W=x.marketCode||((de=x.shop)==null?void 0:de.marketCode)||null;W&&(De.value=W,Pe.value=x.id??null,ee.value=x.shopId??((Re=x.shop)==null?void 0:Re.id)??null,o.searchResults=[],o.categorySearch="",I(),Oe())},ge=async x=>{console.log("Category:",x),console.log("Market code:",De.value),console.log("Selected market code ref:",De.value),console.log("Clone parents:",o.formData.marketProducts);try{const W=De.value;W==="COUP"&&o.updateAttributesFromCategory(x.requiredAttrs??"[]");const de=he();if(!de){console.error("Market product not found for:",{marketCode:W,selectedMarketProductId:Pe.value,selectedMarketProductShopId:ee.value});return}const Re=x.marketCategoryId||x.makretCategoryId;if(!Re)return;console.log("Using category ID:",Re),de.marketFullCategoryNames=x.fullCategoryNames??null,de.marketCategoryId=Re,de.supplierProductCategoryMatchEdited=!0,de.supplierProductCategoryMatchId=de.supplierProductCategoryMatchId??null,de.supplierProductMatchedCategoryCode=null,de.supplierProductMatchedCategorySource="product-edit-manual",o.searchResults=[],o.categorySearch="",await I(),console.log("Updated marketProducts with category ID:",x.marketCategoryId),console.log("COUP market data:",o.formData.marketProducts.find(xe=>xe.marketCode==="COUP"))}catch(W){console.error(W)}};return(x,W)=>(_(),He(Ft,null,{default:t(()=>[e(Ao,null,{default:t(()=>[e(mo,{cols:"3"},{default:t(()=>[e(zt,{src:D.value,"aspect-ratio":1,cover:"",class:"rounded-lg"},null,8,["src"])]),_:1}),e(mo,{cols:"9"},{default:t(()=>[e(Lt,{class:"d-flex justify-space-between align-center"},{default:t(()=>[h("span",null,a(l(S)("productInformation")),1),W[6]||(W[6]=h("div",null,null,-1))]),_:1}),e(Mt,{class:"text-center"},{default:t(()=>[e(Hl,null,{default:t(()=>[e(Ao,null,{default:t(()=>[e(mo,{cols:"12"},{default:t(()=>[e(Ct,{modelValue:j.value,"onUpdate:modelValue":W[0]||(W[0]=de=>j.value=de),label:Q.value,variant:"outlined",loading:l(u)},null,8,["modelValue","label","loading"])]),_:1}),(_(!0),O(Ge,null,bt(l(o).formData.marketProducts,de=>(_(),He(mo,{cols:"12",key:We(de)},{default:t(()=>[e(Ao,null,{default:t(()=>[e(mo,{cols:"12"},{default:t(()=>[h("div",null,[e(Ct,{readonly:"","model-value":de.marketFullCategoryNames,onClick:()=>J(de),label:le(de),variant:"outlined",density:"comfortable"},null,8,["model-value","onClick","label"])])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e(go,{modelValue:q.value,"onUpdate:modelValue":W[3]||(W[3]=de=>q.value=de),"close-on-content-click":!1,"open-on-click":!1,"close-on-back":!0,"return-value":q.value,"onUpdate:returnValue":W[4]||(W[4]=de=>q.value=de),anchor:"center",position:"center",location:"center"},{activator:t(({props:de})=>[h("div",Zt(de,{style:{display:"none"}}),null,16)]),default:t(()=>[h("div",{class:"d-flex justify-center align-center",style:{position:"fixed",top:"0",left:"0",right:"0",bottom:"0",width:"100vw",height:"100vh","z-index":"999"},onClick:W[2]||(W[2]=Nt(de=>q.value=!1,["self"]))},[e(Ft,{width:"800px","max-width":"90vw","max-height":"80vh",class:"mx-auto d-flex flex-column"},{default:t(()=>[e(Mt,{class:"d-flex flex-column",style:{flex:"1","min-height":"0"}},{default:t(()=>[e(Ct,{ref_key:"categorySearchInput",ref:ve,modelValue:l(o).categorySearch,"onUpdate:modelValue":W[1]||(W[1]=de=>l(o).categorySearch=de),variant:"outlined","append-inner-icon":"mdi-magnify",placeholder:l(S)("searchCategory"),onInput:l(Ue),loading:l(o).loading,density:"comfortable","hide-details":""},null,8,["modelValue","placeholder","onInput","loading"]),ne.value&&ne.value.length>0?(_(),O("div",nn,[h("div",an,a(l(S)("recommendedCategories")),1),e(lo,{density:"compact",class:"category-list"},{default:t(()=>[(_(!0),O(Ge,null,bt(ne.value,de=>(_(),He(Dt,{key:Se(de),onClick:Re=>{ge(de),q.value=!1},class:"recommended-category"},{default:t(()=>[h("span",rn,a(Fe(de.fullCategoryNames)),1)]),_:2},1032,["onClick"]))),128))]),_:1})])):_e("",!0),l(o).searchResults.length?(_(),O("div",sn,[e(lo,{density:"compact",class:"category-list"},{default:t(()=>[(_(!0),O(Ge,null,bt(l(o).searchResults,de=>(_(),He(Dt,{key:Se(de),onClick:Re=>{ge(de),q.value=!1}},{default:t(()=>[h("span",un,a(Fe(de.fullCategoryNames)),1)]),_:2},1032,["onClick"]))),128))]),_:1})])):l(o).categorySearch.length>=2?(_(),O("div",cn,a(l(S)("noSearchResults")),1)):_e("",!0)]),_:1})]),_:1})])]),_:1},8,["modelValue","return-value"]),e(mo,{cols:"12"},{default:t(()=>[e(Ct,{modelValue:l(L).customProduct.tagsCustom,"onUpdate:modelValue":W[5]||
1(W[5]=de=>l(L).customProduct.tagsCustom=de),label:l(S)("productTags"),placeholder:l(S)("enterTagsHint"),variant:"outlined",loading:l(u),density:"comfortable"},null,8,["modelValue","label","placeholder","loading"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}}),mn=Jt(dn,[["__scopeId","data-v-6d71747f"]]),fn={class:"text-subtitle-1 mb-2"},pn={class:"text-caption mb-2"},gn={class:"d-flex align-center mr-2"},vn={class:"option-removal-dialog__summary"},hn={class:"option-removal-dialog__list"},yn=qt({__name:"OptionsTab",props:{selectedCountryCode:{},saveItem:{type:Function}},setup(ke){const{t:S}=Gt(),o=Do(),g=no(),u=ke,L=N(()=>g.hasUploadedListingInCountry(u.selectedCountryCode||null)),ne=le=>le.nameInfo.nameOriginal??le.nameInfo.nameFallback??le.nameInfo.nameCustom??"",D=le=>ne(le)||"option-group",ue=le=>le.valueOriginal??le.valueFallback??le.valueCustom??"",H=le=>le.attributeId??le.id??(ue(le)||"option-value"),Q=le=>_o(le.optionValueImage,le.img,le.customImg)||void 0;function j(le,he){if(L.value)return;const J=ne(le);J&&g.updateCustomOptionNames(J,{target:{value:he??""}})}function I(le,he){const J=ue(le);J&&g.updateCustomOptionValue(J,{target:{value:he??""}})}const q=b(!1),ve=b(!1),Se=b(""),Fe=b(""),Oe=b([]),Ue=b(null);function De(le){var J,ge;const he=(ge=(J=g.apiData)==null?void 0:J.customProduct)==null?void 0:ge.custom_variants;return Array.isArray(he)?he.filter(x=>(wl(x)??[]).includes(le)).map(x=>Number(x==null?void 0:x.id)).filter(x=>Number.isFinite(x)&&x>0):[]}function Pe(le){var ge;const he=(ge=g.apiData)==null?void 0:ge.marketVariants;if(!Array.isArray(he))return[];const J={COUP:S("Coupang"),SMST:S("SmartStore"),RAKU:S("Rakuten"),QOO1:S("Qoo10"),QOO10:S("Qoo10")};return he.filter(x=>{const W=Number(x==null?void 0:x.customVariantId);return le.includes(W)?!!(x!=null&&x.code1||x!=null&&x.marketItemId):!1}).map(x=>{const W=String((x==null?void 0:x.marketCode)||"").toUpperCase();return{key:`${x==null?void 0:x.shopId}-${x==null?void 0:x.id}`,marketLabel:J[W]||W,code:String((x==null?void 0:x.marketItemId)||(x==null?void 0:x.code1)||"")}})}function ee(le){const he=le.selected,J=he===!0?0:1;console.log(`OptionsTab: Checkbox change for "${le.valueOriginal}". Current: ${he}, Target State: ${J}`);const ge=ue(le);if(ge){if(J===0){const x=De(ge),W=Pe(x);if(W.length){Fe.value=le.valueFallback||le.valueOriginal||ge,Oe.value=W,Se.value="",Ue.value={optionValueIdentifier:ge,customVariantIds:x},q.value=!0;return}}g.updateItemGroupSellingStatus({optionValueIdentifier:ge,isSelling:J})}}function We(){q.value=!1,Ue.value=null,Oe.value=[],Se.value=""}async function ze(){const le=Ue.value,he=Number(o.params.id);if(!le||!Number.isFinite(he)||he<=0){We();return}ve.value=!0,Se.value="";try{if(g.updateItemGroupSellingStatus({optionValueIdentifier:le.optionValueIdentifier,isSelling:0}),u.saveItem&&!await u.saveItem(!1,{silent:!0}))throw new Error(S("saveFailed"));const{data:J}=await $t.post(`/product/listing-structure/${he}/remove-variants`,{customVariantIds:le.customVariantIds});if((J==null?void 0:J.success)===!1){const ge=Array.isArray(J==null?void 0:J.results)?J.results.filter(x=>(x==null?void 0:x.success)===!1):[];throw new Error(ge.map(x=>String((x==null?void 0:x.error)||"")).filter(Boolean).join(` 2`)||S("uploadRequestFailed"))}await g.fetchItem(he),We()}catch(J){console.error(J),Se.value=ao(J,S)||String((J==null?void 0:J.message)||J)}finally{ve.value=!1}}function ft(le){const he=ne(le);he&&(console.log("[OptionOrderDebug][dragEnd]",{groupIdentifier:he,orderedValues:le.Values.map((J,ge)=>({index:ge,attributeId:J.attributeId,valueOriginal:J.valueOriginal,valueFallback:J.valueFallback,valueCustom:J.valueCustom}))}),g.updateOptionValueOrder({groupIdentifier:he,orderedValues:le.Values}))}return(le,he)=>(_(),O(Ge,null,[e(Ft,null,{default:t(()=>[e(Mt,null,{default:t(()=>[L.value?(_(),He(Xt,{key:0,type:"info",variant:"tonal",class:"mb-4"},{default:t(()=>[C(a(l(S)("optionGroupNameLockedAfterUpload")),1)]),_:1})):_e("",!0),l(g).groupedOptions&&l(g).groupedOptions.length>0?(_(!0),O(Ge,{key:1},bt(l(g).groupedOptions,J=>xo((_(),O("div",{key:D(J),class:"option-group"},[h("h3",fn,a(J.nameInfo.nameFallback||l(S)("unnamedOptionGroup")),1),h("div",null,[e(Ct,{"model-value":J.nameInfo.nameCustom,"onUpdate:modelValue":ge=>j(J,ge),label:l(S)("customOptionGroupName"),placeholder:ne(J),clearable:"",disabled:L.value},null,8,["model-value","onUpdate:modelValue","label","placeholder","disabled"]),h("div",pn,a(l(S)("originalNameLabel"))+" "+a(J.nameInfo.nameOriginal),1),
2C(" "+a(l(S)("Selected Total"))+": "+a(J.Values.filter(ge=>ge.selected===!0).length)+" / "+a(J.Values.length)+" ",1),e(Po,{class:"mb-4"}),e(l(tl),{list:J.Values,class:"",onEnd:ge=>ft(J)},{default:t(()=>[(_(!0),O(Ge,null,bt(J.Values,ge=>(_(),O("div",{key:H(ge)},[h("div",{class:io(["pa-2",{"opacity-50":!ge.selected}])},[e(Ct,{"append-icon":"mdi-drag-vertical",suffix:`${String(ge.valueCustom||"").length}/25`,"model-value":ge.valueCustom,"onUpdate:modelValue":x=>I(ge,x),label:l(S)("customOptionValue"),placeholder:ue(ge),clearable:""},{prepend:t(()=>[h("div",gn,[e(Wo,{"model-value":ge.selected===!0,indeterminate:ge.selected==="indeterminate","onUpdate:modelValue":x=>ee(ge),onClick:he[0]||(he[0]=Nt(()=>{},["stop"]))},null,8,["model-value","indeterminate","onUpdate:modelValue"]),e(So,{location:"end",origin:"auto"},{activator:t(({props:x})=>[e(zt,Zt({ref_for:!0},x,{src:Q(ge),"lazy-src":Q(ge),width:"50",height:"50","aspect-ratio":"1",cover:"",class:"rounded border cursor-pointer"}),null,16,["src","lazy-src"])]),default:t(()=>[h("div",null,[e(zt,{src:Q(ge),width:"200"},null,8,["src"])])]),_:2},1024)])]),_:2},1032,["suffix","model-value","onUpdate:modelValue","label","placeholder"])],2)]))),128))]),_:2},1032,["list","onEnd"])])])),[[Bo,J.Values&&J.Values.length]])),128)):(_(),He(Xt,{key:2,type:"info",variant:"tonal"},{default:t(()=>[C(a(l(S)("noSkuOptionsFound")),1)]),_:1}))]),_:1})]),_:1}),e(Wt,{modelValue:q.value,"onUpdate:modelValue":he[1]||(he[1]=J=>q.value=J),"max-width":"540",persistent:""},{default:t(()=>[e(Ft,{class:"option-removal-dialog"},{default:t(()=>[e(Lt,{class:"option-removal-dialog__title"},{default:t(()=>[e(Xe,{color:"warning",size:"22"},{default:t(()=>he[2]||(he[2]=[C("mdi-alert-outline")])),_:1}),h("span",null,a(l(S)("listingStructure.removeOptionTitle",{option:Fe.value})),1)]),_:1}),e(Mt,null,{default:t(()=>[h("p",vn,a(l(S)("listingStructure.removeOptionSummary",{count:Oe.value.length})),1),h("div",hn,[(_(!0),O(Ge,null,bt(Oe.value,J=>(_(),O("div",{key:J.key,class:"option-removal-dialog__item"},[e(Xe,{size:"16",color:"error"},{default:t(()=>he[3]||(he[3]=[C("mdi-minus-circle-outline")])),_:1}),h("span",null,a(J.marketLabel)+" · "+a(J.code),1)]))),128))]),e(Xt,{type:"warning",variant:"tonal",density:"compact",class:"mt-3 option-removal-dialog__warning"},{default:t(()=>[C(a(l(S)("listingStructure.removeOptionWarning")),1)]),_:1}),Se.value?(_(),He(Xt,{key:0,type:"error",variant:"tonal",density:"compact",class:"mt-3"},{default:t(()=>[C(a(Se.value),1)]),_:1})):_e("",!0)]),_:1}),e(jt,{class:"justify-end"},{default:t(()=>[e(re,{variant:"text",disabled:ve.value,onClick:We},{default:t(()=>[C(a(l(S)("buttons.cancel")),1)]),_:1},8,["disabled"]),e(re,{color:"error",variant:"flat",loading:ve.value,onClick:ze},{default:t(()=>[C(a(l(S)("listingStructure.removeOptionConfirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}}),Cn=Jt(yn,[["__scopeId","data-v-38bc791c"]]),bn="https://kr.api.uniauc.com",Zo=yl.create({baseURL:bn}),kn={class:"image-editor-toolbar"},Sn={class:"image-editor-toolbar-row image-editor-main-actions"},_n={key:0,class:"image-editor-toolbar-row image-editor-style-actions"},In={class:"image-editor-color-field"},xn={key:0,class:"image-editor-loading"},wn={class:"image-editor-shortcut-hint"},Pn=qt({__name:"ImageEditorDialog",props:{modelValue:{type:Boolean},imageUrl:{},preferTallLayout:{type:Boolean}},emits:["update:modelValue","saved"],setup(ke,{emit:S}){const o=ke,g=S,{t:u}=Gt(),ne=Cl(void 0,void 0).id===bl.id?"https://image-proxy.glocing.com":"https://image-proxy.malltery.com",D=b(!1),ue=b(!1),H=b(!1),Q=b(!1),j=b(null),I=b(null),q=b(null),ve=b(null),Se=b(!1),Fe=b(null),Oe=b(null),Ue=b(null),De=Eo({width:0,height:0}),Pe=b(null),ee=b([]),We=b(null),ze=b([]),ft=["Noto Sans","Nanum Gothic","Malgun Gothic","Apple SD Gothic Neo","Arial","Helvetica","Times New Roman","Georgia","Courier New","monospace"],le=b("Noto Sans"),he=b(28),J=b("#111111"),ge=b(!1),x=b(!1),W=b(!1),de=b(1.2),Re=b(1),xe=Eo({x:0,y:0,width:0,height:0,visible:!1}),ot=b(null),mt=b("none"),Ze=b(!1),me=Eo({visible:!1,nodeId:null,value:"",x:0,y:0,width:120,minHeight:36,fontSize:20,fontFamily:"Noto Sans",fill:"#111111",align:"left",lineHeight:1.2,fontStyle:"normal",textDecoration:"",rotation:0}),Qe=N(()=>u("imageEditorShortcutHint",{removeLabel:u("imageEditorRemoveText")})),U=N(()=>De.height>0&&De.width>
20&&De.height/De.width>1.05),z=N(()=>!!o.preferTallLayout),fe=N(()=>z.value?"image-editor-card--prefer-tall":U.value?"image-editor-card--tall":null),et=N(()=>z.value?760:U.value?960:1200),gt=N(()=>({left:`${Math.max(0,me.x)}px`,top:`${Math.max(0,me.y)}px`,width:`${Math.max(20,me.width+2)}px`,minHeight:`${Math.max(18,me.minHeight)}px`,fontSize:`${Math.max(10,me.fontSize)}px`,fontFamily:me.fontFamily||"Noto Sans",color:me.fill||"#111111",textAlign:me.align,lineHeight:String(me.lineHeight||1.2),fontWeight:(me.fontStyle||"").includes("bold")?"700":"400",fontStyle:(me.fontStyle||"").includes("italic")?"italic":"normal",textDecoration:me.textDecoration||"none",caretColor:me.fill||"#111111",transform:`rotate(${me.rotation}deg)`,transformOrigin:"left top"}));async function at(i){if(i){ve.value=i,D.value=!0;try{const{data:c}=await $t.get("product/translated-image",{params:{url:i}}),k=(c==null?void 0:c.data)||c||{};q.value={original_url:typeof k.original_url=="string"?k.original_url:i,translated_url:typeof k.translated_url=="string"?k.translated_url:i,inpainted_url:typeof k.inpainted_url=="string"?k.inpainted_url:null,bounding_boxes:Array.isArray(k.bounding_boxes)?k.bounding_boxes:[],source:typeof k.source=="string"?k.source:null},await Rt(),await xt()}catch(c){console.error("Failed to load translated image info:",c)}finally{D.value=!1}}}function M(i,c,k){return Number.isFinite(i)?Math.max(c,Math.min(k,i)):c}function E(i,c="#111111"){if(!i)return c;const k=i.trim(),R=/^#[0-9a-f]{3}$/i,pe=/^#[0-9a-f]{6}$/i;if(R.test(k))return`#${k.slice(1).split("").map(Ae=>Ae+Ae).join("")}`.toLowerCase();if(pe.test(k))return k.toLowerCase();const T=k.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(T){const[Ae,Te,be]=T.slice(1,4).map(Ye=>M(Number(Ye),0,255));return`#${[Ae,Te,be].map(Ye=>Math.round(Ye).toString(16).padStart(2,"0")).join("")}`.toLowerCase()}return c}function ae(i){const c=(i||"normal").toLowerCase();return{bold:c.includes("bold"),italic:c.includes("italic")}}function ce(i){return i.bold&&i.italic?"bold italic":i.bold?"bold":i.italic?"italic":"normal"}function Le(i){const c=Math.max(1,(i.text||"").split(` 3`).length);return Math.max(i.fontSize,i.fontSize*i.lineHeight*c)}function tt(i){var Ye,It,Ut;const c=it(),k=((Ye=c==null?void 0:c.findOne)==null?void 0:Ye.call(c,`#${i.id}`))||null;let R=Math.max(1,i.width),pe=Math.max(1,Le(i));if(k){const At=Number((It=k.getTextWidth)==null?void 0:It.call(k)),Bt=Number((Ut=k.getTextHeight)==null?void 0:Ut.call(k));Number.isFinite(At)&&At>0&&(R=At),Number.isFinite(Bt)&&Bt>0&&(pe=Bt)}const T=Math.max(1,i.width);let Ae=0;i.align==="center"?Ae=(T-R)/2:i.align==="right"&&(Ae=T-R);const Te=i.x+Ae,be=i.y;return{left:Te,right:Te+R,top:be,bottom:be+pe,width:R,height:pe}}function lt(i,c){const k=i.x+i.width,R=i.y+i.height;return c.left<=k&&c.right>=i.x&&c.top<=R&&c.bottom>=i.y}function vt(){if(!ze.value.length)return[];const i=new Set(ze.value);return ee.value.filter(c=>i.has(c.id))}function ut(i,c=null){const k=new Set(ee.value.map(pe=>pe.id)),R=i.filter((pe,T)=>k.has(pe)&&i.indexOf(pe)===T);ze.value=R,c&&R.includes(c)?We.value=c:We.value=R.length?R[R.length-1]:null,ht()}function $(){H.value=!0}function B(){if(!ue.value){if(me.visible&&P(),!H.value){g("update:modelValue",!1);return}Q.value=!0}}function ye(){Q.value=!1,Ke()}function Be(){Q.value=!1,g("update:modelValue",!1)}function ct(i){if(i){g("update:modelValue",!0);return}o.modelValue&&B()}function ht(){const i=vt();if(!i.length)return;const c=i[0];le.value=c.fontFamily||"Noto Sans",he.value=Math.round(c.fontSize||28),J.value=E(c.fill,"#111111"),de.value=Number((c.lineHeight||1.2).toFixed(1)),Re.value=Number(M(c.opacity??1,.1,1).toFixed(2)),ge.value=i.every(k=>ae(k.fontStyle).bold),x.value=i.every(k=>ae(k.fontStyle).italic),W.value=i.every(k=>(k.textDecoration||"").includes("underline"))}function dt(i){const c=vt();c.length&&(c.forEach(k=>i(k)),$(),ht(),Rt(()=>{Je()}))}function Kt(){if(!ee.value.length)return;const i=ee.value.map(c=>c.id);ut(i,i[i.length-1]||null),Rt(()=>{Je(),Ke()})}function w(i){const c=(i||le.value||"Noto Sans").trim()||"Noto Sans";le.value=c,dt(k=>{k.fontFamily=c})}function y(){const i=M(Number(he.value),8,300);he.value=Math.round(i),dt(c=>{c.fontSize=i})}function G(){const i=E(J.value,"#111111");J.value=i,dt(c=>{c.fill=i})}function Me(){const i=M(Number(de.value),.8,3);de.value=Number(i.toFixed(1)),dt(c=>{c.lineHeight=i})}function Y(){const i=M(Number(Re.value),.1,1);Re.value=Number(i.toFixed(2)),dt(c=>{c.opacity=i})}function te(){const i=!ge.value;dt(c=>{const k=ae(c.fontStyle);c.fontStyle=ce({bold:i,italic:k.italic})}),ge.value=i}function V(){const i=!x.value;dt(c=>{const k=ae(c.fontStyle);c.fontStyle=ce({bold:k.bold,italic:i})}),x.value=i}function Ie(){const i=!W.value;dt(c=>{c.textDecoration=i?"underline":""}),W.value=i}function nt(i){const c=vt();if(c.length<2)return;const k=Math.min(...c.map(T=>T.x)),R=Math.max(...c.map(T=>T.x+T.width)),pe=Math.max(1,R-k);
3c.forEach(T=>{T.x=k,T.width=pe,T.align=i}),$(),ht(),Rt(()=>{Je(),Ke()})}function rt(i){if(ze.value.length>1){nt(i);return}dt(c=>{c.align=i})}async function xt(){if(!q.value)return;H.value=!1,ut([]),ee.value=[];const i=q.value.inpainted_url||q.value.translated_url;try{Fe.value=await v(i)}catch(T){console.warn("Failed to fetch base image data:",T),Fe.value=i}const c=await kt(Fe.value||i);Pe.value=c,De.width=c.naturalWidth||c.width,De.height=c.naturalHeight||c.height;const k=Array.isArray(q.value.bounding_boxes)?q.value.bounding_boxes:[],R=De.width,pe=De.height;for(const T of k){const Ae=Array.isArray(T.box_2d)?T.box_2d:null;if(!Ae||Ae.length<4)continue;const[Te,be,Ye,It]=Ae.map(r=>Number(r)),Ut=be/1e3*R,At=Te/1e3*pe,Bt=Math.max(10,(It-be)/1e3*R),n=Math.max(10,(Ye-Te)/1e3*pe),m=Math.max(12,Math.round(n*.6)),F=typeof T.translatedText=="string"?T.translatedText:"";ee.value.push({id:`text-${Math.random().toString(36).substring(2,9)}`,x:Ut,y:At,width:Bt,text:F,fontSize:m,fontFamily:T.fontFamily||"Noto Sans",fill:E(T.fontColor,"#111111"),rotation:Number(T.rotation||0),align:T.align||"left",lineHeight:M(Number(T.lineHeight||1.2),.8,3),opacity:M(Number(T.opacity||1),.1,1),fontStyle:T.fontStyle||"normal",textDecoration:T.textDecoration||""})}await Rt(),Je(),Ke(),H.value=!1}function kt(i){return new Promise((c,k)=>{const R=new Image;R.crossOrigin="anonymous",R.onload=()=>c(R),R.onerror=()=>k(new Error("Failed to load image")),R.src=i})}function it(){var i,c,k,R;return((c=(i=j.value)==null?void 0:i.getNode)==null?void 0:c.call(i))||((R=(k=j.value)==null?void 0:k.getStage)==null?void 0:R.call(k))||null}function Je(){var k,R,pe,T,Ae;const i=it(),c=((R=(k=I.value)==null?void 0:k.getNode)==null?void 0:R.call(k))||null;if(!(!i||!c)){if(me.visible||!ze.value.length)c.nodes([]);else{const Te=ze.value.map(be=>i.findOne(`#${be}`)).filter(be=>!!be);c.nodes(Te)}(Ae=(T=(pe=c.getLayer)==null?void 0:pe.call(c))==null?void 0:T.batchDraw)==null||Ae.call(T)}}function Tt(i){var Ae;const c=it();if(!c)return;me.visible||Ke();const k=i==null?void 0:i.target,R=(Ae=k==null?void 0:k.getClassName)==null?void 0:Ae.call(k);if(!((i==null?void 0:i.target)===c||R==="Image"))return;const T=c.getPointerPosition();if(T){if(!Se.value){const Te=i==null?void 0:i.evt,be=!!(Te!=null&&Te.shiftKey||Te!=null&&Te.metaKey||Te!=null&&Te.ctrlKey);mt.value="select",Ze.value=be,ot.value={x:T.x,y:T.y},xe.x=T.x,xe.y=T.y,xe.width=0,xe.height=0,xe.visible=!0;return}mt.value="inpaint",Ze.value=!1,ot.value={x:T.x,y:T.y},xe.x=T.x,xe.y=T.y,xe.width=0,xe.height=0,xe.visible=!0}}function f(){if(!ot.value||mt.value==="none")return;const i=it();if(!i)return;const c=i.getPointerPosition();if(!c)return;const k=ot.value;xe.x=Math.min(k.x,c.x),xe.y=Math.min(k.y,c.y),xe.width=Math.abs(c.x-k.x),xe.height=Math.abs(c.y-k.y)}async function d(){if(!ot.value||mt.value==="none")return;const i=mt.value,c=Ze.value,k={x:xe.x,y:xe.y,width:xe.width,height:xe.height};if(ot.value=null,xe.visible=!1,mt.value="none",Ze.value=!1,i==="inpaint"){if(Se.value=!1,k.width<2||k.height<2)return;await St(k);return}if(k.width<2||k.height<2){c||(ut([]),Je());return}const pe=ee.value.filter(T=>lt(k,tt(T))).map(T=>T.id);if(c){const T=[...ze.value];pe.forEach(Ae=>{T.includes(Ae)||T.push(Ae)}),ut(T,T[T.length-1]||null)}else ut(pe,pe[pe.length-1]||null);Rt(()=>{Je(),Ke()})}async function v(i){if(i.startsWith("data:"))return i;const c=T=>T.startsWith("//")?`https:${T}`:T,k=T=>{try{const Te=new URL(c(T)).hostname.toLowerCase();return Te==="1688.com"||Te.endsWith(".1688.com")||Te==="taobao.com"||Te.endsWith(".taobao.com")||Te==="tmall.com"||Te.endsWith(".tmall.com")||Te==="alicdn.com"||Te.endsWith(".alicdn.com")}catch{return!1}},R=c(i),pe=(()=>{if(k(R))return`${ne}/image?url=${encodeURIComponent(R)}`;const T=R.replace(/^https?:\/\//,"");return`https://wsrv.nl/?url=${encodeURIComponent(T)}`})();try{const{data:T}=await Zo.post("product/image-data",{url:pe}),Ae=T==null?void 0:T.dataUrl;if(typeof Ae=="string"&&Ae.startsWith("data:"))return Ae}catch(T){console.warn("Failed to get image data URL from API, falling back to browser fetch:",T)}try{const T=await fetch(pe);
3if(!T.ok)throw new Error(`Failed to fetch image: ${T.status}`);const Ae=await T.blob(),Te=await new Promise((be,Ye)=>{const It=new FileReader;It.onload=()=>be(String(It.result||"")),It.onerror=()=>Ye(It.error||new Error("Failed to read image blob")),It.readAsDataURL(Ae)});if(Te.startsWith("data:"))return Te}catch(T){console.warn("Failed to fetch image as data URL in browser:",T)}return pe}function K(){const i={id:`text-${Math.random().toString(36).substring(2,9)}`,x:40,y:40,width:200,text:u("imageEditorNewText"),fontSize:M(Number(he.value),8,300),fontFamily:le.value||"Noto Sans",fill:E(J.value,"#111111"),rotation:0,align:"left",lineHeight:M(Number(de.value),.8,3),opacity:M(Number(Re.value),.1,1),fontStyle:ce({bold:ge.value,italic:x.value}),textDecoration:W.value?"underline":""};ee.value.push(i),$(),ut([i.id],i.id),Rt(()=>{Je(),Ke()})}function X(i,c){var pe,T,Ae,Te;if(Se.value)return;const k=Number(((pe=c==null?void 0:c.evt)==null?void 0:pe.detail)||0);if(!!((T=c==null?void 0:c.evt)!=null&&T.shiftKey||(Ae=c==null?void 0:c.evt)!=null&&Ae.metaKey||(Te=c==null?void 0:c.evt)!=null&&Te.ctrlKey)){const be=[...ze.value],Ye=be.indexOf(i);Ye>=0&&be.length>1?be.splice(Ye,1):Ye<0&&be.push(i),ut(be,i)}else{const be=ze.value.length===1&&ze.value[0]===i;if(ut([i],i),be&&k>=2&&!me.visible){ie(i,c);return}}Rt(()=>{Je(),Ke()})}function ie(i,c){var m,F;c&&typeof c=="object"&&(c.cancelBubble=!0,(m=c.evt)!=null&&m.preventDefault&&c.evt.preventDefault());const k=it(),R=Oe.value;if(!k||!R)return;const pe=ee.value.find(r=>r.id===i);if(!pe)return;const T=k.findOne(`#${i}`);if(!T)return;const Ae=(F=k.container)==null?void 0:F.call(k);if(!Ae)return;const Te=R.getBoundingClientRect(),be=Ae.getBoundingClientRect(),Ye=k.scaleX&&k.scaleX()||1,It=k.scaleY&&k.scaleY()||1,Ut=T.absolutePosition?T.absolutePosition():{x:pe.x,y:pe.y},At=T.width?T.width():pe.width,Bt=T.height?T.height():pe.fontSize*1.3,n=T.lineHeight?T.lineHeight():1.2;me.visible=!0,me.nodeId=i,me.value=pe.text||"",me.x=be.left-Te.left+R.scrollLeft+Ut.x*Ye,me.y=be.top-Te.top+R.scrollTop+Ut.y*It,me.width=At*Ye,me.minHeight=Math.max(34,Bt*It),me.fontSize=Math.max(10,pe.fontSize*It),me.fontFamily=pe.fontFamily||"Noto Sans",me.fill=pe.fill||"#111111",me.align=pe.align||"left",me.lineHeight=Math.max(.8,Number(n)||1.2),me.fontStyle=pe.fontStyle||"normal",me.textDecoration=pe.textDecoration||"",me.rotation=pe.rotation||0,ut([i],i),Rt(()=>{var oe;Je(),(oe=Ue.value)==null||oe.focus(),s();const r=Ue.value;if(r){const Ce=r.value.length;r.setSelectionRange(Ce,Ce)}})}function s(){const i=Ue.value;if(!i)return;i.style.height="auto";const c=Math.max(me.minHeight,i.scrollHeight);i.style.height=`${c}px`}function p(){me.visible=!1,me.nodeId=null,me.value=""}function P(){if(!me.visible||!me.nodeId)return;const i=me.nodeId,c=ee.value.find(k=>k.id===i);c&&c.text!==me.value&&(c.text=me.value,$()),p(),ut([i],i),Rt(()=>{Je(),Ke()})}function A(i){if(i.key==="Escape"){i.preventDefault(),i.stopPropagation(),P();return}i.key==="Enter"&&(i.ctrlKey||i.metaKey)&&(i.preventDefault(),i.stopPropagation(),P())}function we(){me.visible&&P()}function Z(i,c){const k=c==null?void 0:c.target;if(!k)return;const R=ee.value.find(be=>be.id===i);if(!R)return;const pe=k.scaleX?k.scaleX():1,T=k.scaleY?k.scaleY():1,Ae=Math.max(10,k.width()*pe),Te=Math.max(8,k.fontSize()*T);R.x=k.x(),R.y=k.y(),R.width=Ae,R.fontSize=Te,R.rotation=k.rotation?k.rotation():0,R.fill=k.fill?k.fill():R.fill,R.fontFamily=k.fontFamily?k.fontFamily():R.fontFamily,R.align=k.align?k.align():R.align,R.lineHeight=M(Number(k.lineHeight?k.lineHeight():R.lineHeight),.8,3),R.opacity=M(Number(k.opacity?k.opacity():R.opacity),.1,1),R.fontStyle=k.fontStyle?k.fontStyle():R.fontStyle,R.textDecoration=k.textDecoration?k.textDecoration():R.textDecoration,k.scaleX&&k.scaleX(1),k.scaleY&&k.scaleY(1),$(),ht(),Je()}function Ve(){if(!ze.value.length)return;const i=new Set(ze.value),c=ee.value.some(k=>i.has(k.id));ee.value=ee.value.filter(k=>!i.has(k.id)),me.nodeId&&i.has(me.nodeId)&&p(),c&&$(),ut([]),Je()}function Ke(){var i;(i=Oe.value)==null||i.focus()}function se(i){var T;if(!o.modelValue||me.visible)return;const c=i.target,k=(T=c==null?void 0:c.tagName)==null?void 0:T.toLowerCase();if(!!c&&(c.isContentEditable||k==="input"||k==="textarea"||k==="select"))return;if(i.key==="Delete"||i.key==="Backspace"){if(!ze.value.length)return;i.preventDefault(),Ve();return}if(!ze.value.length||!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(i.key))return;i.preventDefault();const pe=i.shiftKey?10:1;dt(Ae=>{i.key==="ArrowUp"&&(Ae.y-=pe),i.key==="ArrowDown"&&(Ae.y+=pe),i.key==="ArrowLeft"&&(Ae.x-=pe),i.key==="ArrowRight"&&(Ae.x+=pe)})}function Ne(){me.visible&&P(),Se.value=!0,mt.value="none",Ze.value=!1,ot.value=null,ut([]),Je(),xe.visible=!1}async function St(i){if(Fe.value){D.value=!0;try{const c=Fe.value.includes(",")?Fe.value.split(",")[1]:null;if(!c){console.warn("Inpaint skipped: base image data is not available.");return}const k=[i.y,i.x,i.y+i.height,i.x+i.width],{data:R}=await Zo.post("product/inpaint-image",{imageBase64:c,boxes:[{box_2d:k}],normalize:!1});if(R!=null&&R.imageBase64){const pe=`data:image/png;base64,${R.imageBase64}`;Fe.value=pe;const T=await kt(pe);
3Pe.value=T,De.width=T.naturalWidth||T.width,De.height=T.naturalHeight||T.height,$()}}catch(c){console.error("Failed to inpaint image:",c)}finally{D.value=!1}}}async function pt(){var pe,T,Ae,Te,be,Ye,It,Ut;if(!q.value)return;me.visible&&(P(),await Rt());const i=it();if(!i)return;ue.value=!0;const c=((T=(pe=I.value)==null?void 0:pe.getNode)==null?void 0:T.call(pe))||null,k=c==null?void 0:c.visible(),R=xe.visible;try{c&&c.visible(!1),xe.visible=!1,(be=(Te=(Ae=c==null?void 0:c.getLayer)==null?void 0:Ae.call(c))==null?void 0:Te.batchDraw)==null||be.call(Te);const At=i.toDataURL({pixelRatio:1}),Bt=st(),{data:n}=await $t.post("product/translated-image",{originalUrl:q.value.original_url,imageDataUrl:At,boundingBoxes:Bt,inpaintedUrl:q.value.inpainted_url,source:q.value.source||"manual"}),m=(n==null?void 0:n.translatedUrl)||(n==null?void 0:n.translated_url);if(m){const F=ve.value||q.value.translated_url||o.imageUrl||null;ve.value=m,q.value.translated_url=m,g("saved",{oldUrl:F,newUrl:m})}H.value=!1,g("update:modelValue",!1)}catch(At){console.error("Failed to save edited image:",At)}finally{c&&c.visible(k!==!1),xe.visible=R,(Ut=(It=(Ye=c==null?void 0:c.getLayer)==null?void 0:Ye.call(c))==null?void 0:It.batchDraw)==null||Ut.call(It),ue.value=!1}}function st(){const i=it();if(!i)return[];const c=i.width(),k=i.height();return i.find("Text").map(R=>{const pe=R.text?R.text():"";if(!pe)return null;const T=R.getClientRect(),Ae=Math.max(0,Math.round(T.y/k*1e3)),Te=Math.max(0,Math.round(T.x/c*1e3)),be=Math.min(1e3,Math.round((T.y+T.height)/k*1e3)),Ye=Math.min(1e3,Math.round((T.x+T.width)/c*1e3));return{box_2d:[Ae,Te,be,Ye],translatedText:pe,fontFamily:R.fontFamily?R.fontFamily():"Noto Sans",fontColor:R.fill?R.fill():"#111111",fontSize:R.fontSize?R.fontSize():28,lineHeight:R.lineHeight?R.lineHeight():1.2,opacity:R.opacity?R.opacity():1,fontStyle:R.fontStyle?R.fontStyle():"normal",textDecoration:R.textDecoration?R.textDecoration():"",rotation:R.rotation?R.rotation():0,align:R.align?R.align():"left"}}).filter(Boolean)}function _t(){B()}function wt(){Pe.value=null,ee.value=[],ut([]),H.value=!1,p(),xe.visible=!1,ot.value=null,mt.value="none",Ze.value=!1,Fe.value=null,q.value=null,ve.value=null,Se.value=!1,Q.value=!1}return Pt(()=>o.modelValue,i=>{if(!i){wt();return}o.imageUrl&&at(o.imageUrl)},{immediate:!0}),Pt(()=>o.imageUrl,(i,c)=>{o.modelValue&&(!i||i===c||at(i))}),ol(()=>{wt()}),(i,c)=>{const k=ho("v-image"),R=ho("v-text"),pe=ho("v-rect"),T=ho("v-transformer"),Ae=ho("v-layer"),Te=ho("v-stage");return _(),O(Ge,null,[e(Wt,{"model-value":o.modelValue,"max-width":et.value,"onUpdate:modelValue":ct},{default:t(()=>[e(Ft,{class:io(["image-editor-card",fe.value])},{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(u)("imageEditorTitle")),1)]),_:1}),e(Mt,{class:"image-editor-card-text"},{default:t(()=>[h("div",kn,[h("div",Sn,[e(re,{class:"image-editor-btn",color:"primary",onClick:K},{default:t(()=>[C(a(l(u)("imageEditorAddText")),1)]),_:1}),e(re,{class:"image-editor-btn",variant:"outlined",color:"primary",disabled:ze.value.length===0,onClick:Ve},{default:t(()=>[C(a(l(u)("imageEditorRemoveText")),1)]),_:1},8,["disabled"]),e(re,{class:"image-editor-btn",variant:"outlined",color:"primary",disabled:ee.value.length===0,onClick:Kt},{default:t(()=>[C(a(l(u)("imageEditorSelectAllText")),1)]),_:1},8,["disabled"]),e(re,{class:"image-editor-btn",variant:"outlined",color:"primary",onClick:Ne},{default:t(()=>[C(a(l(u)("imageEditorInpaint")),1)]),_:1})]),ze.value.length>0?(_(),O("div",_n,[e(Fo,{modelValue:le.value,"onUpdate:modelValue":[c[0]||(c[0]=be=>le.value=be),w],items:ft,label:l(u)("imageEditorFontLabel"),density:"compact",variant:"outlined","hide-details":"",class:"image-editor-field image-editor-font-field"},null,8,["modelValue","label"]),e(Ct,{modelValue:he.value,"onUpdate:modelValue":c[1]||(c[1]=be=>he.value=be),modelModifiers:{number:!0},type:"number",min:"8",max:"300",step:"1",label:l(u)("imageEditorSizeLabel"),density:"compact",variant:"outlined","hide-details":"",class:"image-editor-field image-editor-number-field",onChange:y},null,8,["modelValue","label"]),h("label",In,[h("span",null,a(l(u)("imageEditorColorLabel")),1),xo(h("input",{type:"color","onUpdate:modelValue":c[2]||(c[2]=be=>J.value=be),onInput:G},null,544),[[qo,J.value]])]),e(re,{class:"image-editor-icon-btn",variant:ge.value?"flat":"outlined",onClick:te},{default:t(()=>[e(Xe,{icon:"mdi-format-bold"})]),_:1},8,["variant"]),e(re,{class:"image-editor-icon-btn",variant:x.value?"flat":"outlined",onClick:V},{default:t(()=>[e(Xe,{icon:"mdi-format-italic"})]),_:1},8,["variant"]),e(re,{class:"image-editor-icon-btn",variant:W.value?"flat":"outlined",onClick:Ie},{default:t(()=>[e(Xe,{icon:"mdi-format-underline"})]),_:1},8,["variant"]),e(fo,{density:"compact",class:"image-editor-icon-group"},{default:t(()=>[e(re,{class:"image-editor-icon-btn",onClick:c[3]||(c[3]=be=>rt("left"))},{default:t(()=>[e(Xe,{icon:"mdi-format-align-left"})]),_:1}),e(re,{class:"image-editor-icon-btn",onClick:c[4]||(c[4]=be=>rt("center"))},{default:t(()=>[e(Xe,{icon:"mdi-format-align-center"})]),_:1}),e(re,{class:"image-editor-icon-btn",onClick:c[5]||(c[5]=be=>rt("right"))},{default:t(()=>[e(Xe,{icon:"mdi-format-align-right"})]),_:1})]),_:1}),e(Ct,{modelValue:de.value,"onUpdate:modelValue":c[6]||(c[6]=be=>de.value=be),modelModifiers:{number:!0},type:"number",min:"0.8",max:"3",step:"0.1",label:l(u)("imageEditorLineLabel"),density:"compact",variant:"outlined","hide-details":"",class:"image-editor-field image-editor-number-field",onChange:Me},null,8,["modelValue","label"]),e(Ct,{modelValue:Re.value,"onUpdate:modelValue":c[7]||(c[7]=be=>Re.value=be),modelModifiers:{number:!0},type:"number",min:"0.1",max:"1",step:"0.1",label:l(u)("imageEditorOpacityLabel"),density:"compact",variant:"outlined","hide-details":"",class:"image-editor-field image-editor-number-field",onChange:Y},null,8,["modelValue","label"])])):_e("",!0)]),h("div",{ref_key:"stageKeyboardHost",ref:Oe,class:"image-editor-canvas-wrapper",tabindex:"0",onKeydown:se},[D.value?(_(),O("div",xn,[e(ll,{indeterminate:""})])):_e("",!0),e(Te,{ref_key:"stageRef",ref:j,config:De,onMousedown:Tt,onMousemove:f,onMouseup:d},{default:t(()=>[e(Ae,null,{default:t(()=>[Pe.value?(_(),He(k,{key:0,config:{image:Pe.value}},null,8,["config"])):_e("",!0),(_(!0),O(Ge,null,bt(ee.value,be=>(_(),He(R,{key:be.id,config:{...be,draggable:!Se.value,visible:!(me.visible&&me.nodeId===be.id)},onClick:Ye=>X(be.id,Ye),onDblclick:Ye=>ie(be.id,Ye),onDbltap:Ye=>ie(be.id,Ye),onDragend:Ye=>Z(be.id,Ye),onTransformend:Ye=>Z(be.id,Ye)},null,8,["config","onClick","onDblclick","onDbltap","onDragend","onTransformend"]))),128)),xe.visible?(_(),He(pe,{key:1,config:{x:xe.x,y:xe.y,width:xe.width,height:xe.height,fill:mt.value==="inpaint"?"rgba(0,0,0,0.2)":"rgba(30,136,229,0.2)",stroke:mt.value==="inpaint"?"#ff3b30":"#1e88e5",strokeWidth:2}},null,8,["config"])):_e("",!0),ze.value.length>0?(_(),He(T,{key:2,ref_key:"transformerRef",ref:I,config:{rotateEnabled:!0}},null,512)):_e("",!0)]),_:1})]),_:1},8,["config"]),me.visible?xo((_(),O("textarea",{key:1,ref_key:"inlineTextEditorRef",ref:Ue,"onUpdate:modelValue":c[8]||(c[8]=be=>me.value=be),class:"image-editor-inline-textarea",style:nl(gt.value),onInput:s,onKeydown:Nt(A,["stop"]),onBlur:we,onClick:c[9]||(c[9]=Nt(()=>{},["stop"])),onMousedown:c[10]||(c[10]=Nt(()=>{},["stop"]))},null,36)),[[qo,me.value]]):_e("",!0)],544),h("div",wn,a(Qe.value),1)]),_:1}),e(jt,{class:"image-editor-footer-actions"},{default:t(()=>[e(Ht),e(re,{class:"image-editor-footer-btn",variant:"outlined",onClick:_t},{default:t(()=>[C(a(l(u)("imageEditorClose")),1)]),_:1}),e(re,{class:"image-editor-footer-btn",color:"primary",loading:ue.value,onClick:pt},{default:t(()=>[C(a(l(u)("imageEditorSave")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["class"])]),_:1},8,["model-value","max-width"]),e(Wt,{modelValue:Q.value,"onUpdate:modelValue":c[11]||(c[11]=be=>Q.value=be),"max-width":"440"},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(u)("imageEditorDiscardTitle")),1)]),_:1}),e(Mt,null,{default:t(()=>[C(a(l(u)("imageEditorDiscardMessage")),1)]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{variant:"text",onClick:ye},{default:t(()=>[C(a(l(u)("cancel")),1)]),_:1}),e(re,{color:"error",onClick:Be},{default:t(()=>[C(a(l(u)("imageEditorDiscardConfirm")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}}}),hl=Jt(Pn,[["__scopeId","data-v-1a8d8513"]]),Fn={class:"d-flex align-center gap-2 mb-4"},Dn={class:"d-flex align-center gap-2 mb-4"},$n={key:0,class:"text-caption text-grey"},Mn={class:"d-flex flex-column gap-4"},Vn={class:"d-flex flex-wrap gap-4"},Nn=["onClick"],Tn={class:"text-grey mt-2"},Un={key:0,class:"mt-4"},An={class:"d-flex align-center mb-2 gap-2"},En={class:"text-subtitle-1 mb-0"},Rn={class:"d-flex flex-wrap gap-4"},Ln=["onClick"],zn={class:"text-caption mt-1 text-medium-emphasis option-image-label"},Bn={key:1,class:"mt-4"},On={class:"text-subtitle-1 mb-2"},Hn={class:"d-flex gap-2"},Kn=qt({__name:"ImagesTab",props:{saveItem:{type:Function}},setup(ke){const{t:S}=Gt(),o=no(),g=ke,u=b(null),L=b(!1),ne=b(""),D=b(""),ue=b(!1),H=b(""),Q=b("error"),j=b(!1),I=b(!0),q=b(""),ve=b(!1),Se=b(!1),Fe=b(!1),Oe=b(!1),Ue=b(null),De=b(null),Pe=N(()=>{var E;
3const M=(E=o.formData.customProduct)==null?void 0:E.customImages;if(console.log("Raw customImages:",M),!M)return[];if(Array.isArray(M))return M;if(typeof M=="string")try{const ae=JSON.parse(M);return Array.isArray(ae)?ae:[M]}catch{return[M]}return typeof M=="object"?Object.keys(M).length>0?Object.values(M):[]:[]}),ee=N(()=>{var M,E,ae,ce;return Pl({customVariants:((M=o.formData)==null?void 0:M.customVariants)??[],customVariantAttributes:((E=o.formData)==null?void 0:E.customVariantAttributes)??[],apiItems:((ce=(ae=o.apiData)==null?void 0:ae.customProduct)==null?void 0:ce.custom_variants)??[]})}),We=N(()=>De.value&&ee.value.find(M=>M.entryKey===De.value)||null),ze=N(()=>{const M=[...Pe.value,...ee.value.map(E=>E.url)].filter(Boolean);return[...new Set(M)]}),ft=M=>{if(!M)return"";try{const E=new URL(M,window.location.origin);return`${E.origin}${E.pathname}`}catch{return((M.split("#")[0]||"").split("?")[0]||"").trim()}},le=M=>{const E=new Set,ae=new Set;if(!M)return{pathKeys:E,srcs:ae};try{new DOMParser().parseFromString(M,"text/html").querySelectorAll("img").forEach(Le=>{const tt=(Le.getAttribute("src")||"").trim();if(!tt)return;ae.add(tt);const lt=ft(tt);lt&&E.add(lt)})}catch(ce){console.warn("Failed to parse description HTML for duplicate detection:",ce)}return{pathKeys:E,srcs:ae}},he=async()=>{var vt,ut,$;if(!((vt=o.formData)!=null&&vt.customProduct)){Q.value="error",H.value=S("pasteToDescriptionNoProductError"),ue.value=!0;return}if(!g.saveItem){Q.value="error",H.value=S("pasteToDescriptionMissingSaveError"),ue.value=!0;return}const M=o.formData.customProduct.descriptionCustom||(($=(ut=o.apiData)==null?void 0:ut.customProduct)==null?void 0:$.description)||"",{pathKeys:E,srcs:ae}=le(M),ce=[];let Le=0;for(const B of ze.value){const ye=(B||"").trim();if(!ye)continue;const Be=ft(ye),ct=Be?E.has(Be):!1,ht=ae.has(ye);if(ct||ht){Le+=1;continue}const dt=document.createElement("img");dt.src=ye,dt.style.maxWidth="100%",ce.push(dt.outerHTML),ae.add(ye),Be&&E.add(Be)}if(!ce.length){Q.value="info",H.value=Le?S("pasteToDescriptionAllDuplicates",{count:Le}):S("pasteToDescriptionNothingToAdd"),ue.value=!0;return}const tt=M&&M.trim()?"<br />":"",lt=`${M}${tt}${ce.join("<br />")}`;o.formData.customProduct.descriptionCustom=lt,Se.value=!0;try{await g.saveItem(!1),Q.value="success",H.value=Le?S("pasteToDescriptionSavedWithSkipped",{added:ce.length,skipped:Le}):S("pasteToDescriptionSaved",{count:ce.length}),ue.value=!0}catch(B){console.error(B),Q.value="error",H.value=S("pasteToDescriptionSaveError"),ue.value=!0}finally{Se.value=!1}},J=()=>{if(!ne.value)return;if(!(ne.value&&/\.(jpg|jpeg|png|webp|avif|gif|svg)$/.test(ne.value.toLowerCase()))){H.value=S("validImageURLError"),Q.value="error",ue.value=!0;return}if(o.formData.customProduct){const E=[...Pe.value];E.includes(ne.value)||(E.push(ne.value),o.formData.customProduct.customImages=E),ne.value=""}},ge=(M,E=null)=>{D.value=M,De.value=(E==null?void 0:E.entryKey)??null,j.value=!0},x=async()=>{D.value&&(Ue.value=D.value,Oe.value=!0)};async function W(M){var ce;const E=M.oldUrl||Ue.value,ae=M.newUrl;E?(de(E,ae),D.value===E&&(D.value=ae)):D.value=ae,Ue.value=ae,await((ce=g.saveItem)==null?void 0:ce.call(g,!1))}const de=(M,E)=>{var ae;if((ae=o.formData.customProduct)!=null&&ae.customImages){const ce=o.formData.customProduct.customImages;if(Array.isArray(ce)){const Le=ce.map(tt=>tt===M?E:tt);o.formData.customProduct.customImages=Le}}o.formData.customVariants=o.formData.customVariants.map(ce=>{const Le=Array.isArray(ce.customImages)?ce.customImages:[],tt=Le.map(vt=>vt===M?E:vt),lt=tt.some((vt,ut)=>vt!==Le[ut]);return!lt&&ce.customImg!==M&&ce.img!==M?ce:{...ce,customImages:lt?tt:Le,customImg:ce.customImg===M||!ce.customImg&&ce.img===M?E:ce.customImg,img:ce.img===M?E:ce.img}}),o.formData.customVariantAttributes=o.formData.customVariantAttributes.map(ce=>ce.customImg!==M&&ce.optionValueImage!==M?ce:{...ce,customImg:ce.customImg===M?E:ce.customImg,optionValueImage:ce.optionValueImage===M?E:ce.optionValueImage})},Re=M=>{var ce;if(!M)return!1;const E=rl(M.originalUrl);if(!E)return!1;const ae=M.customVariantId!==null&&M.customVariantId!==void 0?M.customVariantId:(ce=o.formData.customVariants.find(Le=>String(Le.modelId??"")===String(M.modelId??"")))==null?void 0:ce.id;return ae!=null&&(o.updateItemField({id:ae,field:"customImages",value:E.customImages}),o.updateItemField({id:ae,field:"customImg",value:E.customImg})),o.formData.customVariantAttributes=o.formData.customVariantAttributes.map(Le=>{const tt=ae!=null&&String(Le.customVariantId??"")===String(ae),lt=M.modelId!==null&&M.modelId!==void 0&&String(Le.modelId??"")===String(M.modelId);return!tt&&!lt?Le:{...Le,customImg:E.customImg,optionValueImage:E.customImg}}),De.value&&De.value===M.entryKey&&(D.value=E.customImg),!0},xe=()=>{let M=0;ee.value.forEach(E=>{Re(E)&&(M+=1)}),Q.value=M>0?"success":"info",H.value=M>0?S("optionImagesRestored",{count:M}):S("optionImagesRestoreUnavailable"),ue.value=!0},ot=()=>{const M=We.value,E=Re(M);Q.value=E?"success":"info",H.value=S(E?"optionImageRestored":"optionImageRestoreUnavailable"),ue.value=!0},mt=async M=>{var E,ae;ve.value=!0;try{const{data:ce}=await $t.post("product/modify-product-image-with-llm",{prompt:q.value,images:M,customProductId:(E=o.formData.customProduct)==null?void 0:E.id,parentUid:(ae=o.formData.customProduct)==null?void 0:ae.parentUid});
3Array.isArray(ce)&&ce.length===M.length&&(M.forEach((Le,tt)=>{const lt=ce[tt];lt&<!==Le&&(de(Le,lt),D.value===Le&&(D.value=lt))}),H.value=S("imagesModifiedSuccessfully"),Q.value="success",ue.value=!0)}catch(ce){console.error(ce),H.value=S("errorModifyingImages"),Q.value="error",ue.value=!0}finally{ve.value=!1}},Ze=Do(),me=al(),Qe=b(Ze.query.tab||S("Images"));Pt(Qe,M=>{me.replace({query:{...Ze.query,tab:M}})}),Pt(Oe,M=>{M||(Ue.value=null)}),$o(()=>{Ze.query.tab||me.replace({query:{...Ze.query,tab:Qe.value}})});const U=()=>{var M;(M=u.value)==null||M.click()},z=async M=>{var ae;const E=((ae=M.dataTransfer)==null?void 0:ae.files)??null;await et(E)},fe=async M=>{const E=M.target,ae=(E==null?void 0:E.files)??null;await et(ae,E)},et=async(M,E=null)=>{var ae;if(!(!M||M.length===0)&&o.formData.customProduct){Fe.value=!0;try{for(const ce of Array.from(M)){if(!ce.type.startsWith("image/")){console.error("Invalid file type:",ce.type);continue}const Le=new FormData;Le.append("image",ce);const{data:tt}=await $t.post("/upload-image",Le),lt=tt==null?void 0:tt.url;if(!lt){console.warn("Upload API response missing url:",tt);continue}const vt=[...Pe.value];vt.includes(lt)||(vt.push(lt),o.formData.customProduct.customImages=vt)}await((ae=g.saveItem)==null?void 0:ae.call(g,!1))}finally{Fe.value=!1,E&&(E.value="")}}},gt=async M=>{try{const E=[...Pe.value];E.splice(M,1),o.formData.customProduct&&(o.formData.customProduct.customImages=E)}catch(E){console.error("Error deleting image:",E),H.value=S("errorDeletingImage"),Q.value="error",ue.value=!0}},at=()=>{L.value=!1,o.formData.customProduct&&(o.formData.customProduct.customImages=[...Pe.value],console.log("Images reordered and updated in store"))};return(M,E)=>(_(),O(Ge,null,[e(Ft,null,{default:t(()=>[e(Mt,null,{default:t(()=>[h("div",Fn,[e(Ct,{modelValue:ne.value,"onUpdate:modelValue":E[0]||(E[0]=ae=>ne.value=ae),label:l(S)("imageURL"),placeholder:l(S)("enterImageURL"),class:"flex-grow-1","hide-details":"",onKeyup:po(J,["enter"])},null,8,["modelValue","label","placeholder"]),e(re,{color:"primary",variant:"outlined",loading:Fe.value,onClick:U},{default:t(()=>[C(a(l(S)("addImages")),1)]),_:1},8,["loading"]),e(re,{color:"primary",onClick:J},{default:t(()=>[C(a(l(S)("addURL")),1)]),_:1})]),h("div",Dn,[e(re,{color:"secondary",variant:"tonal",disabled:!ze.value.length||Se.value,loading:Se.value,onClick:he},{default:t(()=>[C(a(l(S)("pasteToDescription")),1)]),_:1},8,["disabled","loading"]),ze.value.length?(_(),O("div",$n,a(l(S)("pasteToDescriptionCount",{count:ze.value.length})),1)):_e("",!0)]),h("div",Mn,[h("div",Vn,[Pe.value.length?(_(),He(l(tl),{key:0,list:Pe.value,class:"d-flex flex-wrap gap-4",group:{name:"images"},onStart:E[1]||(E[1]=ae=>L.value=!0),onEnd:at,"item-key":"id"},{default:t(()=>[(_(!0),O(Ge,null,bt(Pe.value,(ae,ce)=>(_(),O("div",{key:ce},[h("div",{class:"position-relative",onClick:Le=>ge(ae)},[e(zt,{src:ae,width:"100",height:"100",cover:"",class:"rounded",style:{cursor:"pointer"}},null,8,["src"]),e(re,{icon:"mdi-close",size:"x-small",color:"error",class:"position-absolute",style:{top:"2px",right:"2px"},onClick:Le=>gt(ce)},null,8,["onClick"])],8,Nn)]))),128))]),_:1},8,["list"])):_e("",!0),I.value?(_(),O("div",{key:1,class:"drop-zone mb-4 pa-4 rounded d-flex flex-column align-center justify-center",onDragover:E[2]||(E[2]=Nt(()=>{},["prevent"])),onDrop:Nt(z,["prevent"])},[e(Xe,{size:"48",color:"grey"},{default:t(()=>E[7]||(E[7]=[C("mdi-cloud-upload")])),_:1}),h("div",Tn,a(l(S)("dragAndDropImages")),1),e(re,{color:"primary",class:"mt-2","prepend-icon":"mdi-plus",onClick:U},{default:t(()=>[C(a(l(S)("addImages")),1)]),_:1})],32)):_e("",!0)]),ee.value.length?(_(),O("div",Un,[h("div",An,[h("h4",En,a(l(S)("optionImages")),1),e(re,{color:"secondary",variant:"outlined",size:"small",onClick:xe},{default:t(()=>[C(a(l(S)("restoreAllOptionImages")),1)]),_:1})]),h("div",Rn,[(_(!0),O(Ge,null,bt(ee.value,(ae,ce)=>(_(),O("div",{key:ce},[h("div",{class:"position-relative",onClick:Le=>ge(ae.url,ae)},[e(zt,{src:ae.url,width:"100",height:"100",cover:"",class:"rounded",style:{cursor:"pointer"}},null,8,["src"])],8,Ln),h("div",zn,a(ae.label),1)]))),128))])])):_e("",!0),D.value?(_(),O("div",Bn,[h("h4",On,a(l(S)("selectedImage")),1),e(zt,{src:D.value,"max-width":"600",cover:"",class:"rounded mx-auto mb-4",style:{cursor:"pointer"},onClick:x},null,8,["src"]),e(Ft,{variant:"outlined",class:"pa-4"},{default:t(()=>{var ae;return[e(Kl,{modelValue:q.value,"onUpdate:modelValue":E[3]||(E[3]=ce=>q.value=ce),label:l(S)("aiModificationPrompt"),rows:"2","auto-grow":"","hide-details":"auto",class:"mb-2"},null,8,["modelValue","label"]),h("div",Hn,[e(re,{color:"secondary",variant:"outlined",disabled:!((ae=We.value)!=null&&ae.originalUrl),onClick:ot},{default:t(()=>[C(a(l(S)("restoreOriginalOptionImage")),1)]),_:1},8,["disabled"]),e(re,{color:"secondary",loading:ve.value,onClick:E[4]||(E[4]=ce=>mt([D.value]))},{default:t(()=>[C(a(l(S)("modifyThisImage")),1)]),_:1},8,["loading"]),E[8]||(E[8]=h("div",{class:"align-self-center text-caption text-grey"}," 본 기ë¥ì ì´ë¯¸ì§ ë³í ì ì©ì´ë©° ë²ìì ìì²íë©´ íê¸ì´ ê¹¨ì§ ì ììµëë¤. ë²ìì´ íìíì¤ ê²½ì° 'ìì¸ì¤ëª
ì ë¶ì¬ë£ê¸°' ë²í¼ì í´ë¦íì í ìì¸ì¤ëª
íìì 'ì¤ëª
ë²ì'ì í´ë¦í´ì£¼ì¸ì. ",-1))])]}),_:1})])):_e("",!0)]),h("input",{type:"file",ref_key:"imageInput",ref:u,onCh
3ange:fe,accept:"image/*",multiple:"",style:{display:"none"}},null,544)]),_:1})]),_:1}),e(hl,{modelValue:Oe.value,"onUpdate:modelValue":E[5]||(E[5]=ae=>Oe.value=ae),"image-url":Ue.value,onSaved:W},null,8,["modelValue","image-url"]),e(kl,{modelValue:ue.value,"onUpdate:modelValue":E[6]||(E[6]=ae=>ue.value=ae),timeout:3e3,color:Q.value},{default:t(()=>[C(a(H.value),1)]),_:1},8,["modelValue","color"])],64))}}),jn=Jt(Kn,[["__scopeId","data-v-ddd054cc"]]),Wn=/^\d+(\.\d+)?$/,qn=/\d+(?:\.\d+)?|[()+\-*/]/g,Qn=/^[\d+\-*/().\sA-Za-z_]+$/;function Gn(ke,S){if(!ke||!Qn.test(ke))throw new Error("Formula contains invalid characters");const o=ke.replace(/\bcost\b/g,String(S));if(/[A-Za-z_]/.test(o))throw new Error("Formula contains unsupported variables");const g=o.match(qn);if(!g||g.length===0)throw new Error("Formula is empty");const u=[],L=[],ne={"+":1,"-":1,"*":2,"/":2},D=()=>{const ue=L.pop(),H=u.pop(),Q=u.pop();if(!ue||Q===void 0||H===void 0)throw new Error("Malformed formula");switch(ue){case"+":u.push(Q+H);break;case"-":u.push(Q-H);break;case"*":u.push(Q*H);break;case"/":u.push(Q/H);break;default:throw new Error("Unsupported operator")}};for(let ue=0;ue<g.length;ue+=1){const H=g[ue];if(Wn.test(H)){u.push(Number(H));continue}if(H==="("){L.push(H);continue}if(H===")"){for(;L.length>0&&L[L.length-1]!=="(";)D();if(L.pop()!=="(")throw new Error("Mismatched parentheses");continue}if(!["+","-","*","/"].includes(H))throw new Error("Unsupported token");const Q=g[ue-1];for(H==="-"&&(ue===0||["+","-","*","/","("].includes(Q))&&u.push(0);L.length>0&&L[L.length-1]!=="("&&ne[L[L.length-1]]>=ne[H];)D();L.push(H)}for(;L.length>0;){if(L[L.length-1]==="(")throw new Error("Mismatched parentheses");D()}if(u.length!==1||Number.isNaN(u[0]))throw new Error("Invalid formula result");return u[0]}const Xn=Sl("pricing",()=>{const ke=no(),S=b("Free"),o=b(2e4),g=b(2e4),u=b(2e4),L=b(3);function ne(Q){ke.selectedItems.forEach(I=>{const q=Math.round(Number(I.priceBeforeMarketFee??0)+Q);ke.updateItemField({id:I.id,field:"priceBeforeMarketFee",value:q})})}function D(Q){ke.formData.marketVariants&&ke.formData.marketVariants.forEac
3h(j=>{j.id!==null&&ke.updateItemField({id:j.id,field:"price",value:Math.round(Q)})})}function ue(Q){ke.selectedItems.forEach(I=>{try{const q=Number(I.customCost??0),ve=Math.round(Gn(Q,q));ke.updateItemField({id:I.id,field:"priceBeforeMarketFee",value:ve})}catch(q){console.error("Invalid formula:",q)}})}function H(Q){ke.selectedItems.forEach(I=>{const q=Number(I.stockQtyCustom??0);ke.updateItemField({id:I.id,field:"stockQtyCustom",value:q+Q})})}return{basicShipping:S,additionalShipping:o,returnShipping:g,exchangeShipping:u,commission:L,addSubtractPrice:ne,setUniformPrice:D,setPriceByFormula:ue,updateStockBatch:H}}),Jn={class:"d-flex align-center"},Yn=["href"],Zn={class:"editable-override-field"},ea={class:"text-caption mt-1"},ta={class:"text-caption mt-1"},oa={class:"editable-override-field"},la={class:"text-primary text-caption mt-1"},na={class:"text-grey-darken-1"},aa={class:"text-caption"},ra={class:"editable-override-field"},ia=qt({__name:"PricingTableRow",props:{item:{},customVariant:{},index:{},productEditStore:{},formData:{},cachedMargins:{},cachedConvertedCosts:{},baseShippingFee:{},unitShippingFee:{},markupRatePercent:{},marketFeePercent:{},calculateFinalPrice:{type:Function},calculateMarketFee:{type:Function},isSelected:{type:Boolean}},emits:["row-click","update-field","update-selling"],setup(ke,{emit:S}){const{t:o}=Gt(),g=ke,u=S,L=()=>"value"in g.formData?g.formData.value:g.formData;function ne($){$.target instanceof Element&&$.target.classList.contains("v-checkbox-btn")||u("row-click",g.customVariant)}const D=N(()=>{var $,B;return((B=($=g.item)==null?void 0:$.supplier_variant)==null?void 0:B.url)||""}),ue=N(()=>{var Be,ct;const $=L().customProduct,B=(ct=(Be=g.productEditStore)==null?void 0:Be.apiData)==null?void 0:ct.customProduct;return(wo(B??$)||to($==null?void 0:$.supplierCountryCode)||to(B==null?void 0:B.supplierCountryCode)||"").toString().toUpperCase()}),H=N(()=>ue.value==="US"),Q=N(()=>{var $,B,ye,Be,ct,ht;return to((ye=(B=($=g.productEditStore)==null?void 0:$.formData)==null?void 0:B.customProduct)==null?void 0:ye.marketCountryCode)||to((ht=(ct=(Be=g.productEditStore)==null?void 0:Be.apiData)==null?void 0:ct.customProduct)==null?void 0:ht.marketCountryCode)||"KR"}),j=N(()=>{var $,B;return(B=($=g.productEditStore)==null?void 0:$.apiData)==null?void 0:B.minimumDenomination}),I=N(()=>il(j.value)),q=N(()=>{var $,B;return((B=($=g.productEditStore)==null?void 0:$.apiData)==null?void 0:B.pricingCurrencyCode)||Oo(Q.value)}),ve=N(()=>Fl(j.value)),Se=b(!1),Fe=b(null),Oe=N(()=>Se.value?Fe.value:Dl(g.customVariant.priceBeforeMarketFee,j.value)),Ue=N(()=>Oo(ue.value||Q.value)),De=N(()=>{var ye,Be;const $=L().customProduct,B=(ye=g.productEditStore.apiData)==null?void 0:ye.customProduct;return sl({exchangeRate:((Be=g.productEditStore.apiData)==null?void 0:Be.exchangeRate)??1,supplierCountryCode:(B==null?void 0:B.supplierCountryCode)??($==null?void 0:$.supplierCountryCode)??null,product:B??$,marketCountryCode:Q.value})}),Pe=$=>cl(Number($),j.value),ee=$=>dl(Number($),j.value),We=$=>Number($).toLocaleString(void 0,{minimumFractionDigits:I.value,maximumFractionDigits:I.value}),ze=$=>yo(We($),q.value),ft=N(()=>H.value?"lb":o("kgUnit")),le=N(()=>{var $,B;return(($=g.customVariant)==null?void 0:$.modelId)??((B=g.item)==null?void 0:B.modelId)??null}),he=N(()=>{var $,B,ye,Be,ct,ht,dt,Kt;return{...g.item,id:(($=g.customVariant)==null?void 0:$.id)??((B=g.item)==null?void 0:B.id)??null,customVariantId:((ye=g.customVariant)==null?void 0:ye.id)??((Be=g.item)==null?void 0:Be.customVariantId)??((ct=g.item)==null?void 0:ct.id)??null,modelId:le.value,supplierVariantId:((ht=g.item)==null?void 0:ht.supplierVariantId)??((dt=g.item)==null?void 0:dt.modelId)??le.value,supplier_variant:((Kt=g.item)==null?void 0:Kt.supplier_variant)??null}}),J=N(()=>{var $,B;return $l({customVariant:g.customVariant,apiItem:g.item,formProduct:L().customProduct,apiProduct:(B=($=g.productEditStore)==null?void 0:$.apiData)==null?void 0:B.customProduct})}),ge=N(()=>{var Be,ct;const $=L().customVariantAttributes??[],B=Ho($,he.value,Q.value);if(B)return B;const ye=Ho((ct=(Be=g.productEditStore)==null?void 0:Be.apiData)==null?void 0:ct.supplierVariantAttributes,he.value,Q.value);return ye||ul(he.value)}),x=N(()=>{var ye,Be;const $=((Be=(ye=g.item)==null?void 0:ye.supplier_variant)==null?void 0:Be.cost)??null,B=$==null||$===""?null:Number($);return Number.isFinite(B)?B:null}),W=N(()=>{var ye,Be;const $=((Be=(ye=g.item)==null?void 0:ye.supplier_variant)==null?void 0:Be.availableQty)??null,B=$==null||$===""?null:Number($);return Number.isFinite(B)?B:null}),de=N(()=>{var $,B;return(($=g.customVariant)==null?void 0:$.isCostFixed)===1||((B=g.customVariant)==null?void 0:B.isCostFixed)===!0}),Re=N(()=>{var $,B;return(($=g.customVariant)==null?void 0:$.isStockQtyFixed)===1||((B=g.customVariant)==null?void 0:B.isStockQtyFixed)===!0}),xe=N(()=>{var $,B;return(($=g.customVariant)==null?void 0:$.isPriceFixed)===1||((B=g.customVariant)==null?void 0:B.isPriceFixed)===!0}),ot=N(()=>o(de.value?"pricingOverrideFixedCost":"pricingOverrideFollowSupplierCost")),mt=N(()=>o(Re.value?"pricingOverrideFixedStock":"pricingOverrideFollowSupplierStock")),Ze=N(()=>o(xe.value?"pricingOverrideFixedPrice":"pricingOverrideFollowExchangeRate")),me=N(()=>{var Be;const $=((Be=g.customVariant)==null?void 0:Be.customCost)??0,B=De.value;return $*B}),Qe=N(()=>{var B;const $=((B=g.customVariant)==null?void 0:B.weightCustom)??0;return lt($)}),U=N(()=>{var ye,Be;const $=Number((ye=g.customVariant)==null?void 0:ye.customCost);if(!Number.isFinite($)||$<=0)return 0;const B=((Be=g.customVariant)==null?void 0:Be.priceBeforeMarketFee)??0;return vt(B)}),z=N(()=>ut(U.value)),fe=N(()=>{var dt;const $=Number((dt=g.customVariant)==null?void 0:dt.customCost);if(!Number.isFinite($)||$<=0)return 0;const B=me.value,Be=Qe.value,ct=g.markupRatePercent/100,ht=(B+Be)*ct;return Pe(ht)});function et($){const B=$?1:0;console.log(`PricingTableRow: Emitting update-selling for ID ${g.customVariant.id} with state ${B}`),u("update-selling",{id:g.customVariant.id,isSelling:B})}function gt($){u("update-field",{id:g.customVariant.id,field:"isCostFixed",value:1}),u("update-field",{id:g.customVariant.id,field:"customCost",value:$})}function at($){u("update-field",{id:g.customVariant.id,field:"isStockQtyFixed",value:1}),u("update-field",{id:g.customVariant.id,field:"stockQtyCustom",value:$})}function M(){Se.value=!0,Fe.value=g.customVariant.priceBeforeMarketFee===null||g.customVariant.priceBeforeMarketFee===void 0?"":String(g.customVariant.priceBeforeMarketFee),u("row-click",g.customVariant)}function E($){Fe.value=$,u("update-field",{id:g.customVariant.id,field:"priceBeforeMarketFee",value:$})}function ae(){Se.value=!1,Fe.value=null}function ce(){const $=de.value?0:1;u("update-field",{id:g.customVariant.id,field:"isCostFixed",value:$}),(!$||g.customVariant.customCost===null||g.customVariant.customCost===void 0)&&u("update-field",{id:g.customVariant.id,field:"customCost",value:x.value})}function Le(){const $=Re.value?0:1;u("update-field",{id:g.customVariant.id,field:"isStockQtyFixed",value:$}),(!$||g.customVariant.stockQtyCustom===null||g.customVariant.stockQtyCustom===void 0)&&u("update-field",{id:g.customVariant.id,field:"stockQtyCustom",value:W.value})}function tt(){const $=xe.value?0:1;u("update-field",{id:g.customVariant.id,field:"isPriceFixed",value:$})}function lt($){const B=Number($);(Number.isNaN(B)||$===null||$===void 0)&&(console.warn("Invalid weight in calculateShippingFee:",$),$=0);const ye=g.baseShippingFee||0,Be=g.unitShippingFee||0;return Pe(ye+Number($)*Be)}const vt=typeof g.calculateFinalPrice=="function"?g.calculateFinalPrice
3:$=>{if(!$)return 0;const B=$/(1-g.marketFeePercent/100);return ee(B)},ut=typeof g.calculateMarketFee=="function"?g.calculateMarketFee:$=>$?Pe($*(g.marketFeePercent/100)):0;return($,B)=>(_(),O("tr",{class:io({"opacity-50":$.customVariant&&!$.customVariant.isSelling,"selected-row":$.isSelected}),onClick:ne,style:{position:"relative"}},[h("td",null,[e(Wo,{"model-value":$.customVariant.isSelling===1||$.customVariant.isSelling===!0,"onUpdate:modelValue":et,onClick:B[0]||(B[0]=Nt(()=>{},["stop"]))},null,8,["model-value"])]),h("td",null,[h("div",Jn,[h("a",{href:D.value||"#",target:"_blank",rel:"noopener noreferrer",class:"variant-title-link"},[e(So,{location:"end",origin:"auto"},{activator:t(({props:ye})=>[e(zt,Zt(ye,{src:J.value,width:"40",height:"40",class:"mr-2"}),null,16,["src"])]),default:t(()=>[h("div",null,[e(zt,{src:J.value,width:"200"},null,8,["src"])])]),_:1})],8,Yn)])]),h("td",null,[h("div",null,a(ge.value),1)]),h("td",null,[h("div",Zn,[e(Ct,{"model-value":g.customVariant.customCost,"onUpdate:modelValue":gt,type:"number",variant:"underlined","hide-details":"",suffix:Ue.value,onFocus:B[1]||(B[1]=ye=>u("row-click",g.customVariant))},null,8,["model-value","suffix"]),e(So,{location:"top"},{activator:t(({props:ye})=>[e(re,Zt(ye,{icon:de.value?"mdi-lock":"mdi-lock-open-variant",color:de.value?"primary":"default","aria-label":ot.value,variant:"text",density:"comfortable",size:"small",onClick:Nt(ce,["stop"])}),null,16,["icon","color","aria-label"])]),default:t(()=>[h("span",null,a(ot.value),1)]),_:1})]),h("div",ea,a(ze(me.value)),1)]),h("td",null,[e(Ct,{suffix:ft.value,"model-value":g.customVariant.weightCustom,"onUpdate:modelValue":B[2]||(B[2]=ye=>u("update-field",{id:g.customVariant.id,field:"weightCustom",value:ye})),type:"number",variant:"underlined","hide-details":"",onFocus:B[3]||(B[3]=ye=>u("row-click",g.customVariant))},null,8,["suffix","model-value"]),h("div",ta,a(ze(Qe.value)),1)]),h("td",null,[h("div",oa,[e(Ct,{"model-value":Oe.value,step:ve.value,"onUpdate:modelValue":E,type:"number",variant:"underlined","hide-details":"",suffix:q.value,onFocus:M,onBlur:ae},null,8,["model-value","step","suffix"]),e(So,{location:"top"},{activator:t(({props:ye})=>[e(re,Zt(ye,{icon:xe.value?"mdi-lock":"mdi-lock-open-variant",color:xe.value?"primary":"default","aria-label":Ze.value,variant:"text",density:"comfortable",size:"small",onClick:Nt(tt,["stop"])}),null,16,["icon","color","aria-label"])]),default:t(()=>[h("span",null,a(Ze.value),1)]),_:1})]),h("div",la,a(ze(fe.value)),1)]),h("td",na,[C(a(ze(U.value))+" ",1),h("div",aa,"(+"+a(ze(z.value))+")",1)]),h("td",null,[h("div",ra,[e(Ct,{"model-value":g.customVariant.stockQtyCustom,"onUpdate:modelValue":at,type:"number",variant:"underlined","hide-details":"",onFocus:B[4]||(B[4]=ye=>u("row-click",g.customVariant))},null,8,["model-value"]),e(So,{location:"top"},{activator:t(({props:ye})=>[e(re,Zt(ye,{icon:Re.value?"mdi-lock":"mdi-lock-open-variant",color:Re.value?"primary":"default","aria-label":mt.value,variant:"text",density:"comfortable",size:"small",onClick:Nt(Le,["stop"])}),null,16,["icon","color","aria-label"])]),default:t(()=>[h("span",null,a(mt.value),1)]),_:1})])])],2))}}),sa=Jt(ia,[["__scopeId","data-v-7a03fcde"]]),No=qt({__name:"UiLazyTextField",props:{modelValue:{type:[String,Number],default:""},label:{type:String,default:""},placeholder:{type:String,default:""},hint:{type:String,default:""},rules:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},density:{type:String,default:"default"},variant:{type:String,default:"outlined"},color:{type:String,default:"primary"},bgColor:{type:String,default:void 0},prependIcon:{type:String,default:""},appendIcon:{type:String,default:""},persistentHint:{type:Boolean,default:!1},persistentPlaceholder:{type:Boolean,default:!1},hideDetails:{type:[Boolean,String],default:!1},type:{type:String,default:"text"},autofocus:{type:Boolean,default:!1},maxlength:{type:[Number,String],default:void 0},counter:{type:[Boolean,Number,String],default:void 0},prefix:{type:String,default:""},suffix:{type:String,default:""},error:{type:Boolean,default:!1},errorMessages:{type:[String,Array],default:()=>[]},success:{type:Boolean,default:!1},successMessages:{type:[String,Array],default:()=>[]}},emits:["update:modelValue","blur","focus","click","change"],setup(ke,{emit:S}){const o=ke,g=S,u=b(o.modelValue);Pt(()=>
3o.modelValue,I=>{u.value=I},{immediate:!0});const L=I=>{const q=I.target;u.value=q.value},ne=I=>{g("update:modelValue",u.value),g("blur",I)},D=I=>{g("focus",I)},ue=I=>{g("click",I)},H=I=>{g("change",I)},Q=()=>{u.value="",g("update:modelValue","")},j=N(()=>{const{modelValue:I,...q}=o;return q});return(I,q)=>(_(),He(Ct,Zt(j.value,{"model-value":u.value,onInput:L,onBlur:ne,onFocus:D,onClick:ue,onChange:H,"onClick:clear":Q}),_l({_:2},[I.$slots.prepend?{name:"prepend",fn:t(()=>[Yt(I.$slots,"prepend")]),key:"0"}:void 0,I.$slots["prepend-inner"]?{name:"prepend-inner",fn:t(()=>[Yt(I.$slots,"prepend-inner")]),key:"1"}:void 0,I.$slots.append?{name:"append",fn:t(()=>[Yt(I.$slots,"append")]),key:"2"}:void 0,I.$slots["append-inner"]?{name:"append-inner",fn:t(()=>[Yt(I.$slots,"append-inner")]),key:"3"}:void 0,I.$slots.label?{name:"label",fn:t(()=>[Yt(I.$slots,"label")]),key:"4"}:void 0,I.$slots.details?{name:"details",fn:t(()=>[Yt(I.$slots,"details")]),key:"5"}:void 0,I.$slots.message?{name:"message",fn:t(ve=>[Yt(I.$slots,"message",Mo(Vo(ve)))]),key:"6"}:void 0,I.$slots.loader?{name:"loader",fn:t(ve=>[Yt(I.$slots,"loader",Mo(Vo(ve)))]),key:"7"}:void 0,I.$slots.clear?{name:"clear",fn:t(ve=>[Yt(I.$slots,"clear",Mo(Vo(ve)))]),key:"8"}:void 0,I.$slots.counter?{name:"counter",fn:t(ve=>[Yt(I.$slots,"counter",Mo(Vo(ve)))]),key:"9"}:void 0]),1040,["model-value"]))}}),ua={class:"mb-6"},ca={class:"d-flex gap-4 mb-3"},da={key:0,class:"d-flex gap-4 mb-3"},ma={class:"d-flex gap-4 mb-3"},fa={class:"d-flex gap-4"},pa={key:0,class:"mb-4 mt-2"},ga={class:"d-flex align-center mb-2"},va={class:"text-subtitle-2 font-weight-bold"},ha={class:"marketplace-cards"},ya=["onClick"],Ca={class:"d-flex align-center"},ba={class:"text-subtitle-2 font-weight-bold"},ka={class:"text-caption ml-2"},Sa={class:"text-h6 text-primary font-weight-bold"},_a={key:1,class:"text-caption text-error"},Ia={key:1,class:"mb-4 mt-2 text-grey"},xa={class:"d-flex gap-2 mb-2"},wa={class:"d-flex align-center mb-4"},Pa={key:2},Fa={class:"text-left",style:{width:"4%"}},Da={class:"text-left",style:{width:"5%"}},$a={class:"text-left",style:{width:"27%"}},Ma={class:"text-left",style:{width:"13%"}},Va={class:"text-left",style:{width:"12%"}},Na={class:"text-left",style:{width:"15%"}},Ta={class:"text-left",style:{width:"14%"}},Ua={class:"text-left",style:{width:"10%"}},Aa={key:1},Ea={colspan:"8",class:"text-center py-4"},Ra={class:"text-grey"},La={class:"text-caption mt-2"},za={class:"d-flex justify-center mt-4"},Ba={class:"ml-4 d-flex align-center"},Oa={key:3,class:"text-center pa-4 text-grey"},Ha={class:"mt-2 text-caption"},Ka={class:"mt-2 text-caption text-grey"},ja=qt({__name:"PricingTab",emits:["open-upload-management"],setup(ke,{emit:S}){const{t:o}=Gt(),g=Do(),u=b(null),L=b(null),ne=b([]),D=b(!1),ue=b(!1),H=b(1),Q=b(10),j=no(),{formData:I,apiData:q,cachedMargins:ve,cachedConvertedCosts:Se}=zo(j),Fe=N(()=>{var n;return((n=q.value)==null?void 0:n.marketProducts)??[]}),Oe=N(()=>{var F,r;const n=((r=(F=q.value)==null?void 0:F.customProduct)==null?void 0:r.custom_variants)||[],m=new Map;return n.forEach(oe=>m.set(String(oe.id),oe)),m}),Ue=S,De=N(()=>{var m,F,r;return(Array.isArray((m=I.value)==null?void 0:m.customVariants)?I.value.customVariants:Array.isArray((r=(F=q.value)==null?void 0:F.customProduct)==null?void 0:r.custom_variants)?q.value.customProduct.custom_variants:[]).length<=1}),Pe=N(()=>{var Ce,Ee;const n=new Map;if(De.value)return n;const m=((Ce=q.value)==null?void 0:Ce.marketVariants)??[],F=((Ee=q.value)==null?void 0:Ee.marketProducts)??[],r=new Map;for(const $e of F){const je=Number($e==null?void 0:$e.id);Number.isFinite(je)&&je>0&&r.set(je,$e)}const oe=new Map;for(const $e of m){const je=Number($e==null?void 0:$e.shopId),qe=Number($e==null?void 0:$e.marketProductId);if(!Number.isFinite(je)||je<=0||!Number.isFinite(qe)||qe<=0)continue;const yt=oe.get(je)||[];yt.push($e),oe.set(je,yt)}for(const[$e,je]of oe){let qe=0;const yt=new Map;for(const Ot of je){const Et=r.get(Number(Ot.marketProductId));(Et?!Et.customProductId&&!Et.supplierProductId&&!Et.parentUid:!0)?qe+=1:yt.set(Number(Et.id),(yt.get(Number(Et.id))||0)+1)}yt.size===1&&qe===0?n.set($e,{text:o("listingStructure.badge.combined",{count:Array.from(yt.values())[0]}),icon:"mdi-layers-outline"}):yt.size===0&&qe>
30?n.set($e,{text:o("listingStructure.badge.standalone",{count:qe}),icon:"mdi-view-list-outline"}):yt.size+qe>0&&n.set($e,{text:o("listingStructure.badge.mixed",{count:yt.size+qe}),icon:"mdi-shape-outline"})}return n});function ee(n){const m=Number(n);!Number.isFinite(m)||m<=0||Ue("open-upload-management",m)}const We=n=>(n==null?void 0:n.isSelling)===1||(n==null?void 0:n.isSelling)===!0,ze=n=>n?Oe.value.get(String(n.id))??null:null,ft=n=>{const m=ze(n),F=m==null?void 0:m.supplier_variant;return Number((F==null?void 0:F.supplierVariantState)??(F==null?void 0:F.supplier_variant_state)??0)===6},le=N(()=>{var m;return(Array.isArray((m=I.value)==null?void 0:m.customVariants)?I.value.customVariants:[]).filter(F=>!ft(F))}),he=N(()=>le.value.filter(We)),J=N({get:()=>le.value.length>0&&le.value.every(We),set:n=>{const m=n?1:0;le.value.forEach(F=>{F.isSelling=m})}}),ge=()=>J.value?le.value:he.value,x=N(()=>le.value.length),W=N(()=>he.value.length);$o(()=>{var n;if(!L.value&&B.value.length>0){const m=(n=B.value[0])==null?void 0:n.shop;m&&U(m)}!u.value&&le.value.length>0&&(u.value=le.value[0]),de()});const de=async()=>{if(!D.value){D.value=!0;try{const{data:n}=await $t.get("/user/shops");ne.value=Array.isArray(n==null?void 0:n.shops)?n.shops.map(m=>({...m,id:Number(m.id)})).filter(m=>Number.isInteger(Number(m.id))&&ml(m)):[]}catch(n){console.warn("Failed to load connected shops for PricingTab",n),ne.value=[]}}},Re=N(()=>{var r;if(!I.value.customVariants&&!((r=I.value)!=null&&r.customVariants))return console.debug("DEBUG: formData.customVariants is not available for pagination."),[];if(le.value.length===0)return console.debug("DEBUG: No customVariants available for pagination (array is empty)"),[];const n=(H.value-1)*Q.value,m=n+Q.value;return le.value.slice(n,m)}),xe=n=>{H.value=n},ot=()=>{H.value=1},mt=()=>{if(!(I!=null&&I.value)||!I.value.customVariants)return console.log("formData not fully loaded yet, cannot select product"),!1;if(!u.value&&le.value.length>0){const n=le.value[0];if(n)return u.value=n,console.log("Automatically selected first product:",n),!0}return!1},Ze=n=>{u.value=n},me=n=>{if(!n)return"";const m=qe=>qe==null?"":String(qe).trim(),F=m(n.shopName),r=m(n.name),oe=m(n.nick),Ce=m(n.marketplaceAccountNickname),Ee=m(n.shopHandle),$e=m(n.shopCode),je=m(n.id);return F||r||Ce||oe||Ee||$e||(je?`Shop ${je}`:"")},Qe=b(""),U=n=>{if(!n){console.warn("Attempted to select an invalid shop object.");return}const m=n.marketFeePercentage||n.defaultMarketFeePercentage;m!=null?(V.value=m,j.marketFeePercent=m):(V.value=j.marketFeePercent,console.warn(`Shop ${n.nick||n.shopName||n.shopCode} has no market fee percentage, using default: ${V.value}%`)),L.value=n,Qe.value=n.marketCode??""},z=n=>{if(n==null||n==="")return null;if(typeof n=="number")return Number.isFinite(n)?n:null;const m=String(n).trim().replace(/,/g,"").replace(/[^\d.-]/g,"");if(!m)return null;const F=Number(m);return Number.isFinite(F)?F:null},fe=n=>z(n),et=n=>(fe(n==null?void 0:n.customCost)??0)>0,gt=(n,m,F)=>{const r=Le.value;if((fe(F)??0)<=0)return yo(0,r);const Ce=z(n),Ee=Number(m),$e=Ce??0;if(!Number.isFinite($e)||$e<=0)return yo(0,r);if(!Number.isFinite(Ee)||Ee<0||Ee>=1)return yo(0,r);try{const je=y($e/(1-Ee));return yo(G(je),r)}catch(je){return console.error("Error calculating shop final price:",je),yo(0,r)}},at=n=>{var m,F,r,oe,Ce;if(j.updateItemField(n),n.field==="customCost"||n.field==="weightCustom"){const Ee=(r=(F=(m=q.value)==null?void 0:m.customProduct)==null?void 0:F.custom_variants)==null?void 0:r.find(qe=>String(qe.id)===String(n.id)),$e=(Ce=(oe=I.value)==null?void 0:oe.customVariants)==null?void 0:Ce.find(qe=>String(qe.id)===String(n.id)),je=($e==null?void 0:$e.isPriceFixed)===1||($e==null?void 0:$e.isPriceFixed)===!0;if(Ee&&$e&&!je){const qe=j.updatePriceByWeight(Ee,$e);j.updateItemField({id:n.id,field:"priceBeforeMarketFee",value:qe,priceSource:"automatic"}),console.log(`Recalculated price for item ${n.id} to ${qe} due to ${n.field} change.`)}else je?console.log(`Skipped price recalculation for item ${n.id}: price is locked (isPriceFixed).`):console.warn(`Could not find apiItem or customVariant for ID ${n.id} to recalculate price.`)}},M=n=>{console.log("PricingTab: Received update-selling event with payload:",n),j.updateSingleItemSellingStatus(n)},E=b(null);Il(()=>{E.value&&clearInterval(E.value)}),Pt(()=>g.query.tab,n=>{console.log(`Tab changed to: ${n}`),n===o("Pricing")&&Rt(()=>{setTimeout(()=>{var m;if(!(I!=null&&I.value)||!I.value.customVariants){console.log("Data not yet loaded, deferring initialization");return}try{u.value||mt(),B.value.length>0&&(L.value||U((m=B.value[0])==null?void 0:m.shop)),d(),console.log(`Forced initialization on tab change to ${o("Pricing")}`)}catch(F){console.error("Error during tab initialization:",F)}},500)})});const ae=N(()=>{var n,m,F,r;
3return to((m=(n=I.value)==null?void 0:n.customProduct)==null?void 0:m.marketCountryCode)||to((r=(F=q.value)==null?void 0:F.customProduct)==null?void 0:r.marketCountryCode)||"KR"}),ce=N(()=>{var n;return(n=q.value)==null?void 0:n.minimumDenomination}),Le=N(()=>{var n;return((n=q.value)==null?void 0:n.pricingCurrencyCode)||Oo(ae.value)}),tt=N(()=>{var n,m,F,r,oe,Ce,Ee;return sl({exchangeRate:((n=q.value)==null?void 0:n.exchangeRate)??1,supplierCountryCode:((F=(m=q.value)==null?void 0:m.customProduct)==null?void 0:F.supplierCountryCode)??((oe=(r=I.value)==null?void 0:r.customProduct)==null?void 0:oe.supplierCountryCode)??null,product:((Ce=q.value)==null?void 0:Ce.customProduct)??((Ee=I.value)==null?void 0:Ee.customProduct),marketCountryCode:ae.value})}),lt=n=>Al(n,ae.value),vt=N(()=>Fe.value.filter(lt));N(()=>Qo(vt.value));const ut=N(()=>ne.value.filter(n=>Ml(n,ae.value))),$=N(()=>[...vt.value.map(n=>{var m;return{key:`clone-${n.id||((m=n.shop)==null?void 0:m.id)||n.marketCode}`,shop:n.shop??void 0,marketCode:n.marketCode,countryCode:Vl(n),hasClone:!0}}),...ut.value.map(n=>({key:`shop-${n.id}`,shop:n,marketCode:n.marketCode??null,countryCode:Nl(n),hasClone:!1}))]),B=N(()=>Tl(Qo($.value))),ye=N(()=>Ul(B.value)),Be=N(()=>ue.value?B.value:ye.value),ct=N(()=>Math.max(0,B.value.length-ye.value.length));Pt(B,()=>{ue.value=!1});const ht=N(()=>{var r;const n=le.value;if(n.length===0)return null;const m=(r=u.value)==null?void 0:r.id;return m==null?n[0]:n.find(oe=>String(oe==null?void 0:oe.id)===String(m))||n[0]}),dt=N(()=>{var F;return[...Array.isArray((F=I.value)==null?void 0:F.marketProducts)?I.value.marketProducts.filter(lt):[],...vt.value].some(r=>String((r==null?void 0:r.marketCode)||"").trim().toUpperCase()==="SMST")||ut.value.some(r=>String((r==null?void 0:r.marketCode)||"").trim().toUpperCase()==="SMST")}),Kt=N(()=>[{title:o("customsTaxTypeIncluded"),value:"INCLUDED"},{title:o("customsTaxTypeExcluded"),value:"EXCLUDED"},{title:o("customsTaxTypeNotApplicable"),value:"NOT_APPLICABLE"}]);Pt(dt,n=>{var m;n&&(m=I.value)!=null&&m.customProduct&&(I.value.customProduct.customsTaxType||(I.value.customProduct.customsTaxType="INCLUDED"))},{immediate:!0});const w=n=>cl(Number(n),ce.value),y=n=>dl(Number(n),ce.value),G=n=>{const m=il(ce.value);return Number(n).toLocaleString(void 0,{minimumFractionDigits:m,maximumFractionDigits:m})},Me=Xn(),Y=N({get:()=>Number(j.baseShippingFee),set:n=>j.baseShippingFee=Number(n)}),te=N({get:()=>Number(j.unitShippingFee),set:n=>j.unitShippingFee=Number(n)}),V=N({get:()=>Number(j.marketFeePercent),set:n=>j.marketFeePercent=Number(n)}),Ie=N({get:()=>Number(j.markupRatePercent),set:n=>j.markupRatePercent=Number(n)}),nt=N(()=>{var r,oe;const n=(r=j.apiData)==null?void 0:r.customProduct,m=(oe=j.formData)==null?void 0:oe.customProduct;return(wo(n??m)||to(m==null?void 0:m.supplierCountryCode)||to(n==null?void 0:n.supplierCountryCode)||"").toString().toUpperCase()}),rt=N(()=>nt.value==="US"),xt=N(()=>rt.value?"Unit Shipping Cost (per lb)":o("Unit Shipping Cost (per kg)")),kt=N(()=>rt.value?"Per lb shipping cost in price formula":o("Per kg shipping cost in price formula")),it=N(()=>rt.value?"lb":o("kgUnit"));Pt(()=>B.value,n=>{var m,F;if(!Array.isArray(n)){console.log("Marketplace cards watcher: cards are not an array or undefined, resetting fee."),V.value=j.marketFeePercent,L.value=null,Qe.value="";return}if(console.log("Marketplace cards watch triggered, length:",n.length,"country:",ae.value),n.length===0){V.value=j.marketFeePercent,L.value=null,Qe.value="",console.log("No marketplaces for selected country, resetting market fee to default:",V.value);return}if(n&&n.length>0){const r=(m=L.value)==null?void 0:m.id,oe=r!=null&&n.some(Ee=>{var $e;return String(($e=Ee.shop)==null?void 0:$e.id)===String(r)}),Ce=oe?L.value:(F=n[0])==null?void 0:F.shop;if(Ce){const Ee=Ce.marketFeePercentage||Ce.defaultMarketFeePercentage||j.marketFeePercent;console.log("MarketProducts loaded, setting market fee from first shop:",Ce.nick||Ce.shopName||Ce.shopCode,`${Ee}% (using ${Ce.marketFeePercentage?"marketFeePercentage":"defaultMarketFeePercentage"})`),V.value=Ee,j.marketFeePercent=Ee,oe||(L.value=Ce,Qe.value=Ce.marketCode??"")}else console.warn("First marketplace card or its shop data is missing in watcher."),V.value=j.marketFeePercent,L.value=null,Qe.value=""}else V.value=j.marketFeePercent,L.value=null,Qe.value="",console.log("Marketplace cards became empty, resetting market fee to default:",V.value)},{immediate:!0,deep:!0}),Pt(le,n=>{var r;if(n.length===0){u.value=null;return}const m=(r=u.value)==null?void 0:r.id;(m!=null?n.some(oe=>String(oe==null?void 0:oe.id)===String(m)):!1)||(u.value=n[0])},{immediate:!0}),Pt([Y,te,Ie],()=>{if(j.loading){console.log("Skipping automatic price recalculation during product hydration.");return}console.log("Pricing parameters changed, recalculating all prices..."),d()},{deep:!0}),Pt(V,n=>{var m;if(console.log(`Market fee changed to ${n}%`),(m=I.value)!=null&&m.marketProducts){if(L.value){const F=L.value,r=I.value.marketProducts.findIndex(oe=>{var Ce;return((Ce=oe.shop)==null?void 0:Ce.id)===F.id});r!==-1&&I.value.marketProducts[r].shop?(I.value.marketProducts[r].shop.marketFeePercentage=n,I.value.marketProducts[r].shop.defaultMarketFeePercentage=n,console.log(`Updated shop ${F.nick||F.shopCode} fee in formData to ${n}%`),F.marketFeePercentage=n,F.defaultMarketFeePercentage=n):console.warn("Could not find the selected shop within marketProducts to update fee.")}else if(Qe.value&&I.value.marketProducts.length>0){const F=I.value.marketProducts.find(r=>{var oe;return((oe=r.shop)==null?void 0:oe.marketCode)===Qe.value&<(r)});F!=null&&F.shop?(F.shop.marketFeePercentage=n,F.shop.defaultMarketFeePercentage=n,console.log(`Updated shop with market code ${Qe.value} fee in formData to ${n}%`),L.value=F.shop):console.warn(`Could not find shop with market code ${Qe.value} to update fee.`)}else if(I.value.marketProducts.length>0){const F=I.value.marketProducts.find(lt);if(F!=null&&F.shop){const r=F.shop;F.shop.marketFeePercentage=n,F.shop.defaultMarketFeePercentage=n,console.log(`No shop selected, updated first shop (${r.nick||r.shopCode}) fee in formData to ${n}%`),L.value=r}else console.warn("First marketProduct or its shop data is missing when trying to update fee.")}}else console.log("No marketProducts available to update market fee for.");d()});
3const{calculateFinalPrice:Je,calculateMarketFee:Tt,updatePriceByWeight:f,recalculateAllPrices:d}=j,v=n=>typeof Je=="function"?Je(n):y(n/(1-V.value/100)),K=n=>typeof Tt=="function"?Tt(n):w(n*(V.value/100)),{basicShipping:X,additionalShipping:ie,returnShipping:s,exchangeShipping:p,commission:P}=zo(Me),A=n=>{if(isNaN(Number(n))){console.warn("Invalid adjustment amount:",n);return}const m=Number(n);console.log(`Applying price adjustment of ${m} to selected items`);const F=ge();if(F.length===0){console.warn("No items selected for price adjustment");return}console.log(`Adjusting prices for ${F.length} items`),F.forEach(r=>{const oe=Number(r.priceBeforeMarketFee)||0,Ce=et(r)?Math.max(0,w(oe+m)):0;j.updateItemField({id:r.id,field:"priceBeforeMarketFee",value:Ce})}),console.log(`Price adjustment applied to ${F.length} items`)},we=n=>{if(!n||isNaN(Number(n))){console.warn("Invalid price value:",n);return}const m=w(Number(n)),F=ge();if(F.length===0){console.warn("No items selected for uniform price change");return}console.log(`Applying uniform price ${m} to ${F.length} items`),F.forEach(r=>{const oe=et(r)?m:0;j.updateItemField({id:r.id,field:"priceBeforeMarketFee",value:oe})}),console.log(`Uniform price applied to ${F.length} items`)},Z=n=>{if(!n)return;console.log(`Applying formula: ${n}`);const m=ge();if(m.length===0){console.warn("No items selected for formula application");return}try{new Function("cost","weight","marketFee","markupRate","baseShippingFee","unitShippingFee",`return ${n}`)}catch(Ce){console.error("Formula validation failed:",Ce),alert(`Invalid formula: ${Ce.message}`);return}console.log(`Applying formula to ${m.length} items`);let F=0,r=0;const oe=tt.value;m.forEach(Ce=>{try{const Ee=fe(Ce.customCost)??0;if(Ee<=0){j.updateItemField({id:Ce.id,field:"priceBeforeMarketFee",value:0}),F++;return}const $e=w(Ee*oe),je=Number(Ce.weightCustom)||0,qe=V.value/100,yt=Ie.value/100,Ot=Number(Y.value),Et=Number(te.value),eo={cost:$e,weight:je,marketFee:qe,markupRate:yt,baseShippingFee:Ot,unitShippingFee:Et},so=new Function(...Object.keys(eo),`return ${n}`)(...Object.values(eo));if(isNaN(so)||!isFinite(so))throw new Error(`Formula resulted in invalid price: ${so}`);const vo=Math.max(0,w(so));j.updateItemField({id:Ce.id,field:"priceBeforeMarketFee",value:vo}),F++}catch(Ee){console.error(`Error applying formula to item ${Ce.id}:`,Ee),r++}}),console.log(`Formula applied: ${F} successful, ${r} failed`)},Ve=n=>{if(isNaN(Number(n))){console.warn("Invalid stock amount:",n);return}const m=Number(n),F=ge();if(F.length===0){console.warn("No items selected for stock adjustment");return}console.log(`Setting stock to ${m} for ${F.length} items`),F.forEach(r=>{j.updateItemField({id:r.id,field:"isStockQtyFixed",value:1}),j.updateItemField({id:r.id,field:"stockQtyCustom",value:Math.max(0,m)})}),console.log(`Stock updated for ${F.length} items`)},Ke=()=>{const n=ge();if(n.length===0){console.warn("No items selected for image restore");return}const m=new Set,F=new Set;n.forEach(r=>{var $e,je,qe,yt,Ot,Et,eo;const oe=(qe=(je=($e=q.value)==null?void 0:$e.customProduct)==null?void 0:je.custom_variants)==null?void 0:qe.find(bo=>String(bo.id)===String(r.id)),Ce=Go({apiItem:oe,supplierProduct:((Ot=(yt=q.value)==null?void 0:yt.customProduct)==null?void 0:Ot.supplier_product)??((eo=(Et=I.value)==null?void 0:Et.customProduct)==null?void 0:eo.supplier_product)??null}),Ee=rl(Ce);if(!Ee){console.warn(`Could not restore image for item ${r.id}: supplier image is missing.`);return}j.updateItemField({id:r.id,field:"customImages",value:Ee.customImages}),j.updateItemField({id:r.id,field:"customImg",value:Ee.customImg}),m.add(String(r.modelId??"")),F.add(String(r.id))}),!(m.size===0&&F.size===0)&&(I.value.customVariantAttributes=I.value.customVariantAttributes.map(r=>{var qe,yt,Ot,Et,eo,bo,so;const oe=(r==null?void 0:r.customVariantId)!==null&&(r==null?void 0:r.customVariantId)!==void 0&&F.has(String(r.customVariantId)),Ce=(r==null?void 0:r.modelId)!==null&&(r==null?void 0:r.modelId)!==void 0&&m.has(String(r.modelId));if(!oe&&!Ce)return r;const Ee=n.find(vo=>(r==null?void 0:r.customVariantId)!==null&&(r==null?void 0:r.customVariantId)!==void 0&&String(vo.id)===String(r.customVariantId)||(r==null?void 0:r.modelId)!==null&&(r==null?void 0:r.modelId)!==void 0&&String(vo.modelId)===String(r.modelId)),$e=(Ot=(yt=(qe=q.value)==null?void 0:qe.customProduct)==null?void 0:yt.custom_variants)==null?void 0:Ot.find(vo=>String(vo.id)===String(Ee==null?void 0:Ee.id)),je=Go({apiItem:$e,
3supplierProduct:((eo=(Et=q.value)==null?void 0:Et.customProduct)==null?void 0:eo.supplier_product)??((so=(bo=I.value)==null?void 0:bo.customProduct)==null?void 0:so.supplier_product)??null})||null;return{...r,optionValueImage:je}}))},se=b(!1),Ne=b(!1),St=b(!1),pt=b(!1),st=b(!1),_t=b(0),wt=b(0),i=b(0),c=b(0),k=b(""),R=b(null),pe=b(null),T=b(null),Ae=()=>{Rt(()=>{var n;(n=R.value)==null||n.focus()})},Te=()=>{if(!Number.isFinite(Number(wt.value))){console.warn("Empty uniform price value");return}const n=Number(wt.value);if(isNaN(n)){console.warn("Invalid price value:",wt.value);return}we(n),se.value=!1,wt.value=0},be=()=>{Rt(()=>{var n;(n=T.value)==null||n.focus()})},Ye=()=>{if(!Number.isFinite(Number(c.value))){console.warn("Empty price adjustment value");return}const n=Number(c.value);if(isNaN(n)){console.warn("Invalid price adjustment value:",c.value);return}console.log(`Applying price adjustment of ${n}`),A(n),Ne.value=!1,c.value=0},It=()=>{if(!k.value){console.warn("Empty price formula");return}try{new Function("cost","weight","marketFee","markupRate","baseShippingFee","unitShippingFee",`return ${k.value}`),console.log(`Applying price formula: ${k.value}`),Z(k.value),St.value=!1,k.value=""}catch(n){console.error("Invalid formula:",n),alert(`Invalid formula: ${n.message}`)}},Ut=()=>{if(!Number.isFinite(Number(_t.value))){console.warn("Empty stock adjustment value");return}const n=Number(_t.value);if(isNaN(n)){console.warn("Invalid stock value:",_t.value);return}W.value,console.log(`Setting stock quantity to ${n} for ${W.value} items`),Ve(n),Rt(()=>{console.log("Stock update applied, refreshing UI")}),pt.value=!1,_t.value=0},At=()=>{Rt(()=>{var n;(n=pe.value)==null||n.focus()})},Bt=()=>{if(i.value===null||i.value===void 0||isNaN(Number(i.value))){console.warn("Invalid weight value:",i.value);return}const n=Number(i.value);console.log(`Applying uniform weight of ${n}kg to selected items`);const m=ge();if(m.length===0){console.warn("No items selected for weight update");return}console.log(`Updating weight for ${m.length} items`),m.forEach(F=>{var Ee,$e,je;j.updateItemField({id:F.id,field:"weightCustom",value:n});const r=(je=($e=(Ee=q.value)==null?void 0:Ee.customProduct)==null?void 0:$e.custom_variants)==null?void 0:je.find(qe=>String(qe.id)===String(F.id)),oe=j.formData.customVariants.find(qe=>String(qe.id)===String(F.id)),Ce=(oe==null?void 0:oe.isPriceFixed)===1||(oe==null?void 0:oe.isPriceFixed)===!0;if(r&&oe&&!Ce){const qe=j.updatePriceByWeight(r,oe);j.updateItemField({id:F.id,field:"priceBeforeMarketFee",value:qe,priceSource:"automatic"})}else Ce||(r||console.warn(`Could not find apiItem for ID ${F.id} to recalculate price after weight change.`),oe||console.warn(`Could not find updated customVariant for ID ${F.id} after weight update.`))}),st.value=!1,i.value=0};return(n,m)=>(_(),O(Ge,null,[e(Ft,null,{default:t(()=>[e(Mt,null,{default:t(()=>{var F;return[h("div",null,[h("div",ua,[h("div",ca,[e(Ct,{class:"flex-grow-1",label:l(o)("Shipping Fee Revenue"),modelValue:l(j).formData.customProduct.shippingFeeCustom,"onUpdate:modelValue":m[0]||(m[0]=r=>l(j).formData.customProduct.shippingFeeCustom=r),type:"number",suffix:Le.value},null,8,["label","modelValue","suffix"]),e(Ct,{class:"flex-grow-1",label:l(o)("Return Shipping"),modelValue:l(j).formData.customProduct.returnFeeCustom,"onUpdate:modelValue":m[1]||(m[1]=r=>l(j).formData.customProduct.returnFeeCustom=r),type:"number",suffix:Le.value},null,8,["label","modelValue","suffix"]),e(Ct,{class:"flex-grow-1",label:l(o)("Exchange Shipping"),modelValue:l(j).formData.customProduct.exchangeFeeCustom,"onUpdate:modelValue":m[2]||(m[2]=r=>l(j).formData.customProduct.exchangeFeeCustom=r),type:"number",suffix:Le.value},null,8,["label","modelValue","suffix"])]),dt.value?(_(),O("div",da,[e(Fo,{class:"flex-grow-1",modelValue:l(j).formData.customProduct.customsTaxType,"onUpdate:modelValue":m[3]||(m[3]=r=>l(j).formData.customProduct.customsTaxType=r),label:l(o)("smartStoreCustomsTaxTypeLabel"),items:Kt.value,"item-title":"title","item-value":"value",variant:"outlined",hint:l(o)("smartStoreCustomsTaxTypeHint"),"persistent-hint":""},null,8,["modelValue","label","items","hint"])])):_e("",!0),h("div",ma,[e(No,{class:"flex-grow-1",label:l(o)("Base International Shipping Cost"),modelValue:Y.value,"onUpdate:modelValue":m[4]||(m[4]=r=>Y.value=r),modelModifiers:{number:!0},type:"number",suffix:Le.value,hint:l(o)("Fixed portion of international shipping in price formula"),"persistent-hint":""},null,8,["label","modelValue","suffix","hint"]),e(No,{class:"flex-grow-1",label:xt.value,modelValue:te.value,"onUpdate:modelValue":m[5]||(m[5]=r=>te.value=r),modelModifiers:{number:!0},type:"number",suffix:Le.value,hint:kt.value,"persistent-hint":""},null,8,["label","modelValue","suffix","hint"])]),h("div",fa,[e(No,{class:"flex-grow-1",label:l(o)("Market Fee (%)"),modelValue:V.value,"onUpdate:modelValue":m[6]||(m[6]=r=>V.value=r),modelModifiers:{number:!0},type:"number",suffix:"%",hint:l(o)("Marketplace fee percentage"),"persistent-hint":""},null,8,["label","modelValue","hint"]),e(No,{class:"flex-grow-1",label:l(o)("Markup Rate (%)"),modelValue:Ie.value,"onUpdate:modelValue":m[7]||(m[7]=r=>Ie.value=r),modelModifiers:{number:!0},type:"number",suffix:"%",hint:l(o)("Price markup percentage over cost"),"persistent-hint":""},null,8,["label","modelValue","hint"])])]),B.value.length>0?(_(),O("div",pa,[h("div",ga,[h("div",va,a(l(o)("Final prices by marketplace:")),1),e(Ht)]),h("div",ha,[(_(!0),O(Ge,null,bt(Be.value,r=>{var oe,Ce,Ee,$e,je,qe;return _(),O("div",{key:r.key,class:io(["marketplace-card d-flex align-center px-3 py-2 rounded cursor-pointer",{"selected-marketplace":L.value&&((oe=r.shop)==null?void 0:oe.id)===((Ce=L.value)==null?void 0:Ce.id)}]),style:{border:"1px solid #eeeeee"},onClick:yt=>U(r.shop)},[r.shop?(_(),O(Ge,{key:0},[e(ro,{size:"36",class:"me-3"},{default:t(()=>[e(zt,{src:l(Co)(r.marketCode),alt:r.marketCode||void 0},null,8,["src","alt"])]),_:2},1024),h("div",null,[h("div",Ca,[h("span",ba,a(me(r.shop)),1),h("span",ka,"("+a(r.shop.marketFeePercentage||r.shop.defaultMarketFeePercentage)+"%)",1),r.hasClone?_e("",!0):(_(),He(oo,{key:0,size:"x-small",class:"ml-2",variant:"tonal",color:"grey"},{default:t(()=>[C(a(l(o)("notListedYet")),1)]),_:1})),(Ee=r.shop)!=null&&Ee.id&&Pe.value.get(Number(r.shop.id))?(_(),He(oo,{key:1,size:"x-small",class:"ml-2",variant:"outlined","prepe
3nd-icon":($e=Pe.value.get(Number(r.shop.id)))==null?void 0:$e.icon,onClick:Nt(yt=>ee(r.shop.id),["stop"])},{default:t(()=>{var yt;return[C(a((yt=Pe.value.get(Number(r.shop.id)))==null?void 0:yt.text),1)]}),_:2},1032,["prepend-icon","onClick"])):_e("",!0)]),h("div",Sa,a(gt((je=ht.value)==null?void 0:je.priceBeforeMarketFee,Number(r.shop.marketFeePercentage||r.shop.defaultMarketFeePercentage||0)/100,(qe=ht.value)==null?void 0:qe.customCost)),1)])],64)):(_(),O("div",_a,"Shop data missing"))],10,ya)}),128))]),ct.value>0||ue.value?(_(),He(re,{key:0,size:"small",variant:"text",color:"primary",class:"mt-2",onClick:m[8]||(m[8]=r=>ue.value=!ue.value)},{default:t(()=>[C(a(ue.value?l(o)("ì 기"):`${l(o)("ë보기")} (${ct.value})`),1)]),_:1})):_e("",!0)])):(_(),O("div",Ia,a(l(o)("No marketplaces linked yet.")),1)),h("div",xa,[e(go,null,{activator:t(({props:r})=>[e(re,Zt({size:"small",color:"primary"},r),{default:t(()=>[C(a(l(o)("Unify Price"))+" ",1),e(Xe,{end:"",size:"small"},{default:t(()=>m[32]||(m[32]=[C("mdi-chevron-down")])),_:1})]),_:2},1040)]),default:t(()=>[e(lo,{density:"compact"},{default:t(()=>[e(Dt,{onClick:m[9]||(m[9]=r=>se.value=!0)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("Set Uniform Price")),1)]),_:1})]),_:1}),e(Dt,{onClick:m[10]||(m[10]=r=>Ne.value=!0)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("Add/Subtract Price")),1)]),_:1})]),_:1}),e(Dt,{onClick:m[11]||(m[11]=r=>St.value=!0)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("Apply Price Formula")),1)]),_:1})]),_:1})]),_:1})]),_:1}),e(re,{size:"small",color:"primary",onClick:m[12]||(m[12]=r=>st.value=!0)},{default:t(()=>[C(a(l(o)("Unify Weight")),1)]),_:1}),e(re,{size:"small",color:"primary",variant:"outlined",onClick:m[13]||(m[13]=r=>pt.value=!0)},{default:t(()=>[C(a(l(o)("Change Stock Quantity")),1)]),_:1}),e(re,{size:"small",color:"secondary",variant:"outlined",onClick:Ke},{default:t(()=>[C(a(l(o)("restoreOriginalImage")),1)]),_:1})]),h("div",wa,[h("div",null,a(l(o)("selectedOptions"))+": "+a(J.value?x.value:W.value),1),e(Ht)]),e(Po,{class:"mb-6"}),Array.isArray((F=l(I))==null?void 0:F.customVariants)?(_(),O("div",Pa,[e(Gl,{"fixed-header":"",height:"auto",class:"pricing-table"},{default:t(()=>[h("thead",null,[h("tr",null,[h("th",Fa,[e(Wo,{modelValue:J.value,"onUpdate:modelValue":m[14]||(m[14]=r=>J.value=r),indeterminate:W.value>0&&W.value<x.value},null,8,["modelValue","indeterminate"])]),h("th",Da,a(l(o)("Image")),1),h("th",$a,a(l(o)("Option")),1),h("th",Ma,a(l(o)("Cost")),1),h("th",Va,[C(a(l(o)("Weight")),1),m[33]||(m[33]=h("br",null,null,-1)),C(a(l(o)("Shipping")),1)]),h("th",Na,[C(a(l(o)("Price")),1),m[34]||(m[34]=h("br",null,null,-1)),C(a(l(o)("Margin")),1)]),h("th",Ta,[C(a(l(o)("Final Price")),1),m[35]||(m[35]=h("br",null,null,-1)),C("(+"+a(l(o)("Market Fee"))+")",1)]),h("th",Ua,a(l(o)("Stock")),1)])]),h("tbody",null,[Re.value.length>0?(_(!0),O(Ge,{key:0},bt(Re.value,r=>(_(),He(sa,{key:r.id,item:Oe.value.get(String(r.id))||{},"custom-variant":r,index:-1,"product-edit-store":l(j),"form-data":l(I),cachedMargins:l(ve),cachedConvertedCosts:l(Se),"base-shipping-fee":Number(Y.value),"unit-shipping-fee":Number(te.value),"markup-rate-percent":Number(Ie.value),"market-fee-percent":Number(V.value),"calculate-final-price":v,"calculate-market-fee":K,"is-selected":u.value?u.value.id===r.id:!1,onUpdateField:at,onUpdateSelling:M,onRowClick:Ze},null,8,["item","custom-variant","product-edit-store","form-data","cachedMargins","cachedConvertedCosts","base-shipping-fee","unit-shipping-fee","markup-rate-percent","market-fee-percent","is-selected"]))),128)):(_(),O("tr",Aa,[h("td",Ea,[h("div",Ra,a(l(o)("No items to display")),1),h("pre",La,"Total Items: "+a(x.value),1)])]))])]),_:1}),h("div",za,[e(Ql,{modelValue:H.value,"onUpdate:modelValue":[m[15]||(m[15]=r=>H.value=r),xe],length:Math.ceil(x.value/Q.value),"total-visible":7,rounded:""},null,8,["modelValue","length"]),h("div",Ba,[e(Fo,{modelValue:Q.value,"onUpdate:modelValue":[m[16]||(m[16]=r=>Q.value=r),ot],items:[5,10,20,50],label:l(o)("Items per page"),variant:"underlined",style:{width:"120px"}},null,8,["modelValue","label"])])])])):(_(),O("div",Oa,a(l(o)("Loading product data...")),1))])]}),_:1})]),_:1}),e(Wt,{modelValue:se.value,"onUpdate:modelValue":m[19]||(m[19]=F=>se.value=F),"max-width":"500px",onAfterEnter:Ae},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(o)("Unify Price")),1)]),_:1}),e(Mt,null,{default:t(()=>[e(Ct,{ref_key:"uniformPriceField",ref:R,modelValue:wt.value,"onUpdate:modelValue":m[17]||(m[17]=F=>wt.value=F),label:l(o)("Price"),type:"number",suffix:Le.value,onKeyup:po(Te,["enter"])},null,8,["modelValue","label","suffix"])]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"error",onClick:m[18]||(m[18]=F=>se.value=!1)},{default:t(()=>[C(a(l(o)("Cancel")),1)]),_:1}),e(re,{color:"primary",onClick:Te},{default:t(()=>[C(a(l(o)("Apply")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(Wt,{modelValue:Ne.value,"onUpdate:modelValue":m[22]||(m[22]=F=>Ne.value=F),"max-width":"500px",onAfterEnter:be},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(o)("Add/Subtract Price")),1)]),_:1}),e(Mt,null,{default:t(()=>[e(Ct,{ref_key:"priceAdjustmentField",ref:T,modelValue:c.value,"onUpdate:modelValue":m[20]||(m[20]=F=>c.value=F),onKeyup:po(Ye,["enter"]),label:l(o)("Adjustment Amount"),type:"number",suffix:Le.value,hint:l(o)("Positive to add, negative to subtract"),"persistent-hint":""},null,8,["modelValue","label","suffix","hint"])]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"error",onClick:m[21]||(m[21]=F=>Ne.value=!1)},{default:t(()=>[C(a(l(o)("Cancel")),1)]),_:1}),e(re,{color:"primary",onClick:Ye},{default:t(()=>[C(a(l(o)("Apply")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(Wt,{modelValue:St.value,"onUpdate:modelValue":m[25]||(m[25]=F=>St.value=F),"max-width":"500px"},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(o)("Apply Price Formula")),1)]),_:1}),e(Mt,null,{default:t(()=>[e(Ct,{modelValue:k.value,"onUpdate:modelValue":m[23]||(m[23]=F=>k.value=F),label:l(o)("Price Formula"),hint:l(o)("Example: (cost + weight * 1000 + 5000) * (1 + markupRate)"),"persistent-hint":"",onKeyup:po(It,["enter"])},null,8,["modelValue","label","hint"]),h("div",Ha,a(l(o)("Available variables:"))+" cost, weight, markupRate, marketFee, baseShippingFee, unitShippingFee ",1),h("div",Ka,a(l(o)("Note: Market fee is not included in this price calculation - It will be added in the Final Price column.")),1)]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"error",onClick:m[24]||(m[24]=F=>St.value=!1)},{default:t(()=>[C(a(l(o)("Cancel")),1)]),_:1}),e(re,{color:"primary",onClick:It},{default:t(()=>[C(a(l(o)("Apply")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(Wt,{modelValue:pt.value,"onUpdate:modelValue":m[28]||(m[28]=F=>pt.value=F),"max-width":"500px"},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(o)("Change Stock Quantity")),1)]),_:1}),e(Mt,null,{default:t(()=>[e(Ct,{modelValue:_t.value,"onUpdate:modelValue":m[26]||(m[26]=F=>_t.value=F),label:l(o)("Stock Quantity"),type:"number",onKeyup:po(Ut,["enter"])},null,8,["modelValue","label"])]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"error",onClick:m[27]||(m[27]=F=>pt.value=!1)},{default:t(()=>[C(a(l(o)("Cancel")),1)]),_:1}),e(re,{color:"primary",onClick:Ut},{default:t(()=>[C(a(l(o)("Apply")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(Wt,{modelValue:st.value,"onUpdate:modelValue":m[31]||(m[31]=F=>st.value=F),"max-width":"500px",onAfterEnter:At},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(o)("Unify Weight")),1)]),_:1}),e(Mt,null,{default:t(()=>[e(Ct,{ref_key:"uniformWeightField",ref:pe,modelValue:i.value,"onUpdate:modelValue":m[29]||(m[29]=F=>i.value=F),label:l(o)("Weight"),type:"number",suffix:it.value,onKeyup:po(Bt,["enter"])},null,8,["modelValue","label","suffix"])]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"error",onClick:m[30]||(m[30]=F=>st.value=!1)},{default:t(()=>[C(a(l(o)("Cancel")),1)]),_:1}),e(re,{color:"primary",onClick:Bt},{default:t(()=>[C(a(l(o)("Apply")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}}),Wa=Jt(ja,[["__scopeId","data-v-ce207ccf"]]),qa={class:"d-flex flex-column gap-4"},Qa=qt({__name:"AttributesTab",setup(ke){const{t:S}=Gt(),o=no();return(g,u)=>(_(),He(Ft,null,{default:t(()=>[e(Mt,null,{default:t(()=>[h("div",qa,[u[3]||(u[3]=h("div",{class:"d-flex gap-4"},null,-1)),e(Ct,{modelValue:l(o).formData.customProduct.brandCustom,"onUpdate:modelValue":u[0]||(u[0]=L=>l(o).formData.customProduct.brandCustom=L),label:l(S)("Brand"),class:"flex-grow-1",variant:"outlined"},null,8,["modelValue","label"]),e(Ct,{modelValue:l(o).formData.customProduct.makerCustom,"onUpdate:modelValue":u[1]||(u[1]=L=>l(o).formData.customProduct.makerCustom=L),label:l(S)("Manufacturer"),class:"flex-grow-1",variant:"outlined"},null,8,["modelValue","label"]),e(Xl,{modelValue:l(o).formData.customProduct.isAdultProductCustom,"onUpdate:modelValue":u[2]||(u[2]=L=>l(o).formData.customProduct.isAdultProductCustom=L),modelModifiers:{number:!0},"false-value":0,"true-value":1,label:l(S)("Adult Only"),color:"primary","hide-details":""},null,8,["modelValue","label"])])]),_:1})]),_:1}))}}),Ga={class:"template-preview-wrapper"},Xa={class:"template-preview-header"},Ja={class:"template-preview-title"},Ya={class:"template-preview-subtitle"}
3,Za=["innerHTML"],er=qt({__name:"DescriptionTemplateEditorDialog",props:{modelValue:{type:Boolean},templateCustom:{},previewData:{},marketCountryCode:{}},emits:["update:modelValue","save"],setup(ke,{emit:S}){const o=ke,g=S,{t:u}=Gt(),L=b(null),ne=b(!1),D=b("");function ue(){var I;g("save",((I=L.value)==null?void 0:I.getSanitizedTemplate())||""),H()}function H(){ne.value=!1,g("update:modelValue",!1)}function Q(I){g("update:modelValue",I)}function j(){var I;(I=L.value)==null||I.resetToDefault()}return Pt(()=>o.modelValue,I=>{I||(ne.value=!1)}),(I,q)=>(_(),He(Wt,{"model-value":I.modelValue,"max-width":"1200","onUpdate:modelValue":Q},{default:t(()=>[e(Ft,{class:"template-editor-card"},{default:t(()=>[e(Lt,{class:"d-flex align-center"},{default:t(()=>[C(a(l(u)("descriptionTemplate.title"))+" ",1),e(Ht),e(re,{size:"small",variant:"outlined",class:"mr-2",onClick:q[0]||(q[0]=ve=>ne.value=!ne.value)},{default:t(()=>[e(Xe,{icon:ne.value?"mdi-pencil":"mdi-eye",start:""},null,8,["icon"]),C(" "+a(ne.value?l(u)("descriptionTemplate.editMode"):l(u)("descriptionTemplate.previewMode")),1)]),_:1}),e(oo,{size:"small",color:"info",variant:"tonal"},{default:t(()=>[C(a(l(u)("descriptionTemplate.singleUseSlots")),1)]),_:1})]),_:1}),e(Mt,null,{default:t(()=>[xo(h("div",null,[e(El,{ref_key:"editorRef",ref:L,"template-custom":I.templateCustom,"preview-data":I.previewData,"market-country-code":I.marketCountryCode||"",active:I.modelValue,"onUpdate:preview":q[1]||(q[1]=ve=>D.value=ve)},null,8,["template-custom","preview-data","market-country-code","active"])],512),[[Bo,!ne.value]]),xo(h("div",Ga,[h("div",Xa,[h("div",Ja,a(l(u)("descriptionTemplate.previewMode")),1),h("div",Ya,a(l(u)("descriptionTemplate.previewDescription")),1)]),h("div",{class:"template-preview-surface",innerHTML:D.value},null,8,Za)],512),[[Bo,ne.value]])]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{variant:"text",onClick:j},{default:t(()=>[C(a(l(u)("buttons.reset")),1)]),_:1}),e(re,{variant:"text",onClick:H},{default:t(()=>[C(a(l(u)("buttons.cancel")),1)]),_:1}),e(re,{color:"primary",onClick:ue},{default:t(()=>[C(a(l(u)("buttons.save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),tr=Jt(er,[["__scopeId","data-v-0cfc4803"]]),or={class:"description-layout d-flex flex-column"},lr={class:"description-toolbar d-flex align-center flex-wrap"},nr=["innerHTML"],ar=qt({__name:"DescriptionTab",setup(ke){const{t:S}=Gt(),o=no(),g=b(null),u=b(!1),L=b(""),ne=b(!1),D=b(!1),ue=b(!1),H=b(!1),Q=b(!1),j=b("en"),I=b(!1),q=b("en"),ve=b(!1),Se=b(""),Fe=b(!1);let Oe=!1;const Ue=b(!1),De=b(null),Pe=b(null),ee=b(null),We=b(null),ze=b(null),ft=b(0),le=b(0),he=b(!1),J=b(0),ge=b(0),x=b(!1),W=b(""),de=N(()=>{var s,p,P,A;return((p=(s=o.formData)==null?void 0:s.customProduct)==null?void 0:p.descriptionCustom)||((A=(P=o.apiData)==null?void 0:P.customProduct)==null?void 0:A.description)||""}),Re=N(()=>{var s,p,P;return((P=(p=(s=o.apiData)==null?void 0:s.customProduct)==null?void 0:p.supplier_product)==null?void 0:P.supplierCountryCode)||null});function xe(s){const p=String(s||"").toUpperCase();return["JP","JPN","JAPAN"].includes(p)?"ja":["KR","KOR","KOREA"].includes(p)?"ko":["CN","CHN","CHINA"].includes(p)?"zh-cn":["TW","TWN","TAIWAN"].includes(p)?"tw":""}const ot=N(()=>{const s=xe(Re.value);return s||"en"}),mt=N(()=>[{title:S("languageEnglish"),value:"en"},{title:S("languageKorean"),value:"ko"},{title:S("languageJapanese"),value:"ja"},{title:S("languageChineseSimplified"),value:"zh-cn"},{title:S("languageChineseTraditional"),value:"tw"}]),Ze=N(()=>{var s,p,P,A,we,Z,Ve,Ke,se;return((P=(p=(s=o.apiData)==null?void 0:s.marketVariants)==null?void 0:p[0])==null?void 0:P.marketCountryCode)||((Ve=(Z=(we=(A=o.apiData)==null?void 0:A.marketProducts)==null?void 0:we[0])==null?void 0:Z.country)==null?void 0:Ve.code)||((se=(Ke=o.apiData)==null?void 0:Ke.customProduct)==null?void 0:se.marketCountryCode)||null}),me=N(()=>{var s,p,P;return((P=(p=(s=o.apiData)==null?void 0:s.customProduct)==null?void 0:p.supplier_product)==null?void 0:P.descriptionDigest)||null}),Qe=N(()=>ne.value||D.value);Pt(ot,s=>{j.value=s},{immediate:!0});const U=N(()=>!!(Re.value&&Ze.value)),z=N(()=>{var s,p;return!((p=(s=o.apiData)==null?void 0:s.customProduct)!=null&&p.descriptionCustom)&&!!me.value&&U.value&&Re.value!==Ze.value}),fe=N(()=>{var s,p;return!!me.value||!!((p=(s=o.apiData)==null?void 0:s.customProduct)!=null&&p.description)}),et=N(()=>!!ee.value),gt=N(()=>({left:`${Math.round(ft.value)}px`,top:`${Math.round(le.value)}px`})),at=N(()=>{var St,pt,st,_t,wt,i,c,k,R,pe,T,Ae,Te,be,Ye,It,Ut,At,Bt,n,m,F;const s=((pt=(St=o.formData)==null?void 0:St.customProduct)==null?void 0:pt.customTitle)||((_t=(st=o.apiData)==null?void 0:st.customProduct)==null?void 0:_t.customTitle)||((c=(i=(wt=o.apiData)==null?void 0:wt.customProduct)==null?void 0:i.supplier_product)==null?void 0:c.title)||"",p=_o(Xo({parentImagesCustom:(R=(k=o.formData)==null?void 0:k.customProduct)==null?void 0:R.customImages,parentImgCustom:(T=(pe=o.formData)==null?void 0:pe.customProduct)==null?void 0:T.customImg,customVariants:(Ae=o.formData)==null?void 0:Ae.customVariants}),Xo({parentImagesCustom:(be=(Te=o.apiData)==null?void 0:Te.customProduct)==null?void 0:be.customImages,parentImgCustom:(It=(Ye=o.apiData)==null?void 0:Ye.customProduct)==null?void 0:It.customImg,customVariants:(At=(Ut=o.apiData)==null?void 0:Ut.customProduct)==null?void 0:At.custom_variants})),P=[],A=((Bt=o.formData)==null?void 0:Bt.customVariants)||[],we=A.filter(r=>(r==null?void 0:r.isSelling)===1||(r==null?void 0:r.isSelling)===!0),Z=((n=o.formData)==null?void 0:n.customVariantAttributes)||[],Ve=new Map,Ke=new Map,se=new Map,Ne=new Map;return Z.forEach(r=>{const oe=String((r==null?void 0:r.valueCustom)||(r==null?void 0:r.valueFallback)||(r==null?void 0:r.valueOriginal)||"").trim();if(!oe)return;const Ce=String((r==null?void 0:r.customVariantId)||"").trim(),Ee=String((r==null?void 0:r.modelId)||"").trim(),$e=_o(r==null?void 0:r.customImg,r==null?void 0:r.optionValueImage);if(Ce){const je=Ve.get(Ce)||[];je.push(oe),Ve.set(Ce,je),$e&&!se.has(Ce)&&se.set(Ce,$e)}if(Ee){const je=Ke.get(Ee)||[];je.push(oe),Ke.set(Ee,je),$e&&!Ne.has(Ee)&&Ne.set(Ee,$e)}}),we.forEach(r=>{const oe=String((r==null?void 0:r.id)||"").trim(),Ce=String((r==null?void 0:r.modelId)||"").trim(),Ee=[...Ve.get(oe)||[],...Ke.get(Ce)||[]],$e=[...new Set(Ee.map(qe=>
3String(qe||"").trim()).filter(Boolean))],je=_o(se.get(oe),Ne.get(Ce),Jo(r),p);P.push({name:$e.join(" / ").trim()||S("descriptionTab.optionInfoEmpty"),image:je})}),!P.length&&A.length===0&&(((F=(m=o.apiData)==null?void 0:m.customProduct)==null?void 0:F.custom_variants)||[]).filter(oe=>(oe==null?void 0:oe.isSelling)===1).forEach(oe=>{var yt;const Ce=(yt=oe==null?void 0:oe.supplier_variant)==null?void 0:yt.optionObj;let Ee="";try{const Ot=typeof Ce=="string"?JSON.parse(Ce):Ce&&typeof Ce=="object"?Ce:null;Ot&&typeof Ot=="object"&&!Array.isArray(Ot)&&(Ee=Object.values(Ot).map(Et=>String(Et||"").trim()).filter(Boolean).join(" / "))}catch{Ee=""}const $e=String((oe==null?void 0:oe.id)||"").trim(),je=String((oe==null?void 0:oe.modelId)||"").trim(),qe=_o(se.get($e),Ne.get(je),Jo(oe),p);P.push({name:Ee||S("descriptionTab.optionInfoEmpty"),image:qe})}),{productName:s,mainImage:p,optionRows:P.slice(0,24),productDescription:de.value||""}});async function M(){try{if(!Ze.value){Se.value="";return}const{data:s}=await $t.get("/user/shop/template-custom",{params:{marketCountryCode:Ze.value}});Se.value=typeof(s==null?void 0:s.templateCustom)=="string"?s.templateCustom:""}catch(s){console.error("Error loading templateCustom from shop settings:",s)}}async function E(){await M(),ve.value=!0}async function ae(s){try{if(!Ze.value)return;await $t.post("/user/shop/template-custom",{marketCountryCode:Ze.value,templateCustom:s}),Se.value=s}catch(p){console.error("Error saving templateCustom:",p)}}function ce(){var s,p;(s=document.getSelection())==null||s.removeAllRanges(),(p=window.getSelection())==null||p.modify("move","backward","word")}function Le(){var s,p;(s=document.getSelection())==null||s.removeAllRanges(),(p=window.getSelection())==null||p.modify("move","forward","word")}function tt(){if(g.value){const s=window.getSelection();if(s&&s.rangeCount>0){const p=s.getRangeAt(0),P=document.createElement("span");P.style.fontWeight="bold",p.surroundContents(P)}}}function lt(){if(g.value){const s=window.getSelection();if(s&&s.rangeCount>0){const p=s.getRangeAt(0),P=document.createElement("span");P.style.fontStyle="italic",p.surroundContents(P)}}}function vt(){if(g.value){const s=window.getSelection();if(s&&s.rangeCount>0){const p=s.getRangeAt(0),P=document.createElement("span");P.style.textDecoration="underline",p.surroundContents(P)}}}function ut(s){g.value&&(g.value.style.textAlign=s)}function $(s,p,P){return Number.isFinite(s)?Math.max(p,Math.min(P,s)):p}function B(s){if(!s)return 0;const p=Number(String(s).replace("px","").trim());return Number.isFinite(p)?p:0}function ye(){if(!g.value)return;const s=window.getSelection();if(!s||s.rangeCount===0)return;const p=s.getRangeAt(0);g.value.contains(p.startContainer)&&(ze.value=p.cloneRange())}function Be(){if(!ze.value)return;const s=window.getSelection();s&&(s.removeAllRanges(),s.addRange(ze.value))}function ct(){if(!ee.value)return;const s=ee.value.getBoundingClientRect();ft.value=s.right-8,le.value=s.bottom-8}function ht(){he.value&&(he.value=!1,window.removeEventListener("mousemove",dt),window.removeEventListener("mouseup",ht),d())}function dt(s){if(!he.value||!ee.value)return;const p=$(ge.value+(s.clientX-J.value),40,2e3),P=Math.round(p);ee.value.style.width=`${P}px`,ee.value.style.maxWidth="100%",ee.value.style.height="auto",We.value=P,ct()}function Kt(s){if(!ee.value)return;he.value=!0,J.value=s.clientX;const p=B(ee.value.style.width),P=ee.value.getBoundingClientRect().width||120;ge.value=p>0?p:P,window.addEventListener("mousemove",dt),window.addEventListener("mouseup",ht)}
3function w(s){if(ht(),ee.value&&ee.value.classList.remove("editor-selected-image"),ee.value=s,!ee.value){We.value=null;return}ee.value.classList.add("editor-selected-image");const p=B(ee.value.style.width),P=Math.round(ee.value.clientWidth||ee.value.naturalWidth||0);We.value=p>0?p:P||null,ct()}function y(){ye(),Fe.value=!0}function G(s){const p=String(s||"").trim();return p?p.startsWith("//")?`https:${p}`:p:""}function Me(s){if(!g.value||!s)return;const p=document.createElement("img");p.src=s,p.style.maxWidth="100%",p.style.height="auto";const P=document.createElement("p");P.appendChild(p),g.value.focus(),Be();const A=window.getSelection();if(A&&A.rangeCount>0){const we=A.getRangeAt(0);g.value.contains(we.startContainer)?(we.deleteContents(),we.insertNode(P),we.setStartAfter(P),we.setEndAfter(P),A.removeAllRanges(),A.addRange(we),ze.value=we.cloneRange()):g.value.appendChild(P)}else g.value.appendChild(P);w(p),d()}function Y(s){const p=G(s.url);p&&Me(p)}function te(){if(!ee.value)return;const s=$(Number(We.value||0),40,2e3);We.value=Math.round(s),ee.value.style.width=`${Math.round(s)}px`,ee.value.style.maxWidth="100%",ee.value.style.height="auto",ct(),d()}function V(){ee.value&&(Pe.value=ee.value,De.value=ee.value.src||null,Ue.value=!0)}function Ie(){var s,p;(s=o.formData)!=null&&s.customProduct&&(o.formData.customProduct.descriptionCustom=((p=g.value)==null?void 0:p.innerHTML)||"")}async function nt(){var p;if(!((p=o.formData)!=null&&p.customProduct))return;const s=me.value;if(s)try{const{data:P}=await $t.get(`/user/description/original/${s}`),A=(P==null?void 0:P.data)||"";A&&(o.formData.customProduct.descriptionCustom=A,g.value&&(g.value.innerHTML=A),u.value=!0)}catch(P){console.error("Error fetching original description by digest:",P)}}async function rt(){var p,P,A;if(!(!((p=o.formData)!=null&&p.customProduct)||!fe.value||!window.confirm(S("restoreOriginalDescriptionConfirm")))){H.value=!0;try{const we=me.value;let Z="";if(we){const{data:Ve}=await $t.get(`/user/description/original/${we}`);Z=(Ve==null?void 0:Ve.data)||""}else Z=((A=(P=o.apiData)==null?void 0:P.customProduct)==null?void 0:A.description)||"";if(!Z){console.warn("No original description available to restore");return}o.formData.customProduct.descriptionCustom=Z,g.value&&(g.value.innerHTML=Z)}catch(we){console.error("Error restoring original description:",we)}finally{H.value=!1}}}function xt(){q.value=ot.value,I.value=!0}async function kt(){const s=q.value||ot.value;j.value=s,I.value=!1,await it(!1,s)}async function it(s,p){var Z,Ve,Ke,se,Ne,St;if(!((Ve=(Z=o.formData)==null?void 0:Z.customProduct)!=null&&Ve.id)){console.warn("customProductId is required to translate description");return}const P=((Ke=g.value)==null?void 0:Ke.innerHTML)||o.formData.customProduct.descriptionCustom||"";if(!P){console.warn("No description available to translate");return}const A=s?D:ne,we=p||j.value||ot.value;j.value=we,Oe=!1,A.value=!0;try{const{data:pt}=await $t.post("product/translate-product-description-with-llm",{description:P,prompt:L.value,customProductId:o.formData.customProduct.id,parentUid:o.formData.customProduct.parentUid,supplierCountryCode:Re.value,sourceLanguage:we,marketCountryCode:Ze.value,premiumTranslation:s}),st=pt==null?void 0:pt.jobId;if(!st)throw new Error("Missing jobId from translation endpoint");const _t=await X(st),wt=(_t==null?void 0:_t.description)||"";wt&&((se=o.formData)!=null&&se.customProduct)&&(o.formData.customProduct.descriptionCustom=wt,g.value&&(g.value.innerHTML=wt))}catch(pt){const st=pt,_t=((St=(Ne=st==null?void 0:st.response)==null?void 0:Ne.data)==null?void 0:St.message)||(st==null?void 0:st.message)||"Translation failed";String(_t).toLowerCase().includes("not enough image translation credits")?(W.value=S("notEnoughCreditsMessage"),x.value=!0):console.error("Error translating description:",pt)}finally{A.value=!1}}function Je(s){const p=s.target;if(!p||!g.value)return;const P=p.closest("img");if(!P||!g.value.contains(P)){w(null),ye();return}if(ee.value===P&&et.value){Pe.value=P,De.value=P.src||null,Ue.value=!0;return}w(P),ye()}function Tt(s){const p=s.target;if(!p||p.tagName!=="IMG")return;const P=p;Pe.value=P,De.value=P.src||null,Ue.value=!0}function f(s){if(s.key!=="Delete"&&s.key!=="Backspace"||!ee.value)return;const p=ee.value;w(null),p.remove(),d(),s.preventDefault()}function d(){var s;g.value&&((s=o.formData)!=null&&s.customProduct)&&(o.formData.customProduct.descriptionCustom=g.value.innerHTML)}function v(s){const p=s.newUrl;p&&(Pe.value&&(Pe.value.src=p,w(Pe.value)),d())}async function K(){var p,P,A,we;if(!((P=(p=o.formData)==null?void 0:p.customProduct)!=null&&P.id)){console.warn("customProductId is required to remove description texts");return}const s=((A=g.value)==null?void 0:A.innerHTML)||o.formData.customProduct.descriptionCustom||"";if(!s){console.warn("No description available to remove texts");return}ue.value=!0;try{const{data:Z}=await $t.post("product/remove-description-texts",{description:s,customProductId:o.formData.customProduct.id,parentUid:o.formData.customProduct.parentUid,supplierCountryCode:Re.value,sourceLanguage:j.value}),Ve=(Z==null?void 0:Z.description)||"";Ve&&((we=o.formData)!=null&&we.customProduct)&&(o.formData.customProduct.descriptionCustom=Ve,g.value&&(g.value.innerHTML=Ve))}catch(Z){console.error("Error removing description texts:",Z)}finally{ue.value=!1}}async function X(s){const p=Date.now(),P=10*60*1e3,A=2e3;
3for(;!Oe;){if(Date.now()-p>P)throw new Error("Translation timed out");const{data:we}=await $t.get(`product/translate-product-description-with-llm/${s}`);if((we==null?void 0:we.status)==="done")return we;if((we==null?void 0:we.status)==="error"){const Z=(we==null?void 0:we.error)||"Translation failed";throw String(Z).toLowerCase().includes("not enough image translation credits")&&(W.value=S("notEnoughCreditsMessage"),x.value=!0),new Error(Z)}await new Promise(Z=>setTimeout(Z,A))}throw new Error("Translation cancelled")}function ie(){ct()}return $o(()=>{g.value&&g.value.focus(),window.addEventListener("resize",ie),window.addEventListener("scroll",ie,!0),M(),z.value&&nt()}),Pt(de,s=>{g.value&&document.activeElement!==g.value&&g.value.innerHTML!==(s||"")&&(g.value.innerHTML=s||"",w(null))},{immediate:!0}),Pt(Ue,s=>{s||(Pe.value=null,De.value=null,d())}),ol(()=>{Oe=!0,ht(),window.removeEventListener("resize",ie),window.removeEventListener("scroll",ie,!0),w(null)}),(s,p)=>(_(),O(Ge,null,[e(Ft,{class:"editor-card"},{default:t(()=>[e(Mt,{class:"description-card-text"},{default:t(()=>[h("div",or,[h("div",lr,[e(fo,{density:"compact",class:"description-icon-group"},{default:t(()=>[e(re,{onClick:ce,size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-undo"})]),_:1}),e(re,{onClick:Le,size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-redo"})]),_:1})]),_:1}),e(fo,{density:"compact",class:"description-icon-group"},{default:t(()=>[e(re,{onClick:tt,size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-format-bold"})]),_:1}),e(re,{onClick:lt,size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-format-italic"})]),_:1}),e(re,{onClick:vt,size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-format-underline"})]),_:1})]),_:1}),e(fo,{density:"compact",class:"description-icon-group"},{default:t(()=>[e(re,{onClick:p[0]||(p[0]=P=>ut("left")),size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-format-align-left"})]),_:1}),e(re,{onClick:p[1]||(p[1]=P=>ut("center")),size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-format-align-center"})]),_:1}),e(re,{onClick:p[2]||(p[2]=P=>ut("right")),size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-format-align-right"})]),_:1})]),_:1}),e(fo,{density:"compact",class:"description-icon-group"},{default:t(()=>[e(re,{onClick:y,size:"small"},{default:t(()=>[e(Xe,{icon:"mdi-image"})]),_:1})]),_:1}),ee.value?(_(),He(Ct,{key:0,modelValue:We.value,"onUpdate:modelValue":p[3]||(p[3]=P=>We.value=P),modelModifiers:{number:!0},type:"number",min:"40",max:"2000",density:"compact",variant:"outlined","hide-details":"",class:"description-image-width-field",label:l(S)("descriptionTab.imagePxLabel"),onChange:te},null,8,["modelValue","label"])):_e("",!0),ee.value?(_(),He(re,{key:1,size:"small",variant:"outlined",class:"description-image-edit-btn",onClick:V},{default:t(()=>[C(a(l(S)("descriptionTab.editImage")),1)]),_:1})):_e("",!0),p[15]||(p[15]=h("div",{class:"description-toolbar-spacer"},null,-1)),e(re,{class:"description-action-btn",color:"secondary",variant:"outlined",disabled:!fe.value||Qe.value||H.value||ue.value,loading:H.value,onClick:rt},{default:t(()=>[C(a(l(S)("loadOriginalDescription")),1)]),_:1},8,["disabled","loading"]),e(re,{class:"description-action-btn",color:"secondary",variant:"outlined",disabled:Qe.value||ue.value,onClick:E},{default:t(()=>[C(a(l(S)("descriptionTab.templateEdit")),1)]),_:1},8,["disabled"]),e(fo,{density:"compact",class:"description-translate-group"},{default:t(()=>[e(re,{class:"description-action-btn",color:"primary",loading:!1,disabled:Qe.value,onClick:xt},{default:t(()=>[C(a(l(S)("translateDescription"))+" ",1),Qe.value?(_(),He(ll,{key:0,indeterminate:"",size:"14",width:"2",class:"ml-1"})):_e("",!0)]),_:1},8,["disabled"]),e(go,{modelValue:Q.value,"onUpdate:modelValue":p[6]||(p[6]=P=>Q.value=P),location:"bottom"},{activator:t(({props:P})=>[e(re,Zt(P,{class:"description-action-btn description-action-btn--icon",color:"primary",disabled:Qe.value,icon:""}),{default:t(()=>[e(Xe,{icon:"mdi-menu-down"})]),_:2},1040,["disabled"])]),default:t(()=>[e(lo,{density:"compact"},{default:t(()=>[e(Dt,{onClick:p[4]||(p[4]=P=>{Q.value=!1,xt()})},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(S)("normalTranslation")),1)]),_:1})]),_:1}),e(Dt,{onClick:p[5]||(p[5]=P=>{Q.value=!1,it(!0)})},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(S)("premiumTranslation")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(re,{class:"description-action-btn",color:"secondary",variant:"outlined",loading:ue.value,disabled:Qe.value||ue.value,onClick:K},{default:t(()=>[C(a(l(S)("removeDescriptionTexts")),1)]),_:1},8,["loading","disabled"])]),h("div",{innerHTML:de.value,class:"editor-content",contenteditable:"true",ref_key:"editor",ref:g,onBlur:Ie,onClick:Je,onDblclick:Tt,onKeydown:f,onKeyup:ye,onMouseup:ye,onScroll:ct},null,40,nr),et.value?(_(),O("div",{key:0,class:"description-image-resize-handle",style:nl(gt.value),onMousedown:Nt(Kt,["prevent","stop"])},null,36)):_e("",!0)])]),_:1})]),_:1}),e(hl,{modelValue:Ue.value,"onUpdate:modelValue":p[7]||(p[7]=P=>Ue.value=P),"image-url":De.value,"prefer-tall-layout":!0,onSaved:v},null,8,["modelValue","image-url"]),e(Wt,{modelValue:x.value,"onUpdate:modelValue":p[9]||(p[9]=P=>x.value=P),persistent:"","max-width":"420"},{default:t(()=>[e(Ft,null,{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(S)("notEnoughCreditsTitle")),1)]),_:1}),e(Mt,null,{default:t(()=>[C(a(W.value||l(S)("notEnoughCreditsMessage")),1)]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"primary",variant:"text",onClick:p[8]||(p[8]=P=>x.value=!1)},{default:t(()=>[C(a(l(S)("buttons.close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(Wt,{modelValue:I.value,"onUpdate:modelValue":p[12]||(p[12]=P=>I.value=P),"max-width":"420"},{default:t(()=>[e(Ft,{onKeydown:po(Nt(kt,["prevent"]),["enter"])},{default:t(()=>[e(Lt,null,{default:t(()=>[C(a(l(S)("sourceLanguage")),1)]),_:1}),e(Mt,null,{default:t(()=>[e(Fo,{modelValue:q.value,"onUpdate:modelValue":p[10]||(p[10]=P=>q.value=P),items:mt.value,"item-title":"title","item-value":"value",label:l(S)("sourceLanguage"),density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","label"])]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{variant:"text",disabled:Qe.value,onClick:p[11]||(p[11]=P=>I.value=!1)},{default:t(()=>[C(a(l(S)("buttons.cancel")),1)]),_:1},8,["disabled"]),e(re,{color:"primary",loading:Qe.value,disabled:Qe.value,onClick:kt},{default:t(()=>[C(a(l(S)("buttons.apply")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1},8,["onKeydown"])]),_:1},8,["modelValue"]),e(tr,{modelValue:ve.value,"onUpdate:modelValue":p[13]||(p[13]=P=>ve.value=P),"template-custom":Se.value,"preview-data":at.value,"market-country-code":Ze.value,onSave:ae},null,8,["modelValue","template-custom","preview-data","market-country-code"]),e(Rl,{modelValue:Fe.value,"onUpdate:modelValue":p[14]||(p[14]=P=>Fe.value=P),title:l(S)("descriptionTab.imageInsertDialogTitle"),onInsert:Y},null,8,["modelValue","title"])],64))}}),rr=Jt(ar,[["__scopeId","data-v-910b0bfe"]]),ir={class:"listing-composer"},sr={class:"listing-composer__toolbar"},ur={class:"listing-composer__toolbar-title"},cr={class:"listing-composer__hint"},dr=["onDrop"],mr={class:"listing-composer__bucket-header"},fr={class:"listing-composer__bucket-title"},pr={class:"listing-composer__bucket-count"},gr={class:"listing-composer__chips"},vr={key:0,class:"listing-composer__empty-bucket"},hr={class:"listing-composer__bucket-header"},yr={class:"listing-composer__bucket-title"},Cr={class:"listing-composer__bucket-count"},br={class:"listing-composer__chips"},kr={key:0,class:"listing-composer__chip-code"},Sr={key:0,class:"listing-composer__empty-bucket"},_r={class:"listing-composer__bucket-header"},Ir={class:"listing-composer__bucket-title"},xr={class:"listing-composer__chips"},wr={key:0,class:"listing-composer__empty-bucket"},Pr={class:"listing-composer__footer"},Fr={key:0,class:"listing-composer__dirty"},Dr=qt({__name:"ListingStructureComposer",props:{variants:{},initialState:{},loading:{type:Boolean}},emits:["publish"],setup(ke,{emit:S}){const o=ke,g=S,{t:u}=Gt(),L=b([]),ne=b([]),D=b([]);let ue=1;function H(U){return{buckets:U.buckets.map(z=>({...z,variantIds:[...z.variantIds]})),standaloneIds:[...U.standaloneIds],excludedIds:[...U.excludedIds]}}function Q(){const U=H(o.initialState);L.value=U.buckets,ne.value=U.standaloneIds,D.value=U.excludedIds}Pt(()=>o.initialState,Q,{immediate:!0,deep:!0});const j=N(()=>{const U=new Map;for(const z of o.variants)U.set(z.id,z);return U}),I=N(()=>o.variants.length<=1);function q(U,z){if(U.excludedIds.includes(z))return"excluded";if(U.standaloneIds.includes(z))return"standalone";const fe=U.buckets.find(et=>et.variantIds.includes(z));return fe?`bucket:${fe.localId}`:"unassigned"}const ve=N(()=>({buckets:L.value,standaloneIds:ne.value,excludedIds:D.value})),Se=N(()=>{for(const U of o.variants)if(q(ve.value,U.id)!==q(o.initialState,U.id))return!0;return!1}),Fe=N(()=>{let U=0;for(const z of o.variants)q(ve.value,z.id)!==q(o.initialState,z.id)&&(U+=1);return U});function Oe(U){for(const z of L.value)z.variantIds=z.variantIds.filter(fe=>fe!==U);ne.value=ne.value.filter(z=>z!==U),D.value=D.value.filter(z=>z!==U)}function Ue(U,z){const fe=L.value.find(et=>et.localId===z);fe&&(Oe(U),fe.variantIds=[...fe.variantIds,U])}function De(U){Oe(U),ne.value=[...ne.value,U]}function Pe(U){Oe(U),D.value=[...D.value,U]}function ee(){const U={localId:`new-${ue++}`,marketProductId:null,code1:null,edited:null,variantIds:[]};return L.value=[...L.value,U],U}function We(U){const z=ee();Ue(U,z.localId)}function ze(){const U=L.value.find(z=>z.marketProductId!==null)||L.value[0]||ee();for(const z of o.variants)Oe(z.id),U.variantIds=[...U.variantIds,z.id]}function ft(){for(const U of o.variants)Oe(U.id),ne.value=[...ne.value,U.id]}const le=N(()=>L.value.filter(U=>U.variantIds.length>0||U.marketProductId!==null)),he=b(null);function J(U,z){he.value=U,z.dataTransfer&&(z.dataTransfer.effectAllowed="move",z.dataTransfer.setData("text/plain",String(U)))}function ge(U){var fe;const z=Number((fe=U.dataTransfer)==null?void 0:fe.getData("text/plain"));return Number.isInteger(z)&&z>0?z:he.value}function x(U,z){const fe=ge(z);fe!==null&&Ue(fe,U),he.value=null}function W(U){const z=ge(U);z!==null&&De(z),he.value=null}function de(U){const z=ge(U);z!==null&&Pe(z),he.value=null}function Re(U){const z=ge(U);z!==null&&We(z),he.value=null}function xe(U,z){const fe=I.value?u("listingStructure.listing"):u("listingStructure.combinedListing");return U.code1?`${fe} · ${U.code1}`:U.marketProductId?`${fe} #${U.marketProductId}`:I.value?u("listingStructure.newListing"):`${u("listingStructure.newListing")} ${z+1}`}function ot(U){return U.edited===0?{text:u("productStatus.selling"),color:"success"}:U.edited===1?{text:u("needsUpdate"),color:"warning"}:U.edited===-2?{text:u("productStatus.ready"),color:"info"}:U.edited===2?{text:u("failed"),color:"error"}:U.marketProductId===null?{text:u("listingStructure.createdOnPublish"),color:"warning"}:null}function mt(U){var z;return((z=j.value.get(U))==null?void 0:z.label)||`#${U}`}function Ze(U){return q(ve.value,U)!==q(o.initialState,U)}function me(){Q()}function Qe(){g("publish",H(ve.value))}return(U,z)=>(_(),O("div",ir,[h("div",sr,[h("span",ur,a(l(u)("listingStructure.title")),1),I.value?_e("",!0):(_(),O(Ge,{key:0},[e(re,{size:"small",variant:"tonal",density:"comfortable",onClick:ze},{default:t(()=>[C(a(l(u)("listingStructure.combineAll")),1)]),_:1}),e(re,{size:"small",variant:"tonal",density:"comfortable",onClick:ft},{default:t(()=>[C(a(l(u)("listingStructure.splitAll")),1)]),_:1})],64)),h("span",cr,a(I.value?l(u)("listingStructure.singleOptionHint"):l(u)("listingStructure.dragHint")),1)]),(_(!0),O(Ge,null,bt(le.value,(fe,et)=>{var gt;return _(),O("div",{key:fe.localId,class:"listing-composer__bucket",onDragover:z[0]||(z[0]=Nt(()=>{},["prevent"])),onDrop:at=>x(fe.localId,at)},[h("div",mr,[e(Xe,{size:"16"},{default:t(()=>z[7]||(z[7]=[C("mdi-layers-outline")])),_:1}),h("span",fr,a(xe(fe,et)),1),ot(fe)?(_(),He(oo,{key:0,size:"x-small",variant:"tonal",color:(gt=ot(fe))==null?void 0:gt.color},{default:t(()=>{var at;return[C(a((at=ot(fe))==null?void 0:at.text),1)]}),_:2},1032,["color"])):_e("",!0),h("span",pr,a(l(u)("listingStructure.optionCount",{count:fe.variantIds.length})),1)]),h("div",gr,[(_(!0),O(Ge,null,bt(fe.variantIds,at=>(_(),He(oo,{key:at,size:"small",variant:"outlined",class:io({"listing-composer__chip--changed":Ze(at)}
3),draggable:!0,onDragstart:M=>J(at,M)},{default:t(()=>[e(Xe,{start:"",size:"14"},{default:t(()=>z[8]||(z[8]=[C("mdi-drag-vertical")])),_:1}),C(" "+a(mt(at))+" ",1),e(go,{activator:"parent",location:"bottom"},{default:t(()=>[e(lo,{density:"compact"},{default:t(()=>[I.value?_e("",!0):(_(),O(Ge,{key:0},[(_(!0),O(Ge,null,bt(le.value,(M,E)=>(_(),He(Dt,{key:M.localId,disabled:M.localId===fe.localId,onClick:ae=>Ue(at,M.localId)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:xe(M,E)})),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128)),e(Dt,{onClick:M=>We(at)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:l(u)("listingStructure.newListing")})),1)]),_:1})]),_:2},1032,["onClick"]),e(Dt,{onClick:M=>De(at)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:l(u)("listingStructure.standaloneListings")})),1)]),_:1})]),_:2},1032,["onClick"])],64)),e(Dt,{onClick:M=>Pe(at)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:l(u)("listingStructure.excludedOptions")})),1)]),_:1})]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onDragstart"]))),128)),fe.variantIds.length?_e("",!0):(_(),O("span",vr,a(l(u)("listingStructure.emptyListingHint")),1))])],40,dr)}),128)),!I.value||ne.value.length>0?(_(),O("div",{key:0,class:"listing-composer__bucket listing-composer__bucket--standalone",onDragover:z[1]||(z[1]=Nt(()=>{},["prevent"])),onDrop:z[2]||(z[2]=fe=>W(fe))},[h("div",hr,[e(Xe,{size:"16"},{default:t(()=>z[9]||(z[9]=[C("mdi-view-list-outline")])),_:1}),h("span",yr,a(l(u)("listingStructure.standaloneListings")),1),h("span",Cr,a(l(u)("listingStructure.listingCount",{count:ne.value.length})),1)]),h("div",br,[(_(!0),O(Ge,null,bt(ne.value,fe=>(_(),He(oo,{key:fe,size:"small",variant:"outlined",class:io({"listing-composer__chip--changed":Ze(fe)}),draggable:!0,onDragstart:et=>J(fe,et)},{default:t(()=>{var et,gt;return[e(Xe,{start:"",size:"14"},{default:t(()=>z[10]||(z[10]=[C("mdi-drag-vertical")])),_:1}),C(" "+a(mt(fe))+" ",1),(et=j.value.get(fe))!=null&&et.publishedCode?(_(),O("span",kr,a((gt=j.value.get(fe))==null?void 0:gt.publishedCode),1)):_e("",!0),e(go,{activator:"parent",location:"bottom"},{default:t(()=>[e(lo,{density:"compact"},{default:t(()=>[I.value?_e("",!0):(_(),O(Ge,{key:0},[(_(!0),O(Ge,null,bt(le.value,(at,M)=>(_(),He(Dt,{key:at.localId,onClick:E=>Ue(fe,at.localId)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:xe(at,M)})),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),e(Dt,{onClick:at=>We(fe)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:l(u)("listingStructure.newListing")})),1)]),_:1})]),_:2},1032,["onClick"])],64)),e(Dt,{onClick:at=>Pe(fe)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:l(u)("listingStructure.excludedOptions")})),1)]),_:1})]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]}),_:2},1032,["class","onDragstart"]))),128)),ne.value.length?_e("",!0):(_(),O("span",Sr,a(l(u)("listingStructure.standaloneHint")),1))])],32)):_e("",!0),I.value?_e("",!0):(_(),O("div",{key:1,class:"listing-composer__bucket listing-composer__bucket--drop",onDragover:z[3]||(z[3]=Nt(()=>{},["prevent"])),onDrop:z[4]||(z[4]=fe=>Re(fe))},[e(Xe,{size:"15"},{default:t(()=>z[11]||(z[11]=[C("mdi-plus")])),_:1}),C(" "+a(l(u)("listingStructure.newListingDropHint")),1)],32)),!I.value||D.value.length>0?(_(),O("div",{key:2,class:"listing-composer__bucket listing-composer__bucket--excluded",onDragover:z[5]||(z[5]=Nt(()=>{},["prevent"])),onDrop:z[6]||(z[6]=fe=>de(fe))},[h("div",_r,[e(Xe,{size:"16"},{default:t(()=>z[12]||(z[12]=[C("mdi-eye-off-outline")])),_:1}),h("span",Ir,a(l(u)("listingStructure.excludedOptions")),1)]),h("div",xr,[(_(!0),O(Ge,null,bt(D.value,fe=>(_(),He(oo,{key:fe,size:"small",variant:"outlined",class:io({"listing-composer__chip--changed":Ze(fe)}),draggable:!0,onDragstart:et=>J(fe,et)},{default:t(()=>[e(Xe,{start:"",size:"14"},{default:t(()=>z[13]||(z[13]=[C("mdi-drag-vertical")])),_:1}),C(" "+a(mt(fe))+" ",1),e(go,{activator:"parent",location:"bottom"},{default:t(()=>[e(lo,{density:"compact"},{default:t(()=>[(_(!0),O(Ge,null,bt(le.value,(et,gt)=>(_(),He(Dt,{key:et.localId,onClick:at=>Ue(fe,et.localId)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:xe(et,gt)})),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),e(Dt,{onClick:et=>De(fe)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(u)("listingStructure.moveTo",{target:l(u)("listingStructure.standaloneListings")})),1)]),_:1})]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onDragstart"]))),128)),D.value.length?_e("",!0):(_(),O("span",wr,a(l(u)("listingStructure.excludedHint")),1))])],32)):_e("",!0),h("div",Pr,[Se.value?(_(),O("span",Fr,[e(Xe,{size:"15",color:"warning"},{default:t(()=>z[14]||(z[14]=[C("mdi-alert-outline")])),_:1}),C(" "+a(l(u)("listingStructure.unpublishedChanges",{count:Fe.value})),1)])):_e("",!0),e(Ht),e(re,{size:"small",variant:"text",disabled:!Se.value||U.loading,onClick:me},{default:t(()=>[C(a(l(u)("listingStructure.revert")),1)]),_:1},8,["disabled"]),e(re,{size:"small",color:"primary",loading:U.loading,disabled:!Se.value&&U.initialState.buckets.length+U.initialState.standaloneIds.length>0,onClick:Qe},{default:t(()=>[C(a(l(u)("listingStructure.publishChanges")),1)]),_:1},8,["loading","disabled"])])]))}}),$r=Jt(Dr,[["__scopeId","data-v-f4101409"]]),Mr={class:"d-flex ga-2"},Vr={class:"upload-alert__header"},Nr={class:"upload-alert__title"},Tr={key:0,class:"upload-alert__details"},Ur={class:"upload-alert__details-title"},Ar={class:"upload-alert__grid"},Er={class:"upload-alert__item-title"},Rr={class:"upload-alert__item-message"},Lr={key:0,class:"upload-alert__item-missing"},zr={class:"upload-row-title"},Br={key:0,class:"text-caption text-medium-emphasis"},Or={key:2,class:"upload-row-product-id text-caption"},Hr=["href"],Kr={key:3,class:"upload-row-product-id text-caption"},jr={class:"user-select-all"},Wr={key:0,class:"upload-row-composer"},qr={key:0,class:"structure-confirm-dialog__list"},Qr={class:"structure-confirm-dialog__sub"},Gr={class:"structure-confirm-dialog__sub"},Xr={key:0,class:"structure-confirm-dialog__item"},Jr={key:0,class:"upload-error-dialog__summary"},Yr={key:1,class:"upload-error-dialog__list"},Zr={class:"upload-error-dialog__content"},ei={class:"upload-error-dialog__market"},ti={class:"upload-error-dialog__message"},oi={key:0,class:"upload-error-dialog__missing"},li={key:2,class:"upload-error-dialog__message"},ni=qt({__name:"UploadManagementTab",props:{saveItem:{type:Function},selectedCountryCode:{},focusShopId:{}},setup(ke){const S=ke,{t:o}=Gt(),g=Do(),u=no(),L=b([]);b([]);const ne=b(!1),D=b(null),ue=b([]),H=b(null),Q=b(!1),j=b(null),I=b(null),q=b(null),ve=b(!1),Se=b("info"),Fe=b(""),Oe=b([]),Ue=b(!1),De=b(""),Pe=b(""),ee=b([]),We=b(null),ze=N(()=>jl(L.value,S.selectedCountryCode).sort((d,v)=>d.marketCode===v.marketCode?ot(d).localeCompare(ot(v)):d.marketCode.localeCompare(v.marketCode))),ft=N(()=>fl(L.value,S.selectedCountryCode)),le=N(()=>Oe.value.filter(f=>!f.success)),he=N(()=>{var f;return Pe.value?ee.value.length!==1?!0:Pe.value!==((f=ee.value[0])==null?void 0:f.message):!1});
3function J(f){return{COUP:o("Coupang"),SMST:o("SmartStore"),RAKU:o("Rakuten"),QOO1:o("Qoo10"),QOO10:o("Qoo10")}[f]||f}function ge(f){const d=L.value.find(X=>X.id===f.shopId);if(!d)return J(f.marketCode);const v=J(d.marketCode),K=ot(d);return K?`${v} ${K}`:v}function x(f){return gl(f,o("uploadRequestFailed"),d=>ao(d,o))}function W(f){return vl(f,o("Missing required fields"))}function de(f){var v;const d=((v=f==null?void 0:f.response)==null?void 0:v.data)||f;if(d&&typeof d=="object"&&!Array.isArray(d)){const K=d.error;return K&&typeof K=="object"&&!Array.isArray(K)?{...d,...K,error:K}:K!=null?{...d,message:String(d.message||K),error:K}:d}return d}function Re(f,d,v){return f.map(K=>{const X=L.value.find(ie=>Number(ie.id)===Number(K));return{...v&&typeof v=="object"?v:{},shopId:K,marketCode:String((X==null?void 0:X.marketCode)||"").toUpperCase(),success:!1,uploadedCount:0,error:d}})}function xe(f){return Wl(Yo(f))}function ot(f){return pl(f)}function mt(){Ue.value=!1,De.value="",Pe.value="",ee.value=[],We.value=null}function Ze(){Ue.value=!1}async function me(){const f=We.value;if(f){We.value=null;try{await u.fetchItem(f)}catch(d){console.error(d)}}}function Qe(f,d=[],v){De.value=o("uploadRequestFailed"),Pe.value=f,ee.value=d,We.value=v||null,Ue.value=!0}function U(f,d,v){const K=jo(f,ge,x);K.length&&Qe(d,K,v)}function z(f){const d=Number(f);return Number.isFinite(d)&&d>0?d:null}function fe(f){var d;return z(((d=f==null?void 0:f.shop)==null?void 0:d.id)??(f==null?void 0:f.shopId))}function et(f){var v;const d=(v=u.apiData)==null?void 0:v.marketProducts;return Array.isArray(d)?d.filter(K=>fe(K)===Number(f)):[]}function gt(f){return f==null?null:String(f).trim()||null}function at(f){if(!f||typeof f!="object")return null;const d=f.marketItemId,v=f.code3;return gt(d??v)}function M(f){var K;const d=gt(f);if(!d)return null;const v=(K=u.apiData)==null?void 0:K.marketVariants;if(!Array.isArray(v))return null;for(const X of v){if(gt(X==null?void 0:X.marketProductId)!==d)continue;const ie=at(X);if(ie)return ie}return null}function E(f){var X;if(!f)return"";const d=(X=gt(f==null?void 0:f.marketCode))==null?void 0:X.toUpperCase(),v=gt(f==null?void 0:f.code1),K=d==="COUP"?M(f==null?void 0:f.id):null;return d==="COUP"?K??v??"":v??""}function ae(f,d){var ie;if(!d)return null;const v=(ie=gt(d==null?void 0:d.marketCode))==null?void 0:ie.toUpperCase(),K=gt(d==null?void 0:d.code1),X=v==="COUP"?M(d==null?void 0:d.id):null;return v==="COUP"&&!X?null:Ko({marketCode:v,code1:K,code3:X,shopHandle:$(f,d==null?void 0:d.shop),shopNick:B(f,d==null?void 0:d.shop)})}function ce(f,d){let v=0;return ae(f,d)&&(v+=100),E(d)&&(v+=25),Number(d==null?void 0:d.edited)===0&&(v+=10),Number(d==null?void 0:d.edited)===-2&&(v+=5),v}function Le(f){const d=et(f);return d.length?[...d].sort((v,K)=>ce(f,K)-ce(f,v))[0]:null}function tt(f,d){var v;return String(d||((v=L.value.find(K=>K.id===f))==null?void 0:v.marketCode)||"").toUpperCase()}function lt(f){const d=Le(f),v=E(d);if(v)return v;const K=Be(f);return K?tt(f,K.marketCode)==="COUP"?K.code3??K.code1??"":K.code1??"":""}function vt(f){if(!f||typeof f!="object")return null;const d=f,v=[d.shopHandle,d.shopCode];for(const K of v)if(typeof K=="string"&&K.trim().length>0)return K.trim();return null}function ut(f){if(!f||typeof f!="object")return null;const d=f;if(typeof d.nick!="string")return null;const v=d.nick.trim();return v.length>0?v:null}function $(f,d){const v=vt(d);if(v)return v;const K=L.value.find(X=>X.id===f);return vt(K)}function B(f,d){const v=ut(d);if(v)return v;const K=L.value.find(X=>X.id===f);return ut(K)}function ye(f){const d=Le(f),v=ae(f,d);if(v)return v;const K=Be(f);if(!K)return null;const X=tt(f,K.marketCode);return X==="COUP"&&!K.code3||!K.code1&&!K.code3?null:Ko({marketCode:X,code1:K.code1,code3:K.code3,shopHandle:$(f,null),shopNick:B(f,null)})}function Be(f){const{assignments:d,marketProducts:v}=y(f),X=v.filter(s=>Number(s==null?void 0:s.id)>0&&(s==null?void 0:s.code1)).sort((s,p)=>+((p==null?void 0:p.edited)===0)-+((s==null?void 0:s.edited)===0))[0]||null,ie=d.find(s=>(s==null?void 0:s.code3)||(s==null?void 0:s.code1))||null;
3return!X&&!ie?null:{code1:(X==null?void 0:X.code1)||(ie==null?void 0:ie.code1)||null,code3:(ie==null?void 0:ie.code3)||null,edited:(X==null?void 0:X.edited)??null,marketCode:(X==null?void 0:X.marketCode)||null}}function ct(f){return f==null?null:f===0?{text:o("productStatus.selling"),color:"success"}:f===1?{text:o("needsUpdate"),color:"warning"}:f===-2?{text:o("productStatus.ready"),color:"info"}:f===2?{text:o("failed"),color:"error"}:{text:o("unknown"),color:"grey"}}function ht(f){const d=Le(f),v=ct(d==null?void 0:d.edited);if(v)return v;const K=Be(f);return K&&(K.code1||K.code3)?ct(K.edited)??{text:o("unknown"),color:"grey"}:{text:o("unregistered"),color:"grey"}}async function dt(){ne.value=!0;try{const{data:f}=await $t.get("/user/shops");L.value=Array.isArray(f==null?void 0:f.shops)?f.shops:[]}catch(f){console.error(f),Se.value="error",Fe.value=ao(f,o),ve.value=!0}finally{ne.value=!1}}async function Kt(){const f=Number(g.params.id);if(!(!Number.isFinite(f)||f<=0))try{const{data:d}=await $t.get(`/product/listing-structure/${f}`);D.value={assignments:Array.isArray(d==null?void 0:d.assignments)?d.assignments:[],marketProducts:Array.isArray(d==null?void 0:d.marketProducts)?d.marketProducts:[],structures:Array.isArray(d==null?void 0:d.structures)?d.structures:[]}}catch(d){console.error("Failed to load listing structure",d)}}const w=N(()=>{var X,ie;const f=u.apiData,d=Array.isArray((X=f==null?void 0:f.customProduct)==null?void 0:X.custom_variants)?f.customProduct.custom_variants:[],v=Array.isArray(f==null?void 0:f.supplierVariantAttributes)?f.supplierVariantAttributes.filter(s=>(s==null?void 0:s.type)==="sku"):[],K=((ie=f==null?void 0:f.customProduct)==null?void 0:ie.marketCountryCode)||null;return d.map(s=>{const p=Number(s==null?void 0:s.id);if(!Number.isFinite(p)||p<=0)return null;const P=Ho(v,s,K)||ul(s)||(s!=null&&s.uid?String(s.uid):`#${p}`);return{id:p,label:P,isSelling:Number((s==null?void 0:s.isSelling)??1)!==0,publishedCode:null}}).filter(s=>s!==null)});function y(f){var X,ie,s;const d=(((X=D.value)==null?void 0:X.assignments)||[]).filter(p=>Number(p==null?void 0:p.shopId)===Number(f)),v=(((ie=D.value)==null?void 0:ie.marketProducts)||[]).filter(p=>Number(p==null?void 0:p.shopId)===Number(f)),K=(((s=D.value)==null?void 0:s.structures)||[]).filter(p=>Number(p==null?void 0:p.shopId)===Number(f));return{assignments:d,marketProducts:v,savedEntries:K}}function G(f){const{assignments:d,marketProducts:v,savedEntries:K}=y(f),X=new Map;for(const se of d){const Ne=Number(se==null?void 0:se.customVariantId);Number.isFinite(Ne)&&Ne>0&&X.set(Ne,se)}const ie=new Map;for(const se of K){const Ne=Number(se==null?void 0:se.customVariantId);Number.isFinite(Ne)&&Ne>0&&ie.set(Ne,se)}const s=new Map;for(const se of v){const Ne=Number(se==null?void 0:se.id);Number.isFinite(Ne)&&Ne>0&&s.set(Ne,se)}const p=[],P=new Map,A=[],we=[],Z=(se,Ne)=>{let St=P.get(se);return St||(St={localId:se,marketProductId:(Ne==null?void 0:Ne.id)??null,code1:(Ne==null?void 0:Ne.code1)??null,edited:(Ne==null?void 0:Ne.edited)??null,variantIds:[]},P.set(se,St),p.push(St)),St},Ve=se=>v.find(Ne=>((Ne==null?void 0:Ne.groupKey)??null)===se&&(Ne==null?void 0:Ne.groupKey)!=="solo")||null,Ke=[];for(const se of w.value){const Ne=X.get(se.id)||null,St=Ne?Ne.code3||Ne.code1:null;if(Ke.push({...se,publishedCode:St}),Ne){const wt=Number(Ne.marketProductId),i=Number.isFinite(wt)&&wt>0&&s.get(wt)||null;if(!i||i.groupKey==="solo"){A.push(se.id);continue}Z(`mp-${i.id}`,i).variantIds.push(se.id);continue}const pt=ie.get(se.id)||null;if(pt!=null&&pt.isExcluded){we.push(se.id);continue}if((pt==null?void 0:pt.groupKey)==="solo"){A.push(se.id);continue}if(!pt&&!se.isSelling){we.push(se.id);continue}const st=(pt==null?void 0:pt.groupKey)??null,_t=Ve(st);Z(_t?`mp-${_t.id}`:`g-${st??"primary"}`,_t).variantIds.push(se.id)}return{variants:Ke,initialState:{buckets:p,standaloneIds:A,excludedIds:we}}}const Me=N(()=>w.value.length<=1),Y=N(()=>{const f=new Map;if(!D.value)return f;for(const d of ze.value)f.set(d.id,G(d.id));return f});function te(f){if(Me.value)return null;const{assignments:d,marketProducts:v}=y(f),K=d.filter(p=>Number(p==null?void 0:p.marketProductId)>0);if(!K.length)return null;const X=new Map;for(const p of v)Number(p==null?void 0:p.id)>0&&X.set(Number(p.id),p);let ie=0;const s=new Map;for(const p of K){const P=X.get(Number(p.marketProductId));if(!P||P.groupKey==="solo"){ie+=1;continue}s.set(Number(P.id),(s.get(Number(P.id))||0)+1)}if(s.size===1&&ie===0){const p=Array.from(s.values())[0];return{text:o("listingStructure.badge.combined",{count:p}),icon:"mdi-layers-outline"}}return s.size===0&&ie>
30?{text:o("listingStructure.badge.standalone",{count:ie}),icon:"mdi-view-list-outline"}:{text:o("listingStructure.badge.mixed",{count:s.size+ie}),icon:"mdi-shape-outline"}}function V(f){ue.value.includes(f)?ue.value=ue.value.filter(d=>d!==f):ue.value=[...ue.value,f]}function Ie(f,d){const v=Y.value.get(f)||G(f),K=v.variants.filter(s=>s.isSelling||s.publishedCode).map(s=>s.id),X=v.variants.filter(s=>!K.includes(s.id)).map(s=>s.id);if(d==="standalone")return{buckets:[],standaloneIds:K,excludedIds:X};const ie=v.initialState.buckets.find(s=>s.marketProductId!==null)||null;return{buckets:[{localId:ie?ie.localId:"preset-combined",marketProductId:(ie==null?void 0:ie.marketProductId)??null,code1:(ie==null?void 0:ie.code1)??null,edited:(ie==null?void 0:ie.edited)??null,variantIds:K}],standaloneIds:[],excludedIds:X}}function nt(f,d){const v=Y.value.get(f)||G(f),{marketProducts:K}=y(f),X=(Z,Ve)=>{if(Z.excludedIds.includes(Ve))return"excluded";if(Z.standaloneIds.includes(Ve))return"standalone";const Ke=Z.buckets.find(se=>se.variantIds.includes(Ve));return Ke?`bucket:${Ke.localId}`:"unassigned"},ie=Z=>{if(d.excludedIds.includes(Z))return o("listingStructure.excludedOptions");if(d.standaloneIds.includes(Z))return o("listingStructure.standaloneListings");const Ve=d.buckets.find(Ke=>Ke.variantIds.includes(Z));return Ve!=null&&Ve.code1?`${o("listingStructure.combinedListing")} · ${Ve.code1}`:o("listingStructure.newListing")},s=[],p=[];for(const Z of v.variants){if(!Z.publishedCode)continue;const Ve=X(v.initialState,Z.id),Ke=X(d,Z.id);Ve!==Ke&&(Ke==="excluded"?p.push({variantId:Z.id,label:Z.label,fromCode:Z.publishedCode}):s.push({variantId:Z.id,label:Z.label,fromCode:Z.publishedCode,toLabel:ie(Z.id)}))}const P=[];for(const Z of K){const Ve=Number(Z==null?void 0:Z.id);if(!Number.isFinite(Ve)||Ve<=0)continue;const Ke=v.initialState.buckets.find(st=>st.marketProductId===Ve),se=Z.groupKey==="solo"?v.variants.filter(st=>{const _t=y(f).assignments.find(wt=>Number(wt==null?void 0:wt.customVariantId)===st.id);return Number(_t==null?void 0:_t.marketProductId)===Ve}).map(st=>st.id):(Ke==null?void 0:Ke.variantIds)||[];if(!se.length)continue;const Ne=d.buckets.find(st=>st.marketProductId===Ve),St=Z.groupKey==="solo"?se.filter(st=>d.standaloneIds.includes(st)):(Ne==null?void 0:Ne.variantIds.length)||0;(Array.isArray(St)?St.length:St)===0&&Z.code1&&P.push({marketProductId:Ve,code:Z.code1})}const A=new Set(v.initialState.buckets.filter(Z=>Z.marketProductId===null).map(Z=>Z.localId)),we=d.buckets.filter(Z=>Z.marketProductId===null&&Z.variantIds.length>0&&!A.has(Z.localId)).length+d.standaloneIds.filter(Z=>!v.initialState.standaloneIds.includes(Z)).length;return{moved:s,removed:p,deletedListings:P,newListingCount:we,hasDestructiveChanges:s.length>0||p.length>0||P.length>0}}function rt(f,d){const v=nt(f,d);if(v.hasDestructiveChanges){j.value=f,I.value=v,q.value=d,Q.value=!0;return}it(f,d)}function xt(){const f=j.value,d=q.value;Q.value=!1,!(f===null||!d)&&it(f,d)}function kt(){Q.value=!1,j.value=null,I.value=null,q.value=null}async function it(f,d){var K;const v=Number(g.params.id);if(!(!Number.isFinite(v)||v<=0)){ne.value=!0,H.value=f,ve.value=!1,Oe.value=[],mt();try{if(!await S.saveItem(!1,{silent:!0})){Se.value="error",Fe.value=o("saveFailed"),ve.value=!0,Qe(Fe.value);return}const ie=[...d.buckets.filter(A=>A.variantIds.length>0).map(A=>({customVariantIds:A.variantIds,marketProductId:A.marketProductId})),...d.standaloneIds.length?[{customVariantIds:d.standaloneIds,standalone:!0}]:[]],{data:s}=await $t.post(`/product/listing-structure/${v}`,{shopId:f,groups:ie,excludedCustomVariantIds:d.excludedIds,publish:!0}),p=Array.isArray(s==null?void 0:s.results)?s.results:[],P=p.filter(A=>!A.success);Oe.value=p,P.length?(Se.value="error",Fe.value=P.length===p.length?o("uploadRequestFailed"):o("someItemsFailedToUpload"),ve.value=!0,U(P,Fe.value,v)):(Se.value="success",Fe.value=o("listingStructure.publishSuccess"),ve.value=!0),await u.fetchItem(v),await Kt()}catch(X){console.error(X);const ie=de(X);Se.value="error",Fe.value=ie?x(ie):ao(X,o),ve.value=!0,U(Re([f],ie,(K=X==null?void 0:X.response)==null?void 0:K.data),Fe.value)}finally{ne.value=!1,H.value=null,kt()}}}function Je(f,d){rt(f,Ie(f,d))}async function Tt(f){var K;const d=Number(g.params.id),v=f.map(X=>Number(X)).filter(X=>Number.isFinite(X)&&X>0);if(!v.length){Se.value="info",Fe.value=o("Please select at least one marketplace."),ve.value=!0;return}ne.value=!0,ve.value=!1,Oe.value=[],mt();try{if(!await S.saveItem(!1,{silent:!0})){Se.value="error",Fe.value=o("saveFailed"),ve.value=!0,Qe(Fe.value);return}const{data:ie}=await $t.post(`/product/upload-by-shops/${d}`,{shopIds:v});if((ie==null?void 0:ie.success)===!1){const A=de(ie);Se.value="error",Fe.value=x(A),ve.value=!0,U(Re(v,A,ie),Fe.value);return}const s=Array.isArray(ie==null?void 0:ie.results)?ie.results:[],p=s.filter(A=>!A.success);Oe.value=s;let P=!0;p.length?(Se.value="error",p.length===1&&s.length===1?Fe.value=x(Yo(p[0])):Fe.value=p.length===s.length?o("uploadRequestFailed"):o("someItemsFailedToUpload"),P=!1,U(p,Fe.value,d)):(Se.value="success",Fe.value=o("allItemsUploadedSuccessfully")),ve.value=!0,P&&await u.fetchItem(d),await Kt()}catch(X){console.error(X);const ie=de(X);Se.value="error",Fe.value=ie?x(ie):ao(X,o),ve.value=!0,U(Re(v,ie,(K=X==null?void 0:X.response)==null?void 0:K.data),Fe.value)}finally{ne.value=!1}}return $o(async()=>{await Promise.all([dt(),Kt()])}),Pt(()=>S.focusShopId,f=>{const d=Number(f);!Number.isFinite(d)||d<=0||ue.value.includes(d)||(ue.value=[...ue.value,d])},{immediate:!0}),Pt(Ue,f=>{f||me()}),(f,d)=>(_(),O(Ge,null,[e(Ft,{variant:"outlined",class:"upload-management-card"},{default:t(()=>[e(Lt,{class:"d-flex align-center justify-space-between"},{default:t(()=>
3[h("div",null,a(l(o)("Upload Management")),1),h("div",Mr,[e(re,{variant:"text",disabled:ne.value,onClick:dt},{default:t(()=>[C(a(l(o)("Refresh")),1)]),_:1},8,["disabled"]),e(re,{color:"primary",loading:ne.value||l(u).loading,onClick:d[0]||(d[0]=v=>Tt(ft.value))},{default:t(()=>[C(a(l(o)("Upload Selected")),1)]),_:1},8,["loading"])])]),_:1}),e(Mt,null,{default:t(()=>[ve.value?(_(),He(Xt,{key:0,type:Se.value,variant:"tonal",class:io(["mb-4 upload-alert",`upload-alert--${Se.value}`]),closable:"",icon:!1},{default:t(()=>[h("div",Vr,[e(Xe,{size:"20",class:"upload-alert__icon"},{default:t(()=>[C(a(Se.value==="success"?"mdi-check-circle-outline":"mdi-alert-circle-outline"),1)]),_:1}),h("div",Nr,a(Fe.value),1)]),Se.value==="error"&&le.value.length?(_(),O("div",Tr,[h("div",Ur,a(l(o)("errorDetails")),1),h("div",Ar,[(_(!0),O(Ge,null,bt(le.value,v=>(_(),O("div",{key:v.shopId,class:"upload-alert__item"},[e(ro,{size:"28",class:"upload-alert__item-icon"},{default:t(()=>[e(zt,{src:l(Co)(v.marketCode),alt:v.marketCode||"market"},null,8,["src","alt"])]),_:2},1024),h("div",null,[h("div",Er,a(ge(v)),1),h("div",Rr,a(x(v.error)),1),xe(v).length?(_(),O("div",Lr,a(W(xe(v))),1)):_e("",!0)])]))),128))])])):_e("",!0)]),_:1},8,["type","class"])):_e("",!0),ne.value?(_(),He(Jl,{key:1,type:"list-item-two-line@6"})):ze.value.length===0?(_(),He(Xt,{key:2,type:"info",variant:"tonal",class:"mb-0"},{default:t(()=>[C(a(S.selectedCountryCode?"ì íí êµê°ì ì°ê²°ë ë§ì¼ì´ ììµëë¤.":"íìí ë§ì¼ì´ ììµëë¤."),1)]),_:1})):(_(),He(lo,{key:3,lines:"two"},{default:t(()=>[(_(!0),O(Ge,null,bt(ze.value,v=>(_(),O(Ge,{key:v.id},[e(Dt,{class:"py-2"},{prepend:t(()=>[e(re,{class:"upload-row-prepend-action",variant:"text",color:"primary",size:"small",rounded:"pill","prepend-icon":"mdi-upload","append-icon":Me.value?void 0:"mdi-menu-down",loading:(ne.value||l(u).loading)&&H.value===v.id,onClick:K=>Me.value?Tt([v.id]):void 0},{default:t(()=>[C(a(lt(v.id)?l(o)("listingStructure.updateMenu"):l(o)("listingStructure.publishMenu"))+" ",1),Me.value?_e("",!0):(_(),He(go,{key:0,activator:"parent",location:"bottom start"},{default:t(()=>[e(lo,{density:"compact","min-width":"280"},{default:t(()=>[e(Dt,{"prepend-icon":"mdi-upload",onClick:K=>Tt([v.id])},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("listingStructure.uploadNow")),1)]),_:1}),e(ko,null,{default:t(()=>[C(a(l(o)("listingStructure.uploadNowHint")),1)]),_:1})]),_:2},1032,["onClick"]),e(Po,{class:"my-1"}),Me.value?_e("",!0):(_(),O(Ge,{key:0},[e(Dt,{"prepend-icon":"mdi-layers-outline",onClick:K=>Je(v.id,"combined")},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("listingStructure.publishCombined")),1)]),_:1}),e(ko,null,{default:t(()=>[C(a(l(o)("listingStructure.publishCombinedHint")),1)]),_:1})]),_:2},1032,["onClick"]),e(Dt,{"prepend-icon":"mdi-view-list-outline",onClick:K=>Je(v.id,"standalone")},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("listingStructure.publishStandalone")),1)]),_:1}),e(ko,null,{default:t(()=>[C(a(l(o)("listingStructure.publishStandaloneHint")),1)]),_:1})]),_:2},1032,["onClick"]),e(Po,{class:"my-1"})],64)),e(Dt,{"prepend-icon":"mdi-tune-variant",onClick:K=>!ue.value.includes(v.id)&&V(v.id)},{default:t(()=>[e(Vt,null,{default:t(()=>[C(a(l(o)("listingStructure.arrangeOptions")),1)]),_:1}),e(ko,null,{default:t(()=>[C(a(l(o)("listingStructure.arrangeOptionsHint")),1)]),_:1})]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024))]),_:2},1032,["append-icon","loading","onClick"])]),default:t(()=>[e(Vt,{class:"upload-row-header"},{default:t(()=>{var K;return[h("div",zr,[e(ro,{size:"30",class:"mr-1"},{default:t(()=>[e(zt,{src:l(Co)(v.marketCode),alt:v.marketCode||"market"},null,8,["src","alt"])]),_:2},1024),h("span",null,a(J(v.marketCode)),1),ot(v)?(_(),O("span",Br,a(ot(v)),1)):_e("",!0),e(oo,{size:"small",variant:"tonal",color:ht(v.id).color},{default:t(()=>[C(a(ht(v.id).text),1)]),_:2},1032,["color"]),te(v.id)?(_(),He(oo,{key:1,size:"small",variant:"outlined",class:"upload-row-structure-chip","prepend-icon":(K=te(v.id))==null?void 0:K.icon,onClick:X=>V(v.id)},{default:t(()=>{var X;return[C(a((X=te(v.id))==null?void 0:X.text),1)]}),_:2}
3,1032,["prepend-icon","onClick"])):_e("",!0),ye(v.id)?(_(),O("span",Or,[C(a(l(o)("Product ID"))+" : ",1),h("a",{href:ye(v.id)||void 0,target:"_blank",rel:"noopener noreferrer",class:"upload-product-link user-select-all"},a(lt(v.id)),9,Hr)])):lt(v.id)?(_(),O("span",Kr,[C(a(l(o)("Product ID"))+" : ",1),h("span",jr,a(lt(v.id)),1)])):_e("",!0),Me.value?_e("",!0):(_(),He(re,{key:4,icon:"",size:"x-small",variant:"text",class:"upload-row-expand-btn","aria-label":l(o)("listingStructure.arrangeOptions"),onClick:X=>V(v.id)},{default:t(()=>[e(Xe,{size:"18"},{default:t(()=>[C(a(ue.value.includes(v.id)?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024)]),_:2},1032,["aria-label","onClick"]))])]}),_:2},1024),e(ko,{class:"upload-row-meta mt-1"})]),_:2},1024),e(Yl,null,{default:t(()=>{var K,X;return[ue.value.includes(v.id)&&!Me.value?(_(),O("div",Wr,[e($r,{variants:((K=Y.value.get(v.id))==null?void 0:K.variants)||[],"initial-state":((X=Y.value.get(v.id))==null?void 0:X.initialState)||{buckets:[],standaloneIds:[],excludedIds:[]},loading:ne.value&&H.value===v.id,onPublish:ie=>rt(v.id,ie)},null,8,["variants","initial-state","loading","onPublish"])])):_e("",!0)]}),_:2},1024)],64))),128))]),_:1}))]),_:1})]),_:1}),e(Wt,{modelValue:Q.value,"onUpdate:modelValue":d[1]||(d[1]=v=>Q.value=v),"max-width":"560",persistent:""},{default:t(()=>[e(Ft,{class:"structure-confirm-dialog"},{default:t(()=>[e(Lt,{class:"structure-confirm-dialog__title"},{default:t(()=>[e(Xe,{color:"warning",size:"22"},{default:t(()=>d[3]||(d[3]=[C("mdi-alert-outline")])),_:1}),h("span",null,a(l(o)("listingStructure.confirmTitle")),1)]),_:1}),e(Mt,null,{default:t(()=>[I.value?(_(),O("div",qr,[(_(!0),O(Ge,null,bt(I.value.moved,v=>(_(),O("div",{key:`moved-${v.variantId}`,class:"structure-confirm-dialog__item"},[e(Xe,{size:"17",color:"error"},{default:t(()=>d[4]||(d[4]=[C("mdi-minus-circle-outline")])),_:1}),h("span",null,[h("strong",null,a(v.label),1),C(" â "+a(l(o)("listingStructure.confirmRemovedFrom",{code:v.fromCode||""}))+" ",1),d[5]||(d[5]=h("br",null,null,-1)),h("span",Qr,a(l(o)("listingStructure.confirmMovedTo",{target:v.toLabel})),1)])]))),128)),(_(!0),O(Ge,null,bt(I.value.removed,v=>(_(),O("div",{key:`removed-${v.variantId}`,class:"structure-confirm-dialog__item"},[e(Xe,{size:"17",color:"error"},{default:t(()=>d[6]||(d[6]=[C("mdi-minus-circle-outline")])),_:1}),h("span",null,[h("strong",null,a(v.label),1),C(" â "+a(l(o)("listingStructure.confirmRemovedFrom",{code:v.fromCode||""}))+" ",1),d[7]||(d[7]=h("br",null,null,-1)),h("span",Gr,a(l(o)("listingStructure.confirmExcluded")),1)])]))),128)),(_(!0),O(Ge,null,bt(I.value.deletedListings,v=>(_(),O("div",{key:`deleted-${v.marketProductId}`,class:"structure-confirm-dialog__item"},[e(Xe,{size:"17",color:"error"},{default:t(()=>d[8]||(d[8]=[C("mdi-delete-outline")])),_:1}),h("span",null,a(l(o)("listingStructure.confirmDeleteListing",{code:v.code||`#${v.marketProductId}`})),1)]))),128)),I.value.newListingCount>0?(_(),O("div",Xr,[e(Xe,{size:"17",color:"success"},{default:t(()=>d[9]||(d[9]=[C("mdi-plus-circle-outline")])),_:1}),h("span",null,a(l(o)("listingStructure.confirmNewListings",{count:I.value.newListingCount})),1)])):_e("",!0)])):_e("",!0),e(Xt,{type:"warning",variant:"tonal",density:"compact",class:"mt-3 structure-confirm-dialog__warning"},{default:t(()=>[C(a(l(o)("listingStructure.confirmWarning")),1)]),_:1})]),_:1}),e(jt,{class:"justify-end"},{default:t(()=>[e(re,{variant:"text",onClick:kt},{default:t(()=>[C(a(l(o)("buttons.cancel")),1)]),_:1}),e(re,{color:"error",variant:"flat",loading:ne.value,onClick:xt},{default:t(()=>[C(a(l(o)("listingStructure.confirmPublish")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),e(Wt,{modelValue:Ue.value,"onUpdate:modelValue":d[2]||(d[2]=v=>Ue.value=v),"max-width":"720",scrollable:""},{default:t(()=>[e(Ft,{class:"upload-error-dialog"},{default:t(()=>[e(Lt,{class:"upload-error-dialog__title"},{default:t(()=>[e(Xe,{color:"error",size:"22"},{default:t(()=>d[10]||(d[10]=[C("mdi-alert-circle-outline")])),_:1}),h("span",null,a(De.value||l(o)("uploadRequestFailed")),1)]),_:1}),e(Mt,{class:"upload-error-dialog__body"},{default:t(()=>[he.value?(_(),O("div",Jr,a(Pe.value),1)):_e("",!0),ee.value.length?(_(),O("div",Yr,[(_(!0),O(Ge,null,bt(ee.value,v=>(_(),O("div",{key:v.key,class:"upload-error-dialog__item"},[e(ro,{size:"34",class:"upload-error-dialog__icon"},{default:t(()=>[e(zt,{src:l(Co)(v.marketCode),alt:v.marketCode||"market"},null,8,["src","alt"])]),_:2},1024),h("div",Zr,[h("div",ei,a(v.label),1),h("div",ti,a(v.message),1),v.missingAttributes.length?(_(),O("div",oi,[e(Xe,{size:"15",color:"error"},{default:t(()=>
3d[11]||(d[11]=[C("mdi-format-list-checks")])),_:1}),h("span",null,a(W(v.missingAttributes)),1)])):_e("",!0)])]))),128))])):(_(),O("div",li,a(Pe.value||l(o)("uploadRequestFailed")),1))]),_:1}),e(jt,{class:"upload-error-dialog__actions"},{default:t(()=>[e(re,{color:"primary",variant:"text",onClick:Ze},{default:t(()=>[C(a(l(o)("buttons.close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}}),ai=Jt(ni,[["__scopeId","data-v-ee2565e2"]]),Io=ke=>ke==null?null:String(ke).trim()||null,Qt=ke=>{if(ke==null||ke==="")return null;const S=Number(ke);return Number.isFinite(S)?S:null},Ro=ke=>ke===!0||ke===1||ke==="1"?1:ke===!1||ke===0||ke==="0"?0:null,To=(ke,S,o=1e-4)=>{const g=Qt(ke),u=Qt(S);return g===null||u===null?g===u:Math.abs(g-u)<=o},Lo=(...ke)=>{for(const S of ke){const o=Qt(S);if(o!==null)return o}return null};function ri(ke,S){var ne,D;const o={...ke},g=S||ke,u=[Io(g==null?void 0:g.titleTranslationFallback),Io((ne=g==null?void 0:g.supplier_product)==null?void 0:ne.title),Io((D=g==null?void 0:g.supplierProduct)==null?void 0:D.title)].filter(ue=>!!ue),L=Io(o.customTitle);return(!L||u.includes(L))&&(o.customTitle=null),o}function ii({customVariant:ke,apiVariant:S,apiCustomProduct:o,exch
3angeRate:g,baseShippingFee:u,unitShippingFee:L,markupRatePercent:ne,marketCountryCode:D,minimumDenomination:ue}){const H={...ke},Q=(S==null?void 0:S.supplier_variant)||(S==null?void 0:S.supplierVariant)||ke.supplier_variant||ke.supplierVariant,j=(o==null?void 0:o.supplier_product)||(o==null?void 0:o.supplierProduct),I=Lo(Q==null?void 0:Q.cost,S==null?void 0:S.cost,j==null?void 0:j.cost),q=H.isCostFixed!==void 0||H.is_cost_fixed!==void 0;Ro(H.isCostFixed??H.is_cost_fixed)===1||!q&&!To(H.customCost,I)?H.customCost=Qt(H.customCost)??I:H.customCost=null;const Se=Lo(Q==null?void 0:Q.weight,S==null?void 0:S.weight);To(H.weightCustom,Se)&&(H.weightCustom=null);const Fe=Lo(Q==null?void 0:Q.availableQty,Q==null?void 0:Q.stockQty,S==null?void 0:S.stockQty,S==null?void 0:S.availableQty),Oe=H.isStockQtyFixed!==void 0||H.is_stock_qty_fixed!==void 0;Ro(H.isStockQtyFixed??H.is_stock_qty_fixed)===1||!Oe&&!To(H.stockQtyCustom,Fe,0)?H.stockQtyCustom=Qt(H.stockQtyCustom)??Fe:H.stockQtyCustom=null;const De=Qt(H.customCost)??I,Pe=Qt(H.weightCustom)??Se??0,ee=Ll({savedPriceBeforeMarketFee:null,cost:De,weight:Pe,exchangeRate:Qt(g),baseShippingFee:Qt(u),unitShippingFee:Qt(L),markupRatePercent:Qt(ne),marketCountryCode:D,minimumDenomination:ue,supplierCountryCode:wo(o)||Io(Q==null?void 0:Q.countryCode),isPriceFixed:0}),We=Qt(H.priceBeforeMarketFee);return!(Ro(H.isPriceFixed??H.is_price_fixed)===1)||We===null||To(We,ee)?(H.priceBeforeMarketFee=null,H.isPriceFixed=0):(H.priceBeforeMarketFee=We,H.isPriceFixed=1),H}const si={class:"d-flex justify-space-between align-center mb-4"},ui={class:"text-h6"},ci={key:0,class:"mt-2",style:{"max-width":"360px"}},di={class:"d-flex align-center"},mi={key:2,class:"d-flex gap-2 flex-wrap mt-1"},fi=["href"],pi={key:1,class:"product-code user-select-all"},gi={key:0,class:"product-result-dialog__summary"},vi={key:1,class:"product-result-dialog__list"},hi={class:"product-result-dialog__content"},yi={class:"product-result-dialog__market"},Ci={class:"product-result-dialog__message"},bi={key:0,class:"product-result-dialog__missing"},ki={key:2,class:"product-result-dialog__message"},el="Pricing",Uo="Upload Management",Si=qt({__name:"ProductEdit",props:{productId:{default:null},embedded:{type:Boolean,default:!1}},emits:["close"],setup(ke,{emit:S}){const o=ke,g=S,{t:u}=Gt(),L=Do(),ne=al(),D=no(),ue=xl(),H=Zl(),Q=b(o.embedded&&Number(o.productId)||null),j=N(()=>{const w=o.embedded?Q.value||o.productId:L.params.id,y=Number(w);return Number.isInteger(y)&&y>0?y:null}),I=b(!1),q=b(""),ve=b(""),Se=b([]),Fe=N(()=>{var w;return!ve.value||Se.value.length===0?!1:Se.value.length!==1?!0:ve.value!==((w=Se.value[0])==null?void 0:w.message)}),Oe=N(()=>{var w;return!!((w=D.apiData)!=null&&w.customProduct)});b(!1),b(""),b(!1),N(()=>!D.items||D.items.length===0?{images:[]}:{...D.items[0],images:[]});const Ue=b(!o.embedded&&typeof L.query.tab=="string"?L.query.tab:el),De=b(""),Pe=b(""),ee=b([]),We=b(!1),ze=N(()=>{var y;const w=(y=D.apiData)==null?void 0:y.countryVariants;return Array.isArray(w)?w:[]}),ft=w=>{const y=String(w||"").trim().toUpperCase();return/^[A-Z]{2}$/.test(y)?y:""},le=N(()=>{const w=new Set;return ee.value.forEach(y=>{if(!ml(y))return;const G=ft(y.marketCountryCode);G&&w.add(G);const Me=ft(y.countryCode);Me&&w.add(Me)}),Array.from(w)}),he=N(()=>{const w=new Map;return ze.value.forEach(y=>{const G=ft((y==null?void 0:y.marketCountryCode)??(y==null?void 0:y.market_country_code));if(!G)return;const Me=String((y==null?void 0:y.status)||"").trim(),Y=Number((y==null?void 0:y.customProductId)||(y==null?void 0:y.custom_product_id)||0)||null,te=!!(y!=null&&y.hasConnectedMarket);w.set(G,{marketCountryCode:G,customProductId:Y,hasConnectedMarket:te,status:Me||(Y?"existing":"connect_market_first")})}),le.value.forEach(y=>{const G=w.get(y);if(!G){w.set(y,{marketCountryCode:y,customProductId:null,hasConnectedMarket:!0,status:"recollect_required"});return}G.status==="connect_market_first"&&!G.customProductId&&(G.status="recollect_required",G.hasConnectedMarket=!0)}),Array.from(w.values()).sort((y,G)=>y.marketCountryCode.localeCompare(G.marketCountryCode))}),J=N(()=>he.value.map(w=>{const y=w.marketCountryCode;return y?{title:y,value:y}:null}).filter(w=>!!w)),ge=w=>{const y=String(w||"").trim().toLowerCase();return/^[a-z]{2}$/.test(y)?`https://flagcdn.com/w40/${y}.png`:""},x=()=>{var y,G,Me,Y;const w=((G=(y=D.formData)==null?void 0:y.customProduct)==null?void 0:G.marketCountryCode)||((Y=(Me=D.apiData)==null?void 0:Me.customProduct)==null?void 0:Y.marketCountryCode)||"";De.value=String(w||"").toUpperCase(),Pe.value=""}
3,W=async w=>{const y=String(w||"").trim().toUpperCase();if(De.value=y,Pe.value="",!y)return;const G=he.value.find(te=>te.marketCountryCode===y);if(!G)return;const Me=j.value;if(!Me)return;const Y=Number((G==null?void 0:G.customProductId)||0);if(Y>0){if(Y===Me)return;o.embedded?Q.value=Y:await ne.push({path:`/product/edit/${Y}`,query:L.query});return}if(G.status==="connect_market_first"){Pe.value=u("connectMarketFirstForCountry",`No market is connected for ${y}. Connect a market in this country first.`);return}Pe.value=u("settingUpCountry",`Preparing this product for ${y}, this may take a moment...`);try{const{data:te}=await $t.post(`/product/setup-country/${Me}`,{marketCountryCode:y}),V=Number((te==null?void 0:te.customProductId)||(te==null?void 0:te.id)||0);if(!V)throw new Error("setup failed");if(Pe.value="",V===Me)return;o.embedded?Q.value=V:await ne.push({path:`/product/edit/${V}`,query:L.query})}catch(te){console.error("Error setting up country variant:",te),Pe.value=u("recollectRequiredForCountry","A market in this country is connected, but this product variant does not exist yet. Please collect this product again.")}},de=N(()=>fl(ee.value,De.value)),Re=N(()=>ql(ee.value,De.value)),xe=N(()=>{var w,y,G,Me;return ft((y=(w=D.formData)==null?void 0:w.customProduct)==null?void 0:y.marketCountryCode)||ft((Me=(G=D.apiData)==null?void 0:G.customProduct)==null?void 0:Me.marketCountryCode)||ft(De.value)}),ot=N(()=>{var w,y;return wo((w=D.formData)==null?void 0:w.customProduct)||wo((y=D.apiData)==null?void 0:y.customProduct)}),mt=N(()=>!!ot.value&&!!xe.value&&ot.value===xe.value),Ze=N(()=>!mt.value&&!en(ue.user));Pt([Ue,Re,Oe,We],()=>{Oe.value&&We.value&&Ue.value===Uo&&!Re.value&&(Ue.value=el)},{immediate:!0});const me=b(null);function Qe(w){me.value=w,Re.value&&(Ue.value=Uo)}Pt(Ue,w=>{if(w&&!o.embedded)try{ne.push({query:{...L.query,tab:w}})}catch(y){console.error("Error updating route:",y)}});function U(w,y,G=[]){q.value=w,ve.value=y,Se.value=G,I.value=!0}function z(w){const y=String(w||"").toUpperCase();return{COUP:u("Coupang"),SMST:u("SmartStore"),RAKU:u("Rakuten"),QOO1:u("Qoo10"),QOO10:u("Qoo10")}[y]||y||u("marketplace")}function fe(w){return gl(w,u("uploadRequestFailed"),y=>ao(y,u))}function et(w){return vl(w,u("Missing required fields"))}function gt(w){const y=ee.value.find(Y=>Number(Y.id)===Number(w.shopId)),G=z((y==null?void 0:y.marketCode)||w.marketCode),Me=pl(y);return Me?`${G} ${Me}`:G}function at(w,y){const G=ee.value[0],Me=Number((y==null?void 0:y.shopId)||(G==null?void 0:G.id)||0),Y=String((y==null?void 0:y.marketCode)||(G==null?void 0:G.marketCode)||"").toUpperCase(),te=y!=null&&y.uploaded&&typeof y.uploaded=="object"?y.uploaded:y;return jo([{...te&&typeof te=="object"?te:{},shopId:Me,marketCode:Y,success:!1,error:w||(te==null?void 0:te.error)||(te==null?void 0:te.message)}],gt,fe)}const M=async()=>{var w;if(Ze.value){D.loading=!0;try{const y=j.value;if(!y)return;await $t.post(`/product/translate/${y}`),U(u("translateSuccess"),u("Translation completed successfully!")),console.log(y,"customProductId"),D.fetchItem(y)}catch(y){console.error(y),U(u("error"),ao(((w=y==null?void 0:y.response)==null?void 0:w.data)||y,u))}finally{D.loading=!1}}},E=()=>{var Me,Y;if(!((Me=D.formData)!=null&&Me.customVariants)||!((Y=D.apiData)!=null&&Y.marketProducts)){console.warn("prepareMarketVariants: Missing customVariants or marketProducts data.");return}const w=D.formData.customVariants,y=D.apiData.marketProducts,G=D.formData.marketVariants||[];w.forEach(te=>{te!=null&&te.id&&y.forEach(V=>{var Tt,f,d;const Ie=V.shop;if(!(V!=null&&V.id)||!(Ie!=null&&Ie.id)){console.warn(`Missing marketProduct ID or shop ID for customVariant ${te.id}`);return}const nt=Number(te.customCost),xt=Number.isFinite(nt)&&nt>0&&Number(te.priceBeforeMarketFee)||0,kt=Ie.marketFeePercentage??Ie.defaultMarketFeePercentage??D.marketFeePercent,it=D.calculateFinalPrice(xt,kt),Je=G.findIndex(v=>String(v.customVariantId)===String(te.id)&&String(v.marketProductId)===String(V.id));Je!==-1?G[Je].price=it:(console.log(`Creating new marketVariant for customVariant ${te.id} and marketProduct ${V.id} with price ${it}`),V.id&&te.id&&Ie.id&&te.modelId&&((Tt=D.formData.customProduct)!=null&&Tt.parentUid)&&V.marketId&&V.marketCode&&((f=D.formData.customProduct)!=null&&f.resellerId)&&
3V.countryId?G.push({id:null,marketProductId:String(V.id),customVariantId:String(te.id),modelId:String(te.modelId),uid:te.uid??null,shopId:String(Ie.id),parentUid:D.formData.customProduct.parentUid,marketId:String(V.marketId),marketCode:V.marketCode,marketCountryCode:((d=V.country)==null?void 0:d.code)??D.formData.customProduct.marketCountryCode??null,resellerId:String(D.formData.customProduct.resellerId),countryId:String(V.countryId),edited:1,price:it}):console.warn(`Missing required data to create new clone item for customVariant: ${te.id}, marketProduct: ${V.id}`))})}),D.formData.marketVariants=G,console.log("Prepared clone items:",D.formData.marketVariants.length)},ae=w=>w.map(y=>({...y,customImages:JSON.stringify(Array.isArray(y.customImages)?y.customImages:[])})),ce=w=>!w||!Array.isArray(w)?[]:w.filter(y=>y.shopId!==null&&y.shopId!==void 0).map(y=>{var rt,xt,kt;const{shop:G,category:Me,...Y}=y,te=Y.parentUid??((rt=D.formData.customProduct)==null?void 0:rt.parentUid)??null,V=Y.supplierCode??((xt=D.formData.customProduct)==null?void 0:xt.supplierCode)??null,Ie=Y.customProductId??((kt=D.formData.customProduct)==null?void 0:kt.id)??null,nt={marketId:Y.marketId,marketCode:Y.marketCode,shopId:Y.shopId,marketProductPrice:Y.marketProductPrice,marketProductTitle:Y.marketProductTitle,marketCategoryNames:Y.marketCategoryNames,marketCategoryId:Y.marketCategoryId,candidateCategories:Y.candidateCategories,rootCode:Y.rootCode,code1:Y.code1,countryId:Y.countryId,parentUid:te,sold:Y.sold,lastSoldAt:Y.lastSoldAt,tenthLastSoldAt:Y.tenthLastSoldAt,edited:Y.edited,inStock:Y.inStock,createdAt:Y.createdAt,updatedAt:Y.updatedAt,supplierProductId:Y.supplierProductId,customProductId:Ie,resellerId:Y.resellerId,clusterId:Y.clusterId??Y.shopId,supplierCode:V,images:Y.images};return Object.entries(nt).filter(([it,Je])=>Je!=null).reduce((it,[Je,Tt])=>(it[Je]=Tt,it),{})}),Le=(w,y)=>!w||!Array.isArray(w)?[]:!y||!Array.isArray(y)?(console.warn("sanitizeMarketVariants called without valid marketProducts data."),[]):w.filter(G=>G.shopId!==null&&G.shopId!==void 0).map(G=>{const{__typename:Me,...Y}=G,te=y.find(kt=>String(kt.id)===String(Y.marketProductId)),V=te==null?void 0:te.countryCode,Ie=te==null?void 0:te.marketId,nt=te==null?void 0:te.marketCode,rt=te==null?void 0:te.shopId,xt={id:Y.id,marketProductId:Y.marketProductId,customVariantId:Y.customVariantId,modelId:Y.modelId,uid:Y.uid,marketCountryCode:V??"KR",shopId:rt??Y.shopId,parentUid:Y.parentUid,marketId:Ie??Y.marketId,marketCode:nt??Y.marketCode,resellerId:Y.resellerId,countryId:(te==null?void 0:te.countryId)??Y.countryId,edited:Y.edited??1,price:Y.price};return Object.entries(xt).filter(([kt,it])=>it!=null).reduce((kt,[it,Je])=>(kt[it]=Je,kt),{})}),tt=async(w=!1,y={})=>{var G,Me,Y,te,V,Ie,nt,rt;D.loading=!0;try{const xt=w?de.value:[];if(w&&xt.length===0)return y.silent||U(u("uploadRequestFailed"),u("Please select at least one marketplace.")),!1;const kt={...D.formData.customProduct},it=zl({parentImagesCustom:D.formData.customProduct.customImages,parentImgCustom:D.formData.customProduct.customImg,customVariants:D.formData.customVariants}),Je=ri({...kt,...it},(G=D.apiData)==null?void 0:G.customProduct),Tt=D.formData.customVariantAttributes.filter(A=>A.type==="sku").map(A=>({modelId:A.modelId,attributeId:A.attributeId,customProductId:A.customProductId,resellerId:A.resellerId,nameCustom:A.nameCustom,valueCustom:A.valueCustom})),f=D.formData.customVariantAttributes.filter(A=>A.type==="sku").map(A=>{var Z,Ve,Ke;const we=ft((Z=D.formData.customProduct)==null?void 0:Z.marketCountryCode)||ft((Ke=(Ve=D.apiData)==null?void 0:Ve.customProduct)==null?void 0:Ke.marketCountryCode)||ft(De.value);return{id:A.id,customVariantId:A.customVariantId,customProductId:A.customProductId,modelId:A.modelId,attributeId:A.attributeId,parentUid:A.parentUid,resellerId:A.resellerId,translatedCountryCode:we||A.translatedCountryCode,nameCustom:A.nameCustom,valueCustom:A.valueCustom,customImg:A.customImg}});E();const d=((Y=(Me=D.apiData)==null?void 0:Me.customProduct)==null?void 0:Y.custom_variants)||[],v=D.formData.customVariants.map(A=>{var Z,Ve,Ke;const we=d.find(se=>String((se==null?void 0:se.id)??"")===String(A.id??"")||String((se==null?void 0:se.modelId)??"")===String(A.modelId??""));return ii({customVariant:A,apiVariant:we,apiCustomProduct:(Z=D.apiData)==null?void 0:Z.customProduct,exchangeRate:((Ve=D.apiData)==null?void 0:Ve.exchangeRate)??1,baseShippingFee:Number(D.baseShippingFee),unitShippingFee:Number(D.unitShippingFee),markupRatePercent:Number(D.markupRatePercent),marketCountryCode:xe.value||De.value||null,minimumDenomination:(Ke=D.apiData)==null?void 0:Ke.minimumDenomination})}),K=ae(v).map(A=>{const we=Bl(A);return{...A,...we}}),X=ce(D.formData.marketProducts),ie=D.formData.marketProducts.filter(A=>A.supplierProductCategoryMatchEdited===!0).map(A=>{var we,Z,Ve;return{id:A.supplierProductCategoryMatchId??null,marketId:A.marketId??null,marketCode:A.marketCode??((we=A.shop)==null?void 0:we.marketCode)??null,marketCountryCode:A.marketCountryCode??((Z=A.shop)==null?void 0:Z.marketCountryCode)??A.countryCode??null,shopId:A.shopId??((Ve=A.shop)==null?void 0:Ve.id)??null,categoryId:A.marketCategoryId??null,categoryPathNames:A.marketFullCategoryNames??null,fullCategoryNames:A.marketFullCategoryNames??null,sourceTitle:Je.customTitle??null,matchedTitle:Je.customTitle??null}}).filter(A=>A.marketCode&&A.categoryId),s=Le(D.formData.marketVariants,D.formData.marketProducts);console.log("Sanitized marketProducts:",X.length),console.log("Sanitized marketVariants:",s.length),console.log("customVariantAttributesToSave:",f.length),console.log("[OptionOrderDebug][save][customVariants]",K.map((A,we)=>({index:we,id:A.id,modelId:A.modelId,seq:A.seq,priceBeforeMarketFee:A.priceBeforeMarketFee}))),console.log("[OptionOrderDebug][save][customVariantAttributes]",f.map(A=>({id:A.id,customVariantId:A.customVariantId,modelId:A.modelId,attributeId:A.attributeId,nameCustom:A.n
3ameCustom,valueCustom:A.valueCustom})));const p=j.value;if(!p)throw new Error("Invalid custom product ID");const{data:P}=await $t.post(`/product/save-custom-product/${p}`,{customProduct:Je,customVariants:K,customVariantAttributes:f,customProductAttributes:D.formData.customProductAttributes,marketProducts:X,marketVariants:s,supplierProductCategoryMatches:ie,uploadAfterSave:w,shopIds:xt});if(console.log(P,"data"),P&&P.success===!1)return y.silent||U(u("saveFailed"),ao(P.error||{message:P.message},u)),!1;if(w){const A=Array.isArray((te=P.uploadResult)==null?void 0:te.results)?P.uploadResult.results:(V=P.uploadResult)!=null&&V.result?[P.uploadResult.result]:[],we=A.filter(Z=>!(Z!=null&&Z.success));if(!we.length&&A.length>0)y.silent||U(u("uploadRequestSuccess"),u("itemUploadedSuccessfully"));else if(!y.silent){const Z=we[0],Ve=(Z==null?void 0:Z.error)||((Ie=P.uploadResult)==null?void 0:Ie.error)||{message:((nt=P.uploadResult)==null?void 0:nt.message)||u("itemFailedToUpload")},Ke=we.length?jo(we.map(se=>({...se&&typeof se=="object"?se:{},shopId:Number((se==null?void 0:se.shopId)||0),marketCode:String((se==null?void 0:se.marketCode)||"").toUpperCase(),success:!1,uploadedCount:Number((se==null?void 0:se.uploadedCount)||0),error:(se==null?void 0:se.error)||Ve})),gt,fe):at(Ve,(rt=P.uploadResult)==null?void 0:rt.result);U(u("uploadRequestFailed"),Ke.length>1?u("someItemsFailedToUpload"):fe(Ve),Ke)}}else y.silent||U(u("saveSuccess"),u("itemSavedSuccessfully"));return!0}catch(xt){return console.error(xt),y.silent||U(u("error"),xt.message||u("an_unknown_error_occurred")),!1}finally{D.loading=!1}},lt=b(!1),vt=b(""),ut=b("success"),$=b(5e3),B=()=>{if(o.embedded){g("close");return}const w={};Object.entries(H.productListQuery||{}).forEach(([G,Me])=>{Me==null||Me===""||(w[G]=Array.isArray(Me)?String(Me[0]):String(Me))});let y=H.productListItemType||"";if(w.itemType&&(y=w.itemType,delete w.itemType),!Object.keys(w).length||!y)try{const G=document.referrer;if(G&&G.includes("/product-list")){const Me=new URL(G),Y=Me.pathname.match(/\/product-list\/([^/]+)/);Y!=null&&Y[1]&&(y=decodeURIComponent(Y[1]));const te=new URLSearchParams(Me.search),V=te.get("page"),Ie=te.get("perPage"),nt=te.get("title"),rt=te.get("supplierCode");V&&(w.page=V),Ie&&(w.perPage=Ie),nt&&(w.title=nt),rt&&(w.supplierCode=rt)}}catch(G){console.error("Error parsing referrer URL:",G)}ne.push({path:`/product-list/${y||"collected"}`,query:w})};function ye(w){return w==null?null:String(w).trim()||null}function Be(w){if(!w||typeof w!="object")return null;const y=w.marketItemId,G=w.code3;return ye(y??G)}function ct(w){return!w||typeof w!="object"?null:ye(w.shopHandle)}const ht=N(()=>{var Y,te;const w=(Y=D.apiData)==null?void 0:Y.marketProducts;if(!Array.isArray(w)||w.length===0)return[];const y=new Map,G=(te=D.apiData)==null?void 0:te.marketVariants;return Array.isArray(G)&&G.forEach(V=>{const Ie=ye(V==null?void 0:V.marketProductId);if(!Ie||y.has(Ie))return;const nt=Be(V);nt&&y.set(Ie,nt)}),w.map(V=>{var it,Je;const Ie=(it=ye(V==null?void 0:V.marketCode))==null?void 0:it.toUpperCase(),nt=ye(V==null?void 0:V.code1),rt=y.get(ye(V==null?void 0:V.id)||"")||null,xt=Ie==="COUP"?rt??nt:nt;if(!(V!=null&&V.shop)||!xt)return null;const kt=Ko({marketCode:Ie,code1:nt,code3:rt,shopHandle:ct(V==null?void 0:V.shop),shopNick:(Je=V==null?void 0:V.shop)==null?void 0:Je.nick});return{marketProduct:V,displayCode:xt,productUrl:kt}}).filter(V=>!!V)}),dt=async()=>{const w=j.value;if(w)try{await D.fetchItem(w),x()}catch(y){console.error("Error fetching product data:",y)}},Kt=async()=>{We.value=!1;try{const{data:w}=await $t.get("/user/shops");ee.value=Array.isArray(w==null?void 0:w.shops)?w.shops:[]}catch(w){console.error("Error fetching upload management shops:",w),ee.value=[]}finally{We.value=!0}};return $o(async()=>{await Promise.all([dt(),Kt()])}),Pt(()=>o.productId,w=>{o.embedded&&(Q.value=Number(w)||null)}),Pt(j,async()=>{await dt()}),(w,y)=>(_(),O(Ge,null,[e(tn,{fluid:""},{default:t(()=>[e(Ao,null,{default:t(()=>[e(mo,{cols:"12"},{default:t(()=>{var G,Me,Y,te;
3return[h("div",si,[h("div",null,[h("h2",ui,a(l(u)("productCode"))+" "+a(((Me=(G=l(D).apiData)==null?void 0:G.customProduct)==null?void 0:Me.id)||j.value)+" ("+a(((te=(Y=l(D).apiData)==null?void 0:Y.customProduct)==null?void 0:te.parentUid)||"")+") ",1),J.value.length>0?(_(),O("div",ci,[e(Fo,{"model-value":De.value,items:J.value,label:l(u)("country"),"item-title":"title","item-value":"value",density:"compact",variant:"outlined","hide-details":"","onUpdate:modelValue":W},{selection:t(({item:V})=>{var Ie;return[h("div",di,[e(ro,{size:"18",class:"mr-2"},{default:t(()=>{var nt,rt;return[e(zt,{src:ge(((nt=V==null?void 0:V.raw)==null?void 0:nt.value)||(V==null?void 0:V.value)),alt:((rt=V==null?void 0:V.raw)==null?void 0:rt.value)||(V==null?void 0:V.value)||"country",cover:""},null,8,["src","alt"])]}),_:2},1024),h("span",null,a(((Ie=V==null?void 0:V.raw)==null?void 0:Ie.title)||(V==null?void 0:V.title)||""),1)])]}),item:t(({props:V,item:Ie})=>[e(Dt,Zt(V,{title:void 0}),{prepend:t(()=>[e(ro,{size:"18"},{default:t(()=>{var nt,rt;return[e(zt,{src:ge(((nt=Ie==null?void 0:Ie.raw)==null?void 0:nt.value)||(Ie==null?void 0:Ie.value)),alt:((rt=Ie==null?void 0:Ie.raw)==null?void 0:rt.value)||(Ie==null?void 0:Ie.value)||"country",cover:""},null,8,["src","alt"])]}),_:2},1024)]),default:t(()=>[e(Vt,null,{default:t(()=>{var nt;return[C(a(((nt=Ie==null?void 0:Ie.raw)==null?void 0:nt.title)||(Ie==null?void 0:Ie.title)||""),1)]}),_:2},1024)]),_:2},1040)]),_:1},8,["model-value","items","label"])])):_e("",!0),Pe.value?(_(),He(Xt,{key:1,type:"info",variant:"tonal",density:"comfortable",class:"mt-2",style:{"max-width":"700px"}},{default:t(()=>[C(a(Pe.value),1)]),_:1})):_e("",!0),ht.value.length>0?(_(),O("div",mi,[(_(!0),O(Ge,null,bt(ht.value,V=>{var Ie;return _(),O("div",{key:"code-"+(V.marketProduct.id||((Ie=V.marketProduct.shop)==null?void 0:Ie.id)||V.marketProduct.marketCode),class:"d-flex align-center mr-3"},[h("template",null,[e(ro,{size:"16",class:"mr-1"},{default:t(()=>[e(zt,{src:l(Co)(V.marketProduct.marketCode),alt:V.marketProduct.marketCode||"market"},null,8,["src","alt"])]),_:2},1024),V.productUrl?(_(),O("a",{key:0,href:V.productUrl,target:"_blank",rel:"noopener noreferrer",class:"product-code product-code-link user-select-all"},a(V.displayCode||l(u)("unregistered")),9,fi)):(_(),O("span",pi,a(V.displayCode||l(u)("unregistered")),1))])])}),128))])):_e("",!0)]),h("div",null,[e(fo,null,{default:t(()=>[e(re,{onClick:B},{default:t(()=>[C(a(o.embedded?l(u)("buttons.close"):l(u)("List")),1)]),_:1}),e(re,{onClick:y[0]||(y[0]=V=>tt(!1)),loading:l(D).loading,disabled:!Oe.value},{default:t(()=>[C(a(l(u)("Save")),1)]),_:1},8,["loading","disabled"]),Ze.value?(_(),He(re,{key:0,onClick:M,loading:l(D).loading,disabled:!Oe.value},{default:t(()=>[C(a(l(u)("Translate")),1)]),_:1},8,["loading","disabled"])):_e("",!0),e(re,{onClick:y[1]||(y[1]=V=>tt(!0)),loading:l(D).loading,disabled:!Oe.value},{default:t(()=>[C(a(l(u)("Upload All")),1)]),_:1},8,["loading","disabled"])]),_:1})])]),e(Po,{class:"mb-4"}),lt.value?(_(),He(Xt,{key:0,type:ut.value,timeout:$.value,closable:"",prominent:"",class:"mb-4"},{default:t(()=>[C(a(vt.value),1)]),_:1},8,["type","timeout"])):_e("",!0),l(D).loadError?(_(),He(Xt,{key:1,type:"warning",variant:"tonal",prominent:"",class:"mb-4"},{default:t(()=>[C(a(l(D).loadError),1)]),_:1})):_e("",!0),Oe.value?(_(),He(on,{key:2,modelValue:Ue.value,"onUpdate:modelValue":y[2]||(y[2]=V=>Ue.value=V),color:"primary",class:"mb-4"},{default:t(()=>[e(uo,{value:"Basic Info"},{default:t(()=>[C(a(l(u)("Basic Info")),1)]),_:1}),e(uo,{value:"Images"},{default:t(()=>[C(a(l(u)("Images")),1)]),_:1}),e(uo,{value:"Options"},{default:t(()=>[C(a(l(u)("Options")),1)]),_:1}),e(uo,{value:"Pricing"},{default:t(()=>[C(a(l(u)("Pricing")),1)]),_:1}),e(uo,{value:"Attributes"},{default:t(()=>[C(a(l(u)("Attributes")),1)]),_:1}),e(uo,{value:"Description"},{default:t(()=>[C(a(l(u)("Description")),1)]),_:1}),Re.value?(_(),He(uo,{key:0,value:Uo},{default:t(()=>[C(a(l(u)("Upload Management")),1)]),_:1})):_e("",!0)]),_:1},8,["modelValue"])):_e("",!0),Oe.value?(_(),He(ln,{key:3,modelValue:Ue.value,"onUpdate:modelValue":y[3]||(y[3]=V=>Ue.value=V),class:"mb-4"},{default:t(()=>[e(co,{value:"Basic Info"},{default:t(()=>[e(mn,{items:l(D).items,loading:l(D).loading},null,8,["items","loading"])]),_:1}),e(co,{value:"Images"},{default:t(()=>[e(jn,{"save-item":tt})]),_:1}),e(co,{value:"Options"},{default:t(()=>[e(Cn,{"selected-country-code":De.value,"save-item":tt},null,8,["selected-country-code"])]),_:1}),e(co,{value:"Pricing"},{default:t(()=>{var V;return[Ue.value==="Pricing"&&((V=l(D).apiData)!=null&&V.customProduct)?(_(),He(Wa,{key:0,onOpenUploadManagement:Qe})):Ue.value==="Pricing"?(_(),He(Xt,{key:1,type:"info",class:"mt-4"},{default:t(()=>[C(a(l(u)("Loading pricing data...")),1)]),_:1})):_e("",!0)]}),_:1}),e(co,{value:"Attributes"},{default:t(()=>[e(Qa)]),_:1}),e(co,{value:"Description"},{default:t(()=>[e(rr)]),_:1}),Re.value?(_(),He(co,{key:0,value:Uo},{default:t(()=>
3[e(ai,{"save-item":tt,"selected-country-code":De.value,"focus-shop-id":me.value},null,8,["selected-country-code","focus-shop-id"])]),_:1})):_e("",!0)]),_:1},8,["modelValue"])):_e("",!0)]}),_:1})]),_:1})]),_:1}),e(Wt,{modelValue:I.value,"onUpdate:modelValue":y[5]||(y[5]=G=>I.value=G),"max-width":"720px",scrollable:""},{default:t(()=>[e(Ft,{class:"product-result-dialog"},{default:t(()=>[e(Lt,{class:"text-h5"},{default:t(()=>[C(a(q.value),1)]),_:1}),e(Mt,{class:"product-result-dialog__body"},{default:t(()=>[Fe.value?(_(),O("div",gi,a(ve.value),1)):_e("",!0),Se.value.length?(_(),O("div",vi,[(_(!0),O(Ge,null,bt(Se.value,G=>(_(),O("div",{key:G.key,class:"product-result-dialog__item"},[e(ro,{size:"34",class:"product-result-dialog__icon"},{default:t(()=>[e(zt,{src:l(Co)(G.marketCode),alt:G.marketCode||"market"},null,8,["src","alt"])]),_:2},1024),h("div",hi,[h("div",yi,a(G.label),1),h("div",Ci,a(G.message),1),G.missingAttributes.length?(_(),O("div",bi,[e(Xe,{size:"15",color:"error"},{default:t(()=>y[6]||(y[6]=[C("mdi-format-list-checks")])),_:1}),h("span",null,a(et(G.missingAttributes)),1)])):_e("",!0)])]))),128))])):(_(),O("p",ki,a(ve.value),1))]),_:1}),e(jt,null,{default:t(()=>[e(Ht),e(re,{color:"primary",text:"",onClick:y[4]||(y[4]=G=>I.value=!1)},{default:t(()=>[C(a(w.$t("buttons.close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}}),rs=Jt(Si,[["__scopeId","data-v-3f2c60c8"]]);export{rs as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.