@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
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),g=require("./vee-validate-zod-ByykgYKJ.js"),$=require("lucide-vue-next"),Oe=require("@formkit/drag-and-drop"),J=require("@oneclick.dev/cms-kit"),it=require("./google-D4N3gb01.js"),Y=require("./index-ijdf0d9-.js"),st={class:"flex flex-col gap-4"},dt={class:"flex flex-col"},ct={key:0,class:"text-red-500 text-sm mt-1"},ut={class:"flex flex-col gap-4"},pt={class:"flex flex-col"},ft={key:0,class:"text-red-500 text-sm mt-1"},mt={class:"flex flex-col gap-4"},gt={class:"flex flex-col"},vt={key:0,class:"text-red-500 text-sm mt-1"},xt=e.defineComponent({__name:"Main",setup(t){const o=e.inject("sources"),n=e.inject("defaultSource"),{errors:r}=g.useFormContext(),{value:l}=g.useField("title"),{value:i}=g.useField("description"),{value:s}=g.useField("media");return(d,a)=>{const f=e.resolveComponent("Label"),v=e.resolveComponent("Input"),c=e.resolveComponent("Textarea"),V=e.resolveComponent("MediaPicker"),_=e.resolveComponent("CardContent"),b=e.resolveComponent("Card");return e.openBlock(),e.createBlock(b,null,{default:e.withCtx(()=>[e.createVNode(_,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",st,[e.createElementVNode("div",dt,[e.createVNode(f,{for:"title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(v,{type:"text",id:"title",placeholder:"T-shirt with red heart",modelValue:e.unref(l),"onUpdate:modelValue":a[0]||(a[0]=k=>e.isRef(l)?l.value=k:null)},null,8,["modelValue"]),e.unref(r).title?(e.openBlock(),e.createElementBlock("p",ct,e.toDisplayString(e.unref(r).title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ut,[e.createElementVNode("div",pt,[e.createVNode(f,{for:"description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(c,{id:"description",placeholder:"Lovely T-shirt featuring a red heart",modelValue:e.unref(i),"onUpdate:modelValue":a[1]||(a[1]=k=>e.isRef(i)?i.value=k:null)},null,8,["modelValue"]),e.unref(r).description?(e.openBlock(),e.createElementBlock("p",ft,e.toDisplayString(e.unref(r).description),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",mt,[e.createElementVNode("div",gt,[e.createVNode(f,{for:"media",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Media",-1)])]),_:1}),e.createVNode(V,{id:"media",modelValue:e.unref(s),"onUpdate:modelValue":a[2]||(a[2]=k=>e.isRef(s)?s.value=k:null),sources:e.unref(o),defaultSource:e.unref(n)},null,8,["modelValue","sources","defaultSource"]),e.unref(r).media?(e.openBlock(),e.createElementBlock("p",vt,e.toDisplayString(e.unref(r).media),1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1})}}}),Vt={class:"grid grid-cols-2 gap-4 mb-4"},ht={class:"relative"},Nt={key:0,class:"text-red-500 text-sm mt-1"},Ct={class:"relative"},yt={class:"absolute right-2 top-1/2 -translate-y-1/2"},bt={key:0,class:"text-red-500 text-sm mt-1"},kt={class:"flex items-center gap-2 mb-4"},_t={class:"flex items-center border-t mt-4 pt-4"},wt={class:"relative"},Dt={key:0,class:"text-red-500 text-sm mt-1"},St=e.defineComponent({__name:"Price",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("price"),{value:r}=g.useField("compareAtPrice"),{value:l}=g.useField("isTaxable"),{value:i}=g.useField("costPerItem");return e.computed(()=>Number(n.value)>0),(s,d)=>{const a=e.resolveComponent("Label"),f=e.resolveComponent("Input"),v=e.resolveComponent("TooltipTrigger"),c=e.resolveComponent("TooltipContent"),V=e.resolveComponent("Tooltip"),_=e.resolveComponent("Checkbox"),b=e.resolveComponent("CardContent"),k=e.resolveComponent("Card");return e.openBlock(),e.createBlock(k,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[d[12]||(d[12]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Pricing",-1)),e.createElementVNode("div",Vt,[e.createElementVNode("div",null,[e.createVNode(a,{for:"price",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Price",-1)])]),_:1}),e.createElementVNode("div",ht,[e.createVNode(f,{type:"number",id:"price",class:"pl-10 no-spinner",modelValue:e.unref(n),"onUpdate:modelValue":d[0]||(d[0]=S=>e.isRef(n)?n.value=S:null)},null,8,["modelValue"]),d[5]||(d[5]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1))]),e.unref(o).price?(e.openBlock(),e.createElementBlock("p",Nt,e.toDisplayString(e.unref(o).price),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.createVNode(a,{for:"compare-at-price",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Compare-at price",-1)])]),_:1}),e.createElementVNode("div",Ct,[e.createVNode(f,{type:"number",id:"compare-at-price",class:"pl-10 no-spinner",modelValue:e.unref(r),"onUpdate:modelValue":d[1]||(d[1]=S=>e.isRef(r)?r.value=S:null)},null,8,["modelValue"]),d[8]||(d[8]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1)),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(v,{"as-child":""},{default:e.withCtx(()=>[e.createElementVNode("button",yt,[e.createVNode(e.unref($.Info),{class:"size-4 text-muted-foreground"})])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[...d[7]||(d[7]=[e.createElementVNode("p",null,[e.createTextVNode(" To display a markdown, enter a value higher than your price."),e.createElementVNode("br"),e.createTextVNode(" Often shown with a strikethrough (e.g. "),e.createElementVNode("span",{class:"font-semibold line-through"},"€25,00"),e.createTextVNode("). ")],-1)])]),_:1})]),_:1})]),e.unref(o).compareAtPrice?(e.openBlock(),e.createElementBlock("p",bt,e.toDisplayString(e.unref(o).compareAtPrice),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",kt,[e.createVNode(_,{id:"charge-tax",modelValue:e.unref(l),"onUpdate:modelValue":d[2]||(d[2]=S=>e.isRef(l)?l.value=S:null)},null,8,["modelValue"]),e.createVNode(a,{for:"charge-tax",class:"text-sm"},{default:e.withCtx(()=>[...d[9]||(d[9]=[e.createTextVNode("Charge tax on this product",-1)])]),_:1})]),e.createElementVNode("div",_t,[e.createElementVNode("div",null,[e.createVNode(a,{for:"cost-per-item",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[10]||(d[10]=[e.createTextVNode("Cost per item",-1)])]),_:1}),e.createElementVNode("div",wt,[e.createVNode(f,{type:"number",id:"cost-per-item",class:"pl-10 no-spinner",modelValue:e.unref(i),"onUpdate:modelValue":d[3]||(d[3]=S=>e.isRef(i)?i.value=S:null)},null,8,["modelValue"]),d[11]||(d[11]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1))]),e.unref(o).costPerItem?(e.openBlock(),e.createElementBlock("p",Dt,e.toDisplayString(e.unref(o).costPerItem),1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1})}}}),Et={class:"grid grid-cols-2 gap-4 mb-4"},Tt={class:"flex items-center gap-2 mb-4"},Bt={key:0,class:"grid grid-cols-2 gap-4 mb-4"},Pt={class:"flex items-center gap-2"},It=e.defineComponent({__name:"Inventory",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("sku"),{value:r}=g.useField("barcode"),{value:l}=g.useField("trackInventory"),{value:i}=g.useField("allowBackorder"),{value:s}=g.useField("stock"),{value:d}=g.useField("options"),{value:a}=g.useField("variants"),f=e.computed(()=>a.value.reduce((v,c)=>c.stock<0?v:v+c.stock,0));return(v,c)=>{const V=e.resolveComponent("Label"),_=e.resolveComponent("Input"),b=e.resolveComponent("Checkbox"),k=e.resolveComponent("TooltipTrigger"),S=e.resolveComponent("TooltipContent"),E=e.resolveComponent("Tooltip"),m=e.resolveComponent("CardContent"),h=e.resolveComponent("Card");return e.openBlock(),e.createBlock(h,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[c[12]||(c[12]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Inventory",-1)),e.createElementVNode("div",Et,[e.createElementVNode("div",null,[e.createVNode(V,{for:"sku",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[6]||(c[6]=[e.createTextVNode("SKU (Stock Keeping Unit)",-1)])]),_:1}),e.createVNode(_,{id:"sku",modelValue:e.unref(n),"onUpdate:modelValue":c[0]||(c[0]=B=>e.isRef(n)?n.value=B:null)},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(V,{for:"barcode",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[7]||(c[7]=[e.createTextVNode("Barcode (ISBN, UPC, GTIN, etc.)",-1)])]),_:1}),e.createVNode(_,{id:"barcode",modelValue:e.unref(r),"onUpdate:modelValue":c[1]||(c[1]=B=>e.isRef(r)?r.value=B:null)},null,8,["modelValue"])])]),e.createElementVNode("div",Tt,[e.createVNode(b,{id:"track-quantity",modelValue:e.unref(l),"onUpdate:modelValue":c[2]||(c[2]=B=>e.isRef(l)?l.value=B:null)},null,8,["modelValue"]),e.createVNode(V,{for:"track-quantity",class:"text-sm"},{default:e.withCtx(()=>[...c[8]||(c[8]=[e.createTextVNode("Track quantity",-1)])]),_:1})]),e.unref(l)?(e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",null,[e.createVNode(V,{for:"stock",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[9]||(c[9]=[e.createTextVNode("Stock",-1)])]),_:1}),!e.unref(d)||e.unref(d)?.length===0?(e.openBlock(),e.createBlock(_,{key:0,id:"stock",type:"number",modelValue:e.unref(s),"onUpdate:modelValue":c[3]||(c[3]=B=>e.isRef(s)?s.value=B:null),class:"no-spinner"},null,8,["modelValue"])):(e.openBlock(),e.createBlock(E,{key:1},{default:e.withCtx(()=>[e.createVNode(k,{class:"cursor-not-allowed"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:f.value,"onUpdate:modelValue":c[4]||(c[4]=B=>f.value=B),disabled:"",class:"no-spinner"},null,8,["modelValue"])]),_:1}),e.createVNode(S,null,{default:e.withCtx(()=>[...c[10]||(c[10]=[e.createElementVNode("p",null,"Total stock of all variants",-1)])]),_:1})]),_:1}))])])):e.createCommentVNode("",!0),e.createElementVNode("div",Pt,[e.createVNode(b,{id:"continue-selling",modelValue:e.unref(i),"onUpdate:modelValue":c[5]||(c[5]=B=>e.isRef(i)?i.value=B:null)},null,8,["modelValue"]),e.createVNode(V,{for:"continue-selling",class:"text-sm"},{default:e.withCtx(()=>[...c[11]||(c[11]=[e.createTextVNode("Continue selling when out of stock",-1)])]),_:1})])]),_:1})]),_:1})}}}),$t={class:"flex items-center gap-2 mb-4"},Ft={key:0,class:"grid grid-cols-2 gap-4 mb-4"},At=e.defineComponent({__name:"Shipping",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("isPhysicalProduct"),{value:r}=g.useField("weight"),{value:l}=g.useField("weightUnit");return(i,s)=>{const d=e.resolveComponent("Checkbox"),a=e.resolveComponent("Label"),f=e.resolveComponent("Input"),v=e.resolveComponent("SelectValue"),c=e.resolveComponent("SelectTrigger"),V=e.resolveComponent("SelectItem"),_=e.resolveComponent("SelectGroup"),b=e.resolveComponent("SelectContent"),k=e.resolveComponent("Select"),S=e.resolveComponent("CardContent"),E=e.resolveComponent("Card");return e.openBlock(),e.createBlock(E,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[s[10]||(s[10]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Shipping",-1)),e.createElementVNode("div",$t,[e.createVNode(d,{id:"is-physical-product",modelValue:e.unref(n),"onUpdate:modelValue":s[0]||(s[0]=m=>e.isRef(n)?n.value=m:null)},null,8,["modelValue"]),e.createVNode(a,{for:"is-physical-product",class:"text-sm"},{default:e.withCtx(()=>[...s[3]||(s[3]=[e.createTextVNode("This is a physical product",-1)])]),_:1})]),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("div",null,[e.createVNode(a,{for:"weight",class:"text-sm mb-2"},{default:e.withCtx(()=>[...s[4]||(s[4]=[e.createTextVNode("Weight",-1)])]),_:1}),e.createVNode(f,{id:"weight",type:"number",modelValue:e.unref(r),"onUpdate:modelValue":s[1]||(s[1]=m=>e.isRef(r)?r.value=m:null),class:"no-spinner"},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(a,{for:"weight-unit",class:"text-sm mb-2"},{default:e.withCtx(()=>[...s[5]||(s[5]=[e.createTextVNode("Weight unit",-1)])]),_:1}),e.createVNode(k,{modelValue:e.unref(l),"onUpdate:modelValue":s[2]||(s[2]=m=>e.isRef(l)?l.value=m:null)},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(v,{placeholder:"Select unit"})]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(V,{value:"lb"},{default:e.withCtx(()=>[...s[6]||(s[6]=[e.createTextVNode(" lb ",-1)])]),_:1}),e.createVNode(V,{value:"oz"},{default:e.withCtx(()=>[...s[7]||(s[7]=[e.createTextVNode(" oz ",-1)])]),_:1}),e.createVNode(V,{value:"kg"},{default:e.withCtx(()=>[...s[8]||(s[8]=[e.createTextVNode(" kg ",-1)])]),_:1}),e.createVNode(V,{value:"g"},{default:e.withCtx(()=>[...s[9]||(s[9]=[e.createTextVNode(" g ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])])):e.createCommentVNode("",!0)]),_:1})]),_:1})}}});function z(t){t.preventDefault()}function Z(t){t.stopPropagation()}function Re(){const t=new Map;return[function(r,l){t.get(r)&&t.get(r).forEach(i=>{i(l)})},function(r,l){const i=t.get(r)??[];i.push(l),t.set(r,i)}]}var[Le,je]=Re();function Mt(t,o){return t.source===o.source&&t.flags.split("").sort().join("")===o.flags.split("").sort().join("")}function se(t,o,n=!0,r=["__key"]){if(t===o)return!0;if(typeof o=="object"&&typeof t=="object"&&t!==null&&o!==null){if(t instanceof Map||t instanceof Set)return!1;if(t instanceof Date&&o instanceof Date)return t.getTime()===o.getTime();if(t instanceof RegExp&&o instanceof RegExp)return Mt(t,o);if(t===null||o===null)return!1;const l=t,i=o;if(Object.keys(l).length!==Object.keys(i).length)return!1;for(const s of r)if((s in l||s in i)&&l[s]!==i[s])return!1;for(const s in l)if(!(s in i)||l[s]!==i[s]&&!n||n&&!se(l[s],i[s],n,r))return!1;return!0}return!1}function Ue(t){return t.split(" ").filter(o=>o)}function le(t){return{x:t.clientX,y:t.clientY}}Array();var Te=typeof window<"u",M=new WeakMap,q=new WeakMap;function He(){if(!Te)return!1;if("userAgentData"in navigator)return navigator.userAgentData.mobile===!0;const t=navigator.userAgent,o=/android|iphone|ipod/i.test(t),n=/iPad/.test(t)||t.includes("Macintosh")&&navigator.maxTouchPoints>1;return o||n}var zt={affectedNodes:[],coordinates:{x:0,y:0},currentTargetValue:void 0,on:je,emit:Le,originalZIndex:void 0,pointerSelection:!1,preventEnter:!1,rootUserSelect:void 0,nodePointerdown:void 0,longPress:!1,scrolling:!1,longPressTimeout:void 0,remapJustFinished:!1,selectedNodes:[],selectedParent:void 0,preventSynthDrag:!1,pointerDown:void 0,lastScrollContainerX:null,lastScrollContainerY:null,rootScrollWidth:void 0,rootScrollHeight:void 0,dragItemRect:void 0,windowScrollX:void 0,windowScrollY:void 0,lastScrollDirectionX:void 0,lastScrollDirectionY:void 0,scrollDebounceTimeout:void 0,frameIdX:void 0,frameIdY:void 0},p=zt,W=!1,$e,De;function Ot(){p.scrollDebounceTimeout&&clearTimeout(p.scrollDebounceTimeout),p.longPressTimeout&&clearTimeout(p.longPressTimeout),p.frameIdX!==void 0&&cancelAnimationFrame(p.frameIdX),p.frameIdY!==void 0&&cancelAnimationFrame(p.frameIdY),p={...{affectedNodes:[],coordinates:{x:0,y:0},on:je,emit:Le,currentTargetValue:void 0,originalZIndex:void 0,pointerId:void 0,preventEnter:!1,remapJustFinished:!1,selectedNodes:[],nodePointerdown:void 0,rootUserSelect:void 0,preventSynthDrag:!1,scrolling:!1,selectedParent:void 0,pointerSelection:!1,synthScrollDirection:void 0,draggedNodeDisplay:void 0,synthDragScrolling:!1,longPress:!1,pointerDown:void 0,longPressTimeout:void 0,lastScrollContainerX:null,lastScrollContainerY:null,rootScrollWidth:void 0,rootScrollHeight:void 0,dragItemRect:void 0,windowScrollX:void 0,windowScrollY:void 0,lastScrollDirectionX:void 0,lastScrollDirectionY:void 0,scrollDebounceTimeout:void 0,frameIdX:void 0,frameIdY:void 0}}}function Xe(t){return Object.assign(p,t),t.initialParent.data.emit("dragStarted",p),W=!1,p.emit("dragStarted",p),p}function Rt(){p.activeState&&ee(p.activeState.parent,void 0,p),p.selectedState&&Q(p.selectedState.nodes,p.selectedState.parent,p),p.selectedState=p.activeState=void 0}function Lt(){if(p.pointerDown&&(p.pointerDown.node.el.draggable=!0),p.pointerDown=void 0,!j(p))return;const t=p.currentParent.data.config;j(p)&&t.handleEnd(p)}function jt(t){t.key==="Escape"&&(p.selectedState&&Q(p.selectedState.nodes,p.selectedState.parent,p),p.activeState&&ee(p.activeState.parent,void 0,p),p.selectedState=p.activeState=void 0)}function Ut(t){if(!O(p))return;W=!0;const o=p.initialParent.data.config.handleEnd;o(p)}function Ht(t){if(!O(p))return;z(t);const{x:o,y:n}=le(t);O(p)&&ge({x:o,y:n},t,p)}function Xt(t){if(!p.pointerDown||!p.pointerDown.validated)return;const o=p.pointerDown.parent.data.config;if(!(t.pointerType==="mouse"&&!He()))if(j(p))j(p)&&Fe(t,p);else{if(z(t),o.longPress&&!p.longPress){clearTimeout(p.longPressTimeout),p.longPress=!1;return}const n=o.draggedNodes(p.pointerDown);o.dragstartClasses(p.pointerDown.node,n,o,!0);const r=p.pointerDown.node.el.getBoundingClientRect(),l=yo(p.pointerDown.node,p.pointerDown.parent,t,p,n,r);Fe(t,l,!0)}}function Yt({parent:t,getValues:o,setValues:n,config:r={}}){if(!Te)return;$e||($e=pe(document,{dragover:Ht,pointerdown:Rt,pointerup:Lt,keydown:jt,drop:Ut,pointermove:Xt,pointercancel:L(r.handlePointercancel),touchmove:a=>{O(p)&&a.cancelable&&z(a)},contextmenu:a=>{j(p)&&z(a)}})),Wt(t);const[l,i]=Re(),s={getValues:o,setValues:n,config:{dragDropEffect:r.dragDropEffect??"move",dragEffectAllowed:r.dragEffectAllowed??"move",draggedNodes:ao,dragstartClasses:uo,handleNodeKeydown:fo,handleDragstart:so,handleNodeDragover:ko,handleParentDragover:_o,handleNodeDrop:go,handleNodeFocus:vo,handleNodeBlur:xo,handlePointercancel:ho,handleEnd:No,handleDragend:Vo,handleParentFocus:Kt,handleNodePointerup:Co,handleNodePointerover:mo,handleParentPointerover:wo,handleParentScroll:io,handleNodePointerdown:co,handleNodeDragenter:So,handleNodeDragleave:Eo,handleParentDrop:Gt,multiDrag:r.multiDrag??!1,nativeDrag:r.nativeDrag??!0,performSort:qt,performTransfer:Jt,root:r.root??document,setupNode:Qt,setupNodeRemap:qe,reapplyDragClasses:eo,tearDownNode:oo,tearDownNodeRemap:to,remapFinished:ro,threshold:{horizontal:0,vertical:0},...r},enabledNodes:[],abortControllers:{},privateClasses:[],on:i,emit:l};new MutationObserver(no).observe(t,{childList:!0}),M.set(t,s),r.plugins?.forEach(a=>{a(t)?.tearDown?.()}),r.plugins?.forEach(a=>{a(t)?.tearDown?.()}),r.plugins?.forEach(a=>{a(t)?.setup?.()}),Zt(t,s),fe(t,!0)}function Ye(t,o,n,r,l,i){const{x:s,y:d}=le(n),a=t.el.getBoundingClientRect();return{affectedNodes:[],ascendingDirection:!1,clonedDraggedEls:[],coordinates:{x:s,y:d},draggedNode:{el:t.el,data:t.data},draggedNodes:r,incomingDirection:void 0,initialIndex:t.data.index,initialParent:{el:o.el,data:o.data},currentParent:{el:o.el,data:o.data},longPress:o.data.config.longPress??!1,longPressTimeout:void 0,currentTargetValue:t.data.value,scrollEls:[],startLeft:l||s-(a?.left??0),startTop:i||d-(a?.top??0),targetIndex:t.data.index,transferred:!1}}function qt({parent:t,draggedNodes:o,targetNodes:n}){fe(t.el);const r=o.map(a=>a.data.value),l=re(t.el,t.data),i=o[0].data.index,s=[...t.data.enabledNodes],d=[...l.filter(a=>!r.some(f=>se(a,f)))];d.splice(n[0].data.index,0,...r),"draggedNode"in p&&(p.currentTargetValue=n[0].data.value),Se(t.el,t.data,[...d]),t.data.config.onSort&&t.data.config.onSort({parent:{el:t.el,data:t.data},previousValues:[...l],previousNodes:[...s],nodes:[...t.data.enabledNodes],values:[...d],draggedNodes:o,previousPosition:i,position:n[0].data.index,targetNodes:n,state:p})}function ee(t,o,n){if(!o){n.activeState=void 0;return}n.activeState={node:o,parent:t}}function Q(t,o,n){const r=o.data.config.selectedClass;if(!n.selectedState)return;const l=Array.from(t);G(t.map(i=>i.el),r);for(const i of l){i.el.setAttribute("aria-selected","false");const s=n.selectedState.nodes.findIndex(d=>d.el===i.el);s!==-1&&n.selectedState.nodes.splice(s,1)}}function ce(t,o,n,r,l=!1){r.pointerSelection=l;for(const i of o)i.el.setAttribute("aria-selected","true"),ne([i.el],t.data.config.selectedClass,!0);r.selectedState={nodes:o,parent:t},ee(t,n,r)}function Kt(t,o){const n=t.targetData.parent.data.enabledNodes[0];n&&(o.selectedState&&o.selectedState.parent.el!==t.targetData.parent.el?ee(t.targetData.parent,n,o):o.selectedState||ee(t.targetData.parent,n,o))}function Jt({currentParent:t,targetParent:o,initialParent:n,draggedNodes:r,initialIndex:l,targetNodes:i,state:s}){fe(n.el);const d=r.map(V=>V.data.value),a=[...re(t.el,t.data).filter(V=>!d.some(_=>se(V,_)))],f=re(o.el,o.data),v=n.el===o.el&&o.data.config.sortable===!1;let c;i.length?(v?c=l:o.data.config.sortable===!1?c=o.data.enabledNodes.length:c=i[0].data.index,f.splice(c,0,...d)):(c=v?l:o.data.enabledNodes.length,f.splice(c,0,...d)),Se(t.el,t.data,a),Se(o.el,o.data,f),o.data.config.onTransfer&&o.data.config.onTransfer({sourceParent:t,targetParent:o,initialParent:n,draggedNodes:r,targetIndex:c,state:s,targetNodes:i}),t.data.config.onTransfer&&t.data.config.onTransfer({sourceParent:t,targetParent:o,initialParent:n,draggedNodes:r,targetIndex:c,state:s,targetNodes:i||[]})}function re(t,o){return[...o.getValues(t)]}function Se(t,o,n){o.setValues(n,t)}function Gt(t,o){Z(t.e),W=!0;const n=o.initialParent.data.config.handleEnd;n(o)}function Wt(t){const o=M.get(t);o&&o.abortControllers.mainParent&&o.abortControllers.mainParent.abort()}function O(t){return"draggedNode"in t&&!!t.draggedNode}function j(t){return"synthDragging"in t&&!!t.synthDragging}function Zt(t,o){o.abortControllers.mainParent=pe(t,{dragover:ue(o.config.handleParentDragover),handleParentPointerover:o.config.handleParentPointerover,scroll:ue(o.config.handleParentScroll),drop:ue(o.config.handleParentDrop),hasNestedParent:n=>{const r=M.get(n.target);r&&(r.nestedParent=n.detail.parent)},focus:ue(o.config.handleParentFocus)}),o.config.externalDragHandle&&o.config.externalDragHandle.el&&o.config.externalDragHandle.callback&&(o.abortControllers.externalDragHandle=pe(o.config.externalDragHandle.el,{pointerdown:n=>{if(!o.config.externalDragHandle||!o.config.externalDragHandle.callback)return;const r=o.config.externalDragHandle.callback();if(!ve(r)){console.warn("No draggable item found from external drag handle callback");return}const l=q.get(r);if(!l)return;const i=r.parentNode;if(!(i instanceof HTMLElement))return;const s=M.get(i);s&&(p.pointerDown={parent:{el:i,data:s},node:{el:r,data:l},validated:!0},r.draggable=!0)}}))}function Qt(t){const o=t.parent.data.config;t.node.data.abortControllers.mainNode=pe(t.node.el,{keydown:L(o.handleNodeKeydown),dragstart:L(o.handleDragstart),dragover:L(o.handleNodeDragover),dragenter:L(o.handleNodeDragenter),dragleave:L(o.handleNodeDragleave),dragend:L(o.handleDragend),drop:L(o.handleNodeDrop),focus:L(o.handleNodeFocus),blur:L(o.handleNodeBlur),pointerup:L(o.handleNodePointerup),pointercancel:L(o.handlePointercancel),pointerdown:L(o.handleNodePointerdown),handleNodePointerover:o.handleNodePointerover,touchmove:n=>{O(p)&&n.cancelable&&z(n)},contextmenu:n=>{j(p)&&z(n)}}),t.node.el.draggable=!0,o.reapplyDragClasses(t.node.el,t.parent.data),t.parent.data.config.plugins?.forEach(n=>{n(t.parent.el)?.setupNode?.(t)})}function qe(t){q.set(t.node.el,t.node.data),t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.setupNodeRemap?.(t)})}function eo(t,o){if(!O(p))return;const n=j(p)?o.config.synthDropZoneClass:o.config.dropZoneClass;p.draggedNode.el===t&&ne([t],n,!0)}function to(t){t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.tearDownNodeRemap?.(t)})}function oo(t){t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.tearDownNode?.(t)}),t.node.el.draggable=!1,t.node.data?.abortControllers?.mainNode&&t.node.data?.abortControllers?.mainNode.abort()}function no(t){if(t.length===1&&t[0].addedNodes.length===1&&!(t[0].addedNodes[0]instanceof HTMLElement))return;const o=t[0].target;!(o instanceof HTMLElement)||!M.get(o)||fe(o)}function fe(t,o){const n=M.get(t);if(!n)return;n.privateClasses=Array.from(t.classList);const r=[],l=n.config;for(let d=0;d<t.children.length;d++){const a=t.children[d];if(!ve(a)||a.id==="dnd-dragged-node-clone")continue;const f=q.get(a);(o||!f)&&l.tearDownNode({parent:{el:t,data:n},node:{el:a,data:f}}),!l.disabled&&(!l.draggable||l.draggable&&l.draggable(a))&&r.push(a)}if(r.length!==n.getValues(t).length&&!l.disabled){console.warn("The number of draggable items defined in the parent element does not match the number of values. This may cause unexpected behavior.");return}const i=n.getValues(t),s=[];for(let d=0;d<r.length;d++){const a=r[d],f=q.get(a);if(l.draggableValue&&!l.draggableValue(i[d]))continue;const v=Object.assign(f??{privateClasses:[],abortControllers:{}},{value:i[d],index:d});if(!O(p)&&p.activeState&&se(p.activeState.node.data.value,v.value)&&ee({data:n,el:t},{el:a,data:v},p),O(p)&&se(p.draggedNode.data.value,v.value)){p.draggedNode.data=v,p.draggedNode.el=a;const c=p.draggedNodes.find(V=>V.data.value===v.value);c&&(c.el=a)}s.push({el:a,data:v}),(o||!f)&&l.setupNode({parent:{el:t,data:n},node:{el:a,data:v}}),qe({parent:{el:t,data:n},node:{el:a,data:v}})}M.set(t,{...n,enabledNodes:s}),l.remapFinished(n),n.config.plugins?.forEach(d=>{d(t)?.remapFinished?.()})}function ro(){p.remapJustFinished=!0,"draggedNode"in p&&(p.affectedNodes=[])}function lo(t){return!!t.targetData.parent.data.config.nativeDrag}function ao(t){if(t.parent.data.config.multiDrag){if(p.selectedState)return[t.node,...p.selectedState?.nodes.filter(o=>o.el!==t.node.el)]}else return[t.node];return[]}function io(t){O(p)&&(p.emit("scrollStarted",p),!j(p)&&(p.preventEnter=!0,De&&clearTimeout(De),De=setTimeout(()=>{p.preventEnter=!1,p.emit("scrollEnded",p)},100)))}function so(t,o){const n=t.targetData.parent.data.config;if(!n.nativeDrag||!lo(t)||!Ke({x:t.e.clientX,y:t.e.clientY,node:t.targetData.node,config:n})){z(t.e);return}let r=n.draggedNodes({parent:t.targetData.parent,node:t.targetData.node});r.length===0&&(r=[t.targetData.node]),n.dragstartClasses(t.targetData.node,r,n);const l=po(t,r);if(n.onDragstart){const i={parent:t.targetData.parent,values:re(t.targetData.parent.el,t.targetData.parent.data),draggedNode:l.draggedNode,draggedNodes:l.draggedNodes,position:l.initialIndex,state:l};n.onDragstart(i)}}function co(t,o){if(Z(t.e),o.pointerDown={parent:t.targetData.parent,node:t.targetData.node,validated:!1},!Ke({x:t.e.clientX,y:t.e.clientY,node:t.targetData.node,config:t.targetData.parent.data.config}))return;o.pointerDown.validated=!0,bo(t,o,t.targetData.node);const n=t.targetData.parent.data;let r=[t.targetData.node];const l=t.e.ctrlKey||t.e.metaKey,i=t.e.shiftKey,s=t.targetData.node;if(l&&n.config.multiDrag){o.selectedState?o.selectedState.nodes.findIndex(a=>a.el===s.el)===-1?r=[...o.selectedState.nodes,s]:r=o.selectedState.nodes.filter(a=>a.el!==s.el):r=[s],ce(t.targetData.parent,r,t.targetData.node,o,!0);return}if(i&&n.config.multiDrag){const d=t.targetData.parent.data.enabledNodes;if(o.selectedState&&o.activeState)if(o.selectedState.parent.el!==t.targetData.parent.el){Q(o.selectedState.nodes,o.selectedState.parent,o),o.selectedState=void 0;for(let a=0;a<=s.data.index;a++)r.push(d[a])}else{const[a,f]=o.activeState.node.data.index<t.targetData.node.data.index?[o.activeState.node.data.index,t.targetData.node.data.index]:[t.targetData.node.data.index,o.activeState.node.data.index];r=d.slice(a,f+1)}else for(let a=0;a<=s.data.index;a++)r.push(d[a]);ce(t.targetData.parent,r,t.targetData.node,o,!0);return}o.selectedState?.nodes?.length?o.selectedState.nodes.findIndex(a=>a.el===t.targetData.node.el)===-1&&(o.selectedState.parent.el!==t.targetData.parent.el?Q(o.selectedState.nodes,t.targetData.parent,o):n.config.multiDrag&&He()?r.push(...o.selectedState.nodes):Q(o.selectedState.nodes,t.targetData.parent,o),ce(t.targetData.parent,r,t.targetData.node,o,!0)):ce(t.targetData.parent,[t.targetData.node],t.targetData.node,o,!0)}function uo(t,o,n,r=!1){ne(o.map(l=>l.el),r?n.synthDraggingClass:n.draggingClass),setTimeout(()=>{G(o.map(l=>l.el),r?n.synthDraggingClass:n.draggingClass),ne(o.map(l=>l.el),r?n.synthDragPlaceholderClass:n.dragPlaceholderClass),ne(o.map(l=>l.el),r?n.synthDropZoneClass:n.dropZoneClass),G(o.map(l=>l.el),n.selectedClass)})}function po(t,o){Z(t.e);const n=Xe(Ye(t.targetData.node,t.targetData.parent,t.e,o));if(t.e.dataTransfer){const r=t.targetData.parent.data.config;t.e.dataTransfer.dropEffect=r.dragDropEffect,t.e.dataTransfer.effectAllowed=r.dragEffectAllowed;let l;if(t.e.dataTransfer.setData("text/plain",""),r.dragImage)l=r.dragImage(t,o);else{if(!r.multiDrag||o.length===1)return t.targetData.node.el.style.zIndex="9999",t.targetData.node.el.style.boxSizing="border-box",t.e.dataTransfer.setDragImage(t.targetData.node.el,t.e.offsetX,t.e.offsetY),n.originalZIndex=t.targetData.node.el.style.zIndex,n;{const i=document.createElement("div");i.setAttribute("id","dnd-dragged-node-clone"),i.setAttribute("popover","manual");for(const d of o){const a=d.el.cloneNode(!0);a.id=d.el.id+"-clone",a.style.pointerEvents="none",i.appendChild(a)}const{width:s}=o[0].el.getBoundingClientRect();Object.assign(i.style,{display:"flex",flexDirection:"column",width:`${s}px`,position:"absolute",pointerEvents:"none",zIndex:"9999",left:"-9999px",boxSizing:"border-box",background:"transparent",overflow:"hidden"}),t.targetData.parent.el.appendChild(i),i.showPopover(),i.getBoundingClientRect(),l=i,t.e.dataTransfer.setDragImage(l,t.e.offsetX,t.e.offsetY)}}setTimeout(()=>{l?.remove()})}return n}function Ke({x:t,y:o,node:n,config:r}){if(r.externalDragHandle)return!1;if(!r.dragHandle)return!0;const l=n.el.querySelectorAll(r.dragHandle);if(!l)return!1;const i=r.root.elementFromPoint(t,o);if(!i)return!1;for(const s of Array.from(l))if(i===s||s.contains(i))return!0;return!1}function fo(t){}function mo(t){t.detail.targetData.parent.el===t.detail.state.currentParent.el?Ge(t.detail,t.detail.state):me(t.detail,t.detail.state)}function go(t,o){const n=t.targetData.parent.data.config;n.nativeDrag&&(Z(t.e),W=!0,n.handleEnd(o))}function vo(t){t.e.target!==t.e.currentTarget&&p.pointerDown&&(p.pointerDown.node.el.draggable=!1)}function xo(t){t.e.target!==t.e.currentTarget&&p.pointerDown&&(p.pointerDown.node.el.draggable=!0)}function Vo(t,o){const n=t.targetData.parent.data.config;if(n.nativeDrag){if(z(t.e),Z(t.e),W){W=!1;return}n.handleEnd(o)}}function ho(t,o){if(!j(o))return;if(z(t.e),W){W=!1;return}const n=M.get(o.initialParent.el)?.config;n?.onDragend&&n.onDragend({parent:o.currentParent,values:re(o.currentParent.el,o.currentParent.data),draggedNode:o.draggedNode,draggedNodes:o.draggedNodes,state:o}),n?.handleEnd(o)}function No(t){t.draggedNode&&(t.draggedNode.el.draggable=!0);const o=t.draggedNodes.map(v=>v.el),n=t.initialParent.data,r=j(t),l=M.get(t.initialParent.el)?.config,i=r?l?.synthDropZoneClass:l?.dropZoneClass,s=n?.config?.longPressClass,d=r?n?.config?.synthDragPlaceholderClass:n?.config?.dragPlaceholderClass,a=t.originalZIndex;j(t)&&(t.clonedDraggedNode&&t.clonedDraggedNode.remove(),t.longPressTimeout&&clearTimeout(t.longPressTimeout)),Ee(t),t.lastScrollDirectionX=void 0,t.lastScrollDirectionY=void 0,t.preventEnter=!1,t.scrollDebounceTimeout&&(clearTimeout(t.scrollDebounceTimeout),t.scrollDebounceTimeout=void 0),a!==void 0&&t.draggedNode&&(t.draggedNode.el.style.zIndex=a),requestAnimationFrame(()=>{G(o,i),G(o,s),G(o,d)}),Q(t.draggedNodes,t.currentParent,t),ee(t.currentParent,void 0,t);const f={...t};l?.onDragend?.({parent:f.currentParent,values:re(f.currentParent.el,f.currentParent.data),draggedNode:f.draggedNode,draggedNodes:f.draggedNodes,state:f}),t.emit("dragEnded",f),Ot()}function Co(t,o){Z(t.e),!o.pointerSelection&&o.selectedState&&Q(o.selectedState.nodes,t.targetData.parent,o);const n=t.targetData.parent.data.config;o.pointerSelection=!1,"longPressTimeout"in o&&o.longPressTimeout&&clearTimeout(o.longPressTimeout),o.longPress=!1,G(t.targetData.parent.data.enabledNodes.map(r=>r.el),n.longPressClass),O(o)&&n.handleEnd(o)}function yo(t,o,n,r,l,i){const s=o.data.config;let d,a;const f=["display","flexDirection","alignItems","justifyContent","padding","paddingTop","margin","marginTop","marginBottom","marginLeft","marginRight","paddingBottom","paddingLeft","paddingRight","border","borderRadius","background","backgroundColor","boxShadow","font","color","lineHeight","gap","width","height","boxSizing","overflow"],v=(b,k)=>{const S=window.getComputedStyle(b);f.forEach(E=>{k.style[E]=S[E]})},c=(b,k={})=>{Object.assign(b.style,{position:"absolute",zIndex:"9999",pointerEvents:"none",willChange:"transform",boxSizing:"border-box",opacity:"0",overflow:"hidden",width:`${i.width}px`,height:`${i.height}px`,...k})};if(s.synthDragImage)a=s.synthDragImage(t,o,n,l),d=a.dragImage,d.setAttribute("popover","manual"),c(d);else if(!s.multiDrag||l.length===1)d=t.el.cloneNode(!0),v(t.el,d),d.setAttribute("popover","manual"),c(d);else{const b=document.createElement("div");b.setAttribute("popover","manual"),l.forEach(k=>{const S=k.el.cloneNode(!0);v(k.el,S),S.style.pointerEvents="none",S.style.margin="0",b.append(S)}),b.style.display="flex",b.style.flexDirection="column",b.style.padding="0",b.style.margin="0",b.style.position="absolute",b.style.zIndex="9999",b.style.pointerEvents="none",d=b}d.id="dnd-dragged-node-clone",o.el.appendChild(d),d.showPopover();const V={clonedDraggedEls:[],clonedDraggedNode:d,synthDragScrolling:!1,synthDragging:!0,rootScrollWidth:document.scrollingElement?.scrollWidth,rootScrollHeight:document.scrollingElement?.scrollHeight};return Xe({...Ye(t,o,n,l,a?.offsetX,a?.offsetY),...V})}function bo(t,o,n){const r=t.targetData.parent.data.config;o.longPressTimeout=setTimeout(()=>{o&&(o.longPress=!0,r.longPressClass&&t.e.cancelable&&ne([n.el],r.longPressClass),z(t.e))},r.longPressDuration||1e3)}function Ee(t,o=!0,n=!0){o&&(t.frameIdX!==void 0&&(cancelAnimationFrame(t.frameIdX),t.frameIdX=void 0),t.lastScrollDirectionX=void 0),n&&(t.frameIdY!==void 0&&(cancelAnimationFrame(t.frameIdY),t.frameIdY=void 0),t.lastScrollDirectionY=void 0),!t.frameIdX&&!t.frameIdY&&(t.preventEnter=!1)}function Je(t,o=!1){const{x:n,y:r}=t.coordinates,l=t.startLeft??0,i=t.startTop??0,s=window.scrollX??0,d=window.scrollY??0,a=n-l+s,f=r-i+d;t.clonedDraggedNode.style.transform=`translate3d(${a}px, ${f}px, 0px)`,o&&(t.clonedDraggedNode.style.opacity="1",G(t.draggedNodes.map(v=>v.el),t.initialParent.data.config?.longPressClass))}function Fe(t,o,n=!1){const r=le(t);o.coordinates.x=r.x,o.coordinates.y=r.y,Je(o,n),o.scrollDebounceTimeout&&(clearTimeout(o.scrollDebounceTimeout),o.scrollDebounceTimeout=void 0),o.scrollDebounceTimeout=setTimeout(()=>{j(o)&&ge(o.coordinates,t,o)},16);const l=Io(r);if(!l){document.dispatchEvent(new CustomEvent("handleRootPointerover",{detail:{e:t,state:o}}));return}const i={e:t,targetData:l,state:o};"node"in l?l.node.el.dispatchEvent(new CustomEvent("handleNodePointerover",{detail:i})):l.parent.el.dispatchEvent(new CustomEvent("handleParentPointerover",{detail:i}))}function ko(t,o){if(!t.targetData.parent.data.config.nativeDrag)return;const{x:r,y:l}=le(t.e);o.coordinates.y=l,o.coordinates.x=r,z(t.e),Z(t.e),O(o)&&ge({x:r,y:l},t.e,o),t.targetData.parent.el===o.currentParent?.el?Ge(t,o):me(t,o)}function _o(t,o){if(!t.targetData.parent.data.config.nativeDrag)return;z(t.e),Z(t.e);const{x:r,y:l}=le(t.e);O(o)&&ge({x:r,y:l},t.e,o),me(t,o)}function wo(t){t.detail.targetData.parent.el!==t.detail.state.currentParent.el&&me(t.detail,t.detail.state)}function Do({currentParent:t,targetParent:o,initialParent:n,draggedNodes:r,state:l}){if(o.el===t.el)return!1;const i=o.data.config;if(r[0].el.contains(o.el)||i.dropZone===!1)return!1;const s=n.data.config;return i.accepts?i.accepts(o,n,t,l):!(!i.group||i.group!==s.group)}function So(t,o){z(t.e)}function Eo(t,o){z(t.e)}function To(t,o,n,r){if(o.affectedNodes.map(v=>v.data.value).includes(t.targetData.node.data.value))return!1;if(o.remapJustFinished)return o.remapJustFinished=!1,(t.targetData.node.data.value===o.currentTargetValue||o.draggedNodes.map(v=>v.el).includes(t.targetData.node.el))&&(o.currentTargetValue=t.targetData.node.data.value),!1;if(o.preventEnter)return!1;if(o.draggedNodes.map(v=>v.el).includes(t.targetData.node.el))return o.currentTargetValue=void 0,!1;if(t.targetData.node.data.value===o.currentTargetValue||t.targetData.parent.el!==o.currentParent?.el||t.targetData.parent.data.config.sortable===!1||t.targetData.node.el.contains(o.draggedNodes[0].el))return!1;const l=t.targetData.node.el.getBoundingClientRect(),i=o.draggedNode.el.getBoundingClientRect(),s=l.y-i.y,d=l.x-i.x;let a;Math.abs(s)>Math.abs(d)?a=s>0?"above":"below":a=d>0?"left":"right";const f=o.currentParent.data.config.threshold;switch(a){case"left":if(n>l.x+l.width*f.horizontal)return o.incomingDirection="left",!0;break;case"right":if(n<l.x+l.width*(1-f.horizontal))return o.incomingDirection="right",!0;break;case"above":if(r>l.y+l.height*f.vertical)return o.incomingDirection="above",!0;break;case"below":if(r<l.y+l.height*(1-f.vertical))return o.incomingDirection="below",!0;break}return!1}function Ge(t,o){const{x:n,y:r}=le(t.e);if(!To(t,o,n,r))return;const l=o.draggedNode.data.index>t.targetData.node.data.index?[t.targetData.node.data.index,o.draggedNode.data.index]:[o.draggedNode.data.index,t.targetData.node.data.index];o.targetIndex=t.targetData.node.data.index,o.affectedNodes=t.targetData.parent.data.enabledNodes.filter(i=>l[0]<=i.data.index&&i.data.index<=l[1]&&i.el!==o.draggedNode.el),t.targetData.parent.data.config.performSort({parent:t.targetData.parent,draggedNodes:o.draggedNodes,targetNodes:[t.targetData.node]})}function L(t){function o(n){const r=q.get(n);if(!r)return;const l=M.get(n.parentNode);if(l)return{node:{el:n,data:r},parent:{el:n.parentNode,data:l}}}return n=>{const r=o(n.currentTarget);if(r)return t({e:n,targetData:r},p)}}function me(t,o){z(t.e),Do({currentParent:o.currentParent,targetParent:t.targetData.parent,initialParent:o.initialParent,draggedNodes:o.draggedNodes,state:o})&&(t.targetData.parent.data.config.performTransfer({currentParent:o.currentParent,targetParent:t.targetData.parent,initialParent:o.initialParent,draggedNodes:o.draggedNodes,initialIndex:o.initialIndex,state:o,targetNodes:"node"in t.targetData?[t.targetData.node]:[]}),o.currentParent=t.targetData.parent,o.transferred=!0)}function ue(t){function o(n){const r=M.get(n);if(r)return{parent:{el:n,data:r}}}return n=>{const r=o(n.currentTarget);if(r)return t({e:n,targetData:r},p)}}function ne(t,o,n=!1){function r(l,i){q.set(l,i)}for(const l of t){const i=q.get(l),s=Bo(l,o,i,n);s&&r(l,s)}}function Bo(t,o,n,r=!1){if(!o)return;const l=Ue(o);if(!l.length)return;if(!n){t.classList.add(...l);return}const i=[];for(const s of l)t.classList.contains(s)?t.classList.contains(s)&&r===!1&&i.push(s):t.classList.add(s);return n.privateClasses=i,n}function G(t,o){if(!o)return;const n=Ue(o);if(n.length)for(const r of t){if(!ve(r)){r.classList.remove(...n);continue}const l=q.get(r)||M.get(r);if(l)for(const i of n)l.privateClasses.includes(i)||r.classList.remove(i)}}function Ae(t,o,n,r,l){const s=l.axis==="x",d=t===document.scrollingElement,a=s?"scrollLeft":"scrollTop",f=s?"clientWidth":"clientHeight",v=s?"offsetWidth":"offsetHeight",c=s?"scrollWidth":"scrollHeight",V=s?o.clientX:o.clientY,_=s?r.left:r.top,b=s?n.overflowX:n.overflowY;if(d){const k=t[a],S=t[f],E=k>0,m=k+S<(s?l.state.rootScrollWidth||0:t[c]);return s?{left:E&&V<S*.075,right:m&&V>S*(1-.075)}:{up:E&&V<S*.075,down:m&&V>S*(1-.075)}}if((b==="auto"||b==="scroll")&&t!==document.body&&t!==document.documentElement){const k=t[c],S=t[v],E=t[a],m=E>0,h=E<k-S;return s?{left:m&&V<_+S*.075,right:h&&V>_+S*(1-.075)}:{up:m&&V<_+S*.075,down:h&&V>_+S*(1-.075)}}return s?{left:!1,right:!1}:{up:!1,down:!1}}function Po(t,o,n,r){if(!O(n)||!n.draggedNode)return;n.preventEnter=!0;const l=r.axis==="x",i=r.direction==="positive"?1:-1,s=20,d=l?"lastScrollDirectionX":"lastScrollDirectionY",a=l?"frameIdX":"frameIdY";n[a]!==void 0&&(cancelAnimationFrame(n[a]),n[a]=void 0),n[d]=r.direction;const f=()=>{if(!O(n)||!n.draggedNode){n[a]!==void 0&&(cancelAnimationFrame(n[a]),n[a]=void 0);return}const v=l?"scrollLeft":"scrollTop",c=l?"clientWidth":"clientHeight",V=l?"scrollWidth":"scrollHeight",_=t[v],b=t[c],k=t[V];if(!(i>0?_+b<k:_>0)){n[a]=void 0,n[d]=void 0;return}t[v]+=s*i,j(n)&&Je(n),n[a]=requestAnimationFrame(f)};n[a]=requestAnimationFrame(f)}function Me(t,o,n){const r=t.getBoundingClientRect();return o>=r.left&&o<=r.right&&n>=r.top&&n<=r.bottom}function ge(t,o,n){if(!O(n)||!n.draggedNode)return;Ee(n);const{x:r,y:l}=t;let i=!1;const s=(a,f,v)=>{Po(v,o,n,{axis:a,direction:f}),i=!0},d=a=>{const f=window.getComputedStyle(a),v=a.getBoundingClientRect(),c=Ae(a,o,f,v,{axis:"x",state:n}),V=Ae(a,o,f,v,{axis:"y"});(c.left||c.right)&&(n.lastScrollContainerX=a,s("x",c.right?"positive":"negative",a)),(V.up||V.down)&&(n.lastScrollContainerY=a,s("y",V.down?"positive":"negative",a))};if(n.lastScrollContainerX&&Me(n.lastScrollContainerX,r,l)&&d(n.lastScrollContainerX),!i&&n.lastScrollContainerY&&Me(n.lastScrollContainerY,r,l)&&d(n.lastScrollContainerY),!i){let a=document.elementFromPoint(r,l);for(;a&&!(i&&n.lastScrollContainerX&&n.lastScrollContainerY);)a instanceof HTMLElement&&d(a),a=a.parentElement}if(!i){const a=document.scrollingElement;a instanceof HTMLElement&&d(a)}i||Ee(n)}function Io(t){let o=document.elementFromPoint(t.x,t.y);if(!ve(o))return;let n,r=!0;for(;o&&r;){if(q.has(o)||M.has(o)){r=!1,n=M.has(o);break}o=o.parentNode}if(n){const l=M.get(o);return l?{parent:{el:o,data:l}}:void 0}else{const l=q.get(o);if(!l)return;const i=M.get(o.parentNode);return i?{node:{el:o,data:l},parent:{el:o.parentNode,data:i}}:void 0}}function ve(t){return t instanceof HTMLElement&&t.parentNode instanceof HTMLElement}function pe(t,o){const n=new AbortController;for(const r in o){const l=o[r];t.addEventListener(r,l,{signal:n.signal,passive:!1,capture:r==="focus"||r==="blur"})}return n}function ze(t){if(t instanceof HTMLElement)return t;if(t.value instanceof HTMLElement)return t.value;if("$el"in t&&t.$el instanceof HTMLElement)return t.$el}function $o(t,o){Array.isArray(t)||(t=[t]);for(const n of t){const r=ze(n);if(r)return o(r);const l=e.watch(n,i=>{if(!i)return;const s=ze(i);s?o(s):console.warn("Invalid parent element",i),l()})}}var Be=new WeakMap;function Fo(t){const o=Be.get(t);return o?"value"in o?o.value:o:(console.warn("No values found for parent element"),[])}function Ao(t,o){const n=Be.get(o);n&&"value"in n&&(n.value=t)}function We(t){Te&&(Array.isArray(t)||(t=[t]),t.forEach(o=>{const{parent:n,values:r,...l}=o;$o(n,Mo(l,r))}))}function Mo(t,o){return n=>{Be.set(n,o),Yt({parent:n,getValues:Fo,setValues:Ao,config:{...t}})}}const zo={key:0,class:"flex gap-4 p-6 border-b last:border-b-0"},Oo={class:"option-drag-handle flex-none mt-9.5 cursor-grab"},Ro={class:"flex-1"},Lo={class:"mb-3"},jo={class:"flex items-center"},Uo={key:0,class:"mt-1 text-sm text-red-600"},Ho={class:"flex items-center gap-1"},Xo={class:"mb-2"},Yo={key:0,class:"option-value-drag-handle absolute -left-7 top-1/2 -translate-y-1/2 flex-none mr-2 cursor-grab"},qo=["onClick"],Ko={class:"flex justify-between"},Jo={class:"flex-1"},Go={class:"text-sm mb-2"},Wo={class:"flex flex-wrap gap-2"},Zo={key:0,class:"px-2 py-1 border rounded-full bg-muted text-muted-foreground text-sm"},Qo=e.defineComponent({__name:"Option",props:{option:{type:Object,required:!0}},emits:["update:option","remove"],setup(t,{expose:o,emit:n}){const r=t,{confirm:l}=J.useConfirmation(),i=n,s=e.computed({get(){return r.option},set(m){i("update:option",m)}}),d=e.computed({get(){return s.value.values},set(m){s.value.values=m}}),a=e.useTemplateRef("valueListRef"),f=e.ref(!1);e.watch(f,async m=>{console.log("minified",m),m||(await e.nextTick(),We({parent:a?.value,values:d,group:"valueList",dragHandle:".option-value-drag-handle",plugins:[Oe.animations()]}))},{immediate:!0});const v=()=>Math.random().toString(36).substring(2,15),c=()=>{s.value.values.push({id:v(),value:""})},V=async()=>{(s.value.name.trim()||s.value.values.filter(m=>m.value.trim()!=="").length>0)&&!await l("Are you sure you want to remove this option?")||i("remove")},_=m=>{s.value.values.splice(m,1)},b=m=>{m.name.trim()?m.nameError=void 0:m.nameError="Option name is required."},k=(m,h)=>{const B=m.target,F=s.value.values;if(m.key==="Backspace"&&B.value===""&&F?.length>2){_(h);return}},S=(m,h)=>{m.target;const B=s.value.values,F=B?.[h];F.touched=!0,B?.every(R=>R.value.trim()!=="")&&c()},E=m=>{const h=s.value,B=h?.values.every((F,I)=>F.value.trim()!==""||I===m);h&&h.values[m].value.trim()===""&&!B&&_(m)};return o({minified:f}),(m,h)=>{const B=e.resolveComponent("Input"),F=e.resolveComponent("Button");return f.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"flex gap-4 p-6 border-b last:border-b-0 hover:bg-accent dark:hover:bg-accent/50 cursor-pointer transition-colors duration-200",onClick:h[5]||(h[5]=I=>f.value=!1)},[e.createElementVNode("div",null,[e.createElementVNode("div",{class:"option-drag-handle flex-none mt-5 cursor-grab",onClick:h[4]||(h[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref($.GripVertical),{class:"size-4 text-gray-400"})])]),e.createElementVNode("div",Jo,[e.createElementVNode("p",Go,e.toDisplayString(s.value.name),1),e.createElementVNode("div",Wo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.id},[I.value?(e.openBlock(),e.createElementBlock("span",Zo,e.toDisplayString(I.value),1)):e.createCommentVNode("",!0)],64))),128))])])])):(e.openBlock(),e.createElementBlock("div",zo,[e.createElementVNode("div",null,[e.createElementVNode("div",Oo,[e.createVNode(e.unref($.GripVertical),{class:"size-4 text-gray-400"})])]),e.createElementVNode("div",Ro,[e.createElementVNode("div",Lo,[h[6]||(h[6]=e.createElementVNode("label",{class:"block text-sm mb-2"},"Option name",-1)),e.createElementVNode("div",jo,[e.createVNode(B,{modelValue:s.value.name,"onUpdate:modelValue":h[0]||(h[0]=I=>s.value.name=I),onBlur:h[1]||(h[1]=I=>b(s.value)),"aria-invalid":s.value.nameError?"true":"false",placeholder:"Color",spellcheck:"false"},null,8,["modelValue","aria-invalid"])]),s.value.nameError?(e.openBlock(),e.createElementBlock("p",Uo,[e.createElementVNode("span",Ho,[e.createVNode(e.unref($.CircleX),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(s.value.nameError),1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xo,[h[7]||(h[7]=e.createElementVNode("label",{class:"block text-sm mb-2"},"Option values",-1)),e.createElementVNode("div",{ref_key:"valueListRef",ref:a},[d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(d.value,(I,R)=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:"relative flex items-center mb-2"},[I.touched?(e.openBlock(),e.createElementBlock("div",Yo,[e.createVNode(e.unref($.GripVertical),{class:"size-4 text-gray-400"})])):e.createCommentVNode("",!0),e.createVNode(B,{modelValue:I.value,"onUpdate:modelValue":U=>I.value=U,placeholder:"Option value",class:"pr-12",onKeydown:U=>k(U,R),onKeyup:U=>S(U,R),onBlur:U=>E(R),spellcheck:"false"},null,8,["modelValue","onUpdate:modelValue","onKeydown","onKeyup","onBlur"]),d.value.length>2&&I.touched?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:U=>_(R),class:"absolute right-2 top-1/2 -translate-y-1/2 ml-2 p-2 text-muted-foreground/50 hover:text-muted-foreground",type:"button"},[e.createVNode(e.unref($.Trash2),{class:"size-4"})],8,qo)):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],512)]),e.createElementVNode("div",Ko,[e.createVNode(F,{size:"sm",variant:"outline",onClick:h[2]||(h[2]=I=>V()),class:"text-red-500 hover:text-red-600"},{default:e.withCtx(()=>[...h[8]||(h[8]=[e.createTextVNode("Delete",-1)])]),_:1}),e.createVNode(F,{size:"sm",onClick:h[3]||(h[3]=I=>f.value=!0),disabled:s.value.name.trim()===""},{default:e.withCtx(()=>[...h[9]||(h[9]=[e.createTextVNode("Done",-1)])]),_:1},8,["disabled"])])])]))}}}),en=e.defineComponent({__name:"Options",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,l=n,i=e.ref([]),s=e.useTemplateRef("optionsListRefElement"),d=e.useTemplateRef("optionRefs"),a=e.computed({get(){return r.modelValue},set(E){l("update:modelValue",E)}}),f=e.ref(!1);e.watch(a,E=>{console.log("mutableOptions2",E?JSON.parse(JSON.stringify(E)):[]),!f.value&&(!i.value||i.value.length===0&&E.length>0)&&(f.value=!0,i.value=E?JSON.parse(JSON.stringify(E)):[])},{deep:!0}),e.watch(i,E=>{a.value=E?.map(m=>({...m,values:m.values.filter(h=>h.value.trim()!=="")})),!k.value&&E.length>0&&S()},{deep:!0});const v=()=>Math.random().toString(36).substring(2,15),c=()=>{const m={id:v(),name:"",values:[{id:v(),value:""}],nameError:void 0};i.value.push(m)},V=()=>{d.value?.forEach(E=>{E&&(E.minified=!0)})},_=E=>{const m=i.value.findIndex(h=>h.id===E.id);m!==-1&&(i.value[m]=E)},b=E=>{const m=i.value.findIndex(h=>h.id===E.id);m!==-1&&i.value.splice(m,1)},k=e.ref(!1),S=()=>{try{k.value=!0,We({parent:s?.value,values:i,group:"optionsList",dragHandle:".option-drag-handle",plugins:[Oe.animations()]})}catch(E){console.error(E)}};return e.onMounted(()=>{i.value=r.modelValue?JSON.parse(JSON.stringify(r.modelValue)):[],console.log("mutableOptions",r.modelValue?JSON.parse(JSON.stringify(r.modelValue)):[]),i.value.length>0&&S()}),o({minifyAll:V}),(E,m)=>{const h=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["rounded-lg",i.value.length>0?"border mb-6":""])},[e.createElementVNode("div",{ref_key:"optionsListRefElement",ref:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>(e.openBlock(),e.createBlock(Qo,{ref_for:!0,ref_key:"optionRefs",ref:d,key:B.id,option:B,"onUpdate:option":m[0]||(m[0]=F=>_(F)),onRemove:F=>b(B)},null,8,["option","onRemove"]))),128))],512),i.value&&i.value.length<3?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value.length>0?"border-t":"")},[i.value.length===0?(e.openBlock(),e.createBlock(h,{key:0,onClick:c,variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref($.PlusCircle),{class:"size-4"}),m[1]||(m[1]=e.createTextVNode(" Add options like size or color ",-1))]),_:1})):(e.openBlock(),e.createBlock(h,{key:1,onClick:c,variant:"ghost",class:"w-full justify-start pl-2 rounded-t-none"},{default:e.withCtx(()=>[e.createVNode(e.unref($.PlusCircle),{class:"size-4"}),m[2]||(m[2]=e.createTextVNode(" Add another option ",-1))]),_:1}))],2)):e.createCommentVNode("",!0)],2)])}}}),tn={key:0},on={class:"flex items-center justify-between gap-2 mb-2"},nn={key:0,class:"flex items-center gap-2"},rn={key:0,class:"mb-4"},ln={class:"flex flex-wrap gap-2"},an=["onClick"],sn={class:"-mx-6 w-[calc(100%+3rem)]"},dn={class:"text-muted-foreground text-xs"},cn={class:"z-[101] sticky -top-4 py-2 font-normal bg-accent dark:bg-border"},un={class:"z-[101] sticky -top-4 py-2 font-normal whitespace-nowrap bg-accent dark:bg-border"},pn={class:"flex items-center gap-2"},fn={class:"z-[101] sticky -top-4 py-2 pr-6 font-normal bg-accent dark:bg-border"},mn={class:"text-sm"},gn=["onClick"],vn={class:"w-10 p-2"},xn={class:"p-2"},Vn={class:"flex items-stretch gap-2"},hn=["src"],Nn={key:2,class:"relative"},Cn=["src"],yn=["src"],bn={class:"flex flex-col justify-center px-2"},kn={class:"text-md mb-0.5 hover:underline select-none"},_n={class:"flex items-center gap-1 text-xs text-muted-foreground hover:opacity-70 transition-opacity duration-200 cursor-pointer select-none"},wn={class:"p-2 w-[30%]"},Dn={class:"relative"},Sn={key:0},En={key:1},Tn={key:0,class:"absolute inset-0 top-1/2 -translate-y-1/2 px-2 truncate text-sm text-muted-foreground w-full text-center pointer-events-none"},Bn={class:"p-2 w-[18%]"},Pn={class:"w-10"},In={class:"w-10 p-2 translate-x-10"},$n={class:"p-2 pl-12"},Fn={class:"flex items-stretch gap-2"},An=["src"],Mn={class:"flex flex-col justify-center px-2"},zn={class:"p-2 w-[30%]"},On={class:"p-2 w-[18%] group"},Rn={class:"text-center text-sm text-muted-foreground bg-accent dark:bg-border p-3 -mx-6 -mb-6 rounded-b-lg"},Ln={key:0},jn=e.defineComponent({__name:"VariantList",props:{options:{type:Object,required:!0},modelValue:{type:Array,required:!0},hide:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,l=n,i=e.computed({get(){return r.modelValue},set(C){l("update:modelValue",C)}}),s=e.inject("sources"),d=e.ref(""),a=e.ref(""),f=e.ref(!1),v=e.ref([]),c=e.ref({}),V=()=>{Object.keys(r.options).length>0&&(a.value=Object.keys(r.options)[0])};e.watch(()=>r.options,()=>{a.value===""&&V()},{immediate:!0,deep:!0}),e.watch(c,C=>{_()},{deep:!0}),e.watch(()=>r.hide,C=>{C||(V(),_())});function _(){if(!c.value){i.value=[];return}let C=[];Object.keys(c.value)?.forEach(u=>{C.push({combinedOptions:u,name:S(u),disabled:!1,price:c.value[u].price,stock:c.value[u].stock,image:c.value[u].image,options:E(u)})}),i.value=C.filter(u=>u.options?.length===Object.keys(r.options).length&&u.options?.every(x=>Object.entries(r.options).find(([w,P])=>P.id===x.optionId)))}function b(C){return C.reduce((u,x)=>u.flatMap(w=>x.map(P=>[...w,P])),[[]])}function k(C){return C.slice().sort((u,x)=>u.optionId.localeCompare(x.optionId)).map(({optionId:u,valueId:x})=>`${u}:${x}`).join("|")}const S=C=>C.split("|").map(x=>{const[w,P]=x.split(":");return{optionId:w,valueId:P}}).map(x=>r.options?.[x.optionId]?.values?.find(X=>X.id===x.valueId)?.value||"").join(" "),E=C=>C.split("|").map(x=>{const[w,P]=x.split(":");return{optionId:w,valueId:P}}).map(x=>{const w=r.options?.[x.optionId],P=w?.values?.find(X=>X.id===x.valueId);return{optionId:w?.id,option:w?.name,valueId:P?.id,value:P?.value}}),m=e.computed(()=>{const C=Object.values(r.options).map(x=>x.values.map(w=>({optionId:x.id,optionName:x.name,valueId:w.id,value:w.value})));return b(C).map(x=>{const w=k(x);return c.value[w]||(c.value[w]={price:0,stock:0}),{key:w,options:x,...c.value[w]}})}),h=e.computed(()=>{let C=[...m.value];return d.value&&(C=C.filter(u=>u.options?.find(x=>x.value.toLowerCase().includes(d.value.toLowerCase())))),C}),B=(C,u)=>{const x=h.value.filter(w=>w.options?.find(P=>P.optionId===a.value)?.valueId===u);x&&x.forEach(w=>{c.value[k(w.options)].image=C})},F=C=>m.value.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).every(x=>!x.image),I=C=>{const u=m.value.filter(w=>w.options?.find(P=>P.optionId===a.value)?.valueId===C);return u.filter((w,P)=>w.image&&u.findIndex(X=>X.image===w.image)===P).length===1},R=C=>m.value.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).filter(x=>x.image)[0]?.image,U=C=>m.value.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).filter(x=>x.image)[1]?.image,xe=C=>{const u=m.value.filter(w=>w.options?.find(P=>P.valueId===C));if(u.length===0)return"0";const x=u.map(w=>w.price);return Math.min(...x)===Math.max(...x)?x[0]?.toString()||"0":`${Math.min(...x)} - ${Math.max(...x)}`},ae=C=>m.value.filter(u=>u.options?.find(x=>x.valueId===C)).reduce((u,x)=>x.stock>0?u+x.stock:u,0),Ve=C=>m.value.filter(u=>u.options?.find(x=>x.valueId===C)).reduce((u,x)=>x.stock<0?u+x.stock:u,0),he=()=>{let C=0;return r.options?.[a.value]?.values?.forEach(u=>{C+=ae(u.id)}),C},de=()=>{let C=0;return r.options?.[a.value]?.values?.forEach(u=>{C+=Ve(u.id)}),C},te=e.ref(null),K=e.ref(""),ie=async(C,u)=>{C.preventDefault();const x=h?.value?.filter(P=>P.options?.find(X=>X.optionId===a.value)?.valueId===u.id).map(P=>P.price),w=x.length===0?!0:x.every(P=>P===x[0]);te.value=u.id,K.value=w?x[0].toString():"",await e.nextTick(),document.getElementById(`variant-price-${u.id}`)?.focus(),document.getElementById(`variant-price-${u.id}`)?.select()},N=C=>{D(C),te.value=null,K.value=""},D=C=>{if(K.value.trim()&&Number(K.value.trim().replace(",","."))>0){const u=Number(K.value.trim().replace(",","."));h?.value?.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).forEach(x=>{c.value[k(x.options)].price=u})}},H=C=>{c.value=C.reduce((u,x)=>(u[x.combinedOptions]={price:x.price,stock:x.stock,image:x.image},u),{})};return e.onMounted(()=>{V()}),o({setVariantMap:H,refreshVariants:_}),(C,u)=>{const x=e.resolveComponent("SelectValue"),w=e.resolveComponent("SelectTrigger"),P=e.resolveComponent("SelectItem"),X=e.resolveComponent("SelectContent"),Ze=e.resolveComponent("Select"),oe=e.resolveComponent("Button"),Pe=e.resolveComponent("Input"),Qe=e.resolveComponent("PopoverTrigger"),et=e.resolveComponent("RadioGroupItem"),tt=e.resolveComponent("Label"),ot=e.resolveComponent("RadioGroup"),nt=e.resolveComponent("PopoverContent"),rt=e.resolveComponent("Popover"),Ne=e.resolveComponent("Checkbox"),Ce=e.resolveComponent("TooltipTrigger"),ye=e.resolveComponent("TooltipContent"),be=e.resolveComponent("Tooltip"),Ie=e.resolveComponent("MediaPickerDialog"),ke=e.resolveComponent("NumberFieldInput"),_e=e.resolveComponent("NumberFieldContent"),we=e.resolveComponent("NumberField"),lt=e.resolveComponent("NumberFieldDecrement"),at=e.resolveComponent("NumberFieldIncrement");return t.hide?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",on,[Object.keys(t.options).length>1?(e.openBlock(),e.createElementBlock("div",nn,[u[13]||(u[13]=e.createElementVNode("p",null,"Group by",-1)),e.createVNode(Ze,{modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=y=>a.value=y)},{default:e.withCtx(()=>[e.createVNode(w,{size:"sm"},{default:e.withCtx(()=>[e.createVNode(x,{placeholder:"Option"})]),_:1}),e.createVNode(X,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,y=>(e.openBlock(),e.createBlock(P,{key:y.id,value:y.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.name),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(oe,{key:2,variant:"outline",onClick:u[2]||(u[2]=y=>f.value=!1),size:"sm",class:"ml-auto"},{default:e.withCtx(()=>[...u[14]||(u[14]=[e.createTextVNode(" Cancel ",-1)])]),_:1})):(e.openBlock(),e.createBlock(oe,{key:1,variant:"outline",onClick:u[1]||(u[1]=y=>f.value=!0),size:"sm",class:"ml-auto"},{default:e.withCtx(()=>[e.createVNode(e.unref($.Search),{class:"size-4"}),e.createVNode(e.unref($.ListFilter),{class:"size-4"})]),_:1}))]),f.value?(e.openBlock(),e.createElementBlock("div",rn,[e.createElementVNode("div",{class:e.normalizeClass(["relative",{"mb-4":Object.keys(t.options).length>0}])},[e.createVNode(Pe,{placeholder:"Search",class:"pl-10",modelValue:d.value,"onUpdate:modelValue":u[3]||(u[3]=y=>d.value=y)},null,8,["modelValue"]),e.createVNode(e.unref($.Search),{class:"size-4 absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none"})],2),e.createElementVNode("div",ln,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,y=>(e.openBlock(),e.createBlock(rt,{key:y.id},{default:e.withCtx(()=>[e.createVNode(Qe,{asChild:""},{default:e.withCtx(()=>[e.createVNode(oe,{variant:"outline",size:"sm",class:"border-dashed"},{default:e.withCtx(()=>[y.groupBy?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.name)+" is "+e.toDisplayString(y.values.find(T=>T.id===y.groupBy)?.value)+" ",1),e.createElementVNode("div",{class:"p-2",onClick:e.withModifiers(T=>y.groupBy="",["stop"])},[e.createVNode(e.unref($.X),{class:"size-3"})],8,an)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(y.name)+" ",1),e.createVNode(e.unref($.ChevronDown),{class:"size-3"})],64))]),_:2},1024)]),_:2},1024),e.createVNode(nt,null,{default:e.withCtx(()=>[e.createVNode(ot,{modelValue:y.groupBy,"onUpdate:modelValue":T=>y.groupBy=T,class:"mb-4"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.values,T=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center space-x-2",key:T.id},[e.createVNode(et,{id:T.id,value:T.id,class:"border-ring"},null,8,["id","value"]),e.createVNode(tt,{for:T.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T.value),1)]),_:2},1032,["for"])]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"]),e.createVNode(oe,{variant:"ghost",onClick:T=>y.groupBy="",size:"sm",class:"ml-auto",disabled:!y.groupBy},{default:e.withCtx(()=>[...u[15]||(u[15]=[e.createTextVNode(" Clear ",-1)])]),_:1},8,["onClick","disabled"])]),_:2},1024)]),_:2},1024))),128))])])):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("table",sn,[e.createElementVNode("thead",dn,[e.createElementVNode("tr",null,[e.createElementVNode("th",cn,[e.createVNode(Ne,{class:"border-muted-foreground translate-y-0.5"})]),e.createElementVNode("th",un,[e.createElementVNode("div",pn,[u[16]||(u[16]=e.createElementVNode("span",null,"Variant",-1)),u[17]||(u[17]=e.createElementVNode("span",null,"·",-1)),v.value.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"hover:underline cursor-pointer",onClick:u[4]||(u[4]=y=>v.value=[])},"Collapse all")):(e.openBlock(),e.createElementBlock("button",{key:1,class:"hover:underline cursor-pointer",onClick:u[5]||(u[5]=y=>v.value=t.options[a.value].values.map(T=>T.id))},"Expand all"))])]),u[20]||(u[20]=e.createElementVNode("th",{class:"z-[101] sticky -top-4 py-2 font-normal bg-accent dark:bg-border"},"Price",-1)),e.createElementVNode("th",fn,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createVNode(Ce,{class:"underline decoration-dashed underline-offset-4"},{default:e.withCtx(()=>[...u[18]||(u[18]=[e.createTextVNode("Available",-1)])]),_:1}),e.createVNode(ye,null,{default:e.withCtx(()=>[...u[19]||(u[19]=[e.createElementVNode("p",null,"Inventory at your store that can be sold.",-1)])]),_:1})]),_:1})])])]),e.createElementVNode("tbody",mn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options[a.value].values,y=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:y.id},[e.createElementVNode("tr",{class:"hover:bg-accent/50 cursor-pointer transition-colors duration-200 border-b border-input",onClick:T=>v.value.includes(y.id)?v.value.splice(v.value.indexOf(y.id),1):v.value.push(y.id)},[e.createElementVNode("td",vn,[e.createVNode(Ne,{class:"border-muted-foreground translate-y-0.5",onClick:u[6]||(u[6]=e.withModifiers(()=>{},["stop"]))})]),e.createElementVNode("td",xn,[e.createElementVNode("div",Vn,[e.createElementVNode("div",null,[e.createVNode(Ie,{sources:e.unref(s),maxFiles:1,"initial-value":F(y.id)?[]:I(y.id)?[R(y.id)]:[R(y.id),U(y.id)],onSubmit:T=>B(T,y.id)},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:u[7]||(u[7]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer"},[F(y.id)?(e.openBlock(),e.createBlock(oe,{key:0,variant:"outline",class:"size-15 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref($.ImagePlus))]),_:1})):I(y.id)?(e.openBlock(),e.createElementBlock("img",{key:1,src:R(y.id),class:"size-15 rounded-md object-cover",draggable:"false"},null,8,hn)):(e.openBlock(),e.createElementBlock("div",Nn,[e.createElementVNode("img",{src:U(y.id),class:"absolute rotate-[12deg] size-15 rounded-md object-cover",draggable:"false"},null,8,Cn),e.createElementVNode("img",{src:R(y.id),class:"relative size-15 rounded-md shadow object-cover",draggable:"false"},null,8,yn)]))])]),_:2},1032,["sources","initial-value","onSubmit"])]),e.createElementVNode("div",bn,[e.createElementVNode("p",kn,e.toDisplayString(y.value),1),e.createElementVNode("button",_n,[e.createTextVNode(e.toDisplayString(h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id).length)+" variants ",1),e.createVNode(e.unref($.ChevronDown),{class:e.normalizeClass(["size-3 transition-transform duration-200",v.value.includes(y.id)?"rotate-180":""])},null,8,["class"])])])])]),e.createElementVNode("td",wn,[e.createElementVNode("div",Dn,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createVNode(Ce,{class:"w-full",asChild:""},{default:e.withCtx(()=>[e.createVNode(Pe,{id:`variant-price-${y.id}`,modelValue:K.value,"onUpdate:modelValue":u[8]||(u[8]=T=>K.value=T),class:e.normalizeClass(["dark:bg-transparent dark:border-ring/50 text-center",te.value===y.id?"":"text-transparent"]),onClick:u[9]||(u[9]=e.withModifiers(()=>{},["stop"])),onFocus:T=>ie(T,y),onBlur:T=>N(y.id),onKeydown:e.withKeys(T=>D(y.id),["enter"])},null,8,["id","modelValue","class","onFocus","onBlur","onKeydown"])]),_:2},1024),e.createVNode(ye,null,{default:e.withCtx(()=>[h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id).length===1?(e.openBlock(),e.createElementBlock("p",Sn,"Applies to 1 variant")):(e.openBlock(),e.createElementBlock("p",En,"Applies to all "+e.toDisplayString(h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id).length)+" variants",1))]),_:2},1024)]),_:2},1024),te.value!==y.id?(e.openBlock(),e.createElementBlock("span",Tn,e.toDisplayString(xe(y.id)),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("td",Bn,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createVNode(Ce,{class:"w-full focus-visible:outline-none",onClick:u[10]||(u[10]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createVNode(we,null,{default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(ke,{value:ae(y.id),class:"dark:border-ring/50",disabled:""},null,8,["value"])]),_:2},1024)]),_:2},1024)]),_:2},1024),e.createVNode(ye,null,{default:e.withCtx(()=>[...u[21]||(u[21]=[e.createElementVNode("p",null,"Update for individual variants only",-1)])]),_:1})]),_:2},1024)])],8,gn),v.value.includes(y.id)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id),T=>(e.openBlock(),e.createElementBlock("tr",{key:T.id,class:"hover:bg-accent/50 cursor-pointer transition-colors duration-200 border-b border-input"},[e.createElementVNode("td",Pn,[e.createElementVNode("div",In,[e.createVNode(Ne,{class:"border-muted-foreground translate-y-0.5",onClick:u[11]||(u[11]=e.withModifiers(()=>{},["stop"]))})])]),e.createElementVNode("td",$n,[e.createElementVNode("div",Fn,[e.createElementVNode("div",null,[e.createVNode(Ie,{sources:e.unref(s),maxFiles:1,"initial-value":c.value[k(T.options)].image?[c.value[k(T.options)].image]:[],onSubmit:A=>c.value[k(T.options)].image=A},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:u[12]||(u[12]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer"},[c.value[k(T.options)].image?(e.openBlock(),e.createElementBlock("img",{key:0,src:c.value[k(T.options)].image,class:"size-10 object-cover rounded-md",draggable:"false"},null,8,An)):(e.openBlock(),e.createBlock(oe,{key:1,variant:"outline",class:"size-10 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref($.ImagePlus))]),_:1}))])]),_:2},1032,["sources","initial-value","onSubmit"])]),e.createElementVNode("div",Mn,[e.createElementVNode("p",null,e.toDisplayString(T.options.filter(A=>A.optionId!==a.value).map(A=>A.value).join(" / ")),1)])])]),e.createElementVNode("td",zn,[e.createVNode(we,{"format-options":{style:"currency",currency:"EUR",currencyDisplay:"symbol",currencySign:"standard"},modelValue:c.value[k(T.options)].price,"onUpdate:modelValue":A=>c.value[k(T.options)].price=A,min:0},{default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(ke,{class:"dark:border-ring/50"})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("td",On,[e.createVNode(we,{modelValue:c.value[k(T.options)].stock,"onUpdate:modelValue":A=>c.value[k(T.options)].stock=A},{default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(lt,{class:"group-hover:opacity-100 opacity-0 transition-opacity duration-200"}),e.createVNode(ke,{class:"dark:border-ring/50"}),e.createVNode(at,{class:"group-hover:opacity-100 opacity-0 transition-opacity duration-200"})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])])]))),128)):e.createCommentVNode("",!0)],64))),128))])]),e.createElementVNode("div",Rn,[e.createTextVNode(" Total inventory at Webshop: "+e.toDisplayString(he())+" ",1),de()<0?(e.openBlock(),e.createElementBlock("span",Ln,"("+e.toDisplayString(de())+")",1)):e.createCommentVNode("",!0),u[22]||(u[22]=e.createTextVNode(" available ",-1))])],64)):e.createCommentVNode("",!0)]))}}}),Un=e.defineComponent({__name:"Variants",setup(t){const{params:o}=J.useModuleRoute(),{value:n}=g.useField("options"),{value:r}=g.useField("variants"),l=e.ref([]),i=e.ref([]),s=e.useTemplateRef("optionsEl"),d=e.useTemplateRef("variantsEl");e.watch(l,async c=>{n.value=c?JSON.parse(JSON.stringify(c)):[],await e.nextTick(),d.value?.refreshVariants()},{deep:!0}),e.watch(i,c=>{r.value=c?JSON.parse(JSON.stringify(c)):[]},{deep:!0});const a=e.ref(!1),f=e.ref(!1);e.watch(n,async c=>{o.value.productId=="new"||!c||Array.isArray(c)&&c.length===0||a.value||(a.value=!0,l.value=JSON.parse(JSON.stringify(c)),await e.nextTick(),c.length>1&&s.value?.minifyAll())},{deep:!0,immediate:!0}),e.watch(r,async c=>{o.value.productId=="new"||!c||Array.isArray(c)&&c.length===0||f.value||(f.value=!0,i.value=JSON.parse(JSON.stringify(c)),await e.nextTick(),d.value?.setVariantMap(c))},{deep:!0,immediate:!0});const v=e.computed(()=>{let c=l.value||[],V={};return!c||!Array.isArray(c)||c.forEach(_=>{!_.name.trim()||_.values?.filter(b=>b.value.trim()!=="")?.length===0||(V[_.id]={id:_.id,name:_.name,values:_.values?.map(b=>({id:b.id,value:b.value}))?.filter(b=>b.value.trim()!=="")||[]})}),V});return(c,V)=>{const _=e.resolveComponent("CardContent"),b=e.resolveComponent("Card");return e.openBlock(),e.createBlock(b,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[V[2]||(V[2]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Variants",-1)),e.createVNode(en,{modelValue:l.value,"onUpdate:modelValue":V[0]||(V[0]=k=>l.value=k),ref_key:"optionsEl",ref:s},null,8,["modelValue"]),e.createVNode(jn,{ref_key:"variantsEl",ref:d,options:v.value,modelValue:i.value,"onUpdate:modelValue":V[1]||(V[1]=k=>i.value=k),hide:Object.keys(v.value).length===0},null,8,["options","modelValue","hide"])]),_:1})]),_:1})}}}),Hn={class:"bg-white dark:bg-gray-50 border-4 dark:border-gray-600 p-4 rounded-lg mb-4"},Xn={class:"flex items-center gap-2 mb-2"},Yn=["src"],qn={class:"text-[#1a0dab] text-lg"},Kn={class:"text-[#006621] text-[13px]"},Jn={class:"text-[#545454] text-[13px]"},Gn={class:"flex flex-col gap-4 mb-4"},Wn={class:"flex flex-col"},Zn={key:0,class:"text-red-500 text-sm mt-1"},Qn={class:"flex flex-col gap-4 mb-4"},er={class:"flex flex-col"},tr={key:0,class:"text-red-500 text-sm mt-1"},or={class:"flex flex-col gap-4"},nr={class:"flex flex-col"},rr={class:"flex gap-2"},lr={key:0,class:"text-red-500 text-sm mt-1"},ar={key:1,class:"text-[#545454] text-[13px]"},ir={key:2,class:"text-orange-500 text-[13px]"},sr=e.defineComponent({__name:"SEO",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("title"),{value:r}=g.useField("slug"),{value:l}=g.useField("seo");function i(s){return s?s.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}return e.watch(n,(s,d)=>{(!r.value||i(d)===r.value)&&(r.value=i(s)),(!l.value.title||d===l.value.title)&&(l.value.title=s)}),(s,d)=>{const a=e.resolveComponent("Label"),f=e.resolveComponent("Input"),v=e.resolveComponent("Textarea"),c=e.resolveComponent("ProgressCircle"),V=e.resolveComponent("CardContent"),_=e.resolveComponent("Card");return e.openBlock(),e.createBlock(_,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[d[7]||(d[7]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Search engine listing",-1)),e.createElementVNode("div",Hn,[e.createElementVNode("div",Xn,[e.createElementVNode("img",{src:e.unref(it.googleImg),alt:"Google",class:"w-16 pointer-events-none",draggable:"false"},null,8,Yn),d[3]||(d[3]=e.createElementVNode("span",{class:"text-[#4186f5] font-medium text-xs"},"Preview",-1))]),e.createElementVNode("p",qn,e.toDisplayString(e.unref(l).title),1),e.createElementVNode("p",Kn,e.toDisplayString(e.unref(r)),1),e.createElementVNode("p",Jn,e.toDisplayString(e.unref(l).description?.slice(0,155))+e.toDisplayString(e.unref(l).description?.length>155?" ...":""),1)]),e.createElementVNode("div",Gn,[e.createElementVNode("div",Wn,[e.createVNode(a,{for:"slug",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Slug",-1)])]),_:1}),e.createVNode(f,{id:"slug",placeholder:"t-shirt-with-red-heart",modelValue:e.unref(r),"onUpdate:modelValue":d[0]||(d[0]=b=>e.isRef(r)?r.value=b:null)},null,8,["modelValue"]),e.unref(o).slug?(e.openBlock(),e.createElementBlock("p",Zn,e.toDisplayString(e.unref(o).slug),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Qn,[e.createElementVNode("div",er,[e.createVNode(a,{for:"meta-title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(f,{id:"meta-title",placeholder:"T-shirt with red heart",modelValue:e.unref(l).title,"onUpdate:modelValue":d[1]||(d[1]=b=>e.unref(l).title=b)},null,8,["modelValue"]),e.unref(o).seo?.title?(e.openBlock(),e.createElementBlock("p",tr,e.toDisplayString(e.unref(o).seo.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",or,[e.createElementVNode("div",nr,[e.createVNode(a,{for:"meta-description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(v,{id:"meta-description",placeholder:"Lovely T-shirt featuring a red heart",modelValue:e.unref(l).description,"onUpdate:modelValue":d[2]||(d[2]=b=>e.unref(l).description=b),class:"mb-2 resize-none"},null,8,["modelValue"]),e.createElementVNode("div",rr,[e.createVNode(c,{progress:(e.unref(l).description?.length??0)/155},null,8,["progress"]),e.unref(o).seo?.description?(e.openBlock(),e.createElementBlock("p",lr,e.toDisplayString(e.unref(o).seo.description),1)):e.unref(l).description?.length<155?(e.openBlock(),e.createElementBlock("p",ar,e.toDisplayString(e.unref(l).description.length)+" characters",1)):(e.openBlock(),e.createElementBlock("p",ir,"Please keep it under 155 characters"))])])])]),_:1})]),_:1})}}}),dr=e.defineComponent({__name:"NewSection",setup(t){return(o,n)=>{const r=e.resolveComponent("Button"),l=e.resolveComponent("CardContent"),i=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock(e.Fragment,null,[n[3]||(n[3]=e.createElementVNode("hr",{class:"my-4"},null,-1)),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[n[1]||(n[1]=e.createElementVNode("h2",{class:"text-lg font-medium"},"New Section",-1)),n[2]||(n[2]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-4"},"As an admin, you can define new sections within the product detail page.",-1)),e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(e.unref($.Plus),{class:"size-4"}),n[0]||(n[0]=e.createTextVNode(" Create new section ",-1))]),_:1})]),_:1})]),_:1})],64)}}}),cr={class:"flex items-center gap-2"},ur={key:0,class:"size-3 rounded-full bg-green-500"},pr={key:1,class:"size-3 rounded-full bg-blue-500"},fr={key:2,class:"size-3 rounded-full bg-gray-300"},mr=e.defineComponent({__name:"Status",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("status");return(r,l)=>{const i=e.resolveComponent("SelectValue"),s=e.resolveComponent("SelectTrigger"),d=e.resolveComponent("SelectItem"),a=e.resolveComponent("SelectGroup"),f=e.resolveComponent("SelectContent"),v=e.resolveComponent("Select"),c=e.resolveComponent("CardContent"),V=e.resolveComponent("Card");return e.openBlock(),e.createBlock(V,null,{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[l[4]||(l[4]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Status",-1)),e.createVNode(v,{modelValue:e.unref(n),"onUpdate:modelValue":l[0]||(l[0]=_=>e.isRef(n)?n.value=_:null),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(s,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",cr,[e.unref(n)==="published"?(e.openBlock(),e.createElementBlock("span",ur)):e.unref(n)==="draft"?(e.openBlock(),e.createElementBlock("span",pr)):e.unref(n)==="archived"?(e.openBlock(),e.createElementBlock("span",fr)):e.createCommentVNode("",!0),e.createVNode(i,{placeholder:"Status"})])]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(d,{value:"published"},{default:e.withCtx(()=>[...l[1]||(l[1]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(d,{value:"draft"},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1}),e.createVNode(d,{value:"archived"},{default:e.withCtx(()=>[...l[3]||(l[3]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-gray-300"},null,-1),e.createTextVNode(" Archived ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),gr={class:"flex items-center gap-2 truncate"},vr=e.defineComponent({__name:"Collections",props:{config:{type:Object,required:!0}},setup(t){const o=t,n=J.useFirebaseIntegration(o.config.project),r=async()=>{if(!o.config.collectionsCollection)return[];const a=o.config.collectionsCollection.split(":");return a.length!==2?[]:(await n.get(a[0]))?.[a[1]]||[]},l=e.ref([]);(async()=>{const a=await r();l.value=a})();const{errors:s}=g.useFormContext(),{value:d}=g.useField("collections");return(a,f)=>{const v=e.resolveComponent("SelectValue"),c=e.resolveComponent("SelectTrigger"),V=e.resolveComponent("SelectLabel"),_=e.resolveComponent("SelectItem"),b=e.resolveComponent("SelectGroup"),k=e.resolveComponent("SelectContent"),S=e.resolveComponent("Select"),E=e.resolveComponent("CardContent"),m=e.resolveComponent("Card");return e.openBlock(),e.createBlock(m,null,{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[f[5]||(f[5]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Collections",-1)),e.createVNode(S,{modelValue:e.unref(d),"onUpdate:modelValue":f[0]||(f[0]=h=>e.isRef(d)?d.value=h:null),class:"w-full",multiple:!0},{default:e.withCtx(()=>[e.createVNode(c,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",gr,[e.createVNode(v,{placeholder:"Collections"})])]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[...f[1]||(f[1]=[e.createTextVNode("Active collections",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.filter(h=>h.status==="published"),h=>(e.openBlock(),e.createBlock(_,{key:h.id,value:h.id},{default:e.withCtx(()=>[f[2]||(f[2]=e.createElementVNode("div",{class:"size-2 rounded-full bg-green-500"},null,-1)),e.createTextVNode(" "+e.toDisplayString(h.title),1)]),_:2},1032,["value"]))),128))]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[...f[3]||(f[3]=[e.createTextVNode("Drafts",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.filter(h=>h.status==="draft"),h=>(e.openBlock(),e.createBlock(_,{key:h.id,value:h.id},{default:e.withCtx(()=>[f[4]||(f[4]=e.createElementVNode("div",{class:"size-2 rounded-full bg-blue-500"},null,-1)),e.createTextVNode(" "+e.toDisplayString(h.title),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),xr={class:"relative @container"},Vr={class:"flex flex-row gap-4 justify-between max-w-5xl mx-auto mt-4 mb-6"},hr={class:"flex items-center"},Nr={class:"text-lg font-semibold mx-2"},Cr={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},yr={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},br={key:2,class:"bg-gray-300 dark:bg-gray-500 text-gray-950 px-2 py-1 rounded-lg text-xs"},kr={class:"flex flex-col @3xl:flex-row gap-4 max-w-5xl mx-auto pb-24"},_r={class:"flex flex-col gap-4 w-full @3xl:w-2/3"},wr={class:"flex flex-col gap-4 w-full @3xl:w-1/3"},Dr={key:0,class:"fixed bottom-4 left-0 md:left-12 right-0 min-w-xs max-w-5xl w-[calc(100%-2rem)] md:w-[calc(100%-5rem)] xl:w-[calc(100%-2rem)] h-16 border border-white/10 backdrop-blur-sm border-t border-border flex items-center justify-center px-4 mx-auto z-[9999] rounded-xl overflow-hidden shadow bg-[radial-gradient(#ffffff80,transparent)] dark:bg-[radial-gradient(#00000080,transparent)]"},Sr={class:"w-full max-w-5xl flex items-center justify-end mx-auto"},Er=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},async setup(t){let o,n;const r=t,{hasPermission:l,hasAnyPermission:i,isAdmin:s}=J.useModulePermissions(),{params:d,navigateTo:a}=J.useModuleRoute(),{confirm:f}=J.useConfirmation(),v=J.useFirebaseIntegration(r.config.project);e.provide("sources",r.config.allowedMediaSources),e.provide("defaultSource",r.config.defaultUploadMediaSource);const c=e.ref(!1),V=e.computed(()=>!d.value.productId||d.value.productId==="new"),_=e.ref(""),b=e.ref([]);b.value=([o,n]=e.withAsyncContext(()=>K()),o=await o,n(),o);const k=g.toTypedSchema(g.objectType({title:g.stringType().min(1,"Title is required"),description:g.stringType().optional(),media:g.arrayType(g.stringType()).optional(),price:g.coerce.number().positive("Must be positive"),compareAtPrice:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().positive("Must be positive").optional()),isTaxable:g.booleanType().optional(),costPerItem:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().positive("Must be positive").optional()),currency:g.stringType(),stock:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().optional()),trackInventory:g.booleanType().optional(),allowBackorder:g.booleanType().optional(),isPhysicalProduct:g.booleanType().optional(),weight:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().optional()),weightUnit:g.stringType().optional(),slug:g.stringType(),seo:g.objectType({title:g.stringType().optional(),description:g.stringType().optional()}).optional(),createdAt:g.dateType(),updatedAt:g.dateType(),status:g.stringType(),options:g.arrayType(g.objectType({id:g.stringType(),name:g.stringType().min(1),values:g.arrayType(g.objectType({id:g.stringType(),value:g.stringType()}))})).optional(),variants:g.arrayType(g.objectType({combinedOptions:g.stringType().min(1),name:g.stringType().min(1),disabled:g.booleanType().optional(),price:g.coerce.number().positive("Must be positive"),stock:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().optional()),image:g.stringType().optional(),options:g.arrayType(g.objectType({optionId:g.stringType(),option:g.stringType(),valueId:g.stringType(),value:g.stringType()}))})).optional(),tags:g.arrayType(g.stringType()).optional(),collections:g.arrayType(g.stringType()).optional()})),{handleSubmit:S,errors:E,values:m,setValues:h}=g.useForm({validationSchema:k,initialValues:{createdAt:new Date,updatedAt:new Date,status:"draft",options:[],variants:[],media:[],isTaxable:!1,trackInventory:!1,allowBackorder:!1,isPhysicalProduct:!0,weight:0,weightUnit:"kg",tags:[],collections:[],currency:r.config.defaultCurrency||"USD",price:1,stock:0,seo:{title:"",description:""}}});J.useModuleBreadcrumbs(()=>[{text:V.value?"New Product":m.title||"Product"}]);const B=N=>{let D={...N,maxPrice:F(),minPrice:I(),maxCompareAtPrice:U(),minCompareAtPrice:R(),isSingleVariant:!N.variants||N.variants.length===0,variantsTotal:N.variants?.length||1,stock:xe(),featuredMedia:N.media?.[0]};return D.isPhysicalProduct?D.type="physical":(D.weight=0,D.weightUnit="kg",D.type="digital"),D},F=()=>!m.variants||m.variants.length===0?m.price:Math.max(...m.variants.map(N=>N.price)),I=()=>!m.variants||m.variants.length===0?m.price:Math.min(...m.variants.map(N=>N.price)),R=()=>m.compareAtPrice,U=()=>m.compareAtPrice,xe=()=>!m.variants||m.variants.length===0?m.stock:m.variants.reduce((N,D)=>D.stock<0?N:N+D.stock,0),ae=S(async N=>{c.value=!0;let D=B(N);if(V.value){if(await ie(D.slug)){Y.toast.error("Product slug already exists");return}D.createdAt=new Date,D.updatedAt=new Date;const H=await v.add(r.config.productCollection,D);a(H.id),Y.toast.success("Product created")}else{if(_.value!==D.slug&&await ie(D.slug)){Y.toast.error("Product slug already exists");return}D.updatedAt=new Date,await v.update(r.config.productCollection,d.value.productId,D),a(`${d.value.productId}`),Y.toast.success("Product updated")}c.value=!1}),Ve=async()=>{const N=await v.get(r.config.productCollection,d.value.productId);N.createdAt=new Date(N.createdAt),N.updatedAt=new Date(N.updatedAt),N.options?.forEach(D=>{D.values.forEach(H=>{H.touched=!0}),D.values.push({id:Math.random().toString(36).substring(2,15),value:""})}),h(N),_.value=N.slug},he=async()=>{try{let N={...m},D=N.slug+"-copy",H=2;for(;await ie(D);)D=N.slug+"-copy-"+H,H++;N.id=void 0,N.createdAt=new Date,N.updatedAt=new Date,N.slug=D,N.status="draft",N.title=N.title+" (copy)";const C=await v.add(r.config.productCollection,N);a(C.id),Y.toast.success("Product duplicated")}catch{Y.toast.error("Failed to duplicate product")}},de=async()=>{try{await v.update(r.config.productCollection,d.value.productId,{status:"archived"}),h({status:"archived"},{force:!1}),Y.toast.success("Product archived")}catch{Y.toast.error("Failed to archive product")}},te=async()=>{if(await f("Are you sure you want to delete this product?"))try{await v.remove(r.config.productCollection,d.value.productId),a(""),Y.toast.success("Product deleted")}catch{Y.toast.error("Failed to delete product")}};async function K(){if(!r.config.collectionsCollection)return[];const N=r.config.collectionsCollection.split(":");return N.length!==2?[]:(await v.get(N[0]))?.[N[1]]||[]}async function ie(N){return(await v.find(r.config.productCollection,{filters:[{field:"slug",operator:"==",value:N}]})).length>0}return e.onMounted(()=>{V.value||Ve()}),(N,D)=>{const H=e.resolveComponent("Button"),C=e.resolveComponent("MenubarTrigger"),u=e.resolveComponent("MenubarMenu"),x=e.resolveComponent("MenubarItem"),w=e.resolveComponent("MenubarContent"),P=e.resolveComponent("Menubar");return e.openBlock(),e.createElementBlock("div",xr,[e.createElementVNode("div",Vr,[e.createElementVNode("div",hr,[e.createVNode(H,{variant:"ghost",onClick:D[0]||(D[0]=X=>e.unref(a)(""))},{default:e.withCtx(()=>[e.createVNode(e.unref($.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref($.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Nr,e.toDisplayString(V.value?"New Product":e.unref(m).title),1),e.unref(m).status==="published"?(e.openBlock(),e.createElementBlock("span",Cr,"Published")):e.unref(m).status==="draft"?(e.openBlock(),e.createElementBlock("span",yr,"Draft")):e.unref(m).status==="archived"?(e.openBlock(),e.createElementBlock("span",br,"Archived")):e.createCommentVNode("",!0)]),V.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(P,{key:0,class:"rounded-lg shadow-xs"},{default:e.withCtx(()=>[e.unref(l)("create-product")?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>[e.createVNode(C,{onClick:he},{default:e.withCtx(()=>[...D[1]||(D[1]=[e.createTextVNode("Duplicate",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...D[2]||(D[2]=[e.createTextVNode("Preview",-1)])]),_:1})]),_:1}),e.unref(i)("edit-product","delete-product")?(e.openBlock(),e.createBlock(u,{key:1},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...D[3]||(D[3]=[e.createTextVNode("More actions",-1)])]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.unref(l)("edit-product")?(e.openBlock(),e.createBlock(x,{key:0,onClick:de},{default:e.withCtx(()=>[e.createVNode(e.unref($.Archive),{class:"size-4"}),D[4]||(D[4]=e.createTextVNode(" Archive product ",-1))]),_:1})):e.createCommentVNode("",!0),e.unref(l)("delete-product")?(e.openBlock(),e.createBlock(x,{key:1,variant:"destructive",onClick:te},{default:e.withCtx(()=>[e.createVNode(e.unref($.Trash),{class:"size-4"}),D[5]||(D[5]=e.createTextVNode(" Delete product ",-1))]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}))]),e.createElementVNode("div",kr,[e.createElementVNode("div",_r,[e.createVNode(xt),e.createVNode(St),e.createVNode(It),e.createVNode(At),e.createVNode(Un),e.createVNode(sr),e.unref(s)()?(e.openBlock(),e.createBlock(dr,{key:0})):e.createCommentVNode("",!0)]),e.createElementVNode("div",wr,[e.createVNode(mr),e.createVNode(vr,{config:t.config},null,8,["config"])])]),e.unref(i)("create-product","edit-product")?(e.openBlock(),e.createElementBlock("div",Dr,[e.createElementVNode("div",Sr,[V.value&&e.unref(l)("create-product")?(e.openBlock(),e.createBlock(H,{key:0,onClick:e.unref(ae),disabled:c.value},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createBlock(e.unref($.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.value?"Creating":"Create")+" New Product ",1)]),_:1},8,["onClick","disabled"])):e.unref(l)("edit-product")?(e.openBlock(),e.createBlock(H,{key:1,onClick:e.unref(ae),disabled:c.value},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createBlock(e.unref($.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.value?"Saving":"Save")+" Changes ",1)]),_:1},8,["onClick","disabled"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])}}});exports.default=Er;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),g=require("./vee-validate-zod-ByykgYKJ.js"),$=require("lucide-vue-next"),Oe=require("@formkit/drag-and-drop"),J=require("@oneclick.dev/cms-kit"),it=require("./google-D4N3gb01.js"),X=require("./index-ijdf0d9-.js"),st={class:"flex flex-col gap-4"},dt={class:"flex flex-col"},ct={key:0,class:"text-red-500 text-sm mt-1"},ut={class:"flex flex-col gap-4"},pt={class:"flex flex-col"},ft={key:0,class:"text-red-500 text-sm mt-1"},mt={class:"flex flex-col gap-4"},gt={class:"flex flex-col"},vt={key:0,class:"text-red-500 text-sm mt-1"},xt=e.defineComponent({__name:"Main",setup(t){const o=e.inject("sources"),n=e.inject("defaultSource"),{errors:r}=g.useFormContext(),{value:l}=g.useField("title"),{value:i}=g.useField("description"),{value:s}=g.useField("media");return(d,a)=>{const f=e.resolveComponent("Label"),v=e.resolveComponent("Input"),c=e.resolveComponent("Textarea"),V=e.resolveComponent("MediaPicker"),_=e.resolveComponent("CardContent"),b=e.resolveComponent("Card");return e.openBlock(),e.createBlock(b,null,{default:e.withCtx(()=>[e.createVNode(_,{class:"flex flex-col gap-4"},{default:e.withCtx(()=>[e.createElementVNode("div",st,[e.createElementVNode("div",dt,[e.createVNode(f,{for:"title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[3]||(a[3]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(v,{type:"text",id:"title",placeholder:"T-shirt with red heart",modelValue:e.unref(l),"onUpdate:modelValue":a[0]||(a[0]=k=>e.isRef(l)?l.value=k:null)},null,8,["modelValue"]),e.unref(r).title?(e.openBlock(),e.createElementBlock("p",ct,e.toDisplayString(e.unref(r).title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ut,[e.createElementVNode("div",pt,[e.createVNode(f,{for:"description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[4]||(a[4]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(c,{id:"description",placeholder:"Lovely T-shirt featuring a red heart",modelValue:e.unref(i),"onUpdate:modelValue":a[1]||(a[1]=k=>e.isRef(i)?i.value=k:null)},null,8,["modelValue"]),e.unref(r).description?(e.openBlock(),e.createElementBlock("p",ft,e.toDisplayString(e.unref(r).description),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",mt,[e.createElementVNode("div",gt,[e.createVNode(f,{for:"media",class:"text-sm mb-2"},{default:e.withCtx(()=>[...a[5]||(a[5]=[e.createTextVNode("Media",-1)])]),_:1}),e.createVNode(V,{id:"media",modelValue:e.unref(s),"onUpdate:modelValue":a[2]||(a[2]=k=>e.isRef(s)?s.value=k:null),sources:e.unref(o),defaultSource:e.unref(n)},null,8,["modelValue","sources","defaultSource"]),e.unref(r).media?(e.openBlock(),e.createElementBlock("p",vt,e.toDisplayString(e.unref(r).media),1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1})}}}),Vt={class:"grid grid-cols-2 gap-4 mb-4"},ht={class:"relative"},Nt={key:0,class:"text-red-500 text-sm mt-1"},Ct={class:"relative"},yt={class:"absolute right-2 top-1/2 -translate-y-1/2"},bt={key:0,class:"text-red-500 text-sm mt-1"},kt={class:"flex items-center gap-2 mb-4"},_t={class:"flex items-center border-t mt-4 pt-4"},wt={class:"relative"},Dt={key:0,class:"text-red-500 text-sm mt-1"},St=e.defineComponent({__name:"Price",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("price"),{value:r}=g.useField("compareAtPrice"),{value:l}=g.useField("isTaxable"),{value:i}=g.useField("costPerItem");return e.computed(()=>Number(n.value)>0),(s,d)=>{const a=e.resolveComponent("Label"),f=e.resolveComponent("Input"),v=e.resolveComponent("TooltipTrigger"),c=e.resolveComponent("TooltipContent"),V=e.resolveComponent("Tooltip"),_=e.resolveComponent("Checkbox"),b=e.resolveComponent("CardContent"),k=e.resolveComponent("Card");return e.openBlock(),e.createBlock(k,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[d[12]||(d[12]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Pricing",-1)),e.createElementVNode("div",Vt,[e.createElementVNode("div",null,[e.createVNode(a,{for:"price",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Price",-1)])]),_:1}),e.createElementVNode("div",ht,[e.createVNode(f,{type:"number",id:"price",class:"pl-10 no-spinner",modelValue:e.unref(n),"onUpdate:modelValue":d[0]||(d[0]=S=>e.isRef(n)?n.value=S:null)},null,8,["modelValue"]),d[5]||(d[5]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1))]),e.unref(o).price?(e.openBlock(),e.createElementBlock("p",Nt,e.toDisplayString(e.unref(o).price),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",null,[e.createVNode(a,{for:"compare-at-price",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Compare-at price",-1)])]),_:1}),e.createElementVNode("div",Ct,[e.createVNode(f,{type:"number",id:"compare-at-price",class:"pl-10 no-spinner",modelValue:e.unref(r),"onUpdate:modelValue":d[1]||(d[1]=S=>e.isRef(r)?r.value=S:null)},null,8,["modelValue"]),d[8]||(d[8]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1)),e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(v,{"as-child":""},{default:e.withCtx(()=>[e.createElementVNode("button",yt,[e.createVNode(e.unref($.Info),{class:"size-4 text-muted-foreground"})])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[...d[7]||(d[7]=[e.createElementVNode("p",null,[e.createTextVNode(" To display a markdown, enter a value higher than your price."),e.createElementVNode("br"),e.createTextVNode(" Often shown with a strikethrough (e.g. "),e.createElementVNode("span",{class:"font-semibold line-through"},"€25,00"),e.createTextVNode("). ")],-1)])]),_:1})]),_:1})]),e.unref(o).compareAtPrice?(e.openBlock(),e.createElementBlock("p",bt,e.toDisplayString(e.unref(o).compareAtPrice),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",kt,[e.createVNode(_,{id:"charge-tax",modelValue:e.unref(l),"onUpdate:modelValue":d[2]||(d[2]=S=>e.isRef(l)?l.value=S:null)},null,8,["modelValue"]),e.createVNode(a,{for:"charge-tax",class:"text-sm"},{default:e.withCtx(()=>[...d[9]||(d[9]=[e.createTextVNode("Charge tax on this product",-1)])]),_:1})]),e.createElementVNode("div",_t,[e.createElementVNode("div",null,[e.createVNode(a,{for:"cost-per-item",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[10]||(d[10]=[e.createTextVNode("Cost per item",-1)])]),_:1}),e.createElementVNode("div",wt,[e.createVNode(f,{type:"number",id:"cost-per-item",class:"pl-10 no-spinner",modelValue:e.unref(i),"onUpdate:modelValue":d[3]||(d[3]=S=>e.isRef(i)?i.value=S:null)},null,8,["modelValue"]),d[11]||(d[11]=e.createElementVNode("span",{class:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none"},"€",-1))]),e.unref(o).costPerItem?(e.openBlock(),e.createElementBlock("p",Dt,e.toDisplayString(e.unref(o).costPerItem),1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1})}}}),Et={class:"grid grid-cols-2 gap-4 mb-4"},Tt={class:"flex items-center gap-2 mb-4"},Bt={key:0,class:"grid grid-cols-2 gap-4 mb-4"},Pt={class:"flex items-center gap-2"},It=e.defineComponent({__name:"Inventory",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("sku"),{value:r}=g.useField("barcode"),{value:l}=g.useField("trackInventory"),{value:i}=g.useField("allowBackorder"),{value:s}=g.useField("stock"),{value:d}=g.useField("options"),{value:a}=g.useField("variants"),f=e.computed(()=>a.value.reduce((v,c)=>c.stock<0?v:v+c.stock,0));return(v,c)=>{const V=e.resolveComponent("Label"),_=e.resolveComponent("Input"),b=e.resolveComponent("Checkbox"),k=e.resolveComponent("TooltipTrigger"),S=e.resolveComponent("TooltipContent"),E=e.resolveComponent("Tooltip"),m=e.resolveComponent("CardContent"),h=e.resolveComponent("Card");return e.openBlock(),e.createBlock(h,null,{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[c[12]||(c[12]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Inventory",-1)),e.createElementVNode("div",Et,[e.createElementVNode("div",null,[e.createVNode(V,{for:"sku",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[6]||(c[6]=[e.createTextVNode("SKU (Stock Keeping Unit)",-1)])]),_:1}),e.createVNode(_,{id:"sku",modelValue:e.unref(n),"onUpdate:modelValue":c[0]||(c[0]=B=>e.isRef(n)?n.value=B:null)},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(V,{for:"barcode",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[7]||(c[7]=[e.createTextVNode("Barcode (ISBN, UPC, GTIN, etc.)",-1)])]),_:1}),e.createVNode(_,{id:"barcode",modelValue:e.unref(r),"onUpdate:modelValue":c[1]||(c[1]=B=>e.isRef(r)?r.value=B:null)},null,8,["modelValue"])])]),e.createElementVNode("div",Tt,[e.createVNode(b,{id:"track-quantity",modelValue:e.unref(l),"onUpdate:modelValue":c[2]||(c[2]=B=>e.isRef(l)?l.value=B:null)},null,8,["modelValue"]),e.createVNode(V,{for:"track-quantity",class:"text-sm"},{default:e.withCtx(()=>[...c[8]||(c[8]=[e.createTextVNode("Track quantity",-1)])]),_:1})]),e.unref(l)?(e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",null,[e.createVNode(V,{for:"stock",class:"text-sm mb-2"},{default:e.withCtx(()=>[...c[9]||(c[9]=[e.createTextVNode("Stock",-1)])]),_:1}),!e.unref(d)||e.unref(d)?.length===0?(e.openBlock(),e.createBlock(_,{key:0,id:"stock",type:"number",modelValue:e.unref(s),"onUpdate:modelValue":c[3]||(c[3]=B=>e.isRef(s)?s.value=B:null),class:"no-spinner"},null,8,["modelValue"])):(e.openBlock(),e.createBlock(E,{key:1},{default:e.withCtx(()=>[e.createVNode(k,{class:"cursor-not-allowed"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:f.value,"onUpdate:modelValue":c[4]||(c[4]=B=>f.value=B),disabled:"",class:"no-spinner"},null,8,["modelValue"])]),_:1}),e.createVNode(S,null,{default:e.withCtx(()=>[...c[10]||(c[10]=[e.createElementVNode("p",null,"Total stock of all variants",-1)])]),_:1})]),_:1}))])])):e.createCommentVNode("",!0),e.createElementVNode("div",Pt,[e.createVNode(b,{id:"continue-selling",modelValue:e.unref(i),"onUpdate:modelValue":c[5]||(c[5]=B=>e.isRef(i)?i.value=B:null)},null,8,["modelValue"]),e.createVNode(V,{for:"continue-selling",class:"text-sm"},{default:e.withCtx(()=>[...c[11]||(c[11]=[e.createTextVNode("Continue selling when out of stock",-1)])]),_:1})])]),_:1})]),_:1})}}}),$t={class:"flex items-center gap-2 mb-4"},Ft={key:0,class:"grid grid-cols-2 gap-4 mb-4"},At=e.defineComponent({__name:"Shipping",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("isPhysicalProduct"),{value:r}=g.useField("weight"),{value:l}=g.useField("weightUnit");return(i,s)=>{const d=e.resolveComponent("Checkbox"),a=e.resolveComponent("Label"),f=e.resolveComponent("Input"),v=e.resolveComponent("SelectValue"),c=e.resolveComponent("SelectTrigger"),V=e.resolveComponent("SelectItem"),_=e.resolveComponent("SelectGroup"),b=e.resolveComponent("SelectContent"),k=e.resolveComponent("Select"),S=e.resolveComponent("CardContent"),E=e.resolveComponent("Card");return e.openBlock(),e.createBlock(E,null,{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[s[10]||(s[10]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Shipping",-1)),e.createElementVNode("div",$t,[e.createVNode(d,{id:"is-physical-product",modelValue:e.unref(n),"onUpdate:modelValue":s[0]||(s[0]=m=>e.isRef(n)?n.value=m:null)},null,8,["modelValue"]),e.createVNode(a,{for:"is-physical-product",class:"text-sm"},{default:e.withCtx(()=>[...s[3]||(s[3]=[e.createTextVNode("This is a physical product",-1)])]),_:1})]),e.unref(n)?(e.openBlock(),e.createElementBlock("div",Ft,[e.createElementVNode("div",null,[e.createVNode(a,{for:"weight",class:"text-sm mb-2"},{default:e.withCtx(()=>[...s[4]||(s[4]=[e.createTextVNode("Weight",-1)])]),_:1}),e.createVNode(f,{id:"weight",type:"number",modelValue:e.unref(r),"onUpdate:modelValue":s[1]||(s[1]=m=>e.isRef(r)?r.value=m:null),class:"no-spinner"},null,8,["modelValue"])]),e.createElementVNode("div",null,[e.createVNode(a,{for:"weight-unit",class:"text-sm mb-2"},{default:e.withCtx(()=>[...s[5]||(s[5]=[e.createTextVNode("Weight unit",-1)])]),_:1}),e.createVNode(k,{modelValue:e.unref(l),"onUpdate:modelValue":s[2]||(s[2]=m=>e.isRef(l)?l.value=m:null)},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(v,{placeholder:"Select unit"})]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(V,{value:"lb"},{default:e.withCtx(()=>[...s[6]||(s[6]=[e.createTextVNode(" lb ",-1)])]),_:1}),e.createVNode(V,{value:"oz"},{default:e.withCtx(()=>[...s[7]||(s[7]=[e.createTextVNode(" oz ",-1)])]),_:1}),e.createVNode(V,{value:"kg"},{default:e.withCtx(()=>[...s[8]||(s[8]=[e.createTextVNode(" kg ",-1)])]),_:1}),e.createVNode(V,{value:"g"},{default:e.withCtx(()=>[...s[9]||(s[9]=[e.createTextVNode(" g ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])])])):e.createCommentVNode("",!0)]),_:1})]),_:1})}}});function z(t){t.preventDefault()}function Z(t){t.stopPropagation()}function Re(){const t=new Map;return[function(r,l){t.get(r)&&t.get(r).forEach(i=>{i(l)})},function(r,l){const i=t.get(r)??[];i.push(l),t.set(r,i)}]}var[Le,je]=Re();function Mt(t,o){return t.source===o.source&&t.flags.split("").sort().join("")===o.flags.split("").sort().join("")}function se(t,o,n=!0,r=["__key"]){if(t===o)return!0;if(typeof o=="object"&&typeof t=="object"&&t!==null&&o!==null){if(t instanceof Map||t instanceof Set)return!1;if(t instanceof Date&&o instanceof Date)return t.getTime()===o.getTime();if(t instanceof RegExp&&o instanceof RegExp)return Mt(t,o);if(t===null||o===null)return!1;const l=t,i=o;if(Object.keys(l).length!==Object.keys(i).length)return!1;for(const s of r)if((s in l||s in i)&&l[s]!==i[s])return!1;for(const s in l)if(!(s in i)||l[s]!==i[s]&&!n||n&&!se(l[s],i[s],n,r))return!1;return!0}return!1}function Ue(t){return t.split(" ").filter(o=>o)}function le(t){return{x:t.clientX,y:t.clientY}}Array();var Te=typeof window<"u",M=new WeakMap,q=new WeakMap;function He(){if(!Te)return!1;if("userAgentData"in navigator)return navigator.userAgentData.mobile===!0;const t=navigator.userAgent,o=/android|iphone|ipod/i.test(t),n=/iPad/.test(t)||t.includes("Macintosh")&&navigator.maxTouchPoints>1;return o||n}var zt={affectedNodes:[],coordinates:{x:0,y:0},currentTargetValue:void 0,on:je,emit:Le,originalZIndex:void 0,pointerSelection:!1,preventEnter:!1,rootUserSelect:void 0,nodePointerdown:void 0,longPress:!1,scrolling:!1,longPressTimeout:void 0,remapJustFinished:!1,selectedNodes:[],selectedParent:void 0,preventSynthDrag:!1,pointerDown:void 0,lastScrollContainerX:null,lastScrollContainerY:null,rootScrollWidth:void 0,rootScrollHeight:void 0,dragItemRect:void 0,windowScrollX:void 0,windowScrollY:void 0,lastScrollDirectionX:void 0,lastScrollDirectionY:void 0,scrollDebounceTimeout:void 0,frameIdX:void 0,frameIdY:void 0},p=zt,W=!1,$e,De;function Ot(){p.scrollDebounceTimeout&&clearTimeout(p.scrollDebounceTimeout),p.longPressTimeout&&clearTimeout(p.longPressTimeout),p.frameIdX!==void 0&&cancelAnimationFrame(p.frameIdX),p.frameIdY!==void 0&&cancelAnimationFrame(p.frameIdY),p={...{affectedNodes:[],coordinates:{x:0,y:0},on:je,emit:Le,currentTargetValue:void 0,originalZIndex:void 0,pointerId:void 0,preventEnter:!1,remapJustFinished:!1,selectedNodes:[],nodePointerdown:void 0,rootUserSelect:void 0,preventSynthDrag:!1,scrolling:!1,selectedParent:void 0,pointerSelection:!1,synthScrollDirection:void 0,draggedNodeDisplay:void 0,synthDragScrolling:!1,longPress:!1,pointerDown:void 0,longPressTimeout:void 0,lastScrollContainerX:null,lastScrollContainerY:null,rootScrollWidth:void 0,rootScrollHeight:void 0,dragItemRect:void 0,windowScrollX:void 0,windowScrollY:void 0,lastScrollDirectionX:void 0,lastScrollDirectionY:void 0,scrollDebounceTimeout:void 0,frameIdX:void 0,frameIdY:void 0}}}function Xe(t){return Object.assign(p,t),t.initialParent.data.emit("dragStarted",p),W=!1,p.emit("dragStarted",p),p}function Rt(){p.activeState&&ee(p.activeState.parent,void 0,p),p.selectedState&&Q(p.selectedState.nodes,p.selectedState.parent,p),p.selectedState=p.activeState=void 0}function Lt(){if(p.pointerDown&&(p.pointerDown.node.el.draggable=!0),p.pointerDown=void 0,!j(p))return;const t=p.currentParent.data.config;j(p)&&t.handleEnd(p)}function jt(t){t.key==="Escape"&&(p.selectedState&&Q(p.selectedState.nodes,p.selectedState.parent,p),p.activeState&&ee(p.activeState.parent,void 0,p),p.selectedState=p.activeState=void 0)}function Ut(t){if(!O(p))return;W=!0;const o=p.initialParent.data.config.handleEnd;o(p)}function Ht(t){if(!O(p))return;z(t);const{x:o,y:n}=le(t);O(p)&&ge({x:o,y:n},t,p)}function Xt(t){if(!p.pointerDown||!p.pointerDown.validated)return;const o=p.pointerDown.parent.data.config;if(!(t.pointerType==="mouse"&&!He()))if(j(p))j(p)&&Fe(t,p);else{if(z(t),o.longPress&&!p.longPress){clearTimeout(p.longPressTimeout),p.longPress=!1;return}const n=o.draggedNodes(p.pointerDown);o.dragstartClasses(p.pointerDown.node,n,o,!0);const r=p.pointerDown.node.el.getBoundingClientRect(),l=yo(p.pointerDown.node,p.pointerDown.parent,t,p,n,r);Fe(t,l,!0)}}function Yt({parent:t,getValues:o,setValues:n,config:r={}}){if(!Te)return;$e||($e=pe(document,{dragover:Ht,pointerdown:Rt,pointerup:Lt,keydown:jt,drop:Ut,pointermove:Xt,pointercancel:L(r.handlePointercancel),touchmove:a=>{O(p)&&a.cancelable&&z(a)},contextmenu:a=>{j(p)&&z(a)}})),Wt(t);const[l,i]=Re(),s={getValues:o,setValues:n,config:{dragDropEffect:r.dragDropEffect??"move",dragEffectAllowed:r.dragEffectAllowed??"move",draggedNodes:ao,dragstartClasses:uo,handleNodeKeydown:fo,handleDragstart:so,handleNodeDragover:ko,handleParentDragover:_o,handleNodeDrop:go,handleNodeFocus:vo,handleNodeBlur:xo,handlePointercancel:ho,handleEnd:No,handleDragend:Vo,handleParentFocus:Kt,handleNodePointerup:Co,handleNodePointerover:mo,handleParentPointerover:wo,handleParentScroll:io,handleNodePointerdown:co,handleNodeDragenter:So,handleNodeDragleave:Eo,handleParentDrop:Gt,multiDrag:r.multiDrag??!1,nativeDrag:r.nativeDrag??!0,performSort:qt,performTransfer:Jt,root:r.root??document,setupNode:Qt,setupNodeRemap:qe,reapplyDragClasses:eo,tearDownNode:oo,tearDownNodeRemap:to,remapFinished:ro,threshold:{horizontal:0,vertical:0},...r},enabledNodes:[],abortControllers:{},privateClasses:[],on:i,emit:l};new MutationObserver(no).observe(t,{childList:!0}),M.set(t,s),r.plugins?.forEach(a=>{a(t)?.tearDown?.()}),r.plugins?.forEach(a=>{a(t)?.tearDown?.()}),r.plugins?.forEach(a=>{a(t)?.setup?.()}),Zt(t,s),fe(t,!0)}function Ye(t,o,n,r,l,i){const{x:s,y:d}=le(n),a=t.el.getBoundingClientRect();return{affectedNodes:[],ascendingDirection:!1,clonedDraggedEls:[],coordinates:{x:s,y:d},draggedNode:{el:t.el,data:t.data},draggedNodes:r,incomingDirection:void 0,initialIndex:t.data.index,initialParent:{el:o.el,data:o.data},currentParent:{el:o.el,data:o.data},longPress:o.data.config.longPress??!1,longPressTimeout:void 0,currentTargetValue:t.data.value,scrollEls:[],startLeft:l||s-(a?.left??0),startTop:i||d-(a?.top??0),targetIndex:t.data.index,transferred:!1}}function qt({parent:t,draggedNodes:o,targetNodes:n}){fe(t.el);const r=o.map(a=>a.data.value),l=re(t.el,t.data),i=o[0].data.index,s=[...t.data.enabledNodes],d=[...l.filter(a=>!r.some(f=>se(a,f)))];d.splice(n[0].data.index,0,...r),"draggedNode"in p&&(p.currentTargetValue=n[0].data.value),Se(t.el,t.data,[...d]),t.data.config.onSort&&t.data.config.onSort({parent:{el:t.el,data:t.data},previousValues:[...l],previousNodes:[...s],nodes:[...t.data.enabledNodes],values:[...d],draggedNodes:o,previousPosition:i,position:n[0].data.index,targetNodes:n,state:p})}function ee(t,o,n){if(!o){n.activeState=void 0;return}n.activeState={node:o,parent:t}}function Q(t,o,n){const r=o.data.config.selectedClass;if(!n.selectedState)return;const l=Array.from(t);G(t.map(i=>i.el),r);for(const i of l){i.el.setAttribute("aria-selected","false");const s=n.selectedState.nodes.findIndex(d=>d.el===i.el);s!==-1&&n.selectedState.nodes.splice(s,1)}}function ce(t,o,n,r,l=!1){r.pointerSelection=l;for(const i of o)i.el.setAttribute("aria-selected","true"),ne([i.el],t.data.config.selectedClass,!0);r.selectedState={nodes:o,parent:t},ee(t,n,r)}function Kt(t,o){const n=t.targetData.parent.data.enabledNodes[0];n&&(o.selectedState&&o.selectedState.parent.el!==t.targetData.parent.el?ee(t.targetData.parent,n,o):o.selectedState||ee(t.targetData.parent,n,o))}function Jt({currentParent:t,targetParent:o,initialParent:n,draggedNodes:r,initialIndex:l,targetNodes:i,state:s}){fe(n.el);const d=r.map(V=>V.data.value),a=[...re(t.el,t.data).filter(V=>!d.some(_=>se(V,_)))],f=re(o.el,o.data),v=n.el===o.el&&o.data.config.sortable===!1;let c;i.length?(v?c=l:o.data.config.sortable===!1?c=o.data.enabledNodes.length:c=i[0].data.index,f.splice(c,0,...d)):(c=v?l:o.data.enabledNodes.length,f.splice(c,0,...d)),Se(t.el,t.data,a),Se(o.el,o.data,f),o.data.config.onTransfer&&o.data.config.onTransfer({sourceParent:t,targetParent:o,initialParent:n,draggedNodes:r,targetIndex:c,state:s,targetNodes:i}),t.data.config.onTransfer&&t.data.config.onTransfer({sourceParent:t,targetParent:o,initialParent:n,draggedNodes:r,targetIndex:c,state:s,targetNodes:i||[]})}function re(t,o){return[...o.getValues(t)]}function Se(t,o,n){o.setValues(n,t)}function Gt(t,o){Z(t.e),W=!0;const n=o.initialParent.data.config.handleEnd;n(o)}function Wt(t){const o=M.get(t);o&&o.abortControllers.mainParent&&o.abortControllers.mainParent.abort()}function O(t){return"draggedNode"in t&&!!t.draggedNode}function j(t){return"synthDragging"in t&&!!t.synthDragging}function Zt(t,o){o.abortControllers.mainParent=pe(t,{dragover:ue(o.config.handleParentDragover),handleParentPointerover:o.config.handleParentPointerover,scroll:ue(o.config.handleParentScroll),drop:ue(o.config.handleParentDrop),hasNestedParent:n=>{const r=M.get(n.target);r&&(r.nestedParent=n.detail.parent)},focus:ue(o.config.handleParentFocus)}),o.config.externalDragHandle&&o.config.externalDragHandle.el&&o.config.externalDragHandle.callback&&(o.abortControllers.externalDragHandle=pe(o.config.externalDragHandle.el,{pointerdown:n=>{if(!o.config.externalDragHandle||!o.config.externalDragHandle.callback)return;const r=o.config.externalDragHandle.callback();if(!ve(r)){console.warn("No draggable item found from external drag handle callback");return}const l=q.get(r);if(!l)return;const i=r.parentNode;if(!(i instanceof HTMLElement))return;const s=M.get(i);s&&(p.pointerDown={parent:{el:i,data:s},node:{el:r,data:l},validated:!0},r.draggable=!0)}}))}function Qt(t){const o=t.parent.data.config;t.node.data.abortControllers.mainNode=pe(t.node.el,{keydown:L(o.handleNodeKeydown),dragstart:L(o.handleDragstart),dragover:L(o.handleNodeDragover),dragenter:L(o.handleNodeDragenter),dragleave:L(o.handleNodeDragleave),dragend:L(o.handleDragend),drop:L(o.handleNodeDrop),focus:L(o.handleNodeFocus),blur:L(o.handleNodeBlur),pointerup:L(o.handleNodePointerup),pointercancel:L(o.handlePointercancel),pointerdown:L(o.handleNodePointerdown),handleNodePointerover:o.handleNodePointerover,touchmove:n=>{O(p)&&n.cancelable&&z(n)},contextmenu:n=>{j(p)&&z(n)}}),t.node.el.draggable=!0,o.reapplyDragClasses(t.node.el,t.parent.data),t.parent.data.config.plugins?.forEach(n=>{n(t.parent.el)?.setupNode?.(t)})}function qe(t){q.set(t.node.el,t.node.data),t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.setupNodeRemap?.(t)})}function eo(t,o){if(!O(p))return;const n=j(p)?o.config.synthDropZoneClass:o.config.dropZoneClass;p.draggedNode.el===t&&ne([t],n,!0)}function to(t){t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.tearDownNodeRemap?.(t)})}function oo(t){t.parent.data.config.plugins?.forEach(o=>{o(t.parent.el)?.tearDownNode?.(t)}),t.node.el.draggable=!1,t.node.data?.abortControllers?.mainNode&&t.node.data?.abortControllers?.mainNode.abort()}function no(t){if(t.length===1&&t[0].addedNodes.length===1&&!(t[0].addedNodes[0]instanceof HTMLElement))return;const o=t[0].target;!(o instanceof HTMLElement)||!M.get(o)||fe(o)}function fe(t,o){const n=M.get(t);if(!n)return;n.privateClasses=Array.from(t.classList);const r=[],l=n.config;for(let d=0;d<t.children.length;d++){const a=t.children[d];if(!ve(a)||a.id==="dnd-dragged-node-clone")continue;const f=q.get(a);(o||!f)&&l.tearDownNode({parent:{el:t,data:n},node:{el:a,data:f}}),!l.disabled&&(!l.draggable||l.draggable&&l.draggable(a))&&r.push(a)}if(r.length!==n.getValues(t).length&&!l.disabled){console.warn("The number of draggable items defined in the parent element does not match the number of values. This may cause unexpected behavior.");return}const i=n.getValues(t),s=[];for(let d=0;d<r.length;d++){const a=r[d],f=q.get(a);if(l.draggableValue&&!l.draggableValue(i[d]))continue;const v=Object.assign(f??{privateClasses:[],abortControllers:{}},{value:i[d],index:d});if(!O(p)&&p.activeState&&se(p.activeState.node.data.value,v.value)&&ee({data:n,el:t},{el:a,data:v},p),O(p)&&se(p.draggedNode.data.value,v.value)){p.draggedNode.data=v,p.draggedNode.el=a;const c=p.draggedNodes.find(V=>V.data.value===v.value);c&&(c.el=a)}s.push({el:a,data:v}),(o||!f)&&l.setupNode({parent:{el:t,data:n},node:{el:a,data:v}}),qe({parent:{el:t,data:n},node:{el:a,data:v}})}M.set(t,{...n,enabledNodes:s}),l.remapFinished(n),n.config.plugins?.forEach(d=>{d(t)?.remapFinished?.()})}function ro(){p.remapJustFinished=!0,"draggedNode"in p&&(p.affectedNodes=[])}function lo(t){return!!t.targetData.parent.data.config.nativeDrag}function ao(t){if(t.parent.data.config.multiDrag){if(p.selectedState)return[t.node,...p.selectedState?.nodes.filter(o=>o.el!==t.node.el)]}else return[t.node];return[]}function io(t){O(p)&&(p.emit("scrollStarted",p),!j(p)&&(p.preventEnter=!0,De&&clearTimeout(De),De=setTimeout(()=>{p.preventEnter=!1,p.emit("scrollEnded",p)},100)))}function so(t,o){const n=t.targetData.parent.data.config;if(!n.nativeDrag||!lo(t)||!Ke({x:t.e.clientX,y:t.e.clientY,node:t.targetData.node,config:n})){z(t.e);return}let r=n.draggedNodes({parent:t.targetData.parent,node:t.targetData.node});r.length===0&&(r=[t.targetData.node]),n.dragstartClasses(t.targetData.node,r,n);const l=po(t,r);if(n.onDragstart){const i={parent:t.targetData.parent,values:re(t.targetData.parent.el,t.targetData.parent.data),draggedNode:l.draggedNode,draggedNodes:l.draggedNodes,position:l.initialIndex,state:l};n.onDragstart(i)}}function co(t,o){if(Z(t.e),o.pointerDown={parent:t.targetData.parent,node:t.targetData.node,validated:!1},!Ke({x:t.e.clientX,y:t.e.clientY,node:t.targetData.node,config:t.targetData.parent.data.config}))return;o.pointerDown.validated=!0,bo(t,o,t.targetData.node);const n=t.targetData.parent.data;let r=[t.targetData.node];const l=t.e.ctrlKey||t.e.metaKey,i=t.e.shiftKey,s=t.targetData.node;if(l&&n.config.multiDrag){o.selectedState?o.selectedState.nodes.findIndex(a=>a.el===s.el)===-1?r=[...o.selectedState.nodes,s]:r=o.selectedState.nodes.filter(a=>a.el!==s.el):r=[s],ce(t.targetData.parent,r,t.targetData.node,o,!0);return}if(i&&n.config.multiDrag){const d=t.targetData.parent.data.enabledNodes;if(o.selectedState&&o.activeState)if(o.selectedState.parent.el!==t.targetData.parent.el){Q(o.selectedState.nodes,o.selectedState.parent,o),o.selectedState=void 0;for(let a=0;a<=s.data.index;a++)r.push(d[a])}else{const[a,f]=o.activeState.node.data.index<t.targetData.node.data.index?[o.activeState.node.data.index,t.targetData.node.data.index]:[t.targetData.node.data.index,o.activeState.node.data.index];r=d.slice(a,f+1)}else for(let a=0;a<=s.data.index;a++)r.push(d[a]);ce(t.targetData.parent,r,t.targetData.node,o,!0);return}o.selectedState?.nodes?.length?o.selectedState.nodes.findIndex(a=>a.el===t.targetData.node.el)===-1&&(o.selectedState.parent.el!==t.targetData.parent.el?Q(o.selectedState.nodes,t.targetData.parent,o):n.config.multiDrag&&He()?r.push(...o.selectedState.nodes):Q(o.selectedState.nodes,t.targetData.parent,o),ce(t.targetData.parent,r,t.targetData.node,o,!0)):ce(t.targetData.parent,[t.targetData.node],t.targetData.node,o,!0)}function uo(t,o,n,r=!1){ne(o.map(l=>l.el),r?n.synthDraggingClass:n.draggingClass),setTimeout(()=>{G(o.map(l=>l.el),r?n.synthDraggingClass:n.draggingClass),ne(o.map(l=>l.el),r?n.synthDragPlaceholderClass:n.dragPlaceholderClass),ne(o.map(l=>l.el),r?n.synthDropZoneClass:n.dropZoneClass),G(o.map(l=>l.el),n.selectedClass)})}function po(t,o){Z(t.e);const n=Xe(Ye(t.targetData.node,t.targetData.parent,t.e,o));if(t.e.dataTransfer){const r=t.targetData.parent.data.config;t.e.dataTransfer.dropEffect=r.dragDropEffect,t.e.dataTransfer.effectAllowed=r.dragEffectAllowed;let l;if(t.e.dataTransfer.setData("text/plain",""),r.dragImage)l=r.dragImage(t,o);else{if(!r.multiDrag||o.length===1)return t.targetData.node.el.style.zIndex="9999",t.targetData.node.el.style.boxSizing="border-box",t.e.dataTransfer.setDragImage(t.targetData.node.el,t.e.offsetX,t.e.offsetY),n.originalZIndex=t.targetData.node.el.style.zIndex,n;{const i=document.createElement("div");i.setAttribute("id","dnd-dragged-node-clone"),i.setAttribute("popover","manual");for(const d of o){const a=d.el.cloneNode(!0);a.id=d.el.id+"-clone",a.style.pointerEvents="none",i.appendChild(a)}const{width:s}=o[0].el.getBoundingClientRect();Object.assign(i.style,{display:"flex",flexDirection:"column",width:`${s}px`,position:"absolute",pointerEvents:"none",zIndex:"9999",left:"-9999px",boxSizing:"border-box",background:"transparent",overflow:"hidden"}),t.targetData.parent.el.appendChild(i),i.showPopover(),i.getBoundingClientRect(),l=i,t.e.dataTransfer.setDragImage(l,t.e.offsetX,t.e.offsetY)}}setTimeout(()=>{l?.remove()})}return n}function Ke({x:t,y:o,node:n,config:r}){if(r.externalDragHandle)return!1;if(!r.dragHandle)return!0;const l=n.el.querySelectorAll(r.dragHandle);if(!l)return!1;const i=r.root.elementFromPoint(t,o);if(!i)return!1;for(const s of Array.from(l))if(i===s||s.contains(i))return!0;return!1}function fo(t){}function mo(t){t.detail.targetData.parent.el===t.detail.state.currentParent.el?Ge(t.detail,t.detail.state):me(t.detail,t.detail.state)}function go(t,o){const n=t.targetData.parent.data.config;n.nativeDrag&&(Z(t.e),W=!0,n.handleEnd(o))}function vo(t){t.e.target!==t.e.currentTarget&&p.pointerDown&&(p.pointerDown.node.el.draggable=!1)}function xo(t){t.e.target!==t.e.currentTarget&&p.pointerDown&&(p.pointerDown.node.el.draggable=!0)}function Vo(t,o){const n=t.targetData.parent.data.config;if(n.nativeDrag){if(z(t.e),Z(t.e),W){W=!1;return}n.handleEnd(o)}}function ho(t,o){if(!j(o))return;if(z(t.e),W){W=!1;return}const n=M.get(o.initialParent.el)?.config;n?.onDragend&&n.onDragend({parent:o.currentParent,values:re(o.currentParent.el,o.currentParent.data),draggedNode:o.draggedNode,draggedNodes:o.draggedNodes,state:o}),n?.handleEnd(o)}function No(t){t.draggedNode&&(t.draggedNode.el.draggable=!0);const o=t.draggedNodes.map(v=>v.el),n=t.initialParent.data,r=j(t),l=M.get(t.initialParent.el)?.config,i=r?l?.synthDropZoneClass:l?.dropZoneClass,s=n?.config?.longPressClass,d=r?n?.config?.synthDragPlaceholderClass:n?.config?.dragPlaceholderClass,a=t.originalZIndex;j(t)&&(t.clonedDraggedNode&&t.clonedDraggedNode.remove(),t.longPressTimeout&&clearTimeout(t.longPressTimeout)),Ee(t),t.lastScrollDirectionX=void 0,t.lastScrollDirectionY=void 0,t.preventEnter=!1,t.scrollDebounceTimeout&&(clearTimeout(t.scrollDebounceTimeout),t.scrollDebounceTimeout=void 0),a!==void 0&&t.draggedNode&&(t.draggedNode.el.style.zIndex=a),requestAnimationFrame(()=>{G(o,i),G(o,s),G(o,d)}),Q(t.draggedNodes,t.currentParent,t),ee(t.currentParent,void 0,t);const f={...t};l?.onDragend?.({parent:f.currentParent,values:re(f.currentParent.el,f.currentParent.data),draggedNode:f.draggedNode,draggedNodes:f.draggedNodes,state:f}),t.emit("dragEnded",f),Ot()}function Co(t,o){Z(t.e),!o.pointerSelection&&o.selectedState&&Q(o.selectedState.nodes,t.targetData.parent,o);const n=t.targetData.parent.data.config;o.pointerSelection=!1,"longPressTimeout"in o&&o.longPressTimeout&&clearTimeout(o.longPressTimeout),o.longPress=!1,G(t.targetData.parent.data.enabledNodes.map(r=>r.el),n.longPressClass),O(o)&&n.handleEnd(o)}function yo(t,o,n,r,l,i){const s=o.data.config;let d,a;const f=["display","flexDirection","alignItems","justifyContent","padding","paddingTop","margin","marginTop","marginBottom","marginLeft","marginRight","paddingBottom","paddingLeft","paddingRight","border","borderRadius","background","backgroundColor","boxShadow","font","color","lineHeight","gap","width","height","boxSizing","overflow"],v=(b,k)=>{const S=window.getComputedStyle(b);f.forEach(E=>{k.style[E]=S[E]})},c=(b,k={})=>{Object.assign(b.style,{position:"absolute",zIndex:"9999",pointerEvents:"none",willChange:"transform",boxSizing:"border-box",opacity:"0",overflow:"hidden",width:`${i.width}px`,height:`${i.height}px`,...k})};if(s.synthDragImage)a=s.synthDragImage(t,o,n,l),d=a.dragImage,d.setAttribute("popover","manual"),c(d);else if(!s.multiDrag||l.length===1)d=t.el.cloneNode(!0),v(t.el,d),d.setAttribute("popover","manual"),c(d);else{const b=document.createElement("div");b.setAttribute("popover","manual"),l.forEach(k=>{const S=k.el.cloneNode(!0);v(k.el,S),S.style.pointerEvents="none",S.style.margin="0",b.append(S)}),b.style.display="flex",b.style.flexDirection="column",b.style.padding="0",b.style.margin="0",b.style.position="absolute",b.style.zIndex="9999",b.style.pointerEvents="none",d=b}d.id="dnd-dragged-node-clone",o.el.appendChild(d),d.showPopover();const V={clonedDraggedEls:[],clonedDraggedNode:d,synthDragScrolling:!1,synthDragging:!0,rootScrollWidth:document.scrollingElement?.scrollWidth,rootScrollHeight:document.scrollingElement?.scrollHeight};return Xe({...Ye(t,o,n,l,a?.offsetX,a?.offsetY),...V})}function bo(t,o,n){const r=t.targetData.parent.data.config;o.longPressTimeout=setTimeout(()=>{o&&(o.longPress=!0,r.longPressClass&&t.e.cancelable&&ne([n.el],r.longPressClass),z(t.e))},r.longPressDuration||1e3)}function Ee(t,o=!0,n=!0){o&&(t.frameIdX!==void 0&&(cancelAnimationFrame(t.frameIdX),t.frameIdX=void 0),t.lastScrollDirectionX=void 0),n&&(t.frameIdY!==void 0&&(cancelAnimationFrame(t.frameIdY),t.frameIdY=void 0),t.lastScrollDirectionY=void 0),!t.frameIdX&&!t.frameIdY&&(t.preventEnter=!1)}function Je(t,o=!1){const{x:n,y:r}=t.coordinates,l=t.startLeft??0,i=t.startTop??0,s=window.scrollX??0,d=window.scrollY??0,a=n-l+s,f=r-i+d;t.clonedDraggedNode.style.transform=`translate3d(${a}px, ${f}px, 0px)`,o&&(t.clonedDraggedNode.style.opacity="1",G(t.draggedNodes.map(v=>v.el),t.initialParent.data.config?.longPressClass))}function Fe(t,o,n=!1){const r=le(t);o.coordinates.x=r.x,o.coordinates.y=r.y,Je(o,n),o.scrollDebounceTimeout&&(clearTimeout(o.scrollDebounceTimeout),o.scrollDebounceTimeout=void 0),o.scrollDebounceTimeout=setTimeout(()=>{j(o)&&ge(o.coordinates,t,o)},16);const l=Io(r);if(!l){document.dispatchEvent(new CustomEvent("handleRootPointerover",{detail:{e:t,state:o}}));return}const i={e:t,targetData:l,state:o};"node"in l?l.node.el.dispatchEvent(new CustomEvent("handleNodePointerover",{detail:i})):l.parent.el.dispatchEvent(new CustomEvent("handleParentPointerover",{detail:i}))}function ko(t,o){if(!t.targetData.parent.data.config.nativeDrag)return;const{x:r,y:l}=le(t.e);o.coordinates.y=l,o.coordinates.x=r,z(t.e),Z(t.e),O(o)&&ge({x:r,y:l},t.e,o),t.targetData.parent.el===o.currentParent?.el?Ge(t,o):me(t,o)}function _o(t,o){if(!t.targetData.parent.data.config.nativeDrag)return;z(t.e),Z(t.e);const{x:r,y:l}=le(t.e);O(o)&&ge({x:r,y:l},t.e,o),me(t,o)}function wo(t){t.detail.targetData.parent.el!==t.detail.state.currentParent.el&&me(t.detail,t.detail.state)}function Do({currentParent:t,targetParent:o,initialParent:n,draggedNodes:r,state:l}){if(o.el===t.el)return!1;const i=o.data.config;if(r[0].el.contains(o.el)||i.dropZone===!1)return!1;const s=n.data.config;return i.accepts?i.accepts(o,n,t,l):!(!i.group||i.group!==s.group)}function So(t,o){z(t.e)}function Eo(t,o){z(t.e)}function To(t,o,n,r){if(o.affectedNodes.map(v=>v.data.value).includes(t.targetData.node.data.value))return!1;if(o.remapJustFinished)return o.remapJustFinished=!1,(t.targetData.node.data.value===o.currentTargetValue||o.draggedNodes.map(v=>v.el).includes(t.targetData.node.el))&&(o.currentTargetValue=t.targetData.node.data.value),!1;if(o.preventEnter)return!1;if(o.draggedNodes.map(v=>v.el).includes(t.targetData.node.el))return o.currentTargetValue=void 0,!1;if(t.targetData.node.data.value===o.currentTargetValue||t.targetData.parent.el!==o.currentParent?.el||t.targetData.parent.data.config.sortable===!1||t.targetData.node.el.contains(o.draggedNodes[0].el))return!1;const l=t.targetData.node.el.getBoundingClientRect(),i=o.draggedNode.el.getBoundingClientRect(),s=l.y-i.y,d=l.x-i.x;let a;Math.abs(s)>Math.abs(d)?a=s>0?"above":"below":a=d>0?"left":"right";const f=o.currentParent.data.config.threshold;switch(a){case"left":if(n>l.x+l.width*f.horizontal)return o.incomingDirection="left",!0;break;case"right":if(n<l.x+l.width*(1-f.horizontal))return o.incomingDirection="right",!0;break;case"above":if(r>l.y+l.height*f.vertical)return o.incomingDirection="above",!0;break;case"below":if(r<l.y+l.height*(1-f.vertical))return o.incomingDirection="below",!0;break}return!1}function Ge(t,o){const{x:n,y:r}=le(t.e);if(!To(t,o,n,r))return;const l=o.draggedNode.data.index>t.targetData.node.data.index?[t.targetData.node.data.index,o.draggedNode.data.index]:[o.draggedNode.data.index,t.targetData.node.data.index];o.targetIndex=t.targetData.node.data.index,o.affectedNodes=t.targetData.parent.data.enabledNodes.filter(i=>l[0]<=i.data.index&&i.data.index<=l[1]&&i.el!==o.draggedNode.el),t.targetData.parent.data.config.performSort({parent:t.targetData.parent,draggedNodes:o.draggedNodes,targetNodes:[t.targetData.node]})}function L(t){function o(n){const r=q.get(n);if(!r)return;const l=M.get(n.parentNode);if(l)return{node:{el:n,data:r},parent:{el:n.parentNode,data:l}}}return n=>{const r=o(n.currentTarget);if(r)return t({e:n,targetData:r},p)}}function me(t,o){z(t.e),Do({currentParent:o.currentParent,targetParent:t.targetData.parent,initialParent:o.initialParent,draggedNodes:o.draggedNodes,state:o})&&(t.targetData.parent.data.config.performTransfer({currentParent:o.currentParent,targetParent:t.targetData.parent,initialParent:o.initialParent,draggedNodes:o.draggedNodes,initialIndex:o.initialIndex,state:o,targetNodes:"node"in t.targetData?[t.targetData.node]:[]}),o.currentParent=t.targetData.parent,o.transferred=!0)}function ue(t){function o(n){const r=M.get(n);if(r)return{parent:{el:n,data:r}}}return n=>{const r=o(n.currentTarget);if(r)return t({e:n,targetData:r},p)}}function ne(t,o,n=!1){function r(l,i){q.set(l,i)}for(const l of t){const i=q.get(l),s=Bo(l,o,i,n);s&&r(l,s)}}function Bo(t,o,n,r=!1){if(!o)return;const l=Ue(o);if(!l.length)return;if(!n){t.classList.add(...l);return}const i=[];for(const s of l)t.classList.contains(s)?t.classList.contains(s)&&r===!1&&i.push(s):t.classList.add(s);return n.privateClasses=i,n}function G(t,o){if(!o)return;const n=Ue(o);if(n.length)for(const r of t){if(!ve(r)){r.classList.remove(...n);continue}const l=q.get(r)||M.get(r);if(l)for(const i of n)l.privateClasses.includes(i)||r.classList.remove(i)}}function Ae(t,o,n,r,l){const s=l.axis==="x",d=t===document.scrollingElement,a=s?"scrollLeft":"scrollTop",f=s?"clientWidth":"clientHeight",v=s?"offsetWidth":"offsetHeight",c=s?"scrollWidth":"scrollHeight",V=s?o.clientX:o.clientY,_=s?r.left:r.top,b=s?n.overflowX:n.overflowY;if(d){const k=t[a],S=t[f],E=k>0,m=k+S<(s?l.state.rootScrollWidth||0:t[c]);return s?{left:E&&V<S*.075,right:m&&V>S*(1-.075)}:{up:E&&V<S*.075,down:m&&V>S*(1-.075)}}if((b==="auto"||b==="scroll")&&t!==document.body&&t!==document.documentElement){const k=t[c],S=t[v],E=t[a],m=E>0,h=E<k-S;return s?{left:m&&V<_+S*.075,right:h&&V>_+S*(1-.075)}:{up:m&&V<_+S*.075,down:h&&V>_+S*(1-.075)}}return s?{left:!1,right:!1}:{up:!1,down:!1}}function Po(t,o,n,r){if(!O(n)||!n.draggedNode)return;n.preventEnter=!0;const l=r.axis==="x",i=r.direction==="positive"?1:-1,s=20,d=l?"lastScrollDirectionX":"lastScrollDirectionY",a=l?"frameIdX":"frameIdY";n[a]!==void 0&&(cancelAnimationFrame(n[a]),n[a]=void 0),n[d]=r.direction;const f=()=>{if(!O(n)||!n.draggedNode){n[a]!==void 0&&(cancelAnimationFrame(n[a]),n[a]=void 0);return}const v=l?"scrollLeft":"scrollTop",c=l?"clientWidth":"clientHeight",V=l?"scrollWidth":"scrollHeight",_=t[v],b=t[c],k=t[V];if(!(i>0?_+b<k:_>0)){n[a]=void 0,n[d]=void 0;return}t[v]+=s*i,j(n)&&Je(n),n[a]=requestAnimationFrame(f)};n[a]=requestAnimationFrame(f)}function Me(t,o,n){const r=t.getBoundingClientRect();return o>=r.left&&o<=r.right&&n>=r.top&&n<=r.bottom}function ge(t,o,n){if(!O(n)||!n.draggedNode)return;Ee(n);const{x:r,y:l}=t;let i=!1;const s=(a,f,v)=>{Po(v,o,n,{axis:a,direction:f}),i=!0},d=a=>{const f=window.getComputedStyle(a),v=a.getBoundingClientRect(),c=Ae(a,o,f,v,{axis:"x",state:n}),V=Ae(a,o,f,v,{axis:"y"});(c.left||c.right)&&(n.lastScrollContainerX=a,s("x",c.right?"positive":"negative",a)),(V.up||V.down)&&(n.lastScrollContainerY=a,s("y",V.down?"positive":"negative",a))};if(n.lastScrollContainerX&&Me(n.lastScrollContainerX,r,l)&&d(n.lastScrollContainerX),!i&&n.lastScrollContainerY&&Me(n.lastScrollContainerY,r,l)&&d(n.lastScrollContainerY),!i){let a=document.elementFromPoint(r,l);for(;a&&!(i&&n.lastScrollContainerX&&n.lastScrollContainerY);)a instanceof HTMLElement&&d(a),a=a.parentElement}if(!i){const a=document.scrollingElement;a instanceof HTMLElement&&d(a)}i||Ee(n)}function Io(t){let o=document.elementFromPoint(t.x,t.y);if(!ve(o))return;let n,r=!0;for(;o&&r;){if(q.has(o)||M.has(o)){r=!1,n=M.has(o);break}o=o.parentNode}if(n){const l=M.get(o);return l?{parent:{el:o,data:l}}:void 0}else{const l=q.get(o);if(!l)return;const i=M.get(o.parentNode);return i?{node:{el:o,data:l},parent:{el:o.parentNode,data:i}}:void 0}}function ve(t){return t instanceof HTMLElement&&t.parentNode instanceof HTMLElement}function pe(t,o){const n=new AbortController;for(const r in o){const l=o[r];t.addEventListener(r,l,{signal:n.signal,passive:!1,capture:r==="focus"||r==="blur"})}return n}function ze(t){if(t instanceof HTMLElement)return t;if(t.value instanceof HTMLElement)return t.value;if("$el"in t&&t.$el instanceof HTMLElement)return t.$el}function $o(t,o){Array.isArray(t)||(t=[t]);for(const n of t){const r=ze(n);if(r)return o(r);const l=e.watch(n,i=>{if(!i)return;const s=ze(i);s?o(s):console.warn("Invalid parent element",i),l()})}}var Be=new WeakMap;function Fo(t){const o=Be.get(t);return o?"value"in o?o.value:o:(console.warn("No values found for parent element"),[])}function Ao(t,o){const n=Be.get(o);n&&"value"in n&&(n.value=t)}function We(t){Te&&(Array.isArray(t)||(t=[t]),t.forEach(o=>{const{parent:n,values:r,...l}=o;$o(n,Mo(l,r))}))}function Mo(t,o){return n=>{Be.set(n,o),Yt({parent:n,getValues:Fo,setValues:Ao,config:{...t}})}}const zo={key:0,class:"flex gap-4 p-6 border-b last:border-b-0"},Oo={class:"option-drag-handle flex-none mt-9.5 cursor-grab"},Ro={class:"flex-1"},Lo={class:"mb-3"},jo={class:"flex items-center"},Uo={key:0,class:"mt-1 text-sm text-red-600"},Ho={class:"flex items-center gap-1"},Xo={class:"mb-2"},Yo={key:0,class:"option-value-drag-handle absolute -left-7 top-1/2 -translate-y-1/2 flex-none mr-2 cursor-grab"},qo=["onClick"],Ko={class:"flex justify-between"},Jo={class:"flex-1"},Go={class:"text-sm mb-2"},Wo={class:"flex flex-wrap gap-2"},Zo={key:0,class:"px-2 py-1 border rounded-full bg-muted text-muted-foreground text-sm"},Qo=e.defineComponent({__name:"Option",props:{option:{type:Object,required:!0}},emits:["update:option","remove"],setup(t,{expose:o,emit:n}){const r=t,{confirm:l}=J.useConfirmation(),i=n,s=e.computed({get(){return r.option},set(m){i("update:option",m)}}),d=e.computed({get(){return s.value.values},set(m){s.value.values=m}}),a=e.useTemplateRef("valueListRef"),f=e.ref(!1);e.watch(f,async m=>{console.log("minified",m),m||(await e.nextTick(),We({parent:a?.value,values:d,group:"valueList",dragHandle:".option-value-drag-handle",plugins:[Oe.animations()]}))},{immediate:!0});const v=()=>Math.random().toString(36).substring(2,15),c=()=>{s.value.values.push({id:v(),value:""})},V=async()=>{(s.value.name.trim()||s.value.values.filter(m=>m.value.trim()!=="").length>0)&&!await l("Are you sure you want to remove this option?")||i("remove")},_=m=>{s.value.values.splice(m,1)},b=m=>{m.name.trim()?m.nameError=void 0:m.nameError="Option name is required."},k=(m,h)=>{const B=m.target,F=s.value.values;if(m.key==="Backspace"&&B.value===""&&F?.length>2){_(h);return}},S=(m,h)=>{m.target;const B=s.value.values,F=B?.[h];F.touched=!0,B?.every(R=>R.value.trim()!=="")&&c()},E=m=>{const h=s.value,B=h?.values.every((F,I)=>F.value.trim()!==""||I===m);h&&h.values[m].value.trim()===""&&!B&&_(m)};return o({minified:f}),(m,h)=>{const B=e.resolveComponent("Input"),F=e.resolveComponent("Button");return f.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"flex gap-4 p-6 border-b last:border-b-0 hover:bg-accent dark:hover:bg-accent/50 cursor-pointer transition-colors duration-200",onClick:h[5]||(h[5]=I=>f.value=!1)},[e.createElementVNode("div",null,[e.createElementVNode("div",{class:"option-drag-handle flex-none mt-5 cursor-grab",onClick:h[4]||(h[4]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref($.GripVertical),{class:"size-4 text-gray-400"})])]),e.createElementVNode("div",Jo,[e.createElementVNode("p",Go,e.toDisplayString(s.value.name),1),e.createElementVNode("div",Wo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.id},[I.value?(e.openBlock(),e.createElementBlock("span",Zo,e.toDisplayString(I.value),1)):e.createCommentVNode("",!0)],64))),128))])])])):(e.openBlock(),e.createElementBlock("div",zo,[e.createElementVNode("div",null,[e.createElementVNode("div",Oo,[e.createVNode(e.unref($.GripVertical),{class:"size-4 text-gray-400"})])]),e.createElementVNode("div",Ro,[e.createElementVNode("div",Lo,[h[6]||(h[6]=e.createElementVNode("label",{class:"block text-sm mb-2"},"Option name",-1)),e.createElementVNode("div",jo,[e.createVNode(B,{modelValue:s.value.name,"onUpdate:modelValue":h[0]||(h[0]=I=>s.value.name=I),onBlur:h[1]||(h[1]=I=>b(s.value)),"aria-invalid":s.value.nameError?"true":"false",placeholder:"Color",spellcheck:"false"},null,8,["modelValue","aria-invalid"])]),s.value.nameError?(e.openBlock(),e.createElementBlock("p",Uo,[e.createElementVNode("span",Ho,[e.createVNode(e.unref($.CircleX),{class:"size-4"}),e.createTextVNode(" "+e.toDisplayString(s.value.nameError),1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xo,[h[7]||(h[7]=e.createElementVNode("label",{class:"block text-sm mb-2"},"Option values",-1)),e.createElementVNode("div",{ref_key:"valueListRef",ref:a},[d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(d.value,(I,R)=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:"relative flex items-center mb-2"},[I.touched?(e.openBlock(),e.createElementBlock("div",Yo,[e.createVNode(e.unref($.GripVertical),{class:"size-4 text-gray-400"})])):e.createCommentVNode("",!0),e.createVNode(B,{modelValue:I.value,"onUpdate:modelValue":U=>I.value=U,placeholder:"Option value",class:"pr-12",onKeydown:U=>k(U,R),onKeyup:U=>S(U,R),onBlur:U=>E(R),spellcheck:"false"},null,8,["modelValue","onUpdate:modelValue","onKeydown","onKeyup","onBlur"]),d.value.length>2&&I.touched?(e.openBlock(),e.createElementBlock("button",{key:1,onClick:U=>_(R),class:"absolute right-2 top-1/2 -translate-y-1/2 ml-2 p-2 text-muted-foreground/50 hover:text-muted-foreground",type:"button"},[e.createVNode(e.unref($.Trash2),{class:"size-4"})],8,qo)):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],512)]),e.createElementVNode("div",Ko,[e.createVNode(F,{size:"sm",variant:"outline",onClick:h[2]||(h[2]=I=>V()),class:"text-red-500 hover:text-red-600"},{default:e.withCtx(()=>[...h[8]||(h[8]=[e.createTextVNode("Delete",-1)])]),_:1}),e.createVNode(F,{size:"sm",onClick:h[3]||(h[3]=I=>f.value=!0),disabled:s.value.name.trim()===""},{default:e.withCtx(()=>[...h[9]||(h[9]=[e.createTextVNode("Done",-1)])]),_:1},8,["disabled"])])])]))}}}),en=e.defineComponent({__name:"Options",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,l=n,i=e.ref([]),s=e.useTemplateRef("optionsListRefElement"),d=e.useTemplateRef("optionRefs"),a=e.computed({get(){return r.modelValue},set(E){l("update:modelValue",E)}}),f=e.ref(!1);e.watch(a,E=>{console.log("mutableOptions2",E?JSON.parse(JSON.stringify(E)):[]),!f.value&&(!i.value||i.value.length===0&&E.length>0)&&(f.value=!0,i.value=E?JSON.parse(JSON.stringify(E)):[])},{deep:!0}),e.watch(i,E=>{a.value=E?.map(m=>({...m,values:m.values.filter(h=>h.value.trim()!=="")})),!k.value&&E.length>0&&S()},{deep:!0});const v=()=>Math.random().toString(36).substring(2,15),c=()=>{const m={id:v(),name:"",values:[{id:v(),value:""}],nameError:void 0};i.value.push(m)},V=()=>{d.value?.forEach(E=>{E&&(E.minified=!0)})},_=E=>{const m=i.value.findIndex(h=>h.id===E.id);m!==-1&&(i.value[m]=E)},b=E=>{const m=i.value.findIndex(h=>h.id===E.id);m!==-1&&i.value.splice(m,1)},k=e.ref(!1),S=()=>{try{k.value=!0,We({parent:s?.value,values:i,group:"optionsList",dragHandle:".option-drag-handle",plugins:[Oe.animations()]})}catch(E){console.error(E)}};return e.onMounted(()=>{i.value=r.modelValue?JSON.parse(JSON.stringify(r.modelValue)):[],console.log("mutableOptions",r.modelValue?JSON.parse(JSON.stringify(r.modelValue)):[]),i.value.length>0&&S()}),o({minifyAll:V}),(E,m)=>{const h=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["rounded-lg",i.value.length>0?"border mb-6":""])},[e.createElementVNode("div",{ref_key:"optionsListRefElement",ref:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>(e.openBlock(),e.createBlock(Qo,{ref_for:!0,ref_key:"optionRefs",ref:d,key:B.id,option:B,"onUpdate:option":m[0]||(m[0]=F=>_(F)),onRemove:F=>b(B)},null,8,["option","onRemove"]))),128))],512),i.value&&i.value.length<3?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(i.value.length>0?"border-t":"")},[i.value.length===0?(e.openBlock(),e.createBlock(h,{key:0,onClick:c,variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref($.PlusCircle),{class:"size-4"}),m[1]||(m[1]=e.createTextVNode(" Add options like size or color ",-1))]),_:1})):(e.openBlock(),e.createBlock(h,{key:1,onClick:c,variant:"ghost",class:"w-full justify-start pl-2 rounded-t-none"},{default:e.withCtx(()=>[e.createVNode(e.unref($.PlusCircle),{class:"size-4"}),m[2]||(m[2]=e.createTextVNode(" Add another option ",-1))]),_:1}))],2)):e.createCommentVNode("",!0)],2)])}}}),tn={key:0},on={class:"flex items-center justify-between gap-2 mb-2"},nn={key:0,class:"flex items-center gap-2"},rn={key:0,class:"mb-4"},ln={class:"flex flex-wrap gap-2"},an=["onClick"],sn={class:"-mx-6 w-[calc(100%+3rem)]"},dn={class:"text-muted-foreground text-xs"},cn={class:"z-[101] sticky -top-4 py-2 font-normal bg-accent dark:bg-border"},un={class:"z-[101] sticky -top-4 py-2 font-normal whitespace-nowrap bg-accent dark:bg-border"},pn={class:"flex items-center gap-2"},fn={class:"z-[101] sticky -top-4 py-2 pr-6 font-normal bg-accent dark:bg-border"},mn={class:"text-sm"},gn=["onClick"],vn={class:"w-10 p-2"},xn={class:"p-2"},Vn={class:"flex items-stretch gap-2"},hn=["src"],Nn={key:2,class:"relative"},Cn=["src"],yn=["src"],bn={class:"flex flex-col justify-center px-2"},kn={class:"text-md mb-0.5 hover:underline select-none"},_n={class:"flex items-center gap-1 text-xs text-muted-foreground hover:opacity-70 transition-opacity duration-200 cursor-pointer select-none"},wn={class:"p-2 w-[30%]"},Dn={class:"relative"},Sn={key:0},En={key:1},Tn={key:0,class:"absolute inset-0 top-1/2 -translate-y-1/2 px-2 truncate text-sm text-muted-foreground w-full text-center pointer-events-none"},Bn={class:"p-2 w-[18%]"},Pn={class:"w-10"},In={class:"w-10 p-2 translate-x-10"},$n={class:"p-2 pl-12"},Fn={class:"flex items-stretch gap-2"},An=["src"],Mn={class:"flex flex-col justify-center px-2"},zn={class:"p-2 w-[30%]"},On={class:"p-2 w-[18%] group"},Rn={class:"text-center text-sm text-muted-foreground bg-accent dark:bg-border p-3 -mx-6 -mb-6 rounded-b-lg"},Ln={key:0},jn=e.defineComponent({__name:"VariantList",props:{options:{type:Object,required:!0},modelValue:{type:Array,required:!0},hide:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{expose:o,emit:n}){const r=t,l=n,i=e.computed({get(){return r.modelValue},set(C){l("update:modelValue",C)}}),s=e.inject("sources"),d=e.ref(""),a=e.ref(""),f=e.ref(!1),v=e.ref([]),c=e.ref({}),V=()=>{Object.keys(r.options).length>0&&(a.value=Object.keys(r.options)[0])};e.watch(()=>r.options,()=>{a.value===""&&V()},{immediate:!0,deep:!0}),e.watch(c,C=>{_()},{deep:!0}),e.watch(()=>r.hide,C=>{C||(V(),_())});function _(){if(!c.value){i.value=[];return}let C=[];Object.keys(c.value)?.forEach(u=>{C.push({combinedOptions:u,name:S(u),disabled:!1,price:c.value[u].price,stock:c.value[u].stock,image:c.value[u].image,options:E(u)})}),i.value=C.filter(u=>u.options?.length===Object.keys(r.options).length&&u.options?.every(x=>Object.entries(r.options).find(([w,P])=>P.id===x.optionId)))}function b(C){return C.reduce((u,x)=>u.flatMap(w=>x.map(P=>[...w,P])),[[]])}function k(C){return C.slice().sort((u,x)=>u.optionId.localeCompare(x.optionId)).map(({optionId:u,valueId:x})=>`${u}:${x}`).join("|")}const S=C=>C.split("|").map(x=>{const[w,P]=x.split(":");return{optionId:w,valueId:P}}).map(x=>r.options?.[x.optionId]?.values?.find(Y=>Y.id===x.valueId)?.value||"").join(" "),E=C=>C.split("|").map(x=>{const[w,P]=x.split(":");return{optionId:w,valueId:P}}).map(x=>{const w=r.options?.[x.optionId],P=w?.values?.find(Y=>Y.id===x.valueId);return{optionId:w?.id,option:w?.name,valueId:P?.id,value:P?.value}}),m=e.computed(()=>{const C=Object.values(r.options).map(x=>x.values.map(w=>({optionId:x.id,optionName:x.name,valueId:w.id,value:w.value})));return b(C).map(x=>{const w=k(x);return c.value[w]||(c.value[w]={price:0,stock:0}),{key:w,options:x,...c.value[w]}})}),h=e.computed(()=>{let C=[...m.value];return d.value&&(C=C.filter(u=>u.options?.find(x=>x.value.toLowerCase().includes(d.value.toLowerCase())))),C}),B=(C,u)=>{const x=h.value.filter(w=>w.options?.find(P=>P.optionId===a.value)?.valueId===u);x&&x.forEach(w=>{c.value[k(w.options)].image=C})},F=C=>m.value.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).every(x=>!x.image),I=C=>{const u=m.value.filter(w=>w.options?.find(P=>P.optionId===a.value)?.valueId===C);return u.filter((w,P)=>w.image&&u.findIndex(Y=>Y.image===w.image)===P).length===1},R=C=>m.value.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).filter(x=>x.image)[0]?.image,U=C=>m.value.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).filter(x=>x.image)[1]?.image,xe=C=>{const u=m.value.filter(w=>w.options?.find(P=>P.valueId===C));if(u.length===0)return"0";const x=u.map(w=>w.price);return Math.min(...x)===Math.max(...x)?x[0]?.toString()||"0":`${Math.min(...x)} - ${Math.max(...x)}`},ae=C=>m.value.filter(u=>u.options?.find(x=>x.valueId===C)).reduce((u,x)=>x.stock>0?u+x.stock:u,0),Ve=C=>m.value.filter(u=>u.options?.find(x=>x.valueId===C)).reduce((u,x)=>x.stock<0?u+x.stock:u,0),he=()=>{let C=0;return r.options?.[a.value]?.values?.forEach(u=>{C+=ae(u.id)}),C},de=()=>{let C=0;return r.options?.[a.value]?.values?.forEach(u=>{C+=Ve(u.id)}),C},te=e.ref(null),K=e.ref(""),ie=async(C,u)=>{C.preventDefault();const x=h?.value?.filter(P=>P.options?.find(Y=>Y.optionId===a.value)?.valueId===u.id).map(P=>P.price),w=x.length===0?!0:x.every(P=>P===x[0]);te.value=u.id,K.value=w?x[0].toString():"",await e.nextTick(),document.getElementById(`variant-price-${u.id}`)?.focus(),document.getElementById(`variant-price-${u.id}`)?.select()},N=C=>{D(C),te.value=null,K.value=""},D=C=>{if(K.value.trim()&&Number(K.value.trim().replace(",","."))>0){const u=Number(K.value.trim().replace(",","."));h?.value?.filter(x=>x.options?.find(w=>w.optionId===a.value)?.valueId===C).forEach(x=>{c.value[k(x.options)].price=u})}},H=C=>{c.value=C.reduce((u,x)=>(u[x.combinedOptions]={price:x.price,stock:x.stock,image:x.image},u),{})};return e.onMounted(()=>{V()}),o({setVariantMap:H,refreshVariants:_}),(C,u)=>{const x=e.resolveComponent("SelectValue"),w=e.resolveComponent("SelectTrigger"),P=e.resolveComponent("SelectItem"),Y=e.resolveComponent("SelectContent"),Ze=e.resolveComponent("Select"),oe=e.resolveComponent("Button"),Pe=e.resolveComponent("Input"),Qe=e.resolveComponent("PopoverTrigger"),et=e.resolveComponent("RadioGroupItem"),tt=e.resolveComponent("Label"),ot=e.resolveComponent("RadioGroup"),nt=e.resolveComponent("PopoverContent"),rt=e.resolveComponent("Popover"),Ne=e.resolveComponent("Checkbox"),Ce=e.resolveComponent("TooltipTrigger"),ye=e.resolveComponent("TooltipContent"),be=e.resolveComponent("Tooltip"),Ie=e.resolveComponent("MediaPickerDialog"),ke=e.resolveComponent("NumberFieldInput"),_e=e.resolveComponent("NumberFieldContent"),we=e.resolveComponent("NumberField"),lt=e.resolveComponent("NumberFieldDecrement"),at=e.resolveComponent("NumberFieldIncrement");return t.hide?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",on,[Object.keys(t.options).length>1?(e.openBlock(),e.createElementBlock("div",nn,[u[13]||(u[13]=e.createElementVNode("p",null,"Group by",-1)),e.createVNode(Ze,{modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=y=>a.value=y)},{default:e.withCtx(()=>[e.createVNode(w,{size:"sm"},{default:e.withCtx(()=>[e.createVNode(x,{placeholder:"Option"})]),_:1}),e.createVNode(Y,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,y=>(e.openBlock(),e.createBlock(P,{key:y.id,value:y.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.name),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(oe,{key:2,variant:"outline",onClick:u[2]||(u[2]=y=>f.value=!1),size:"sm",class:"ml-auto"},{default:e.withCtx(()=>[...u[14]||(u[14]=[e.createTextVNode(" Cancel ",-1)])]),_:1})):(e.openBlock(),e.createBlock(oe,{key:1,variant:"outline",onClick:u[1]||(u[1]=y=>f.value=!0),size:"sm",class:"ml-auto"},{default:e.withCtx(()=>[e.createVNode(e.unref($.Search),{class:"size-4"}),e.createVNode(e.unref($.ListFilter),{class:"size-4"})]),_:1}))]),f.value?(e.openBlock(),e.createElementBlock("div",rn,[e.createElementVNode("div",{class:e.normalizeClass(["relative",{"mb-4":Object.keys(t.options).length>0}])},[e.createVNode(Pe,{placeholder:"Search",class:"pl-10",modelValue:d.value,"onUpdate:modelValue":u[3]||(u[3]=y=>d.value=y)},null,8,["modelValue"]),e.createVNode(e.unref($.Search),{class:"size-4 absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none"})],2),e.createElementVNode("div",ln,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,y=>(e.openBlock(),e.createBlock(rt,{key:y.id},{default:e.withCtx(()=>[e.createVNode(Qe,{asChild:""},{default:e.withCtx(()=>[e.createVNode(oe,{variant:"outline",size:"sm",class:"border-dashed"},{default:e.withCtx(()=>[y.groupBy?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.name)+" is "+e.toDisplayString(y.values.find(T=>T.id===y.groupBy)?.value)+" ",1),e.createElementVNode("div",{class:"p-2",onClick:e.withModifiers(T=>y.groupBy="",["stop"])},[e.createVNode(e.unref($.X),{class:"size-3"})],8,an)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(y.name)+" ",1),e.createVNode(e.unref($.ChevronDown),{class:"size-3"})],64))]),_:2},1024)]),_:2},1024),e.createVNode(nt,null,{default:e.withCtx(()=>[e.createVNode(ot,{modelValue:y.groupBy,"onUpdate:modelValue":T=>y.groupBy=T,class:"mb-4"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.values,T=>(e.openBlock(),e.createElementBlock("div",{class:"flex items-center space-x-2",key:T.id},[e.createVNode(et,{id:T.id,value:T.id,class:"border-ring"},null,8,["id","value"]),e.createVNode(tt,{for:T.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(T.value),1)]),_:2},1032,["for"])]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"]),e.createVNode(oe,{variant:"ghost",onClick:T=>y.groupBy="",size:"sm",class:"ml-auto",disabled:!y.groupBy},{default:e.withCtx(()=>[...u[15]||(u[15]=[e.createTextVNode(" Clear ",-1)])]),_:1},8,["onClick","disabled"])]),_:2},1024)]),_:2},1024))),128))])])):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("table",sn,[e.createElementVNode("thead",dn,[e.createElementVNode("tr",null,[e.createElementVNode("th",cn,[e.createVNode(Ne,{class:"border-muted-foreground translate-y-0.5"})]),e.createElementVNode("th",un,[e.createElementVNode("div",pn,[u[16]||(u[16]=e.createElementVNode("span",null,"Variant",-1)),u[17]||(u[17]=e.createElementVNode("span",null,"·",-1)),v.value.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"hover:underline cursor-pointer",onClick:u[4]||(u[4]=y=>v.value=[])},"Collapse all")):(e.openBlock(),e.createElementBlock("button",{key:1,class:"hover:underline cursor-pointer",onClick:u[5]||(u[5]=y=>v.value=t.options[a.value].values.map(T=>T.id))},"Expand all"))])]),u[20]||(u[20]=e.createElementVNode("th",{class:"z-[101] sticky -top-4 py-2 font-normal bg-accent dark:bg-border"},"Price",-1)),e.createElementVNode("th",fn,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createVNode(Ce,{class:"underline decoration-dashed underline-offset-4"},{default:e.withCtx(()=>[...u[18]||(u[18]=[e.createTextVNode("Available",-1)])]),_:1}),e.createVNode(ye,null,{default:e.withCtx(()=>[...u[19]||(u[19]=[e.createElementVNode("p",null,"Inventory at your store that can be sold.",-1)])]),_:1})]),_:1})])])]),e.createElementVNode("tbody",mn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options[a.value].values,y=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:y.id},[e.createElementVNode("tr",{class:"hover:bg-accent/50 cursor-pointer transition-colors duration-200 border-b border-input",onClick:T=>v.value.includes(y.id)?v.value.splice(v.value.indexOf(y.id),1):v.value.push(y.id)},[e.createElementVNode("td",vn,[e.createVNode(Ne,{class:"border-muted-foreground translate-y-0.5",onClick:u[6]||(u[6]=e.withModifiers(()=>{},["stop"]))})]),e.createElementVNode("td",xn,[e.createElementVNode("div",Vn,[e.createElementVNode("div",null,[e.createVNode(Ie,{sources:e.unref(s),maxFiles:1,"initial-value":F(y.id)?[]:I(y.id)?[R(y.id)]:[R(y.id),U(y.id)],onSubmit:T=>B(T,y.id)},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:u[7]||(u[7]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer"},[F(y.id)?(e.openBlock(),e.createBlock(oe,{key:0,variant:"outline",class:"size-15 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref($.ImagePlus))]),_:1})):I(y.id)?(e.openBlock(),e.createElementBlock("img",{key:1,src:R(y.id),class:"size-15 rounded-md object-cover",draggable:"false"},null,8,hn)):(e.openBlock(),e.createElementBlock("div",Nn,[e.createElementVNode("img",{src:U(y.id),class:"absolute rotate-[12deg] size-15 rounded-md object-cover",draggable:"false"},null,8,Cn),e.createElementVNode("img",{src:R(y.id),class:"relative size-15 rounded-md shadow object-cover",draggable:"false"},null,8,yn)]))])]),_:2},1032,["sources","initial-value","onSubmit"])]),e.createElementVNode("div",bn,[e.createElementVNode("p",kn,e.toDisplayString(y.value),1),e.createElementVNode("button",_n,[e.createTextVNode(e.toDisplayString(h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id).length)+" variants ",1),e.createVNode(e.unref($.ChevronDown),{class:e.normalizeClass(["size-3 transition-transform duration-200",v.value.includes(y.id)?"rotate-180":""])},null,8,["class"])])])])]),e.createElementVNode("td",wn,[e.createElementVNode("div",Dn,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createVNode(Ce,{class:"w-full",asChild:""},{default:e.withCtx(()=>[e.createVNode(Pe,{id:`variant-price-${y.id}`,modelValue:K.value,"onUpdate:modelValue":u[8]||(u[8]=T=>K.value=T),class:e.normalizeClass(["dark:bg-transparent dark:border-ring/50 text-center",te.value===y.id?"":"text-transparent"]),onClick:u[9]||(u[9]=e.withModifiers(()=>{},["stop"])),onFocus:T=>ie(T,y),onBlur:T=>N(y.id),onKeydown:e.withKeys(T=>D(y.id),["enter"])},null,8,["id","modelValue","class","onFocus","onBlur","onKeydown"])]),_:2},1024),e.createVNode(ye,null,{default:e.withCtx(()=>[h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id).length===1?(e.openBlock(),e.createElementBlock("p",Sn,"Applies to 1 variant")):(e.openBlock(),e.createElementBlock("p",En,"Applies to all "+e.toDisplayString(h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id).length)+" variants",1))]),_:2},1024)]),_:2},1024),te.value!==y.id?(e.openBlock(),e.createElementBlock("span",Tn,e.toDisplayString(xe(y.id)),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("td",Bn,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createVNode(Ce,{class:"w-full focus-visible:outline-none",onClick:u[10]||(u[10]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createVNode(we,null,{default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(ke,{value:ae(y.id),class:"dark:border-ring/50",disabled:""},null,8,["value"])]),_:2},1024)]),_:2},1024)]),_:2},1024),e.createVNode(ye,null,{default:e.withCtx(()=>[...u[21]||(u[21]=[e.createElementVNode("p",null,"Update for individual variants only",-1)])]),_:1})]),_:2},1024)])],8,gn),v.value.includes(y.id)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(h.value?.filter(T=>T.options?.find(A=>A.optionId===a.value)?.valueId===y.id),T=>(e.openBlock(),e.createElementBlock("tr",{key:T.id,class:"hover:bg-accent/50 cursor-pointer transition-colors duration-200 border-b border-input"},[e.createElementVNode("td",Pn,[e.createElementVNode("div",In,[e.createVNode(Ne,{class:"border-muted-foreground translate-y-0.5",onClick:u[11]||(u[11]=e.withModifiers(()=>{},["stop"]))})])]),e.createElementVNode("td",$n,[e.createElementVNode("div",Fn,[e.createElementVNode("div",null,[e.createVNode(Ie,{sources:e.unref(s),maxFiles:1,"initial-value":c.value[k(T.options)].image?[c.value[k(T.options)].image]:[],onSubmit:A=>c.value[k(T.options)].image=A},{default:e.withCtx(()=>[e.createElementVNode("button",{onClick:u[12]||(u[12]=e.withModifiers(()=>{},["stop"])),tabindex:"-1",class:"cursor-pointer"},[c.value[k(T.options)].image?(e.openBlock(),e.createElementBlock("img",{key:0,src:c.value[k(T.options)].image,class:"size-10 object-cover rounded-md",draggable:"false"},null,8,An)):(e.openBlock(),e.createBlock(oe,{key:1,variant:"outline",class:"size-10 border-dashed cursor-pointer"},{default:e.withCtx(()=>[e.createVNode(e.unref($.ImagePlus))]),_:1}))])]),_:2},1032,["sources","initial-value","onSubmit"])]),e.createElementVNode("div",Mn,[e.createElementVNode("p",null,e.toDisplayString(T.options.filter(A=>A.optionId!==a.value).map(A=>A.value).join(" / ")),1)])])]),e.createElementVNode("td",zn,[e.createVNode(we,{"format-options":{style:"currency",currency:"EUR",currencyDisplay:"symbol",currencySign:"standard"},modelValue:c.value[k(T.options)].price,"onUpdate:modelValue":A=>c.value[k(T.options)].price=A,min:0},{default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(ke,{class:"dark:border-ring/50"})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])]),e.createElementVNode("td",On,[e.createVNode(we,{modelValue:c.value[k(T.options)].stock,"onUpdate:modelValue":A=>c.value[k(T.options)].stock=A},{default:e.withCtx(()=>[e.createVNode(_e,null,{default:e.withCtx(()=>[e.createVNode(lt,{class:"group-hover:opacity-100 opacity-0 transition-opacity duration-200"}),e.createVNode(ke,{class:"dark:border-ring/50"}),e.createVNode(at,{class:"group-hover:opacity-100 opacity-0 transition-opacity duration-200"})]),_:1})]),_:1},8,["modelValue","onUpdate:modelValue"])])]))),128)):e.createCommentVNode("",!0)],64))),128))])]),e.createElementVNode("div",Rn,[e.createTextVNode(" Total inventory at Webshop: "+e.toDisplayString(he())+" ",1),de()<0?(e.openBlock(),e.createElementBlock("span",Ln,"("+e.toDisplayString(de())+")",1)):e.createCommentVNode("",!0),u[22]||(u[22]=e.createTextVNode(" available ",-1))])],64)):e.createCommentVNode("",!0)]))}}}),Un=e.defineComponent({__name:"Variants",setup(t){const{params:o}=J.useModuleRoute(),{value:n}=g.useField("options"),{value:r}=g.useField("variants"),l=e.ref([]),i=e.ref([]),s=e.useTemplateRef("optionsEl"),d=e.useTemplateRef("variantsEl");e.watch(l,async c=>{n.value=c?JSON.parse(JSON.stringify(c)):[],await e.nextTick(),d.value?.refreshVariants()},{deep:!0}),e.watch(i,c=>{r.value=c?JSON.parse(JSON.stringify(c)):[]},{deep:!0});const a=e.ref(!1),f=e.ref(!1);e.watch(n,async c=>{o.value.productId=="new"||!c||Array.isArray(c)&&c.length===0||a.value||(a.value=!0,l.value=JSON.parse(JSON.stringify(c)),await e.nextTick(),c.length>1&&s.value?.minifyAll())},{deep:!0,immediate:!0}),e.watch(r,async c=>{o.value.productId=="new"||!c||Array.isArray(c)&&c.length===0||f.value||(f.value=!0,i.value=JSON.parse(JSON.stringify(c)),await e.nextTick(),d.value?.setVariantMap(c))},{deep:!0,immediate:!0});const v=e.computed(()=>{let c=l.value||[],V={};return!c||!Array.isArray(c)||c.forEach(_=>{!_.name.trim()||_.values?.filter(b=>b.value.trim()!=="")?.length===0||(V[_.id]={id:_.id,name:_.name,values:_.values?.map(b=>({id:b.id,value:b.value}))?.filter(b=>b.value.trim()!=="")||[]})}),V});return(c,V)=>{const _=e.resolveComponent("CardContent"),b=e.resolveComponent("Card");return e.openBlock(),e.createBlock(b,null,{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[V[2]||(V[2]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Variants",-1)),e.createVNode(en,{modelValue:l.value,"onUpdate:modelValue":V[0]||(V[0]=k=>l.value=k),ref_key:"optionsEl",ref:s},null,8,["modelValue"]),e.createVNode(jn,{ref_key:"variantsEl",ref:d,options:v.value,modelValue:i.value,"onUpdate:modelValue":V[1]||(V[1]=k=>i.value=k),hide:Object.keys(v.value).length===0},null,8,["options","modelValue","hide"])]),_:1})]),_:1})}}}),Hn={class:"bg-white dark:bg-gray-50 border-4 dark:border-gray-600 p-4 rounded-lg mb-4"},Xn={class:"flex items-center gap-2 mb-2"},Yn=["src"],qn={class:"text-[#1a0dab] text-lg"},Kn={class:"text-[#006621] text-[13px]"},Jn={class:"text-[#545454] text-[13px]"},Gn={class:"flex flex-col gap-4 mb-4"},Wn={class:"flex flex-col"},Zn={key:0,class:"text-red-500 text-sm mt-1"},Qn={class:"flex flex-col gap-4 mb-4"},er={class:"flex flex-col"},tr={key:0,class:"text-red-500 text-sm mt-1"},or={class:"flex flex-col gap-4"},nr={class:"flex flex-col"},rr={class:"flex gap-2"},lr={key:0,class:"text-red-500 text-sm mt-1"},ar={key:1,class:"text-[#545454] text-[13px]"},ir={key:2,class:"text-orange-500 text-[13px]"},sr=e.defineComponent({__name:"SEO",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("title"),{value:r}=g.useField("slug"),{value:l}=g.useField("seo");function i(s){return s?s.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,"-"):""}return e.watch(n,(s,d)=>{(!r.value||i(d)===r.value)&&(r.value=i(s)),(!l.value.title||d===l.value.title)&&(l.value.title=s)}),(s,d)=>{const a=e.resolveComponent("Label"),f=e.resolveComponent("Input"),v=e.resolveComponent("Textarea"),c=e.resolveComponent("ProgressCircle"),V=e.resolveComponent("CardContent"),_=e.resolveComponent("Card");return e.openBlock(),e.createBlock(_,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[d[7]||(d[7]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Search engine listing",-1)),e.createElementVNode("div",Hn,[e.createElementVNode("div",Xn,[e.createElementVNode("img",{src:e.unref(it.googleImg),alt:"Google",class:"w-16 pointer-events-none",draggable:"false"},null,8,Yn),d[3]||(d[3]=e.createElementVNode("span",{class:"text-[#4186f5] font-medium text-xs"},"Preview",-1))]),e.createElementVNode("p",qn,e.toDisplayString(e.unref(l).title),1),e.createElementVNode("p",Kn,e.toDisplayString(e.unref(r)),1),e.createElementVNode("p",Jn,e.toDisplayString(e.unref(l).description?.slice(0,155))+e.toDisplayString(e.unref(l).description?.length>155?" ...":""),1)]),e.createElementVNode("div",Gn,[e.createElementVNode("div",Wn,[e.createVNode(a,{for:"slug",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[4]||(d[4]=[e.createTextVNode("Slug",-1)])]),_:1}),e.createVNode(f,{id:"slug",placeholder:"t-shirt-with-red-heart",modelValue:e.unref(r),"onUpdate:modelValue":d[0]||(d[0]=b=>e.isRef(r)?r.value=b:null)},null,8,["modelValue"]),e.unref(o).slug?(e.openBlock(),e.createElementBlock("p",Zn,e.toDisplayString(e.unref(o).slug),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Qn,[e.createElementVNode("div",er,[e.createVNode(a,{for:"meta-title",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[5]||(d[5]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(f,{id:"meta-title",placeholder:"T-shirt with red heart",modelValue:e.unref(l).title,"onUpdate:modelValue":d[1]||(d[1]=b=>e.unref(l).title=b)},null,8,["modelValue"]),e.unref(o).seo?.title?(e.openBlock(),e.createElementBlock("p",tr,e.toDisplayString(e.unref(o).seo.title),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",or,[e.createElementVNode("div",nr,[e.createVNode(a,{for:"meta-description",class:"text-sm mb-2"},{default:e.withCtx(()=>[...d[6]||(d[6]=[e.createTextVNode("Description",-1)])]),_:1}),e.createVNode(v,{id:"meta-description",placeholder:"Lovely T-shirt featuring a red heart",modelValue:e.unref(l).description,"onUpdate:modelValue":d[2]||(d[2]=b=>e.unref(l).description=b),class:"mb-2 resize-none"},null,8,["modelValue"]),e.createElementVNode("div",rr,[e.createVNode(c,{progress:(e.unref(l).description?.length??0)/155},null,8,["progress"]),e.unref(o).seo?.description?(e.openBlock(),e.createElementBlock("p",lr,e.toDisplayString(e.unref(o).seo.description),1)):e.unref(l).description?.length<155?(e.openBlock(),e.createElementBlock("p",ar,e.toDisplayString(e.unref(l).description.length)+" characters",1)):(e.openBlock(),e.createElementBlock("p",ir,"Please keep it under 155 characters"))])])])]),_:1})]),_:1})}}}),dr=e.defineComponent({__name:"NewSection",setup(t){return(o,n)=>{const r=e.resolveComponent("Button"),l=e.resolveComponent("CardContent"),i=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock(e.Fragment,null,[n[3]||(n[3]=e.createElementVNode("hr",{class:"my-4"},null,-1)),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[n[1]||(n[1]=e.createElementVNode("h2",{class:"text-lg font-medium"},"New Section",-1)),n[2]||(n[2]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-4"},"As an admin, you can define new sections within the product detail page.",-1)),e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(e.unref($.Plus),{class:"size-4"}),n[0]||(n[0]=e.createTextVNode(" Create new section ",-1))]),_:1})]),_:1})]),_:1})],64)}}}),cr={class:"flex items-center gap-2"},ur={key:0,class:"size-3 rounded-full bg-green-500"},pr={key:1,class:"size-3 rounded-full bg-blue-500"},fr={key:2,class:"size-3 rounded-full bg-gray-300"},mr=e.defineComponent({__name:"Status",setup(t){const{errors:o}=g.useFormContext(),{value:n}=g.useField("status");return(r,l)=>{const i=e.resolveComponent("SelectValue"),s=e.resolveComponent("SelectTrigger"),d=e.resolveComponent("SelectItem"),a=e.resolveComponent("SelectGroup"),f=e.resolveComponent("SelectContent"),v=e.resolveComponent("Select"),c=e.resolveComponent("CardContent"),V=e.resolveComponent("Card");return e.openBlock(),e.createBlock(V,null,{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[l[4]||(l[4]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Status",-1)),e.createVNode(v,{modelValue:e.unref(n),"onUpdate:modelValue":l[0]||(l[0]=_=>e.isRef(n)?n.value=_:null),class:"w-full"},{default:e.withCtx(()=>[e.createVNode(s,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",cr,[e.unref(n)==="published"?(e.openBlock(),e.createElementBlock("span",ur)):e.unref(n)==="draft"?(e.openBlock(),e.createElementBlock("span",pr)):e.unref(n)==="archived"?(e.openBlock(),e.createElementBlock("span",fr)):e.createCommentVNode("",!0),e.createVNode(i,{placeholder:"Status"})])]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(d,{value:"published"},{default:e.withCtx(()=>[...l[1]||(l[1]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-green-500"},null,-1),e.createTextVNode(" Published ",-1)])]),_:1}),e.createVNode(d,{value:"draft"},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-blue-500"},null,-1),e.createTextVNode(" Draft ",-1)])]),_:1}),e.createVNode(d,{value:"archived"},{default:e.withCtx(()=>[...l[3]||(l[3]=[e.createElementVNode("span",{class:"size-3 rounded-full bg-gray-300"},null,-1),e.createTextVNode(" Archived ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),gr={class:"flex items-center gap-2 truncate"},vr=e.defineComponent({__name:"Collections",props:{config:{type:Object,required:!0}},setup(t){const o=t,n=J.useFirebaseIntegration(o.config.project),r=async()=>{if(!o.config.collectionsCollection)return[];const a=o.config.collectionsCollection.split(":");return a.length!==2?[]:(await n.get(a[0]))?.[a[1]]||[]},l=e.ref([]);(async()=>{const a=await r();l.value=a})();const{errors:s}=g.useFormContext(),{value:d}=g.useField("collections");return(a,f)=>{const v=e.resolveComponent("SelectValue"),c=e.resolveComponent("SelectTrigger"),V=e.resolveComponent("SelectLabel"),_=e.resolveComponent("SelectItem"),b=e.resolveComponent("SelectGroup"),k=e.resolveComponent("SelectContent"),S=e.resolveComponent("Select"),E=e.resolveComponent("CardContent"),m=e.resolveComponent("Card");return e.openBlock(),e.createBlock(m,null,{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[f[5]||(f[5]=e.createElementVNode("h3",{class:"text-lg font-semibold mb-4"},"Collections",-1)),e.createVNode(S,{modelValue:e.unref(d),"onUpdate:modelValue":f[0]||(f[0]=h=>e.isRef(d)?d.value=h:null),class:"w-full",multiple:!0},{default:e.withCtx(()=>[e.createVNode(c,{class:"w-full"},{default:e.withCtx(()=>[e.createElementVNode("div",gr,[e.createVNode(v,{placeholder:"Collections"})])]),_:1}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[...f[1]||(f[1]=[e.createTextVNode("Active collections",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.filter(h=>h.status==="published"),h=>(e.openBlock(),e.createBlock(_,{key:h.id,value:h.id},{default:e.withCtx(()=>[f[2]||(f[2]=e.createElementVNode("div",{class:"size-2 rounded-full bg-green-500"},null,-1)),e.createTextVNode(" "+e.toDisplayString(h.title),1)]),_:2},1032,["value"]))),128))]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[...f[3]||(f[3]=[e.createTextVNode("Drafts",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.filter(h=>h.status==="draft"),h=>(e.openBlock(),e.createBlock(_,{key:h.id,value:h.id},{default:e.withCtx(()=>[f[4]||(f[4]=e.createElementVNode("div",{class:"size-2 rounded-full bg-blue-500"},null,-1)),e.createTextVNode(" "+e.toDisplayString(h.title),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})}}}),xr={class:"relative @container"},Vr={class:"flex flex-row gap-4 justify-between max-w-5xl mx-auto mt-4 mb-6"},hr={class:"flex items-center"},Nr={class:"text-lg font-semibold mx-2"},Cr={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},yr={key:1,class:"bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"},br={key:2,class:"bg-gray-300 dark:bg-gray-500 text-gray-950 px-2 py-1 rounded-lg text-xs"},kr={class:"flex flex-col @3xl:flex-row gap-4 max-w-5xl mx-auto pb-24"},_r={class:"flex flex-col gap-4 w-full @3xl:w-2/3"},wr={class:"flex flex-col gap-4 w-full @3xl:w-1/3"},Dr={key:0,class:"fixed bottom-4 left-0 md:left-12 right-0 min-w-xs max-w-5xl w-[calc(100%-2rem)] md:w-[calc(100%-5rem)] xl:w-[calc(100%-2rem)] h-16 border border-white/10 backdrop-blur-sm border-t border-border flex items-center justify-center px-4 mx-auto z-[9999] rounded-xl overflow-hidden shadow bg-[radial-gradient(#ffffff80,transparent)] dark:bg-[radial-gradient(#00000080,transparent)]"},Sr={class:"w-full max-w-5xl flex items-center justify-end mx-auto"},Er=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},async setup(t){let o,n;const r=t,{hasPermission:l,hasAnyPermission:i,isAdmin:s}=J.useModulePermissions(),{params:d,navigateTo:a}=J.useModuleRoute(),{confirm:f}=J.useConfirmation(),v=J.useFirebaseIntegration(r.config.project);e.provide("sources",r.config.allowedMediaSources),e.provide("defaultSource",r.config.defaultUploadMediaSource);const c=e.ref(!1),V=e.computed(()=>!d.value.productId||d.value.productId==="new"),_=e.ref(""),b=e.ref([]);b.value=([o,n]=e.withAsyncContext(()=>K()),o=await o,n(),o);const k=g.toTypedSchema(g.objectType({title:g.stringType().min(1,"Title is required"),description:g.stringType().optional(),media:g.arrayType(g.stringType()).optional(),price:g.coerce.number().positive("Must be positive"),compareAtPrice:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().positive("Must be positive").optional()),isTaxable:g.booleanType().optional(),costPerItem:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().positive("Must be positive").optional()),currency:g.stringType(),stock:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().optional()),trackInventory:g.booleanType().optional(),allowBackorder:g.booleanType().optional(),isPhysicalProduct:g.booleanType().optional(),weight:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().optional()),weightUnit:g.stringType().optional(),slug:g.stringType(),seo:g.objectType({title:g.stringType().optional(),description:g.stringType().optional()}).optional(),createdAt:g.dateType(),updatedAt:g.dateType(),status:g.stringType(),options:g.arrayType(g.objectType({id:g.stringType(),name:g.stringType().min(1),values:g.arrayType(g.objectType({id:g.stringType(),value:g.stringType()}))})).optional(),variants:g.arrayType(g.objectType({combinedOptions:g.stringType().min(1),name:g.stringType().min(1),disabled:g.booleanType().optional(),price:g.coerce.number().positive("Must be positive"),stock:g.preprocessType(N=>N===""?void 0:N,g.coerce.number().optional()),image:g.stringType().optional(),options:g.arrayType(g.objectType({optionId:g.stringType(),option:g.stringType(),valueId:g.stringType(),value:g.stringType()}))})).optional(),tags:g.arrayType(g.stringType()).optional(),collections:g.arrayType(g.stringType()).optional()})),{handleSubmit:S,errors:E,values:m,setValues:h}=g.useForm({validationSchema:k,initialValues:{createdAt:new Date,updatedAt:new Date,status:"draft",options:[],variants:[],media:[],isTaxable:!1,trackInventory:!1,allowBackorder:!1,isPhysicalProduct:!0,weight:0,weightUnit:"kg",tags:[],collections:[],currency:r.config.defaultCurrency||"USD",price:1,stock:0,seo:{title:"",description:""}}});J.useModuleBreadcrumbs(()=>[{text:V.value?"New Product":m.title||"Product"}]);const B=N=>{let D={...N,maxPrice:F(),minPrice:I(),maxCompareAtPrice:U(),minCompareAtPrice:R(),isSingleVariant:!N.variants||N.variants.length===0,variantsTotal:N.variants?.length||1,stock:xe(),featuredMedia:N.media?.[0]};return D.isPhysicalProduct?D.type="physical":(D.weight=0,D.weightUnit="kg",D.type="digital"),D},F=()=>!m.variants||m.variants.length===0?m.price:Math.max(...m.variants.map(N=>N.price)),I=()=>!m.variants||m.variants.length===0?m.price:Math.min(...m.variants.map(N=>N.price)),R=()=>m.compareAtPrice,U=()=>m.compareAtPrice,xe=()=>!m.variants||m.variants.length===0?m.stock:m.variants.reduce((N,D)=>D.stock<0?N:N+D.stock,0),ae=S(async N=>{c.value=!0;let D=B(N);if(V.value){if(await ie(D.slug)){X.toast.error("Product slug already exists");return}D.createdAt=new Date,D.updatedAt=new Date;const H=await v.add(r.config.productCollection,D);a(H.id),X.toast.success("Product created")}else{if(_.value!==D.slug&&await ie(D.slug)){X.toast.error("Product slug already exists");return}D.updatedAt=new Date,await v.update(r.config.productCollection,d.value.productId,D),a(`${d.value.productId}`),X.toast.success("Product updated")}c.value=!1}),Ve=async()=>{const N=await v.get(r.config.productCollection,d.value.productId);if(!N){X.toast.error("Product not found"),a("");return}N.createdAt=new Date(N.createdAt),N.updatedAt=new Date(N.updatedAt),N.options?.forEach(D=>{D.values.forEach(H=>{H.touched=!0}),D.values.push({id:Math.random().toString(36).substring(2,15),value:""})}),h(N),_.value=N.slug},he=async()=>{try{let N={...m},D=N.slug+"-copy",H=2;for(;await ie(D);)D=N.slug+"-copy-"+H,H++;N.id=void 0,N.createdAt=new Date,N.updatedAt=new Date,N.slug=D,N.status="draft",N.title=N.title+" (copy)";const C=await v.add(r.config.productCollection,N);a(C.id),X.toast.success("Product duplicated")}catch{X.toast.error("Failed to duplicate product")}},de=async()=>{try{await v.update(r.config.productCollection,d.value.productId,{status:"archived"}),h({status:"archived"},{force:!1}),X.toast.success("Product archived")}catch{X.toast.error("Failed to archive product")}},te=async()=>{if(await f("Are you sure you want to delete this product?"))try{await v.remove(r.config.productCollection,d.value.productId),a(""),X.toast.success("Product deleted")}catch{X.toast.error("Failed to delete product")}};async function K(){if(!r.config.collectionsCollection)return[];const N=r.config.collectionsCollection.split(":");return N.length!==2?[]:(await v.get(N[0]))?.[N[1]]||[]}async function ie(N){return(await v.find(r.config.productCollection,{filters:[{field:"slug",operator:"==",value:N}]})).length>0}return e.onMounted(()=>{V.value||Ve()}),(N,D)=>{const H=e.resolveComponent("Button"),C=e.resolveComponent("MenubarTrigger"),u=e.resolveComponent("MenubarMenu"),x=e.resolveComponent("MenubarItem"),w=e.resolveComponent("MenubarContent"),P=e.resolveComponent("Menubar");return e.openBlock(),e.createElementBlock("div",xr,[e.createElementVNode("div",Vr,[e.createElementVNode("div",hr,[e.createVNode(H,{variant:"ghost",onClick:D[0]||(D[0]=Y=>e.unref(a)(""))},{default:e.withCtx(()=>[e.createVNode(e.unref($.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref($.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Nr,e.toDisplayString(V.value?"New Product":e.unref(m).title),1),e.unref(m).status==="published"?(e.openBlock(),e.createElementBlock("span",Cr,"Published")):e.unref(m).status==="draft"?(e.openBlock(),e.createElementBlock("span",yr,"Draft")):e.unref(m).status==="archived"?(e.openBlock(),e.createElementBlock("span",br,"Archived")):e.createCommentVNode("",!0)]),V.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(P,{key:0,class:"rounded-lg shadow-xs"},{default:e.withCtx(()=>[e.unref(l)("create-product")?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>[e.createVNode(C,{onClick:he},{default:e.withCtx(()=>[...D[1]||(D[1]=[e.createTextVNode("Duplicate",-1)])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...D[2]||(D[2]=[e.createTextVNode("Preview",-1)])]),_:1})]),_:1}),e.unref(i)("edit-product","delete-product")?(e.openBlock(),e.createBlock(u,{key:1},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...D[3]||(D[3]=[e.createTextVNode("More actions",-1)])]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.unref(l)("edit-product")?(e.openBlock(),e.createBlock(x,{key:0,onClick:de},{default:e.withCtx(()=>[e.createVNode(e.unref($.Archive),{class:"size-4"}),D[4]||(D[4]=e.createTextVNode(" Archive product ",-1))]),_:1})):e.createCommentVNode("",!0),e.unref(l)("delete-product")?(e.openBlock(),e.createBlock(x,{key:1,variant:"destructive",onClick:te},{default:e.withCtx(()=>[e.createVNode(e.unref($.Trash),{class:"size-4"}),D[5]||(D[5]=e.createTextVNode(" Delete product ",-1))]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}))]),e.createElementVNode("div",kr,[e.createElementVNode("div",_r,[e.createVNode(xt),e.createVNode(St),e.createVNode(It),e.createVNode(At),e.createVNode(Un),e.createVNode(sr),e.unref(s)()?(e.openBlock(),e.createBlock(dr,{key:0})):e.createCommentVNode("",!0)]),e.createElementVNode("div",wr,[e.createVNode(mr),e.createVNode(vr,{config:t.config},null,8,["config"])])]),e.unref(i)("create-product","edit-product")?(e.openBlock(),e.createElementBlock("div",Dr,[e.createElementVNode("div",Sr,[V.value&&e.unref(l)("create-product")?(e.openBlock(),e.createBlock(H,{key:0,onClick:e.unref(ae),disabled:c.value},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createBlock(e.unref($.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.value?"Creating":"Create")+" New Product ",1)]),_:1},8,["onClick","disabled"])):e.unref(l)("edit-product")?(e.openBlock(),e.createBlock(H,{key:1,onClick:e.unref(ae),disabled:c.value},{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createBlock(e.unref($.Loader2),{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.value?"Saving":"Save")+" Changes ",1)]),_:1},8,["onClick","disabled"])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])}}});exports.default=Er;
|
|
@@ -2,7 +2,7 @@ import { defineComponent as oe, ref as k, withAsyncContext as le, computed as L,
|
|
|
2
2
|
import { Tag as ne, ChevronRight as de, CalendarIcon as j } from "lucide-vue-next";
|
|
3
3
|
import { c as z } from "./utils-BVKy9S2J.mjs";
|
|
4
4
|
import { useLogs as ue, useModuleRoute as ie, useModuleStorage as re, useFirebaseIntegration as me, useModuleBreadcrumbs as pe } from "@oneclick.dev/cms-kit";
|
|
5
|
-
import { h as ve, g as E, o as fe, u as M } from "./DateFormatter-
|
|
5
|
+
import { h as ve, g as E, o as fe, u as M } from "./DateFormatter-DfIwyrnF.mjs";
|
|
6
6
|
const ce = { class: "relative @container" }, xe = {
|
|
7
7
|
key: 0,
|
|
8
8
|
class: "max-w-5xl mx-auto mt-4"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),B=require("./utils-D6CaKJbp.js"),u=require("@oneclick.dev/cms-kit"),d=require("./DateFormatter-Bw-SCfUS.js"),G={class:"relative @container"},O={key:0,class:"max-w-5xl mx-auto mt-4"},R={class:"flex flex-row gap-4 justify-between mb-6"},W={class:"flex items-center"},Z={class:"text-lg font-semibold mx-2 uppercase"},K={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},Y={key:1,class:"bg-gray-500 text-gray-950 px-2 py-1 rounded-lg text-xs"},H={class:"font-medium mb-2 uppercase"},J={class:"mb-6"},Q={key:0},X={key:1},ee={key:2},te={class:"flex flex-wrap gap-12 mb-6"},oe={key:0,class:"grid gap-2"},le={class:"flex items-center gap-2"},ae={key:0,class:"text-lg"},ne={key:1,class:"text-lg"},se={key:1,class:"grid gap-2"},re={class:"flex items-center space-x-2"},de={class:"flex gap-4 mb-6"},ue={class:"flex flex-col"},ie={key:0,class:"-ml-2"},ce={key:1,class:"text-xs text-muted-foreground mt-2"},me={class:"flex flex-col"},pe={key:0,class:"-ml-2"},ve={key:1,class:"text-xs text-muted-foreground mt-2"},fe={class:"flex justify-end gap-2 mt-6"},xe=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},async setup(E){let i,x;const m=E,{log:Ve,logWarning:Ce,logError:Ne}=u.useLogs(),{params:V,navigateTo:C}=u.useModuleRoute(),{getModuleData:S}=u.useModuleStorage(),{confirm:T}=useConfirmation(),p=e.ref([]);p.value=([i,x]=e.withAsyncContext(()=>S("promo-types")),i=await i,x(),i||[]);const N=u.useFirebaseIntegration(m.config.project),o=e.ref(null),v=e.ref(!1),a=e.computed(()=>(o.value?.usageCount??0)>0),s=e.computed(()=>p.value.find(f=>f.key===o.value?.type)||null);u.useModuleBreadcrumbs(()=>[{text:"Promo codes list",href:o.value?.code?"/promo-codes":""},{text:o.value?.code||""}]);const g=new d.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"long"}),A=async()=>{o.value=await N.get(m.config.promoCodeCollection,V.value.promoCodeId),o.value.startsAt=d.$fae977aafc393c5c$export$588937bcd60ade55(o.value?.startsAt?.replace(/\.\d{3}Z$/,"")),o.value.expiresAt=d.$fae977aafc393c5c$export$588937bcd60ade55(o.value?.expiresAt?.replace(/\.\d{3}Z$/,""))},$=async()=>{await T(`Are you sure you want to delete the code "${o.value?.code}"?`)&&(await N.remove(m.config.promoCodeCollection,V.value.promoCodeId),C("/promo-codes"))};return A(),(f,t)=>{const r=e.resolveComponent("Button"),n=e.resolveComponent("Label"),k=e.resolveComponent("Input"),h=e.resolveComponent("SelectValue"),U=e.resolveComponent("SelectTrigger"),D=e.resolveComponent("SelectItem"),P=e.resolveComponent("SelectGroup"),I=e.resolveComponent("SelectContent"),L=e.resolveComponent("Select"),j=e.resolveComponent("Switch"),_=e.resolveComponent("PopoverTrigger"),b=e.resolveComponent("Calendar"),y=e.resolveComponent("PopoverContent"),w=e.resolveComponent("Popover"),q=e.resolveComponent("Textarea"),z=e.resolveComponent("Loader2"),M=e.resolveComponent("CardContent"),F=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",G,[o.value?(e.openBlock(),e.createElementBlock("div",O,[e.createElementVNode("div",R,[e.createElementVNode("div",W,[e.createVNode(r,{variant:"ghost",onClick:t[0]||(t[0]=l=>e.unref(C)("/promo-codes"))},{default:e.withCtx(()=>[e.createVNode(e.unref(c.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref(c.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Z,e.toDisplayString(o.value.code),1),o.value.expiresAt>new Date?(e.openBlock(),e.createElementBlock("span",K,"Active")):(e.openBlock(),e.createElementBlock("span",Y,"Expired"))])]),e.createVNode(F,null,{default:e.withCtx(()=>[e.createVNode(M,null,{default:e.withCtx(()=>[e.createElementVNode("h3",H,e.toDisplayString(o.value.code),1),e.createElementVNode("p",J,[t[14]||(t[14]=e.createTextVNode(" This promo code has been created on ",-1)),e.createElementVNode("strong",null,e.toDisplayString(new Date(o.value.createdAt).toLocaleString()),1),t[15]||(t[15]=e.createTextVNode(".",-1)),t[16]||(t[16]=e.createElementVNode("br",null,null,-1)),o.value.usageCount===1?(e.openBlock(),e.createElementBlock("span",Q,[...t[11]||(t[11]=[e.createTextVNode("It has been used ",-1),e.createElementVNode("strong",null,"1 time",-1),e.createTextVNode(", so you can't edit it.",-1)])])):o.value.usageCount>1?(e.openBlock(),e.createElementBlock("span",X,[t[12]||(t[12]=e.createTextVNode("It has been used ",-1)),e.createElementVNode("strong",null,e.toDisplayString(o.value.usageCount)+" times",1),t[13]||(t[13]=e.createTextVNode(", so you can't edit it.",-1))])):(e.openBlock(),e.createElementBlock("span",ee,"It has not been used yet."))]),e.createVNode(n,{for:"code",class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode("Promo Code",-1)])]),_:1}),e.createVNode(k,{id:"code",modelValue:o.value.code,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.code=l),disabled:a.value,class:"mb-6 uppercase"},null,8,["modelValue","disabled"]),e.createElementVNode("div",null,[t[27]||(t[27]=e.createElementVNode("h3",{class:"font-medium mb-2"},"Value",-1)),e.createVNode(L,{modelValue:o.value.type,"onUpdate:modelValue":t[2]||(t[2]=l=>o.value.type=l)},{default:e.withCtx(()=>[e.createVNode(U,{class:"w-[200px] mb-4",disabled:a.value},{default:e.withCtx(()=>[e.createVNode(h,{placeholder:"Select a promo type"})]),_:1},8,["disabled"]),e.createVNode(I,null,{default:e.withCtx(()=>[e.createVNode(P,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,l=>(e.openBlock(),e.createBlock(D,{key:l.key,value:l.key},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]),e.createElementVNode("div",te,[s.value?.hasValueField?(e.openBlock(),e.createElementBlock("div",oe,[e.createVNode(n,{for:"discountValue",class:"text-muted-foreground"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value?.valueLabel||"Value"),1)]),_:1}),e.createElementVNode("div",le,[s.value?.valuePrefix?(e.openBlock(),e.createElementBlock("span",ae,e.toDisplayString(s.value?.valuePrefix),1)):e.createCommentVNode("",!0),e.createVNode(k,{modelValue:o.value.value,"onUpdate:modelValue":t[3]||(t[3]=l=>o.value.value=l),id:"discountValue",disabled:a.value},null,8,["modelValue","disabled"]),s.value?.valueSuffix?(e.openBlock(),e.createElementBlock("span",ne,e.toDisplayString(s.value?.valueSuffix),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),s.value?.allowUnlimitedUses?(e.openBlock(),e.createElementBlock("div",se,[e.createVNode(n,{for:"unlimitedUses",class:"text-muted-foreground"},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode("Unlimited Uses",-1)])]),_:1}),e.createElementVNode("div",re,[e.createVNode(j,{id:"unlimitedUses",modelValue:o.value.unlimitedUses,"onUpdate:modelValue":t[4]||(t[4]=l=>o.value.unlimitedUses=l),disabled:a.value},null,8,["modelValue","disabled"]),e.createVNode(n,{for:"unlimitedUses"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.value.unlimitedUses?"Yes":"No"),1)]),_:1})])])):e.createCommentVNode("",!0)]),t[28]||(t[28]=e.createElementVNode("h3",{class:"font-medium"},"Availability",-1)),t[29]||(t[29]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-4"},"When will this code be available?",-1)),e.createElementVNode("div",de,[e.createElementVNode("div",ue,[e.createVNode(n,{class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode("Available from",-1)])]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(_,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(r,{variant:"outline",class:e.normalizeClass(e.unref(B.classNames)("w-[280px] justify-start text-left font-normal",!o.value.startsAt&&"text-muted-foreground")),disabled:a.value},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarIcon),{class:"mr-2 h-4 w-4"}),e.createTextVNode(" "+e.toDisplayString(o.value.startsAt?e.unref(g).format(o.value.startsAt.toDate(e.unref(d.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(y,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:o.value.startsAt,"onUpdate:modelValue":t[5]||(t[5]=l=>o.value.startsAt=l),"initial-focus":"",minValue:e.unref(d.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3)()},null,8,["modelValue","minValue"])]),_:1})]),_:1}),o.value.startsAt?(e.openBlock(),e.createElementBlock("div",ie,[a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(r,{key:0,onClick:t[6]||(t[6]=l=>o.value.startsAt=void 0),variant:"link"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode("Clear",-1)])]),_:1}))])):(e.openBlock(),e.createElementBlock("p",ce,"Not set - codes will be available immediately"))]),e.createElementVNode("div",me,[e.createVNode(n,{class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode("Until",-1)])]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(_,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(r,{variant:"outline",class:e.normalizeClass(e.unref(B.classNames)("w-[280px] justify-start text-left font-normal",!o.value.expiresAt&&"text-muted-foreground")),disabled:a.value},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarIcon),{class:"mr-2 h-4 w-4"}),e.createTextVNode(" "+e.toDisplayString(o.value.expiresAt?e.unref(g).format(o.value.expiresAt.toDate(e.unref(d.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(y,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:o.value.expiresAt,"onUpdate:modelValue":t[7]||(t[7]=l=>o.value.expiresAt=l),"initial-focus":"",minValue:o.value.startsAt},null,8,["modelValue","minValue"])]),_:1})]),_:1}),o.value.expiresAt?(e.openBlock(),e.createElementBlock("div",pe,[a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(r,{key:0,onClick:t[8]||(t[8]=l=>o.value.expiresAt=void 0),variant:"link"},{default:e.withCtx(()=>[...t[22]||(t[22]=[e.createTextVNode("Clear",-1)])]),_:1}))])):(e.openBlock(),e.createElementBlock("p",ve,"Not set - codes will never expire"))])]),e.createVNode(n,{for:"note",class:"text-lg font-medium"},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode("Note",-1)])]),_:1}),e.createVNode(n,{for:"note",class:"font-normal text-sm text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode("Internal note, you can always edit this later",-1)])]),_:1}),e.createVNode(q,{modelValue:o.value.note,"onUpdate:modelValue":t[9]||(t[9]=l=>o.value.note=l),id:"note"},null,8,["modelValue"]),e.createElementVNode("div",fe,[e.createVNode(r,{variant:"destructive",onClick:t[10]||(t[10]=l=>$()),disabled:v.value},{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode(" Delete Code ",-1)])]),_:1},8,["disabled"]),e.createVNode(r,{disabled:v.value},{default:e.withCtx(()=>[v.value?(e.openBlock(),e.createBlock(z,{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),t[26]||(t[26]=e.createTextVNode(" Update Code ",-1))]),_:1},8,["disabled"])])])]),_:1})]),_:1}),e.createTextVNode(" "+e.toDisplayString(o.value),1)])):e.createCommentVNode("",!0)])}}});exports.default=xe;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),B=require("./utils-D6CaKJbp.js"),u=require("@oneclick.dev/cms-kit"),d=require("./DateFormatter-C9qfmQnP.js"),G={class:"relative @container"},O={key:0,class:"max-w-5xl mx-auto mt-4"},R={class:"flex flex-row gap-4 justify-between mb-6"},W={class:"flex items-center"},Z={class:"text-lg font-semibold mx-2 uppercase"},K={key:0,class:"bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"},Y={key:1,class:"bg-gray-500 text-gray-950 px-2 py-1 rounded-lg text-xs"},H={class:"font-medium mb-2 uppercase"},J={class:"mb-6"},Q={key:0},X={key:1},ee={key:2},te={class:"flex flex-wrap gap-12 mb-6"},oe={key:0,class:"grid gap-2"},le={class:"flex items-center gap-2"},ae={key:0,class:"text-lg"},ne={key:1,class:"text-lg"},se={key:1,class:"grid gap-2"},re={class:"flex items-center space-x-2"},de={class:"flex gap-4 mb-6"},ue={class:"flex flex-col"},ie={key:0,class:"-ml-2"},ce={key:1,class:"text-xs text-muted-foreground mt-2"},me={class:"flex flex-col"},pe={key:0,class:"-ml-2"},ve={key:1,class:"text-xs text-muted-foreground mt-2"},fe={class:"flex justify-end gap-2 mt-6"},xe=e.defineComponent({__name:"Detail",props:{config:{type:Object,required:!0}},async setup(E){let i,x;const m=E,{log:Ve,logWarning:Ce,logError:Ne}=u.useLogs(),{params:V,navigateTo:C}=u.useModuleRoute(),{getModuleData:S}=u.useModuleStorage(),{confirm:T}=useConfirmation(),p=e.ref([]);p.value=([i,x]=e.withAsyncContext(()=>S("promo-types")),i=await i,x(),i||[]);const N=u.useFirebaseIntegration(m.config.project),o=e.ref(null),v=e.ref(!1),a=e.computed(()=>(o.value?.usageCount??0)>0),s=e.computed(()=>p.value.find(f=>f.key===o.value?.type)||null);u.useModuleBreadcrumbs(()=>[{text:"Promo codes list",href:o.value?.code?"/promo-codes":""},{text:o.value?.code||""}]);const g=new d.$fb18d541ea1ad717$export$ad991b66133851cf("en-US",{dateStyle:"long"}),A=async()=>{o.value=await N.get(m.config.promoCodeCollection,V.value.promoCodeId),o.value.startsAt=d.$fae977aafc393c5c$export$588937bcd60ade55(o.value?.startsAt?.replace(/\.\d{3}Z$/,"")),o.value.expiresAt=d.$fae977aafc393c5c$export$588937bcd60ade55(o.value?.expiresAt?.replace(/\.\d{3}Z$/,""))},$=async()=>{await T(`Are you sure you want to delete the code "${o.value?.code}"?`)&&(await N.remove(m.config.promoCodeCollection,V.value.promoCodeId),C("/promo-codes"))};return A(),(f,t)=>{const r=e.resolveComponent("Button"),n=e.resolveComponent("Label"),k=e.resolveComponent("Input"),h=e.resolveComponent("SelectValue"),U=e.resolveComponent("SelectTrigger"),D=e.resolveComponent("SelectItem"),P=e.resolveComponent("SelectGroup"),I=e.resolveComponent("SelectContent"),L=e.resolveComponent("Select"),j=e.resolveComponent("Switch"),_=e.resolveComponent("PopoverTrigger"),b=e.resolveComponent("Calendar"),y=e.resolveComponent("PopoverContent"),w=e.resolveComponent("Popover"),q=e.resolveComponent("Textarea"),z=e.resolveComponent("Loader2"),M=e.resolveComponent("CardContent"),F=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",G,[o.value?(e.openBlock(),e.createElementBlock("div",O,[e.createElementVNode("div",R,[e.createElementVNode("div",W,[e.createVNode(r,{variant:"ghost",onClick:t[0]||(t[0]=l=>e.unref(C)("/promo-codes"))},{default:e.withCtx(()=>[e.createVNode(e.unref(c.Tag),{class:"size-4"})]),_:1}),e.createVNode(e.unref(c.ChevronRight),{class:"size-3"}),e.createElementVNode("h1",Z,e.toDisplayString(o.value.code),1),o.value.expiresAt>new Date?(e.openBlock(),e.createElementBlock("span",K,"Active")):(e.openBlock(),e.createElementBlock("span",Y,"Expired"))])]),e.createVNode(F,null,{default:e.withCtx(()=>[e.createVNode(M,null,{default:e.withCtx(()=>[e.createElementVNode("h3",H,e.toDisplayString(o.value.code),1),e.createElementVNode("p",J,[t[14]||(t[14]=e.createTextVNode(" This promo code has been created on ",-1)),e.createElementVNode("strong",null,e.toDisplayString(new Date(o.value.createdAt).toLocaleString()),1),t[15]||(t[15]=e.createTextVNode(".",-1)),t[16]||(t[16]=e.createElementVNode("br",null,null,-1)),o.value.usageCount===1?(e.openBlock(),e.createElementBlock("span",Q,[...t[11]||(t[11]=[e.createTextVNode("It has been used ",-1),e.createElementVNode("strong",null,"1 time",-1),e.createTextVNode(", so you can't edit it.",-1)])])):o.value.usageCount>1?(e.openBlock(),e.createElementBlock("span",X,[t[12]||(t[12]=e.createTextVNode("It has been used ",-1)),e.createElementVNode("strong",null,e.toDisplayString(o.value.usageCount)+" times",1),t[13]||(t[13]=e.createTextVNode(", so you can't edit it.",-1))])):(e.openBlock(),e.createElementBlock("span",ee,"It has not been used yet."))]),e.createVNode(n,{for:"code",class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode("Promo Code",-1)])]),_:1}),e.createVNode(k,{id:"code",modelValue:o.value.code,"onUpdate:modelValue":t[1]||(t[1]=l=>o.value.code=l),disabled:a.value,class:"mb-6 uppercase"},null,8,["modelValue","disabled"]),e.createElementVNode("div",null,[t[27]||(t[27]=e.createElementVNode("h3",{class:"font-medium mb-2"},"Value",-1)),e.createVNode(L,{modelValue:o.value.type,"onUpdate:modelValue":t[2]||(t[2]=l=>o.value.type=l)},{default:e.withCtx(()=>[e.createVNode(U,{class:"w-[200px] mb-4",disabled:a.value},{default:e.withCtx(()=>[e.createVNode(h,{placeholder:"Select a promo type"})]),_:1},8,["disabled"]),e.createVNode(I,null,{default:e.withCtx(()=>[e.createVNode(P,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,l=>(e.openBlock(),e.createBlock(D,{key:l.key,value:l.key},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1},8,["modelValue"]),e.createElementVNode("div",te,[s.value?.hasValueField?(e.openBlock(),e.createElementBlock("div",oe,[e.createVNode(n,{for:"discountValue",class:"text-muted-foreground"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value?.valueLabel||"Value"),1)]),_:1}),e.createElementVNode("div",le,[s.value?.valuePrefix?(e.openBlock(),e.createElementBlock("span",ae,e.toDisplayString(s.value?.valuePrefix),1)):e.createCommentVNode("",!0),e.createVNode(k,{modelValue:o.value.value,"onUpdate:modelValue":t[3]||(t[3]=l=>o.value.value=l),id:"discountValue",disabled:a.value},null,8,["modelValue","disabled"]),s.value?.valueSuffix?(e.openBlock(),e.createElementBlock("span",ne,e.toDisplayString(s.value?.valueSuffix),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),s.value?.allowUnlimitedUses?(e.openBlock(),e.createElementBlock("div",se,[e.createVNode(n,{for:"unlimitedUses",class:"text-muted-foreground"},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode("Unlimited Uses",-1)])]),_:1}),e.createElementVNode("div",re,[e.createVNode(j,{id:"unlimitedUses",modelValue:o.value.unlimitedUses,"onUpdate:modelValue":t[4]||(t[4]=l=>o.value.unlimitedUses=l),disabled:a.value},null,8,["modelValue","disabled"]),e.createVNode(n,{for:"unlimitedUses"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.value.unlimitedUses?"Yes":"No"),1)]),_:1})])])):e.createCommentVNode("",!0)]),t[28]||(t[28]=e.createElementVNode("h3",{class:"font-medium"},"Availability",-1)),t[29]||(t[29]=e.createElementVNode("p",{class:"text-sm text-muted-foreground mb-4"},"When will this code be available?",-1)),e.createElementVNode("div",de,[e.createElementVNode("div",ue,[e.createVNode(n,{class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode("Available from",-1)])]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(_,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(r,{variant:"outline",class:e.normalizeClass(e.unref(B.classNames)("w-[280px] justify-start text-left font-normal",!o.value.startsAt&&"text-muted-foreground")),disabled:a.value},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarIcon),{class:"mr-2 h-4 w-4"}),e.createTextVNode(" "+e.toDisplayString(o.value.startsAt?e.unref(g).format(o.value.startsAt.toDate(e.unref(d.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(y,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:o.value.startsAt,"onUpdate:modelValue":t[5]||(t[5]=l=>o.value.startsAt=l),"initial-focus":"",minValue:e.unref(d.$14e0f24ef4ac5c92$export$d0bdf45af03a6ea3)()},null,8,["modelValue","minValue"])]),_:1})]),_:1}),o.value.startsAt?(e.openBlock(),e.createElementBlock("div",ie,[a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(r,{key:0,onClick:t[6]||(t[6]=l=>o.value.startsAt=void 0),variant:"link"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode("Clear",-1)])]),_:1}))])):(e.openBlock(),e.createElementBlock("p",ce,"Not set - codes will be available immediately"))]),e.createElementVNode("div",me,[e.createVNode(n,{class:"text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[21]||(t[21]=[e.createTextVNode("Until",-1)])]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(_,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(r,{variant:"outline",class:e.normalizeClass(e.unref(B.classNames)("w-[280px] justify-start text-left font-normal",!o.value.expiresAt&&"text-muted-foreground")),disabled:a.value},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarIcon),{class:"mr-2 h-4 w-4"}),e.createTextVNode(" "+e.toDisplayString(o.value.expiresAt?e.unref(g).format(o.value.expiresAt.toDate(e.unref(d.$14e0f24ef4ac5c92$export$aa8b41735afcabd2)())):"Pick a date"),1)]),_:1},8,["class","disabled"])]),_:1}),e.createVNode(y,{class:"w-auto p-0"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:o.value.expiresAt,"onUpdate:modelValue":t[7]||(t[7]=l=>o.value.expiresAt=l),"initial-focus":"",minValue:o.value.startsAt},null,8,["modelValue","minValue"])]),_:1})]),_:1}),o.value.expiresAt?(e.openBlock(),e.createElementBlock("div",pe,[a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(r,{key:0,onClick:t[8]||(t[8]=l=>o.value.expiresAt=void 0),variant:"link"},{default:e.withCtx(()=>[...t[22]||(t[22]=[e.createTextVNode("Clear",-1)])]),_:1}))])):(e.openBlock(),e.createElementBlock("p",ve,"Not set - codes will never expire"))])]),e.createVNode(n,{for:"note",class:"text-lg font-medium"},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode("Note",-1)])]),_:1}),e.createVNode(n,{for:"note",class:"font-normal text-sm text-muted-foreground mb-2"},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode("Internal note, you can always edit this later",-1)])]),_:1}),e.createVNode(q,{modelValue:o.value.note,"onUpdate:modelValue":t[9]||(t[9]=l=>o.value.note=l),id:"note"},null,8,["modelValue"]),e.createElementVNode("div",fe,[e.createVNode(r,{variant:"destructive",onClick:t[10]||(t[10]=l=>$()),disabled:v.value},{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode(" Delete Code ",-1)])]),_:1},8,["disabled"]),e.createVNode(r,{disabled:v.value},{default:e.withCtx(()=>[v.value?(e.openBlock(),e.createBlock(z,{key:0,class:"size-4 animate-spin"})):e.createCommentVNode("",!0),t[26]||(t[26]=e.createTextVNode(" Update Code ",-1))]),_:1},8,["disabled"])])])]),_:1})]),_:1}),e.createTextVNode(" "+e.toDisplayString(o.value),1)])):e.createCommentVNode("",!0)])}}});exports.default=xe;
|