@oneclick.dev/cms-core-modules 0.0.119 → 0.0.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ContentEditor-BnOVpmsQ.js → ContentEditor-Dl41qaCh.js} +42 -41
- package/dist/{ContentEditor-Cm28u_14.mjs → ContentEditor-u3k-uTny.mjs} +4785 -4492
- package/dist/{Detail-C8wQiDcv.js → Detail-BCUUNWvp.js} +1 -1
- package/dist/{Detail-CtItxMX4.mjs → Detail-B_scnidb.mjs} +1 -1
- package/dist/Detail-Cn9Bk0u0.mjs +852 -0
- package/dist/Detail-DGg_xXZc.js +1 -0
- package/dist/Detail-Dk8E6_uF.mjs +3731 -0
- package/dist/Detail-Sc2qZdxj.js +1 -0
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-4_t0PPqM.mjs +78 -0
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-D1b9_iiN.js +1 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BdZbcubW.js +1 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-bZidw6RT.mjs +1500 -0
- package/dist/Overview-CVgViW3c.mjs +852 -0
- package/dist/Overview-DEF-z7Yb.js +1 -0
- package/dist/Overview-Tf_ApkWh.js +1 -0
- package/dist/{Overview-CVQ1pkuD.mjs → Overview-usm5gPD1.mjs} +131 -131
- package/dist/{agenda-BtmnpFmi.js → agenda-B54F8cEr.js} +1 -1
- package/dist/{agenda-D0QBOJUy.mjs → agenda-BCKDYOeF.mjs} +7 -7
- package/dist/{availability-ClBGVgE9.js → availability-C4v46rha.js} +1 -1
- package/dist/{availability-D8JdA4rP.mjs → availability-DVT1Mdxq.mjs} +1 -1
- package/dist/{booking-data-aMS1p_3g.js → booking-data-A5JrLY4j.js} +1 -1
- package/dist/{booking-data-Px7XCIfU.mjs → booking-data-lZvSYna2.mjs} +1 -1
- package/dist/cms-core-modules.css +1 -1
- package/dist/{exceptions-Dgj54ULn.mjs → exceptions-DJHfvADv.mjs} +1 -1
- package/dist/{exceptions-DXqc0Nza.js → exceptions-DKc8fO1S.js} +1 -1
- package/dist/index-Bk3yLv_G.js +35 -0
- package/dist/{index-Dnn2SCSl.js → index-CZau1wR8.js} +1 -1
- package/dist/{index-DRqJOqUR.mjs → index-DE8rdSjd.mjs} +0 -22
- package/dist/index-DU3Ib10Z.mjs +1256 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +35 -33
- package/dist/orders-BMosTk6r.js +1 -0
- package/dist/{orders-C5NT99Fy.mjs → orders-CElKNc1v.mjs} +229 -234
- package/dist/{payment-D5j-68Ig.mjs → payment-DSQ_2FIT.mjs} +1 -1
- package/dist/{payment-BJHgpaeT.js → payment-DlgYuea2.js} +1 -1
- package/dist/{refunds-oVB2Opib.js → refunds-Cvw9N--u.js} +1 -1
- package/dist/{refunds-D9nTeD2d.mjs → refunds-xR936Ted.mjs} +1 -1
- package/dist/reports-BQT_GZzU.js +158 -0
- package/dist/reports-DksZCTOw.mjs +837 -0
- package/dist/{resources-CK0oWssj.mjs → resources-C-5BU9Ux.mjs} +1 -1
- package/dist/{resources-8WouFvJe.js → resources-D04yKKVN.js} +1 -1
- package/dist/src/appointments/components/edit/NewReservationDialog/QuickReservationAdder.vue.d.ts +2 -0
- package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +1 -0
- package/dist/src/productCollections/components/detail/Subcollections.vue.d.ts +2 -0
- package/dist/src/productCollections/types.d.ts +1 -4
- package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +48 -6
- package/dist/src/products/components/detail/variants/dialogs/VariantDialog.vue.d.ts +4 -0
- package/dist/{vee-validate-zod-CcOwoF6y.mjs → vee-validate-zod-SjDT8X35.mjs} +92 -90
- package/dist/{vee-validate-zod-ByykgYKJ.js → vee-validate-zod-VCmLnrtQ.js} +1 -1
- package/package.json +2 -2
- package/dist/Detail-C1Blq61w.mjs +0 -585
- package/dist/Detail-CPqug27l.js +0 -1
- package/dist/Detail-CjuhjPby.js +0 -1
- package/dist/Detail-Dnpnmy4-.mjs +0 -3477
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-gozJKXvM.js +0 -1
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-pDO9b4Pv.mjs +0 -77
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-CcMEKZzd.mjs +0 -1476
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-CkFsdcvP.js +0 -1
- package/dist/Overview-BWLxUksJ.mjs +0 -860
- package/dist/Overview-CBahJviK.js +0 -1
- package/dist/Overview-DAxCu9XC.js +0 -1
- package/dist/index-BnFWz40Q.mjs +0 -1261
- package/dist/index-DcGPR_vt.js +0 -35
- package/dist/orders-lO3dZ5un.js +0 -1
- /package/dist/src/{productCollections/components/detail/SEO.vue.d.ts → appointments/pages/edit/reports.vue.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),u=require("./vee-validate-zod-VCmLnrtQ.js"),C=require("lucide-vue-next"),U=require("@oneclick.dev/cms-kit"),$=require("./index-ijdf0d9-.js"),X={class:"flex flex-col gap-4"},K={class:"flex flex-col gap-2"},Z={key:0,class:"text-red-500 text-sm mt-1"},H={class:"flex flex-col gap-4"},Q={class:"flex flex-col gap-2"},W={key:0,class:"text-red-500 text-sm mt-1"},Y={class:"flex flex-col gap-4"},ee={class:"flex flex-col gap-2"},te={key:0,class:"text-red-500 text-sm mt-1"},oe={class:"flex flex-col gap-4"},le={class:"flex flex-col gap-2"},ne={class:"flex items-center gap-2 mb-2"},se={class:"flex items-center gap-2"},ae=["src"],ce={key:0,class:"text-red-500 text-sm mt-1"},re=e.defineComponent({__name:"Main",setup(M){const V=e.inject("sources"),{errors:f}=u.useFormContext(),{value:v}=u.useField("title"),{value:r}=u.useField("description"),{value:x}=u.useField("thumbnail"),{value:k}=u.useField("slug"),N=i=>{x.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(v,(i,c)=>{(!k.value||h(c)===k.value)&&(k.value=h(i))}),(i,c)=>{const b=e.resolveComponent("Label"),S=e.resolveComponent("Input"),E=e.resolveComponent("Textarea"),T=e.resolveComponent("Button"),y=e.resolveComponent("MediaPickerDialog"),I=e.resolveComponent("CardContent"),z=e.resolveComponent("Card");return e.openBlock(),e.createBlock(z,null,{default:e.withCtx(()=>[e.createVNode(I,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",X,[e.createElementVNode("div",K,[e.createVNode(b,{for:"title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[6]||(c[6]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(S,{type:"text",id:"title",placeholder:"Summer collection",modelValue:e.unref(v),"onUpdate:modelValue":c[0]||(c[0]=g=>e.isRef(v)?v.value=g:null)},null,8,["modelValue"]),e.unref(f).title?(e.openBlock(),e.createElementBlock("p",Z,e.toDisplayString(e.unref(f).title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",H,[e.createElementVNode("div",Q,[e.createVNode(b,{for:"slug",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[7]||(c[7]=[e.createTextVNode("Slug",-1)])]),_:1}),e.createVNode(S,{id:"slug",placeholder:"summer-collection",modelValue:e.unref(k),"onUpdate:modelValue":c[1]||(c[1]=g=>e.isRef(k)?k.value=g:null)},null,8,["modelValue"]),e.unref(f).slug?(e.openBlock(),e.createElementBlock("p",W,e.toDisplayString(e.unref(f).slug),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Y,[e.createElementVNode("div",ee,[e.createVNode(b,{for:"description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[8]||(c[8]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(E,{id:"description",placeholder:"Fresh, vibrant, and bold. The perfect collection for the summer season.",modelValue:e.unref(r),"onUpdate:modelValue":c[2]||(c[2]=g=>e.isRef(r)?r.value=g:null)},null,8,["modelValue"]),e.unref(f).description?(e.openBlock(),e.createElementBlock("p",te,e.toDisplayString(e.unref(f).description),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",oe,[e.createElementVNode("div",le,[e.createElementVNode("div",ne,[e.createVNode(b,{for:"media",class:"text-sm"},{default:e.withCtx(()=>[...c[9]||(c[9]=[e.createTextVNode("Thumbnail",-1)])]),_:1}),e.unref(x)?(e.openBlock(),e.createBlock(T,{key:0,variant:"ghost",size:"icon",onClick:c[3]||(c[3]=g=>x.value="")},{default:e.withCtx(()=>[e.createVNode(e.unref(C.X),{class:"size-4"})]),_:1})):e.createCommentVNode("",!0)]),e.createElementVNode("div",se,[e.createVNode(y,{sources:e.unref(V),maxFiles:1,"initial-value":e.unref(x)?[e.unref(x)]:[],onSubmit:c[5]||(c[5]=g=>N(g))},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:c[4]||(c[4]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer block"},[e.unref(x)?(e.openBlock(),e.createElementBlock("img",{key:1,src:e.unref(x),class:"size-42 rounded-md object-cover",draggable:"false"},null,8,ae)):(e.openBlock(),e.createBlock(T,{key:0,variant:"outline",class:"size-42 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.ImagePlus))]),_:1}))])]),_:1},8,["sources","initial-value"]),e.unref(f).thumbnail?(e.openBlock(),e.createElementBlock("p",ce,e.toDisplayString(e.unref(f).thumbnail),1)):e.createCommentVNode("",!0)])])])]),_:1})]),_:1})}}}),ie={class:"flex items-center gap-2"},de={key:0,class:"size-3 rounded-full bg-green-500"},ue={key:1,class:"size-3 rounded-full bg-blue-500"},me=e.defineComponent({__name:"Status",setup(M){const{errors:V}=u.useFormContext(),{value:f}=u.useField("status");return(v,r)=>{const x=e.resolveComponent("SelectValue"),k=e.resolveComponent("SelectTrigger"),N=e.resolveComponent("SelectItem"),h=e.resolveComponent("SelectGroup"),i=e.resolveComponent("SelectContent"),c=e.resolveComponent("Select"),b=e.resolveComponent("CardContent"),S=e.resolveComponent("Card");return e.openBlock(),e.createBlock(S,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[r[3]||(r[3]=e.createElementVNode("p",{class:"text-md font-semibold mb-2"},"Status",-1)),e.createVNode(c,{modelValue:e.unref(f),"onUpdate:modelValue":r[0]||(r[0]=E=>e.isRef(f)?f.value=E:null),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(k,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[e.unref(f)==="published"?(e.openBlock(),e.createElementBlock("span",de)):e.unref(f)==="draft"?(e.openBlock(),e.createElementBlock("span",ue)):e.createCommentVNode("",!0),e.createVNode(x,{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(()=>[...r[1]||(r[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(()=>[...r[2]||(r[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})}}}),pe={class:"flex items-center justify-between gap-4"},fe={class:"text-sm text-muted-foreground"},xe={key:0,class:"border border-dashed rounded-lg p-6 text-center text-sm text-muted-foreground"},ge={key:1,class:"flex flex-col gap-3"},_e={class:"flex items-center gap-3 p-3"},Ce=["onClick"],ve={key:1,class:"size-10 rounded-md border border-dashed flex items-center justify-center text-muted-foreground"},Ve={class:"min-w-0"},ke={class:"flex items-center gap-2"},Ne={class:"font-medium truncate"},he={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},be={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},ye={class:"flex items-center gap-1"},we={key:0,class:"border-t p-4 flex flex-col gap-4"},Se={class:"grid grid-cols-1 @md:grid-cols-2 gap-4"},Be={class:"flex flex-col gap-2"},Ee={key:0,class:"text-red-500 text-sm mt-1"},Te={class:"flex flex-col gap-2"},$e={key:0,class:"text-red-500 text-sm mt-1"},ze={class:"flex flex-col gap-2"},De={class:"flex items-center gap-2"},Ie={key:0,class:"size-3 rounded-full bg-green-500"},Ue={key:1,class:"size-3 rounded-full bg-blue-500"},Me={class:"flex flex-col gap-2"},Ae={class:"flex flex-col gap-2"},Fe={class:"flex items-center gap-2"},Pe=["src"],je=e.defineComponent({__name:"Subcollections",setup(M){const V=e.inject("sources"),{errors:f}=u.useFormContext(),{value:v}=u.useField("subcollections"),r=e.ref([]),x=e.computed(()=>(Array.isArray(v.value)||(v.value=[]),v.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(v.value)?v.value.map(N):[]}function c(l){v.value=l}function b(){const l=h();c([...i(),l]),r.value=[l.id]}function S(l){const t=i(),m=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=g(o.slug?`${o.slug}-copy`:o.title,o.id),delete o.seo;const a=[...t];a.splice(m+1,0,o),c(a),r.value=[o.id]}function E(l){c(i().filter(t=>t.id!==l)),r.value=r.value.filter(t=>t!==l)}function T(l,t){const m=i(),o=m.findIndex(p=>p.id===l),a=t==="up"?o-1:o+1;if(o<0||a<0||a>=m.length)return;const n=[...m],[d]=n.splice(o,1);n.splice(a,0,d),c(n)}function y(l){r.value=r.value.includes(l)?r.value.filter(t=>t!==l):[...r.value,l]}function I(l,t){const m=l.title;l.title=t,(!l.slug||k(m)===l.slug)&&(l.slug=g(t,l.id))}function z(l,t){l.thumbnail=Array.isArray(t)?t[0]||"":t}function g(l,t){const m=k(l)||"subcollection",o=new Set(i().filter(d=>d.id!==t).map(d=>d.slug).filter(Boolean));if(!o.has(m))return m;let a=2,n=`${m}-${a}`;for(;o.has(n);)a++,n=`${m}-${a}`;return n}function F(l){l.slug=g(l.slug||l.title,l.id)}function B(l){return f.value?.[l]}return(l,t)=>{const m=e.resolveComponent("Button"),o=e.resolveComponent("AvatarImage"),a=e.resolveComponent("AvatarFallback"),n=e.resolveComponent("Avatar"),d=e.resolveComponent("Label"),p=e.resolveComponent("Input"),w=e.resolveComponent("SelectValue"),P=e.resolveComponent("SelectTrigger"),A=e.resolveComponent("SelectItem"),j=e.resolveComponent("SelectGroup"),q=e.resolveComponent("SelectContent"),L=e.resolveComponent("Select"),O=e.resolveComponent("Textarea"),R=e.resolveComponent("MediaPickerDialog"),G=e.resolveComponent("CardContent"),J=e.resolveComponent("Card");return e.openBlock(),e.createBlock(J,null,{default:e.withCtx(()=>[e.createVNode(G,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",pe,[e.createElementVNode("div",null,[t[1]||(t[1]=e.createElementVNode("h3",{class:"text-lg font-semibold"},"Subcollections",-1)),e.createElementVNode("p",fe,e.toDisplayString(x.value.length)+" subcollections",1)]),e.createVNode(m,{variant:"outline",onClick:b},{default:e.withCtx(()=>[e.createVNode(e.unref(C.Plus),{class:"size-4"}),t[2]||(t[2]=e.createTextVNode(" Add ",-1))]),_:1})]),x.value.length===0?(e.openBlock(),e.createElementBlock("div",xe," No subcollections yet. ")):(e.openBlock(),e.createElementBlock("div",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(s,D)=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:"border rounded-lg overflow-hidden"},[e.createElementVNode("div",_e,[e.createElementVNode("button",{class:"flex items-center gap-3 min-w-0 flex-1 text-left cursor-pointer",onClick:_=>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(C.ImagePlus),{class:"size-4"})])),e.createElementVNode("div",Ve,[e.createElementVNode("div",ke,[e.createElementVNode("p",Ne,e.toDisplayString(s.title||"Untitled subcollection"),1),s.status==="published"?(e.openBlock(),e.createElementBlock("span",he,"Published")):(e.openBlock(),e.createElementBlock("span",be,"Draft"))])])],8,Ce),e.createElementVNode("div",ye,[e.createVNode(m,{size:"icon",variant:"ghost",onClick:_=>T(s.id,"up"),disabled:D===0},{default:e.withCtx(()=>[e.createVNode(e.unref(C.ArrowUp),{class:"size-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(m,{size:"icon",variant:"ghost",onClick:_=>T(s.id,"down"),disabled:D===x.value.length-1},{default:e.withCtx(()=>[e.createVNode(e.unref(C.ArrowDown),{class:"size-4"})]),_:1},8,["onClick","disabled"]),e.createVNode(m,{size:"icon",variant:"ghost",onClick:_=>S(s)},{default:e.withCtx(()=>[e.createVNode(e.unref(C.Copy),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(m,{size:"icon",variant:"ghost",onClick:_=>E(s.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(C.Trash),{class:"size-4"})]),_:1},8,["onClick"]),e.createVNode(m,{size:"icon",variant:"ghost",onClick:_=>y(s.id)},{default:e.withCtx(()=>[r.value.includes(s.id)?(e.openBlock(),e.createBlock(e.unref(C.ChevronUp),{key:0,class:"size-4"})):(e.openBlock(),e.createBlock(e.unref(C.ChevronDown),{key:1,class:"size-4"}))]),_:2},1032,["onClick"])])]),r.value.includes(s.id)?(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("div",Se,[e.createElementVNode("div",Be,[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(p,{type:"text",id:`subcollection-${s.id}-title`,placeholder:"Summer dresses","model-value":s.title,"onUpdate:modelValue":_=>I(s,String(_||""))},null,8,["id","model-value","onUpdate:modelValue"]),B(`subcollections[${D}].title`)?(e.openBlock(),e.createElementBlock("p",Ee,e.toDisplayString(B(`subcollections[${D}].title`)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Te,[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(p,{id:`subcollection-${s.id}-slug`,placeholder:"summer-dresses",modelValue:s.slug,"onUpdate:modelValue":_=>s.slug=_,onBlur:_=>F(s)},null,8,["id","modelValue","onUpdate:modelValue","onBlur"]),B(`subcollections[${D}].slug`)?(e.openBlock(),e.createElementBlock("p",$e,e.toDisplayString(B(`subcollections[${D}].slug`)),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ze,[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(L,{modelValue:s.status,"onUpdate:modelValue":_=>s.status=_},{default:e.withCtx(()=>[e.createVNode(P,{id:`subcollection-${s.id}-status`,class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",De,[s.status==="published"?(e.openBlock(),e.createElementBlock("span",Ie)):(e.openBlock(),e.createElementBlock("span",Ue)),e.createVNode(w,{placeholder:"Status"})])]),_:2},1032,["id"]),e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(j,null,{default:e.withCtx(()=>[e.createVNode(A,{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(A,{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",Me,[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(O,{id:`subcollection-${s.id}-description`,placeholder:"Fresh, vibrant, and bold. The perfect collection for the summer season.",modelValue:s.description,"onUpdate:modelValue":_=>s.description=_},null,8,["id","modelValue","onUpdate:modelValue"])]),e.createElementVNode("div",Ae,[e.createElementVNode("div",Fe,[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(m,{key:0,variant:"ghost",size:"icon",onClick:_=>s.thumbnail=""},{default:e.withCtx(()=>[e.createVNode(e.unref(C.X),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0)]),e.createVNode(R,{sources:e.unref(V),maxFiles:1,"initial-value":s.thumbnail?[s.thumbnail]:[],onSubmit:_=>z(s,_)},{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,Pe)):(e.openBlock(),e.createBlock(m,{key:0,variant:"outline",class:"size-32 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.ImagePlus))]),_:1}))])]),_:2},1032,["sources","initial-value","onSubmit"])])])):e.createCommentVNode("",!0)]))),128))]))]),_:1})]),_:1})}}}),qe={class:"relative @container"},Le={class:"flex flex-row gap-4 justify-between max-w-5xl mx-auto mt-4 mb-6"},Oe={class:"flex items-center"},Re={class:"text-lg font-semibold mx-2"},Ge={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},Je={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},Xe={class:"flex flex-col @3xl:flex-row gap-4 max-w-5xl mx-auto pb-24"},Ke={class:"flex flex-col gap-4 w-full @3xl:w-2/3"},Ze={class:"flex flex-col gap-4 w-full @3xl:w-1/3"},He={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)]"},Qe={class:"w-full max-w-5xl flex items-center justify-end mx-auto"},We=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},setup(M){const V=M,{hasPermission:f,hasAnyPermission:v}=U.useModulePermissions(),{params:r,navigateTo:x}=U.useModuleRoute(),{confirm:k}=U.useConfirmation(),N=U.useFirebaseIntegration(V.config.project);e.provide("sources",V.config.allowedMediaSources),e.provide("defaultSource",V.config.defaultUploadMediaSource);const h=e.computed(()=>!r.value.collectionId||r.value.collectionId==="new"),i=e.ref(!1),c=u.objectType({field:u.stringType(),operator:u.enumType(["==","!=","<",">","<=",">=","in","not-in","array-contains","array-contains-any"]),value:u.anyType()}),b=u.objectType({title:u.stringType().min(1,"Title is required"),type:u.stringType(),description:u.stringType().optional(),thumbnail:u.stringType().optional(),slug:u.stringType(),conditions:u.arrayType(c).optional(),status:u.stringType()}),S=b.extend({id:u.stringType().min(1,"ID is required")}),E=u.toTypedSchema(b.extend({id:u.stringType().optional(),subcollections:u.arrayType(S).optional()})),{handleSubmit:T,values:y,setValues:I}=u.useForm({validationSchema:E,initialValues:{status:"draft",type:"manual",subcollections:[]}});U.useModuleBreadcrumbs(()=>[{text:h.value?"New Collection":y.title||"Collection"}]);const z=T(async o=>{i.value=!0;let a=await g()||[];if(h.value){let n=B(o);if(n.id=crypto.randomUUID(),await m(n.slug)){$.toast.error("Collection with this slug already exists"),i.value=!1;return}const d=[...a,n],p=V.config.collectionsCollection.split(":");await N.update(p[0],null,{[p[1]]:d}),x("/"),$.toast.success("Collection created")}else{let n=B(o);const d=a.map(w=>w.id===r.value.collectionId?n:w),p=V.config.collectionsCollection.split(":");await N.update(p[0],null,{[p[1]]:d}),x("/"),$.toast.success("Collection updated")}i.value=!1}),g=async()=>{if(!V.config.collectionsCollection)return[];const o=V.config.collectionsCollection.split(":");return o.length!==2?[]:(await N.get(o[0]))?.[o[1]]||[]},F=async()=>{const a=(await g()).find(n=>n.id===r.value.collectionId);I(a)},B=(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 p={...d,id:a||!d.id?crypto.randomUUID():d.id,type:"manual",status:d.status||"draft",slug:d.slug||""};return delete p.seo,delete p.subcollections,p}),n},l=async()=>{try{let o=B(y,!0),a=o.slug+"-copy",n=2;for(;await m(a);)a=o.slug+"-copy-"+n,n++;o.id=crypto.randomUUID(),o.slug=a,o.status="draft",o.title=o.title+" (copy)";const p=[...await g()||[],o],w=V.config.collectionsCollection.split(":");await N.update(w[0],null,{[w[1]]:p}),x(o.id),$.toast.success("Collection duplicated")}catch{$.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 g()||[];if(n.length===0||!r.value.collectionId)throw new Error("Error loading values");const d=n.filter(w=>w.id!==r.value.collectionId),p=V.config.collectionsCollection.split(":");await N.update(p[0],null,{[p[1]]:d}),x(""),$.toast.success("Collection deleted")}catch{$.toast.error("Failed to delete collection")}},m=async o=>!!(await g()||[]).find(n=>n.slug===o);return e.onMounted(()=>{h.value||F()}),(o,a)=>{const n=e.resolveComponent("Button"),d=e.resolveComponent("MenubarTrigger"),p=e.resolveComponent("MenubarMenu"),w=e.resolveComponent("MenubarItem"),P=e.resolveComponent("MenubarContent"),A=e.resolveComponent("Menubar");return e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("div",Le,[e.createElementVNode("div",Oe,[e.createVNode(n,{variant:"ghost",onClick:a[0]||(a[0]=j=>e.unref(x)(""))},{default:e.withCtx(()=>[e.createVNode(e.unref(C.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref(C.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Re,e.toDisplayString(h.value?"New Collection":e.unref(y).title),1),e.unref(y).status==="published"?(e.openBlock(),e.createElementBlock("span",Ge,"Published")):e.unref(y).status==="draft"?(e.openBlock(),e.createElementBlock("span",Je,"Draft")):e.createCommentVNode("",!0)]),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(A,{key:0,class:"bg-sidebar"},{default:e.withCtx(()=>[e.unref(f)("create-collection")?(e.openBlock(),e.createBlock(p,{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(v)("edit-collection","delete-collection")?(e.openBlock(),e.createBlock(p,{key:1},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[...a[2]||(a[2]=[e.createTextVNode("More actions",-1)])]),_:1}),e.createVNode(P,null,{default:e.withCtx(()=>[e.unref(f)("delete-collection")?(e.openBlock(),e.createBlock(w,{key:0,variant:"destructive",onClick:t},{default:e.withCtx(()=>[e.createVNode(e.unref(C.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",Xe,[e.createElementVNode("div",Ke,[e.createVNode(re),e.createVNode(je)]),e.createElementVNode("div",Ze,[e.createVNode(me)])]),e.unref(v)("create-collection","edit-collection")?(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",Qe,[h.value&&e.unref(f)("create-collection")?(e.openBlock(),e.createBlock(n,{key:0,onClick:e.unref(z),disabled:i.value},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(C.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(f)("edit-collection")?(e.openBlock(),e.createBlock(n,{key:1,onClick:e.unref(z),disabled:i.value},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createBlock(e.unref(C.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=We;
|