@oneclick.dev/cms-core-modules 0.0.110 → 0.0.111

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 (62) hide show
  1. package/dist/{Acquisition-Dt2rREU8.js → Acquisition-DgzDQH51.js} +1 -1
  2. package/dist/{Acquisition-DNCy8nQz.mjs → Acquisition-FV3QpaUX.mjs} +2 -2
  3. package/dist/{Audience-Bs7b0TNm.js → Audience-BSgNvcVb.js} +1 -1
  4. package/dist/{Audience-CUeMVYRy.mjs → Audience-ka0b7YPE.mjs} +2 -2
  5. package/dist/{ContentEditor-D9-1SJ5F.mjs → ContentEditor-pZPfo0qN.mjs} +4384 -4282
  6. package/dist/{ContentEditor-BprPiHMJ.js → ContentEditor-tYkh4vRV.js} +42 -42
  7. package/dist/{Create-89z41K73.js → Create--MOBOTA-.js} +1 -1
  8. package/dist/{Create-BCklc_T1.mjs → Create-BXNLRQag.mjs} +1 -1
  9. package/dist/DateFormatter-CSAbE3BC.js +1 -0
  10. package/dist/{DateFormatter-DUxlo8X8.mjs → DateFormatter-qbhRYxI_.mjs} +226 -222
  11. package/dist/{Detail-CNlljBfH.mjs → Detail-ChD5XurA.mjs} +1 -1
  12. package/dist/{Detail-C857g62L.js → Detail-RISEJJab.js} +1 -1
  13. package/dist/{Find-DIISO5GO.mjs → Find-zN_dKz4p.mjs} +1 -1
  14. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +1 -0
  15. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +1263 -0
  16. package/dist/{Overview-Di84CsR5.mjs → Overview-98nkJUWN.mjs} +162 -157
  17. package/dist/{Overview-C-Jb_BxY.mjs → Overview-BR_y8x3W.mjs} +1 -1
  18. package/dist/{Overview-DC9io1bk.js → Overview-CX-n6W7d.js} +1 -1
  19. package/dist/Overview-Dl8cMlsr.js +1 -0
  20. package/dist/{Overview-BKAti8nc.mjs → Overview-MpgkLB6m.mjs} +36 -36
  21. package/dist/{SeoHealth-az1YuNF2.js → SeoHealth-C5npw7mE.js} +1 -1
  22. package/dist/{SeoHealth-MC3lSCOY.mjs → SeoHealth-bVQj_Xgm.mjs} +29 -29
  23. package/dist/{TableView-DXHhJ-jm.mjs → TableView-Bf1fdJrD.mjs} +1838 -1822
  24. package/dist/TableView-DNcXyIMu.js +4 -0
  25. package/dist/{agenda-IOqtALWf.js → agenda-BaJu3-1c.js} +1 -1
  26. package/dist/{agenda-DcatSSYQ.mjs → agenda-BwVY_8oM.mjs} +3 -3
  27. package/dist/cms-core-modules.css +1 -1
  28. package/dist/{exceptions-CI0B4xVj.js → exceptions-B6P9UiCj.js} +1 -1
  29. package/dist/{exceptions-YCQkHa6a.mjs → exceptions-De9-FvdP.mjs} +67 -67
  30. package/dist/{index-CpzDEMeC.mjs → index-B8GvmAwh.mjs} +438 -478
  31. package/dist/{index-wjkEPsNx.mjs → index-BIF2RB7k.mjs} +1212 -1316
  32. package/dist/index-ByRsp77L.js +70 -0
  33. package/dist/{index-BhWvXMOp.mjs → index-CFzn2Lus.mjs} +5 -9
  34. package/dist/{index-BFLV54kw.mjs → index-CkVwMqpn.mjs} +1114 -1100
  35. package/dist/index-DL6orwdK.js +35 -0
  36. package/dist/index-DUlYrnXH.js +58 -0
  37. package/dist/index-DZV720u-.mjs +439 -0
  38. package/dist/index-D_nfGegA.js +184 -0
  39. package/dist/index-DtSvAFLL.js +54 -0
  40. package/dist/{index-D30apIn-.mjs → index-L54VBzwJ.mjs} +2 -3
  41. package/dist/{index-BzWmWCo5.mjs → index-hH3e-IYz.mjs} +267 -267
  42. package/dist/index.cjs.js +1 -1
  43. package/dist/index.mjs +15 -15
  44. package/dist/math-BJ-oX_IM.mjs +80 -0
  45. package/dist/math-emotyaF6.js +1 -0
  46. package/dist/{resources-CYOb5Bl6.mjs → resources-DwYxn2Vi.mjs} +1 -1
  47. package/dist/src/contentManager/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts +1 -2
  48. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts +1 -0
  49. package/package.json +2 -2
  50. package/dist/DateFormatter-CYAD4GBN.js +0 -1
  51. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Ceoje52V.js +0 -1
  52. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dh9jzvE0.mjs +0 -1255
  53. package/dist/Overview-UoZHUMUz.js +0 -1
  54. package/dist/TableView-DQW0A1oG.js +0 -4
  55. package/dist/array-CbATeQbk.js +0 -1
  56. package/dist/array-DT5pE8Gm.mjs +0 -108
  57. package/dist/index-A2kp8Isi.js +0 -75
  58. package/dist/index-B5aBwdxY.js +0 -54
  59. package/dist/index-BiT55eU0.js +0 -58
  60. package/dist/index-G7cIlnGN.js +0 -158
  61. package/dist/index-V78huaSJ.mjs +0 -442
  62. package/dist/index-vHmvbEwa.js +0 -35
@@ -1 +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-kpjbVSXg.js"),s=require("./DateFormatter-CYAD4GBN.js"),m=require("lucide-vue-next"),j=require("@oneclick.dev/cms-kit"),H={class:"space-y-6 py-4"},O={key:0},q={class:"space-y-2"},J={class:"flex items-center justify-center w-8 h-8 rounded-full bg-muted"},Y={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"},le={key:0,class:"w-full h-full rounded-full bg-white scale-50"},se={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:b,emit:_}){const x=new s.$12a3c853105e5a70$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),k=L,c=_,i=e.ref(!1),v=e.ref("add"),g=e.ref(!1),a=e.ref({start:s.$ad063034c8620db8$export$d0bdf45af03a6ea3(s.$ad063034c8620db8$export$aa8b41735afcabd2()),end:s.$ad063034c8620db8$export$d0bdf45af03a6ea3(s.$ad063034c8620db8$export$aa8b41735afcabd2())}),o=e.reactive({id:"",startDate:"",endDate:"",isClosed:!1,timeslots:[],resourceIds:null}),p=e.computed({get:()=>o.resourceIds===null,set:n=>{n?o.resourceIds=null:o.resourceIds=[]}}),T=n=>{if(o.resourceIds===null)o.resourceIds=[n];else{const t=o.resourceIds.indexOf(n);t===-1?o.resourceIds.push(n):o.resourceIds.splice(t,1)}},$=e.computed(()=>!(!a.value.start||o.resourceIds!==null&&o.resourceIds.length===0)),S=n=>{v.value=n?"edit":"add",n?(o.id=n.id,o.startDate=n.startDate,o.endDate=n.endDate,o.isClosed=n.isClosed,o.timeslots=JSON.parse(JSON.stringify(n.timeslots)),o.resourceIds=n.resourceIds?[...n.resourceIds]:null,a.value={start:s.$58246871e4652552$export$6b862160d295c8e(n.startDate),end:s.$58246871e4652552$export$6b862160d295c8e(n.endDate)}):(o.id="",o.startDate="",o.endDate="",o.isClosed=!1,o.timeslots=[],o.resourceIds=null,a.value={start:s.$ad063034c8620db8$export$d0bdf45af03a6ea3(s.$ad063034c8620db8$export$aa8b41735afcabd2()),end:s.$ad063034c8620db8$export$d0bdf45af03a6ea3(s.$ad063034c8620db8$export$aa8b41735afcabd2())}),i.value=!0},B=()=>{i.value=!1},h=()=>{o.timeslots.push({id:Date.now(),startTime:"",endTime:""})},I=n=>{o.timeslots=o.timeslots.filter(t=>t.id!==n)},N=()=>{if(!a.value.start)return;const n=a.value.start.toString(),t=a.value.end?.toString()||n,r={id:Date.now().toString(),startDate:n,endDate:t,isClosed:o.isClosed,timeslots:o.isClosed?[]:[...o.timeslots],resourceIds:o.resourceIds};c("add-exception",r),i.value=!1},y=()=>{const n=a.value.start.toString(),t=a.value.end?.toString()||n,r={id:o.id,startDate:n,endDate:t,isClosed:o.isClosed,timeslots:o.isClosed?[]:[...o.timeslots],resourceIds:o.resourceIds};c("update-exception",r),i.value=!1},w=()=>{c("remove-exception",o.id),i.value=!1};return b({openDialog:S}),(n,t)=>{const r=e.resolveComponent("DialogTitle"),C=e.resolveComponent("DialogHeader"),V=e.resolveComponent("Label"),f=e.resolveComponent("Button"),z=e.resolveComponent("PopoverTrigger"),A=e.resolveComponent("RangeCalendar"),F=e.resolveComponent("PopoverContent"),R=e.resolveComponent("Popover"),D=e.resolveComponent("Input"),U=e.resolveComponent("Card"),d=e.resolveComponent("DialogFooter"),u=e.resolveComponent("DialogScrollContent"),P=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(P,{open:i.value,"onUpdate:open":t[6]||(t[6]=l=>i.value=l)},{default:e.withCtx(()=>[e.createVNode(u,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(r,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(V,{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(R,{open:g.value,"onUpdate:open":t[1]||(t[1]=l=>g.value=l)},{default:e.withCtx(()=>[e.createVNode(z,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(f,{variant:"outline",class:"w-full justify-start text-left font-normal"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Calendar),{class:"mr-2 h-4 w-4"}),a.value.start?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a.value.end&&a.value.start.toString()!==a.value.end.toString()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(x).format(a.value.start.toDate(e.unref(s.$ad063034c8620db8$export$aa8b41735afcabd2)())))+" - "+e.toDisplayString(e.unref(x).format(a.value.end.toDate(e.unref(s.$ad063034c8620db8$export$aa8b41735afcabd2)()))),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(e.unref(x).format(a.value.start.toDate(e.unref(s.$ad063034c8620db8$export$aa8b41735afcabd2)()))),1)],64))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" Pick a date ")],64))]),_:1})]),_:1}),e.createVNode(F,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(A,{modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=l=>a.value=l),"initial-focus":"","number-of-months":2,"min-value":e.unref(s.$ad063034c8620db8$export$d0bdf45af03a6ea3)(e.unref(s.$ad063034c8620db8$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(V,{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",p.value?"bg-accent border-primary":""]),onClick:t[2]||(t[2]=l=>p.value=!0)},[e.createElementVNode("div",J,[e.createVNode(e.unref(m.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",p.value?"border-primary bg-primary":"border-muted-foreground"])},[p.value?(e.openBlock(),e.createElementBlock("div",Y)):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",p.value?"":"bg-accent border-primary"]),onClick:t[3]||(t[3]=l=>p.value=!1)},[e.createElementVNode("div",K,[e.createVNode(e.unref(m.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",p.value?"border-muted-foreground":"border-primary bg-primary"])},[p.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",G))],2)],2),p.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:E=>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(V,{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(m.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",le)):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",se,[e.createVNode(e.unref(m.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(V,{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(D,{class:"w-32",modelValue:l.startTime,"onUpdate:modelValue":E=>l.startTime=E,type:"time"},null,8,["modelValue","onUpdate:modelValue"]),t[16]||(t[16]=e.createElementVNode("span",{class:"text-muted-foreground"},"to",-1)),e.createVNode(D,{class:"w-32",modelValue:l.endTime,"onUpdate:modelValue":E=>l.endTime=E,type:"time"},null,8,["modelValue","onUpdate:modelValue"]),e.createVNode(f,{variant:"ghost",size:"icon",onClick:E=>I(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]))),128))])),e.createVNode(f,{onClick:h,variant:"outline",size:"sm",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-4 mr-1"}),t[17]||(t[17]=e.createTextVNode(" Add Time Slot ",-1))]),_:1})]),_:1})]))]),e.createVNode(d,{class:"gap-2"},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[v.value==="edit"?(e.openBlock(),e.createBlock(f,{key:0,variant:"destructive",onClick:w},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Remove Exception ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ue,[e.createVNode(f,{variant:"outline",onClick:B},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),v.value==="add"?(e.openBlock(),e.createBlock(f,{key:0,onClick:N,disabled:!$.value},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Add Exception ",-1)])]),_:1},8,["disabled"])):(e.openBlock(),e.createBlock(f,{key:1,onClick:y,disabled:!$.value},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode(" Update Exception ",-1)])]),_:1},8,["disabled"]))])])]),_:1})]),_:1})]),_:1},8,["open"])}}}),pe={class:"max-w-4xl space-y-6"},fe={key:0,class:"flex"},ve={key:1},xe={class:"space-y-3"},Ce={class:"flex items-start justify-between"},ke={class:"flex-1"},ge={class:"flex items-center gap-2 mb-1"},Ve={class:"font-medium"},be={key:0,class:"flex items-center gap-1.5 ml-6 mb-2"},Ne=["title"],ye={class:"text-sm text-muted-foreground ml-6"},Ee={key:0,class:"text-amber-600"},_e={key:1,class:"space-y-1"},$e={class:"flex flex-wrap gap-2"},Be={class:"flex gap-1"},he={key:4,class:"flex justify-end pt-4 border-t"},we=e.defineComponent({__name:"exceptions",setup(L){const b=new s.$12a3c853105e5a70$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),{params:_}=j.useModuleRoute(),{config:x}=j.useModule(),k=j.useFirebaseIntegration(x.project),c=e.ref([]),i=e.ref([]),v=e.ref(!1),g=e.ref(!0),a=e.ref(),o=n=>!n.resourceIds||n.resourceIds.length===0?null:i.value.filter(t=>n.resourceIds?.includes(t.id)),p=async()=>{try{g.value=!0;const n=await k.get(x.agendaCollection,_.value.id);c.value=n.exceptions||[],i.value=(n.resources||[]).filter(t=>t.isActive)}catch(n){console.error("Error loading exceptions:",n)}finally{g.value=!1}},T=(n,t)=>{const r=s.$58246871e4652552$export$6b862160d295c8e(n),C=s.$58246871e4652552$export$6b862160d295c8e(t);return n===t?b.format(r.toDate(s.$ad063034c8620db8$export$aa8b41735afcabd2())):`${b.format(r.toDate(s.$ad063034c8620db8$export$aa8b41735afcabd2()))} - ${b.format(C.toDate(s.$ad063034c8620db8$export$aa8b41735afcabd2()))}`},$=n=>{c.value.push(n),N()},S=n=>{const t=c.value.findIndex(r=>r.id===n.id);t!==-1&&(c.value[t]=n),N()},B=n=>{c.value=c.value.filter(t=>t.id!==n),N()},h=()=>{a.value?.openDialog()},I=n=>{a.value?.openDialog(n)},N=async()=>{v.value=!0,await k.update(x.agendaCollection,_.value.id,{exceptions:c.value}),v.value=!1},y=e.computed(()=>[...c.value].sort((n,t)=>n.startDate.localeCompare(t.startDate))),w=n=>{const t=s.$58246871e4652552$export$6b862160d295c8e(n),r=s.$ad063034c8620db8$export$d0bdf45af03a6ea3(s.$ad063034c8620db8$export$aa8b41735afcabd2());return t.compare(r)<0};return p(),(n,t)=>{const r=e.resolveComponent("Button"),C=e.resolveComponent("Badge"),V=e.resolveComponent("Card"),f=e.resolveComponent("Spinner"),z=e.resolveComponent("EmptyMedia"),A=e.resolveComponent("EmptyTitle"),F=e.resolveComponent("EmptyDescription"),R=e.resolveComponent("EmptyHeader"),D=e.resolveComponent("EmptyContent"),U=e.resolveComponent("Empty");return e.openBlock(),e.createBlock(M._sfc_main,null,{default:e.withCtx(()=>[t[10]||(t[10]=e.createElementVNode("h1",{class:"text-lg font-medium mb-2"},"Exception Management",-1)),t[11]||(t[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",pe,[y.value.length>0?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(r,{onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-4 mr-1"}),t[0]||(t[0]=e.createTextVNode(" Add Exception ",-1))]),_:1})])):e.createCommentVNode("",!0),y.value.length>0?(e.openBlock(),e.createElementBlock("div",ve,[t[5]||(t[5]=e.createElementVNode("h2",{class:"text-base font-medium mb-3"},"Active Exceptions",-1)),e.createElementVNode("div",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,d=>(e.openBlock(),e.createBlock(V,{key:d.id,class:e.normalizeClass(["p-4",w(d.endDate)?"opacity-60":""])},{default:e.withCtx(()=>[e.createElementVNode("div",Ce,[e.createElementVNode("div",ke,[e.createElementVNode("div",ge,[d.isClosed?(e.openBlock(),e.createBlock(e.unref(m.BanIcon),{key:0,class:"h-4 w-4 text-destructive"})):(e.openBlock(),e.createBlock(e.unref(m.Calendar),{key:1,class:"h-4 w-4 text-primary"})),e.createElementVNode("h3",Ve,e.toDisplayString(T(d.startDate,d.endDate)),1),w(d.endDate)?(e.openBlock(),e.createBlock(C,{key:2,variant:"secondary",class:"text-xs"},{default:e.withCtx(()=>[...t[1]||(t[1]=[e.createTextVNode(" Past ",-1)])]),_:1})):e.createCommentVNode("",!0)]),i.value.length>0?(e.openBlock(),e.createElementBlock("div",be,[o(d)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(o(d),u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:"size-5 rounded-full flex items-center justify-center text-white text-[10px] font-medium",style:e.normalizeStyle({backgroundColor:u.color||"#6b7280"}),title:u.name},e.toDisplayString(u.avatarLabel||u.name.charAt(0).toUpperCase()),13,Ne))),128)):(e.openBlock(),e.createBlock(C,{key:1,variant:"outline",class:"text-xs"},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" All Resources ",-1)])]),_:1}))])):e.createCommentVNode("",!0),e.createElementVNode("div",ye,[d.isClosed?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" Closed - No appointments available ")],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.timeslots.length===0?(e.openBlock(),e.createElementBlock("div",Ee," ⚠️ No time slots defined ")):(e.openBlock(),e.createElementBlock("div",_e,[t[3]||(t[3]=e.createElementVNode("div",{class:"font-medium text-foreground"},"Custom Hours:",-1)),e.createElementVNode("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.timeslots,(u,P)=>(e.openBlock(),e.createBlock(C,{key:P,variant:"outline",class:"font-mono text-xs"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.startTime)+" - "+e.toDisplayString(u.endTime),1)]),_:2},1024))),128))])]))],64))])]),e.createElementVNode("div",Be,[e.createVNode(r,{variant:"ghost",onClick:u=>I(d)},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Edit ",-1)])]),_:1},8,["onClick"]),e.createVNode(r,{variant:"ghost",size:"icon",onClick:u=>B(d.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Trash2),{class:"size-4 text-destructive"})]),_:1},8,["onClick"])])])]),_:2},1032,["class"]))),128))])])):g.value?(e.openBlock(),e.createBlock(f,{key:2,class:"my-8 size-8"})):(e.openBlock(),e.createBlock(U,{key:3,class:"border border-dashed"},{default:e.withCtx(()=>[e.createVNode(R,null,{default:e.withCtx(()=>[e.createVNode(z,{variant:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.CalendarPlus))]),_:1}),e.createVNode(A,null,{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("No Exceptions Created",-1)])]),_:1}),e.createVNode(F,null,{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(' Your agenda runs smoothly without any exceptions. Click "Add Exception" to create one. ',-1)])]),_:1})]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(r,{variant:"outline",size:"sm",onClick:h},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Add Exception ",-1)])]),_:1})]),_:1})]),_:1})),v.value?(e.openBlock(),e.createElementBlock("div",he,[...t[9]||(t[9]=[e.createElementVNode("span",null,"Saving...",-1)])])):e.createCommentVNode("",!0)]),e.createVNode(me,{ref_key:"exceptionDialogRef",ref:a,resources:i.value,onAddException:$,onUpdateException:S,onRemoveException:B},null,8,["resources"])]),_:1})}}});exports.default=we;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),M=require("./EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js"),a=require("./DateFormatter-CSAbE3BC.js"),m=require("lucide-vue-next"),j=require("@oneclick.dev/cms-kit"),H={class:"space-y-6 py-4"},O={key:0},q={class:"space-y-2"},J={class:"flex items-center justify-center w-8 h-8 rounded-full bg-muted"},Y={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"},le={key:0,class:"w-full h-full rounded-full bg-white scale-50"},ae={class:"flex items-center justify-center w-10 h-10 rounded-full bg-primary/10"},se={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:N,emit:_}){const x=new a.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),k=L,c=_,i=e.ref(!1),v=e.ref("add"),g=e.ref(!1),s=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}),p=e.computed({get:()=>o.resourceIds===null,set:n=>{n?o.resourceIds=null:o.resourceIds=[]}}),T=n=>{if(o.resourceIds===null)o.resourceIds=[n];else{const t=o.resourceIds.indexOf(n);t===-1?o.resourceIds.push(n):o.resourceIds.splice(t,1)}},$=e.computed(()=>!(!s.value.start||o.resourceIds!==null&&o.resourceIds.length===0)),S=n=>{v.value=n?"edit":"add",n?(o.id=n.id,o.startDate=n.startDate,o.endDate=n.endDate,o.isClosed=n.isClosed,o.timeslots=JSON.parse(JSON.stringify(n.timeslots)),o.resourceIds=n.resourceIds?[...n.resourceIds]:null,s.value={start:a.$fae977aafc393c5c$export$6b862160d295c8e(n.startDate),end:a.$fae977aafc393c5c$export$6b862160d295c8e(n.endDate)}):(o.id="",o.startDate="",o.endDate="",o.isClosed=!1,o.timeslots=[],o.resourceIds=null,s.value={start:a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),end:a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())}),i.value=!0},B=()=>{i.value=!1},h=()=>{o.timeslots.push({id:Date.now(),startTime:"",endTime:""})},I=n=>{o.timeslots=o.timeslots.filter(t=>t.id!==n)},y=()=>{if(!s.value.start)return;const n=s.value.start.toString(),t=s.value.end?.toString()||n,r={id:Date.now().toString(),startDate:n,endDate:t,isClosed:o.isClosed,timeslots:o.isClosed?[]:[...o.timeslots],resourceIds:o.resourceIds};c("add-exception",r),i.value=!1},E=()=>{const n=s.value.start.toString(),t=s.value.end?.toString()||n,r={id:o.id,startDate:n,endDate:t,isClosed:o.isClosed,timeslots:o.isClosed?[]:[...o.timeslots],resourceIds:o.resourceIds};c("update-exception",r),i.value=!1},w=()=>{c("remove-exception",o.id),i.value=!1};return N({openDialog:S}),(n,t)=>{const r=e.resolveComponent("DialogTitle"),C=e.resolveComponent("DialogHeader"),V=e.resolveComponent("Label"),f=e.resolveComponent("Button"),z=e.resolveComponent("PopoverTrigger"),A=e.resolveComponent("RangeCalendar"),F=e.resolveComponent("PopoverContent"),R=e.resolveComponent("Popover"),D=e.resolveComponent("Input"),U=e.resolveComponent("Card"),d=e.resolveComponent("DialogFooter"),u=e.resolveComponent("DialogScrollContent"),P=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(P,{open:i.value,"onUpdate:open":t[6]||(t[6]=l=>i.value=l)},{default:e.withCtx(()=>[e.createVNode(u,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(r,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(V,{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(R,{open:g.value,"onUpdate:open":t[1]||(t[1]=l=>g.value=l)},{default:e.withCtx(()=>[e.createVNode(z,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(f,{variant:"outline",class:"w-full justify-start text-left font-normal"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Calendar),{class:"mr-2 h-4 w-4"}),s.value.start?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.value.end&&s.value.start.toString()!==s.value.end.toString()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(x).format(s.value.start.toDate(e.unref(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())))+" - "+e.toDisplayString(e.unref(x).format(s.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(x).format(s.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(F,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(A,{modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=l=>s.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(V,{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",p.value?"bg-accent border-primary":""]),onClick:t[2]||(t[2]=l=>p.value=!0)},[e.createElementVNode("div",J,[e.createVNode(e.unref(m.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",p.value?"border-primary bg-primary":"border-muted-foreground"])},[p.value?(e.openBlock(),e.createElementBlock("div",Y)):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",p.value?"":"bg-accent border-primary"]),onClick:t[3]||(t[3]=l=>p.value=!1)},[e.createElementVNode("div",K,[e.createVNode(e.unref(m.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",p.value?"border-muted-foreground":"border-primary bg-primary"])},[p.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",G))],2)],2),p.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(V,{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(m.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",le)):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",ae,[e.createVNode(e.unref(m.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",se))],2)],2)])]),o.isClosed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(V,{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(D,{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(D,{class:"w-32",modelValue:l.endTime,"onUpdate:modelValue":b=>l.endTime=b,type:"time"},null,8,["modelValue","onUpdate:modelValue"]),e.createVNode(f,{variant:"ghost",size:"icon",onClick:b=>I(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]))),128))])),e.createVNode(f,{onClick:h,variant:"outline",size:"sm",class:"w-full"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-4 mr-1"}),t[17]||(t[17]=e.createTextVNode(" Add Time Slot ",-1))]),_:1})]),_:1})]))]),e.createVNode(d,{class:"gap-2"},{default:e.withCtx(()=>[e.createElementVNode("div",ie,[v.value==="edit"?(e.openBlock(),e.createBlock(f,{key:0,variant:"destructive",onClick:w},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Remove Exception ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ue,[e.createVNode(f,{variant:"outline",onClick:B},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),v.value==="add"?(e.openBlock(),e.createBlock(f,{key:0,onClick:y,disabled:!$.value},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Add Exception ",-1)])]),_:1},8,["disabled"])):(e.openBlock(),e.createBlock(f,{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={class:"max-w-4xl space-y-6"},fe={key:0,class:"flex"},ve={key:1},xe={class:"space-y-3"},Ce={class:"flex items-start justify-between"},ke={class:"flex-1"},ge={class:"flex items-center gap-2 mb-1"},Ve={class:"font-medium"},Ne={key:0,class:"flex items-center gap-1.5 ml-6 mb-2"},ye=["title"],Ee={class:"text-sm text-muted-foreground ml-6"},be={key:0,class:"text-amber-600"},_e={key:1,class:"space-y-1"},$e={class:"flex flex-wrap gap-2"},Be={class:"flex gap-1"},he={key:4,class:"flex justify-end pt-4 border-t"},we=e.defineComponent({__name:"exceptions",setup(L){const N=new a.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"medium"}),{params:_}=j.useModuleRoute(),{config:x}=j.useModule(),k=j.useFirebaseIntegration(x.project),c=e.ref([]),i=e.ref([]),v=e.ref(!1),g=e.ref(!0),s=e.ref(),o=n=>!n.resourceIds||n.resourceIds.length===0?null:i.value.filter(t=>n.resourceIds?.includes(t.id)),p=async()=>{try{g.value=!0;const n=await k.get(x.agendaCollection,_.value.id);c.value=n.exceptions||[],i.value=(n.resources||[]).filter(t=>t.isActive)}catch(n){console.error("Error loading exceptions:",n)}finally{g.value=!1}},T=(n,t)=>{const r=a.$fae977aafc393c5c$export$6b862160d295c8e(n),C=a.$fae977aafc393c5c$export$6b862160d295c8e(t);return n===t?N.format(r.toDate(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2())):`${N.format(r.toDate(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))} - ${N.format(C.toDate(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()))}`},$=n=>{c.value.push(n),y()},S=n=>{const t=c.value.findIndex(r=>r.id===n.id);t!==-1&&(c.value[t]=n),y()},B=n=>{c.value=c.value.filter(t=>t.id!==n),y()},h=()=>{s.value?.openDialog()},I=n=>{s.value?.openDialog(n)},y=async()=>{v.value=!0,await k.update(x.agendaCollection,_.value.id,{exceptions:c.value}),v.value=!1},E=e.computed(()=>[...c.value].sort((n,t)=>n.startDate.localeCompare(t.startDate))),w=n=>{const t=a.$fae977aafc393c5c$export$6b862160d295c8e(n),r=a.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(a.$14e0f24ef4ac5c92$export$aa8b41735afcabd2());return t.compare(r)<0};return p(),(n,t)=>{const r=e.resolveComponent("Button"),C=e.resolveComponent("Badge"),V=e.resolveComponent("Card"),f=e.resolveComponent("Spinner"),z=e.resolveComponent("EmptyMedia"),A=e.resolveComponent("EmptyTitle"),F=e.resolveComponent("EmptyDescription"),R=e.resolveComponent("EmptyHeader"),D=e.resolveComponent("EmptyContent"),U=e.resolveComponent("Empty");return e.openBlock(),e.createBlock(M._sfc_main,null,{default:e.withCtx(()=>[t[10]||(t[10]=e.createElementVNode("h1",{class:"text-lg font-medium mb-2"},"Exception Management",-1)),t[11]||(t[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",pe,[E.value.length>0?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(r,{onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-4 mr-1"}),t[0]||(t[0]=e.createTextVNode(" Add Exception ",-1))]),_:1})])):e.createCommentVNode("",!0),E.value.length>0?(e.openBlock(),e.createElementBlock("div",ve,[t[5]||(t[5]=e.createElementVNode("h2",{class:"text-base font-medium mb-3"},"Active Exceptions",-1)),e.createElementVNode("div",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,d=>(e.openBlock(),e.createBlock(V,{key:d.id,class:e.normalizeClass(["p-4",w(d.endDate)?"opacity-60":""])},{default:e.withCtx(()=>[e.createElementVNode("div",Ce,[e.createElementVNode("div",ke,[e.createElementVNode("div",ge,[d.isClosed?(e.openBlock(),e.createBlock(e.unref(m.BanIcon),{key:0,class:"h-4 w-4 text-destructive"})):(e.openBlock(),e.createBlock(e.unref(m.Calendar),{key:1,class:"h-4 w-4 text-primary"})),e.createElementVNode("h3",Ve,e.toDisplayString(T(d.startDate,d.endDate)),1),w(d.endDate)?(e.openBlock(),e.createBlock(C,{key:2,variant:"secondary",class:"text-xs"},{default:e.withCtx(()=>[...t[1]||(t[1]=[e.createTextVNode(" Past ",-1)])]),_:1})):e.createCommentVNode("",!0)]),i.value.length>0?(e.openBlock(),e.createElementBlock("div",Ne,[o(d)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(o(d),u=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:"size-5 rounded-full flex items-center justify-center text-white text-[10px] font-medium",style:e.normalizeStyle({backgroundColor:u.color||"#6b7280"}),title:u.name},e.toDisplayString(u.avatarLabel||u.name.charAt(0).toUpperCase()),13,ye))),128)):(e.openBlock(),e.createBlock(C,{key:1,variant:"outline",class:"text-xs"},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" All Resources ",-1)])]),_:1}))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ee,[d.isClosed?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" Closed - No appointments available ")],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.timeslots.length===0?(e.openBlock(),e.createElementBlock("div",be," ⚠️ No time slots defined ")):(e.openBlock(),e.createElementBlock("div",_e,[t[3]||(t[3]=e.createElementVNode("div",{class:"font-medium text-foreground"},"Custom Hours:",-1)),e.createElementVNode("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.timeslots,(u,P)=>(e.openBlock(),e.createBlock(C,{key:P,variant:"outline",class:"font-mono text-xs"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.startTime)+" - "+e.toDisplayString(u.endTime),1)]),_:2},1024))),128))])]))],64))])]),e.createElementVNode("div",Be,[e.createVNode(r,{variant:"ghost",onClick:u=>I(d)},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Edit ",-1)])]),_:1},8,["onClick"]),e.createVNode(r,{variant:"ghost",size:"icon",onClick:u=>B(d.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Trash2),{class:"size-4 text-destructive"})]),_:1},8,["onClick"])])])]),_:2},1032,["class"]))),128))])])):g.value?(e.openBlock(),e.createBlock(f,{key:2,class:"my-8 size-8"})):(e.openBlock(),e.createBlock(U,{key:3,class:"border border-dashed"},{default:e.withCtx(()=>[e.createVNode(R,null,{default:e.withCtx(()=>[e.createVNode(z,{variant:"icon"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.CalendarPlus))]),_:1}),e.createVNode(A,null,{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("No Exceptions Created",-1)])]),_:1}),e.createVNode(F,null,{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(' Your agenda runs smoothly without any exceptions. Click "Add Exception" to create one. ',-1)])]),_:1})]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(r,{variant:"outline",size:"sm",onClick:h},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Add Exception ",-1)])]),_:1})]),_:1})]),_:1})),v.value?(e.openBlock(),e.createElementBlock("div",he,[...t[9]||(t[9]=[e.createElementVNode("span",null,"Saving...",-1)])])):e.createCommentVNode("",!0)]),e.createVNode(me,{ref_key:"exceptionDialogRef",ref:s,resources:i.value,onAddException:$,onUpdateException:S,onRemoveException:B},null,8,["resources"])]),_:1})}}});exports.default=we;
@@ -1,6 +1,6 @@
1
- import { defineComponent as ne, ref as E, reactive as ce, computed as te, resolveComponent as i, openBlock as l, createBlock as g, withCtx as r, createVNode as n, createTextVNode as u, toDisplayString as h, createElementVNode as o, unref as m, createElementBlock as a, Fragment as D, normalizeClass as k, createCommentVNode as v, renderList as B, normalizeStyle as re } from "vue";
1
+ import { defineComponent as ne, ref as E, reactive as ce, computed as te, resolveComponent as i, openBlock as l, createBlock as g, withCtx as a, createVNode as n, createTextVNode as u, toDisplayString as h, createElementVNode as o, unref as m, createElementBlock as r, Fragment as D, normalizeClass as k, createCommentVNode as v, renderList as B, normalizeStyle as ae } from "vue";
2
2
  import { _ as me } from "./EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs";
3
- import { $ as ae, e as U, d as b, c as N } from "./DateFormatter-DUxlo8X8.mjs";
3
+ import { e as re, a as U, $ as b, d as N } from "./DateFormatter-qbhRYxI_.mjs";
4
4
  import { Calendar as se, Users as le, BanIcon as de, Trash2 as ie, Plus as ue, CalendarPlus as pe } from "lucide-vue-next";
5
5
  import { useModuleRoute as fe, useModule as ve, useFirebaseIntegration as ge } from "@oneclick.dev/cms-kit";
6
6
  const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-2" }, be = { class: "flex items-center justify-center w-8 h-8 rounded-full bg-muted" }, Ce = {
@@ -40,7 +40,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
40
40
  },
41
41
  emits: ["add-exception", "update-exception", "remove-exception"],
42
42
  setup(oe, { expose: V, emit: F }) {
43
- const I = new ae("en-US", {
43
+ const I = new re("en-US", {
44
44
  dateStyle: "medium"
45
45
  }), T = oe, x = F, y = E(!1), $ = E("add"), A = E(!1), c = E({
46
46
  start: U(b()),
@@ -115,13 +115,13 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
115
115
  open: y.value,
116
116
  "onUpdate:open": e[6] || (e[6] = (d) => y.value = d)
117
117
  }, {
118
- default: r(() => [
118
+ default: a(() => [
119
119
  n(_, { class: "sm:max-w-2xl" }, {
120
- default: r(() => [
120
+ default: a(() => [
121
121
  n(S, null, {
122
- default: r(() => [
122
+ default: a(() => [
123
123
  n(p, null, {
124
- default: r(() => [
124
+ default: a(() => [
125
125
  u(h($.value === "add" ? "Add Exception" : "Edit Exception"), 1)
126
126
  ]),
127
127
  _: 1
@@ -132,7 +132,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
132
132
  o("div", xe, [
133
133
  o("div", null, [
134
134
  n(R, { class: "text-sm font-normal mb-1.5" }, {
135
- default: r(() => [...e[7] || (e[7] = [
135
+ default: a(() => [...e[7] || (e[7] = [
136
136
  u("Select Date or Date Range", -1)
137
137
  ])]),
138
138
  _: 1
@@ -141,22 +141,22 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
141
141
  open: A.value,
142
142
  "onUpdate:open": e[1] || (e[1] = (d) => A.value = d)
143
143
  }, {
144
- default: r(() => [
144
+ default: a(() => [
145
145
  n(K, { "as-child": "" }, {
146
- default: r(() => [
146
+ default: a(() => [
147
147
  n(w, {
148
148
  variant: "outline",
149
149
  class: "w-full justify-start text-left font-normal"
150
150
  }, {
151
- default: r(() => [
151
+ default: a(() => [
152
152
  n(m(se), { class: "mr-2 h-4 w-4" }),
153
- c.value.start ? (l(), a(D, { key: 0 }, [
154
- c.value.end && c.value.start.toString() !== c.value.end.toString() ? (l(), a(D, { key: 0 }, [
153
+ c.value.start ? (l(), r(D, { key: 0 }, [
154
+ c.value.end && c.value.start.toString() !== c.value.end.toString() ? (l(), r(D, { key: 0 }, [
155
155
  u(h(m(I).format(c.value.start.toDate(m(b)()))) + " - " + h(m(I).format(c.value.end.toDate(m(b)()))), 1)
156
- ], 64)) : (l(), a(D, { key: 1 }, [
156
+ ], 64)) : (l(), r(D, { key: 1 }, [
157
157
  u(h(m(I).format(c.value.start.toDate(m(b)()))), 1)
158
158
  ], 64))
159
- ], 64)) : (l(), a(D, { key: 1 }, [
159
+ ], 64)) : (l(), r(D, { key: 1 }, [
160
160
  u(" Pick a date ")
161
161
  ], 64))
162
162
  ]),
@@ -166,7 +166,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
166
166
  _: 1
167
167
  }),
168
168
  n(W, { class: "w-auto p-0" }, {
169
- default: r(() => [
169
+ default: a(() => [
170
170
  n(Q, {
171
171
  modelValue: c.value,
172
172
  "onUpdate:modelValue": e[0] || (e[0] = (d) => c.value = d),
@@ -181,9 +181,9 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
181
181
  _: 1
182
182
  }, 8, ["open"])
183
183
  ]),
184
- T.resources && T.resources.length > 0 ? (l(), a("div", ye, [
184
+ T.resources && T.resources.length > 0 ? (l(), r("div", ye, [
185
185
  n(R, { class: "text-sm font-normal mb-1.5" }, {
186
- default: r(() => [...e[8] || (e[8] = [
186
+ default: a(() => [...e[8] || (e[8] = [
187
187
  u("Apply To", -1)
188
188
  ])]),
189
189
  _: 1
@@ -203,7 +203,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
203
203
  o("div", {
204
204
  class: k(["w-4 h-4 rounded-full border-2", C.value ? "border-primary bg-primary" : "border-muted-foreground"])
205
205
  }, [
206
- C.value ? (l(), a("div", Ce)) : v("", !0)
206
+ C.value ? (l(), r("div", Ce)) : v("", !0)
207
207
  ], 2)
208
208
  ], 2),
209
209
  o("div", {
@@ -220,11 +220,11 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
220
220
  o("div", {
221
221
  class: k(["w-4 h-4 rounded-full border-2", C.value ? "border-muted-foreground" : "border-primary bg-primary"])
222
222
  }, [
223
- C.value ? v("", !0) : (l(), a("div", De))
223
+ C.value ? v("", !0) : (l(), r("div", De))
224
224
  ], 2)
225
225
  ], 2),
226
- C.value ? v("", !0) : (l(), a("div", he, [
227
- (l(!0), a(D, null, B(T.resources, (d) => (l(), a("div", {
226
+ C.value ? v("", !0) : (l(), r("div", he, [
227
+ (l(!0), r(D, null, B(T.resources, (d) => (l(), r("div", {
228
228
  key: d.id,
229
229
  class: k(["flex items-center gap-2 p-2 rounded-md hover:bg-muted cursor-pointer transition-colors", {
230
230
  "bg-muted": t.resourceIds?.includes(d.id),
@@ -234,7 +234,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
234
234
  }, [
235
235
  o("div", {
236
236
  class: "size-6 rounded-full flex items-center justify-center text-white text-xs font-medium flex-shrink-0",
237
- style: re({ backgroundColor: d.color || "#6b7280" })
237
+ style: ae({ backgroundColor: d.color || "#6b7280" })
238
238
  }, h(d.avatarLabel || d.name.charAt(0).toUpperCase()), 5),
239
239
  o("div", Ee, [
240
240
  o("div", $e, h(d.name), 1)
@@ -242,7 +242,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
242
242
  o("div", {
243
243
  class: k(["size-4 rounded border-2 flex items-center justify-center flex-shrink-0", t.resourceIds?.includes(d.id) ? "border-primary bg-primary" : "border-muted-foreground"])
244
244
  }, [
245
- t.resourceIds?.includes(d.id) ? (l(), a("svg", Ie, [...e[11] || (e[11] = [
245
+ t.resourceIds?.includes(d.id) ? (l(), r("svg", Ie, [...e[11] || (e[11] = [
246
246
  o("path", {
247
247
  "stroke-linecap": "round",
248
248
  "stroke-linejoin": "round",
@@ -252,13 +252,13 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
252
252
  ])])) : v("", !0)
253
253
  ], 2)
254
254
  ], 10, we))), 128)),
255
- t.resourceIds?.length === 0 ? (l(), a("p", Se, " ⚠️ Please select at least one resource ")) : v("", !0)
255
+ t.resourceIds?.length === 0 ? (l(), r("p", Se, " ⚠️ Please select at least one resource ")) : v("", !0)
256
256
  ]))
257
257
  ])
258
258
  ])) : v("", !0),
259
259
  o("div", null, [
260
260
  n(R, { class: "text-sm font-normal mb-1.5" }, {
261
- default: r(() => [...e[12] || (e[12] = [
261
+ default: a(() => [...e[12] || (e[12] = [
262
262
  u("Exception Type", -1)
263
263
  ])]),
264
264
  _: 1
@@ -278,7 +278,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
278
278
  o("div", {
279
279
  class: k(["w-4 h-4 rounded-full border-2", t.isClosed ? "border-primary bg-primary" : "border-muted-foreground"])
280
280
  }, [
281
- t.isClosed ? (l(), a("div", Re)) : v("", !0)
281
+ t.isClosed ? (l(), r("div", Re)) : v("", !0)
282
282
  ], 2)
283
283
  ], 2),
284
284
  o("div", {
@@ -295,22 +295,22 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
295
295
  o("div", {
296
296
  class: k(["w-4 h-4 rounded-full border-2", t.isClosed ? "border-muted-foreground" : "border-primary bg-primary"])
297
297
  }, [
298
- t.isClosed ? v("", !0) : (l(), a("div", Ve))
298
+ t.isClosed ? v("", !0) : (l(), r("div", Ve))
299
299
  ], 2)
300
300
  ], 2)
301
301
  ])
302
302
  ]),
303
- t.isClosed ? v("", !0) : (l(), a("div", ze, [
303
+ t.isClosed ? v("", !0) : (l(), r("div", ze, [
304
304
  n(R, { class: "text-sm font-normal mb-1.5" }, {
305
- default: r(() => [...e[15] || (e[15] = [
305
+ default: a(() => [...e[15] || (e[15] = [
306
306
  u("Time Slots", -1)
307
307
  ])]),
308
308
  _: 1
309
309
  }),
310
310
  n(Z, { class: "p-4" }, {
311
- default: r(() => [
312
- t.timeslots.length === 0 ? (l(), a("div", je, ' No time slots added. Click "Add Time Slot" to create one. ')) : (l(), a("div", Pe, [
313
- (l(!0), a(D, null, B(t.timeslots, (d) => (l(), a("div", {
311
+ default: a(() => [
312
+ t.timeslots.length === 0 ? (l(), r("div", je, ' No time slots added. Click "Add Time Slot" to create one. ')) : (l(), r("div", Pe, [
313
+ (l(!0), r(D, null, B(t.timeslots, (d) => (l(), r("div", {
314
314
  key: d.id,
315
315
  class: "flex items-center gap-2"
316
316
  }, [
@@ -332,7 +332,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
332
332
  size: "icon",
333
333
  onClick: (P) => G(d.id)
334
334
  }, {
335
- default: r(() => [
335
+ default: a(() => [
336
336
  n(m(ie), { class: "size-4" })
337
337
  ]),
338
338
  _: 1
@@ -345,7 +345,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
345
345
  size: "sm",
346
346
  class: "w-full"
347
347
  }, {
348
- default: r(() => [
348
+ default: a(() => [
349
349
  n(m(ue), { class: "size-4 mr-1" }),
350
350
  e[17] || (e[17] = u(" Add Time Slot ", -1))
351
351
  ]),
@@ -357,14 +357,14 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
357
357
  ]))
358
358
  ]),
359
359
  n(f, { class: "gap-2" }, {
360
- default: r(() => [
360
+ default: a(() => [
361
361
  o("div", Be, [
362
362
  $.value === "edit" ? (l(), g(w, {
363
363
  key: 0,
364
364
  variant: "destructive",
365
365
  onClick: O
366
366
  }, {
367
- default: r(() => [...e[18] || (e[18] = [
367
+ default: a(() => [...e[18] || (e[18] = [
368
368
  u(" Remove Exception ", -1)
369
369
  ])]),
370
370
  _: 1
@@ -374,7 +374,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
374
374
  variant: "outline",
375
375
  onClick: H
376
376
  }, {
377
- default: r(() => [...e[19] || (e[19] = [
377
+ default: a(() => [...e[19] || (e[19] = [
378
378
  u(" Cancel ", -1)
379
379
  ])]),
380
380
  _: 1
@@ -384,7 +384,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
384
384
  onClick: z,
385
385
  disabled: !L.value
386
386
  }, {
387
- default: r(() => [...e[20] || (e[20] = [
387
+ default: a(() => [...e[20] || (e[20] = [
388
388
  u(" Add Exception ", -1)
389
389
  ])]),
390
390
  _: 1
@@ -393,7 +393,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
393
393
  onClick: j,
394
394
  disabled: !L.value
395
395
  }, {
396
- default: r(() => [...e[21] || (e[21] = [
396
+ default: a(() => [...e[21] || (e[21] = [
397
397
  u(" Update Exception ", -1)
398
398
  ])]),
399
399
  _: 1
@@ -429,7 +429,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
429
429
  }, dt = /* @__PURE__ */ ne({
430
430
  __name: "exceptions",
431
431
  setup(oe) {
432
- const V = new ae("en-US", {
432
+ const V = new re("en-US", {
433
433
  dateStyle: "medium"
434
434
  }), { params: F } = fe(), { config: I } = ve(), T = ge(I.project), x = E([]), y = E([]), $ = E(!1), A = E(!0), c = E(), t = (s) => !s.resourceIds || s.resourceIds.length === 0 ? null : y.value.filter((e) => s.resourceIds?.includes(e.id)), C = async () => {
435
435
  try {
@@ -466,27 +466,27 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
466
466
  return C(), (s, e) => {
467
467
  const p = i("Button"), S = i("Badge"), R = i("Card"), w = i("Spinner"), K = i("EmptyMedia"), Q = i("EmptyTitle"), W = i("EmptyDescription"), X = i("EmptyHeader"), J = i("EmptyContent"), Z = i("Empty");
468
468
  return l(), g(me, null, {
469
- default: r(() => [
469
+ default: a(() => [
470
470
  e[10] || (e[10] = o("h1", { class: "text-lg font-medium mb-2" }, "Exception Management", -1)),
471
471
  e[11] || (e[11] = o("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)),
472
472
  o("div", Le, [
473
- j.value.length > 0 ? (l(), a("div", He, [
473
+ j.value.length > 0 ? (l(), r("div", He, [
474
474
  n(p, { onClick: M }, {
475
- default: r(() => [
475
+ default: a(() => [
476
476
  n(m(ue), { class: "size-4 mr-1" }),
477
477
  e[0] || (e[0] = u(" Add Exception ", -1))
478
478
  ]),
479
479
  _: 1
480
480
  })
481
481
  ])) : v("", !0),
482
- j.value.length > 0 ? (l(), a("div", Me, [
482
+ j.value.length > 0 ? (l(), r("div", Me, [
483
483
  e[5] || (e[5] = o("h2", { class: "text-base font-medium mb-3" }, "Active Exceptions", -1)),
484
484
  o("div", Oe, [
485
- (l(!0), a(D, null, B(j.value, (f) => (l(), g(R, {
485
+ (l(!0), r(D, null, B(j.value, (f) => (l(), g(R, {
486
486
  key: f.id,
487
487
  class: k(["p-4", O(f.endDate) ? "opacity-60" : ""])
488
488
  }, {
489
- default: r(() => [
489
+ default: a(() => [
490
490
  o("div", Je, [
491
491
  o("div", Ye, [
492
492
  o("div", qe, [
@@ -503,42 +503,42 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
503
503
  variant: "secondary",
504
504
  class: "text-xs"
505
505
  }, {
506
- default: r(() => [...e[1] || (e[1] = [
506
+ default: a(() => [...e[1] || (e[1] = [
507
507
  u(" Past ", -1)
508
508
  ])]),
509
509
  _: 1
510
510
  })) : v("", !0)
511
511
  ]),
512
- y.value.length > 0 ? (l(), a("div", Ke, [
513
- t(f) ? (l(!0), a(D, { key: 0 }, B(t(f), (_) => (l(), a("div", {
512
+ y.value.length > 0 ? (l(), r("div", Ke, [
513
+ t(f) ? (l(!0), r(D, { key: 0 }, B(t(f), (_) => (l(), r("div", {
514
514
  key: _.id,
515
515
  class: "size-5 rounded-full flex items-center justify-center text-white text-[10px] font-medium",
516
- style: re({ backgroundColor: _.color || "#6b7280" }),
516
+ style: ae({ backgroundColor: _.color || "#6b7280" }),
517
517
  title: _.name
518
518
  }, h(_.avatarLabel || _.name.charAt(0).toUpperCase()), 13, Qe))), 128)) : (l(), g(S, {
519
519
  key: 1,
520
520
  variant: "outline",
521
521
  class: "text-xs"
522
522
  }, {
523
- default: r(() => [...e[2] || (e[2] = [
523
+ default: a(() => [...e[2] || (e[2] = [
524
524
  u(" All Resources ", -1)
525
525
  ])]),
526
526
  _: 1
527
527
  }))
528
528
  ])) : v("", !0),
529
529
  o("div", We, [
530
- f.isClosed ? (l(), a(D, { key: 0 }, [
530
+ f.isClosed ? (l(), r(D, { key: 0 }, [
531
531
  u(" Closed - No appointments available ")
532
- ], 64)) : (l(), a(D, { key: 1 }, [
533
- f.timeslots.length === 0 ? (l(), a("div", Xe, " ⚠️ No time slots defined ")) : (l(), a("div", Ze, [
532
+ ], 64)) : (l(), r(D, { key: 1 }, [
533
+ f.timeslots.length === 0 ? (l(), r("div", Xe, " ⚠️ No time slots defined ")) : (l(), r("div", Ze, [
534
534
  e[3] || (e[3] = o("div", { class: "font-medium text-foreground" }, "Custom Hours:", -1)),
535
535
  o("div", et, [
536
- (l(!0), a(D, null, B(f.timeslots, (_, ee) => (l(), g(S, {
536
+ (l(!0), r(D, null, B(f.timeslots, (_, ee) => (l(), g(S, {
537
537
  key: ee,
538
538
  variant: "outline",
539
539
  class: "font-mono text-xs"
540
540
  }, {
541
- default: r(() => [
541
+ default: a(() => [
542
542
  u(h(_.startTime) + " - " + h(_.endTime), 1)
543
543
  ]),
544
544
  _: 2
@@ -553,7 +553,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
553
553
  variant: "ghost",
554
554
  onClick: (_) => G(f)
555
555
  }, {
556
- default: r(() => [...e[4] || (e[4] = [
556
+ default: a(() => [...e[4] || (e[4] = [
557
557
  u(" Edit ", -1)
558
558
  ])]),
559
559
  _: 1
@@ -563,7 +563,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
563
563
  size: "icon",
564
564
  onClick: (_) => H(f.id)
565
565
  }, {
566
- default: r(() => [
566
+ default: a(() => [
567
567
  n(m(ie), { class: "size-4 text-destructive" })
568
568
  ]),
569
569
  _: 1
@@ -581,23 +581,23 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
581
581
  key: 3,
582
582
  class: "border border-dashed"
583
583
  }, {
584
- default: r(() => [
584
+ default: a(() => [
585
585
  n(X, null, {
586
- default: r(() => [
586
+ default: a(() => [
587
587
  n(K, { variant: "icon" }, {
588
- default: r(() => [
588
+ default: a(() => [
589
589
  n(m(pe))
590
590
  ]),
591
591
  _: 1
592
592
  }),
593
593
  n(Q, null, {
594
- default: r(() => [...e[6] || (e[6] = [
594
+ default: a(() => [...e[6] || (e[6] = [
595
595
  u("No Exceptions Created", -1)
596
596
  ])]),
597
597
  _: 1
598
598
  }),
599
599
  n(W, null, {
600
- default: r(() => [...e[7] || (e[7] = [
600
+ default: a(() => [...e[7] || (e[7] = [
601
601
  u(' Your agenda runs smoothly without any exceptions. Click "Add Exception" to create one. ', -1)
602
602
  ])]),
603
603
  _: 1
@@ -606,13 +606,13 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
606
606
  _: 1
607
607
  }),
608
608
  n(J, null, {
609
- default: r(() => [
609
+ default: a(() => [
610
610
  n(p, {
611
611
  variant: "outline",
612
612
  size: "sm",
613
613
  onClick: M
614
614
  }, {
615
- default: r(() => [...e[8] || (e[8] = [
615
+ default: a(() => [...e[8] || (e[8] = [
616
616
  u(" Add Exception ", -1)
617
617
  ])]),
618
618
  _: 1
@@ -623,7 +623,7 @@ const xe = { class: "space-y-6 py-4" }, ye = { key: 0 }, _e = { class: "space-y-
623
623
  ]),
624
624
  _: 1
625
625
  })),
626
- $.value ? (l(), a("div", st, [...e[9] || (e[9] = [
626
+ $.value ? (l(), r("div", st, [...e[9] || (e[9] = [
627
627
  o("span", null, "Saving...", -1)
628
628
  ])])) : v("", !0)
629
629
  ]),