@oneclick.dev/cms-core-modules 0.0.71 → 0.0.73
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-D_Qx7XRY.mjs +400 -0
- package/dist/Acquisition-_-cq972V.js +1 -0
- package/dist/AppointmentDetailsCard-CtK0Cj_O.js +1 -0
- package/dist/AppointmentDetailsCard-i4Ky8WnK.mjs +161 -0
- package/dist/AppointmentEditor-BeOtYV6u.mjs +196 -0
- package/dist/AppointmentEditor-CaTfbkIf.js +1 -0
- package/dist/AppointmentListTable-CQ3uXfa8.js +1 -0
- package/dist/AppointmentListTable-G5dIeCYj.mjs +159 -0
- package/dist/Audience-BdlrWkY-.mjs +489 -0
- package/dist/Audience-QnFQs93n.js +1 -0
- package/dist/Content-C-4Cdniz.js +1 -0
- package/dist/Content-DW6xvbUo.mjs +358 -0
- package/dist/ContentEditor-3JFlC9N1.js +313 -0
- package/dist/{ContentEditor-B7IYLH91.mjs → ContentEditor-7SDjf5Hk.mjs} +16535 -25527
- package/dist/CountryBreakdownCard-BUfJ-umQ.js +1 -0
- package/dist/CountryBreakdownCard-Dc_vZ9dJ.mjs +196 -0
- package/dist/{Create-D8NBEkJU.js → Create-CRn2sMHp.js} +1 -1
- package/dist/{Create-BDiyCtrp.mjs → Create-DtFzwxn_.mjs} +1 -1
- package/dist/DateFormatter-C9qfmQnP.js +1 -0
- package/dist/{DateFormatter-DAZP9a6L.mjs → DateFormatter-DfIwyrnF.mjs} +399 -258
- package/dist/{Detail-Cxd2VMOl.js → Detail-BcboL7NF.js} +1 -1
- package/dist/{Detail-CxUU6BpO.mjs → Detail-BwDnY42G.mjs} +1 -1
- package/dist/{Detail-DTHaYmyl.js → Detail-Bxi7lG9x.js} +1 -1
- package/dist/{Detail-BGD75ul4.mjs → Detail-CVgWHbMC.mjs} +22 -18
- package/dist/DeviceBreakdownCard-BJcQNo8a.mjs +159 -0
- package/dist/DeviceBreakdownCard-CsoK6JUO.js +1 -0
- package/dist/{Find-B4sAEx0B.mjs → Find-XPcJxeRH.mjs} +1 -1
- package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-B-ZhMrMu.js → NewReservationDialog.vue_vue_type_script_setup_true_lang-C5YczjNb.js} +1 -1
- package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-CJ7hh7ug.mjs → NewReservationDialog.vue_vue_type_script_setup_true_lang-Ds7z0qeH.mjs} +1 -1
- package/dist/{Overview-HvlDEgqi.mjs → Overview--XpvBbqz.mjs} +1 -1
- package/dist/Overview-B8OF-JJr.mjs +567 -0
- package/dist/Overview-DSU1Nh7B.js +1 -0
- package/dist/PeakHoursCard-BNl_U1r_.js +1 -0
- package/dist/PeakHoursCard-hV8PdGsf.mjs +182 -0
- package/dist/ProductDetailsCard-BwktdlIf.js +1 -0
- package/dist/ProductDetailsCard-CJBkZSER.mjs +121 -0
- package/dist/RealtimeCard-CRJHS64l.mjs +126 -0
- package/dist/RealtimeCard-CxtqQHee.js +1 -0
- package/dist/SearchTermsCard-DGRbo5ZP.js +1 -0
- package/dist/SearchTermsCard-Dwa-P7My.mjs +201 -0
- package/dist/SeoHealth-BqlYiSCj.js +1 -0
- package/dist/SeoHealth-DG004AsJ.mjs +523 -0
- package/dist/{TableView-C4NNrJpP.js → TableView-CU0a9ih2.js} +162 -199
- package/dist/{TableView-B5OyApnP.mjs → TableView-fYC7kB6j.mjs} +23309 -24320
- package/dist/TopPagesCard-Dv52to_J.mjs +159 -0
- package/dist/TopPagesCard-pZ-nAsaI.js +1 -0
- package/dist/TrafficSourcesCard-CBOPV1J1.js +1 -0
- package/dist/TrafficSourcesCard-CMhcj2k2.mjs +197 -0
- package/dist/VisitorStatsCard-BHn4oSnt.mjs +174 -0
- package/dist/VisitorStatsCard-tApB_7v8.js +1 -0
- package/dist/{agenda-CTG6N_Lt.mjs → agenda-XqvbrU72.mjs} +2 -2
- package/dist/{agenda-OSkAh0Oa.js → agenda-wNFDKn0G.js} +1 -1
- package/dist/array-CbATeQbk.js +1 -0
- package/dist/array-CvmZXzxF.mjs +108 -0
- package/dist/cms-core-modules.css +1 -1
- package/dist/{exceptions-CEXIFw47.mjs → exceptions-CLgeeUSy.mjs} +1 -1
- package/dist/{exceptions-BvMTqtof.js → exceptions-wEQEVzIs.js} +1 -1
- package/dist/floating-ui.dom-BO2Hr6mz.mjs +1292 -0
- package/dist/floating-ui.dom-CAr9LGoC.js +1 -0
- package/dist/{index-AmUV8LZQ.mjs → index-B-lVEpFX.mjs} +1 -1
- package/dist/index-BuzLn4Km.js +54 -0
- package/dist/index-C4YUVWzJ.js +75 -0
- package/dist/index-CMk3uhUt.mjs +3837 -0
- package/dist/{index-Uf7TwBuW.mjs → index-CrGjxSwa.mjs} +4 -4
- package/dist/index-D2DYuz8R.mjs +1090 -0
- package/dist/index-D3L8WAJI.js +58 -0
- package/dist/index-D7JBu6iT.mjs +34 -0
- package/dist/index-DQYBP8Js.js +158 -0
- package/dist/index-DjDCYQ_6.mjs +441 -0
- package/dist/index-DwHYfZl_.js +1 -0
- package/dist/{index-Biuv2zTx-DBCin9DT.mjs → index-N6w5-hDF-6k_ELHYC.mjs} +1234 -1234
- package/dist/index-N6w5-hDF-DCuxwPBX.js +88 -0
- package/dist/index-O_QNuTdG.js +35 -0
- package/dist/index-_2lRVt_k.mjs +2942 -0
- package/dist/index-p5Uqu8c2.mjs +1438 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +383 -86
- package/dist/{resources-DgPnEv76.mjs → resources-CFR_s89Z.mjs} +1 -1
- 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/index.d.ts +70 -0
- package/dist/src/appointments/server.d.ts +19 -0
- package/dist/src/appointments/tools.d.ts +56 -16
- package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Button.vue.d.ts +3 -1
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/CustomClass.d.ts +14 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/NodeDragPointerEventsFix.d.ts +2 -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/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/config.d.ts +39 -0
- package/dist/src/googleAnalytics/index.d.ts +116 -0
- package/dist/src/googleAnalytics/metadata.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/permissions.d.ts +1 -0
- package/dist/src/googleAnalytics/server.d.ts +35 -0
- package/dist/src/googleAnalytics/tools.d.ts +59 -0
- package/dist/src/index.d.ts +6 -5
- package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +2 -0
- package/dist/src/mailTemplates/routes.d.ts +5 -0
- package/dist/src/mailTemplates/tools.d.ts +1 -0
- package/dist/src/productCollections/tools.d.ts +1 -0
- package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +14 -0
- package/dist/src/products/index.d.ts +24 -2
- package/dist/src/products/server.d.ts +19 -0
- package/dist/src/products/tools.d.ts +21 -2
- package/dist/src/promoCodes/tools.d.ts +1 -0
- package/dist/src/server-handlers.d.ts +9 -0
- package/dist/src/table/tools.d.ts +1 -25
- package/package.json +23 -21
- package/src/appointments/server.ts +195 -0
- package/src/appointments/tools.ts +61 -21
- package/src/googleAnalytics/server.ts +1188 -0
- package/src/googleAnalytics/tools.ts +158 -0
- package/src/mailTemplates/tools.ts +1 -0
- package/src/productCollections/tools.ts +1 -0
- package/src/products/server.ts +146 -0
- package/src/products/tools.ts +19 -0
- package/src/promoCodes/tools.ts +1 -0
- package/src/table/tools.ts +1 -25
- package/dist/ContentEditor-LOn09n7N.js +0 -307
- package/dist/DateFormatter-Bw-SCfUS.js +0 -1
- package/dist/floating-ui.dom-CBBY0Ism.js +0 -1
- package/dist/floating-ui.dom-xfqXu4GA.mjs +0 -1138
- package/dist/index-Biuv2zTx-DHiVlXFj.js +0 -88
- package/dist/index-HLGxDG-0.mjs +0 -7746
- package/dist/index-n2p9TTRq.js +0 -245
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/DragHandle.d.ts +0 -76
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/NodeDragPointerEventsFix.d.ts +0 -7
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/drag-handle-plugin.d.ts +0 -25
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/drag-handle.d.ts +0 -50
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/cloneElement.d.ts +0 -1
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/dragHandler.d.ts +0 -2
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/findNextElementFromCursor.d.ts +0 -17
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/getComputedStyle.d.ts +0 -1
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/getInnerCoords.d.ts +0 -5
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/getOuterNode.d.ts +0 -3
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/minMax.d.ts +0 -1
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/removeNode.d.ts +0 -1
- package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/index.d.ts +0 -4
- package/dist/src/mail-templates/tools.d.ts +0 -25
- package/dist/src/product-collections/tools.d.ts +0 -25
- package/dist/src/promo-codes/tools.d.ts +0 -25
- package/src/mail-templates/tools.ts +0 -25
- package/src/product-collections/tools.ts +0 -25
- package/src/promo-codes/tools.ts +0 -25
- /package/dist/src/{content-manager → contentManager}/components/components/ComponentDialog.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/components/ComponentGridItem.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/ApiDocs.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/ContentLayout.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/ContentSettings.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/ContentStructuredContentSections.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/Header.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/LivePreviewWrapper.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/Locales.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/NewSectionDialog.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/PageSettings.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/SEO.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/SidebarSectionWrapper.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/Status.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/Versions.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/code-examples.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Button.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Card.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Card.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Column.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Column.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/ComponentEditorNode.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Container.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Container.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Divider.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Divider.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/EmptySpace.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Heading.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Heading.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Image.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Image.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/LockBlocks.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Map.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Map.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/OnlyContainerDocument.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Paragraph.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Row.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Row.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Stack.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Stack.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Video.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Video.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/content/details-content.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/content/index.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/details.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/helpers/findClosestVisibleNode.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/helpers/isNodeVisible.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/helpers/setGapCursor.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/index.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/summary/details-summary.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/summary/index.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/useContainerFocus.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/overview/CollectionDialog.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/overview/CollectionsGridView.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/overview/ContentEntryContextMenu.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/overview/FilterPopover.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/overview/ListView.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/styling/ButtonStyleDialog.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/styling/CardStyleDialog.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/components/styling/SectionStyleDialog.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/config.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/index.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/index.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/metadata.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/pages/Components.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/pages/ContentEditor.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/pages/Entries.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/pages/GlobalStyling.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/pages/Overview.vue.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/permissions.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/routes.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/stores/useTableStore.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/tools.d.ts +0 -0
- /package/dist/src/{content-manager → contentManager}/types.d.ts +0 -0
- /package/dist/src/{mail-templates/components/TemplateList.vue.d.ts → googleAnalytics/index.vue.d.ts} +0 -0
- /package/dist/src/{mail-templates → googleAnalytics}/routes.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/config.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/index.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/index.vue.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/metadata.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/pages/Detail.vue.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/pages/Overview.vue.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/permissions.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/stores/useTableStore.d.ts +0 -0
- /package/dist/src/{mail-templates → mailTemplates}/types.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/components/detail/Main.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/components/detail/SEO.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/components/detail/Status.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/components/overview/ListView.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/composables/useTable.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/config.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/index.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/index.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/metadata.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/pages/Detail.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/pages/Overview.vue.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/permissions.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/routes.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/stores/useTableStore.d.ts +0 -0
- /package/dist/src/{product-collections → productCollections}/types.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/DateRange.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/MultiCodes.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/Note.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/SingleCode.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/components/create/TypeAndValue/index.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/config.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/index.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/index.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/metadata.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/pages/Create.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/pages/Detail.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/pages/Find.vue.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/permissions.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/routes.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/stores/useTableStore.d.ts +0 -0
- /package/dist/src/{promo-codes → promoCodes}/types.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/components/detail/Condition.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/components/detail/Countries.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/components/detail/Example.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/components/detail/Main.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/components/overview/ListView.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/composables/useTable.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/config.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/index.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/index.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/metadata.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/pages/Detail.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/pages/Overview.vue.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/permissions.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/routes.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/stores/useTableStore.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/tools.d.ts +0 -0
- /package/dist/src/{shipping-options → shippingOptions}/types.d.ts +0 -0
- /package/src/{content-manager → contentManager}/tools.ts +0 -0
- /package/src/{shipping-options → shippingOptions}/tools.ts +0 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { defineComponent as S, ref as p, reactive as B, onMounted as L, computed as T, openBlock as i, createElementBlock as r, unref as t, createVNode as u, createElementVNode as a, toDisplayString as N, createTextVNode as f, withDirectives as g, vModelText as v, createCommentVNode as k, createBlock as C } from "vue";
|
|
2
|
+
import { Loader2 as I, CalendarDays as z, User as V, Mail as R, Calendar as $, Save as j } from "lucide-vue-next";
|
|
3
|
+
const q = { class: "w-full" }, G = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "flex items-center gap-2 py-3"
|
|
6
|
+
}, H = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "text-xs text-destructive py-2"
|
|
9
|
+
}, J = {
|
|
10
|
+
key: 2,
|
|
11
|
+
class: "rounded-xl border bg-background p-4 text-center"
|
|
12
|
+
}, K = {
|
|
13
|
+
key: 3,
|
|
14
|
+
class: "rounded-xl border bg-background p-4 space-y-4"
|
|
15
|
+
}, O = { class: "flex items-center gap-2" }, P = { class: "text-[10px] text-muted-foreground ml-auto" }, Q = { class: "space-y-1.5" }, W = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, X = ["disabled"], Y = { class: "space-y-1.5" }, Z = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, ee = ["disabled"], te = { class: "space-y-1.5" }, se = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, ae = ["disabled"], oe = { class: "space-y-1.5" }, ne = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, le = ["disabled"], ie = {
|
|
16
|
+
key: 0,
|
|
17
|
+
class: "text-xs text-destructive"
|
|
18
|
+
}, de = {
|
|
19
|
+
key: 1,
|
|
20
|
+
class: "flex items-center gap-2 pt-1"
|
|
21
|
+
}, re = ["disabled"], ce = /* @__PURE__ */ S({
|
|
22
|
+
__name: "AppointmentEditor",
|
|
23
|
+
props: {
|
|
24
|
+
toolName: {},
|
|
25
|
+
instanceId: {},
|
|
26
|
+
instanceName: {},
|
|
27
|
+
moduleType: {},
|
|
28
|
+
resolvedArgs: {},
|
|
29
|
+
status: {}
|
|
30
|
+
},
|
|
31
|
+
emits: ["submit"],
|
|
32
|
+
setup(m, { emit: w }) {
|
|
33
|
+
const b = m, A = w, M = useModuleApi(b.instanceId), x = p(!0), c = p(!1), d = p(null), n = p(null), y = p(!1), s = B({
|
|
34
|
+
firstName: "",
|
|
35
|
+
lastName: "",
|
|
36
|
+
email: "",
|
|
37
|
+
date: ""
|
|
38
|
+
});
|
|
39
|
+
async function D() {
|
|
40
|
+
const o = b.resolvedArgs?.orderId;
|
|
41
|
+
if (!o) {
|
|
42
|
+
d.value = "No appointment ID provided", x.value = !1;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
x.value = !0, d.value = null;
|
|
46
|
+
try {
|
|
47
|
+
const e = await M.get(`/appointments/${o}`);
|
|
48
|
+
n.value = e;
|
|
49
|
+
const l = e.customerInfo || {};
|
|
50
|
+
s.firstName = l.firstName || "", s.lastName = l.lastName || "", s.email = l.email || "";
|
|
51
|
+
const U = e.reservations?.[0];
|
|
52
|
+
s.date = U?.date || "";
|
|
53
|
+
} catch (e) {
|
|
54
|
+
d.value = e?.data?.statusMessage || e?.message || "Failed to load appointment";
|
|
55
|
+
} finally {
|
|
56
|
+
x.value = !1;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
L(() => {
|
|
60
|
+
D();
|
|
61
|
+
});
|
|
62
|
+
function _(o) {
|
|
63
|
+
b.status !== "completed" && A("submit", o);
|
|
64
|
+
}
|
|
65
|
+
const h = T(() => {
|
|
66
|
+
if (!n.value) return !1;
|
|
67
|
+
const o = n.value.customerInfo || {};
|
|
68
|
+
return s.firstName !== (o.firstName || "") || s.lastName !== (o.lastName || "") || s.email !== (o.email || "") || s.date !== (n.value.reservations?.[0]?.date || "");
|
|
69
|
+
});
|
|
70
|
+
async function E() {
|
|
71
|
+
if (!(!h.value || c.value)) {
|
|
72
|
+
c.value = !0;
|
|
73
|
+
try {
|
|
74
|
+
const o = {
|
|
75
|
+
appointmentId: n.value.id,
|
|
76
|
+
updatedFields: {
|
|
77
|
+
firstName: s.firstName,
|
|
78
|
+
lastName: s.lastName,
|
|
79
|
+
email: s.email,
|
|
80
|
+
date: s.date
|
|
81
|
+
},
|
|
82
|
+
previousValues: {
|
|
83
|
+
firstName: n.value.customerInfo?.firstName,
|
|
84
|
+
lastName: n.value.customerInfo?.lastName,
|
|
85
|
+
email: n.value.customerInfo?.email,
|
|
86
|
+
date: n.value.reservations?.[0]?.date
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
_(o), y.value = !0;
|
|
90
|
+
} catch (o) {
|
|
91
|
+
d.value = o?.data?.statusMessage || o?.message || "Failed to save changes";
|
|
92
|
+
} finally {
|
|
93
|
+
c.value = !1;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function F() {
|
|
98
|
+
_({ cancelled: !0, appointmentId: n.value?.id }), y.value = !0;
|
|
99
|
+
}
|
|
100
|
+
return (o, e) => (i(), r("div", q, [
|
|
101
|
+
t(x) ? (i(), r("div", G, [
|
|
102
|
+
u(t(I), { class: "size-4 animate-spin text-muted-foreground" }),
|
|
103
|
+
e[4] || (e[4] = a("span", { class: "text-xs text-muted-foreground" }, "Loading appointment…", -1))
|
|
104
|
+
])) : t(d) && !t(n) ? (i(), r("div", H, N(t(d)), 1)) : t(y) ? (i(), r("div", J, [
|
|
105
|
+
u(t(z), { class: "size-8 text-primary mx-auto mb-2" }),
|
|
106
|
+
e[5] || (e[5] = a("p", { class: "text-sm text-muted-foreground" }, "Changes submitted.", -1))
|
|
107
|
+
])) : t(n) ? (i(), r("div", K, [
|
|
108
|
+
a("div", O, [
|
|
109
|
+
u(t(z), { class: "size-5 text-primary" }),
|
|
110
|
+
e[6] || (e[6] = a("h3", { class: "text-sm font-semibold" }, "Edit Appointment", -1)),
|
|
111
|
+
a("span", P, " #" + N(t(n).id?.slice(0, 8)), 1)
|
|
112
|
+
]),
|
|
113
|
+
a("div", Q, [
|
|
114
|
+
a("label", W, [
|
|
115
|
+
u(t(V), { class: "size-3" }),
|
|
116
|
+
e[7] || (e[7] = f(" First Name ", -1))
|
|
117
|
+
]),
|
|
118
|
+
g(a("input", {
|
|
119
|
+
"onUpdate:modelValue": e[0] || (e[0] = (l) => t(s).firstName = l),
|
|
120
|
+
type: "text",
|
|
121
|
+
class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
|
|
122
|
+
disabled: m.status === "completed"
|
|
123
|
+
}, null, 8, X), [
|
|
124
|
+
[v, t(s).firstName]
|
|
125
|
+
])
|
|
126
|
+
]),
|
|
127
|
+
a("div", Y, [
|
|
128
|
+
a("label", Z, [
|
|
129
|
+
u(t(V), { class: "size-3" }),
|
|
130
|
+
e[8] || (e[8] = f(" Last Name ", -1))
|
|
131
|
+
]),
|
|
132
|
+
g(a("input", {
|
|
133
|
+
"onUpdate:modelValue": e[1] || (e[1] = (l) => t(s).lastName = l),
|
|
134
|
+
type: "text",
|
|
135
|
+
class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
|
|
136
|
+
disabled: m.status === "completed"
|
|
137
|
+
}, null, 8, ee), [
|
|
138
|
+
[v, t(s).lastName]
|
|
139
|
+
])
|
|
140
|
+
]),
|
|
141
|
+
a("div", te, [
|
|
142
|
+
a("label", se, [
|
|
143
|
+
u(t(R), { class: "size-3" }),
|
|
144
|
+
e[9] || (e[9] = f(" Email ", -1))
|
|
145
|
+
]),
|
|
146
|
+
g(a("input", {
|
|
147
|
+
"onUpdate:modelValue": e[2] || (e[2] = (l) => t(s).email = l),
|
|
148
|
+
type: "email",
|
|
149
|
+
class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
|
|
150
|
+
disabled: m.status === "completed"
|
|
151
|
+
}, null, 8, ae), [
|
|
152
|
+
[v, t(s).email]
|
|
153
|
+
])
|
|
154
|
+
]),
|
|
155
|
+
a("div", oe, [
|
|
156
|
+
a("label", ne, [
|
|
157
|
+
u(t($), { class: "size-3" }),
|
|
158
|
+
e[10] || (e[10] = f(" Date ", -1))
|
|
159
|
+
]),
|
|
160
|
+
g(a("input", {
|
|
161
|
+
"onUpdate:modelValue": e[3] || (e[3] = (l) => t(s).date = l),
|
|
162
|
+
type: "date",
|
|
163
|
+
class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
|
|
164
|
+
disabled: m.status === "completed"
|
|
165
|
+
}, null, 8, le), [
|
|
166
|
+
[v, t(s).date]
|
|
167
|
+
])
|
|
168
|
+
]),
|
|
169
|
+
t(d) ? (i(), r("div", ie, N(t(d)), 1)) : k("", !0),
|
|
170
|
+
m.status !== "completed" ? (i(), r("div", de, [
|
|
171
|
+
a("button", {
|
|
172
|
+
onClick: E,
|
|
173
|
+
disabled: !t(h) || t(c),
|
|
174
|
+
class: "inline-flex items-center gap-1.5 rounded-lg bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
|
|
175
|
+
}, [
|
|
176
|
+
t(c) ? (i(), C(t(I), {
|
|
177
|
+
key: 0,
|
|
178
|
+
class: "size-3 animate-spin"
|
|
179
|
+
})) : (i(), C(t(j), {
|
|
180
|
+
key: 1,
|
|
181
|
+
class: "size-3"
|
|
182
|
+
})),
|
|
183
|
+
e[11] || (e[11] = f(" Confirm Changes ", -1))
|
|
184
|
+
], 8, re),
|
|
185
|
+
a("button", {
|
|
186
|
+
onClick: F,
|
|
187
|
+
class: "inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted transition-colors"
|
|
188
|
+
}, " Cancel ")
|
|
189
|
+
])) : k("", !0)
|
|
190
|
+
])) : k("", !0)
|
|
191
|
+
]));
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
export {
|
|
195
|
+
ce as default
|
|
196
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("lucide-vue-next"),k={class:"w-full"},E={key:0,class:"flex items-center gap-2 py-3"},B={key:1,class:"text-xs text-destructive py-2"},h={key:2,class:"rounded-xl border bg-background p-4 text-center"},_={key:3,class:"rounded-xl border bg-background p-4 space-y-4"},C={class:"flex items-center gap-2"},I={class:"text-[10px] text-muted-foreground ml-auto"},w={class:"space-y-1.5"},D={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},T=["disabled"],M={class:"space-y-1.5"},z={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},S=["disabled"],A={class:"space-y-1.5"},U={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},F=["disabled"],L={class:"space-y-1.5"},q={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},j=["disabled"],O={key:0,class:"text-xs text-destructive"},P={key:1,class:"flex items-center gap-2 pt-1"},R=["disabled"],$=e.defineComponent({__name:"AppointmentEditor",props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(d,{emit:x}){const c=d,g=x,N=useModuleApi(c.instanceId),u=e.ref(!0),i=e.ref(!1),l=e.ref(null),o=e.ref(null),m=e.ref(!1),s=e.reactive({firstName:"",lastName:"",email:"",date:""});async function v(){const a=c.resolvedArgs?.orderId;if(!a){l.value="No appointment ID provided",u.value=!1;return}u.value=!0,l.value=null;try{const t=await N.get(`/appointments/${a}`);o.value=t;const n=t.customerInfo||{};s.firstName=n.firstName||"",s.lastName=n.lastName||"",s.email=n.email||"";const V=t.reservations?.[0];s.date=V?.date||""}catch(t){l.value=t?.data?.statusMessage||t?.message||"Failed to load appointment"}finally{u.value=!1}}e.onMounted(()=>{v()});function f(a){c.status!=="completed"&&g("submit",a)}const p=e.computed(()=>{if(!o.value)return!1;const a=o.value.customerInfo||{};return s.firstName!==(a.firstName||"")||s.lastName!==(a.lastName||"")||s.email!==(a.email||"")||s.date!==(o.value.reservations?.[0]?.date||"")});async function b(){if(!(!p.value||i.value)){i.value=!0;try{const a={appointmentId:o.value.id,updatedFields:{firstName:s.firstName,lastName:s.lastName,email:s.email,date:s.date},previousValues:{firstName:o.value.customerInfo?.firstName,lastName:o.value.customerInfo?.lastName,email:o.value.customerInfo?.email,date:o.value.reservations?.[0]?.date}};f(a),m.value=!0}catch(a){l.value=a?.data?.statusMessage||a?.message||"Failed to save changes"}finally{i.value=!1}}}function y(){f({cancelled:!0,appointmentId:o.value?.id}),m.value=!0}return(a,t)=>(e.openBlock(),e.createElementBlock("div",k,[e.unref(u)?(e.openBlock(),e.createElementBlock("div",E,[e.createVNode(e.unref(r.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),t[4]||(t[4]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Loading appointment…",-1))])):e.unref(l)&&!e.unref(o)?(e.openBlock(),e.createElementBlock("div",B,e.toDisplayString(e.unref(l)),1)):e.unref(m)?(e.openBlock(),e.createElementBlock("div",h,[e.createVNode(e.unref(r.CalendarDays),{class:"size-8 text-primary mx-auto mb-2"}),t[5]||(t[5]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"Changes submitted.",-1))])):e.unref(o)?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",C,[e.createVNode(e.unref(r.CalendarDays),{class:"size-5 text-primary"}),t[6]||(t[6]=e.createElementVNode("h3",{class:"text-sm font-semibold"},"Edit Appointment",-1)),e.createElementVNode("span",I," #"+e.toDisplayString(e.unref(o).id?.slice(0,8)),1)]),e.createElementVNode("div",w,[e.createElementVNode("label",D,[e.createVNode(e.unref(r.User),{class:"size-3"}),t[7]||(t[7]=e.createTextVNode(" First Name ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=n=>e.unref(s).firstName=n),type:"text",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,T),[[e.vModelText,e.unref(s).firstName]])]),e.createElementVNode("div",M,[e.createElementVNode("label",z,[e.createVNode(e.unref(r.User),{class:"size-3"}),t[8]||(t[8]=e.createTextVNode(" Last Name ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=n=>e.unref(s).lastName=n),type:"text",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,S),[[e.vModelText,e.unref(s).lastName]])]),e.createElementVNode("div",A,[e.createElementVNode("label",U,[e.createVNode(e.unref(r.Mail),{class:"size-3"}),t[9]||(t[9]=e.createTextVNode(" Email ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>e.unref(s).email=n),type:"email",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,F),[[e.vModelText,e.unref(s).email]])]),e.createElementVNode("div",L,[e.createElementVNode("label",q,[e.createVNode(e.unref(r.Calendar),{class:"size-3"}),t[10]||(t[10]=e.createTextVNode(" Date ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>e.unref(s).date=n),type:"date",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,j),[[e.vModelText,e.unref(s).date]])]),e.unref(l)?(e.openBlock(),e.createElementBlock("div",O,e.toDisplayString(e.unref(l)),1)):e.createCommentVNode("",!0),d.status!=="completed"?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("button",{onClick:b,disabled:!e.unref(p)||e.unref(i),class:"inline-flex items-center gap-1.5 rounded-lg bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"},[e.unref(i)?(e.openBlock(),e.createBlock(e.unref(r.Loader2),{key:0,class:"size-3 animate-spin"})):(e.openBlock(),e.createBlock(e.unref(r.Save),{key:1,class:"size-3"})),t[11]||(t[11]=e.createTextVNode(" Confirm Changes ",-1))],8,R),e.createElementVNode("button",{onClick:y,class:"inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted transition-colors"}," Cancel ")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}});exports.default=$;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),_={class:"w-full"},k={key:0,class:"flex items-center gap-2 py-3"},E={key:1,class:"text-xs text-destructive py-2"},V={key:2,class:"rounded-xl border bg-background p-4 text-center"},w={key:3,class:"rounded-xl border bg-background overflow-hidden"},S={class:"overflow-x-auto"},D={class:"w-full text-xs"},I={class:"px-3 py-2"},B={class:"font-medium truncate max-w-[160px]"},T={class:"text-muted-foreground truncate max-w-[160px]"},C={class:"px-3 py-2 whitespace-nowrap"},L={class:"px-3 py-2 whitespace-nowrap"},j={class:"px-3 py-2 text-center"},A={class:"px-3 py-2"},$={class:"px-3 py-2 text-right font-medium whitespace-nowrap"},P={class:"px-3 py-2 border-t bg-muted/20 flex items-center justify-between"},q={class:"text-xs text-muted-foreground"},z=e.defineComponent({__name:"AppointmentListTable",props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(i,{emit:m}){const d=i,p=m,x=useRoute(),f=e.computed(()=>x.params.slug),g=useModuleApi(d.instanceId),l=e.ref(!0),a=e.ref(null),s=e.ref([]);async function y(){const t=d.resolvedArgs?.quantity||20;l.value=!0,a.value=null;try{const r=await g.get(`/appointments?quantity=${t}`);s.value=r.appointments||[],u({count:s.value.length,appointments:s.value.map(o=>({orderId:o.orderId,reservationId:o.reservationId,customerName:`${o.customerInfo?.firstName||""} ${o.customerInfo?.lastName||""}`.trim(),email:o.customerInfo?.email,date:o.date,startTime:o.startTime,endTime:o.endTime,spots:o.spots,status:o.reservationStatus||o.status,price:o.reservationPrice}))})}catch(r){a.value=r?.data?.statusMessage||r?.message||"Failed to load appointments",u(`Error loading appointments: ${a.value}`)}finally{l.value=!1}}e.onMounted(()=>{y()});function u(t){d.status!=="completed"&&p("submit",t)}const b=t=>{switch(t){case"approved":return"text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20";case"needs_approval":return"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20";case"rejected":case"cancelled":return"text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";default:return"text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20"}},N=t=>{switch(t){case"approved":return"Approved";case"needs_approval":return"Needs Approval";case"rejected":return"Rejected";case"cancelled":return"Cancelled";case"confirmed":return"Confirmed";default:return t||"Pending"}},v=t=>t==null?"—":`€${t.toFixed(2)}`,h=t=>{if(!t)return"—";try{return new Date(t).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"})}catch{return t}};return(t,r)=>{const o=e.resolveComponent("NuxtLink");return e.openBlock(),e.createElementBlock("div",_,[e.unref(l)?(e.openBlock(),e.createElementBlock("div",k,[e.createVNode(e.unref(c.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),r[0]||(r[0]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Loading appointments…",-1))])):e.unref(a)?(e.openBlock(),e.createElementBlock("div",E,e.toDisplayString(e.unref(a)),1)):e.unref(s).length===0?(e.openBlock(),e.createElementBlock("div",V,[e.createVNode(e.unref(c.CalendarDays),{class:"size-8 text-muted-foreground mx-auto mb-2"}),r[1]||(r[1]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"No recent appointments found.",-1))])):(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",S,[e.createElementVNode("table",D,[r[2]||(r[2]=e.createElementVNode("thead",null,[e.createElementVNode("tr",{class:"border-b bg-muted/40"},[e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Customer"),e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Date"),e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Time"),e.createElementVNode("th",{class:"text-center px-3 py-2 font-medium text-muted-foreground"},"Spots"),e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Status"),e.createElementVNode("th",{class:"text-right px-3 py-2 font-medium text-muted-foreground"},"Price")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),n=>(e.openBlock(),e.createElementBlock("tr",{key:n.reservationId||n.orderId,class:"border-b last:border-b-0 hover:bg-muted/30 transition-colors"},[e.createElementVNode("td",I,[e.createElementVNode("div",B,e.toDisplayString(n.customerInfo?.firstName)+" "+e.toDisplayString(n.customerInfo?.lastName),1),e.createElementVNode("div",T,e.toDisplayString(n.customerInfo?.email),1)]),e.createElementVNode("td",C,e.toDisplayString(h(n.date)),1),e.createElementVNode("td",L,e.toDisplayString(n.startTime)+" – "+e.toDisplayString(n.endTime),1),e.createElementVNode("td",j,e.toDisplayString(n.spots||1),1),e.createElementVNode("td",A,[e.createElementVNode("span",{class:e.normalizeClass(["inline-block text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase whitespace-nowrap",b(n.reservationStatus||n.status)])},e.toDisplayString(N(n.reservationStatus||n.status)),3)]),e.createElementVNode("td",$,e.toDisplayString(v(n.reservationPrice)),1)]))),128))])])]),e.createElementVNode("div",P,[e.createElementVNode("span",q,e.toDisplayString(e.unref(s).length)+" appointment"+e.toDisplayString(e.unref(s).length===1?"":"s"),1),e.createVNode(o,{to:`/projects/${e.unref(f)}/modules/${i.instanceId}`,class:"inline-flex items-center gap-1.5 text-xs text-primary hover:underline"},{default:e.withCtx(()=>[e.createVNode(e.unref(c.ExternalLink),{class:"size-3"}),r[3]||(r[3]=e.createTextVNode(" View all ",-1))]),_:1},8,["to"])])]))])}}});exports.default=z;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { defineComponent as C, computed as L, ref as x, onMounted as S, resolveComponent as A, openBlock as i, createElementBlock as u, unref as a, createVNode as c, createElementVNode as e, toDisplayString as n, Fragment as $, renderList as j, normalizeClass as D, withCtx as P, createTextVNode as z } from "vue";
|
|
2
|
+
import { Loader2 as E, CalendarDays as V, ExternalLink as q } from "lucide-vue-next";
|
|
3
|
+
const F = { class: "w-full" }, M = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "flex items-center gap-2 py-3"
|
|
6
|
+
}, B = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "text-xs text-destructive py-2"
|
|
9
|
+
}, R = {
|
|
10
|
+
key: 2,
|
|
11
|
+
class: "rounded-xl border bg-background p-4 text-center"
|
|
12
|
+
}, U = {
|
|
13
|
+
key: 3,
|
|
14
|
+
class: "rounded-xl border bg-background overflow-hidden"
|
|
15
|
+
}, G = { class: "overflow-x-auto" }, H = { class: "w-full text-xs" }, J = { class: "px-3 py-2" }, K = { class: "font-medium truncate max-w-[160px]" }, O = { class: "text-muted-foreground truncate max-w-[160px]" }, Q = { class: "px-3 py-2 whitespace-nowrap" }, W = { class: "px-3 py-2 whitespace-nowrap" }, X = { class: "px-3 py-2 text-center" }, Y = { class: "px-3 py-2" }, Z = { class: "px-3 py-2 text-right font-medium whitespace-nowrap" }, ee = { class: "px-3 py-2 border-t bg-muted/20 flex items-center justify-between" }, te = { class: "text-xs text-muted-foreground" }, re = /* @__PURE__ */ C({
|
|
16
|
+
__name: "AppointmentListTable",
|
|
17
|
+
props: {
|
|
18
|
+
toolName: {},
|
|
19
|
+
instanceId: {},
|
|
20
|
+
instanceName: {},
|
|
21
|
+
moduleType: {},
|
|
22
|
+
resolvedArgs: {},
|
|
23
|
+
status: {}
|
|
24
|
+
},
|
|
25
|
+
emits: ["submit"],
|
|
26
|
+
setup(f, { emit: b }) {
|
|
27
|
+
const m = f, h = b, v = useRoute(), y = L(() => v.params.slug), _ = useModuleApi(m.instanceId), p = x(!0), l = x(null), d = x([]);
|
|
28
|
+
async function k() {
|
|
29
|
+
const t = m.resolvedArgs?.quantity || 20;
|
|
30
|
+
p.value = !0, l.value = null;
|
|
31
|
+
try {
|
|
32
|
+
const s = await _.get(`/appointments?quantity=${t}`);
|
|
33
|
+
d.value = s.appointments || [], g({
|
|
34
|
+
count: d.value.length,
|
|
35
|
+
appointments: d.value.map((o) => ({
|
|
36
|
+
orderId: o.orderId,
|
|
37
|
+
reservationId: o.reservationId,
|
|
38
|
+
customerName: `${o.customerInfo?.firstName || ""} ${o.customerInfo?.lastName || ""}`.trim(),
|
|
39
|
+
email: o.customerInfo?.email,
|
|
40
|
+
date: o.date,
|
|
41
|
+
startTime: o.startTime,
|
|
42
|
+
endTime: o.endTime,
|
|
43
|
+
spots: o.spots,
|
|
44
|
+
status: o.reservationStatus || o.status,
|
|
45
|
+
price: o.reservationPrice
|
|
46
|
+
}))
|
|
47
|
+
});
|
|
48
|
+
} catch (s) {
|
|
49
|
+
l.value = s?.data?.statusMessage || s?.message || "Failed to load appointments", g(`Error loading appointments: ${l.value}`);
|
|
50
|
+
} finally {
|
|
51
|
+
p.value = !1;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
S(() => {
|
|
55
|
+
k();
|
|
56
|
+
});
|
|
57
|
+
function g(t) {
|
|
58
|
+
m.status !== "completed" && h("submit", t);
|
|
59
|
+
}
|
|
60
|
+
const w = (t) => {
|
|
61
|
+
switch (t) {
|
|
62
|
+
case "approved":
|
|
63
|
+
return "text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20";
|
|
64
|
+
case "needs_approval":
|
|
65
|
+
return "text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20";
|
|
66
|
+
case "rejected":
|
|
67
|
+
case "cancelled":
|
|
68
|
+
return "text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";
|
|
69
|
+
default:
|
|
70
|
+
return "text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20";
|
|
71
|
+
}
|
|
72
|
+
}, I = (t) => {
|
|
73
|
+
switch (t) {
|
|
74
|
+
case "approved":
|
|
75
|
+
return "Approved";
|
|
76
|
+
case "needs_approval":
|
|
77
|
+
return "Needs Approval";
|
|
78
|
+
case "rejected":
|
|
79
|
+
return "Rejected";
|
|
80
|
+
case "cancelled":
|
|
81
|
+
return "Cancelled";
|
|
82
|
+
case "confirmed":
|
|
83
|
+
return "Confirmed";
|
|
84
|
+
default:
|
|
85
|
+
return t || "Pending";
|
|
86
|
+
}
|
|
87
|
+
}, N = (t) => t == null ? "—" : `€${t.toFixed(2)}`, T = (t) => {
|
|
88
|
+
if (!t) return "—";
|
|
89
|
+
try {
|
|
90
|
+
return new Date(t).toLocaleDateString("en-US", { weekday: "short", month: "short", day: "numeric" });
|
|
91
|
+
} catch {
|
|
92
|
+
return t;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return (t, s) => {
|
|
96
|
+
const o = A("NuxtLink");
|
|
97
|
+
return i(), u("div", F, [
|
|
98
|
+
a(p) ? (i(), u("div", M, [
|
|
99
|
+
c(a(E), { class: "size-4 animate-spin text-muted-foreground" }),
|
|
100
|
+
s[0] || (s[0] = e("span", { class: "text-xs text-muted-foreground" }, "Loading appointments…", -1))
|
|
101
|
+
])) : a(l) ? (i(), u("div", B, n(a(l)), 1)) : a(d).length === 0 ? (i(), u("div", R, [
|
|
102
|
+
c(a(V), { class: "size-8 text-muted-foreground mx-auto mb-2" }),
|
|
103
|
+
s[1] || (s[1] = e("p", { class: "text-sm text-muted-foreground" }, "No recent appointments found.", -1))
|
|
104
|
+
])) : (i(), u("div", U, [
|
|
105
|
+
e("div", G, [
|
|
106
|
+
e("table", H, [
|
|
107
|
+
s[2] || (s[2] = e("thead", null, [
|
|
108
|
+
e("tr", { class: "border-b bg-muted/40" }, [
|
|
109
|
+
e("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Customer"),
|
|
110
|
+
e("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Date"),
|
|
111
|
+
e("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Time"),
|
|
112
|
+
e("th", { class: "text-center px-3 py-2 font-medium text-muted-foreground" }, "Spots"),
|
|
113
|
+
e("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Status"),
|
|
114
|
+
e("th", { class: "text-right px-3 py-2 font-medium text-muted-foreground" }, "Price")
|
|
115
|
+
])
|
|
116
|
+
], -1)),
|
|
117
|
+
e("tbody", null, [
|
|
118
|
+
(i(!0), u($, null, j(a(d), (r) => (i(), u("tr", {
|
|
119
|
+
key: r.reservationId || r.orderId,
|
|
120
|
+
class: "border-b last:border-b-0 hover:bg-muted/30 transition-colors"
|
|
121
|
+
}, [
|
|
122
|
+
e("td", J, [
|
|
123
|
+
e("div", K, n(r.customerInfo?.firstName) + " " + n(r.customerInfo?.lastName), 1),
|
|
124
|
+
e("div", O, n(r.customerInfo?.email), 1)
|
|
125
|
+
]),
|
|
126
|
+
e("td", Q, n(T(r.date)), 1),
|
|
127
|
+
e("td", W, n(r.startTime) + " – " + n(r.endTime), 1),
|
|
128
|
+
e("td", X, n(r.spots || 1), 1),
|
|
129
|
+
e("td", Y, [
|
|
130
|
+
e("span", {
|
|
131
|
+
class: D(["inline-block text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase whitespace-nowrap", w(r.reservationStatus || r.status)])
|
|
132
|
+
}, n(I(r.reservationStatus || r.status)), 3)
|
|
133
|
+
]),
|
|
134
|
+
e("td", Z, n(N(r.reservationPrice)), 1)
|
|
135
|
+
]))), 128))
|
|
136
|
+
])
|
|
137
|
+
])
|
|
138
|
+
]),
|
|
139
|
+
e("div", ee, [
|
|
140
|
+
e("span", te, n(a(d).length) + " appointment" + n(a(d).length === 1 ? "" : "s"), 1),
|
|
141
|
+
c(o, {
|
|
142
|
+
to: `/projects/${a(y)}/modules/${f.instanceId}`,
|
|
143
|
+
class: "inline-flex items-center gap-1.5 text-xs text-primary hover:underline"
|
|
144
|
+
}, {
|
|
145
|
+
default: P(() => [
|
|
146
|
+
c(a(q), { class: "size-3" }),
|
|
147
|
+
s[3] || (s[3] = z(" View all ", -1))
|
|
148
|
+
]),
|
|
149
|
+
_: 1
|
|
150
|
+
}, 8, ["to"])
|
|
151
|
+
])
|
|
152
|
+
]))
|
|
153
|
+
]);
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
export {
|
|
158
|
+
re as default
|
|
159
|
+
};
|