@oneclick.dev/cms-core-modules 0.0.114 → 0.0.116
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-MctMvN7D.js → ContentEditor-CsbOFg3a.js} +52 -52
- package/dist/{ContentEditor-C5yNNLeV.mjs → ContentEditor-Df5uWpVC.mjs} +10337 -8677
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-gozJKXvM.js +1 -0
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-pDO9b4Pv.mjs +77 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BHeMJ6nr.mjs +1476 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-C2zwt5UF.js +1 -0
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js +925 -0
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DwAUYR8p.mjs +5021 -0
- package/dist/Overview-CBahJviK.js +1 -0
- package/dist/Overview-CVQ1pkuD.mjs +527 -0
- package/dist/TableView-Csv5Lycy.mjs +6234 -0
- package/dist/TableView-Cwal0BPW.js +4 -0
- package/dist/agenda-BSdlrfxv.mjs +1253 -0
- package/dist/agenda-Bev1mO7E.js +1 -0
- package/dist/availability-ClBGVgE9.js +1 -0
- package/dist/availability-D8JdA4rP.mjs +274 -0
- package/dist/booking-data-Px7XCIfU.mjs +1024 -0
- package/dist/booking-data-aMS1p_3g.js +1 -0
- package/dist/cms-core-modules.css +1 -1
- package/dist/exceptions-CqityDo9.mjs +651 -0
- package/dist/exceptions-DXqc0Nza.js +1 -0
- package/dist/index-CM4eaK5T.mjs +1245 -0
- package/dist/index-DliTZzwI.js +35 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +12 -11
- package/dist/orders-1swJVKw2.js +1 -0
- package/dist/orders-D41GbzIa.mjs +624 -0
- package/dist/payment-BJHgpaeT.js +1 -0
- package/dist/payment-D5j-68Ig.mjs +1278 -0
- package/dist/refunds-D9nTeD2d.mjs +436 -0
- package/dist/refunds-oVB2Opib.js +1 -0
- package/dist/resources-8WouFvJe.js +1 -0
- package/dist/resources-B-D5MUhV.mjs +975 -0
- package/dist/server-handlers.cjs.js +1 -1
- package/dist/server-handlers.mjs +626 -515
- package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +146 -5
- package/dist/src/appointments/components/edit/EventDialog/CancelRefundReservationDialog.vue.d.ts +33 -0
- package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +26 -8
- package/dist/src/appointments/components/edit/EventDialog/RefundDetailsDisplay.vue.d.ts +8 -0
- package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +91 -5
- package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +20 -3
- package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +5 -0
- package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +20 -2
- package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +240 -0
- package/dist/src/appointments/composables/useAgendaMetadataSchema.d.ts +37 -0
- package/dist/src/appointments/pages/edit/orders.vue.d.ts +225 -0
- package/dist/src/appointments/pages/edit/refunds.vue.d.ts +2 -0
- package/dist/src/appointments/server.d.ts +2 -0
- package/dist/src/appointments/types.d.ts +6 -0
- package/dist/src/appointments/utils/printReservation.d.ts +65 -3
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/Table.d.ts +36 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/Table.vue.d.ts +95 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableCell.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableHeader.d.ts +6 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableRow.d.ts +6 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/index.d.ts +4 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TableMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +14 -0
- package/package.json +2 -2
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +0 -76
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +0 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +0 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +0 -1263
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +0 -1
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +0 -330
- package/dist/Overview-98nkJUWN.mjs +0 -481
- package/dist/Overview-Dl8cMlsr.js +0 -1
- package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +0 -349
- package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +0 -3077
- package/dist/TableView-CVfkyj1k.js +0 -4
- package/dist/TableView-zDx0IegJ.mjs +0 -6096
- package/dist/agenda-BaJu3-1c.js +0 -1
- package/dist/agenda-BwVY_8oM.mjs +0 -1165
- package/dist/availability-CMrRa5y2.mjs +0 -269
- package/dist/availability-Cf2YfMwM.js +0 -1
- package/dist/booking-data-DgJd0BcM.mjs +0 -889
- package/dist/booking-data-Di5GmH_8.js +0 -1
- package/dist/exceptions-B6P9UiCj.js +0 -1
- package/dist/exceptions-De9-FvdP.mjs +0 -646
- package/dist/index-DL6orwdK.js +0 -35
- package/dist/index-hH3e-IYz.mjs +0 -1187
- package/dist/orders-C65SlpJy.mjs +0 -618
- package/dist/orders-XVzWAgG1.js +0 -1
- package/dist/payment-C3ohkehF.mjs +0 -1080
- package/dist/payment-Dfr-Ro-a.js +0 -1
- package/dist/resources-CxeFd57z.js +0 -1
- package/dist/resources-DwYxn2Vi.mjs +0 -811
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("./EditLayout.vue_vue_type_script_setup_true_lang-gozJKXvM.js"),a=require("./DateFormatter-CSAbE3BC.js"),p=require("lucide-vue-next"),D=require("@oneclick.dev/cms-kit"),H={class:"space-y-6 py-4"},O={key:0},q={class:"space-y-2"},Y={class:"flex items-center justify-center w-8 h-8 rounded-full bg-muted"},J={key:0,class:"w-full h-full rounded-full bg-white scale-50"},K={class:"flex items-center justify-center w-8 h-8 rounded-full bg-muted"},G={key:0,class:"w-full h-full rounded-full bg-white scale-50"},Q={key:0,class:"pl-4 pt-2 space-y-1"},W=["onClick"],X={class:"min-w-0 flex-1"},Z={class:"text-sm font-medium truncate"},ee={key:0,class:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},te={key:0,class:"text-xs text-amber-600 mt-2"},oe={class:"space-y-3"},ne={class:"flex items-center justify-center w-10 h-10 rounded-full bg-destructive/10"},se={key:0,class:"w-full h-full rounded-full bg-white scale-50"},le={class:"flex items-center justify-center w-10 h-10 rounded-full bg-primary/10"},ae={key:0,class:"w-full h-full rounded-full bg-white scale-50"},re={key:1},de={key:0,class:"text-center py-6 text-muted-foreground text-sm"},ce={key:1,class:"space-y-2 mb-3"},ie={class:"w-full flex justify-between items-center"},ue={class:"flex items-center gap-2 ml-auto"},me=e.defineComponent({__name:"ExceptionDialog",props:{resources:{}},emits:["add-exception","update-exception","remove-exception"],setup(L,{expose:V,emit:_}){const N=new a.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),k=L,C=_,d=e.ref(!1),v=e.ref("add"),g=e.ref(!1),r=e.ref({start:a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),end:a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())}),o=e.reactive({id:"",startDate:"",endDate:"",isClosed:!1,timeslots:[],resourceIds:null}),u=e.computed({get:()=>o.resourceIds===null,set:s=>{s?o.resourceIds=null:o.resourceIds=[]}}),T=s=>{if(o.resourceIds===null)o.resourceIds=[s];else{const t=o.resourceIds.indexOf(s);t===-1?o.resourceIds.push(s):o.resourceIds.splice(t,1)}},$=e.computed(()=>!(!r.value.start||o.resourceIds!==null&&o.resourceIds.length===0)),S=s=>{v.value=s?"edit":"add",s?(o.id=s.id,o.startDate=s.startDate,o.endDate=s.endDate,o.isClosed=s.isClosed,o.timeslots=JSON.parse(JSON.stringify(s.timeslots)),o.resourceIds=s.resourceIds?[...s.resourceIds]:null,r.value={start:a.$fae977aafc393c5c$export$6b862160d295c8e(s.startDate),end:a.$fae977aafc393c5c$export$6b862160d295c8e(s.endDate)}):(o.id="",o.startDate="",o.endDate="",o.isClosed=!1,o.timeslots=[],o.resourceIds=null,r.value={start:a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),end:a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())}),d.value=!0},I=()=>{d.value=!1},B=()=>{o.timeslots.push({id:Date.now(),startTime:"",endTime:""})},h=s=>{o.timeslots=o.timeslots.filter(t=>t.id!==s)},z=()=>{if(!r.value.start)return;const s=r.value.start.toString(),t=r.value.end?.toString()||s,n={id:Date.now().toString(),startDate:s,endDate:t,isClosed:o.isClosed,timeslots:o.isClosed?[]:[...o.timeslots],resourceIds:o.resourceIds};C("add-exception",n),d.value=!1},E=()=>{const s=r.value.start.toString(),t=r.value.end?.toString()||s,n={id:o.id,startDate:s,endDate:t,isClosed:o.isClosed,timeslots:o.isClosed?[]:[...o.timeslots],resourceIds:o.resourceIds};C("update-exception",n),d.value=!1},y=()=>{C("remove-exception",o.id),d.value=!1};return V({openDialog:S}),(s,t)=>{const n=e.resolveComponent("DialogTitle"),i=e.resolveComponent("DialogHeader"),f=e.resolveComponent("Label"),x=e.resolveComponent("Button"),A=e.resolveComponent("PopoverTrigger"),F=e.resolveComponent("RangeCalendar"),R=e.resolveComponent("PopoverContent"),P=e.resolveComponent("Popover"),w=e.resolveComponent("Input"),U=e.resolveComponent("Card"),j=e.resolveComponent("DialogFooter"),c=e.resolveComponent("DialogScrollContent"),m=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(m,{open:d.value,"onUpdate:open":t[6]||(t[6]=l=>d.value=l)},{default:e.withCtx(()=>[e.createVNode(c,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(n,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value==="add"?"Add Exception":"Edit Exception"),1)]),_:1})]),_:1}),e.createElementVNode("div",H,[e.createElementVNode("div",null,[e.createVNode(f,{class:"text-sm font-normal mb-1.5"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Select Date or Date Range",-1)])]),_:1}),e.createVNode(P,{open:g.value,"onUpdate:open":t[1]||(t[1]=l=>g.value=l)},{default:e.withCtx(()=>[e.createVNode(A,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(x,{variant:"outline",class:"w-full justify-start text-left font-normal"},{default:e.withCtx(()=>[e.createVNode(e.unref(p.Calendar),{class:"mr-2 h-4 w-4"}),r.value.start?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[r.value.end&&r.value.start.toString()!==r.value.end.toString()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(N).format(r.value.start.toDate(e.unref(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())))+" - "+e.toDisplayString(e.unref(N).format(r.value.end.toDate(e.unref(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)()))),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(N).format(r.value.start.toDate(e.unref(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)()))),1)],64))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" Pick a date ")],64))]),_:1})]),_:1}),e.createVNode(R,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(F,{modelValue:r.value,"onUpdate:modelValue":t[0]||(t[0]=l=>r.value=l),"initial-focus":"","number-of-months":2,"min-value":e.unref(a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3)(e.unref(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())},null,8,["modelValue","min-value"])]),_:1})]),_:1},8,["open"])]),k.resources&&k.resources.length>0?(e.openBlock(),e.createElementBlock("div",O,[e.createVNode(f,{class:"text-sm font-normal mb-1.5"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Apply To",-1)])]),_:1}),e.createElementVNode("div",q,[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-3 p-3 border rounded-lg cursor-pointer hover:bg-accent transition-colors",u.value?"bg-accent border-primary":""]),onClick:t[2]||(t[2]=l=>u.value=!0)},[e.createElementVNode("div",Y,[e.createVNode(e.unref(p.Users),{class:"h-4 w-4 text-muted-foreground"})]),t[9]||(t[9]=e.createElementVNode("div",{class:"flex-1"},[e.createElementVNode("div",{class:"font-medium text-sm"},"All Resources"),e.createElementVNode("div",{class:"text-xs text-muted-foreground"},"Exception applies to all resources")],-1)),e.createElementVNode("div",{class:e.normalizeClass(["w-4 h-4 rounded-full border-2",u.value?"border-primary bg-primary":"border-muted-foreground"])},[u.value?(e.openBlock(),e.createElementBlock("div",J)):e.createCommentVNode("",!0)],2)],2),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-3 p-3 border rounded-lg cursor-pointer hover:bg-accent transition-colors",u.value?"":"bg-accent border-primary"]),onClick:t[3]||(t[3]=l=>u.value=!1)},[e.createElementVNode("div",K,[e.createVNode(e.unref(p.Users),{class:"h-4 w-4 text-muted-foreground"})]),t[10]||(t[10]=e.createElementVNode("div",{class:"flex-1"},[e.createElementVNode("div",{class:"font-medium text-sm"},"Specific Resources"),e.createElementVNode("div",{class:"text-xs text-muted-foreground"},"Select which resources this exception applies to")],-1)),e.createElementVNode("div",{class:e.normalizeClass(["w-4 h-4 rounded-full border-2",u.value?"border-muted-foreground":"border-primary bg-primary"])},[u.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",G))],2)],2),u.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.resources,l=>(e.openBlock(),e.createElementBlock("div",{key:l.id,class:e.normalizeClass(["flex items-center gap-2 p-2 rounded-md hover:bg-muted cursor-pointer transition-colors",{"bg-muted":o.resourceIds?.includes(l.id),"opacity-50":o.resourceIds&&o.resourceIds.length>0&&!o.resourceIds.includes(l.id)}]),onClick:b=>T(l.id)},[e.createElementVNode("div",{class:"size-6 rounded-full flex items-center justify-center text-white text-xs font-medium flex-shrink-0",style:e.normalizeStyle({backgroundColor:l.color||"#6b7280"})},e.toDisplayString(l.avatarLabel||l.name.charAt(0).toUpperCase()),5),e.createElementVNode("div",X,[e.createElementVNode("div",Z,e.toDisplayString(l.name),1)]),e.createElementVNode("div",{class:e.normalizeClass(["size-4 rounded border-2 flex items-center justify-center flex-shrink-0",o.resourceIds?.includes(l.id)?"border-primary bg-primary":"border-muted-foreground"])},[o.resourceIds?.includes(l.id)?(e.openBlock(),e.createElementBlock("svg",ee,[...t[11]||(t[11]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"3",d:"M5 13l4 4L19 7"},null,-1)])])):e.createCommentVNode("",!0)],2)],10,W))),128)),o.resourceIds?.length===0?(e.openBlock(),e.createElementBlock("p",te," ⚠️ Please select at least one resource ")):e.createCommentVNode("",!0)]))])])):e.createCommentVNode("",!0),e.createElementVNode("div",null,[e.createVNode(f,{class:"text-sm font-normal mb-1.5"},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode("Exception Type",-1)])]),_:1}),e.createElementVNode("div",oe,[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-3 p-3 border rounded-lg cursor-pointer hover:bg-accent transition-colors",o.isClosed?"bg-accent border-primary":""]),onClick:t[4]||(t[4]=l=>o.isClosed=!0)},[e.createElementVNode("div",ne,[e.createVNode(e.unref(p.BanIcon),{class:"h-5 w-5 text-destructive"})]),t[13]||(t[13]=e.createElementVNode("div",{class:"flex-1"},[e.createElementVNode("div",{class:"font-medium"},"Closed"),e.createElementVNode("div",{class:"text-sm text-muted-foreground"},"No appointments available during this period")],-1)),e.createElementVNode("div",{class:e.normalizeClass(["w-4 h-4 rounded-full border-2",o.isClosed?"border-primary bg-primary":"border-muted-foreground"])},[o.isClosed?(e.openBlock(),e.createElementBlock("div",se)):e.createCommentVNode("",!0)],2)],2),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-3 p-3 border rounded-lg cursor-pointer hover:bg-accent transition-colors",o.isClosed?"":"bg-accent border-primary"]),onClick:t[5]||(t[5]=l=>o.isClosed=!1)},[e.createElementVNode("div",le,[e.createVNode(e.unref(p.Calendar),{class:"h-5 w-5 text-primary"})]),t[14]||(t[14]=e.createElementVNode("div",{class:"flex-1"},[e.createElementVNode("div",{class:"font-medium"},"Custom Hours"),e.createElementVNode("div",{class:"text-sm text-muted-foreground"},"Set specific time slots for this period")],-1)),e.createElementVNode("div",{class:e.normalizeClass(["w-4 h-4 rounded-full border-2",o.isClosed?"border-muted-foreground":"border-primary bg-primary"])},[o.isClosed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ae))],2)],2)])]),o.isClosed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(f,{class:"text-sm font-normal mb-1.5"},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode("Time Slots",-1)])]),_:1}),e.createVNode(U,{class:"p-4"},{default:e.withCtx(()=>[o.timeslots.length===0?(e.openBlock(),e.createElementBlock("div",de,' No time slots added. Click "Add Time Slot" to create one. ')):(e.openBlock(),e.createElementBlock("div",ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.timeslots,l=>(e.openBlock(),e.createElementBlock("div",{key:l.id,class:"flex items-center gap-2"},[e.createVNode(w,{class:"w-32",modelValue:l.startTime,"onUpdate:modelValue":b=>l.startTime=b,type:"time"},null,8,["modelValue","onUpdate:modelValue"]),t[16]||(t[16]=e.createElementVNode("span",{class:"text-muted-foreground"},"to",-1)),e.createVNode(w,{class:"w-32",modelValue:l.endTime,"onUpdate:modelValue":b=>l.endTime=b,type:"time"},null,8,["modelValue","onUpdate:modelValue"]),e.createVNode(x,{variant:"ghost",size:"icon",onClick:b=>h(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]))),128))])),e.createVNode(x,{onClick:B,variant:"outline",size:"sm",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(p.Plus),{class:"size-4 mr-1"}),t[17]||(t[17]=e.createTextVNode(" Add Time Slot ",-1))]),_:1})]),_:1})]))]),e.createVNode(j,{class:"gap-2"},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[v.value==="edit"?(e.openBlock(),e.createBlock(x,{key:0,variant:"destructive",onClick:y},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Remove Exception ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ue,[e.createVNode(x,{variant:"outline",onClick:I},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),v.value==="add"?(e.openBlock(),e.createBlock(x,{key:0,onClick:z,disabled:!$.value},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Add Exception ",-1)])]),_:1},8,["disabled"])):(e.openBlock(),e.createBlock(x,{key:1,onClick:E,disabled:!$.value},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode(" Update Exception ",-1)])]),_:1},8,["disabled"]))])])]),_:1})]),_:1})]),_:1},8,["open"])}}}),pe={key:0},fe={class:"max-w-4xl space-y-6"},ve={key:0,class:"flex"},xe={key:1},ke={class:"space-y-3"},Ce={class:"flex items-start justify-between"},ge={class:"flex-1"},Ve={class:"flex items-center gap-2 mb-1"},Ne={class:"font-medium"},Ee={key:0,class:"flex items-center gap-1.5 ml-6 mb-2"},ye=["title"],be={class:"text-sm text-muted-foreground ml-6"},_e={key:0,class:"text-amber-600"},$e={key:1,class:"space-y-1"},Be={class:"flex flex-wrap gap-2"},he={class:"flex gap-1"},we={key:4,class:"flex justify-end pt-4 border-t"},De={key:1},Te=e.defineComponent({__name:"exceptions",setup(L){const V=new a.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),{params:_}=D.useModuleRoute(),{hasPermission:N}=D.useModulePermissions(),{config:k}=D.useModule(),C=D.useFirebaseIntegration(k.project),d=e.ref([]),v=e.ref([]),g=e.ref(!1),r=e.ref(!0),o=e.ref(),u=t=>!t.resourceIds||t.resourceIds.length===0?null:v.value.filter(n=>t.resourceIds?.includes(n.id)),T=async()=>{try{r.value=!0;const t=await C.get(k.agendaCollection,_.value.id);d.value=t.exceptions||[],v.value=(t.resources||[]).filter(n=>n.isActive)}catch(t){console.error("Error loading exceptions:",t)}finally{r.value=!1}},$=(t,n)=>{const i=a.$fae977aafc393c5c$export$6b862160d295c8e(t),f=a.$fae977aafc393c5c$export$6b862160d295c8e(n);return t===n?V.format(i.toDate(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())):`${V.format(i.toDate(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))} - ${V.format(f.toDate(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))}`},S=t=>{d.value.push(t),E()},I=t=>{const n=d.value.findIndex(i=>i.id===t.id);n!==-1&&(d.value[n]=t),E()},B=t=>{d.value=d.value.filter(n=>n.id!==t),E()},h=()=>{o.value?.openDialog()},z=t=>{o.value?.openDialog(t)},E=async()=>{g.value=!0,await C.update(k.agendaCollection,_.value.id,{exceptions:d.value}),g.value=!1},y=e.computed(()=>[...d.value].sort((t,n)=>t.startDate.localeCompare(n.startDate))),s=t=>{const n=a.$fae977aafc393c5c$export$6b862160d295c8e(t),i=a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());return n.compare(i)<0};return T(),(t,n)=>{const i=e.resolveComponent("Button"),f=e.resolveComponent("Badge"),x=e.resolveComponent("Card"),A=e.resolveComponent("Spinner"),F=e.resolveComponent("EmptyMedia"),R=e.resolveComponent("EmptyTitle"),P=e.resolveComponent("EmptyDescription"),w=e.resolveComponent("EmptyHeader"),U=e.resolveComponent("EmptyContent"),j=e.resolveComponent("Empty");return e.openBlock(),e.createBlock(M._sfc_main,null,{default:e.withCtx(()=>[e.unref(N)("manage-overrides")?(e.openBlock(),e.createElementBlock("div",pe,[n[10]||(n[10]=e.createElementVNode("h1",{class:"text-lg font-medium mb-2"},"Exception Management",-1)),n[11]||(n[11]=e.createElementVNode("p",{class:"mb-6 text-muted-foreground text-sm"}," Create exceptions to override your regular schedule. You can close specific dates or set custom hours for special occasions. ",-1)),e.createElementVNode("div",fe,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(i,{onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(p.Plus),{class:"size-4 mr-1"}),n[0]||(n[0]=e.createTextVNode(" Add Exception ",-1))]),_:1})])):e.createCommentVNode("",!0),y.value.length>0?(e.openBlock(),e.createElementBlock("div",xe,[n[5]||(n[5]=e.createElementVNode("h2",{class:"text-base font-medium mb-3"},"Active Exceptions",-1)),e.createElementVNode("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,c=>(e.openBlock(),e.createBlock(x,{key:c.id,class:e.normalizeClass(["p-4",s(c.endDate)?"opacity-60":""])},{default:e.withCtx(()=>[e.createElementVNode("div",Ce,[e.createElementVNode("div",ge,[e.createElementVNode("div",Ve,[c.isClosed?(e.openBlock(),e.createBlock(e.unref(p.BanIcon),{key:0,class:"h-4 w-4 text-destructive"})):(e.openBlock(),e.createBlock(e.unref(p.Calendar),{key:1,class:"h-4 w-4 text-primary"})),e.createElementVNode("h3",Ne,e.toDisplayString($(c.startDate,c.endDate)),1),s(c.endDate)?(e.openBlock(),e.createBlock(f,{key:2,variant:"secondary",class:"text-xs"},{default:e.withCtx(()=>[...n[1]||(n[1]=[e.createTextVNode(" Past ",-1)])]),_:1})):e.createCommentVNode("",!0)]),v.value.length>0?(e.openBlock(),e.createElementBlock("div",Ee,[u(c)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(u(c),m=>(e.openBlock(),e.createElementBlock("div",{key:m.id,class:"size-5 rounded-full flex items-center justify-center text-white text-[10px] font-medium",style:e.normalizeStyle({backgroundColor:m.color||"#6b7280"}),title:m.name},e.toDisplayString(m.avatarLabel||m.name.charAt(0).toUpperCase()),13,ye))),128)):(e.openBlock(),e.createBlock(f,{key:1,variant:"outline",class:"text-xs"},{default:e.withCtx(()=>[...n[2]||(n[2]=[e.createTextVNode(" All Resources ",-1)])]),_:1}))])):e.createCommentVNode("",!0),e.createElementVNode("div",be,[c.isClosed?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" Closed - No appointments available ")],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[c.timeslots.length===0?(e.openBlock(),e.createElementBlock("div",_e," ⚠️ No time slots defined ")):(e.openBlock(),e.createElementBlock("div",$e,[n[3]||(n[3]=e.createElementVNode("div",{class:"font-medium text-foreground"},"Custom Hours:",-1)),e.createElementVNode("div",Be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.timeslots,(m,l)=>(e.openBlock(),e.createBlock(f,{key:l,variant:"outline",class:"font-mono text-xs"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.startTime)+" - "+e.toDisplayString(m.endTime),1)]),_:2},1024))),128))])]))],64))])]),e.createElementVNode("div",he,[e.createVNode(i,{variant:"ghost",onClick:m=>z(c)},{default:e.withCtx(()=>[...n[4]||(n[4]=[e.createTextVNode(" Edit ",-1)])]),_:1},8,["onClick"]),e.createVNode(i,{variant:"ghost",size:"icon",onClick:m=>B(c.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(p.Trash2),{class:"size-4 text-destructive"})]),_:1},8,["onClick"])])])]),_:2},1032,["class"]))),128))])])):r.value?(e.openBlock(),e.createBlock(A,{key:2,class:"my-8 size-8"})):(e.openBlock(),e.createBlock(j,{key:3,class:"border border-dashed"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(F,{variant:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(p.CalendarPlus))]),_:1}),e.createVNode(R,null,{default:e.withCtx(()=>[...n[6]||(n[6]=[e.createTextVNode("No Exceptions Created",-1)])]),_:1}),e.createVNode(P,null,{default:e.withCtx(()=>[...n[7]||(n[7]=[e.createTextVNode(' Your agenda runs smoothly without any exceptions. Click "Add Exception" to create one. ',-1)])]),_:1})]),_:1}),e.createVNode(U,null,{default:e.withCtx(()=>[e.createVNode(i,{variant:"outline",size:"sm",onClick:h},{default:e.withCtx(()=>[...n[8]||(n[8]=[e.createTextVNode(" Add Exception ",-1)])]),_:1})]),_:1})]),_:1})),g.value?(e.openBlock(),e.createElementBlock("div",we,[...n[9]||(n[9]=[e.createElementVNode("span",null,"Saving...",-1)])])):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("div",De,[...n[12]||(n[12]=[e.createElementVNode("h1",{class:"text-lg font-medium mb-2"},"Access Denied",-1),e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"You do not have permission to view or override slots.",-1)])])),e.createVNode(me,{ref_key:"exceptionDialogRef",ref:o,resources:v.value,onAddException:S,onUpdateException:I,onRemoveException:B},null,8,["resources"])]),_:1})}}});exports.default=Te;
|