@oneclick.dev/cms-core-modules 0.0.52 → 0.0.54

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.
Files changed (128) hide show
  1. package/dist/CalendarDate-CRT2Viyt.mjs +830 -0
  2. package/dist/CalendarDate-CWtpXgpD.js +1 -0
  3. package/dist/Components-D9yIIosM.mjs +623 -0
  4. package/dist/Components-DXbx0RLV.js +1 -0
  5. package/dist/ContentEditor-DRJFQKCv.mjs +34915 -0
  6. package/dist/ContentEditor-DzTi8fSZ.js +290 -0
  7. package/dist/Create-BP8TX6rj.js +1 -0
  8. package/dist/Create-Bwf1RXdG.mjs +1248 -0
  9. package/dist/DateFormatter-BbcSwTs4.js +1 -0
  10. package/dist/DateFormatter-CbO0PVUK.mjs +99 -0
  11. package/dist/Detail-B-PnkcXD.mjs +3473 -0
  12. package/dist/Detail-BVlGSjOq.mjs +380 -0
  13. package/dist/Detail-C4E1T87K.mjs +26 -0
  14. package/dist/Detail-CNfTDUE5.js +1 -0
  15. package/dist/Detail-Cd5CBVN0.js +1 -0
  16. package/dist/Detail-CpfOQChd.mjs +585 -0
  17. package/dist/Detail-CwagT6gQ.mjs +650 -0
  18. package/dist/Detail-DUo6qKqO.js +1 -0
  19. package/dist/Detail-Dd_OkpcN.js +1 -0
  20. package/dist/Detail-mvSGbnFU.js +1 -0
  21. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-BWuKVkvV.js +1 -0
  22. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-D0-EcU0_.mjs +55 -0
  23. package/dist/Entries-DcpPvlYj.js +1 -0
  24. package/dist/Entries-QLMtTYLX.mjs +713 -0
  25. package/dist/Find-BPR0uU-Z.mjs +229 -0
  26. package/dist/Find-BidEQJxT.js +1 -0
  27. package/dist/GlobalStyling-CMzPRd18.js +17 -0
  28. package/dist/GlobalStyling-DoLHUJeV.mjs +988 -0
  29. package/dist/Overview-BDlBCUI_.js +1 -0
  30. package/dist/Overview-BH3NwvNX.mjs +26 -0
  31. package/dist/Overview-BLsZMHNW.mjs +178 -0
  32. package/dist/Overview-BNMZ9MUK.js +1 -0
  33. package/dist/Overview-BbvfH1u-.js +1 -0
  34. package/dist/Overview-CDN88OSM.mjs +190 -0
  35. package/dist/Overview-CEPodGCn.mjs +311 -0
  36. package/dist/Overview-CvquDPhB.js +1 -0
  37. package/dist/Overview-D54pjmI6.mjs +633 -0
  38. package/dist/Overview-D67UjG6n.mjs +947 -0
  39. package/dist/Overview-KT2Mgfh5.js +1 -0
  40. package/dist/Overview-T-lsy3UZ.js +1 -0
  41. package/dist/RegularSlotEditor.vue_vue_type_script_setup_true_lang-0xZSq0rx.js +1 -0
  42. package/dist/RegularSlotEditor.vue_vue_type_script_setup_true_lang-Bj_PVLLV.mjs +392 -0
  43. package/dist/TableView-CpO53xcX.js +111 -0
  44. package/dist/TableView-D9J5rUls.mjs +72921 -0
  45. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +1 -0
  46. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-BiLAkhIA.mjs +40 -0
  47. package/dist/View-DlHBZbFu.js +1 -0
  48. package/dist/View-Dv5QMrSn.mjs +25 -0
  49. package/dist/_plugin-vue_export-helper-BHFhmbuH.js +1 -0
  50. package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
  51. package/dist/agenda-B49oKGeh.mjs +706 -0
  52. package/dist/agenda-DipQ5IWP.js +1 -0
  53. package/dist/availability-C7q9tq6l.js +1 -0
  54. package/dist/availability-DeCkqiu8.mjs +613 -0
  55. package/dist/cms-core-modules.css +1 -1
  56. package/dist/countries-BTPvmrsb.mjs +4 -0
  57. package/dist/countries-CgZ081No.js +1 -0
  58. package/dist/exceptions-D3b18TiY.mjs +647 -0
  59. package/dist/exceptions-DJ9zWX3k.js +1 -0
  60. package/dist/floating-ui.dom-C82nbomj.js +1 -0
  61. package/dist/floating-ui.dom-ouSgPqty.mjs +1133 -0
  62. package/dist/google-CvtuJwgk.mjs +4 -0
  63. package/dist/google-D4N3gb01.js +1 -0
  64. package/dist/index--jjEzba7.mjs +24 -0
  65. package/dist/index-9HVlmvK3.js +1 -0
  66. package/dist/index-BEGU8Kme.mjs +12 -0
  67. package/dist/index-Bwi1mtkq.mjs +24 -0
  68. package/dist/index-BzuHN-r8.mjs +24 -0
  69. package/dist/index-CImCyE3L.mjs +24 -0
  70. package/dist/index-CKPshlZ8-BQiiP6r_.mjs +1264 -0
  71. package/dist/index-CKPshlZ8-CIz1tDwX.js +1 -0
  72. package/dist/index-CQiY-oTN.mjs +24 -0
  73. package/dist/index-CSxYBeVA.js +1 -0
  74. package/dist/index-CkiNvRzs.js +1 -0
  75. package/dist/index-Co4ON2Di.js +1 -0
  76. package/dist/index-CwqrAU-H.js +1 -0
  77. package/dist/index-Cz-baGax.js +1 -0
  78. package/dist/index-D2a6wEPh.js +1 -0
  79. package/dist/index-DFQGVHTs.js +1 -0
  80. package/dist/index-DI6mydpm.mjs +138 -0
  81. package/dist/index-DMoyoaks.mjs +22 -0
  82. package/dist/index-DT1wWnUk.mjs +24 -0
  83. package/dist/index-DUeFrD-B.js +1 -0
  84. package/dist/index-DsnoK4ia.mjs +579 -0
  85. package/dist/index-R2oUDsjx.js +1 -0
  86. package/dist/index-RLz1QPrf.mjs +203 -0
  87. package/dist/index-UtjLbLw-.js +1 -0
  88. package/dist/index-_mG-aU3Z.mjs +87 -0
  89. package/dist/index-_sQDF1pH.js +1 -0
  90. package/dist/index-ijdf0d9-.js +1 -0
  91. package/dist/index-klI238nT.mjs +24 -0
  92. package/dist/index.cjs.js +1 -357
  93. package/dist/index.mjs +287 -69281
  94. package/dist/interpolation-BNUjI7LH.js +1 -0
  95. package/dist/interpolation-BpGXqOz8.mjs +59 -0
  96. package/dist/payment-kTjsV0Jj.js +1 -0
  97. package/dist/payment-zpCM0LD-.mjs +981 -0
  98. package/dist/regular-C4_3YXqx.mjs +602 -0
  99. package/dist/regular-DFwPEbZO.js +1 -0
  100. package/dist/regular-slots-4ooEpICB.mjs +67 -0
  101. package/dist/regular-slots-BAVGbomI.js +1 -0
  102. package/dist/resources-MpQkSstv.mjs +563 -0
  103. package/dist/resources-iM28T3dD.js +1 -0
  104. package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +12 -2
  105. package/dist/src/appointments/index.d.ts +4 -28
  106. package/dist/src/appointments/routes.d.ts +3 -9
  107. package/dist/src/content-manager/index.d.ts +5 -147
  108. package/dist/src/content-manager/routes.d.ts +4 -128
  109. package/dist/src/custom/index.d.ts +2 -2
  110. package/dist/src/custom/routes.d.ts +1 -1
  111. package/dist/src/lib/interpolation.d.ts +2 -2
  112. package/dist/src/mail-templates/index.d.ts +2 -30
  113. package/dist/src/mail-templates/routes.d.ts +1 -11
  114. package/dist/src/product-collections/index.d.ts +2 -30
  115. package/dist/src/product-collections/routes.d.ts +1 -11
  116. package/dist/src/products/index.d.ts +2 -30
  117. package/dist/src/products/routes.d.ts +1 -11
  118. package/dist/src/promo-codes/index.d.ts +2 -30
  119. package/dist/src/promo-codes/routes.d.ts +1 -11
  120. package/dist/src/shipping-options/index.d.ts +2 -30
  121. package/dist/src/shipping-options/routes.d.ts +1 -11
  122. package/dist/src/table/index.d.ts +2 -70
  123. package/dist/src/table/routes.d.ts +1 -51
  124. package/dist/utils-BVKy9S2J.mjs +29 -0
  125. package/dist/utils-D6CaKJbp.js +2 -0
  126. package/dist/vee-validate-zod-BPQyEfpF.js +1 -0
  127. package/dist/vee-validate-zod-IXkfh-6Q.mjs +4402 -0
  128. package/package.json +28 -29
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),v=require("lucide-vue-next"),w=require("@oneclick.dev/cms-kit"),h=require("./utils-D6CaKJbp.js"),M=require("./CalendarDate-CWtpXgpD.js"),I=require("./DateFormatter-BbcSwTs4.js"),T=require("./index-ijdf0d9-.js"),L=e.defineComponent({__name:"SingleCode",setup(b){const n=e.inject("newCoupon");return(_,a)=>{const s=e.resolveComponent("Label"),i=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,{class:"text-muted-foreground mb-2",for:"code"},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Enter the coupon code",-1)])]),_:1}),e.createVNode(i,{modelValue:e.unref(n).code,"onUpdate:modelValue":a[0]||(a[0]=o=>e.unref(n).code=o),id:"code"},null,8,["modelValue"])],64)}}}),z={class:"flex items-center space-x-2"},O={class:"flex items-center space-x-2"},j={key:0,class:"flex items-end w-full gap-4"},G={class:"relative w-full"},R={key:1},q=e.defineComponent({__name:"MultiCodes",setup(b){const n=e.inject("newCoupon");return(_,a)=>{const s=e.resolveComponent("RadioGroupItem"),i=e.resolveComponent("Label"),o=e.resolveComponent("RadioGroup"),m=e.resolveComponent("NumberFieldDecrement"),g=e.resolveComponent("NumberFieldInput"),u=e.resolveComponent("NumberFieldIncrement"),l=e.resolveComponent("NumberFieldContent"),p=e.resolveComponent("NumberField"),V=e.resolveComponent("Input"),r=e.resolveComponent("Textarea");return e.openBlock(),e.createElementBlock(e.Fragment,null,[a[8]||(a[8]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-2"},"How do you want to create the codes?",-1)),e.createVNode(o,{modelValue:e.unref(n).generationMode,"onUpdate:modelValue":a[0]||(a[0]=N=>e.unref(n).generationMode=N),orientation:"vertical",class:"mb-6"},{default:e.withCtx(()=>[e.createElementVNode("div",z,[e.createVNode(s,{id:"generation_mode_generate",value:"generate"}),e.createVNode(i,{for:"generation_mode_generate"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode("Generate random codes",-1)])]),_:1})]),e.createElementVNode("div",O,[e.createVNode(s,{id:"generation_mode_input",value:"input"}),e.createVNode(i,{for:"generation_mode_input"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode("Provide specific codes",-1)])]),_:1})])]),_:1},8,["modelValue"]),e.unref(n).generationMode=="generate"?(e.openBlock(),e.createElementBlock("div",j,[e.createVNode(p,{id:"age","default-value":1,min:1,class:"w-full"},{default:e.withCtx(()=>[e.createVNode(i,{for:"age",class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Number of codes to generate",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(m),e.createVNode(g),e.createVNode(u)]),_:1})]),_:1}),e.createElementVNode("div",G,[e.createVNode(V,{modelValue:e.unref(n).prefix,"onUpdate:modelValue":a[1]||(a[1]=N=>e.unref(n).prefix=N),placeholder:"Prefix",class:"pr-42"},null,8,["modelValue"]),a[6]||(a[6]=e.createElementVNode("span",{class:"absolute right-2 top-1/2 transform -translate-y-1/2 text-muted-foreground/80 pointer-events-none"},"- GENERATED CODE",-1))])])):(e.openBlock(),e.createElementBlock("div",R,[e.createVNode(i,{class:"text-muted-foreground mb-2",for:"codes"},{default:e.withCtx(()=>[...a[7]||(a[7]=[e.createTextVNode("Enter the codes you want to create (one per line)",-1)])]),_:1}),e.createVNode(r,{modelValue:e.unref(n).codes,"onUpdate:modelValue":a[2]||(a[2]=N=>e.unref(n).codes=N),id:"codes",class:"max-h-48"},null,8,["modelValue"])]))],64)}}}),J={class:"grid gap-6 py-4"},H={class:"flex items-center"},Y={class:"flex items-center gap-2"},K={class:"flex items-center gap-2"},W={class:"flex items-center gap-2"},Q={class:"flex items-center gap-2"},X={class:"flex items-center space-x-2 mb-2"},Z={key:0,class:"text-xs text-blue-600 bg-blue-500/10 p-2 rounded border border-blue-500 mt-1 flex items-start gap-1"},ee={class:"flex items-center space-x-2 mb-2"},te=e.defineComponent({__name:"TypeDetailDialog",setup(b,{expose:n}){const{isAdmin:_}=w.useModulePermissions(),{getModuleData:a,setModuleData:s}=w.useModuleStorage(),i=e.inject("promoTypes",e.ref([])),o=e.ref({id:"",label:"",key:"",allowUnlimitedUses:!1,hasValueField:!1,valueLabel:"",valuePrefix:"",valueSuffix:""}),m=e.ref(!1),g=e.ref("add"),u=e.ref(!1),l=f=>{m.value=!0,u.value=!1,f?(g.value="edit",o.value=JSON.parse(JSON.stringify(f))):(g.value="add",o.value={id:crypto.randomUUID(),label:"",key:"",allowUnlimitedUses:!1,hasValueField:!1,valueLabel:"",valuePrefix:"",valueSuffix:""})},p=f=>{m.value=!0,u.value=!1,g.value="add",N(f)},V=async()=>{u.value=!0;let f=await a("promo-types")||[];f.push(JSON.parse(JSON.stringify(o.value))),s("promo-types",f),i.value=JSON.parse(JSON.stringify(f)),m.value=!1},r=async()=>{u.value=!0;let f=await a("promo-types")||[];f=f.map(t=>t.id===o.value.id?o.value:t),s("promo-types",f),i.value=JSON.parse(JSON.stringify(f)),m.value=!1},N=f=>{switch(f){case"fixed":o.value={id:crypto.randomUUID(),label:"Fixed Amount",key:"fixed",allowUnlimitedUses:!1,hasValueField:!0,valueLabel:"Amount",valuePrefix:"$",valueSuffix:""};break;case"percentage":o.value={id:crypto.randomUUID(),label:"Percentage",key:"percentage",allowUnlimitedUses:!1,hasValueField:!0,valueLabel:"Percentage",valuePrefix:"",valueSuffix:"%"};break;case"free_shipping":o.value={id:crypto.randomUUID(),label:"Free Shipping",key:"free_shipping",allowUnlimitedUses:!1,hasValueField:!1,valueLabel:"",valuePrefix:"",valueSuffix:""};break}};return n({open:l,openFromTemplate:p}),(f,t)=>{const x=e.resolveComponent("DialogTitle"),c=e.resolveComponent("DialogHeader"),k=e.resolveComponent("Button"),U=e.resolveComponent("DropdownMenuTrigger"),y=e.resolveComponent("DropdownMenuItem"),E=e.resolveComponent("DropdownMenuContent"),S=e.resolveComponent("DropdownMenu"),C=e.resolveComponent("Label"),D=e.resolveComponent("Input"),B=e.resolveComponent("Switch"),$=e.resolveComponent("DialogFooter"),P=e.resolveComponent("DialogScrollContent"),F=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(F,{open:m.value,"onUpdate:open":t[11]||(t[11]=d=>m.value=d)},{default:e.withCtx(()=>[e.unref(_)()?(e.openBlock(),e.createBlock(P,{key:0,class:"sm:max-w-[475px]"},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value==="add"?"Add Promo Type":"Edit Promo Type"),1)]),_:1})]),_:1}),e.createElementVNode("div",J,[e.createElementVNode("div",H,[g.value==="add"?(e.openBlock(),e.createBlock(S,{key:0},{default:e.withCtx(()=>[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(k,{variant:"outline"},{default:e.withCtx(()=>[e.createElementVNode("div",Y,[e.createVNode(e.unref(v.Import),{class:"size-4"}),t[12]||(t[12]=e.createTextVNode(" Load pre-defined type ",-1))])]),_:1})]),_:1}),e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(y,{onClick:t[0]||(t[0]=d=>N("fixed"))},{default:e.withCtx(()=>[e.createElementVNode("div",K,[e.createVNode(e.unref(v.DollarSign),{class:"size-4"}),t[13]||(t[13]=e.createTextVNode(" Fixed Amount ",-1))])]),_:1}),e.createVNode(y,{onClick:t[1]||(t[1]=d=>N("percentage"))},{default:e.withCtx(()=>[e.createElementVNode("div",W,[e.createVNode(e.unref(v.Percent),{class:"size-4"}),t[14]||(t[14]=e.createTextVNode(" Percentage ",-1))])]),_:1}),e.createVNode(y,{onClick:t[2]||(t[2]=d=>N("free_shipping"))},{default:e.withCtx(()=>[e.createElementVNode("div",Q,[e.createVNode(e.unref(v.Truck),{class:"size-4"}),t[15]||(t[15]=e.createTextVNode(" Free Shipping ",-1))])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.createVNode(C,{for:"label",class:"mb-2"},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode("Display Name",-1)])]),_:1}),e.createVNode(D,{modelValue:o.value.label,"onUpdate:modelValue":t[3]||(t[3]=d=>o.value.label=d),id:"label"},null,8,["modelValue"]),t[17]||(t[17]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},'Shown in the Studio UI. e.g. "VIP Shipping"',-1))]),e.createElementVNode("div",null,[e.createVNode(C,{for:"key",class:"mb-2"},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode("Internal Key",-1)])]),_:1}),e.createVNode(D,{modelValue:o.value.key,"onUpdate:modelValue":t[4]||(t[4]=d=>o.value.key=d),id:"key"},null,8,["modelValue"]),t[19]||(t[19]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},[e.createTextVNode("Used in logic. Must be unique, lowercase, no spaces. e.g. "),e.createElementVNode("span",{class:"font-mono bg-muted-foreground/20 px-1 py-0.5 rounded"},"vip_shipping")],-1))]),e.createElementVNode("div",null,[e.createVNode(C,{for:"allowUnlimitedUses",class:"mb-4"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode("Allow Unlimited Uses",-1)])]),_:1}),e.createElementVNode("div",X,[e.createVNode(B,{id:"allowUnlimitedUses",modelValue:o.value.allowUnlimitedUses,"onUpdate:modelValue":t[5]||(t[5]=d=>o.value.allowUnlimitedUses=d)},null,8,["modelValue"]),e.createVNode(C,{for:"allowUnlimitedUses"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.value.allowUnlimitedUses?"Yes":"No"),1)]),_:1})]),t[22]||(t[22]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},'Show the "Unlimited uses" toggle when creating a promo code.',-1)),o.value.allowUnlimitedUses?(e.openBlock(),e.createElementBlock("p",Z,[e.createVNode(e.unref(v.Info),{class:"size-4"}),t[21]||(t[21]=e.createTextVNode(" This option is always hidden when generating multiple codes. ",-1))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.createVNode(C,{for:"hasValueField",class:"mb-4"},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode("Has Value Field",-1)])]),_:1}),e.createElementVNode("div",ee,[e.createVNode(B,{id:"hasValueField",modelValue:o.value.hasValueField,"onUpdate:modelValue":t[6]||(t[6]=d=>o.value.hasValueField=d)},null,8,["modelValue"]),e.createVNode(C,{for:"hasValueField"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.value.hasValueField?"Yes":"No"),1)]),_:1})]),t[24]||(t[24]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},"Show a numeric value input when using this type.",-1))]),e.createElementVNode("div",null,[e.createVNode(C,{for:"valueLabel",class:"mb-2"},{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode("Value Field Label",-1)])]),_:1}),e.createVNode(D,{modelValue:o.value.valueLabel,"onUpdate:modelValue":t[7]||(t[7]=d=>o.value.valueLabel=d),id:"valueLabel"},null,8,["modelValue"]),t[26]||(t[26]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},'e.g. "Gift amount", "Shipping cost"',-1))]),e.createElementVNode("div",null,[e.createVNode(C,{for:"valuePrefix",class:"mb-2"},{default:e.withCtx(()=>[...t[27]||(t[27]=[e.createTextVNode("Value Field Prefix",-1)])]),_:1}),e.createVNode(D,{modelValue:o.value.valuePrefix,"onUpdate:modelValue":t[8]||(t[8]=d=>o.value.valuePrefix=d),id:"valuePrefix"},null,8,["modelValue"]),t[28]||(t[28]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},"e.g. € or $",-1))]),e.createElementVNode("div",null,[e.createVNode(C,{for:"valueSuffix",class:"mb-2"},{default:e.withCtx(()=>[...t[29]||(t[29]=[e.createTextVNode("Value Field Suffix",-1)])]),_:1}),e.createVNode(D,{modelValue:o.value.valueSuffix,"onUpdate:modelValue":t[9]||(t[9]=d=>o.value.valueSuffix=d),id:"valueSuffix"},null,8,["modelValue"]),t[30]||(t[30]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},"e.g. %, credits",-1))])]),e.createVNode($,null,{default:e.withCtx(()=>[e.createVNode(k,{variant:"outline",onClick:t[10]||(t[10]=d=>m.value=!1)},{default:e.withCtx(()=>[...t[31]||(t[31]=[e.createTextVNode("Cancel",-1)])]),_:1}),g.value==="add"?(e.openBlock(),e.createBlock(k,{key:0,disabled:u.value,onClick:V},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.unref(v.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),t[32]||(t[32]=e.createTextVNode(" Add Type ",-1))]),_:1},8,["disabled"])):(e.openBlock(),e.createBlock(k,{key:1,disabled:u.value,onClick:r},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.unref(v.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),t[33]||(t[33]=e.createTextVNode(" Save Changes ",-1))]),_:1},8,["disabled"]))]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["open"])}}}),oe={class:"grid gap-4 py-4"},le={key:0,class:"flex flex-col gap-2 items-center text-muted-foreground border rounded p-4"},ne={class:"flex gap-2 items-center"},ae={key:1},re={class:"flex justify-end w-full mb-2"},se={class:"flex items-center gap-2"},de={class:"flex items-center gap-2"},ie={class:"flex items-center gap-2"},ue={class:"flex items-center gap-2"},ce={class:"flex items-center gap-2"},me={class:"font-mono bg-muted-foreground/20 px-1 py-0.5 rounded"},pe=e.defineComponent({__name:"TypeManageDialog",setup(b){const{isAdmin:n}=w.useModulePermissions(),{getModuleData:_,setModuleData:a}=w.useModuleStorage(),{confirm:s}=w.useConfirmation(),i=e.inject("promoTypes",e.ref([])),o=e.useTemplateRef("typeDetailDialog"),m=async u=>{if(!await s(`Are you sure you want to delete the type "${u.label}"?`))return;let p=await _("promo-types")||[];p=p.filter(V=>V.id!==u.id),a("promo-types",p),i.value=JSON.parse(JSON.stringify(p))},g=async()=>{const u=[{id:crypto.randomUUID(),label:"Fixed Amount",key:"fixed",allowUnlimitedUses:!1,hasValueField:!0,valueLabel:"Amount",valuePrefix:"$",valueSuffix:""},{id:crypto.randomUUID(),label:"Percentage",key:"percentage",allowUnlimitedUses:!1,hasValueField:!0,valueLabel:"Percentage",valuePrefix:"",valueSuffix:"%"},{id:crypto.randomUUID(),label:"Free Shipping",key:"free_shipping",allowUnlimitedUses:!1,hasValueField:!1,valueLabel:"",valuePrefix:"",valueSuffix:""}];a("promo-types",u),i.value=JSON.parse(JSON.stringify(u))};return(u,l)=>{const p=e.resolveComponent("Button"),V=e.resolveComponent("DialogTrigger"),r=e.resolveComponent("DialogTitle"),N=e.resolveComponent("DialogDescription"),f=e.resolveComponent("DialogHeader"),t=e.resolveComponent("DropdownMenuTrigger"),x=e.resolveComponent("DropdownMenuItem"),c=e.resolveComponent("DropdownMenuSeparator"),k=e.resolveComponent("DropdownMenuContent"),U=e.resolveComponent("DropdownMenu"),y=e.resolveComponent("TableHead"),E=e.resolveComponent("TableRow"),S=e.resolveComponent("TableHeader"),C=e.resolveComponent("TableCell"),D=e.resolveComponent("TableBody"),B=e.resolveComponent("Table"),$=e.resolveComponent("DialogFooter"),P=e.resolveComponent("DialogScrollContent"),F=e.resolveComponent("Dialog");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(F,null,{default:e.withCtx(()=>[e.createVNode(V,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(e.unref(v.UserCog),{class:"size-4"}),l[6]||(l[6]=e.createTextVNode(" Edit Promo Types ",-1))]),_:1})]),_:1}),e.unref(n)()?(e.openBlock(),e.createBlock(P,{key:0,class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>[...l[7]||(l[7]=[e.createTextVNode("Edit Promo Types",-1)])]),_:1}),e.createVNode(N,null,{default:e.withCtx(()=>[...l[8]||(l[8]=[e.createTextVNode(" Define reusable custom promo types to use in discount codes. You can configure how they behave and what fields are shown. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",oe,[e.unref(i).length===0?(e.openBlock(),e.createElementBlock("div",le,[l[12]||(l[12]=e.createElementVNode("p",null,"You haven't created any custom types yet.",-1)),e.createElementVNode("p",ne,[e.createVNode(p,{variant:"link",onClick:l[0]||(l[0]=d=>o.value?.open())},{default:e.withCtx(()=>[...l[9]||(l[9]=[e.createTextVNode("Create a custom type",-1)])]),_:1}),l[11]||(l[11]=e.createTextVNode(" or ",-1)),e.createVNode(p,{variant:"link",onClick:l[1]||(l[1]=d=>g())},{default:e.withCtx(()=>[...l[10]||(l[10]=[e.createTextVNode("Import Default Types",-1)])]),_:1})])])):(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",re,[e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(t,null,{default:e.withCtx(()=>[e.createVNode(p,{variant:"outline"},{default:e.withCtx(()=>[e.createElementVNode("div",se,[e.createVNode(e.unref(v.Plus),{class:"size-4"}),l[13]||(l[13]=e.createTextVNode(" Create new Promo Type ",-1))])]),_:1})]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(x,{onClick:l[2]||(l[2]=d=>o.value?.open())},{default:e.withCtx(()=>[e.createElementVNode("div",de,[e.createVNode(e.unref(v.Plus),{class:"size-4"}),l[14]||(l[14]=e.createTextVNode(" New Type ",-1))])]),_:1}),e.createVNode(c),e.createVNode(x,{onClick:l[3]||(l[3]=d=>o.value?.openFromTemplate("fixed"))},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[e.createVNode(e.unref(v.DollarSign),{class:"size-4"}),l[15]||(l[15]=e.createTextVNode(" Fixed Amount ",-1))])]),_:1}),e.createVNode(x,{onClick:l[4]||(l[4]=d=>o.value?.openFromTemplate("percentage"))},{default:e.withCtx(()=>[e.createElementVNode("div",ue,[e.createVNode(e.unref(v.Percent),{class:"size-4"}),l[16]||(l[16]=e.createTextVNode(" Percentage ",-1))])]),_:1}),e.createVNode(x,{onClick:l[5]||(l[5]=d=>o.value?.openFromTemplate("free_shipping"))},{default:e.withCtx(()=>[e.createElementVNode("div",ce,[e.createVNode(e.unref(v.Truck),{class:"size-4"}),l[17]||(l[17]=e.createTextVNode(" Free Shipping ",-1))])]),_:1})]),_:1})]),_:1})]),e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(y,null,{default:e.withCtx(()=>[...l[18]||(l[18]=[e.createTextVNode("Name (label)",-1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[...l[19]||(l[19]=[e.createTextVNode("Key",-1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[...l[20]||(l[20]=[e.createTextVNode("Value Field",-1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[...l[21]||(l[21]=[e.createTextVNode("Unlimited Uses",-1)])]),_:1}),e.createVNode(y,{class:"text-right"},{default:e.withCtx(()=>[...l[22]||(l[22]=[e.createTextVNode("Actions",-1)])]),_:1})]),_:1})]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),d=>(e.openBlock(),e.createBlock(E,{key:d.key},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label),1)]),_:2},1024),e.createVNode(C,null,{default:e.withCtx(()=>[e.createElementVNode("span",me,e.toDisplayString(d.key),1)]),_:2},1024),e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.hasValueField?"Yes":"No"),1)]),_:2},1024),e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.allowUnlimitedUses?"Yes":"No"),1)]),_:2},1024),e.createVNode(C,{class:"text-right"},{default:e.withCtx(()=>[e.createVNode(p,{variant:"ghost",size:"icon",onClick:A=>o.value?.open(d)},{default:e.withCtx(()=>[e.createVNode(e.unref(v.Pencil),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(p,{variant:"ghost",size:"icon",onClick:A=>m(d)},{default:e.withCtx(()=>[e.createVNode(e.unref(v.Trash2),{class:"size-4 text-red-500"})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]))]),e.createVNode($,null,{default:e.withCtx(()=>[e.createVNode(p,{variant:"outline",disabled:""},{default:e.withCtx(()=>[...l[23]||(l[23]=[e.createTextVNode(" Auto-saved ",-1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(te,{ref_key:"typeDetailDialog",ref:o},null,512)],64)}}}),fe={class:"flex justify-between items-center"},Ve={class:"grid gap-2"},xe={class:"flex flex-wrap gap-12"},ve={key:0,class:"grid gap-2"},Ne={class:"flex items-center gap-2"},Ce={key:1,class:"grid gap-2"},ge={class:"flex items-center space-x-2"},_e=e.defineComponent({__name:"index",setup(b){const n=e.inject("newCoupon"),_=e.inject("promoTypes",e.ref([])),a=e.computed(()=>_.value.find(i=>i.key===n.value?.type)||null),{isAdmin:s}=w.useModulePermissions();return(i,o)=>{const m=e.resolveComponent("Label"),g=e.resolveComponent("SelectValue"),u=e.resolveComponent("SelectTrigger"),l=e.resolveComponent("SelectItem"),p=e.resolveComponent("SelectGroup"),V=e.resolveComponent("SelectContent"),r=e.resolveComponent("Select"),N=e.resolveComponent("Input"),f=e.resolveComponent("Switch"),t=e.resolveComponent("Card");return e.openBlock(),e.createBlock(t,{class:"p-4"},{default:e.withCtx(()=>[e.createElementVNode("div",fe,[o[3]||(o[3]=e.createElementVNode("h2",{class:"font-medium"},"Value",-1)),e.unref(s)()?(e.openBlock(),e.createBlock(pe,{key:0})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ve,[e.createVNode(m,{class:"text-muted-foreground"},{default:e.withCtx(()=>[...o[4]||(o[4]=[e.createTextVNode("Promo Type",-1)])]),_:1}),e.createVNode(r,{modelValue:e.unref(n).type,"onUpdate:modelValue":o[0]||(o[0]=x=>e.unref(n).type=x)},{default:e.withCtx(()=>[e.createVNode(u,{class:"w-[200px]"},{default:e.withCtx(()=>[e.createVNode(g,{placeholder:"Select a promo type"})]),_:1}),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),x=>(e.openBlock(),e.createBlock(l,{key:x.key,value:x.key},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),e.createElementVNode("div",xe,[a.value?.hasValueField?(e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(m,{for:"discountValue",class:"text-muted-foreground"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value?.valueLabel||"Value"),1)]),_:1}),e.createElementVNode("div",Ne,[a.value?.valuePrefix?(e.openBlock(),e.createBlock(m,{key:0,for:"discountValue",class:"text-lg"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value?.valuePrefix),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(N,{modelValue:e.unref(n).value,"onUpdate:modelValue":o[1]||(o[1]=x=>e.unref(n).value=x),id:"discountValue"},null,8,["modelValue"]),a.value?.valueSuffix?(e.openBlock(),e.createBlock(m,{key:1,for:"discountValue",class:"text-lg"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value?.valueSuffix),1)]),_:1})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),a.value?.allowUnlimitedUses&&e.unref(n).creationMode!=="multi"?(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(m,{for:"unlimitedUses",class:"text-muted-foreground"},{default:e.withCtx(()=>[...o[5]||(o[5]=[e.createTextVNode("Unlimited Uses",-1)])]),_:1}),e.createElementVNode("div",ge,[e.createVNode(f,{id:"unlimitedUses",modelValue:e.unref(n).unlimitedUses,"onUpdate:modelValue":o[2]||(o[2]=x=>e.unref(n).unlimitedUses=x)},null,8,["modelValue"]),e.createVNode(m,{for:"unlimitedUses"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).unlimitedUses?"Yes":"No"),1)]),_:1})])])):e.createCommentVNode("",!0)])]),_:1})}}}),we={class:"flex gap-4"},ye={class:"flex flex-col"},ke={key:0,class:"-ml-2"},be={key:1,class:"text-xs text-muted-foreground mt-2"},Te={class:"flex flex-col"},De={key:0,class:"-ml-2"},Ue={key:1,class:"text-xs text-muted-foreground mt-2"},Ee=e.defineComponent({__name:"DateRange",setup(b){const n=e.inject("newCoupon"),_=new I.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"long"});return(a,s)=>{const i=e.resolveComponent("Label"),o=e.resolveComponent("Button"),m=e.resolveComponent("PopoverTrigger"),g=e.resolveComponent("Calendar"),u=e.resolveComponent("PopoverContent"),l=e.resolveComponent("Popover"),p=e.resolveComponent("Card");return e.openBlock(),e.createBlock(p,{class:"p-4"},{default:e.withCtx(()=>[s[8]||(s[8]=e.createElementVNode("div",null,[e.createElementVNode("h2",{class:"font-medium mb-2"},"Availability"),e.createElementVNode("p",{class:"text-muted-foreground"},"When will this code be available?")],-1)),e.createElementVNode("div",we,[e.createElementVNode("div",ye,[e.createVNode(i,{class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...s[4]||(s[4]=[e.createTextVNode("Available from",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(m,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(o,{variant:"outline",class:e.normalizeClass(e.unref(h.classNames)("w-[280px] justify-start text-left font-normal",!e.unref(n).startsAt&&"text-muted-foreground"))},{default:e.withCtx(()=>[e.createVNode(e.unref(v.CalendarIcon),{class:"mr-2 h-4 w-4"}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).startsAt?e.unref(_).format(e.unref(n).startsAt.toDate(e.unref(M.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class"])]),_:1}),e.createVNode(u,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:e.unref(n).startsAt,"onUpdate:modelValue":s[0]||(s[0]=V=>e.unref(n).startsAt=V),"initial-focus":"",minValue:e.unref(M.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3)()},null,8,["modelValue","minValue"])]),_:1})]),_:1}),e.unref(n).startsAt?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(o,{onClick:s[1]||(s[1]=V=>e.unref(n).startsAt=void 0),variant:"link"},{default:e.withCtx(()=>[...s[5]||(s[5]=[e.createTextVNode("Clear",-1)])]),_:1})])):(e.openBlock(),e.createElementBlock("p",be,"Not set - codes will be available immediately"))]),e.createElementVNode("div",Te,[e.createVNode(i,{class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...s[6]||(s[6]=[e.createTextVNode("Until",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(m,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(o,{variant:"outline",class:e.normalizeClass(e.unref(h.classNames)("w-[280px] justify-start text-left font-normal",!e.unref(n).expiresAt&&"text-muted-foreground"))},{default:e.withCtx(()=>[e.createVNode(e.unref(v.CalendarIcon),{class:"mr-2 h-4 w-4"}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).expiresAt?e.unref(_).format(e.unref(n).expiresAt.toDate(e.unref(M.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class"])]),_:1}),e.createVNode(u,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(g,{modelValue:e.unref(n).expiresAt,"onUpdate:modelValue":s[2]||(s[2]=V=>e.unref(n).expiresAt=V),"initial-focus":"",minValue:e.unref(n).startsAt},null,8,["modelValue","minValue"])]),_:1})]),_:1}),e.unref(n).expiresAt?(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(o,{onClick:s[3]||(s[3]=V=>e.unref(n).expiresAt=void 0),variant:"link"},{default:e.withCtx(()=>[...s[7]||(s[7]=[e.createTextVNode("Clear",-1)])]),_:1})])):(e.openBlock(),e.createElementBlock("p",Ue,"Not set - codes will never expire"))])])]),_:1})}}}),Se=e.defineComponent({__name:"Note",setup(b){const n=e.inject("newCoupon");return(_,a)=>{const s=e.resolveComponent("Textarea"),i=e.resolveComponent("Card");return e.openBlock(),e.createBlock(i,{class:"p-4"},{default:e.withCtx(()=>[e.createElementVNode("div",null,[a[1]||(a[1]=e.createElementVNode("h2",{class:"font-medium mb-2"},"Note",-1)),a[2]||(a[2]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-2"},"Used internally. It's a good idea to write down why you're creating this promo code.",-1)),e.createVNode(s,{modelValue:e.unref(n).note,"onUpdate:modelValue":a[0]||(a[0]=o=>e.unref(n).note=o)},null,8,["modelValue"])])]),_:1})}}}),Be={class:"relative"},$e={ref:"container",class:"flex flex-col gap-4 w-full max-w-5xl mx-auto"},Pe={class:"flex justify-between items-center mb-4"},Fe={class:"w-full max-w-2xl"},Me={class:"flex items-center space-x-2"},he={class:"flex items-center space-x-2"},Ae={class:"flex justify-end w-full"},Ie=e.defineComponent({__name:"Create",props:{config:{type:Object,required:!0}},async setup(b){let n,_;const a=b,{hasPermission:s}=w.useModulePermissions(),{navigateTo:i}=w.useModuleRoute(),{getTimezone:o}=w.useProjectSettings(),{log:m,logError:g}=w.useLogs(),{getModuleData:u,setModuleData:l}=w.useModuleStorage();w.useModuleBreadcrumbs(()=>[]);const p=w.useFirebaseIntegration(a.config.project),V=e.ref(!1),r=e.ref({creationMode:"single",generationMode:"generate",quantity:1,prefix:"",codes:"",code:"",type:void 0,value:void 0,unlimitedUses:!1,startsAt:void 0,expiresAt:void 0,minOrderAmount:0,note:""}),N=e.ref([]);N.value=([n,_]=e.withAsyncContext(()=>u("promo-types")),n=await n,_(),n||[]),e.provide("newCoupon",r),e.provide("promoTypes",N);const f=()=>{if(r.value.creationMode=="single"){if(r.value.code=r.value.code?.trim().toUpperCase(),!r.value.code)return T.toast.error("Please enter a code"),!1}else if(r.value.generationMode=="generate"){if(r.value.prefix=r.value.prefix?.trim().toUpperCase(),!r.value.prefix)return T.toast.error("Please enter a prefix"),!1;if(!r.value.quantity||r.value.quantity<1)return T.toast.error("Generate at least 1 code"),!1}else if(r.value.generationMode=="input"&&(r.value.codes=r.value.codes?.trim().toUpperCase(),!r.value.codes||r.value.codes.length<1))return T.toast.error("Please enter some codes"),!1;return r.value.type?N.value.find(x=>x.key===r.value.type)?.hasValueField&&!r.value.value?(T.toast.error("Please enter a value"),!1):(r.value.creationMode==="multi"&&(r.value.unlimitedUses=!1),!0):(T.toast.error("Please select a type"),!1)},t=async()=>{try{if(!f())return;if(V.value=!0,r.value.creationMode=="single"){let x={code:r.value.code,type:r.value.type,value:r.value.value,minOrderAmount:r.value.minOrderAmount,usageLimit:r.value.unlimitedUses?0:1,usageCount:0,lastUsedAt:null,startsAt:r.value.startsAt?r.value.startsAt.toDate(o()):null,expiresAt:r.value.expiresAt?r.value.expiresAt.toDate(o()):null,disabled:!1,note:r.value.note,createdAt:new Date,updatedAt:new Date};const c=await p.add(a.config.promoCodeCollection,x);m("Promo code created",{id:c.id,code:c.code,note:c.note}),T.toast.success("Promo code created")}}catch{g("Failed to create promo code"),T.toast.error("Failed to create promo code")}finally{V.value=!1}};return(x,c)=>{const k=e.resolveComponent("Button"),U=e.resolveComponent("RadioGroupItem"),y=e.resolveComponent("Label"),E=e.resolveComponent("RadioGroup"),S=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("div",$e,[e.createElementVNode("div",Pe,[c[3]||(c[3]=e.createElementVNode("h1",{class:"text-2xl font-bold"},"New Promo Code",-1)),e.createVNode(k,{onClick:c[0]||(c[0]=C=>e.unref(i)("promo-codes")),variant:"outline",disabled:V.value},{default:e.withCtx(()=>[e.createVNode(e.unref(v.List),{class:"size-4"}),c[2]||(c[2]=e.createTextVNode(" View Promo Codes ",-1))]),_:1},8,["disabled"])]),e.createVNode(S,{class:"p-4"},{default:e.withCtx(()=>[e.createElementVNode("div",Fe,[c[6]||(c[6]=e.createElementVNode("h2",{class:"font-medium mb-4"},"Codes",-1)),e.createVNode(E,{modelValue:r.value.creationMode,"onUpdate:modelValue":c[1]||(c[1]=C=>r.value.creationMode=C),orientation:"horizontal",class:"mb-6"},{default:e.withCtx(()=>[e.createElementVNode("div",Me,[e.createVNode(U,{id:"creation_mode_single",value:"single"}),e.createVNode(y,{for:"creation_mode_single"},{default:e.withCtx(()=>[...c[4]||(c[4]=[e.createTextVNode("Create 1 code",-1)])]),_:1})]),e.createElementVNode("div",he,[e.createVNode(U,{id:"creation_mode_multi",value:"multi"}),e.createVNode(y,{for:"creation_mode_multi"},{default:e.withCtx(()=>[...c[5]||(c[5]=[e.createTextVNode("Create multiple codes",-1)])]),_:1})])]),_:1},8,["modelValue"]),r.value.creationMode=="single"?(e.openBlock(),e.createBlock(L,{key:0})):(e.openBlock(),e.createBlock(q,{key:1}))])]),_:1}),e.createVNode(_e),e.createVNode(Ee),e.createVNode(Se),e.createElementVNode("div",Ae,[e.createVNode(k,{disabled:V.value,onClick:t},{default:e.withCtx(()=>[V.value?(e.openBlock(),e.createBlock(e.unref(v.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),c[7]||(c[7]=e.createTextVNode(" Create Promo Code ",-1))]),_:1},8,["disabled"])])],512)])}}});exports.default=Ie;