@oneclick.dev/cms-core-modules 0.0.106 → 0.0.108
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-CfWHjjg8.mjs +394 -0
- package/dist/Audience-Cj4TyauW.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
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
import { t as e } from "./_plugin-vue_export-helper-BJQSo0im.mjs";
|
|
2
|
+
import { n as t, t as n } from "./single-container-BJmmqq65.mjs";
|
|
3
|
+
import { useModule as r, useModuleBreadcrumbs as i, useModuleRoute as a } from "@oneclick.dev/cms-kit";
|
|
4
|
+
import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, createVNode as p, defineComponent as m, normalizeClass as h, normalizeStyle as g, onMounted as _, openBlock as v, ref as y, renderList as b, resolveComponent as x, resolveDynamicComponent as S, toDisplayString as C, unref as w, watch as T, withCtx as E } from "vue";
|
|
5
|
+
import { Clock as ee, Cpu as te, Globe as ne, Languages as re, Loader2 as ie, MapPin as ae, Monitor as oe, RefreshCw as se, UserCheck as ce, UserPlus as le } from "@lucide/vue";
|
|
6
|
+
//#region src/googleAnalytics/pages/Audience.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var ue = { class: "flex flex-col gap-6 w-full max-w-7xl mx-auto py-8" }, de = { class: "flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center" }, fe = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "flex items-center gap-2"
|
|
10
|
+
}, pe = { class: "flex items-center border rounded-lg overflow-hidden" }, me = ["onClick"], he = { class: "text-sm text-destructive font-medium" }, ge = {
|
|
11
|
+
key: 2,
|
|
12
|
+
class: "flex items-center justify-center py-20"
|
|
13
|
+
}, _e = { class: "flex flex-col @lg:grid @lg:grid-cols-3 gap-6" }, ve = { class: "relative" }, ye = { class: "absolute inset-0 flex items-center justify-center pointer-events-none" }, be = { class: "text-center" }, D = { class: "text-xl font-bold tabular-nums" }, O = { class: "mt-4 flex items-center gap-6" }, k = { class: "flex items-center gap-2" }, A = { class: "text-sm font-semibold tabular-nums" }, j = {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: "text-xs text-muted-foreground"
|
|
16
|
+
}, M = { class: "flex items-center gap-2" }, N = { class: "text-sm font-semibold tabular-nums" }, xe = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "text-xs text-muted-foreground"
|
|
19
|
+
}, Se = { class: "overflow-x-auto" }, Ce = { class: "w-full text-sm" }, we = { class: "divide-y" }, Te = { class: "px-4 py-3" }, Ee = { class: "flex items-center gap-2" }, De = { class: "font-medium capitalize" }, Oe = { class: "px-4 py-3 text-right tabular-nums" }, ke = { class: "px-4 py-3 text-right tabular-nums" }, Ae = { class: "px-4 py-3 text-right tabular-nums" }, je = { class: "px-4 py-3 text-right tabular-nums" }, Me = { class: "px-4 py-3 text-right tabular-nums" }, Ne = { class: "overflow-x-auto" }, Pe = { class: "min-w-[600px]" }, Fe = { class: "flex items-center mb-1.5" }, Ie = { class: "flex-1 grid grid-cols-24 gap-0.5" }, Le = { class: "w-10 shrink-0 text-xs text-muted-foreground" }, Re = { class: "flex-1 grid grid-cols-24 gap-0.5" }, ze = ["title"], Be = { class: "grid @lg:grid-cols-3 gap-6" }, Ve = { class: "flex items-center justify-between" }, He = { class: "flex items-center gap-1" }, Ue = ["onClick", "title"], We = { class: "space-y-3" }, Ge = { class: "text-sm flex-1 truncate" }, Ke = { class: "flex-1 h-2 bg-muted rounded-full overflow-hidden" }, qe = { class: "text-xs tabular-nums text-muted-foreground w-12 text-right" }, Je = {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: "py-4 text-center text-muted-foreground text-sm"
|
|
22
|
+
}, Ye = { class: "space-y-3" }, Xe = { class: "text-sm flex-1 truncate" }, Ze = { class: "flex-1 h-2 bg-muted rounded-full overflow-hidden" }, Qe = { class: "text-xs tabular-nums text-muted-foreground w-12 text-right" }, $e = {
|
|
23
|
+
key: 0,
|
|
24
|
+
class: "py-4 text-center text-muted-foreground text-sm"
|
|
25
|
+
}, et = { class: "space-y-2.5" }, tt = { class: "flex-1 min-w-0" }, nt = { class: "text-sm truncate block" }, rt = { class: "text-xs text-muted-foreground truncate block" }, it = { class: "flex-1 h-2 bg-muted rounded-full overflow-hidden" }, at = { class: "text-xs tabular-nums text-muted-foreground w-12 text-right" }, ot = {
|
|
26
|
+
key: 0,
|
|
27
|
+
class: "py-4 text-center text-muted-foreground text-sm"
|
|
28
|
+
}, P = /* @__PURE__ */ e(/* @__PURE__ */ m({
|
|
29
|
+
__name: "Audience",
|
|
30
|
+
setup(e) {
|
|
31
|
+
let { config: m } = r(), { moduleId: P } = a();
|
|
32
|
+
i(() => [{ label: "Audience" }]);
|
|
33
|
+
let F = y(!0), I = y(null), L = y("30"), R = y("browser"), z = y([]), B = y([]), V = y([]), H = y([]), U = y([]), W = s(() => !!(m.serviceAccount && m.propertyId));
|
|
34
|
+
function G(e) {
|
|
35
|
+
return `/api/v1/modules/${P}${e}`;
|
|
36
|
+
}
|
|
37
|
+
let st = [
|
|
38
|
+
{
|
|
39
|
+
label: "7d",
|
|
40
|
+
value: "7"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: "14d",
|
|
44
|
+
value: "14"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: "30d",
|
|
48
|
+
value: "30"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
label: "90d",
|
|
52
|
+
value: "90"
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
function K(e) {
|
|
56
|
+
return e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}K` : Math.round(e).toString();
|
|
57
|
+
}
|
|
58
|
+
function ct(e) {
|
|
59
|
+
return `${(e * 100).toFixed(1)}%`;
|
|
60
|
+
}
|
|
61
|
+
function lt(e) {
|
|
62
|
+
let t = Math.floor(e / 60), n = Math.round(e % 60);
|
|
63
|
+
return t > 0 ? `${t}m ${n}s` : `${n}s`;
|
|
64
|
+
}
|
|
65
|
+
let q = {
|
|
66
|
+
new: "#3b82f6",
|
|
67
|
+
returning: "#8b5cf6"
|
|
68
|
+
}, J = {
|
|
69
|
+
new: {
|
|
70
|
+
label: "New Users",
|
|
71
|
+
color: q.new
|
|
72
|
+
},
|
|
73
|
+
returning: {
|
|
74
|
+
label: "Returning Users",
|
|
75
|
+
color: q.returning
|
|
76
|
+
}
|
|
77
|
+
}, Y = s(() => z.value.find((e) => e.newVsReturning === "new")?.totalUsers || 0), X = s(() => z.value.find((e) => e.newVsReturning === "returning")?.totalUsers || 0), ut = s(() => [{
|
|
78
|
+
key: "new",
|
|
79
|
+
label: "New",
|
|
80
|
+
value: Y.value,
|
|
81
|
+
fill: q.new
|
|
82
|
+
}, {
|
|
83
|
+
key: "returning",
|
|
84
|
+
label: "Returning",
|
|
85
|
+
value: X.value,
|
|
86
|
+
fill: q.returning
|
|
87
|
+
}]), Z = s(() => Y.value + X.value), dt = [
|
|
88
|
+
"Sunday",
|
|
89
|
+
"Monday",
|
|
90
|
+
"Tuesday",
|
|
91
|
+
"Wednesday",
|
|
92
|
+
"Thursday",
|
|
93
|
+
"Friday",
|
|
94
|
+
"Saturday"
|
|
95
|
+
], ft = [
|
|
96
|
+
"Sun",
|
|
97
|
+
"Mon",
|
|
98
|
+
"Tue",
|
|
99
|
+
"Wed",
|
|
100
|
+
"Thu",
|
|
101
|
+
"Fri",
|
|
102
|
+
"Sat"
|
|
103
|
+
], Q = s(() => {
|
|
104
|
+
let e = Array.from({ length: 7 }, () => Array(24).fill(0)), t = 1;
|
|
105
|
+
return H.value.forEach((n) => {
|
|
106
|
+
let r = dt.indexOf(n.dayOfWeekName), i = parseInt(n.hour, 10);
|
|
107
|
+
r >= 0 && i >= 0 && i < 24 && (e[r][i] = n.sessions || 0, n.sessions > t && (t = n.sessions));
|
|
108
|
+
}), {
|
|
109
|
+
matrix: e,
|
|
110
|
+
maxVal: t
|
|
111
|
+
};
|
|
112
|
+
});
|
|
113
|
+
function pt(e, t) {
|
|
114
|
+
if (e === 0) return "bg-muted";
|
|
115
|
+
let n = e / t;
|
|
116
|
+
return n > .75 ? "bg-blue-600 dark:bg-blue-500" : n > .5 ? "bg-blue-500 dark:bg-blue-400" : n > .25 ? "bg-blue-400/70 dark:bg-blue-400/60" : "bg-blue-300/50 dark:bg-blue-300/30";
|
|
117
|
+
}
|
|
118
|
+
let mt = [
|
|
119
|
+
{
|
|
120
|
+
key: "browser",
|
|
121
|
+
label: "Browser",
|
|
122
|
+
icon: ne
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "operatingSystem",
|
|
126
|
+
label: "OS",
|
|
127
|
+
icon: te
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
key: "screenResolution",
|
|
131
|
+
label: "Screen",
|
|
132
|
+
icon: oe
|
|
133
|
+
}
|
|
134
|
+
];
|
|
135
|
+
async function $() {
|
|
136
|
+
if (!W.value) return;
|
|
137
|
+
F.value = !0, I.value = null;
|
|
138
|
+
let e = `${L.value}daysAgo`;
|
|
139
|
+
try {
|
|
140
|
+
let [t, n, r, i, a] = await Promise.all([
|
|
141
|
+
$fetch(G(`/audience/overview?startDate=${e}&endDate=today`)),
|
|
142
|
+
$fetch(G(`/audience/technology?startDate=${e}&endDate=today&dimension=${R.value}`)),
|
|
143
|
+
$fetch(G(`/audience/languages?startDate=${e}&endDate=today`)),
|
|
144
|
+
$fetch(G(`/audience/hours?startDate=${e}&endDate=today`)),
|
|
145
|
+
$fetch(G(`/audience/cities?startDate=${e}&endDate=today`))
|
|
146
|
+
]);
|
|
147
|
+
z.value = t.rows || [], B.value = n.rows || [], V.value = r.rows || [], H.value = i.rows || [], U.value = a.rows || [];
|
|
148
|
+
} catch (e) {
|
|
149
|
+
I.value = e?.data?.statusMessage || e?.message || "Failed to load audience data";
|
|
150
|
+
} finally {
|
|
151
|
+
F.value = !1;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
async function ht() {
|
|
155
|
+
let e = `${L.value}daysAgo`;
|
|
156
|
+
try {
|
|
157
|
+
B.value = (await $fetch(G(`/audience/technology?startDate=${e}&endDate=today&dimension=${R.value}`))).rows || [];
|
|
158
|
+
} catch {}
|
|
159
|
+
}
|
|
160
|
+
return T(L, () => $()), T(R, () => ht()), _(() => {
|
|
161
|
+
W.value ? $() : F.value = !1;
|
|
162
|
+
}), (e, r) => {
|
|
163
|
+
let i = x("Button"), a = x("Card"), s = x("CardTitle"), m = x("CardHeader"), _ = x("ChartContainer"), y = x("CardContent");
|
|
164
|
+
return v(), u("div", ue, [d("div", de, [r[0] ||= d("div", null, [d("h1", { class: "text-2xl font-semibold" }, "Audience"), d("p", { class: "text-muted-foreground text-sm mt-1" }, "Who visits your site")], -1), W.value ? (v(), u("div", fe, [d("div", pe, [(v(), u(o, null, b(st, (e) => d("button", {
|
|
165
|
+
key: e.value,
|
|
166
|
+
class: h(["px-3 py-1.5 text-xs font-medium transition-colors", L.value === e.value ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground hover:bg-muted"]),
|
|
167
|
+
onClick: (t) => L.value = e.value
|
|
168
|
+
}, C(e.label), 11, me)), 64))]), p(i, {
|
|
169
|
+
variant: "outline",
|
|
170
|
+
size: "icon",
|
|
171
|
+
onClick: $,
|
|
172
|
+
disabled: F.value
|
|
173
|
+
}, {
|
|
174
|
+
default: E(() => [p(w(se), { class: h(["size-4", { "animate-spin": F.value }]) }, null, 8, ["class"])]),
|
|
175
|
+
_: 1
|
|
176
|
+
}, 8, ["disabled"])])) : l("", !0)]), W.value ? I.value ? (v(), c(a, {
|
|
177
|
+
key: 1,
|
|
178
|
+
class: "p-6 border-destructive/50 bg-destructive/5"
|
|
179
|
+
}, {
|
|
180
|
+
default: E(() => [d("p", he, C(I.value), 1), p(i, {
|
|
181
|
+
variant: "outline",
|
|
182
|
+
size: "sm",
|
|
183
|
+
class: "mt-3",
|
|
184
|
+
onClick: $
|
|
185
|
+
}, {
|
|
186
|
+
default: E(() => [...r[2] ||= [f("Retry", -1)]]),
|
|
187
|
+
_: 1
|
|
188
|
+
})]),
|
|
189
|
+
_: 1
|
|
190
|
+
})) : F.value ? (v(), u("div", ge, [p(w(ie), { class: "size-8 animate-spin text-muted-foreground" })])) : (v(), u(o, { key: 3 }, [
|
|
191
|
+
d("div", _e, [p(a, null, {
|
|
192
|
+
default: E(() => [p(m, { class: "pb-2" }, {
|
|
193
|
+
default: E(() => [p(s, { class: "text-base" }, {
|
|
194
|
+
default: E(() => [...r[3] ||= [f("New vs Returning", -1)]]),
|
|
195
|
+
_: 1
|
|
196
|
+
})]),
|
|
197
|
+
_: 1
|
|
198
|
+
}), p(y, { class: "flex flex-col items-center" }, {
|
|
199
|
+
default: E(() => [d("div", ve, [p(_, {
|
|
200
|
+
config: J,
|
|
201
|
+
class: "mx-auto aspect-square max-h-[200px]"
|
|
202
|
+
}, {
|
|
203
|
+
default: E(() => [p(w(n), {
|
|
204
|
+
data: ut.value,
|
|
205
|
+
margin: {
|
|
206
|
+
top: 16,
|
|
207
|
+
bottom: 16,
|
|
208
|
+
left: 16,
|
|
209
|
+
right: 16
|
|
210
|
+
}
|
|
211
|
+
}, {
|
|
212
|
+
default: E(() => [p(w(t), {
|
|
213
|
+
value: (e) => e.value,
|
|
214
|
+
color: (e) => e.fill,
|
|
215
|
+
arcWidth: 35,
|
|
216
|
+
padAngle: .03,
|
|
217
|
+
cornerRadius: 4
|
|
218
|
+
}, null, 8, ["value", "color"])]),
|
|
219
|
+
_: 1
|
|
220
|
+
}, 8, ["data"])]),
|
|
221
|
+
_: 1
|
|
222
|
+
}), d("div", ye, [d("div", be, [d("p", D, C(K(Z.value)), 1), r[4] ||= d("p", { class: "text-xs text-muted-foreground" }, "total users", -1)])])]), d("div", O, [d("div", k, [
|
|
223
|
+
d("div", {
|
|
224
|
+
class: "size-2.5 rounded-full",
|
|
225
|
+
style: g({ backgroundColor: q.new })
|
|
226
|
+
}, null, 4),
|
|
227
|
+
r[5] ||= d("span", { class: "text-sm" }, "New", -1),
|
|
228
|
+
d("span", A, C(K(Y.value)), 1),
|
|
229
|
+
Z.value ? (v(), u("span", j, C(Math.round(Y.value / Z.value * 100)) + "%", 1)) : l("", !0)
|
|
230
|
+
]), d("div", M, [
|
|
231
|
+
d("div", {
|
|
232
|
+
class: "size-2.5 rounded-full",
|
|
233
|
+
style: g({ backgroundColor: q.returning })
|
|
234
|
+
}, null, 4),
|
|
235
|
+
r[6] ||= d("span", { class: "text-sm" }, "Returning", -1),
|
|
236
|
+
d("span", N, C(K(X.value)), 1),
|
|
237
|
+
Z.value ? (v(), u("span", xe, C(Math.round(X.value / Z.value * 100)) + "%", 1)) : l("", !0)
|
|
238
|
+
])])]),
|
|
239
|
+
_: 1
|
|
240
|
+
})]),
|
|
241
|
+
_: 1
|
|
242
|
+
}), p(a, { class: "@lg:col-span-2" }, {
|
|
243
|
+
default: E(() => [p(m, { class: "pb-2" }, {
|
|
244
|
+
default: E(() => [p(s, { class: "text-base" }, {
|
|
245
|
+
default: E(() => [...r[7] ||= [f("Engagement by Visitor Type", -1)]]),
|
|
246
|
+
_: 1
|
|
247
|
+
})]),
|
|
248
|
+
_: 1
|
|
249
|
+
}), p(y, null, {
|
|
250
|
+
default: E(() => [d("div", Se, [d("table", Ce, [r[8] ||= d("thead", null, [d("tr", { class: "border-b text-left" }, [
|
|
251
|
+
d("th", { class: "px-4 py-3 font-medium text-muted-foreground" }, "Type"),
|
|
252
|
+
d("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Users"),
|
|
253
|
+
d("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Sessions"),
|
|
254
|
+
d("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Engagement Rate"),
|
|
255
|
+
d("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Avg Duration"),
|
|
256
|
+
d("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Pages/Session")
|
|
257
|
+
])], -1), d("tbody", we, [(v(!0), u(o, null, b(z.value, (e) => (v(), u("tr", {
|
|
258
|
+
key: e.newVsReturning,
|
|
259
|
+
class: "hover:bg-muted/50"
|
|
260
|
+
}, [
|
|
261
|
+
d("td", Te, [d("div", Ee, [(v(), c(S(e.newVsReturning === "new" ? w(le) : w(ce)), { class: "size-4 text-muted-foreground" })), d("span", De, C(e.newVsReturning), 1)])]),
|
|
262
|
+
d("td", Oe, C(K(e.totalUsers)), 1),
|
|
263
|
+
d("td", ke, C(K(e.sessions)), 1),
|
|
264
|
+
d("td", Ae, C(ct(e.engagementRate || 0)), 1),
|
|
265
|
+
d("td", je, C(lt(e.averageSessionDuration || 0)), 1),
|
|
266
|
+
d("td", Me, C((e.screenPageViewsPerSession || 0).toFixed(1)), 1)
|
|
267
|
+
]))), 128))])])])]),
|
|
268
|
+
_: 1
|
|
269
|
+
})]),
|
|
270
|
+
_: 1
|
|
271
|
+
})]),
|
|
272
|
+
p(a, null, {
|
|
273
|
+
default: E(() => [p(m, { class: "pb-2" }, {
|
|
274
|
+
default: E(() => [p(s, { class: "text-base flex items-center gap-2" }, {
|
|
275
|
+
default: E(() => [p(w(ee), { class: "size-4" }), r[9] ||= f(" Peak Hours ", -1)]),
|
|
276
|
+
_: 1
|
|
277
|
+
}), r[10] ||= d("p", { class: "text-xs text-muted-foreground mt-1" }, "When your visitors are most active (based on sessions)", -1)]),
|
|
278
|
+
_: 1
|
|
279
|
+
}), p(y, null, {
|
|
280
|
+
default: E(() => [d("div", Ne, [d("div", Pe, [
|
|
281
|
+
d("div", Fe, [r[11] ||= d("div", { class: "w-10 shrink-0" }, null, -1), d("div", Ie, [(v(), u(o, null, b(24, (e) => d("div", {
|
|
282
|
+
key: e,
|
|
283
|
+
class: "text-[10px] text-muted-foreground text-center"
|
|
284
|
+
}, C(e - 1), 1)), 64))])]),
|
|
285
|
+
(v(), u(o, null, b(ft, (e, t) => d("div", {
|
|
286
|
+
key: e,
|
|
287
|
+
class: "flex items-center mb-0.5"
|
|
288
|
+
}, [d("div", Le, C(e), 1), d("div", Re, [(v(), u(o, null, b(24, (n) => d("div", {
|
|
289
|
+
key: n,
|
|
290
|
+
class: h(["aspect-square rounded-sm transition-colors", pt(Q.value.matrix[t]?.[n - 1] || 0, Q.value.maxVal)]),
|
|
291
|
+
title: `${e} ${n - 1}:00 \u2014 ${Q.value.matrix[t]?.[n - 1] || 0} sessions`
|
|
292
|
+
}, null, 10, ze)), 64))])])), 64)),
|
|
293
|
+
r[12] ||= d("div", { class: "flex items-center justify-end gap-1.5 mt-3" }, [
|
|
294
|
+
d("span", { class: "text-[10px] text-muted-foreground" }, "Less"),
|
|
295
|
+
d("div", { class: "size-3 rounded-sm bg-muted" }),
|
|
296
|
+
d("div", { class: "size-3 rounded-sm bg-blue-300/50 dark:bg-blue-300/30" }),
|
|
297
|
+
d("div", { class: "size-3 rounded-sm bg-blue-400/70 dark:bg-blue-400/60" }),
|
|
298
|
+
d("div", { class: "size-3 rounded-sm bg-blue-500 dark:bg-blue-400" }),
|
|
299
|
+
d("div", { class: "size-3 rounded-sm bg-blue-600 dark:bg-blue-500" }),
|
|
300
|
+
d("span", { class: "text-[10px] text-muted-foreground" }, "More")
|
|
301
|
+
], -1)
|
|
302
|
+
])])]),
|
|
303
|
+
_: 1
|
|
304
|
+
})]),
|
|
305
|
+
_: 1
|
|
306
|
+
}),
|
|
307
|
+
d("div", Be, [
|
|
308
|
+
p(a, null, {
|
|
309
|
+
default: E(() => [p(m, { class: "pb-2" }, {
|
|
310
|
+
default: E(() => [d("div", Ve, [p(s, { class: "text-base" }, {
|
|
311
|
+
default: E(() => [...r[13] ||= [f("Technology", -1)]]),
|
|
312
|
+
_: 1
|
|
313
|
+
}), d("div", He, [(v(), u(o, null, b(mt, (e) => d("button", {
|
|
314
|
+
key: e.key,
|
|
315
|
+
class: h(["p-1.5 rounded-md transition-colors", R.value === e.key ? "bg-muted text-foreground" : "text-muted-foreground hover:text-foreground"]),
|
|
316
|
+
onClick: (t) => R.value = e.key,
|
|
317
|
+
title: e.label
|
|
318
|
+
}, [(v(), c(S(e.icon), { class: "size-3.5" }))], 10, Ue)), 64))])])]),
|
|
319
|
+
_: 1
|
|
320
|
+
}), p(y, null, {
|
|
321
|
+
default: E(() => [d("div", We, [(v(!0), u(o, null, b(B.value, (e) => (v(), u("div", {
|
|
322
|
+
key: e[R.value],
|
|
323
|
+
class: "flex items-center gap-3"
|
|
324
|
+
}, [
|
|
325
|
+
d("span", Ge, C(e[R.value] || "(not set)"), 1),
|
|
326
|
+
d("div", Ke, [d("div", {
|
|
327
|
+
class: "h-full bg-primary rounded-full transition-all",
|
|
328
|
+
style: g({ width: `${e.totalUsers / (B.value[0]?.totalUsers || 1) * 100}%` })
|
|
329
|
+
}, null, 4)]),
|
|
330
|
+
d("span", qe, C(K(e.totalUsers)), 1)
|
|
331
|
+
]))), 128)), B.value.length ? l("", !0) : (v(), u("div", Je, "No data"))])]),
|
|
332
|
+
_: 1
|
|
333
|
+
})]),
|
|
334
|
+
_: 1
|
|
335
|
+
}),
|
|
336
|
+
p(a, null, {
|
|
337
|
+
default: E(() => [p(m, { class: "pb-2" }, {
|
|
338
|
+
default: E(() => [p(s, { class: "text-base flex items-center gap-2" }, {
|
|
339
|
+
default: E(() => [p(w(re), { class: "size-4" }), r[14] ||= f(" Languages ", -1)]),
|
|
340
|
+
_: 1
|
|
341
|
+
})]),
|
|
342
|
+
_: 1
|
|
343
|
+
}), p(y, null, {
|
|
344
|
+
default: E(() => [d("div", Ye, [(v(!0), u(o, null, b(V.value, (e) => (v(), u("div", {
|
|
345
|
+
key: e.language,
|
|
346
|
+
class: "flex items-center gap-3"
|
|
347
|
+
}, [
|
|
348
|
+
d("span", Xe, C(e.language), 1),
|
|
349
|
+
d("div", Ze, [d("div", {
|
|
350
|
+
class: "h-full bg-primary rounded-full transition-all",
|
|
351
|
+
style: g({ width: `${e.totalUsers / (V.value[0]?.totalUsers || 1) * 100}%` })
|
|
352
|
+
}, null, 4)]),
|
|
353
|
+
d("span", Qe, C(K(e.totalUsers)), 1)
|
|
354
|
+
]))), 128)), V.value.length ? l("", !0) : (v(), u("div", $e, "No data"))])]),
|
|
355
|
+
_: 1
|
|
356
|
+
})]),
|
|
357
|
+
_: 1
|
|
358
|
+
}),
|
|
359
|
+
p(a, null, {
|
|
360
|
+
default: E(() => [p(m, { class: "pb-2" }, {
|
|
361
|
+
default: E(() => [p(s, { class: "text-base flex items-center gap-2" }, {
|
|
362
|
+
default: E(() => [p(w(ae), { class: "size-4" }), r[15] ||= f(" Top Cities ", -1)]),
|
|
363
|
+
_: 1
|
|
364
|
+
})]),
|
|
365
|
+
_: 1
|
|
366
|
+
}), p(y, null, {
|
|
367
|
+
default: E(() => [d("div", et, [(v(!0), u(o, null, b(U.value, (e) => (v(), u("div", {
|
|
368
|
+
key: `${e.city}-${e.country}`,
|
|
369
|
+
class: "flex items-center gap-3"
|
|
370
|
+
}, [
|
|
371
|
+
d("div", tt, [d("span", nt, C(e.city), 1), d("span", rt, C(e.country), 1)]),
|
|
372
|
+
d("div", it, [d("div", {
|
|
373
|
+
class: "h-full bg-primary rounded-full transition-all",
|
|
374
|
+
style: g({ width: `${e.totalUsers / (U.value[0]?.totalUsers || 1) * 100}%` })
|
|
375
|
+
}, null, 4)]),
|
|
376
|
+
d("span", at, C(K(e.totalUsers)), 1)
|
|
377
|
+
]))), 128)), U.value.length ? l("", !0) : (v(), u("div", ot, "No data"))])]),
|
|
378
|
+
_: 1
|
|
379
|
+
})]),
|
|
380
|
+
_: 1
|
|
381
|
+
})
|
|
382
|
+
])
|
|
383
|
+
], 64)) : (v(), c(a, {
|
|
384
|
+
key: 0,
|
|
385
|
+
class: "p-8 text-center"
|
|
386
|
+
}, {
|
|
387
|
+
default: E(() => [...r[1] ||= [d("p", { class: "text-lg font-medium" }, "Setup required", -1)]]),
|
|
388
|
+
_: 1
|
|
389
|
+
}))]);
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
}), [["__scopeId", "data-v-f83aa492"]]);
|
|
393
|
+
//#endregion
|
|
394
|
+
export { P as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk-DQi1bQcV.js`);const e=require(`./_plugin-vue_export-helper-5u7tqpWC.js`),t=require(`./single-container-Xoo0Xzxv.js`);let n=require(`@oneclick.dev/cms-kit`),r=require(`vue`),i=require(`@lucide/vue`);var a={class:`flex flex-col gap-6 w-full max-w-7xl mx-auto py-8`},ee={class:`flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center`},te={key:0,class:`flex items-center gap-2`},ne={class:`flex items-center border rounded-lg overflow-hidden`},re=[`onClick`],ie={class:`text-sm text-destructive font-medium`},ae={key:2,class:`flex items-center justify-center py-20`},oe={class:`flex flex-col @lg:grid @lg:grid-cols-3 gap-6`},se={class:`relative`},ce={class:`absolute inset-0 flex items-center justify-center pointer-events-none`},le={class:`text-center`},ue={class:`text-xl font-bold tabular-nums`},de={class:`mt-4 flex items-center gap-6`},fe={class:`flex items-center gap-2`},pe={class:`text-sm font-semibold tabular-nums`},me={key:0,class:`text-xs text-muted-foreground`},he={class:`flex items-center gap-2`},ge={class:`text-sm font-semibold tabular-nums`},_e={key:0,class:`text-xs text-muted-foreground`},ve={class:`overflow-x-auto`},ye={class:`w-full text-sm`},be={class:`divide-y`},xe={class:`px-4 py-3`},Se={class:`flex items-center gap-2`},Ce={class:`font-medium capitalize`},o={class:`px-4 py-3 text-right tabular-nums`},s={class:`px-4 py-3 text-right tabular-nums`},c={class:`px-4 py-3 text-right tabular-nums`},l={class:`px-4 py-3 text-right tabular-nums`},u={class:`px-4 py-3 text-right tabular-nums`},d={class:`overflow-x-auto`},f={class:`min-w-[600px]`},p={class:`flex items-center mb-1.5`},m={class:`flex-1 grid grid-cols-24 gap-0.5`},h={class:`w-10 shrink-0 text-xs text-muted-foreground`},g={class:`flex-1 grid grid-cols-24 gap-0.5`},_=[`title`],v={class:`grid @lg:grid-cols-3 gap-6`},y={class:`flex items-center justify-between`},b={class:`flex items-center gap-1`},x=[`onClick`,`title`],S={class:`space-y-3`},C={class:`text-sm flex-1 truncate`},w={class:`flex-1 h-2 bg-muted rounded-full overflow-hidden`},T={class:`text-xs tabular-nums text-muted-foreground w-12 text-right`},E={key:0,class:`py-4 text-center text-muted-foreground text-sm`},D={class:`space-y-3`},O={class:`text-sm flex-1 truncate`},k={class:`flex-1 h-2 bg-muted rounded-full overflow-hidden`},A={class:`text-xs tabular-nums text-muted-foreground w-12 text-right`},we={key:0,class:`py-4 text-center text-muted-foreground text-sm`},Te={class:`space-y-2.5`},Ee={class:`flex-1 min-w-0`},De={class:`text-sm truncate block`},Oe={class:`text-xs text-muted-foreground truncate block`},ke={class:`flex-1 h-2 bg-muted rounded-full overflow-hidden`},Ae={class:`text-xs tabular-nums text-muted-foreground w-12 text-right`},je={key:0,class:`py-4 text-center text-muted-foreground text-sm`},j=(0,r.defineComponent)({__name:`Audience`,setup(e){let{config:j}=(0,n.useModule)(),{moduleId:M}=(0,n.useModuleRoute)();(0,n.useModuleBreadcrumbs)(()=>[{label:`Audience`}]);let N=(0,r.ref)(!0),P=(0,r.ref)(null),F=(0,r.ref)(`30`),I=(0,r.ref)(`browser`),L=(0,r.ref)([]),R=(0,r.ref)([]),z=(0,r.ref)([]),B=(0,r.ref)([]),V=(0,r.ref)([]),H=(0,r.computed)(()=>!!(j.serviceAccount&&j.propertyId));function U(e){return`/api/v1/modules/${M}${e}`}let Me=[{label:`7d`,value:`7`},{label:`14d`,value:`14`},{label:`30d`,value:`30`},{label:`90d`,value:`90`}];function W(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:Math.round(e).toString()}function Ne(e){return`${(e*100).toFixed(1)}%`}function Pe(e){let t=Math.floor(e/60),n=Math.round(e%60);return t>0?`${t}m ${n}s`:`${n}s`}let G={new:`#3b82f6`,returning:`#8b5cf6`},Fe={new:{label:`New Users`,color:G.new},returning:{label:`Returning Users`,color:G.returning}},K=(0,r.computed)(()=>L.value.find(e=>e.newVsReturning===`new`)?.totalUsers||0),q=(0,r.computed)(()=>L.value.find(e=>e.newVsReturning===`returning`)?.totalUsers||0),J=(0,r.computed)(()=>[{key:`new`,label:`New`,value:K.value,fill:G.new},{key:`returning`,label:`Returning`,value:q.value,fill:G.returning}]),Y=(0,r.computed)(()=>K.value+q.value),X=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Ie=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],Z=(0,r.computed)(()=>{let e=Array.from({length:7},()=>Array(24).fill(0)),t=1;return B.value.forEach(n=>{let r=X.indexOf(n.dayOfWeekName),i=parseInt(n.hour,10);r>=0&&i>=0&&i<24&&(e[r][i]=n.sessions||0,n.sessions>t&&(t=n.sessions))}),{matrix:e,maxVal:t}});function Le(e,t){if(e===0)return`bg-muted`;let n=e/t;return n>.75?`bg-blue-600 dark:bg-blue-500`:n>.5?`bg-blue-500 dark:bg-blue-400`:n>.25?`bg-blue-400/70 dark:bg-blue-400/60`:`bg-blue-300/50 dark:bg-blue-300/30`}let Re=[{key:`browser`,label:`Browser`,icon:i.Globe},{key:`operatingSystem`,label:`OS`,icon:i.Cpu},{key:`screenResolution`,label:`Screen`,icon:i.Monitor}];async function Q(){if(!H.value)return;N.value=!0,P.value=null;let e=`${F.value}daysAgo`;try{let[t,n,r,i,a]=await Promise.all([$fetch(U(`/audience/overview?startDate=${e}&endDate=today`)),$fetch(U(`/audience/technology?startDate=${e}&endDate=today&dimension=${I.value}`)),$fetch(U(`/audience/languages?startDate=${e}&endDate=today`)),$fetch(U(`/audience/hours?startDate=${e}&endDate=today`)),$fetch(U(`/audience/cities?startDate=${e}&endDate=today`))]);L.value=t.rows||[],R.value=n.rows||[],z.value=r.rows||[],B.value=i.rows||[],V.value=a.rows||[]}catch(e){P.value=e?.data?.statusMessage||e?.message||`Failed to load audience data`}finally{N.value=!1}}async function $(){let e=`${F.value}daysAgo`;try{R.value=(await $fetch(U(`/audience/technology?startDate=${e}&endDate=today&dimension=${I.value}`))).rows||[]}catch{}}return(0,r.watch)(F,()=>Q()),(0,r.watch)(I,()=>$()),(0,r.onMounted)(()=>{H.value?Q():N.value=!1}),(e,n)=>{let j=(0,r.resolveComponent)(`Button`),M=(0,r.resolveComponent)(`Card`),B=(0,r.resolveComponent)(`CardTitle`),U=(0,r.resolveComponent)(`CardHeader`),X=(0,r.resolveComponent)(`ChartContainer`),$=(0,r.resolveComponent)(`CardContent`);return(0,r.openBlock)(),(0,r.createElementBlock)(`div`,a,[(0,r.createElementVNode)(`div`,ee,[n[0]||=(0,r.createElementVNode)(`div`,null,[(0,r.createElementVNode)(`h1`,{class:`text-2xl font-semibold`},`Audience`),(0,r.createElementVNode)(`p`,{class:`text-muted-foreground text-sm mt-1`},`Who visits your site`)],-1),H.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,te,[(0,r.createElementVNode)(`div`,ne,[((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(Me,e=>(0,r.createElementVNode)(`button`,{key:e.value,class:(0,r.normalizeClass)([`px-3 py-1.5 text-xs font-medium transition-colors`,F.value===e.value?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:t=>F.value=e.value},(0,r.toDisplayString)(e.label),11,re)),64))]),(0,r.createVNode)(j,{variant:`outline`,size:`icon`,onClick:Q,disabled:N.value},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.RefreshCw),{class:(0,r.normalizeClass)([`size-4`,{"animate-spin":N.value}])},null,8,[`class`])]),_:1},8,[`disabled`])])):(0,r.createCommentVNode)(``,!0)]),H.value?P.value?((0,r.openBlock)(),(0,r.createBlock)(M,{key:1,class:`p-6 border-destructive/50 bg-destructive/5`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`p`,ie,(0,r.toDisplayString)(P.value),1),(0,r.createVNode)(j,{variant:`outline`,size:`sm`,class:`mt-3`,onClick:Q},{default:(0,r.withCtx)(()=>[...n[2]||=[(0,r.createTextVNode)(`Retry`,-1)]]),_:1})]),_:1})):N.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,ae,[(0,r.createVNode)((0,r.unref)(i.Loader2),{class:`size-8 animate-spin text-muted-foreground`})])):((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:3},[(0,r.createElementVNode)(`div`,oe,[(0,r.createVNode)(M,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(U,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(B,{class:`text-base`},{default:(0,r.withCtx)(()=>[...n[3]||=[(0,r.createTextVNode)(`New vs Returning`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,{class:`flex flex-col items-center`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,se,[(0,r.createVNode)(X,{config:Fe,class:`mx-auto aspect-square max-h-[200px]`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(t.t),{data:J.value,margin:{top:16,bottom:16,left:16,right:16}},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(t.n),{value:e=>e.value,color:e=>e.fill,arcWidth:35,padAngle:.03,cornerRadius:4},null,8,[`value`,`color`])]),_:1},8,[`data`])]),_:1}),(0,r.createElementVNode)(`div`,ce,[(0,r.createElementVNode)(`div`,le,[(0,r.createElementVNode)(`p`,ue,(0,r.toDisplayString)(W(Y.value)),1),n[4]||=(0,r.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`total users`,-1)])])]),(0,r.createElementVNode)(`div`,de,[(0,r.createElementVNode)(`div`,fe,[(0,r.createElementVNode)(`div`,{class:`size-2.5 rounded-full`,style:(0,r.normalizeStyle)({backgroundColor:G.new})},null,4),n[5]||=(0,r.createElementVNode)(`span`,{class:`text-sm`},`New`,-1),(0,r.createElementVNode)(`span`,pe,(0,r.toDisplayString)(W(K.value)),1),Y.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,me,(0,r.toDisplayString)(Math.round(K.value/Y.value*100))+`%`,1)):(0,r.createCommentVNode)(``,!0)]),(0,r.createElementVNode)(`div`,he,[(0,r.createElementVNode)(`div`,{class:`size-2.5 rounded-full`,style:(0,r.normalizeStyle)({backgroundColor:G.returning})},null,4),n[6]||=(0,r.createElementVNode)(`span`,{class:`text-sm`},`Returning`,-1),(0,r.createElementVNode)(`span`,ge,(0,r.toDisplayString)(W(q.value)),1),Y.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,_e,(0,r.toDisplayString)(Math.round(q.value/Y.value*100))+`%`,1)):(0,r.createCommentVNode)(``,!0)])])]),_:1})]),_:1}),(0,r.createVNode)(M,{class:`@lg:col-span-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(U,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(B,{class:`text-base`},{default:(0,r.withCtx)(()=>[...n[7]||=[(0,r.createTextVNode)(`Engagement by Visitor Type`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,ve,[(0,r.createElementVNode)(`table`,ye,[n[8]||=(0,r.createElementVNode)(`thead`,null,[(0,r.createElementVNode)(`tr`,{class:`border-b text-left`},[(0,r.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground`},`Type`),(0,r.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Users`),(0,r.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Sessions`),(0,r.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Engagement Rate`),(0,r.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Avg Duration`),(0,r.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Pages/Session`)])],-1),(0,r.createElementVNode)(`tbody`,be,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(L.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`tr`,{key:e.newVsReturning,class:`hover:bg-muted/50`},[(0,r.createElementVNode)(`td`,xe,[(0,r.createElementVNode)(`div`,Se,[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(e.newVsReturning===`new`?(0,r.unref)(i.UserPlus):(0,r.unref)(i.UserCheck)),{class:`size-4 text-muted-foreground`})),(0,r.createElementVNode)(`span`,Ce,(0,r.toDisplayString)(e.newVsReturning),1)])]),(0,r.createElementVNode)(`td`,o,(0,r.toDisplayString)(W(e.totalUsers)),1),(0,r.createElementVNode)(`td`,s,(0,r.toDisplayString)(W(e.sessions)),1),(0,r.createElementVNode)(`td`,c,(0,r.toDisplayString)(Ne(e.engagementRate||0)),1),(0,r.createElementVNode)(`td`,l,(0,r.toDisplayString)(Pe(e.averageSessionDuration||0)),1),(0,r.createElementVNode)(`td`,u,(0,r.toDisplayString)((e.screenPageViewsPerSession||0).toFixed(1)),1)]))),128))])])])]),_:1})]),_:1})]),(0,r.createVNode)(M,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(U,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(B,{class:`text-base flex items-center gap-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Clock),{class:`size-4`}),n[9]||=(0,r.createTextVNode)(` Peak Hours `,-1)]),_:1}),n[10]||=(0,r.createElementVNode)(`p`,{class:`text-xs text-muted-foreground mt-1`},`When your visitors are most active (based on sessions)`,-1)]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,d,[(0,r.createElementVNode)(`div`,f,[(0,r.createElementVNode)(`div`,p,[n[11]||=(0,r.createElementVNode)(`div`,{class:`w-10 shrink-0`},null,-1),(0,r.createElementVNode)(`div`,m,[((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(24,e=>(0,r.createElementVNode)(`div`,{key:e,class:`text-[10px] text-muted-foreground text-center`},(0,r.toDisplayString)(e-1),1)),64))])]),((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(Ie,(e,t)=>(0,r.createElementVNode)(`div`,{key:e,class:`flex items-center mb-0.5`},[(0,r.createElementVNode)(`div`,h,(0,r.toDisplayString)(e),1),(0,r.createElementVNode)(`div`,g,[((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(24,n=>(0,r.createElementVNode)(`div`,{key:n,class:(0,r.normalizeClass)([`aspect-square rounded-sm transition-colors`,Le(Z.value.matrix[t]?.[n-1]||0,Z.value.maxVal)]),title:`${e} ${n-1}:00 \u2014 ${Z.value.matrix[t]?.[n-1]||0} sessions`},null,10,_)),64))])])),64)),n[12]||=(0,r.createElementVNode)(`div`,{class:`flex items-center justify-end gap-1.5 mt-3`},[(0,r.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`Less`),(0,r.createElementVNode)(`div`,{class:`size-3 rounded-sm bg-muted`}),(0,r.createElementVNode)(`div`,{class:`size-3 rounded-sm bg-blue-300/50 dark:bg-blue-300/30`}),(0,r.createElementVNode)(`div`,{class:`size-3 rounded-sm bg-blue-400/70 dark:bg-blue-400/60`}),(0,r.createElementVNode)(`div`,{class:`size-3 rounded-sm bg-blue-500 dark:bg-blue-400`}),(0,r.createElementVNode)(`div`,{class:`size-3 rounded-sm bg-blue-600 dark:bg-blue-500`}),(0,r.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`More`)],-1)])])]),_:1})]),_:1}),(0,r.createElementVNode)(`div`,v,[(0,r.createVNode)(M,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(U,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,y,[(0,r.createVNode)(B,{class:`text-base`},{default:(0,r.withCtx)(()=>[...n[13]||=[(0,r.createTextVNode)(`Technology`,-1)]]),_:1}),(0,r.createElementVNode)(`div`,b,[((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(Re,e=>(0,r.createElementVNode)(`button`,{key:e.key,class:(0,r.normalizeClass)([`p-1.5 rounded-md transition-colors`,I.value===e.key?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`]),onClick:t=>I.value=e.key,title:e.label},[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(e.icon),{class:`size-3.5`}))],10,x)),64))])])]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,S,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(R.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e[I.value],class:`flex items-center gap-3`},[(0,r.createElementVNode)(`span`,C,(0,r.toDisplayString)(e[I.value]||`(not set)`),1),(0,r.createElementVNode)(`div`,w,[(0,r.createElementVNode)(`div`,{class:`h-full bg-primary rounded-full transition-all`,style:(0,r.normalizeStyle)({width:`${e.totalUsers/(R.value[0]?.totalUsers||1)*100}%`})},null,4)]),(0,r.createElementVNode)(`span`,T,(0,r.toDisplayString)(W(e.totalUsers)),1)]))),128)),R.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,E,`No data`))])]),_:1})]),_:1}),(0,r.createVNode)(M,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(U,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(B,{class:`text-base flex items-center gap-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Languages),{class:`size-4`}),n[14]||=(0,r.createTextVNode)(` Languages `,-1)]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,D,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(z.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.language,class:`flex items-center gap-3`},[(0,r.createElementVNode)(`span`,O,(0,r.toDisplayString)(e.language),1),(0,r.createElementVNode)(`div`,k,[(0,r.createElementVNode)(`div`,{class:`h-full bg-primary rounded-full transition-all`,style:(0,r.normalizeStyle)({width:`${e.totalUsers/(z.value[0]?.totalUsers||1)*100}%`})},null,4)]),(0,r.createElementVNode)(`span`,A,(0,r.toDisplayString)(W(e.totalUsers)),1)]))),128)),z.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,we,`No data`))])]),_:1})]),_:1}),(0,r.createVNode)(M,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(U,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(B,{class:`text-base flex items-center gap-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.MapPin),{class:`size-4`}),n[15]||=(0,r.createTextVNode)(` Top Cities `,-1)]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,Te,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(V.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:`${e.city}-${e.country}`,class:`flex items-center gap-3`},[(0,r.createElementVNode)(`div`,Ee,[(0,r.createElementVNode)(`span`,De,(0,r.toDisplayString)(e.city),1),(0,r.createElementVNode)(`span`,Oe,(0,r.toDisplayString)(e.country),1)]),(0,r.createElementVNode)(`div`,ke,[(0,r.createElementVNode)(`div`,{class:`h-full bg-primary rounded-full transition-all`,style:(0,r.normalizeStyle)({width:`${e.totalUsers/(V.value[0]?.totalUsers||1)*100}%`})},null,4)]),(0,r.createElementVNode)(`span`,Ae,(0,r.toDisplayString)(W(e.totalUsers)),1)]))),128)),V.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,je,`No data`))])]),_:1})]),_:1})])],64)):((0,r.openBlock)(),(0,r.createBlock)(M,{key:0,class:`p-8 text-center`},{default:(0,r.withCtx)(()=>[...n[1]||=[(0,r.createElementVNode)(`p`,{class:`text-lg font-medium`},`Setup required`,-1)]]),_:1}))])}}}),M=e.t(j,[[`__scopeId`,`data-v-f83aa492`]]);exports.default=M;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk-DQi1bQcV.js`);let e=require(`@oneclick.dev/cms-kit`),t=require(`vue`),n=require(`@lucide/vue`);var r={class:`grid py-4`},i={class:`flex gap-6 mb-6`},a={class:`w-1/2`},o={class:`w-1/2`},s={class:`flex gap-6 mb-6`},c={class:`w-1/2`},l={class:`w-1/2`},u={class:`grid grid-cols-3 bg-input/30 rounded border divide-x divide-input/30 mb-6`},d=(0,t.defineComponent)({__name:`ComponentDialog`,emits:[`add`,`edit`,`delete`],setup(d,{expose:f,emit:p}){let{confirm:m}=(0,e.useConfirmation)(),h=p,g=(0,t.ref)(!1),_=(0,t.ref)(`create`),v=(0,t.ref)(``),y=(0,t.ref)(``),b=(0,t.ref)(``),x=(0,t.ref)(``),S=(0,t.ref)(``),C=(0,t.ref)(`layout`),w=(0,t.ref)([]),T=e=>{e?(_.value=`edit`,v.value=e.id,y.value=e.displayName||``,b.value=e.name||``,x.value=e.tint||``,S.value=e.icon||``,C.value=e.componentType||`layout`,w.value=e.formLayout||[]):(_.value=`create`,v.value=``,y.value=``,b.value=``,x.value=``,S.value=``,C.value=`layout`,w.value=[]),g.value=!0},E=()=>{h(`add`,{id:crypto.randomUUID(),displayName:y.value,name:b.value,tint:x.value,icon:S.value,componentType:C.value,formLayout:w.value}),g.value=!1},D=()=>{h(`edit`,{id:v.value,displayName:y.value,name:b.value,tint:x.value,icon:S.value,componentType:C.value,formLayout:w.value}),g.value=!1},O=async()=>{await m(`Are you sure you want to delete this component? This action cannot be undone.`,`Delete Component`,`Delete`)&&(h(`delete`,v.value),g.value=!1)};return f({openDialog:T}),(e,d)=>{let f=(0,t.resolveComponent)(`DialogTitle`),p=(0,t.resolveComponent)(`DialogDescription`),m=(0,t.resolveComponent)(`DialogHeader`),h=(0,t.resolveComponent)(`Input`),v=(0,t.resolveComponent)(`TailwindColorPicker`),T=(0,t.resolveComponent)(`LucideIconPicker`),k=(0,t.resolveComponent)(`FormBuilderSelect`),A=(0,t.resolveComponent)(`Button`),j=(0,t.resolveComponent)(`DialogFooter`),M=(0,t.resolveComponent)(`DialogScrollContent`),N=(0,t.resolveComponent)(`Dialog`);return(0,t.openBlock)(),(0,t.createBlock)(N,{open:g.value,"onUpdate:open":d[8]||=e=>g.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(M,{class:`sm:max-w-2xl`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(m,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(f,null,{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(_.value===`create`?`Add New Component`:`Update Component`),1)]),_:1}),(0,t.createVNode)(p,null,{default:(0,t.withCtx)(()=>[...d[9]||=[(0,t.createTextVNode)(` Connect the components from your front-end to build pages with them. `,-1)]]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,r,[(0,t.createElementVNode)(`div`,i,[(0,t.createElementVNode)(`div`,a,[d[10]||=(0,t.createElementVNode)(`label`,{for:`component-dialog-display-name`,class:`text-sm mb-1 block font-medium`},`Display Name`,-1),(0,t.createVNode)(h,{modelValue:y.value,"onUpdate:modelValue":d[0]||=e=>y.value=e,placeholder:`Display Name`,id:`component-dialog-display-name`},null,8,[`modelValue`]),d[11]||=(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground mt-2`},` This is the name that the user will see in the component list. `,-1)]),(0,t.createElementVNode)(`div`,o,[d[12]||=(0,t.createElementVNode)(`label`,{for:`component-dialog-component-name`,class:`text-sm mb-1 block font-medium`},`Component Name`,-1),(0,t.createVNode)(h,{modelValue:b.value,"onUpdate:modelValue":d[1]||=e=>b.value=e,placeholder:`Component Name`,id:`component-dialog-component-name`},null,8,[`modelValue`]),d[13]||=(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground mt-2`},` How is the component called in your front-end? `,-1)])]),(0,t.createElementVNode)(`div`,s,[(0,t.createElementVNode)(`div`,c,[d[14]||=(0,t.createElementVNode)(`label`,{for:`component-dialog-display-name`,class:`text-sm mb-1 block font-medium`},`Tint`,-1),(0,t.createVNode)(v,{modelValue:x.value,"onUpdate:modelValue":d[2]||=e=>x.value=e,"default-value":`white`},null,8,[`modelValue`])]),(0,t.createElementVNode)(`div`,l,[d[15]||=(0,t.createElementVNode)(`label`,{for:`component-dialog-component-name`,class:`text-sm mb-1 block font-medium`},`Icon`,-1),(0,t.createVNode)(T,{modelValue:S.value,"onUpdate:modelValue":d[3]||=e=>S.value=e},null,8,[`modelValue`])])]),d[22]||=(0,t.createElementVNode)(`p`,{class:`text-sm mb-1 block font-medium`},` Component Type `,-1),(0,t.createElementVNode)(`div`,u,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`flex flex-col p-6 hover:bg-input/30 transition-all duration-300`,{"bg-input/50 hover:bg-input/50":C.value==`layout`}]),onClick:d[4]||=e=>C.value=`layout`},[d[16]||=(0,t.createElementVNode)(`svg`,{width:`60`,height:`60`,viewBox:`0 0 60 60`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,class:`dark:invert dark:opacity-30 mx-auto mb-4`},[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M10 6C7.79086 6 6 7.79086 6 10V15H0V10C0 4.47715 4.47715 0 10 0H15V6H10ZM35 6H25V0H35V6ZM50 6H45V0H50C55.5229 0 60 4.47715 60 10V15H54V10C54 7.79086 52.2091 6 50 6ZM6 25V35H0V25H6ZM54 35V25H60V35H54ZM6 45V50C6 52.2091 7.79086 54 10 54H15V60H10C4.47715 60 0 55.5228 0 50V45H6ZM54 50V45H60V50C60 55.5229 55.5228 60 50 60H45V54H50C52.2091 54 54 52.2091 54 50ZM25 54H35V60H25V54Z`,fill:`black`})],-1),d[17]||=(0,t.createElementVNode)(`div`,{class:`mb-auto`},[(0,t.createElementVNode)(`strong`,{class:`text-sm mb-1`},`Layout Component`),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Helps setting up the overall structure or layout of the page. (Examples: Section, 2\xA0Column\xA0Grid,\xA0...) `)],-1),C.value==`layout`?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.CircleCheck),{key:1,class:`size-4 mx-auto mt-4`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Circle),{key:0,class:`size-4 mx-auto mt-4`}))],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`flex flex-col p-6 hover:bg-input/30 transition-all duration-300`,{"bg-input/50 hover:bg-input/50":C.value==`content`}]),onClick:d[5]||=e=>C.value=`content`},[d[18]||=(0,t.createElementVNode)(`svg`,{width:`60`,height:`60`,viewBox:`0 0 60 60`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,class:`dark:invert dark:opacity-30 mx-auto mb-4`},[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M0 10C0 4.47715 4.47715 0 10 0H50C55.5229 0 60 4.47715 60 10V50C60 55.5229 55.5228 60 50 60H10C4.47715 60 0 55.5228 0 50V10ZM10 6C7.79086 6 6 7.79086 6 10V50C6 52.2091 7.79086 54 10 54H50C52.2091 54 54 52.2091 54 50V10C54 7.79086 52.2091 6 50 6H10Z`,fill:`black`})],-1),d[19]||=(0,t.createElementVNode)(`div`,{class:`mb-auto`},[(0,t.createElementVNode)(`strong`,{class:`text-sm mb-1`},`Content Component`),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Aimed at hosting and displaying unique content. (Examples: Text, Link, Image,\xA0...) `)],-1),C.value==`content`?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.CircleCheck),{key:1,class:`size-4 mx-auto mt-4`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Circle),{key:0,class:`size-4 mx-auto mt-4`}))],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`flex flex-col p-6 hover:bg-input/30 transition-all duration-300`,{"bg-input/50 hover:bg-input/50":C.value==`hybrid`}]),onClick:d[6]||=e=>C.value=`hybrid`},[d[20]||=(0,t.createElementVNode)(`svg`,{width:`60`,height:`60`,viewBox:`0 0 60 60`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,class:`dark:invert dark:opacity-30 mx-auto mb-4`},[(0,t.createElementVNode)(`path`,{"fill-rule":`evenodd`,"clip-rule":`evenodd`,d:`M54 10C54 7.79086 52.2091 6 50 6L45 6L45 -6.55671e-07L50 -4.37114e-07C55.5228 -1.95703e-07 60 4.47715 60 10L60 15L54 15L54 10ZM54 50L54 15L60 15L60 50C60 55.5229 55.5228 60 50 60L15 60L15 54L50 54C52.2091 54 54 52.2091 54 50ZM35 6L25 6L25 -1.5299e-06L35 -1.09278e-06L35 6ZM15 6L10 6C7.79086 6 6 7.79086 6 10L6 15L-6.55671e-07 15L-4.37114e-07 10C-1.95703e-07 4.47715 4.47715 -2.42698e-06 10 -2.18557e-06L15 -1.96701e-06L15 6ZM10 54L15 54L15 60L10 60C4.47715 60 -2.42698e-06 55.5228 -2.18557e-06 50L-1.96701e-06 45L6 45L6 50C6 52.2091 7.79086 54 10 54ZM6 25L6 35L-1.5299e-06 35L-1.09278e-06 25L6 25Z`,fill:`black`})],-1),d[21]||=(0,t.createElementVNode)(`div`,{class:`mb-auto`},[(0,t.createElementVNode)(`strong`,{class:`text-sm mb-1`},`Hybrid Component`),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` These serve as both layout and content components, unlocking complex layouts. `)],-1),C.value==`hybrid`?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.CircleCheck),{key:1,class:`size-4 mx-auto mt-4`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Circle),{key:0,class:`size-4 mx-auto mt-4`}))],2)]),d[23]||=(0,t.createElementVNode)(`p`,{class:`text-sm mb-1 block font-medium`},` Form Layout `,-1),d[24]||=(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground mb-2`},` This will be the form that the client can fill in to populate this component. `,-1),(0,t.createElementVNode)(`div`,null,[(0,t.createVNode)(k,{modelValue:w.value,"onUpdate:modelValue":d[7]||=e=>w.value=e,buildText:`Edit Form Layout`,editText:`Edit Form Layout`},null,8,[`modelValue`])])]),(0,t.createVNode)(j,null,{default:(0,t.withCtx)(()=>[_.value===`edit`?((0,t.openBlock)(),(0,t.createBlock)(A,{key:0,variant:`destructive`,class:`mr-auto`,onClick:O},{default:(0,t.withCtx)(()=>[...d[25]||=[(0,t.createTextVNode)(` Delete Component `,-1)]]),_:1})):(0,t.createCommentVNode)(``,!0),_.value===`create`?((0,t.openBlock)(),(0,t.createBlock)(A,{key:1,type:`submit`,onClick:E},{default:(0,t.withCtx)(()=>[...d[26]||=[(0,t.createTextVNode)(` Add Component `,-1)]]),_:1})):((0,t.openBlock)(),(0,t.createBlock)(A,{key:2,type:`submit`,onClick:D},{default:(0,t.withCtx)(()=>[...d[27]||=[(0,t.createTextVNode)(` Edit Component `,-1)]]),_:1}))]),_:1})]),_:1})]),_:1},8,[`open`])}}}),f={class:`w-full truncate text-sm font-medium`},p={class:`w-full truncate text-xs text-muted-foreground`},m=(0,t.defineComponent)({__name:`ComponentGridItem`,props:{component:{type:Object,required:!0}},emits:[`edit`],setup(e,{emit:r}){let i=r;return(r,a)=>{let o=(0,t.resolveComponent)(`Skeleton`),s=(0,t.resolveComponent)(`Card`);return(0,t.openBlock)(),(0,t.createElementBlock)(`button`,{onClick:a[0]||=e=>i(`edit`),class:`basis-[100px] max-w-[200px] @7xl:max-w-xs`},[(0,t.createVNode)(s,{class:`flex flex-col items-center px-4 py-4 gap-0 hover:bg-input/30`},{default:(0,t.withCtx)(()=>[e.component.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)(`${e.component.tint?`bg-`+e.component.tint:`bg-input/50`} rounded-lg p-4 mb-2`)},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(n.icons)[e.component.icon]),{class:`size-16 @5xl:size-22 @7xl:size-28`}))],2)):((0,t.openBlock)(),(0,t.createBlock)(o,{key:1,class:`size-24 @5xl:size-30 @7xl:size-36 mb-2`})),(0,t.createElementVNode)(`p`,f,(0,t.toDisplayString)(e.component.displayName),1),(0,t.createElementVNode)(`p`,p,(0,t.toDisplayString)(e.component.name),1)]),_:1})])}}}),h={class:`flex flex-col gap-2 mb-12`},g={class:`flex items-start gap-4 overflow-hidden`},_={class:`flex flex-col text-left`},v={class:`text-sm font-semibold`},y={key:0,class:`text-xs text-muted-foreground/70 dark:text-muted-foreground/50 line-clamp-2 whitespace-normal mt-2`},b=(0,t.defineComponent)({__name:`VerticalToggle`,props:{modelValue:{type:Array,required:!0},options:{type:Array,required:!0}},emits:[`update:modelValue`],setup(e,{emit:r}){let i=e,a=r,o=(0,t.computed)({get(){return i.modelValue},set(e){a(`update:modelValue`,e)}}),s=(0,t.ref)(`full`),c=e=>{o.value.includes(e)?o.value=o.value.filter(t=>t!==e):o.value.push(e)};return(r,i)=>{let a=(0,t.resolveComponent)(`SegmentedControlButton`),o=(0,t.resolveComponent)(`SegmentedControl`),l=(0,t.resolveComponent)(`Button`);return(0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[(0,t.createVNode)(o,{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,class:`grid grid-cols-2 mb-4 w-28 scale-75 origin-left opacity-50 transition-all duration-300 hover:opacity-100`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{value:`minimal`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Baseline),{class:`size-5 mx-auto`})]),_:1}),(0,t.createVNode)(a,{value:`full`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.LetterText),{class:`size-5 mx-auto`})]),_:1})]),_:1},8,[`modelValue`]),(0,t.createElementVNode)(`div`,h,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,r=>((0,t.openBlock)(),(0,t.createBlock)(l,{variant:`ghost`,key:r.value,class:(0,t.normalizeClass)([`flex-1 transition-all duration-300 active:scale-95 rounded-md justify-start w-full h-auto cursor-pointer border`,e.modelValue.includes(r.value)?`bg-white hover:bg-white dark:bg-input/30 dark:hover:bg-input/30 shadow-xs`:`hover:bg-transparent`]),onClick:e=>c(r.value)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,g,[(0,t.createVNode)((0,t.unref)(n.Check),{class:(0,t.normalizeClass)([`size-5 text-muted-foreground transition-opacity duration-300`,e.modelValue.includes(r.value)?`opacity-100`:`opacity-0`])},null,8,[`class`]),(0,t.createElementVNode)(`div`,_,[(0,t.createElementVNode)(`span`,v,(0,t.toDisplayString)(r.text),1),s.value===`full`&&r.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,y,(0,t.toDisplayString)(r.description),1)):(0,t.createCommentVNode)(``,!0)])])]),_:2},1032,[`class`,`onClick`]))),128))])])}}}),x={key:0,class:`truncate`},S={key:1},C={class:`p-6 overflow-y-auto`},w={class:`flex flex-col gap-3`},T={class:`flex items-start gap-4 overflow-hidden`},E={class:`flex flex-col text-left`},D={class:`text-sm font-semibold mb-2`},O={class:`text-xs text-muted-foreground line-clamp-2 whitespace-normal`},k=(0,t.defineComponent)({__name:`DrawerToggle`,props:{modelValue:{type:Array,required:!0},options:{type:Array,required:!0}},emits:[`update:modelValue`],setup(e,{emit:r}){let i=e,a=r,o=(0,t.computed)({get(){return i.modelValue},set(e){a(`update:modelValue`,e)}}),s=e=>{o.value.includes(e)?o.value=o.value.filter(t=>t!==e):o.value.push(e)};return(r,i)=>{let a=(0,t.resolveComponent)(`Button`),o=(0,t.resolveComponent)(`DrawerTrigger`),c=(0,t.resolveComponent)(`DrawerContent`),l=(0,t.resolveComponent)(`Drawer`);return(0,t.openBlock)(),(0,t.createBlock)(l,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(o,{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(a,{variant:`outline`,class:`mb-2`},{default:(0,t.withCtx)(()=>[e.modelValue.length<4?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,x,(0,t.toDisplayString)(e.modelValue.join(`, `)),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,S,(0,t.toDisplayString)(e.modelValue.slice(0,3).join(`, `))+` + `+(0,t.toDisplayString)(e.modelValue.length-3)+` more `,1)),(0,t.createVNode)((0,t.unref)(n.ChevronDown),{class:`size-4 text-muted-foreground translate-y-0.25 ml-4`})]),_:1})]),_:1}),(0,t.createVNode)(c,null,{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,C,[(0,t.createElementVNode)(`div`,w,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,r=>((0,t.openBlock)(),(0,t.createBlock)(a,{key:r.value,class:(0,t.normalizeClass)([`justify-start w-full h-auto cursor-pointer flex-1 transition-all duration-300 active:scale-95 rounded-md border border-transparent`,e.modelValue.includes(r.value)?`bg-input/30 border-border`:``]),variant:`ghost`,onClick:e=>s(r.value)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,T,[(0,t.createVNode)((0,t.unref)(n.Check),{class:(0,t.normalizeClass)([`size-5 text-muted-foreground transition-opacity duration-300`,e.modelValue.includes(r.value)?`opacity-100`:`opacity-0`])},null,8,[`class`]),(0,t.createElementVNode)(`div`,E,[(0,t.createElementVNode)(`span`,D,(0,t.toDisplayString)(r.text),1),(0,t.createElementVNode)(`p`,O,(0,t.toDisplayString)(r.description),1)])])]),_:2},1032,[`class`,`onClick`]))),128))])])]),_:1})]),_:1})}}}),A={class:`w-full`},j={class:`flex items-center justify-between gap-4 w-full my-4`},M={class:`flex flex-col space-y-8 @5xl:flex-row @5xl:space-x-12 @5xl:space-y-0`},N={class:`hidden @5xl:block @5xl:w-1/4 @7xl:w-1/5`},P={class:`flex-1`},F={class:`@5xl:hidden`},I={class:`flex items-center justify-between w-full`},L={class:`flex items-start gap-8`},R={key:0,class:`mb-8`},z={class:`flex flex-wrap gap-4`},B={key:1,class:`mb-8`},V={class:`flex flex-wrap gap-4`},H={key:2,class:`mb-8`},U={class:`flex flex-wrap gap-4`},W=(0,t.defineComponent)({__name:`Components`,setup(r){let i=[{value:`hybrid`,text:`Hybrid Components`,icon:``,description:`These serve as both layout and content components, unlocking complex layouts.`},{value:`layout`,text:`Layout Component`,icon:``,description:`Helps setting up the overall structure or layout of the page. (Examples: Section, 2 Column Grid, ...)`},{value:`content`,text:`Content Component`,icon:``,description:`Aimed at hosting and displaying unique content. (Examples: Text, Link, Image, ...)`}],{getModuleData:a,setModuleData:o}=(0,e.useModuleStorage)(),{navigateTo:s}=(0,e.useModuleRoute)();(0,e.useModuleBreadcrumbs)(()=>[{text:`Components`}]);let c=(0,t.useTemplateRef)(`componentDialog`),l=(0,t.ref)([]),u=(0,t.ref)([`hybrid`,`layout`,`content`]),f=async e=>{l.value.push(e),l.value=await a(`components`)||[],l.value.push(e),o(`components`,l.value)},p=async e=>{let t=l.value.findIndex(t=>t.id===e.id);t!==-1&&(l.value[t]=e),l.value=await a(`components`)||[],t=l.value.findIndex(t=>t.id===e.id),t!==-1&&(l.value[t]=e,o(`components`,l.value))},h=async e=>{l.value=l.value.filter(t=>t.id!==e),l.value=await a(`components`)||[],l.value=l.value.filter(t=>t.id!==e),o(`components`,l.value)};return(0,t.onMounted)(()=>{a(`components`).then(e=>{l.value=e})}),(e,r)=>{let a=(0,t.resolveComponent)(`Button`),o=(0,t.resolveComponent)(`CardTitle`),g=(0,t.resolveComponent)(`CardDescription`),_=(0,t.resolveComponent)(`CardHeader`),v=(0,t.resolveComponent)(`CardContent`),y=(0,t.resolveComponent)(`Card`);return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,A,[(0,t.createElementVNode)(`div`,j,[(0,t.createVNode)(a,{onClick:r[0]||=e=>(0,t.unref)(s)(`/`),variant:`link`,class:`!pl-0`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.ChevronLeft),{class:`size-4`}),r[4]||=(0,t.createTextVNode)(` Collections `,-1)]),_:1})]),(0,t.createElementVNode)(`div`,M,[(0,t.createElementVNode)(`div`,N,[(0,t.createVNode)(b,{options:i,modelValue:u.value,"onUpdate:modelValue":r[1]||=e=>u.value=e},null,8,[`modelValue`])]),(0,t.createElementVNode)(`div`,P,[(0,t.createElementVNode)(`div`,F,[(0,t.createVNode)(k,{options:i,modelValue:u.value,"onUpdate:modelValue":r[2]||=e=>u.value=e},null,8,[`modelValue`])]),(0,t.createVNode)(y,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(_,null,{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,I,[(0,t.createElementVNode)(`div`,null,[(0,t.createVNode)(o,null,{default:(0,t.withCtx)(()=>[...r[5]||=[(0,t.createTextVNode)(`Components`,-1)]]),_:1}),(0,t.createVNode)(g,null,{default:(0,t.withCtx)(()=>[...r[6]||=[(0,t.createTextVNode)(`Manage your components here.`,-1)]]),_:1})]),(0,t.createVNode)(a,{onClick:r[3]||=e=>c.value.openDialog()},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Plus),{class:`size-4`}),r[7]||=(0,t.createTextVNode)(` New Component `,-1)]),_:1})])]),_:1}),(0,t.createVNode)(v,null,{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,L,[(0,t.createElementVNode)(`div`,null,[u.value.includes(`hybrid`)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,R,[r[8]||=(0,t.createElementVNode)(`h3`,{class:`font-medium mb-2`},`Hybrid Components`,-1),(0,t.createElementVNode)(`div`,z,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,e=>((0,t.openBlock)(),(0,t.createBlock)(m,{key:e.name,onEdit:t=>c.value.openDialog(e),component:e},null,8,[`onEdit`,`component`]))),128))])])):(0,t.createCommentVNode)(``,!0),u.value.includes(`layout`)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,B,[r[9]||=(0,t.createElementVNode)(`h3`,{class:`font-medium mb-2`},`Layout Components`,-1),(0,t.createElementVNode)(`div`,V,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,e=>((0,t.openBlock)(),(0,t.createBlock)(m,{key:e.name,onEdit:t=>c.value.openDialog(e),component:e},null,8,[`onEdit`,`component`]))),128))])])):(0,t.createCommentVNode)(``,!0),u.value.includes(`content`)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,H,[r[10]||=(0,t.createElementVNode)(`h3`,{class:`font-medium mb-2`},`Content Components`,-1),(0,t.createElementVNode)(`div`,U,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,e=>((0,t.openBlock)(),(0,t.createBlock)(m,{key:e.name,onEdit:t=>c.value.openDialog(e),component:e},null,8,[`onEdit`,`component`]))),128))])])):(0,t.createCommentVNode)(``,!0)])])]),_:1})]),_:1})])])]),(0,t.createVNode)(d,{ref_key:`componentDialog`,ref:c,onAdd:f,onEdit:p,onDelete:h},null,512)],64)}}});exports.default=W;
|