@oneclick.dev/cms-core-modules 0.0.115 → 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.
Files changed (87) hide show
  1. package/dist/{ContentEditor-MctMvN7D.js → ContentEditor-CsbOFg3a.js} +52 -52
  2. package/dist/{ContentEditor-C5yNNLeV.mjs → ContentEditor-Df5uWpVC.mjs} +10337 -8677
  3. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-gozJKXvM.js +1 -0
  4. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-pDO9b4Pv.mjs +77 -0
  5. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BHeMJ6nr.mjs +1476 -0
  6. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-C2zwt5UF.js +1 -0
  7. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js +925 -0
  8. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DwAUYR8p.mjs +5021 -0
  9. package/dist/Overview-CBahJviK.js +1 -0
  10. package/dist/Overview-CVQ1pkuD.mjs +527 -0
  11. package/dist/TableView-Csv5Lycy.mjs +6234 -0
  12. package/dist/TableView-Cwal0BPW.js +4 -0
  13. package/dist/agenda-BSdlrfxv.mjs +1253 -0
  14. package/dist/agenda-Bev1mO7E.js +1 -0
  15. package/dist/availability-ClBGVgE9.js +1 -0
  16. package/dist/availability-D8JdA4rP.mjs +274 -0
  17. package/dist/booking-data-Px7XCIfU.mjs +1024 -0
  18. package/dist/booking-data-aMS1p_3g.js +1 -0
  19. package/dist/cms-core-modules.css +1 -1
  20. package/dist/exceptions-CqityDo9.mjs +651 -0
  21. package/dist/exceptions-DXqc0Nza.js +1 -0
  22. package/dist/index-CM4eaK5T.mjs +1245 -0
  23. package/dist/index-DliTZzwI.js +35 -0
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.mjs +12 -11
  26. package/dist/orders-1swJVKw2.js +1 -0
  27. package/dist/orders-D41GbzIa.mjs +624 -0
  28. package/dist/payment-BJHgpaeT.js +1 -0
  29. package/dist/payment-D5j-68Ig.mjs +1278 -0
  30. package/dist/refunds-D9nTeD2d.mjs +436 -0
  31. package/dist/refunds-oVB2Opib.js +1 -0
  32. package/dist/resources-8WouFvJe.js +1 -0
  33. package/dist/resources-B-D5MUhV.mjs +975 -0
  34. package/dist/server-handlers.cjs.js +1 -1
  35. package/dist/server-handlers.mjs +626 -515
  36. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +146 -5
  37. package/dist/src/appointments/components/edit/EventDialog/CancelRefundReservationDialog.vue.d.ts +33 -0
  38. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +26 -8
  39. package/dist/src/appointments/components/edit/EventDialog/RefundDetailsDisplay.vue.d.ts +8 -0
  40. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +91 -5
  41. package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +20 -3
  42. package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +5 -0
  43. package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +20 -2
  44. package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +240 -0
  45. package/dist/src/appointments/composables/useAgendaMetadataSchema.d.ts +37 -0
  46. package/dist/src/appointments/pages/edit/orders.vue.d.ts +225 -0
  47. package/dist/src/appointments/pages/edit/refunds.vue.d.ts +2 -0
  48. package/dist/src/appointments/server.d.ts +2 -0
  49. package/dist/src/appointments/types.d.ts +6 -0
  50. package/dist/src/appointments/utils/printReservation.d.ts +65 -3
  51. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/Table.d.ts +36 -0
  52. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/Table.vue.d.ts +95 -0
  53. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableCell.d.ts +13 -0
  54. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableHeader.d.ts +6 -0
  55. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableRow.d.ts +6 -0
  56. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/index.d.ts +4 -0
  57. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TableMenu.vue.d.ts +13 -0
  58. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +14 -0
  59. package/package.json +2 -2
  60. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +0 -76
  61. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +0 -1
  62. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +0 -1
  63. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +0 -1263
  64. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +0 -1
  65. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +0 -330
  66. package/dist/Overview-98nkJUWN.mjs +0 -481
  67. package/dist/Overview-Dl8cMlsr.js +0 -1
  68. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +0 -349
  69. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +0 -3077
  70. package/dist/TableView-CVfkyj1k.js +0 -4
  71. package/dist/TableView-zDx0IegJ.mjs +0 -6096
  72. package/dist/agenda-BaJu3-1c.js +0 -1
  73. package/dist/agenda-BwVY_8oM.mjs +0 -1165
  74. package/dist/availability-CMrRa5y2.mjs +0 -269
  75. package/dist/availability-Cf2YfMwM.js +0 -1
  76. package/dist/booking-data-DgJd0BcM.mjs +0 -889
  77. package/dist/booking-data-Di5GmH_8.js +0 -1
  78. package/dist/exceptions-B6P9UiCj.js +0 -1
  79. package/dist/exceptions-De9-FvdP.mjs +0 -646
  80. package/dist/index-DL6orwdK.js +0 -35
  81. package/dist/index-hH3e-IYz.mjs +0 -1187
  82. package/dist/orders-C65SlpJy.mjs +0 -618
  83. package/dist/orders-XVzWAgG1.js +0 -1
  84. package/dist/payment-C3ohkehF.mjs +0 -1080
  85. package/dist/payment-Dfr-Ro-a.js +0 -1
  86. package/dist/resources-CxeFd57z.js +0 -1
  87. 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;