@oneclick.dev/cms-core-modules 0.0.109 → 0.0.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Acquisition-DNCy8nQz.mjs +400 -0
- package/dist/Acquisition-Dt2rREU8.js +1 -0
- package/dist/AgendaOpeningHoursCard-B7ROIPWw.js +1 -0
- package/dist/AgendaOpeningHoursCard-Cp4wxUeK.mjs +172 -0
- package/dist/AppointmentDetailsCard-33WpATpV.mjs +161 -0
- package/dist/AppointmentDetailsCard-DpLM5IrB.js +1 -0
- package/dist/AppointmentEditor-BeOtYV6u.mjs +196 -0
- package/dist/AppointmentEditor-CaTfbkIf.js +1 -0
- package/dist/AppointmentListTable-DZJNmTMb.mjs +177 -0
- package/dist/AppointmentListTable-Dieu9US_.js +1 -0
- package/dist/Audience-Bs7b0TNm.js +1 -0
- package/dist/Audience-CUeMVYRy.mjs +489 -0
- package/dist/Components-C83O-xlF.mjs +623 -0
- package/dist/Components-DXbx0RLV.js +1 -0
- package/dist/Content-BHr_rPVY.js +1 -0
- package/dist/Content-CYOZKvWK.mjs +358 -0
- package/dist/ContentEditor-BprPiHMJ.js +462 -0
- package/dist/ContentEditor-D9-1SJ5F.mjs +30700 -0
- package/dist/CountryBreakdownCard-D7BK3nRD.js +1 -0
- package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +196 -0
- package/dist/Create-89z41K73.js +1 -0
- package/dist/Create-BCklc_T1.mjs +1251 -0
- package/dist/DateFormatter-CYAD4GBN.js +1 -0
- package/dist/DateFormatter-DUxlo8X8.mjs +734 -0
- package/dist/Detail-BCOcP2ql.mjs +585 -0
- package/dist/Detail-Btzwo0Y3.mjs +3477 -0
- package/dist/Detail-Byk781b4.mjs +26 -0
- package/dist/Detail-C857g62L.js +1 -0
- package/dist/Detail-C8wQiDcv.js +1 -0
- package/dist/Detail-CNlljBfH.mjs +379 -0
- package/dist/Detail-CPqug27l.js +1 -0
- package/dist/Detail-CjuhjPby.js +1 -0
- package/dist/Detail-DnX7tsqN.mjs +649 -0
- package/dist/Detail-mvSGbnFU.js +1 -0
- package/dist/DeviceBreakdownCard-DRhQ9ufG.js +1 -0
- package/dist/DeviceBreakdownCard-W1frLe0L.mjs +159 -0
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +76 -0
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +1 -0
- package/dist/Entries-BdhUyJR5.mjs +728 -0
- package/dist/Entries-CEXM_SkO.js +1 -0
- package/dist/Find-D4Qa45qC.js +1 -0
- package/dist/Find-DIISO5GO.mjs +229 -0
- package/dist/GlobalStyling-C9VthHWK.mjs +1588 -0
- package/dist/GlobalStyling-CnSlXkZc.js +25 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Ceoje52V.js +1 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dh9jzvE0.mjs +1255 -0
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +1 -0
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +330 -0
- package/dist/Overview-BCpJNiEB.mjs +190 -0
- package/dist/Overview-BDlBCUI_.js +1 -0
- package/dist/Overview-BKAti8nc.mjs +567 -0
- package/dist/Overview-BbvfH1u-.js +1 -0
- package/dist/Overview-Bn1Xx3_j.js +1 -0
- package/dist/Overview-C-Jb_BxY.mjs +860 -0
- package/dist/Overview-CIa1E-HH.mjs +178 -0
- package/dist/Overview-DAxCu9XC.js +1 -0
- package/dist/Overview-DC9io1bk.js +1 -0
- package/dist/Overview-Di84CsR5.mjs +476 -0
- package/dist/Overview-Su8ZUbMs.mjs +26 -0
- package/dist/Overview-T-lsy3UZ.js +1 -0
- package/dist/Overview-UoZHUMUz.js +1 -0
- package/dist/Overview-lWAyyenp.mjs +632 -0
- package/dist/PeakHoursCard-9-EZFZLR.mjs +182 -0
- package/dist/PeakHoursCard-BR5zmta4.js +1 -0
- package/dist/ProductDetailsCard-6nHikw4V.mjs +121 -0
- package/dist/ProductDetailsCard-Bn7qrgmc.js +1 -0
- package/dist/RealtimeCard--APfRNc8.js +1 -0
- package/dist/RealtimeCard-fvQlJcM7.mjs +126 -0
- package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +349 -0
- package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +3077 -0
- package/dist/SearchTermsCard-BsB-63aH.js +1 -0
- package/dist/SearchTermsCard-BzVrHKqQ.mjs +201 -0
- package/dist/SendPush-COns44j7.js +1 -0
- package/dist/SendPush-CPIOjVX4.mjs +184 -0
- package/dist/SeoHealth-MC3lSCOY.mjs +615 -0
- package/dist/SeoHealth-az1YuNF2.js +1 -0
- package/dist/TableView-DQW0A1oG.js +4 -0
- package/dist/TableView-DXHhJ-jm.mjs +6143 -0
- package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +1 -0
- package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +40 -0
- package/dist/TopPagesCard-BDeA997A.js +1 -0
- package/dist/TopPagesCard-CTozhOr_.mjs +159 -0
- package/dist/TrafficSourcesCard-BxtCKsqx.mjs +197 -0
- package/dist/TrafficSourcesCard-C3ziDTUL.js +1 -0
- package/dist/View-CsudjxCE.mjs +30 -0
- package/dist/View-Dw_wA6kK.js +1 -0
- package/dist/VisitorStatsCard-BmByE_Hi.js +1 -0
- package/dist/VisitorStatsCard-CXizEbVK.mjs +174 -0
- package/dist/_plugin-vue_export-helper-BHFhmbuH.js +1 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
- package/dist/agenda-DcatSSYQ.mjs +1165 -0
- package/dist/agenda-IOqtALWf.js +1 -0
- package/dist/array-CbATeQbk.js +1 -0
- package/dist/array-DT5pE8Gm.mjs +108 -0
- package/dist/availability-CMrRa5y2.mjs +269 -0
- package/dist/availability-Cf2YfMwM.js +1 -0
- package/dist/booking-data-DgJd0BcM.mjs +889 -0
- package/dist/booking-data-Di5GmH_8.js +1 -0
- package/dist/cms-core-modules.css +1 -2
- package/dist/countries-BTPvmrsb.mjs +4 -0
- package/dist/countries-CgZ081No.js +1 -0
- package/dist/exceptions-CI0B4xVj.js +1 -0
- package/dist/exceptions-YCQkHa6a.mjs +646 -0
- package/dist/google-CvtuJwgk.mjs +4 -0
- package/dist/google-D4N3gb01.js +1 -0
- package/dist/index-4tjmIans.js +1 -0
- package/dist/index-9HVlmvK3.js +1 -0
- package/dist/index-A2kp8Isi.js +75 -0
- package/dist/index-B5aBwdxY.js +54 -0
- package/dist/index-BFLV54kw.mjs +3843 -0
- package/dist/index-BWDwEd8D.mjs +24 -0
- package/dist/index-BfBBm9uY.mjs +24 -0
- package/dist/index-BhWvXMOp.mjs +176 -0
- package/dist/index-BiT55eU0.js +58 -0
- package/dist/index-Bkq58CeQ.mjs +22 -0
- package/dist/index-BzWmWCo5.mjs +1187 -0
- package/dist/index-CJQQBRLY.js +1 -0
- package/dist/index-CQkOH2_3.mjs +24 -0
- package/dist/index-CSxYBeVA.js +1 -0
- package/dist/index-CU-tbS5W.mjs +24 -0
- package/dist/index-CZn2nDLv.mjs +34 -0
- package/dist/index-CkiNvRzs.js +1 -0
- package/dist/index-Co4ON2Di.js +1 -0
- package/dist/index-Cpnn_Pxd.mjs +24 -0
- package/dist/index-CpzDEMeC.mjs +1443 -0
- package/dist/index-CsVeM3PA.mjs +24 -0
- package/dist/index-CwqrAU-H.js +1 -0
- package/dist/index-CxETuRsG.js +1 -0
- package/dist/index-Cz-baGax.js +1 -0
- package/dist/index-D30apIn-.mjs +110 -0
- package/dist/index-DFQGVHTs.js +1 -0
- package/dist/index-DPd3waTN.js +1 -0
- package/dist/index-DRqJOqUR.mjs +3484 -0
- package/dist/index-DjWuIBxh.js +1 -0
- package/dist/index-Dnn2SCSl.js +1 -0
- package/dist/index-Dpl9sU6a.mjs +12 -0
- package/dist/index-DrXxXB2F.mjs +138 -0
- package/dist/index-G7cIlnGN.js +158 -0
- package/dist/index-R2oUDsjx.js +1 -0
- package/dist/index-RLz1QPrf.mjs +203 -0
- package/dist/index-UtjLbLw-.js +1 -0
- package/dist/index-V78huaSJ.mjs +442 -0
- package/dist/index-cOnxXTbF.mjs +24 -0
- package/dist/index-hlylYYgy.mjs +24 -0
- package/dist/index-ijdf0d9-.js +1 -0
- package/dist/index-vHmvbEwa.js +35 -0
- package/dist/index-wjkEPsNx.mjs +2940 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +806 -1095
- package/dist/interpolation-CHn59tIC.js +1 -0
- package/dist/interpolation-w7IRDJwK.mjs +180 -0
- package/dist/orders-C65SlpJy.mjs +618 -0
- package/dist/orders-XVzWAgG1.js +1 -0
- package/dist/payment-C3ohkehF.mjs +1080 -0
- package/dist/payment-Dfr-Ro-a.js +1 -0
- package/dist/regular-1LXNPviB.js +1 -0
- package/dist/regular-_05oq5Tx.mjs +1101 -0
- package/dist/resources-CYOb5Bl6.mjs +811 -0
- package/dist/resources-CxeFd57z.js +1 -0
- package/dist/server-handlers.cjs.js +1 -1
- package/dist/server-handlers.mjs +996 -1049
- package/dist/src/appointments/chat-components/AgendaOpeningHoursCard.vue.d.ts +15 -0
- package/dist/src/appointments/chat-components/AppointmentDetailsCard.vue.d.ts +14 -0
- package/dist/src/appointments/chat-components/AppointmentEditor.vue.d.ts +14 -0
- package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +14 -0
- package/dist/src/appointments/components/create/StepNavigation.vue.d.ts +32 -0
- package/dist/src/appointments/components/create/regular/Step1.vue.d.ts +2 -0
- package/dist/src/appointments/components/create/regular/Step2.vue.d.ts +2 -0
- package/dist/src/appointments/components/create/regular/Step3.vue.d.ts +2 -0
- package/dist/src/appointments/components/create/regular/Step4.vue.d.ts +2 -0
- package/dist/src/appointments/components/edit/CustomerInformationFieldEditorDialog.vue.d.ts +24 -0
- package/dist/src/appointments/components/edit/EditLayout.vue.d.ts +17 -0
- package/dist/src/appointments/components/edit/Event24hSidebar.vue.d.ts +2 -0
- package/dist/src/appointments/components/edit/EventDialog/ApproveReservationDialog.vue.d.ts +8 -0
- package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +136 -0
- package/dist/src/appointments/components/edit/EventDialog/CancelReservationDialog.vue.d.ts +8 -0
- package/dist/src/appointments/components/edit/EventDialog/EventDialog.vue.d.ts +11 -0
- package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +55 -0
- package/dist/src/appointments/components/edit/EventDialog/RejectReservationDialog.vue.d.ts +8 -0
- package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +87 -0
- package/dist/src/appointments/components/edit/EventDialog/TimelineChart.vue.d.ts +24 -0
- package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +4 -0
- package/dist/src/appointments/components/edit/EventTimeIndicator.vue.d.ts +12 -0
- package/dist/src/appointments/components/edit/EventTimeline.vue.d.ts +48 -0
- package/dist/src/appointments/components/edit/EventView.vue.d.ts +9 -0
- package/dist/src/appointments/components/edit/ExceptionDialog.vue.d.ts +29 -0
- package/dist/src/appointments/components/edit/MetadataSchemaEditorDialog.vue.d.ts +12 -0
- package/dist/src/appointments/components/edit/NewReservationDialog/CustomerInformation.vue.d.ts +10 -0
- package/dist/src/appointments/components/edit/NewReservationDialog/NewReservationDialog.vue.d.ts +26 -0
- package/dist/src/appointments/components/edit/NewReservationDialog/QuickReservationAdder.vue.d.ts +26 -0
- package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +31 -0
- package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +21 -0
- package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +22 -0
- package/dist/src/appointments/components/edit/PaymentAddons/AddonList.vue.d.ts +5 -0
- package/dist/src/appointments/components/edit/PaymentAddons/index.vue.d.ts +15 -0
- package/dist/src/appointments/components/edit/ResourceEditorDialog.vue.d.ts +13 -0
- package/dist/src/appointments/components/edit/dashboard/Timeline.vue.d.ts +36 -0
- package/dist/src/appointments/components/edit/dashboard/timeline/ResourceSelector.vue.d.ts +50 -0
- package/dist/src/appointments/index.d.ts +12 -9
- package/dist/src/appointments/index.vue.d.ts +22 -0
- package/dist/src/appointments/metadata.d.ts +1 -1
- package/dist/src/appointments/pages/Overview.vue.d.ts +4 -0
- package/dist/src/appointments/pages/create/index.vue.d.ts +2 -0
- package/dist/src/appointments/pages/create/regular.vue.d.ts +6 -0
- package/dist/src/appointments/pages/edit/agenda.vue.d.ts +4 -0
- package/dist/src/appointments/pages/edit/availability.vue.d.ts +2 -0
- package/dist/src/appointments/pages/edit/booking-data.vue.d.ts +65 -0
- package/dist/src/appointments/pages/edit/index.vue.d.ts +2 -0
- package/dist/src/appointments/pages/edit/payment.vue.d.ts +2 -0
- package/dist/src/appointments/pages/edit/resources.vue.d.ts +28 -0
- package/dist/src/appointments/routes.d.ts +6 -3
- package/dist/src/contentManager/components/components/ComponentDialog.vue.d.ts +12 -0
- package/dist/src/contentManager/components/components/ComponentGridItem.vue.d.ts +16 -0
- package/dist/src/contentManager/components/content-editor/ApiDocs.vue.d.ts +2 -0
- package/dist/src/contentManager/components/content-editor/ContentLayout.vue.d.ts +49 -0
- package/dist/src/contentManager/components/content-editor/ContentSettings.vue.d.ts +24 -0
- package/dist/src/contentManager/components/content-editor/ContentStructuredContentSections.vue.d.ts +4 -0
- package/dist/src/contentManager/components/content-editor/Header.vue.d.ts +64 -0
- package/dist/src/contentManager/components/content-editor/LivePreviewWrapper.vue.d.ts +53 -0
- package/dist/src/contentManager/components/content-editor/Locales.vue.d.ts +44 -0
- package/dist/src/contentManager/components/content-editor/NewSectionDialog.vue.d.ts +21 -0
- package/dist/src/contentManager/components/content-editor/PageSettings.vue.d.ts +2 -0
- package/dist/src/contentManager/components/content-editor/SEO.vue.d.ts +14 -0
- package/dist/src/contentManager/components/content-editor/SidebarSectionWrapper.vue.d.ts +39 -0
- package/dist/src/contentManager/components/content-editor/Status.vue.d.ts +2 -0
- package/dist/src/contentManager/components/content-editor/Versions.vue.d.ts +63 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Button.vue.d.ts +94 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Card.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Column.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Divider.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +94 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Heading.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Image.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/LockBlocks.d.ts +0 -15
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Map.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.vue.d.ts +115 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.vue.d.ts +115 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +1 -4
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Video.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +92 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +108 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +20 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +104 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +19 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +19 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +29 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +19 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +8 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +47 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +6 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +17 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +13 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +132 -12
- package/dist/src/contentManager/components/overview/CollectionDialog.vue.d.ts +30 -0
- package/dist/src/contentManager/components/overview/CollectionsGridView.vue.d.ts +18 -0
- package/dist/src/contentManager/components/overview/ContentEntryContextMenu.vue.d.ts +27 -0
- package/dist/src/contentManager/components/overview/FilterPopover.vue.d.ts +2 -0
- package/dist/src/contentManager/components/overview/ListView.vue.d.ts +12 -0
- package/dist/src/contentManager/components/styling/ButtonStyleDialog.vue.d.ts +24 -0
- package/dist/src/contentManager/components/styling/CardStyleDialog.vue.d.ts +24 -0
- package/dist/src/contentManager/components/styling/SectionStyleDialog.vue.d.ts +24 -0
- package/dist/src/contentManager/index.d.ts +14 -5
- package/dist/src/contentManager/index.vue.d.ts +22 -0
- package/dist/src/contentManager/metadata.d.ts +1 -1
- package/dist/src/contentManager/pages/Components.vue.d.ts +27 -0
- package/dist/src/contentManager/pages/ContentEditor.vue.d.ts +14 -0
- package/dist/src/contentManager/pages/Entries.vue.d.ts +16 -0
- package/dist/src/contentManager/pages/GlobalStyling.vue.d.ts +117 -0
- package/dist/src/contentManager/pages/Overview.vue.d.ts +57 -0
- package/dist/src/contentManager/routes.d.ts +12 -3
- package/dist/src/custom/index.d.ts +2 -2
- package/dist/src/custom/index.vue.d.ts +2 -0
- package/dist/src/custom/pages/View.vue.d.ts +2 -0
- package/dist/src/custom/routes.d.ts +1 -1
- package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +14 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoClicksChart.vue.d.ts +5 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoImpressionsChart.vue.d.ts +5 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoKeywordsTab.vue.d.ts +5 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoKpiCards.vue.d.ts +10 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoMappingTab.vue.d.ts +5 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoPagesTab.vue.d.ts +5 -0
- package/dist/src/googleAnalytics/components/seo-health/SeoRankingDistribution.vue.d.ts +5 -0
- package/dist/src/googleAnalytics/index.d.ts +10 -10
- package/dist/src/googleAnalytics/index.vue.d.ts +2 -0
- package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +2 -0
- package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +2 -0
- package/dist/src/googleAnalytics/pages/Content.vue.d.ts +2 -0
- package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +2 -0
- package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +2 -0
- package/dist/src/googleAnalytics/routes.d.ts +1 -1
- package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +2 -0
- package/dist/src/mailTemplates/index.d.ts +3 -3
- package/dist/src/mailTemplates/index.vue.d.ts +22 -0
- package/dist/src/mailTemplates/metadata.d.ts +1 -1
- package/dist/src/mailTemplates/pages/Detail.vue.d.ts +14 -0
- package/dist/src/mailTemplates/pages/Overview.vue.d.ts +14 -0
- package/dist/src/mailTemplates/routes.d.ts +1 -1
- package/dist/src/productCollections/components/detail/Main.vue.d.ts +2 -0
- package/dist/src/productCollections/components/detail/SEO.vue.d.ts +2 -0
- package/dist/src/productCollections/components/detail/Status.vue.d.ts +2 -0
- package/dist/src/productCollections/components/overview/ListView.vue.d.ts +12 -0
- package/dist/src/productCollections/index.d.ts +3 -3
- package/dist/src/productCollections/index.vue.d.ts +22 -0
- package/dist/src/productCollections/metadata.d.ts +1 -1
- package/dist/src/productCollections/pages/Detail.vue.d.ts +14 -0
- package/dist/src/productCollections/pages/Overview.vue.d.ts +16 -0
- package/dist/src/productCollections/routes.d.ts +1 -1
- package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +14 -0
- package/dist/src/products/components/detail/Collections.vue.d.ts +14 -0
- package/dist/src/products/components/detail/Inventory.vue.d.ts +2 -0
- package/dist/src/products/components/detail/Main.vue.d.ts +2 -0
- package/dist/src/products/components/detail/NewSection.vue.d.ts +2 -0
- package/dist/src/products/components/detail/Price.vue.d.ts +2 -0
- package/dist/src/products/components/detail/SEO.vue.d.ts +2 -0
- package/dist/src/products/components/detail/Shipping.vue.d.ts +2 -0
- package/dist/src/products/components/detail/Status.vue.d.ts +2 -0
- package/dist/src/products/components/detail/price/UnitPriceDialog.vue.d.ts +17 -0
- package/dist/src/products/components/detail/variants/Option.vue.d.ts +33 -0
- package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +38 -0
- package/dist/src/products/components/overview/FilterPopover.vue.d.ts +2 -0
- package/dist/src/products/components/overview/GridView.vue.d.ts +12 -0
- package/dist/src/products/components/overview/ListView.vue.d.ts +12 -0
- package/dist/src/products/components/overview/ProductContextMenu.vue.d.ts +27 -0
- package/dist/src/products/index.d.ts +4 -4
- package/dist/src/products/index.vue.d.ts +22 -0
- package/dist/src/products/metadata.d.ts +1 -1
- package/dist/src/products/pages/Detail.vue.d.ts +14 -0
- package/dist/src/products/pages/Overview.vue.d.ts +16 -0
- package/dist/src/products/routes.d.ts +1 -1
- package/dist/src/promoCodes/components/create/DateRange.vue.d.ts +2 -0
- package/dist/src/promoCodes/components/create/MultiCodes.vue.d.ts +2 -0
- package/dist/src/promoCodes/components/create/Note.vue.d.ts +2 -0
- package/dist/src/promoCodes/components/create/SingleCode.vue.d.ts +2 -0
- package/dist/src/promoCodes/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +6 -0
- package/dist/src/promoCodes/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +18 -0
- package/dist/src/promoCodes/components/create/TypeAndValue/index.vue.d.ts +2 -0
- package/dist/src/promoCodes/index.d.ts +3 -3
- package/dist/src/promoCodes/index.vue.d.ts +22 -0
- package/dist/src/promoCodes/metadata.d.ts +1 -1
- package/dist/src/promoCodes/pages/Create.vue.d.ts +16 -0
- package/dist/src/promoCodes/pages/Detail.vue.d.ts +14 -0
- package/dist/src/promoCodes/pages/Find.vue.d.ts +16 -0
- package/dist/src/promoCodes/routes.d.ts +1 -1
- package/dist/src/push-notifications/components/PreviewAndroid.vue.d.ts +28 -0
- package/dist/src/push-notifications/components/PreviewIPhone.vue.d.ts +28 -0
- package/dist/src/push-notifications/components/PushPreview.vue.d.ts +28 -0
- package/dist/src/push-notifications/index.d.ts +3 -3
- package/dist/src/push-notifications/index.vue.d.ts +22 -0
- package/dist/src/push-notifications/metadata.d.ts +1 -1
- package/dist/src/push-notifications/pages/SendPush.vue.d.ts +14 -0
- package/dist/src/push-notifications/routes.d.ts +1 -1
- package/dist/src/shared/BrandLogo.vue.d.ts +12 -0
- package/dist/src/shared/DrawerToggle.vue.d.ts +60 -0
- package/dist/src/shared/VerticalToggle.vue.d.ts +60 -0
- package/dist/src/shippingOptions/components/detail/Condition.vue.d.ts +2 -0
- package/dist/src/shippingOptions/components/detail/Countries.vue.d.ts +2 -0
- package/dist/src/shippingOptions/components/detail/Example.vue.d.ts +2 -0
- package/dist/src/shippingOptions/components/detail/Main.vue.d.ts +2 -0
- package/dist/src/shippingOptions/components/overview/ListView.vue.d.ts +12 -0
- package/dist/src/shippingOptions/index.d.ts +3 -3
- package/dist/src/shippingOptions/index.vue.d.ts +22 -0
- package/dist/src/shippingOptions/metadata.d.ts +1 -1
- package/dist/src/shippingOptions/pages/Detail.vue.d.ts +14 -0
- package/dist/src/shippingOptions/pages/Overview.vue.d.ts +16 -0
- package/dist/src/shippingOptions/routes.d.ts +1 -1
- package/dist/src/table/components/DataTable.vue.d.ts +18 -0
- package/dist/src/table/components/DataTableAction.vue.d.ts +14 -0
- package/dist/src/table/components/DataTableMobileRowActionDrawer.vue.d.ts +4 -0
- package/dist/src/table/components/DataTablePagination.vue.d.ts +6 -0
- package/dist/src/table/components/actions/ActionDialog.vue.d.ts +19 -0
- package/dist/src/table/components/actions/CtaActionDialog.vue.d.ts +4 -0
- package/dist/src/table/components/columns/ColumnDropdown.vue.d.ts +2 -0
- package/dist/src/table/components/columns/ColumnEditorDialog.vue.d.ts +34 -0
- package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +12 -0
- package/dist/src/table/components/date-range-filter/DateRangeFilter.vue.d.ts +2 -0
- package/dist/src/table/components/date-range-filter/DateRangeSettingsDialog.vue.d.ts +27 -0
- package/dist/src/table/components/filters/FilterDialog.vue.d.ts +12 -0
- package/dist/src/table/components/filters/Filters.vue.d.ts +27 -0
- package/dist/src/table/components/search/Search.vue.d.ts +2 -0
- package/dist/src/table/components/sort/SortMode.vue.d.ts +2 -0
- package/dist/src/table/components/sort/SortModeSettingsDialog.vue.d.ts +18 -0
- package/dist/src/table/components/stats/StatDialog.vue.d.ts +12 -0
- package/dist/src/table/components/stats/Stats.vue.d.ts +27 -0
- package/dist/src/table/flow-builder-extensions/TableRowEditor.vue.d.ts +16 -0
- package/dist/src/table/flow-builder-extensions/row-item.d.ts +17 -3
- package/dist/src/table/index.d.ts +2 -2
- package/dist/src/table/index.vue.d.ts +22 -0
- package/dist/src/table/pages/TableView.vue.d.ts +54 -0
- package/dist/src/table/routes.d.ts +1 -1
- package/dist/src/types/index.d.ts +0 -6
- package/dist/utils-CanmrIWO.mjs +47 -0
- package/dist/utils-Yd6F5mea.js +3 -0
- package/dist/vee-validate-zod-ByykgYKJ.js +1 -0
- package/dist/vee-validate-zod-DNjTLCgh.mjs +4402 -0
- package/package.json +56 -55
- package/dist/Acquisition-DypEyPSO.js +0 -1
- package/dist/Acquisition-TCNX-th6.mjs +0 -308
- package/dist/AgendaOpeningHoursCard-BIhm0vpV.js +0 -1
- package/dist/AgendaOpeningHoursCard-BKUdJxRI.mjs +0 -133
- package/dist/AppointmentDetailsCard-C5rQ5jsW.js +0 -1
- package/dist/AppointmentDetailsCard-NRHeNP2L.mjs +0 -111
- package/dist/AppointmentEditor-BcF8CiD-.mjs +0 -150
- package/dist/AppointmentEditor-BlhFtoCm.js +0 -1
- package/dist/AppointmentListTable-B-ReBVtV.js +0 -1
- package/dist/AppointmentListTable-DHmy-iid.mjs +0 -129
- package/dist/Audience-CfWHjjg8.mjs +0 -394
- package/dist/Audience-Cj4TyauW.js +0 -1
- package/dist/Components-BehelN4r.js +0 -1
- package/dist/Components-CR6zukUU.mjs +0 -468
- package/dist/Content-C5Iye3t0.mjs +0 -257
- package/dist/Content-eOfBx52Y.js +0 -1
- package/dist/ContentEditor-BgL4qEeg.mjs +0 -26835
- package/dist/ContentEditor-Tlu3w0Hu.js +0 -462
- package/dist/CountryBreakdownCard-CWVyB8be.mjs +0 -151
- package/dist/CountryBreakdownCard-Db-pMiNe.js +0 -1
- package/dist/Create-B1it8S4m.js +0 -1
- package/dist/Create-DbYi0FAI.mjs +0 -907
- package/dist/DateFormatter-DLrDYkby.mjs +0 -630
- package/dist/DateFormatter-Dni0Oq8r.js +0 -1
- package/dist/Detail-D-eahJGO.mjs +0 -21
- package/dist/Detail-D0kdPPIm.mjs +0 -2757
- package/dist/Detail-DAafePYi.mjs +0 -485
- package/dist/Detail-DYpv4fYg.js +0 -1
- package/dist/Detail-Dc_ui4LM.js +0 -1
- package/dist/Detail-DccUekl_.js +0 -1
- package/dist/Detail-Dhz0V0Vf.js +0 -1
- package/dist/Detail-DjnGY0F8.mjs +0 -282
- package/dist/Detail-DplAitHg.mjs +0 -447
- package/dist/Detail-SugyeSxb.js +0 -1
- package/dist/DeviceBreakdownCard-CzxZT6To.js +0 -1
- package/dist/DeviceBreakdownCard-eEwPjzKl.mjs +0 -115
- package/dist/EditLayout-Bnz9q_jd.js +0 -1
- package/dist/EditLayout-J_DGXb8v.mjs +0 -99
- package/dist/Entries-CgpWg6fE.js +0 -1
- package/dist/Entries-CkGTXcAq.mjs +0 -575
- package/dist/Find-Bz0TNJzk.mjs +0 -164
- package/dist/Find-D-ItTXaZ.js +0 -1
- package/dist/GlobalStyling-CSQPF7o_.mjs +0 -1162
- package/dist/GlobalStyling-DabldMZh.js +0 -15
- package/dist/NewReservationDialog-BhIiY2B9.js +0 -1
- package/dist/NewReservationDialog-CN49aGcM.mjs +0 -1002
- package/dist/OrderDetailDialog-BJ01DZFe.js +0 -1
- package/dist/OrderDetailDialog-CoVQ_rzs.mjs +0 -215
- package/dist/Overview-9FMgn5hT.mjs +0 -492
- package/dist/Overview-BOOwMQ-c.mjs +0 -636
- package/dist/Overview-Biz3h60w.js +0 -1
- package/dist/Overview-C2K2ofdS.js +0 -1
- package/dist/Overview-CFHOXP9N.mjs +0 -123
- package/dist/Overview-CTJe7J5_.js +0 -1
- package/dist/Overview-Cvj2i9eW.js +0 -1
- package/dist/Overview-D2I1F8Dm.mjs +0 -21
- package/dist/Overview-DFOc9emt.mjs +0 -345
- package/dist/Overview-Dmhfb94Y.js +0 -1
- package/dist/Overview-PPzv7weG.mjs +0 -450
- package/dist/Overview-qFKcXHVF.js +0 -1
- package/dist/Overview-xkmYYTae.mjs +0 -133
- package/dist/Overview-yPsLvR2c.js +0 -1
- package/dist/PeakHoursCard-CtgEP-ez.mjs +0 -157
- package/dist/PeakHoursCard-DPeoMyhu.js +0 -1
- package/dist/ProductDetailsCard-B0WhmzO-.mjs +0 -98
- package/dist/ProductDetailsCard-C1ROuH6l.js +0 -1
- package/dist/RealtimeCard-DQno-Okz.js +0 -1
- package/dist/RealtimeCard-dR-g1iDo.mjs +0 -92
- package/dist/ReservationDetailDialog-Cdo6h0RD.mjs +0 -2163
- package/dist/ReservationDetailDialog-DZTFD2xI.js +0 -349
- package/dist/SearchTermsCard-BXJSXz_k.js +0 -1
- package/dist/SearchTermsCard-DsaxLKwP.mjs +0 -146
- package/dist/SendPush-Bssi-OZD.mjs +0 -150
- package/dist/SendPush-BuaYboRH.js +0 -1
- package/dist/SeoHealth-CP-kL0us.js +0 -1
- package/dist/SeoHealth-Cxp_Gb3Y.mjs +0 -459
- package/dist/TableView-7iwBkQ_k.mjs +0 -4757
- package/dist/TableView-BB_oIYYZ.js +0 -4
- package/dist/TemplateList-CNcM_Kgq.mjs +0 -56
- package/dist/TemplateList-VuPcBUJO.js +0 -1
- package/dist/TopPagesCard-CvDECn3_.mjs +0 -117
- package/dist/TopPagesCard-DNdATXJE.js +0 -1
- package/dist/TrafficSourcesCard-BLpBr7u0.mjs +0 -151
- package/dist/TrafficSourcesCard-_3gRUCw3.js +0 -1
- package/dist/View-DSnUHI7h.mjs +0 -30
- package/dist/View-Dbcfpdqh.js +0 -1
- package/dist/VisitorStatsCard-CFEnXSjF.mjs +0 -185
- package/dist/VisitorStatsCard-C_jhQxDW.js +0 -1
- package/dist/_plugin-vue_export-helper-5u7tqpWC.js +0 -1
- package/dist/_plugin-vue_export-helper-BJQSo0im.mjs +0 -8
- package/dist/agenda-CzMRcQTA.mjs +0 -989
- package/dist/agenda-D4zWRYSQ.js +0 -1
- package/dist/appointments-9syR5TZE.js +0 -1
- package/dist/appointments-BBmOJMhM.mjs +0 -23
- package/dist/array-BH1uH7XT.js +0 -1
- package/dist/array-DnDL9cFz.mjs +0 -98
- package/dist/availability-CAXB7Yd6.js +0 -1
- package/dist/availability-Dp7eF-ZK.mjs +0 -215
- package/dist/booking-data-Bysf6e5x.mjs +0 -724
- package/dist/booking-data-C6SGjC2X.js +0 -1
- package/dist/chunk-DQi1bQcV.js +0 -1
- package/dist/contentManager-D7JxXCwE.js +0 -1
- package/dist/contentManager-tfy0x1LD.mjs +0 -22
- package/dist/context-AQKfnJ4t.mjs +0 -3809
- package/dist/context-ubyMq9Xe.js +0 -54
- package/dist/core-Dhgr4ctC.mjs +0 -202
- package/dist/core-_HKfBlaZ.js +0 -1
- package/dist/countries-MXLT3mVe.mjs +0 -4
- package/dist/countries-OCd5qPxG.js +0 -1
- package/dist/create-BfNc2C7N.js +0 -1
- package/dist/create-C7JlIlIh.mjs +0 -95
- package/dist/custom-BwN9-6Mb.js +0 -1
- package/dist/custom-INNwaWla.mjs +0 -13
- package/dist/dist-BCVg7FKM.js +0 -1
- package/dist/dist-DIhK9VWh.mjs +0 -3045
- package/dist/edit-BiI2VG60.js +0 -35
- package/dist/edit-DD3iFBEh.mjs +0 -1097
- package/dist/exceptions-DICMaDcH.mjs +0 -462
- package/dist/exceptions-DpWqMNuG.js +0 -1
- package/dist/google-Bcc4XZnV.mjs +0 -4
- package/dist/google-DTSRmJ51.js +0 -1
- package/dist/googleAnalytics-BSaqRR_L.js +0 -1
- package/dist/googleAnalytics-Cg-iWblZ.mjs +0 -47
- package/dist/interpolation-B8OzkMyi.mjs +0 -131
- package/dist/interpolation-DpAqtGOW.js +0 -1
- package/dist/lib-4wSi00Vr.js +0 -1
- package/dist/lib-BZgXUui5.mjs +0 -198
- package/dist/line-DJdnFNI7.js +0 -75
- package/dist/line-tYLnEDGV.mjs +0 -1500
- package/dist/mailTemplates-BNk8fhVS.mjs +0 -23
- package/dist/mailTemplates-DswHzyQe.js +0 -1
- package/dist/orders-CIc0JlKX.mjs +0 -512
- package/dist/orders-DwPSi_pD.js +0 -1
- package/dist/payment-BsNWFaDm.js +0 -1
- package/dist/payment-Ced5_dpa.mjs +0 -718
- package/dist/productCollections-Cuvw_8zC.js +0 -1
- package/dist/productCollections-D0AxRlzr.mjs +0 -23
- package/dist/products-DUD-ZMkR.mjs +0 -22
- package/dist/products-DvX9B-Ul.js +0 -1
- package/dist/promoCodes-BCWqN6w4.mjs +0 -23
- package/dist/promoCodes-CEZ4LYot.js +0 -1
- package/dist/push-notifications-BGp4XWo9.js +0 -1
- package/dist/push-notifications-C7W7KuzR.mjs +0 -23
- package/dist/regular-BCFrS6lK.mjs +0 -908
- package/dist/regular-DBqPgT8C.js +0 -1
- package/dist/resources-DwsMmWgm.mjs +0 -669
- package/dist/resources-Dz81GkHe.js +0 -1
- package/dist/shippingOptions-C3NEJff1.mjs +0 -23
- package/dist/shippingOptions-Cy040ZW1.js +0 -1
- package/dist/single-container-BJmmqq65.mjs +0 -468
- package/dist/single-container-Xoo0Xzxv.js +0 -58
- package/dist/src/vue-shim.d.ts +0 -7
- package/dist/table-DWw0fs3S.js +0 -1
- package/dist/table-LXt5DQOL.mjs +0 -23
- package/dist/utils-CVIHqQsU.js +0 -3
- package/dist/utils-h3owcMtS.mjs +0 -37
- package/dist/vee-validate-zod-BmXMJo8W.js +0 -1
- package/dist/vee-validate-zod-D9dZzbWZ.mjs +0 -4985
- package/dist/xy-container-CuQSwrtB.mjs +0 -3180
- package/dist/xy-container-_6YpscZh.js +0 -158
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),U=require("./DateFormatter-CYAD4GBN.js"),B=require("lucide-vue-next"),oe=require("./EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js"),P=require("@oneclick.dev/cms-kit"),Y=require("./ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js"),ne=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ae=require("./NewReservationDialog.vue_vue_type_script_setup_true_lang-Ceoje52V.js"),re=require("./index-CxETuRsG.js"),se={class:"mb-6"},le={class:"flex items-end gap-px h-24 bg-muted/30 rounded-lg p-2 overflow-visible"},ie=["onClick"],ce={class:"absolute -top-8 left-1/2 -translate-x-1/2 bg-popover border shadow-md rounded px-2 py-1 text-xs whitespace-nowrap opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-10"},de={class:"font-medium"},ue={class:"text-muted-foreground"},me={class:"w-full flex-1 flex items-end justify-center"},pe={key:1,class:"text-[10px] mt-1"},fe={key:0,class:"mt-2 text-sm text-muted-foreground flex items-center gap-2"},ve={class:"font-medium text-foreground"},ge={class:"font-medium text-foreground"},he=e.defineComponent({__name:"TimelineChart",props:{timeSlots:{},slotStats:{},selectedTimeSlot:{},maxSpots:{}},emits:["select","clear"],setup(u,{emit:x}){const g=x,_=o=>{g("select",o)},N=()=>{g("clear")};return(o,s)=>{const i=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",se,[s[2]||(s[2]=e.createElementVNode("h3",{class:"font-semibold text-sm mb-2"},"Timeline",-1)),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.timeSlots,n=>(e.openBlock(),e.createElementBlock("div",{key:n.startTime,class:"flex-1 min-w-0 flex flex-col items-center cursor-pointer group h-full relative",onClick:v=>_(n.startTime)},[e.createElementVNode("div",ce,[e.createElementVNode("div",de,e.toDisplayString(n.startTime),1),e.createElementVNode("div",ue,e.toDisplayString(u.slotStats[n.startTime]?.spots||0)+" spots",1)]),e.createElementVNode("div",me,[e.createElementVNode("div",{class:e.normalizeClass(["w-full transition-all duration-200",[u.selectedTimeSlot===n.startTime?"bg-primary":u.slotStats[n.startTime]?.spots>0?"bg-primary/60 group-hover:bg-primary/80":"bg-muted-foreground/20 group-hover:bg-muted-foreground/30"]]),style:e.normalizeStyle({height:u.slotStats[n.startTime]?.spots>0?`${u.slotStats[n.startTime].spots/u.maxSpots*100}%`:"2px",minHeight:u.slotStats[n.startTime]?.spots>0?"4px":"2px"})},null,6)]),n.startTime.endsWith(":00")?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["text-[10px] text-muted-foreground mt-1 transition-colors truncate",{"text-primary font-medium":u.selectedTimeSlot===n.startTime}])},e.toDisplayString(n.label),3)):(e.openBlock(),e.createElementBlock("span",pe," "))],8,ie))),128))]),u.selectedTimeSlot?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(i,{variant:"ghost",size:"icon",class:"h-6 w-6 p-0",onClick:N},{default:e.withCtx(()=>[e.createVNode(e.unref(B.X),{size:14})]),_:1}),e.createElementVNode("span",null,[s[0]||(s[0]=e.createTextVNode(" Showing ",-1)),e.createElementVNode("span",ve,e.toDisplayString(u.slotStats[u.selectedTimeSlot]?.bookings||0),1),s[1]||(s[1]=e.createTextVNode(" bookings at ",-1)),e.createElementVNode("span",ge,e.toDisplayString(u.selectedTimeSlot),1)])])):e.createCommentVNode("",!0)])}}}),xe={class:"flex items-center justify-between mb-3"},ye={class:"font-semibold"},ke={key:0,class:"text-muted-foreground font-normal"},be={class:"relative mb-3"},_e={key:0,class:"flex items-center justify-center py-8"},Ne={key:1,class:"text-center py-8 text-muted-foreground"},Ee={key:2,class:"space-y-2 max-h-80 overflow-y-auto"},Ve=["onClick"],we={class:"flex items-start justify-between"},Se={class:"flex-1"},Ce={class:"font-medium"},Be={class:"text-sm text-muted-foreground"},De={class:"text-sm text-muted-foreground"},$e={class:"flex items-center gap-4"},Te={class:"flex items-center gap-2 mt-1 text-xs text-muted-foreground"},ze={class:"flex items-center gap-2 mt-1 text-xs text-muted-foreground"},Me={class:"text-right"},Ie={key:0,class:"inline-block px-2 py-1 text-xs rounded-full bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},Le={key:1,class:"inline-block px-2 py-1 text-xs rounded-full bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},Re={key:2,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},je={key:3,class:"inline-block px-2 py-1 text-xs rounded-full bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},Ue={key:4,class:"inline-block px-2 py-1 text-xs rounded-full bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"},Fe={key:5,class:"text-sm font-medium mt-1"},Pe=e.defineComponent({__name:"BookingsList",props:{agendaData:{},orders:{},filteredOrders:{},isLoading:{type:Boolean},selectedTimeSlot:{},searchQuery:{}},emits:["update:searchQuery","refresh"],setup(u,{emit:x}){const g=u,_=e.computed(()=>g.agendaData?.metadataSchema||[]),N=x,o=e.ref(null),s=v=>{N("update:searchQuery",v)},i=()=>{N("update:searchQuery","")},n=()=>{N("refresh")};return(v,p)=>{const D=e.resolveComponent("Input"),V=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",xe,[e.createElementVNode("h3",ye,[p[0]||(p[0]=e.createTextVNode(" Bookings ",-1)),u.selectedTimeSlot||u.searchQuery?(e.openBlock(),e.createElementBlock("span",ke," ("+e.toDisplayString(u.filteredOrders.length)+" of "+e.toDisplayString(u.orders.length)+") ",1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",be,[e.createVNode(e.unref(B.Search),{size:16,class:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),e.createVNode(D,{"model-value":u.searchQuery,placeholder:"Search by name, email, or phone...",class:"pl-9 pr-9","onUpdate:modelValue":s},null,8,["model-value"]),u.searchQuery?(e.openBlock(),e.createBlock(V,{key:0,variant:"ghost",size:"icon",class:"absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(B.X),{size:14})]),_:1})):e.createCommentVNode("",!0)]),u.isLoading?(e.openBlock(),e.createElementBlock("div",_e,[...p[1]||(p[1]=[e.createElementVNode("div",{class:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"},null,-1)])])):u.filteredOrders.length===0?(e.openBlock(),e.createElementBlock("div",Ne,e.toDisplayString(u.selectedTimeSlot?"No bookings for this time slot":"No bookings for this event"),1)):(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.filteredOrders,c=>(e.openBlock(),e.createElementBlock("div",{key:c.res_id||c.id,class:"p-3 border rounded-lg hover:bg-muted/50 transition-colors",onClick:M=>e.unref(o).openDialog(c)},[e.createElementVNode("div",we,[e.createElementVNode("div",Se,[e.createElementVNode("div",Ce,e.toDisplayString(c.customerInfo.firstName+" "+c.customerInfo.lastName||"Unknown Customer"),1),e.createElementVNode("div",Be,e.toDisplayString(c.customerInfo.email),1),e.createElementVNode("div",De,e.toDisplayString(c.customerInfo.phone),1),e.createElementVNode("div",$e,[e.createElementVNode("div",Te,[e.createVNode(e.unref(B.Clock),{size:12}),e.createElementVNode("span",null,e.toDisplayString(c.startTime)+" - "+e.toDisplayString(c.endTime),1)]),e.createElementVNode("div",ze,[e.createVNode(e.unref(B.Users),{size:12}),e.createElementVNode("span",null,e.toDisplayString(c.spots),1)])]),e.createVNode(Y._sfc_main,{metadata:{...c.metadata,...c.reservationMetadata},schema:e.unref(_),"display-filter":["highlight","badge"],compact:"",class:"mt-1"},null,8,["metadata","schema"])]),e.createElementVNode("div",Me,[c.reservationStatus==="needs_approval"?(e.openBlock(),e.createElementBlock("span",Ie,"Needs Approval")):c.reservationStatus==="approved"?(e.openBlock(),e.createElementBlock("span",Le,"Approved")):c.reservationStatus==="rejected"?(e.openBlock(),e.createElementBlock("span",Re,"Rejected")):c.reservationStatus==="cancelled"?(e.openBlock(),e.createElementBlock("span",je,"Cancelled")):(e.openBlock(),e.createElementBlock("span",Ue,"Pending")),c.reservationPrice||c.reservationPrice===0?(e.openBlock(),e.createElementBlock("div",Fe," €"+e.toDisplayString(c.reservationPrice.toFixed(2)),1)):e.createCommentVNode("",!0)])])],8,Ve))),128))])),e.createVNode(Y._sfc_main$1,{ref_key:"reservationDetailDialog",ref:o,"agenda-data":u.agendaData,onCancelled:n,onConfirmed:n,onRejected:n},null,8,["agenda-data"])])}}}),Oe={class:"flex items-center gap-4 mt-2 text-sm"},Ae={class:"flex items-center gap-1"},qe={key:0,class:"flex items-center gap-1"},He={class:"flex items-center gap-1"},Qe={class:"py-4"},We=e.defineComponent({__name:"EventDialog",props:{agendaData:{},resources:{default:()=>[]}},setup(u,{expose:x}){const g=u,{config:_}=P.useModule(),{params:N}=P.useModuleRoute(),o=P.useFirebaseIntegration(_.project),s=e.ref(!1),i=e.ref(null),n=e.ref([]),v=e.ref(!1),p=e.ref(null),D=e.ref("");e.provide("event",i);const V=e.computed(()=>{if(!i.value)return[];const m=i.value.resource?.interval||60,t=[],[l,k]=i.value.startTime.split(":").map(Number),[I,z]=i.value.endTime.split(":").map(Number),b=l*60+k,h=I*60+z;for(let y=b;y<h;y+=m){const r=Math.floor(y/60),d=y%60,E=Math.min(y+m,h),f=Math.floor(E/60),w=E%60,$=`${r.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`,a=`${f.toString().padStart(2,"0")}:${w.toString().padStart(2,"0")}`;t.push({startTime:$,endTime:a,label:$})}return t}),c=m=>{const t=m.getFullYear(),l=String(m.getMonth()+1).padStart(2,"0"),k=String(m.getDate()).padStart(2,"0");return`${t}-${l}-${k}`},M=e.computed(()=>{const m={};return V.value.forEach(t=>{m[t.startTime]={bookings:0,spots:0,orders:[]}}),n.value.forEach(t=>{V.value.forEach(l=>{t.startTime<l.endTime&&t.endTime>l.startTime&&(m[l.startTime].bookings++,m[l.startTime].spots+=t.spots||0,m[l.startTime].orders.push(t))})}),m}),S=e.computed(()=>Math.max(1,...Object.values(M.value).map(m=>m.spots))),C=e.computed(()=>{let m=n.value;return p.value&&(m=M.value[p.value]?.orders||[]),D.value.trim()&&(m=new Y.Fuse(m,{keys:["customerInfo.firstName","customerInfo.lastName","customerInfo.email","customerInfo.phone"],threshold:.3,ignoreLocation:!0}).search(D.value).map(l=>l.item)),m}),T=e.computed(()=>({spots:n.value.reduce((m,t)=>m+(t.spots||0),0),bookings:n.value.length})),O=m=>{p.value===m?p.value=null:p.value=m},j=()=>{p.value=null},A=async m=>{s.value=!0,i.value=m,p.value=null,D.value="",await F()},F=async()=>{if(i.value){v.value=!0,n.value=[];try{const m=N.value.id,t=c(new Date(i.value.date)),l=i.value.resourceId||i.value.resource?.id,k=new Set;if(l?k.add(`${l}_${t}`):g.resources?.forEach(b=>{k.add(`${b.id}_${t}`)}),k.size===0){n.value=[];return}const I=await o.find(_.reservationsCollection,{filters:[{field:"agendaId",operator:"==",value:m},{field:"status",operator:"==",value:"confirmed"},{field:"flattenedReservationDates",operator:"array-contains-any",value:Array.from(k)}]});let z=[];I.forEach(b=>{(b.reservations?.filter(y=>y.date!==t?!1:l?y.resourceId===l:!0)||[]).forEach(y=>{const r=g.resources.find(d=>d.id===y.resourceId);(y.status==="approved"||y.status==="needs_approval")&&z.push({customerInfo:b.customerInfo,amountDue:b.amountDue,amountPaid:b.amountPaid,status:b.status,reservationStatus:y.status,subtotal:b.subtotal,total:b.total,discount:b.discount,id:b.id,res_id:y.id,resourceId:y.resourceId,spots:y.spots,date:t,startTime:y.timeslot?.startTime,endTime:y.timeslot?.endTime,reservationPrice:y.totalPrice,reservationBasePrice:y.basePrice,reservationAddOnsPrice:y.addOnsPrice,pricingOptionId:y.pricingOptionId,pricingOption:y.pricingOption,resourceName:r?.name||"Unknown",resourceColor:r?.color,metadata:b.metadata||{},reservationMetadata:y.metadata||{}})})}),n.value=z.sort((b,h)=>b.startTime?.localeCompare(h.startTime||"")||0)}catch(m){console.error("Error loading orders:",m),n.value=[]}finally{v.value=!1}}},Q=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],q=["January","February","March","April","May","June","July","August","September","October","November","December"];return x({openDialog:A}),(m,t)=>{const l=e.resolveComponent("DialogTitle"),k=e.resolveComponent("DialogDescription"),I=e.resolveComponent("DialogHeader"),z=e.resolveComponent("Button"),b=e.resolveComponent("DialogFooter"),h=e.resolveComponent("DialogScrollContent"),y=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(y,{open:s.value,"onUpdate:open":t[2]||(t[2]=r=>s.value=r)},{default:e.withCtx(()=>[e.createVNode(h,{class:"sm:max-w-3xl"},{default:e.withCtx(()=>[e.createVNode(I,null,{default:e.withCtx(()=>[i.value?.date?(e.openBlock(),e.createBlock(l,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(Q[new Date(i.value.date).getUTCDay()])+" "+e.toDisplayString(q[new Date(i.value.date).getUTCMonth()])+" "+e.toDisplayString(new Date(i.value.date).getUTCDate())+", "+e.toDisplayString(new Date(i.value.date).getUTCFullYear()),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(k,null,{default:e.withCtx(()=>[e.createElementVNode("div",Oe,[e.createElementVNode("div",Ae,[e.createVNode(e.unref(B.Clock),{size:14}),e.createElementVNode("span",null,e.toDisplayString(i.value?.startTime)+" – "+e.toDisplayString(i.value?.endTime),1)]),i.value?.resource?(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("div",{class:"w-4 h-4 rounded-full",style:e.normalizeStyle({backgroundColor:i.value.resource.color||"#6b7280"})},null,4),e.createElementVNode("span",null,e.toDisplayString(i.value.resource.name),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",He,[e.createVNode(e.unref(B.Users),{size:14}),e.createElementVNode("span",null,e.toDisplayString(T.value.spots)+" spots in "+e.toDisplayString(T.value.bookings)+" reservations",1)])])]),_:1})]),_:1}),e.createElementVNode("div",Qe,[V.value.length>1?(e.openBlock(),e.createBlock(he,{key:0,"time-slots":V.value,"slot-stats":M.value,"selected-time-slot":p.value,"max-spots":S.value,onSelect:O,onClear:j,tabindex:"0"},null,8,["time-slots","slot-stats","selected-time-slot","max-spots"])):e.createCommentVNode("",!0),e.createVNode(Pe,{"agenda-data":u.agendaData,orders:n.value,"filtered-orders":C.value,"is-loading":v.value,"selected-time-slot":p.value,"search-query":D.value,"onUpdate:searchQuery":t[0]||(t[0]=r=>D.value=r),onRefresh:F},null,8,["agenda-data","orders","filtered-orders","is-loading","selected-time-slot","search-query"])]),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(z,{variant:"outline",onClick:t[1]||(t[1]=r=>s.value=!1)},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("Close",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),Xe={class:"flex-1 border-r shadow-sm overflow-hidden min-h-[1536px]"},Ye={class:"relative h-full min-h-[1536px]"},Je={class:"divide-y divide-input/80 h-full flex flex-col min-h-[1536px] border-y border-input/80"},Ke={class:"absolute inset-0 pointer-events-none"},Ge={class:"relative mr-1 @md:mr-3 h-full ml-0.5 @md:ml-2"},Ze=["onClick"],et={key:0,class:"absolute bottom-0 left-0 right-0 h-1 bg-black/20"},tt={class:"flex items-start justify-between gap-2 mb-1"},ot={class:"font-semibold text-xs @md:text-sm leading-tight line-clamp-1 flex-1"},nt={class:"flex items-center gap-1 shrink-0"},at=["title"],rt={class:"font-medium"},J=e.defineComponent({__name:"EventTimeline",props:{agendaData:{},date:{},events:{},firstDay:{type:Boolean,default:!1},resources:{default:()=>[]}},setup(u){const x=u,g=e.ref(null),_=s=>{const[i,n]=s.split(":").map(Number);return i*60+n};e.computed(()=>!x.events||!x.resources?[]:x.resources.map(s=>{const n=x.events.filter(v=>v.resourceId===s.id).map(v=>{const p=_(v.startTime),V=_(v.endTime)-p,c=p/1440*100,M=V/1440*100,S=(v.bookings??0)>0,C=v.maxBookings?(v.bookings??0)/v.maxBookings*100:0;return{...v,top:`${c}%`,height:`${M}%`,color:v.resource?.color||"#3b82f6",hasBookings:S,fillPercentage:C,isSmall:V<60}});return{resource:s,events:n}}));const N=e.computed(()=>x.events?x.events.map(s=>{const i=_(s.startTime),v=_(s.endTime)-i,p=i/1440*100,D=v/1440*100,V=(s.bookings??0)>0,c=s.maxBookings?(s.bookings??0)/s.maxBookings*100:0;return{...s,top:`${p}%`,height:`${D}%`,color:s.resource?.color||"#3b82f6",hasBookings:V,fillPercentage:c,isSmall:v<60}}):[]),o=Array.from({length:24},(s,i)=>({hour:i,label:`${i.toString().padStart(2,"0")}:00`}));return(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Xe,[e.createElementVNode("div",Ye,[e.createElementVNode("div",Je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),n=>(e.openBlock(),e.createElementBlock("div",{key:n.hour,class:"flex-1 flex transition-all duration-200"},[...i[0]||(i[0]=[e.createElementVNode("div",{class:"flex-1 relative"},[e.createElementVNode("div",{class:"absolute top-1/2 left-0 right-0 border-t border-dashed border-input/50"})],-1)])]))),128))]),e.createElementVNode("div",Ke,[e.createElementVNode("div",Ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,n=>(e.openBlock(),e.createElementBlock("div",{key:n.id,style:e.normalizeStyle({top:n.top,height:n.height,opacity:n.hasBookings?"1":"0.5"}),class:"event-card absolute left-0.5 right-0.5 @md:left-2 @md:right-2 rounded-lg pointer-events-auto cursor-pointer group/event transition-all duration-200 hover:shadow-xl overflow-hidden",onClick:v=>g.value?.openDialog(n)},[e.createElementVNode("div",{style:e.normalizeStyle({backgroundColor:n.color}),class:"absolute inset-0 shadow-lg"},[n.maxBookings?(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("div",{class:"h-full bg-white/40 transition-all duration-300",style:e.normalizeStyle({width:`${n.fillPercentage}%`})},null,4)])):e.createCommentVNode("",!0)],4),e.createElementVNode("div",{class:e.normalizeClass(["relative h-full p-1.5 @md:p-3 flex flex-col",`${n.hasBookings?"text-white":"text-gray-600 dark:text-gray-100"}`])},[e.createElementVNode("div",tt,[e.createElementVNode("h3",ot,e.toDisplayString(n.title),1),e.createElementVNode("div",nt,[n.resource?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-5 h-5 @md:w-6 @md:h-6 rounded-full flex items-center justify-center text-[10px] @md:text-xs font-bold bg-white/30 backdrop-blur-sm text-white border border-white/40",title:n.resource.name},e.toDisplayString(n.resource.avatarLabel||n.resource.name.charAt(0).toUpperCase()),9,at)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-0.5 @md:gap-1 px-1.5 @md:px-2 py-0.5 rounded-full text-[10px] @md:text-xs font-medium",n.hasBookings?"bg-white text-black backdrop-blur-sm":"bg-black/10 backdrop-blur-sm"])},[e.createVNode(e.unref(B.Users),{size:12}),e.createElementVNode("span",null,e.toDisplayString(n.bookings),1)],2)])]),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-1 @md:gap-2 text-[10px] @md:text-xs opacity-90 mt-auto",{"-translate-x-1 -translate-y-2 scale-80 origin-[0_0]":n.isSmall}])},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-1 px-1 @md:px-2 py-0.5 rounded backdrop-blur-sm",{"bg-black/10":!n.isSmall}])},[e.createVNode(e.unref(B.Clock),{size:10}),e.createElementVNode("span",rt,e.toDisplayString(n.startTime)+" – "+e.toDisplayString(n.endTime),1)],2)],2)],2),i[1]||(i[1]=e.createElementVNode("div",{class:"absolute inset-0 border-2 border-white/0 group-hover/event:border-white/30 rounded-lg transition-colors duration-200 pointer-events-none"},null,-1))],12,Ze))),128))])])])]),e.createVNode(We,{"agenda-data":u.agendaData,resources:u.resources,ref_key:"eventDialog",ref:g},null,8,["agenda-data","resources"])],64))}}),st={class:"sticky left-0 mt-auto z-10 divide-y divide-border/50 h-full flex flex-col min-h-[1536px] bg-input"},lt={class:"flex-shrink-0 text-[10px] @md:text-xs font-medium text-muted-foreground px-1.5 @md:px-3 pb-3 border-r border-border/50 w-10 @md:w-14"},it={class:"flex items-center gap-1.5"},K=e.defineComponent({__name:"Event24hSidebar",setup(u){const x=Array.from({length:24},(g,_)=>({hour:_,label:`${_.toString().padStart(2,"0")}:00`}));return(g,_)=>(e.openBlock(),e.createElementBlock("div",st,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),N=>(e.openBlock(),e.createElementBlock("div",{key:N.hour,class:"flex-1 flex transition-all duration-200"},[e.createElementVNode("div",lt,[e.createElementVNode("div",it,[e.createElementVNode("span",{class:e.normalizeClass({"-translate-y-1/2":N.hour!==0})},e.toDisplayString(N.label),3)])])]))),128))]))}}),ct={class:"absolute top-0 w-full pointer-events-none"},dt={key:0,class:"absolute -right-2 -top-0.5 px-2 py-0.5 bg-red-500 text-white text-xs font-medium rounded shadow-lg"},G=e.defineComponent({__name:"EventTimeIndicator",props:{currentDate:{type:Object,required:!1}},setup(u){const x=e.ref(Date.now());let g;e.onMounted(()=>{g=window.setInterval(()=>{x.value=Date.now()},1e3)}),e.onUnmounted(()=>{g&&clearInterval(g)});const _=e.computed(()=>{const o=new Date(x.value);return`${(o.getHours()*60+o.getMinutes()+o.getSeconds()/60)/1440*100}%`}),N=e.computed(()=>new Date(x.value).getFullYear()+"-"+(new Date(x.value).getMonth()+1).toString().padStart(2,"0")+"-"+new Date(x.value).getDate().toString().padStart(2,"0"));return(o,s)=>(e.openBlock(),e.createElementBlock("div",ct,[e.createElementVNode("div",{class:"absolute left-0 right-0 h-0.5 bg-red-500 z-30 pointer-events-none transition-[top] duration-300 ease-linear",style:e.normalizeStyle({top:_.value})},[s[0]||(s[0]=e.createElementVNode("div",{class:"absolute -left-2 -top-1.5 w-3 h-3 bg-red-500 rounded-full shadow-lg shadow-red-500/50"},null,-1)),u.currentDate&&u.currentDate==N.value?(e.openBlock(),e.createElementBlock("div",dt," Now ")):e.createCommentVNode("",!0)],4)]))}}),ut={key:0,class:"relative flex flex-1 min-w-0"},mt={key:1,class:"flex-1 min-w-0 relative min-h-[1616px] @md:min-h-[1658px]"},pt={key:0,class:"absolute top-0 right-0 z-10 px-3 py-1.5 bg-primary/90 text-primary-foreground text-xs font-medium rounded-bl-lg shadow-lg backdrop-blur-sm flex items-center gap-1.5 animate-pulse-subtle"},ft={class:"flex pb-4 min-w-[200px]"},vt=["onClick"],gt={key:0,class:"absolute top-2 right-2 flex items-center gap-1 px-2 py-0.5 bg-primary/20 backdrop-blur-sm rounded-full border border-primary/30"},ht={class:"text-xs text-muted-foreground font-medium group-hover:text-foreground/70 transition-colors"},xt={key:0,class:"absolute bottom-0 left-0 w-full h-1 bg-orange-500"},yt=e.defineComponent({__name:"EventView",props:{agendaData:{default:()=>({})}},setup(u){const x=e.inject("activeDate",e.ref(U.$ad063034c8620db8$export$d0bdf45af03a6ea3(U.$ad063034c8620db8$export$aa8b41735afcabd2()))),g=e.inject("viewMode",e.ref(1)),_=e.inject("events",e.ref([])),N=e.inject("resources",e.ref([])),o=e.ref(null),s=e.ref(!1),i=e.ref(!1);e.computed(()=>N.value.length>1);const n=e.computed(()=>{const t=[],l=x.value;for(let k=0;k<g.value;k++)t.push(l.add({days:k}));return t}),v=(t,l)=>{const k=`${t.year}-${String(t.month).padStart(2,"0")}-${String(t.day).padStart(2,"0")}`;return _.value?.filter(I=>I.date===k)||[]},p=t=>{const l=U.$ad063034c8620db8$export$d0bdf45af03a6ea3(U.$ad063034c8620db8$export$aa8b41735afcabd2());return t.year===l.year&&t.month===l.month&&t.day===l.day},D=t=>{x.value=t,g.value=1};let V=null,c=null;const M=()=>{o.value&&(C(),o.value.scrollBy({left:-300,behavior:"smooth"}),c=window.setTimeout(()=>{V=window.setInterval(()=>{o.value&&o.value.scrollBy({left:-20,behavior:"auto"})},50)},300))},S=()=>{o.value&&(C(),o.value.scrollBy({left:300,behavior:"smooth"}),c=window.setTimeout(()=>{V=window.setInterval(()=>{o.value&&o.value.scrollBy({left:20,behavior:"auto"})},50)},300))},C=()=>{c&&(clearTimeout(c),c=null),V&&(clearInterval(V),V=null)},T=()=>{if(!o.value)return;const{scrollLeft:t,scrollWidth:l,clientWidth:k}=o.value;s.value=t>10,i.value=t<l-k-10},O=t=>{o.value&&Math.abs(t.deltaY)>Math.abs(t.deltaX)&&(t.preventDefault(),o.value.scrollBy({left:t.deltaY,behavior:"auto"}))},j=e.ref(!1),A=e.ref(0),F=e.ref(0),Q=t=>{!o.value||g.value===1||t.target.closest(".event-card")||(j.value=!0,A.value=t.pageX,F.value=o.value.scrollLeft,o.value.style.userSelect="none",t.preventDefault())},q=t=>{if(!j.value||!o.value)return;const l=t.pageX,k=(A.value-l)*1.2;o.value.scrollLeft=F.value+k},m=()=>{o.value&&(j.value=!1,o.value.style.userSelect="")};return e.onMounted(()=>{o.value&&(o.value.addEventListener("scroll",T),o.value.addEventListener("wheel",O,{passive:!1}),e.nextTick(()=>{T(),setTimeout(T,50),setTimeout(T,150),setTimeout(T,300),setTimeout(T,500)})),document.addEventListener("mousemove",q),document.addEventListener("mouseup",m)}),e.onBeforeUnmount(()=>{document.removeEventListener("mousemove",q),document.removeEventListener("mouseup",m)}),e.watch(g,()=>{g.value>1?e.nextTick(()=>{setTimeout(()=>{if(!o.value)return;const{scrollWidth:t,clientWidth:l}=o.value;t>l&&(i.value=!0,s.value=!1)},100)}):o.value&&(o.value.style.cursor="")}),e.onUnmounted(()=>{C(),o.value&&(o.value.removeEventListener("scroll",T),o.value.removeEventListener("wheel",O))}),(t,l)=>{const k=e.resolveComponent("Button"),I=e.resolveComponent("TooltipTrigger"),z=e.resolveComponent("TooltipContent"),b=e.resolveComponent("Tooltip");return e.unref(g)===1?(e.openBlock(),e.createElementBlock("div",ut,[e.createVNode(K),e.createVNode(G,{class:"h-full","current-date":e.unref(x)},null,8,["current-date"]),e.createVNode(J,{"agenda-data":u.agendaData,date:e.unref(x),events:v(e.unref(x)),resources:e.unref(N)},null,8,["agenda-data","date","events","resources"])])):(e.openBlock(),e.createElementBlock("div",mt,[e.unref(g)===7?(e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(e.unref(B.ChevronLeft),{size:12}),l[0]||(l[0]=e.createElementVNode("span",null,"Scroll to view all days",-1)),e.createVNode(e.unref(B.ChevronRight),{size:12})])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(k,{key:1,variant:"outline",size:"icon",onMousedown:M,onMouseup:C,onMouseleave:C,onTouchstart:M,onTouchend:C,class:"sticky top-1/2 left-2 -translate-y-1/2 z-40 h-10 w-10 rounded-full shadow-lg bg-background/95 backdrop-blur-sm hover:bg-background border-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ChevronLeft),{size:20})]),_:1})):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(k,{key:2,variant:"outline",size:"icon",onMousedown:S,onMouseup:C,onMouseleave:C,onTouchstart:S,onTouchend:C,class:"sticky top-1/2 right-2 -translate-y-1/2 z-40 h-10 w-10 rounded-full shadow-lg bg-background/95 backdrop-blur-sm hover:bg-background border-2 float-right"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ChevronRight),{size:20})]),_:1})):e.createCommentVNode("",!0),e.createVNode(G,{class:"h-[calc(100%-122px)] mt-[80px] @md:h-[calc(100%-164px)] @md:mt-[122px]"}),e.createElementVNode("div",{class:e.normalizeClass(["absolute right-0 top-0 bottom-0 w-8 bg-gradient-to-l from-background to-transparent z-10 pointer-events-none transition-opacity duration-300",i.value?"opacity-100":"opacity-0"])},null,2),e.createElementVNode("div",{ref_key:"scrollContainer",ref:o,class:"absolute inset-0 overflow-x-auto overflow-y-hidden",onScroll:T,onMousedown:Q},[e.createElementVNode("div",ft,[e.createVNode(K),l[5]||(l[5]=e.createElementVNode("div",{class:"absolute w-10 @md:w-14 h-[125px] bg-input"},null,-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(h,y)=>(e.openBlock(),e.createElementBlock("div",{key:h.toString(),class:e.normalizeClass(["flex-shrink-0",{"min-w-[200px] w-[33.33%]":e.unref(g)===3,"min-w-[280px]":e.unref(g)===7}])},[e.createElementVNode("div",{onClick:r=>D(h),class:e.normalizeClass(["relative p-3 border cursor-pointer transition-all duration-200 group relative",p(h)?"bg-gradient-to-br from-primary/10 to-primary/5 border-primary/30 hover:from-primary/20 hover:to-primary/10 hover:border-primary/50 hover:shadow-md":"bg-gradient-to-br from-muted/50 to-muted/30 border-border hover:from-accent/50 hover:to-accent/30 hover:border-accent-foreground/20 hover:shadow-md"])},[p(h)?(e.openBlock(),e.createElementBlock("div",gt,[...l[1]||(l[1]=[e.createElementVNode("div",{class:"w-1.5 h-1.5 bg-primary rounded-full animate-pulse"},null,-1),e.createElementVNode("span",{class:"text-[9px] font-bold text-primary uppercase tracking-wide"},"Today",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["text-xs font-semibold uppercase tracking-wider transition-colors",p(h)?"text-primary group-hover:text-primary/80":"text-muted-foreground group-hover:text-foreground"])},e.toDisplayString(new Date(h.year,h.month-1,h.day).toLocaleDateString("en-US",{weekday:"short"})),3),e.createElementVNode("div",{class:e.normalizeClass(["text-2xl font-bold transition-colors",p(h)?"text-foreground":"text-foreground group-hover:text-primary"])},e.toDisplayString(h.day),3),e.createElementVNode("div",ht,e.toDisplayString(new Date(h.year,h.month-1,h.day).toLocaleDateString("en-US",{month:"long",year:"numeric"})),1),l[4]||(l[4]=e.createElementVNode("div",{class:"mt-2 pt-2 border-t border-border/0 group-hover:border-border/50 transition-all"},[e.createElementVNode("div",{class:"text-[10px] text-muted-foreground/0 group-hover:text-muted-foreground/100 uppercase tracking-wide transition-all"}," Click to view ")],-1)),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(I,{"as-child":""},{default:e.withCtx(()=>[v(h).filter(r=>r.isException).length>0?(e.openBlock(),e.createBlock(e.unref(B.Asterisk),{key:0,class:"absolute top-3 right-3 size-4 text-orange-500"})):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(z,null,{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createElementVNode("p",null," This day has exceptions applied to it. ",-1)])]),_:1})]),_:2},1024),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(I,{"as-child":""},{default:e.withCtx(()=>[v(h).filter(r=>r.isException).length>0?(e.openBlock(),e.createElementBlock("div",xt)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(z,null,{default:e.withCtx(()=>[...l[3]||(l[3]=[e.createElementVNode("p",null," This day has exceptions applied to it. ",-1)])]),_:1})]),_:2},1024)],10,vt),e.createVNode(J,{date:h,events:v(h),resources:e.unref(N)},null,8,["date","events","resources"])],2))),128))])],544)]))}}}),kt=ne._export_sfc(yt,[["__scopeId","data-v-9bd6eb36"]]),bt={class:"flex items-center justify-between @sm:justify-start gap-4"},_t={class:"flex flex-col"},Nt={class:"flex items-center gap-2"},Et={class:"text-lg @sm:text-2xl font-bold tracking-tight truncate"},Vt={class:"text-xs @sm:text-sm text-muted-foreground ml-7 truncate"},wt={class:"flex @sm:items-center justify-between flex-col @sm:flex-row @5xl:justify-end gap-2"},St={class:"flex items-center gap-1 @5xl:mr-2"},Ct={key:0,class:"flex items-center gap-2 px-1 overflow-x-auto pb-2 -mx-1 scrollbar-hide"},Bt=["onClick"],Dt={class:"flex gap-2 @md:gap-4"},$t={class:"hidden @md:flex flex-shrink-0 flex-col gap-4"},Tt={key:0,class:"rounded-md border p-3"},zt={class:"space-y-1"},Mt=["onClick"],It={class:"min-w-0 flex-1"},Lt={class:"text-sm font-medium truncate"},Rt={key:0,class:"pt-2 mt-2 border-t"},jt={key:0,class:"mt-1 space-y-1"},Ut={class:"min-w-0 flex-1"},Ft={class:"text-sm font-medium truncate text-muted-foreground"},Pt=e.defineComponent({__name:"agenda",setup(u){const{hasPermission:x}=P.useModulePermissions(),{params:g}=P.useModuleRoute(),{config:_}=P.useModule(),N=P.useFirebaseIntegration(_.project),o=e.ref(U.$ad063034c8620db8$export$d0bdf45af03a6ea3(U.$ad063034c8620db8$export$aa8b41735afcabd2())),s=e.ref(1),i=e.useTemplateRef("container"),{width:n}=re.useElementSize(i),v=e.computed(()=>n.value<640);e.watch(v,r=>{r&&s.value!==1&&(s.value=1)},{immediate:!0});const p=e.ref(null),D=e.ref(new Map),V=e.computed(()=>p.value?.resources||[]),c=e.computed(()=>V.value.filter(r=>r.isActive)),M=e.computed(()=>V.value.filter(r=>!r.isActive)),S=e.ref(null),C=e.ref(!1);e.watch(c,r=>{r.length>0&&!S.value&&(S.value=r[0].id)},{immediate:!0});const T=e.computed(()=>{if(!S.value)return c.value.length>0?[c.value[0]]:[];const r=c.value.find(d=>d.id===S.value);return r?[r]:c.value.length>0?[c.value[0]]:[]}),O=e.computed(()=>p.value?.pricingOptions?.find(d=>d.isDefault)?.duration||30),j=r=>{S.value=r};e.watch(o,()=>{h()});const A=e.computed(()=>{const r=o.value,d=new Date(r.year,r.month-1,r.day),E=d.toLocaleDateString("en-US",{weekday:"long"}).toUpperCase(),f=r.day,w=d.toLocaleDateString("en-US",{month:"short"}).toUpperCase();return{dayName:E,day:f,monthName:w,full:`${E} ${f} ${w}`}}),F=()=>{o.value=o.value.subtract({days:s.value})},Q=()=>{o.value=o.value.add({days:s.value})},q=()=>{o.value=U.$ad063034c8620db8$export$d0bdf45af03a6ea3(U.$ad063034c8620db8$export$aa8b41735afcabd2())},m=r=>{const[d,E]=r.split(":").map(Number);return d*60+E},t=(r,d)=>(p.value?.exceptions||[]).find(f=>d>=f.startDate&&d<=f.endDate?f.resourceIds===null?!0:f.resourceIds?.includes(r):!1)||null,l=(r,d,E)=>{const f=t(r.id,E);if(f)return f.isClosed?[]:f.timeslots.map(a=>({startTime:a.startTime,endTime:a.endTime,isException:!0}));const w=d.getDay(),$=r.openingHours?.[w]||[];return $.length===0?[]:$.map(a=>({startTime:a.start,endTime:a.end,isException:!1}))},k=(r,d,E,f)=>{if(!p.value)return 0;const w=D.value.get(d);return w?w.filter(a=>a.resourceId===r).reduce((a,L)=>{const R=m(L.startTime),H=m(L.endTime),W=m(E),X=m(f);return R<X&&H>W?a+(L.reserved||0):a},0):0},I=e.computed(()=>{if(!p.value)return[];D.value.size;let r=[],d=[];for(let f=0;f<s.value;f++){const w=o.value.add({days:f});d.push(w)}const E=T.value.length>0?T.value:[];return E.length===0?[]:(d.forEach(f=>{let w=new Date(f.year,f.month-1,f.day);const $=`${f.year}-${String(f.month).padStart(2,"0")}-${String(f.day).padStart(2,"0")}`;E.forEach(a=>{const L=l(a,w,$);r=r.concat(L.map((R,H)=>{const W=k(a.id,$,R.startTime,R.endTime);return{id:`block-${$}-${a.id}-${H}`,title:p.value.serviceName,date:$,startTime:R.startTime,endTime:R.endTime,theme:a.color||"#3b82f6",bookings:W,maxBookings:a.capacity,isException:R.isException||!1,resourceId:a.id,resource:a,interval:a.interval||30,serviceDuration:O.value}}))})}),r)});let z=null;const b=async()=>{z||(z=N.get(_.agendaCollection,g.value.id).then(r=>{p.value=r}).finally(()=>{z=null})),await z},h=async()=>{if(p.value||await b(),!p.value)return;const r=g.value.id,d=o.value;D.value.clear();const E=[];for(let f=0;f<s.value;f++){const w=d.add({days:f}),$=`${w.year}-${String(w.month).padStart(2,"0")}-${String(w.day).padStart(2,"0")}`,a=`${r}_${$}`;E.push(N.get(_.reservedSpotsCollection,a).then(L=>{if(L){const R=[];for(const H of c.value){const W=L?.[H.id]||{};Object.entries(W).forEach(([X,Z])=>{const[ee,te]=X.split("-");R.push({resourceId:H.id,startTime:ee,endTime:te,reserved:Z})})}D.value.set($,R)}}).catch(()=>{}))}await Promise.all(E)};return(async()=>(await b(),await h()))(),e.watch(s,()=>{h()}),e.provide("agendaData",p),e.provide("activeDate",o),e.provide("viewMode",s),e.provide("events",I),e.provide("resources",T),e.provide("allResources",c),(r,d)=>{const E=e.resolveComponent("Button"),f=e.resolveComponent("SegmentedControlButton"),w=e.resolveComponent("SegmentedControl"),$=e.resolveComponent("Calendar");return e.openBlock(),e.createBlock(oe._sfc_main,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:i,class:"flex flex-col gap-2 @md:gap-4 w-full"},[e.createElementVNode("div",{class:e.normalizeClass(["flex flex-col @5xl:flex-row @5xl:items-center @5xl:justify-between gap-3 px-1",(v.value,"")])},[e.createElementVNode("div",bt,[e.createElementVNode("div",_t,[e.createElementVNode("div",Nt,[e.createVNode(e.unref(B.CalendarDays),{size:20,class:"text-primary flex-shrink-0"}),e.createElementVNode("h2",Et,e.toDisplayString(A.value.full),1)]),e.createElementVNode("p",Vt,e.toDisplayString(p.value?.serviceName),1)])]),e.createElementVNode("div",wt,[e.createElementVNode("div",St,[e.createVNode(E,{variant:"outline",size:"icon",class:"size-8 @sm:size-9",onClick:F},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ChevronLeft),{size:16})]),_:1}),e.createVNode(E,{variant:"outline",size:"sm",class:"h-8 @sm:h-9 px-2 @sm:px-3 text-xs @sm:text-sm",onClick:q},{default:e.withCtx(()=>[...d[3]||(d[3]=[e.createTextVNode(" Today ",-1)])]),_:1}),e.createVNode(E,{variant:"outline",size:"icon",class:"size-8 @sm:size-9",onClick:Q},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ChevronRight),{size:16})]),_:1})]),v.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(w,{key:0,modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=a=>s.value=a)},{default:e.withCtx(()=>[e.createVNode(f,{value:1},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createElementVNode("span",{class:"whitespace-nowrap"},"1 Day",-1)])]),_:1}),e.createVNode(f,{value:3},{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createElementVNode("span",{class:"whitespace-nowrap"},"3 Days",-1)])]),_:1}),e.createVNode(f,{value:7},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createElementVNode("span",{class:"whitespace-nowrap"},"7 Days",-1)])]),_:1})]),_:1},8,["modelValue"])),e.unref(x)("manage-reservations")?(e.openBlock(),e.createBlock(ae._sfc_main,{key:1,"agenda-data":p.value},null,8,["agenda-data"])):e.createCommentVNode("",!0)])],2),v.value&&c.value.length>0?(e.openBlock(),e.createElementBlock("div",Ct,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,a=>(e.openBlock(),e.createElementBlock("button",{key:a.id,class:e.normalizeClass(["flex items-center gap-2 px-3 py-1.5 rounded-full border text-sm whitespace-nowrap transition-colors flex-shrink-0",{"bg-primary text-primary-foreground border-primary":S.value===a.id,"bg-background hover:bg-muted":S.value!==a.id}]),onClick:L=>j(a.id)},[e.createElementVNode("div",{class:"size-5 rounded-full flex items-center justify-center text-white text-[10px] font-medium",style:e.normalizeStyle({backgroundColor:S.value===a.id?"rgba(255,255,255,0.3)":a.color||"#6b7280"})},e.toDisplayString(a.avatarLabel||a.name.charAt(0).toUpperCase()),5),e.createElementVNode("span",null,e.toDisplayString(a.name),1)],10,Bt))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Dt,[e.createElementVNode("div",$t,[e.createVNode($,{modelValue:o.value,"onUpdate:modelValue":d[1]||(d[1]=a=>o.value=a),"weekday-format":"short",class:"rounded-md border"},null,8,["modelValue"]),V.value.length>0?(e.openBlock(),e.createElementBlock("div",Tt,[d[7]||(d[7]=e.createElementVNode("div",{class:"flex items-center justify-between mb-3"},[e.createElementVNode("span",{class:"text-sm font-medium"},"Resources")],-1)),e.createElementVNode("div",zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.id,class:e.normalizeClass(["flex items-center gap-2 p-2 rounded-md hover:bg-muted cursor-pointer transition-colors",{"bg-muted ring-2 ring-primary/20":S.value===a.id,"opacity-50":S.value&&S.value!==a.id}]),onClick:L=>j(a.id)},[e.createElementVNode("div",{class:"size-7 rounded-full flex items-center justify-center text-white text-xs font-medium flex-shrink-0",style:e.normalizeStyle({backgroundColor:a.color||"#6b7280"})},e.toDisplayString(a.avatarLabel||a.name.charAt(0).toUpperCase()),5),e.createElementVNode("div",It,[e.createElementVNode("div",Lt,e.toDisplayString(a.name),1)]),e.createElementVNode("div",{class:e.normalizeClass(["size-2 rounded-full flex-shrink-0",S.value===a.id?"bg-primary":"bg-muted-foreground/30"])},null,2)],10,Mt))),128)),M.value.length>0?(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("button",{class:"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground w-full py-1 transition-colors",onClick:d[2]||(d[2]=a=>C.value=!C.value)},[e.createVNode(e.unref(B.ChevronRight),{size:14,class:e.normalizeClass(["transition-transform",{"rotate-90":C.value}])},null,8,["class"]),e.createElementVNode("span",null,"Inactive ("+e.toDisplayString(M.value.length)+")",1)]),C.value?(e.openBlock(),e.createElementBlock("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.id,class:"flex items-center gap-2 p-2 rounded-md opacity-50"},[e.createElementVNode("div",{class:"size-7 rounded-full flex items-center justify-center text-white text-xs font-medium flex-shrink-0 grayscale",style:e.normalizeStyle({backgroundColor:a.color||"#6b7280"})},e.toDisplayString(a.avatarLabel||a.name.charAt(0).toUpperCase()),5),e.createElementVNode("div",Ut,[e.createElementVNode("div",Ft,e.toDisplayString(a.name),1)])]))),128))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createVNode(kt,{"agenda-data":p.value},null,8,["agenda-data"])])],512)]),_:1})}}});exports.default=Pt;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function E(n){return function(){return n}}const T=Math.abs,L=Math.atan2,C=Math.cos,I=Math.max,R=Math.min,Z=Math.sin,j=Math.sqrt,k=1e-12,p=Math.PI,y=p/2,z=2*p;function Q(n){return n>1?0:n<-1?p:Math.acos(n)}function S(n){return n>=1?y:n<=-1?-y:Math.asin(n)}const m=Math.PI,b=2*m,u=1e-6,B=b-u;function q(n){this._+=n[0];for(let t=1,s=n.length;t<s;++t)this._+=arguments[t]+n[t]}function D(n){let t=Math.floor(n);if(!(t>=0))throw new Error(`invalid digits: ${n}`);if(t>15)return q;const s=10**t;return function(i){this._+=i[0];for(let h=1,a=i.length;h<a;++h)this._+=Math.round(arguments[h]*s)/s+i[h]}}class F{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?q:D(t)}moveTo(t,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+s}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,s){this._append`L${this._x1=+t},${this._y1=+s}`}quadraticCurveTo(t,s,i,h){this._append`Q${+t},${+s},${this._x1=+i},${this._y1=+h}`}bezierCurveTo(t,s,i,h,a,_){this._append`C${+t},${+s},${+i},${+h},${this._x1=+a},${this._y1=+_}`}arcTo(t,s,i,h,a){if(t=+t,s=+s,i=+i,h=+h,a=+a,a<0)throw new Error(`negative radius: ${a}`);let _=this._x1,c=this._y1,r=i-t,$=h-s,e=_-t,l=c-s,o=e*e+l*l;if(this._x1===null)this._append`M${this._x1=t},${this._y1=s}`;else if(o>u)if(!(Math.abs(l*r-$*e)>u)||!a)this._append`L${this._x1=t},${this._y1=s}`;else{let f=i-_,d=h-c,g=r*r+$*$,A=f*f+d*d,x=Math.sqrt(g),v=Math.sqrt(o),P=a*Math.tan((m-Math.acos((g+o-A)/(2*x*v)))/2),M=P/v,w=P/x;Math.abs(M-1)>u&&this._append`L${t+M*e},${s+M*l}`,this._append`A${a},${a},0,0,${+(l*f>e*d)},${this._x1=t+w*r},${this._y1=s+w*$}`}}arc(t,s,i,h,a,_){if(t=+t,s=+s,i=+i,_=!!_,i<0)throw new Error(`negative radius: ${i}`);let c=i*Math.cos(h),r=i*Math.sin(h),$=t+c,e=s+r,l=1^_,o=_?h-a:a-h;this._x1===null?this._append`M${$},${e}`:(Math.abs(this._x1-$)>u||Math.abs(this._y1-e)>u)&&this._append`L${$},${e}`,i&&(o<0&&(o=o%b+b),o>B?this._append`A${i},${i},0,1,${l},${t-c},${s-r}A${i},${i},0,1,${l},${this._x1=$},${this._y1=e}`:o>u&&this._append`A${i},${i},0,${+(o>=m)},${l},${this._x1=t+i*Math.cos(a)},${this._y1=s+i*Math.sin(a)}`)}rect(t,s,i,h){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+s}h${i=+i}v${+h}h${-i}Z`}toString(){return this._}}function G(n){let t=3;return n.digits=function(s){if(!arguments.length)return t;if(s==null)t=null;else{const i=Math.floor(s);if(!(i>=0))throw new RangeError(`invalid digits: ${s}`);t=i}return n},()=>new F(t)}function H(n){return typeof n=="object"&&"length"in n?n:Array.from(n)}exports.abs=T;exports.acos=Q;exports.array=H;exports.asin=S;exports.atan2=L;exports.constant=E;exports.cos=C;exports.epsilon=k;exports.halfPi=y;exports.max=I;exports.min=R;exports.pi=p;exports.sin=Z;exports.sqrt=j;exports.tau=z;exports.withPath=G;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
function C(n) {
|
|
2
|
+
return function() {
|
|
3
|
+
return n;
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
const j = Math.abs, k = Math.atan2, I = Math.cos, R = Math.max, Z = Math.min, z = Math.sin, Q = Math.sqrt, S = 1e-12, g = Math.PI, P = g / 2, B = 2 * g;
|
|
7
|
+
function D(n) {
|
|
8
|
+
return n > 1 ? 0 : n < -1 ? g : Math.acos(n);
|
|
9
|
+
}
|
|
10
|
+
function F(n) {
|
|
11
|
+
return n >= 1 ? P : n <= -1 ? -P : Math.asin(n);
|
|
12
|
+
}
|
|
13
|
+
const M = Math.PI, y = 2 * M, u = 1e-6, E = y - u;
|
|
14
|
+
function q(n) {
|
|
15
|
+
this._ += n[0];
|
|
16
|
+
for (let t = 1, i = n.length; t < i; ++t)
|
|
17
|
+
this._ += arguments[t] + n[t];
|
|
18
|
+
}
|
|
19
|
+
function T(n) {
|
|
20
|
+
let t = Math.floor(n);
|
|
21
|
+
if (!(t >= 0)) throw new Error(`invalid digits: ${n}`);
|
|
22
|
+
if (t > 15) return q;
|
|
23
|
+
const i = 10 ** t;
|
|
24
|
+
return function(s) {
|
|
25
|
+
this._ += s[0];
|
|
26
|
+
for (let h = 1, a = s.length; h < a; ++h)
|
|
27
|
+
this._ += Math.round(arguments[h] * i) / i + s[h];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
class L {
|
|
31
|
+
constructor(t) {
|
|
32
|
+
this._x0 = this._y0 = // start of current subpath
|
|
33
|
+
this._x1 = this._y1 = null, this._ = "", this._append = t == null ? q : T(t);
|
|
34
|
+
}
|
|
35
|
+
moveTo(t, i) {
|
|
36
|
+
this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +i}`;
|
|
37
|
+
}
|
|
38
|
+
closePath() {
|
|
39
|
+
this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._append`Z`);
|
|
40
|
+
}
|
|
41
|
+
lineTo(t, i) {
|
|
42
|
+
this._append`L${this._x1 = +t},${this._y1 = +i}`;
|
|
43
|
+
}
|
|
44
|
+
quadraticCurveTo(t, i, s, h) {
|
|
45
|
+
this._append`Q${+t},${+i},${this._x1 = +s},${this._y1 = +h}`;
|
|
46
|
+
}
|
|
47
|
+
bezierCurveTo(t, i, s, h, a, _) {
|
|
48
|
+
this._append`C${+t},${+i},${+s},${+h},${this._x1 = +a},${this._y1 = +_}`;
|
|
49
|
+
}
|
|
50
|
+
arcTo(t, i, s, h, a) {
|
|
51
|
+
if (t = +t, i = +i, s = +s, h = +h, a = +a, a < 0) throw new Error(`negative radius: ${a}`);
|
|
52
|
+
let _ = this._x1, p = this._y1, r = s - t, $ = h - i, e = _ - t, l = p - i, o = e * e + l * l;
|
|
53
|
+
if (this._x1 === null)
|
|
54
|
+
this._append`M${this._x1 = t},${this._y1 = i}`;
|
|
55
|
+
else if (o > u) if (!(Math.abs(l * r - $ * e) > u) || !a)
|
|
56
|
+
this._append`L${this._x1 = t},${this._y1 = i}`;
|
|
57
|
+
else {
|
|
58
|
+
let c = s - _, f = h - p, m = r * r + $ * $, A = c * c + f * f, b = Math.sqrt(m), x = Math.sqrt(o), v = a * Math.tan((M - Math.acos((m + o - A) / (2 * b * x))) / 2), d = v / x, w = v / b;
|
|
59
|
+
Math.abs(d - 1) > u && this._append`L${t + d * e},${i + d * l}`, this._append`A${a},${a},0,0,${+(l * c > e * f)},${this._x1 = t + w * r},${this._y1 = i + w * $}`;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
arc(t, i, s, h, a, _) {
|
|
63
|
+
if (t = +t, i = +i, s = +s, _ = !!_, s < 0) throw new Error(`negative radius: ${s}`);
|
|
64
|
+
let p = s * Math.cos(h), r = s * Math.sin(h), $ = t + p, e = i + r, l = 1 ^ _, o = _ ? h - a : a - h;
|
|
65
|
+
this._x1 === null ? this._append`M${$},${e}` : (Math.abs(this._x1 - $) > u || Math.abs(this._y1 - e) > u) && this._append`L${$},${e}`, s && (o < 0 && (o = o % y + y), o > E ? this._append`A${s},${s},0,1,${l},${t - p},${i - r}A${s},${s},0,1,${l},${this._x1 = $},${this._y1 = e}` : o > u && this._append`A${s},${s},0,${+(o >= M)},${l},${this._x1 = t + s * Math.cos(a)},${this._y1 = i + s * Math.sin(a)}`);
|
|
66
|
+
}
|
|
67
|
+
rect(t, i, s, h) {
|
|
68
|
+
this._append`M${this._x0 = this._x1 = +t},${this._y0 = this._y1 = +i}h${s = +s}v${+h}h${-s}Z`;
|
|
69
|
+
}
|
|
70
|
+
toString() {
|
|
71
|
+
return this._;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function G(n) {
|
|
75
|
+
let t = 3;
|
|
76
|
+
return n.digits = function(i) {
|
|
77
|
+
if (!arguments.length) return t;
|
|
78
|
+
if (i == null)
|
|
79
|
+
t = null;
|
|
80
|
+
else {
|
|
81
|
+
const s = Math.floor(i);
|
|
82
|
+
if (!(s >= 0)) throw new RangeError(`invalid digits: ${i}`);
|
|
83
|
+
t = s;
|
|
84
|
+
}
|
|
85
|
+
return n;
|
|
86
|
+
}, () => new L(t);
|
|
87
|
+
}
|
|
88
|
+
function H(n) {
|
|
89
|
+
return typeof n == "object" && "length" in n ? n : Array.from(n);
|
|
90
|
+
}
|
|
91
|
+
export {
|
|
92
|
+
j as a,
|
|
93
|
+
D as b,
|
|
94
|
+
H as c,
|
|
95
|
+
F as d,
|
|
96
|
+
k as e,
|
|
97
|
+
C as f,
|
|
98
|
+
I as g,
|
|
99
|
+
S as h,
|
|
100
|
+
P as i,
|
|
101
|
+
Z as j,
|
|
102
|
+
Q as k,
|
|
103
|
+
R as m,
|
|
104
|
+
g as p,
|
|
105
|
+
z as s,
|
|
106
|
+
B as t,
|
|
107
|
+
G as w
|
|
108
|
+
};
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { defineComponent as U, reactive as $, ref as k, resolveComponent as a, openBlock as m, createBlock as y, withCtx as i, createElementVNode as s, createElementBlock as S, createVNode as t, createTextVNode as l, toDisplayString as N, createCommentVNode as w } from "vue";
|
|
2
|
+
import { _ as D } from "./EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs";
|
|
3
|
+
import { useModuleRoute as j, useModule as W, useFirebaseIntegration as q } from "@oneclick.dev/cms-kit";
|
|
4
|
+
const z = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "max-w-2xl"
|
|
7
|
+
}, F = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "text-sm text-orange-500 mt-2"
|
|
10
|
+
}, H = { class: "space-y-3" }, O = { class: "flex items-center justify-between rounded-lg border p-4 bg-card" }, J = { class: "space-y-2" }, K = { class: "flex justify-start mt-8" }, h = /* @__PURE__ */ U({
|
|
11
|
+
__name: "availability",
|
|
12
|
+
setup(Q) {
|
|
13
|
+
const { params: g } = j(), { config: v } = W(), x = q(v.project), n = $({
|
|
14
|
+
minimumAdvanceNotice: {
|
|
15
|
+
value: 0,
|
|
16
|
+
unit: "minutes"
|
|
17
|
+
},
|
|
18
|
+
serviceVisibility: 60,
|
|
19
|
+
maxTicketsPerReservation: "",
|
|
20
|
+
needsApproval: !1
|
|
21
|
+
}), d = k(!1), V = k(!0), _ = async () => {
|
|
22
|
+
d.value = !0;
|
|
23
|
+
try {
|
|
24
|
+
const o = g.value.id;
|
|
25
|
+
if (!o) throw new Error("Missing agenda ID");
|
|
26
|
+
await x.update(v.agendaCollection, o, {
|
|
27
|
+
minimumAdvanceNotice: {
|
|
28
|
+
value: Number(n.minimumAdvanceNotice?.value) || 0,
|
|
29
|
+
unit: n.minimumAdvanceNotice?.unit ?? "minutes"
|
|
30
|
+
},
|
|
31
|
+
serviceVisibility: Math.max(Number(n.serviceVisibility) || 1, 1),
|
|
32
|
+
maxTicketsPerReservation: Math.max(Number(n.maxTicketsPerReservation) || 0, 0),
|
|
33
|
+
needsApproval: n.needsApproval || !1
|
|
34
|
+
});
|
|
35
|
+
} catch (o) {
|
|
36
|
+
console.error("Error saving changes:", o);
|
|
37
|
+
} finally {
|
|
38
|
+
d.value = !1;
|
|
39
|
+
}
|
|
40
|
+
}, M = async () => {
|
|
41
|
+
try {
|
|
42
|
+
const o = await x.get(v.agendaCollection, g.value.id);
|
|
43
|
+
o && (n.minimumAdvanceNotice = o.minimumAdvanceNotice || { value: 0, unit: "minutes" }, n.serviceVisibility = o.serviceVisibility || 60, n.maxTicketsPerReservation = Number(o.maxTicketsPerReservation) && o.maxTicketsPerReservation > 0 ? parseInt(o.maxTicketsPerReservation) : "", n.needsApproval = o.needsApproval || !1);
|
|
44
|
+
} catch (o) {
|
|
45
|
+
console.error("Error loading agenda data:", o);
|
|
46
|
+
} finally {
|
|
47
|
+
V.value = !1;
|
|
48
|
+
}
|
|
49
|
+
}, T = () => {
|
|
50
|
+
let o = Math.abs(n.minimumAdvanceNotice.value), e = n.minimumAdvanceNotice.unit;
|
|
51
|
+
return o === 1 ? (e.endsWith("s") && (e = e.slice(0, -1)), `Lead time is negative. Bookings remain open for 1 ${e} after the slot has started.`) : `Lead time is negative. Bookings remain open for ${o} ${e} after the slot has started.`;
|
|
52
|
+
};
|
|
53
|
+
return M(), (o, e) => {
|
|
54
|
+
const u = a("Label"), c = a("InputGroupInput"), C = a("Search"), p = a("InputGroupAddon"), I = a("SelectValue"), B = a("SelectTrigger"), f = a("SelectItem"), R = a("SelectGroup"), P = a("SelectContent"), G = a("Select"), b = a("InputGroup"), A = a("Badge"), L = a("Switch"), E = a("Button");
|
|
55
|
+
return m(), y(D, null, {
|
|
56
|
+
default: i(() => [
|
|
57
|
+
e[26] || (e[26] = s("h1", { class: "text-lg font-medium mb-8" }, "Availability Settings", -1)),
|
|
58
|
+
V.value ? w("", !0) : (m(), S("div", z, [
|
|
59
|
+
s("div", null, [
|
|
60
|
+
t(u, {
|
|
61
|
+
for: "lead-time",
|
|
62
|
+
class: "text-base font-medium mb-2"
|
|
63
|
+
}, {
|
|
64
|
+
default: i(() => [...e[6] || (e[6] = [
|
|
65
|
+
l(" Minimum Advance Notice - Lead Time (Optional) ", -1)
|
|
66
|
+
])]),
|
|
67
|
+
_: 1
|
|
68
|
+
}),
|
|
69
|
+
t(b, { class: "max-w-md" }, {
|
|
70
|
+
default: i(() => [
|
|
71
|
+
t(c, {
|
|
72
|
+
placeholder: "0",
|
|
73
|
+
id: "lead-time",
|
|
74
|
+
modelValue: n.minimumAdvanceNotice.value,
|
|
75
|
+
"onUpdate:modelValue": e[0] || (e[0] = (r) => n.minimumAdvanceNotice.value = r),
|
|
76
|
+
modelModifiers: { value: !0 },
|
|
77
|
+
type: "number",
|
|
78
|
+
class: "no-spinner"
|
|
79
|
+
}, null, 8, ["modelValue"]),
|
|
80
|
+
t(p, null, {
|
|
81
|
+
default: i(() => [
|
|
82
|
+
t(C)
|
|
83
|
+
]),
|
|
84
|
+
_: 1
|
|
85
|
+
}),
|
|
86
|
+
t(p, { align: "inline-end" }, {
|
|
87
|
+
default: i(() => [
|
|
88
|
+
t(G, {
|
|
89
|
+
modelValue: n.minimumAdvanceNotice.unit,
|
|
90
|
+
"onUpdate:modelValue": e[1] || (e[1] = (r) => n.minimumAdvanceNotice.unit = r)
|
|
91
|
+
}, {
|
|
92
|
+
default: i(() => [
|
|
93
|
+
t(B, { class: "w-[180px] border-0 bg-transparent -mr-1.5" }, {
|
|
94
|
+
default: i(() => [
|
|
95
|
+
t(I)
|
|
96
|
+
]),
|
|
97
|
+
_: 1
|
|
98
|
+
}),
|
|
99
|
+
t(P, null, {
|
|
100
|
+
default: i(() => [
|
|
101
|
+
t(R, null, {
|
|
102
|
+
default: i(() => [
|
|
103
|
+
t(f, { value: "minutes" }, {
|
|
104
|
+
default: i(() => [...e[7] || (e[7] = [
|
|
105
|
+
l(" Minutes ", -1)
|
|
106
|
+
])]),
|
|
107
|
+
_: 1
|
|
108
|
+
}),
|
|
109
|
+
t(f, { value: "hours" }, {
|
|
110
|
+
default: i(() => [...e[8] || (e[8] = [
|
|
111
|
+
l(" Hours ", -1)
|
|
112
|
+
])]),
|
|
113
|
+
_: 1
|
|
114
|
+
}),
|
|
115
|
+
t(f, { value: "days" }, {
|
|
116
|
+
default: i(() => [...e[9] || (e[9] = [
|
|
117
|
+
l(" Days ", -1)
|
|
118
|
+
])]),
|
|
119
|
+
_: 1
|
|
120
|
+
})
|
|
121
|
+
]),
|
|
122
|
+
_: 1
|
|
123
|
+
})
|
|
124
|
+
]),
|
|
125
|
+
_: 1
|
|
126
|
+
})
|
|
127
|
+
]),
|
|
128
|
+
_: 1
|
|
129
|
+
}, 8, ["modelValue"])
|
|
130
|
+
]),
|
|
131
|
+
_: 1
|
|
132
|
+
})
|
|
133
|
+
]),
|
|
134
|
+
_: 1
|
|
135
|
+
}),
|
|
136
|
+
e[10] || (e[10] = s("p", { class: "text-sm text-muted-foreground mt-2" }, " Set how far in advance a customer must book your slot. ", -1)),
|
|
137
|
+
n.minimumAdvanceNotice.value < 0 ? (m(), S("p", F, N(T()), 1)) : w("", !0)
|
|
138
|
+
]),
|
|
139
|
+
e[23] || (e[23] = s("hr", { class: "my-8" }, null, -1)),
|
|
140
|
+
s("div", null, [
|
|
141
|
+
t(u, {
|
|
142
|
+
for: "service-visibility",
|
|
143
|
+
class: "text-base font-medium mb-2"
|
|
144
|
+
}, {
|
|
145
|
+
default: i(() => [...e[11] || (e[11] = [
|
|
146
|
+
l(" Service Visibility ", -1)
|
|
147
|
+
])]),
|
|
148
|
+
_: 1
|
|
149
|
+
}),
|
|
150
|
+
t(b, { class: "max-w-md" }, {
|
|
151
|
+
default: i(() => [
|
|
152
|
+
t(c, {
|
|
153
|
+
id: "service-visibility",
|
|
154
|
+
modelValue: n.serviceVisibility,
|
|
155
|
+
"onUpdate:modelValue": e[2] || (e[2] = (r) => n.serviceVisibility = r),
|
|
156
|
+
modelModifiers: { number: !0 },
|
|
157
|
+
placeholder: "1",
|
|
158
|
+
type: "number",
|
|
159
|
+
class: "no-spinner",
|
|
160
|
+
min: "1",
|
|
161
|
+
onBlur: e[3] || (e[3] = (r) => n.serviceVisibility = Math.max(n.serviceVisibility, 1))
|
|
162
|
+
}, null, 8, ["modelValue"]),
|
|
163
|
+
t(p, { align: "inline-end" }, {
|
|
164
|
+
default: i(() => [...e[12] || (e[12] = [
|
|
165
|
+
l(" days ", -1)
|
|
166
|
+
])]),
|
|
167
|
+
_: 1
|
|
168
|
+
})
|
|
169
|
+
]),
|
|
170
|
+
_: 1
|
|
171
|
+
}),
|
|
172
|
+
e[13] || (e[13] = s("p", { class: "text-sm text-muted-foreground mt-2" }, " Set how many days in advance the service is visible to customers. ", -1))
|
|
173
|
+
]),
|
|
174
|
+
e[24] || (e[24] = s("hr", { class: "my-8" }, null, -1)),
|
|
175
|
+
s("div", null, [
|
|
176
|
+
t(u, {
|
|
177
|
+
for: "max-capacity",
|
|
178
|
+
class: "text-base font-medium mb-2"
|
|
179
|
+
}, {
|
|
180
|
+
default: i(() => [...e[14] || (e[14] = [
|
|
181
|
+
l(" Maximum Tickets Per Booking ", -1)
|
|
182
|
+
])]),
|
|
183
|
+
_: 1
|
|
184
|
+
}),
|
|
185
|
+
t(b, { class: "max-w-md" }, {
|
|
186
|
+
default: i(() => [
|
|
187
|
+
t(c, {
|
|
188
|
+
placeholder: "∞",
|
|
189
|
+
type: "number",
|
|
190
|
+
id: "max-capacity",
|
|
191
|
+
class: "no-spinner",
|
|
192
|
+
min: "1",
|
|
193
|
+
modelValue: n.maxTicketsPerReservation,
|
|
194
|
+
"onUpdate:modelValue": e[4] || (e[4] = (r) => n.maxTicketsPerReservation = r),
|
|
195
|
+
modelModifiers: { number: !0 }
|
|
196
|
+
}, null, 8, ["modelValue"]),
|
|
197
|
+
t(p, { align: "inline-end" }, {
|
|
198
|
+
default: i(() => [...e[15] || (e[15] = [
|
|
199
|
+
l(" spots ", -1)
|
|
200
|
+
])]),
|
|
201
|
+
_: 1
|
|
202
|
+
})
|
|
203
|
+
]),
|
|
204
|
+
_: 1
|
|
205
|
+
}),
|
|
206
|
+
e[16] || (e[16] = s("p", { class: "text-sm text-muted-foreground mt-2" }, " Limit how many spots a customer can book in a single reservation. ", -1))
|
|
207
|
+
]),
|
|
208
|
+
e[25] || (e[25] = s("hr", { class: "my-8" }, null, -1)),
|
|
209
|
+
s("div", H, [
|
|
210
|
+
s("div", null, [
|
|
211
|
+
t(u, { class: "text-base font-medium" }, {
|
|
212
|
+
default: i(() => [...e[17] || (e[17] = [
|
|
213
|
+
l("Booking Approval", -1)
|
|
214
|
+
])]),
|
|
215
|
+
_: 1
|
|
216
|
+
}),
|
|
217
|
+
e[18] || (e[18] = s("p", { class: "text-sm text-muted-foreground" }, " Choose whether you want to confirm booking requests manually or accept them automatically. ", -1))
|
|
218
|
+
]),
|
|
219
|
+
s("div", O, [
|
|
220
|
+
s("div", J, [
|
|
221
|
+
t(u, { class: "text-sm font-semibold" }, {
|
|
222
|
+
default: i(() => [...e[19] || (e[19] = [
|
|
223
|
+
l("Enable Manual Approval", -1)
|
|
224
|
+
])]),
|
|
225
|
+
_: 1
|
|
226
|
+
}),
|
|
227
|
+
e[22] || (e[22] = s("p", { class: "text-xs text-muted-foreground max-w-[300px]" }, " When enabled, you must approve bookings within your dashboard before they are finalized. ", -1)),
|
|
228
|
+
n.needsApproval ? (m(), y(A, { key: 0 }, {
|
|
229
|
+
default: i(() => [...e[20] || (e[20] = [
|
|
230
|
+
l("Status: Manual Review", -1)
|
|
231
|
+
])]),
|
|
232
|
+
_: 1
|
|
233
|
+
})) : (m(), y(A, {
|
|
234
|
+
key: 1,
|
|
235
|
+
variant: "secondary"
|
|
236
|
+
}, {
|
|
237
|
+
default: i(() => [...e[21] || (e[21] = [
|
|
238
|
+
l("Status: Auto-Confirm", -1)
|
|
239
|
+
])]),
|
|
240
|
+
_: 1
|
|
241
|
+
}))
|
|
242
|
+
]),
|
|
243
|
+
t(L, {
|
|
244
|
+
modelValue: n.needsApproval,
|
|
245
|
+
"onUpdate:modelValue": e[5] || (e[5] = (r) => n.needsApproval = r)
|
|
246
|
+
}, null, 8, ["modelValue"])
|
|
247
|
+
])
|
|
248
|
+
]),
|
|
249
|
+
s("div", K, [
|
|
250
|
+
t(E, {
|
|
251
|
+
onClick: _,
|
|
252
|
+
disabled: d.value
|
|
253
|
+
}, {
|
|
254
|
+
default: i(() => [
|
|
255
|
+
l(N(d.value ? "Saving..." : "Save Changes"), 1)
|
|
256
|
+
]),
|
|
257
|
+
_: 1
|
|
258
|
+
}, 8, ["disabled"])
|
|
259
|
+
])
|
|
260
|
+
]))
|
|
261
|
+
]),
|
|
262
|
+
_: 1
|
|
263
|
+
});
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
export {
|
|
268
|
+
h as default
|
|
269
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js"),c=require("@oneclick.dev/cms-kit"),E={key:0,class:"max-w-2xl"},B={key:0,class:"text-sm text-orange-500 mt-2"},M={class:"space-y-3"},h={class:"flex items-center justify-between rounded-lg border p-4 bg-card"},I={class:"space-y-2"},P={class:"flex justify-start mt-8"},R=e.defineComponent({__name:"availability",setup(L){const{params:p}=c.useModuleRoute(),{config:r}=c.useModule(),v=c.useFirebaseIntegration(r.project),o=e.reactive({minimumAdvanceNotice:{value:0,unit:"minutes"},serviceVisibility:60,maxTicketsPerReservation:"",needsApproval:!1}),l=e.ref(!1),V=e.ref(!0),N=async()=>{l.value=!0;try{const n=p.value.id;if(!n)throw new Error("Missing agenda ID");await v.update(r.agendaCollection,n,{minimumAdvanceNotice:{value:Number(o.minimumAdvanceNotice?.value)||0,unit:o.minimumAdvanceNotice?.unit??"minutes"},serviceVisibility:Math.max(Number(o.serviceVisibility)||1,1),maxTicketsPerReservation:Math.max(Number(o.maxTicketsPerReservation)||0,0),needsApproval:o.needsApproval||!1})}catch(n){console.error("Error saving changes:",n)}finally{l.value=!1}},f=async()=>{try{const n=await v.get(r.agendaCollection,p.value.id);n&&(o.minimumAdvanceNotice=n.minimumAdvanceNotice||{value:0,unit:"minutes"},o.serviceVisibility=n.serviceVisibility||60,o.maxTicketsPerReservation=Number(n.maxTicketsPerReservation)&&n.maxTicketsPerReservation>0?parseInt(n.maxTicketsPerReservation):"",o.needsApproval=n.needsApproval||!1)}catch(n){console.error("Error loading agenda data:",n)}finally{V.value=!1}},y=()=>{let n=Math.abs(o.minimumAdvanceNotice.value),t=o.minimumAdvanceNotice.unit;return n===1?(t.endsWith("s")&&(t=t.slice(0,-1)),`Lead time is negative. Bookings remain open for 1 ${t} after the slot has started.`):`Lead time is negative. Bookings remain open for ${n} ${t} after the slot has started.`};return f(),(n,t)=>{const i=e.resolveComponent("Label"),d=e.resolveComponent("InputGroupInput"),b=e.resolveComponent("Search"),s=e.resolveComponent("InputGroupAddon"),g=e.resolveComponent("SelectValue"),C=e.resolveComponent("SelectTrigger"),m=e.resolveComponent("SelectItem"),w=e.resolveComponent("SelectGroup"),k=e.resolveComponent("SelectContent"),S=e.resolveComponent("Select"),u=e.resolveComponent("InputGroup"),x=e.resolveComponent("Badge"),A=e.resolveComponent("Switch"),T=e.resolveComponent("Button");return e.openBlock(),e.createBlock(_._sfc_main,null,{default:e.withCtx(()=>[t[26]||(t[26]=e.createElementVNode("h1",{class:"text-lg font-medium mb-8"},"Availability Settings",-1)),V.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",null,[e.createVNode(i,{for:"lead-time",class:"text-base font-medium mb-2"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Minimum Advance Notice - Lead Time (Optional) ",-1)])]),_:1}),e.createVNode(u,{class:"max-w-md"},{default:e.withCtx(()=>[e.createVNode(d,{placeholder:"0",id:"lead-time",modelValue:o.minimumAdvanceNotice.value,"onUpdate:modelValue":t[0]||(t[0]=a=>o.minimumAdvanceNotice.value=a),modelModifiers:{value:!0},type:"number",class:"no-spinner"},null,8,["modelValue"]),e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(b)]),_:1}),e.createVNode(s,{align:"inline-end"},{default:e.withCtx(()=>[e.createVNode(S,{modelValue:o.minimumAdvanceNotice.unit,"onUpdate:modelValue":t[1]||(t[1]=a=>o.minimumAdvanceNotice.unit=a)},{default:e.withCtx(()=>[e.createVNode(C,{class:"w-[180px] border-0 bg-transparent -mr-1.5"},{default:e.withCtx(()=>[e.createVNode(g)]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(m,{value:"minutes"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Minutes ",-1)])]),_:1}),e.createVNode(m,{value:"hours"},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode(" Hours ",-1)])]),_:1}),e.createVNode(m,{value:"days"},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode(" Days ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),t[10]||(t[10]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mt-2"}," Set how far in advance a customer must book your slot. ",-1)),o.minimumAdvanceNotice.value<0?(e.openBlock(),e.createElementBlock("p",B,e.toDisplayString(y()),1)):e.createCommentVNode("",!0)]),t[23]||(t[23]=e.createElementVNode("hr",{class:"my-8"},null,-1)),e.createElementVNode("div",null,[e.createVNode(i,{for:"service-visibility",class:"text-base font-medium mb-2"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" Service Visibility ",-1)])]),_:1}),e.createVNode(u,{class:"max-w-md"},{default:e.withCtx(()=>[e.createVNode(d,{id:"service-visibility",modelValue:o.serviceVisibility,"onUpdate:modelValue":t[2]||(t[2]=a=>o.serviceVisibility=a),modelModifiers:{number:!0},placeholder:"1",type:"number",class:"no-spinner",min:"1",onBlur:t[3]||(t[3]=a=>o.serviceVisibility=Math.max(o.serviceVisibility,1))},null,8,["modelValue"]),e.createVNode(s,{align:"inline-end"},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode(" days ",-1)])]),_:1})]),_:1}),t[13]||(t[13]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mt-2"}," Set how many days in advance the service is visible to customers. ",-1))]),t[24]||(t[24]=e.createElementVNode("hr",{class:"my-8"},null,-1)),e.createElementVNode("div",null,[e.createVNode(i,{for:"max-capacity",class:"text-base font-medium mb-2"},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" Maximum Tickets Per Booking ",-1)])]),_:1}),e.createVNode(u,{class:"max-w-md"},{default:e.withCtx(()=>[e.createVNode(d,{placeholder:"∞",type:"number",id:"max-capacity",class:"no-spinner",min:"1",modelValue:o.maxTicketsPerReservation,"onUpdate:modelValue":t[4]||(t[4]=a=>o.maxTicketsPerReservation=a),modelModifiers:{number:!0}},null,8,["modelValue"]),e.createVNode(s,{align:"inline-end"},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode(" spots ",-1)])]),_:1})]),_:1}),t[16]||(t[16]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mt-2"}," Limit how many spots a customer can book in a single reservation. ",-1))]),t[25]||(t[25]=e.createElementVNode("hr",{class:"my-8"},null,-1)),e.createElementVNode("div",M,[e.createElementVNode("div",null,[e.createVNode(i,{class:"text-base font-medium"},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode("Booking Approval",-1)])]),_:1}),t[18]||(t[18]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"}," Choose whether you want to confirm booking requests manually or accept them automatically. ",-1))]),e.createElementVNode("div",h,[e.createElementVNode("div",I,[e.createVNode(i,{class:"text-sm font-semibold"},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode("Enable Manual Approval",-1)])]),_:1}),t[22]||(t[22]=e.createElementVNode("p",{class:"text-xs text-muted-foreground max-w-[300px]"}," When enabled, you must approve bookings within your dashboard before they are finalized. ",-1)),o.needsApproval?(e.openBlock(),e.createBlock(x,{key:0},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode("Status: Manual Review",-1)])]),_:1})):(e.openBlock(),e.createBlock(x,{key:1,variant:"secondary"},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode("Status: Auto-Confirm",-1)])]),_:1}))]),e.createVNode(A,{modelValue:o.needsApproval,"onUpdate:modelValue":t[5]||(t[5]=a=>o.needsApproval=a)},null,8,["modelValue"])])]),e.createElementVNode("div",P,[e.createVNode(T,{onClick:N,disabled:l.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value?"Saving...":"Save Changes"),1)]),_:1},8,["disabled"])])]))]),_:1})}}});exports.default=R;
|