@oneclick.dev/cms-core-modules 0.0.120 → 0.0.122
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-YFnqVZrX.js → ContentEditor-CoJjsV-m.js} +43 -43
- package/dist/{ContentEditor-W4YrQyBW.mjs → ContentEditor-DIwqplfB.mjs} +9952 -11359
- 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/Overview-CVgViW3c.mjs +852 -0
- package/dist/Overview-DEF-z7Yb.js +1 -0
- package/dist/SendPush-CgSBEex2.js +1 -0
- package/dist/SendPush-CmbjcQBL.mjs +680 -0
- package/dist/{agenda-BusN9-XG.js → agenda-B54F8cEr.js} +1 -1
- package/dist/{agenda-CJXKaIo0.mjs → agenda-BCKDYOeF.mjs} +1 -1
- package/dist/{availability-UUKdgidr.js → availability-C4v46rha.js} +1 -1
- package/dist/{availability-BP6GACqo.mjs → availability-DVT1Mdxq.mjs} +1 -1
- package/dist/{booking-data-BHfLyOlu.js → booking-data-A5JrLY4j.js} +1 -1
- package/dist/{booking-data-WCBcpOOo.mjs → booking-data-lZvSYna2.mjs} +1 -1
- package/dist/{exceptions-B8r2psu2.mjs → exceptions-DJHfvADv.mjs} +1 -1
- package/dist/{exceptions-BazAiy2s.js → exceptions-DKc8fO1S.js} +1 -1
- package/dist/{index-BiKWKrEs.js → index-Bk3yLv_G.js} +1 -1
- package/dist/{index-Dnn2SCSl.js → index-CZau1wR8.js} +1 -1
- package/dist/{index-DRqJOqUR.mjs → index-DE8rdSjd.mjs} +0 -22
- package/dist/{index-DJxex3Dt.mjs → index-DU3Ib10Z.mjs} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +50 -37
- package/dist/languages-C_8yMQOH.mjs +4 -0
- package/dist/languages-Dqvk3X8G.js +1 -0
- package/dist/{orders-CAAuDhkQ.js → orders-BMosTk6r.js} +1 -1
- package/dist/{orders-B8C6u4iF.mjs → orders-CElKNc1v.mjs} +1 -1
- package/dist/{payment-BOOJ1O6M.mjs → payment-DSQ_2FIT.mjs} +1 -1
- package/dist/{payment-IxA9qiCV.js → payment-DlgYuea2.js} +1 -1
- package/dist/{refunds-CqGKm1NG.js → refunds-Cvw9N--u.js} +1 -1
- package/dist/{refunds-CI0qpJC0.mjs → refunds-xR936Ted.mjs} +1 -1
- package/dist/reports-BQT_GZzU.js +158 -0
- package/dist/reports-DksZCTOw.mjs +837 -0
- package/dist/{resources-dIZDh4Sz.mjs → resources-C-5BU9Ux.mjs} +1 -1
- package/dist/{resources-B75nXreU.js → resources-D04yKKVN.js} +1 -1
- 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/src/push-notifications/config.d.ts +22 -0
- package/dist/src/push-notifications/index.d.ts +22 -0
- package/dist/src/push-notifications/types.d.ts +5 -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-BXVf9gZW.mjs +0 -77
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-CFFZ6r8i.js +0 -1
- package/dist/Overview-BWLxUksJ.mjs +0 -860
- package/dist/Overview-DAxCu9XC.js +0 -1
- package/dist/SendPush-COns44j7.js +0 -1
- package/dist/SendPush-CPIOjVX4.mjs +0 -184
- /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"),y=require("lucide-vue-next"),k=require("@oneclick.dev/cms-kit"),W=require("./index-CxETuRsG.js"),X=require("./utils-Yd6F5mea.js"),h=require("./index-ijdf0d9-.js"),J={class:"grid @md:grid-cols-2 @2xl:grid-cols-3 @3xl:grid-cols-4 @4xl:grid-cols-5 @5xl:grid-cols-6 gap-6"},Y=["onClick","onContextmenu"],Z=["src"],ee={class:"font-semibold"},te={class:"text-sm text-muted-foreground flex items-center gap-2"},oe={class:"flex items-center gap-2"},ne={key:0},le=e.defineComponent({__name:"GridView",props:{products:{type:Array,required:!0}},setup(S){const n=e.inject("selection"),{navigateTo:b}=k.useModuleRoute(),{hasPermission:g}=k.useModulePermissions(),a=(l,o)=>{const i=o.ctrlKey||o.metaKey;if(!o.shiftKey)if(i||n.value.length>0){const C=n.value.indexOf(l.id);C>-1?n.value.splice(C,1):n.value.push(l.id)}else n.value=[],b(l.id)},f=l=>{l.target.closest(".GRID_ITEM")||(n.value=[])},p=(l,o)=>{o.ctrlKey||o.metaKey?n.value.includes(l.id)?n.value.splice(n.value.indexOf(l.id),1):n.value.push(l.id):n.value.includes(l.id)||(n.value=[l.id])};return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:"@container mb-4 flex-1 select-none",onClick:o[0]||(o[0]=i=>n.value=[]),onContextmenu:f},[e.createElementVNode("div",J,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.products,i=>(e.openBlock(),e.createElementBlock("div",{key:i.id,onClick:e.withModifiers(v=>a(i,v),["stop"]),onContextmenu:v=>p(i,v),class:"GRID_ITEM cursor-pointer"},[e.createElementVNode("div",{class:e.normalizeClass(["aspect-square bg-muted rounded-xl overflow-hidden mb-2 transition-all duration-200",{"outline outline-4 outline-primary/50":e.unref(n).includes(i.id)}])},[i.featuredMedia?(e.openBlock(),e.createElementBlock("img",{key:0,src:i.featuredMedia,class:"w-full h-full object-cover pointer-events-none",draggable:"false"},null,8,Z)):e.createCommentVNode("",!0)],2),e.createElementVNode("div",null,[e.createElementVNode("p",ee,e.toDisplayString(i.title),1),e.createElementVNode("p",te,[e.createElementVNode("span",oe,[i.status==="published"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o[1]||(o[1]=e.createElementVNode("span",{class:"block shrink-0 size-3 rounded-full bg-green-500"},null,-1)),o[2]||(o[2]=e.createTextVNode(" Published ",-1))],64)):i.status==="draft"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[o[3]||(o[3]=e.createElementVNode("span",{class:"block shrink-0 size-3 rounded-full bg-blue-500"},null,-1)),o[4]||(o[4]=e.createTextVNode(" Draft ",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[o[5]||(o[5]=e.createElementVNode("span",{class:"block shrink-0 size-3 rounded-full bg-gray-300"},null,-1)),o[6]||(o[6]=e.createTextVNode(" Archived ",-1))],64))]),i.variantsTotal>1?(e.openBlock(),e.createElementBlock("span",ne,"| "+e.toDisplayString(i.variantsTotal)+" variants",1)):e.createCommentVNode("",!0)])])],40,Y))),128))])],32))}}),re={class:"flex items-center gap-2"},se={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},ae={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},ie={key:2,class:"bg-gray-500 text-gray-950 px-2 py-1 rounded-lg text-xs"},ue=e.defineComponent({__name:"ListView",props:{products:{type:Array,required:!0}},setup(S){const n=e.inject("selection"),{navigateTo:b}=k.useModuleRoute(),{hasPermission:g}=k.useModulePermissions(),a=(f,p)=>{f?n.value.push(p):n.value=n.value.filter(l=>l!==p)};return(f,p)=>{const l=e.resolveComponent("TableHead"),o=e.resolveComponent("TableRow"),i=e.resolveComponent("TableHeader"),v=e.resolveComponent("Checkbox"),C=e.resolveComponent("TableCell"),d=e.resolveComponent("AvatarImage"),t=e.resolveComponent("AvatarFallback"),m=e.resolveComponent("Avatar"),x=e.resolveComponent("TableBody"),V=e.resolveComponent("Table"),N=e.resolveComponent("Card");return e.openBlock(),e.createBlock(N,{class:"w-full py-4 px-4"},{default:e.withCtx(()=>[e.createVNode(V,{class:"rounded overflow-hidden"},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(o,null,{default:e.withCtx(()=>[e.unref(n)?.length>0?(e.openBlock(),e.createBlock(l,{key:0})):e.createCommentVNode("",!0),e.createVNode(l,null,{default:e.withCtx(()=>[...p[1]||(p[1]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...p[2]||(p[2]=[e.createTextVNode("Status",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...p[3]||(p[3]=[e.createTextVNode(" Variants",-1)])]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[...p[4]||(p[4]=[e.createTextVNode("Price",-1)])]),_:1})]),_:1})]),_:1}),e.createVNode(x,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.products,c=>(e.openBlock(),e.createBlock(o,{key:c.id,onClick:_=>e.unref(b)(c.id),class:"cursor-pointer"},{default:e.withCtx(()=>[e.unref(n)?.length>0?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[e.createVNode(v,{"model-value":e.unref(n)?.includes(c.id),"onUpdate:modelValue":_=>a(_,c.id),onClick:p[0]||(p[0]=e.withModifiers(()=>{},["prevent","stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)):e.createCommentVNode("",!0),e.createVNode(C,{class:"font-medium"},{default:e.withCtx(()=>[e.createElementVNode("div",re,[e.createVNode(m,{class:"size-12 rounded-xl"},{default:e.withCtx(()=>[e.createVNode(d,{src:c.media?.[0],class:"object-cover"},null,8,["src"]),e.createVNode(t,{class:"rounded-xl"})]),_:2},1024),e.createElementVNode("span",null,e.toDisplayString(c.title),1)])]),_:2},1024),e.createVNode(C,null,{default:e.withCtx(()=>[c.status==="published"?(e.openBlock(),e.createElementBlock("span",se,"Published")):c.status==="draft"?(e.openBlock(),e.createElementBlock("span",ae,"Draft")):c.status==="archived"?(e.openBlock(),e.createElementBlock("span",ie,"Archived")):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.variantsTotal),1)]),_:2},1024),e.createVNode(C,{class:"text-right"},{default:e.withCtx(()=>[e.createTextVNode(" € "+e.toDisplayString(c.price||0),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})}}}),ce={class:"truncate"},de={key:0},pe={key:1},me={key:2},fe={key:3},ve={class:"relative w-full max-w-sm items-center"},Ce={class:"truncate"},xe={class:"flex items-center space-x-2 mb-4"},ge={class:"flex items-center space-x-2 mb-4"},Ve={class:"flex items-center space-x-2 mb-4"},Ne=e.defineComponent({__name:"FilterPopover",setup(S){const n=e.inject("filter"),b=e.inject("collections"),g=e.computed(()=>(e.unref(b)||[]).flatMap(l=>{const o=l.status||"draft",i=[{id:l.id,title:l.title,status:o,isSubcollection:!1}];return Array.isArray(l.subcollections)&&i.push(...l.subcollections.map(v=>({id:v.id,title:v.title,status:o==="published"&&v.status||o,isSubcollection:!0,parentTitle:l.title}))),i})),a=e.computed(()=>Array.isArray(n.value.collections)?n.value.collections.map(l=>g.value.find(o=>o.id===l)).filter(Boolean):[]),f=l=>l.isSubcollection?`${l.parentTitle} / ${l.title}`:l.title,p=()=>{n.value={collections:[],published:!0,draft:!0,archived:!1}};return(l,o)=>{const i=e.resolveComponent("Button"),v=e.resolveComponent("PopoverTrigger"),C=e.resolveComponent("ComboboxTrigger"),d=e.resolveComponent("ComboboxAnchor"),t=e.resolveComponent("ComboboxInput"),m=e.resolveComponent("ComboboxEmpty"),x=e.resolveComponent("ComboboxItemIndicator"),V=e.resolveComponent("ComboboxItem"),N=e.resolveComponent("ScrollArea"),c=e.resolveComponent("ComboboxGroup"),_=e.resolveComponent("ComboboxList"),w=e.resolveComponent("Combobox"),E=e.resolveComponent("Checkbox"),T=e.resolveComponent("PopoverContent"),D=e.resolveComponent("Popover");return e.openBlock(),e.createBlock(D,null,{default:e.withCtx(()=>[e.createVNode(v,{asChild:""},{default:e.withCtx(()=>[e.createVNode(i,{variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Filter),{class:"size-4"}),o[4]||(o[4]=e.createTextVNode(" Filter ",-1))]),_:1})]),_:1}),e.createVNode(T,{class:"w-64"},{default:e.withCtx(()=>[o[10]||(o[10]=e.createElementVNode("p",{class:"text-sm font-medium text-muted-foreground mb-4"}," Filter by Collection ",-1)),e.createVNode(w,{modelValue:e.unref(n).collections,"onUpdate:modelValue":o[0]||(o[0]=u=>e.unref(n).collections=u),by:"id",multiple:!0,class:"mb-6"},{default:e.withCtx(()=>[e.createVNode(d,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(C,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(i,{variant:"outline",class:"justify-between w-full"},{default:e.withCtx(()=>[e.createElementVNode("span",ce,[a.value.length===1?(e.openBlock(),e.createElementBlock("span",de,e.toDisplayString(f(a.value[0])),1)):a.value.length===2?(e.openBlock(),e.createElementBlock("span",pe,e.toDisplayString(f(a.value[0]))+", "+e.toDisplayString(f(a.value[1])),1)):a.value.length>2?(e.openBlock(),e.createElementBlock("span",me,e.toDisplayString(f(a.value[0]))+", "+e.toDisplayString(f(a.value[1]))+" + "+e.toDisplayString(a.value.length-2),1)):(e.openBlock(),e.createElementBlock("span",fe,"Select collection"))]),e.createVNode(e.unref(y.ChevronsUpDown),{class:"ml-2 size-4 shrink-0 opacity-50"})]),_:1})]),_:1})]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[e.createElementVNode("div",ve,[e.createVNode(t,{placeholder:"Select collection..."})]),e.createVNode(m,null,{default:e.withCtx(()=>[...o[5]||(o[5]=[e.createTextVNode(" No collection found. ",-1)])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(N,{class:"max-h-[200px] overflow-y-auto"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,u=>(e.openBlock(),e.createBlock(V,{key:u.id,value:u.id},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["flex min-w-0 items-center gap-2",{"pl-4":u.isSubcollection}])},[u.isSubcollection?(e.openBlock(),e.createBlock(e.unref(y.CornerDownRight),{key:0,class:"size-4 shrink-0 text-muted-foreground"})):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["size-2 rounded-full shrink-0",u.status==="published"?"bg-green-500":"bg-blue-500"])},null,2),e.createElementVNode("span",Ce,e.toDisplayString(u.title),1)],2),e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.Check),{class:e.normalizeClass(e.unref(X.classNames)("ml-auto size-4"))},null,8,["class"])]),_:1})]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),o[11]||(o[11]=e.createElementVNode("p",{class:"text-sm font-medium text-muted-foreground mb-4"}," Filter by Status ",-1)),e.createElementVNode("div",xe,[e.createVNode(E,{id:"chk_published_products",modelValue:e.unref(n).published,"onUpdate:modelValue":o[1]||(o[1]=u=>e.unref(n).published=u)},null,8,["modelValue"]),o[6]||(o[6]=e.createElementVNode("label",{for:"chk_published_products",class:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"}," Show published products ",-1))]),e.createElementVNode("div",ge,[e.createVNode(E,{id:"chk_draft_products",modelValue:e.unref(n).draft,"onUpdate:modelValue":o[2]||(o[2]=u=>e.unref(n).draft=u)},null,8,["modelValue"]),o[7]||(o[7]=e.createElementVNode("label",{for:"chk_draft_products",class:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"}," Show draft products ",-1))]),e.createElementVNode("div",Ve,[e.createVNode(E,{id:"chk_archived_products",modelValue:e.unref(n).archived,"onUpdate:modelValue":o[3]||(o[3]=u=>e.unref(n).archived=u)},null,8,["modelValue"]),o[8]||(o[8]=e.createElementVNode("label",{for:"chk_archived_products",class:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"}," Show archived products ",-1))]),e.unref(n).collections.length>0||!e.unref(n).published||!e.unref(n).draft||e.unref(n).archived?(e.openBlock(),e.createBlock(i,{key:0,variant:"secondary",class:"ml-auto my-2",size:"sm",onClick:p},{default:e.withCtx(()=>[e.createVNode(e.unref(y.RotateCcw),{class:"size-3"}),o[9]||(o[9]=e.createElementVNode("span",{class:"ml-0.5 text-xs"},"Reset filters",-1))]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})}}}),be=e.defineComponent({__name:"ProductContextMenu",emits:["selectAll","duplicateProduct","deleteProduct","deleteSelection"],setup(S,{emit:n}){const b=n,g=e.inject("products"),a=e.inject("selection"),f=e.inject("config"),{hasPermission:p}=k.useModulePermissions(),{navigateTo:l}=k.useModuleRoute(),o=e.computed(()=>a.value?.length!==1?null:g.value?.find(d=>d.id===a.value[0])),i=d=>{let t=f.previewUrl;t=t.replace("{{ id","{{id"),t=t.replace("id }}","id}}"),t=t.replace("{{id}}",d.id),t=t.replace("{{ slug","{{slug"),t=t.replace("slug }}","slug}}"),t=t.replace("{{slug}}",d.slug),window.open(t,"_blank")},v=async(d,t)=>{try{if(!["draft","published","archived"].includes(t))return;await k.useFirebaseIntegration(f.project).update(f.productCollection,d.id,{status:t}),d.status=t,h.toast.success("Product status changed")}catch{h.toast.error("Failed to change product status")}},C=async d=>{try{if(!["draft","published","archived"].includes(d))return;const t=k.useFirebaseIntegration(f.project),m=[];a.value.forEach(async x=>{m.push(t.update(f.productCollection,x,{status:d}))}),h.toast.promise(Promise.all(m),{loading:`Changing status of ${a.value.length} products...`,success:()=>{const x=a.value.length;return a.value.forEach(V=>{g.value.find(N=>N.id==V).status=d}),a.value=[],`Product status changed for ${x} products`},error:x=>"Failed to change product status"})}catch{h.toast.error("Failed to change product status")}};return(d,t)=>{const m=e.resolveComponent("ContextMenuTrigger"),x=e.resolveComponent("ContextMenuShortcut"),V=e.resolveComponent("ContextMenuItem"),N=e.resolveComponent("ContextMenuContent"),c=e.resolveComponent("ContextMenuSeparator"),_=e.resolveComponent("ContextMenuSubTrigger"),w=e.resolveComponent("ContextMenuCheckboxItem"),E=e.resolveComponent("ContextMenuSubContent"),T=e.resolveComponent("ContextMenuSub"),D=e.resolveComponent("ContextMenu");return e.openBlock(),e.createBlock(D,null,{default:e.withCtx(()=>[e.createVNode(m,{class:"flex flex-1"},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3}),e.unref(a).length===0?(e.openBlock(),e.createBlock(N,{key:0,class:"w-64"},{default:e.withCtx(()=>[e.createVNode(V,{inset:"",onClick:t[0]||(t[0]=u=>b("selectAll"))},{default:e.withCtx(()=>[t[13]||(t[13]=e.createTextVNode(" Select all ",-1)),e.createVNode(x,null,{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode("⌘ + A",-1)])]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0),e.unref(a).length===1&&o.value?(e.openBlock(),e.createBlock(N,{key:1,class:"w-64"},{default:e.withCtx(()=>[e.createVNode(V,{inset:"",onClick:t[1]||(t[1]=u=>e.unref(l)(o.value.id))},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" Edit product ",-1)])]),_:1}),e.createVNode(c),e.unref(f).previewUrl?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(V,{inset:"",onClick:t[2]||(t[2]=u=>i(o.value))},{default:e.withCtx(()=>[t[15]||(t[15]=e.createTextVNode(" Preview product ",-1)),e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ExternalLink),{class:"size-4"})]),_:1})]),_:1}),e.createVNode(c)],64)):e.createCommentVNode("",!0),e.createVNode(V,{inset:"",onClick:t[3]||(t[3]=u=>b("duplicateProduct",o.value))},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode(" Duplicate product ",-1)])]),_:1}),e.createVNode(T,null,{default:e.withCtx(()=>[e.createVNode(_,{inset:""},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode(" Change status ",-1)])]),_:1}),e.createVNode(E,{class:"w-48"},{default:e.withCtx(()=>[e.createVNode(w,{onClick:t[4]||(t[4]=u=>v(o.value,"draft")),modelValue:o.value.status==="draft"},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createElementVNode("span",{class:"size-2 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1},8,["modelValue"]),e.createVNode(w,{onClick:t[5]||(t[5]=u=>v(o.value,"published")),modelValue:o.value.status==="published"},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createElementVNode("span",{class:"size-2 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1},8,["modelValue"]),e.createVNode(w,{onClick:t[6]||(t[6]=u=>v(o.value,"archived")),modelValue:o.value.status==="archived"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createElementVNode("span",{class:"size-2 rounded-full bg-gray-300"},null,-1),e.createTextVNode(" Archived ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1}),e.createVNode(V,{inset:"",variant:"destructive",onClick:t[7]||(t[7]=u=>b("deleteProduct",o.value))},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode(" Delete product ",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.unref(a).length>1?(e.openBlock(),e.createBlock(N,{key:2,class:"w-64"},{default:e.withCtx(()=>[e.createVNode(T,null,{default:e.withCtx(()=>[e.createVNode(_,{inset:""},{default:e.withCtx(()=>[e.createTextVNode(" Change status ("+e.toDisplayString(e.unref(a).length)+") ",1)]),_:1}),e.createVNode(E,{class:"w-48"},{default:e.withCtx(()=>[e.createVNode(w,{onClick:t[8]||(t[8]=u=>C("draft"))},{default:e.withCtx(()=>[...t[22]||(t[22]=[e.createElementVNode("span",{class:"size-2 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1}),e.createVNode(w,{onClick:t[9]||(t[9]=u=>C("published"))},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createElementVNode("span",{class:"size-2 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(w,{onClick:t[10]||(t[10]=u=>C("archived"))},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createElementVNode("span",{class:"size-2 rounded-full bg-gray-300"},null,-1),e.createTextVNode(" Archived ",-1)])]),_:1})]),_:1})]),_:1}),e.createVNode(V,{inset:"",variant:"destructive",onClick:t[11]||(t[11]=u=>b("deleteSelection"))},{default:e.withCtx(()=>[e.createTextVNode(" Delete products ("+e.toDisplayString(e.unref(a).length)+") ",1)]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:3})}}}),ke={class:"relative flex flex-col flex-1"},_e={ref:"container",class:"flex items-center justify-between gap-4 w-full mt-12 mb-8"},we={class:"flex items-center gap-4"},he={class:"text-lg whitespace-nowrap"},ye={class:"relative w-full max-w-sm items-center"},Be={class:"absolute start-0 inset-y-0 flex items-center justify-center px-2"},Ee={class:"flex items-center gap-4"},Pe={class:"flex flex-1"},Se=e.defineComponent({__name:"Overview",props:{config:{type:Object,required:!0}},async setup(S){let n,b;const g=S,{hasPermission:a}=k.useModulePermissions(),{navigateTo:f}=k.useModuleRoute(),{confirm:p}=k.useConfirmation();k.useModuleBreadcrumbs(()=>[]);const l=k.useFirebaseIntegration(g.config.project),o=e.ref([]),i=async()=>{const s=await l.find(g.config.productCollection);o.value=s||[]},v=e.useTemplateRef("container"),{width:C}=W.useElementSize(v),d=e.ref("grid"),t=e.ref(1),m=e.ref([]),x=e.ref(""),V=e.ref([]);V.value=([n,b]=e.withAsyncContext(()=>w()),n=await n,b(),n);const N=e.computed(()=>d.value==="grid"?C.value<768?6:C.value<896?8:C.value<1024?10:12:10),c=e.computed(()=>o.value.filter(s=>!($.value.collections.length>0&&!s.collections?.some(r=>$.value.collections.includes(r))||!$.value.published&&s.status==="published"||!$.value.draft&&s.status==="draft"||!$.value.archived&&s.status==="archived")).filter(s=>s.title.toLowerCase().includes(x.value.toLowerCase())||s.slug.toLowerCase().includes(x.value.toLowerCase())||s.id.toLowerCase().includes(x.value.toLowerCase()))),_=e.computed(()=>{if(c.value.length<=N.value)return c.value;const s=(t.value-1)*N.value,r=s+N.value;return c.value.slice(s,r)});async function w(){if(!g.config.collectionsCollection)return[];const s=g.config.collectionsCollection.split(":");return s.length!==2?[]:(await l.get(s[0]))?.[s[1]]||[]}async function E(s){return(await l.find(g.config.productCollection,{filters:[{field:"slug",operator:"==",value:s}]})).length>0}const T=()=>{m.value=_.value.map(s=>s.id)},D=async s=>{try{let r={...s},P=r.slug+"-copy",M=2;for(;await E(P);)P=r.slug+"-copy-"+M,M++;r.id=void 0,r.createdAt=new Date,r.updatedAt=new Date,r.slug=P,r.status="draft",r.title=r.title+" (copy)";const z=await l.add(g.config.productCollection,r);f(z.id),h.toast.success("Product duplicated")}catch{h.toast.error("Failed to duplicate product")}},u=async s=>{if(await p(`Are you sure you want to delete "${s.title}"?`))try{await l.remove(g.config.productCollection,s.id),o.value=o.value.filter(P=>P.id!==s.id),m.value=[],h.toast.success("Product deleted")}catch{h.toast.error("Failed to delete product")}},F=async()=>{if(await p(`Are you sure you want to delete all selected products (${m.value.length})?`))try{m.value.forEach(async r=>{await l.remove(g.config.productCollection,r)}),o.value=o.value.filter(r=>!m.value.includes(r.id)),m.value=[],h.toast.success("Products deleted")}catch{h.toast.error("Failed to delete products")}},$=e.ref({collections:[],published:!0,draft:!0,archived:!1});e.watch($,()=>{t.value=1});const I=s=>{s.target?.matches("input, textarea")||s.target?.isContentEditable||(s.key==="Escape"&&(m.value=[]),(s.metaKey||s.ctrlKey)&&s.key.toLowerCase()==="a"&&(s.preventDefault(),T()))};return e.onMounted(()=>{i(),window.addEventListener("keydown",I)}),e.onUnmounted(()=>{window.removeEventListener("keydown",I)}),e.provide("config",g.config),e.provide("filter",$),e.provide("products",o),e.provide("collections",V),e.provide("selection",m),(s,r)=>{const P=e.resolveComponent("Input"),M=e.resolveComponent("Button"),z=e.resolveComponent("SegmentedControlButton"),j=e.resolveComponent("SegmentedControl"),R=e.resolveComponent("PaginationFirst"),U=e.resolveComponent("PaginationPrev"),K=e.resolveComponent("PaginationListItem"),q=e.resolveComponent("PaginationEllipsis"),O=e.resolveComponent("PaginationNext"),G=e.resolveComponent("PaginationLast"),H=e.resolveComponent("PaginationList"),Q=e.resolveComponent("Pagination");return e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",_e,[e.createElementVNode("div",we,[e.createElementVNode("p",he,e.toDisplayString(c.value?.length)+" products",1),e.createElementVNode("div",ye,[e.createVNode(P,{id:"search",type:"text",placeholder:"Search...",class:"pl-8",onKeydown:r[0]||(r[0]=e.withKeys(B=>x.value="",["escape"])),modelValue:x.value,"onUpdate:modelValue":r[1]||(r[1]=B=>x.value=B)},null,8,["modelValue"]),e.createElementVNode("span",Be,[e.createVNode(e.unref(y.Search),{class:"size-4 text-muted-foreground"})])])]),e.createElementVNode("div",Ee,[m.value.length>0?(e.openBlock(),e.createBlock(M,{key:0,variant:"destructive",onClick:F},{default:e.withCtx(()=>[e.createTextVNode(" Delete Selection ("+e.toDisplayString(m.value.length)+") ",1)]),_:1})):e.createCommentVNode("",!0),e.unref(a)("create-product")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(M,{variant:"outline",onClick:r[2]||(r[2]=B=>e.unref(f)("new"))},{default:e.withCtx(()=>[e.createVNode(e.unref(y.Plus),{class:"size-4"}),r[5]||(r[5]=e.createTextVNode(" New Product ",-1))]),_:1}),r[6]||(r[6]=e.createElementVNode("div",{class:"w-[1px] h-8 bg-border"},null,-1))],64)):e.createCommentVNode("",!0),e.createVNode(Ne),r[7]||(r[7]=e.createElementVNode("div",{class:"w-[1px] h-8 bg-border"},null,-1)),e.createElementVNode("div",null,[e.createVNode(j,{modelValue:d.value,"onUpdate:modelValue":r[3]||(r[3]=B=>d.value=B),"aria-label":"View mode"},{default:e.withCtx(()=>[e.createVNode(z,{value:"grid"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.LayoutGrid),{class:"size-4"})]),_:1}),e.createVNode(z,{value:"list"},{default:e.withCtx(()=>[e.createVNode(e.unref(y.List),{class:"size-4"})]),_:1})]),_:1},8,["modelValue"])])])],512),e.createElementVNode("div",Pe,[e.createVNode(be,{onSelectAll:T,onDuplicateProduct:D,onDeleteProduct:u,onDeleteSelection:F},{default:e.withCtx(()=>[d.value==="grid"?(e.openBlock(),e.createBlock(le,{key:0,products:_.value},null,8,["products"])):(e.openBlock(),e.createBlock(ue,{key:1,products:_.value},null,8,["products"]))]),_:1})]),c.value?.length>N.value?(e.openBlock(),e.createBlock(Q,{key:0,page:t.value,"onUpdate:page":r[4]||(r[4]=B=>t.value=B),"items-per-page":N.value,total:c.value?.length,"sibling-count":1,"show-edges":""},{default:e.withCtx(()=>[e.createVNode(H,{class:"flex items-center gap-1"},{default:e.withCtx(({items:B})=>[e.createVNode(R),e.createVNode(U),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B,(A,L)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[A.type==="page"?(e.openBlock(),e.createBlock(K,{key:L,value:A.value,"as-child":""},{default:e.withCtx(()=>[e.createVNode(M,{class:"size-10 p-0",variant:A.value===t.value?"default":"outline"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.value),1)]),_:2},1032,["variant"])]),_:2},1032,["value"])):(e.openBlock(),e.createBlock(q,{key:A.type,index:L},null,8,["index"]))],64))),256)),e.createVNode(O),e.createVNode(G)]),_:1})]),_:1},8,["page","items-per-page","total"])):e.createCommentVNode("",!0)])}}});exports.default=Se;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),ae=require("@oneclick.dev/cms-kit"),Ee=require("./languages-Dqvk3X8G.js"),oe=require("./_plugin-vue_export-helper-BHFhmbuH.js"),we={class:"preview-iphone"},Se={class:"push-container"},Be={class:"inner"},De={class:"head"},Le={class:"app-name"},$e={class:"body"},Te={class:"push-title"},Pe={class:"push-message"},ze=e.defineComponent({__name:"PreviewIPhone",props:{app:{type:String,required:!0},title:{type:String,required:!0},message:{type:String,required:!0}},setup(r){return(u,l)=>(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("div",Se,[e.createElementVNode("div",Be,[e.createElementVNode("div",De,[e.createElementVNode("span",Le,e.toDisplayString(r.app),1),l[0]||(l[0]=e.createElementVNode("span",null,"now",-1))]),e.createElementVNode("div",$e,[e.createElementVNode("span",Te,e.toDisplayString(r.title),1),e.createElementVNode("span",Pe,e.toDisplayString(r.message),1)])])])]))}}),qe=oe._export_sfc(ze,[["__scopeId","data-v-8c84cde9"]]),Ie={class:"preview-android"},Fe={class:"push-container"},je={class:"inner"},Ae={class:"head"},Me={class:"app-name"},Ue={class:"body"},Oe={class:"push-title"},Re={class:"push-message"},Ge=e.defineComponent({__name:"PreviewAndroid",props:{app:{type:String,required:!0},title:{type:String,required:!0},message:{type:String,required:!0}},setup(r){return(u,l)=>(e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",Fe,[e.createElementVNode("div",je,[e.createElementVNode("div",Ae,[l[0]||(l[0]=e.createElementVNode("span",{class:"notification-badge"},null,-1)),e.createElementVNode("span",Me,e.toDisplayString(r.app),1),l[1]||(l[1]=e.createElementVNode("span",null,null,-1))]),e.createElementVNode("div",Ue,[e.createElementVNode("span",Oe,e.toDisplayString(r.title),1),e.createElementVNode("span",Re,e.toDisplayString(r.message),1)])])])]))}}),He=oe._export_sfc(Ge,[["__scopeId","data-v-202b94a8"]]),Ye={class:"flex flex-col"},Ke=e.defineComponent({__name:"PushPreview",props:{app:{type:String,required:!0},title:{type:String,required:!0},message:{type:String,required:!0}},setup(r){const u=r,l=e.ref("ios"),h=e.computed(()=>u.title.length>0?u.title:"Notification Preview"),C=e.computed(()=>u.message.length>0?u.message:"Preview your push notification");return(B,m)=>{const s=e.resolveComponent("SegmentedControlButton"),p=e.resolveComponent("SegmentedControl");return e.openBlock(),e.createElementBlock("div",Ye,[e.createVNode(p,{modelValue:e.unref(l),"onUpdate:modelValue":m[0]||(m[0]=v=>e.isRef(l)?l.value=v:null),class:"mx-auto mb-3"},{default:e.withCtx(()=>[e.createVNode(s,{value:"ios"},{default:e.withCtx(()=>[...m[1]||(m[1]=[e.createTextVNode(" iOS ",-1)])]),_:1}),e.createVNode(s,{value:"android"},{default:e.withCtx(()=>[...m[2]||(m[2]=[e.createTextVNode(" Android ",-1)])]),_:1})]),_:1},8,["modelValue"]),e.unref(l)=="ios"?(e.openBlock(),e.createBlock(qe,{key:0,app:r.app,title:e.unref(h),message:e.unref(C)},null,8,["app","title","message"])):(e.openBlock(),e.createBlock(He,{key:1,app:r.app,title:e.unref(h),message:e.unref(C)},null,8,["app","title","message"]))])}}}),We={class:"@container/push w-full"},Je={class:"mx-auto flex w-full max-w-7xl flex-col gap-6 py-8"},Qe={class:"flex flex-col gap-4 @lg/push:flex-row @lg/push:items-center @lg/push:justify-between"},Xe={class:"flex items-center gap-4"},Ze={class:"flex size-11 shrink-0 items-center justify-center rounded-xl border border-primary/15 bg-primary/10 text-primary"},et={class:"grid min-w-0 items-start gap-6 @5xl/push:grid-cols-[minmax(24rem,1fr)_30.25rem]"},tt={class:"flex flex-col flex-wrap gap-3 @md/editor:flex-row @md/editor:items-center @md/editor:justify-between"},at={class:"pt-6"},ot={class:"flex w-fit flex-wrap items-center gap-x-2 gap-y-1 rounded-full border bg-background px-3 py-1.5 text-xs text-muted-foreground","aria-live":"polite"},nt={key:0},st={key:1},lt={class:"space-y-2.5"},rt={class:"flex items-end justify-between gap-4"},it={class:"flex min-w-0 items-center gap-3 text-left"},dt={class:"flex size-9 shrink-0 items-center justify-center rounded-lg bg-muted text-lg"},ct={class:"min-w-0"},ut={class:"flex items-center gap-2"},mt={class:"truncate text-sm font-medium"},pt={key:0,class:"rounded bg-muted px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-muted-foreground"},vt={class:"mt-0.5 block truncate text-xs text-muted-foreground",dir:"auto"},ft={class:"uppercase"},gt={class:"flex shrink-0 items-center gap-2"},xt={class:"text-base leading-none"},_t={class:"min-w-0 flex-1"},Nt={class:"block truncate text-sm font-medium"},Vt={class:"block truncate text-xs text-muted-foreground",dir:"auto"},yt={class:"uppercase"},ht={class:"text-base leading-none"},Ct={class:"min-w-0 flex-1"},kt={class:"block truncate text-sm font-medium"},bt={class:"block truncate text-xs text-muted-foreground",dir:"auto"},Et={class:"uppercase"},wt=["id"],St={class:"flex flex-col gap-3 @md/editor:flex-row @md/editor:items-center @md/editor:justify-between"},Bt={class:"mt-0.5 text-xs text-muted-foreground"},Dt={class:"truncate"},Lt={class:"space-y-2"},$t={class:"flex items-center justify-between gap-4"},Tt={key:0,class:"text-xs text-amber-600 dark:text-amber-400"},Pt={class:"space-y-2"},zt={class:"flex items-center justify-between gap-4"},qt={key:0,class:"text-xs text-amber-600 dark:text-amber-400"},It={key:0,class:"flex items-start gap-2 text-xs leading-relaxed text-muted-foreground"},Ft={key:1,class:"flex items-start gap-3 rounded-lg border border-amber-500/30 bg-amber-500/10 p-3"},jt={class:"text-xs leading-relaxed text-amber-800 dark:text-amber-200"},At={key:2,class:"flex items-start gap-2 text-xs leading-relaxed text-muted-foreground"},Mt={class:"flex items-start gap-2 text-xs text-muted-foreground"},Ut={key:0},Ot={key:1},Rt={class:"flex flex-col pt-6"},Gt={class:"overflow-x-auto px-3","aria-label":"Notification device preview"},Ht={class:"mx-auto w-max min-w-[450px]"},A=60,M=160,Yt=e.defineComponent({__name:"SendPush",props:{config:{type:Object,required:!0}},setup(r){const u=r;ae.useModuleBreadcrumbs(()=>[]);const{hasPermission:l}=ae.useModulePermissions(),h={title:"",message:""},C=new Map(Ee.languages.map(t=>[t.code.toLowerCase(),t])),B=t=>typeof t!="string"?"":t.trim().toLowerCase(),m=e.computed(()=>{const t=u.config.supportedLanguages;return(Array.isArray(t)?t:typeof t=="string"?[t]:[]).map(B).filter(S=>!!S)}),s=e.computed(()=>B(u.config.defaultLanguage)||m.value[0]||"en"),p=e.computed(()=>Array.from(new Set([s.value,...m.value]))),v=e.reactive({}),o=e.ref(s.value),k=e.ref(!1);e.watch(p,t=>{t.forEach(a=>{v[a]??={title:"",message:""}}),t.includes(o.value)||(o.value=s.value)},{immediate:!0}),e.watch(s,t=>{p.value.includes(o.value)||(o.value=t)});const D=t=>C.get(t)??{code:t,name:t.toUpperCase(),nativeName:t.toUpperCase(),flag:"🌐"},b=t=>v[t]??h,_=t=>!!b(t).title.trim(),N=t=>!!b(t).message.trim(),L=t=>_(t)&&N(t),$=t=>_(t)!==N(t),E=t=>L(t)?"ready":$(t)?"incomplete":t===s.value?"required":"fallback",ne={ready:"Translated",incomplete:"Incomplete",required:"Required",fallback:"Fallback"},U=t=>{const a=E(t);return t===s.value&&a==="ready"?"Ready":ne[a]},O={ready:"bg-emerald-500/10 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-300",incomplete:"bg-amber-500/10 text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",required:"bg-primary/10 text-primary",fallback:"bg-muted text-muted-foreground"},w=e.computed(()=>p.value.map(t=>{const a=E(t);return{...D(t),isDefault:t===s.value,status:a,statusLabel:U(t),statusClass:O[a]}})),i=e.computed(()=>w.value.find(t=>t.isDefault)),T=e.computed(()=>w.value.filter(t=>!t.isDefault)),d=e.computed(()=>D(o.value)),f=e.computed(()=>D(s.value)),P=e.computed(()=>b(o.value)),z=e.computed(()=>b(s.value)),V=e.computed({get:()=>P.value.title,set:t=>{v[o.value].title=t}}),y=e.computed({get:()=>P.value.message,set:t=>{v[o.value].message=t}}),g=e.computed(()=>o.value===s.value),R=e.computed(()=>!_(o.value)&&!N(o.value)),se=e.computed(()=>$(o.value)),le=e.computed(()=>_(o.value)||N(o.value)),q=e.computed(()=>L(s.value)),G=e.computed(()=>!g.value&&R.value),H=e.computed(()=>G.value?z.value:P.value),x=e.computed(()=>p.value.filter(t=>$(t)).length),Y=e.computed(()=>p.value.filter(t=>t!==s.value&&L(t)).length),re=e.computed(()=>Math.max(p.value.length-1,0)),ie=e.computed(()=>p.value.filter(t=>t!==s.value&&E(t)==="fallback").length),de=e.computed(()=>E(o.value)),ce=e.computed(()=>U(o.value)),ue=e.computed(()=>O[de.value]),K=e.computed(()=>!g.value&&q.value),me=e.computed(()=>le.value?`Replace with ${f.value.name}`:`Use ${f.value.name} as a starting point`),pe=e.computed(()=>q.value&&x.value===0&&l("send-push")),I=e.computed(()=>l("send-push")?q.value?x.value>0?`Finish ${x.value} incomplete ${x.value===1?"translation":"translations"}.`:"":`Add a ${[_(s.value)?"":"title",N(s.value)?"":"message"].filter(Boolean).join(" and ")} in ${f.value.name}.`:"You do not have permission to send push notifications."),ve=()=>{K.value&&(v[o.value].title=z.value.title,v[o.value].message=z.value.message)},W=t=>{o.value=t,k.value=!1};return(t,a)=>{const S=e.resolveComponent("CardTitle"),J=e.resolveComponent("CardDescription"),Q=e.resolveComponent("CardHeader"),F=e.resolveComponent("Label"),j=e.resolveComponent("Button"),fe=e.resolveComponent("PopoverTrigger"),ge=e.resolveComponent("CommandInput"),xe=e.resolveComponent("CommandEmpty"),X=e.resolveComponent("CommandItem"),Z=e.resolveComponent("CommandGroup"),_e=e.resolveComponent("CommandSeparator"),Ne=e.resolveComponent("CommandList"),Ve=e.resolveComponent("Command"),ye=e.resolveComponent("PopoverContent"),he=e.resolveComponent("Popover"),Ce=e.resolveComponent("Input"),ke=e.resolveComponent("Textarea"),ee=e.resolveComponent("CardContent"),be=e.resolveComponent("CardFooter"),te=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",Je,[e.createElementVNode("header",Qe,[e.createElementVNode("div",Xe,[e.createElementVNode("div",Ze,[e.createVNode(e.unref(c.BellRing),{class:"size-5"})]),a[4]||(a[4]=e.createElementVNode("div",null,[e.createElementVNode("h1",{class:"text-2xl font-semibold tracking-tight"}," Send notification ")],-1))])]),e.createElementVNode("main",et,[e.createVNode(te,{class:"@container/editor min-w-0 overflow-hidden py-0"},{default:e.withCtx(()=>[e.createVNode(Q,{class:"border-b bg-muted/20"},{default:e.withCtx(()=>[e.createElementVNode("div",tt,[e.createElementVNode("div",at,[e.createVNode(S,{class:"text-base"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Notification content",-1)])]),_:1}),e.createVNode(J,{class:"mt-1"},{default:e.withCtx(()=>[...a[6]||(a[6]=[e.createTextVNode(" Create the default message, then add translations where needed. ",-1)])]),_:1})]),e.createElementVNode("div",ot,[e.createVNode(e.unref(c.Languages),{class:"size-3.5"}),re.value>0?(e.openBlock(),e.createElementBlock("span",nt,[e.createTextVNode(e.toDisplayString(Y.value)+" translated ",1),a[8]||(a[8]=e.createElementVNode("span",{"aria-hidden":"true"},"·",-1)),e.createTextVNode(" "+e.toDisplayString(ie.value)+" fallback ",1),x.value>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a[7]||(a[7]=e.createElementVNode("span",{"aria-hidden":"true"},"·",-1)),e.createTextVNode(" "+e.toDisplayString(x.value)+" incomplete ",1)],64)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("span",st,"Default copy only"))])])]),_:1}),e.createVNode(ee,{class:"space-y-6 px-5 @md/editor:px-6"},{default:e.withCtx(()=>[e.createElementVNode("section",lt,[e.createElementVNode("div",rt,[e.createElementVNode("div",null,[e.createVNode(F,{class:"text-sm font-medium"},{default:e.withCtx(()=>[...a[9]||(a[9]=[e.createTextVNode("Language",-1)])]),_:1}),a[10]||(a[10]=e.createElementVNode("p",{class:"mt-0.5 text-xs text-muted-foreground"}," Choose the version you want to edit. ",-1))]),a[11]||(a[11]=e.createElementVNode("span",{class:"hidden text-xs text-muted-foreground @sm/editor:inline"}," Drafts are kept when you switch ",-1))]),e.createVNode(he,{open:k.value,"onUpdate:open":a[1]||(a[1]=n=>k.value=n)},{default:e.withCtx(()=>[e.createVNode(fe,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(j,{type:"button",variant:"outline",role:"combobox","aria-expanded":k.value,"aria-label":"Choose notification language",class:"h-auto w-full justify-between gap-3 rounded-xl px-3 py-2.5 font-normal hover:bg-muted/40"},{default:e.withCtx(()=>[e.createElementVNode("span",it,[e.createElementVNode("span",dt,e.toDisplayString(d.value.flag),1),e.createElementVNode("span",ct,[e.createElementVNode("span",ut,[e.createElementVNode("span",mt,e.toDisplayString(d.value.name),1),g.value?(e.openBlock(),e.createElementBlock("span",pt," Default ")):e.createCommentVNode("",!0)]),e.createElementVNode("span",vt,[d.value.nativeName!==d.value.name?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(d.value.nativeName)+" ",1),a[12]||(a[12]=e.createElementVNode("span",{"aria-hidden":"true"}," · ",-1))],64)):e.createCommentVNode("",!0),e.createElementVNode("span",ft,e.toDisplayString(o.value),1)])])]),e.createElementVNode("span",gt,[e.createElementVNode("span",{class:e.normalizeClass(["rounded-full px-2 py-1 text-[10px] font-medium",ue.value])},e.toDisplayString(ce.value),3),w.value.length>1?(e.openBlock(),e.createBlock(e.unref(c.ChevronsUpDown),{key:0,class:"size-4 text-muted-foreground"})):e.createCommentVNode("",!0)])]),_:1},8,["aria-expanded"])]),_:1}),e.createVNode(ye,{align:"start",side:"bottom","side-offset":6,class:"w-[var(--reka-popover-trigger-width)] min-w-72 max-w-[calc(100vw-2rem)] p-0"},{default:e.withCtx(()=>[e.createVNode(Ve,null,{default:e.withCtx(()=>[w.value.length>5?(e.openBlock(),e.createBlock(ge,{key:0,placeholder:"Search languages..."})):e.createCommentVNode("",!0),e.createVNode(Ne,{class:"max-h-80"},{default:e.withCtx(()=>[e.createVNode(xe,null,{default:e.withCtx(()=>[...a[13]||(a[13]=[e.createTextVNode("No language found.",-1)])]),_:1}),i.value?(e.openBlock(),e.createBlock(Z,{key:0,heading:"Default language"},{default:e.withCtx(()=>[e.createVNode(X,{value:`${i.value.name} ${i.value.nativeName} ${i.value.code}`,class:"gap-3 py-2.5",onSelect:a[0]||(a[0]=n=>W(i.value.code))},{default:e.withCtx(()=>[e.createElementVNode("span",xt,e.toDisplayString(i.value.flag),1),e.createElementVNode("span",_t,[e.createElementVNode("span",Nt,e.toDisplayString(i.value.name),1),e.createElementVNode("span",Vt,[i.value.nativeName!==i.value.name?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(i.value.nativeName)+" ",1),a[14]||(a[14]=e.createElementVNode("span",{"aria-hidden":"true"}," · ",-1))],64)):e.createCommentVNode("",!0),e.createElementVNode("span",yt,e.toDisplayString(i.value.code),1)])]),e.createElementVNode("span",{class:e.normalizeClass(["rounded-full px-2 py-1 text-[10px] font-medium",i.value.statusClass])},e.toDisplayString(i.value.statusLabel),3),e.createVNode(e.unref(c.Check),{class:e.normalizeClass(["size-4 shrink-0 text-primary",o.value===i.value.code?"opacity-100":"opacity-0"])},null,8,["class"])]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0),T.value.length>0?(e.openBlock(),e.createBlock(_e,{key:1})):e.createCommentVNode("",!0),T.value.length>0?(e.openBlock(),e.createBlock(Z,{key:2,heading:`Translations · ${Y.value} translated`},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,n=>(e.openBlock(),e.createBlock(X,{key:n.code,value:`${n.name} ${n.nativeName} ${n.code}`,class:"gap-3 py-2.5",onSelect:Kt=>W(n.code)},{default:e.withCtx(()=>[e.createElementVNode("span",ht,e.toDisplayString(n.flag),1),e.createElementVNode("span",Ct,[e.createElementVNode("span",kt,e.toDisplayString(n.name),1),e.createElementVNode("span",bt,[n.nativeName!==n.name?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(n.nativeName)+" ",1),a[15]||(a[15]=e.createElementVNode("span",{"aria-hidden":"true"}," · ",-1))],64)):e.createCommentVNode("",!0),e.createElementVNode("span",Et,e.toDisplayString(n.code),1)])]),e.createElementVNode("span",{class:e.normalizeClass(["rounded-full px-2 py-1 text-[10px] font-medium",n.statusClass])},e.toDisplayString(n.statusLabel),3),e.createVNode(e.unref(c.Check),{class:e.normalizeClass(["size-4 shrink-0 text-primary",o.value===n.code?"opacity-100":"opacity-0"])},null,8,["class"])]),_:2},1032,["value","onSelect"]))),128))]),_:1},8,["heading"])):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]),e.createElementVNode("section",{id:`notification-panel-${o.value}`,class:"space-y-6"},[e.createElementVNode("div",St,[e.createElementVNode("div",null,[a[17]||(a[17]=e.createElementVNode("h2",{class:"text-sm font-semibold"},"Message copy",-1)),e.createElementVNode("p",Bt,[e.createTextVNode(" Editing "+e.toDisplayString(d.value.name)+" ",1),g.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" fallback")],64)):e.createCommentVNode("",!0),a[16]||(a[16]=e.createTextVNode(" content. ",-1))])]),!g.value&&K.value?(e.openBlock(),e.createBlock(j,{key:0,type:"button",variant:"outline",size:"sm",class:"w-fit max-w-full justify-start",onClick:ve},{default:e.withCtx(()=>[e.createVNode(e.unref(c.Copy),{class:"size-3.5"}),e.createElementVNode("span",Dt,e.toDisplayString(me.value),1)]),_:1})):e.createCommentVNode("",!0)]),e.createElementVNode("div",Lt,[e.createElementVNode("div",$t,[e.createVNode(F,{for:`send_push_title_${o.value}`,class:"text-sm font-medium"},{default:e.withCtx(()=>[...a[18]||(a[18]=[e.createTextVNode(" Title ",-1)])]),_:1},8,["for"]),e.createElementVNode("span",{class:e.normalizeClass(["text-xs tabular-nums",V.value.length>A?"text-amber-600 dark:text-amber-400":"text-muted-foreground"])},[e.createTextVNode(e.toDisplayString(V.value.length)+"/"+e.toDisplayString(A)+" ",1),a[19]||(a[19]=e.createElementVNode("span",{class:"hidden @lg/editor:inline"},"recommended",-1))],2)]),e.createVNode(Ce,{id:`send_push_title_${o.value}`,modelValue:V.value,"onUpdate:modelValue":a[2]||(a[2]=n=>V.value=n),type:"text",lang:o.value,dir:"auto",placeholder:`Add a title in ${d.value.name}`,autocomplete:"off",class:"h-11"},null,8,["id","modelValue","lang","placeholder"]),V.value.length>A?(e.openBlock(),e.createElementBlock("p",Tt," Longer titles may be shortened on some devices. ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Pt,[e.createElementVNode("div",zt,[e.createVNode(F,{for:`send_push_message_${o.value}`,class:"text-sm font-medium"},{default:e.withCtx(()=>[...a[20]||(a[20]=[e.createTextVNode(" Message ",-1)])]),_:1},8,["for"]),e.createElementVNode("span",{class:e.normalizeClass(["text-xs tabular-nums",y.value.length>M?"text-amber-600 dark:text-amber-400":"text-muted-foreground"])},[e.createTextVNode(e.toDisplayString(y.value.length)+"/"+e.toDisplayString(M)+" ",1),a[21]||(a[21]=e.createElementVNode("span",{class:"hidden @lg/editor:inline"},"recommended",-1))],2)]),e.createVNode(ke,{id:`send_push_message_${o.value}`,modelValue:y.value,"onUpdate:modelValue":a[3]||(a[3]=n=>y.value=n),lang:o.value,dir:"auto",placeholder:`Write the notification message in ${d.value.name}`,class:"min-h-36 resize-y"},null,8,["id","modelValue","lang","placeholder"]),y.value.length>M?(e.openBlock(),e.createElementBlock("p",qt," Longer messages may be truncated in the notification tray. ")):e.createCommentVNode("",!0)]),g.value?(e.openBlock(),e.createElementBlock("div",It,[e.createVNode(e.unref(c.Globe2),{class:"mt-0.5 size-3.5 shrink-0 text-primary"}),a[22]||(a[22]=e.createElementVNode("p",null," Required fallback for languages without their own translation. ",-1))])):se.value?(e.openBlock(),e.createElementBlock("div",Ft,[e.createVNode(e.unref(c.AlertCircle),{class:"mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-400"}),e.createElementVNode("p",jt," Complete both fields, or clear this translation to use "+e.toDisplayString(f.value.name)+" as the fallback. ",1)])):R.value?(e.openBlock(),e.createElementBlock("div",At,[e.createVNode(e.unref(c.Languages),{class:"mt-0.5 size-3.5 shrink-0"}),e.createElementVNode("p",null," No "+e.toDisplayString(d.value.name)+" translation — recipients will see the "+e.toDisplayString(f.value.name)+" fallback. ",1)])):e.createCommentVNode("",!0)],8,wt)]),_:1}),e.createVNode(be,{class:"flex flex-col gap-4 border-t bg-muted/20 px-5 py-4 @md/editor:flex-row @md/editor:items-center @md/editor:justify-between @md/editor:px-6"},{default:e.withCtx(()=>[e.createElementVNode("div",Mt,[e.createVNode(e.unref(c.AlertCircle),{class:"mt-0.5 size-3.5 shrink-0"}),I.value?(e.openBlock(),e.createElementBlock("span",Ut,e.toDisplayString(I.value),1)):(e.openBlock(),e.createElementBlock("span",Ot," Review the live preview before sending. Delivery cannot be undone. "))]),e.createVNode(j,{class:"w-full shrink-0 @md/editor:w-auto",disabled:!pe.value,title:I.value},{default:e.withCtx(()=>[e.createVNode(e.unref(c.Send),{class:"size-4"}),a[23]||(a[23]=e.createTextVNode(" Send notification ",-1))]),_:1},8,["disabled","title"])]),_:1})]),_:1}),e.createVNode(te,{class:"min-w-0 overflow-hidden @4xl/push:sticky @4xl/push:top-6 py-0"},{default:e.withCtx(()=>[e.createVNode(Q,{class:"border-b bg-muted/20"},{default:e.withCtx(()=>[e.createElementVNode("div",Rt,[e.createVNode(S,{class:"text-base"},{default:e.withCtx(()=>[...a[24]||(a[24]=[e.createTextVNode("Live preview",-1)])]),_:1}),e.createVNode(J,{class:"mt-0.5 mb-0"},{default:e.withCtx(()=>[G.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" Previewing "+e.toDisplayString(f.value.name)+" fallback for "+e.toDisplayString(d.value.name),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(d.value.flag)+" "+e.toDisplayString(d.value.name)+" notification ",1)],64))]),_:1})])]),_:1}),e.createVNode(ee,{class:"p-0"},{default:e.withCtx(()=>[e.createElementVNode("div",Gt,[e.createElementVNode("div",Ht,[e.createVNode(Ke,{app:r.config.appName||"Your app",title:H.value.title,message:H.value.message},null,8,["app","title","message"])])])]),_:1})]),_:1})])])])}}});exports.default=Yt;
|