@oneclick.dev/cms-core-modules 0.0.109 → 0.0.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Acquisition-DgzDQH51.js +1 -0
- package/dist/Acquisition-FV3QpaUX.mjs +400 -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-BSgNvcVb.js +1 -0
- package/dist/Audience-ka0b7YPE.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-pZPfo0qN.mjs +30802 -0
- package/dist/ContentEditor-tYkh4vRV.js +462 -0
- package/dist/CountryBreakdownCard-D7BK3nRD.js +1 -0
- package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +196 -0
- package/dist/Create--MOBOTA-.js +1 -0
- package/dist/Create-BXNLRQag.mjs +1251 -0
- package/dist/DateFormatter-CSAbE3BC.js +1 -0
- package/dist/DateFormatter-qbhRYxI_.mjs +738 -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-C8wQiDcv.js +1 -0
- package/dist/Detail-CPqug27l.js +1 -0
- package/dist/Detail-ChD5XurA.mjs +379 -0
- package/dist/Detail-CjuhjPby.js +1 -0
- package/dist/Detail-DnX7tsqN.mjs +649 -0
- package/dist/Detail-RISEJJab.js +1 -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-zN_dKz4p.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-Baqy-rTT.js +1 -0
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +1263 -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-98nkJUWN.mjs +481 -0
- package/dist/Overview-BCpJNiEB.mjs +190 -0
- package/dist/Overview-BDlBCUI_.js +1 -0
- package/dist/Overview-BR_y8x3W.mjs +860 -0
- package/dist/Overview-BbvfH1u-.js +1 -0
- package/dist/Overview-Bn1Xx3_j.js +1 -0
- package/dist/Overview-CIa1E-HH.mjs +178 -0
- package/dist/Overview-CX-n6W7d.js +1 -0
- package/dist/Overview-DAxCu9XC.js +1 -0
- package/dist/Overview-Dl8cMlsr.js +1 -0
- package/dist/Overview-MpgkLB6m.mjs +567 -0
- package/dist/Overview-Su8ZUbMs.mjs +26 -0
- package/dist/Overview-T-lsy3UZ.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-C5npw7mE.js +1 -0
- package/dist/SeoHealth-bVQj_Xgm.mjs +615 -0
- package/dist/TableView-Bf1fdJrD.mjs +6159 -0
- package/dist/TableView-DNcXyIMu.js +4 -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-BaJu3-1c.js +1 -0
- package/dist/agenda-BwVY_8oM.mjs +1165 -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-B6P9UiCj.js +1 -0
- package/dist/exceptions-De9-FvdP.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-B8GvmAwh.mjs +1403 -0
- package/dist/index-BIF2RB7k.mjs +2836 -0
- package/dist/index-BWDwEd8D.mjs +24 -0
- package/dist/index-BfBBm9uY.mjs +24 -0
- package/dist/index-Bkq58CeQ.mjs +22 -0
- package/dist/index-ByRsp77L.js +70 -0
- package/dist/index-CFzn2Lus.mjs +172 -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-CkVwMqpn.mjs +3857 -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-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-DFQGVHTs.js +1 -0
- package/dist/index-DL6orwdK.js +35 -0
- package/dist/index-DPd3waTN.js +1 -0
- package/dist/index-DRqJOqUR.mjs +3484 -0
- package/dist/index-DUlYrnXH.js +58 -0
- package/dist/index-DZV720u-.mjs +439 -0
- package/dist/index-D_nfGegA.js +184 -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-DtSvAFLL.js +54 -0
- package/dist/index-L54VBzwJ.mjs +109 -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-cOnxXTbF.mjs +24 -0
- package/dist/index-hH3e-IYz.mjs +1187 -0
- package/dist/index-hlylYYgy.mjs +24 -0
- package/dist/index-ijdf0d9-.js +1 -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/math-BJ-oX_IM.mjs +80 -0
- package/dist/math-emotyaF6.js +1 -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-CxeFd57z.js +1 -0
- package/dist/resources-DwYxn2Vi.mjs +811 -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/ScopedSelectAll.d.ts +1 -2
- 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-extensions/helpers/useFocus.d.ts +1 -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,25 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),U=require("@oneclick.dev/cms-kit"),m=require("lucide-vue-next"),h={class:"grid py-4"},A={class:"grid grid-cols-2 gap-2 mb-6"},R={class:"relative"},L={class:"grid grid-cols-3 gap-2 mb-6"},_={class:"relative"},I={class:"relative"},M={class:"relative"},O={class:"grid grid-cols-1 gap-2 mb-6"},G={class:"relative"},J={class:"flex items-center space-x-2"},P={class:"flex items-center space-x-2"},H={class:"grid grid-cols-2 gap-2 mb-6"},j={key:0},q={class:"relative"},K={key:1},Q={class:"relative"},W={key:0,class:"bg-muted px-4 py-2 rounded-md text-sm"},X=e.defineComponent({__name:"SectionStyleDialog",props:{buttons:{type:Array,default:()=>[]}},emits:["add","edit","delete"],setup(S,{expose:F,emit:g}){const{confirm:b}=U.useConfirmation(),V=g,x=e.ref(!1),v=e.ref("create"),i=e.ref(null),d=e.ref(!1),t=e.reactive({name:"",rendering:"class",className:"",componentName:"",styles:{backgroundColor:"#FFFFFF",titleColor:"#000000",textColor:"#000000"}}),T=f=>{f?(v.value="edit",i.value=f.id,d.value=f.id==="DEFAULT",t.name=f.name||"",t.rendering=f.rendering||"class",t.className=f.className||"",t.componentName=f.componentName||"",t.styles.backgroundColor=f.styles.backgroundColor||"#FFFFFF",t.styles.titleColor=f.styles.titleColor||"#000000",t.styles.textColor=f.styles.textColor||"#000000"):(v.value="create",i.value=null,d.value=!1,t.name="",t.rendering="class",t.className="",t.componentName="",t.styles.backgroundColor="#FFFFFF",t.styles.titleColor="#000000",t.styles.textColor="#000000"),x.value=!0},B=()=>{V("add",t),x.value=!1},w=()=>{d.value&&(t.name="Default"),V("edit",{id:i.value,...t}),x.value=!1},D=async()=>{if(d.value)return;await b("Are you sure you want to delete this theme? This action cannot be undone.","Delete Theme","Delete")&&(V("delete",i.value),x.value=!1)},$=()=>{t.styles.backgroundColor="#FFFFFF",t.styles.titleColor="#000000",t.styles.textColor="#000000"};return F({openDialog:T}),(f,r)=>{const a=e.resolveComponent("DialogTitle"),o=e.resolveComponent("DialogDescription"),z=e.resolveComponent("DialogHeader"),k=e.resolveComponent("Label"),N=e.resolveComponent("Input"),p=e.resolveComponent("RadioGroupItem"),C=e.resolveComponent("RadioGroup"),E=e.resolveComponent("Button"),s=e.resolveComponent("DialogFooter"),l=e.resolveComponent("DialogScrollContent"),u=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(u,{open:x.value,"onUpdate:open":r[10]||(r[10]=c=>x.value=c)},{default:e.withCtx(()=>[e.createVNode(l,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(z,null,{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value==="create"?"Add New Section Style":"Edit Section Style"),1)]),_:1}),e.createVNode(o,null,{default:e.withCtx(()=>[...r[11]||(r[11]=[e.createTextVNode(" These settings change how this section looks in the editor. To style your live site, add matching CSS or use a custom component. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",h,[e.createElementVNode("div",A,[e.createElementVNode("div",null,[e.createVNode(k,{class:"mb-2",for:"collection-theme-dialog-theme-name"},{default:e.withCtx(()=>[...r[12]||(r[12]=[e.createTextVNode("Display name",-1)])]),_:1}),e.createElementVNode("div",R,[e.createVNode(N,{modelValue:t.name,"onUpdate:modelValue":r[0]||(r[0]=c=>t.name=c),id:"collection-theme-dialog-theme-name",disabled:d.value},null,8,["modelValue","disabled"])])])]),r[21]||(r[21]=e.createElementVNode("h2",{class:"font-semibold mb-4"},"Style Settings",-1)),e.createElementVNode("div",L,[e.createElementVNode("div",null,[e.createVNode(k,{class:"mb-2",for:"collection-theme-dialog-background-color"},{default:e.withCtx(()=>[...r[13]||(r[13]=[e.createTextVNode("Background color",-1)])]),_:1}),e.createElementVNode("div",_,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[1]||(r[1]=c=>t.styles.backgroundColor=c),type:"color",label:"Primary Color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.backgroundColor]]),e.createVNode(N,{modelValue:t.styles.backgroundColor,"onUpdate:modelValue":r[2]||(r[2]=c=>t.styles.backgroundColor=c),class:"pl-12",id:"collection-theme-dialog-background-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(k,{class:"mb-2",for:"collection-theme-dialog-title-color"},{default:e.withCtx(()=>[...r[14]||(r[14]=[e.createTextVNode("Heading color",-1)])]),_:1}),e.createElementVNode("div",I,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[3]||(r[3]=c=>t.styles.titleColor=c),type:"color",label:"Primary Color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.titleColor]]),e.createVNode(N,{modelValue:t.styles.titleColor,"onUpdate:modelValue":r[4]||(r[4]=c=>t.styles.titleColor=c),class:"pl-12",id:"collection-theme-dialog-title-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(k,{class:"mb-2",for:"collection-theme-dialog-text-color"},{default:e.withCtx(()=>[...r[15]||(r[15]=[e.createTextVNode("Body text color",-1)])]),_:1}),e.createElementVNode("div",M,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":r[5]||(r[5]=c=>t.styles.textColor=c),type:"color",label:"Primary Color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.textColor]]),e.createVNode(N,{modelValue:t.styles.textColor,"onUpdate:modelValue":r[6]||(r[6]=c=>t.styles.textColor=c),class:"pl-12",id:"collection-theme-dialog-text-color"},null,8,["modelValue"])])])]),r[22]||(r[22]=e.createElementVNode("h2",{class:"font-semibold mb-4"},"Rendering Method",-1)),e.createElementVNode("div",O,[e.createElementVNode("div",null,[e.createElementVNode("div",G,[e.createVNode(k,{class:"mb-4 text-muted-foreground"},{default:e.withCtx(()=>[...r[16]||(r[16]=[e.createTextVNode("Choose how this section should be styled on your site:",-1)])]),_:1}),e.createVNode(C,{modelValue:t.rendering,"onUpdate:modelValue":r[7]||(r[7]=c=>t.rendering=c),"default-value":"class"},{default:e.withCtx(()=>[e.createElementVNode("div",J,[e.createVNode(p,{id:"collection-theme-dialog-render-class",value:"class"}),e.createVNode(k,{for:"collection-theme-dialog-render-class"},{default:e.withCtx(()=>[...r[17]||(r[17]=[e.createTextVNode("Use a CSS class",-1)])]),_:1})]),e.createElementVNode("div",P,[e.createVNode(p,{id:"collection-theme-dialog-render-component",value:"component"}),e.createVNode(k,{for:"collection-theme-dialog-render-component"},{default:e.withCtx(()=>[...r[18]||(r[18]=[e.createTextVNode("Custom component",-1)])]),_:1})])]),_:1},8,["modelValue"])])])]),e.createElementVNode("div",H,[t.rendering==="class"?(e.openBlock(),e.createElementBlock("div",j,[e.createVNode(k,{class:"mb-2",for:"collection-theme-dialog-class-name"},{default:e.withCtx(()=>[...r[19]||(r[19]=[e.createTextVNode("Class name",-1)])]),_:1}),e.createElementVNode("div",q,[e.createVNode(N,{modelValue:t.className,"onUpdate:modelValue":r[8]||(r[8]=c=>t.className=c),id:"collection-theme-dialog-class-name"},null,8,["modelValue"])])])):(e.openBlock(),e.createElementBlock("div",K,[e.createVNode(k,{class:"mb-2",for:"collection-theme-dialog-component-name"},{default:e.withCtx(()=>[...r[20]||(r[20]=[e.createTextVNode("Component name",-1)])]),_:1}),e.createElementVNode("div",Q,[e.createVNode(N,{modelValue:t.componentName,"onUpdate:modelValue":r[9]||(r[9]=c=>t.componentName=c),id:"collection-theme-dialog-component-name"},null,8,["modelValue"])])]))]),t.rendering==="class"?(e.openBlock(),e.createElementBlock("pre",W,"."+e.toDisplayString(t.className)+` {
|
|
2
|
+
background-color: `+e.toDisplayString(t.styles.backgroundColor)+`;
|
|
3
|
+
color: `+e.toDisplayString(t.styles.textColor)+`;
|
|
4
|
+
|
|
5
|
+
h1, h2, h3, h4, h5, h6 {
|
|
6
|
+
color: `+e.toDisplayString(t.styles.titleColor)+`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
`,1)):e.createCommentVNode("",!0)]),e.createVNode(s,null,{default:e.withCtx(()=>[v.value==="edit"&&!d.value?(e.openBlock(),e.createBlock(E,{key:0,variant:"destructive",class:"mr-auto",onClick:D},{default:e.withCtx(()=>[...r[23]||(r[23]=[e.createTextVNode(" Delete Style ",-1)])]),_:1})):e.createCommentVNode("",!0),v.value==="edit"&&d.value?(e.openBlock(),e.createBlock(E,{key:1,variant:"outline",class:"mr-auto",onClick:$},{default:e.withCtx(()=>[...r[24]||(r[24]=[e.createTextVNode(" Reset to Default ",-1)])]),_:1})):e.createCommentVNode("",!0),v.value==="create"?(e.openBlock(),e.createBlock(E,{key:2,type:"submit",onClick:B},{default:e.withCtx(()=>[...r[25]||(r[25]=[e.createTextVNode(" Add Style ",-1)])]),_:1})):(e.openBlock(),e.createBlock(E,{key:3,type:"submit",onClick:w},{default:e.withCtx(()=>[...r[26]||(r[26]=[e.createTextVNode(" Save Changes ",-1)])]),_:1}))]),_:1})]),_:1})]),_:1},8,["open"])}}}),Y={class:"grid py-4"},Z={class:"grid grid-cols-2 gap-2 mb-6"},ee={class:"relative"},te={class:"grid grid-cols-3 gap-2 mb-6"},oe={class:"relative"},le={class:"relative"},se={class:"relative"},ne={class:"grid grid-cols-1 gap-2 mb-6"},re={class:"relative"},ae={class:"flex items-center space-x-2"},de={class:"flex items-center space-x-2"},ie={class:"grid grid-cols-2 gap-2 mb-6"},ce={key:0},ue={class:"relative"},me={key:1},pe={class:"relative"},ye={key:0,class:"bg-muted px-4 py-2 rounded-md text-sm"},xe=e.defineComponent({__name:"ButtonStyleDialog",props:{defaultBackground:{type:String,default:"#FFFFFF"}},emits:["add","edit","delete"],setup(S,{expose:F,emit:g}){const{confirm:b}=U.useConfirmation(),V=g,x=e.ref(!1),v=e.ref("create"),i=e.ref(null),d=e.ref(!1),t=e.reactive({name:"",rendering:"class",className:"",componentName:"",styles:{backgroundColor:"#FFFFFF",textColor:"#000000",borderColor:"#000000",buttonRoundness:"none",buttonStyle:"default"}}),T=a=>{a?(v.value="edit",i.value=a.id,d.value=a.id==="DEFAULT",t.name=a.name||"",t.rendering=a.rendering||"class",t.className=a.className||"",t.componentName=a.componentName||"",t.styles.backgroundColor=a.styles.backgroundColor||"#FFFFFF",t.styles.textColor=a.styles.textColor||"#000000",t.styles.borderColor=a.styles.borderColor||"#000000",t.styles.buttonRoundness=a.styles.buttonRoundness||"none",t.styles.buttonStyle=a.styles.buttonStyle||"default"):(v.value="create",i.value=null,d.value=!1,t.name="",t.rendering="class",t.className="",t.componentName="",t.styles.backgroundColor="#FFFFFF",t.styles.textColor="#000000",t.styles.borderColor="#000000",t.styles.buttonRoundness="none",t.styles.buttonStyle="default"),x.value=!0},B=()=>{V("add",t),x.value=!1},w=()=>{d.value&&(t.name="Default"),V("edit",{id:i.value,...t}),x.value=!1},D=async()=>{if(d.value)return;await b("Are you sure you want to delete this theme? This action cannot be undone.","Delete Theme","Delete")&&(V("delete",i.value),x.value=!1)},$=()=>{t.styles.backgroundColor="#FFFFFF",t.styles.textColor="#000000",t.styles.borderColor="#000000",t.styles.buttonRoundness="none",t.styles.buttonStyle="default"},f=a=>{switch(a){case"none":return 0;case"small":return 8;case"medium":return 12;case"pill":return 99;default:return 0}},r=e.computed(()=>{let a="."+t.className+` {
|
|
10
|
+
`;return a+=` background-color: ${t.styles.backgroundColor};
|
|
11
|
+
`,a+=` color: ${t.styles.textColor};
|
|
12
|
+
`,t.styles.buttonStyle==="outline"?a+=` border: 1px solid ${t.styles.borderColor};
|
|
13
|
+
`:t.styles.buttonStyle==="shadow"?a+=` box-shadow: 0 3px 6px #ccc;
|
|
14
|
+
`:t.styles.buttonStyle==="retro"&&(a+=` box-shadow: inset 0 0 0 2px ${t.styles.borderColor}, 2px 2px 0 ${t.styles.borderColor};
|
|
15
|
+
`),t.styles.buttonRoundness!=="none"&&(a+=` border-radius: ${f(t.styles.buttonRoundness)}px;
|
|
16
|
+
`),a+=`}
|
|
17
|
+
`,a});return F({openDialog:T}),(a,o)=>{const z=e.resolveComponent("DialogTitle"),k=e.resolveComponent("DialogDescription"),N=e.resolveComponent("DialogHeader"),p=e.resolveComponent("Label"),C=e.resolveComponent("Input"),E=e.resolveComponent("RadioGroupItem"),s=e.resolveComponent("RadioGroup"),l=e.resolveComponent("Button"),u=e.resolveComponent("DialogFooter"),c=e.resolveComponent("DialogScrollContent"),y=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(y,{open:x.value,"onUpdate:open":o[18]||(o[18]=n=>x.value=n)},{default:e.withCtx(()=>[e.createVNode(c,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(z,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value==="create"?"Add New Button Style":"Edit Button Style"),1)]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[...o[19]||(o[19]=[e.createTextVNode(" These settings change how this section looks in the editor. To style your live site, add matching CSS or use a custom component. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Y,[e.createElementVNode("div",Z,[e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-theme-name"},{default:e.withCtx(()=>[...o[20]||(o[20]=[e.createTextVNode("Display name",-1)])]),_:1}),e.createElementVNode("div",ee,[e.createVNode(C,{modelValue:t.name,"onUpdate:modelValue":o[0]||(o[0]=n=>t.name=n),id:"collection-theme-dialog-theme-name",disabled:d.value},null,8,["modelValue","disabled"])])])]),o[38]||(o[38]=e.createElementVNode("h2",{class:"font-semibold mb-4"},"Style Settings",-1)),e.createElementVNode("div",te,[e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-background-color"},{default:e.withCtx(()=>[...o[21]||(o[21]=[e.createTextVNode("Background color",-1)])]),_:1}),e.createElementVNode("div",oe,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[1]||(o[1]=n=>t.styles.backgroundColor=n),type:"color",label:"Primary Color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.backgroundColor]]),e.createVNode(C,{modelValue:t.styles.backgroundColor,"onUpdate:modelValue":o[2]||(o[2]=n=>t.styles.backgroundColor=n),class:"pl-12",id:"collection-theme-dialog-background-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-text-color"},{default:e.withCtx(()=>[...o[22]||(o[22]=[e.createTextVNode("Text color",-1)])]),_:1}),e.createElementVNode("div",le,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[3]||(o[3]=n=>t.styles.textColor=n),type:"color",label:"Primary Color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.textColor]]),e.createVNode(C,{modelValue:t.styles.textColor,"onUpdate:modelValue":o[4]||(o[4]=n=>t.styles.textColor=n),class:"pl-12",id:"collection-theme-dialog-text-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-border-color"},{default:e.withCtx(()=>[...o[23]||(o[23]=[e.createTextVNode("Border color",-1)])]),_:1}),e.createElementVNode("div",se,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[5]||(o[5]=n=>t.styles.borderColor=n),type:"color",label:"Primary Color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.borderColor]]),e.createVNode(C,{modelValue:t.styles.borderColor,"onUpdate:modelValue":o[6]||(o[6]=n=>t.styles.borderColor=n),class:"pl-12",id:"collection-theme-dialog-border-color"},null,8,["modelValue"])])])]),e.createElementVNode("div",{style:e.normalizeStyle(`--button-background-color: ${t.styles.backgroundColor}; --button-text-color: ${t.styles.textColor}`)},[e.createVNode(p,{class:"mb-4"},{default:e.withCtx(()=>[...o[24]||(o[24]=[e.createTextVNode("Shape",-1)])]),_:1}),e.createElementVNode("div",{class:"grid grid-cols-4 gap-4 mb-6 p-2 rounded",style:e.normalizeStyle({backgroundColor:S.defaultBackground})},[e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[7]||(o[7]=n=>t.styles.buttonRoundness="none")},[o[25]||(o[25]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)]"},"Button",-1)),t.styles.buttonRoundness!=="none"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[8]||(o[8]=n=>t.styles.buttonRoundness="small")},[o[26]||(o[26]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[8px]"},"Button",-1)),t.styles.buttonRoundness!=="small"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[9]||(o[9]=n=>t.styles.buttonRoundness="medium")},[o[27]||(o[27]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[12px]"},"Button",-1)),t.styles.buttonRoundness!=="medium"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[10]||(o[10]=n=>t.styles.buttonRoundness="pill")},[o[28]||(o[28]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[99px]"},"Button",-1)),t.styles.buttonRoundness!=="pill"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))])],4),e.createVNode(p,{class:"mb-4"},{default:e.withCtx(()=>[...o[29]||(o[29]=[e.createTextVNode("Style",-1)])]),_:1}),e.createElementVNode("div",{class:"grid grid-cols-4 gap-4 mb-6 p-2 rounded",style:e.normalizeStyle(`--button-border-radius: ${f(t.styles.buttonRoundness)}px; --button-border-color: ${t.styles.borderColor}; background-color: ${S.defaultBackground}`)},[e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[11]||(o[11]=n=>t.styles.buttonStyle="default")},[o[30]||(o[30]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[var(--button-border-radius)]"},"Button",-1)),t.styles.buttonStyle!=="default"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[12]||(o[12]=n=>t.styles.buttonStyle="outline")},[o[31]||(o[31]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[var(--button-border-radius)] border border-[var(--button-border-color)]"}," Button ",-1)),t.styles.buttonStyle!=="outline"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[13]||(o[13]=n=>t.styles.buttonStyle="shadow")},[o[32]||(o[32]=e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[var(--button-border-radius)]",style:{"box-shadow":"0 3px 6px #ccc"}}," Button ",-1)),t.styles.buttonStyle!=="shadow"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[14]||(o[14]=n=>t.styles.buttonStyle="retro")},[e.createElementVNode("div",{class:"text-center px-8 py-2 bg-[var(--button-background-color)] text-[var(--button-text-color)] rounded-[var(--button-border-radius)]",style:e.normalizeStyle(`box-shadow: inset 0 0 0 2px ${t.styles.borderColor}, 2px 2px 0 ${t.styles.borderColor};`)}," Button ",4),t.styles.buttonStyle!=="retro"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))])],4)],4),o[39]||(o[39]=e.createElementVNode("h2",{class:"font-semibold mb-4"},"Rendering Method",-1)),e.createElementVNode("div",ne,[e.createElementVNode("div",null,[e.createElementVNode("div",re,[e.createVNode(p,{class:"mb-4 text-muted-foreground"},{default:e.withCtx(()=>[...o[33]||(o[33]=[e.createTextVNode("Choose how this section should be styled on your site:",-1)])]),_:1}),e.createVNode(s,{modelValue:t.rendering,"onUpdate:modelValue":o[15]||(o[15]=n=>t.rendering=n),"default-value":"class"},{default:e.withCtx(()=>[e.createElementVNode("div",ae,[e.createVNode(E,{id:"collection-theme-dialog-render-class",value:"class"}),e.createVNode(p,{for:"collection-theme-dialog-render-class"},{default:e.withCtx(()=>[...o[34]||(o[34]=[e.createTextVNode("Use a CSS class",-1)])]),_:1})]),e.createElementVNode("div",de,[e.createVNode(E,{id:"collection-theme-dialog-render-component",value:"component"}),e.createVNode(p,{for:"collection-theme-dialog-render-component"},{default:e.withCtx(()=>[...o[35]||(o[35]=[e.createTextVNode("Custom component",-1)])]),_:1})])]),_:1},8,["modelValue"])])])]),e.createElementVNode("div",ie,[t.rendering==="class"?(e.openBlock(),e.createElementBlock("div",ce,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-class-name"},{default:e.withCtx(()=>[...o[36]||(o[36]=[e.createTextVNode("Class name",-1)])]),_:1}),e.createElementVNode("div",ue,[e.createVNode(C,{modelValue:t.className,"onUpdate:modelValue":o[16]||(o[16]=n=>t.className=n),id:"collection-theme-dialog-class-name"},null,8,["modelValue"])])])):(e.openBlock(),e.createElementBlock("div",me,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-component-name"},{default:e.withCtx(()=>[...o[37]||(o[37]=[e.createTextVNode("Component name",-1)])]),_:1}),e.createElementVNode("div",pe,[e.createVNode(C,{modelValue:t.componentName,"onUpdate:modelValue":o[17]||(o[17]=n=>t.componentName=n),id:"collection-theme-dialog-component-name"},null,8,["modelValue"])])]))]),t.rendering==="class"?(e.openBlock(),e.createElementBlock("pre",ye,e.toDisplayString(r.value),1)):e.createCommentVNode("",!0)]),e.createVNode(u,null,{default:e.withCtx(()=>[v.value==="edit"&&!d.value?(e.openBlock(),e.createBlock(l,{key:0,variant:"destructive",class:"mr-auto",onClick:D},{default:e.withCtx(()=>[...o[40]||(o[40]=[e.createTextVNode(" Delete Style ",-1)])]),_:1})):e.createCommentVNode("",!0),v.value==="edit"&&d.value?(e.openBlock(),e.createBlock(l,{key:1,variant:"outline",class:"mr-auto",onClick:$},{default:e.withCtx(()=>[...o[41]||(o[41]=[e.createTextVNode(" Reset to Default ",-1)])]),_:1})):e.createCommentVNode("",!0),v.value==="create"?(e.openBlock(),e.createBlock(l,{key:2,type:"submit",onClick:B},{default:e.withCtx(()=>[...o[42]||(o[42]=[e.createTextVNode(" Add Style ",-1)])]),_:1})):(e.openBlock(),e.createBlock(l,{key:3,type:"submit",onClick:w},{default:e.withCtx(()=>[...o[43]||(o[43]=[e.createTextVNode(" Save Changes ",-1)])]),_:1}))]),_:1})]),_:1})]),_:1},8,["open"])}}}),ve={class:"grid py-4"},fe={class:"grid grid-cols-2 gap-2 mb-6"},ge={class:"relative"},be={class:"grid grid-cols-4 gap-2 mb-6"},Ce={class:"relative"},Ve={class:"relative"},ke={class:"relative"},Ne={class:"relative"},Ee={class:"grid grid-cols-1 gap-2 mb-6"},Be={class:"relative"},Te={class:"flex items-center space-x-2"},we={class:"flex items-center space-x-2"},De={class:"grid grid-cols-2 gap-2 mb-6"},Se={key:0},Fe={class:"relative"},$e={key:1},ze={class:"relative"},Ue={key:0,class:"bg-muted px-4 py-2 rounded-md text-sm"},he=e.defineComponent({__name:"CardStyleDialog",props:{defaultBackground:{type:String,default:"#FFFFFF"}},emits:["add","edit","delete"],setup(S,{expose:F,emit:g}){const{confirm:b}=U.useConfirmation(),V=g,x=e.ref(!1),v=e.ref("create"),i=e.ref(null),d=e.ref(!1),t=e.reactive({name:"",rendering:"class",className:"",componentName:"",styles:{backgroundColor:"#FFFFFF",titleColor:"#000000",textColor:"#000000",borderColor:"#000000",roundness:"none",style:"default"}}),T=a=>{a?(v.value="edit",i.value=a.id,d.value=a.id==="DEFAULT",t.name=a.name||"",t.rendering=a.rendering||"class",t.className=a.className||"",t.componentName=a.componentName||"",t.styles.backgroundColor=a.styles.backgroundColor||"#FFFFFF",t.styles.titleColor=a.styles.titleColor||"#000000",t.styles.textColor=a.styles.textColor||"#000000",t.styles.borderColor=a.styles.borderColor||"#000000",t.styles.roundness=a.styles.roundness||"none",t.styles.style=a.styles.style||"default"):(v.value="create",i.value=null,d.value=!1,t.name="",t.rendering="class",t.className="",t.componentName="",t.styles.backgroundColor="#FFFFFF",t.styles.titleColor="#000000",t.styles.textColor="#000000",t.styles.borderColor="#000000",t.styles.roundness="none",t.styles.style="default"),x.value=!0},B=()=>{V("add",t),x.value=!1},w=()=>{d.value&&(t.name="Default"),V("edit",{id:i.value,...t}),x.value=!1},D=async()=>{if(d.value)return;await b("Are you sure you want to delete this theme? This action cannot be undone.","Delete Theme","Delete")&&(V("delete",i.value),x.value=!1)},$=()=>{t.styles.backgroundColor="#FFFFFF",t.styles.titleColor="#000000",t.styles.textColor="#000000",t.styles.borderColor="#000000",t.styles.roundness="none",t.styles.style="default"},f=a=>{switch(a){case"none":return 0;case"small":return 8;case"medium":return 12;default:return 0}},r=e.computed(()=>{let a="."+t.className+` {
|
|
18
|
+
`;return a+=` background-color: ${t.styles.backgroundColor};
|
|
19
|
+
`,a+=` color: ${t.styles.textColor};
|
|
20
|
+
`,t.styles.style==="outline"?a+=` border: 1px solid ${t.styles.borderColor};
|
|
21
|
+
`:t.styles.style==="shadow"?a+=` box-shadow: 0 3px 6px #ccc;
|
|
22
|
+
`:t.styles.style==="retro"&&(a+=` box-shadow: inset 0 0 0 2px ${t.styles.borderColor}, 2px 2px 0 ${t.styles.borderColor};
|
|
23
|
+
`),t.styles.roundness!=="none"&&(a+=` border-radius: ${f(t.styles.roundness)}px;
|
|
24
|
+
`),a+=`}
|
|
25
|
+
`,a});return F({openDialog:T}),(a,o)=>{const z=e.resolveComponent("DialogTitle"),k=e.resolveComponent("DialogDescription"),N=e.resolveComponent("DialogHeader"),p=e.resolveComponent("Label"),C=e.resolveComponent("Input"),E=e.resolveComponent("RadioGroupItem"),s=e.resolveComponent("RadioGroup"),l=e.resolveComponent("Button"),u=e.resolveComponent("DialogFooter"),c=e.resolveComponent("DialogScrollContent"),y=e.resolveComponent("Dialog");return e.openBlock(),e.createBlock(y,{open:x.value,"onUpdate:open":o[19]||(o[19]=n=>x.value=n)},{default:e.withCtx(()=>[e.createVNode(c,{class:"sm:max-w-2xl"},{default:e.withCtx(()=>[e.createVNode(N,null,{default:e.withCtx(()=>[e.createVNode(z,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value==="create"?"Add New Card Style":"Edit Card Style"),1)]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[...o[20]||(o[20]=[e.createTextVNode(" These settings change how this section looks in the editor. To style your live site, add matching CSS or use a custom component. ",-1)])]),_:1})]),_:1}),e.createElementVNode("div",ve,[e.createElementVNode("div",fe,[e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-theme-name"},{default:e.withCtx(()=>[...o[21]||(o[21]=[e.createTextVNode("Display name",-1)])]),_:1}),e.createElementVNode("div",ge,[e.createVNode(C,{modelValue:t.name,"onUpdate:modelValue":o[0]||(o[0]=n=>t.name=n),id:"collection-theme-dialog-theme-name",disabled:d.value},null,8,["modelValue","disabled"])])])]),o[40]||(o[40]=e.createElementVNode("h2",{class:"font-semibold mb-4"},"Style Settings",-1)),e.createElementVNode("div",be,[e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-background-color"},{default:e.withCtx(()=>[...o[22]||(o[22]=[e.createTextVNode("Background color",-1)])]),_:1}),e.createElementVNode("div",Ce,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[1]||(o[1]=n=>t.styles.backgroundColor=n),type:"color",label:"Background color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.backgroundColor]]),e.createVNode(C,{modelValue:t.styles.backgroundColor,"onUpdate:modelValue":o[2]||(o[2]=n=>t.styles.backgroundColor=n),class:"pl-12",id:"collection-theme-dialog-background-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-title-color"},{default:e.withCtx(()=>[...o[23]||(o[23]=[e.createTextVNode("Heading color",-1)])]),_:1}),e.createElementVNode("div",Ve,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[3]||(o[3]=n=>t.styles.titleColor=n),type:"color",label:"Heading color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.titleColor]]),e.createVNode(C,{modelValue:t.styles.titleColor,"onUpdate:modelValue":o[4]||(o[4]=n=>t.styles.titleColor=n),class:"pl-12",id:"collection-theme-dialog-title-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-text-color"},{default:e.withCtx(()=>[...o[24]||(o[24]=[e.createTextVNode("Text color",-1)])]),_:1}),e.createElementVNode("div",ke,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[5]||(o[5]=n=>t.styles.textColor=n),type:"color",label:"Text color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.textColor]]),e.createVNode(C,{modelValue:t.styles.textColor,"onUpdate:modelValue":o[6]||(o[6]=n=>t.styles.textColor=n),class:"pl-12",id:"collection-theme-dialog-text-color"},null,8,["modelValue"])])]),e.createElementVNode("div",null,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-border-color"},{default:e.withCtx(()=>[...o[25]||(o[25]=[e.createTextVNode("Border color",-1)])]),_:1}),e.createElementVNode("div",Ne,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[7]||(o[7]=n=>t.styles.borderColor=n),type:"color",label:"Border color",class:"absolute top-0.5 left-1 size-8"},null,512),[[e.vModelText,t.styles.borderColor]]),e.createVNode(C,{modelValue:t.styles.borderColor,"onUpdate:modelValue":o[8]||(o[8]=n=>t.styles.borderColor=n),class:"pl-12",id:"collection-theme-dialog-border-color"},null,8,["modelValue"])])])]),e.createElementVNode("div",{style:e.normalizeStyle(`--card-background-color: ${t.styles.backgroundColor}; --card-title-color: ${t.styles.titleColor}; --card-text-color: ${t.styles.textColor}`)},[e.createVNode(p,{class:"mb-4"},{default:e.withCtx(()=>[...o[26]||(o[26]=[e.createTextVNode("Shape",-1)])]),_:1}),e.createElementVNode("div",{class:"grid grid-cols-3 gap-4 mb-6 p-2 rounded",style:e.normalizeStyle({backgroundColor:S.defaultBackground})},[e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[9]||(o[9]=n=>t.styles.roundness="none")},[o[27]||(o[27]=e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)]"},[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card"),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.")],-1)),t.styles.roundness!=="none"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[10]||(o[10]=n=>t.styles.roundness="small")},[o[28]||(o[28]=e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)] rounded-[8px]"},[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card"),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.")],-1)),t.styles.roundness!=="small"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[11]||(o[11]=n=>t.styles.roundness="medium")},[o[29]||(o[29]=e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)] rounded-[12px]"},[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card"),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.")],-1)),t.styles.roundness!=="medium"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))])],4),e.createVNode(p,{class:"mb-4"},{default:e.withCtx(()=>[...o[30]||(o[30]=[e.createTextVNode("Style",-1)])]),_:1}),e.createElementVNode("div",{class:"grid grid-cols-4 gap-4 mb-6 p-2 rounded",style:e.normalizeStyle(`--card-border-radius: ${f(t.styles.roundness)}px; --card-border-color: ${t.styles.borderColor}; background-color: ${S.defaultBackground}`)},[e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[12]||(o[12]=n=>t.styles.style="default")},[o[31]||(o[31]=e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)] rounded-[var(--card-border-radius)]"},[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card"),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.")],-1)),t.styles.style!=="default"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[13]||(o[13]=n=>t.styles.style="outline")},[o[32]||(o[32]=e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)] rounded-[var(--card-border-radius)] border border-[var(--card-border-color)]"},[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card"),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.")],-1)),t.styles.style!=="outline"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[14]||(o[14]=n=>t.styles.style="shadow")},[o[33]||(o[33]=e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)] rounded-[var(--card-border-radius)]",style:{"box-shadow":"0 3px 6px #ccc"}},[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card"),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.")],-1)),t.styles.style!=="shadow"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))]),e.createElementVNode("div",{class:"flex flex-col gap-2 items-center cursor-pointer",onClick:o[15]||(o[15]=n=>t.styles.style="retro")},[e.createElementVNode("div",{class:"text-center px-8 py-4 bg-[var(--card-background-color)] rounded-[var(--card-border-radius)]",style:e.normalizeStyle(`box-shadow: inset 0 0 0 2px ${t.styles.borderColor}, 2px 2px 0 ${t.styles.borderColor};`)},[...o[34]||(o[34]=[e.createElementVNode("strong",{class:"text-2xl text-[var(--card-title-color)]"},"Card",-1),e.createElementVNode("p",{class:"text-[var(--card-text-color)]"},"Lorem ipsum dolor sit amet.",-1)])],4),t.styles.style!=="retro"?(e.openBlock(),e.createBlock(e.unref(m.Circle),{key:0,class:"size-4 text-black/30"})):(e.openBlock(),e.createBlock(e.unref(m.CircleCheckBig),{key:1,class:"size-4 text-black"}))])],4)],4),o[41]||(o[41]=e.createElementVNode("h2",{class:"font-semibold mb-4"},"Rendering Method",-1)),e.createElementVNode("div",Ee,[e.createElementVNode("div",null,[e.createElementVNode("div",Be,[e.createVNode(p,{class:"mb-4 text-muted-foreground"},{default:e.withCtx(()=>[...o[35]||(o[35]=[e.createTextVNode("Choose how this section should be styled on your site:",-1)])]),_:1}),e.createVNode(s,{modelValue:t.rendering,"onUpdate:modelValue":o[16]||(o[16]=n=>t.rendering=n),"default-value":"class"},{default:e.withCtx(()=>[e.createElementVNode("div",Te,[e.createVNode(E,{id:"collection-theme-dialog-render-class",value:"class"}),e.createVNode(p,{for:"collection-theme-dialog-render-class"},{default:e.withCtx(()=>[...o[36]||(o[36]=[e.createTextVNode("Use a CSS class",-1)])]),_:1})]),e.createElementVNode("div",we,[e.createVNode(E,{id:"collection-theme-dialog-render-component",value:"component"}),e.createVNode(p,{for:"collection-theme-dialog-render-component"},{default:e.withCtx(()=>[...o[37]||(o[37]=[e.createTextVNode("Custom component",-1)])]),_:1})])]),_:1},8,["modelValue"])])])]),e.createElementVNode("div",De,[t.rendering==="class"?(e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-class-name"},{default:e.withCtx(()=>[...o[38]||(o[38]=[e.createTextVNode("Class name",-1)])]),_:1}),e.createElementVNode("div",Fe,[e.createVNode(C,{modelValue:t.className,"onUpdate:modelValue":o[17]||(o[17]=n=>t.className=n),id:"collection-theme-dialog-class-name"},null,8,["modelValue"])])])):(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(p,{class:"mb-2",for:"collection-theme-dialog-component-name"},{default:e.withCtx(()=>[...o[39]||(o[39]=[e.createTextVNode("Component name",-1)])]),_:1}),e.createElementVNode("div",ze,[e.createVNode(C,{modelValue:t.componentName,"onUpdate:modelValue":o[18]||(o[18]=n=>t.componentName=n),id:"collection-theme-dialog-component-name"},null,8,["modelValue"])])]))]),t.rendering==="class"?(e.openBlock(),e.createElementBlock("pre",Ue,e.toDisplayString(r.value),1)):e.createCommentVNode("",!0)]),e.createVNode(u,null,{default:e.withCtx(()=>[v.value==="edit"&&!d.value?(e.openBlock(),e.createBlock(l,{key:0,variant:"destructive",class:"mr-auto",onClick:D},{default:e.withCtx(()=>[...o[42]||(o[42]=[e.createTextVNode(" Delete Style ",-1)])]),_:1})):e.createCommentVNode("",!0),v.value==="edit"&&d.value?(e.openBlock(),e.createBlock(l,{key:1,variant:"outline",class:"mr-auto",onClick:$},{default:e.withCtx(()=>[...o[43]||(o[43]=[e.createTextVNode(" Reset to Default ",-1)])]),_:1})):e.createCommentVNode("",!0),v.value==="create"?(e.openBlock(),e.createBlock(l,{key:2,type:"submit",onClick:B},{default:e.withCtx(()=>[...o[44]||(o[44]=[e.createTextVNode(" Add Style ",-1)])]),_:1})):(e.openBlock(),e.createBlock(l,{key:3,type:"submit",onClick:w},{default:e.withCtx(()=>[...o[45]||(o[45]=[e.createTextVNode(" Save Changes ",-1)])]),_:1}))]),_:1})]),_:1})]),_:1},8,["open"])}}}),Ae={class:"w-full"},Re={class:"flex items-center justify-between gap-4 w-full my-4"},Le={key:0,class:"flex gap-4 flex-wrap mb-8"},_e=["onClick"],Ie={class:"text-muted-foreground group-hover/item:text-white transition-colors duration-300"},Me={key:1,class:"flex gap-4 flex-wrap mb-8"},Oe={key:2,class:"flex gap-4 flex-wrap mb-8"},Ge=["onClick"],Je={class:"text-muted-foreground group-hover/item:text-white transition-colors duration-300"},Pe={key:3,class:"flex gap-4 flex-wrap mb-8"},He={key:4,class:"flex gap-4 flex-wrap mb-8"},je=["onClick"],qe={class:"text-muted-foreground group-hover/item:text-white transition-colors duration-300"},Ke={key:5,class:"flex gap-4 flex-wrap mb-8"},Qe=e.defineComponent({__name:"GlobalStyling",setup(S){const{navigateTo:F}=U.useModuleRoute(),{getModuleData:g,setModuleData:b}=U.useModuleStorage();U.useModuleBreadcrumbs(()=>[{text:"Global Styling"}]);const V=e.ref(""),x=e.ref(""),v=e.ref(""),i=e.ref(null),d=e.ref(null),t=e.ref(null),T=e.computed(()=>i.value===null?null:i.value&&i.value.find(s=>s.id==="DEFAULT")?i.value:[{id:"DEFAULT",name:"Default",className:"",styles:{backgroundColor:"#FFFFFF",textColor:"#000000"}},...i.value]),B=e.computed(()=>T.value?.find(s=>s.id==="DEFAULT")?.styles.backgroundColor??"#FFFFFF"),w=e.computed(()=>d.value===null?null:d.value&&d.value.find(s=>s.id==="DEFAULT")?d.value:[{id:"DEFAULT",name:"Default",className:"",styles:{backgroundColor:"#FFFFFF",textColor:"#000000"}},...d.value]),D=e.computed(()=>t.value===null?null:t.value&&t.value.find(s=>s.id==="DEFAULT")?t.value:[{id:"DEFAULT",name:"Default",className:"",styles:{backgroundColor:"#FFFFFF",textColor:"#000000"}},...t.value]);async function $(s){let l=JSON.parse(JSON.stringify(s)),u=crypto.randomUUID();l.id=u,i.value.push(l),i.value=await g("sectionThemes")||[],i.value.push(l),b("sectionThemes",i.value)}async function f(s){let l=JSON.parse(JSON.stringify(s)),u=i.value.findIndex(c=>c.id===l.id);u!==-1?i.value[u]=l:l.id==="DEFAULT"&&(Array.isArray(i.value)||(i.value=[]),i.value=[{id:"DEFAULT",name:"Default",styles:l.styles},...i.value]),i.value=await g("sectionThemes")||[],u=i.value.findIndex(c=>c.id===l.id),u!==-1?(i.value[u]=l,b("sectionThemes",i.value)):l.id==="DEFAULT"&&(Array.isArray(i.value)||(i.value=[]),i.value=[{id:"DEFAULT",name:"Default",styles:l.styles},...i.value],b("sectionThemes",i.value))}async function r(s){i.value=i.value.filter(l=>l.id!==s),i.value=await g("sectionThemes")||[],i.value=i.value.filter(l=>l.id!==s),b("sectionThemes",i.value)}async function a(s){let l=JSON.parse(JSON.stringify(s)),u=crypto.randomUUID();l.id=u,d.value.push(l),d.value=await g("buttonThemes")||[],d.value.push(l),b("buttonThemes",d.value)}async function o(s){let l=JSON.parse(JSON.stringify(s)),u=d.value.findIndex(c=>c.id===l.id);u!==-1?d.value[u]=l:l.id==="DEFAULT"&&(Array.isArray(d.value)||(d.value=[]),d.value=[{id:"DEFAULT",name:"Default",styles:l.styles},...d.value]),d.value=await g("buttonThemes")||[],u=d.value.findIndex(c=>c.id===l.id),u!==-1?(d.value[u]=l,b("buttonThemes",d.value)):l.id==="DEFAULT"&&(Array.isArray(d.value)||(d.value=[]),d.value=[{id:"DEFAULT",name:"Default",styles:l.styles},...d.value],b("buttonThemes",d.value))}async function z(s){d.value=d.value.filter(l=>l.id!==s),d.value=await g("buttonThemes")||[],d.value=d.value.filter(l=>l.id!==s),b("buttonThemes",d.value)}const k=function(s){let l={};if(l.backgroundColor=s.styles.backgroundColor,l.color=s.styles.textColor,s.styles.buttonStyle==="outline"?l.border=`1px solid ${s.styles.borderColor}`:s.styles.buttonStyle==="shadow"?l.boxShadow="0 3px 6px #ccc":s.styles.buttonStyle==="retro"&&(l.boxShadow=`inset 0 0 0 2px ${s.styles.borderColor}, 2px 2px 0 ${s.styles.borderColor}`),s.styles.buttonRoundness!=="none"){let u=0;s.styles.buttonRoundness==="small"?u=4:s.styles.buttonRoundness==="medium"?u=8:s.styles.buttonRoundness==="pill"&&(u=9999),l.borderRadius=`${u}px`}return l};async function N(s){let l=JSON.parse(JSON.stringify(s)),u=crypto.randomUUID();l.id=u,t.value.push(l),t.value=await g("cardThemes")||[],t.value.push(l),b("cardThemes",t.value)}async function p(s){let l=JSON.parse(JSON.stringify(s)),u=t.value.findIndex(c=>c.id===l.id);u!==-1?t.value[u]=l:l.id==="DEFAULT"&&(Array.isArray(t.value)||(t.value=[]),t.value=[{id:"DEFAULT",name:"Default",styles:l.styles},...t.value]),t.value=await g("cardThemes")||[],u=t.value.findIndex(c=>c.id===l.id),u!==-1?(t.value[u]=l,b("cardThemes",t.value)):l.id==="DEFAULT"&&(Array.isArray(t.value)||(t.value=[]),t.value=[{id:"DEFAULT",name:"Default",styles:l.styles},...t.value],b("cardThemes",t.value))}async function C(s){t.value=t.value.filter(l=>l.id!==s),t.value=await g("cardThemes")||[],t.value=t.value.filter(l=>l.id!==s),b("cardThemes",t.value)}const E=function(s){let l={};if(l.backgroundColor=s.styles.backgroundColor,l.color=s.styles.textColor,s.styles.style==="outline"?l.border=`1px solid ${s.styles.borderColor}`:s.styles.style==="shadow"?l.boxShadow="0 3px 6px #ccc":s.styles.style==="retro"&&(l.boxShadow=`inset 0 0 0 2px ${s.styles.borderColor}, 2px 2px 0 ${s.styles.borderColor}`),s.styles.roundness!=="none"){let u=0;s.styles.roundness==="small"?u=4:s.styles.roundness==="medium"&&(u=8),l.borderRadius=`${u}px`}return l};return e.onMounted(()=>{g("sectionThemes").then(s=>{i.value=s||[]}),g("buttonThemes").then(s=>{d.value=s||[]}),g("cardThemes").then(s=>{t.value=s||[]})}),(s,l)=>{const u=e.resolveComponent("Button"),c=e.resolveComponent("Skeleton");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ae,[e.createElementVNode("div",Re,[e.createVNode(u,{onClick:l[0]||(l[0]=y=>e.unref(F)("/")),variant:"link",class:"!pl-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ChevronLeft),{class:"size-4"}),l[4]||(l[4]=e.createTextVNode(" Collections ",-1))]),_:1})]),l[10]||(l[10]=e.createElementVNode("h1",{class:"text-3xl mb-8"},"Global Styling",-1)),l[11]||(l[11]=e.createElementVNode("h3",{class:"text-2xl mb-2"},"Section Variants",-1)),l[12]||(l[12]=e.createElementVNode("p",{class:"mb-6 max-w-3xl text-muted-foreground"}," Set up the default design variants for your sections. These styles will be available across all collections by default, but you can choose to disable them within individual collections if needed. ",-1)),T.value!==null?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",{class:"group/item flex flex-col gap-2 items-center",onClick:l[1]||(l[1]=y=>V.value.openDialog())},[e.createVNode(u,{variant:"outline",class:"size-44 border-dotted",tabindex:"-1"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-14"})]),_:1}),l[5]||(l[5]=e.createElementVNode("p",{class:"text-muted-foreground group-hover/item:text-white transition-colors duration-300"},"New Style",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,y=>(e.openBlock(),e.createElementBlock("div",{class:"group/item flex flex-col gap-2 text-black items-center cursor-pointer hover:brightness-105 transition-all duration-300",key:y.id,onClick:n=>V.value.openDialog(y)},[e.createElementVNode("div",{class:"flex flex-col items-start rounded-md p-4 size-44",style:e.normalizeStyle({backgroundColor:y.styles.backgroundColor,border:"1px solid #E5E7EB"})},[e.createElementVNode("strong",{class:"text-2xl",style:e.normalizeStyle({color:y.styles.titleColor})},"Title",4),e.createElementVNode("p",{class:"mb-1",style:e.normalizeStyle({color:y.styles.textColor})},[...l[6]||(l[6]=[e.createTextVNode("Lorem ipsum dolor",-1),e.createElementVNode("br",null,null,-1),e.createTextVNode("sit amet.",-1)])],4),y.className?(e.openBlock(),e.createElementBlock("p",{key:0,class:"px-3 py-1.5 rounded-[99px]",style:e.normalizeStyle({backgroundColor:y.styles.textColor,color:y.styles.backgroundColor})},"."+e.toDisplayString(y.className),5)):e.createCommentVNode("",!0)],4),e.createElementVNode("p",Ie,e.toDisplayString(y.name),1)],8,_e))),128))])):(e.openBlock(),e.createElementBlock("div",Me,[e.createVNode(c,{class:"size-44 rounded-md"}),e.createVNode(c,{class:"size-44 rounded-md"})])),l[13]||(l[13]=e.createElementVNode("h3",{class:"text-2xl mb-2"},"Button Variants",-1)),l[14]||(l[14]=e.createElementVNode("p",{class:"mb-6 max-w-3xl text-muted-foreground"}," Define your standard button styles here. Collections can inherit these defaults or customize their own variants for more tailored experiences. ",-1)),w.value!==null?(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("div",{class:"group/item flex flex-col gap-2 items-center",onClick:l[2]||(l[2]=y=>x.value.openDialog())},[e.createVNode(u,{variant:"outline",class:"size-44 border-dotted",tabindex:"-1"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-14"})]),_:1}),l[7]||(l[7]=e.createElementVNode("p",{class:"text-muted-foreground group-hover/item:text-white transition-colors duration-300"},"New Style",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,y=>(e.openBlock(),e.createElementBlock("div",{class:"group/item flex flex-col gap-2 text-black items-center cursor-pointer hover:brightness-105 transition-all duration-300",key:y.id,onClick:n=>x.value.openDialog(y)},[e.createElementVNode("div",{class:"flex flex-col items-center justify-center rounded-md p-4 size-44",style:e.normalizeStyle({backgroundColor:B.value})},[e.createElementVNode("div",{style:e.normalizeStyle(k(y)),class:"px-4 py-2"}," Button ",4)],4),e.createElementVNode("p",Je,e.toDisplayString(y.name),1)],8,Ge))),128))])):(e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(c,{class:"size-44 rounded-md"}),e.createVNode(c,{class:"size-44 rounded-md"})])),l[15]||(l[15]=e.createElementVNode("h3",{class:"text-2xl mb-2"},"Card Variants",-1)),l[16]||(l[16]=e.createElementVNode("p",{class:"mb-6 max-w-3xl text-muted-foreground"}," Define your standard card styles here. Collections can inherit these defaults or customize their own variants for more tailored experiences. ",-1)),D.value!==null?(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("div",{class:"group/item flex flex-col gap-2 items-center",onClick:l[3]||(l[3]=y=>v.value.openDialog())},[e.createVNode(u,{variant:"outline",class:"size-44 border-dotted",tabindex:"-1"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.Plus),{class:"size-14"})]),_:1}),l[8]||(l[8]=e.createElementVNode("p",{class:"text-muted-foreground group-hover/item:text-white transition-colors duration-300"},"New Style",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,y=>(e.openBlock(),e.createElementBlock("div",{class:"group/item flex flex-col gap-2 text-black items-center cursor-pointer hover:brightness-105 transition-all duration-300",key:y.id,onClick:n=>v.value.openDialog(y)},[e.createElementVNode("div",{class:"flex flex-col items-center justify-center rounded-md p-4 size-44",style:e.normalizeStyle({backgroundColor:B.value})},[e.createElementVNode("div",{style:e.normalizeStyle(E(y)),class:"p-4"},[e.createElementVNode("strong",{class:"text-2xl",style:e.normalizeStyle({color:y.styles.titleColor})},"Card",4),l[9]||(l[9]=e.createElementVNode("p",null,"Lorem ipsum dolor sit amet.",-1))],4)],4),e.createElementVNode("p",qe,e.toDisplayString(y.name),1)],8,je))),128))])):(e.openBlock(),e.createElementBlock("div",Ke,[e.createVNode(c,{class:"size-44 rounded-md"}),e.createVNode(c,{class:"size-44 rounded-md"})]))]),e.createVNode(X,{ref_key:"sectionStyleDialog",ref:V,onAdd:$,onEdit:f,onDelete:r},null,512),e.createVNode(xe,{ref_key:"buttonStyleDialog",ref:x,defaultBackground:B.value,onAdd:a,onEdit:o,onDelete:z},null,8,["defaultBackground"]),e.createVNode(he,{ref_key:"cardStyleDialog",ref:v,defaultBackground:B.value,onAdd:N,onEdit:p,onDelete:C},null,8,["defaultBackground"])],64)}}});exports.default=Qe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("vue"),U=require("lucide-vue-next"),K=require("@oneclick.dev/cms-kit"),J=require("./utils-Yd6F5mea.js"),G=require("./DateFormatter-CSAbE3BC.js"),te=require("./_plugin-vue_export-helper-BHFhmbuH.js"),ne={class:"space-y-3"},ae={class:"grid gap-4 @md/modal:grid-cols-2 @2xl/modal:grid-cols-3 @4xl/modal:grid-cols-4 overflow-hidden p-1"},re={key:0,class:"flex items-center gap-3 min-h-9"},se={key:0,class:"italic text-xs opacity-50"},le={key:0,class:"italic text-xs opacity-50"},ie={key:0,class:"italic text-xs opacity-50"},ce={key:0,class:"italic text-xs opacity-50"},de={key:0,class:"text-red-400"},ue={class:"list-disc pl-4"},me=e.defineComponent({__name:"CustomerInformation",props:{agendaData:{}},setup(C,{expose:$}){const b=[{id:"firstName",fieldName:"First Name",fieldType:"text",required:!0,visible:!0},{id:"lastName",fieldName:"Last Name",fieldType:"text",required:!0,visible:!0},{id:"phone",fieldName:"Phone No",fieldType:"tel",required:!0,visible:!0},{id:"email",fieldName:"Email",fieldType:"email",required:!0,visible:!0},{id:"birthdate",fieldName:"Birthdate",fieldType:"date",required:!0,visible:!0}],E=new Set(["firstName","email"]),R=C,T=e.ref([]),v=e.reactive({}),B=e.computed(()=>{const i=R.agendaData?.customerInformationFields,p=(Array.isArray(i)&&i.length>0?i:b).filter(V=>V?.id&&(V.visible!==!1||E.has(V.id))).map(V=>({...V,required:E.has(V.id),visible:!0})),_=b.filter(V=>E.has(V.id)&&!p.some(M=>M.id===V.id)).map(V=>({...V,required:!0,visible:!0}));return[...p,..._]}),y=i=>i.fieldName||i.id,w=i=>i.replace(/[^A-Za-z0-9_-]/g,"-"),h=(i,N)=>["new-res-customer-info",i.id,N].filter(Boolean).map(_=>w(_)).join("-"),k=i=>i.fieldType==="email"||i.fieldType==="tel"||i.fieldType==="date"?i.fieldType:"text",I=i=>Array.isArray(i.options)?i.options.filter(Boolean):[],L=i=>i.fieldType==="checkbox"?!1:"",g=(i=!1)=>{const N=new Set(B.value.map(p=>p.id));Object.keys(v).forEach(p=>{N.has(p)||delete v[p]}),B.value.forEach(p=>{const _=L(p);(i||v[p.id]===void 0||typeof v[p.id]!=typeof _)&&(v[p.id]=_)})},F=()=>{const i=B.value.reduce((N,p)=>{const _=v[p.id];return N[p.id]=typeof _=="string"?_.trim():!!_,N},{});return Object.entries(i).forEach(([N,p])=>{v[N]=p}),i},O=(i,N)=>i.fieldType==="checkbox"?N===!0:typeof N=="string"?N.trim().length>0:N!=null,q=()=>{T.value=[],g(!0)},D=()=>{const i=[],N=F();return B.value.forEach(p=>{const _=N[p.id],V=y(p);p.required&&!O(p,_)&&i.push(`Please fill in ${V}.`),p.fieldType==="email"&&O(p,_)&&typeof _=="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(_)===!1&&i.push(`Please fill in a correct ${V}.`)}),T.value=i,i.length===0};return e.watch(B,()=>{g()},{immediate:!0}),$({getCustomerInfo:F,reset:q,validateForm:D}),(i,N)=>{const p=e.resolveComponent("Checkbox"),_=e.resolveComponent("Label"),V=e.resolveComponent("SelectValue"),M=e.resolveComponent("SelectTrigger"),z=e.resolveComponent("SelectItem"),H=e.resolveComponent("SelectGroup"),Q=e.resolveComponent("SelectContent"),A=e.resolveComponent("Select"),s=e.resolveComponent("RadioGroupItem"),r=e.resolveComponent("RadioGroup"),c=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",ne,[N[0]||(N[0]=e.createElementVNode("h2",{class:"text-sm font-medium"},"Customer Information",-1)),e.createElementVNode("div",ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,t=>(e.openBlock(),e.createElementBlock("div",{key:t.id,class:e.normalizeClass(["grid gap-2",t.fieldType==="checkbox"?"@md/modal:col-span-2":""])},[t.fieldType==="checkbox"?(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(p,{id:h(t),modelValue:v[t.id],"onUpdate:modelValue":n=>v[t.id]=n},null,8,["id","modelValue","onUpdate:modelValue"]),e.createVNode(_,{for:h(t),class:"font-normal cursor-pointer"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(t))+" ",1),t.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",se,"optional"))]),_:2},1032,["for"])])):t.fieldType==="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(_,{for:h(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(t))+" ",1),t.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",le,"optional"))]),_:2},1032,["for"]),e.createVNode(A,{modelValue:v[t.id],"onUpdate:modelValue":n=>v[t.id]=n},{default:e.withCtx(()=>[e.createVNode(M,{id:h(t),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(V,{placeholder:`Select ${y(t)}`},null,8,["placeholder"])]),_:2},1032,["id"]),e.createVNode(Q,null,{default:e.withCtx(()=>[e.createVNode(H,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I(t),n=>(e.openBlock(),e.createBlock(z,{key:n,value:n},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n),1)]),_:2},1032,["value"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):t.fieldType==="radio"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(_,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(t))+" ",1),t.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ie,"optional"))]),_:2},1024),e.createVNode(r,{modelValue:v[t.id],"onUpdate:modelValue":n=>v[t.id]=n,class:"grid gap-2"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I(t),n=>(e.openBlock(),e.createElementBlock("div",{key:n,class:"flex items-center gap-2"},[e.createVNode(s,{id:h(t,n),value:n},null,8,["id","value"]),e.createVNode(_,{for:h(t,n),class:"font-normal cursor-pointer"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n),1)]),_:2},1032,["for"])]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createVNode(_,{for:h(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(t))+" ",1),t.required?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",ce,"optional"))]),_:2},1032,["for"]),e.createVNode(c,{modelValue:v[t.id],"onUpdate:modelValue":n=>v[t.id]=n,id:h(t),type:k(t),autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue","id","type"])],64))],2))),128))]),T.value.length>0?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("ul",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,t=>(e.openBlock(),e.createElementBlock("li",{key:t},e.toDisplayString(t),1))),128))])])):e.createCommentVNode("",!0)])}}});function pe(C={}){const $=e.ref(null),b=e.ref(!1),E=e.ref(!1),R=e.ref(!1),T=e.ref(!1),v=C.dragSpeed??1.1,B=C.dragThreshold??10,y=C.edgeThreshold??10,w=C.ignoreDragSelector??'input, select, textarea, [contenteditable="true"], [data-horizontal-scroll-ignore-drag]';let h=null,k=0,I=0,L=!1,g=null,F=null,O=null;const q=()=>{g===null||typeof window>"u"||(window.clearTimeout(g),g=null)},D=()=>{const o=$.value;if(!o){E.value=!1,R.value=!1,T.value=!1;return}const a=Math.max(o.scrollWidth-o.clientWidth,0);E.value=a>y,R.value=E.value&&o.scrollLeft>y,T.value=E.value&&o.scrollLeft<a-y},i=()=>{e.nextTick(()=>{if(typeof window>"u"){D();return}window.requestAnimationFrame(()=>D())})},N=()=>{if(typeof C.scrollStep=="number")return C.scrollStep;const o=$.value;return o?Math.max(Math.floor(o.clientWidth*.72),180):240},p=(o,a="smooth")=>{const l=$.value;if(l){if(l.scrollBy({left:o,behavior:a}),a==="auto"){D();return}i()}},_=()=>{p(-N())},V=()=>{p(N())},M=()=>{const o=$.value;h!==null&&o?.hasPointerCapture?.(h)&&o.releasePointerCapture(h),b.value&&(L=!0,q(),typeof window<"u"&&(g=window.setTimeout(()=>{L=!1,g=null},0))),h=null,b.value=!1,o&&(o.style.userSelect="",o.style.cursor=""),D()},z=()=>{D()},H=o=>{const a=$.value;if(!a||!E.value||Math.abs(o.deltaY)<=Math.abs(o.deltaX))return;const l=o.deltaY<0,S=o.deltaY>0;l&&!R.value||S&&!T.value||(o.preventDefault(),a.scrollLeft+=o.deltaY,D())},Q=o=>o instanceof Element?!!o.closest(w):!1,A=o=>{const a=$.value;!a||!E.value||o.pointerType!=="touch"&&o.button===0&&(Q(o.target)||(h=o.pointerId,k=o.clientX,I=a.scrollLeft,L=!1))},s=o=>{const a=$.value;if(!a||h!==o.pointerId)return;const l=o.clientX-k;!b.value&&Math.abs(l)<B||(b.value||(b.value=!0,a.style.userSelect="none",a.style.cursor="grabbing",a.setPointerCapture?.(o.pointerId)),o.preventDefault(),a.scrollLeft=I-l*v,D())},r=o=>{h===o.pointerId&&M()},c=()=>{h!==null&&M()},t=o=>{L&&(o.preventDefault(),o.stopPropagation(),L=!1)},n=o=>{typeof ResizeObserver<"u"&&(F=new ResizeObserver(()=>D()),F.observe(o)),C.observeMutations!==!1&&typeof MutationObserver<"u"&&(O=new MutationObserver(()=>i()),O.observe(o,{childList:!0,subtree:!0,characterData:!0}))},f=()=>{F?.disconnect(),O?.disconnect(),F=null,O=null},d=o=>{o.addEventListener("scroll",z),o.addEventListener("wheel",H,{passive:!1}),o.addEventListener("pointerdown",A),o.addEventListener("pointermove",s),o.addEventListener("pointerup",r),o.addEventListener("pointercancel",c),o.addEventListener("lostpointercapture",c),o.addEventListener("click",t,!0),n(o),i()},u=o=>{o.removeEventListener("scroll",z),o.removeEventListener("wheel",H),o.removeEventListener("pointerdown",A),o.removeEventListener("pointermove",s),o.removeEventListener("pointerup",r),o.removeEventListener("pointercancel",c),o.removeEventListener("lostpointercapture",c),o.removeEventListener("click",t,!0),f()};return e.watch($,(o,a)=>{a&&u(a),o?d(o):D()}),e.onMounted(()=>{i()}),e.onBeforeUnmount(()=>{q(),$.value&&u($.value),L=!1,M()}),{canScrollLeft:e.computed(()=>R.value),canScrollRight:e.computed(()=>T.value),containerRef:$,isDragging:b,isScrollable:E,refresh:i,scrollNext:V,scrollPrev:_,showLeftShadow:R,showRightShadow:T}}const fe={class:"flex items-start justify-between gap-3"},ge={class:"text-sm font-medium"},ve={key:0,class:"mt-1 text-xs text-muted-foreground"},he={class:"grid gap-4 @md/quick-adder:grid-cols-2 @2xl/quick-adder:grid-cols-3 @4xl/quick-adder:grid-cols-4"},_e={class:"grid gap-2"},ke={key:0,class:"grid gap-2"},Ne={key:1,class:"grid gap-2"},xe={key:2,class:"grid gap-2"},Ve={class:"grid gap-2"},be={key:0,class:"rounded-md border border-dashed bg-muted/20 px-4 py-4 text-sm text-muted-foreground"},ye={key:1,class:"relative flex items-center gap-2 overflow-hidden"},Ce={class:"relative min-w-0 flex-1 overflow-hidden"},we={key:0,class:"pointer-events-none absolute inset-y-0 left-0 z-10 w-10 md:w-20 bg-gradient-to-r from-background via-background/95 to-transparent"},Se={key:1,class:"pointer-events-none absolute inset-y-0 right-0 z-10 w-10 md:w-20 bg-gradient-to-l from-background via-background/95 to-transparent"},Ee={key:0,class:"absolute -top-1 -right-1 flex items-center justify-center bg-primary rounded-full text-background size-4"},Te={class:"flex flex-wrap gap-2"},Be=["onClick"],De={key:0},$e={key:1},Re={key:2},Ie=e.defineComponent({__name:"QuickReservationAdder",props:{agendaData:{},surface:{default:"card"}},emits:["add"],setup(C,{emit:$}){const b=C,E=$,R=new G.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"long"}),T=G.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(G.$14e0f24ef4ac5c92$export$aa8b41735afcabd2()),v=e.computed(()=>b.surface==="popover"),B=e.ref(""),y=e.ref(void 0),w=e.ref(""),h=e.ref(""),k=e.ref([]),I=e.ref(1),L=e.computed(()=>b.agendaData?.resources?.find(u=>u.id===w.value)),g=u=>{const[o,a]=u.split(":").map(Number);return o*60+a},F=u=>{const o=Math.floor(u/60),a=u%60;return`${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`},O=()=>{if(!L.value)return[];const u=L.value.interval||60;let o=null,a=null;for(const S of Object.values(L.value.openingHours||{}))for(const m of S){const P=g(m.start),j=g(m.end);(o===null||P<o)&&(o=P),(a===null||j>a)&&(a=j)}if(o===null||a===null)return[];const l=[];for(let S=o;S<a;S+=u)l.push(F(S));return l},q=e.computed(()=>y.value&&w.value&&h.value&&k.value.length>0),D=e.computed(()=>O()),{canScrollLeft:i,canScrollRight:N,containerRef:p,isDragging:_,isScrollable:V,scrollNext:M,scrollPrev:z,showLeftShadow:H,showRightShadow:Q}=pe(),A=u=>k.value.includes(u),s=u=>{if(A(u)){k.value=k.value.filter(o=>o!==u);return}k.value=[...k.value,u].sort((o,a)=>g(o)-g(a))},r=(u,o)=>{y.value=u?e.markRaw(u):void 0,B.value=u?`${u}`:"",o()},c=e.ref(""),t=e.ref(""),n=e.ref([]),f=()=>{E("add",{date:y.value,resourceId:w.value,pricingOptionId:h.value,startTimes:k.value,spots:I.value}),k.value=[],n.value=[],t.value="",c.value=""},d=()=>{B.value=T.toString(),y.value=T,w.value=b.agendaData?.resources?.[0]?.id||"",h.value=b.agendaData?.pricingOptions?.find(u=>u.isDefault)?.id||b.agendaData?.pricingOptions?.[0]?.id||"",k.value=[],I.value=1,c.value=""};return e.onMounted(()=>{d()}),(u,o)=>{const a=e.resolveComponent("Label"),l=e.resolveComponent("Button"),S=e.resolveComponent("PopoverTrigger"),m=e.resolveComponent("Calendar"),P=e.resolveComponent("PopoverContent"),j=e.resolveComponent("Popover"),Y=e.resolveComponent("DynamicSelectOption"),X=e.resolveComponent("DynamicSelect"),oe=e.resolveComponent("Input");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(J.classNames)("@container/quick-adder grid gap-4 overflow-hidden bg-background",e.unref(v)?"p-5 sm:p-6":"rounded-md border p-4"))},[e.createElementVNode("div",fe,[e.createElementVNode("div",null,[e.createElementVNode("h3",ge,e.toDisplayString(e.unref(v)?"Quick add reservations":"Add reservations"),1),e.unref(v)?(e.openBlock(),e.createElementBlock("p",ve," Choose one date and add multiple timeslots in one pass. ")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",he,[e.createElementVNode("div",_e,[e.createVNode(a,null,{default:e.withCtx(()=>[...o[3]||(o[3]=[e.createTextVNode("Date",-1)])]),_:1}),e.createVNode(j,null,{default:e.withCtx(({close:x})=>[e.createVNode(S,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(l,{type:"button",variant:"outline",class:e.normalizeClass(e.unref(J.classNames)("w-full justify-start text-left font-normal",!e.unref(y)&&"text-muted-foreground"))},{default:e.withCtx(()=>[e.createVNode(e.unref(U.CalendarIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(y)?e.unref(R).format(e.unref(y).toDate(e.unref(G.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class"])]),_:1}),e.createVNode(P,{class:"w-auto p-0",align:"start"},{default:e.withCtx(()=>[e.createVNode(m,{"model-value":e.unref(y),"default-placeholder":e.unref(T),layout:"month-and-year","initial-focus":"","onUpdate:modelValue":W=>r(W,x),minValue:e.unref(G.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3)(e.unref(G.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())},null,8,["model-value","default-placeholder","onUpdate:modelValue","minValue"])]),_:2},1024)]),_:1})]),C.agendaData.resources?.length>1?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(a,null,{default:e.withCtx(()=>[...o[4]||(o[4]=[e.createTextVNode("Resource",-1)])]),_:1}),e.createVNode(X,{modelValue:e.unref(w),"onUpdate:modelValue":o[0]||(o[0]=x=>e.isRef(w)?w.value=x:null),"wrapper-class":"w-full",class:"w-full",placeholder:"Select resource"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.agendaData.resources||[],x=>(e.openBlock(),e.createBlock(Y,{key:x.id,value:x.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),C.agendaData.pricingOptions?.length>1?(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(a,null,{default:e.withCtx(()=>[...o[5]||(o[5]=[e.createTextVNode("Type",-1)])]),_:1}),e.createVNode(X,{modelValue:e.unref(h),"onUpdate:modelValue":o[1]||(o[1]=x=>e.isRef(h)?h.value=x:null),"wrapper-class":"w-full",class:"w-full",placeholder:"Select type"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.agendaData.pricingOptions||[],x=>(e.openBlock(),e.createBlock(Y,{key:x.id,value:x.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.name)+" ("+e.toDisplayString(x.duration)+"min) ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),C.agendaData?.maxTicketsPerReservation>1?(e.openBlock(),e.createElementBlock("div",xe,[e.createVNode(a,null,{default:e.withCtx(()=>[...o[6]||(o[6]=[e.createTextVNode("Spots/tickets",-1)])]),_:1}),e.createVNode(oe,{modelValue:e.unref(I),"onUpdate:modelValue":o[2]||(o[2]=x=>e.isRef(I)?I.value=x:null),modelModifiers:{number:!0},type:"number",min:"1",class:"no-spinner",autocomplete:"off"},null,8,["modelValue"])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ve,[e.createVNode(a,null,{default:e.withCtx(()=>[...o[7]||(o[7]=[e.createTextVNode("Available hours",-1)])]),_:1}),e.unref(D).length===0?(e.openBlock(),e.createElementBlock("div",be," No preset hours are available for this resource. You can still add a custom time below. ")):(e.openBlock(),e.createElementBlock("div",ye,[e.unref(i)?(e.openBlock(),e.createBlock(l,{key:0,type:"button",size:"icon",variant:"outline",class:"hidden absolute size-8 shrink-0 rounded-full shadow-sm md:inline-flex z-[11] left-0.5",onClick:e.unref(z)},{default:e.withCtx(()=>[e.createVNode(e.unref(U.ChevronLeft),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ce,[e.unref(H)?(e.openBlock(),e.createElementBlock("div",we)):e.createCommentVNode("",!0),e.unref(Q)?(e.openBlock(),e.createElementBlock("div",Se)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"hourScrollContainer",ref:p,class:e.normalizeClass(e.unref(J.classNames)("hour-scroll-track flex w-full min-w-0 gap-2 overflow-x-auto overscroll-contain py-2",e.unref(V)&&!e.unref(_)&&"cursor-grab",e.unref(_)&&"cursor-grabbing select-none"))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D),x=>(e.openBlock(),e.createBlock(l,{key:x,type:"button",variant:"outline",class:e.normalizeClass(["relative h-12 shrink-0",A(x)?"border-primary!":""]),onClick:W=>s(x)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x)+" ",1),A(x)?(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(e.unref(U.Check),{class:"size-3"})])):e.createCommentVNode("",!0)]),_:2},1032,["class","onClick"]))),128))],2)]),e.unref(N)?(e.openBlock(),e.createBlock(l,{key:1,type:"button",size:"icon",variant:"outline",class:"hidden absolute size-8 shrink-0 rounded-full shadow-sm md:inline-flex z-[11] right-0.5",onClick:e.unref(M)},{default:e.withCtx(()=>[e.createVNode(e.unref(U.ChevronRight),{class:"size-4"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])),e.createElementVNode("div",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),x=>(e.openBlock(),e.createElementBlock("div",{key:x,class:"relative"},[e.createVNode(l,{type:"button",variant:"outline",class:"h-12 px-4 py-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x),1)]),_:2},1024),e.createElementVNode("div",{class:"absolute -top-1 -right-1 flex items-center justify-center bg-red-500 rounded-full text-white size-4 cursor-pointer",onClick:W=>{n.value=e.unref(n).filter(Z=>Z!==x),k.value=e.unref(k).filter(Z=>Z!==x)}},[e.createVNode(e.unref(U.X),{class:"size-3"})],8,Be)]))),128))])]),e.createElementVNode("div",null,[e.createVNode(l,{disabled:!e.unref(q),onClick:f},{default:e.withCtx(()=>[e.unref(k).length===0?(e.openBlock(),e.createElementBlock("span",De,"Select at least one timeslot")):e.unref(k).length===1?(e.openBlock(),e.createElementBlock("span",$e,"Add 1 reservation")):(e.openBlock(),e.createElementBlock("span",Re,"Add "+e.toDisplayString(e.unref(k).length)+" reservations",1))]),_:1},8,["disabled"])])],2)}}}),Le=te._export_sfc(Ie,[["__scopeId","data-v-c7529556"]]),Fe={class:"space-y-3"},Oe={class:"flex flex-wrap items-center justify-between gap-3"},Pe={class:"text-xs text-muted-foreground"},Me={class:"flex flex-wrap items-center gap-2"},Ue={key:0,class:"rounded-md border border-dashed bg-muted/20 px-4 py-6 text-sm text-muted-foreground"},ze={key:1,class:"space-y-3"},Ae={class:"flex items-start gap-2 p-3 md:hidden"},qe=["aria-expanded","onClick"],je={class:"mt-0.5 flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-sm font-semibold text-muted-foreground"},He={class:"min-w-0 flex-1"},Qe={class:"flex items-start justify-between gap-3"},Ye={class:"min-w-0"},Ge={class:"block truncate text-base font-semibold"},Xe={class:"mt-1 block truncate text-xs text-muted-foreground"},We={class:"mt-1 block truncate text-xs text-muted-foreground"},Ze={class:"flex size-10 shrink-0 items-center justify-center rounded-xl border border-border/70 text-muted-foreground"},Ke={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground"},Je={class:"inline-flex items-center gap-1.5"},et={class:"inline-flex items-center gap-1.5"},tt={class:"hidden items-start justify-between gap-3 p-4 pb-0 md:flex"},ot={class:"text-sm font-medium"},nt={class:"text-xs text-muted-foreground"},at={class:"grid gap-4 border-t pt-3 md:grid-cols-2 md:border-0 md:pt-4 xl:grid-cols-5"},rt={class:"grid gap-2"},st={key:0,class:"text-xs text-orange-500"},lt={class:"grid gap-2"},it={class:"grid gap-2"},ct={class:"grid gap-2"},dt={key:0,class:"grid gap-2"},ut=e.defineComponent({__name:"ReservationLines",props:{modelValue:{},agendaData:{}},emits:["add","quick-add","update:modelValue"],setup(C,{emit:$}){const b=C,E=$,R=e.computed(()=>b.modelValue??[]),T=e.computed(()=>Number(b.agendaData?.maxTicketsPerReservation)>1),v=e.ref(null),B=e.ref(!1),y=e.computed(()=>String(b.agendaData?.currency||"EUR").toUpperCase()),w=e.computed(()=>{try{return new Intl.NumberFormat("en-US",{style:"currency",currency:y.value,minimumFractionDigits:2,maximumFractionDigits:2})}catch{return new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}}),h=s=>{E("update:modelValue",s)},k=(s,r,c)=>{h(R.value.map(t=>t.id!==s?t:r==="date"?{...t,date:String(c??""),dateValue:c||void 0}:{...t,[r]:c}))},I=(s,r)=>{const c=Number(r);k(s,"paid",Number.isFinite(c)?c:0)},L=(s,r)=>{const c=Number(r);k(s,"spots",Number.isFinite(c)&&c>0?c:1)},g=s=>{h(R.value.filter(r=>r.id!==s))},F=s=>{E("quick-add",s),B.value=!1},O=s=>b.agendaData?.pricingOptions?.find(r=>r.id===s.pricingOption),q=s=>{const r=O(s);return r?r.duration?`${r.name} (${r.duration}min)`:r.name:"Reservation"},D=s=>b.agendaData?.resources?.find(r=>r.id===s.resourceId),i=s=>D(s)?.name||"Unknown resource",N=s=>{if(!s.startTime)return"";const r=Number(O(s)?.duration);if(!Number.isFinite(r)||r<=0)return"";const[c,t]=s.startTime.split(":").map(Number);if(!Number.isFinite(c)||!Number.isFinite(t))return"";const n=c*60+t+r,f=Math.floor(n/60)%24,d=n%60;return`${f.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`},p=s=>{if(!s.startTime)return"Select time";const r=N(s);return r?`${s.startTime} - ${r}`:s.startTime},_=s=>{const r=Number(s);if(!Number.isFinite(r))return y.value==="EUR"?"€0.00":"0.00";try{return w.value.format(r)}catch{return`${r.toFixed(2)}`}},V=s=>{const r=Number(s.spots),c=Number.isFinite(r)&&r>0?r:1;return c===1?"1 spot":`${c} spots`},M=s=>{if(!/^\d{4}-\d{2}-\d{2}$/.test(s))return null;const[r,c,t]=s.split("-").map(Number),n=new Date(r,c-1,t);return Number.isNaN(n.getTime())||n.getFullYear()!==r||n.getMonth()!==c-1||n.getDate()!==t?null:(n.setHours(0,0,0,0),n)},z=s=>{const r=M(String(s.date||"").trim());if(!r)return"";const c=new Date;if(c.setHours(0,0,0,0),r<c)return"This date is in the past. Double-check it before saving.";const t=new Date(c);return t.setFullYear(t.getFullYear()+1),r>t?"This date is more than a year ahead. Double-check it before saving.":""},H=s=>!s.date||!s.startTime||!s.resourceId||!s.pricingOption,Q=s=>v.value===s,A=s=>{v.value=v.value===s?null:s};return e.watch(R,s=>{const r=new Set(s.map(c=>c.id));if(v.value&&!r.has(v.value)&&(v.value=null),!v.value){const c=s.find(H);c&&(v.value=c.id)}},{immediate:!0}),(s,r)=>{const c=e.resolveComponent("Button"),t=e.resolveComponent("PopoverTrigger"),n=e.resolveComponent("PopoverContent"),f=e.resolveComponent("Popover"),d=e.resolveComponent("Label"),u=e.resolveComponent("Input"),o=e.resolveComponent("DynamicSelectOption"),a=e.resolveComponent("DynamicSelect");return e.openBlock(),e.createElementBlock("div",Fe,[e.createElementVNode("div",Oe,[e.createElementVNode("p",Pe,e.toDisplayString(R.value.length===1?"1 reservation line":`${R.value.length} reservation lines`),1),e.createElementVNode("div",Me,[e.createVNode(f,{open:B.value,"onUpdate:open":r[0]||(r[0]=l=>B.value=l)},{default:e.withCtx(()=>[e.createVNode(t,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(c,{type:"button",variant:"outline",size:"sm",class:"gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(U.Zap),{class:"size-4 text-primary"}),r[2]||(r[2]=e.createTextVNode(" Quick add ",-1))]),_:1})]),_:1}),e.createVNode(n,{align:"end",class:"max-h-[80vh] w-[min(34rem,calc(100vw-2rem))] overflow-y-auto p-0"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(Le,{key:0,surface:"popover",agendaData:C.agendaData,onAdd:F},null,8,["agendaData"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["open"]),e.createVNode(c,{type:"button",variant:"outline",size:"sm",onClick:r[1]||(r[1]=l=>E("add"))},{default:e.withCtx(()=>[e.createVNode(e.unref(U.Plus),{class:"size-4"}),r[3]||(r[3]=e.createTextVNode(" Add line ",-1))]),_:1})])]),R.value.length===0?(e.openBlock(),e.createElementBlock("div",Ue," Use Quick add to create filled reservation lines, or add an empty line manually. ")):(e.openBlock(),e.createElementBlock("div",ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(l,S)=>(e.openBlock(),e.createElementBlock("div",{key:l.id,class:"rounded-xl border bg-background"},[e.createElementVNode("div",Ae,[e.createElementVNode("button",{type:"button",class:"flex min-w-0 flex-1 items-start gap-3 rounded-lg px-1 py-1 text-left outline-none transition-colors hover:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring/50","aria-expanded":Q(l.id),onClick:m=>A(l.id)},[e.createElementVNode("span",je,e.toDisplayString(S+1),1),e.createElementVNode("span",He,[e.createElementVNode("span",Qe,[e.createElementVNode("span",Ye,[e.createElementVNode("span",Ge,e.toDisplayString(p(l)),1),e.createElementVNode("span",Xe,e.toDisplayString(l.date||"No date selected"),1),e.createElementVNode("span",We,e.toDisplayString(i(l))+" · "+e.toDisplayString(q(l)),1)]),e.createElementVNode("span",Ze,[e.createVNode(e.unref(U.Pencil),{class:"size-4"})])]),e.createElementVNode("span",Ke,[e.createElementVNode("span",Je,[e.createVNode(e.unref(U.Users),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(V(l)),1)]),e.createElementVNode("span",et,[e.createVNode(e.unref(U.Tag),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(_(l.paid)),1)])])])],8,qe),e.createVNode(c,{type:"button",variant:"ghost",size:"icon",class:"mt-1 shrink-0",onClick:m=>g(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(U.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]),e.createElementVNode("div",tt,[e.createElementVNode("div",null,[e.createElementVNode("p",ot,"Reservation "+e.toDisplayString(S+1),1),e.createElementVNode("p",nt,e.toDisplayString(i(l))+" · "+e.toDisplayString(q(l)),1)]),e.createVNode(c,{type:"button",variant:"ghost",size:"icon",class:"shrink-0",onClick:m=>g(l.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(U.Trash2),{class:"size-4"})]),_:1},8,["onClick"])]),e.createElementVNode("div",{class:e.normalizeClass(["px-3 pb-3 md:px-4 md:pb-4 overflow-hidden",Q(l.id)?"block":"hidden md:block"])},[e.createElementVNode("div",at,[e.createElementVNode("div",rt,[e.createVNode(d,null,{default:e.withCtx(()=>[...r[4]||(r[4]=[e.createTextVNode("Date",-1)])]),_:1}),e.createVNode(u,{"model-value":l.date,type:"date","onUpdate:modelValue":m=>k(l.id,"date",String(m??""))},null,8,["model-value","onUpdate:modelValue"]),z(l)?(e.openBlock(),e.createElementBlock("p",st,e.toDisplayString(z(l)),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",lt,[e.createVNode(d,{for:`new_reservation_res_line_${S}_time`},{default:e.withCtx(()=>[...r[5]||(r[5]=[e.createTextVNode("Time",-1)])]),_:1},8,["for"]),e.createVNode(u,{id:`new_reservation_res_line_${S}_time`,"model-value":l.startTime,type:"time",class:"reservation-time-input","onUpdate:modelValue":m=>k(l.id,"startTime",String(m??""))},null,8,["id","model-value","onUpdate:modelValue"])]),e.createElementVNode("div",it,[e.createVNode(d,null,{default:e.withCtx(()=>[...r[6]||(r[6]=[e.createTextVNode("Resource",-1)])]),_:1}),e.createVNode(a,{"model-value":l.resourceId,"wrapper-class":"w-full",class:"w-full",placeholder:"Select resource","onUpdate:modelValue":m=>k(l.id,"resourceId",String(m??""))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.agendaData?.resources||[],m=>(e.openBlock(),e.createBlock(o,{key:m.id,value:m.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",ct,[e.createVNode(d,null,{default:e.withCtx(()=>[...r[7]||(r[7]=[e.createTextVNode("Type",-1)])]),_:1}),e.createVNode(a,{"model-value":l.pricingOption,"wrapper-class":"w-full",class:"w-full",placeholder:"Select type","onUpdate:modelValue":m=>k(l.id,"pricingOption",String(m??""))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.agendaData?.pricingOptions||[],m=>(e.openBlock(),e.createBlock(o,{key:m.id,value:m.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value","onUpdate:modelValue"])]),e.createElementVNode("div",{class:e.normalizeClass(["grid gap-4",T.value?"md:grid-cols-2 xl:grid-cols-2 xl:col-span-1":""])},[T.value?(e.openBlock(),e.createElementBlock("div",dt,[e.createVNode(d,null,{default:e.withCtx(()=>[...r[8]||(r[8]=[e.createTextVNode("Spots",-1)])]),_:1}),e.createVNode(u,{"model-value":l.spots,type:"number",min:"1",class:"no-spinner","onUpdate:modelValue":m=>L(l.id,m)},null,8,["model-value","onUpdate:modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["grid gap-2",T.value?"":"md:col-span-2 xl:col-span-1"])},[e.createVNode(d,null,{default:e.withCtx(()=>[...r[9]||(r[9]=[e.createTextVNode("Paid",-1)])]),_:1}),e.createVNode(u,{"model-value":l.paid,type:"number",min:"0",step:"1",class:"no-spinner","onUpdate:modelValue":m=>I(l.id,m)},null,8,["model-value","onUpdate:modelValue"])],2)],2)])],2)]))),128))]))])}}}),mt=te._export_sfc(ut,[["__scopeId","data-v-9b860aae"]]),pt={class:"space-y-5 md:mt-5"},ft={class:"space-y-3"},gt={class:"mt-4 text-red-400"},vt={class:"list-disc pl-4"},ht={key:0},_t={key:1},ee="00:00",kt=e.defineComponent({__name:"NewReservationDialog",props:{agendaData:{}},setup(C){const $=C,{params:b}=K.useModuleRoute(),{config:E}=K.useModule(),{log:R,logError:T}=useLogs(),v=K.useFirebaseIntegration(E.project),B=e.computed(()=>b.value?.id??b.id??""),y=e.inject("agendaData",e.ref({})),w=e.computed(()=>$.agendaData??y.value??{}),h=e.ref(!1),k=e.ref(!1),I=e.ref([]),L=/^([01]\d|2[0-3]):[0-5]\d$/,g=e.ref([]),F=e.ref(null),O=()=>w.value?.resources?.[0]?.id??"",q=()=>w.value?.pricingOptions?.find(t=>t.isDefault===!0)?.id??w.value?.pricingOptions?.[0]?.id??"",D=t=>{let n=t?.pricingOption??q(),f=w.value?.pricingOptions?.find(u=>u.id===n)?.price??0;typeof f=="string"&&(f=Number(f));let d=t?.paid??f;return typeof d=="string"&&(d=Number(d)),{id:`reservation_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,spots:Number(t?.spots)||1,paid:Number.isFinite(d)?d:0,resourceId:t?.resourceId??O(),pricingOption:n,date:t?.date??"",dateValue:t?.dateValue,startTime:t?.startTime??ee}},i=()=>{g.value=[D()]},N=t=>!t.date&&t.startTime===ee,p=()=>{const t=g.value[g.value.length-1];g.value=[...g.value,D(t?{...t}:void 0)]},_=t=>w.value?.pricingOptions?.find(n=>n.id===t.pricingOption),V=t=>w.value?.resources?.find(n=>n.id===t.resourceId),M=()=>{const t=Number(w.value?.maxTicketsPerReservation);return Number.isFinite(t)&&t>0?t:null},z=t=>`Reservation ${t+1}`,H=t=>{const n=String(t.date||"").trim(),f=String(t.startTime||"").trim(),d=String(t.resourceId||"").trim();return!n||!f||!d?"":`${d}_${n}_${f}`},Q=()=>{const t=[],n=new Map,f=M();return g.value.forEach((d,u)=>{const o=z(u),a=String(d.date||"").trim(),l=String(d.startTime||"").trim(),S=String(d.resourceId||"").trim(),m=String(d.pricingOption||"").trim(),P=Number(d.spots),j=Number(d.paid);a||t.push(`${o}: please select a date.`),l?L.test(l)||t.push(`${o}: please enter a valid time.`):t.push(`${o}: please select a time.`),S?V(d)||t.push(`${o}: the selected resource is no longer available.`):t.push(`${o}: please select a resource.`),m?_(d)||t.push(`${o}: the selected type is no longer available.`):t.push(`${o}: please select a type.`),!Number.isFinite(P)||P<=0?t.push(`${o}: spots must be at least 1.`):f!==null&&P>f&&t.push(`${o}: spots cannot be more than ${f}.`),(!Number.isFinite(j)||j<0)&&t.push(`${o}: paid amount must be 0 or higher.`);const Y=H(d);if(Y){const X=n.get(Y);X!==void 0?t.push(`${o}: duplicate of ${z(X).toLowerCase()}.`):n.set(Y,u)}}),t},A=t=>{const n=t.startTimes.map(f=>D({date:t.date?`${t.date}`:"",dateValue:t.date,pricingOption:t.pricingOptionId,resourceId:t.resourceId,spots:t.spots,startTime:f}));if(n.length!==0){if(g.value.length===1&&N(g.value[0])){g.value=n;return}g.value=[...g.value,...n]}},s=t=>{if(!t.startTime||!t.pricingOption)return"";const n=_(t);if(!n?.duration)return t.startTime;const[f,d]=t.startTime.split(":").map(Number);if(isNaN(f)||isNaN(d))return"";const u=f*60+d+n.duration,o=Math.floor(u/60)%24,a=u%60;return`${o.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`};e.watch(h,async t=>{t&&(I.value=[],i(),await e.nextTick(),F.value?.reset())});const r=()=>{const t=[];I.value=[];const n=F.value,f=n?n.validateForm():!1;return n||t.push("Customer information form is unavailable."),g.value.length===0&&t.push("Please add at least one reservation."),t.push(...Q()),I.value=t,t.length===0&&f},c=async()=>{const t=F.value;if(!t||!r())return;let n=!1;try{k.value=!0;const f=t.getCustomerInfo(),d=g.value.map(a=>{const l=Number(a.paid)||0,S=Number(a.spots)||1,m=_(a),P=V(a),j=a.date;return{paidAmount:l,flattenedReservationDate:`${a.resourceId}_${j}`,flattenedReservation:`${a.resourceId}_${j}_${a.startTime.replace(":","")}`,reservation:{status:"approved",totalPrice:Number(l.toFixed(2)),basePrice:Number((l/S).toFixed(2)),addOnsPrice:0,addOns:[],date:j,id:`res_${Date.now()}_${Math.random().toString(36).substring(2,9)}`,pricingOption:{duration:m?.duration||"",id:m?.id||"",name:m?.name||"",price:m?.price||""},pricingOptionId:a.pricingOption,resource:{avatarLabel:P?.avatarLabel||"",color:P?.color||"",description:P?.description||"",id:P?.id||"",name:P?.name||""},resourceId:a.resourceId,spots:S,timeslot:{startTime:a.startTime,endTime:s(a)}}}}),u=Number(d.reduce((a,l)=>a+l.paidAmount,0).toFixed(2)),o={agendaId:B.value,customerInfo:f,metadata:{},amountPaid:u,amountDue:0,subtotal:u,total:u,createdAt:new Date,updatedAt:new Date,discount:0,flattenedReservationDates:Array.from(new Set(d.map(a=>a.flattenedReservationDate))),flattenedReservations:d.map(a=>a.flattenedReservation),paymentStatus:"paid",paymentType:"full",reservations:d.map(a=>a.reservation),status:"confirmed"};await v.add(E.reservationsCollection,o),n=!0,R(`${d.length} ${d.length>1?"reservations":"reservation"} created in Studio`,{agendaId:B.value,reservationIds:d.map(a=>a.reservation.id),amountPaid:u,reservations:d.map(a=>`${a.reservation.resource.name}: ${a.reservation.date} ${a.reservation.timeslot.startTime}`)})}catch(f){T("Failed to create reservation in Studio",{error:f instanceof Error?f.message:String(f),agendaId:B.value}),console.error("Error creating reservation:",f)}finally{k.value=!1,n&&(h.value=!1)}};return(t,n)=>{const f=e.resolveComponent("Button"),d=e.resolveComponent("ResponsiveModalTrigger"),u=e.resolveComponent("ResponsiveModalTitle"),o=e.resolveComponent("ResponsiveModalHeader"),a=e.resolveComponent("ResponsiveModalFooter"),l=e.resolveComponent("ResponsiveModalScrollContent"),S=e.resolveComponent("ResponsiveModal");return e.openBlock(),e.createBlock(S,{open:h.value,"onUpdate:open":n[1]||(n[1]=m=>h.value=m)},{default:e.withCtx(()=>[e.createVNode(d,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(e.unref(U.Plus),{class:"size-4"}),n[2]||(n[2]=e.createTextVNode(" Add Reservation ",-1))]),_:1})]),_:1}),e.createVNode(l,{class:"@container/modal sm:max-w-7xl"},{default:e.withCtx(()=>[e.createVNode(o,null,{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[...n[3]||(n[3]=[e.createTextVNode("Create new reservation",-1)])]),_:1})]),_:1}),e.createElementVNode("div",pt,[e.createVNode(me,{ref_key:"customerInformationRef",ref:F,agendaData:w.value},null,8,["agendaData"]),n[5]||(n[5]=e.createElementVNode("div",{class:"w-full h-[1px] bg-border my-8"},null,-1)),e.createElementVNode("div",ft,[n[4]||(n[4]=e.createElementVNode("div",{class:"flex items-center justify-between gap-3"},[e.createElementVNode("h2",{class:"text-sm font-medium"},"Reservations")],-1)),e.createVNode(mt,{modelValue:g.value,"onUpdate:modelValue":n[0]||(n[0]=m=>g.value=m),agendaData:w.value,onAdd:p,onQuickAdd:A},null,8,["modelValue","agendaData"])]),e.createElementVNode("div",gt,[e.createElementVNode("ul",vt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,m=>(e.openBlock(),e.createElementBlock("li",{key:m},e.toDisplayString(m),1))),128))])])]),e.createVNode(a,{class:"gap-2"},{default:e.withCtx(()=>[e.createVNode(f,{onClick:c,disabled:k.value},{default:e.withCtx(()=>[k.value?(e.openBlock(),e.createElementBlock("span",ht,"Creating...")):(e.openBlock(),e.createElementBlock("span",_t,e.toDisplayString(g.value.length>1?`Create ${g.value.length} reservations`:"Create reservation"),1))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}});exports._sfc_main=kt;
|