@oneclick.dev/cms-core-modules 0.0.115 → 0.0.117

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 (107) hide show
  1. package/dist/{Acquisition-FV3QpaUX.mjs → Acquisition-X5-eksDw.mjs} +2 -2
  2. package/dist/{Audience-ka0b7YPE.mjs → Audience-CXryJ8tc.mjs} +2 -2
  3. package/dist/{ContentEditor-C5yNNLeV.mjs → ContentEditor-CUe6-NwF.mjs} +17650 -14456
  4. package/dist/{ContentEditor-MctMvN7D.js → ContentEditor-DWoXc0T_.js} +52 -52
  5. package/dist/{Create-BXNLRQag.mjs → Create-BPA2ywrd.mjs} +1 -1
  6. package/dist/{DateFormatter-qbhRYxI_.mjs → DateFormatter-BkKoSf_l.mjs} +5 -5
  7. package/dist/{Detail-BCOcP2ql.mjs → Detail-C1Blq61w.mjs} +1 -1
  8. package/dist/{Detail-ChD5XurA.mjs → Detail-CfsPwl4s.mjs} +17 -17
  9. package/dist/{Detail-DnX7tsqN.mjs → Detail-CtItxMX4.mjs} +1 -1
  10. package/dist/{Detail-Btzwo0Y3.mjs → Detail-Dnpnmy4-.mjs} +1 -1
  11. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-gozJKXvM.js +1 -0
  12. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-pDO9b4Pv.mjs +77 -0
  13. package/dist/{Find-zN_dKz4p.mjs → Find-BAvaNf90.mjs} +1 -1
  14. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-BXTkYCm_.mjs +1476 -0
  15. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-C2zwt5UF.js +1 -0
  16. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-BYSeUW_V.js +925 -0
  17. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-DwAUYR8p.mjs +5021 -0
  18. package/dist/{Overview-BR_y8x3W.mjs → Overview-BWLxUksJ.mjs} +1 -1
  19. package/dist/{Overview-MpgkLB6m.mjs → Overview-Bjvu9Lfc.mjs} +3 -3
  20. package/dist/Overview-CBahJviK.js +1 -0
  21. package/dist/Overview-CVQ1pkuD.mjs +527 -0
  22. package/dist/{SeoHealth-bVQj_Xgm.mjs → SeoHealth-I2mqiuLm.mjs} +3 -3
  23. package/dist/TableView-BQI3CWll.mjs +6234 -0
  24. package/dist/TableView-Cwal0BPW.js +4 -0
  25. package/dist/agenda-B3nj388v.mjs +1253 -0
  26. package/dist/agenda-Bev1mO7E.js +1 -0
  27. package/dist/availability-ClBGVgE9.js +1 -0
  28. package/dist/availability-D8JdA4rP.mjs +274 -0
  29. package/dist/booking-data-Px7XCIfU.mjs +1024 -0
  30. package/dist/booking-data-aMS1p_3g.js +1 -0
  31. package/dist/cms-core-modules.css +1 -1
  32. package/dist/exceptions-DXqc0Nza.js +1 -0
  33. package/dist/exceptions-Dgj54ULn.mjs +651 -0
  34. package/dist/{index-DZV720u-.mjs → index-52nwosIs.mjs} +45 -45
  35. package/dist/{index-CkVwMqpn.mjs → index-Bnn9LahC.mjs} +52 -52
  36. package/dist/{index-B8GvmAwh.mjs → index-DiTIA8Sh.mjs} +27 -27
  37. package/dist/index-Djp4EBb0.mjs +1245 -0
  38. package/dist/index-DliTZzwI.js +35 -0
  39. package/dist/{index-L54VBzwJ.mjs → index-ar4tbR3i.mjs} +8 -8
  40. package/dist/{index-BIF2RB7k.mjs → index-cC_2cw31.mjs} +4 -4
  41. package/dist/{index-CFzn2Lus.mjs → index-hMp4p5qA.mjs} +3 -3
  42. package/dist/index.cjs.js +1 -1
  43. package/dist/index.mjs +26 -25
  44. package/dist/{math-BJ-oX_IM.mjs → math-Bkw6u412.mjs} +11 -11
  45. package/dist/orders-1swJVKw2.js +1 -0
  46. package/dist/orders-D41GbzIa.mjs +624 -0
  47. package/dist/payment-BJHgpaeT.js +1 -0
  48. package/dist/payment-D5j-68Ig.mjs +1278 -0
  49. package/dist/refunds-D9nTeD2d.mjs +436 -0
  50. package/dist/refunds-oVB2Opib.js +1 -0
  51. package/dist/resources-8WouFvJe.js +1 -0
  52. package/dist/resources-CK0oWssj.mjs +975 -0
  53. package/dist/server-handlers.cjs.js +1 -1
  54. package/dist/server-handlers.mjs +626 -515
  55. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +146 -5
  56. package/dist/src/appointments/components/edit/EventDialog/CancelRefundReservationDialog.vue.d.ts +33 -0
  57. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +26 -8
  58. package/dist/src/appointments/components/edit/EventDialog/RefundDetailsDisplay.vue.d.ts +8 -0
  59. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +91 -5
  60. package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +20 -3
  61. package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +5 -0
  62. package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +20 -2
  63. package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +240 -0
  64. package/dist/src/appointments/composables/useAgendaMetadataSchema.d.ts +37 -0
  65. package/dist/src/appointments/pages/edit/orders.vue.d.ts +225 -0
  66. package/dist/src/appointments/pages/edit/refunds.vue.d.ts +2 -0
  67. package/dist/src/appointments/server.d.ts +2 -0
  68. package/dist/src/appointments/types.d.ts +6 -0
  69. package/dist/src/appointments/utils/printReservation.d.ts +65 -3
  70. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/Table.d.ts +36 -0
  71. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/Table.vue.d.ts +95 -0
  72. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableCell.d.ts +13 -0
  73. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableHeader.d.ts +6 -0
  74. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/TableRow.d.ts +6 -0
  75. package/dist/src/contentManager/components/content-editor/tiptap-extensions/table/index.d.ts +4 -0
  76. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TableMenu.vue.d.ts +13 -0
  77. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +14 -0
  78. package/dist/{vee-validate-zod-DNjTLCgh.mjs → vee-validate-zod-CcOwoF6y.mjs} +6 -6
  79. package/package.json +2 -2
  80. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +0 -76
  81. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +0 -1
  82. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +0 -1
  83. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +0 -1263
  84. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +0 -1
  85. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +0 -330
  86. package/dist/Overview-98nkJUWN.mjs +0 -481
  87. package/dist/Overview-Dl8cMlsr.js +0 -1
  88. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +0 -349
  89. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +0 -3077
  90. package/dist/TableView-CVfkyj1k.js +0 -4
  91. package/dist/TableView-zDx0IegJ.mjs +0 -6096
  92. package/dist/agenda-BaJu3-1c.js +0 -1
  93. package/dist/agenda-BwVY_8oM.mjs +0 -1165
  94. package/dist/availability-CMrRa5y2.mjs +0 -269
  95. package/dist/availability-Cf2YfMwM.js +0 -1
  96. package/dist/booking-data-DgJd0BcM.mjs +0 -889
  97. package/dist/booking-data-Di5GmH_8.js +0 -1
  98. package/dist/exceptions-B6P9UiCj.js +0 -1
  99. package/dist/exceptions-De9-FvdP.mjs +0 -646
  100. package/dist/index-DL6orwdK.js +0 -35
  101. package/dist/index-hH3e-IYz.mjs +0 -1187
  102. package/dist/orders-C65SlpJy.mjs +0 -618
  103. package/dist/orders-XVzWAgG1.js +0 -1
  104. package/dist/payment-C3ohkehF.mjs +0 -1080
  105. package/dist/payment-Dfr-Ro-a.js +0 -1
  106. package/dist/resources-CxeFd57z.js +0 -1
  107. package/dist/resources-DwYxn2Vi.mjs +0 -811
@@ -1 +0,0 @@
1
- "use strict";const e=require("vue"),a=require("lucide-vue-next"),g=require("./ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js"),M={key:0,class:"space-y-6 py-4"},T={class:"space-y-3"},P={class:"bg-muted/30 rounded-lg p-4 space-y-3"},$={class:"flex items-center gap-3"},j={class:"h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center"},O={class:"font-medium"},I={class:"grid gap-2 text-sm"},U={key:0,class:"flex items-center gap-2 text-muted-foreground"},F=["href"],A={key:1,class:"flex items-center gap-2 text-muted-foreground"},L=["href"],q={class:"space-y-3"},H={class:"grid grid-cols-2 gap-3"},G={class:"bg-muted/30 rounded-lg p-3"},J={class:"flex items-center gap-2 text-muted-foreground mb-1"},K={class:"font-medium"},Q={class:"bg-muted/30 rounded-lg p-3"},W={class:"flex items-center gap-2 text-muted-foreground mb-1"},X={class:"font-medium"},Y={class:"bg-muted/30 rounded-lg p-3 col-span-2"},Z={class:"flex items-center gap-2 text-muted-foreground mb-1"},ee={class:"font-medium"},te={class:"space-y-3"},oe={class:"space-y-2"},ne=["onClick"],se={class:"flex items-start justify-between gap-3"},ae={class:"min-w-0 flex-1 space-y-2"},le={class:"flex items-center gap-2 flex-wrap"},re={key:0,class:"inline-flex items-center gap-1 text-xs text-muted-foreground"},de={class:"grid gap-1 text-sm"},ce={class:"flex items-center gap-2 text-muted-foreground"},ie={class:"flex items-center gap-2 text-muted-foreground"},ue={class:"flex items-center gap-2 text-muted-foreground"},me={key:0,class:"flex items-center gap-2 text-muted-foreground"},pe={class:"shrink-0 text-right flex items-center gap-2"},ge={class:"text-sm font-semibold"},fe={class:"space-y-3"},ve={class:"bg-muted/30 rounded-lg p-4 space-y-3"},Ne={class:"space-y-2 text-sm"},_e={class:"flex justify-between"},xe={key:0,class:"flex justify-between"},Ve={key:1,class:"grid gap-2"},Ee={class:"text-muted-foreground"},ye={key:2,class:"flex justify-between text-green-600 dark:text-green-400"},ke={class:"flex justify-between font-semibold"},be={class:"space-y-2 text-sm"},he={key:0,class:"flex justify-between"},Ce={class:"text-muted-foreground flex items-center gap-1.5"},De={class:"text-green-600 dark:text-green-400"},Se={key:1,class:"flex justify-between"},we={class:"text-muted-foreground flex items-center gap-1.5"},Be={class:"text-orange-600 dark:text-orange-400 font-medium"},Re=e.defineComponent({__name:"OrderDetailDialog",props:{agendaData:{}},emits:["openReservation"],setup(f,{expose:v,emit:N}){const _=f,x=N,d=e.ref(!1),s=e.ref(null),u=e.computed(()=>_.agendaData?.metadataSchema||[]),V=o=>{!o?.id||!o.reservations?.length||(s.value=o,d.value=!0)},E=e.computed(()=>{const o=s.value?.customerInfo;return o&&[o.firstName,o.lastName].filter(Boolean).join(" ")||"Unknown Customer"}),l=e.computed(()=>{const o=s.value?.reservations?.[0];return{subtotal:o?.subtotal,discount:o?.discount,amountPaid:o?.amountPaid,amountDue:o?.amountDue}}),y=e.computed(()=>s.value?.reservations.reduce((o,t)=>o+(t.reservationPrice||0),0)||0),r=o=>o==null||typeof o!="number"?"-":`€${o.toFixed(2)}`,k=o=>o.type==="percent"?`${o.value}%`:`${o.value<0?"-":"+"}${r(Math.abs(o.value))}`,b=o=>{if(!o)return"-";const t=new Date(o);return Number.isNaN(t.getTime())?o:t.toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric",year:"numeric"})},h=o=>{if(!o)return"-";const t=new Date(o);return Number.isNaN(t.getTime())?o:t.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})},i=o=>{switch(o){case"pending":return{label:"Pending",class:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"};case"cancelled":return{label:"Cancelled",class:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"};case"needs_approval":return{label:"Needs Approval",class:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"};case"rejected":return{label:"Rejected",class:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"};case"approved":return{label:"Approved",class:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"};case"confirmed":return{label:"Confirmed",class:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"};default:return{label:o||"Unknown",class:"bg-muted text-muted-foreground"}}},m=o=>{let t=o.status;const c=o.reservationStatus;return t==="confirmed"&&["needs_approval","rejected","approved","cancelled"].includes(c||"")&&(t=c),i(t)},C=o=>{const t=o.id||s.value?.id;t&&(d.value=!1,x("openReservation",{...o,id:t}))};return v({openDialog:V}),(o,t)=>{const c=e.resolveComponent("ResponsiveModalTitle"),D=e.resolveComponent("ResponsiveModalDescription"),S=e.resolveComponent("ResponsiveModalHeader"),p=e.resolveComponent("Separator"),w=e.resolveComponent("Button"),B=e.resolveComponent("ResponsiveModalFooter"),R=e.resolveComponent("ResponsiveModalScrollContent"),z=e.resolveComponent("ResponsiveModal");return e.openBlock(),e.createBlock(z,{open:d.value,"onUpdate:open":t[1]||(t[1]=n=>d.value=n)},{default:e.withCtx(()=>[e.createVNode(R,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(c,{class:"flex items-center gap-3"},{default:e.withCtx(()=>[t[2]||(t[2]=e.createElementVNode("span",null,"Order Details",-1)),e.createElementVNode("span",{class:e.normalizeClass(["px-2.5 py-1 text-xs font-medium rounded-full",i(s.value?.status).class])},e.toDisplayString(i(s.value?.status).label),3)]),_:1}),e.createVNode(D,null,{default:e.withCtx(()=>[e.createTextVNode(" Order #"+e.toDisplayString(s.value?.id?.slice(0,8)||"-"),1)]),_:1})]),_:1}),s.value?(e.openBlock(),e.createElementBlock("div",M,[e.createVNode(g._sfc_main,{metadata:s.value.metadata,schema:u.value,scope:"order"},null,8,["metadata","schema"]),e.createElementVNode("div",T,[t[3]||(t[3]=e.createElementVNode("h3",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Customer",-1)),e.createElementVNode("div",P,[e.createElementVNode("div",$,[e.createElementVNode("div",j,[e.createVNode(e.unref(a.User),{size:20,class:"text-primary"})]),e.createElementVNode("div",null,[e.createElementVNode("p",O,e.toDisplayString(E.value),1)])]),e.createElementVNode("div",I,[s.value.customerInfo?.email?(e.openBlock(),e.createElementBlock("div",U,[e.createVNode(e.unref(a.Mail),{size:14}),e.createElementVNode("a",{href:`mailto:${s.value.customerInfo.email}`,class:"hover:text-foreground transition-colors"},e.toDisplayString(s.value.customerInfo.email),9,F)])):e.createCommentVNode("",!0),s.value.customerInfo?.phone?(e.openBlock(),e.createElementBlock("div",A,[e.createVNode(e.unref(a.Phone),{size:14}),e.createElementVNode("a",{href:`tel:${s.value.customerInfo.phone}`,class:"hover:text-foreground transition-colors"},e.toDisplayString(s.value.customerInfo.phone),9,L)])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",q,[t[7]||(t[7]=e.createElementVNode("h3",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Order Summary",-1)),e.createElementVNode("div",H,[e.createElementVNode("div",G,[e.createElementVNode("div",J,[e.createVNode(e.unref(a.ShoppingBag),{size:14}),t[4]||(t[4]=e.createElementVNode("span",{class:"text-xs"},"Reservations",-1))]),e.createElementVNode("p",K,e.toDisplayString(s.value.reservations.length),1)]),e.createElementVNode("div",Q,[e.createElementVNode("div",W,[e.createVNode(e.unref(a.Users),{size:14}),t[5]||(t[5]=e.createElementVNode("span",{class:"text-xs"},"Spots",-1))]),e.createElementVNode("p",X,e.toDisplayString(s.value.totalSpots),1)]),e.createElementVNode("div",Y,[e.createElementVNode("div",Z,[e.createVNode(e.unref(a.Clock),{size:14}),t[6]||(t[6]=e.createElementVNode("span",{class:"text-xs"},"Ordered at",-1))]),e.createElementVNode("p",ee,e.toDisplayString(h(s.value.createdAt)),1)])])]),e.createElementVNode("div",te,[t[8]||(t[8]=e.createElementVNode("h3",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Reservations",-1)),e.createElementVNode("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value.reservations,n=>(e.openBlock(),e.createElementBlock("button",{key:n.res_id||n.id,type:"button",class:"w-full text-left bg-muted/30 rounded-lg p-4 transition-colors hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",onClick:ze=>C(n)},[e.createElementVNode("div",se,[e.createElementVNode("div",ae,[e.createElementVNode("div",le,[e.createElementVNode("span",{class:e.normalizeClass(["px-2 py-1 text-xs font-medium rounded-full",m(n).class])},e.toDisplayString(m(n).label),3),n.resourceName?(e.openBlock(),e.createElementBlock("span",re,[e.createElementVNode("span",{class:"w-3 h-3 rounded-full",style:e.normalizeStyle({backgroundColor:n.resourceColor||"#6b7280"})},null,4),e.createTextVNode(" "+e.toDisplayString(n.resourceName),1)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",de,[e.createElementVNode("div",ce,[e.createVNode(e.unref(a.Calendar),{size:14}),e.createElementVNode("span",null,e.toDisplayString(b(n.date)),1)]),e.createElementVNode("div",ie,[e.createVNode(e.unref(a.Clock),{size:14}),e.createElementVNode("span",null,e.toDisplayString(n.startTime||"-")+" - "+e.toDisplayString(n.endTime||"-"),1)]),e.createElementVNode("div",ue,[e.createVNode(e.unref(a.Users),{size:14}),e.createElementVNode("span",null,e.toDisplayString(n.spots||1)+" "+e.toDisplayString(n.spots===1?"person":"people"),1)]),n.pricingOption?(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(e.unref(a.Tag),{size:14}),e.createElementVNode("span",null,e.toDisplayString(n.pricingOption.name),1)])):e.createCommentVNode("",!0)]),e.createVNode(g._sfc_main,{metadata:n.reservationMetadata,schema:u.value,"display-filter":["highlight","badge"],compact:""},null,8,["metadata","schema"])]),e.createElementVNode("div",pe,[e.createElementVNode("div",null,[e.createElementVNode("p",ge,e.toDisplayString(r(n.reservationPrice)),1)]),e.createVNode(e.unref(a.ChevronRight),{size:16,class:"text-muted-foreground"})])])],8,ne))),128))])]),e.createElementVNode("div",fe,[t[15]||(t[15]=e.createElementVNode("h3",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wide"},"Payment",-1)),e.createElementVNode("div",ve,[e.createElementVNode("div",Ne,[e.createElementVNode("div",_e,[t[9]||(t[9]=e.createElementVNode("span",{class:"text-muted-foreground"},"Reservations",-1)),e.createElementVNode("span",null,e.toDisplayString(r(y.value)),1)]),l.value.subtotal!==void 0&&l.value.subtotal!==s.value.totalPrice?(e.openBlock(),e.createElementBlock("div",xe,[t[10]||(t[10]=e.createElementVNode("span",{class:"text-muted-foreground"},"Subtotal",-1)),e.createElementVNode("span",null,e.toDisplayString(r(l.value.subtotal)),1)])):e.createCommentVNode("",!0),s.value.adjustments&&s.value.adjustments.length?(e.openBlock(),e.createElementBlock("div",Ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value.adjustments,n=>(e.openBlock(),e.createElementBlock("div",{key:`${n.label}-${n.type}-${n.value}`,class:"flex justify-between"},[e.createElementVNode("span",Ee,e.toDisplayString(n.label),1),e.createElementVNode("span",null,e.toDisplayString(k(n)),1)]))),128))])):e.createCommentVNode("",!0),l.value.discount?(e.openBlock(),e.createElementBlock("div",ye,[t[11]||(t[11]=e.createElementVNode("span",null,"Discount",-1)),e.createElementVNode("span",null,"-"+e.toDisplayString(r(l.value.discount)),1)])):e.createCommentVNode("",!0)]),e.createVNode(p),e.createElementVNode("div",ke,[t[12]||(t[12]=e.createElementVNode("span",null,"Order Total",-1)),e.createElementVNode("span",null,e.toDisplayString(r(s.value.totalPrice)),1)]),l.value.amountPaid!==void 0||l.value.amountDue!==void 0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(p),e.createElementVNode("div",be,[l.value.amountPaid!==void 0?(e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("span",Ce,[e.createVNode(e.unref(a.CreditCard),{size:14}),t[13]||(t[13]=e.createTextVNode(" Amount paid ",-1))]),e.createElementVNode("span",De,e.toDisplayString(r(l.value.amountPaid)),1)])):e.createCommentVNode("",!0),l.value.amountDue!==void 0&&l.value.amountDue>0?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("span",we,[e.createVNode(e.unref(a.Receipt),{size:14}),t[14]||(t[14]=e.createTextVNode(" Amount due ",-1))]),e.createElementVNode("span",Be,e.toDisplayString(r(l.value.amountDue)),1)])):e.createCommentVNode("",!0)])],64)):e.createCommentVNode("",!0)])])])):e.createCommentVNode("",!0),e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(w,{variant:"outline",onClick:t[0]||(t[0]=n=>d.value=!1)},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode("Close",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});exports._sfc_main=Re;
@@ -1,330 +0,0 @@
1
- import { defineComponent as K, ref as C, computed as x, resolveComponent as p, openBlock as r, createBlock as Q, withCtx as f, createVNode as l, createElementVNode as e, normalizeClass as R, toDisplayString as a, createTextVNode as v, createElementBlock as i, unref as d, createCommentVNode as c, Fragment as h, renderList as D, normalizeStyle as W } from "vue";
2
- import { User as X, Mail as Y, Phone as Z, ShoppingBag as ee, Users as S, Clock as N, Calendar as te, Tag as se, ChevronRight as oe, CreditCard as ne, Receipt as ae } from "lucide-vue-next";
3
- import { _ as z } from "./ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs";
4
- const le = {
5
- key: 0,
6
- class: "space-y-6 py-4"
7
- }, re = { class: "space-y-3" }, ie = { class: "bg-muted/30 rounded-lg p-4 space-y-3" }, de = { class: "flex items-center gap-3" }, ue = { class: "h-10 w-10 rounded-full bg-primary/10 flex items-center justify-center" }, ce = { class: "font-medium" }, me = { class: "grid gap-2 text-sm" }, pe = {
8
- key: 0,
9
- class: "flex items-center gap-2 text-muted-foreground"
10
- }, fe = ["href"], ge = {
11
- key: 1,
12
- class: "flex items-center gap-2 text-muted-foreground"
13
- }, ve = ["href"], _e = { class: "space-y-3" }, xe = { class: "grid grid-cols-2 gap-3" }, be = { class: "bg-muted/30 rounded-lg p-3" }, he = { class: "flex items-center gap-2 text-muted-foreground mb-1" }, ye = { class: "font-medium" }, ke = { class: "bg-muted/30 rounded-lg p-3" }, we = { class: "flex items-center gap-2 text-muted-foreground mb-1" }, Ce = { class: "font-medium" }, Re = { class: "bg-muted/30 rounded-lg p-3 col-span-2" }, De = { class: "flex items-center gap-2 text-muted-foreground mb-1" }, Se = { class: "font-medium" }, Ne = { class: "space-y-3" }, ze = { class: "space-y-2" }, Me = ["onClick"], Pe = { class: "flex items-start justify-between gap-3" }, $e = { class: "min-w-0 flex-1 space-y-2" }, Te = { class: "flex items-center gap-2 flex-wrap" }, je = {
14
- key: 0,
15
- class: "inline-flex items-center gap-1 text-xs text-muted-foreground"
16
- }, Oe = { class: "grid gap-1 text-sm" }, Ie = { class: "flex items-center gap-2 text-muted-foreground" }, Ue = { class: "flex items-center gap-2 text-muted-foreground" }, Be = { class: "flex items-center gap-2 text-muted-foreground" }, Ae = {
17
- key: 0,
18
- class: "flex items-center gap-2 text-muted-foreground"
19
- }, Fe = { class: "shrink-0 text-right flex items-center gap-2" }, Ve = { class: "text-sm font-semibold" }, Le = { class: "space-y-3" }, Ee = { class: "bg-muted/30 rounded-lg p-4 space-y-3" }, He = { class: "space-y-2 text-sm" }, qe = { class: "flex justify-between" }, Ge = {
20
- key: 0,
21
- class: "flex justify-between"
22
- }, Je = {
23
- key: 1,
24
- class: "grid gap-2"
25
- }, Ke = { class: "text-muted-foreground" }, Qe = {
26
- key: 2,
27
- class: "flex justify-between text-green-600 dark:text-green-400"
28
- }, We = { class: "flex justify-between font-semibold" }, Xe = { class: "space-y-2 text-sm" }, Ye = {
29
- key: 0,
30
- class: "flex justify-between"
31
- }, Ze = { class: "text-muted-foreground flex items-center gap-1.5" }, et = { class: "text-green-600 dark:text-green-400" }, tt = {
32
- key: 1,
33
- class: "flex justify-between"
34
- }, st = { class: "text-muted-foreground flex items-center gap-1.5" }, ot = { class: "text-orange-600 dark:text-orange-400 font-medium" }, it = /* @__PURE__ */ K({
35
- __name: "OrderDetailDialog",
36
- props: {
37
- agendaData: {}
38
- },
39
- emits: ["openReservation"],
40
- setup(M, { expose: P, emit: $ }) {
41
- const T = M, j = $, g = C(!1), n = C(null), y = x(() => T.agendaData?.metadataSchema || []), O = (s) => {
42
- !s?.id || !s.reservations?.length || (n.value = s, g.value = !0);
43
- }, I = x(() => {
44
- const s = n.value?.customerInfo;
45
- return s && [s.firstName, s.lastName].filter(Boolean).join(" ") || "Unknown Customer";
46
- }), u = x(() => {
47
- const s = n.value?.reservations?.[0];
48
- return {
49
- subtotal: s?.subtotal,
50
- discount: s?.discount,
51
- amountPaid: s?.amountPaid,
52
- amountDue: s?.amountDue
53
- };
54
- }), U = x(() => n.value?.reservations.reduce((s, t) => s + (t.reservationPrice || 0), 0) || 0), m = (s) => s == null || typeof s != "number" ? "-" : `€${s.toFixed(2)}`, B = (s) => s.type === "percent" ? `${s.value}%` : `${s.value < 0 ? "-" : "+"}${m(Math.abs(s.value))}`, A = (s) => {
55
- if (!s) return "-";
56
- const t = new Date(s);
57
- return Number.isNaN(t.getTime()) ? s : t.toLocaleDateString("en-US", {
58
- weekday: "short",
59
- month: "short",
60
- day: "numeric",
61
- year: "numeric"
62
- });
63
- }, F = (s) => {
64
- if (!s) return "-";
65
- const t = new Date(s);
66
- return Number.isNaN(t.getTime()) ? s : t.toLocaleTimeString("en-US", {
67
- hour: "2-digit",
68
- minute: "2-digit",
69
- hour12: !1
70
- });
71
- }, b = (s) => {
72
- switch (s) {
73
- case "pending":
74
- return { label: "Pending", class: "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400" };
75
- case "cancelled":
76
- return { label: "Cancelled", class: "bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400" };
77
- case "needs_approval":
78
- return { label: "Needs Approval", class: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400" };
79
- case "rejected":
80
- return { label: "Rejected", class: "bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400" };
81
- case "approved":
82
- return { label: "Approved", class: "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400" };
83
- case "confirmed":
84
- return { label: "Confirmed", class: "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400" };
85
- default:
86
- return { label: s || "Unknown", class: "bg-muted text-muted-foreground" };
87
- }
88
- }, k = (s) => {
89
- let t = s.status;
90
- const _ = s.reservationStatus;
91
- return t === "confirmed" && ["needs_approval", "rejected", "approved", "cancelled"].includes(_ || "") && (t = _), b(t);
92
- }, V = (s) => {
93
- const t = s.id || n.value?.id;
94
- t && (g.value = !1, j("openReservation", { ...s, id: t }));
95
- };
96
- return P({
97
- openDialog: O
98
- }), (s, t) => {
99
- const _ = p("ResponsiveModalTitle"), L = p("ResponsiveModalDescription"), E = p("ResponsiveModalHeader"), w = p("Separator"), H = p("Button"), q = p("ResponsiveModalFooter"), G = p("ResponsiveModalScrollContent"), J = p("ResponsiveModal");
100
- return r(), Q(J, {
101
- open: g.value,
102
- "onUpdate:open": t[1] || (t[1] = (o) => g.value = o)
103
- }, {
104
- default: f(() => [
105
- l(G, { class: "sm:max-w-2xl" }, {
106
- default: f(() => [
107
- l(E, null, {
108
- default: f(() => [
109
- l(_, { class: "flex items-center gap-3" }, {
110
- default: f(() => [
111
- t[2] || (t[2] = e("span", null, "Order Details", -1)),
112
- e("span", {
113
- class: R(["px-2.5 py-1 text-xs font-medium rounded-full", b(n.value?.status).class])
114
- }, a(b(n.value?.status).label), 3)
115
- ]),
116
- _: 1
117
- }),
118
- l(L, null, {
119
- default: f(() => [
120
- v(" Order #" + a(n.value?.id?.slice(0, 8) || "-"), 1)
121
- ]),
122
- _: 1
123
- })
124
- ]),
125
- _: 1
126
- }),
127
- n.value ? (r(), i("div", le, [
128
- l(z, {
129
- metadata: n.value.metadata,
130
- schema: y.value,
131
- scope: "order"
132
- }, null, 8, ["metadata", "schema"]),
133
- e("div", re, [
134
- t[3] || (t[3] = e("h3", { class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide" }, "Customer", -1)),
135
- e("div", ie, [
136
- e("div", de, [
137
- e("div", ue, [
138
- l(d(X), {
139
- size: 20,
140
- class: "text-primary"
141
- })
142
- ]),
143
- e("div", null, [
144
- e("p", ce, a(I.value), 1)
145
- ])
146
- ]),
147
- e("div", me, [
148
- n.value.customerInfo?.email ? (r(), i("div", pe, [
149
- l(d(Y), { size: 14 }),
150
- e("a", {
151
- href: `mailto:${n.value.customerInfo.email}`,
152
- class: "hover:text-foreground transition-colors"
153
- }, a(n.value.customerInfo.email), 9, fe)
154
- ])) : c("", !0),
155
- n.value.customerInfo?.phone ? (r(), i("div", ge, [
156
- l(d(Z), { size: 14 }),
157
- e("a", {
158
- href: `tel:${n.value.customerInfo.phone}`,
159
- class: "hover:text-foreground transition-colors"
160
- }, a(n.value.customerInfo.phone), 9, ve)
161
- ])) : c("", !0)
162
- ])
163
- ])
164
- ]),
165
- e("div", _e, [
166
- t[7] || (t[7] = e("h3", { class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide" }, "Order Summary", -1)),
167
- e("div", xe, [
168
- e("div", be, [
169
- e("div", he, [
170
- l(d(ee), { size: 14 }),
171
- t[4] || (t[4] = e("span", { class: "text-xs" }, "Reservations", -1))
172
- ]),
173
- e("p", ye, a(n.value.reservations.length), 1)
174
- ]),
175
- e("div", ke, [
176
- e("div", we, [
177
- l(d(S), { size: 14 }),
178
- t[5] || (t[5] = e("span", { class: "text-xs" }, "Spots", -1))
179
- ]),
180
- e("p", Ce, a(n.value.totalSpots), 1)
181
- ]),
182
- e("div", Re, [
183
- e("div", De, [
184
- l(d(N), { size: 14 }),
185
- t[6] || (t[6] = e("span", { class: "text-xs" }, "Ordered at", -1))
186
- ]),
187
- e("p", Se, a(F(n.value.createdAt)), 1)
188
- ])
189
- ])
190
- ]),
191
- e("div", Ne, [
192
- t[8] || (t[8] = e("h3", { class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide" }, "Reservations", -1)),
193
- e("div", ze, [
194
- (r(!0), i(h, null, D(n.value.reservations, (o) => (r(), i("button", {
195
- key: o.res_id || o.id,
196
- type: "button",
197
- class: "w-full text-left bg-muted/30 rounded-lg p-4 transition-colors hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
198
- onClick: (nt) => V(o)
199
- }, [
200
- e("div", Pe, [
201
- e("div", $e, [
202
- e("div", Te, [
203
- e("span", {
204
- class: R(["px-2 py-1 text-xs font-medium rounded-full", k(o).class])
205
- }, a(k(o).label), 3),
206
- o.resourceName ? (r(), i("span", je, [
207
- e("span", {
208
- class: "w-3 h-3 rounded-full",
209
- style: W({ backgroundColor: o.resourceColor || "#6b7280" })
210
- }, null, 4),
211
- v(" " + a(o.resourceName), 1)
212
- ])) : c("", !0)
213
- ]),
214
- e("div", Oe, [
215
- e("div", Ie, [
216
- l(d(te), { size: 14 }),
217
- e("span", null, a(A(o.date)), 1)
218
- ]),
219
- e("div", Ue, [
220
- l(d(N), { size: 14 }),
221
- e("span", null, a(o.startTime || "-") + " - " + a(o.endTime || "-"), 1)
222
- ]),
223
- e("div", Be, [
224
- l(d(S), { size: 14 }),
225
- e("span", null, a(o.spots || 1) + " " + a(o.spots === 1 ? "person" : "people"), 1)
226
- ]),
227
- o.pricingOption ? (r(), i("div", Ae, [
228
- l(d(se), { size: 14 }),
229
- e("span", null, a(o.pricingOption.name), 1)
230
- ])) : c("", !0)
231
- ]),
232
- l(z, {
233
- metadata: o.reservationMetadata,
234
- schema: y.value,
235
- "display-filter": ["highlight", "badge"],
236
- compact: ""
237
- }, null, 8, ["metadata", "schema"])
238
- ]),
239
- e("div", Fe, [
240
- e("div", null, [
241
- e("p", Ve, a(m(o.reservationPrice)), 1)
242
- ]),
243
- l(d(oe), {
244
- size: 16,
245
- class: "text-muted-foreground"
246
- })
247
- ])
248
- ])
249
- ], 8, Me))), 128))
250
- ])
251
- ]),
252
- e("div", Le, [
253
- t[15] || (t[15] = e("h3", { class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide" }, "Payment", -1)),
254
- e("div", Ee, [
255
- e("div", He, [
256
- e("div", qe, [
257
- t[9] || (t[9] = e("span", { class: "text-muted-foreground" }, "Reservations", -1)),
258
- e("span", null, a(m(U.value)), 1)
259
- ]),
260
- u.value.subtotal !== void 0 && u.value.subtotal !== n.value.totalPrice ? (r(), i("div", Ge, [
261
- t[10] || (t[10] = e("span", { class: "text-muted-foreground" }, "Subtotal", -1)),
262
- e("span", null, a(m(u.value.subtotal)), 1)
263
- ])) : c("", !0),
264
- n.value.adjustments && n.value.adjustments.length ? (r(), i("div", Je, [
265
- (r(!0), i(h, null, D(n.value.adjustments, (o) => (r(), i("div", {
266
- key: `${o.label}-${o.type}-${o.value}`,
267
- class: "flex justify-between"
268
- }, [
269
- e("span", Ke, a(o.label), 1),
270
- e("span", null, a(B(o)), 1)
271
- ]))), 128))
272
- ])) : c("", !0),
273
- u.value.discount ? (r(), i("div", Qe, [
274
- t[11] || (t[11] = e("span", null, "Discount", -1)),
275
- e("span", null, "-" + a(m(u.value.discount)), 1)
276
- ])) : c("", !0)
277
- ]),
278
- l(w),
279
- e("div", We, [
280
- t[12] || (t[12] = e("span", null, "Order Total", -1)),
281
- e("span", null, a(m(n.value.totalPrice)), 1)
282
- ]),
283
- u.value.amountPaid !== void 0 || u.value.amountDue !== void 0 ? (r(), i(h, { key: 0 }, [
284
- l(w),
285
- e("div", Xe, [
286
- u.value.amountPaid !== void 0 ? (r(), i("div", Ye, [
287
- e("span", Ze, [
288
- l(d(ne), { size: 14 }),
289
- t[13] || (t[13] = v(" Amount paid ", -1))
290
- ]),
291
- e("span", et, a(m(u.value.amountPaid)), 1)
292
- ])) : c("", !0),
293
- u.value.amountDue !== void 0 && u.value.amountDue > 0 ? (r(), i("div", tt, [
294
- e("span", st, [
295
- l(d(ae), { size: 14 }),
296
- t[14] || (t[14] = v(" Amount due ", -1))
297
- ]),
298
- e("span", ot, a(m(u.value.amountDue)), 1)
299
- ])) : c("", !0)
300
- ])
301
- ], 64)) : c("", !0)
302
- ])
303
- ])
304
- ])) : c("", !0),
305
- l(q, null, {
306
- default: f(() => [
307
- l(H, {
308
- variant: "outline",
309
- onClick: t[0] || (t[0] = (o) => g.value = !1)
310
- }, {
311
- default: f(() => [...t[16] || (t[16] = [
312
- v("Close", -1)
313
- ])]),
314
- _: 1
315
- })
316
- ]),
317
- _: 1
318
- })
319
- ]),
320
- _: 1
321
- })
322
- ]),
323
- _: 1
324
- }, 8, ["open"]);
325
- };
326
- }
327
- });
328
- export {
329
- it as _
330
- };