@oneclick.dev/cms-core-modules 0.0.126 → 0.0.127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -409,8 +409,8 @@ const I = "data:image/webp;base64,UklGRg5VAABXRUJQVlA4WAoAAAAMAAAA4wAA4wAAVlA4IJ
409
409
  }
410
410
  }), h = [
411
411
  { path: "", component: () => import("./Overview-CVgViW3c.mjs") },
412
- { path: "/:productId", component: () => import("./Detail-BOxWQ1QQ.mjs") },
413
- { path: "/new", component: () => import("./Detail-BOxWQ1QQ.mjs") }
412
+ { path: "/:productId", component: () => import("./Detail-BixrrqM1.mjs") },
413
+ { path: "/new", component: () => import("./Detail-BixrrqM1.mjs") }
414
414
  ], w = [
415
415
  { key: "create-product", name: "Create product", description: "Team member can create a new product" },
416
416
  { key: "edit-product", name: "Edit product", description: "Team member can edit a product" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneclick.dev/cms-core-modules",
3
- "version": "0.0.126",
3
+ "version": "0.0.127",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "peerDependencies": {
29
29
  "@formkit/drag-and-drop": "^0.5.3",
30
30
  "@internationalized/date": "^3.8.0",
31
- "@oneclick.dev/cms-kit": "0.0.152",
31
+ "@oneclick.dev/cms-kit": "0.0.153",
32
32
  "@tanstack/vue-table": "^8.21.3",
33
33
  "@vee-validate/zod": "^4.15.0",
34
34
  "@vue-flow/core": "^1.48.1",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),B=require("./vee-validate-zod-CWZwNTWE.js"),I=require("lucide-vue-next"),rt=require("@formkit/drag-and-drop"),W=require("@oneclick.dev/cms-kit"),It=require("./google-D4N3gb01.js"),q=require("./index-ijdf0d9-.js"),_=require("./types-D5dgTskW.js"),$t={class:"flex flex-col gap-4"},Ft={class:"flex flex-col"},Mt={key:0,class:"text-red-500 text-sm mt-1"},At={class:"flex flex-col gap-4"},Rt={class:"flex flex-col"},zt={key:0,class:"text-red-500 text-sm mt-1"},Ot={class:"flex flex-col gap-4"},Lt={class:"flex flex-col"},Ut={key:0,class:"text-red-500 text-sm mt-1"},jt=e.defineComponent({__name:"Main",setup(t){const o=e.inject("sources"),n=e.inject("defaultSource"),{errors:r}=B.useFormContext(),{value:l}=B.useField("title"),{value:s}=B.useField("description"),{value:i}=B.useField("media");return(d,a)=>{const v=e.resolveComponent("Label"),p=e.resolveComponent("Input"),u=e.resolveComponent("Textarea"),V=e.resolveComponent("MediaPicker"),x=e.resolveComponent("CardContent"),y=e.resolveComponent("Card");return e.openBlock(),e.createBlock(y,null,{default:e.withCtx(()=>[e.createVNode(x,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",$t,[e.createElementVNode("div",Ft,[e.createVNode(v,{for:"title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(p,{type:"text",id:"title",placeholder:"T-shirt with red heart",modelValue:e.unref(l),"onUpdate:modelValue":a[0]||(a[0]=D=>e.isRef(l)?l.value=D:null)},null,8,["modelValue"]),e.unref(r).title?(e.openBlock(),e.createElementBlock("p",Mt,e.toDisplayString(e.unref(r).title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",At,[e.createElementVNode("div",Rt,[e.createVNode(v,{for:"description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(u,{id:"description",placeholder:"Lovely T-shirt featuring a red heart",modelValue:e.unref(s),"onUpdate:modelValue":a[1]||(a[1]=D=>e.isRef(s)?s.value=D:null)},null,8,["modelValue"]),e.unref(r).description?(e.openBlock(),e.createElementBlock("p",zt,e.toDisplayString(e.unref(r).description),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ot,[e.createElementVNode("div",Lt,[e.createVNode(v,{for:"media",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Media",-1)])]),_:1}),e.createVNode(V,{id:"media",modelValue:e.unref(i),"onUpdate:modelValue":a[2]||(a[2]=D=>e.isRef(i)?i.value=D:null),sources:e.unref(o),defaultSource:e.unref(n)},null,8,["modelValue","sources","defaultSource"]),e.unref(r).media?(e.openBlock(),e.createElementBlock("p",Ut,e.toDisplayString(e.unref(r).media),1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1})}}}),Ht={class:"grid grid-cols-2 gap-4 mb-4"},Xt={class:"relative"},Kt={key:0,class:"text-red-500 text-sm mt-1"},Yt={class:"relative"},qt={class:"absolute right-2 top-1/2 -translate-y-1/2"},Gt={key:0,class:"text-red-500 text-sm mt-1"},Jt={class:"flex items-center gap-2 mb-4"},Wt={class:"flex items-center border-t mt-4 pt-4"},Zt={class:"relative"},Qt={key:0,class:"text-red-500 text-sm mt-1"},eo=e.defineComponent({__name:"Price",setup(t){const{errors:o}=B.useFormContext(),{value:n}=B.useField("price"),{value:r}=B.useField("compareAtPrice"),{value:l}=B.useField("isTaxable"),{value:s}=B.useField("costPerItem");return e.computed(()=>Number(n.value)>0),(i,d)=>{const a=e.resolveComponent("Label"),v=e.resolveComponent("Input"),p=e.resolveComponent("TooltipTrigger"),u=e.resolveComponent("TooltipContent"),V=e.resolveComponent("Tooltip"),x=e.resolveComponent("Checkbox"),y=e.resolveComponent("CardContent"),D=e.resolveComponent("Card");return e.openBlock(),e.createBlock(D,null,{default:e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[d[12]||(d[12]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Pricing",-1)),e.createElementVNode("div",Ht,[e.createElementVNode("div",null,[e.createVNode(a,{for:"price",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Price",-1)])]),_:1}),e.createElementVNode("div",Xt,[e.createVNode(v,{type:"number",id:"price",class:"pl-10 no-spinner",modelValue:e.unref(n),"onUpdate:modelValue":d[0]||(d[0]=S=>e.isRef(n)?n.value=S:null)},null,8,["modelValue"]),d[5]||(d[5]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1))]),e.unref(o).price?(e.openBlock(),e.createElementBlock("p",Kt,e.toDisplayString(e.unref(o).price),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.createVNode(a,{for:"compare-at-price",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Compare-at price",-1)])]),_:1}),e.createElementVNode("div",Yt,[e.createVNode(v,{type:"number",id:"compare-at-price",class:"pl-10 no-spinner",modelValue:e.unref(r),"onUpdate:modelValue":d[1]||(d[1]=S=>e.isRef(r)?r.value=S:null)},null,8,["modelValue"]),d[8]||(d[8]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1)),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(p,{"as-child":""},{default:e.withCtx(()=>[e.createElementVNode("button",qt,[e.createVNode(e.unref(I.Info),{class:"size-4 text-muted-foreground"})])]),_:1}),e.createVNode(u,null,{default:e.withCtx(()=>[...d[7]||(d[7]=[e.createElementVNode("p",null,[e.createTextVNode(" To display a markdown, enter a value higher than your price."),e.createElementVNode("br"),e.createTextVNode(" Often shown with a strikethrough (e.g. "),e.createElementVNode("span",{class:"font-semibold line-through"},"€25,00"),e.createTextVNode("). ")],-1)])]),_:1})]),_:1})]),e.unref(o).compareAtPrice?(e.openBlock(),e.createElementBlock("p",Gt,e.toDisplayString(e.unref(o).compareAtPrice),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Jt,[e.createVNode(x,{id:"charge-tax",modelValue:e.unref(l),"onUpdate:modelValue":d[2]||(d[2]=S=>e.isRef(l)?l.value=S:null)},null,8,["modelValue"]),e.createVNode(a,{for:"charge-tax",class:"text-sm"},{default:e.withCtx(()=>[...d[9]||(d[9]=[e.createTextVNode("Charge tax on this product",-1)])]),_:1})]),e.createElementVNode("div",Wt,[e.createElementVNode("div",null,[e.createVNode(a,{for:"cost-per-item",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[10]||(d[10]=[e.createTextVNode("Cost per item",-1)])]),_:1}),e.createElementVNode("div",Zt,[e.createVNode(v,{type:"number",id:"cost-per-item",class:"pl-10 no-spinner",modelValue:e.unref(s),"onUpdate:modelValue":d[3]||(d[3]=S=>e.isRef(s)?s.value=S:null)},null,8,["modelValue"]),d[11]||(d[11]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1))]),e.unref(o).costPerItem?(e.openBlock(),e.createElementBlock("p",Qt,e.toDisplayString(e.unref(o).costPerItem),1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1})}}}),to={class:"grid grid-cols-2 gap-4 mb-4"},oo={class:"flex items-center gap-2 mb-4"},no={key:0,class:"grid grid-cols-2 gap-4 mb-4"},ro={class:"flex items-center gap-2"},lo=e.defineComponent({__name:"Inventory",setup(t){const{errors:o}=B.useFormContext(),{value:n}=B.useField("sku"),{value:r}=B.useField("barcode"),{value:l}=B.useField("trackInventory"),{value:s}=B.useField("allowBackorder"),{value:i}=B.useField("stock"),{value:d}=B.useField("options"),{value:a}=B.useField("variants"),v=e.computed(()=>a.value.reduce((p,u)=>u.stock<0?p:p+u.stock,0));return(p,u)=>{const V=e.resolveComponent("Label"),x=e.resolveComponent("Input"),y=e.resolveComponent("Checkbox"),D=e.resolveComponent("TooltipTrigger"),S=e.resolveComponent("TooltipContent"),E=e.resolveComponent("Tooltip"),h=e.resolveComponent("CardContent"),C=e.resolveComponent("Card");return e.openBlock(),e.createBlock(C,null,{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[u[12]||(u[12]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Inventory",-1)),e.createElementVNode("div",to,[e.createElementVNode("div",null,[e.createVNode(V,{for:"sku",class:"text-sm mb-2"},{default:e.withCtx(()=>[...u[6]||(u[6]=[e.createTextVNode("SKU (Stock Keeping Unit)",-1)])]),_:1}),e.createVNode(x,{id:"sku",modelValue:e.unref(n),"onUpdate:modelValue":u[0]||(u[0]=P=>e.isRef(n)?n.value=P:null)},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(V,{for:"barcode",class:"text-sm mb-2"},{default:e.withCtx(()=>[...u[7]||(u[7]=[e.createTextVNode("Barcode (ISBN, UPC, GTIN, etc.)",-1)])]),_:1}),e.createVNode(x,{id:"barcode",modelValue:e.unref(r),"onUpdate:modelValue":u[1]||(u[1]=P=>e.isRef(r)?r.value=P:null)},null,8,["modelValue"])])]),e.createElementVNode("div",oo,[e.createVNode(y,{id:"track-quantity",modelValue:e.unref(l),"onUpdate:modelValue":u[2]||(u[2]=P=>e.isRef(l)?l.value=P:null)},null,8,["modelValue"]),e.createVNode(V,{for:"track-quantity",class:"text-sm"},{default:e.withCtx(()=>[...u[8]||(u[8]=[e.createTextVNode("Track quantity",-1)])]),_:1})]),e.unref(l)?(e.openBlock(),e.createElementBlock("div",no,[e.createElementVNode("div",null,[e.createVNode(V,{for:"stock",class:"text-sm mb-2"},{default:e.withCtx(()=>[...u[9]||(u[9]=[e.createTextVNode("Stock",-1)])]),_:1}),!e.unref(d)||e.unref(d)?.length===0?(e.openBlock(),e.createBlock(x,{key:0,id:"stock",type:"number",modelValue:e.unref(i),"onUpdate:modelValue":u[3]||(u[3]=P=>e.isRef(i)?i.value=P:null),class:"no-spinner"},null,8,["modelValue"])):(e.openBlock(),e.createBlock(E,{key:1},{default:e.withCtx(()=>[e.createVNode(D,{class:"cursor-not-allowed"},{default:e.withCtx(()=>[e.createVNode(x,{modelValue:v.value,"onUpdate:modelValue":u[4]||(u[4]=P=>v.value=P),disabled:"",class:"no-spinner"},null,8,["modelValue"])]),_:1}),e.createVNode(S,null,{default:e.withCtx(()=>[...u[10]||(u[10]=[e.createElementVNode("p",null,"Total stock of all variants",-1)])]),_:1})]),_:1}))])])):e.createCommentVNode("",!0),e.createElementVNode("div",ro,[e.createVNode(y,{id:"continue-selling",modelValue:e.unref(s),"onUpdate:modelValue":u[5]||(u[5]=P=>e.isRef(s)?s.value=P:null)},null,8,["modelValue"]),e.createVNode(V,{for:"continue-selling",class:"text-sm"},{default:e.withCtx(()=>[...u[11]||(u[11]=[e.createTextVNode("Continue selling when out of stock",-1)])]),_:1})])]),_:1})]),_:1})}}}),ao={class:"flex items-center gap-2 mb-4"},so={key:0,class:"grid grid-cols-2 gap-4 mb-4"},io=e.defineComponent({__name:"Shipping",setup(t){const{errors:o}=B.useFormContext(),{value:n}=B.useField("isPhysicalProduct"),{value:r}=B.useField("weight"),{value:l}=B.useField("weightUnit");return(s,i)=>{const d=e.resolveComponent("Checkbox"),a=e.resolveComponent("Label"),v=e.resolveComponent("Input"),p=e.resolveComponent("SelectValue"),u=e.resolveComponent("SelectTrigger"),V=e.resolveComponent("SelectItem"),x=e.resolveComponent("SelectGroup"),y=e.resolveComponent("SelectContent"),D=e.resolveComponent("Select"),S=e.resolveComponent("CardContent"),E=e.resolveComponent("Card");return e.openBlock(),e.createBlock(E,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[i[10]||(i[10]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Shipping",-1)),e.createElementVNode("div",ao,[e.createVNode(d,{id:"is-physical-product",modelValue:e.unref(n),"onUpdate:modelValue":i[0]||(i[0]=h=>e.isRef(n)?n.value=h:null)},null,8,["modelValue"]),e.createVNode(a,{for:"is-physical-product",class:"text-sm"},{default:e.withCtx(()=>[...i[3]||(i[3]=[e.createTextVNode("This is a physical product",-1)])]),_:1})]),e.unref(n)?(e.openBlock(),e.createElementBlock("div",so,[e.createElementVNode("div",null,[e.createVNode(a,{for:"weight",class:"text-sm mb-2"},{default:e.withCtx(()=>[...i[4]||(i[4]=[e.createTextVNode("Weight",-1)])]),_:1}),e.createVNode(v,{id:"weight",type:"number",modelValue:e.unref(r),"onUpdate:modelValue":i[1]||(i[1]=h=>e.isRef(r)?r.value=h:null),class:"no-spinner"},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(a,{for:"weight-unit",class:"text-sm mb-2"},{default:e.withCtx(()=>[...i[5]||(i[5]=[e.createTextVNode("Weight unit",-1)])]),_:1}),e.createVNode(D,{modelValue:e.unref(l),"onUpdate:modelValue":i[2]||(i[2]=h=>e.isRef(l)?l.value=h:null)},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(p,{placeholder:"Select unit"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(V,{value:"lb"},{default:e.withCtx(()=>[...i[6]||(i[6]=[e.createTextVNode(" lb ",-1)])]),_:1}),e.createVNode(V,{value:"oz"},{default:e.withCtx(()=>[...i[7]||(i[7]=[e.createTextVNode(" oz ",-1)])]),_:1}),e.createVNode(V,{value:"kg"},{default:e.withCtx(()=>[...i[8]||(i[8]=[e.createTextVNode(" kg ",-1)])]),_:1}),e.createVNode(V,{value:"g"},{default:e.withCtx(()=>[...i[9]||(i[9]=[e.createTextVNode(" g ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])])):e.createCommentVNode("",!0)]),_:1})]),_:1})}}});function O(t){t.preventDefault()}function ee(t){t.stopPropagation()}function lt(){const t=new Map;return[function(r,l){t.get(r)&&t.get(r).forEach(s=>{s(l)})},function(r,l){const s=t.get(r)??[];s.push(l),t.set(r,s)}]}var[at,st]=lt();function co(t,o){return t.source===o.source&&t.flags.split("").sort().join("")===o.flags.split("").sort().join("")}function ge(t,o,n=!0,r=["__key"]){if(t===o)return!0;if(typeof o=="object"&&typeof t=="object"&&t!==null&&o!==null){if(t instanceof Map||t instanceof Set)return!1;if(t instanceof Date&&o instanceof Date)return t.getTime()===o.getTime();if(t instanceof RegExp&&o instanceof RegExp)return co(t,o);if(t===null||o===null)return!1;const l=t,s=o;if(Object.keys(l).length!==Object.keys(s).length)return!1;for(const i of r)if((i in l||i in s)&&l[i]!==s[i])return!1;for(const i in l)if(!(i in s)||l[i]!==s[i]&&!n||n&&!ge(l[i],s[i],n,r))return!1;return!0}return!1}function it(t){return t.split(" ").filter(o=>o)}function pe(t){return{x:t.clientX,y:t.clientY}}Array();var Ue=typeof window<"u",z=new WeakMap,G=new WeakMap;function dt(){if(!Ue)return!1;if("userAgentData"in navigator)return navigator.userAgentData.mobile===!0;const t=navigator.userAgent,o=/android|iphone|ipod/i.test(t),n=/iPad/.test(t)||t.includes("Macintosh")&&navigator.maxTouchPoints>1;return o||n}var uo={affectedNodes:[],coordinates:{x:0,y:0},currentTargetValue:void 0,on:st,emit:at,originalZIndex:void 0,pointerSelection:!1,preventEnter:!1,rootUserSelect:void 0,nodePointerdown:void 0,longPress:!1,scrolling:!1,longPressTimeout:void 0,remapJustFinished:!1,selectedNodes:[],selectedParent:void 0,preventSynthDrag:!1,pointerDown:void 0,lastScrollContainerX:null,lastScrollContainerY:null,rootScrollWidth:void 0,rootScrollHeight:void 0,dragItemRect:void 0,windowScrollX:void 0,windowScrollY:void 0,lastScrollDirectionX:void 0,lastScrollDirectionY:void 0,scrollDebounceTimeout:void 0,frameIdX:void 0,frameIdY:void 0},m=uo,Q=!1,Qe,ze;function po(){m.scrollDebounceTimeout&&clearTimeout(m.scrollDebounceTimeout),m.longPressTimeout&&clearTimeout(m.longPressTimeout),m.frameIdX!==void 0&&cancelAnimationFrame(m.frameIdX),m.frameIdY!==void 0&&cancelAnimationFrame(m.frameIdY),m={...{affectedNodes:[],coordinates:{x:0,y:0},on:st,emit:at,currentTargetValue:void 0,originalZIndex:void 0,pointerId:void 0,preventEnter:!1,remapJustFinished:!1,selectedNodes:[],nodePointerdown:void 0,rootUserSelect:void 0,preventSynthDrag:!1,scrolling:!1,selectedParent:void 0,pointerSelection:!1,synthScrollDirection:void 0,draggedNodeDisplay:void 0,synthDragScrolling:!1,longPress:!1,pointerDown:void 0,longPressTimeout:void 0,lastScrollContainerX:null,lastScrollContainerY:null,rootScrollWidth:void 0,rootScrollHeight:void 0,dragItemRect:void 0,windowScrollX:void 0,windowScrollY:void 0,lastScrollDirectionX:void 0,lastScrollDirectionY:void 0,scrollDebounceTimeout:void 0,frameIdX:void 0,frameIdY:void 0}}}function ct(t){return Object.assign(m,t),t.initialParent.data.emit("dragStarted",m),Q=!1,m.emit("dragStarted",m),m}function mo(){m.activeState&&le(m.activeState.parent,void 0,m),m.selectedState&&re(m.selectedState.nodes,m.selectedState.parent,m),m.selectedState=m.activeState=void 0}function fo(){if(m.pointerDown&&(m.pointerDown.node.el.draggable=!0),m.pointerDown=void 0,!H(m))return;const t=m.currentParent.data.config;H(m)&&t.handleEnd(m)}function go(t){t.key==="Escape"&&(m.selectedState&&re(m.selectedState.nodes,m.selectedState.parent,m),m.activeState&&le(m.activeState.parent,void 0,m),m.selectedState=m.activeState=void 0)}function vo(t){if(!L(m))return;Q=!0;const o=m.initialParent.data.config.handleEnd;o(m)}function Vo(t){if(!L(m))return;O(t);const{x:o,y:n}=pe(t);L(m)&&ke({x:o,y:n},t,m)}function ho(t){if(!m.pointerDown||!m.pointerDown.validated)return;const o=m.pointerDown.parent.data.config;if(!(t.pointerType==="mouse"&&!dt()))if(H(m))H(m)&&et(t,m);else{if(O(t),o.longPress&&!m.longPress){clearTimeout(m.longPressTimeout),m.longPress=!1;return}const n=o.draggedNodes(m.pointerDown);o.dragstartClasses(m.pointerDown.node,n,o,!0);const r=m.pointerDown.node.el.getBoundingClientRect(),l=qo(m.pointerDown.node,m.pointerDown.parent,t,m,n,r);et(t,l,!0)}}function xo({parent:t,getValues:o,setValues:n,config:r={}}){if(!Ue)return;Qe||(Qe=ye(document,{dragover:Vo,pointerdown:mo,pointerup:fo,keydown:go,drop:vo,pointermove:ho,pointercancel:j(r.handlePointercancel),touchmove:a=>{L(m)&&a.cancelable&&O(a)},contextmenu:a=>{H(m)&&O(a)}})),_o(t);const[l,s]=lt(),i={getValues:o,setValues:n,config:{dragDropEffect:r.dragDropEffect??"move",dragEffectAllowed:r.dragEffectAllowed??"move",draggedNodes:Io,dragstartClasses:Ao,handleNodeKeydown:zo,handleDragstart:Fo,handleNodeDragover:Jo,handleParentDragover:Wo,handleNodeDrop:Lo,handleNodeFocus:Uo,handleNodeBlur:jo,handlePointercancel:Xo,handleEnd:Ko,handleDragend:Ho,handleParentFocus:No,handleNodePointerup:Yo,handleNodePointerover:Oo,handleParentPointerover:Zo,handleParentScroll:$o,handleNodePointerdown:Mo,handleNodeDragenter:en,handleNodeDragleave:tn,handleParentDrop:bo,multiDrag:r.multiDrag??!1,nativeDrag:r.nativeDrag??!0,performSort:Co,performTransfer:yo,root:r.root??document,setupNode:wo,setupNodeRemap:pt,reapplyDragClasses:Do,tearDownNode:Eo,tearDownNodeRemap:So,remapFinished:Bo,threshold:{horizontal:0,vertical:0},...r},enabledNodes:[],abortControllers:{},privateClasses:[],on:s,emit:l};new MutationObserver(To).observe(t,{childList:!0}),z.set(t,i),r.plugins?.forEach(a=>{a(t)?.tearDown?.()}),r.plugins?.forEach(a=>{a(t)?.tearDown?.()}),r.plugins?.forEach(a=>{a(t)?.setup?.()}),ko(t,i),be(t,!0)}function ut(t,o,n,r,l,s){const{x:i,y:d}=pe(n),a=t.el.getBoundingClientRect();return{affectedNodes:[],ascendingDirection:!1,clonedDraggedEls:[],coordinates:{x:i,y:d},draggedNode:{el:t.el,data:t.data},draggedNodes:r,incomingDirection:void 0,initialIndex:t.data.index,initialParent:{el:o.el,data:o.data},currentParent:{el:o.el,data:o.data},longPress:o.data.config.longPress??!1,longPressTimeout:void 0,currentTargetValue:t.data.value,scrollEls:[],startLeft:l||i-(a?.left??0),startTop:s||d-(a?.top??0),targetIndex:t.data.index,transferred:!1}}function Co({parent:t,draggedNodes:o,targetNodes:n}){be(t.el);const r=o.map(a=>a.data.value),l=ue(t.el,t.data),s=o[0].data.index,i=[...t.data.enabledNodes],d=[...l.filter(a=>!r.some(v=>ge(a,v)))];d.splice(n[0].data.index,0,...r),"draggedNode"in m&&(m.currentTargetValue=n[0].data.value),Oe(t.el,t.data,[...d]),t.data.config.onSort&&t.data.config.onSort({parent:{el:t.el,data:t.data},previousValues:[...l],previousNodes:[...i],nodes:[...t.data.enabledNodes],values:[...d],draggedNodes:o,previousPosition:s,position:n[0].data.index,targetNodes:n,state:m})}function le(t,o,n){if(!o){n.activeState=void 0;return}n.activeState={node:o,parent:t}}function re(t,o,n){const r=o.data.config.selectedClass;if(!n.selectedState)return;const l=Array.from(t);Z(t.map(s=>s.el),r);for(const s of l){s.el.setAttribute("aria-selected","false");const i=n.selectedState.nodes.findIndex(d=>d.el===s.el);i!==-1&&n.selectedState.nodes.splice(i,1)}}function Ce(t,o,n,r,l=!1){r.pointerSelection=l;for(const s of o)s.el.setAttribute("aria-selected","true"),ce([s.el],t.data.config.selectedClass,!0);r.selectedState={nodes:o,parent:t},le(t,n,r)}function No(t,o){const n=t.targetData.parent.data.enabledNodes[0];n&&(o.selectedState&&o.selectedState.parent.el!==t.targetData.parent.el?le(t.targetData.parent,n,o):o.selectedState||le(t.targetData.parent,n,o))}function yo({currentParent:t,targetParent:o,initialParent:n,draggedNodes:r,initialIndex:l,targetNodes:s,state:i}){be(n.el);const d=r.map(V=>V.data.value),a=[...ue(t.el,t.data).filter(V=>!d.some(x=>ge(V,x)))],v=ue(o.el,o.data),p=n.el===o.el&&o.data.config.sortable===!1;let u;s.length?(p?u=l:o.data.config.sortable===!1?u=o.data.enabledNodes.length:u=s[0].data.index,v.splice(u,0,...d)):(u=p?l:o.data.enabledNodes.length,v.splice(u,0,...d)),Oe(t.el,t.data,a),Oe(o.el,o.data,v),o.data.config.onTransfer&&o.data.config.onTransfer({sourceParent:t,targetParent:o,initialParent:n,draggedNodes:r,targetIndex:u,state:i,targetNodes:s}),t.data.config.onTransfer&&t.data.config.onTransfer({sourceParent:t,targetParent:o,initialParent:n,draggedNodes:r,targetIndex:u,state:i,targetNodes:s||[]})}function ue(t,o){return[...o.getValues(t)]}function Oe(t,o,n){o.setValues(n,t)}function bo(t,o){ee(t.e),Q=!0;const n=o.initialParent.data.config.handleEnd;n(o)}function _o(t){const o=z.get(t);o&&o.abortControllers.mainParent&&o.abortControllers.mainParent.abort()}function L(t){return"draggedNode"in t&&!!t.draggedNode}function H(t){return"synthDragging"in t&&!!t.synthDragging}function ko(t,o){o.abortControllers.mainParent=ye(t,{dragover:Ne(o.config.handleParentDragover),handleParentPointerover:o.config.handleParentPointerover,scroll:Ne(o.config.handleParentScroll),drop:Ne(o.config.handleParentDrop),hasNestedParent:n=>{const r=z.get(n.target);r&&(r.nestedParent=n.detail.parent)},focus:Ne(o.config.handleParentFocus)}),o.config.externalDragHandle&&o.config.externalDragHandle.el&&o.config.externalDragHandle.callback&&(o.abortControllers.externalDragHandle=ye(o.config.externalDragHandle.el,{pointerdown:n=>{if(!o.config.externalDragHandle||!o.config.externalDragHandle.callback)return;const r=o.config.externalDragHandle.callback();if(!we(r)){console.warn("No draggable item found from external drag handle callback");return}const l=G.get(r);if(!l)return;const s=r.parentNode;if(!(s instanceof HTMLElement))return;const i=z.get(s);i&&(m.pointerDown={parent:{el:s,data:i},node:{el:r,data:l},validated:!0},r.draggable=!0)}}))}function wo(t){const o=t.parent.data.config;t.node.data.abortControllers.mainNode=ye(t.node.el,{keydown:j(o.handleNodeKeydown),dragstart:j(o.handleDragstart),dragover:j(o.handleNodeDragover),dragenter:j(o.handleNodeDragenter),dragleave:j(o.handleNodeDragleave),dragend:j(o.handleDragend),drop:j(o.handleNodeDrop),focus:j(o.handleNodeFocus),blur:j(o.handleNodeBlur),pointerup:j(o.handleNodePointerup),pointercancel:j(o.handlePointercancel),pointerdown:j(o.handleNodePointerdown),handleNodePointerover:o.handleNodePointerover,touchmove:n=>{L(m)&&n.cancelable&&O(n)},contextmenu:n=>{H(m)&&O(n)}}),t.node.el.draggable=!0,o.reapplyDragClasses(t.node.el,t.parent.data),t.parent.data.config.plugins?.forEach(n=>{n(t.parent.el)?.setupNode?.(t)})}function pt(t){G.set(t.node.el,t.node.data),t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.setupNodeRemap?.(t)})}function Do(t,o){if(!L(m))return;const n=H(m)?o.config.synthDropZoneClass:o.config.dropZoneClass;m.draggedNode.el===t&&ce([t],n,!0)}function So(t){t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.tearDownNodeRemap?.(t)})}function Eo(t){t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.tearDownNode?.(t)}),t.node.el.draggable=!1,t.node.data?.abortControllers?.mainNode&&t.node.data?.abortControllers?.mainNode.abort()}function To(t){if(t.length===1&&t[0].addedNodes.length===1&&!(t[0].addedNodes[0]instanceof HTMLElement))return;const o=t[0].target;!(o instanceof HTMLElement)||!z.get(o)||be(o)}function be(t,o){const n=z.get(t);if(!n)return;n.privateClasses=Array.from(t.classList);const r=[],l=n.config;for(let d=0;d<t.children.length;d++){const a=t.children[d];if(!we(a)||a.id==="dnd-dragged-node-clone")continue;const v=G.get(a);(o||!v)&&l.tearDownNode({parent:{el:t,data:n},node:{el:a,data:v}}),!l.disabled&&(!l.draggable||l.draggable&&l.draggable(a))&&r.push(a)}if(r.length!==n.getValues(t).length&&!l.disabled){console.warn("The number of draggable items defined in the parent element does not match the number of values. This may cause unexpected behavior.");return}const s=n.getValues(t),i=[];for(let d=0;d<r.length;d++){const a=r[d],v=G.get(a);if(l.draggableValue&&!l.draggableValue(s[d]))continue;const p=Object.assign(v??{privateClasses:[],abortControllers:{}},{value:s[d],index:d});if(!L(m)&&m.activeState&&ge(m.activeState.node.data.value,p.value)&&le({data:n,el:t},{el:a,data:p},m),L(m)&&ge(m.draggedNode.data.value,p.value)){m.draggedNode.data=p,m.draggedNode.el=a;const u=m.draggedNodes.find(V=>V.data.value===p.value);u&&(u.el=a)}i.push({el:a,data:p}),(o||!v)&&l.setupNode({parent:{el:t,data:n},node:{el:a,data:p}}),pt({parent:{el:t,data:n},node:{el:a,data:p}})}z.set(t,{...n,enabledNodes:i}),l.remapFinished(n),n.config.plugins?.forEach(d=>{d(t)?.remapFinished?.()})}function Bo(){m.remapJustFinished=!0,"draggedNode"in m&&(m.affectedNodes=[])}function Po(t){return!!t.targetData.parent.data.config.nativeDrag}function Io(t){if(t.parent.data.config.multiDrag){if(m.selectedState)return[t.node,...m.selectedState?.nodes.filter(o=>o.el!==t.node.el)]}else return[t.node];return[]}function $o(t){L(m)&&(m.emit("scrollStarted",m),!H(m)&&(m.preventEnter=!0,ze&&clearTimeout(ze),ze=setTimeout(()=>{m.preventEnter=!1,m.emit("scrollEnded",m)},100)))}function Fo(t,o){const n=t.targetData.parent.data.config;if(!n.nativeDrag||!Po(t)||!mt({x:t.e.clientX,y:t.e.clientY,node:t.targetData.node,config:n})){O(t.e);return}let r=n.draggedNodes({parent:t.targetData.parent,node:t.targetData.node});r.length===0&&(r=[t.targetData.node]),n.dragstartClasses(t.targetData.node,r,n);const l=Ro(t,r);if(n.onDragstart){const s={parent:t.targetData.parent,values:ue(t.targetData.parent.el,t.targetData.parent.data),draggedNode:l.draggedNode,draggedNodes:l.draggedNodes,position:l.initialIndex,state:l};n.onDragstart(s)}}function Mo(t,o){if(ee(t.e),o.pointerDown={parent:t.targetData.parent,node:t.targetData.node,validated:!1},!mt({x:t.e.clientX,y:t.e.clientY,node:t.targetData.node,config:t.targetData.parent.data.config}))return;o.pointerDown.validated=!0,Go(t,o,t.targetData.node);const n=t.targetData.parent.data;let r=[t.targetData.node];const l=t.e.ctrlKey||t.e.metaKey,s=t.e.shiftKey,i=t.targetData.node;if(l&&n.config.multiDrag){o.selectedState?o.selectedState.nodes.findIndex(a=>a.el===i.el)===-1?r=[...o.selectedState.nodes,i]:r=o.selectedState.nodes.filter(a=>a.el!==i.el):r=[i],Ce(t.targetData.parent,r,t.targetData.node,o,!0);return}if(s&&n.config.multiDrag){const d=t.targetData.parent.data.enabledNodes;if(o.selectedState&&o.activeState)if(o.selectedState.parent.el!==t.targetData.parent.el){re(o.selectedState.nodes,o.selectedState.parent,o),o.selectedState=void 0;for(let a=0;a<=i.data.index;a++)r.push(d[a])}else{const[a,v]=o.activeState.node.data.index<t.targetData.node.data.index?[o.activeState.node.data.index,t.targetData.node.data.index]:[t.targetData.node.data.index,o.activeState.node.data.index];r=d.slice(a,v+1)}else for(let a=0;a<=i.data.index;a++)r.push(d[a]);Ce(t.targetData.parent,r,t.targetData.node,o,!0);return}o.selectedState?.nodes?.length?o.selectedState.nodes.findIndex(a=>a.el===t.targetData.node.el)===-1&&(o.selectedState.parent.el!==t.targetData.parent.el?re(o.selectedState.nodes,t.targetData.parent,o):n.config.multiDrag&&dt()?r.push(...o.selectedState.nodes):re(o.selectedState.nodes,t.targetData.parent,o),Ce(t.targetData.parent,r,t.targetData.node,o,!0)):Ce(t.targetData.parent,[t.targetData.node],t.targetData.node,o,!0)}function Ao(t,o,n,r=!1){ce(o.map(l=>l.el),r?n.synthDraggingClass:n.draggingClass),setTimeout(()=>{Z(o.map(l=>l.el),r?n.synthDraggingClass:n.draggingClass),ce(o.map(l=>l.el),r?n.synthDragPlaceholderClass:n.dragPlaceholderClass),ce(o.map(l=>l.el),r?n.synthDropZoneClass:n.dropZoneClass),Z(o.map(l=>l.el),n.selectedClass)})}function Ro(t,o){ee(t.e);const n=ct(ut(t.targetData.node,t.targetData.parent,t.e,o));if(t.e.dataTransfer){const r=t.targetData.parent.data.config;t.e.dataTransfer.dropEffect=r.dragDropEffect,t.e.dataTransfer.effectAllowed=r.dragEffectAllowed;let l;if(t.e.dataTransfer.setData("text/plain",""),r.dragImage)l=r.dragImage(t,o);else{if(!r.multiDrag||o.length===1)return t.targetData.node.el.style.zIndex="9999",t.targetData.node.el.style.boxSizing="border-box",t.e.dataTransfer.setDragImage(t.targetData.node.el,t.e.offsetX,t.e.offsetY),n.originalZIndex=t.targetData.node.el.style.zIndex,n;{const s=document.createElement("div");s.setAttribute("id","dnd-dragged-node-clone"),s.setAttribute("popover","manual");for(const d of o){const a=d.el.cloneNode(!0);a.id=d.el.id+"-clone",a.style.pointerEvents="none",s.appendChild(a)}const{width:i}=o[0].el.getBoundingClientRect();Object.assign(s.style,{display:"flex",flexDirection:"column",width:`${i}px`,position:"absolute",pointerEvents:"none",zIndex:"9999",left:"-9999px",boxSizing:"border-box",background:"transparent",overflow:"hidden"}),t.targetData.parent.el.appendChild(s),s.showPopover(),s.getBoundingClientRect(),l=s,t.e.dataTransfer.setDragImage(l,t.e.offsetX,t.e.offsetY)}}setTimeout(()=>{l?.remove()})}return n}function mt({x:t,y:o,node:n,config:r}){if(r.externalDragHandle)return!1;if(!r.dragHandle)return!0;const l=n.el.querySelectorAll(r.dragHandle);if(!l)return!1;const s=r.root.elementFromPoint(t,o);if(!s)return!1;for(const i of Array.from(l))if(s===i||i.contains(s))return!0;return!1}function zo(t){}function Oo(t){t.detail.targetData.parent.el===t.detail.state.currentParent.el?gt(t.detail,t.detail.state):_e(t.detail,t.detail.state)}function Lo(t,o){const n=t.targetData.parent.data.config;n.nativeDrag&&(ee(t.e),Q=!0,n.handleEnd(o))}function Uo(t){t.e.target!==t.e.currentTarget&&m.pointerDown&&(m.pointerDown.node.el.draggable=!1)}function jo(t){t.e.target!==t.e.currentTarget&&m.pointerDown&&(m.pointerDown.node.el.draggable=!0)}function Ho(t,o){const n=t.targetData.parent.data.config;if(n.nativeDrag){if(O(t.e),ee(t.e),Q){Q=!1;return}n.handleEnd(o)}}function Xo(t,o){if(!H(o))return;if(O(t.e),Q){Q=!1;return}const n=z.get(o.initialParent.el)?.config;n?.onDragend&&n.onDragend({parent:o.currentParent,values:ue(o.currentParent.el,o.currentParent.data),draggedNode:o.draggedNode,draggedNodes:o.draggedNodes,state:o}),n?.handleEnd(o)}function Ko(t){t.draggedNode&&(t.draggedNode.el.draggable=!0);const o=t.draggedNodes.map(p=>p.el),n=t.initialParent.data,r=H(t),l=z.get(t.initialParent.el)?.config,s=r?l?.synthDropZoneClass:l?.dropZoneClass,i=n?.config?.longPressClass,d=r?n?.config?.synthDragPlaceholderClass:n?.config?.dragPlaceholderClass,a=t.originalZIndex;H(t)&&(t.clonedDraggedNode&&t.clonedDraggedNode.remove(),t.longPressTimeout&&clearTimeout(t.longPressTimeout)),Le(t),t.lastScrollDirectionX=void 0,t.lastScrollDirectionY=void 0,t.preventEnter=!1,t.scrollDebounceTimeout&&(clearTimeout(t.scrollDebounceTimeout),t.scrollDebounceTimeout=void 0),a!==void 0&&t.draggedNode&&(t.draggedNode.el.style.zIndex=a),requestAnimationFrame(()=>{Z(o,s),Z(o,i),Z(o,d)}),re(t.draggedNodes,t.currentParent,t),le(t.currentParent,void 0,t);const v={...t};l?.onDragend?.({parent:v.currentParent,values:ue(v.currentParent.el,v.currentParent.data),draggedNode:v.draggedNode,draggedNodes:v.draggedNodes,state:v}),t.emit("dragEnded",v),po()}function Yo(t,o){ee(t.e),!o.pointerSelection&&o.selectedState&&re(o.selectedState.nodes,t.targetData.parent,o);const n=t.targetData.parent.data.config;o.pointerSelection=!1,"longPressTimeout"in o&&o.longPressTimeout&&clearTimeout(o.longPressTimeout),o.longPress=!1,Z(t.targetData.parent.data.enabledNodes.map(r=>r.el),n.longPressClass),L(o)&&n.handleEnd(o)}function qo(t,o,n,r,l,s){const i=o.data.config;let d,a;const v=["display","flexDirection","alignItems","justifyContent","padding","paddingTop","margin","marginTop","marginBottom","marginLeft","marginRight","paddingBottom","paddingLeft","paddingRight","border","borderRadius","background","backgroundColor","boxShadow","font","color","lineHeight","gap","width","height","boxSizing","overflow"],p=(y,D)=>{const S=window.getComputedStyle(y);v.forEach(E=>{D.style[E]=S[E]})},u=(y,D={})=>{Object.assign(y.style,{position:"absolute",zIndex:"9999",pointerEvents:"none",willChange:"transform",boxSizing:"border-box",opacity:"0",overflow:"hidden",width:`${s.width}px`,height:`${s.height}px`,...D})};if(i.synthDragImage)a=i.synthDragImage(t,o,n,l),d=a.dragImage,d.setAttribute("popover","manual"),u(d);else if(!i.multiDrag||l.length===1)d=t.el.cloneNode(!0),p(t.el,d),d.setAttribute("popover","manual"),u(d);else{const y=document.createElement("div");y.setAttribute("popover","manual"),l.forEach(D=>{const S=D.el.cloneNode(!0);p(D.el,S),S.style.pointerEvents="none",S.style.margin="0",y.append(S)}),y.style.display="flex",y.style.flexDirection="column",y.style.padding="0",y.style.margin="0",y.style.position="absolute",y.style.zIndex="9999",y.style.pointerEvents="none",d=y}d.id="dnd-dragged-node-clone",o.el.appendChild(d),d.showPopover();const V={clonedDraggedEls:[],clonedDraggedNode:d,synthDragScrolling:!1,synthDragging:!0,rootScrollWidth:document.scrollingElement?.scrollWidth,rootScrollHeight:document.scrollingElement?.scrollHeight};return ct({...ut(t,o,n,l,a?.offsetX,a?.offsetY),...V})}function Go(t,o,n){const r=t.targetData.parent.data.config;o.longPressTimeout=setTimeout(()=>{o&&(o.longPress=!0,r.longPressClass&&t.e.cancelable&&ce([n.el],r.longPressClass),O(t.e))},r.longPressDuration||1e3)}function Le(t,o=!0,n=!0){o&&(t.frameIdX!==void 0&&(cancelAnimationFrame(t.frameIdX),t.frameIdX=void 0),t.lastScrollDirectionX=void 0),n&&(t.frameIdY!==void 0&&(cancelAnimationFrame(t.frameIdY),t.frameIdY=void 0),t.lastScrollDirectionY=void 0),!t.frameIdX&&!t.frameIdY&&(t.preventEnter=!1)}function ft(t,o=!1){const{x:n,y:r}=t.coordinates,l=t.startLeft??0,s=t.startTop??0,i=window.scrollX??0,d=window.scrollY??0,a=n-l+i,v=r-s+d;t.clonedDraggedNode.style.transform=`translate3d(${a}px, ${v}px, 0px)`,o&&(t.clonedDraggedNode.style.opacity="1",Z(t.draggedNodes.map(p=>p.el),t.initialParent.data.config?.longPressClass))}function et(t,o,n=!1){const r=pe(t);o.coordinates.x=r.x,o.coordinates.y=r.y,ft(o,n),o.scrollDebounceTimeout&&(clearTimeout(o.scrollDebounceTimeout),o.scrollDebounceTimeout=void 0),o.scrollDebounceTimeout=setTimeout(()=>{H(o)&&ke(o.coordinates,t,o)},16);const l=ln(r);if(!l){document.dispatchEvent(new CustomEvent("handleRootPointerover",{detail:{e:t,state:o}}));return}const s={e:t,targetData:l,state:o};"node"in l?l.node.el.dispatchEvent(new CustomEvent("handleNodePointerover",{detail:s})):l.parent.el.dispatchEvent(new CustomEvent("handleParentPointerover",{detail:s}))}function Jo(t,o){if(!t.targetData.parent.data.config.nativeDrag)return;const{x:r,y:l}=pe(t.e);o.coordinates.y=l,o.coordinates.x=r,O(t.e),ee(t.e),L(o)&&ke({x:r,y:l},t.e,o),t.targetData.parent.el===o.currentParent?.el?gt(t,o):_e(t,o)}function Wo(t,o){if(!t.targetData.parent.data.config.nativeDrag)return;O(t.e),ee(t.e);const{x:r,y:l}=pe(t.e);L(o)&&ke({x:r,y:l},t.e,o),_e(t,o)}function Zo(t){t.detail.targetData.parent.el!==t.detail.state.currentParent.el&&_e(t.detail,t.detail.state)}function Qo({currentParent:t,targetParent:o,initialParent:n,draggedNodes:r,state:l}){if(o.el===t.el)return!1;const s=o.data.config;if(r[0].el.contains(o.el)||s.dropZone===!1)return!1;const i=n.data.config;return s.accepts?s.accepts(o,n,t,l):!(!s.group||s.group!==i.group)}function en(t,o){O(t.e)}function tn(t,o){O(t.e)}function on(t,o,n,r){if(o.affectedNodes.map(p=>p.data.value).includes(t.targetData.node.data.value))return!1;if(o.remapJustFinished)return o.remapJustFinished=!1,(t.targetData.node.data.value===o.currentTargetValue||o.draggedNodes.map(p=>p.el).includes(t.targetData.node.el))&&(o.currentTargetValue=t.targetData.node.data.value),!1;if(o.preventEnter)return!1;if(o.draggedNodes.map(p=>p.el).includes(t.targetData.node.el))return o.currentTargetValue=void 0,!1;if(t.targetData.node.data.value===o.currentTargetValue||t.targetData.parent.el!==o.currentParent?.el||t.targetData.parent.data.config.sortable===!1||t.targetData.node.el.contains(o.draggedNodes[0].el))return!1;const l=t.targetData.node.el.getBoundingClientRect(),s=o.draggedNode.el.getBoundingClientRect(),i=l.y-s.y,d=l.x-s.x;let a;Math.abs(i)>Math.abs(d)?a=i>0?"above":"below":a=d>0?"left":"right";const v=o.currentParent.data.config.threshold;switch(a){case"left":if(n>l.x+l.width*v.horizontal)return o.incomingDirection="left",!0;break;case"right":if(n<l.x+l.width*(1-v.horizontal))return o.incomingDirection="right",!0;break;case"above":if(r>l.y+l.height*v.vertical)return o.incomingDirection="above",!0;break;case"below":if(r<l.y+l.height*(1-v.vertical))return o.incomingDirection="below",!0;break}return!1}function gt(t,o){const{x:n,y:r}=pe(t.e);if(!on(t,o,n,r))return;const l=o.draggedNode.data.index>t.targetData.node.data.index?[t.targetData.node.data.index,o.draggedNode.data.index]:[o.draggedNode.data.index,t.targetData.node.data.index];o.targetIndex=t.targetData.node.data.index,o.affectedNodes=t.targetData.parent.data.enabledNodes.filter(s=>l[0]<=s.data.index&&s.data.index<=l[1]&&s.el!==o.draggedNode.el),t.targetData.parent.data.config.performSort({parent:t.targetData.parent,draggedNodes:o.draggedNodes,targetNodes:[t.targetData.node]})}function j(t){function o(n){const r=G.get(n);if(!r)return;const l=z.get(n.parentNode);if(l)return{node:{el:n,data:r},parent:{el:n.parentNode,data:l}}}return n=>{const r=o(n.currentTarget);if(r)return t({e:n,targetData:r},m)}}function _e(t,o){O(t.e),Qo({currentParent:o.currentParent,targetParent:t.targetData.parent,initialParent:o.initialParent,draggedNodes:o.draggedNodes,state:o})&&(t.targetData.parent.data.config.performTransfer({currentParent:o.currentParent,targetParent:t.targetData.parent,initialParent:o.initialParent,draggedNodes:o.draggedNodes,initialIndex:o.initialIndex,state:o,targetNodes:"node"in t.targetData?[t.targetData.node]:[]}),o.currentParent=t.targetData.parent,o.transferred=!0)}function Ne(t){function o(n){const r=z.get(n);if(r)return{parent:{el:n,data:r}}}return n=>{const r=o(n.currentTarget);if(r)return t({e:n,targetData:r},m)}}function ce(t,o,n=!1){function r(l,s){G.set(l,s)}for(const l of t){const s=G.get(l),i=nn(l,o,s,n);i&&r(l,i)}}function nn(t,o,n,r=!1){if(!o)return;const l=it(o);if(!l.length)return;if(!n){t.classList.add(...l);return}const s=[];for(const i of l)t.classList.contains(i)?t.classList.contains(i)&&r===!1&&s.push(i):t.classList.add(i);return n.privateClasses=s,n}function Z(t,o){if(!o)return;const n=it(o);if(n.length)for(const r of t){if(!we(r)){r.classList.remove(...n);continue}const l=G.get(r)||z.get(r);if(l)for(const s of n)l.privateClasses.includes(s)||r.classList.remove(s)}}function tt(t,o,n,r,l){const i=l.axis==="x",d=t===document.scrollingElement,a=i?"scrollLeft":"scrollTop",v=i?"clientWidth":"clientHeight",p=i?"offsetWidth":"offsetHeight",u=i?"scrollWidth":"scrollHeight",V=i?o.clientX:o.clientY,x=i?r.left:r.top,y=i?n.overflowX:n.overflowY;if(d){const D=t[a],S=t[v],E=D>0,h=D+S<(i?l.state.rootScrollWidth||0:t[u]);return i?{left:E&&V<S*.075,right:h&&V>S*(1-.075)}:{up:E&&V<S*.075,down:h&&V>S*(1-.075)}}if((y==="auto"||y==="scroll")&&t!==document.body&&t!==document.documentElement){const D=t[u],S=t[p],E=t[a],h=E>0,C=E<D-S;return i?{left:h&&V<x+S*.075,right:C&&V>x+S*(1-.075)}:{up:h&&V<x+S*.075,down:C&&V>x+S*(1-.075)}}return i?{left:!1,right:!1}:{up:!1,down:!1}}function rn(t,o,n,r){if(!L(n)||!n.draggedNode)return;n.preventEnter=!0;const l=r.axis==="x",s=r.direction==="positive"?1:-1,i=20,d=l?"lastScrollDirectionX":"lastScrollDirectionY",a=l?"frameIdX":"frameIdY";n[a]!==void 0&&(cancelAnimationFrame(n[a]),n[a]=void 0),n[d]=r.direction;const v=()=>{if(!L(n)||!n.draggedNode){n[a]!==void 0&&(cancelAnimationFrame(n[a]),n[a]=void 0);return}const p=l?"scrollLeft":"scrollTop",u=l?"clientWidth":"clientHeight",V=l?"scrollWidth":"scrollHeight",x=t[p],y=t[u],D=t[V];if(!(s>0?x+y<D:x>0)){n[a]=void 0,n[d]=void 0;return}t[p]+=i*s,H(n)&&ft(n),n[a]=requestAnimationFrame(v)};n[a]=requestAnimationFrame(v)}function ot(t,o,n){const r=t.getBoundingClientRect();return o>=r.left&&o<=r.right&&n>=r.top&&n<=r.bottom}function ke(t,o,n){if(!L(n)||!n.draggedNode)return;Le(n);const{x:r,y:l}=t;let s=!1;const i=(a,v,p)=>{rn(p,o,n,{axis:a,direction:v}),s=!0},d=a=>{const v=window.getComputedStyle(a),p=a.getBoundingClientRect(),u=tt(a,o,v,p,{axis:"x",state:n}),V=tt(a,o,v,p,{axis:"y"});(u.left||u.right)&&(n.lastScrollContainerX=a,i("x",u.right?"positive":"negative",a)),(V.up||V.down)&&(n.lastScrollContainerY=a,i("y",V.down?"positive":"negative",a))};if(n.lastScrollContainerX&&ot(n.lastScrollContainerX,r,l)&&d(n.lastScrollContainerX),!s&&n.lastScrollContainerY&&ot(n.lastScrollContainerY,r,l)&&d(n.lastScrollContainerY),!s){let a=document.elementFromPoint(r,l);for(;a&&!(s&&n.lastScrollContainerX&&n.lastScrollContainerY);)a instanceof HTMLElement&&d(a),a=a.parentElement}if(!s){const a=document.scrollingElement;a instanceof HTMLElement&&d(a)}s||Le(n)}function ln(t){let o=document.elementFromPoint(t.x,t.y);if(!we(o))return;let n,r=!0;for(;o&&r;){if(G.has(o)||z.has(o)){r=!1,n=z.has(o);break}o=o.parentNode}if(n){const l=z.get(o);return l?{parent:{el:o,data:l}}:void 0}else{const l=G.get(o);if(!l)return;const s=z.get(o.parentNode);return s?{node:{el:o,data:l},parent:{el:o.parentNode,data:s}}:void 0}}function we(t){return t instanceof HTMLElement&&t.parentNode instanceof HTMLElement}function ye(t,o){const n=new AbortController;for(const r in o){const l=o[r];t.addEventListener(r,l,{signal:n.signal,passive:!1,capture:r==="focus"||r==="blur"})}return n}function nt(t){if(t instanceof HTMLElement)return t;if(t.value instanceof HTMLElement)return t.value;if("$el"in t&&t.$el instanceof HTMLElement)return t.$el}function an(t,o){Array.isArray(t)||(t=[t]);for(const n of t){const r=nt(n);if(r)return o(r);const l=e.watch(n,s=>{if(!s)return;const i=nt(s);i?o(i):console.warn("Invalid parent element",s),l()})}}var je=new WeakMap;function sn(t){const o=je.get(t);return o?"value"in o?o.value:o:(console.warn("No values found for parent element"),[])}function dn(t,o){const n=je.get(o);n&&"value"in n&&(n.value=t)}function vt(t){Ue&&(Array.isArray(t)||(t=[t]),t.forEach(o=>{const{parent:n,values:r,...l}=o;an(n,cn(l,r))}))}function cn(t,o){return n=>{je.set(n,o),xo({parent:n,getValues:sn,setValues:dn,config:{...t}})}}const un={key:0,class:"flex gap-4 p-6 border-b last:border-b-0"},pn={class:"option-drag-handle flex-none mt-9.5 cursor-grab"},mn={class:"flex-1"},fn={class:"mb-3"},gn={class:"flex items-center"},vn={key:0,class:"mt-1 text-sm text-red-600"},Vn={class:"flex items-center gap-1"},hn={class:"mb-2"},xn={key:0,class:"option-value-drag-handle absolute -left-7 top-1/2 -translate-y-1/2 flex-none mr-2 cursor-grab"},Cn=["onClick"],Nn={class:"flex justify-between"},yn={class:"flex-1"},bn={class:"text-sm mb-2"},_n={class:"flex flex-wrap gap-2"},kn={key:0,class:"px-2 py-1 border rounded-full bg-muted text-muted-foreground text-sm"},wn=e.defineComponent({__name:"Option",props:{option:{type:Object,required:!0}},emits:["update:option","remove"],setup(t,{expose:o,emit:n}){const r=t,{confirm:l}=W.useConfirmation(),s=n,i=e.computed({get(){return r.option},set(h){s("update:option",h)}}),d=e.computed({get(){return i.value.values},set(h){i.value.values=h}}),a=e.useTemplateRef("valueListRef"),v=e.ref(!1);e.watch(v,async h=>{h||(await e.nextTick(),vt({parent:a?.value,values:d,group:"valueList",dragHandle:".option-value-drag-handle",plugins:[rt.animations()]}))},{immediate:!0});const p=()=>Math.random().toString(36).substring(2,15),u=()=>{i.value.values.push({id:p(),value:""})},V=async()=>{(i.value.name.trim()||i.value.values.filter(h=>h.value.trim()!=="").length>0)&&!await l("Are you sure you want to remove this option?")||s("remove")},x=h=>{i.value.values.splice(h,1)},y=h=>{h.name.trim()?h.nameError=void 0:h.nameError="Option name is required."},D=(h,C)=>{const P=h.target,R=i.value.values;if(h.key==="Backspace"&&P.value===""&&R?.length>2){x(C);return}},S=(h,C)=>{h.target;const P=i.value.values,R=P?.[C];R.touched=!0,P?.every(U=>U.value.trim()!=="")&&u()},E=h=>{const C=i.value,P=C?.values.every((R,$)=>R.value.trim()!==""||$===h);C&&C.values[h].value.trim()===""&&!P&&x(h)};return o({minified:v}),(h,C)=>{const P=e.resolveComponent("Input"),R=e.resolveComponent("Button");return v.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"flex gap-4 p-6 border-b last:border-b-0 hover:bg-accent dark:hover:bg-accent/50 cursor-pointer transition-colors duration-200",onClick:C[5]||(C[5]=$=>v.value=!1)},[e.createElementVNode("div",null,[e.createElementVNode("div",{class:"option-drag-handle flex-none mt-5 cursor-grab",onClick:C[4]||(C[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(I.GripVertical),{class:"size-4 text-gray-400"})])]),e.createElementVNode("div",yn,[e.createElementVNode("p",bn,e.toDisplayString(i.value.name),1),e.createElementVNode("div",_n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,$=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:$.id},[$.value?(e.openBlock(),e.createElementBlock("span",kn,e.toDisplayString($.value),1)):e.createCommentVNode("",!0)],64))),128))])])])):(e.openBlock(),e.createElementBlock("div",un,[e.createElementVNode("div",null,[e.createElementVNode("div",pn,[e.createVNode(e.unref(I.GripVertical),{class:"size-4 text-gray-400"})])]),e.createElementVNode("div",mn,[e.createElementVNode("div",fn,[C[6]||(C[6]=e.createElementVNode("label",{class:"block text-sm mb-2"},"Option name",-1)),e.createElementVNode("div",gn,[e.createVNode(P,{modelValue:i.value.name,"onUpdate:modelValue":C[0]||(C[0]=$=>i.value.name=$),onBlur:C[1]||(C[1]=$=>y(i.value)),"aria-invalid":i.value.nameError?"true":"false",placeholder:"Color",spellcheck:"false"},null,8,["modelValue","aria-invalid"])]),i.value.nameError?(e.openBlock(),e.createElementBlock("p",vn,[e.createElementVNode("span",Vn,[e.createVNode(e.unref(I.CircleX),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(i.value.nameError),1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",hn,[C[7]||(C[7]=e.createElementVNode("label",{class:"block text-sm mb-2"},"Option values",-1)),e.createElementVNode("div",{ref_key:"valueListRef",ref:a},[d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(d.value,($,U)=>(e.openBlock(),e.createElementBlock("div",{key:$.id,class:"relative flex items-center mb-2"},[$.touched?(e.openBlock(),e.createElementBlock("div",xn,[e.createVNode(e.unref(I.GripVertical),{class:"size-4 text-gray-400"})])):e.createCommentVNode("",!0),e.createVNode(P,{modelValue:$.value,"onUpdate:modelValue":Y=>$.value=Y,placeholder:"Option value",class:"pr-12",onKeydown:Y=>D(Y,U),onKeyup:Y=>S(Y,U),onBlur:Y=>E(U),spellcheck:"false"},null,8,["modelValue","onUpdate:modelValue","onKeydown","onKeyup","onBlur"]),d.value.length>2&&$.touched?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:Y=>x(U),class:"absolute right-2 top-1/2 -translate-y-1/2 ml-2 p-2 text-muted-foreground/50 hover:text-muted-foreground",type:"button"},[e.createVNode(e.unref(I.Trash2),{class:"size-4"})],8,Cn)):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],512)]),e.createElementVNode("div",Nn,[e.createVNode(R,{size:"sm",variant:"outline",onClick:C[2]||(C[2]=$=>V()),class:"text-red-500 hover:text-red-600"},{default:e.withCtx(()=>[...C[8]||(C[8]=[e.createTextVNode("Delete",-1)])]),_:1}),e.createVNode(R,{size:"sm",onClick:C[3]||(C[3]=$=>v.value=!0),disabled:i.value.name.trim()===""},{default:e.withCtx(()=>[...C[9]||(C[9]=[e.createTextVNode("Done",-1)])]),_:1},8,["disabled"])])])]))}}}),Dn=e.defineComponent({__name:"Options",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,l=n,s=e.ref([]),i=e.useTemplateRef("optionsListRefElement"),d=e.useTemplateRef("optionRefs"),a=e.computed({get(){return r.modelValue},set(E){l("update:modelValue",E)}}),v=e.ref(!1);e.watch(a,E=>{v.value||(!s.value||s.value.length===0&&E.length>0)&&(v.value=!0,s.value=E?JSON.parse(JSON.stringify(E)):[])},{deep:!0}),e.watch(s,E=>{a.value=E?.map(h=>({...h,values:h.values.filter(C=>C.value.trim()!=="")})),!D.value&&E.length>0&&S()},{deep:!0});const p=()=>Math.random().toString(36).substring(2,15),u=()=>{const h={id:p(),name:"",values:[{id:p(),value:""}],nameError:void 0};s.value.push(h)},V=()=>{d.value?.forEach(E=>{E&&(E.minified=!0)})},x=E=>{const h=s.value.findIndex(C=>C.id===E.id);h!==-1&&(s.value[h]=E)},y=E=>{const h=s.value.findIndex(C=>C.id===E.id);h!==-1&&s.value.splice(h,1)},D=e.ref(!1),S=()=>{try{D.value=!0,vt({parent:i?.value,values:s,group:"optionsList",dragHandle:".option-drag-handle",plugins:[rt.animations()]})}catch(E){console.error(E)}};return e.onMounted(()=>{s.value=r.modelValue?JSON.parse(JSON.stringify(r.modelValue)):[],s.value.length>0&&S()}),o({minifyAll:V}),(E,h)=>{const C=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["rounded-lg",s.value.length>0?"border mb-6":""])},[e.createElementVNode("div",{ref_key:"optionsListRefElement",ref:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,P=>(e.openBlock(),e.createBlock(wn,{ref_for:!0,ref_key:"optionRefs",ref:d,key:P.id,option:P,"onUpdate:option":h[0]||(h[0]=R=>x(R)),onRemove:R=>y(P)},null,8,["option","onRemove"]))),128))],512),s.value&&s.value.length<3?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(s.value.length>0?"border-t":"")},[s.value.length===0?(e.openBlock(),e.createBlock(C,{key:0,onClick:u,variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(I.PlusCircle),{class:"size-4"}),h[1]||(h[1]=e.createTextVNode(" Add options like size or color ",-1))]),_:1})):(e.openBlock(),e.createBlock(C,{key:1,onClick:u,variant:"ghost",class:"w-full justify-start pl-2 rounded-t-none"},{default:e.withCtx(()=>[e.createVNode(e.unref(I.PlusCircle),{class:"size-4"}),h[2]||(h[2]=e.createTextVNode(" Add another option ",-1))]),_:1}))],2)):e.createCommentVNode("",!0)],2)])}}}),Sn={class:"grid gap-4 py-2"},En=e.defineComponent({__name:"VariantDialog",setup(t,{expose:o}){const n=e.ref(!1),r=e.ref(!1),l=e.ref(null);return o({openVariantDialog:i=>{n.value=!0,l.value=i}}),(i,d)=>{const a=e.resolveComponent("ResponsiveModalTitle"),v=e.resolveComponent("ResponsiveModalHeader"),p=e.resolveComponent("Button"),u=e.resolveComponent("ResponsiveModalClose"),V=e.resolveComponent("ResponsiveModalFooter"),x=e.resolveComponent("ResponsiveModalScrollContent"),y=e.resolveComponent("ResponsiveModal");return e.openBlock(),e.createBlock(y,{open:e.unref(n),"onUpdate:open":d[0]||(d[0]=D=>e.isRef(n)?n.value=D:null)},{default:e.withCtx(()=>[e.createVNode(x,{class:"sm:max-w-xl"},{default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[...d[1]||(d[1]=[e.createTextVNode("Edit ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Sn," variant "+e.toDisplayString(e.unref(l)),1),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(u,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(p,{variant:"secondary",disabled:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(e.unref(I.X),{class:"mr-2 size-4"}),d[2]||(d[2]=e.createTextVNode(" Close ",-1))]),_:1},8,["disabled"])]),_:1}),e.createVNode(p,{class:"gap-2",disabled:e.unref(r)},{default:e.withCtx(()=>[e.unref(r)?(e.openBlock(),e.createBlock(e.unref(I.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),d[3]||(d[3]=e.createTextVNode(" Update variant ",-1))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Tn={key:0},Bn={class:"flex items-center justify-between gap-2 mb-2"},Pn={key:0,class:"flex items-center gap-2"},In={key:0,class:"mb-4"},$n={class:"flex flex-wrap gap-2"},Fn=["onClick"],Mn={class:"-mx-6 w-[calc(100%+3rem)]"},An={class:"text-muted-foreground text-xs"},Rn={class:"z-[101] sticky -top-4 py-2 font-normal bg-accent dark:bg-border"},zn={class:"z-[101] sticky -top-4 py-2 font-normal whitespace-nowrap bg-accent dark:bg-border"},On={class:"flex items-center gap-2"},Ln={class:"z-[101] sticky -top-4 py-2 pr-6 font-normal bg-accent dark:bg-border"},Un={key:1,class:"z-[101] sticky -top-4 py-2 font-normal whitespace-nowrap bg-accent dark:bg-border text-left",colspan:"3"},jn={class:"text-sm"},Hn=["onClick"],Xn={class:"w-10 p-2"},Kn={class:"p-2"},Yn={class:"flex items-stretch gap-2"},qn=["src"],Gn={key:2,class:"relative"},Jn=["src"],Wn=["src"],Zn={class:"flex flex-col justify-center px-2"},Qn={class:"text-md mb-0.5 hover:underline select-none"},er={class:"flex items-center gap-1 text-xs text-muted-foreground hover:opacity-70 transition-opacity duration-200 cursor-pointer select-none"},tr={class:"p-2 w-[30%]"},or={class:"relative"},nr={key:0},rr={key:1},lr={key:0,class:"absolute inset-0 top-1/2 -translate-y-1/2 px-2 truncate text-sm text-muted-foreground w-full text-center pointer-events-none"},ar={class:"p-2 w-[18%]"},sr=["onClick"],ir={class:"w-10"},dr={class:"w-10 p-2 translate-x-10"},cr={class:"p-2 pl-12"},ur={class:"flex items-stretch gap-2"},pr=["src"],mr={class:"flex flex-col justify-center px-2"},fr={class:"p-2 w-[30%]"},gr={class:"p-2 w-[18%] group"},vr={class:"text-center text-sm text-muted-foreground bg-accent dark:bg-border p-3 -mx-6 -mb-6 rounded-b-lg"},Vr={key:0},hr=e.defineComponent({__name:"VariantList",props:{options:{type:Object,required:!0},modelValue:{type:Array,required:!0},hide:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,l=n,s=e.computed({get(){return r.modelValue},set(f){l("update:modelValue",f)}}),i=e.inject("sources"),d=e.ref(""),a=e.ref(""),v=e.ref(!1),p=e.ref([]),u=e.ref({}),V=e.ref([]),x=e.ref({}),y=e.useTemplateRef("variantDialog"),D=()=>{const f=Object.keys(r.options);if(f.length===0){a.value="";return}(!a.value||!f.includes(a.value))&&(a.value=f[0])},S=()=>{const f=Object.entries(u.value).reduce((c,[g,k])=>(r.options?.[g]?.values?.some(M=>M.id===k)&&(c[g]=k),c),{});JSON.stringify(f)!==JSON.stringify(u.value)&&(u.value=f)};e.watch(()=>r.options,()=>{D(),S()},{immediate:!0,deep:!0}),e.watch(x,f=>{E()},{deep:!0}),e.watch(()=>r.hide,f=>{f||(D(),E())});function E(){if(!x.value){s.value=[];return}let f=[];Object.keys(x.value)?.forEach(c=>{f.push({combinedOptions:c,name:P(c),disabled:!1,price:x.value[c].price,stock:x.value[c].stock,image:x.value[c].image,options:R(c)})}),s.value=f.filter(c=>c.options?.length===Object.keys(r.options).length&&c.options?.every(g=>Object.entries(r.options).find(([,k])=>k.id===g.optionId)))}function h(f){return f.reduce((c,g)=>c.flatMap(k=>g.map(F=>[...k,F])),[[]])}function C(f){return f.slice().sort((c,g)=>c.optionId.localeCompare(g.optionId)).map(({optionId:c,valueId:g})=>`${c}:${g}`).join("|")}const P=f=>f.split("|").map(g=>{const[k,F]=g.split(":");return{optionId:k,valueId:F}}).map(g=>r.options?.[g.optionId]?.values?.find(M=>M.id===g.valueId)?.value||"").join(" "),R=f=>f.split("|").map(g=>{const[k,F]=g.split(":");return{optionId:k,valueId:F}}).map(g=>{const k=r.options?.[g.optionId],F=k?.values?.find(M=>M.id===g.valueId);return{optionId:k?.id||g.optionId,option:k?.name||"",valueId:F?.id||g.valueId,value:F?.value||""}}),$=e.computed(()=>{const f=Object.values(r.options).map(g=>g.values.map(k=>({optionId:g.id,optionName:g.name,valueId:k.id,value:k.value})));return h(f).map(g=>{const k=C(g);return x.value[k]||(x.value[k]={price:0,stock:0}),{key:k,options:g,...x.value[k]}})}),U=e.computed(()=>{let f=[...$.value];const c=d.value.trim().toLowerCase();return c&&(f=f.filter(g=>g.options?.some(k=>k.value.toLowerCase().includes(c)))),Object.entries(u.value).forEach(([g,k])=>{k&&(f=f.filter(F=>F.options?.some(M=>M.optionId===g&&M.valueId===k)))}),f}),Y=e.computed(()=>Object.keys(u.value).length>0),De=(f,c)=>{if(!c){ae(f);return}u.value={...u.value,[f]:c}},ae=f=>{const c={...u.value};delete c[f],u.value=c},Se=f=>f.values?.find(c=>c.id===u.value[f.id])?.value,A=f=>U.value.filter(c=>c.options?.find(g=>g.optionId===a.value)?.valueId===f),te=e.computed(()=>{const f=r.options?.[a.value]?.values||[];return!d.value.trim()&&!Y.value?f:f.filter(c=>A(c.id).length>0)}),se=e.computed(()=>U.value.map(f=>f.key)),me=e.computed(()=>V.value.length),ie=e.computed(()=>{const f=new Set(V.value);return se.value.filter(c=>f.has(c)).length}),N=e.computed(()=>se.value.length===0||ie.value===0?!1:ie.value===se.value.length?!0:"indeterminate");e.watch(te,f=>{const c=new Set(f.map(g=>g.id));p.value=p.value.filter(g=>c.has(g))}),e.watch($,f=>{const c=new Set(f.map(k=>k.key)),g=V.value.filter(k=>c.has(k));g.length!==V.value.length&&(V.value=g)});const w=(f,c)=>{const g=new Set(f);if(c){V.value=Array.from(new Set([...V.value,...f]));return}V.value=V.value.filter(k=>!g.has(k))},X=(f,c)=>{w([f],c===!0)},oe=(f,c)=>{w(A(f).map(g=>g.key),c===!0)},fe=f=>{w(se.value,f===!0)},ve=f=>{const c=A(f).map(F=>F.key);if(c.length===0)return!1;const g=new Set(V.value),k=c.filter(F=>g.has(F)).length;return k===0?!1:k===c.length?!0:"indeterminate"},Ee=(f,c)=>{const g=A(c);g&&g.forEach(k=>{x.value[C(k.options)].image=f})},Ve=f=>A(f).every(g=>!g.image),Te=f=>{const c=A(f);return c.filter((k,F)=>k.image&&c.findIndex(M=>M.image===k.image)===F).length===1},he=f=>A(f).filter(g=>g.image)[0]?.image,He=f=>A(f).filter(g=>g.image)[1]?.image,Vt=f=>{const c=A(f);if(c.length===0)return"0";const g=c.map(k=>k.price);return Math.min(...g)===Math.max(...g)?g[0]?.toString()||"0":`${Math.min(...g)} - ${Math.max(...g)}`},Xe=f=>A(f).reduce((c,g)=>g.stock>0?c+g.stock:c,0),ht=f=>A(f).reduce((c,g)=>g.stock<0?c+g.stock:c,0),xt=()=>{let f=0;return te.value?.forEach(c=>{f+=Xe(c.id)}),f},Ke=()=>{let f=0;return te.value?.forEach(c=>{f+=ht(c.id)}),f},xe=e.ref(null),ne=e.ref(""),Ct=async(f,c)=>{f.preventDefault();const g=U?.value?.filter(M=>M.options?.find(Be=>Be.optionId===a.value)?.valueId===c.id).map(M=>M.price),k=g.length===0?!0:g.every(M=>M===g[0]);xe.value=c.id,ne.value=k?g[0].toString():"",await e.nextTick();const F=document.getElementById(`variant-price-${c.id}`);F?.focus(),F?.select()},Nt=f=>{Ye(f),xe.value=null,ne.value=""},Ye=f=>{if(ne.value.trim()&&Number(ne.value.trim().replace(",","."))>0){const c=Number(ne.value.trim().replace(",","."));U?.value?.filter(g=>g.options?.find(k=>k.optionId===a.value)?.valueId===f).forEach(g=>{x.value[C(g.options)].price=c})}},yt=f=>{x.value=f.reduce((c,g)=>(c[g.combinedOptions]={price:g.price,stock:g.stock,image:g.image},c),{})};return e.onMounted(()=>{D()}),o({setVariantMap:yt,refreshVariants:E}),(f,c)=>{const g=e.resolveComponent("SelectValue"),k=e.resolveComponent("SelectTrigger"),F=e.resolveComponent("SelectItem"),M=e.resolveComponent("SelectContent"),Be=e.resolveComponent("Select"),J=e.resolveComponent("Button"),qe=e.resolveComponent("Input"),bt=e.resolveComponent("PopoverTrigger"),_t=e.resolveComponent("RadioGroupItem"),kt=e.resolveComponent("Label"),wt=e.resolveComponent("RadioGroup"),Dt=e.resolveComponent("PopoverContent"),St=e.resolveComponent("Popover"),Pe=e.resolveComponent("Checkbox"),Ie=e.resolveComponent("TooltipTrigger"),$e=e.resolveComponent("TooltipContent"),Fe=e.resolveComponent("Tooltip"),Ge=e.resolveComponent("DropdownMenuTrigger"),de=e.resolveComponent("DropdownMenuItem"),Je=e.resolveComponent("DropdownMenuContent"),We=e.resolveComponent("DropdownMenu"),Et=e.resolveComponent("DropdownMenuGroup"),Tt=e.resolveComponent("DropdownMenuSeparator"),Ze=e.resolveComponent("MediaPickerDialog"),Me=e.resolveComponent("NumberFieldInput"),Ae=e.resolveComponent("NumberFieldContent"),Re=e.resolveComponent("NumberField"),Bt=e.resolveComponent("NumberFieldDecrement"),Pt=e.resolveComponent("NumberFieldIncrement");return e.openBlock(),e.createElementBlock(e.Fragment,null,[t.hide?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Tn,[e.createElementVNode("div",Bn,[Object.keys(t.options).length>1?(e.openBlock(),e.createElementBlock("div",Pn,[c[13]||(c[13]=e.createElementVNode("p",null,"Group by",-1)),e.createVNode(Be,{modelValue:a.value,"onUpdate:modelValue":c[0]||(c[0]=b=>a.value=b)},{default:e.withCtx(()=>[e.createVNode(k,{size:"sm"},{default:e.withCtx(()=>[e.createVNode(g,{placeholder:"Option"})]),_:1}),e.createVNode(M,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,b=>(e.openBlock(),e.createBlock(F,{key:b.id,value:b.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(b.name),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createBlock(J,{key:2,variant:"outline",onClick:c[2]||(c[2]=b=>v.value=!1),size:"sm",class:"ml-auto"},{default:e.withCtx(()=>[...c[14]||(c[14]=[e.createTextVNode(" Cancel ",-1)])]),_:1})):(e.openBlock(),e.createBlock(J,{key:1,variant:"outline",onClick:c[1]||(c[1]=b=>v.value=!0),size:"sm",class:"ml-auto"},{default:e.withCtx(()=>[e.createVNode(e.unref(I.Search),{class:"size-4"}),e.createVNode(e.unref(I.ListFilter),{class:"size-4"})]),_:1}))]),v.value?(e.openBlock(),e.createElementBlock("div",In,[e.createElementVNode("div",{class:e.normalizeClass(["relative",{"mb-4":Object.keys(t.options).length>0}])},[e.createVNode(qe,{placeholder:"Search",class:"pl-10",modelValue:d.value,"onUpdate:modelValue":c[3]||(c[3]=b=>d.value=b)},null,8,["modelValue"]),e.createVNode(e.unref(I.Search),{class:"size-4 absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none"})],2),e.createElementVNode("div",$n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,b=>(e.openBlock(),e.createBlock(St,{key:b.id},{default:e.withCtx(()=>[e.createVNode(bt,{asChild:""},{default:e.withCtx(()=>[e.createVNode(J,{variant:"outline",size:"sm",class:"border-dashed"},{default:e.withCtx(()=>[u.value[b.id]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(b.name)+" is "+e.toDisplayString(Se(b))+" ",1),e.createElementVNode("div",{class:"p-2",onClick:e.withModifiers(T=>ae(b.id),["stop","prevent"])},[e.createVNode(e.unref(I.X),{class:"size-3"})],8,Fn)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(b.name)+" ",1),e.createVNode(e.unref(I.ChevronDown),{class:"size-3"})],64))]),_:2},1024)]),_:2},1024),e.createVNode(Dt,null,{default:e.withCtx(()=>[e.createVNode(wt,{"model-value":u.value[b.id]||"",class:"mb-4","onUpdate:modelValue":T=>De(b.id,T)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.values,T=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center space-x-2",key:T.id},[e.createVNode(_t,{id:T.id,value:T.id,class:"border-ring"},null,8,["id","value"]),e.createVNode(kt,{for:T.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T.value),1)]),_:2},1032,["for"])]))),128))]),_:2},1032,["model-value","onUpdate:modelValue"]),e.createVNode(J,{variant:"ghost",onClick:T=>ae(b.id),size:"sm",class:"ml-auto",disabled:!u.value[b.id]},{default:e.withCtx(()=>[...c[15]||(c[15]=[e.createTextVNode(" Clear ",-1)])]),_:1},8,["onClick","disabled"])]),_:2},1024)]),_:2},1024))),128))])])):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("table",Mn,[e.createElementVNode("thead",An,[e.createElementVNode("tr",null,[e.createElementVNode("th",Rn,[e.createVNode(Pe,{class:"border-muted-foreground translate-y-0.5","model-value":N.value,"onUpdate:modelValue":fe},null,8,["model-value"])]),me.value===0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("th",zn,[e.createElementVNode("div",On,[c[16]||(c[16]=e.createElementVNode("span",null,"Variant",-1)),c[17]||(c[17]=e.createElementVNode("span",null,"·",-1)),p.value.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"hover:underline cursor-pointer",onClick:c[4]||(c[4]=b=>p.value=[])},"Collapse all")):(e.openBlock(),e.createElementBlock("button",{key:1,class:"hover:underline cursor-pointer",onClick:c[5]||(c[5]=b=>p.value=te.value.map(T=>T.id))},"Expand all"))])]),c[20]||(c[20]=e.createElementVNode("th",{class:"z-[101] sticky -top-4 py-2 font-normal bg-accent dark:bg-border"},"Price",-1)),e.createElementVNode("th",Ln,[e.createVNode(Fe,null,{default:e.withCtx(()=>[e.createVNode(Ie,{class:"underline decoration-dashed underline-offset-4"},{default:e.withCtx(()=>[...c[18]||(c[18]=[e.createTextVNode("Available",-1)])]),_:1}),e.createVNode($e,null,{default:e.withCtx(()=>[...c[19]||(c[19]=[e.createElementVNode("p",null,"Inventory at your store that can be sold.",-1)])]),_:1})]),_:1})])],64)):(e.openBlock(),e.createElementBlock("th",Un,[e.createVNode(We,null,{default:e.withCtx(()=>[e.createVNode(Ge,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(J,{variant:"outline",class:"mr-2",size:"sm"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(me.value)+" selected ",1)]),_:1})]),_:1}),e.createVNode(Je,{class:"w-56",align:"start"},{default:e.withCtx(()=>[e.createVNode(de,null,{default:e.withCtx(()=>[...c[21]||(c[21]=[e.createTextVNode(" Deselect all ",-1)])]),_:1})]),_:1})]),_:1}),e.createVNode(We,null,{default:e.withCtx(()=>[e.createVNode(Ge,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(J,{size:"sm"},{default:e.withCtx(()=>[e.createVNode(e.unref(I.Ellipsis),{class:"size-3"})]),_:1})]),_:1}),e.createVNode(Je,{class:"w-56",align:"start"},{default:e.withCtx(()=>[e.createVNode(Et,null,{default:e.withCtx(()=>[e.createVNode(de,null,{default:e.withCtx(()=>[...c[22]||(c[22]=[e.createTextVNode(" Edit price ",-1)])]),_:1}),e.createVNode(de,null,{default:e.withCtx(()=>[...c[23]||(c[23]=[e.createTextVNode(" Edit SKU ",-1)])]),_:1}),e.createVNode(de,null,{default:e.withCtx(()=>[...c[24]||(c[24]=[e.createTextVNode(" Edit barcode ",-1)])]),_:1}),e.createVNode(de,null,{default:e.withCtx(()=>[...c[25]||(c[25]=[e.createTextVNode(" Change image ",-1)])]),_:1})]),_:1}),e.createVNode(Tt),e.createVNode(de,null,{default:e.withCtx(()=>[e.createTextVNode(" Remove variant"+e.toDisplayString(me.value>1?"s":""),1)]),_:1})]),_:1})]),_:1})]))])]),e.createElementVNode("tbody",jn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(te.value,b=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b.id},[e.createElementVNode("tr",{class:"hover:bg-accent/50 cursor-pointer transition-colors duration-200 border-b border-input",onClick:T=>p.value.includes(b.id)?p.value.splice(p.value.indexOf(b.id),1):p.value.push(b.id)},[e.createElementVNode("td",Xn,[e.createVNode(Pe,{class:"border-muted-foreground translate-y-0.5","model-value":ve(b.id),"onUpdate:modelValue":T=>oe(b.id,T),onClick:c[6]||(c[6]=e.withModifiers(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("td",Kn,[e.createElementVNode("div",Yn,[e.createElementVNode("div",null,[e.createVNode(Ze,{sources:e.unref(i),maxFiles:1,"initial-value":Ve(b.id)?[]:Te(b.id)?[he(b.id)]:[he(b.id),He(b.id)],onSubmit:T=>Ee(T,b.id)},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:c[7]||(c[7]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer"},[Ve(b.id)?(e.openBlock(),e.createBlock(J,{key:0,variant:"outline",class:"size-15 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(I.ImagePlus))]),_:1})):Te(b.id)?(e.openBlock(),e.createElementBlock("img",{key:1,src:he(b.id),class:"size-15 rounded-md object-cover",draggable:"false"},null,8,qn)):(e.openBlock(),e.createElementBlock("div",Gn,[e.createElementVNode("img",{src:He(b.id),class:"absolute rotate-[12deg] size-15 rounded-md object-cover",draggable:"false"},null,8,Jn),e.createElementVNode("img",{src:he(b.id),class:"relative size-15 rounded-md shadow object-cover",draggable:"false"},null,8,Wn)]))])]),_:2},1032,["sources","initial-value","onSubmit"])]),e.createElementVNode("div",Zn,[e.createElementVNode("p",Qn,e.toDisplayString(b.value),1),e.createElementVNode("button",er,[e.createTextVNode(e.toDisplayString(A(b.id).length)+" variants ",1),e.createVNode(e.unref(I.ChevronDown),{class:e.normalizeClass(["size-3 transition-transform duration-200",p.value.includes(b.id)?"rotate-180":""])},null,8,["class"])])])])]),e.createElementVNode("td",tr,[e.createElementVNode("div",or,[e.createVNode(Fe,null,{default:e.withCtx(()=>[e.createVNode(Ie,{class:"w-full",asChild:""},{default:e.withCtx(()=>[e.createVNode(qe,{id:`variant-price-${b.id}`,modelValue:ne.value,"onUpdate:modelValue":c[8]||(c[8]=T=>ne.value=T),class:e.normalizeClass(["dark:bg-transparent dark:border-ring/50 text-center",xe.value===b.id?"":"text-transparent"]),onClick:c[9]||(c[9]=e.withModifiers(()=>{},["stop"])),onFocus:T=>Ct(T,b),onBlur:T=>Nt(b.id),onKeydown:e.withKeys(T=>Ye(b.id),["enter"])},null,8,["id","modelValue","class","onFocus","onBlur","onKeydown"])]),_:2},1024),e.createVNode($e,null,{default:e.withCtx(()=>[A(b.id).length===1?(e.openBlock(),e.createElementBlock("p",nr,"Applies to 1 variant")):(e.openBlock(),e.createElementBlock("p",rr,"Applies to all "+e.toDisplayString(A(b.id).length)+" variants",1))]),_:2},1024)]),_:2},1024),xe.value!==b.id?(e.openBlock(),e.createElementBlock("span",lr,e.toDisplayString(Vt(b.id)),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("td",ar,[e.createVNode(Fe,null,{default:e.withCtx(()=>[e.createVNode(Ie,{class:"w-full focus-visible:outline-none",onClick:c[10]||(c[10]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createVNode(Re,null,{default:e.withCtx(()=>[e.createVNode(Ae,null,{default:e.withCtx(()=>[e.createVNode(Me,{value:Xe(b.id),class:"dark:border-ring/50",disabled:""},null,8,["value"])]),_:2},1024)]),_:2},1024)]),_:2},1024),e.createVNode($e,null,{default:e.withCtx(()=>[...c[26]||(c[26]=[e.createElementVNode("p",null,"Update for individual variants only",-1)])]),_:1})]),_:2},1024)])],8,Hn),p.value.includes(b.id)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(A(b.id),T=>(e.openBlock(),e.createElementBlock("tr",{key:T.key,class:"hover:bg-accent/50 cursor-pointer transition-colors duration-200 border-b border-input",onClick:K=>e.unref(y).openVariantDialog(T)},[e.createElementVNode("td",ir,[e.createElementVNode("div",dr,[e.createVNode(Pe,{class:"border-muted-foreground translate-y-0.5","model-value":V.value.includes(T.key),"onUpdate:modelValue":K=>X(T.key,K),onClick:c[11]||(c[11]=e.withModifiers(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])])]),e.createElementVNode("td",cr,[e.createElementVNode("div",ur,[e.createElementVNode("div",null,[e.createVNode(Ze,{sources:e.unref(i),maxFiles:1,"initial-value":x.value[C(T.options)].image?[x.value[C(T.options)].image]:[],onSubmit:K=>x.value[C(T.options)].image=K},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:c[12]||(c[12]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer"},[x.value[C(T.options)].image?(e.openBlock(),e.createElementBlock("img",{key:0,src:x.value[C(T.options)].image,class:"size-10 object-cover rounded-md",draggable:"false"},null,8,pr)):(e.openBlock(),e.createBlock(J,{key:1,variant:"outline",class:"size-10 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(I.ImagePlus))]),_:1}))])]),_:2},1032,["sources","initial-value","onSubmit"])]),e.createElementVNode("div",mr,[e.createElementVNode("p",null,e.toDisplayString(T.options.filter(K=>K.optionId!==a.value).map(K=>K.value).join(" / ")),1)])])]),e.createElementVNode("td",fr,[e.createVNode(Re,{"format-options":{style:"currency",currency:"EUR",currencyDisplay:"symbol",currencySign:"standard"},modelValue:x.value[C(T.options)].price,"onUpdate:modelValue":K=>x.value[C(T.options)].price=K,min:0},{default:e.withCtx(()=>[e.createVNode(Ae,null,{default:e.withCtx(()=>[e.createVNode(Me,{class:"dark:border-ring/50"})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("td",gr,[e.createVNode(Re,{modelValue:x.value[C(T.options)].stock,"onUpdate:modelValue":K=>x.value[C(T.options)].stock=K},{default:e.withCtx(()=>[e.createVNode(Ae,null,{default:e.withCtx(()=>[e.createVNode(Bt,{class:"group-hover:opacity-100 opacity-0 transition-opacity duration-200"}),e.createVNode(Me,{class:"dark:border-ring/50"}),e.createVNode(Pt,{class:"group-hover:opacity-100 opacity-0 transition-opacity duration-200"})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])])],8,sr))),128)):e.createCommentVNode("",!0)],64))),128))])]),e.createElementVNode("div",vr,[e.createTextVNode(" Total inventory at Webshop: "+e.toDisplayString(xt())+" ",1),Ke()<0?(e.openBlock(),e.createElementBlock("span",Vr,"("+e.toDisplayString(Ke())+")",1)):e.createCommentVNode("",!0),c[27]||(c[27]=e.createTextVNode(" available ",-1))])],64)):e.createCommentVNode("",!0)])),e.createVNode(En,{ref_key:"variantDialog",ref:y},null,512)],64)}}}),xr=e.defineComponent({__name:"Variants",setup(t){const{params:o}=W.useModuleRoute(),{value:n}=B.useField("options"),{value:r}=B.useField("variants"),l=e.ref([]),s=e.ref([]),i=e.useTemplateRef("optionsEl"),d=e.useTemplateRef("variantsEl");e.watch(l,async u=>{n.value=u?JSON.parse(JSON.stringify(u)):[],await e.nextTick(),d.value?.refreshVariants()},{deep:!0}),e.watch(s,u=>{r.value=u?JSON.parse(JSON.stringify(u)):[]},{deep:!0});const a=e.ref(!1),v=e.ref(!1);e.watch(n,async u=>{o.value.productId=="new"||!u||Array.isArray(u)&&u.length===0||a.value||(a.value=!0,l.value=JSON.parse(JSON.stringify(u)),await e.nextTick(),u.length>1&&i.value?.minifyAll())},{deep:!0,immediate:!0}),e.watch(r,async u=>{o.value.productId=="new"||!u||Array.isArray(u)&&u.length===0||v.value||(v.value=!0,s.value=JSON.parse(JSON.stringify(u)),await e.nextTick(),d.value?.setVariantMap(u))},{deep:!0,immediate:!0});const p=e.computed(()=>{let u=l.value||[],V={};return!u||!Array.isArray(u)||u.forEach(x=>{!x.name.trim()||x.values?.filter(y=>y.value.trim()!=="")?.length===0||(V[x.id]={id:x.id,name:x.name,values:x.values?.map(y=>({id:y.id,value:y.value}))?.filter(y=>y.value.trim()!=="")||[]})}),V});return(u,V)=>{const x=e.resolveComponent("CardContent"),y=e.resolveComponent("Card");return e.openBlock(),e.createBlock(y,null,{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[V[2]||(V[2]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Variants",-1)),e.createVNode(Dn,{modelValue:l.value,"onUpdate:modelValue":V[0]||(V[0]=D=>l.value=D),ref_key:"optionsEl",ref:i},null,8,["modelValue"]),e.createVNode(hr,{ref_key:"variantsEl",ref:d,options:p.value,modelValue:s.value,"onUpdate:modelValue":V[1]||(V[1]=D=>s.value=D),hide:Object.keys(p.value).length===0},null,8,["options","modelValue","hide"])]),_:1})]),_:1})}}}),Cr={class:"bg-white dark:bg-gray-50 border-4 dark:border-gray-600 p-4 rounded-lg mb-4"},Nr={class:"flex items-center gap-2 mb-2"},yr=["src"],br={class:"text-[#1a0dab] text-lg"},_r={class:"text-[#006621] text-[13px]"},kr={class:"text-[#545454] text-[13px]"},wr={class:"flex flex-col gap-4 mb-4"},Dr={class:"flex flex-col"},Sr={key:0,class:"text-red-500 text-sm mt-1"},Er={class:"flex flex-col gap-4 mb-4"},Tr={class:"flex flex-col"},Br={key:0,class:"text-red-500 text-sm mt-1"},Pr={class:"flex flex-col gap-4"},Ir={class:"flex flex-col"},$r={class:"flex gap-2"},Fr={key:0,class:"text-red-500 text-sm mt-1"},Mr={key:1,class:"text-[#545454] text-[13px]"},Ar={key:2,class:"text-orange-500 text-[13px]"},Rr=e.defineComponent({__name:"SEO",setup(t){const{errors:o}=B.useFormContext(),{value:n}=B.useField("title"),{value:r}=B.useField("slug"),{value:l}=B.useField("seo");function s(i){return i?i.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}return e.watch(n,(i,d)=>{(!r.value||s(d)===r.value)&&(r.value=s(i)),(!l.value.title||d===l.value.title)&&(l.value.title=i)}),(i,d)=>{const a=e.resolveComponent("Label"),v=e.resolveComponent("Input"),p=e.resolveComponent("Textarea"),u=e.resolveComponent("ProgressCircle"),V=e.resolveComponent("CardContent"),x=e.resolveComponent("Card");return e.openBlock(),e.createBlock(x,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[d[7]||(d[7]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Search engine listing",-1)),e.createElementVNode("div",Cr,[e.createElementVNode("div",Nr,[e.createElementVNode("img",{src:e.unref(It.googleImg),alt:"Google",class:"w-16 pointer-events-none",draggable:"false"},null,8,yr),d[3]||(d[3]=e.createElementVNode("span",{class:"text-[#4186f5] font-medium text-xs"},"Preview",-1))]),e.createElementVNode("p",br,e.toDisplayString(e.unref(l).title),1),e.createElementVNode("p",_r,e.toDisplayString(e.unref(r)),1),e.createElementVNode("p",kr,e.toDisplayString(e.unref(l).description?.slice(0,155))+e.toDisplayString(e.unref(l).description?.length>155?" ...":""),1)]),e.createElementVNode("div",wr,[e.createElementVNode("div",Dr,[e.createVNode(a,{for:"slug",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Slug",-1)])]),_:1}),e.createVNode(v,{id:"slug",placeholder:"t-shirt-with-red-heart",modelValue:e.unref(r),"onUpdate:modelValue":d[0]||(d[0]=y=>e.isRef(r)?r.value=y:null)},null,8,["modelValue"]),e.unref(o).slug?(e.openBlock(),e.createElementBlock("p",Sr,e.toDisplayString(e.unref(o).slug),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Er,[e.createElementVNode("div",Tr,[e.createVNode(a,{for:"meta-title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(v,{id:"meta-title",placeholder:"T-shirt with red heart",modelValue:e.unref(l).title,"onUpdate:modelValue":d[1]||(d[1]=y=>e.unref(l).title=y)},null,8,["modelValue"]),e.unref(o).seo?.title?(e.openBlock(),e.createElementBlock("p",Br,e.toDisplayString(e.unref(o).seo.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Pr,[e.createElementVNode("div",Ir,[e.createVNode(a,{for:"meta-description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(p,{id:"meta-description",placeholder:"Lovely T-shirt featuring a red heart",modelValue:e.unref(l).description,"onUpdate:modelValue":d[2]||(d[2]=y=>e.unref(l).description=y),class:"mb-2 resize-none"},null,8,["modelValue"]),e.createElementVNode("div",$r,[e.createVNode(u,{progress:(e.unref(l).description?.length??0)/155},null,8,["progress"]),e.unref(o).seo?.description?(e.openBlock(),e.createElementBlock("p",Fr,e.toDisplayString(e.unref(o).seo.description),1)):e.unref(l).description?.length<155?(e.openBlock(),e.createElementBlock("p",Mr,e.toDisplayString(e.unref(l).description.length)+" characters",1)):(e.openBlock(),e.createElementBlock("p",Ar,"Please keep it under 155 characters"))])])])]),_:1})]),_:1})}}}),zr=e.defineComponent({__name:"NewSection",setup(t){return(o,n)=>{const r=e.resolveComponent("Button"),l=e.resolveComponent("CardContent"),s=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock(e.Fragment,null,[n[3]||(n[3]=e.createElementVNode("hr",{class:"my-4"},null,-1)),e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[n[1]||(n[1]=e.createElementVNode("h2",{class:"text-lg font-medium"},"New Section",-1)),n[2]||(n[2]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-4"},"As an admin, you can define new sections within the product detail page.",-1)),e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(e.unref(I.Plus),{class:"size-4"}),n[0]||(n[0]=e.createTextVNode(" Create new section ",-1))]),_:1})]),_:1})]),_:1})],64)}}}),Or={class:"flex items-center gap-2"},Lr={key:0,class:"size-3 rounded-full bg-green-500"},Ur={key:1,class:"size-3 rounded-full bg-blue-500"},jr={key:2,class:"size-3 rounded-full bg-gray-300"},Hr=e.defineComponent({__name:"Status",setup(t){const{errors:o}=B.useFormContext(),{value:n}=B.useField("status");return(r,l)=>{const s=e.resolveComponent("SelectValue"),i=e.resolveComponent("SelectTrigger"),d=e.resolveComponent("SelectItem"),a=e.resolveComponent("SelectGroup"),v=e.resolveComponent("SelectContent"),p=e.resolveComponent("Select"),u=e.resolveComponent("CardContent"),V=e.resolveComponent("Card");return e.openBlock(),e.createBlock(V,null,{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[l[4]||(l[4]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Status",-1)),e.createVNode(p,{modelValue:e.unref(n),"onUpdate:modelValue":l[0]||(l[0]=x=>e.isRef(n)?n.value=x:null),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(i,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Or,[e.unref(n)==="published"?(e.openBlock(),e.createElementBlock("span",Lr)):e.unref(n)==="draft"?(e.openBlock(),e.createElementBlock("span",Ur)):e.unref(n)==="archived"?(e.openBlock(),e.createElementBlock("span",jr)):e.createCommentVNode("",!0),e.createVNode(s,{placeholder:"Status"})])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(d,{value:"published"},{default:e.withCtx(()=>[...l[1]||(l[1]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(d,{value:"draft"},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1}),e.createVNode(d,{value:"archived"},{default:e.withCtx(()=>[...l[3]||(l[3]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-gray-300"},null,-1),e.createTextVNode(" Archived ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),Xr={class:"flex items-center gap-2 truncate"},Kr={key:0,class:"text-muted-foreground"},Yr={key:1,class:"truncate"},qr={key:2,class:"truncate"},Gr={key:3,class:"truncate"},Jr={class:"truncate"},Wr=e.defineComponent({__name:"Collections",props:{config:{type:Object,required:!0}},setup(t){const o=t,n=W.useFirebaseIntegration(o.config.project),r=async()=>{if(!o.config.collectionsCollection)return[];const p=o.config.collectionsCollection.split(":");return p.length!==2?[]:(await n.get(p[0]))?.[p[1]]||[]},l=e.ref([]);(async()=>{const p=await r();l.value=p})();const{value:i}=B.useField("collections"),d=e.computed(()=>l.value.flatMap(p=>{const u=p.status||"draft",V=[{id:p.id,title:p.title,status:u,isSubcollection:!1}];return Array.isArray(p.subcollections)&&V.push(...p.subcollections.map(x=>({id:x.id,title:x.title,status:u==="published"&&x.status||u,isSubcollection:!0,parentTitle:p.title}))),V})),a=e.computed(()=>Array.isArray(i.value)?i.value.map(p=>d.value.find(u=>u.id===p)).filter(Boolean):[]),v=p=>p.isSubcollection?`${p.parentTitle} / ${p.title}`:p.title;return(p,u)=>{const V=e.resolveComponent("SelectTrigger"),x=e.resolveComponent("SelectItem"),y=e.resolveComponent("SelectGroup"),D=e.resolveComponent("SelectContent"),S=e.resolveComponent("Select"),E=e.resolveComponent("CardContent"),h=e.resolveComponent("Card");return e.openBlock(),e.createBlock(h,null,{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[u[1]||(u[1]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Collections",-1)),e.createVNode(S,{modelValue:e.unref(i),"onUpdate:modelValue":u[0]||(u[0]=C=>e.isRef(i)?i.value=C:null),class:"w-full",multiple:!0},{default:e.withCtx(()=>[e.createVNode(V,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Xr,[a.value.length===0?(e.openBlock(),e.createElementBlock("span",Kr,"Collections")):a.value.length===1?(e.openBlock(),e.createElementBlock("span",Yr,e.toDisplayString(v(a.value[0])),1)):a.value.length===2?(e.openBlock(),e.createElementBlock("span",qr,e.toDisplayString(v(a.value[0]))+", "+e.toDisplayString(v(a.value[1])),1)):(e.openBlock(),e.createElementBlock("span",Gr,e.toDisplayString(v(a.value[0]))+", "+e.toDisplayString(v(a.value[1]))+" + "+e.toDisplayString(a.value.length-2),1))])]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,C=>(e.openBlock(),e.createBlock(x,{key:C.id,value:C.id},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex min-w-0 items-center gap-2",{"pl-4":C.isSubcollection}])},[C.isSubcollection?(e.openBlock(),e.createBlock(e.unref(I.CornerDownRight),{key:0,class:"size-4 shrink-0 text-muted-foreground"})):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["size-2 rounded-full shrink-0",C.status==="published"?"bg-green-500":"bg-blue-500"])},null,2),e.createElementVNode("span",Jr,e.toDisplayString(C.title),1)],2)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),Zr={class:"relative @container"},Qr={class:"flex flex-row gap-4 justify-between max-w-5xl mx-auto mt-4 mb-6"},el={class:"flex items-center"},tl={class:"text-lg font-semibold mx-2"},ol={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},nl={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},rl={key:2,class:"bg-gray-300 dark:bg-gray-500 text-gray-950 px-2 py-1 rounded-lg text-xs"},ll={class:"flex flex-col @3xl:flex-row gap-4 max-w-5xl mx-auto pb-24"},al={class:"flex flex-col gap-4 w-full @3xl:w-2/3"},sl={class:"flex flex-col gap-4 w-full @3xl:w-1/3"},il={key:0,class:"fixed bottom-4 left-0 md:left-12 right-0 min-w-xs max-w-5xl w-[calc(100%-2rem)] md:w-[calc(100%-5rem)] xl:w-[calc(100%-2rem)] h-16 border border-white/10 backdrop-blur-sm border-t border-border flex items-center justify-center px-4 mx-auto z-[9999] rounded-xl overflow-hidden shadow bg-[radial-gradient(#ffffff80,transparent)] dark:bg-[radial-gradient(#00000080,transparent)]"},dl={class:"w-full max-w-5xl flex items-center justify-end mx-auto"},cl=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},async setup(t){let o,n;const r=t,{hasPermission:l,hasAnyPermission:s,isAdmin:i}=W.useModulePermissions(),{params:d,navigateTo:a}=W.useModuleRoute(),{confirm:v}=W.useConfirmation(),p=W.useFirebaseIntegration(r.config.project);e.provide("sources",r.config.allowedMediaSources),e.provide("defaultSource",r.config.defaultUploadMediaSource);const u=e.ref(!1),V=e.computed(()=>!d.value.productId||d.value.productId==="new"),x=e.ref(""),y=e.ref([]);y.value=([o,n]=e.withAsyncContext(()=>me()),o=await o,n(),o);const D=B.toTypedSchema(_.objectType({title:_.stringType().min(1,"Title is required"),description:_.stringType().optional(),media:_.arrayType(_.stringType()).optional(),price:_.coerce.number().positive("Must be positive"),compareAtPrice:_.preprocessType(N=>N===""?void 0:N,_.coerce.number().positive("Must be positive").optional()),isTaxable:_.booleanType().optional(),costPerItem:_.preprocessType(N=>N===""?void 0:N,_.coerce.number().positive("Must be positive").optional()),currency:_.stringType(),stock:_.preprocessType(N=>N===""?void 0:N,_.coerce.number().optional()),trackInventory:_.booleanType().optional(),allowBackorder:_.booleanType().optional(),isPhysicalProduct:_.booleanType().optional(),weight:_.preprocessType(N=>N===""?void 0:N,_.coerce.number().optional()),weightUnit:_.stringType().optional(),slug:_.stringType(),seo:_.objectType({title:_.stringType().optional(),description:_.stringType().optional()}).optional(),createdAt:_.dateType(),updatedAt:_.dateType(),status:_.stringType(),options:_.arrayType(_.objectType({id:_.stringType(),name:_.stringType().min(1),values:_.arrayType(_.objectType({id:_.stringType(),value:_.stringType()}))})).optional(),variants:_.arrayType(_.objectType({combinedOptions:_.stringType().min(1),name:_.stringType().min(1),disabled:_.booleanType().optional(),price:_.coerce.number().positive("Must be positive"),stock:_.preprocessType(N=>N===""?void 0:N,_.coerce.number().optional()),image:_.stringType().optional(),options:_.arrayType(_.objectType({optionId:_.stringType(),option:_.stringType(),valueId:_.stringType(),value:_.stringType()}))})).optional(),tags:_.arrayType(_.stringType()).optional(),collections:_.arrayType(_.stringType()).optional()})),{handleSubmit:S,errors:E,values:h,setValues:C}=B.useForm({validationSchema:D,initialValues:{createdAt:new Date,updatedAt:new Date,status:"draft",options:[],variants:[],media:[],isTaxable:!1,trackInventory:!1,allowBackorder:!1,isPhysicalProduct:!0,weight:0,weightUnit:"kg",tags:[],collections:[],currency:r.config.defaultCurrency||"USD",price:1,stock:0,seo:{title:"",description:""}}});W.useModuleBreadcrumbs(()=>[{text:V.value?"New Product":h.title||"Product"}]);const P=N=>{let w={...N,maxPrice:R(),minPrice:$(),maxCompareAtPrice:Y(),minCompareAtPrice:U(),isSingleVariant:!N.variants||N.variants.length===0,variantsTotal:N.variants?.length||1,stock:De(),featuredMedia:N.media?.[0]};return w.isPhysicalProduct?w.type="physical":(w.weight=0,w.weightUnit="kg",w.type="digital"),w},R=()=>!h.variants||h.variants.length===0?h.price:Math.max(...h.variants.map(N=>N.price)),$=()=>!h.variants||h.variants.length===0?h.price:Math.min(...h.variants.map(N=>N.price)),U=()=>h.compareAtPrice,Y=()=>h.compareAtPrice,De=()=>!h.variants||h.variants.length===0?h.stock:h.variants.reduce((N,w)=>w.stock<0?N:N+w.stock,0),ae=S(async N=>{u.value=!0;let w=P(N);if(V.value){if(await ie(w.slug)){q.toast.error("Product slug already exists");return}w.createdAt=new Date,w.updatedAt=new Date;const X=await p.add(r.config.productCollection,w);a(X.id),q.toast.success("Product created")}else{if(x.value!==w.slug&&await ie(w.slug)){q.toast.error("Product slug already exists");return}w.updatedAt=new Date,await p.update(r.config.productCollection,d.value.productId,w),a(`${d.value.productId}`),q.toast.success("Product updated")}u.value=!1}),Se=async()=>{const N=await p.get(r.config.productCollection,d.value.productId);if(!N){q.toast.error("Product not found"),a("");return}N.createdAt=new Date(N.createdAt),N.updatedAt=new Date(N.updatedAt),N.options?.forEach(w=>{w.values.forEach(X=>{X.touched=!0}),w.values.push({id:Math.random().toString(36).substring(2,15),value:""})}),C(N),x.value=N.slug},A=async()=>{try{let N={...h},w=N.slug+"-copy",X=2;for(;await ie(w);)w=N.slug+"-copy-"+X,X++;N.id=void 0,N.createdAt=new Date,N.updatedAt=new Date,N.slug=w,N.status="draft",N.title=N.title+" (copy)";const oe=await p.add(r.config.productCollection,N);a(oe.id),q.toast.success("Product duplicated")}catch{q.toast.error("Failed to duplicate product")}},te=async()=>{try{await p.update(r.config.productCollection,d.value.productId,{status:"archived"}),C({status:"archived"},{force:!1}),q.toast.success("Product archived")}catch{q.toast.error("Failed to archive product")}},se=async()=>{if(await v("Are you sure you want to delete this product?"))try{await p.remove(r.config.productCollection,d.value.productId),a(""),q.toast.success("Product deleted")}catch{q.toast.error("Failed to delete product")}};async function me(){if(!r.config.collectionsCollection)return[];const N=r.config.collectionsCollection.split(":");return N.length!==2?[]:(await p.get(N[0]))?.[N[1]]||[]}async function ie(N){return(await p.find(r.config.productCollection,{filters:[{field:"slug",operator:"==",value:N}]})).length>0}return e.onMounted(()=>{V.value||Se()}),(N,w)=>{const X=e.resolveComponent("Button"),oe=e.resolveComponent("MenubarTrigger"),fe=e.resolveComponent("MenubarMenu"),ve=e.resolveComponent("MenubarItem"),Ee=e.resolveComponent("MenubarContent"),Ve=e.resolveComponent("Menubar");return e.openBlock(),e.createElementBlock("div",Zr,[e.createElementVNode("div",Qr,[e.createElementVNode("div",el,[e.createVNode(X,{variant:"ghost",onClick:w[0]||(w[0]=Te=>e.unref(a)(""))},{default:e.withCtx(()=>[e.createVNode(e.unref(I.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref(I.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",tl,e.toDisplayString(V.value?"New Product":e.unref(h).title),1),e.unref(h).status==="published"?(e.openBlock(),e.createElementBlock("span",ol,"Published")):e.unref(h).status==="draft"?(e.openBlock(),e.createElementBlock("span",nl,"Draft")):e.unref(h).status==="archived"?(e.openBlock(),e.createElementBlock("span",rl,"Archived")):e.createCommentVNode("",!0)]),V.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ve,{key:0,class:"rounded-lg shadow-xs"},{default:e.withCtx(()=>[e.unref(l)("create-product")?(e.openBlock(),e.createBlock(fe,{key:0},{default:e.withCtx(()=>[e.createVNode(oe,{onClick:A},{default:e.withCtx(()=>[...w[1]||(w[1]=[e.createTextVNode("Duplicate",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(fe,null,{default:e.withCtx(()=>[e.createVNode(oe,null,{default:e.withCtx(()=>[...w[2]||(w[2]=[e.createTextVNode("Preview",-1)])]),_:1})]),_:1}),e.unref(s)("edit-product","delete-product")?(e.openBlock(),e.createBlock(fe,{key:1},{default:e.withCtx(()=>[e.createVNode(oe,null,{default:e.withCtx(()=>[...w[3]||(w[3]=[e.createTextVNode("More actions",-1)])]),_:1}),e.createVNode(Ee,null,{default:e.withCtx(()=>[e.unref(l)("edit-product")?(e.openBlock(),e.createBlock(ve,{key:0,onClick:te},{default:e.withCtx(()=>[e.createVNode(e.unref(I.Archive),{class:"size-4"}),w[4]||(w[4]=e.createTextVNode(" Archive product ",-1))]),_:1})):e.createCommentVNode("",!0),e.unref(l)("delete-product")?(e.openBlock(),e.createBlock(ve,{key:1,variant:"destructive",onClick:se},{default:e.withCtx(()=>[e.createVNode(e.unref(I.Trash),{class:"size-4"}),w[5]||(w[5]=e.createTextVNode(" Delete product ",-1))]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}))]),e.createElementVNode("div",ll,[e.createElementVNode("div",al,[e.createVNode(jt),e.createVNode(eo),e.createVNode(lo),e.createVNode(io),e.createVNode(xr),e.createVNode(Rr),e.unref(i)()?(e.openBlock(),e.createBlock(zr,{key:0})):e.createCommentVNode("",!0)]),e.createElementVNode("div",sl,[e.createVNode(Hr),e.createVNode(Wr,{config:t.config},null,8,["config"])])]),e.unref(s)("create-product","edit-product")?(e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("div",dl,[V.value&&e.unref(l)("create-product")?(e.openBlock(),e.createBlock(X,{key:0,onClick:e.unref(ae),disabled:u.value},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.unref(I.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(u.value?"Creating":"Create")+" New Product ",1)]),_:1},8,["onClick","disabled"])):e.unref(l)("edit-product")?(e.openBlock(),e.createBlock(X,{key:1,onClick:e.unref(ae),disabled:u.value},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.unref(I.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(u.value?"Saving":"Save")+" Changes ",1)]),_:1},8,["onClick","disabled"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])}}});exports.default=cl;