@oneclick.dev/cms-core-modules 0.0.124 → 0.0.125

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 (149) hide show
  1. package/dist/AppointmentListTable-CWzbwqR-.js +1 -0
  2. package/dist/AppointmentListTable-DoZuBstk.mjs +270 -0
  3. package/dist/ContentEditor-BlNbqkAz.js +324 -0
  4. package/dist/{ContentEditor-DX1bTQKs.mjs → ContentEditor-D754iLJS.mjs} +8074 -27026
  5. package/dist/{Detail-B7pe808q.mjs → Detail-BOxWQ1QQ.mjs} +2 -2
  6. package/dist/{Detail-B_Q7Qkuz.mjs → Detail-BfKW0uZE.mjs} +2 -2
  7. package/dist/Detail-DFVu2F38.mjs +11 -0
  8. package/dist/{Detail-t3tOcy3X.js → Detail-DJea_fCd.js} +1 -1
  9. package/dist/{Detail-CNiLIEh9.js → Detail-DPJacXfm.js} +1 -1
  10. package/dist/Detail-DSLZ7_bM.js +1 -0
  11. package/dist/{Detail-BESGmY7z.js → Detail-DUGThL9Y.js} +1 -1
  12. package/dist/{Detail-DNxAzeCs.mjs → Detail-D_LlEeHu.mjs} +2 -2
  13. package/dist/Overview-0hFXiuYo.js +1 -0
  14. package/dist/Overview-BTx5LF4J.js +1 -0
  15. package/dist/Overview-CCu2PHai.mjs +289 -0
  16. package/dist/Overview-D2u-leeO.js +1 -0
  17. package/dist/Overview-D_2wozCG.mjs +1733 -0
  18. package/dist/Overview-Dffo-zH4.mjs +11 -0
  19. package/dist/{TableCalculationWidget-CrqcLGfU.mjs → TableCalculationWidget-B_LFoOYm.mjs} +3 -3
  20. package/dist/{TableCalculationWidget-CkQPrVUd.js → TableCalculationWidget-CahOIcbk.js} +1 -1
  21. package/dist/TableDataWidget-BwqWFH4A.js +1 -0
  22. package/dist/TableDataWidget-RsVxcDsL.mjs +112 -0
  23. package/dist/TableOverviewCard-BPWCqo56.js +1 -0
  24. package/dist/{TableOverviewCard-Ci0d4o4w.mjs → TableOverviewCard-D667DDag.mjs} +113 -127
  25. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C3XiOXgb.js +1 -0
  26. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-sp0TLio0.mjs +547 -0
  27. package/dist/{TableRowActionCard-BhdnnPaq.mjs → TableRowActionCard-BPYJ-Kjy.mjs} +95 -101
  28. package/dist/TableRowActionCard-Bnqj1YIe.js +1 -0
  29. package/dist/TableView-CwhZ9YN2.js +4 -0
  30. package/dist/TableView-DX9PKS8N.mjs +9673 -0
  31. package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-BgDdzbLe.js +1 -0
  32. package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-D85V4nrQ.mjs +2886 -0
  33. package/dist/cms-core-modules.css +1 -1
  34. package/dist/dateRangePresets-CaPVagHY.mjs +453 -0
  35. package/dist/dateRangePresets-gxQCiZ6c.js +1 -0
  36. package/dist/index-6hZ6MYY6.js +1 -0
  37. package/dist/index-BVmmicu3.mjs +14 -0
  38. package/dist/index-ChHD_1Cf.js +144 -0
  39. package/dist/index-CvV4nVWI.js +1 -0
  40. package/dist/index-DH2z0W_w.mjs +19012 -0
  41. package/dist/index-DZKzj48V.mjs +17 -0
  42. package/dist/index.cjs.js +1 -1
  43. package/dist/index.mjs +237 -103
  44. package/dist/orders-C_sz8J9b.js +1 -0
  45. package/dist/{orders-BfTLIm7U.mjs → orders-Cgdggzvx.mjs} +84 -84
  46. package/dist/server-handlers.cjs.js +1 -1
  47. package/dist/server-handlers.mjs +2055 -1123
  48. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +3 -0
  49. package/dist/src/appointments/index.d.ts +93 -3
  50. package/dist/src/appointments/reservation-summary.d.ts +48 -0
  51. package/dist/src/appointments/server.d.ts +1 -0
  52. package/dist/src/appointments/tools.d.ts +93 -3
  53. package/dist/src/filezone/config.d.ts +31 -0
  54. package/dist/src/filezone/index.d.ts +43 -0
  55. package/dist/src/filezone/index.vue.d.ts +2 -0
  56. package/dist/src/filezone/metadata.d.ts +2 -0
  57. package/dist/src/filezone/pages/Overview.vue.d.ts +4 -0
  58. package/dist/src/filezone/permissions.d.ts +5 -0
  59. package/dist/src/filezone/routes.d.ts +5 -0
  60. package/dist/src/filezone/server.d.ts +36 -0
  61. package/dist/src/index.d.ts +2 -0
  62. package/dist/src/mailTemplates/builder-types.d.ts +40 -0
  63. package/dist/src/mailTemplates/components/BlockRenderer.vue.d.ts +24 -0
  64. package/dist/src/mailTemplates/components/DesignPanel.vue.d.ts +13 -0
  65. package/dist/src/mailTemplates/components/EmailCanvas.vue.d.ts +44 -0
  66. package/dist/src/mailTemplates/components/RichTextEditor.vue.d.ts +10 -0
  67. package/dist/src/mailTemplates/components/RightSidebar.vue.d.ts +18 -0
  68. package/dist/src/mailTemplates/components/SettingsPanel.vue.d.ts +15 -0
  69. package/dist/src/mailTemplates/components/TemplateBuilder.vue.d.ts +2 -0
  70. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +19 -1
  71. package/dist/src/mailTemplates/components/rich-text.d.ts +6 -0
  72. package/dist/src/mailTemplates/config.d.ts +10 -4
  73. package/dist/src/mailTemplates/defaults.d.ts +10 -0
  74. package/dist/src/mailTemplates/editor-state.d.ts +21 -0
  75. package/dist/src/mailTemplates/index.d.ts +11 -5
  76. package/dist/src/mailTemplates/index.vue.d.ts +2 -4
  77. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  78. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +1 -13
  79. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +1 -13
  80. package/dist/src/mailTemplates/server.d.ts +23 -0
  81. package/dist/src/server-handlers.d.ts +4 -0
  82. package/dist/src/table/badge-filter-utils.d.ts +8 -0
  83. package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +2 -7
  84. package/dist/src/table/chat-components/TableResultView.vue.d.ts +3 -7
  85. package/dist/src/table/components/TableDisplayCell.vue.d.ts +8 -0
  86. package/dist/src/table/components/columns/BadgeColumnSettings.vue.d.ts +9 -0
  87. package/dist/src/table/components/columns/ColumnColorSelect.vue.d.ts +11 -0
  88. package/dist/src/table/components/columns/ColumnDisplaySettings.vue.d.ts +9 -0
  89. package/dist/src/table/components/columns/ColumnTypeSelect.vue.d.ts +11 -0
  90. package/dist/src/table/components/columns/ColumnValueSourceInput.vue.d.ts +15 -0
  91. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +8 -11
  92. package/dist/src/table/components/columns/ProgressColumnSettings.vue.d.ts +8 -0
  93. package/dist/src/table/components/stats/StatDialog.vue.d.ts +6 -10
  94. package/dist/src/table/components/stats/Stats.vue.d.ts +9 -15
  95. package/dist/src/table/composables/useTableClock.d.ts +4 -0
  96. package/dist/src/table/display-utils.d.ts +35 -0
  97. package/dist/src/table/row-value.d.ts +1 -0
  98. package/dist/src/table/stat-utils.d.ts +9 -0
  99. package/dist/src/table/tool-utils.d.ts +1 -1
  100. package/dist/src/table/types.d.ts +54 -1
  101. package/dist/src/whatsappBusiness/analytics.d.ts +4 -0
  102. package/dist/src/whatsappBusiness/components/AccountPanel.vue.d.ts +2 -0
  103. package/dist/src/whatsappBusiness/components/InsightsPanel.vue.d.ts +5 -0
  104. package/dist/src/whatsappBusiness/components/TemplateDialog.vue.d.ts +14 -0
  105. package/dist/src/whatsappBusiness/components/TemplatesPanel.vue.d.ts +5 -0
  106. package/dist/src/whatsappBusiness/components/presentation.d.ts +4 -0
  107. package/dist/src/whatsappBusiness/config.d.ts +51 -0
  108. package/dist/src/whatsappBusiness/connection.d.ts +77 -0
  109. package/dist/src/whatsappBusiness/index.d.ts +63 -0
  110. package/dist/src/whatsappBusiness/index.vue.d.ts +5 -0
  111. package/dist/src/whatsappBusiness/metadata.d.ts +2 -0
  112. package/dist/src/whatsappBusiness/pages/Overview.vue.d.ts +2 -0
  113. package/dist/src/whatsappBusiness/permissions.d.ts +5 -0
  114. package/dist/src/whatsappBusiness/provider.d.ts +21 -0
  115. package/dist/src/whatsappBusiness/routes.d.ts +5 -0
  116. package/dist/src/whatsappBusiness/server.d.ts +14 -0
  117. package/dist/src/whatsappBusiness/templates.d.ts +94 -0
  118. package/dist/src/whatsappBusiness/types.d.ts +162 -0
  119. package/dist/{tool-sandbox-DoF1PsyS.js → tool-sandbox-BSkKdH7V.js} +1 -1
  120. package/dist/{tool-sandbox-DdkMLkDK.mjs → tool-sandbox-DU9b1B7v.mjs} +1 -1
  121. package/dist/{types-ibC3-e1N.mjs → types-B5MifmeF.mjs} +339 -273
  122. package/dist/types-D5dgTskW.js +1 -0
  123. package/dist/{useTableAgentTools-D5mzGf3A.js → useTableAgentTools-BrUot49I.js} +1 -1
  124. package/dist/{useTableAgentTools-DcN3kYRL.mjs → useTableAgentTools-r5InEI4p.mjs} +8 -8
  125. package/dist/{vee-validate-zod-BQElPD0m.js → vee-validate-zod-CWZwNTWE.js} +1 -1
  126. package/dist/{vee-validate-zod-CN16K2x9.mjs → vee-validate-zod-D0WaDgDZ.mjs} +1 -1
  127. package/package.json +2 -2
  128. package/src/appointments/tools.ts +52 -2
  129. package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
  130. package/dist/AppointmentListTable-Dieu9US_.js +0 -1
  131. package/dist/ContentEditor-BcIUumah.js +0 -467
  132. package/dist/Detail-Byk781b4.mjs +0 -26
  133. package/dist/Detail-mvSGbnFU.js +0 -1
  134. package/dist/Overview-BDlBCUI_.js +0 -1
  135. package/dist/Overview-Su8ZUbMs.mjs +0 -26
  136. package/dist/TableDataWidget-7qvC3Egd.js +0 -1
  137. package/dist/TableDataWidget-DMTSoGRO.mjs +0 -121
  138. package/dist/TableOverviewCard-AFq-puJs.js +0 -1
  139. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +0 -534
  140. package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +0 -1
  141. package/dist/TableRowActionCard-IzB6tNN-.js +0 -1
  142. package/dist/TableView-6mdrL3zx.js +0 -4
  143. package/dist/TableView-Du5nOE6R.mjs +0 -8228
  144. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +0 -1
  145. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +0 -40
  146. package/dist/dateRangePresets-B-l5b_wR.mjs +0 -48
  147. package/dist/dateRangePresets-CPWqst_x.js +0 -1
  148. package/dist/orders-DUa2PVoa.js +0 -1
  149. package/dist/types-BMraG1kN.js +0 -1
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as ne, inject as pt, resolveComponent as m, openBlock as b, createBlock as R, withCtx as c, createVNode as r, createElementVNode as p, createTextVNode as P, isRef as Y, unref as g, createElementBlock as k, toDisplayString as z, createCommentVNode as F, computed as G, watch as te, useTemplateRef as Ie, ref as L, nextTick as Re, Fragment as J, renderList as ce, withModifiers as fe, onMounted as vt, normalizeClass as De, withKeys as hn, provide as Pt, withAsyncContext as yn } from "vue";
2
- import { u as Ee, a as B, t as xn, b as Dn } from "./vee-validate-zod-CN16K2x9.mjs";
2
+ import { u as Ee, a as B, t as xn, b as Dn } from "./vee-validate-zod-D0WaDgDZ.mjs";
3
3
  import { Info as Sn, GripVertical as ut, CircleX as Cn, Trash2 as wn, PlusCircle as Nt, X as Rt, Loader2 as ft, Search as Tt, ListFilter as kn, ChevronDown as It, Ellipsis as Vn, ImagePlus as $t, Plus as Pn, CornerDownRight as Nn, Tag as Tn, ChevronRight as In, Archive as $n, Trash as En } from "lucide-vue-next";
4
4
  import { animations as Ut } from "@formkit/drag-and-drop";
5
5
  import { useConfirmation as Lt, useModuleRoute as Bt, useFirebaseIntegration as jt, useModulePermissions as Mn, useModuleBreadcrumbs as An } from "@oneclick.dev/cms-kit";
6
6
  import { g as zn } from "./google-CvtuJwgk.mjs";
7
7
  import { t as de } from "./index-RLz1QPrf.mjs";
8
- import { o as Ne, a as ye, s as X, p as Oe, c as xe, b as Fe, d as Et } from "./types-ibC3-e1N.mjs";
8
+ import { o as Ne, a as ye, s as X, p as Oe, c as xe, b as Fe, f as Et } from "./types-B5MifmeF.mjs";
9
9
  const On = { class: "flex flex-col gap-4" }, Fn = { class: "flex flex-col" }, Rn = {
10
10
  key: 0,
11
11
  class: "text-red-500 text-sm mt-1"
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as H, inject as se, watch as ge, resolveComponent as u, openBlock as i, createBlock as w, withCtx as l, createVNode as e, createElementVNode as n, createTextVNode as C, isRef as X, unref as o, createElementBlock as x, toDisplayString as A, createCommentVNode as h, withModifiers as ne, ref as ae, computed as ie, Fragment as xe, renderList as ve, provide as ee, onMounted as be } from "vue";
2
- import { u as Y, a as q, t as ye, b as he } from "./vee-validate-zod-CN16K2x9.mjs";
2
+ import { u as Y, a as q, t as ye, b as he } from "./vee-validate-zod-D0WaDgDZ.mjs";
3
3
  import { X as ce, ImagePlus as W, Plus as Ce, ArrowUp as Se, ArrowDown as we, Copy as ke, Trash as re, ChevronUp as $e, ChevronDown as ze, Tag as Ve, ChevronRight as Ie, Loader2 as te } from "lucide-vue-next";
4
4
  import { useModulePermissions as Te, useModuleRoute as Ue, useConfirmation as De, useFirebaseIntegration as Me, useModuleBreadcrumbs as Ae } from "@oneclick.dev/cms-kit";
5
5
  import { t as L } from "./index-RLz1QPrf.mjs";
6
- import { o as le, g as Pe, h as Fe, s as P, a as oe } from "./types-ibC3-e1N.mjs";
6
+ import { o as le, i as Pe, e as Fe, s as P, a as oe } from "./types-B5MifmeF.mjs";
7
7
  const Ne = { class: "flex flex-col gap-4" }, Be = { class: "flex flex-col gap-2" }, je = {
8
8
  key: 0,
9
9
  class: "text-red-500 text-sm mt-1"
@@ -0,0 +1,11 @@
1
+ import { defineComponent as e, openBlock as o, createBlock as t } from "vue";
2
+ import { _ as r } from "./TemplateBuilder.vue_vue_type_script_setup_true_lang-D85V4nrQ.mjs";
3
+ const p = /* @__PURE__ */ e({
4
+ __name: "Detail",
5
+ setup(_) {
6
+ return (n, a) => (o(), t(r));
7
+ }
8
+ });
9
+ export {
10
+ p as default
11
+ };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),S=require("./vee-validate-zod-BQElPD0m.js"),_=require("lucide-vue-next"),M=require("@oneclick.dev/cms-kit"),z=require("./index-ijdf0d9-.js"),v=require("./types-BMraG1kN.js"),K={class:"flex flex-col gap-4"},Z={class:"flex flex-col gap-2"},H={key:0,class:"text-red-500 text-sm mt-1"},Q={class:"flex flex-col gap-4"},W={class:"flex flex-col gap-2"},Y={key:0,class:"text-red-500 text-sm mt-1"},ee={class:"flex flex-col gap-4"},te={class:"flex flex-col gap-2"},oe={key:0,class:"text-red-500 text-sm mt-1"},le={class:"flex flex-col gap-4"},ne={class:"flex flex-col gap-2"},se={class:"flex items-center gap-2 mb-2"},ae={class:"flex items-center gap-2"},re=["src"],ce={key:0,class:"text-red-500 text-sm mt-1"},ie=e.defineComponent({__name:"Main",setup(A){const V=e.inject("sources"),{errors:p}=S.useFormContext(),{value:C}=S.useField("title"),{value:c}=S.useField("description"),{value:f}=S.useField("thumbnail"),{value:k}=S.useField("slug"),N=i=>{f.value=Array.isArray(i)?i[0]||"":i};function h(i){return i?i.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}return e.watch(C,(i,r)=>{(!k.value||h(r)===k.value)&&(k.value=h(i))}),(i,r)=>{const b=e.resolveComponent("Label"),B=e.resolveComponent("Input"),T=e.resolveComponent("Textarea"),$=e.resolveComponent("Button"),y=e.resolveComponent("MediaPickerDialog"),U=e.resolveComponent("CardContent"),D=e.resolveComponent("Card");return e.openBlock(),e.createBlock(D,null,{default:e.withCtx(()=>[e.createVNode(U,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",K,[e.createElementVNode("div",Z,[e.createVNode(b,{for:"title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...r[6]||(r[6]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(B,{type:"text",id:"title",placeholder:"Summer collection",modelValue:e.unref(C),"onUpdate:modelValue":r[0]||(r[0]=x=>e.isRef(C)?C.value=x:null)},null,8,["modelValue"]),e.unref(p).title?(e.openBlock(),e.createElementBlock("p",H,e.toDisplayString(e.unref(p).title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Q,[e.createElementVNode("div",W,[e.createVNode(b,{for:"slug",class:"text-sm mb-2"},{default:e.withCtx(()=>[...r[7]||(r[7]=[e.createTextVNode("Slug",-1)])]),_:1}),e.createVNode(B,{id:"slug",placeholder:"summer-collection",modelValue:e.unref(k),"onUpdate:modelValue":r[1]||(r[1]=x=>e.isRef(k)?k.value=x:null)},null,8,["modelValue"]),e.unref(p).slug?(e.openBlock(),e.createElementBlock("p",Y,e.toDisplayString(e.unref(p).slug),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ee,[e.createElementVNode("div",te,[e.createVNode(b,{for:"description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...r[8]||(r[8]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(T,{id:"description",placeholder:"Fresh, vibrant, and bold. The perfect collection for the summer season.",modelValue:e.unref(c),"onUpdate:modelValue":r[2]||(r[2]=x=>e.isRef(c)?c.value=x:null)},null,8,["modelValue"]),e.unref(p).description?(e.openBlock(),e.createElementBlock("p",oe,e.toDisplayString(e.unref(p).description),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",le,[e.createElementVNode("div",ne,[e.createElementVNode("div",se,[e.createVNode(b,{for:"media",class:"text-sm"},{default:e.withCtx(()=>[...r[9]||(r[9]=[e.createTextVNode("Thumbnail",-1)])]),_:1}),e.unref(f)?(e.openBlock(),e.createBlock($,{key:0,variant:"ghost",size:"icon",onClick:r[3]||(r[3]=x=>f.value="")},{default:e.withCtx(()=>[e.createVNode(e.unref(_.X),{class:"size-4"})]),_:1})):e.createCommentVNode("",!0)]),e.createElementVNode("div",ae,[e.createVNode(y,{sources:e.unref(V),maxFiles:1,"initial-value":e.unref(f)?[e.unref(f)]:[],onSubmit:r[5]||(r[5]=x=>N(x))},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:r[4]||(r[4]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer block"},[e.unref(f)?(e.openBlock(),e.createElementBlock("img",{key:1,src:e.unref(f),class:"size-42 rounded-md object-cover",draggable:"false"},null,8,re)):(e.openBlock(),e.createBlock($,{key:0,variant:"outline",class:"size-42 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ImagePlus))]),_:1}))])]),_:1},8,["sources","initial-value"]),e.unref(p).thumbnail?(e.openBlock(),e.createElementBlock("p",ce,e.toDisplayString(e.unref(p).thumbnail),1)):e.createCommentVNode("",!0)])])])]),_:1})]),_:1})}}}),de={class:"flex items-center gap-2"},ue={key:0,class:"size-3 rounded-full bg-green-500"},me={key:1,class:"size-3 rounded-full bg-blue-500"},pe=e.defineComponent({__name:"Status",setup(A){const{errors:V}=S.useFormContext(),{value:p}=S.useField("status");return(C,c)=>{const f=e.resolveComponent("SelectValue"),k=e.resolveComponent("SelectTrigger"),N=e.resolveComponent("SelectItem"),h=e.resolveComponent("SelectGroup"),i=e.resolveComponent("SelectContent"),r=e.resolveComponent("Select"),b=e.resolveComponent("CardContent"),B=e.resolveComponent("Card");return e.openBlock(),e.createBlock(B,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[c[3]||(c[3]=e.createElementVNode("p",{class:"text-md font-semibold mb-2"},"Status",-1)),e.createVNode(r,{modelValue:e.unref(p),"onUpdate:modelValue":c[0]||(c[0]=T=>e.isRef(p)?p.value=T:null),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(k,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",de,[e.unref(p)==="published"?(e.openBlock(),e.createElementBlock("span",ue)):e.unref(p)==="draft"?(e.openBlock(),e.createElementBlock("span",me)):e.createCommentVNode("",!0),e.createVNode(f,{placeholder:"Status"})])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(N,{value:"published"},{default:e.withCtx(()=>[...c[1]||(c[1]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(N,{value:"draft"},{default:e.withCtx(()=>[...c[2]||(c[2]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),fe={class:"flex items-center justify-between gap-4"},xe={class:"text-sm text-muted-foreground"},ge={key:0,class:"border border-dashed rounded-lg p-6 text-center text-sm text-muted-foreground"},_e={key:1,class:"flex flex-col gap-3"},Ce={class:"flex items-center gap-3 p-3"},ve=["onClick"],Ve={key:1,class:"size-10 rounded-md border border-dashed flex items-center justify-center text-muted-foreground"},ke={class:"min-w-0"},Ne={class:"flex items-center gap-2"},he={class:"font-medium truncate"},be={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},ye={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},we={class:"flex items-center gap-1"},Se={key:0,class:"border-t p-4 flex flex-col gap-4"},Be={class:"grid grid-cols-1 @md:grid-cols-2 gap-4"},Ee={class:"flex flex-col gap-2"},Te={key:0,class:"text-red-500 text-sm mt-1"},$e={class:"flex flex-col gap-2"},ze={key:0,class:"text-red-500 text-sm mt-1"},De={class:"flex flex-col gap-2"},Ie={class:"flex items-center gap-2"},Ue={key:0,class:"size-3 rounded-full bg-green-500"},Me={key:1,class:"size-3 rounded-full bg-blue-500"},Ae={class:"flex flex-col gap-2"},Fe={class:"flex flex-col gap-2"},Pe={class:"flex items-center gap-2"},je=["src"],qe=e.defineComponent({__name:"Subcollections",setup(A){const V=e.inject("sources"),{errors:p}=S.useFormContext(),{value:C}=S.useField("subcollections"),c=e.ref([]),f=e.computed(()=>(Array.isArray(C.value)||(C.value=[]),C.value.map(N)));function k(l){return l?l.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}function N(l){const t=l;return t.id||(t.id=crypto.randomUUID()),t.type="manual",t.status||(t.status="draft"),t.slug||(t.slug=k(t.title)),delete t.seo,t}function h(){return{id:crypto.randomUUID(),title:"",type:"manual",description:"",thumbnail:"",slug:"",status:"draft"}}function i(){return Array.isArray(C.value)?C.value.map(N):[]}function r(l){C.value=l}function b(){const l=h();r([...i(),l]),c.value=[l.id]}function B(l){const t=i(),u=t.findIndex(n=>n.id===l.id),o=JSON.parse(JSON.stringify(l));o.id=crypto.randomUUID(),o.type="manual",o.title=`${o.title||"Untitled subcollection"} (copy)`,o.slug=x(o.slug?`${o.slug}-copy`:o.title,o.id),delete o.seo;const a=[...t];a.splice(u+1,0,o),r(a),c.value=[o.id]}function T(l){r(i().filter(t=>t.id!==l)),c.value=c.value.filter(t=>t!==l)}function $(l,t){const u=i(),o=u.findIndex(m=>m.id===l),a=t==="up"?o-1:o+1;if(o<0||a<0||a>=u.length)return;const n=[...u],[d]=n.splice(o,1);n.splice(a,0,d),r(n)}function y(l){c.value=c.value.includes(l)?c.value.filter(t=>t!==l):[...c.value,l]}function U(l,t){const u=l.title;l.title=t,(!l.slug||k(u)===l.slug)&&(l.slug=x(t,l.id))}function D(l,t){l.thumbnail=Array.isArray(t)?t[0]||"":t}function x(l,t){const u=k(l)||"subcollection",o=new Set(i().filter(d=>d.id!==t).map(d=>d.slug).filter(Boolean));if(!o.has(u))return u;let a=2,n=`${u}-${a}`;for(;o.has(n);)a++,n=`${u}-${a}`;return n}function P(l){l.slug=x(l.slug||l.title,l.id)}function E(l){return p.value?.[l]}return(l,t)=>{const u=e.resolveComponent("Button"),o=e.resolveComponent("AvatarImage"),a=e.resolveComponent("AvatarFallback"),n=e.resolveComponent("Avatar"),d=e.resolveComponent("Label"),m=e.resolveComponent("Input"),w=e.resolveComponent("SelectValue"),j=e.resolveComponent("SelectTrigger"),F=e.resolveComponent("SelectItem"),q=e.resolveComponent("SelectGroup"),L=e.resolveComponent("SelectContent"),O=e.resolveComponent("Select"),R=e.resolveComponent("Textarea"),G=e.resolveComponent("MediaPickerDialog"),J=e.resolveComponent("CardContent"),X=e.resolveComponent("Card");return e.openBlock(),e.createBlock(X,null,{default:e.withCtx(()=>[e.createVNode(J,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",fe,[e.createElementVNode("div",null,[t[1]||(t[1]=e.createElementVNode("h3",{class:"text-lg font-semibold"},"Subcollections",-1)),e.createElementVNode("p",xe,e.toDisplayString(f.value.length)+" subcollections",1)]),e.createVNode(u,{variant:"outline",onClick:b},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Plus),{class:"size-4"}),t[2]||(t[2]=e.createTextVNode(" Add ",-1))]),_:1})]),f.value.length===0?(e.openBlock(),e.createElementBlock("div",ge," No subcollections yet. ")):(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(s,I)=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:"border rounded-lg overflow-hidden"},[e.createElementVNode("div",Ce,[e.createElementVNode("button",{class:"flex items-center gap-3 min-w-0 flex-1 text-left cursor-pointer",onClick:g=>y(s.id)},[s.thumbnail?(e.openBlock(),e.createBlock(n,{key:0,class:"size-10 rounded-md"},{default:e.withCtx(()=>[e.createVNode(o,{src:s.thumbnail,class:"object-cover"},null,8,["src"]),e.createVNode(a,{class:"rounded-md"})]),_:2},1024)):(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(e.unref(_.ImagePlus),{class:"size-4"})])),e.createElementVNode("div",ke,[e.createElementVNode("div",Ne,[e.createElementVNode("p",he,e.toDisplayString(s.title||"Untitled subcollection"),1),s.status==="published"?(e.openBlock(),e.createElementBlock("span",be,"Published")):(e.openBlock(),e.createElementBlock("span",ye,"Draft"))])])],8,ve),e.createElementVNode("div",we,[e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>$(s.id,"up"),disabled:I===0},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ArrowUp),{class:"size-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>$(s.id,"down"),disabled:I===f.value.length-1},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ArrowDown),{class:"size-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>B(s)},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Copy),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>T(s.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Trash),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>y(s.id)},{default:e.withCtx(()=>[c.value.includes(s.id)?(e.openBlock(),e.createBlock(e.unref(_.ChevronUp),{key:0,class:"size-4"})):(e.openBlock(),e.createBlock(e.unref(_.ChevronDown),{key:1,class:"size-4"}))]),_:2},1032,["onClick"])])]),c.value.includes(s.id)?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",Ee,[e.createVNode(d,{for:`subcollection-${s.id}-title`,class:"text-sm"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Title",-1)])]),_:1},8,["for"]),e.createVNode(m,{type:"text",id:`subcollection-${s.id}-title`,placeholder:"Summer dresses","model-value":s.title,"onUpdate:modelValue":g=>U(s,String(g||""))},null,8,["id","model-value","onUpdate:modelValue"]),E(`subcollections[${I}].title`)?(e.openBlock(),e.createElementBlock("p",Te,e.toDisplayString(E(`subcollections[${I}].title`)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",$e,[e.createVNode(d,{for:`subcollection-${s.id}-slug`,class:"text-sm"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Slug",-1)])]),_:1},8,["for"]),e.createVNode(m,{id:`subcollection-${s.id}-slug`,placeholder:"summer-dresses",modelValue:s.slug,"onUpdate:modelValue":g=>s.slug=g,onBlur:g=>P(s)},null,8,["id","modelValue","onUpdate:modelValue","onBlur"]),E(`subcollections[${I}].slug`)?(e.openBlock(),e.createElementBlock("p",ze,e.toDisplayString(E(`subcollections[${I}].slug`)),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",De,[e.createVNode(d,{for:`subcollection-${s.id}-status`,class:"text-sm"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("Status",-1)])]),_:1},8,["for"]),e.createVNode(O,{modelValue:s.status,"onUpdate:modelValue":g=>s.status=g},{default:e.withCtx(()=>[e.createVNode(j,{id:`subcollection-${s.id}-status`,class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[s.status==="published"?(e.openBlock(),e.createElementBlock("span",Ue)):(e.openBlock(),e.createElementBlock("span",Me)),e.createVNode(w,{placeholder:"Status"})])]),_:2},1032,["id"]),e.createVNode(L,null,{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(F,{value:"published"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(F,{value:"draft"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1})]),_:1})]),_:1})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Ae,[e.createVNode(d,{for:`subcollection-${s.id}-description`,class:"text-sm"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Description",-1)])]),_:1},8,["for"]),e.createVNode(R,{id:`subcollection-${s.id}-description`,placeholder:"Fresh, vibrant, and bold. The perfect collection for the summer season.",modelValue:s.description,"onUpdate:modelValue":g=>s.description=g},null,8,["id","modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Fe,[e.createElementVNode("div",Pe,[e.createVNode(d,{for:`subcollection-${s.id}-media`,class:"text-sm"},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Thumbnail",-1)])]),_:1},8,["for"]),s.thumbnail?(e.openBlock(),e.createBlock(u,{key:0,variant:"ghost",size:"icon",onClick:g=>s.thumbnail=""},{default:e.withCtx(()=>[e.createVNode(e.unref(_.X),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0)]),e.createVNode(G,{sources:e.unref(V),maxFiles:1,"initial-value":s.thumbnail?[s.thumbnail]:[],onSubmit:g=>D(s,g)},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:t[0]||(t[0]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer block"},[s.thumbnail?(e.openBlock(),e.createElementBlock("img",{key:1,src:s.thumbnail,class:"size-32 rounded-md object-cover",draggable:"false"},null,8,je)):(e.openBlock(),e.createBlock(u,{key:0,variant:"outline",class:"size-32 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ImagePlus))]),_:1}))])]),_:2},1032,["sources","initial-value","onSubmit"])])])):e.createCommentVNode("",!0)]))),128))]))]),_:1})]),_:1})}}}),Le={class:"relative @container"},Oe={class:"flex flex-row gap-4 justify-between max-w-5xl mx-auto mt-4 mb-6"},Re={class:"flex items-center"},Ge={class:"text-lg font-semibold mx-2"},Je={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},Xe={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},Ke={class:"flex flex-col @3xl:flex-row gap-4 max-w-5xl mx-auto pb-24"},Ze={class:"flex flex-col gap-4 w-full @3xl:w-2/3"},He={class:"flex flex-col gap-4 w-full @3xl:w-1/3"},Qe={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)]"},We={class:"w-full max-w-5xl flex items-center justify-end mx-auto"},Ye=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},setup(A){const V=A,{hasPermission:p,hasAnyPermission:C}=M.useModulePermissions(),{params:c,navigateTo:f}=M.useModuleRoute(),{confirm:k}=M.useConfirmation(),N=M.useFirebaseIntegration(V.config.project);e.provide("sources",V.config.allowedMediaSources),e.provide("defaultSource",V.config.defaultUploadMediaSource);const h=e.computed(()=>!c.value.collectionId||c.value.collectionId==="new"),i=e.ref(!1),r=v.objectType({field:v.stringType(),operator:v.enumType(["==","!=","<",">","<=",">=","in","not-in","array-contains","array-contains-any"]),value:v.anyType()}),b=v.objectType({title:v.stringType().min(1,"Title is required"),type:v.stringType(),description:v.stringType().optional(),thumbnail:v.stringType().optional(),slug:v.stringType(),conditions:v.arrayType(r).optional(),status:v.stringType()}),B=b.extend({id:v.stringType().min(1,"ID is required")}),T=S.toTypedSchema(b.extend({id:v.stringType().optional(),subcollections:v.arrayType(B).optional()})),{handleSubmit:$,values:y,setValues:U}=S.useForm({validationSchema:T,initialValues:{status:"draft",type:"manual",subcollections:[]}});M.useModuleBreadcrumbs(()=>[{text:h.value?"New Collection":y.title||"Collection"}]);const D=$(async o=>{i.value=!0;let a=await x()||[];if(h.value){let n=E(o);if(n.id=crypto.randomUUID(),await u(n.slug)){z.toast.error("Collection with this slug already exists"),i.value=!1;return}const d=[...a,n],m=V.config.collectionsCollection.split(":");await N.update(m[0],null,{[m[1]]:d}),f("/"),z.toast.success("Collection created")}else{let n=E(o);const d=a.map(w=>w.id===c.value.collectionId?n:w),m=V.config.collectionsCollection.split(":");await N.update(m[0],null,{[m[1]]:d}),f("/"),z.toast.success("Collection updated")}i.value=!1}),x=async()=>{if(!V.config.collectionsCollection)return[];const o=V.config.collectionsCollection.split(":");return o.length!==2?[]:(await N.get(o[0]))?.[o[1]]||[]},P=async()=>{const a=(await x()).find(n=>n.id===c.value.collectionId);U(a)},E=(o,a=!1)=>{const n=JSON.parse(JSON.stringify(o));return n.type||="manual",n.status||="draft",delete n.seo,n.subcollections=(n.subcollections||[]).map(d=>{const m={...d,id:a||!d.id?crypto.randomUUID():d.id,type:"manual",status:d.status||"draft",slug:d.slug||""};return delete m.seo,delete m.subcollections,m}),n},l=async()=>{try{let o=E(y,!0),a=o.slug+"-copy",n=2;for(;await u(a);)a=o.slug+"-copy-"+n,n++;o.id=crypto.randomUUID(),o.slug=a,o.status="draft",o.title=o.title+" (copy)";const m=[...await x()||[],o],w=V.config.collectionsCollection.split(":");await N.update(w[0],null,{[w[1]]:m}),f(o.id),z.toast.success("Collection duplicated")}catch{z.toast.error("Failed to duplicate collection")}},t=async()=>{const o=Array.isArray(y.subcollections)&&y.subcollections.length>0;if(await k(o?"Are you sure you want to delete this collection? All subcollections will also be deleted.":"Are you sure you want to delete this collection?"))try{const n=await x()||[];if(n.length===0||!c.value.collectionId)throw new Error("Error loading values");const d=n.filter(w=>w.id!==c.value.collectionId),m=V.config.collectionsCollection.split(":");await N.update(m[0],null,{[m[1]]:d}),f(""),z.toast.success("Collection deleted")}catch{z.toast.error("Failed to delete collection")}},u=async o=>!!(await x()||[]).find(n=>n.slug===o);return e.onMounted(()=>{h.value||P()}),(o,a)=>{const n=e.resolveComponent("Button"),d=e.resolveComponent("MenubarTrigger"),m=e.resolveComponent("MenubarMenu"),w=e.resolveComponent("MenubarItem"),j=e.resolveComponent("MenubarContent"),F=e.resolveComponent("Menubar");return e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",Oe,[e.createElementVNode("div",Re,[e.createVNode(n,{variant:"ghost",onClick:a[0]||(a[0]=q=>e.unref(f)(""))},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref(_.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Ge,e.toDisplayString(h.value?"New Collection":e.unref(y).title),1),e.unref(y).status==="published"?(e.openBlock(),e.createElementBlock("span",Je,"Published")):e.unref(y).status==="draft"?(e.openBlock(),e.createElementBlock("span",Xe,"Draft")):e.createCommentVNode("",!0)]),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(F,{key:0,class:"bg-sidebar"},{default:e.withCtx(()=>[e.unref(p)("create-collection")?(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(()=>[e.createVNode(d,{onClick:l},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Duplicate",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.unref(C)("edit-collection","delete-collection")?(e.openBlock(),e.createBlock(m,{key:1},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode("More actions",-1)])]),_:1}),e.createVNode(j,null,{default:e.withCtx(()=>[e.unref(p)("delete-collection")?(e.openBlock(),e.createBlock(w,{key:0,variant:"destructive",onClick:t},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Trash),{class:"size-4"}),a[3]||(a[3]=e.createTextVNode(" Delete collection ",-1))]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}))]),e.createElementVNode("div",Ke,[e.createElementVNode("div",Ze,[e.createVNode(ie),e.createVNode(qe)]),e.createElementVNode("div",He,[e.createVNode(pe)])]),e.unref(C)("create-collection","edit-collection")?(e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("div",We,[h.value&&e.unref(p)("create-collection")?(e.openBlock(),e.createBlock(n,{key:0,onClick:e.unref(D),disabled:i.value},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(_.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.value?"Creating":"Create")+" New Collection ",1)]),_:1},8,["onClick","disabled"])):e.unref(p)("edit-collection")?(e.openBlock(),e.createBlock(n,{key:1,onClick:e.unref(D),disabled:i.value},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(_.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.value?"Saving":"Save")+" Changes ",1)]),_:1},8,["onClick","disabled"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])}}});exports.default=Ye;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),S=require("./vee-validate-zod-CWZwNTWE.js"),_=require("lucide-vue-next"),M=require("@oneclick.dev/cms-kit"),z=require("./index-ijdf0d9-.js"),v=require("./types-D5dgTskW.js"),K={class:"flex flex-col gap-4"},Z={class:"flex flex-col gap-2"},H={key:0,class:"text-red-500 text-sm mt-1"},Q={class:"flex flex-col gap-4"},W={class:"flex flex-col gap-2"},Y={key:0,class:"text-red-500 text-sm mt-1"},ee={class:"flex flex-col gap-4"},te={class:"flex flex-col gap-2"},oe={key:0,class:"text-red-500 text-sm mt-1"},le={class:"flex flex-col gap-4"},ne={class:"flex flex-col gap-2"},se={class:"flex items-center gap-2 mb-2"},ae={class:"flex items-center gap-2"},re=["src"],ce={key:0,class:"text-red-500 text-sm mt-1"},ie=e.defineComponent({__name:"Main",setup(A){const V=e.inject("sources"),{errors:p}=S.useFormContext(),{value:C}=S.useField("title"),{value:c}=S.useField("description"),{value:f}=S.useField("thumbnail"),{value:k}=S.useField("slug"),N=i=>{f.value=Array.isArray(i)?i[0]||"":i};function h(i){return i?i.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}return e.watch(C,(i,r)=>{(!k.value||h(r)===k.value)&&(k.value=h(i))}),(i,r)=>{const b=e.resolveComponent("Label"),B=e.resolveComponent("Input"),T=e.resolveComponent("Textarea"),$=e.resolveComponent("Button"),y=e.resolveComponent("MediaPickerDialog"),U=e.resolveComponent("CardContent"),D=e.resolveComponent("Card");return e.openBlock(),e.createBlock(D,null,{default:e.withCtx(()=>[e.createVNode(U,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",K,[e.createElementVNode("div",Z,[e.createVNode(b,{for:"title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...r[6]||(r[6]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(B,{type:"text",id:"title",placeholder:"Summer collection",modelValue:e.unref(C),"onUpdate:modelValue":r[0]||(r[0]=x=>e.isRef(C)?C.value=x:null)},null,8,["modelValue"]),e.unref(p).title?(e.openBlock(),e.createElementBlock("p",H,e.toDisplayString(e.unref(p).title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Q,[e.createElementVNode("div",W,[e.createVNode(b,{for:"slug",class:"text-sm mb-2"},{default:e.withCtx(()=>[...r[7]||(r[7]=[e.createTextVNode("Slug",-1)])]),_:1}),e.createVNode(B,{id:"slug",placeholder:"summer-collection",modelValue:e.unref(k),"onUpdate:modelValue":r[1]||(r[1]=x=>e.isRef(k)?k.value=x:null)},null,8,["modelValue"]),e.unref(p).slug?(e.openBlock(),e.createElementBlock("p",Y,e.toDisplayString(e.unref(p).slug),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ee,[e.createElementVNode("div",te,[e.createVNode(b,{for:"description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...r[8]||(r[8]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(T,{id:"description",placeholder:"Fresh, vibrant, and bold. The perfect collection for the summer season.",modelValue:e.unref(c),"onUpdate:modelValue":r[2]||(r[2]=x=>e.isRef(c)?c.value=x:null)},null,8,["modelValue"]),e.unref(p).description?(e.openBlock(),e.createElementBlock("p",oe,e.toDisplayString(e.unref(p).description),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",le,[e.createElementVNode("div",ne,[e.createElementVNode("div",se,[e.createVNode(b,{for:"media",class:"text-sm"},{default:e.withCtx(()=>[...r[9]||(r[9]=[e.createTextVNode("Thumbnail",-1)])]),_:1}),e.unref(f)?(e.openBlock(),e.createBlock($,{key:0,variant:"ghost",size:"icon",onClick:r[3]||(r[3]=x=>f.value="")},{default:e.withCtx(()=>[e.createVNode(e.unref(_.X),{class:"size-4"})]),_:1})):e.createCommentVNode("",!0)]),e.createElementVNode("div",ae,[e.createVNode(y,{sources:e.unref(V),maxFiles:1,"initial-value":e.unref(f)?[e.unref(f)]:[],onSubmit:r[5]||(r[5]=x=>N(x))},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:r[4]||(r[4]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer block"},[e.unref(f)?(e.openBlock(),e.createElementBlock("img",{key:1,src:e.unref(f),class:"size-42 rounded-md object-cover",draggable:"false"},null,8,re)):(e.openBlock(),e.createBlock($,{key:0,variant:"outline",class:"size-42 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ImagePlus))]),_:1}))])]),_:1},8,["sources","initial-value"]),e.unref(p).thumbnail?(e.openBlock(),e.createElementBlock("p",ce,e.toDisplayString(e.unref(p).thumbnail),1)):e.createCommentVNode("",!0)])])])]),_:1})]),_:1})}}}),de={class:"flex items-center gap-2"},ue={key:0,class:"size-3 rounded-full bg-green-500"},me={key:1,class:"size-3 rounded-full bg-blue-500"},pe=e.defineComponent({__name:"Status",setup(A){const{errors:V}=S.useFormContext(),{value:p}=S.useField("status");return(C,c)=>{const f=e.resolveComponent("SelectValue"),k=e.resolveComponent("SelectTrigger"),N=e.resolveComponent("SelectItem"),h=e.resolveComponent("SelectGroup"),i=e.resolveComponent("SelectContent"),r=e.resolveComponent("Select"),b=e.resolveComponent("CardContent"),B=e.resolveComponent("Card");return e.openBlock(),e.createBlock(B,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[c[3]||(c[3]=e.createElementVNode("p",{class:"text-md font-semibold mb-2"},"Status",-1)),e.createVNode(r,{modelValue:e.unref(p),"onUpdate:modelValue":c[0]||(c[0]=T=>e.isRef(p)?p.value=T:null),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(k,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",de,[e.unref(p)==="published"?(e.openBlock(),e.createElementBlock("span",ue)):e.unref(p)==="draft"?(e.openBlock(),e.createElementBlock("span",me)):e.createCommentVNode("",!0),e.createVNode(f,{placeholder:"Status"})])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(N,{value:"published"},{default:e.withCtx(()=>[...c[1]||(c[1]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(N,{value:"draft"},{default:e.withCtx(()=>[...c[2]||(c[2]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),fe={class:"flex items-center justify-between gap-4"},xe={class:"text-sm text-muted-foreground"},ge={key:0,class:"border border-dashed rounded-lg p-6 text-center text-sm text-muted-foreground"},_e={key:1,class:"flex flex-col gap-3"},Ce={class:"flex items-center gap-3 p-3"},ve=["onClick"],Ve={key:1,class:"size-10 rounded-md border border-dashed flex items-center justify-center text-muted-foreground"},ke={class:"min-w-0"},Ne={class:"flex items-center gap-2"},he={class:"font-medium truncate"},be={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},ye={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},we={class:"flex items-center gap-1"},Se={key:0,class:"border-t p-4 flex flex-col gap-4"},Be={class:"grid grid-cols-1 @md:grid-cols-2 gap-4"},Ee={class:"flex flex-col gap-2"},Te={key:0,class:"text-red-500 text-sm mt-1"},$e={class:"flex flex-col gap-2"},ze={key:0,class:"text-red-500 text-sm mt-1"},De={class:"flex flex-col gap-2"},Ie={class:"flex items-center gap-2"},Ue={key:0,class:"size-3 rounded-full bg-green-500"},Me={key:1,class:"size-3 rounded-full bg-blue-500"},Ae={class:"flex flex-col gap-2"},Fe={class:"flex flex-col gap-2"},Pe={class:"flex items-center gap-2"},je=["src"],qe=e.defineComponent({__name:"Subcollections",setup(A){const V=e.inject("sources"),{errors:p}=S.useFormContext(),{value:C}=S.useField("subcollections"),c=e.ref([]),f=e.computed(()=>(Array.isArray(C.value)||(C.value=[]),C.value.map(N)));function k(l){return l?l.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}function N(l){const t=l;return t.id||(t.id=crypto.randomUUID()),t.type="manual",t.status||(t.status="draft"),t.slug||(t.slug=k(t.title)),delete t.seo,t}function h(){return{id:crypto.randomUUID(),title:"",type:"manual",description:"",thumbnail:"",slug:"",status:"draft"}}function i(){return Array.isArray(C.value)?C.value.map(N):[]}function r(l){C.value=l}function b(){const l=h();r([...i(),l]),c.value=[l.id]}function B(l){const t=i(),u=t.findIndex(n=>n.id===l.id),o=JSON.parse(JSON.stringify(l));o.id=crypto.randomUUID(),o.type="manual",o.title=`${o.title||"Untitled subcollection"} (copy)`,o.slug=x(o.slug?`${o.slug}-copy`:o.title,o.id),delete o.seo;const a=[...t];a.splice(u+1,0,o),r(a),c.value=[o.id]}function T(l){r(i().filter(t=>t.id!==l)),c.value=c.value.filter(t=>t!==l)}function $(l,t){const u=i(),o=u.findIndex(m=>m.id===l),a=t==="up"?o-1:o+1;if(o<0||a<0||a>=u.length)return;const n=[...u],[d]=n.splice(o,1);n.splice(a,0,d),r(n)}function y(l){c.value=c.value.includes(l)?c.value.filter(t=>t!==l):[...c.value,l]}function U(l,t){const u=l.title;l.title=t,(!l.slug||k(u)===l.slug)&&(l.slug=x(t,l.id))}function D(l,t){l.thumbnail=Array.isArray(t)?t[0]||"":t}function x(l,t){const u=k(l)||"subcollection",o=new Set(i().filter(d=>d.id!==t).map(d=>d.slug).filter(Boolean));if(!o.has(u))return u;let a=2,n=`${u}-${a}`;for(;o.has(n);)a++,n=`${u}-${a}`;return n}function P(l){l.slug=x(l.slug||l.title,l.id)}function E(l){return p.value?.[l]}return(l,t)=>{const u=e.resolveComponent("Button"),o=e.resolveComponent("AvatarImage"),a=e.resolveComponent("AvatarFallback"),n=e.resolveComponent("Avatar"),d=e.resolveComponent("Label"),m=e.resolveComponent("Input"),w=e.resolveComponent("SelectValue"),j=e.resolveComponent("SelectTrigger"),F=e.resolveComponent("SelectItem"),q=e.resolveComponent("SelectGroup"),L=e.resolveComponent("SelectContent"),O=e.resolveComponent("Select"),R=e.resolveComponent("Textarea"),G=e.resolveComponent("MediaPickerDialog"),J=e.resolveComponent("CardContent"),X=e.resolveComponent("Card");return e.openBlock(),e.createBlock(X,null,{default:e.withCtx(()=>[e.createVNode(J,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",fe,[e.createElementVNode("div",null,[t[1]||(t[1]=e.createElementVNode("h3",{class:"text-lg font-semibold"},"Subcollections",-1)),e.createElementVNode("p",xe,e.toDisplayString(f.value.length)+" subcollections",1)]),e.createVNode(u,{variant:"outline",onClick:b},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Plus),{class:"size-4"}),t[2]||(t[2]=e.createTextVNode(" Add ",-1))]),_:1})]),f.value.length===0?(e.openBlock(),e.createElementBlock("div",ge," No subcollections yet. ")):(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(s,I)=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:"border rounded-lg overflow-hidden"},[e.createElementVNode("div",Ce,[e.createElementVNode("button",{class:"flex items-center gap-3 min-w-0 flex-1 text-left cursor-pointer",onClick:g=>y(s.id)},[s.thumbnail?(e.openBlock(),e.createBlock(n,{key:0,class:"size-10 rounded-md"},{default:e.withCtx(()=>[e.createVNode(o,{src:s.thumbnail,class:"object-cover"},null,8,["src"]),e.createVNode(a,{class:"rounded-md"})]),_:2},1024)):(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(e.unref(_.ImagePlus),{class:"size-4"})])),e.createElementVNode("div",ke,[e.createElementVNode("div",Ne,[e.createElementVNode("p",he,e.toDisplayString(s.title||"Untitled subcollection"),1),s.status==="published"?(e.openBlock(),e.createElementBlock("span",be,"Published")):(e.openBlock(),e.createElementBlock("span",ye,"Draft"))])])],8,ve),e.createElementVNode("div",we,[e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>$(s.id,"up"),disabled:I===0},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ArrowUp),{class:"size-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>$(s.id,"down"),disabled:I===f.value.length-1},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ArrowDown),{class:"size-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>B(s)},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Copy),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>T(s.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Trash),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(u,{size:"icon",variant:"ghost",onClick:g=>y(s.id)},{default:e.withCtx(()=>[c.value.includes(s.id)?(e.openBlock(),e.createBlock(e.unref(_.ChevronUp),{key:0,class:"size-4"})):(e.openBlock(),e.createBlock(e.unref(_.ChevronDown),{key:1,class:"size-4"}))]),_:2},1032,["onClick"])])]),c.value.includes(s.id)?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",Ee,[e.createVNode(d,{for:`subcollection-${s.id}-title`,class:"text-sm"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Title",-1)])]),_:1},8,["for"]),e.createVNode(m,{type:"text",id:`subcollection-${s.id}-title`,placeholder:"Summer dresses","model-value":s.title,"onUpdate:modelValue":g=>U(s,String(g||""))},null,8,["id","model-value","onUpdate:modelValue"]),E(`subcollections[${I}].title`)?(e.openBlock(),e.createElementBlock("p",Te,e.toDisplayString(E(`subcollections[${I}].title`)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",$e,[e.createVNode(d,{for:`subcollection-${s.id}-slug`,class:"text-sm"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Slug",-1)])]),_:1},8,["for"]),e.createVNode(m,{id:`subcollection-${s.id}-slug`,placeholder:"summer-dresses",modelValue:s.slug,"onUpdate:modelValue":g=>s.slug=g,onBlur:g=>P(s)},null,8,["id","modelValue","onUpdate:modelValue","onBlur"]),E(`subcollections[${I}].slug`)?(e.openBlock(),e.createElementBlock("p",ze,e.toDisplayString(E(`subcollections[${I}].slug`)),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",De,[e.createVNode(d,{for:`subcollection-${s.id}-status`,class:"text-sm"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("Status",-1)])]),_:1},8,["for"]),e.createVNode(O,{modelValue:s.status,"onUpdate:modelValue":g=>s.status=g},{default:e.withCtx(()=>[e.createVNode(j,{id:`subcollection-${s.id}-status`,class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",Ie,[s.status==="published"?(e.openBlock(),e.createElementBlock("span",Ue)):(e.openBlock(),e.createElementBlock("span",Me)),e.createVNode(w,{placeholder:"Status"})])]),_:2},1032,["id"]),e.createVNode(L,null,{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(F,{value:"published"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(F,{value:"draft"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1})]),_:1})]),_:1})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Ae,[e.createVNode(d,{for:`subcollection-${s.id}-description`,class:"text-sm"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Description",-1)])]),_:1},8,["for"]),e.createVNode(R,{id:`subcollection-${s.id}-description`,placeholder:"Fresh, vibrant, and bold. The perfect collection for the summer season.",modelValue:s.description,"onUpdate:modelValue":g=>s.description=g},null,8,["id","modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Fe,[e.createElementVNode("div",Pe,[e.createVNode(d,{for:`subcollection-${s.id}-media`,class:"text-sm"},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Thumbnail",-1)])]),_:1},8,["for"]),s.thumbnail?(e.openBlock(),e.createBlock(u,{key:0,variant:"ghost",size:"icon",onClick:g=>s.thumbnail=""},{default:e.withCtx(()=>[e.createVNode(e.unref(_.X),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0)]),e.createVNode(G,{sources:e.unref(V),maxFiles:1,"initial-value":s.thumbnail?[s.thumbnail]:[],onSubmit:g=>D(s,g)},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:t[0]||(t[0]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer block"},[s.thumbnail?(e.openBlock(),e.createElementBlock("img",{key:1,src:s.thumbnail,class:"size-32 rounded-md object-cover",draggable:"false"},null,8,je)):(e.openBlock(),e.createBlock(u,{key:0,variant:"outline",class:"size-32 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(_.ImagePlus))]),_:1}))])]),_:2},1032,["sources","initial-value","onSubmit"])])])):e.createCommentVNode("",!0)]))),128))]))]),_:1})]),_:1})}}}),Le={class:"relative @container"},Oe={class:"flex flex-row gap-4 justify-between max-w-5xl mx-auto mt-4 mb-6"},Re={class:"flex items-center"},Ge={class:"text-lg font-semibold mx-2"},Je={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},Xe={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},Ke={class:"flex flex-col @3xl:flex-row gap-4 max-w-5xl mx-auto pb-24"},Ze={class:"flex flex-col gap-4 w-full @3xl:w-2/3"},He={class:"flex flex-col gap-4 w-full @3xl:w-1/3"},Qe={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)]"},We={class:"w-full max-w-5xl flex items-center justify-end mx-auto"},Ye=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},setup(A){const V=A,{hasPermission:p,hasAnyPermission:C}=M.useModulePermissions(),{params:c,navigateTo:f}=M.useModuleRoute(),{confirm:k}=M.useConfirmation(),N=M.useFirebaseIntegration(V.config.project);e.provide("sources",V.config.allowedMediaSources),e.provide("defaultSource",V.config.defaultUploadMediaSource);const h=e.computed(()=>!c.value.collectionId||c.value.collectionId==="new"),i=e.ref(!1),r=v.objectType({field:v.stringType(),operator:v.enumType(["==","!=","<",">","<=",">=","in","not-in","array-contains","array-contains-any"]),value:v.anyType()}),b=v.objectType({title:v.stringType().min(1,"Title is required"),type:v.stringType(),description:v.stringType().optional(),thumbnail:v.stringType().optional(),slug:v.stringType(),conditions:v.arrayType(r).optional(),status:v.stringType()}),B=b.extend({id:v.stringType().min(1,"ID is required")}),T=S.toTypedSchema(b.extend({id:v.stringType().optional(),subcollections:v.arrayType(B).optional()})),{handleSubmit:$,values:y,setValues:U}=S.useForm({validationSchema:T,initialValues:{status:"draft",type:"manual",subcollections:[]}});M.useModuleBreadcrumbs(()=>[{text:h.value?"New Collection":y.title||"Collection"}]);const D=$(async o=>{i.value=!0;let a=await x()||[];if(h.value){let n=E(o);if(n.id=crypto.randomUUID(),await u(n.slug)){z.toast.error("Collection with this slug already exists"),i.value=!1;return}const d=[...a,n],m=V.config.collectionsCollection.split(":");await N.update(m[0],null,{[m[1]]:d}),f("/"),z.toast.success("Collection created")}else{let n=E(o);const d=a.map(w=>w.id===c.value.collectionId?n:w),m=V.config.collectionsCollection.split(":");await N.update(m[0],null,{[m[1]]:d}),f("/"),z.toast.success("Collection updated")}i.value=!1}),x=async()=>{if(!V.config.collectionsCollection)return[];const o=V.config.collectionsCollection.split(":");return o.length!==2?[]:(await N.get(o[0]))?.[o[1]]||[]},P=async()=>{const a=(await x()).find(n=>n.id===c.value.collectionId);U(a)},E=(o,a=!1)=>{const n=JSON.parse(JSON.stringify(o));return n.type||="manual",n.status||="draft",delete n.seo,n.subcollections=(n.subcollections||[]).map(d=>{const m={...d,id:a||!d.id?crypto.randomUUID():d.id,type:"manual",status:d.status||"draft",slug:d.slug||""};return delete m.seo,delete m.subcollections,m}),n},l=async()=>{try{let o=E(y,!0),a=o.slug+"-copy",n=2;for(;await u(a);)a=o.slug+"-copy-"+n,n++;o.id=crypto.randomUUID(),o.slug=a,o.status="draft",o.title=o.title+" (copy)";const m=[...await x()||[],o],w=V.config.collectionsCollection.split(":");await N.update(w[0],null,{[w[1]]:m}),f(o.id),z.toast.success("Collection duplicated")}catch{z.toast.error("Failed to duplicate collection")}},t=async()=>{const o=Array.isArray(y.subcollections)&&y.subcollections.length>0;if(await k(o?"Are you sure you want to delete this collection? All subcollections will also be deleted.":"Are you sure you want to delete this collection?"))try{const n=await x()||[];if(n.length===0||!c.value.collectionId)throw new Error("Error loading values");const d=n.filter(w=>w.id!==c.value.collectionId),m=V.config.collectionsCollection.split(":");await N.update(m[0],null,{[m[1]]:d}),f(""),z.toast.success("Collection deleted")}catch{z.toast.error("Failed to delete collection")}},u=async o=>!!(await x()||[]).find(n=>n.slug===o);return e.onMounted(()=>{h.value||P()}),(o,a)=>{const n=e.resolveComponent("Button"),d=e.resolveComponent("MenubarTrigger"),m=e.resolveComponent("MenubarMenu"),w=e.resolveComponent("MenubarItem"),j=e.resolveComponent("MenubarContent"),F=e.resolveComponent("Menubar");return e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",Oe,[e.createElementVNode("div",Re,[e.createVNode(n,{variant:"ghost",onClick:a[0]||(a[0]=q=>e.unref(f)(""))},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref(_.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Ge,e.toDisplayString(h.value?"New Collection":e.unref(y).title),1),e.unref(y).status==="published"?(e.openBlock(),e.createElementBlock("span",Je,"Published")):e.unref(y).status==="draft"?(e.openBlock(),e.createElementBlock("span",Xe,"Draft")):e.createCommentVNode("",!0)]),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(F,{key:0,class:"bg-sidebar"},{default:e.withCtx(()=>[e.unref(p)("create-collection")?(e.openBlock(),e.createBlock(m,{key:0},{default:e.withCtx(()=>[e.createVNode(d,{onClick:l},{default:e.withCtx(()=>[...a[1]||(a[1]=[e.createTextVNode("Duplicate",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.unref(C)("edit-collection","delete-collection")?(e.openBlock(),e.createBlock(m,{key:1},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode("More actions",-1)])]),_:1}),e.createVNode(j,null,{default:e.withCtx(()=>[e.unref(p)("delete-collection")?(e.openBlock(),e.createBlock(w,{key:0,variant:"destructive",onClick:t},{default:e.withCtx(()=>[e.createVNode(e.unref(_.Trash),{class:"size-4"}),a[3]||(a[3]=e.createTextVNode(" Delete collection ",-1))]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}))]),e.createElementVNode("div",Ke,[e.createElementVNode("div",Ze,[e.createVNode(ie),e.createVNode(qe)]),e.createElementVNode("div",He,[e.createVNode(pe)])]),e.unref(C)("create-collection","edit-collection")?(e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("div",We,[h.value&&e.unref(p)("create-collection")?(e.openBlock(),e.createBlock(n,{key:0,onClick:e.unref(D),disabled:i.value},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(_.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.value?"Creating":"Create")+" New Collection ",1)]),_:1},8,["onClick","disabled"])):e.unref(p)("edit-collection")?(e.openBlock(),e.createBlock(n,{key:1,onClick:e.unref(D),disabled:i.value},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(_.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.value?"Saving":"Save")+" Changes ",1)]),_:1},8,["onClick","disabled"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])}}});exports.default=Ye;