@oneclick.dev/cms-core-modules 0.0.106 → 0.0.107
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-DypEyPSO.js +1 -0
- package/dist/Acquisition-TCNX-th6.mjs +308 -0
- package/dist/AgendaOpeningHoursCard-BIhm0vpV.js +1 -0
- package/dist/AgendaOpeningHoursCard-BKUdJxRI.mjs +133 -0
- package/dist/AppointmentDetailsCard-C5rQ5jsW.js +1 -0
- package/dist/AppointmentDetailsCard-NRHeNP2L.mjs +111 -0
- package/dist/AppointmentEditor-BcF8CiD-.mjs +150 -0
- package/dist/AppointmentEditor-BlhFtoCm.js +1 -0
- package/dist/AppointmentListTable-B-ReBVtV.js +1 -0
- package/dist/AppointmentListTable-DHmy-iid.mjs +129 -0
- package/dist/Audience-Cq1Gu-Vo.mjs +394 -0
- package/dist/Audience-h5PfXPz4.js +1 -0
- package/dist/Components-BehelN4r.js +1 -0
- package/dist/Components-CR6zukUU.mjs +468 -0
- package/dist/Content-C5Iye3t0.mjs +257 -0
- package/dist/Content-eOfBx52Y.js +1 -0
- package/dist/ContentEditor-BgL4qEeg.mjs +26835 -0
- package/dist/ContentEditor-Tlu3w0Hu.js +462 -0
- package/dist/CountryBreakdownCard-CWVyB8be.mjs +151 -0
- package/dist/CountryBreakdownCard-Db-pMiNe.js +1 -0
- package/dist/Create-B1it8S4m.js +1 -0
- package/dist/Create-DbYi0FAI.mjs +907 -0
- package/dist/DateFormatter-DLrDYkby.mjs +630 -0
- package/dist/DateFormatter-Dni0Oq8r.js +1 -0
- package/dist/Detail-D-eahJGO.mjs +21 -0
- package/dist/Detail-D0kdPPIm.mjs +2757 -0
- package/dist/Detail-DAafePYi.mjs +485 -0
- package/dist/Detail-DYpv4fYg.js +1 -0
- package/dist/Detail-Dc_ui4LM.js +1 -0
- package/dist/Detail-DccUekl_.js +1 -0
- package/dist/Detail-Dhz0V0Vf.js +1 -0
- package/dist/Detail-DjnGY0F8.mjs +282 -0
- package/dist/Detail-DplAitHg.mjs +447 -0
- package/dist/Detail-SugyeSxb.js +1 -0
- package/dist/DeviceBreakdownCard-CzxZT6To.js +1 -0
- package/dist/DeviceBreakdownCard-eEwPjzKl.mjs +115 -0
- package/dist/EditLayout-Bnz9q_jd.js +1 -0
- package/dist/EditLayout-J_DGXb8v.mjs +99 -0
- package/dist/Entries-CgpWg6fE.js +1 -0
- package/dist/Entries-CkGTXcAq.mjs +575 -0
- package/dist/Find-Bz0TNJzk.mjs +164 -0
- package/dist/Find-D-ItTXaZ.js +1 -0
- package/dist/GlobalStyling-CSQPF7o_.mjs +1162 -0
- package/dist/GlobalStyling-DabldMZh.js +15 -0
- package/dist/NewReservationDialog-BhIiY2B9.js +1 -0
- package/dist/NewReservationDialog-CN49aGcM.mjs +1002 -0
- package/dist/OrderDetailDialog-BJ01DZFe.js +1 -0
- package/dist/OrderDetailDialog-CoVQ_rzs.mjs +215 -0
- package/dist/Overview-9FMgn5hT.mjs +492 -0
- package/dist/Overview-BOOwMQ-c.mjs +636 -0
- package/dist/Overview-Biz3h60w.js +1 -0
- package/dist/Overview-C2K2ofdS.js +1 -0
- package/dist/Overview-CFHOXP9N.mjs +123 -0
- package/dist/Overview-CTJe7J5_.js +1 -0
- package/dist/Overview-Cvj2i9eW.js +1 -0
- package/dist/Overview-D2I1F8Dm.mjs +21 -0
- package/dist/Overview-DFOc9emt.mjs +345 -0
- package/dist/Overview-Dmhfb94Y.js +1 -0
- package/dist/Overview-PPzv7weG.mjs +450 -0
- package/dist/Overview-qFKcXHVF.js +1 -0
- package/dist/Overview-xkmYYTae.mjs +133 -0
- package/dist/Overview-yPsLvR2c.js +1 -0
- package/dist/PeakHoursCard-CtgEP-ez.mjs +157 -0
- package/dist/PeakHoursCard-DPeoMyhu.js +1 -0
- package/dist/ProductDetailsCard-B0WhmzO-.mjs +98 -0
- package/dist/ProductDetailsCard-C1ROuH6l.js +1 -0
- package/dist/RealtimeCard-DQno-Okz.js +1 -0
- package/dist/RealtimeCard-dR-g1iDo.mjs +92 -0
- package/dist/ReservationDetailDialog-Cdo6h0RD.mjs +2163 -0
- package/dist/ReservationDetailDialog-DZTFD2xI.js +349 -0
- package/dist/SearchTermsCard-BXJSXz_k.js +1 -0
- package/dist/SearchTermsCard-DsaxLKwP.mjs +146 -0
- package/dist/SendPush-Bssi-OZD.mjs +150 -0
- package/dist/SendPush-BuaYboRH.js +1 -0
- package/dist/SeoHealth-CP-kL0us.js +1 -0
- package/dist/SeoHealth-Cxp_Gb3Y.mjs +459 -0
- package/dist/TableView-7iwBkQ_k.mjs +4757 -0
- package/dist/TableView-BB_oIYYZ.js +4 -0
- package/dist/TemplateList-CNcM_Kgq.mjs +56 -0
- package/dist/TemplateList-VuPcBUJO.js +1 -0
- package/dist/TopPagesCard-CvDECn3_.mjs +117 -0
- package/dist/TopPagesCard-DNdATXJE.js +1 -0
- package/dist/TrafficSourcesCard-BLpBr7u0.mjs +151 -0
- package/dist/TrafficSourcesCard-_3gRUCw3.js +1 -0
- package/dist/View-DSnUHI7h.mjs +30 -0
- package/dist/View-Dbcfpdqh.js +1 -0
- package/dist/VisitorStatsCard-CFEnXSjF.mjs +185 -0
- package/dist/VisitorStatsCard-C_jhQxDW.js +1 -0
- package/dist/_plugin-vue_export-helper-5u7tqpWC.js +1 -0
- package/dist/_plugin-vue_export-helper-BJQSo0im.mjs +8 -0
- package/dist/agenda-CzMRcQTA.mjs +989 -0
- package/dist/agenda-D4zWRYSQ.js +1 -0
- package/dist/appointments-9syR5TZE.js +1 -0
- package/dist/appointments-BBmOJMhM.mjs +23 -0
- package/dist/array-BH1uH7XT.js +1 -0
- package/dist/array-DnDL9cFz.mjs +98 -0
- package/dist/availability-CAXB7Yd6.js +1 -0
- package/dist/availability-Dp7eF-ZK.mjs +215 -0
- package/dist/booking-data-Bysf6e5x.mjs +724 -0
- package/dist/booking-data-C6SGjC2X.js +1 -0
- package/dist/chunk-DQi1bQcV.js +1 -0
- package/dist/cms-core-modules.css +2 -1
- package/dist/contentManager-D7JxXCwE.js +1 -0
- package/dist/contentManager-tfy0x1LD.mjs +22 -0
- package/dist/context-AQKfnJ4t.mjs +3809 -0
- package/dist/context-ubyMq9Xe.js +54 -0
- package/dist/core-Dhgr4ctC.mjs +202 -0
- package/dist/core-_HKfBlaZ.js +1 -0
- package/dist/countries-MXLT3mVe.mjs +4 -0
- package/dist/countries-OCd5qPxG.js +1 -0
- package/dist/create-BfNc2C7N.js +1 -0
- package/dist/create-C7JlIlIh.mjs +95 -0
- package/dist/custom-BwN9-6Mb.js +1 -0
- package/dist/custom-INNwaWla.mjs +13 -0
- package/dist/dist-BCVg7FKM.js +1 -0
- package/dist/dist-DIhK9VWh.mjs +3045 -0
- package/dist/edit-BiI2VG60.js +35 -0
- package/dist/edit-DD3iFBEh.mjs +1097 -0
- package/dist/exceptions-DICMaDcH.mjs +462 -0
- package/dist/exceptions-DpWqMNuG.js +1 -0
- package/dist/google-Bcc4XZnV.mjs +4 -0
- package/dist/google-DTSRmJ51.js +1 -0
- package/dist/googleAnalytics-BSaqRR_L.js +1 -0
- package/dist/googleAnalytics-Cg-iWblZ.mjs +47 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +1095 -806
- package/dist/interpolation-B8OzkMyi.mjs +131 -0
- package/dist/interpolation-DpAqtGOW.js +1 -0
- package/dist/lib-4wSi00Vr.js +1 -0
- package/dist/lib-BZgXUui5.mjs +198 -0
- package/dist/line-DJdnFNI7.js +75 -0
- package/dist/line-tYLnEDGV.mjs +1500 -0
- package/dist/mailTemplates-BNk8fhVS.mjs +23 -0
- package/dist/mailTemplates-DswHzyQe.js +1 -0
- package/dist/orders-CIc0JlKX.mjs +512 -0
- package/dist/orders-DwPSi_pD.js +1 -0
- package/dist/payment-BsNWFaDm.js +1 -0
- package/dist/payment-Ced5_dpa.mjs +718 -0
- package/dist/productCollections-Cuvw_8zC.js +1 -0
- package/dist/productCollections-D0AxRlzr.mjs +23 -0
- package/dist/products-DUD-ZMkR.mjs +22 -0
- package/dist/products-DvX9B-Ul.js +1 -0
- package/dist/promoCodes-BCWqN6w4.mjs +23 -0
- package/dist/promoCodes-CEZ4LYot.js +1 -0
- package/dist/push-notifications-BGp4XWo9.js +1 -0
- package/dist/push-notifications-C7W7KuzR.mjs +23 -0
- package/dist/regular-BCFrS6lK.mjs +908 -0
- package/dist/regular-DBqPgT8C.js +1 -0
- package/dist/resources-DwsMmWgm.mjs +669 -0
- package/dist/resources-Dz81GkHe.js +1 -0
- package/dist/server-handlers.cjs.js +1 -1
- package/dist/server-handlers.mjs +1049 -996
- package/dist/shippingOptions-C3NEJff1.mjs +23 -0
- package/dist/shippingOptions-Cy040ZW1.js +1 -0
- package/dist/single-container-BJmmqq65.mjs +468 -0
- package/dist/single-container-Xoo0Xzxv.js +58 -0
- package/dist/src/appointments/index.d.ts +9 -12
- package/dist/src/appointments/metadata.d.ts +1 -1
- package/dist/src/appointments/routes.d.ts +3 -6
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/LockBlocks.d.ts +15 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +4 -1
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +12 -132
- package/dist/src/contentManager/index.d.ts +5 -14
- package/dist/src/contentManager/metadata.d.ts +1 -1
- package/dist/src/contentManager/routes.d.ts +3 -12
- package/dist/src/custom/index.d.ts +2 -2
- package/dist/src/custom/routes.d.ts +1 -1
- package/dist/src/googleAnalytics/index.d.ts +10 -10
- package/dist/src/googleAnalytics/routes.d.ts +1 -1
- package/dist/src/mailTemplates/index.d.ts +3 -3
- package/dist/src/mailTemplates/metadata.d.ts +1 -1
- package/dist/src/mailTemplates/routes.d.ts +1 -1
- package/dist/src/productCollections/index.d.ts +3 -3
- package/dist/src/productCollections/metadata.d.ts +1 -1
- package/dist/src/productCollections/routes.d.ts +1 -1
- package/dist/src/products/index.d.ts +4 -4
- package/dist/src/products/metadata.d.ts +1 -1
- package/dist/src/products/routes.d.ts +1 -1
- package/dist/src/promoCodes/index.d.ts +3 -3
- package/dist/src/promoCodes/metadata.d.ts +1 -1
- package/dist/src/promoCodes/routes.d.ts +1 -1
- package/dist/src/push-notifications/index.d.ts +3 -3
- package/dist/src/push-notifications/metadata.d.ts +1 -1
- package/dist/src/push-notifications/routes.d.ts +1 -1
- package/dist/src/shippingOptions/index.d.ts +3 -3
- package/dist/src/shippingOptions/metadata.d.ts +1 -1
- package/dist/src/shippingOptions/routes.d.ts +1 -1
- package/dist/src/table/flow-builder-extensions/row-item.d.ts +3 -17
- package/dist/src/table/index.d.ts +2 -2
- package/dist/src/table/routes.d.ts +1 -1
- package/dist/src/types/index.d.ts +6 -0
- package/dist/src/vue-shim.d.ts +7 -0
- package/dist/table-DWw0fs3S.js +1 -0
- package/dist/table-LXt5DQOL.mjs +23 -0
- package/dist/utils-CVIHqQsU.js +3 -0
- package/dist/utils-h3owcMtS.mjs +37 -0
- package/dist/vee-validate-zod-BmXMJo8W.js +1 -0
- package/dist/vee-validate-zod-D9dZzbWZ.mjs +4985 -0
- package/dist/xy-container-CuQSwrtB.mjs +3180 -0
- package/dist/xy-container-_6YpscZh.js +158 -0
- package/package.json +55 -55
- package/dist/Acquisition-B2pM5vSp.mjs +0 -400
- package/dist/Acquisition-Dt2rREU8.js +0 -1
- package/dist/AgendaOpeningHoursCard-B7ROIPWw.js +0 -1
- package/dist/AgendaOpeningHoursCard-Cp4wxUeK.mjs +0 -172
- package/dist/AppointmentDetailsCard-33WpATpV.mjs +0 -161
- package/dist/AppointmentDetailsCard-DpLM5IrB.js +0 -1
- package/dist/AppointmentEditor-BeOtYV6u.mjs +0 -196
- package/dist/AppointmentEditor-CaTfbkIf.js +0 -1
- package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
- package/dist/AppointmentListTable-Dieu9US_.js +0 -1
- package/dist/Audience-Bs7b0TNm.js +0 -1
- package/dist/Audience-VLnUsQvW.mjs +0 -489
- package/dist/Components-C83O-xlF.mjs +0 -623
- package/dist/Components-DXbx0RLV.js +0 -1
- package/dist/Content-BHr_rPVY.js +0 -1
- package/dist/Content-CYOZKvWK.mjs +0 -358
- package/dist/ContentEditor-BNLEv-qJ.mjs +0 -30697
- package/dist/ContentEditor-BUvvqfG1.js +0 -462
- package/dist/CountryBreakdownCard-D7BK3nRD.js +0 -1
- package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +0 -196
- package/dist/Create-89z41K73.js +0 -1
- package/dist/Create-Cn_Eufga.mjs +0 -1251
- package/dist/DateFormatter-Bw-87W31.mjs +0 -734
- package/dist/DateFormatter-CYAD4GBN.js +0 -1
- package/dist/Detail-Byk781b4.mjs +0 -26
- package/dist/Detail-C1Blq61w.mjs +0 -585
- package/dist/Detail-C857g62L.js +0 -1
- package/dist/Detail-C8wQiDcv.js +0 -1
- package/dist/Detail-CPqug27l.js +0 -1
- package/dist/Detail-CjuhjPby.js +0 -1
- package/dist/Detail-CtItxMX4.mjs +0 -649
- package/dist/Detail-CujdFApD.mjs +0 -379
- package/dist/Detail-Dnpnmy4-.mjs +0 -3477
- package/dist/Detail-mvSGbnFU.js +0 -1
- package/dist/DeviceBreakdownCard-DRhQ9ufG.js +0 -1
- package/dist/DeviceBreakdownCard-W1frLe0L.mjs +0 -159
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +0 -76
- package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +0 -1
- package/dist/Entries-BdhUyJR5.mjs +0 -728
- package/dist/Entries-CEXM_SkO.js +0 -1
- package/dist/Find-B24ZEhYM.mjs +0 -229
- package/dist/Find-D4Qa45qC.js +0 -1
- package/dist/GlobalStyling-C9VthHWK.mjs +0 -1588
- package/dist/GlobalStyling-CnSlXkZc.js +0 -25
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Ceoje52V.js +0 -1
- package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-DMGcRmm-.mjs +0 -1255
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +0 -1
- package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +0 -330
- package/dist/Overview-3HWhsqaz.mjs +0 -860
- package/dist/Overview-BCpJNiEB.mjs +0 -190
- package/dist/Overview-BDlBCUI_.js +0 -1
- package/dist/Overview-BbvfH1u-.js +0 -1
- package/dist/Overview-Bn1Xx3_j.js +0 -1
- package/dist/Overview-CIa1E-HH.mjs +0 -178
- package/dist/Overview-DAxCu9XC.js +0 -1
- package/dist/Overview-DC9io1bk.js +0 -1
- package/dist/Overview-Di84CsR5.mjs +0 -476
- package/dist/Overview-Su8ZUbMs.mjs +0 -26
- package/dist/Overview-T-lsy3UZ.js +0 -1
- package/dist/Overview-UoZHUMUz.js +0 -1
- package/dist/Overview-ejh4vUMT.mjs +0 -567
- package/dist/Overview-lWAyyenp.mjs +0 -632
- package/dist/PeakHoursCard-9-EZFZLR.mjs +0 -182
- package/dist/PeakHoursCard-BR5zmta4.js +0 -1
- package/dist/ProductDetailsCard-6nHikw4V.mjs +0 -121
- package/dist/ProductDetailsCard-Bn7qrgmc.js +0 -1
- package/dist/RealtimeCard--APfRNc8.js +0 -1
- package/dist/RealtimeCard-fvQlJcM7.mjs +0 -126
- package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +0 -349
- package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +0 -3077
- package/dist/SearchTermsCard-BsB-63aH.js +0 -1
- package/dist/SearchTermsCard-BzVrHKqQ.mjs +0 -201
- package/dist/SendPush-COns44j7.js +0 -1
- package/dist/SendPush-CPIOjVX4.mjs +0 -184
- package/dist/SeoHealth-DsbVdd2l.mjs +0 -615
- package/dist/SeoHealth-az1YuNF2.js +0 -1
- package/dist/TableView-Bm6HaRHm.mjs +0 -6143
- package/dist/TableView-DQW0A1oG.js +0 -4
- package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +0 -1
- package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +0 -40
- package/dist/TopPagesCard-BDeA997A.js +0 -1
- package/dist/TopPagesCard-CTozhOr_.mjs +0 -159
- package/dist/TrafficSourcesCard-BxtCKsqx.mjs +0 -197
- package/dist/TrafficSourcesCard-C3ziDTUL.js +0 -1
- package/dist/View-CsudjxCE.mjs +0 -30
- package/dist/View-Dw_wA6kK.js +0 -1
- package/dist/VisitorStatsCard-BmByE_Hi.js +0 -1
- package/dist/VisitorStatsCard-CXizEbVK.mjs +0 -174
- package/dist/_plugin-vue_export-helper-BHFhmbuH.js +0 -1
- package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +0 -9
- package/dist/agenda-IOqtALWf.js +0 -1
- package/dist/agenda-neyeLWv-.mjs +0 -1165
- package/dist/array-CbATeQbk.js +0 -1
- package/dist/array-CvmZXzxF.mjs +0 -108
- package/dist/availability-CMrRa5y2.mjs +0 -269
- package/dist/availability-Cf2YfMwM.js +0 -1
- package/dist/booking-data-DgJd0BcM.mjs +0 -889
- package/dist/booking-data-Di5GmH_8.js +0 -1
- package/dist/countries-BTPvmrsb.mjs +0 -4
- package/dist/countries-CgZ081No.js +0 -1
- package/dist/exceptions-CI0B4xVj.js +0 -1
- package/dist/exceptions-vo8SA5SE.mjs +0 -646
- package/dist/google-CvtuJwgk.mjs +0 -4
- package/dist/google-D4N3gb01.js +0 -1
- package/dist/index-4tjmIans.js +0 -1
- package/dist/index-9HVlmvK3.js +0 -1
- package/dist/index-A2kp8Isi.js +0 -75
- package/dist/index-B5aBwdxY.js +0 -54
- package/dist/index-BRdCrvcz.mjs +0 -1443
- package/dist/index-BWDwEd8D.mjs +0 -24
- package/dist/index-BfBBm9uY.mjs +0 -24
- package/dist/index-BiT55eU0.js +0 -58
- package/dist/index-Bkq58CeQ.mjs +0 -22
- package/dist/index-Bvxc5xv_.mjs +0 -3843
- package/dist/index-CJQQBRLY.js +0 -1
- package/dist/index-CQkOH2_3.mjs +0 -24
- package/dist/index-CSxYBeVA.js +0 -1
- package/dist/index-CU-tbS5W.mjs +0 -24
- package/dist/index-CZn2nDLv.mjs +0 -34
- package/dist/index-CkiNvRzs.js +0 -1
- package/dist/index-Co4ON2Di.js +0 -1
- package/dist/index-Cpnn_Pxd.mjs +0 -24
- package/dist/index-CrgzoTyR.mjs +0 -110
- package/dist/index-CsVeM3PA.mjs +0 -24
- package/dist/index-CwqrAU-H.js +0 -1
- package/dist/index-CxETuRsG.js +0 -1
- package/dist/index-Cz-baGax.js +0 -1
- package/dist/index-DFQGVHTs.js +0 -1
- package/dist/index-DPd3waTN.js +0 -1
- package/dist/index-DRqJOqUR.mjs +0 -3484
- package/dist/index-DjWuIBxh.js +0 -1
- package/dist/index-Dnn2SCSl.js +0 -1
- package/dist/index-Dpl9sU6a.mjs +0 -12
- package/dist/index-DrXxXB2F.mjs +0 -138
- package/dist/index-G7cIlnGN.js +0 -158
- package/dist/index-MYWjg0zi.mjs +0 -176
- package/dist/index-R2oUDsjx.js +0 -1
- package/dist/index-RLz1QPrf.mjs +0 -203
- package/dist/index-UtjLbLw-.js +0 -1
- package/dist/index-X6LV64jK.mjs +0 -442
- package/dist/index-cOnxXTbF.mjs +0 -24
- package/dist/index-hlylYYgy.mjs +0 -24
- package/dist/index-ijdf0d9-.js +0 -1
- package/dist/index-uOkqO74I.mjs +0 -2940
- package/dist/index-unsDfNYv.mjs +0 -1187
- package/dist/index-vHmvbEwa.js +0 -35
- package/dist/interpolation-CHn59tIC.js +0 -1
- package/dist/interpolation-w7IRDJwK.mjs +0 -180
- package/dist/orders-C65SlpJy.mjs +0 -618
- package/dist/orders-XVzWAgG1.js +0 -1
- package/dist/payment-C3ohkehF.mjs +0 -1080
- package/dist/payment-Dfr-Ro-a.js +0 -1
- package/dist/regular-1LXNPviB.js +0 -1
- package/dist/regular-_05oq5Tx.mjs +0 -1101
- package/dist/resources-CxeFd57z.js +0 -1
- package/dist/resources-WI_4SO6T.mjs +0 -811
- package/dist/src/appointments/chat-components/AgendaOpeningHoursCard.vue.d.ts +0 -15
- package/dist/src/appointments/chat-components/AppointmentDetailsCard.vue.d.ts +0 -14
- package/dist/src/appointments/chat-components/AppointmentEditor.vue.d.ts +0 -14
- package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +0 -14
- package/dist/src/appointments/components/create/StepNavigation.vue.d.ts +0 -32
- package/dist/src/appointments/components/create/regular/Step1.vue.d.ts +0 -2
- package/dist/src/appointments/components/create/regular/Step2.vue.d.ts +0 -2
- package/dist/src/appointments/components/create/regular/Step3.vue.d.ts +0 -2
- package/dist/src/appointments/components/create/regular/Step4.vue.d.ts +0 -2
- package/dist/src/appointments/components/edit/CustomerInformationFieldEditorDialog.vue.d.ts +0 -24
- package/dist/src/appointments/components/edit/EditLayout.vue.d.ts +0 -17
- package/dist/src/appointments/components/edit/Event24hSidebar.vue.d.ts +0 -2
- package/dist/src/appointments/components/edit/EventDialog/ApproveReservationDialog.vue.d.ts +0 -8
- package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +0 -136
- package/dist/src/appointments/components/edit/EventDialog/CancelReservationDialog.vue.d.ts +0 -8
- package/dist/src/appointments/components/edit/EventDialog/EventDialog.vue.d.ts +0 -11
- package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +0 -55
- package/dist/src/appointments/components/edit/EventDialog/RejectReservationDialog.vue.d.ts +0 -8
- package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +0 -87
- package/dist/src/appointments/components/edit/EventDialog/TimelineChart.vue.d.ts +0 -24
- package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +0 -4
- package/dist/src/appointments/components/edit/EventTimeIndicator.vue.d.ts +0 -12
- package/dist/src/appointments/components/edit/EventTimeline.vue.d.ts +0 -48
- package/dist/src/appointments/components/edit/EventView.vue.d.ts +0 -9
- package/dist/src/appointments/components/edit/ExceptionDialog.vue.d.ts +0 -29
- package/dist/src/appointments/components/edit/MetadataSchemaEditorDialog.vue.d.ts +0 -12
- package/dist/src/appointments/components/edit/NewReservationDialog/CustomerInformation.vue.d.ts +0 -10
- package/dist/src/appointments/components/edit/NewReservationDialog/NewReservationDialog.vue.d.ts +0 -26
- package/dist/src/appointments/components/edit/NewReservationDialog/QuickReservationAdder.vue.d.ts +0 -26
- package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +0 -31
- package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +0 -21
- package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +0 -22
- package/dist/src/appointments/components/edit/PaymentAddons/AddonList.vue.d.ts +0 -5
- package/dist/src/appointments/components/edit/PaymentAddons/index.vue.d.ts +0 -15
- package/dist/src/appointments/components/edit/ResourceEditorDialog.vue.d.ts +0 -13
- package/dist/src/appointments/components/edit/dashboard/Timeline.vue.d.ts +0 -36
- package/dist/src/appointments/components/edit/dashboard/timeline/ResourceSelector.vue.d.ts +0 -50
- package/dist/src/appointments/index.vue.d.ts +0 -22
- package/dist/src/appointments/pages/Overview.vue.d.ts +0 -4
- package/dist/src/appointments/pages/create/index.vue.d.ts +0 -2
- package/dist/src/appointments/pages/create/regular.vue.d.ts +0 -6
- package/dist/src/appointments/pages/edit/agenda.vue.d.ts +0 -4
- package/dist/src/appointments/pages/edit/availability.vue.d.ts +0 -2
- package/dist/src/appointments/pages/edit/booking-data.vue.d.ts +0 -65
- package/dist/src/appointments/pages/edit/index.vue.d.ts +0 -2
- package/dist/src/appointments/pages/edit/payment.vue.d.ts +0 -2
- package/dist/src/appointments/pages/edit/resources.vue.d.ts +0 -28
- package/dist/src/contentManager/components/components/ComponentDialog.vue.d.ts +0 -12
- package/dist/src/contentManager/components/components/ComponentGridItem.vue.d.ts +0 -16
- package/dist/src/contentManager/components/content-editor/ApiDocs.vue.d.ts +0 -2
- package/dist/src/contentManager/components/content-editor/ContentLayout.vue.d.ts +0 -49
- package/dist/src/contentManager/components/content-editor/ContentSettings.vue.d.ts +0 -24
- package/dist/src/contentManager/components/content-editor/ContentStructuredContentSections.vue.d.ts +0 -4
- package/dist/src/contentManager/components/content-editor/Header.vue.d.ts +0 -64
- package/dist/src/contentManager/components/content-editor/LivePreviewWrapper.vue.d.ts +0 -53
- package/dist/src/contentManager/components/content-editor/Locales.vue.d.ts +0 -44
- package/dist/src/contentManager/components/content-editor/NewSectionDialog.vue.d.ts +0 -21
- package/dist/src/contentManager/components/content-editor/PageSettings.vue.d.ts +0 -2
- package/dist/src/contentManager/components/content-editor/SEO.vue.d.ts +0 -14
- package/dist/src/contentManager/components/content-editor/SidebarSectionWrapper.vue.d.ts +0 -39
- package/dist/src/contentManager/components/content-editor/Status.vue.d.ts +0 -2
- package/dist/src/contentManager/components/content-editor/Versions.vue.d.ts +0 -63
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Button.vue.d.ts +0 -94
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Card.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Column.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Divider.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +0 -94
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Heading.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Image.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Map.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.vue.d.ts +0 -115
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.vue.d.ts +0 -115
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Video.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +0 -92
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +0 -108
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +0 -20
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +0 -104
- package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +0 -19
- package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +0 -19
- package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +0 -29
- package/dist/src/contentManager/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +0 -19
- package/dist/src/contentManager/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +0 -8
- package/dist/src/contentManager/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +0 -47
- package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +0 -6
- package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +0 -17
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +0 -13
- package/dist/src/contentManager/components/overview/CollectionDialog.vue.d.ts +0 -30
- package/dist/src/contentManager/components/overview/CollectionsGridView.vue.d.ts +0 -18
- package/dist/src/contentManager/components/overview/ContentEntryContextMenu.vue.d.ts +0 -27
- package/dist/src/contentManager/components/overview/FilterPopover.vue.d.ts +0 -2
- package/dist/src/contentManager/components/overview/ListView.vue.d.ts +0 -12
- package/dist/src/contentManager/components/styling/ButtonStyleDialog.vue.d.ts +0 -24
- package/dist/src/contentManager/components/styling/CardStyleDialog.vue.d.ts +0 -24
- package/dist/src/contentManager/components/styling/SectionStyleDialog.vue.d.ts +0 -24
- package/dist/src/contentManager/index.vue.d.ts +0 -22
- package/dist/src/contentManager/pages/Components.vue.d.ts +0 -27
- package/dist/src/contentManager/pages/ContentEditor.vue.d.ts +0 -14
- package/dist/src/contentManager/pages/Entries.vue.d.ts +0 -16
- package/dist/src/contentManager/pages/GlobalStyling.vue.d.ts +0 -117
- package/dist/src/contentManager/pages/Overview.vue.d.ts +0 -57
- package/dist/src/custom/index.vue.d.ts +0 -2
- package/dist/src/custom/pages/View.vue.d.ts +0 -2
- package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +0 -14
- package/dist/src/googleAnalytics/components/seo-health/SeoClicksChart.vue.d.ts +0 -5
- package/dist/src/googleAnalytics/components/seo-health/SeoImpressionsChart.vue.d.ts +0 -5
- package/dist/src/googleAnalytics/components/seo-health/SeoKeywordsTab.vue.d.ts +0 -5
- package/dist/src/googleAnalytics/components/seo-health/SeoKpiCards.vue.d.ts +0 -10
- package/dist/src/googleAnalytics/components/seo-health/SeoMappingTab.vue.d.ts +0 -5
- package/dist/src/googleAnalytics/components/seo-health/SeoPagesTab.vue.d.ts +0 -5
- package/dist/src/googleAnalytics/components/seo-health/SeoRankingDistribution.vue.d.ts +0 -5
- package/dist/src/googleAnalytics/index.vue.d.ts +0 -2
- package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +0 -2
- package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +0 -2
- package/dist/src/googleAnalytics/pages/Content.vue.d.ts +0 -2
- package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +0 -2
- package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +0 -2
- package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +0 -2
- package/dist/src/mailTemplates/index.vue.d.ts +0 -22
- package/dist/src/mailTemplates/pages/Detail.vue.d.ts +0 -14
- package/dist/src/mailTemplates/pages/Overview.vue.d.ts +0 -14
- package/dist/src/productCollections/components/detail/Main.vue.d.ts +0 -2
- package/dist/src/productCollections/components/detail/SEO.vue.d.ts +0 -2
- package/dist/src/productCollections/components/detail/Status.vue.d.ts +0 -2
- package/dist/src/productCollections/components/overview/ListView.vue.d.ts +0 -12
- package/dist/src/productCollections/index.vue.d.ts +0 -22
- package/dist/src/productCollections/pages/Detail.vue.d.ts +0 -14
- package/dist/src/productCollections/pages/Overview.vue.d.ts +0 -16
- package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +0 -14
- package/dist/src/products/components/detail/Collections.vue.d.ts +0 -14
- package/dist/src/products/components/detail/Inventory.vue.d.ts +0 -2
- package/dist/src/products/components/detail/Main.vue.d.ts +0 -2
- package/dist/src/products/components/detail/NewSection.vue.d.ts +0 -2
- package/dist/src/products/components/detail/Price.vue.d.ts +0 -2
- package/dist/src/products/components/detail/SEO.vue.d.ts +0 -2
- package/dist/src/products/components/detail/Shipping.vue.d.ts +0 -2
- package/dist/src/products/components/detail/Status.vue.d.ts +0 -2
- package/dist/src/products/components/detail/price/UnitPriceDialog.vue.d.ts +0 -17
- package/dist/src/products/components/detail/variants/Option.vue.d.ts +0 -33
- package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +0 -38
- package/dist/src/products/components/overview/FilterPopover.vue.d.ts +0 -2
- package/dist/src/products/components/overview/GridView.vue.d.ts +0 -12
- package/dist/src/products/components/overview/ListView.vue.d.ts +0 -12
- package/dist/src/products/components/overview/ProductContextMenu.vue.d.ts +0 -27
- package/dist/src/products/index.vue.d.ts +0 -22
- package/dist/src/products/pages/Detail.vue.d.ts +0 -14
- package/dist/src/products/pages/Overview.vue.d.ts +0 -16
- package/dist/src/promoCodes/components/create/DateRange.vue.d.ts +0 -2
- package/dist/src/promoCodes/components/create/MultiCodes.vue.d.ts +0 -2
- package/dist/src/promoCodes/components/create/Note.vue.d.ts +0 -2
- package/dist/src/promoCodes/components/create/SingleCode.vue.d.ts +0 -2
- package/dist/src/promoCodes/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +0 -6
- package/dist/src/promoCodes/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +0 -18
- package/dist/src/promoCodes/components/create/TypeAndValue/index.vue.d.ts +0 -2
- package/dist/src/promoCodes/index.vue.d.ts +0 -22
- package/dist/src/promoCodes/pages/Create.vue.d.ts +0 -16
- package/dist/src/promoCodes/pages/Detail.vue.d.ts +0 -14
- package/dist/src/promoCodes/pages/Find.vue.d.ts +0 -16
- package/dist/src/push-notifications/components/PreviewAndroid.vue.d.ts +0 -28
- package/dist/src/push-notifications/components/PreviewIPhone.vue.d.ts +0 -28
- package/dist/src/push-notifications/components/PushPreview.vue.d.ts +0 -28
- package/dist/src/push-notifications/index.vue.d.ts +0 -22
- package/dist/src/push-notifications/pages/SendPush.vue.d.ts +0 -14
- package/dist/src/shared/BrandLogo.vue.d.ts +0 -12
- package/dist/src/shared/DrawerToggle.vue.d.ts +0 -60
- package/dist/src/shared/VerticalToggle.vue.d.ts +0 -60
- package/dist/src/shippingOptions/components/detail/Condition.vue.d.ts +0 -2
- package/dist/src/shippingOptions/components/detail/Countries.vue.d.ts +0 -2
- package/dist/src/shippingOptions/components/detail/Example.vue.d.ts +0 -2
- package/dist/src/shippingOptions/components/detail/Main.vue.d.ts +0 -2
- package/dist/src/shippingOptions/components/overview/ListView.vue.d.ts +0 -12
- package/dist/src/shippingOptions/index.vue.d.ts +0 -22
- package/dist/src/shippingOptions/pages/Detail.vue.d.ts +0 -14
- package/dist/src/shippingOptions/pages/Overview.vue.d.ts +0 -16
- package/dist/src/table/components/DataTable.vue.d.ts +0 -18
- package/dist/src/table/components/DataTableAction.vue.d.ts +0 -14
- package/dist/src/table/components/DataTableMobileRowActionDrawer.vue.d.ts +0 -4
- package/dist/src/table/components/DataTablePagination.vue.d.ts +0 -6
- package/dist/src/table/components/actions/ActionDialog.vue.d.ts +0 -19
- package/dist/src/table/components/actions/CtaActionDialog.vue.d.ts +0 -4
- package/dist/src/table/components/columns/ColumnDropdown.vue.d.ts +0 -2
- package/dist/src/table/components/columns/ColumnEditorDialog.vue.d.ts +0 -34
- package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +0 -12
- package/dist/src/table/components/date-range-filter/DateRangeFilter.vue.d.ts +0 -2
- package/dist/src/table/components/date-range-filter/DateRangeSettingsDialog.vue.d.ts +0 -27
- package/dist/src/table/components/filters/FilterDialog.vue.d.ts +0 -12
- package/dist/src/table/components/filters/Filters.vue.d.ts +0 -27
- package/dist/src/table/components/search/Search.vue.d.ts +0 -2
- package/dist/src/table/components/sort/SortMode.vue.d.ts +0 -2
- package/dist/src/table/components/sort/SortModeSettingsDialog.vue.d.ts +0 -18
- package/dist/src/table/components/stats/StatDialog.vue.d.ts +0 -12
- package/dist/src/table/components/stats/Stats.vue.d.ts +0 -27
- package/dist/src/table/flow-builder-extensions/TableRowEditor.vue.d.ts +0 -16
- package/dist/src/table/index.vue.d.ts +0 -22
- package/dist/src/table/pages/TableView.vue.d.ts +0 -54
- package/dist/utils-CanmrIWO.mjs +0 -47
- package/dist/utils-Yd6F5mea.js +0 -3
- package/dist/vee-validate-zod-ByykgYKJ.js +0 -1
- package/dist/vee-validate-zod-CcOwoF6y.mjs +0 -4402
|
@@ -1,400 +0,0 @@
|
|
|
1
|
-
import { defineComponent as Q, ref as p, computed as U, watch as X, onMounted as Y, resolveComponent as b, openBlock as a, createElementBlock as l, createElementVNode as e, Fragment as h, renderList as v, normalizeClass as L, toDisplayString as o, createVNode as r, withCtx as i, unref as x, createCommentVNode as g, createBlock as E, createTextVNode as z, normalizeStyle as F, resolveDynamicComponent as Z } from "vue";
|
|
2
|
-
import { useModule as ee, useModuleRoute as te, useModuleBreadcrumbs as se } from "@oneclick.dev/cms-kit";
|
|
3
|
-
import "./index-Bvxc5xv_.mjs";
|
|
4
|
-
import { RefreshCw as oe, Loader2 as ne, Share2 as ae, ExternalLink as T, Megaphone as V } from "lucide-vue-next";
|
|
5
|
-
import { S as le, E as re } from "./index-X6LV64jK.mjs";
|
|
6
|
-
const ie = { class: "@container/charts flex flex-col gap-6 w-full max-w-7xl mx-auto py-8" }, ue = { class: "flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center" }, de = {
|
|
7
|
-
key: 0,
|
|
8
|
-
class: "flex items-center gap-2"
|
|
9
|
-
}, ce = { class: "flex items-center border rounded-lg overflow-hidden" }, me = ["onClick"], xe = { class: "text-sm text-destructive font-medium" }, fe = {
|
|
10
|
-
key: 2,
|
|
11
|
-
class: "flex items-center justify-center py-20"
|
|
12
|
-
}, pe = { class: "flex flex-col @4xl/charts:grid @4xl/charts:grid-cols-3 gap-6" }, he = { class: "relative" }, ge = { class: "absolute inset-0 flex items-center justify-center pointer-events-none" }, _e = { class: "text-center" }, ve = { class: "text-2xl font-bold tabular-nums" }, ye = { class: "mt-4 grid grid-cols-2 gap-x-4 gap-y-1.5 w-full" }, be = { class: "text-xs truncate" }, Ce = { class: "text-xs text-muted-foreground ml-auto tabular-nums" }, ke = { class: "overflow-x-auto" }, we = { class: "w-full text-sm" }, De = { class: "divide-y" }, $e = { class: "px-6 py-3" }, Re = { class: "flex items-center gap-2" }, Me = { class: "font-medium" }, Se = { class: "px-4 py-3 text-right tabular-nums" }, Ue = { class: "px-4 py-3 text-right tabular-nums" }, ze = { class: "px-4 py-3 text-right tabular-nums" }, Ne = { class: "px-4 py-3 text-right tabular-nums" }, qe = { class: "px-4 py-3 text-right tabular-nums" }, Ae = {
|
|
13
|
-
key: 0,
|
|
14
|
-
class: "px-6 py-8 text-center text-muted-foreground text-sm"
|
|
15
|
-
}, Ge = { class: "flex items-center gap-4" }, Be = ["onClick"], Le = {
|
|
16
|
-
key: 0,
|
|
17
|
-
class: "divide-y"
|
|
18
|
-
}, Ee = { class: "overflow-x-auto" }, je = { class: "w-full text-sm" }, Fe = { class: "divide-y" }, Te = { class: "px-6 py-3 text-muted-foreground" }, Ve = { class: "px-4 py-3 font-mono text-xs" }, Oe = { class: "px-4 py-3 text-right tabular-nums" }, Pe = { class: "px-4 py-3 text-right tabular-nums" }, He = { class: "px-4 py-3 text-right tabular-nums" }, Ie = { class: "px-4 py-3 text-right tabular-nums" }, We = {
|
|
19
|
-
key: 0,
|
|
20
|
-
class: "px-6 py-8 text-center text-muted-foreground text-sm"
|
|
21
|
-
}, Ke = {
|
|
22
|
-
key: 1,
|
|
23
|
-
class: "divide-y"
|
|
24
|
-
}, Je = { class: "flex items-center gap-3 min-w-0" }, Qe = { class: "text-muted-foreground w-5 text-right shrink-0" }, Xe = { class: "truncate font-medium" }, Ye = { class: "flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground" }, Ze = { class: "w-20 text-right" }, et = { class: "w-16 text-right" }, tt = { class: "w-16 text-right" }, st = {
|
|
25
|
-
key: 0,
|
|
26
|
-
class: "px-6 py-8 text-center text-muted-foreground text-sm"
|
|
27
|
-
}, ot = {
|
|
28
|
-
key: 2,
|
|
29
|
-
class: "divide-y"
|
|
30
|
-
}, nt = { class: "flex items-center gap-3 min-w-0" }, at = { class: "text-muted-foreground w-5 text-right shrink-0" }, lt = { class: "truncate font-medium" }, rt = { class: "flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground" }, it = { class: "w-20 text-right" }, ut = { class: "w-16 text-right" }, dt = { class: "w-16 text-right" }, ct = {
|
|
31
|
-
key: 0,
|
|
32
|
-
class: "px-6 py-8 text-center text-muted-foreground text-sm"
|
|
33
|
-
}, _t = /* @__PURE__ */ Q({
|
|
34
|
-
__name: "Acquisition",
|
|
35
|
-
setup(mt) {
|
|
36
|
-
const { config: j } = ee(), { moduleId: O } = te();
|
|
37
|
-
se(() => [{ label: "Acquisition" }]);
|
|
38
|
-
const y = p(!0), k = p(null), w = p("30"), C = p("sources"), _ = p([]), N = p([]), q = p([]), A = p([]), D = U(() => !!(j.serviceAccount && j.propertyId));
|
|
39
|
-
function $(n) {
|
|
40
|
-
return `/api/v1/modules/${O}${n}`;
|
|
41
|
-
}
|
|
42
|
-
const P = [
|
|
43
|
-
{ label: "7d", value: "7" },
|
|
44
|
-
{ label: "14d", value: "14" },
|
|
45
|
-
{ label: "30d", value: "30" },
|
|
46
|
-
{ label: "90d", value: "90" }
|
|
47
|
-
], f = [
|
|
48
|
-
"#3b82f6",
|
|
49
|
-
"#8b5cf6",
|
|
50
|
-
"#10b981",
|
|
51
|
-
"#f59e0b",
|
|
52
|
-
"#ef4444",
|
|
53
|
-
"#06b6d4",
|
|
54
|
-
"#ec4899",
|
|
55
|
-
"#84cc16",
|
|
56
|
-
"#f97316",
|
|
57
|
-
"#6366f1",
|
|
58
|
-
"#14b8a6",
|
|
59
|
-
"#e11d48",
|
|
60
|
-
"#a855f7",
|
|
61
|
-
"#22c55e",
|
|
62
|
-
"#eab308"
|
|
63
|
-
], H = U(() => {
|
|
64
|
-
const n = {};
|
|
65
|
-
return _.value.forEach((s, c) => {
|
|
66
|
-
const m = (s.sessionDefaultChannelGroup || "other").toLowerCase().replace(/[^a-z0-9]/g, "_");
|
|
67
|
-
n[m] = {
|
|
68
|
-
label: s.sessionDefaultChannelGroup || "Other",
|
|
69
|
-
color: f[c % f.length]
|
|
70
|
-
};
|
|
71
|
-
}), n;
|
|
72
|
-
}), I = U(
|
|
73
|
-
() => _.value.map((n, s) => ({
|
|
74
|
-
key: (n.sessionDefaultChannelGroup || "other").toLowerCase().replace(/[^a-z0-9]/g, "_"),
|
|
75
|
-
label: n.sessionDefaultChannelGroup || "Other",
|
|
76
|
-
sessions: n.sessions || 0,
|
|
77
|
-
fill: f[s % f.length]
|
|
78
|
-
}))
|
|
79
|
-
), W = U(
|
|
80
|
-
() => _.value.reduce((n, s) => n + (s.sessions || 0), 0)
|
|
81
|
-
);
|
|
82
|
-
function u(n) {
|
|
83
|
-
return n >= 1e6 ? `${(n / 1e6).toFixed(1)}M` : n >= 1e3 ? `${(n / 1e3).toFixed(1)}K` : Math.round(n).toString();
|
|
84
|
-
}
|
|
85
|
-
function R(n) {
|
|
86
|
-
return `${(n * 100).toFixed(1)}%`;
|
|
87
|
-
}
|
|
88
|
-
function K(n) {
|
|
89
|
-
const s = Math.floor(n / 60), c = Math.round(n % 60);
|
|
90
|
-
return s > 0 ? `${s}m ${c}s` : `${c}s`;
|
|
91
|
-
}
|
|
92
|
-
async function M() {
|
|
93
|
-
if (!D.value) return;
|
|
94
|
-
y.value = !0, k.value = null;
|
|
95
|
-
const n = `${w.value}daysAgo`;
|
|
96
|
-
try {
|
|
97
|
-
const [s, c, m, S] = await Promise.all([
|
|
98
|
-
$fetch($(`/acquisition/channels?startDate=${n}&endDate=today`)),
|
|
99
|
-
$fetch($(`/acquisition/source-medium?startDate=${n}&endDate=today`)),
|
|
100
|
-
$fetch($(`/acquisition/referrals?startDate=${n}&endDate=today`)).catch(() => ({ rows: [] })),
|
|
101
|
-
$fetch($(`/acquisition/campaigns?startDate=${n}&endDate=today`)).catch(() => ({ rows: [] }))
|
|
102
|
-
]);
|
|
103
|
-
_.value = s.rows || [], N.value = c.rows || [], q.value = m.rows || [], A.value = S.rows || [];
|
|
104
|
-
} catch (s) {
|
|
105
|
-
k.value = s?.data?.statusMessage || s?.message || "Failed to load acquisition data";
|
|
106
|
-
} finally {
|
|
107
|
-
y.value = !1;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return X(w, () => M()), Y(() => {
|
|
111
|
-
D.value ? M() : y.value = !1;
|
|
112
|
-
}), (n, s) => {
|
|
113
|
-
const c = b("Button"), m = b("Card"), S = b("CardTitle"), G = b("CardHeader"), J = b("ChartContainer"), B = b("CardContent");
|
|
114
|
-
return a(), l("div", ie, [
|
|
115
|
-
e("div", ue, [
|
|
116
|
-
s[0] || (s[0] = e("div", null, [
|
|
117
|
-
e("h1", { class: "text-2xl font-semibold" }, "Acquisition"),
|
|
118
|
-
e("p", { class: "text-muted-foreground text-sm mt-1" }, "Where your traffic comes from")
|
|
119
|
-
], -1)),
|
|
120
|
-
D.value ? (a(), l("div", de, [
|
|
121
|
-
e("div", ce, [
|
|
122
|
-
(a(), l(h, null, v(P, (t) => e("button", {
|
|
123
|
-
key: t.value,
|
|
124
|
-
class: L(["px-3 py-1.5 text-xs font-medium transition-colors", w.value === t.value ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground hover:bg-muted"]),
|
|
125
|
-
onClick: (d) => w.value = t.value
|
|
126
|
-
}, o(t.label), 11, me)), 64))
|
|
127
|
-
]),
|
|
128
|
-
r(c, {
|
|
129
|
-
variant: "outline",
|
|
130
|
-
size: "icon",
|
|
131
|
-
onClick: M,
|
|
132
|
-
disabled: y.value
|
|
133
|
-
}, {
|
|
134
|
-
default: i(() => [
|
|
135
|
-
r(x(oe), {
|
|
136
|
-
class: L(["size-4", { "animate-spin": y.value }])
|
|
137
|
-
}, null, 8, ["class"])
|
|
138
|
-
]),
|
|
139
|
-
_: 1
|
|
140
|
-
}, 8, ["disabled"])
|
|
141
|
-
])) : g("", !0)
|
|
142
|
-
]),
|
|
143
|
-
D.value ? k.value ? (a(), E(m, {
|
|
144
|
-
key: 1,
|
|
145
|
-
class: "p-6 border-destructive/50 bg-destructive/5"
|
|
146
|
-
}, {
|
|
147
|
-
default: i(() => [
|
|
148
|
-
e("p", xe, o(k.value), 1),
|
|
149
|
-
r(c, {
|
|
150
|
-
variant: "outline",
|
|
151
|
-
size: "sm",
|
|
152
|
-
class: "mt-3",
|
|
153
|
-
onClick: M
|
|
154
|
-
}, {
|
|
155
|
-
default: i(() => [...s[2] || (s[2] = [
|
|
156
|
-
z("Retry", -1)
|
|
157
|
-
])]),
|
|
158
|
-
_: 1
|
|
159
|
-
})
|
|
160
|
-
]),
|
|
161
|
-
_: 1
|
|
162
|
-
})) : y.value ? (a(), l("div", fe, [
|
|
163
|
-
r(x(ne), { class: "size-8 animate-spin text-muted-foreground" })
|
|
164
|
-
])) : (a(), l(h, { key: 3 }, [
|
|
165
|
-
e("div", pe, [
|
|
166
|
-
r(m, { class: "@4xl/charts:col-span-1" }, {
|
|
167
|
-
default: i(() => [
|
|
168
|
-
r(G, { class: "pb-2" }, {
|
|
169
|
-
default: i(() => [
|
|
170
|
-
r(S, { class: "text-base" }, {
|
|
171
|
-
default: i(() => [...s[3] || (s[3] = [
|
|
172
|
-
z("Channel Mix", -1)
|
|
173
|
-
])]),
|
|
174
|
-
_: 1
|
|
175
|
-
})
|
|
176
|
-
]),
|
|
177
|
-
_: 1
|
|
178
|
-
}),
|
|
179
|
-
r(B, { class: "flex flex-col items-center" }, {
|
|
180
|
-
default: i(() => [
|
|
181
|
-
e("div", he, [
|
|
182
|
-
r(J, {
|
|
183
|
-
config: H.value,
|
|
184
|
-
class: "mx-auto aspect-square max-h-[220px]"
|
|
185
|
-
}, {
|
|
186
|
-
default: i(() => [
|
|
187
|
-
r(x(le), {
|
|
188
|
-
data: I.value,
|
|
189
|
-
margin: { top: 20, bottom: 20, left: 20, right: 20 }
|
|
190
|
-
}, {
|
|
191
|
-
default: i(() => [
|
|
192
|
-
r(x(re), {
|
|
193
|
-
value: (t) => t.sessions,
|
|
194
|
-
color: (t) => t.fill,
|
|
195
|
-
arcWidth: 40,
|
|
196
|
-
padAngle: 0.02,
|
|
197
|
-
cornerRadius: 4
|
|
198
|
-
}, null, 8, ["value", "color"])
|
|
199
|
-
]),
|
|
200
|
-
_: 1
|
|
201
|
-
}, 8, ["data"])
|
|
202
|
-
]),
|
|
203
|
-
_: 1
|
|
204
|
-
}, 8, ["config"]),
|
|
205
|
-
e("div", ge, [
|
|
206
|
-
e("div", _e, [
|
|
207
|
-
e("p", ve, o(u(W.value)), 1),
|
|
208
|
-
s[4] || (s[4] = e("p", { class: "text-xs text-muted-foreground" }, "sessions", -1))
|
|
209
|
-
])
|
|
210
|
-
])
|
|
211
|
-
]),
|
|
212
|
-
e("div", ye, [
|
|
213
|
-
(a(!0), l(h, null, v(_.value.slice(0, 8), (t, d) => (a(), l("div", {
|
|
214
|
-
key: t.sessionDefaultChannelGroup,
|
|
215
|
-
class: "flex items-center gap-2"
|
|
216
|
-
}, [
|
|
217
|
-
e("div", {
|
|
218
|
-
class: "size-2.5 rounded-full shrink-0",
|
|
219
|
-
style: F({ backgroundColor: f[d % f.length] })
|
|
220
|
-
}, null, 4),
|
|
221
|
-
e("span", be, o(t.sessionDefaultChannelGroup), 1),
|
|
222
|
-
e("span", Ce, o(u(t.sessions)), 1)
|
|
223
|
-
]))), 128))
|
|
224
|
-
])
|
|
225
|
-
]),
|
|
226
|
-
_: 1
|
|
227
|
-
})
|
|
228
|
-
]),
|
|
229
|
-
_: 1
|
|
230
|
-
}),
|
|
231
|
-
r(m, { class: "@4xl/charts:col-span-2" }, {
|
|
232
|
-
default: i(() => [
|
|
233
|
-
r(G, { class: "pb-2" }, {
|
|
234
|
-
default: i(() => [
|
|
235
|
-
r(S, { class: "text-base" }, {
|
|
236
|
-
default: i(() => [...s[5] || (s[5] = [
|
|
237
|
-
z("Channels Performance", -1)
|
|
238
|
-
])]),
|
|
239
|
-
_: 1
|
|
240
|
-
})
|
|
241
|
-
]),
|
|
242
|
-
_: 1
|
|
243
|
-
}),
|
|
244
|
-
r(B, { class: "p-0" }, {
|
|
245
|
-
default: i(() => [
|
|
246
|
-
e("div", ke, [
|
|
247
|
-
e("table", we, [
|
|
248
|
-
s[6] || (s[6] = e("thead", null, [
|
|
249
|
-
e("tr", { class: "border-b text-left" }, [
|
|
250
|
-
e("th", { class: "px-6 py-3 font-medium text-muted-foreground" }, "Channel"),
|
|
251
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Sessions"),
|
|
252
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Users"),
|
|
253
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "New Users"),
|
|
254
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Engage Rate"),
|
|
255
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Avg Duration")
|
|
256
|
-
])
|
|
257
|
-
], -1)),
|
|
258
|
-
e("tbody", De, [
|
|
259
|
-
(a(!0), l(h, null, v(_.value, (t, d) => (a(), l("tr", {
|
|
260
|
-
key: t.sessionDefaultChannelGroup,
|
|
261
|
-
class: "hover:bg-muted/50"
|
|
262
|
-
}, [
|
|
263
|
-
e("td", $e, [
|
|
264
|
-
e("div", Re, [
|
|
265
|
-
e("div", {
|
|
266
|
-
class: "size-2.5 rounded-full shrink-0",
|
|
267
|
-
style: F({ backgroundColor: f[d % f.length] })
|
|
268
|
-
}, null, 4),
|
|
269
|
-
e("span", Me, o(t.sessionDefaultChannelGroup), 1)
|
|
270
|
-
])
|
|
271
|
-
]),
|
|
272
|
-
e("td", Se, o(u(t.sessions)), 1),
|
|
273
|
-
e("td", Ue, o(u(t.totalUsers)), 1),
|
|
274
|
-
e("td", ze, o(u(t.newUsers)), 1),
|
|
275
|
-
e("td", Ne, o(R(t.engagementRate || 0)), 1),
|
|
276
|
-
e("td", qe, o(K(t.averageSessionDuration || 0)), 1)
|
|
277
|
-
]))), 128))
|
|
278
|
-
])
|
|
279
|
-
])
|
|
280
|
-
]),
|
|
281
|
-
_.value.length ? g("", !0) : (a(), l("div", Ae, "No channel data available"))
|
|
282
|
-
]),
|
|
283
|
-
_: 1
|
|
284
|
-
})
|
|
285
|
-
]),
|
|
286
|
-
_: 1
|
|
287
|
-
})
|
|
288
|
-
]),
|
|
289
|
-
r(m, null, {
|
|
290
|
-
default: i(() => [
|
|
291
|
-
r(G, { class: "pb-0" }, {
|
|
292
|
-
default: i(() => [
|
|
293
|
-
e("div", Ge, [
|
|
294
|
-
(a(!0), l(h, null, v([
|
|
295
|
-
{ key: "sources", label: "Source / Medium", icon: x(ae) },
|
|
296
|
-
{ key: "referrals", label: "Referrals", icon: x(T) },
|
|
297
|
-
{ key: "campaigns", label: "Campaigns", icon: x(V) }
|
|
298
|
-
], (t) => (a(), l("button", {
|
|
299
|
-
key: t.key,
|
|
300
|
-
class: L(["flex items-center gap-1.5 px-3 py-2 text-sm font-medium rounded-md transition-colors", C.value === t.key ? "bg-muted text-foreground" : "text-muted-foreground hover:text-foreground"]),
|
|
301
|
-
onClick: (d) => C.value = t.key
|
|
302
|
-
}, [
|
|
303
|
-
(a(), E(Z(t.icon), { class: "size-3.5" })),
|
|
304
|
-
z(" " + o(t.label), 1)
|
|
305
|
-
], 10, Be))), 128))
|
|
306
|
-
])
|
|
307
|
-
]),
|
|
308
|
-
_: 1
|
|
309
|
-
}),
|
|
310
|
-
r(B, { class: "p-0 mt-4" }, {
|
|
311
|
-
default: i(() => [
|
|
312
|
-
C.value === "sources" ? (a(), l("div", Le, [
|
|
313
|
-
e("div", Ee, [
|
|
314
|
-
e("table", je, [
|
|
315
|
-
s[7] || (s[7] = e("thead", null, [
|
|
316
|
-
e("tr", { class: "border-b text-left" }, [
|
|
317
|
-
e("th", { class: "px-6 py-3 font-medium text-muted-foreground" }, "#"),
|
|
318
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground" }, "Source / Medium"),
|
|
319
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Sessions"),
|
|
320
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Users"),
|
|
321
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "New Users"),
|
|
322
|
-
e("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Bounce Rate")
|
|
323
|
-
])
|
|
324
|
-
], -1)),
|
|
325
|
-
e("tbody", Fe, [
|
|
326
|
-
(a(!0), l(h, null, v(N.value, (t, d) => (a(), l("tr", {
|
|
327
|
-
key: t.sessionSourceMedium,
|
|
328
|
-
class: "hover:bg-muted/50"
|
|
329
|
-
}, [
|
|
330
|
-
e("td", Te, o(d + 1), 1),
|
|
331
|
-
e("td", Ve, o(t.sessionSourceMedium), 1),
|
|
332
|
-
e("td", Oe, o(u(t.sessions)), 1),
|
|
333
|
-
e("td", Pe, o(u(t.totalUsers)), 1),
|
|
334
|
-
e("td", He, o(u(t.newUsers)), 1),
|
|
335
|
-
e("td", Ie, o(R(t.bounceRate || 0)), 1)
|
|
336
|
-
]))), 128))
|
|
337
|
-
])
|
|
338
|
-
])
|
|
339
|
-
]),
|
|
340
|
-
N.value.length ? g("", !0) : (a(), l("div", We, "No data available"))
|
|
341
|
-
])) : g("", !0),
|
|
342
|
-
C.value === "referrals" ? (a(), l("div", Ke, [
|
|
343
|
-
(a(!0), l(h, null, v(q.value, (t, d) => (a(), l("div", {
|
|
344
|
-
key: t.sessionSource,
|
|
345
|
-
class: "flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50"
|
|
346
|
-
}, [
|
|
347
|
-
e("div", Je, [
|
|
348
|
-
e("span", Qe, o(d + 1), 1),
|
|
349
|
-
r(x(T), { class: "size-3.5 text-muted-foreground shrink-0" }),
|
|
350
|
-
e("span", Xe, o(t.sessionSource), 1)
|
|
351
|
-
]),
|
|
352
|
-
e("div", Ye, [
|
|
353
|
-
e("span", Ze, o(u(t.sessions)) + " sessions", 1),
|
|
354
|
-
e("span", et, o(u(t.totalUsers)) + " users", 1),
|
|
355
|
-
e("span", tt, o(R(t.engagementRate || 0)) + " eng.", 1)
|
|
356
|
-
])
|
|
357
|
-
]))), 128)),
|
|
358
|
-
q.value.length ? g("", !0) : (a(), l("div", st, "No referral data available"))
|
|
359
|
-
])) : g("", !0),
|
|
360
|
-
C.value === "campaigns" ? (a(), l("div", ot, [
|
|
361
|
-
(a(!0), l(h, null, v(A.value, (t, d) => (a(), l("div", {
|
|
362
|
-
key: t.sessionCampaignName,
|
|
363
|
-
class: "flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50"
|
|
364
|
-
}, [
|
|
365
|
-
e("div", nt, [
|
|
366
|
-
e("span", at, o(d + 1), 1),
|
|
367
|
-
r(x(V), { class: "size-3.5 text-muted-foreground shrink-0" }),
|
|
368
|
-
e("span", lt, o(t.sessionCampaignName), 1)
|
|
369
|
-
]),
|
|
370
|
-
e("div", rt, [
|
|
371
|
-
e("span", it, o(u(t.sessions)) + " sessions", 1),
|
|
372
|
-
e("span", ut, o(u(t.totalUsers)) + " users", 1),
|
|
373
|
-
e("span", dt, o(R(t.engagementRate || 0)) + " eng.", 1)
|
|
374
|
-
])
|
|
375
|
-
]))), 128)),
|
|
376
|
-
A.value.length ? g("", !0) : (a(), l("div", ct, "No campaign data. Use UTM parameters in your URLs to track campaigns."))
|
|
377
|
-
])) : g("", !0)
|
|
378
|
-
]),
|
|
379
|
-
_: 1
|
|
380
|
-
})
|
|
381
|
-
]),
|
|
382
|
-
_: 1
|
|
383
|
-
})
|
|
384
|
-
], 64)) : (a(), E(m, {
|
|
385
|
-
key: 0,
|
|
386
|
-
class: "p-8 text-center"
|
|
387
|
-
}, {
|
|
388
|
-
default: i(() => [...s[1] || (s[1] = [
|
|
389
|
-
e("p", { class: "text-lg font-medium" }, "Setup required", -1),
|
|
390
|
-
e("p", { class: "text-sm text-muted-foreground mt-2" }, "Configure your GA4 property in module settings.", -1)
|
|
391
|
-
])]),
|
|
392
|
-
_: 1
|
|
393
|
-
}))
|
|
394
|
-
]);
|
|
395
|
-
};
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
export {
|
|
399
|
-
_t as default
|
|
400
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),C=require("@oneclick.dev/cms-kit");require("./index-B5aBwdxY.js");const d=require("lucide-vue-next"),B=require("./index-BiT55eU0.js"),q={class:"@container/charts flex flex-col gap-6 w-full max-w-7xl mx-auto py-8"},L={class:"flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center"},U={key:0,class:"flex items-center gap-2"},F={class:"flex items-center border rounded-lg overflow-hidden"},A=["onClick"],G={class:"text-sm text-destructive font-medium"},T={key:2,class:"flex items-center justify-center py-20"},j={class:"flex flex-col @4xl/charts:grid @4xl/charts:grid-cols-3 gap-6"},O={class:"relative"},P={class:"absolute inset-0 flex items-center justify-center pointer-events-none"},H={class:"text-center"},I={class:"text-2xl font-bold tabular-nums"},K={class:"mt-4 grid grid-cols-2 gap-x-4 gap-y-1.5 w-full"},W={class:"text-xs truncate"},J={class:"text-xs text-muted-foreground ml-auto tabular-nums"},Q={class:"overflow-x-auto"},X={class:"w-full text-sm"},Y={class:"divide-y"},Z={class:"px-6 py-3"},ee={class:"flex items-center gap-2"},te={class:"font-medium"},oe={class:"px-4 py-3 text-right tabular-nums"},se={class:"px-4 py-3 text-right tabular-nums"},ne={class:"px-4 py-3 text-right tabular-nums"},ae={class:"px-4 py-3 text-right tabular-nums"},le={class:"px-4 py-3 text-right tabular-nums"},re={key:0,class:"px-6 py-8 text-center text-muted-foreground text-sm"},ce={class:"flex items-center gap-4"},ie=["onClick"],de={key:0,class:"divide-y"},ue={class:"overflow-x-auto"},me={class:"w-full text-sm"},pe={class:"divide-y"},xe={class:"px-6 py-3 text-muted-foreground"},fe={class:"px-4 py-3 font-mono text-xs"},ge={class:"px-4 py-3 text-right tabular-nums"},he={class:"px-4 py-3 text-right tabular-nums"},_e={class:"px-4 py-3 text-right tabular-nums"},ye={class:"px-4 py-3 text-right tabular-nums"},ve={key:0,class:"px-6 py-8 text-center text-muted-foreground text-sm"},Ne={key:1,class:"divide-y"},Ve={class:"flex items-center gap-3 min-w-0"},ke={class:"text-muted-foreground w-5 text-right shrink-0"},Ee={class:"truncate font-medium"},Ce={class:"flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground"},be={class:"w-20 text-right"},Be={class:"w-16 text-right"},we={class:"w-16 text-right"},De={key:0,class:"px-6 py-8 text-center text-muted-foreground text-sm"},Se={key:2,class:"divide-y"},Me={class:"flex items-center gap-3 min-w-0"},$e={class:"text-muted-foreground w-5 text-right shrink-0"},Re={class:"truncate font-medium"},ze={class:"flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground"},qe={class:"w-20 text-right"},Le={class:"w-16 text-right"},Ue={class:"w-16 text-right"},Fe={key:0,class:"px-6 py-8 text-center text-muted-foreground text-sm"},Ae=e.defineComponent({__name:"Acquisition",setup(Ge){const{config:b}=C.useModule(),{moduleId:w}=C.useModuleRoute();C.useModuleBreadcrumbs(()=>[{label:"Acquisition"}]);const u=e.ref(!0),p=e.ref(null),x=e.ref("30"),m=e.ref("sources"),i=e.ref([]),v=e.ref([]),N=e.ref([]),V=e.ref([]),f=e.computed(()=>!!(b.serviceAccount&&b.propertyId));function g(s){return`/api/v1/modules/${w}${s}`}const D=[{label:"7d",value:"7"},{label:"14d",value:"14"},{label:"30d",value:"30"},{label:"90d",value:"90"}],c=["#3b82f6","#8b5cf6","#10b981","#f59e0b","#ef4444","#06b6d4","#ec4899","#84cc16","#f97316","#6366f1","#14b8a6","#e11d48","#a855f7","#22c55e","#eab308"],S=e.computed(()=>{const s={};return i.value.forEach((o,l)=>{const r=(o.sessionDefaultChannelGroup||"other").toLowerCase().replace(/[^a-z0-9]/g,"_");s[r]={label:o.sessionDefaultChannelGroup||"Other",color:c[l%c.length]}}),s}),M=e.computed(()=>i.value.map((s,o)=>({key:(s.sessionDefaultChannelGroup||"other").toLowerCase().replace(/[^a-z0-9]/g,"_"),label:s.sessionDefaultChannelGroup||"Other",sessions:s.sessions||0,fill:c[o%c.length]}))),$=e.computed(()=>i.value.reduce((s,o)=>s+(o.sessions||0),0));function n(s){return s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:Math.round(s).toString()}function h(s){return`${(s*100).toFixed(1)}%`}function R(s){const o=Math.floor(s/60),l=Math.round(s%60);return o>0?`${o}m ${l}s`:`${l}s`}async function _(){if(!f.value)return;u.value=!0,p.value=null;const s=`${x.value}daysAgo`;try{const[o,l,r,y]=await Promise.all([$fetch(g(`/acquisition/channels?startDate=${s}&endDate=today`)),$fetch(g(`/acquisition/source-medium?startDate=${s}&endDate=today`)),$fetch(g(`/acquisition/referrals?startDate=${s}&endDate=today`)).catch(()=>({rows:[]})),$fetch(g(`/acquisition/campaigns?startDate=${s}&endDate=today`)).catch(()=>({rows:[]}))]);i.value=o.rows||[],v.value=l.rows||[],N.value=r.rows||[],V.value=y.rows||[]}catch(o){p.value=o?.data?.statusMessage||o?.message||"Failed to load acquisition data"}finally{u.value=!1}}return e.watch(x,()=>_()),e.onMounted(()=>{f.value?_():u.value=!1}),(s,o)=>{const l=e.resolveComponent("Button"),r=e.resolveComponent("Card"),y=e.resolveComponent("CardTitle"),k=e.resolveComponent("CardHeader"),z=e.resolveComponent("ChartContainer"),E=e.resolveComponent("CardContent");return e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("div",L,[o[0]||(o[0]=e.createElementVNode("div",null,[e.createElementVNode("h1",{class:"text-2xl font-semibold"},"Acquisition"),e.createElementVNode("p",{class:"text-muted-foreground text-sm mt-1"},"Where your traffic comes from")],-1)),f.value?(e.openBlock(),e.createElementBlock("div",U,[e.createElementVNode("div",F,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(D,t=>e.createElementVNode("button",{key:t.value,class:e.normalizeClass(["px-3 py-1.5 text-xs font-medium transition-colors",x.value===t.value?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:a=>x.value=t.value},e.toDisplayString(t.label),11,A)),64))]),e.createVNode(l,{variant:"outline",size:"icon",onClick:_,disabled:u.value},{default:e.withCtx(()=>[e.createVNode(e.unref(d.RefreshCw),{class:e.normalizeClass(["size-4",{"animate-spin":u.value}])},null,8,["class"])]),_:1},8,["disabled"])])):e.createCommentVNode("",!0)]),f.value?p.value?(e.openBlock(),e.createBlock(r,{key:1,class:"p-6 border-destructive/50 bg-destructive/5"},{default:e.withCtx(()=>[e.createElementVNode("p",G,e.toDisplayString(p.value),1),e.createVNode(l,{variant:"outline",size:"sm",class:"mt-3",onClick:_},{default:e.withCtx(()=>[...o[2]||(o[2]=[e.createTextVNode("Retry",-1)])]),_:1})]),_:1})):u.value?(e.openBlock(),e.createElementBlock("div",T,[e.createVNode(e.unref(d.Loader2),{class:"size-8 animate-spin text-muted-foreground"})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",j,[e.createVNode(r,{class:"@4xl/charts:col-span-1"},{default:e.withCtx(()=>[e.createVNode(k,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(y,{class:"text-base"},{default:e.withCtx(()=>[...o[3]||(o[3]=[e.createTextVNode("Channel Mix",-1)])]),_:1})]),_:1}),e.createVNode(E,{class:"flex flex-col items-center"},{default:e.withCtx(()=>[e.createElementVNode("div",O,[e.createVNode(z,{config:S.value,class:"mx-auto aspect-square max-h-[220px]"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.S),{data:M.value,margin:{top:20,bottom:20,left:20,right:20}},{default:e.withCtx(()=>[e.createVNode(e.unref(B.E),{value:t=>t.sessions,color:t=>t.fill,arcWidth:40,padAngle:.02,cornerRadius:4},null,8,["value","color"])]),_:1},8,["data"])]),_:1},8,["config"]),e.createElementVNode("div",P,[e.createElementVNode("div",H,[e.createElementVNode("p",I,e.toDisplayString(n($.value)),1),o[4]||(o[4]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"sessions",-1))])])]),e.createElementVNode("div",K,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.slice(0,8),(t,a)=>(e.openBlock(),e.createElementBlock("div",{key:t.sessionDefaultChannelGroup,class:"flex items-center gap-2"},[e.createElementVNode("div",{class:"size-2.5 rounded-full shrink-0",style:e.normalizeStyle({backgroundColor:c[a%c.length]})},null,4),e.createElementVNode("span",W,e.toDisplayString(t.sessionDefaultChannelGroup),1),e.createElementVNode("span",J,e.toDisplayString(n(t.sessions)),1)]))),128))])]),_:1})]),_:1}),e.createVNode(r,{class:"@4xl/charts:col-span-2"},{default:e.withCtx(()=>[e.createVNode(k,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(y,{class:"text-base"},{default:e.withCtx(()=>[...o[5]||(o[5]=[e.createTextVNode("Channels Performance",-1)])]),_:1})]),_:1}),e.createVNode(E,{class:"p-0"},{default:e.withCtx(()=>[e.createElementVNode("div",Q,[e.createElementVNode("table",X,[o[6]||(o[6]=e.createElementVNode("thead",null,[e.createElementVNode("tr",{class:"border-b text-left"},[e.createElementVNode("th",{class:"px-6 py-3 font-medium text-muted-foreground"},"Channel"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Sessions"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Users"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"New Users"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Engage Rate"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Avg Duration")])],-1)),e.createElementVNode("tbody",Y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(t,a)=>(e.openBlock(),e.createElementBlock("tr",{key:t.sessionDefaultChannelGroup,class:"hover:bg-muted/50"},[e.createElementVNode("td",Z,[e.createElementVNode("div",ee,[e.createElementVNode("div",{class:"size-2.5 rounded-full shrink-0",style:e.normalizeStyle({backgroundColor:c[a%c.length]})},null,4),e.createElementVNode("span",te,e.toDisplayString(t.sessionDefaultChannelGroup),1)])]),e.createElementVNode("td",oe,e.toDisplayString(n(t.sessions)),1),e.createElementVNode("td",se,e.toDisplayString(n(t.totalUsers)),1),e.createElementVNode("td",ne,e.toDisplayString(n(t.newUsers)),1),e.createElementVNode("td",ae,e.toDisplayString(h(t.engagementRate||0)),1),e.createElementVNode("td",le,e.toDisplayString(R(t.averageSessionDuration||0)),1)]))),128))])])]),i.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",re,"No channel data available"))]),_:1})]),_:1})]),e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(k,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("div",ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList([{key:"sources",label:"Source / Medium",icon:e.unref(d.Share2)},{key:"referrals",label:"Referrals",icon:e.unref(d.ExternalLink)},{key:"campaigns",label:"Campaigns",icon:e.unref(d.Megaphone)}],t=>(e.openBlock(),e.createElementBlock("button",{key:t.key,class:e.normalizeClass(["flex items-center gap-1.5 px-3 py-2 text-sm font-medium rounded-md transition-colors",m.value===t.key?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:a=>m.value=t.key},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{class:"size-3.5"})),e.createTextVNode(" "+e.toDisplayString(t.label),1)],10,ie))),128))])]),_:1}),e.createVNode(E,{class:"p-0 mt-4"},{default:e.withCtx(()=>[m.value==="sources"?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("div",ue,[e.createElementVNode("table",me,[o[7]||(o[7]=e.createElementVNode("thead",null,[e.createElementVNode("tr",{class:"border-b text-left"},[e.createElementVNode("th",{class:"px-6 py-3 font-medium text-muted-foreground"},"#"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground"},"Source / Medium"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Sessions"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Users"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"New Users"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Bounce Rate")])],-1)),e.createElementVNode("tbody",pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(t,a)=>(e.openBlock(),e.createElementBlock("tr",{key:t.sessionSourceMedium,class:"hover:bg-muted/50"},[e.createElementVNode("td",xe,e.toDisplayString(a+1),1),e.createElementVNode("td",fe,e.toDisplayString(t.sessionSourceMedium),1),e.createElementVNode("td",ge,e.toDisplayString(n(t.sessions)),1),e.createElementVNode("td",he,e.toDisplayString(n(t.totalUsers)),1),e.createElementVNode("td",_e,e.toDisplayString(n(t.newUsers)),1),e.createElementVNode("td",ye,e.toDisplayString(h(t.bounceRate||0)),1)]))),128))])])]),v.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ve,"No data available"))])):e.createCommentVNode("",!0),m.value==="referrals"?(e.openBlock(),e.createElementBlock("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(t,a)=>(e.openBlock(),e.createElementBlock("div",{key:t.sessionSource,class:"flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50"},[e.createElementVNode("div",Ve,[e.createElementVNode("span",ke,e.toDisplayString(a+1),1),e.createVNode(e.unref(d.ExternalLink),{class:"size-3.5 text-muted-foreground shrink-0"}),e.createElementVNode("span",Ee,e.toDisplayString(t.sessionSource),1)]),e.createElementVNode("div",Ce,[e.createElementVNode("span",be,e.toDisplayString(n(t.sessions))+" sessions",1),e.createElementVNode("span",Be,e.toDisplayString(n(t.totalUsers))+" users",1),e.createElementVNode("span",we,e.toDisplayString(h(t.engagementRate||0))+" eng.",1)])]))),128)),N.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",De,"No referral data available"))])):e.createCommentVNode("",!0),m.value==="campaigns"?(e.openBlock(),e.createElementBlock("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,(t,a)=>(e.openBlock(),e.createElementBlock("div",{key:t.sessionCampaignName,class:"flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50"},[e.createElementVNode("div",Me,[e.createElementVNode("span",$e,e.toDisplayString(a+1),1),e.createVNode(e.unref(d.Megaphone),{class:"size-3.5 text-muted-foreground shrink-0"}),e.createElementVNode("span",Re,e.toDisplayString(t.sessionCampaignName),1)]),e.createElementVNode("div",ze,[e.createElementVNode("span",qe,e.toDisplayString(n(t.sessions))+" sessions",1),e.createElementVNode("span",Le,e.toDisplayString(n(t.totalUsers))+" users",1),e.createElementVNode("span",Ue,e.toDisplayString(h(t.engagementRate||0))+" eng.",1)])]))),128)),V.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Fe,"No campaign data. Use UTM parameters in your URLs to track campaigns."))])):e.createCommentVNode("",!0)]),_:1})]),_:1})],64)):(e.openBlock(),e.createBlock(r,{key:0,class:"p-8 text-center"},{default:e.withCtx(()=>[...o[1]||(o[1]=[e.createElementVNode("p",{class:"text-lg font-medium"},"Setup required",-1),e.createElementVNode("p",{class:"text-sm text-muted-foreground mt-2"},"Configure your GA4 property in module settings.",-1)])]),_:1}))])}}});exports.default=Ae;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),C={class:"w-full"},V={key:0,class:"flex items-center gap-2 py-3"},b={key:1,class:"text-xs text-destructive py-2"},w={key:2,class:"rounded-xl border bg-background p-3 space-y-3"},D={class:"relative flex items-start gap-3"},S={class:"shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center"},I={class:"flex-1 min-w-0 pr-10"},M={class:"text-sm font-semibold truncate"},$={class:"text-xs text-muted-foreground"},T={key:0,class:"text-xs text-muted-foreground text-center py-2"},j={key:1,class:"space-y-2"},z={class:"flex items-center justify-between"},A={class:"text-xs font-medium"},L={key:0,class:"text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-amber-50 dark:bg-amber-900/20 text-amber-600 dark:text-amber-400 uppercase"},F={key:0,class:"flex items-center gap-1.5 text-xs text-red-500"},q={key:1,class:"space-y-0.5"},O={key:2,class:"text-xs text-muted-foreground"},H=e.defineComponent({__name:"AgendaOpeningHoursCard",props:{toolName:{},projectSlug:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(r,{emit:f}){const{$useModuleApi:x}=useNuxtApp(),i=r,y=f,k=x(i.instanceId),u=e.ref(!0),a=e.ref(null),d=e.ref(null),v=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];async function N(){const{agendaId:n,date:t}=i.resolvedArgs||{};if(!n||!t){a.value="Agenda ID and date are required",u.value=!1,m(`Error: ${a.value}`);return}u.value=!0,a.value=null;try{const o=await k.get(`/agendas/${n}/opening-hours?date=${t}`);d.value=o,m({agendaId:o.agendaId,serviceName:o.serviceName,date:o.date,resources:o.resources.map(s=>({resourceId:s.resourceId,resourceName:s.resourceName,isClosed:s.isClosed,hours:s.hours,isException:s.isException}))})}catch(o){a.value=o?.data?.statusMessage||o?.message||"Failed to load opening hours",m(`Error loading opening hours: ${a.value}`)}finally{u.value=!1}}e.onMounted(()=>{N()});function m(n){i.status!=="completed"&&y("submit",n)}const h=e.computed(()=>{if(!d.value?.date)return"";const n=new Date(d.value.date+"T00:00:00");return`${v[n.getDay()]}, ${n.toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"})}`});return(n,t)=>{const o=e.resolveComponent("DropdownMenuTrigger"),s=e.resolveComponent("NuxtLink"),p=e.resolveComponent("DropdownMenuItem"),_=e.resolveComponent("DropdownMenuContent"),E=e.resolveComponent("DropdownMenu");return e.openBlock(),e.createElementBlock("div",C,[e.unref(u)?(e.openBlock(),e.createElementBlock("div",V,[e.createVNode(e.unref(c.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),t[0]||(t[0]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Loading opening hours…",-1))])):e.unref(a)?(e.openBlock(),e.createElementBlock("div",b,e.toDisplayString(e.unref(a)),1)):e.unref(d)?(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",D,[e.createElementVNode("div",S,[e.createVNode(e.unref(c.CalendarDays),{class:"size-5 text-primary"})]),e.createElementVNode("div",I,[e.createElementVNode("p",M,e.toDisplayString(e.unref(d).serviceName),1),e.createElementVNode("p",$,e.toDisplayString(e.unref(h)),1)]),e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(o,{class:"absolute top-2 right-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(c.Settings),{class:"size-4 text-muted-foreground hover:text-foreground transition-colors"})]),_:1}),e.createVNode(_,{align:"end"},{default:e.withCtx(()=>[e.createVNode(p,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(s,{to:`/projects/${r.projectSlug}/modules/${r.instanceId}/edit/${r.resolvedArgs.agendaId}/resources`},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarCog),{class:"size-4"}),t[1]||(t[1]=e.createTextVNode(" Regular hours ",-1))]),_:1},8,["to"])]),_:1}),e.createVNode(p,{"as-child":""},{default:e.withCtx(()=>[e.createVNode(s,{to:`/projects/${r.projectSlug}/modules/${r.instanceId}/edit/${r.resolvedArgs.agendaId}/exceptions`},{default:e.withCtx(()=>[e.createVNode(e.unref(c.CalendarCog),{class:"size-4"}),t[2]||(t[2]=e.createTextVNode(" Closures & exceptions ",-1))]),_:1},8,["to"])]),_:1})]),_:1})]),_:1})]),e.unref(d).resources.length===0?(e.openBlock(),e.createElementBlock("div",T," No active resources found for this agenda. ")):(e.openBlock(),e.createElementBlock("div",j,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d).resources,l=>(e.openBlock(),e.createElementBlock("div",{key:l.resourceId,class:"rounded-lg border px-3 py-2 space-y-1"},[e.createElementVNode("div",z,[e.createElementVNode("span",A,e.toDisplayString(l.resourceName),1),l.isException?(e.openBlock(),e.createElementBlock("span",L," Exception ")):e.createCommentVNode("",!0)]),l.isClosed?(e.openBlock(),e.createElementBlock("div",F,[e.createVNode(e.unref(c.BanIcon),{class:"size-3"}),t[3]||(t[3]=e.createElementVNode("span",null,"Closed",-1))])):l.hours.length>0?(e.openBlock(),e.createElementBlock("div",q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.hours,(g,B)=>(e.openBlock(),e.createElementBlock("div",{key:B,class:"flex items-center gap-1.5 text-xs text-muted-foreground"},[e.createVNode(e.unref(c.Clock),{class:"size-3"}),e.createElementVNode("span",null,e.toDisplayString(g.start)+" – "+e.toDisplayString(g.end),1)]))),128))])):(e.openBlock(),e.createElementBlock("div",O," No hours set "))]))),128))]))])):e.createCommentVNode("",!0)])}}});exports.default=H;
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { defineComponent as V, ref as _, onMounted as B, computed as F, resolveComponent as x, openBlock as t, createElementBlock as s, unref as e, createVNode as o, createElementVNode as r, toDisplayString as g, withCtx as m, createTextVNode as b, Fragment as N, renderList as C, createCommentVNode as I } from "vue";
|
|
2
|
-
import { Loader2 as H, CalendarDays as O, Settings as q, CalendarCog as D, BanIcon as R, Clock as U } from "lucide-vue-next";
|
|
3
|
-
const W = { class: "w-full" }, G = {
|
|
4
|
-
key: 0,
|
|
5
|
-
class: "flex items-center gap-2 py-3"
|
|
6
|
-
}, J = {
|
|
7
|
-
key: 1,
|
|
8
|
-
class: "text-xs text-destructive py-2"
|
|
9
|
-
}, K = {
|
|
10
|
-
key: 2,
|
|
11
|
-
class: "rounded-xl border bg-background p-3 space-y-3"
|
|
12
|
-
}, P = { class: "relative flex items-start gap-3" }, Q = { class: "shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center" }, X = { class: "flex-1 min-w-0 pr-10" }, Y = { class: "text-sm font-semibold truncate" }, Z = { class: "text-xs text-muted-foreground" }, ee = {
|
|
13
|
-
key: 0,
|
|
14
|
-
class: "text-xs text-muted-foreground text-center py-2"
|
|
15
|
-
}, te = {
|
|
16
|
-
key: 1,
|
|
17
|
-
class: "space-y-2"
|
|
18
|
-
}, se = { class: "flex items-center justify-between" }, oe = { class: "text-xs font-medium" }, ne = {
|
|
19
|
-
key: 0,
|
|
20
|
-
class: "text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-amber-50 dark:bg-amber-900/20 text-amber-600 dark:text-amber-400 uppercase"
|
|
21
|
-
}, ae = {
|
|
22
|
-
key: 0,
|
|
23
|
-
class: "flex items-center gap-1.5 text-xs text-red-500"
|
|
24
|
-
}, re = {
|
|
25
|
-
key: 1,
|
|
26
|
-
class: "space-y-0.5"
|
|
27
|
-
}, de = {
|
|
28
|
-
key: 2,
|
|
29
|
-
class: "text-xs text-muted-foreground"
|
|
30
|
-
}, le = /* @__PURE__ */ V({
|
|
31
|
-
__name: "AgendaOpeningHoursCard",
|
|
32
|
-
props: {
|
|
33
|
-
toolName: {},
|
|
34
|
-
projectSlug: {},
|
|
35
|
-
instanceId: {},
|
|
36
|
-
instanceName: {},
|
|
37
|
-
moduleType: {},
|
|
38
|
-
resolvedArgs: {},
|
|
39
|
-
status: {}
|
|
40
|
-
},
|
|
41
|
-
emits: ["submit"],
|
|
42
|
-
setup(u, { emit: w }) {
|
|
43
|
-
const { $useModuleApi: $ } = useNuxtApp(), y = u, M = w, S = $(y.instanceId), f = _(!0), l = _(null), c = _(null), z = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
|
44
|
-
async function A() {
|
|
45
|
-
const { agendaId: d, date: n } = y.resolvedArgs || {};
|
|
46
|
-
if (!d || !n) {
|
|
47
|
-
l.value = "Agenda ID and date are required", f.value = !1, v(`Error: ${l.value}`);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
f.value = !0, l.value = null;
|
|
51
|
-
try {
|
|
52
|
-
const a = await S.get(`/agendas/${d}/opening-hours?date=${n}`);
|
|
53
|
-
c.value = a, v({
|
|
54
|
-
agendaId: a.agendaId,
|
|
55
|
-
serviceName: a.serviceName,
|
|
56
|
-
date: a.date,
|
|
57
|
-
resources: a.resources.map((i) => ({
|
|
58
|
-
resourceId: i.resourceId,
|
|
59
|
-
resourceName: i.resourceName,
|
|
60
|
-
isClosed: i.isClosed,
|
|
61
|
-
hours: i.hours,
|
|
62
|
-
isException: i.isException
|
|
63
|
-
}))
|
|
64
|
-
});
|
|
65
|
-
} catch (a) {
|
|
66
|
-
l.value = a?.data?.statusMessage || a?.message || "Failed to load opening hours", v(`Error loading opening hours: ${l.value}`);
|
|
67
|
-
} finally {
|
|
68
|
-
f.value = !1;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
B(() => {
|
|
72
|
-
A();
|
|
73
|
-
});
|
|
74
|
-
function v(d) {
|
|
75
|
-
y.status !== "completed" && M("submit", d);
|
|
76
|
-
}
|
|
77
|
-
const E = F(() => {
|
|
78
|
-
if (!c.value?.date) return "";
|
|
79
|
-
const d = /* @__PURE__ */ new Date(c.value.date + "T00:00:00");
|
|
80
|
-
return `${z[d.getDay()]}, ${d.toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" })}`;
|
|
81
|
-
});
|
|
82
|
-
return (d, n) => {
|
|
83
|
-
const a = x("DropdownMenuTrigger"), i = x("NuxtLink"), h = x("DropdownMenuItem"), j = x("DropdownMenuContent"), T = x("DropdownMenu");
|
|
84
|
-
return t(), s("div", W, [
|
|
85
|
-
e(f) ? (t(), s("div", G, [
|
|
86
|
-
o(e(H), { class: "size-4 animate-spin text-muted-foreground" }),
|
|
87
|
-
n[0] || (n[0] = r("span", { class: "text-xs text-muted-foreground" }, "Loading opening hours…", -1))
|
|
88
|
-
])) : e(l) ? (t(), s("div", J, g(e(l)), 1)) : e(c) ? (t(), s("div", K, [
|
|
89
|
-
r("div", P, [
|
|
90
|
-
r("div", Q, [
|
|
91
|
-
o(e(O), { class: "size-5 text-primary" })
|
|
92
|
-
]),
|
|
93
|
-
r("div", X, [
|
|
94
|
-
r("p", Y, g(e(c).serviceName), 1),
|
|
95
|
-
r("p", Z, g(e(E)), 1)
|
|
96
|
-
]),
|
|
97
|
-
o(T, null, {
|
|
98
|
-
default: m(() => [
|
|
99
|
-
o(a, { class: "absolute top-2 right-2" }, {
|
|
100
|
-
default: m(() => [
|
|
101
|
-
o(e(q), { class: "size-4 text-muted-foreground hover:text-foreground transition-colors" })
|
|
102
|
-
]),
|
|
103
|
-
_: 1
|
|
104
|
-
}),
|
|
105
|
-
o(j, { align: "end" }, {
|
|
106
|
-
default: m(() => [
|
|
107
|
-
o(h, { "as-child": "" }, {
|
|
108
|
-
default: m(() => [
|
|
109
|
-
o(i, {
|
|
110
|
-
to: `/projects/${u.projectSlug}/modules/${u.instanceId}/edit/${u.resolvedArgs.agendaId}/resources`
|
|
111
|
-
}, {
|
|
112
|
-
default: m(() => [
|
|
113
|
-
o(e(D), { class: "size-4" }),
|
|
114
|
-
n[1] || (n[1] = b(" Regular hours ", -1))
|
|
115
|
-
]),
|
|
116
|
-
_: 1
|
|
117
|
-
}, 8, ["to"])
|
|
118
|
-
]),
|
|
119
|
-
_: 1
|
|
120
|
-
}),
|
|
121
|
-
o(h, { "as-child": "" }, {
|
|
122
|
-
default: m(() => [
|
|
123
|
-
o(i, {
|
|
124
|
-
to: `/projects/${u.projectSlug}/modules/${u.instanceId}/edit/${u.resolvedArgs.agendaId}/exceptions`
|
|
125
|
-
}, {
|
|
126
|
-
default: m(() => [
|
|
127
|
-
o(e(D), { class: "size-4" }),
|
|
128
|
-
n[2] || (n[2] = b(" Closures & exceptions ", -1))
|
|
129
|
-
]),
|
|
130
|
-
_: 1
|
|
131
|
-
}, 8, ["to"])
|
|
132
|
-
]),
|
|
133
|
-
_: 1
|
|
134
|
-
})
|
|
135
|
-
]),
|
|
136
|
-
_: 1
|
|
137
|
-
})
|
|
138
|
-
]),
|
|
139
|
-
_: 1
|
|
140
|
-
})
|
|
141
|
-
]),
|
|
142
|
-
e(c).resources.length === 0 ? (t(), s("div", ee, " No active resources found for this agenda. ")) : (t(), s("div", te, [
|
|
143
|
-
(t(!0), s(N, null, C(e(c).resources, (p) => (t(), s("div", {
|
|
144
|
-
key: p.resourceId,
|
|
145
|
-
class: "rounded-lg border px-3 py-2 space-y-1"
|
|
146
|
-
}, [
|
|
147
|
-
r("div", se, [
|
|
148
|
-
r("span", oe, g(p.resourceName), 1),
|
|
149
|
-
p.isException ? (t(), s("span", ne, " Exception ")) : I("", !0)
|
|
150
|
-
]),
|
|
151
|
-
p.isClosed ? (t(), s("div", ae, [
|
|
152
|
-
o(e(R), { class: "size-3" }),
|
|
153
|
-
n[3] || (n[3] = r("span", null, "Closed", -1))
|
|
154
|
-
])) : p.hours.length > 0 ? (t(), s("div", re, [
|
|
155
|
-
(t(!0), s(N, null, C(p.hours, (k, L) => (t(), s("div", {
|
|
156
|
-
key: L,
|
|
157
|
-
class: "flex items-center gap-1.5 text-xs text-muted-foreground"
|
|
158
|
-
}, [
|
|
159
|
-
o(e(U), { class: "size-3" }),
|
|
160
|
-
r("span", null, g(k.start) + " – " + g(k.end), 1)
|
|
161
|
-
]))), 128))
|
|
162
|
-
])) : (t(), s("div", de, " No hours set "))
|
|
163
|
-
]))), 128))
|
|
164
|
-
]))
|
|
165
|
-
])) : I("", !0)
|
|
166
|
-
]);
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
export {
|
|
171
|
-
le as default
|
|
172
|
-
};
|