@oneclick.dev/cms-core-modules 0.0.106 → 0.0.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/dist/Acquisition-DypEyPSO.js +1 -0
  2. package/dist/Acquisition-TCNX-th6.mjs +308 -0
  3. package/dist/AgendaOpeningHoursCard-BIhm0vpV.js +1 -0
  4. package/dist/AgendaOpeningHoursCard-BKUdJxRI.mjs +133 -0
  5. package/dist/AppointmentDetailsCard-C5rQ5jsW.js +1 -0
  6. package/dist/AppointmentDetailsCard-NRHeNP2L.mjs +111 -0
  7. package/dist/AppointmentEditor-BcF8CiD-.mjs +150 -0
  8. package/dist/AppointmentEditor-BlhFtoCm.js +1 -0
  9. package/dist/AppointmentListTable-B-ReBVtV.js +1 -0
  10. package/dist/AppointmentListTable-DHmy-iid.mjs +129 -0
  11. package/dist/Audience-Cq1Gu-Vo.mjs +394 -0
  12. package/dist/Audience-h5PfXPz4.js +1 -0
  13. package/dist/Components-BehelN4r.js +1 -0
  14. package/dist/Components-CR6zukUU.mjs +468 -0
  15. package/dist/Content-C5Iye3t0.mjs +257 -0
  16. package/dist/Content-eOfBx52Y.js +1 -0
  17. package/dist/ContentEditor-BgL4qEeg.mjs +26835 -0
  18. package/dist/ContentEditor-Tlu3w0Hu.js +462 -0
  19. package/dist/CountryBreakdownCard-CWVyB8be.mjs +151 -0
  20. package/dist/CountryBreakdownCard-Db-pMiNe.js +1 -0
  21. package/dist/Create-B1it8S4m.js +1 -0
  22. package/dist/Create-DbYi0FAI.mjs +907 -0
  23. package/dist/DateFormatter-DLrDYkby.mjs +630 -0
  24. package/dist/DateFormatter-Dni0Oq8r.js +1 -0
  25. package/dist/Detail-D-eahJGO.mjs +21 -0
  26. package/dist/Detail-D0kdPPIm.mjs +2757 -0
  27. package/dist/Detail-DAafePYi.mjs +485 -0
  28. package/dist/Detail-DYpv4fYg.js +1 -0
  29. package/dist/Detail-Dc_ui4LM.js +1 -0
  30. package/dist/Detail-DccUekl_.js +1 -0
  31. package/dist/Detail-Dhz0V0Vf.js +1 -0
  32. package/dist/Detail-DjnGY0F8.mjs +282 -0
  33. package/dist/Detail-DplAitHg.mjs +447 -0
  34. package/dist/Detail-SugyeSxb.js +1 -0
  35. package/dist/DeviceBreakdownCard-CzxZT6To.js +1 -0
  36. package/dist/DeviceBreakdownCard-eEwPjzKl.mjs +115 -0
  37. package/dist/EditLayout-Bnz9q_jd.js +1 -0
  38. package/dist/EditLayout-J_DGXb8v.mjs +99 -0
  39. package/dist/Entries-CgpWg6fE.js +1 -0
  40. package/dist/Entries-CkGTXcAq.mjs +575 -0
  41. package/dist/Find-Bz0TNJzk.mjs +164 -0
  42. package/dist/Find-D-ItTXaZ.js +1 -0
  43. package/dist/GlobalStyling-CSQPF7o_.mjs +1162 -0
  44. package/dist/GlobalStyling-DabldMZh.js +15 -0
  45. package/dist/NewReservationDialog-BhIiY2B9.js +1 -0
  46. package/dist/NewReservationDialog-CN49aGcM.mjs +1002 -0
  47. package/dist/OrderDetailDialog-BJ01DZFe.js +1 -0
  48. package/dist/OrderDetailDialog-CoVQ_rzs.mjs +215 -0
  49. package/dist/Overview-9FMgn5hT.mjs +492 -0
  50. package/dist/Overview-BOOwMQ-c.mjs +636 -0
  51. package/dist/Overview-Biz3h60w.js +1 -0
  52. package/dist/Overview-C2K2ofdS.js +1 -0
  53. package/dist/Overview-CFHOXP9N.mjs +123 -0
  54. package/dist/Overview-CTJe7J5_.js +1 -0
  55. package/dist/Overview-Cvj2i9eW.js +1 -0
  56. package/dist/Overview-D2I1F8Dm.mjs +21 -0
  57. package/dist/Overview-DFOc9emt.mjs +345 -0
  58. package/dist/Overview-Dmhfb94Y.js +1 -0
  59. package/dist/Overview-PPzv7weG.mjs +450 -0
  60. package/dist/Overview-qFKcXHVF.js +1 -0
  61. package/dist/Overview-xkmYYTae.mjs +133 -0
  62. package/dist/Overview-yPsLvR2c.js +1 -0
  63. package/dist/PeakHoursCard-CtgEP-ez.mjs +157 -0
  64. package/dist/PeakHoursCard-DPeoMyhu.js +1 -0
  65. package/dist/ProductDetailsCard-B0WhmzO-.mjs +98 -0
  66. package/dist/ProductDetailsCard-C1ROuH6l.js +1 -0
  67. package/dist/RealtimeCard-DQno-Okz.js +1 -0
  68. package/dist/RealtimeCard-dR-g1iDo.mjs +92 -0
  69. package/dist/ReservationDetailDialog-Cdo6h0RD.mjs +2163 -0
  70. package/dist/ReservationDetailDialog-DZTFD2xI.js +349 -0
  71. package/dist/SearchTermsCard-BXJSXz_k.js +1 -0
  72. package/dist/SearchTermsCard-DsaxLKwP.mjs +146 -0
  73. package/dist/SendPush-Bssi-OZD.mjs +150 -0
  74. package/dist/SendPush-BuaYboRH.js +1 -0
  75. package/dist/SeoHealth-CP-kL0us.js +1 -0
  76. package/dist/SeoHealth-Cxp_Gb3Y.mjs +459 -0
  77. package/dist/TableView-7iwBkQ_k.mjs +4757 -0
  78. package/dist/TableView-BB_oIYYZ.js +4 -0
  79. package/dist/TemplateList-CNcM_Kgq.mjs +56 -0
  80. package/dist/TemplateList-VuPcBUJO.js +1 -0
  81. package/dist/TopPagesCard-CvDECn3_.mjs +117 -0
  82. package/dist/TopPagesCard-DNdATXJE.js +1 -0
  83. package/dist/TrafficSourcesCard-BLpBr7u0.mjs +151 -0
  84. package/dist/TrafficSourcesCard-_3gRUCw3.js +1 -0
  85. package/dist/View-DSnUHI7h.mjs +30 -0
  86. package/dist/View-Dbcfpdqh.js +1 -0
  87. package/dist/VisitorStatsCard-CFEnXSjF.mjs +185 -0
  88. package/dist/VisitorStatsCard-C_jhQxDW.js +1 -0
  89. package/dist/_plugin-vue_export-helper-5u7tqpWC.js +1 -0
  90. package/dist/_plugin-vue_export-helper-BJQSo0im.mjs +8 -0
  91. package/dist/agenda-CzMRcQTA.mjs +989 -0
  92. package/dist/agenda-D4zWRYSQ.js +1 -0
  93. package/dist/appointments-9syR5TZE.js +1 -0
  94. package/dist/appointments-BBmOJMhM.mjs +23 -0
  95. package/dist/array-BH1uH7XT.js +1 -0
  96. package/dist/array-DnDL9cFz.mjs +98 -0
  97. package/dist/availability-CAXB7Yd6.js +1 -0
  98. package/dist/availability-Dp7eF-ZK.mjs +215 -0
  99. package/dist/booking-data-Bysf6e5x.mjs +724 -0
  100. package/dist/booking-data-C6SGjC2X.js +1 -0
  101. package/dist/chunk-DQi1bQcV.js +1 -0
  102. package/dist/cms-core-modules.css +2 -1
  103. package/dist/contentManager-D7JxXCwE.js +1 -0
  104. package/dist/contentManager-tfy0x1LD.mjs +22 -0
  105. package/dist/context-AQKfnJ4t.mjs +3809 -0
  106. package/dist/context-ubyMq9Xe.js +54 -0
  107. package/dist/core-Dhgr4ctC.mjs +202 -0
  108. package/dist/core-_HKfBlaZ.js +1 -0
  109. package/dist/countries-MXLT3mVe.mjs +4 -0
  110. package/dist/countries-OCd5qPxG.js +1 -0
  111. package/dist/create-BfNc2C7N.js +1 -0
  112. package/dist/create-C7JlIlIh.mjs +95 -0
  113. package/dist/custom-BwN9-6Mb.js +1 -0
  114. package/dist/custom-INNwaWla.mjs +13 -0
  115. package/dist/dist-BCVg7FKM.js +1 -0
  116. package/dist/dist-DIhK9VWh.mjs +3045 -0
  117. package/dist/edit-BiI2VG60.js +35 -0
  118. package/dist/edit-DD3iFBEh.mjs +1097 -0
  119. package/dist/exceptions-DICMaDcH.mjs +462 -0
  120. package/dist/exceptions-DpWqMNuG.js +1 -0
  121. package/dist/google-Bcc4XZnV.mjs +4 -0
  122. package/dist/google-DTSRmJ51.js +1 -0
  123. package/dist/googleAnalytics-BSaqRR_L.js +1 -0
  124. package/dist/googleAnalytics-Cg-iWblZ.mjs +47 -0
  125. package/dist/index.cjs.js +1 -1
  126. package/dist/index.mjs +1095 -806
  127. package/dist/interpolation-B8OzkMyi.mjs +131 -0
  128. package/dist/interpolation-DpAqtGOW.js +1 -0
  129. package/dist/lib-4wSi00Vr.js +1 -0
  130. package/dist/lib-BZgXUui5.mjs +198 -0
  131. package/dist/line-DJdnFNI7.js +75 -0
  132. package/dist/line-tYLnEDGV.mjs +1500 -0
  133. package/dist/mailTemplates-BNk8fhVS.mjs +23 -0
  134. package/dist/mailTemplates-DswHzyQe.js +1 -0
  135. package/dist/orders-CIc0JlKX.mjs +512 -0
  136. package/dist/orders-DwPSi_pD.js +1 -0
  137. package/dist/payment-BsNWFaDm.js +1 -0
  138. package/dist/payment-Ced5_dpa.mjs +718 -0
  139. package/dist/productCollections-Cuvw_8zC.js +1 -0
  140. package/dist/productCollections-D0AxRlzr.mjs +23 -0
  141. package/dist/products-DUD-ZMkR.mjs +22 -0
  142. package/dist/products-DvX9B-Ul.js +1 -0
  143. package/dist/promoCodes-BCWqN6w4.mjs +23 -0
  144. package/dist/promoCodes-CEZ4LYot.js +1 -0
  145. package/dist/push-notifications-BGp4XWo9.js +1 -0
  146. package/dist/push-notifications-C7W7KuzR.mjs +23 -0
  147. package/dist/regular-BCFrS6lK.mjs +908 -0
  148. package/dist/regular-DBqPgT8C.js +1 -0
  149. package/dist/resources-DwsMmWgm.mjs +669 -0
  150. package/dist/resources-Dz81GkHe.js +1 -0
  151. package/dist/server-handlers.cjs.js +1 -1
  152. package/dist/server-handlers.mjs +1049 -996
  153. package/dist/shippingOptions-C3NEJff1.mjs +23 -0
  154. package/dist/shippingOptions-Cy040ZW1.js +1 -0
  155. package/dist/single-container-BJmmqq65.mjs +468 -0
  156. package/dist/single-container-Xoo0Xzxv.js +58 -0
  157. package/dist/src/appointments/index.d.ts +9 -12
  158. package/dist/src/appointments/metadata.d.ts +1 -1
  159. package/dist/src/appointments/routes.d.ts +3 -6
  160. package/dist/src/contentManager/components/content-editor/tiptap-extensions/LockBlocks.d.ts +15 -0
  161. package/dist/src/contentManager/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +4 -1
  162. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +12 -132
  163. package/dist/src/contentManager/index.d.ts +5 -14
  164. package/dist/src/contentManager/metadata.d.ts +1 -1
  165. package/dist/src/contentManager/routes.d.ts +3 -12
  166. package/dist/src/custom/index.d.ts +2 -2
  167. package/dist/src/custom/routes.d.ts +1 -1
  168. package/dist/src/googleAnalytics/index.d.ts +10 -10
  169. package/dist/src/googleAnalytics/routes.d.ts +1 -1
  170. package/dist/src/mailTemplates/index.d.ts +3 -3
  171. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  172. package/dist/src/mailTemplates/routes.d.ts +1 -1
  173. package/dist/src/productCollections/index.d.ts +3 -3
  174. package/dist/src/productCollections/metadata.d.ts +1 -1
  175. package/dist/src/productCollections/routes.d.ts +1 -1
  176. package/dist/src/products/index.d.ts +4 -4
  177. package/dist/src/products/metadata.d.ts +1 -1
  178. package/dist/src/products/routes.d.ts +1 -1
  179. package/dist/src/promoCodes/index.d.ts +3 -3
  180. package/dist/src/promoCodes/metadata.d.ts +1 -1
  181. package/dist/src/promoCodes/routes.d.ts +1 -1
  182. package/dist/src/push-notifications/index.d.ts +3 -3
  183. package/dist/src/push-notifications/metadata.d.ts +1 -1
  184. package/dist/src/push-notifications/routes.d.ts +1 -1
  185. package/dist/src/shippingOptions/index.d.ts +3 -3
  186. package/dist/src/shippingOptions/metadata.d.ts +1 -1
  187. package/dist/src/shippingOptions/routes.d.ts +1 -1
  188. package/dist/src/table/flow-builder-extensions/row-item.d.ts +3 -17
  189. package/dist/src/table/index.d.ts +2 -2
  190. package/dist/src/table/routes.d.ts +1 -1
  191. package/dist/src/types/index.d.ts +6 -0
  192. package/dist/src/vue-shim.d.ts +7 -0
  193. package/dist/table-DWw0fs3S.js +1 -0
  194. package/dist/table-LXt5DQOL.mjs +23 -0
  195. package/dist/utils-CVIHqQsU.js +3 -0
  196. package/dist/utils-h3owcMtS.mjs +37 -0
  197. package/dist/vee-validate-zod-BmXMJo8W.js +1 -0
  198. package/dist/vee-validate-zod-D9dZzbWZ.mjs +4985 -0
  199. package/dist/xy-container-CuQSwrtB.mjs +3180 -0
  200. package/dist/xy-container-_6YpscZh.js +158 -0
  201. package/package.json +55 -55
  202. package/dist/Acquisition-B2pM5vSp.mjs +0 -400
  203. package/dist/Acquisition-Dt2rREU8.js +0 -1
  204. package/dist/AgendaOpeningHoursCard-B7ROIPWw.js +0 -1
  205. package/dist/AgendaOpeningHoursCard-Cp4wxUeK.mjs +0 -172
  206. package/dist/AppointmentDetailsCard-33WpATpV.mjs +0 -161
  207. package/dist/AppointmentDetailsCard-DpLM5IrB.js +0 -1
  208. package/dist/AppointmentEditor-BeOtYV6u.mjs +0 -196
  209. package/dist/AppointmentEditor-CaTfbkIf.js +0 -1
  210. package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
  211. package/dist/AppointmentListTable-Dieu9US_.js +0 -1
  212. package/dist/Audience-Bs7b0TNm.js +0 -1
  213. package/dist/Audience-VLnUsQvW.mjs +0 -489
  214. package/dist/Components-C83O-xlF.mjs +0 -623
  215. package/dist/Components-DXbx0RLV.js +0 -1
  216. package/dist/Content-BHr_rPVY.js +0 -1
  217. package/dist/Content-CYOZKvWK.mjs +0 -358
  218. package/dist/ContentEditor-BNLEv-qJ.mjs +0 -30697
  219. package/dist/ContentEditor-BUvvqfG1.js +0 -462
  220. package/dist/CountryBreakdownCard-D7BK3nRD.js +0 -1
  221. package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +0 -196
  222. package/dist/Create-89z41K73.js +0 -1
  223. package/dist/Create-Cn_Eufga.mjs +0 -1251
  224. package/dist/DateFormatter-Bw-87W31.mjs +0 -734
  225. package/dist/DateFormatter-CYAD4GBN.js +0 -1
  226. package/dist/Detail-Byk781b4.mjs +0 -26
  227. package/dist/Detail-C1Blq61w.mjs +0 -585
  228. package/dist/Detail-C857g62L.js +0 -1
  229. package/dist/Detail-C8wQiDcv.js +0 -1
  230. package/dist/Detail-CPqug27l.js +0 -1
  231. package/dist/Detail-CjuhjPby.js +0 -1
  232. package/dist/Detail-CtItxMX4.mjs +0 -649
  233. package/dist/Detail-CujdFApD.mjs +0 -379
  234. package/dist/Detail-Dnpnmy4-.mjs +0 -3477
  235. package/dist/Detail-mvSGbnFU.js +0 -1
  236. package/dist/DeviceBreakdownCard-DRhQ9ufG.js +0 -1
  237. package/dist/DeviceBreakdownCard-W1frLe0L.mjs +0 -159
  238. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +0 -76
  239. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +0 -1
  240. package/dist/Entries-BdhUyJR5.mjs +0 -728
  241. package/dist/Entries-CEXM_SkO.js +0 -1
  242. package/dist/Find-B24ZEhYM.mjs +0 -229
  243. package/dist/Find-D4Qa45qC.js +0 -1
  244. package/dist/GlobalStyling-C9VthHWK.mjs +0 -1588
  245. package/dist/GlobalStyling-CnSlXkZc.js +0 -25
  246. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Ceoje52V.js +0 -1
  247. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-DMGcRmm-.mjs +0 -1255
  248. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +0 -1
  249. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +0 -330
  250. package/dist/Overview-3HWhsqaz.mjs +0 -860
  251. package/dist/Overview-BCpJNiEB.mjs +0 -190
  252. package/dist/Overview-BDlBCUI_.js +0 -1
  253. package/dist/Overview-BbvfH1u-.js +0 -1
  254. package/dist/Overview-Bn1Xx3_j.js +0 -1
  255. package/dist/Overview-CIa1E-HH.mjs +0 -178
  256. package/dist/Overview-DAxCu9XC.js +0 -1
  257. package/dist/Overview-DC9io1bk.js +0 -1
  258. package/dist/Overview-Di84CsR5.mjs +0 -476
  259. package/dist/Overview-Su8ZUbMs.mjs +0 -26
  260. package/dist/Overview-T-lsy3UZ.js +0 -1
  261. package/dist/Overview-UoZHUMUz.js +0 -1
  262. package/dist/Overview-ejh4vUMT.mjs +0 -567
  263. package/dist/Overview-lWAyyenp.mjs +0 -632
  264. package/dist/PeakHoursCard-9-EZFZLR.mjs +0 -182
  265. package/dist/PeakHoursCard-BR5zmta4.js +0 -1
  266. package/dist/ProductDetailsCard-6nHikw4V.mjs +0 -121
  267. package/dist/ProductDetailsCard-Bn7qrgmc.js +0 -1
  268. package/dist/RealtimeCard--APfRNc8.js +0 -1
  269. package/dist/RealtimeCard-fvQlJcM7.mjs +0 -126
  270. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +0 -349
  271. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +0 -3077
  272. package/dist/SearchTermsCard-BsB-63aH.js +0 -1
  273. package/dist/SearchTermsCard-BzVrHKqQ.mjs +0 -201
  274. package/dist/SendPush-COns44j7.js +0 -1
  275. package/dist/SendPush-CPIOjVX4.mjs +0 -184
  276. package/dist/SeoHealth-DsbVdd2l.mjs +0 -615
  277. package/dist/SeoHealth-az1YuNF2.js +0 -1
  278. package/dist/TableView-Bm6HaRHm.mjs +0 -6143
  279. package/dist/TableView-DQW0A1oG.js +0 -4
  280. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +0 -1
  281. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +0 -40
  282. package/dist/TopPagesCard-BDeA997A.js +0 -1
  283. package/dist/TopPagesCard-CTozhOr_.mjs +0 -159
  284. package/dist/TrafficSourcesCard-BxtCKsqx.mjs +0 -197
  285. package/dist/TrafficSourcesCard-C3ziDTUL.js +0 -1
  286. package/dist/View-CsudjxCE.mjs +0 -30
  287. package/dist/View-Dw_wA6kK.js +0 -1
  288. package/dist/VisitorStatsCard-BmByE_Hi.js +0 -1
  289. package/dist/VisitorStatsCard-CXizEbVK.mjs +0 -174
  290. package/dist/_plugin-vue_export-helper-BHFhmbuH.js +0 -1
  291. package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +0 -9
  292. package/dist/agenda-IOqtALWf.js +0 -1
  293. package/dist/agenda-neyeLWv-.mjs +0 -1165
  294. package/dist/array-CbATeQbk.js +0 -1
  295. package/dist/array-CvmZXzxF.mjs +0 -108
  296. package/dist/availability-CMrRa5y2.mjs +0 -269
  297. package/dist/availability-Cf2YfMwM.js +0 -1
  298. package/dist/booking-data-DgJd0BcM.mjs +0 -889
  299. package/dist/booking-data-Di5GmH_8.js +0 -1
  300. package/dist/countries-BTPvmrsb.mjs +0 -4
  301. package/dist/countries-CgZ081No.js +0 -1
  302. package/dist/exceptions-CI0B4xVj.js +0 -1
  303. package/dist/exceptions-vo8SA5SE.mjs +0 -646
  304. package/dist/google-CvtuJwgk.mjs +0 -4
  305. package/dist/google-D4N3gb01.js +0 -1
  306. package/dist/index-4tjmIans.js +0 -1
  307. package/dist/index-9HVlmvK3.js +0 -1
  308. package/dist/index-A2kp8Isi.js +0 -75
  309. package/dist/index-B5aBwdxY.js +0 -54
  310. package/dist/index-BRdCrvcz.mjs +0 -1443
  311. package/dist/index-BWDwEd8D.mjs +0 -24
  312. package/dist/index-BfBBm9uY.mjs +0 -24
  313. package/dist/index-BiT55eU0.js +0 -58
  314. package/dist/index-Bkq58CeQ.mjs +0 -22
  315. package/dist/index-Bvxc5xv_.mjs +0 -3843
  316. package/dist/index-CJQQBRLY.js +0 -1
  317. package/dist/index-CQkOH2_3.mjs +0 -24
  318. package/dist/index-CSxYBeVA.js +0 -1
  319. package/dist/index-CU-tbS5W.mjs +0 -24
  320. package/dist/index-CZn2nDLv.mjs +0 -34
  321. package/dist/index-CkiNvRzs.js +0 -1
  322. package/dist/index-Co4ON2Di.js +0 -1
  323. package/dist/index-Cpnn_Pxd.mjs +0 -24
  324. package/dist/index-CrgzoTyR.mjs +0 -110
  325. package/dist/index-CsVeM3PA.mjs +0 -24
  326. package/dist/index-CwqrAU-H.js +0 -1
  327. package/dist/index-CxETuRsG.js +0 -1
  328. package/dist/index-Cz-baGax.js +0 -1
  329. package/dist/index-DFQGVHTs.js +0 -1
  330. package/dist/index-DPd3waTN.js +0 -1
  331. package/dist/index-DRqJOqUR.mjs +0 -3484
  332. package/dist/index-DjWuIBxh.js +0 -1
  333. package/dist/index-Dnn2SCSl.js +0 -1
  334. package/dist/index-Dpl9sU6a.mjs +0 -12
  335. package/dist/index-DrXxXB2F.mjs +0 -138
  336. package/dist/index-G7cIlnGN.js +0 -158
  337. package/dist/index-MYWjg0zi.mjs +0 -176
  338. package/dist/index-R2oUDsjx.js +0 -1
  339. package/dist/index-RLz1QPrf.mjs +0 -203
  340. package/dist/index-UtjLbLw-.js +0 -1
  341. package/dist/index-X6LV64jK.mjs +0 -442
  342. package/dist/index-cOnxXTbF.mjs +0 -24
  343. package/dist/index-hlylYYgy.mjs +0 -24
  344. package/dist/index-ijdf0d9-.js +0 -1
  345. package/dist/index-uOkqO74I.mjs +0 -2940
  346. package/dist/index-unsDfNYv.mjs +0 -1187
  347. package/dist/index-vHmvbEwa.js +0 -35
  348. package/dist/interpolation-CHn59tIC.js +0 -1
  349. package/dist/interpolation-w7IRDJwK.mjs +0 -180
  350. package/dist/orders-C65SlpJy.mjs +0 -618
  351. package/dist/orders-XVzWAgG1.js +0 -1
  352. package/dist/payment-C3ohkehF.mjs +0 -1080
  353. package/dist/payment-Dfr-Ro-a.js +0 -1
  354. package/dist/regular-1LXNPviB.js +0 -1
  355. package/dist/regular-_05oq5Tx.mjs +0 -1101
  356. package/dist/resources-CxeFd57z.js +0 -1
  357. package/dist/resources-WI_4SO6T.mjs +0 -811
  358. package/dist/src/appointments/chat-components/AgendaOpeningHoursCard.vue.d.ts +0 -15
  359. package/dist/src/appointments/chat-components/AppointmentDetailsCard.vue.d.ts +0 -14
  360. package/dist/src/appointments/chat-components/AppointmentEditor.vue.d.ts +0 -14
  361. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +0 -14
  362. package/dist/src/appointments/components/create/StepNavigation.vue.d.ts +0 -32
  363. package/dist/src/appointments/components/create/regular/Step1.vue.d.ts +0 -2
  364. package/dist/src/appointments/components/create/regular/Step2.vue.d.ts +0 -2
  365. package/dist/src/appointments/components/create/regular/Step3.vue.d.ts +0 -2
  366. package/dist/src/appointments/components/create/regular/Step4.vue.d.ts +0 -2
  367. package/dist/src/appointments/components/edit/CustomerInformationFieldEditorDialog.vue.d.ts +0 -24
  368. package/dist/src/appointments/components/edit/EditLayout.vue.d.ts +0 -17
  369. package/dist/src/appointments/components/edit/Event24hSidebar.vue.d.ts +0 -2
  370. package/dist/src/appointments/components/edit/EventDialog/ApproveReservationDialog.vue.d.ts +0 -8
  371. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +0 -136
  372. package/dist/src/appointments/components/edit/EventDialog/CancelReservationDialog.vue.d.ts +0 -8
  373. package/dist/src/appointments/components/edit/EventDialog/EventDialog.vue.d.ts +0 -11
  374. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +0 -55
  375. package/dist/src/appointments/components/edit/EventDialog/RejectReservationDialog.vue.d.ts +0 -8
  376. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +0 -87
  377. package/dist/src/appointments/components/edit/EventDialog/TimelineChart.vue.d.ts +0 -24
  378. package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +0 -4
  379. package/dist/src/appointments/components/edit/EventTimeIndicator.vue.d.ts +0 -12
  380. package/dist/src/appointments/components/edit/EventTimeline.vue.d.ts +0 -48
  381. package/dist/src/appointments/components/edit/EventView.vue.d.ts +0 -9
  382. package/dist/src/appointments/components/edit/ExceptionDialog.vue.d.ts +0 -29
  383. package/dist/src/appointments/components/edit/MetadataSchemaEditorDialog.vue.d.ts +0 -12
  384. package/dist/src/appointments/components/edit/NewReservationDialog/CustomerInformation.vue.d.ts +0 -10
  385. package/dist/src/appointments/components/edit/NewReservationDialog/NewReservationDialog.vue.d.ts +0 -26
  386. package/dist/src/appointments/components/edit/NewReservationDialog/QuickReservationAdder.vue.d.ts +0 -26
  387. package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +0 -31
  388. package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +0 -21
  389. package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +0 -22
  390. package/dist/src/appointments/components/edit/PaymentAddons/AddonList.vue.d.ts +0 -5
  391. package/dist/src/appointments/components/edit/PaymentAddons/index.vue.d.ts +0 -15
  392. package/dist/src/appointments/components/edit/ResourceEditorDialog.vue.d.ts +0 -13
  393. package/dist/src/appointments/components/edit/dashboard/Timeline.vue.d.ts +0 -36
  394. package/dist/src/appointments/components/edit/dashboard/timeline/ResourceSelector.vue.d.ts +0 -50
  395. package/dist/src/appointments/index.vue.d.ts +0 -22
  396. package/dist/src/appointments/pages/Overview.vue.d.ts +0 -4
  397. package/dist/src/appointments/pages/create/index.vue.d.ts +0 -2
  398. package/dist/src/appointments/pages/create/regular.vue.d.ts +0 -6
  399. package/dist/src/appointments/pages/edit/agenda.vue.d.ts +0 -4
  400. package/dist/src/appointments/pages/edit/availability.vue.d.ts +0 -2
  401. package/dist/src/appointments/pages/edit/booking-data.vue.d.ts +0 -65
  402. package/dist/src/appointments/pages/edit/index.vue.d.ts +0 -2
  403. package/dist/src/appointments/pages/edit/payment.vue.d.ts +0 -2
  404. package/dist/src/appointments/pages/edit/resources.vue.d.ts +0 -28
  405. package/dist/src/contentManager/components/components/ComponentDialog.vue.d.ts +0 -12
  406. package/dist/src/contentManager/components/components/ComponentGridItem.vue.d.ts +0 -16
  407. package/dist/src/contentManager/components/content-editor/ApiDocs.vue.d.ts +0 -2
  408. package/dist/src/contentManager/components/content-editor/ContentLayout.vue.d.ts +0 -49
  409. package/dist/src/contentManager/components/content-editor/ContentSettings.vue.d.ts +0 -24
  410. package/dist/src/contentManager/components/content-editor/ContentStructuredContentSections.vue.d.ts +0 -4
  411. package/dist/src/contentManager/components/content-editor/Header.vue.d.ts +0 -64
  412. package/dist/src/contentManager/components/content-editor/LivePreviewWrapper.vue.d.ts +0 -53
  413. package/dist/src/contentManager/components/content-editor/Locales.vue.d.ts +0 -44
  414. package/dist/src/contentManager/components/content-editor/NewSectionDialog.vue.d.ts +0 -21
  415. package/dist/src/contentManager/components/content-editor/PageSettings.vue.d.ts +0 -2
  416. package/dist/src/contentManager/components/content-editor/SEO.vue.d.ts +0 -14
  417. package/dist/src/contentManager/components/content-editor/SidebarSectionWrapper.vue.d.ts +0 -39
  418. package/dist/src/contentManager/components/content-editor/Status.vue.d.ts +0 -2
  419. package/dist/src/contentManager/components/content-editor/Versions.vue.d.ts +0 -63
  420. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Button.vue.d.ts +0 -94
  421. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Card.vue.d.ts +0 -92
  422. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Column.vue.d.ts +0 -92
  423. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.vue.d.ts +0 -92
  424. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Divider.vue.d.ts +0 -92
  425. package/dist/src/contentManager/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +0 -94
  426. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Heading.vue.d.ts +0 -92
  427. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Image.vue.d.ts +0 -92
  428. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Map.vue.d.ts +0 -92
  429. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +0 -92
  430. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.vue.d.ts +0 -115
  431. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.vue.d.ts +0 -115
  432. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Video.vue.d.ts +0 -92
  433. package/dist/src/contentManager/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +0 -92
  434. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +0 -108
  435. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +0 -20
  436. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +0 -104
  437. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +0 -19
  438. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +0 -19
  439. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +0 -29
  440. package/dist/src/contentManager/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +0 -13
  441. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +0 -19
  442. package/dist/src/contentManager/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +0 -8
  443. package/dist/src/contentManager/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +0 -47
  444. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +0 -6
  445. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +0 -17
  446. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +0 -13
  447. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +0 -13
  448. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +0 -13
  449. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +0 -13
  450. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +0 -13
  451. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +0 -13
  452. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +0 -13
  453. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +0 -13
  454. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +0 -13
  455. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +0 -13
  456. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +0 -13
  457. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +0 -13
  458. package/dist/src/contentManager/components/overview/CollectionDialog.vue.d.ts +0 -30
  459. package/dist/src/contentManager/components/overview/CollectionsGridView.vue.d.ts +0 -18
  460. package/dist/src/contentManager/components/overview/ContentEntryContextMenu.vue.d.ts +0 -27
  461. package/dist/src/contentManager/components/overview/FilterPopover.vue.d.ts +0 -2
  462. package/dist/src/contentManager/components/overview/ListView.vue.d.ts +0 -12
  463. package/dist/src/contentManager/components/styling/ButtonStyleDialog.vue.d.ts +0 -24
  464. package/dist/src/contentManager/components/styling/CardStyleDialog.vue.d.ts +0 -24
  465. package/dist/src/contentManager/components/styling/SectionStyleDialog.vue.d.ts +0 -24
  466. package/dist/src/contentManager/index.vue.d.ts +0 -22
  467. package/dist/src/contentManager/pages/Components.vue.d.ts +0 -27
  468. package/dist/src/contentManager/pages/ContentEditor.vue.d.ts +0 -14
  469. package/dist/src/contentManager/pages/Entries.vue.d.ts +0 -16
  470. package/dist/src/contentManager/pages/GlobalStyling.vue.d.ts +0 -117
  471. package/dist/src/contentManager/pages/Overview.vue.d.ts +0 -57
  472. package/dist/src/custom/index.vue.d.ts +0 -2
  473. package/dist/src/custom/pages/View.vue.d.ts +0 -2
  474. package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +0 -14
  475. package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +0 -14
  476. package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +0 -14
  477. package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +0 -14
  478. package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +0 -14
  479. package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +0 -14
  480. package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +0 -14
  481. package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +0 -14
  482. package/dist/src/googleAnalytics/components/seo-health/SeoClicksChart.vue.d.ts +0 -5
  483. package/dist/src/googleAnalytics/components/seo-health/SeoImpressionsChart.vue.d.ts +0 -5
  484. package/dist/src/googleAnalytics/components/seo-health/SeoKeywordsTab.vue.d.ts +0 -5
  485. package/dist/src/googleAnalytics/components/seo-health/SeoKpiCards.vue.d.ts +0 -10
  486. package/dist/src/googleAnalytics/components/seo-health/SeoMappingTab.vue.d.ts +0 -5
  487. package/dist/src/googleAnalytics/components/seo-health/SeoPagesTab.vue.d.ts +0 -5
  488. package/dist/src/googleAnalytics/components/seo-health/SeoRankingDistribution.vue.d.ts +0 -5
  489. package/dist/src/googleAnalytics/index.vue.d.ts +0 -2
  490. package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +0 -2
  491. package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +0 -2
  492. package/dist/src/googleAnalytics/pages/Content.vue.d.ts +0 -2
  493. package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +0 -2
  494. package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +0 -2
  495. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +0 -2
  496. package/dist/src/mailTemplates/index.vue.d.ts +0 -22
  497. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +0 -14
  498. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +0 -14
  499. package/dist/src/productCollections/components/detail/Main.vue.d.ts +0 -2
  500. package/dist/src/productCollections/components/detail/SEO.vue.d.ts +0 -2
  501. package/dist/src/productCollections/components/detail/Status.vue.d.ts +0 -2
  502. package/dist/src/productCollections/components/overview/ListView.vue.d.ts +0 -12
  503. package/dist/src/productCollections/index.vue.d.ts +0 -22
  504. package/dist/src/productCollections/pages/Detail.vue.d.ts +0 -14
  505. package/dist/src/productCollections/pages/Overview.vue.d.ts +0 -16
  506. package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +0 -14
  507. package/dist/src/products/components/detail/Collections.vue.d.ts +0 -14
  508. package/dist/src/products/components/detail/Inventory.vue.d.ts +0 -2
  509. package/dist/src/products/components/detail/Main.vue.d.ts +0 -2
  510. package/dist/src/products/components/detail/NewSection.vue.d.ts +0 -2
  511. package/dist/src/products/components/detail/Price.vue.d.ts +0 -2
  512. package/dist/src/products/components/detail/SEO.vue.d.ts +0 -2
  513. package/dist/src/products/components/detail/Shipping.vue.d.ts +0 -2
  514. package/dist/src/products/components/detail/Status.vue.d.ts +0 -2
  515. package/dist/src/products/components/detail/price/UnitPriceDialog.vue.d.ts +0 -17
  516. package/dist/src/products/components/detail/variants/Option.vue.d.ts +0 -33
  517. package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +0 -38
  518. package/dist/src/products/components/overview/FilterPopover.vue.d.ts +0 -2
  519. package/dist/src/products/components/overview/GridView.vue.d.ts +0 -12
  520. package/dist/src/products/components/overview/ListView.vue.d.ts +0 -12
  521. package/dist/src/products/components/overview/ProductContextMenu.vue.d.ts +0 -27
  522. package/dist/src/products/index.vue.d.ts +0 -22
  523. package/dist/src/products/pages/Detail.vue.d.ts +0 -14
  524. package/dist/src/products/pages/Overview.vue.d.ts +0 -16
  525. package/dist/src/promoCodes/components/create/DateRange.vue.d.ts +0 -2
  526. package/dist/src/promoCodes/components/create/MultiCodes.vue.d.ts +0 -2
  527. package/dist/src/promoCodes/components/create/Note.vue.d.ts +0 -2
  528. package/dist/src/promoCodes/components/create/SingleCode.vue.d.ts +0 -2
  529. package/dist/src/promoCodes/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +0 -6
  530. package/dist/src/promoCodes/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +0 -18
  531. package/dist/src/promoCodes/components/create/TypeAndValue/index.vue.d.ts +0 -2
  532. package/dist/src/promoCodes/index.vue.d.ts +0 -22
  533. package/dist/src/promoCodes/pages/Create.vue.d.ts +0 -16
  534. package/dist/src/promoCodes/pages/Detail.vue.d.ts +0 -14
  535. package/dist/src/promoCodes/pages/Find.vue.d.ts +0 -16
  536. package/dist/src/push-notifications/components/PreviewAndroid.vue.d.ts +0 -28
  537. package/dist/src/push-notifications/components/PreviewIPhone.vue.d.ts +0 -28
  538. package/dist/src/push-notifications/components/PushPreview.vue.d.ts +0 -28
  539. package/dist/src/push-notifications/index.vue.d.ts +0 -22
  540. package/dist/src/push-notifications/pages/SendPush.vue.d.ts +0 -14
  541. package/dist/src/shared/BrandLogo.vue.d.ts +0 -12
  542. package/dist/src/shared/DrawerToggle.vue.d.ts +0 -60
  543. package/dist/src/shared/VerticalToggle.vue.d.ts +0 -60
  544. package/dist/src/shippingOptions/components/detail/Condition.vue.d.ts +0 -2
  545. package/dist/src/shippingOptions/components/detail/Countries.vue.d.ts +0 -2
  546. package/dist/src/shippingOptions/components/detail/Example.vue.d.ts +0 -2
  547. package/dist/src/shippingOptions/components/detail/Main.vue.d.ts +0 -2
  548. package/dist/src/shippingOptions/components/overview/ListView.vue.d.ts +0 -12
  549. package/dist/src/shippingOptions/index.vue.d.ts +0 -22
  550. package/dist/src/shippingOptions/pages/Detail.vue.d.ts +0 -14
  551. package/dist/src/shippingOptions/pages/Overview.vue.d.ts +0 -16
  552. package/dist/src/table/components/DataTable.vue.d.ts +0 -18
  553. package/dist/src/table/components/DataTableAction.vue.d.ts +0 -14
  554. package/dist/src/table/components/DataTableMobileRowActionDrawer.vue.d.ts +0 -4
  555. package/dist/src/table/components/DataTablePagination.vue.d.ts +0 -6
  556. package/dist/src/table/components/actions/ActionDialog.vue.d.ts +0 -19
  557. package/dist/src/table/components/actions/CtaActionDialog.vue.d.ts +0 -4
  558. package/dist/src/table/components/columns/ColumnDropdown.vue.d.ts +0 -2
  559. package/dist/src/table/components/columns/ColumnEditorDialog.vue.d.ts +0 -34
  560. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +0 -12
  561. package/dist/src/table/components/date-range-filter/DateRangeFilter.vue.d.ts +0 -2
  562. package/dist/src/table/components/date-range-filter/DateRangeSettingsDialog.vue.d.ts +0 -27
  563. package/dist/src/table/components/filters/FilterDialog.vue.d.ts +0 -12
  564. package/dist/src/table/components/filters/Filters.vue.d.ts +0 -27
  565. package/dist/src/table/components/search/Search.vue.d.ts +0 -2
  566. package/dist/src/table/components/sort/SortMode.vue.d.ts +0 -2
  567. package/dist/src/table/components/sort/SortModeSettingsDialog.vue.d.ts +0 -18
  568. package/dist/src/table/components/stats/StatDialog.vue.d.ts +0 -12
  569. package/dist/src/table/components/stats/Stats.vue.d.ts +0 -27
  570. package/dist/src/table/flow-builder-extensions/TableRowEditor.vue.d.ts +0 -16
  571. package/dist/src/table/index.vue.d.ts +0 -22
  572. package/dist/src/table/pages/TableView.vue.d.ts +0 -54
  573. package/dist/utils-CanmrIWO.mjs +0 -47
  574. package/dist/utils-Yd6F5mea.js +0 -3
  575. package/dist/vee-validate-zod-ByykgYKJ.js +0 -1
  576. package/dist/vee-validate-zod-CcOwoF6y.mjs +0 -4402
@@ -0,0 +1,450 @@
1
+ import { i as e, n as t, r as n, t as r } from "./xy-container-CuQSwrtB.mjs";
2
+ import { n as i, t as a } from "./line-tYLnEDGV.mjs";
3
+ import { useModule as ee, useModuleBreadcrumbs as o, useModuleRoute as s } from "@oneclick.dev/cms-kit";
4
+ import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as te, normalizeClass as g, normalizeStyle as _, onMounted as v, openBlock as y, ref as b, renderList as x, resolveComponent as S, resolveDynamicComponent as C, toDisplayString as w, unref as T, watch as E, withCtx as D } from "vue";
5
+ import { Activity as O, ArrowUpRight as ne, Clock as k, Eye as re, Globe as ie, Loader2 as ae, Minus as oe, Monitor as se, MousePointerClick as ce, RefreshCw as le, Smartphone as ue, Tablet as de, TrendingDown as A, TrendingUp as j, UserPlus as fe, Users as pe, Zap as me } from "@lucide/vue";
6
+ import { ChartTooltipContent as M, componentToString as N } from "@oneclick.dev/cms-kit/charts";
7
+ //#region src/googleAnalytics/pages/Overview.vue?vue&type=script&setup=true&lang.ts
8
+ var he = { class: "flex flex-col gap-4 w-full max-w-7xl mx-auto py-8" }, ge = { class: "flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center" }, _e = { class: "text-muted-foreground text-sm mt-1" }, ve = {
9
+ key: 0,
10
+ class: "flex items-center gap-2"
11
+ }, ye = { class: "flex items-center border rounded-lg overflow-hidden" }, be = ["onClick"], xe = { class: "text-sm text-destructive font-medium" }, Se = {
12
+ key: 2,
13
+ class: "flex items-center justify-center py-20"
14
+ }, Ce = { class: "flex items-start justify-between" }, we = { class: "flex items-center gap-2" }, Te = { class: "text-sm font-medium" }, Ee = { class: "grid grid-cols-2 @md:grid-cols-3 @xl:grid-cols-4 gap-4" }, De = { class: "flex items-center gap-1.5 text-muted-foreground mb-2" }, Oe = { class: "text-xs font-medium uppercase tracking-wide" }, ke = { class: "text-2xl font-semibold tabular-nums" }, Ae = {
15
+ key: 0,
16
+ class: "flex items-center gap-1 mt-1"
17
+ }, je = { class: "flex flex-col @xl:grid @xl:grid-cols-2 gap-4 max-w-full" }, Me = { class: "flex flex-col @lg:grid @lg:grid-cols-2 gap-4" }, Ne = { class: "divide-y" }, Pe = { class: "flex items-center gap-3 min-w-0" }, Fe = { class: "text-muted-foreground w-5 text-right shrink-0" }, Ie = { class: "truncate font-mono text-xs" }, Le = { class: "flex items-center gap-4 shrink-0 tabular-nums" }, Re = { class: "text-muted-foreground text-xs w-16 text-right" }, ze = { class: "text-muted-foreground text-xs w-16 text-right" }, Be = {
18
+ key: 0,
19
+ class: "px-6 py-8 text-center text-muted-foreground text-sm"
20
+ }, Ve = { class: "divide-y" }, He = { class: "flex items-center gap-3 min-w-0" }, Ue = { class: "text-muted-foreground w-5 text-right shrink-0" }, We = { class: "truncate" }, Ge = { class: "flex items-center gap-4 shrink-0 tabular-nums" }, Ke = { class: "text-muted-foreground text-xs w-20 text-right" }, qe = {
21
+ key: 0,
22
+ class: "px-6 py-8 text-center text-muted-foreground text-sm"
23
+ }, Je = { class: "grid @lg:grid-cols-2 gap-4" }, Ye = { class: "space-y-3" }, Xe = { class: "text-sm capitalize flex-1" }, Ze = { class: "flex-1 h-2 bg-muted rounded-full overflow-hidden" }, Qe = { class: "text-xs tabular-nums text-muted-foreground w-16 text-right" }, $e = {
24
+ key: 0,
25
+ class: "py-4 text-center text-muted-foreground text-sm"
26
+ }, et = { class: "space-y-3" }, tt = { class: "text-sm flex-1" }, nt = { class: "flex-1 h-2 bg-muted rounded-full overflow-hidden" }, rt = { class: "text-xs tabular-nums text-muted-foreground w-16 text-right" }, it = {
27
+ key: 0,
28
+ class: "py-4 text-center text-muted-foreground text-sm"
29
+ }, P = /* @__PURE__ */ te({
30
+ __name: "Overview",
31
+ setup(te) {
32
+ let { config: P } = ee(), { moduleId: at } = s();
33
+ o(() => [{ label: "Overview" }]);
34
+ let F = b(!0), I = b(null), L = b("30"), R = b([]), z = b({}), ot = b({}), B = b({}), st = b(0), V = b([]), H = b([]), U = b([]), W = b([]), G = l(() => !!(P.serviceAccount && P.propertyId));
35
+ function K(e) {
36
+ return `/api/v1/modules/${at}${e}`;
37
+ }
38
+ let ct = [
39
+ {
40
+ label: "7 days",
41
+ value: "7"
42
+ },
43
+ {
44
+ label: "14 days",
45
+ value: "14"
46
+ },
47
+ {
48
+ label: "30 days",
49
+ value: "30"
50
+ },
51
+ {
52
+ label: "90 days",
53
+ value: "90"
54
+ }
55
+ ], q = {
56
+ sessions: "#3b82f6",
57
+ users: "#8b5cf6",
58
+ pageViews: "#10b981"
59
+ }, J = {
60
+ sessions: {
61
+ label: "Sessions",
62
+ color: q.sessions
63
+ },
64
+ totalUsers: {
65
+ label: "Users",
66
+ color: q.users
67
+ }
68
+ }, Y = { screenPageViews: {
69
+ label: "Page Views",
70
+ color: q.pageViews
71
+ } }, X = (e, t) => t, lt = (e) => e.sessions || 0, ut = (e) => e.totalUsers || 0, dt = (e) => e.screenPageViews || 0, ft = (e) => {
72
+ let t = R.value[Math.round(e)];
73
+ if (!t) return "";
74
+ let n = new Date(t.date);
75
+ return `${n.getDate()}/${n.getMonth() + 1}`;
76
+ }, pt = (e) => {
77
+ let t = R.value[Math.round(Number(e))];
78
+ return t ? new Date(t.date).toLocaleDateString(void 0, {
79
+ weekday: "short",
80
+ month: "short",
81
+ day: "numeric"
82
+ }) : "";
83
+ }, mt = l(() => [
84
+ {
85
+ label: "Sessions",
86
+ value: Z(z.value.sessions || 0),
87
+ icon: ce,
88
+ change: B.value.sessions
89
+ },
90
+ {
91
+ label: "Users",
92
+ value: Z(z.value.totalUsers || 0),
93
+ icon: pe,
94
+ change: B.value.totalUsers
95
+ },
96
+ {
97
+ label: "Page Views",
98
+ value: Z(z.value.screenPageViews || 0),
99
+ icon: re,
100
+ change: B.value.screenPageViews
101
+ },
102
+ {
103
+ label: "Avg. Duration",
104
+ value: ht(z.value.averageSessionDuration || 0),
105
+ icon: k,
106
+ change: B.value.averageSessionDuration
107
+ },
108
+ {
109
+ label: "Engagement",
110
+ value: `${((z.value.engagementRate || 0) * 100).toFixed(1)}%`,
111
+ icon: me,
112
+ change: B.value.engagementRate,
113
+ positive: !0
114
+ },
115
+ {
116
+ label: "Bounce Rate",
117
+ value: `${((z.value.bounceRate || 0) * 100).toFixed(1)}%`,
118
+ icon: (z.value.bounceRate || 0) > .5 ? A : j,
119
+ change: B.value.bounceRate,
120
+ positive: !1
121
+ },
122
+ {
123
+ label: "New Users",
124
+ value: Z(z.value.newUsers || 0),
125
+ icon: fe,
126
+ change: B.value.newUsers
127
+ },
128
+ {
129
+ label: "Pages / Session",
130
+ value: (z.value.screenPageViewsPerSession || 0).toFixed(1),
131
+ icon: O,
132
+ change: B.value.screenPageViewsPerSession
133
+ }
134
+ ]);
135
+ function Z(e) {
136
+ return e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}K` : Math.round(e).toString();
137
+ }
138
+ function ht(e) {
139
+ let t = Math.floor(e / 60), n = Math.round(e % 60);
140
+ return t > 0 ? `${t}m ${n}s` : `${n}s`;
141
+ }
142
+ function Q(e, t = !0) {
143
+ if (e == null) return {
144
+ text: "—",
145
+ cls: "text-muted-foreground",
146
+ icon: oe
147
+ };
148
+ let n = `${Math.abs(e).toFixed(1)}%`, r = e > 0;
149
+ return {
150
+ text: n,
151
+ cls: (t ? r : !r) ? "text-emerald-600 dark:text-emerald-400" : "text-red-500 dark:text-red-400",
152
+ icon: r ? j : A
153
+ };
154
+ }
155
+ function gt(e) {
156
+ let t = e.toLowerCase();
157
+ return t === "mobile" ? ue : t === "tablet" ? de : se;
158
+ }
159
+ async function $() {
160
+ if (!G.value) return;
161
+ F.value = !0, I.value = null;
162
+ let e = `${L.value}daysAgo`;
163
+ try {
164
+ let [t, n, r, i, a, ee] = await Promise.all([
165
+ $fetch(K(`/report?startDate=${e}&endDate=today`)),
166
+ $fetch(K("/realtime")).catch(() => ({ activeUsers: 0 })),
167
+ $fetch(K(`/top-pages?startDate=${e}&endDate=today&limit=10`)),
168
+ $fetch(K(`/top-sources?startDate=${e}&endDate=today`)),
169
+ $fetch(K(`/devices?startDate=${e}&endDate=today`)),
170
+ $fetch(K(`/countries?startDate=${e}&endDate=today`))
171
+ ]);
172
+ R.value = t.rows || [], z.value = t.totals || {}, ot.value = t.previousTotals || {}, B.value = t.changes || {}, st.value = n.activeUsers || 0, V.value = r.rows || [], H.value = i.rows || [], U.value = a.rows || [], W.value = ee.rows || [];
173
+ } catch (e) {
174
+ console.error("Failed to fetch analytics data:", e), I.value = e?.data?.statusMessage || e?.message || "Failed to load analytics data";
175
+ } finally {
176
+ F.value = !1;
177
+ }
178
+ }
179
+ return E(L, () => $()), v(() => {
180
+ G.value ? $() : F.value = !1;
181
+ }), (ee, o) => {
182
+ let s = S("Button"), l = S("Card"), te = S("Badge"), v = S("CardTitle"), b = S("CardHeader"), E = S("ChartLegendContent"), O = S("ChartContainer"), k = S("CardContent");
183
+ return y(), f("div", he, [p("div", ge, [p("div", null, [o[0] ||= p("h1", { class: "text-2xl font-semibold" }, "Analytics Overview", -1), p("p", _e, "Property " + w(T(P).propertyId || "—"), 1)]), G.value ? (y(), f("div", ve, [p("div", ye, [(y(), f(c, null, x(ct, (e) => p("button", {
184
+ key: e.value,
185
+ class: g(["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"]),
186
+ onClick: (t) => L.value = e.value
187
+ }, w(e.label), 11, be)), 64))]), h(s, {
188
+ variant: "outline",
189
+ size: "icon",
190
+ onClick: $,
191
+ disabled: F.value
192
+ }, {
193
+ default: D(() => [h(T(le), { class: g(["size-4", { "animate-spin": F.value }]) }, null, 8, ["class"])]),
194
+ _: 1
195
+ }, 8, ["disabled"])])) : d("", !0)]), G.value ? I.value ? (y(), u(l, {
196
+ key: 1,
197
+ class: "p-6 border-destructive/50 bg-destructive/5"
198
+ }, {
199
+ default: D(() => [p("p", xe, w(I.value), 1), h(s, {
200
+ variant: "outline",
201
+ size: "sm",
202
+ class: "mt-3",
203
+ onClick: $
204
+ }, {
205
+ default: D(() => [...o[2] ||= [m("Retry", -1)]]),
206
+ _: 1
207
+ })]),
208
+ _: 1
209
+ })) : F.value ? (y(), f("div", Se, [h(T(ae), { class: "size-8 animate-spin text-muted-foreground" })])) : (y(), f(c, { key: 3 }, [
210
+ h(l, { class: "p-4" }, {
211
+ default: D(() => [p("div", Ce, [p("div", we, [
212
+ o[3] ||= p("span", { class: "relative flex h-2.5 w-2.5" }, [p("span", { class: "animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75" }), p("span", { class: "relative inline-flex rounded-full h-2.5 w-2.5 bg-green-500" })], -1),
213
+ p("span", Te, w(st.value) + " visitors", 1),
214
+ o[4] ||= p("span", { class: "text-xs text-muted-foreground translate-y-0.25" }, "in the last 30 minutes", -1)
215
+ ]), h(te, {
216
+ variant: "outline",
217
+ class: "text-xs"
218
+ }, {
219
+ default: D(() => [...o[5] ||= [m("Live", -1)]]),
220
+ _: 1
221
+ })])]),
222
+ _: 1
223
+ }),
224
+ p("div", Ee, [(y(!0), f(c, null, x(mt.value, (e) => (y(), u(l, {
225
+ key: e.label,
226
+ class: "p-4"
227
+ }, {
228
+ default: D(() => [
229
+ p("div", De, [(y(), u(C(e.icon), { class: "size-3.5" })), p("span", Oe, w(e.label), 1)]),
230
+ p("p", ke, w(e.value), 1),
231
+ e.change === void 0 ? d("", !0) : (y(), f("div", Ae, [
232
+ (y(), u(C(Q(e.change, e.positive !== !1).icon), { class: g(["size-3", Q(e.change, e.positive !== !1).cls]) }, null, 8, ["class"])),
233
+ p("span", { class: g(["text-xs font-medium", Q(e.change, e.positive !== !1).cls]) }, w(Q(e.change, e.positive !== !1).text), 3),
234
+ o[6] ||= p("span", { class: "text-xs text-muted-foreground" }, "vs prev.", -1)
235
+ ]))
236
+ ]),
237
+ _: 2
238
+ }, 1024))), 128))]),
239
+ p("div", je, [h(l, null, {
240
+ default: D(() => [h(b, { class: "pb-2" }, {
241
+ default: D(() => [h(v, { class: "text-base" }, {
242
+ default: D(() => [...o[7] ||= [m("Sessions & Users", -1)]]),
243
+ _: 1
244
+ })]),
245
+ _: 1
246
+ }), h(k, null, {
247
+ default: D(() => [h(O, {
248
+ config: J,
249
+ class: "h-[240px] w-full"
250
+ }, {
251
+ default: D(() => [h(T(r), {
252
+ data: R.value,
253
+ margin: {
254
+ top: 8,
255
+ right: 8,
256
+ bottom: 24,
257
+ left: 40
258
+ }
259
+ }, {
260
+ default: D(() => [
261
+ h(T(i), {
262
+ x: X,
263
+ y: lt,
264
+ color: q.sessions,
265
+ opacity: .1,
266
+ curveType: "monotoneX"
267
+ }, null, 8, ["color"]),
268
+ h(T(a), {
269
+ x: X,
270
+ y: lt,
271
+ color: q.sessions,
272
+ lineWidth: 2,
273
+ curveType: "monotoneX"
274
+ }, null, 8, ["color"]),
275
+ h(T(a), {
276
+ x: X,
277
+ y: ut,
278
+ color: q.users,
279
+ lineWidth: 2,
280
+ curveType: "monotoneX"
281
+ }, null, 8, ["color"]),
282
+ h(T(e), {
283
+ type: "x",
284
+ tickFormat: ft,
285
+ numTicks: 6
286
+ }),
287
+ h(T(e), {
288
+ type: "y",
289
+ numTicks: 4
290
+ }),
291
+ h(T(n), { template: T(N)(J, T(M), { labelFormatter: pt }) }, null, 8, ["template"]),
292
+ h(T(t))
293
+ ]),
294
+ _: 1
295
+ }, 8, ["data"]), h(E, { config: J })]),
296
+ _: 1
297
+ })]),
298
+ _: 1
299
+ })]),
300
+ _: 1
301
+ }), h(l, null, {
302
+ default: D(() => [h(b, { class: "pb-2" }, {
303
+ default: D(() => [h(v, { class: "text-base" }, {
304
+ default: D(() => [...o[8] ||= [m("Page Views", -1)]]),
305
+ _: 1
306
+ })]),
307
+ _: 1
308
+ }), h(k, null, {
309
+ default: D(() => [h(O, {
310
+ config: Y,
311
+ class: "h-[240px] w-full"
312
+ }, {
313
+ default: D(() => [h(T(r), {
314
+ data: R.value,
315
+ margin: {
316
+ top: 8,
317
+ right: 8,
318
+ bottom: 24,
319
+ left: 40
320
+ }
321
+ }, {
322
+ default: D(() => [
323
+ h(T(i), {
324
+ x: X,
325
+ y: dt,
326
+ color: q.pageViews,
327
+ opacity: .15,
328
+ curveType: "monotoneX"
329
+ }, null, 8, ["color"]),
330
+ h(T(a), {
331
+ x: X,
332
+ y: dt,
333
+ color: q.pageViews,
334
+ lineWidth: 2,
335
+ curveType: "monotoneX"
336
+ }, null, 8, ["color"]),
337
+ h(T(e), {
338
+ type: "x",
339
+ tickFormat: ft,
340
+ numTicks: 6
341
+ }),
342
+ h(T(e), {
343
+ type: "y",
344
+ numTicks: 4
345
+ }),
346
+ h(T(n), { template: T(N)(Y, T(M), { labelFormatter: pt }) }, null, 8, ["template"]),
347
+ h(T(t))
348
+ ]),
349
+ _: 1
350
+ }, 8, ["data"]), h(E, { config: Y })]),
351
+ _: 1
352
+ })]),
353
+ _: 1
354
+ })]),
355
+ _: 1
356
+ })]),
357
+ p("div", Me, [h(l, null, {
358
+ default: D(() => [h(b, { class: "pb-2" }, {
359
+ default: D(() => [h(v, { class: "text-base" }, {
360
+ default: D(() => [...o[9] ||= [m("Top Pages", -1)]]),
361
+ _: 1
362
+ })]),
363
+ _: 1
364
+ }), h(k, { class: "p-0" }, {
365
+ default: D(() => [p("div", Ne, [(y(!0), f(c, null, x(V.value, (e, t) => (y(), f("div", {
366
+ key: e.pagePath,
367
+ class: "flex items-center justify-between px-6 py-3 text-sm"
368
+ }, [p("div", Pe, [p("span", Fe, w(t + 1), 1), p("span", Ie, w(e.pagePath), 1)]), p("div", Le, [p("span", Re, w(Z(e.screenPageViews)) + " views", 1), p("span", ze, w(Z(e.totalUsers)) + " users", 1)])]))), 128)), V.value.length ? d("", !0) : (y(), f("div", Be, "No data available"))])]),
369
+ _: 1
370
+ })]),
371
+ _: 1
372
+ }), h(l, null, {
373
+ default: D(() => [h(b, { class: "pb-2" }, {
374
+ default: D(() => [h(v, { class: "text-base" }, {
375
+ default: D(() => [...o[10] ||= [m("Traffic Sources", -1)]]),
376
+ _: 1
377
+ })]),
378
+ _: 1
379
+ }), h(k, { class: "p-0" }, {
380
+ default: D(() => [p("div", Ve, [(y(!0), f(c, null, x(H.value, (e, t) => (y(), f("div", {
381
+ key: e.sessionSource,
382
+ class: "flex items-center justify-between px-6 py-3 text-sm"
383
+ }, [p("div", He, [
384
+ p("span", Ue, w(t + 1), 1),
385
+ h(T(ne), { class: "size-3.5 text-muted-foreground shrink-0" }),
386
+ p("span", We, w(e.sessionSource || "(direct)"), 1)
387
+ ]), p("div", Ge, [p("span", Ke, w(Z(e.sessions)) + " sessions", 1)])]))), 128)), H.value.length ? d("", !0) : (y(), f("div", qe, "No data available"))])]),
388
+ _: 1
389
+ })]),
390
+ _: 1
391
+ })]),
392
+ p("div", Je, [h(l, null, {
393
+ default: D(() => [h(b, { class: "pb-2" }, {
394
+ default: D(() => [h(v, { class: "text-base" }, {
395
+ default: D(() => [...o[11] ||= [m("Devices", -1)]]),
396
+ _: 1
397
+ })]),
398
+ _: 1
399
+ }), h(k, null, {
400
+ default: D(() => [p("div", Ye, [(y(!0), f(c, null, x(U.value, (e) => (y(), f("div", {
401
+ key: e.deviceCategory,
402
+ class: "flex items-center gap-3"
403
+ }, [
404
+ (y(), u(C(gt(e.deviceCategory)), { class: "size-4 text-muted-foreground shrink-0" })),
405
+ p("span", Xe, w(e.deviceCategory), 1),
406
+ p("div", Ze, [p("div", {
407
+ class: "h-full bg-primary rounded-full transition-all",
408
+ style: _({ width: `${e.sessions / (U.value[0]?.sessions || 1) * 100}%` })
409
+ }, null, 4)]),
410
+ p("span", Qe, w(Z(e.sessions)), 1)
411
+ ]))), 128)), U.value.length ? d("", !0) : (y(), f("div", $e, "No data available"))])]),
412
+ _: 1
413
+ })]),
414
+ _: 1
415
+ }), h(l, null, {
416
+ default: D(() => [h(b, { class: "pb-2" }, {
417
+ default: D(() => [h(v, { class: "text-base" }, {
418
+ default: D(() => [...o[12] ||= [m("Top Countries", -1)]]),
419
+ _: 1
420
+ })]),
421
+ _: 1
422
+ }), h(k, null, {
423
+ default: D(() => [p("div", et, [(y(!0), f(c, null, x(W.value, (e) => (y(), f("div", {
424
+ key: e.country,
425
+ class: "flex items-center gap-3"
426
+ }, [
427
+ h(T(ie), { class: "size-4 text-muted-foreground shrink-0" }),
428
+ p("span", tt, w(e.country), 1),
429
+ p("div", nt, [p("div", {
430
+ class: "h-full bg-primary rounded-full transition-all",
431
+ style: _({ width: `${e.sessions / (W.value[0]?.sessions || 1) * 100}%` })
432
+ }, null, 4)]),
433
+ p("span", rt, w(Z(e.sessions)), 1)
434
+ ]))), 128)), W.value.length ? d("", !0) : (y(), f("div", it, "No data available"))])]),
435
+ _: 1
436
+ })]),
437
+ _: 1
438
+ })])
439
+ ], 64)) : (y(), u(l, {
440
+ key: 0,
441
+ class: "p-8 text-center"
442
+ }, {
443
+ default: D(() => [...o[1] ||= [p("div", { class: "mx-auto max-w-md space-y-3" }, [p("p", { class: "text-lg font-medium" }, "Setup required"), p("p", { class: "text-sm text-muted-foreground" }, "Connect a Google Service Account and enter your GA4 Property ID in the module settings to start seeing analytics.")], -1)]]),
444
+ _: 1
445
+ }))]);
446
+ };
447
+ }
448
+ });
449
+ //#endregion
450
+ export { P as default };
@@ -0,0 +1 @@
1
+ require(`./chunk-DQi1bQcV.js`);const e=require(`./xy-container-_6YpscZh.js`),t=require(`./line-DJdnFNI7.js`);let n=require(`@oneclick.dev/cms-kit`),r=require(`vue`),i=require(`@lucide/vue`),a=require(`@oneclick.dev/cms-kit/charts`);var o={class:`flex flex-col gap-4 w-full max-w-7xl mx-auto py-8`},s={class:`flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center`},c={class:`text-muted-foreground text-sm mt-1`},l={key:0,class:`flex items-center gap-2`},u={class:`flex items-center border rounded-lg overflow-hidden`},d=[`onClick`],ee={class:`text-sm text-destructive font-medium`},te={key:2,class:`flex items-center justify-center py-20`},ne={class:`flex items-start justify-between`},re={class:`flex items-center gap-2`},ie={class:`text-sm font-medium`},ae={class:`grid grid-cols-2 @md:grid-cols-3 @xl:grid-cols-4 gap-4`},oe={class:`flex items-center gap-1.5 text-muted-foreground mb-2`},se={class:`text-xs font-medium uppercase tracking-wide`},ce={class:`text-2xl font-semibold tabular-nums`},le={key:0,class:`flex items-center gap-1 mt-1`},ue={class:`flex flex-col @xl:grid @xl:grid-cols-2 gap-4 max-w-full`},de={class:`flex flex-col @lg:grid @lg:grid-cols-2 gap-4`},fe={class:`divide-y`},pe={class:`flex items-center gap-3 min-w-0`},me={class:`text-muted-foreground w-5 text-right shrink-0`},he={class:`truncate font-mono text-xs`},ge={class:`flex items-center gap-4 shrink-0 tabular-nums`},_e={class:`text-muted-foreground text-xs w-16 text-right`},ve={class:`text-muted-foreground text-xs w-16 text-right`},ye={key:0,class:`px-6 py-8 text-center text-muted-foreground text-sm`},be={class:`divide-y`},f={class:`flex items-center gap-3 min-w-0`},xe={class:`text-muted-foreground w-5 text-right shrink-0`},Se={class:`truncate`},Ce={class:`flex items-center gap-4 shrink-0 tabular-nums`},we={class:`text-muted-foreground text-xs w-20 text-right`},Te={key:0,class:`px-6 py-8 text-center text-muted-foreground text-sm`},Ee={class:`grid @lg:grid-cols-2 gap-4`},p={class:`space-y-3`},m={class:`text-sm capitalize flex-1`},h={class:`flex-1 h-2 bg-muted rounded-full overflow-hidden`},g={class:`text-xs tabular-nums text-muted-foreground w-16 text-right`},_={key:0,class:`py-4 text-center text-muted-foreground text-sm`},v={class:`space-y-3`},y={class:`text-sm flex-1`},b={class:`flex-1 h-2 bg-muted rounded-full overflow-hidden`},x={class:`text-xs tabular-nums text-muted-foreground w-16 text-right`},S={key:0,class:`py-4 text-center text-muted-foreground text-sm`},C=(0,r.defineComponent)({__name:`Overview`,setup(C){let{config:w}=(0,n.useModule)(),{moduleId:T}=(0,n.useModuleRoute)();(0,n.useModuleBreadcrumbs)(()=>[{label:`Overview`}]);let E=(0,r.ref)(!0),D=(0,r.ref)(null),O=(0,r.ref)(`30`),k=(0,r.ref)([]),A=(0,r.ref)({}),j=(0,r.ref)({}),M=(0,r.ref)({}),N=(0,r.ref)(0),P=(0,r.ref)([]),F=(0,r.ref)([]),I=(0,r.ref)([]),L=(0,r.ref)([]),R=(0,r.computed)(()=>!!(w.serviceAccount&&w.propertyId));function z(e){return`/api/v1/modules/${T}${e}`}let De=[{label:`7 days`,value:`7`},{label:`14 days`,value:`14`},{label:`30 days`,value:`30`},{label:`90 days`,value:`90`}],B={sessions:`#3b82f6`,users:`#8b5cf6`,pageViews:`#10b981`},V={sessions:{label:`Sessions`,color:B.sessions},totalUsers:{label:`Users`,color:B.users}},H={screenPageViews:{label:`Page Views`,color:B.pageViews}},U=(e,t)=>t,W=e=>e.sessions||0,Oe=e=>e.totalUsers||0,G=e=>e.screenPageViews||0,K=e=>{let t=k.value[Math.round(e)];if(!t)return``;let n=new Date(t.date);return`${n.getDate()}/${n.getMonth()+1}`},q=e=>{let t=k.value[Math.round(Number(e))];return t?new Date(t.date).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`}):``},ke=(0,r.computed)(()=>[{label:`Sessions`,value:J(A.value.sessions||0),icon:i.MousePointerClick,change:M.value.sessions},{label:`Users`,value:J(A.value.totalUsers||0),icon:i.Users,change:M.value.totalUsers},{label:`Page Views`,value:J(A.value.screenPageViews||0),icon:i.Eye,change:M.value.screenPageViews},{label:`Avg. Duration`,value:Y(A.value.averageSessionDuration||0),icon:i.Clock,change:M.value.averageSessionDuration},{label:`Engagement`,value:`${((A.value.engagementRate||0)*100).toFixed(1)}%`,icon:i.Zap,change:M.value.engagementRate,positive:!0},{label:`Bounce Rate`,value:`${((A.value.bounceRate||0)*100).toFixed(1)}%`,icon:(A.value.bounceRate||0)>.5?i.TrendingDown:i.TrendingUp,change:M.value.bounceRate,positive:!1},{label:`New Users`,value:J(A.value.newUsers||0),icon:i.UserPlus,change:M.value.newUsers},{label:`Pages / Session`,value:(A.value.screenPageViewsPerSession||0).toFixed(1),icon:i.Activity,change:M.value.screenPageViewsPerSession}]);function J(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:Math.round(e).toString()}function Y(e){let t=Math.floor(e/60),n=Math.round(e%60);return t>0?`${t}m ${n}s`:`${n}s`}function X(e,t=!0){if(e==null)return{text:`—`,cls:`text-muted-foreground`,icon:i.Minus};let n=`${Math.abs(e).toFixed(1)}%`,r=e>0;return{text:n,cls:(t?r:!r)?`text-emerald-600 dark:text-emerald-400`:`text-red-500 dark:text-red-400`,icon:r?i.TrendingUp:i.TrendingDown}}function Ae(e){let t=e.toLowerCase();return t===`mobile`?i.Smartphone:t===`tablet`?i.Tablet:i.Monitor}async function Z(){if(!R.value)return;E.value=!0,D.value=null;let e=`${O.value}daysAgo`;try{let[t,n,r,i,a,o]=await Promise.all([$fetch(z(`/report?startDate=${e}&endDate=today`)),$fetch(z(`/realtime`)).catch(()=>({activeUsers:0})),$fetch(z(`/top-pages?startDate=${e}&endDate=today&limit=10`)),$fetch(z(`/top-sources?startDate=${e}&endDate=today`)),$fetch(z(`/devices?startDate=${e}&endDate=today`)),$fetch(z(`/countries?startDate=${e}&endDate=today`))]);k.value=t.rows||[],A.value=t.totals||{},j.value=t.previousTotals||{},M.value=t.changes||{},N.value=n.activeUsers||0,P.value=r.rows||[],F.value=i.rows||[],I.value=a.rows||[],L.value=o.rows||[]}catch(e){console.error(`Failed to fetch analytics data:`,e),D.value=e?.data?.statusMessage||e?.message||`Failed to load analytics data`}finally{E.value=!1}}return(0,r.watch)(O,()=>Z()),(0,r.onMounted)(()=>{R.value?Z():E.value=!1}),(n,C)=>{let T=(0,r.resolveComponent)(`Button`),A=(0,r.resolveComponent)(`Card`),j=(0,r.resolveComponent)(`Badge`),M=(0,r.resolveComponent)(`CardTitle`),z=(0,r.resolveComponent)(`CardHeader`),Y=(0,r.resolveComponent)(`ChartLegendContent`),Q=(0,r.resolveComponent)(`ChartContainer`),$=(0,r.resolveComponent)(`CardContent`);return(0,r.openBlock)(),(0,r.createElementBlock)(`div`,o,[(0,r.createElementVNode)(`div`,s,[(0,r.createElementVNode)(`div`,null,[C[0]||=(0,r.createElementVNode)(`h1`,{class:`text-2xl font-semibold`},`Analytics Overview`,-1),(0,r.createElementVNode)(`p`,c,`Property `+(0,r.toDisplayString)((0,r.unref)(w).propertyId||`—`),1)]),R.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,l,[(0,r.createElementVNode)(`div`,u,[((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(De,e=>(0,r.createElementVNode)(`button`,{key:e.value,class:(0,r.normalizeClass)([`px-3 py-1.5 text-xs font-medium transition-colors`,O.value===e.value?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:t=>O.value=e.value},(0,r.toDisplayString)(e.label),11,d)),64))]),(0,r.createVNode)(T,{variant:`outline`,size:`icon`,onClick:Z,disabled:E.value},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.RefreshCw),{class:(0,r.normalizeClass)([`size-4`,{"animate-spin":E.value}])},null,8,[`class`])]),_:1},8,[`disabled`])])):(0,r.createCommentVNode)(``,!0)]),R.value?D.value?((0,r.openBlock)(),(0,r.createBlock)(A,{key:1,class:`p-6 border-destructive/50 bg-destructive/5`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`p`,ee,(0,r.toDisplayString)(D.value),1),(0,r.createVNode)(T,{variant:`outline`,size:`sm`,class:`mt-3`,onClick:Z},{default:(0,r.withCtx)(()=>[...C[2]||=[(0,r.createTextVNode)(`Retry`,-1)]]),_:1})]),_:1})):E.value?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,te,[(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.createVNode)(A,{class:`p-4`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,ne,[(0,r.createElementVNode)(`div`,re,[C[3]||=(0,r.createElementVNode)(`span`,{class:`relative flex h-2.5 w-2.5`},[(0,r.createElementVNode)(`span`,{class:`animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75`}),(0,r.createElementVNode)(`span`,{class:`relative inline-flex rounded-full h-2.5 w-2.5 bg-green-500`})],-1),(0,r.createElementVNode)(`span`,ie,(0,r.toDisplayString)(N.value)+` visitors`,1),C[4]||=(0,r.createElementVNode)(`span`,{class:`text-xs text-muted-foreground translate-y-0.25`},`in the last 30 minutes`,-1)]),(0,r.createVNode)(j,{variant:`outline`,class:`text-xs`},{default:(0,r.withCtx)(()=>[...C[5]||=[(0,r.createTextVNode)(`Live`,-1)]]),_:1})])]),_:1}),(0,r.createElementVNode)(`div`,ae,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(ke.value,e=>((0,r.openBlock)(),(0,r.createBlock)(A,{key:e.label,class:`p-4`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,oe,[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(e.icon),{class:`size-3.5`})),(0,r.createElementVNode)(`span`,se,(0,r.toDisplayString)(e.label),1)]),(0,r.createElementVNode)(`p`,ce,(0,r.toDisplayString)(e.value),1),e.change===void 0?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,le,[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(X(e.change,e.positive!==!1).icon),{class:(0,r.normalizeClass)([`size-3`,X(e.change,e.positive!==!1).cls])},null,8,[`class`])),(0,r.createElementVNode)(`span`,{class:(0,r.normalizeClass)([`text-xs font-medium`,X(e.change,e.positive!==!1).cls])},(0,r.toDisplayString)(X(e.change,e.positive!==!1).text),3),C[6]||=(0,r.createElementVNode)(`span`,{class:`text-xs text-muted-foreground`},`vs prev.`,-1)]))]),_:2},1024))),128))]),(0,r.createElementVNode)(`div`,ue,[(0,r.createVNode)(A,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(z,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(M,{class:`text-base`},{default:(0,r.withCtx)(()=>[...C[7]||=[(0,r.createTextVNode)(`Sessions & Users`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(Q,{config:V,class:`h-[240px] w-full`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(e.t),{data:k.value,margin:{top:8,right:8,bottom:24,left:40}},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(t.n),{x:U,y:W,color:B.sessions,opacity:.1,curveType:`monotoneX`},null,8,[`color`]),(0,r.createVNode)((0,r.unref)(t.t),{x:U,y:W,color:B.sessions,lineWidth:2,curveType:`monotoneX`},null,8,[`color`]),(0,r.createVNode)((0,r.unref)(t.t),{x:U,y:Oe,color:B.users,lineWidth:2,curveType:`monotoneX`},null,8,[`color`]),(0,r.createVNode)((0,r.unref)(e.i),{type:`x`,tickFormat:K,numTicks:6}),(0,r.createVNode)((0,r.unref)(e.i),{type:`y`,numTicks:4}),(0,r.createVNode)((0,r.unref)(e.r),{template:(0,r.unref)(a.componentToString)(V,(0,r.unref)(a.ChartTooltipContent),{labelFormatter:q})},null,8,[`template`]),(0,r.createVNode)((0,r.unref)(e.n))]),_:1},8,[`data`]),(0,r.createVNode)(Y,{config:V})]),_:1})]),_:1})]),_:1}),(0,r.createVNode)(A,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(z,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(M,{class:`text-base`},{default:(0,r.withCtx)(()=>[...C[8]||=[(0,r.createTextVNode)(`Page Views`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(Q,{config:H,class:`h-[240px] w-full`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(e.t),{data:k.value,margin:{top:8,right:8,bottom:24,left:40}},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(t.n),{x:U,y:G,color:B.pageViews,opacity:.15,curveType:`monotoneX`},null,8,[`color`]),(0,r.createVNode)((0,r.unref)(t.t),{x:U,y:G,color:B.pageViews,lineWidth:2,curveType:`monotoneX`},null,8,[`color`]),(0,r.createVNode)((0,r.unref)(e.i),{type:`x`,tickFormat:K,numTicks:6}),(0,r.createVNode)((0,r.unref)(e.i),{type:`y`,numTicks:4}),(0,r.createVNode)((0,r.unref)(e.r),{template:(0,r.unref)(a.componentToString)(H,(0,r.unref)(a.ChartTooltipContent),{labelFormatter:q})},null,8,[`template`]),(0,r.createVNode)((0,r.unref)(e.n))]),_:1},8,[`data`]),(0,r.createVNode)(Y,{config:H})]),_:1})]),_:1})]),_:1})]),(0,r.createElementVNode)(`div`,de,[(0,r.createVNode)(A,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(z,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(M,{class:`text-base`},{default:(0,r.withCtx)(()=>[...C[9]||=[(0,r.createTextVNode)(`Top Pages`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,{class:`p-0`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,fe,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(P.value,(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.pagePath,class:`flex items-center justify-between px-6 py-3 text-sm`},[(0,r.createElementVNode)(`div`,pe,[(0,r.createElementVNode)(`span`,me,(0,r.toDisplayString)(t+1),1),(0,r.createElementVNode)(`span`,he,(0,r.toDisplayString)(e.pagePath),1)]),(0,r.createElementVNode)(`div`,ge,[(0,r.createElementVNode)(`span`,_e,(0,r.toDisplayString)(J(e.screenPageViews))+` views`,1),(0,r.createElementVNode)(`span`,ve,(0,r.toDisplayString)(J(e.totalUsers))+` users`,1)])]))),128)),P.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,ye,`No data available`))])]),_:1})]),_:1}),(0,r.createVNode)(A,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(z,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(M,{class:`text-base`},{default:(0,r.withCtx)(()=>[...C[10]||=[(0,r.createTextVNode)(`Traffic Sources`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,{class:`p-0`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,be,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(F.value,(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.sessionSource,class:`flex items-center justify-between px-6 py-3 text-sm`},[(0,r.createElementVNode)(`div`,f,[(0,r.createElementVNode)(`span`,xe,(0,r.toDisplayString)(t+1),1),(0,r.createVNode)((0,r.unref)(i.ArrowUpRight),{class:`size-3.5 text-muted-foreground shrink-0`}),(0,r.createElementVNode)(`span`,Se,(0,r.toDisplayString)(e.sessionSource||`(direct)`),1)]),(0,r.createElementVNode)(`div`,Ce,[(0,r.createElementVNode)(`span`,we,(0,r.toDisplayString)(J(e.sessions))+` sessions`,1)])]))),128)),F.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,Te,`No data available`))])]),_:1})]),_:1})]),(0,r.createElementVNode)(`div`,Ee,[(0,r.createVNode)(A,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(z,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(M,{class:`text-base`},{default:(0,r.withCtx)(()=>[...C[11]||=[(0,r.createTextVNode)(`Devices`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,p,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(I.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.deviceCategory,class:`flex items-center gap-3`},[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(Ae(e.deviceCategory)),{class:`size-4 text-muted-foreground shrink-0`})),(0,r.createElementVNode)(`span`,m,(0,r.toDisplayString)(e.deviceCategory),1),(0,r.createElementVNode)(`div`,h,[(0,r.createElementVNode)(`div`,{class:`h-full bg-primary rounded-full transition-all`,style:(0,r.normalizeStyle)({width:`${e.sessions/(I.value[0]?.sessions||1)*100}%`})},null,4)]),(0,r.createElementVNode)(`span`,g,(0,r.toDisplayString)(J(e.sessions)),1)]))),128)),I.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,_,`No data available`))])]),_:1})]),_:1}),(0,r.createVNode)(A,null,{default:(0,r.withCtx)(()=>[(0,r.createVNode)(z,{class:`pb-2`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)(M,{class:`text-base`},{default:(0,r.withCtx)(()=>[...C[12]||=[(0,r.createTextVNode)(`Top Countries`,-1)]]),_:1})]),_:1}),(0,r.createVNode)($,null,{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,v,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(L.value,e=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:e.country,class:`flex items-center gap-3`},[(0,r.createVNode)((0,r.unref)(i.Globe),{class:`size-4 text-muted-foreground shrink-0`}),(0,r.createElementVNode)(`span`,y,(0,r.toDisplayString)(e.country),1),(0,r.createElementVNode)(`div`,b,[(0,r.createElementVNode)(`div`,{class:`h-full bg-primary rounded-full transition-all`,style:(0,r.normalizeStyle)({width:`${e.sessions/(L.value[0]?.sessions||1)*100}%`})},null,4)]),(0,r.createElementVNode)(`span`,x,(0,r.toDisplayString)(J(e.sessions)),1)]))),128)),L.value.length?(0,r.createCommentVNode)(``,!0):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,S,`No data available`))])]),_:1})]),_:1})])],64)):((0,r.openBlock)(),(0,r.createBlock)(A,{key:0,class:`p-8 text-center`},{default:(0,r.withCtx)(()=>[...C[1]||=[(0,r.createElementVNode)(`div`,{class:`mx-auto max-w-md space-y-3`},[(0,r.createElementVNode)(`p`,{class:`text-lg font-medium`},`Setup required`),(0,r.createElementVNode)(`p`,{class:`text-sm text-muted-foreground`},`Connect a Google Service Account and enter your GA4 Property ID in the module settings to start seeing analytics.`)],-1)]]),_:1}))])}}});exports.default=C;
@@ -0,0 +1,133 @@
1
+ import { useFirebaseIntegration as e, useLogs as t, useModuleBreadcrumbs as n, useModulePermissions as r, useModuleRoute as i } from "@oneclick.dev/cms-kit";
2
+ import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, onMounted as m, openBlock as h, ref as g, renderList as _, resolveComponent as v, toDisplayString as y, unref as b, withCtx as x, withKeys as S } from "vue";
3
+ import { Pencil as C, Plus as w, Search as T } from "@lucide/vue";
4
+ //#region src/productCollections/components/overview/ListView.vue?vue&type=script&setup=true&lang.ts
5
+ var E = { class: "flex items-center gap-2" }, D = {
6
+ key: 0,
7
+ class: "bg-green-500 text-green-950 px-2 py-1 rounded-lg text-xs"
8
+ }, O = {
9
+ key: 1,
10
+ class: "bg-blue-500 text-blue-950 px-2 py-1 rounded-lg text-xs"
11
+ }, k = /* @__PURE__ */ p({
12
+ __name: "ListView",
13
+ props: { collections: {
14
+ type: Array,
15
+ required: !0
16
+ } },
17
+ setup(e) {
18
+ let { navigateTo: t } = i();
19
+ return (n, r) => {
20
+ let i = v("TableHead"), o = v("TableRow"), p = v("TableHeader"), m = v("AvatarImage"), g = v("AvatarFallback"), S = v("Avatar"), w = v("TableCell"), T = v("Button"), k = v("TableBody"), A = v("Table");
21
+ return h(), s(A, null, {
22
+ default: x(() => [f(p, null, {
23
+ default: x(() => [f(o, null, {
24
+ default: x(() => [
25
+ f(i, { class: "w-[100px]" }, {
26
+ default: x(() => [...r[0] ||= [d(" Title ", -1)]]),
27
+ _: 1
28
+ }),
29
+ f(i, null, {
30
+ default: x(() => [...r[1] ||= [d("Status", -1)]]),
31
+ _: 1
32
+ }),
33
+ f(i, null, {
34
+ default: x(() => [...r[2] ||= [d(" Type", -1)]]),
35
+ _: 1
36
+ }),
37
+ f(i, { class: "text-right" }, {
38
+ default: x(() => [...r[3] ||= [d(" Actions ", -1)]]),
39
+ _: 1
40
+ })
41
+ ]),
42
+ _: 1
43
+ })]),
44
+ _: 1
45
+ }), f(k, null, {
46
+ default: x(() => [(h(!0), l(a, null, _(e.collections, (e) => (h(), s(o, {
47
+ key: e.id,
48
+ onClick: (n) => b(t)(e.id),
49
+ class: "cursor-pointer"
50
+ }, {
51
+ default: x(() => [
52
+ f(w, { class: "font-medium" }, {
53
+ default: x(() => [u("div", E, [e.thumbnail ? (h(), s(S, {
54
+ key: 0,
55
+ class: "size-12 rounded-xl"
56
+ }, {
57
+ default: x(() => [f(m, {
58
+ src: e.thumbnail,
59
+ class: "object-cover"
60
+ }, null, 8, ["src"]), f(g, { class: "rounded-xl" })]),
61
+ _: 2
62
+ }, 1024)) : c("", !0), u("span", null, y(e.title), 1)])]),
63
+ _: 2
64
+ }, 1024),
65
+ f(w, null, {
66
+ default: x(() => [e.status === "published" ? (h(), l("span", D, "Published")) : e.status === "draft" ? (h(), l("span", O, "Draft")) : c("", !0)]),
67
+ _: 2
68
+ }, 1024),
69
+ f(w, null, {
70
+ default: x(() => [d(y(e.type), 1)]),
71
+ _: 2
72
+ }, 1024),
73
+ f(w, { class: "text-right" }, {
74
+ default: x(() => [f(T, {
75
+ size: "icon",
76
+ variant: "ghost"
77
+ }, {
78
+ default: x(() => [f(b(C), { class: "size-4" })]),
79
+ _: 1
80
+ })]),
81
+ _: 1
82
+ })
83
+ ]),
84
+ _: 2
85
+ }, 1032, ["onClick"]))), 128))]),
86
+ _: 1
87
+ })]),
88
+ _: 1
89
+ });
90
+ };
91
+ }
92
+ }), A = { class: "relative" }, j = {
93
+ ref: "container",
94
+ class: "flex items-center justify-between gap-4 w-full mt-12 mb-8"
95
+ }, M = { class: "flex items-center gap-4" }, N = { class: "text-lg whitespace-nowrap" }, P = { class: "relative w-full max-w-sm items-center" }, F = { class: "absolute start-0 inset-y-0 flex items-center justify-center px-2" }, I = { class: "flex items-center gap-4" }, L = /* @__PURE__ */ p({
96
+ __name: "Overview",
97
+ props: { config: {
98
+ type: Object,
99
+ required: !0
100
+ } },
101
+ setup(a) {
102
+ let p = a, { hasPermission: _ } = r(), { navigateTo: C } = i(), { log: E, logWarning: D, logError: O } = t();
103
+ n(() => []);
104
+ let L = e(p.config.project), R = g([]), z = g(""), B = o(() => R.value.filter((e) => e.title.toLowerCase().includes(z.value.toLowerCase()))), V = async () => (R.value = await (async () => {
105
+ if (!p.config.collectionsCollection) return [];
106
+ let e = p.config.collectionsCollection.split(":");
107
+ return e.length === 2 && (await L.get(e[0]))?.[e[1]] || [];
108
+ })(), R.value);
109
+ return m(() => {
110
+ V();
111
+ }), (e, t) => {
112
+ let n = v("Input"), r = v("Button");
113
+ return h(), l("div", A, [u("div", j, [u("div", M, [u("p", N, y(R.value?.length) + " collections", 1), u("div", P, [f(n, {
114
+ id: "search",
115
+ type: "text",
116
+ placeholder: "Search...",
117
+ class: "pl-8",
118
+ modelValue: z.value,
119
+ "onUpdate:modelValue": t[0] ||= (e) => z.value = e,
120
+ onKeydown: t[1] ||= S((e) => z.value = "", ["escape"])
121
+ }, null, 8, ["modelValue"]), u("span", F, [f(b(T), { class: "size-4 text-muted-foreground" })])])]), u("div", I, [b(_)("create-collection") ? (h(), s(r, {
122
+ key: 0,
123
+ variant: "outline",
124
+ onClick: t[2] ||= (e) => b(C)("new")
125
+ }, {
126
+ default: x(() => [f(b(w), { class: "size-4" }), t[3] ||= d(" New Collection ", -1)]),
127
+ _: 1
128
+ })) : c("", !0)])], 512), f(k, { collections: b(B) }, null, 8, ["collections"])]);
129
+ };
130
+ }
131
+ });
132
+ //#endregion
133
+ export { L as default };
@@ -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:`container @container mx-auto py-8 px-4`},i={key:0,class:`flex justify-center py-24`},a={class:`flex gap-2`},o={key:2},s={class:`flex flex-col gap-4 mb-6 @md:flex-row @md:items-end @md:justify-between`},c={class:`flex flex-wrap items-center gap-2`},l={class:`relative`},u={key:0,class:`flex flex-wrap items-center justify-between gap-3 mb-4 px-4 py-3 rounded-lg border bg-muted/40`},d={class:`flex items-center gap-3`},f={class:`text-sm font-medium`},p={class:`flex items-center gap-2`},m={key:1,class:`flex flex-col items-center justify-center py-16 text-center border border-dashed rounded-lg`},h={class:`font-medium`},g={key:2,class:`grid gap-4 @md:grid-cols-2 @3xl:grid-cols-3`},ee=[`onClick`],_=[`onClick`],te={class:`flex items-start gap-3`},ne=[`disabled`,`onClick`],re={class:`text-base font-semibold leading-tight line-clamp-1`},ie={class:`flex items-center gap-2 mt-1`},ae={key:0,class:`text-xs text-muted-foreground cursor-pointer`},oe={key:0,class:`shrink-0`},se={class:`grid grid-cols-3 gap-2 mt-5`},ce={class:`flex flex-col items-start gap-1 rounded-lg bg-muted/40 px-3 py-2`},le={class:`flex items-center gap-1 text-muted-foreground`},v={class:`text-sm font-semibold`},y={class:`flex flex-col items-start gap-1 rounded-lg bg-muted/40 px-3 py-2`},b={class:`flex items-center gap-1 text-muted-foreground`},x={class:`text-sm font-semibold`},S={class:`flex flex-col items-start gap-1 rounded-lg bg-muted/40 px-3 py-2`},C={class:`flex items-center gap-1 text-muted-foreground`},w={class:`text-sm font-semibold`},T={key:0,class:`flex items-center justify-between gap-2 px-5 py-3 border-t bg-muted/20`},E=(0,t.defineComponent)({__name:`Overview`,setup(E){let{config:D}=(0,e.useModule)(),O=(0,e.useFirebaseIntegration)(D.project),{navigateTo:k}=(0,e.useModuleRoute)(),{confirm:A}=(0,e.useConfirmation)(),{hasPermission:j}=(0,e.useModulePermissions)();(0,e.useModuleBreadcrumbs)(()=>[]);let M=(0,t.ref)(null),N=(0,t.ref)(``),P=(0,t.ref)(!1),F=(0,t.ref)([]),I=(0,t.ref)(`importAgendasInput`),L=(0,t.computed)(()=>{if(!M.value)return[];let e=N.value.trim().toLowerCase();return e?M.value.filter(t=>(t.serviceName||``).toLowerCase().includes(e)):M.value}),R=(0,t.computed)(()=>L.value.length>0&&L.value.every(e=>F.value.includes(e.id))),z=()=>{if(R.value){let e=L.value.map(e=>e.id);F.value=F.value.filter(t=>!e.includes(t))}else{let e=L.value.map(e=>e.id),t=new Set([...F.value,...e]);F.value=Array.from(t)}},B=e=>{F.value.includes(e)?F.value=F.value.filter(t=>t!==e):F.value.push(e)},V=e=>{if(!e)return`??`;let t=e.trim().split(/\s+/);return t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()},H=[{fg:`#7c3aed`,bg:`rgba(124, 58, 237, 0.12)`},{fg:`#0891b2`,bg:`rgba(8, 145, 178, 0.12)`},{fg:`#ea580c`,bg:`rgba(234, 88, 12, 0.12)`},{fg:`#16a34a`,bg:`rgba(22, 163, 74, 0.12)`},{fg:`#2563eb`,bg:`rgba(37, 99, 235, 0.12)`},{fg:`#db2777`,bg:`rgba(219, 39, 119, 0.12)`},{fg:`#475569`,bg:`rgba(71, 85, 105, 0.12)`}],U=e=>{let t=(e.id||e.serviceName||``).toString(),n=0;for(let e=0;e<t.length;e++)n=n*31+t.charCodeAt(e)>>>0;return H[n%H.length]},W=e=>{let t=e?.pricingOptions?.[0];return t?.duration?`${t.duration} min`:null},ue=e=>{let t=e?.pricingOptions?.[0];return t?.price===void 0||t?.price===null||t?.price===``?null:`${e.currency===`EUR`?`€`:`$`}${t.price}`},de=e=>Array.isArray(e?.resources)?e.resources.filter(e=>e?.isActive!==!1).length:0,fe=e=>e.type===`regular`?`Regular`:e.type?e.type.charAt(0).toUpperCase()+e.type.slice(1):`Agenda`,pe=e=>{P.value=!0,F.value=[e]},G=async()=>{M.value=await O.find(D.agendaCollection)},me=async e=>{if(!j(`create-agendas`))return;let t=await O.get(D.agendaCollection,e);if(!t){alert(`Agenda not found`);return}let n=prompt(`Enter name for duplicated agenda`,t.serviceName+` (Copy)`);if(!n)return;let r={...t,serviceName:n};delete r.id,await O.add(D.agendaCollection,r),await G()},he=async e=>{j(`delete-agendas`)&&await A(`Are you sure you want to delete this agenda? This action cannot be undone.`)&&(await O.remove(D.agendaCollection,e),await G())},ge=async()=>{if(!M.value)return;let e=M.value.filter(e=>F.value.includes(e.id));e=e.map(e=>{let{id:t,...n}=e;return n});let t=`data:text/json;charset=utf-8,`+encodeURIComponent(JSON.stringify(e,null,2)),n=document.createElement(`a`);n.setAttribute(`href`,t),n.setAttribute(`download`,`agendas_export.json`),document.body.appendChild(n),n.click(),n.remove(),P.value=!1,F.value=[]},_e=async e=>{let t=e.target;if(!t.files||t.files.length===0)return;let n=await t.files[0].text(),r;try{r=JSON.parse(n)}catch{alert(`Invalid JSON file`);return}if(!Array.isArray(r)){alert(`Invalid agendas format`);return}for(let e of r)await O.add(D.agendaCollection,e);t.value=``,await G()},K=e=>{P.value||(j(`edit-agendas`)?k(`/edit/${e}`):k(`/edit/${e}/agenda`))};return G(),(e,E)=>{let D=(0,t.resolveComponent)(`Spinner`),O=(0,t.resolveComponent)(`EmptyMedia`),A=(0,t.resolveComponent)(`EmptyTitle`),H=(0,t.resolveComponent)(`EmptyDescription`),G=(0,t.resolveComponent)(`EmptyHeader`),q=(0,t.resolveComponent)(`Button`),ve=(0,t.resolveComponent)(`EmptyContent`),J=(0,t.resolveComponent)(`Empty`),ye=(0,t.resolveComponent)(`Input`),Y=(0,t.resolveComponent)(`DropdownMenuTrigger`),X=(0,t.resolveComponent)(`DropdownMenuItem`),Z=(0,t.resolveComponent)(`DropdownMenuGroup`),Q=(0,t.resolveComponent)(`DropdownMenuContent`),$=(0,t.resolveComponent)(`DropdownMenu`),be=(0,t.resolveComponent)(`ButtonGroup`),xe=(0,t.resolveComponent)(`Checkbox`),Se=(0,t.resolveComponent)(`Badge`);return(0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,r,[M.value===null?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,i,[(0,t.createVNode)(D,{class:`mx-auto`})])):M.value.length===0?((0,t.openBlock)(),(0,t.createBlock)(J,{key:1},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(G,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(O,{variant:`icon`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.CalendarX),{class:`size-4-6`})]),_:1}),(0,t.createVNode)(A,null,{default:(0,t.withCtx)(()=>[...E[6]||=[(0,t.createTextVNode)(`No Agendas Yet`,-1)]]),_:1}),(0,t.createVNode)(H,null,{default:(0,t.withCtx)(()=>[...E[7]||=[(0,t.createTextVNode)(` You haven't created any agenda yet. Get started by creating your first agenda. `,-1)]]),_:1})]),_:1}),(0,t.createVNode)(ve,null,{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,a,[(0,t.createVNode)(q,{onClick:E[0]||=e=>(0,t.unref)(k)(`/create`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.PlusIcon)),E[8]||=(0,t.createTextVNode)(` Create Agenda `,-1)]),_:1})])]),_:1})]),_:1})):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,o,[(0,t.createElementVNode)(`div`,s,[E[11]||=(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`h2`,{class:`text-3xl font-bold tracking-tight`},`Agendas`),(0,t.createElementVNode)(`p`,{class:`text-sm text-muted-foreground mt-1`},` Manage your bookable services, hours and resources. `)],-1),(0,t.createElementVNode)(`div`,c,[(0,t.createElementVNode)(`div`,l,[(0,t.createVNode)((0,t.unref)(n.Search),{class:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground pointer-events-none`}),(0,t.createVNode)(ye,{modelValue:N.value,"onUpdate:modelValue":E[1]||=e=>N.value=e,placeholder:`Search agendas...`,class:`pl-9 w-full @md:w-64`},null,8,[`modelValue`])]),!P.value&&(0,t.unref)(j)(`create-agendas`)?((0,t.openBlock)(),(0,t.createBlock)(be,{key:0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(q,{onClick:E[2]||=e=>(0,t.unref)(k)(`/create`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.PlusIcon)),E[9]||=(0,t.createTextVNode)(` New Agenda `,-1)]),_:1}),(0,t.createVNode)($,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Y,{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(q,{size:`icon`,"aria-label":`More Options`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.MoreHorizontalIcon))]),_:1})]),_:1}),(0,t.createVNode)(Q,{align:`end`,class:`w-52`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Z,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(X,{onClick:E[3]||=e=>I.value.click()},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.ImportIcon)),E[10]||=(0,t.createTextVNode)(` Import Agendas... `,-1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):(0,t.createCommentVNode)(``,!0)])]),P.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,u,[(0,t.createElementVNode)(`div`,d,[(0,t.createVNode)(xe,{modelValue:R.value,"onUpdate:modelValue":z},null,8,[`modelValue`]),(0,t.createElementVNode)(`span`,f,(0,t.toDisplayString)(F.value.length)+` of `+(0,t.toDisplayString)(L.value.length)+` selected `,1)]),(0,t.createElementVNode)(`div`,p,[(0,t.createVNode)(q,{variant:`ghost`,onClick:E[4]||=e=>{P.value=!1,F.value=[]}},{default:(0,t.withCtx)(()=>[...E[12]||=[(0,t.createTextVNode)(` Cancel `,-1)]]),_:1}),(0,t.createVNode)(q,{onClick:ge,disabled:F.value.length===0},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Upload)),(0,t.createTextVNode)(` Export `+(0,t.toDisplayString)(F.value.length||``),1)]),_:1},8,[`disabled`])])])):(0,t.createCommentVNode)(``,!0),L.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,m,[(0,t.createVNode)((0,t.unref)(n.Search),{class:`size-8 text-muted-foreground mb-3`}),(0,t.createElementVNode)(`p`,h,`No agendas match "`+(0,t.toDisplayString)(N.value)+`"`,1),E[13]||=(0,t.createElementVNode)(`p`,{class:`text-sm text-muted-foreground mt-1`},`Try a different search term.`,-1)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,g,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(L.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`group relative flex flex-col overflow-hidden rounded-xl border bg-card shadow-sm transition-all duration-200`,{"cursor-pointer":P.value,"ring-2 ring-primary border-primary/40":P.value&&F.value.includes(e.id)}]),onClick:t=>P.value?B(e.id):null},[(0,t.createElementVNode)(`div`,{class:`h-1 w-full`,style:(0,t.normalizeStyle)({backgroundColor:U(e).fg})},null,4),(0,t.createElementVNode)(`div`,{onClick:(0,t.withModifiers)(t=>!P.value&&K(e.id),[`stop`]),class:`flex flex-col flex-1 p-5`},[(0,t.createElementVNode)(`div`,te,[(0,t.createElementVNode)(`div`,{class:`shrink-0 size-12 rounded-lg flex items-center justify-center font-semibold text-sm`,style:(0,t.normalizeStyle)({backgroundColor:U(e).bg,color:U(e).fg})},(0,t.toDisplayString)(V(e.serviceName)),5),(0,t.createElementVNode)(`button`,{type:`button`,class:`flex-1 min-w-0 text-left focus:outline-none`,disabled:P.value,onClick:t=>!P.value&&K(e.id)},[(0,t.createElementVNode)(`h3`,re,(0,t.toDisplayString)(e.serviceName||`Untitled Agenda`),1),(0,t.createElementVNode)(`div`,ie,[(0,t.createVNode)(Se,{variant:`secondary`,class:`text-[10px] font-medium px-1.5 py-0 h-4`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(fe(e)),1)]),_:2},1024),P.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ae,` Click to `+(0,t.toDisplayString)((0,t.unref)(j)(`edit-agendas`)?`edit`:`view`),1))])],8,ne),P.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,oe,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex items-center justify-center size-6 rounded-full border-2 transition`,F.value.includes(e.id)?`border-primary bg-primary text-primary-foreground`:`border-muted-foreground/30`])},[F.value.includes(e.id)?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.CheckCircle2),{key:0,class:`size-4`})):(0,t.createCommentVNode)(``,!0)],2)])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,se,[(0,t.createElementVNode)(`div`,ce,[(0,t.createElementVNode)(`div`,le,[(0,t.createVNode)((0,t.unref)(n.Clock),{class:`size-3.5`}),E[14]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] uppercase tracking-wide font-medium`},`Duration`,-1)]),(0,t.createElementVNode)(`span`,v,(0,t.toDisplayString)(W(e)||`—`),1)]),(0,t.createElementVNode)(`div`,y,[(0,t.createElementVNode)(`div`,b,[(0,t.createVNode)((0,t.unref)(n.DollarSign),{class:`size-3.5`}),E[15]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] uppercase tracking-wide font-medium`},`Price`,-1)]),(0,t.createElementVNode)(`span`,x,(0,t.toDisplayString)(ue(e)||`—`),1)]),(0,t.createElementVNode)(`div`,S,[(0,t.createElementVNode)(`div`,C,[(0,t.createVNode)((0,t.unref)(n.Users),{class:`size-3.5`}),E[16]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] uppercase tracking-wide font-medium`},`Resources`,-1)]),(0,t.createElementVNode)(`span`,w,(0,t.toDisplayString)(de(e)),1)])])],8,_),P.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,T,[(0,t.unref)(j)(`edit-agendas`)?((0,t.openBlock)(),(0,t.createBlock)(q,{key:0,variant:`ghost`,size:`sm`,class:`gap-1.5`,onClick:(0,t.withModifiers)(n=>(0,t.unref)(k)(`/edit/${e.id}`),[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.CalendarDays),{class:`size-4`}),E[17]||=(0,t.createTextVNode)(` Edit Agenda `,-1)]),_:1},8,[`onClick`])):((0,t.openBlock)(),(0,t.createBlock)(q,{key:1,variant:`ghost`,size:`sm`,class:`gap-1.5`,onClick:(0,t.withModifiers)(n=>(0,t.unref)(k)(`/edit/${e.id}/agenda`),[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.CalendarDays),{class:`size-4`}),E[18]||=(0,t.createTextVNode)(` View Agenda `,-1)]),_:1},8,[`onClick`])),(0,t.createVNode)($,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Y,{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(q,{variant:`ghost`,size:`icon`,"aria-label":`More Options`,onClick:E[5]||=(0,t.withModifiers)(()=>{},[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.MoreHorizontalIcon))]),_:1})]),_:1}),(0,t.createVNode)(Q,{align:`end`,class:`w-52`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Z,null,{default:(0,t.withCtx)(()=>[(0,t.unref)(j)(`create-agendas`)?((0,t.openBlock)(),(0,t.createBlock)(X,{key:0,onClick:t=>me(e.id)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Copy)),E[19]||=(0,t.createTextVNode)(` Duplicate Agenda `,-1)]),_:1},8,[`onClick`])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(X,null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.ChevronsLeftRightEllipsis)),E[20]||=(0,t.createTextVNode)(` API Set-up `,-1)]),_:1}),(0,t.createVNode)(X,{onClick:t=>pe(e.id)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Upload)),E[21]||=(0,t.createTextVNode)(` Export Agenda `,-1)]),_:1},8,[`onClick`]),(0,t.unref)(j)(`delete-agendas`)?((0,t.openBlock)(),(0,t.createBlock)(X,{key:1,variant:`destructive`,onClick:t=>he(e.id)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Trash2Icon)),E[22]||=(0,t.createTextVNode)(` Remove Agenda `,-1)]),_:1},8,[`onClick`])):(0,t.createCommentVNode)(``,!0)]),_:2},1024)]),_:2},1024)]),_:2},1024)]))],10,ee))),128))]))]))]),(0,t.createElementVNode)(`input`,{type:`file`,ref_key:`importAgendasInput`,ref:I,class:`hidden`,accept:`.json,application/json`,onChange:_e},null,544)],64)}}});exports.default=E;