@oneclick.dev/cms-core-modules 0.0.109 → 0.0.111

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 (578) hide show
  1. package/dist/Acquisition-DgzDQH51.js +1 -0
  2. package/dist/Acquisition-FV3QpaUX.mjs +400 -0
  3. package/dist/AgendaOpeningHoursCard-B7ROIPWw.js +1 -0
  4. package/dist/AgendaOpeningHoursCard-Cp4wxUeK.mjs +172 -0
  5. package/dist/AppointmentDetailsCard-33WpATpV.mjs +161 -0
  6. package/dist/AppointmentDetailsCard-DpLM5IrB.js +1 -0
  7. package/dist/AppointmentEditor-BeOtYV6u.mjs +196 -0
  8. package/dist/AppointmentEditor-CaTfbkIf.js +1 -0
  9. package/dist/AppointmentListTable-DZJNmTMb.mjs +177 -0
  10. package/dist/AppointmentListTable-Dieu9US_.js +1 -0
  11. package/dist/Audience-BSgNvcVb.js +1 -0
  12. package/dist/Audience-ka0b7YPE.mjs +489 -0
  13. package/dist/Components-C83O-xlF.mjs +623 -0
  14. package/dist/Components-DXbx0RLV.js +1 -0
  15. package/dist/Content-BHr_rPVY.js +1 -0
  16. package/dist/Content-CYOZKvWK.mjs +358 -0
  17. package/dist/ContentEditor-pZPfo0qN.mjs +30802 -0
  18. package/dist/ContentEditor-tYkh4vRV.js +462 -0
  19. package/dist/CountryBreakdownCard-D7BK3nRD.js +1 -0
  20. package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +196 -0
  21. package/dist/Create--MOBOTA-.js +1 -0
  22. package/dist/Create-BXNLRQag.mjs +1251 -0
  23. package/dist/DateFormatter-CSAbE3BC.js +1 -0
  24. package/dist/DateFormatter-qbhRYxI_.mjs +738 -0
  25. package/dist/Detail-BCOcP2ql.mjs +585 -0
  26. package/dist/Detail-Btzwo0Y3.mjs +3477 -0
  27. package/dist/Detail-Byk781b4.mjs +26 -0
  28. package/dist/Detail-C8wQiDcv.js +1 -0
  29. package/dist/Detail-CPqug27l.js +1 -0
  30. package/dist/Detail-ChD5XurA.mjs +379 -0
  31. package/dist/Detail-CjuhjPby.js +1 -0
  32. package/dist/Detail-DnX7tsqN.mjs +649 -0
  33. package/dist/Detail-RISEJJab.js +1 -0
  34. package/dist/Detail-mvSGbnFU.js +1 -0
  35. package/dist/DeviceBreakdownCard-DRhQ9ufG.js +1 -0
  36. package/dist/DeviceBreakdownCard-W1frLe0L.mjs +159 -0
  37. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +76 -0
  38. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +1 -0
  39. package/dist/Entries-BdhUyJR5.mjs +728 -0
  40. package/dist/Entries-CEXM_SkO.js +1 -0
  41. package/dist/Find-D4Qa45qC.js +1 -0
  42. package/dist/Find-zN_dKz4p.mjs +229 -0
  43. package/dist/GlobalStyling-C9VthHWK.mjs +1588 -0
  44. package/dist/GlobalStyling-CnSlXkZc.js +25 -0
  45. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +1 -0
  46. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +1263 -0
  47. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +1 -0
  48. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +330 -0
  49. package/dist/Overview-98nkJUWN.mjs +481 -0
  50. package/dist/Overview-BCpJNiEB.mjs +190 -0
  51. package/dist/Overview-BDlBCUI_.js +1 -0
  52. package/dist/Overview-BR_y8x3W.mjs +860 -0
  53. package/dist/Overview-BbvfH1u-.js +1 -0
  54. package/dist/Overview-Bn1Xx3_j.js +1 -0
  55. package/dist/Overview-CIa1E-HH.mjs +178 -0
  56. package/dist/Overview-CX-n6W7d.js +1 -0
  57. package/dist/Overview-DAxCu9XC.js +1 -0
  58. package/dist/Overview-Dl8cMlsr.js +1 -0
  59. package/dist/Overview-MpgkLB6m.mjs +567 -0
  60. package/dist/Overview-Su8ZUbMs.mjs +26 -0
  61. package/dist/Overview-T-lsy3UZ.js +1 -0
  62. package/dist/Overview-lWAyyenp.mjs +632 -0
  63. package/dist/PeakHoursCard-9-EZFZLR.mjs +182 -0
  64. package/dist/PeakHoursCard-BR5zmta4.js +1 -0
  65. package/dist/ProductDetailsCard-6nHikw4V.mjs +121 -0
  66. package/dist/ProductDetailsCard-Bn7qrgmc.js +1 -0
  67. package/dist/RealtimeCard--APfRNc8.js +1 -0
  68. package/dist/RealtimeCard-fvQlJcM7.mjs +126 -0
  69. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +349 -0
  70. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +3077 -0
  71. package/dist/SearchTermsCard-BsB-63aH.js +1 -0
  72. package/dist/SearchTermsCard-BzVrHKqQ.mjs +201 -0
  73. package/dist/SendPush-COns44j7.js +1 -0
  74. package/dist/SendPush-CPIOjVX4.mjs +184 -0
  75. package/dist/SeoHealth-C5npw7mE.js +1 -0
  76. package/dist/SeoHealth-bVQj_Xgm.mjs +615 -0
  77. package/dist/TableView-Bf1fdJrD.mjs +6159 -0
  78. package/dist/TableView-DNcXyIMu.js +4 -0
  79. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +1 -0
  80. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +40 -0
  81. package/dist/TopPagesCard-BDeA997A.js +1 -0
  82. package/dist/TopPagesCard-CTozhOr_.mjs +159 -0
  83. package/dist/TrafficSourcesCard-BxtCKsqx.mjs +197 -0
  84. package/dist/TrafficSourcesCard-C3ziDTUL.js +1 -0
  85. package/dist/View-CsudjxCE.mjs +30 -0
  86. package/dist/View-Dw_wA6kK.js +1 -0
  87. package/dist/VisitorStatsCard-BmByE_Hi.js +1 -0
  88. package/dist/VisitorStatsCard-CXizEbVK.mjs +174 -0
  89. package/dist/_plugin-vue_export-helper-BHFhmbuH.js +1 -0
  90. package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
  91. package/dist/agenda-BaJu3-1c.js +1 -0
  92. package/dist/agenda-BwVY_8oM.mjs +1165 -0
  93. package/dist/availability-CMrRa5y2.mjs +269 -0
  94. package/dist/availability-Cf2YfMwM.js +1 -0
  95. package/dist/booking-data-DgJd0BcM.mjs +889 -0
  96. package/dist/booking-data-Di5GmH_8.js +1 -0
  97. package/dist/cms-core-modules.css +1 -2
  98. package/dist/countries-BTPvmrsb.mjs +4 -0
  99. package/dist/countries-CgZ081No.js +1 -0
  100. package/dist/exceptions-B6P9UiCj.js +1 -0
  101. package/dist/exceptions-De9-FvdP.mjs +646 -0
  102. package/dist/google-CvtuJwgk.mjs +4 -0
  103. package/dist/google-D4N3gb01.js +1 -0
  104. package/dist/index-4tjmIans.js +1 -0
  105. package/dist/index-9HVlmvK3.js +1 -0
  106. package/dist/index-B8GvmAwh.mjs +1403 -0
  107. package/dist/index-BIF2RB7k.mjs +2836 -0
  108. package/dist/index-BWDwEd8D.mjs +24 -0
  109. package/dist/index-BfBBm9uY.mjs +24 -0
  110. package/dist/index-Bkq58CeQ.mjs +22 -0
  111. package/dist/index-ByRsp77L.js +70 -0
  112. package/dist/index-CFzn2Lus.mjs +172 -0
  113. package/dist/index-CJQQBRLY.js +1 -0
  114. package/dist/index-CQkOH2_3.mjs +24 -0
  115. package/dist/index-CSxYBeVA.js +1 -0
  116. package/dist/index-CU-tbS5W.mjs +24 -0
  117. package/dist/index-CZn2nDLv.mjs +34 -0
  118. package/dist/index-CkVwMqpn.mjs +3857 -0
  119. package/dist/index-CkiNvRzs.js +1 -0
  120. package/dist/index-Co4ON2Di.js +1 -0
  121. package/dist/index-Cpnn_Pxd.mjs +24 -0
  122. package/dist/index-CsVeM3PA.mjs +24 -0
  123. package/dist/index-CwqrAU-H.js +1 -0
  124. package/dist/index-CxETuRsG.js +1 -0
  125. package/dist/index-Cz-baGax.js +1 -0
  126. package/dist/index-DFQGVHTs.js +1 -0
  127. package/dist/index-DL6orwdK.js +35 -0
  128. package/dist/index-DPd3waTN.js +1 -0
  129. package/dist/index-DRqJOqUR.mjs +3484 -0
  130. package/dist/index-DUlYrnXH.js +58 -0
  131. package/dist/index-DZV720u-.mjs +439 -0
  132. package/dist/index-D_nfGegA.js +184 -0
  133. package/dist/index-DjWuIBxh.js +1 -0
  134. package/dist/index-Dnn2SCSl.js +1 -0
  135. package/dist/index-Dpl9sU6a.mjs +12 -0
  136. package/dist/index-DrXxXB2F.mjs +138 -0
  137. package/dist/index-DtSvAFLL.js +54 -0
  138. package/dist/index-L54VBzwJ.mjs +109 -0
  139. package/dist/index-R2oUDsjx.js +1 -0
  140. package/dist/index-RLz1QPrf.mjs +203 -0
  141. package/dist/index-UtjLbLw-.js +1 -0
  142. package/dist/index-cOnxXTbF.mjs +24 -0
  143. package/dist/index-hH3e-IYz.mjs +1187 -0
  144. package/dist/index-hlylYYgy.mjs +24 -0
  145. package/dist/index-ijdf0d9-.js +1 -0
  146. package/dist/index.cjs.js +1 -1
  147. package/dist/index.mjs +806 -1095
  148. package/dist/interpolation-CHn59tIC.js +1 -0
  149. package/dist/interpolation-w7IRDJwK.mjs +180 -0
  150. package/dist/math-BJ-oX_IM.mjs +80 -0
  151. package/dist/math-emotyaF6.js +1 -0
  152. package/dist/orders-C65SlpJy.mjs +618 -0
  153. package/dist/orders-XVzWAgG1.js +1 -0
  154. package/dist/payment-C3ohkehF.mjs +1080 -0
  155. package/dist/payment-Dfr-Ro-a.js +1 -0
  156. package/dist/regular-1LXNPviB.js +1 -0
  157. package/dist/regular-_05oq5Tx.mjs +1101 -0
  158. package/dist/resources-CxeFd57z.js +1 -0
  159. package/dist/resources-DwYxn2Vi.mjs +811 -0
  160. package/dist/server-handlers.cjs.js +1 -1
  161. package/dist/server-handlers.mjs +996 -1049
  162. package/dist/src/appointments/chat-components/AgendaOpeningHoursCard.vue.d.ts +15 -0
  163. package/dist/src/appointments/chat-components/AppointmentDetailsCard.vue.d.ts +14 -0
  164. package/dist/src/appointments/chat-components/AppointmentEditor.vue.d.ts +14 -0
  165. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +14 -0
  166. package/dist/src/appointments/components/create/StepNavigation.vue.d.ts +32 -0
  167. package/dist/src/appointments/components/create/regular/Step1.vue.d.ts +2 -0
  168. package/dist/src/appointments/components/create/regular/Step2.vue.d.ts +2 -0
  169. package/dist/src/appointments/components/create/regular/Step3.vue.d.ts +2 -0
  170. package/dist/src/appointments/components/create/regular/Step4.vue.d.ts +2 -0
  171. package/dist/src/appointments/components/edit/CustomerInformationFieldEditorDialog.vue.d.ts +24 -0
  172. package/dist/src/appointments/components/edit/EditLayout.vue.d.ts +17 -0
  173. package/dist/src/appointments/components/edit/Event24hSidebar.vue.d.ts +2 -0
  174. package/dist/src/appointments/components/edit/EventDialog/ApproveReservationDialog.vue.d.ts +8 -0
  175. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +136 -0
  176. package/dist/src/appointments/components/edit/EventDialog/CancelReservationDialog.vue.d.ts +8 -0
  177. package/dist/src/appointments/components/edit/EventDialog/EventDialog.vue.d.ts +11 -0
  178. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +55 -0
  179. package/dist/src/appointments/components/edit/EventDialog/RejectReservationDialog.vue.d.ts +8 -0
  180. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +87 -0
  181. package/dist/src/appointments/components/edit/EventDialog/TimelineChart.vue.d.ts +24 -0
  182. package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +4 -0
  183. package/dist/src/appointments/components/edit/EventTimeIndicator.vue.d.ts +12 -0
  184. package/dist/src/appointments/components/edit/EventTimeline.vue.d.ts +48 -0
  185. package/dist/src/appointments/components/edit/EventView.vue.d.ts +9 -0
  186. package/dist/src/appointments/components/edit/ExceptionDialog.vue.d.ts +29 -0
  187. package/dist/src/appointments/components/edit/MetadataSchemaEditorDialog.vue.d.ts +12 -0
  188. package/dist/src/appointments/components/edit/NewReservationDialog/CustomerInformation.vue.d.ts +10 -0
  189. package/dist/src/appointments/components/edit/NewReservationDialog/NewReservationDialog.vue.d.ts +26 -0
  190. package/dist/src/appointments/components/edit/NewReservationDialog/QuickReservationAdder.vue.d.ts +26 -0
  191. package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +31 -0
  192. package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +21 -0
  193. package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +22 -0
  194. package/dist/src/appointments/components/edit/PaymentAddons/AddonList.vue.d.ts +5 -0
  195. package/dist/src/appointments/components/edit/PaymentAddons/index.vue.d.ts +15 -0
  196. package/dist/src/appointments/components/edit/ResourceEditorDialog.vue.d.ts +13 -0
  197. package/dist/src/appointments/components/edit/dashboard/Timeline.vue.d.ts +36 -0
  198. package/dist/src/appointments/components/edit/dashboard/timeline/ResourceSelector.vue.d.ts +50 -0
  199. package/dist/src/appointments/index.d.ts +12 -9
  200. package/dist/src/appointments/index.vue.d.ts +22 -0
  201. package/dist/src/appointments/metadata.d.ts +1 -1
  202. package/dist/src/appointments/pages/Overview.vue.d.ts +4 -0
  203. package/dist/src/appointments/pages/create/index.vue.d.ts +2 -0
  204. package/dist/src/appointments/pages/create/regular.vue.d.ts +6 -0
  205. package/dist/src/appointments/pages/edit/agenda.vue.d.ts +4 -0
  206. package/dist/src/appointments/pages/edit/availability.vue.d.ts +2 -0
  207. package/dist/src/appointments/pages/edit/booking-data.vue.d.ts +65 -0
  208. package/dist/src/appointments/pages/edit/index.vue.d.ts +2 -0
  209. package/dist/src/appointments/pages/edit/payment.vue.d.ts +2 -0
  210. package/dist/src/appointments/pages/edit/resources.vue.d.ts +28 -0
  211. package/dist/src/appointments/routes.d.ts +6 -3
  212. package/dist/src/contentManager/components/components/ComponentDialog.vue.d.ts +12 -0
  213. package/dist/src/contentManager/components/components/ComponentGridItem.vue.d.ts +16 -0
  214. package/dist/src/contentManager/components/content-editor/ApiDocs.vue.d.ts +2 -0
  215. package/dist/src/contentManager/components/content-editor/ContentLayout.vue.d.ts +49 -0
  216. package/dist/src/contentManager/components/content-editor/ContentSettings.vue.d.ts +24 -0
  217. package/dist/src/contentManager/components/content-editor/ContentStructuredContentSections.vue.d.ts +4 -0
  218. package/dist/src/contentManager/components/content-editor/Header.vue.d.ts +64 -0
  219. package/dist/src/contentManager/components/content-editor/LivePreviewWrapper.vue.d.ts +53 -0
  220. package/dist/src/contentManager/components/content-editor/Locales.vue.d.ts +44 -0
  221. package/dist/src/contentManager/components/content-editor/NewSectionDialog.vue.d.ts +21 -0
  222. package/dist/src/contentManager/components/content-editor/PageSettings.vue.d.ts +2 -0
  223. package/dist/src/contentManager/components/content-editor/SEO.vue.d.ts +14 -0
  224. package/dist/src/contentManager/components/content-editor/SidebarSectionWrapper.vue.d.ts +39 -0
  225. package/dist/src/contentManager/components/content-editor/Status.vue.d.ts +2 -0
  226. package/dist/src/contentManager/components/content-editor/Versions.vue.d.ts +63 -0
  227. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Button.vue.d.ts +94 -0
  228. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Card.vue.d.ts +92 -0
  229. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Column.vue.d.ts +92 -0
  230. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.vue.d.ts +92 -0
  231. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Divider.vue.d.ts +92 -0
  232. package/dist/src/contentManager/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +94 -0
  233. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Heading.vue.d.ts +92 -0
  234. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Image.vue.d.ts +92 -0
  235. package/dist/src/contentManager/components/content-editor/tiptap-extensions/LockBlocks.d.ts +0 -15
  236. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Map.vue.d.ts +92 -0
  237. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +92 -0
  238. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.vue.d.ts +115 -0
  239. package/dist/src/contentManager/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts +1 -2
  240. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.vue.d.ts +115 -0
  241. package/dist/src/contentManager/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +1 -4
  242. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Video.vue.d.ts +92 -0
  243. package/dist/src/contentManager/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +92 -0
  244. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +108 -0
  245. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +20 -0
  246. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +104 -0
  247. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts +1 -0
  248. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +19 -0
  249. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +19 -0
  250. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +29 -0
  251. package/dist/src/contentManager/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +13 -0
  252. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +19 -0
  253. package/dist/src/contentManager/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +8 -0
  254. package/dist/src/contentManager/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +47 -0
  255. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +6 -0
  256. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +17 -0
  257. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +13 -0
  258. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +13 -0
  259. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +13 -0
  260. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +13 -0
  261. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +13 -0
  262. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +13 -0
  263. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +13 -0
  264. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +13 -0
  265. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +13 -0
  266. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +13 -0
  267. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +13 -0
  268. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +13 -0
  269. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +132 -12
  270. package/dist/src/contentManager/components/overview/CollectionDialog.vue.d.ts +30 -0
  271. package/dist/src/contentManager/components/overview/CollectionsGridView.vue.d.ts +18 -0
  272. package/dist/src/contentManager/components/overview/ContentEntryContextMenu.vue.d.ts +27 -0
  273. package/dist/src/contentManager/components/overview/FilterPopover.vue.d.ts +2 -0
  274. package/dist/src/contentManager/components/overview/ListView.vue.d.ts +12 -0
  275. package/dist/src/contentManager/components/styling/ButtonStyleDialog.vue.d.ts +24 -0
  276. package/dist/src/contentManager/components/styling/CardStyleDialog.vue.d.ts +24 -0
  277. package/dist/src/contentManager/components/styling/SectionStyleDialog.vue.d.ts +24 -0
  278. package/dist/src/contentManager/index.d.ts +14 -5
  279. package/dist/src/contentManager/index.vue.d.ts +22 -0
  280. package/dist/src/contentManager/metadata.d.ts +1 -1
  281. package/dist/src/contentManager/pages/Components.vue.d.ts +27 -0
  282. package/dist/src/contentManager/pages/ContentEditor.vue.d.ts +14 -0
  283. package/dist/src/contentManager/pages/Entries.vue.d.ts +16 -0
  284. package/dist/src/contentManager/pages/GlobalStyling.vue.d.ts +117 -0
  285. package/dist/src/contentManager/pages/Overview.vue.d.ts +57 -0
  286. package/dist/src/contentManager/routes.d.ts +12 -3
  287. package/dist/src/custom/index.d.ts +2 -2
  288. package/dist/src/custom/index.vue.d.ts +2 -0
  289. package/dist/src/custom/pages/View.vue.d.ts +2 -0
  290. package/dist/src/custom/routes.d.ts +1 -1
  291. package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +14 -0
  292. package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +14 -0
  293. package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +14 -0
  294. package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +14 -0
  295. package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +14 -0
  296. package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +14 -0
  297. package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +14 -0
  298. package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +14 -0
  299. package/dist/src/googleAnalytics/components/seo-health/SeoClicksChart.vue.d.ts +5 -0
  300. package/dist/src/googleAnalytics/components/seo-health/SeoImpressionsChart.vue.d.ts +5 -0
  301. package/dist/src/googleAnalytics/components/seo-health/SeoKeywordsTab.vue.d.ts +5 -0
  302. package/dist/src/googleAnalytics/components/seo-health/SeoKpiCards.vue.d.ts +10 -0
  303. package/dist/src/googleAnalytics/components/seo-health/SeoMappingTab.vue.d.ts +5 -0
  304. package/dist/src/googleAnalytics/components/seo-health/SeoPagesTab.vue.d.ts +5 -0
  305. package/dist/src/googleAnalytics/components/seo-health/SeoRankingDistribution.vue.d.ts +5 -0
  306. package/dist/src/googleAnalytics/index.d.ts +10 -10
  307. package/dist/src/googleAnalytics/index.vue.d.ts +2 -0
  308. package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +2 -0
  309. package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +2 -0
  310. package/dist/src/googleAnalytics/pages/Content.vue.d.ts +2 -0
  311. package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +2 -0
  312. package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +2 -0
  313. package/dist/src/googleAnalytics/routes.d.ts +1 -1
  314. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +2 -0
  315. package/dist/src/mailTemplates/index.d.ts +3 -3
  316. package/dist/src/mailTemplates/index.vue.d.ts +22 -0
  317. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  318. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +14 -0
  319. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +14 -0
  320. package/dist/src/mailTemplates/routes.d.ts +1 -1
  321. package/dist/src/productCollections/components/detail/Main.vue.d.ts +2 -0
  322. package/dist/src/productCollections/components/detail/SEO.vue.d.ts +2 -0
  323. package/dist/src/productCollections/components/detail/Status.vue.d.ts +2 -0
  324. package/dist/src/productCollections/components/overview/ListView.vue.d.ts +12 -0
  325. package/dist/src/productCollections/index.d.ts +3 -3
  326. package/dist/src/productCollections/index.vue.d.ts +22 -0
  327. package/dist/src/productCollections/metadata.d.ts +1 -1
  328. package/dist/src/productCollections/pages/Detail.vue.d.ts +14 -0
  329. package/dist/src/productCollections/pages/Overview.vue.d.ts +16 -0
  330. package/dist/src/productCollections/routes.d.ts +1 -1
  331. package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +14 -0
  332. package/dist/src/products/components/detail/Collections.vue.d.ts +14 -0
  333. package/dist/src/products/components/detail/Inventory.vue.d.ts +2 -0
  334. package/dist/src/products/components/detail/Main.vue.d.ts +2 -0
  335. package/dist/src/products/components/detail/NewSection.vue.d.ts +2 -0
  336. package/dist/src/products/components/detail/Price.vue.d.ts +2 -0
  337. package/dist/src/products/components/detail/SEO.vue.d.ts +2 -0
  338. package/dist/src/products/components/detail/Shipping.vue.d.ts +2 -0
  339. package/dist/src/products/components/detail/Status.vue.d.ts +2 -0
  340. package/dist/src/products/components/detail/price/UnitPriceDialog.vue.d.ts +17 -0
  341. package/dist/src/products/components/detail/variants/Option.vue.d.ts +33 -0
  342. package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +38 -0
  343. package/dist/src/products/components/overview/FilterPopover.vue.d.ts +2 -0
  344. package/dist/src/products/components/overview/GridView.vue.d.ts +12 -0
  345. package/dist/src/products/components/overview/ListView.vue.d.ts +12 -0
  346. package/dist/src/products/components/overview/ProductContextMenu.vue.d.ts +27 -0
  347. package/dist/src/products/index.d.ts +4 -4
  348. package/dist/src/products/index.vue.d.ts +22 -0
  349. package/dist/src/products/metadata.d.ts +1 -1
  350. package/dist/src/products/pages/Detail.vue.d.ts +14 -0
  351. package/dist/src/products/pages/Overview.vue.d.ts +16 -0
  352. package/dist/src/products/routes.d.ts +1 -1
  353. package/dist/src/promoCodes/components/create/DateRange.vue.d.ts +2 -0
  354. package/dist/src/promoCodes/components/create/MultiCodes.vue.d.ts +2 -0
  355. package/dist/src/promoCodes/components/create/Note.vue.d.ts +2 -0
  356. package/dist/src/promoCodes/components/create/SingleCode.vue.d.ts +2 -0
  357. package/dist/src/promoCodes/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +6 -0
  358. package/dist/src/promoCodes/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +18 -0
  359. package/dist/src/promoCodes/components/create/TypeAndValue/index.vue.d.ts +2 -0
  360. package/dist/src/promoCodes/index.d.ts +3 -3
  361. package/dist/src/promoCodes/index.vue.d.ts +22 -0
  362. package/dist/src/promoCodes/metadata.d.ts +1 -1
  363. package/dist/src/promoCodes/pages/Create.vue.d.ts +16 -0
  364. package/dist/src/promoCodes/pages/Detail.vue.d.ts +14 -0
  365. package/dist/src/promoCodes/pages/Find.vue.d.ts +16 -0
  366. package/dist/src/promoCodes/routes.d.ts +1 -1
  367. package/dist/src/push-notifications/components/PreviewAndroid.vue.d.ts +28 -0
  368. package/dist/src/push-notifications/components/PreviewIPhone.vue.d.ts +28 -0
  369. package/dist/src/push-notifications/components/PushPreview.vue.d.ts +28 -0
  370. package/dist/src/push-notifications/index.d.ts +3 -3
  371. package/dist/src/push-notifications/index.vue.d.ts +22 -0
  372. package/dist/src/push-notifications/metadata.d.ts +1 -1
  373. package/dist/src/push-notifications/pages/SendPush.vue.d.ts +14 -0
  374. package/dist/src/push-notifications/routes.d.ts +1 -1
  375. package/dist/src/shared/BrandLogo.vue.d.ts +12 -0
  376. package/dist/src/shared/DrawerToggle.vue.d.ts +60 -0
  377. package/dist/src/shared/VerticalToggle.vue.d.ts +60 -0
  378. package/dist/src/shippingOptions/components/detail/Condition.vue.d.ts +2 -0
  379. package/dist/src/shippingOptions/components/detail/Countries.vue.d.ts +2 -0
  380. package/dist/src/shippingOptions/components/detail/Example.vue.d.ts +2 -0
  381. package/dist/src/shippingOptions/components/detail/Main.vue.d.ts +2 -0
  382. package/dist/src/shippingOptions/components/overview/ListView.vue.d.ts +12 -0
  383. package/dist/src/shippingOptions/index.d.ts +3 -3
  384. package/dist/src/shippingOptions/index.vue.d.ts +22 -0
  385. package/dist/src/shippingOptions/metadata.d.ts +1 -1
  386. package/dist/src/shippingOptions/pages/Detail.vue.d.ts +14 -0
  387. package/dist/src/shippingOptions/pages/Overview.vue.d.ts +16 -0
  388. package/dist/src/shippingOptions/routes.d.ts +1 -1
  389. package/dist/src/table/components/DataTable.vue.d.ts +18 -0
  390. package/dist/src/table/components/DataTableAction.vue.d.ts +14 -0
  391. package/dist/src/table/components/DataTableMobileRowActionDrawer.vue.d.ts +4 -0
  392. package/dist/src/table/components/DataTablePagination.vue.d.ts +6 -0
  393. package/dist/src/table/components/actions/ActionDialog.vue.d.ts +19 -0
  394. package/dist/src/table/components/actions/CtaActionDialog.vue.d.ts +4 -0
  395. package/dist/src/table/components/columns/ColumnDropdown.vue.d.ts +2 -0
  396. package/dist/src/table/components/columns/ColumnEditorDialog.vue.d.ts +34 -0
  397. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +12 -0
  398. package/dist/src/table/components/date-range-filter/DateRangeFilter.vue.d.ts +2 -0
  399. package/dist/src/table/components/date-range-filter/DateRangeSettingsDialog.vue.d.ts +27 -0
  400. package/dist/src/table/components/filters/FilterDialog.vue.d.ts +12 -0
  401. package/dist/src/table/components/filters/Filters.vue.d.ts +27 -0
  402. package/dist/src/table/components/search/Search.vue.d.ts +2 -0
  403. package/dist/src/table/components/sort/SortMode.vue.d.ts +2 -0
  404. package/dist/src/table/components/sort/SortModeSettingsDialog.vue.d.ts +18 -0
  405. package/dist/src/table/components/stats/StatDialog.vue.d.ts +12 -0
  406. package/dist/src/table/components/stats/Stats.vue.d.ts +27 -0
  407. package/dist/src/table/flow-builder-extensions/TableRowEditor.vue.d.ts +16 -0
  408. package/dist/src/table/flow-builder-extensions/row-item.d.ts +17 -3
  409. package/dist/src/table/index.d.ts +2 -2
  410. package/dist/src/table/index.vue.d.ts +22 -0
  411. package/dist/src/table/pages/TableView.vue.d.ts +54 -0
  412. package/dist/src/table/routes.d.ts +1 -1
  413. package/dist/src/types/index.d.ts +0 -6
  414. package/dist/utils-CanmrIWO.mjs +47 -0
  415. package/dist/utils-Yd6F5mea.js +3 -0
  416. package/dist/vee-validate-zod-ByykgYKJ.js +1 -0
  417. package/dist/vee-validate-zod-DNjTLCgh.mjs +4402 -0
  418. package/package.json +56 -55
  419. package/dist/Acquisition-DypEyPSO.js +0 -1
  420. package/dist/Acquisition-TCNX-th6.mjs +0 -308
  421. package/dist/AgendaOpeningHoursCard-BIhm0vpV.js +0 -1
  422. package/dist/AgendaOpeningHoursCard-BKUdJxRI.mjs +0 -133
  423. package/dist/AppointmentDetailsCard-C5rQ5jsW.js +0 -1
  424. package/dist/AppointmentDetailsCard-NRHeNP2L.mjs +0 -111
  425. package/dist/AppointmentEditor-BcF8CiD-.mjs +0 -150
  426. package/dist/AppointmentEditor-BlhFtoCm.js +0 -1
  427. package/dist/AppointmentListTable-B-ReBVtV.js +0 -1
  428. package/dist/AppointmentListTable-DHmy-iid.mjs +0 -129
  429. package/dist/Audience-CfWHjjg8.mjs +0 -394
  430. package/dist/Audience-Cj4TyauW.js +0 -1
  431. package/dist/Components-BehelN4r.js +0 -1
  432. package/dist/Components-CR6zukUU.mjs +0 -468
  433. package/dist/Content-C5Iye3t0.mjs +0 -257
  434. package/dist/Content-eOfBx52Y.js +0 -1
  435. package/dist/ContentEditor-BgL4qEeg.mjs +0 -26835
  436. package/dist/ContentEditor-Tlu3w0Hu.js +0 -462
  437. package/dist/CountryBreakdownCard-CWVyB8be.mjs +0 -151
  438. package/dist/CountryBreakdownCard-Db-pMiNe.js +0 -1
  439. package/dist/Create-B1it8S4m.js +0 -1
  440. package/dist/Create-DbYi0FAI.mjs +0 -907
  441. package/dist/DateFormatter-DLrDYkby.mjs +0 -630
  442. package/dist/DateFormatter-Dni0Oq8r.js +0 -1
  443. package/dist/Detail-D-eahJGO.mjs +0 -21
  444. package/dist/Detail-D0kdPPIm.mjs +0 -2757
  445. package/dist/Detail-DAafePYi.mjs +0 -485
  446. package/dist/Detail-DYpv4fYg.js +0 -1
  447. package/dist/Detail-Dc_ui4LM.js +0 -1
  448. package/dist/Detail-DccUekl_.js +0 -1
  449. package/dist/Detail-Dhz0V0Vf.js +0 -1
  450. package/dist/Detail-DjnGY0F8.mjs +0 -282
  451. package/dist/Detail-DplAitHg.mjs +0 -447
  452. package/dist/Detail-SugyeSxb.js +0 -1
  453. package/dist/DeviceBreakdownCard-CzxZT6To.js +0 -1
  454. package/dist/DeviceBreakdownCard-eEwPjzKl.mjs +0 -115
  455. package/dist/EditLayout-Bnz9q_jd.js +0 -1
  456. package/dist/EditLayout-J_DGXb8v.mjs +0 -99
  457. package/dist/Entries-CgpWg6fE.js +0 -1
  458. package/dist/Entries-CkGTXcAq.mjs +0 -575
  459. package/dist/Find-Bz0TNJzk.mjs +0 -164
  460. package/dist/Find-D-ItTXaZ.js +0 -1
  461. package/dist/GlobalStyling-CSQPF7o_.mjs +0 -1162
  462. package/dist/GlobalStyling-DabldMZh.js +0 -15
  463. package/dist/NewReservationDialog-BhIiY2B9.js +0 -1
  464. package/dist/NewReservationDialog-CN49aGcM.mjs +0 -1002
  465. package/dist/OrderDetailDialog-BJ01DZFe.js +0 -1
  466. package/dist/OrderDetailDialog-CoVQ_rzs.mjs +0 -215
  467. package/dist/Overview-9FMgn5hT.mjs +0 -492
  468. package/dist/Overview-BOOwMQ-c.mjs +0 -636
  469. package/dist/Overview-Biz3h60w.js +0 -1
  470. package/dist/Overview-C2K2ofdS.js +0 -1
  471. package/dist/Overview-CFHOXP9N.mjs +0 -123
  472. package/dist/Overview-CTJe7J5_.js +0 -1
  473. package/dist/Overview-Cvj2i9eW.js +0 -1
  474. package/dist/Overview-D2I1F8Dm.mjs +0 -21
  475. package/dist/Overview-DFOc9emt.mjs +0 -345
  476. package/dist/Overview-Dmhfb94Y.js +0 -1
  477. package/dist/Overview-PPzv7weG.mjs +0 -450
  478. package/dist/Overview-qFKcXHVF.js +0 -1
  479. package/dist/Overview-xkmYYTae.mjs +0 -133
  480. package/dist/Overview-yPsLvR2c.js +0 -1
  481. package/dist/PeakHoursCard-CtgEP-ez.mjs +0 -157
  482. package/dist/PeakHoursCard-DPeoMyhu.js +0 -1
  483. package/dist/ProductDetailsCard-B0WhmzO-.mjs +0 -98
  484. package/dist/ProductDetailsCard-C1ROuH6l.js +0 -1
  485. package/dist/RealtimeCard-DQno-Okz.js +0 -1
  486. package/dist/RealtimeCard-dR-g1iDo.mjs +0 -92
  487. package/dist/ReservationDetailDialog-Cdo6h0RD.mjs +0 -2163
  488. package/dist/ReservationDetailDialog-DZTFD2xI.js +0 -349
  489. package/dist/SearchTermsCard-BXJSXz_k.js +0 -1
  490. package/dist/SearchTermsCard-DsaxLKwP.mjs +0 -146
  491. package/dist/SendPush-Bssi-OZD.mjs +0 -150
  492. package/dist/SendPush-BuaYboRH.js +0 -1
  493. package/dist/SeoHealth-CP-kL0us.js +0 -1
  494. package/dist/SeoHealth-Cxp_Gb3Y.mjs +0 -459
  495. package/dist/TableView-7iwBkQ_k.mjs +0 -4757
  496. package/dist/TableView-BB_oIYYZ.js +0 -4
  497. package/dist/TemplateList-CNcM_Kgq.mjs +0 -56
  498. package/dist/TemplateList-VuPcBUJO.js +0 -1
  499. package/dist/TopPagesCard-CvDECn3_.mjs +0 -117
  500. package/dist/TopPagesCard-DNdATXJE.js +0 -1
  501. package/dist/TrafficSourcesCard-BLpBr7u0.mjs +0 -151
  502. package/dist/TrafficSourcesCard-_3gRUCw3.js +0 -1
  503. package/dist/View-DSnUHI7h.mjs +0 -30
  504. package/dist/View-Dbcfpdqh.js +0 -1
  505. package/dist/VisitorStatsCard-CFEnXSjF.mjs +0 -185
  506. package/dist/VisitorStatsCard-C_jhQxDW.js +0 -1
  507. package/dist/_plugin-vue_export-helper-5u7tqpWC.js +0 -1
  508. package/dist/_plugin-vue_export-helper-BJQSo0im.mjs +0 -8
  509. package/dist/agenda-CzMRcQTA.mjs +0 -989
  510. package/dist/agenda-D4zWRYSQ.js +0 -1
  511. package/dist/appointments-9syR5TZE.js +0 -1
  512. package/dist/appointments-BBmOJMhM.mjs +0 -23
  513. package/dist/array-BH1uH7XT.js +0 -1
  514. package/dist/array-DnDL9cFz.mjs +0 -98
  515. package/dist/availability-CAXB7Yd6.js +0 -1
  516. package/dist/availability-Dp7eF-ZK.mjs +0 -215
  517. package/dist/booking-data-Bysf6e5x.mjs +0 -724
  518. package/dist/booking-data-C6SGjC2X.js +0 -1
  519. package/dist/chunk-DQi1bQcV.js +0 -1
  520. package/dist/contentManager-D7JxXCwE.js +0 -1
  521. package/dist/contentManager-tfy0x1LD.mjs +0 -22
  522. package/dist/context-AQKfnJ4t.mjs +0 -3809
  523. package/dist/context-ubyMq9Xe.js +0 -54
  524. package/dist/core-Dhgr4ctC.mjs +0 -202
  525. package/dist/core-_HKfBlaZ.js +0 -1
  526. package/dist/countries-MXLT3mVe.mjs +0 -4
  527. package/dist/countries-OCd5qPxG.js +0 -1
  528. package/dist/create-BfNc2C7N.js +0 -1
  529. package/dist/create-C7JlIlIh.mjs +0 -95
  530. package/dist/custom-BwN9-6Mb.js +0 -1
  531. package/dist/custom-INNwaWla.mjs +0 -13
  532. package/dist/dist-BCVg7FKM.js +0 -1
  533. package/dist/dist-DIhK9VWh.mjs +0 -3045
  534. package/dist/edit-BiI2VG60.js +0 -35
  535. package/dist/edit-DD3iFBEh.mjs +0 -1097
  536. package/dist/exceptions-DICMaDcH.mjs +0 -462
  537. package/dist/exceptions-DpWqMNuG.js +0 -1
  538. package/dist/google-Bcc4XZnV.mjs +0 -4
  539. package/dist/google-DTSRmJ51.js +0 -1
  540. package/dist/googleAnalytics-BSaqRR_L.js +0 -1
  541. package/dist/googleAnalytics-Cg-iWblZ.mjs +0 -47
  542. package/dist/interpolation-B8OzkMyi.mjs +0 -131
  543. package/dist/interpolation-DpAqtGOW.js +0 -1
  544. package/dist/lib-4wSi00Vr.js +0 -1
  545. package/dist/lib-BZgXUui5.mjs +0 -198
  546. package/dist/line-DJdnFNI7.js +0 -75
  547. package/dist/line-tYLnEDGV.mjs +0 -1500
  548. package/dist/mailTemplates-BNk8fhVS.mjs +0 -23
  549. package/dist/mailTemplates-DswHzyQe.js +0 -1
  550. package/dist/orders-CIc0JlKX.mjs +0 -512
  551. package/dist/orders-DwPSi_pD.js +0 -1
  552. package/dist/payment-BsNWFaDm.js +0 -1
  553. package/dist/payment-Ced5_dpa.mjs +0 -718
  554. package/dist/productCollections-Cuvw_8zC.js +0 -1
  555. package/dist/productCollections-D0AxRlzr.mjs +0 -23
  556. package/dist/products-DUD-ZMkR.mjs +0 -22
  557. package/dist/products-DvX9B-Ul.js +0 -1
  558. package/dist/promoCodes-BCWqN6w4.mjs +0 -23
  559. package/dist/promoCodes-CEZ4LYot.js +0 -1
  560. package/dist/push-notifications-BGp4XWo9.js +0 -1
  561. package/dist/push-notifications-C7W7KuzR.mjs +0 -23
  562. package/dist/regular-BCFrS6lK.mjs +0 -908
  563. package/dist/regular-DBqPgT8C.js +0 -1
  564. package/dist/resources-DwsMmWgm.mjs +0 -669
  565. package/dist/resources-Dz81GkHe.js +0 -1
  566. package/dist/shippingOptions-C3NEJff1.mjs +0 -23
  567. package/dist/shippingOptions-Cy040ZW1.js +0 -1
  568. package/dist/single-container-BJmmqq65.mjs +0 -468
  569. package/dist/single-container-Xoo0Xzxv.js +0 -58
  570. package/dist/src/vue-shim.d.ts +0 -7
  571. package/dist/table-DWw0fs3S.js +0 -1
  572. package/dist/table-LXt5DQOL.mjs +0 -23
  573. package/dist/utils-CVIHqQsU.js +0 -3
  574. package/dist/utils-h3owcMtS.mjs +0 -37
  575. package/dist/vee-validate-zod-BmXMJo8W.js +0 -1
  576. package/dist/vee-validate-zod-D9dZzbWZ.mjs +0 -4985
  577. package/dist/xy-container-CuQSwrtB.mjs +0 -3180
  578. package/dist/xy-container-_6YpscZh.js +0 -158
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneclick.dev/cms-core-modules",
3
- "version": "0.0.109",
3
+ "version": "0.0.111",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -26,65 +26,66 @@
26
26
  "build": "vite build"
27
27
  },
28
28
  "peerDependencies": {
29
- "@formkit/drag-and-drop": "0.5.3",
30
- "@internationalized/date": "3.8.0",
31
- "@oneclick.dev/cms-kit": "0.0.121",
32
- "@tanstack/vue-table": "8.21.3",
33
- "@vee-validate/zod": "4.15.0",
34
- "@vue-flow/core": "1.48.2",
35
- "@vueuse/core": "13.1.0",
36
- "clsx": "2.1.1",
37
- "emoji-mart-vue-fast": "15.0.5",
38
- "@lucide/vue": "1.14.0",
39
- "h3": "1",
40
- "nuxt": "^4",
41
- "pinia": "3",
42
- "reka-ui": "2.2.1",
43
- "tailwind-merge": "3.2.0",
44
- "vee-validate": "4.15.0",
45
- "vue": "3",
29
+ "@formkit/drag-and-drop": "^0.5.3",
30
+ "@internationalized/date": "^3.8.0",
31
+ "@oneclick.dev/cms-kit": "0.0.125",
32
+ "@tanstack/vue-table": "^8.21.3",
33
+ "@vee-validate/zod": "^4.15.0",
34
+ "@vue-flow/core": "^1.48.1",
35
+ "@vueuse/core": "^13.1.0",
36
+ "clsx": "^2.1.1",
37
+ "emoji-mart-vue-fast": "^15.0.5",
38
+ "fuse.js": "7.3.0",
39
+ "lucide-vue-next": "^0.554.0",
40
+ "h3": "^1",
41
+ "nuxt": "^3",
42
+ "pinia": "^3",
43
+ "reka-ui": "^2.2.1",
44
+ "tailwind-merge": "^3.2.0",
45
+ "vee-validate": "^4.15.0",
46
+ "vue": "^3",
46
47
  "vue-sonner": "2.0.7",
47
- "zod": "3.24.4"
48
+ "zod": "^3.24.4"
48
49
  },
49
50
  "devDependencies": {
50
- "@floating-ui/dom": "1.7.6",
51
- "@tiptap/extension-collaboration": "3.23.4",
52
- "@tiptap/extension-node-range": "3.23.4",
53
- "@tiptap/y-tiptap": "3.0.3",
54
- "@vitejs/plugin-vue": "6.0.6",
55
- "@vue-flow/core": "1.48.2",
56
- "ofetch": "1.5.1",
57
- "typescript": "6.0.3",
58
- "vite": "8.0.12",
59
- "vite-plugin-dts": "5.0.0"
51
+ "@floating-ui/dom": "^1.7.4",
52
+ "@tiptap/extension-collaboration": "3.20.0",
53
+ "@tiptap/extension-node-range": "3.20.0",
54
+ "@tiptap/y-tiptap": "3.0.2",
55
+ "@vitejs/plugin-vue": "^6.0.3",
56
+ "@vue-flow/core": "^1.48.1",
57
+ "ofetch": "^1.5.1",
58
+ "typescript": "^5.9.3",
59
+ "vite": "^7.3.0",
60
+ "vite-plugin-dts": "^4.5.4"
60
61
  },
61
62
  "dependencies": {
62
- "@tiptap/core": "3.23.4",
63
- "@tiptap/extension-bubble-menu": "3.23.4",
64
- "@tiptap/extension-collaboration": "3.23.4",
65
- "@tiptap/extension-collaboration-caret": "3.23.4",
66
- "@tiptap/extension-document": "3.23.4",
67
- "@tiptap/extension-link": "3.23.4",
68
- "@tiptap/extension-node-range": "3.23.4",
69
- "@tiptap/extension-underline": "3.23.4",
70
- "@tiptap/extension-unique-id": "3.23.4",
71
- "@tiptap/extensions": "3.23.4",
72
- "@tiptap/pm": "3.23.4",
73
- "@tiptap/starter-kit": "3.23.4",
74
- "@tiptap/vue-3": "3.23.4",
75
- "@tiptap/y-tiptap": "3.0.3",
76
- "@unovis/ts": "1.6.5",
77
- "@unovis/vue": "1.6.5",
78
- "iso-639-1": "3.1.5",
79
- "lodash-es": "4.18.1",
80
- "prosemirror-model": "1.25.4",
81
- "prosemirror-state": "1.4.4",
63
+ "@tiptap/core": "3.20.0",
64
+ "@tiptap/extension-bubble-menu": "3.20.0",
65
+ "@tiptap/extension-collaboration": "3.20.0",
66
+ "@tiptap/extension-collaboration-caret": "3.20.0",
67
+ "@tiptap/extension-document": "3.20.0",
68
+ "@tiptap/extension-link": "3.20.0",
69
+ "@tiptap/extension-node-range": "3.20.0",
70
+ "@tiptap/extension-underline": "3.20.0",
71
+ "@tiptap/extension-unique-id": "3.20.0",
72
+ "@tiptap/extensions": "3.20.0",
73
+ "@tiptap/pm": "3.20.0",
74
+ "@tiptap/starter-kit": "3.20.0",
75
+ "@tiptap/vue-3": "3.20.0",
76
+ "@tiptap/y-tiptap": "3.0.2",
77
+ "@unovis/ts": "^1.5.2",
78
+ "@unovis/vue": "^1.5.2",
79
+ "iso-639-1": "^3.1.5",
80
+ "lodash-es": "^4.17.22",
81
+ "prosemirror-model": "^1.25.4",
82
+ "prosemirror-state": "^1.4.4",
82
83
  "tiptap-extension-auto-joiner": "0.1.3",
83
- "unplugin-auto-import": "21.0.0",
84
- "vue-grid-layout-v3": "3.1.2",
85
- "world-countries": "5.1.0",
86
- "y-webrtc": "10.3.0",
87
- "y-websocket": "3.0.0",
88
- "yjs": "13.6.30"
84
+ "unplugin-auto-import": "^20.3.0",
85
+ "vue-grid-layout-v3": "^3.1.2",
86
+ "world-countries": "^5.1.0",
87
+ "y-webrtc": "^10.3.0",
88
+ "y-websocket": "^3.0.0",
89
+ "yjs": "^13.6.28"
89
90
  }
90
91
  }
@@ -1 +0,0 @@
1
- require(`./chunk-DQi1bQcV.js`);const e=require(`./single-container-Xoo0Xzxv.js`);let t=require(`@oneclick.dev/cms-kit`),n=require(`vue`),r=require(`@lucide/vue`);var i={class:`@container/charts flex flex-col gap-6 w-full max-w-7xl mx-auto py-8`},ee={class:`flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center`},te={key:0,class:`flex items-center gap-2`},ne={class:`flex items-center border rounded-lg overflow-hidden`},re=[`onClick`],ie={class:`text-sm text-destructive font-medium`},ae={key:2,class:`flex items-center justify-center py-20`},oe={class:`flex flex-col @4xl/charts:grid @4xl/charts:grid-cols-3 gap-6`},se={class:`relative`},ce={class:`absolute inset-0 flex items-center justify-center pointer-events-none`},le={class:`text-center`},ue={class:`text-2xl font-bold tabular-nums`},de={class:`mt-4 grid grid-cols-2 gap-x-4 gap-y-1.5 w-full`},fe={class:`text-xs truncate`},pe={class:`text-xs text-muted-foreground ml-auto tabular-nums`},me={class:`overflow-x-auto`},he={class:`w-full text-sm`},ge={class:`divide-y`},_e={class:`px-6 py-3`},ve={class:`flex items-center gap-2`},a={class:`font-medium`},o={class:`px-4 py-3 text-right tabular-nums`},s={class:`px-4 py-3 text-right tabular-nums`},c={class:`px-4 py-3 text-right tabular-nums`},l={class:`px-4 py-3 text-right tabular-nums`},u={class:`px-4 py-3 text-right tabular-nums`},d={key:0,class:`px-6 py-8 text-center text-muted-foreground text-sm`},f={class:`flex items-center gap-4`},p=[`onClick`],m={key:0,class:`divide-y`},h={class:`overflow-x-auto`},g={class:`w-full text-sm`},_={class:`divide-y`},v={class:`px-6 py-3 text-muted-foreground`},y={class:`px-4 py-3 font-mono text-xs`},b={class:`px-4 py-3 text-right tabular-nums`},x={class:`px-4 py-3 text-right tabular-nums`},S={class:`px-4 py-3 text-right tabular-nums`},C={class:`px-4 py-3 text-right tabular-nums`},w={key:0,class:`px-6 py-8 text-center text-muted-foreground text-sm`},T={key:1,class:`divide-y`},E={class:`flex items-center gap-3 min-w-0`},D={class:`text-muted-foreground w-5 text-right shrink-0`},O={class:`truncate font-medium`},k={class:`flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground`},A={class:`w-20 text-right`},j={class:`w-16 text-right`},M={class:`w-16 text-right`},N={key:0,class:`px-6 py-8 text-center text-muted-foreground text-sm`},ye={key:2,class:`divide-y`},P={class:`flex items-center gap-3 min-w-0`},be={class:`text-muted-foreground w-5 text-right shrink-0`},xe={class:`truncate font-medium`},Se={class:`flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground`},Ce={class:`w-20 text-right`},we={class:`w-16 text-right`},Te={class:`w-16 text-right`},Ee={key:0,class:`px-6 py-8 text-center text-muted-foreground text-sm`},F=(0,n.defineComponent)({__name:`Acquisition`,setup(F){let{config:I}=(0,t.useModule)(),{moduleId:L}=(0,t.useModuleRoute)();(0,t.useModuleBreadcrumbs)(()=>[{label:`Acquisition`}]);let R=(0,n.ref)(!0),z=(0,n.ref)(null),B=(0,n.ref)(`30`),V=(0,n.ref)(`sources`),H=(0,n.ref)([]),U=(0,n.ref)([]),W=(0,n.ref)([]),G=(0,n.ref)([]),K=(0,n.computed)(()=>!!(I.serviceAccount&&I.propertyId));function q(e){return`/api/v1/modules/${L}${e}`}let De=[{label:`7d`,value:`7`},{label:`14d`,value:`14`},{label:`30d`,value:`30`},{label:`90d`,value:`90`}],J=[`#3b82f6`,`#8b5cf6`,`#10b981`,`#f59e0b`,`#ef4444`,`#06b6d4`,`#ec4899`,`#84cc16`,`#f97316`,`#6366f1`,`#14b8a6`,`#e11d48`,`#a855f7`,`#22c55e`,`#eab308`],Oe=(0,n.computed)(()=>{let e={};return H.value.forEach((t,n)=>{let r=(t.sessionDefaultChannelGroup||`other`).toLowerCase().replace(/[^a-z0-9]/g,`_`);e[r]={label:t.sessionDefaultChannelGroup||`Other`,color:J[n%J.length]}}),e}),ke=(0,n.computed)(()=>H.value.map((e,t)=>({key:(e.sessionDefaultChannelGroup||`other`).toLowerCase().replace(/[^a-z0-9]/g,`_`),label:e.sessionDefaultChannelGroup||`Other`,sessions:e.sessions||0,fill:J[t%J.length]}))),Ae=(0,n.computed)(()=>H.value.reduce((e,t)=>e+(t.sessions||0),0));function Y(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:Math.round(e).toString()}function X(e){return`${(e*100).toFixed(1)}%`}function je(e){let t=Math.floor(e/60),n=Math.round(e%60);return t>0?`${t}m ${n}s`:`${n}s`}async function Z(){if(!K.value)return;R.value=!0,z.value=null;let e=`${B.value}daysAgo`;try{let[t,n,r,i]=await Promise.all([$fetch(q(`/acquisition/channels?startDate=${e}&endDate=today`)),$fetch(q(`/acquisition/source-medium?startDate=${e}&endDate=today`)),$fetch(q(`/acquisition/referrals?startDate=${e}&endDate=today`)).catch(()=>({rows:[]})),$fetch(q(`/acquisition/campaigns?startDate=${e}&endDate=today`)).catch(()=>({rows:[]}))]);H.value=t.rows||[],U.value=n.rows||[],W.value=r.rows||[],G.value=i.rows||[]}catch(e){z.value=e?.data?.statusMessage||e?.message||`Failed to load acquisition data`}finally{R.value=!1}}return(0,n.watch)(B,()=>Z()),(0,n.onMounted)(()=>{K.value?Z():R.value=!1}),(t,F)=>{let I=(0,n.resolveComponent)(`Button`),L=(0,n.resolveComponent)(`Card`),q=(0,n.resolveComponent)(`CardTitle`),Q=(0,n.resolveComponent)(`CardHeader`),Me=(0,n.resolveComponent)(`ChartContainer`),$=(0,n.resolveComponent)(`CardContent`);return(0,n.openBlock)(),(0,n.createElementBlock)(`div`,i,[(0,n.createElementVNode)(`div`,ee,[F[0]||=(0,n.createElementVNode)(`div`,null,[(0,n.createElementVNode)(`h1`,{class:`text-2xl font-semibold`},`Acquisition`),(0,n.createElementVNode)(`p`,{class:`text-muted-foreground text-sm mt-1`},`Where your traffic comes from`)],-1),K.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,te,[(0,n.createElementVNode)(`div`,ne,[((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(De,e=>(0,n.createElementVNode)(`button`,{key:e.value,class:(0,n.normalizeClass)([`px-3 py-1.5 text-xs font-medium transition-colors`,B.value===e.value?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:t=>B.value=e.value},(0,n.toDisplayString)(e.label),11,re)),64))]),(0,n.createVNode)(I,{variant:`outline`,size:`icon`,onClick:Z,disabled:R.value},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(r.RefreshCw),{class:(0,n.normalizeClass)([`size-4`,{"animate-spin":R.value}])},null,8,[`class`])]),_:1},8,[`disabled`])])):(0,n.createCommentVNode)(``,!0)]),K.value?z.value?((0,n.openBlock)(),(0,n.createBlock)(L,{key:1,class:`p-6 border-destructive/50 bg-destructive/5`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`p`,ie,(0,n.toDisplayString)(z.value),1),(0,n.createVNode)(I,{variant:`outline`,size:`sm`,class:`mt-3`,onClick:Z},{default:(0,n.withCtx)(()=>[...F[2]||=[(0,n.createTextVNode)(`Retry`,-1)]]),_:1})]),_:1})):R.value?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ae,[(0,n.createVNode)((0,n.unref)(r.Loader2),{class:`size-8 animate-spin text-muted-foreground`})])):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:3},[(0,n.createElementVNode)(`div`,oe,[(0,n.createVNode)(L,{class:`@4xl/charts:col-span-1`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(Q,{class:`pb-2`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(q,{class:`text-base`},{default:(0,n.withCtx)(()=>[...F[3]||=[(0,n.createTextVNode)(`Channel Mix`,-1)]]),_:1})]),_:1}),(0,n.createVNode)($,{class:`flex flex-col items-center`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,se,[(0,n.createVNode)(Me,{config:Oe.value,class:`mx-auto aspect-square max-h-[220px]`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(e.t),{data:ke.value,margin:{top:20,bottom:20,left:20,right:20}},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(e.n),{value:e=>e.sessions,color:e=>e.fill,arcWidth:40,padAngle:.02,cornerRadius:4},null,8,[`value`,`color`])]),_:1},8,[`data`])]),_:1},8,[`config`]),(0,n.createElementVNode)(`div`,ce,[(0,n.createElementVNode)(`div`,le,[(0,n.createElementVNode)(`p`,ue,(0,n.toDisplayString)(Y(Ae.value)),1),F[4]||=(0,n.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`sessions`,-1)])])]),(0,n.createElementVNode)(`div`,de,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(H.value.slice(0,8),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.sessionDefaultChannelGroup,class:`flex items-center gap-2`},[(0,n.createElementVNode)(`div`,{class:`size-2.5 rounded-full shrink-0`,style:(0,n.normalizeStyle)({backgroundColor:J[t%J.length]})},null,4),(0,n.createElementVNode)(`span`,fe,(0,n.toDisplayString)(e.sessionDefaultChannelGroup),1),(0,n.createElementVNode)(`span`,pe,(0,n.toDisplayString)(Y(e.sessions)),1)]))),128))])]),_:1})]),_:1}),(0,n.createVNode)(L,{class:`@4xl/charts:col-span-2`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(Q,{class:`pb-2`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)(q,{class:`text-base`},{default:(0,n.withCtx)(()=>[...F[5]||=[(0,n.createTextVNode)(`Channels Performance`,-1)]]),_:1})]),_:1}),(0,n.createVNode)($,{class:`p-0`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,me,[(0,n.createElementVNode)(`table`,he,[F[6]||=(0,n.createElementVNode)(`thead`,null,[(0,n.createElementVNode)(`tr`,{class:`border-b text-left`},[(0,n.createElementVNode)(`th`,{class:`px-6 py-3 font-medium text-muted-foreground`},`Channel`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Sessions`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Users`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`New Users`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Engage Rate`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Avg Duration`)])],-1),(0,n.createElementVNode)(`tbody`,ge,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(H.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`tr`,{key:e.sessionDefaultChannelGroup,class:`hover:bg-muted/50`},[(0,n.createElementVNode)(`td`,_e,[(0,n.createElementVNode)(`div`,ve,[(0,n.createElementVNode)(`div`,{class:`size-2.5 rounded-full shrink-0`,style:(0,n.normalizeStyle)({backgroundColor:J[t%J.length]})},null,4),(0,n.createElementVNode)(`span`,a,(0,n.toDisplayString)(e.sessionDefaultChannelGroup),1)])]),(0,n.createElementVNode)(`td`,o,(0,n.toDisplayString)(Y(e.sessions)),1),(0,n.createElementVNode)(`td`,s,(0,n.toDisplayString)(Y(e.totalUsers)),1),(0,n.createElementVNode)(`td`,c,(0,n.toDisplayString)(Y(e.newUsers)),1),(0,n.createElementVNode)(`td`,l,(0,n.toDisplayString)(X(e.engagementRate||0)),1),(0,n.createElementVNode)(`td`,u,(0,n.toDisplayString)(je(e.averageSessionDuration||0)),1)]))),128))])])]),H.value.length?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,d,`No channel data available`))]),_:1})]),_:1})]),(0,n.createVNode)(L,null,{default:(0,n.withCtx)(()=>[(0,n.createVNode)(Q,{class:`pb-0`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,f,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)([{key:`sources`,label:`Source / Medium`,icon:(0,n.unref)(r.Share2)},{key:`referrals`,label:`Referrals`,icon:(0,n.unref)(r.ExternalLink)},{key:`campaigns`,label:`Campaigns`,icon:(0,n.unref)(r.Megaphone)}],e=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:e.key,class:(0,n.normalizeClass)([`flex items-center gap-1.5 px-3 py-2 text-sm font-medium rounded-md transition-colors`,V.value===e.key?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`]),onClick:t=>V.value=e.key},[((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(e.icon),{class:`size-3.5`})),(0,n.createTextVNode)(` `+(0,n.toDisplayString)(e.label),1)],10,p))),128))])]),_:1}),(0,n.createVNode)($,{class:`p-0 mt-4`},{default:(0,n.withCtx)(()=>[V.value===`sources`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,m,[(0,n.createElementVNode)(`div`,h,[(0,n.createElementVNode)(`table`,g,[F[7]||=(0,n.createElementVNode)(`thead`,null,[(0,n.createElementVNode)(`tr`,{class:`border-b text-left`},[(0,n.createElementVNode)(`th`,{class:`px-6 py-3 font-medium text-muted-foreground`},`#`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground`},`Source / Medium`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Sessions`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Users`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`New Users`),(0,n.createElementVNode)(`th`,{class:`px-4 py-3 font-medium text-muted-foreground text-right`},`Bounce Rate`)])],-1),(0,n.createElementVNode)(`tbody`,_,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(U.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`tr`,{key:e.sessionSourceMedium,class:`hover:bg-muted/50`},[(0,n.createElementVNode)(`td`,v,(0,n.toDisplayString)(t+1),1),(0,n.createElementVNode)(`td`,y,(0,n.toDisplayString)(e.sessionSourceMedium),1),(0,n.createElementVNode)(`td`,b,(0,n.toDisplayString)(Y(e.sessions)),1),(0,n.createElementVNode)(`td`,x,(0,n.toDisplayString)(Y(e.totalUsers)),1),(0,n.createElementVNode)(`td`,S,(0,n.toDisplayString)(Y(e.newUsers)),1),(0,n.createElementVNode)(`td`,C,(0,n.toDisplayString)(X(e.bounceRate||0)),1)]))),128))])])]),U.value.length?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,w,`No data available`))])):(0,n.createCommentVNode)(``,!0),V.value===`referrals`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,T,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(W.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.sessionSource,class:`flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50`},[(0,n.createElementVNode)(`div`,E,[(0,n.createElementVNode)(`span`,D,(0,n.toDisplayString)(t+1),1),(0,n.createVNode)((0,n.unref)(r.ExternalLink),{class:`size-3.5 text-muted-foreground shrink-0`}),(0,n.createElementVNode)(`span`,O,(0,n.toDisplayString)(e.sessionSource),1)]),(0,n.createElementVNode)(`div`,k,[(0,n.createElementVNode)(`span`,A,(0,n.toDisplayString)(Y(e.sessions))+` sessions`,1),(0,n.createElementVNode)(`span`,j,(0,n.toDisplayString)(Y(e.totalUsers))+` users`,1),(0,n.createElementVNode)(`span`,M,(0,n.toDisplayString)(X(e.engagementRate||0))+` eng.`,1)])]))),128)),W.value.length?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,N,`No referral data available`))])):(0,n.createCommentVNode)(``,!0),V.value===`campaigns`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,ye,[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(G.value,(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:e.sessionCampaignName,class:`flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50`},[(0,n.createElementVNode)(`div`,P,[(0,n.createElementVNode)(`span`,be,(0,n.toDisplayString)(t+1),1),(0,n.createVNode)((0,n.unref)(r.Megaphone),{class:`size-3.5 text-muted-foreground shrink-0`}),(0,n.createElementVNode)(`span`,xe,(0,n.toDisplayString)(e.sessionCampaignName),1)]),(0,n.createElementVNode)(`div`,Se,[(0,n.createElementVNode)(`span`,Ce,(0,n.toDisplayString)(Y(e.sessions))+` sessions`,1),(0,n.createElementVNode)(`span`,we,(0,n.toDisplayString)(Y(e.totalUsers))+` users`,1),(0,n.createElementVNode)(`span`,Te,(0,n.toDisplayString)(X(e.engagementRate||0))+` eng.`,1)])]))),128)),G.value.length?(0,n.createCommentVNode)(``,!0):((0,n.openBlock)(),(0,n.createElementBlock)(`div`,Ee,`No campaign data. Use UTM parameters in your URLs to track campaigns.`))])):(0,n.createCommentVNode)(``,!0)]),_:1})]),_:1})],64)):((0,n.openBlock)(),(0,n.createBlock)(L,{key:0,class:`p-8 text-center`},{default:(0,n.withCtx)(()=>[...F[1]||=[(0,n.createElementVNode)(`p`,{class:`text-lg font-medium`},`Setup required`,-1),(0,n.createElementVNode)(`p`,{class:`text-sm text-muted-foreground mt-2`},`Configure your GA4 property in module settings.`,-1)]]),_:1}))])}}});exports.default=F;
@@ -1,308 +0,0 @@
1
- import { n as e, t } from "./single-container-BJmmqq65.mjs";
2
- import { useModule as n, useModuleBreadcrumbs as r, useModuleRoute as i } from "@oneclick.dev/cms-kit";
3
- 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, normalizeClass as m, normalizeStyle as h, onMounted as g, openBlock as _, ref as v, renderList as y, resolveComponent as b, resolveDynamicComponent as ee, toDisplayString as x, unref as S, watch as C, withCtx as w } from "vue";
4
- import { ExternalLink as T, Loader2 as te, Megaphone as E, RefreshCw as ne, Share2 as re } from "@lucide/vue";
5
- //#region src/googleAnalytics/pages/Acquisition.vue?vue&type=script&setup=true&lang.ts
6
- var ie = { class: "@container/charts flex flex-col gap-6 w-full max-w-7xl mx-auto py-8" }, ae = { class: "flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center" }, oe = {
7
- key: 0,
8
- class: "flex items-center gap-2"
9
- }, se = { class: "flex items-center border rounded-lg overflow-hidden" }, ce = ["onClick"], le = { class: "text-sm text-destructive font-medium" }, ue = {
10
- key: 2,
11
- class: "flex items-center justify-center py-20"
12
- }, de = { class: "flex flex-col @4xl/charts:grid @4xl/charts:grid-cols-3 gap-6" }, fe = { class: "relative" }, pe = { class: "absolute inset-0 flex items-center justify-center pointer-events-none" }, me = { class: "text-center" }, he = { class: "text-2xl font-bold tabular-nums" }, ge = { class: "mt-4 grid grid-cols-2 gap-x-4 gap-y-1.5 w-full" }, D = { class: "text-xs truncate" }, O = { class: "text-xs text-muted-foreground ml-auto tabular-nums" }, k = { class: "overflow-x-auto" }, A = { class: "w-full text-sm" }, j = { class: "divide-y" }, M = { class: "px-6 py-3" }, N = { class: "flex items-center gap-2" }, P = { class: "font-medium" }, F = { class: "px-4 py-3 text-right tabular-nums" }, I = { class: "px-4 py-3 text-right tabular-nums" }, L = { class: "px-4 py-3 text-right tabular-nums" }, _e = { class: "px-4 py-3 text-right tabular-nums" }, ve = { class: "px-4 py-3 text-right tabular-nums" }, ye = {
13
- key: 0,
14
- class: "px-6 py-8 text-center text-muted-foreground text-sm"
15
- }, be = { class: "flex items-center gap-4" }, xe = ["onClick"], Se = {
16
- key: 0,
17
- class: "divide-y"
18
- }, Ce = { class: "overflow-x-auto" }, we = { class: "w-full text-sm" }, Te = { class: "divide-y" }, Ee = { class: "px-6 py-3 text-muted-foreground" }, De = { class: "px-4 py-3 font-mono text-xs" }, Oe = { class: "px-4 py-3 text-right tabular-nums" }, R = { class: "px-4 py-3 text-right tabular-nums" }, ke = { class: "px-4 py-3 text-right tabular-nums" }, Ae = { class: "px-4 py-3 text-right tabular-nums" }, je = {
19
- key: 0,
20
- class: "px-6 py-8 text-center text-muted-foreground text-sm"
21
- }, Me = {
22
- key: 1,
23
- class: "divide-y"
24
- }, Ne = { class: "flex items-center gap-3 min-w-0" }, Pe = { class: "text-muted-foreground w-5 text-right shrink-0" }, Fe = { class: "truncate font-medium" }, Ie = { class: "flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground" }, Le = { class: "w-20 text-right" }, Re = { class: "w-16 text-right" }, ze = { class: "w-16 text-right" }, Be = {
25
- key: 0,
26
- class: "px-6 py-8 text-center text-muted-foreground text-sm"
27
- }, Ve = {
28
- key: 2,
29
- class: "divide-y"
30
- }, He = { class: "flex items-center gap-3 min-w-0" }, Ue = { class: "text-muted-foreground w-5 text-right shrink-0" }, We = { class: "truncate font-medium" }, Ge = { class: "flex items-center gap-6 shrink-0 tabular-nums text-xs text-muted-foreground" }, Ke = { class: "w-20 text-right" }, qe = { class: "w-16 text-right" }, Je = { class: "w-16 text-right" }, Ye = {
31
- key: 0,
32
- class: "px-6 py-8 text-center text-muted-foreground text-sm"
33
- }, z = /* @__PURE__ */ p({
34
- __name: "Acquisition",
35
- setup(p) {
36
- let { config: z } = n(), { moduleId: Xe } = i();
37
- r(() => [{ label: "Acquisition" }]);
38
- let B = v(!0), V = v(null), H = v("30"), U = v("sources"), W = v([]), G = v([]), K = v([]), q = v([]), J = o(() => !!(z.serviceAccount && z.propertyId));
39
- function Y(e) {
40
- return `/api/v1/modules/${Xe}${e}`;
41
- }
42
- let Ze = [
43
- {
44
- label: "7d",
45
- value: "7"
46
- },
47
- {
48
- label: "14d",
49
- value: "14"
50
- },
51
- {
52
- label: "30d",
53
- value: "30"
54
- },
55
- {
56
- label: "90d",
57
- value: "90"
58
- }
59
- ], X = [
60
- "#3b82f6",
61
- "#8b5cf6",
62
- "#10b981",
63
- "#f59e0b",
64
- "#ef4444",
65
- "#06b6d4",
66
- "#ec4899",
67
- "#84cc16",
68
- "#f97316",
69
- "#6366f1",
70
- "#14b8a6",
71
- "#e11d48",
72
- "#a855f7",
73
- "#22c55e",
74
- "#eab308"
75
- ], Qe = o(() => {
76
- let e = {};
77
- return W.value.forEach((t, n) => {
78
- let r = (t.sessionDefaultChannelGroup || "other").toLowerCase().replace(/[^a-z0-9]/g, "_");
79
- e[r] = {
80
- label: t.sessionDefaultChannelGroup || "Other",
81
- color: X[n % X.length]
82
- };
83
- }), e;
84
- }), $e = o(() => W.value.map((e, t) => ({
85
- key: (e.sessionDefaultChannelGroup || "other").toLowerCase().replace(/[^a-z0-9]/g, "_"),
86
- label: e.sessionDefaultChannelGroup || "Other",
87
- sessions: e.sessions || 0,
88
- fill: X[t % X.length]
89
- }))), et = o(() => W.value.reduce((e, t) => e + (t.sessions || 0), 0));
90
- function Z(e) {
91
- return e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}K` : Math.round(e).toString();
92
- }
93
- function Q(e) {
94
- return `${(e * 100).toFixed(1)}%`;
95
- }
96
- function tt(e) {
97
- let t = Math.floor(e / 60), n = Math.round(e % 60);
98
- return t > 0 ? `${t}m ${n}s` : `${n}s`;
99
- }
100
- async function $() {
101
- if (!J.value) return;
102
- B.value = !0, V.value = null;
103
- let e = `${H.value}daysAgo`;
104
- try {
105
- let [t, n, r, i] = await Promise.all([
106
- $fetch(Y(`/acquisition/channels?startDate=${e}&endDate=today`)),
107
- $fetch(Y(`/acquisition/source-medium?startDate=${e}&endDate=today`)),
108
- $fetch(Y(`/acquisition/referrals?startDate=${e}&endDate=today`)).catch(() => ({ rows: [] })),
109
- $fetch(Y(`/acquisition/campaigns?startDate=${e}&endDate=today`)).catch(() => ({ rows: [] }))
110
- ]);
111
- W.value = t.rows || [], G.value = n.rows || [], K.value = r.rows || [], q.value = i.rows || [];
112
- } catch (e) {
113
- V.value = e?.data?.statusMessage || e?.message || "Failed to load acquisition data";
114
- } finally {
115
- B.value = !1;
116
- }
117
- }
118
- return C(H, () => $()), g(() => {
119
- J.value ? $() : B.value = !1;
120
- }), (n, r) => {
121
- let i = b("Button"), o = b("Card"), p = b("CardTitle"), g = b("CardHeader"), v = b("ChartContainer"), C = b("CardContent");
122
- return _(), l("div", ie, [u("div", ae, [r[0] ||= u("div", null, [u("h1", { class: "text-2xl font-semibold" }, "Acquisition"), u("p", { class: "text-muted-foreground text-sm mt-1" }, "Where your traffic comes from")], -1), J.value ? (_(), l("div", oe, [u("div", se, [(_(), l(a, null, y(Ze, (e) => u("button", {
123
- key: e.value,
124
- class: m(["px-3 py-1.5 text-xs font-medium transition-colors", H.value === e.value ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground hover:bg-muted"]),
125
- onClick: (t) => H.value = e.value
126
- }, x(e.label), 11, ce)), 64))]), f(i, {
127
- variant: "outline",
128
- size: "icon",
129
- onClick: $,
130
- disabled: B.value
131
- }, {
132
- default: w(() => [f(S(ne), { class: m(["size-4", { "animate-spin": B.value }]) }, null, 8, ["class"])]),
133
- _: 1
134
- }, 8, ["disabled"])])) : c("", !0)]), J.value ? V.value ? (_(), s(o, {
135
- key: 1,
136
- class: "p-6 border-destructive/50 bg-destructive/5"
137
- }, {
138
- default: w(() => [u("p", le, x(V.value), 1), f(i, {
139
- variant: "outline",
140
- size: "sm",
141
- class: "mt-3",
142
- onClick: $
143
- }, {
144
- default: w(() => [...r[2] ||= [d("Retry", -1)]]),
145
- _: 1
146
- })]),
147
- _: 1
148
- })) : B.value ? (_(), l("div", ue, [f(S(te), { class: "size-8 animate-spin text-muted-foreground" })])) : (_(), l(a, { key: 3 }, [u("div", de, [f(o, { class: "@4xl/charts:col-span-1" }, {
149
- default: w(() => [f(g, { class: "pb-2" }, {
150
- default: w(() => [f(p, { class: "text-base" }, {
151
- default: w(() => [...r[3] ||= [d("Channel Mix", -1)]]),
152
- _: 1
153
- })]),
154
- _: 1
155
- }), f(C, { class: "flex flex-col items-center" }, {
156
- default: w(() => [u("div", fe, [f(v, {
157
- config: Qe.value,
158
- class: "mx-auto aspect-square max-h-[220px]"
159
- }, {
160
- default: w(() => [f(S(t), {
161
- data: $e.value,
162
- margin: {
163
- top: 20,
164
- bottom: 20,
165
- left: 20,
166
- right: 20
167
- }
168
- }, {
169
- default: w(() => [f(S(e), {
170
- value: (e) => e.sessions,
171
- color: (e) => e.fill,
172
- arcWidth: 40,
173
- padAngle: .02,
174
- cornerRadius: 4
175
- }, null, 8, ["value", "color"])]),
176
- _: 1
177
- }, 8, ["data"])]),
178
- _: 1
179
- }, 8, ["config"]), u("div", pe, [u("div", me, [u("p", he, x(Z(et.value)), 1), r[4] ||= u("p", { class: "text-xs text-muted-foreground" }, "sessions", -1)])])]), u("div", ge, [(_(!0), l(a, null, y(W.value.slice(0, 8), (e, t) => (_(), l("div", {
180
- key: e.sessionDefaultChannelGroup,
181
- class: "flex items-center gap-2"
182
- }, [
183
- u("div", {
184
- class: "size-2.5 rounded-full shrink-0",
185
- style: h({ backgroundColor: X[t % X.length] })
186
- }, null, 4),
187
- u("span", D, x(e.sessionDefaultChannelGroup), 1),
188
- u("span", O, x(Z(e.sessions)), 1)
189
- ]))), 128))])]),
190
- _: 1
191
- })]),
192
- _: 1
193
- }), f(o, { class: "@4xl/charts:col-span-2" }, {
194
- default: w(() => [f(g, { class: "pb-2" }, {
195
- default: w(() => [f(p, { class: "text-base" }, {
196
- default: w(() => [...r[5] ||= [d("Channels Performance", -1)]]),
197
- _: 1
198
- })]),
199
- _: 1
200
- }), f(C, { class: "p-0" }, {
201
- default: w(() => [u("div", k, [u("table", A, [r[6] ||= u("thead", null, [u("tr", { class: "border-b text-left" }, [
202
- u("th", { class: "px-6 py-3 font-medium text-muted-foreground" }, "Channel"),
203
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Sessions"),
204
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Users"),
205
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "New Users"),
206
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Engage Rate"),
207
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Avg Duration")
208
- ])], -1), u("tbody", j, [(_(!0), l(a, null, y(W.value, (e, t) => (_(), l("tr", {
209
- key: e.sessionDefaultChannelGroup,
210
- class: "hover:bg-muted/50"
211
- }, [
212
- u("td", M, [u("div", N, [u("div", {
213
- class: "size-2.5 rounded-full shrink-0",
214
- style: h({ backgroundColor: X[t % X.length] })
215
- }, null, 4), u("span", P, x(e.sessionDefaultChannelGroup), 1)])]),
216
- u("td", F, x(Z(e.sessions)), 1),
217
- u("td", I, x(Z(e.totalUsers)), 1),
218
- u("td", L, x(Z(e.newUsers)), 1),
219
- u("td", _e, x(Q(e.engagementRate || 0)), 1),
220
- u("td", ve, x(tt(e.averageSessionDuration || 0)), 1)
221
- ]))), 128))])])]), W.value.length ? c("", !0) : (_(), l("div", ye, "No channel data available"))]),
222
- _: 1
223
- })]),
224
- _: 1
225
- })]), f(o, null, {
226
- default: w(() => [f(g, { class: "pb-0" }, {
227
- default: w(() => [u("div", be, [(_(!0), l(a, null, y([
228
- {
229
- key: "sources",
230
- label: "Source / Medium",
231
- icon: S(re)
232
- },
233
- {
234
- key: "referrals",
235
- label: "Referrals",
236
- icon: S(T)
237
- },
238
- {
239
- key: "campaigns",
240
- label: "Campaigns",
241
- icon: S(E)
242
- }
243
- ], (e) => (_(), l("button", {
244
- key: e.key,
245
- class: m(["flex items-center gap-1.5 px-3 py-2 text-sm font-medium rounded-md transition-colors", U.value === e.key ? "bg-muted text-foreground" : "text-muted-foreground hover:text-foreground"]),
246
- onClick: (t) => U.value = e.key
247
- }, [(_(), s(ee(e.icon), { class: "size-3.5" })), d(" " + x(e.label), 1)], 10, xe))), 128))])]),
248
- _: 1
249
- }), f(C, { class: "p-0 mt-4" }, {
250
- default: w(() => [
251
- U.value === "sources" ? (_(), l("div", Se, [u("div", Ce, [u("table", we, [r[7] ||= u("thead", null, [u("tr", { class: "border-b text-left" }, [
252
- u("th", { class: "px-6 py-3 font-medium text-muted-foreground" }, "#"),
253
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground" }, "Source / Medium"),
254
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Sessions"),
255
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Users"),
256
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "New Users"),
257
- u("th", { class: "px-4 py-3 font-medium text-muted-foreground text-right" }, "Bounce Rate")
258
- ])], -1), u("tbody", Te, [(_(!0), l(a, null, y(G.value, (e, t) => (_(), l("tr", {
259
- key: e.sessionSourceMedium,
260
- class: "hover:bg-muted/50"
261
- }, [
262
- u("td", Ee, x(t + 1), 1),
263
- u("td", De, x(e.sessionSourceMedium), 1),
264
- u("td", Oe, x(Z(e.sessions)), 1),
265
- u("td", R, x(Z(e.totalUsers)), 1),
266
- u("td", ke, x(Z(e.newUsers)), 1),
267
- u("td", Ae, x(Q(e.bounceRate || 0)), 1)
268
- ]))), 128))])])]), G.value.length ? c("", !0) : (_(), l("div", je, "No data available"))])) : c("", !0),
269
- U.value === "referrals" ? (_(), l("div", Me, [(_(!0), l(a, null, y(K.value, (e, t) => (_(), l("div", {
270
- key: e.sessionSource,
271
- class: "flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50"
272
- }, [u("div", Ne, [
273
- u("span", Pe, x(t + 1), 1),
274
- f(S(T), { class: "size-3.5 text-muted-foreground shrink-0" }),
275
- u("span", Fe, x(e.sessionSource), 1)
276
- ]), u("div", Ie, [
277
- u("span", Le, x(Z(e.sessions)) + " sessions", 1),
278
- u("span", Re, x(Z(e.totalUsers)) + " users", 1),
279
- u("span", ze, x(Q(e.engagementRate || 0)) + " eng.", 1)
280
- ])]))), 128)), K.value.length ? c("", !0) : (_(), l("div", Be, "No referral data available"))])) : c("", !0),
281
- U.value === "campaigns" ? (_(), l("div", Ve, [(_(!0), l(a, null, y(q.value, (e, t) => (_(), l("div", {
282
- key: e.sessionCampaignName,
283
- class: "flex items-center justify-between px-6 py-3 text-sm hover:bg-muted/50"
284
- }, [u("div", He, [
285
- u("span", Ue, x(t + 1), 1),
286
- f(S(E), { class: "size-3.5 text-muted-foreground shrink-0" }),
287
- u("span", We, x(e.sessionCampaignName), 1)
288
- ]), u("div", Ge, [
289
- u("span", Ke, x(Z(e.sessions)) + " sessions", 1),
290
- u("span", qe, x(Z(e.totalUsers)) + " users", 1),
291
- u("span", Je, x(Q(e.engagementRate || 0)) + " eng.", 1)
292
- ])]))), 128)), q.value.length ? c("", !0) : (_(), l("div", Ye, "No campaign data. Use UTM parameters in your URLs to track campaigns."))])) : c("", !0)
293
- ]),
294
- _: 1
295
- })]),
296
- _: 1
297
- })], 64)) : (_(), s(o, {
298
- key: 0,
299
- class: "p-8 text-center"
300
- }, {
301
- default: w(() => [...r[1] ||= [u("p", { class: "text-lg font-medium" }, "Setup required", -1), u("p", { class: "text-sm text-muted-foreground mt-2" }, "Configure your GA4 property in module settings.", -1)]]),
302
- _: 1
303
- }))]);
304
- };
305
- }
306
- });
307
- //#endregion
308
- export { z as default };
@@ -1 +0,0 @@
1
- require(`./chunk-DQi1bQcV.js`);let e=require(`vue`),t=require(`@lucide/vue`);var n={class:`w-full`},r={key:0,class:`flex items-center gap-2 py-3`},i={key:1,class:`text-xs text-destructive py-2`},a={key:2,class:`rounded-xl border bg-background p-3 space-y-3`},o={class:`relative flex items-start gap-3`},s={class:`shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center`},c={class:`flex-1 min-w-0 pr-10`},l={class:`text-sm font-semibold truncate`},u={class:`text-xs text-muted-foreground`},d={key:0,class:`text-xs text-muted-foreground text-center py-2`},f={key:1,class:`space-y-2`},p={class:`flex items-center justify-between`},m={class:`text-xs font-medium`},h={key:0,class:`text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-amber-50 dark:bg-amber-900/20 text-amber-600 dark:text-amber-400 uppercase`},g={key:0,class:`flex items-center gap-1.5 text-xs text-red-500`},_={key:1,class:`space-y-0.5`},v={key:2,class:`text-xs text-muted-foreground`},y=(0,e.defineComponent)({__name:`AgendaOpeningHoursCard`,props:{toolName:{},projectSlug:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:[`submit`],setup(y,{emit:b}){let{$useModuleApi:x}=useNuxtApp(),S=y,C=b,w=x(S.instanceId),T=(0,e.ref)(!0),E=(0,e.ref)(null),D=(0,e.ref)(null),O=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];async function k(){let{agendaId:e,date:t}=S.resolvedArgs||{};if(!e||!t){E.value=`Agenda ID and date are required`,T.value=!1,A(`Error: ${E.value}`);return}T.value=!0,E.value=null;try{let n=await w.get(`/agendas/${e}/opening-hours?date=${t}`);D.value=n,A({agendaId:n.agendaId,serviceName:n.serviceName,date:n.date,resources:n.resources.map(e=>({resourceId:e.resourceId,resourceName:e.resourceName,isClosed:e.isClosed,hours:e.hours,isException:e.isException}))})}catch(e){E.value=e?.data?.statusMessage||e?.message||`Failed to load opening hours`,A(`Error loading opening hours: ${E.value}`)}finally{T.value=!1}}(0,e.onMounted)(()=>{k()});function A(e){S.status!==`completed`&&C(`submit`,e)}let j=(0,e.computed)(()=>{if(!D.value?.date)return``;let e=new Date(D.value.date+`T00:00:00`);return`${O[e.getDay()]}, ${e.toLocaleDateString(`en-US`,{month:`long`,day:`numeric`,year:`numeric`})}`});return(b,x)=>{let S=(0,e.resolveComponent)(`DropdownMenuTrigger`),C=(0,e.resolveComponent)(`NuxtLink`),w=(0,e.resolveComponent)(`DropdownMenuItem`),O=(0,e.resolveComponent)(`DropdownMenuContent`),k=(0,e.resolveComponent)(`DropdownMenu`);return(0,e.openBlock)(),(0,e.createElementBlock)(`div`,n,[(0,e.unref)(T)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,r,[(0,e.createVNode)((0,e.unref)(t.Loader2),{class:`size-4 animate-spin text-muted-foreground`}),x[0]||=(0,e.createElementVNode)(`span`,{class:`text-xs text-muted-foreground`},`Loading opening hours…`,-1)])):(0,e.unref)(E)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,i,(0,e.toDisplayString)((0,e.unref)(E)),1)):(0,e.unref)(D)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,a,[(0,e.createElementVNode)(`div`,o,[(0,e.createElementVNode)(`div`,s,[(0,e.createVNode)((0,e.unref)(t.CalendarDays),{class:`size-5 text-primary`})]),(0,e.createElementVNode)(`div`,c,[(0,e.createElementVNode)(`p`,l,(0,e.toDisplayString)((0,e.unref)(D).serviceName),1),(0,e.createElementVNode)(`p`,u,(0,e.toDisplayString)((0,e.unref)(j)),1)]),(0,e.createVNode)(k,null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)(S,{class:`absolute top-2 right-2`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Settings),{class:`size-4 text-muted-foreground hover:text-foreground transition-colors`})]),_:1}),(0,e.createVNode)(O,{align:`end`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(w,{"as-child":``},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(C,{to:`/projects/${y.projectSlug}/modules/${y.instanceId}/edit/${y.resolvedArgs.agendaId}/resources`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.CalendarCog),{class:`size-4`}),x[1]||=(0,e.createTextVNode)(` Regular hours `,-1)]),_:1},8,[`to`])]),_:1}),(0,e.createVNode)(w,{"as-child":``},{default:(0,e.withCtx)(()=>[(0,e.createVNode)(C,{to:`/projects/${y.projectSlug}/modules/${y.instanceId}/edit/${y.resolvedArgs.agendaId}/exceptions`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.CalendarCog),{class:`size-4`}),x[2]||=(0,e.createTextVNode)(` Closures & exceptions `,-1)]),_:1},8,[`to`])]),_:1})]),_:1})]),_:1})]),(0,e.unref)(D).resources.length===0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,d,` No active resources found for this agenda. `)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,f,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(D).resources,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.resourceId,class:`rounded-lg border px-3 py-2 space-y-1`},[(0,e.createElementVNode)(`div`,p,[(0,e.createElementVNode)(`span`,m,(0,e.toDisplayString)(n.resourceName),1),n.isException?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,h,` Exception `)):(0,e.createCommentVNode)(``,!0)]),n.isClosed?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,g,[(0,e.createVNode)((0,e.unref)(t.BanIcon),{class:`size-3`}),x[3]||=(0,e.createElementVNode)(`span`,null,`Closed`,-1)])):n.hours.length>0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,_,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(n.hours,(n,r)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:r,class:`flex items-center gap-1.5 text-xs text-muted-foreground`},[(0,e.createVNode)((0,e.unref)(t.Clock),{class:`size-3`}),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(n.start)+` – `+(0,e.toDisplayString)(n.end),1)]))),128))])):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,v,` No hours set `))]))),128))]))])):(0,e.createCommentVNode)(``,!0)])}}});exports.default=y;
@@ -1,133 +0,0 @@
1
- import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, onMounted as c, openBlock as l, ref as u, renderList as d, resolveComponent as f, toDisplayString as p, unref as m, withCtx as h } from "vue";
2
- import { BanIcon as g, CalendarCog as _, CalendarDays as v, Clock as y, Loader2 as b, Settings as x } from "@lucide/vue";
3
- //#region src/appointments/chat-components/AgendaOpeningHoursCard.vue?vue&type=script&setup=true&lang.ts
4
- var S = { class: "w-full" }, C = {
5
- key: 0,
6
- class: "flex items-center gap-2 py-3"
7
- }, w = {
8
- key: 1,
9
- class: "text-xs text-destructive py-2"
10
- }, T = {
11
- key: 2,
12
- class: "rounded-xl border bg-background p-3 space-y-3"
13
- }, E = { class: "relative flex items-start gap-3" }, D = { class: "shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center" }, O = { class: "flex-1 min-w-0 pr-10" }, k = { class: "text-sm font-semibold truncate" }, A = { class: "text-xs text-muted-foreground" }, j = {
14
- key: 0,
15
- class: "text-xs text-muted-foreground text-center py-2"
16
- }, M = {
17
- key: 1,
18
- class: "space-y-2"
19
- }, N = { class: "flex items-center justify-between" }, P = { class: "text-xs font-medium" }, F = {
20
- key: 0,
21
- class: "text-[10px] font-medium px-1.5 py-0.5 rounded-full bg-amber-50 dark:bg-amber-900/20 text-amber-600 dark:text-amber-400 uppercase"
22
- }, I = {
23
- key: 0,
24
- class: "flex items-center gap-1.5 text-xs text-red-500"
25
- }, L = {
26
- key: 1,
27
- class: "space-y-0.5"
28
- }, R = {
29
- key: 2,
30
- class: "text-xs text-muted-foreground"
31
- }, z = /* @__PURE__ */ s({
32
- __name: "AgendaOpeningHoursCard",
33
- props: {
34
- toolName: {},
35
- projectSlug: {},
36
- instanceId: {},
37
- instanceName: {},
38
- moduleType: {},
39
- resolvedArgs: {},
40
- status: {}
41
- },
42
- emits: ["submit"],
43
- setup(s, { emit: z }) {
44
- let { $useModuleApi: B } = useNuxtApp(), V = s, H = z, U = B(V.instanceId), W = u(!0), G = u(null), K = u(null), q = [
45
- "Sunday",
46
- "Monday",
47
- "Tuesday",
48
- "Wednesday",
49
- "Thursday",
50
- "Friday",
51
- "Saturday"
52
- ];
53
- async function J() {
54
- let { agendaId: e, date: t } = V.resolvedArgs || {};
55
- if (!e || !t) {
56
- G.value = "Agenda ID and date are required", W.value = !1, Y(`Error: ${G.value}`);
57
- return;
58
- }
59
- W.value = !0, G.value = null;
60
- try {
61
- let n = await U.get(`/agendas/${e}/opening-hours?date=${t}`);
62
- K.value = n, Y({
63
- agendaId: n.agendaId,
64
- serviceName: n.serviceName,
65
- date: n.date,
66
- resources: n.resources.map((e) => ({
67
- resourceId: e.resourceId,
68
- resourceName: e.resourceName,
69
- isClosed: e.isClosed,
70
- hours: e.hours,
71
- isException: e.isException
72
- }))
73
- });
74
- } catch (e) {
75
- G.value = e?.data?.statusMessage || e?.message || "Failed to load opening hours", Y(`Error loading opening hours: ${G.value}`);
76
- } finally {
77
- W.value = !1;
78
- }
79
- }
80
- c(() => {
81
- J();
82
- });
83
- function Y(e) {
84
- V.status !== "completed" && H("submit", e);
85
- }
86
- let X = t(() => {
87
- if (!K.value?.date) return "";
88
- let e = /* @__PURE__ */ new Date(K.value.date + "T00:00:00");
89
- return `${q[e.getDay()]}, ${e.toLocaleDateString("en-US", {
90
- month: "long",
91
- day: "numeric",
92
- year: "numeric"
93
- })}`;
94
- });
95
- return (t, c) => {
96
- let u = f("DropdownMenuTrigger"), z = f("NuxtLink"), B = f("DropdownMenuItem"), V = f("DropdownMenuContent"), H = f("DropdownMenu");
97
- return l(), r("div", S, [m(W) ? (l(), r("div", C, [o(m(b), { class: "size-4 animate-spin text-muted-foreground" }), c[0] ||= i("span", { class: "text-xs text-muted-foreground" }, "Loading opening hours…", -1)])) : m(G) ? (l(), r("div", w, p(m(G)), 1)) : m(K) ? (l(), r("div", T, [i("div", E, [
98
- i("div", D, [o(m(v), { class: "size-5 text-primary" })]),
99
- i("div", O, [i("p", k, p(m(K).serviceName), 1), i("p", A, p(m(X)), 1)]),
100
- o(H, null, {
101
- default: h(() => [o(u, { class: "absolute top-2 right-2" }, {
102
- default: h(() => [o(m(x), { class: "size-4 text-muted-foreground hover:text-foreground transition-colors" })]),
103
- _: 1
104
- }), o(V, { align: "end" }, {
105
- default: h(() => [o(B, { "as-child": "" }, {
106
- default: h(() => [o(z, { to: `/projects/${s.projectSlug}/modules/${s.instanceId}/edit/${s.resolvedArgs.agendaId}/resources` }, {
107
- default: h(() => [o(m(_), { class: "size-4" }), c[1] ||= a(" Regular hours ", -1)]),
108
- _: 1
109
- }, 8, ["to"])]),
110
- _: 1
111
- }), o(B, { "as-child": "" }, {
112
- default: h(() => [o(z, { to: `/projects/${s.projectSlug}/modules/${s.instanceId}/edit/${s.resolvedArgs.agendaId}/exceptions` }, {
113
- default: h(() => [o(m(_), { class: "size-4" }), c[2] ||= a(" Closures & exceptions ", -1)]),
114
- _: 1
115
- }, 8, ["to"])]),
116
- _: 1
117
- })]),
118
- _: 1
119
- })]),
120
- _: 1
121
- })
122
- ]), m(K).resources.length === 0 ? (l(), r("div", j, " No active resources found for this agenda. ")) : (l(), r("div", M, [(l(!0), r(e, null, d(m(K).resources, (t) => (l(), r("div", {
123
- key: t.resourceId,
124
- class: "rounded-lg border px-3 py-2 space-y-1"
125
- }, [i("div", N, [i("span", P, p(t.resourceName), 1), t.isException ? (l(), r("span", F, " Exception ")) : n("", !0)]), t.isClosed ? (l(), r("div", I, [o(m(g), { class: "size-3" }), c[3] ||= i("span", null, "Closed", -1)])) : t.hours.length > 0 ? (l(), r("div", L, [(l(!0), r(e, null, d(t.hours, (e, t) => (l(), r("div", {
126
- key: t,
127
- class: "flex items-center gap-1.5 text-xs text-muted-foreground"
128
- }, [o(m(y), { class: "size-3" }), i("span", null, p(e.start) + " – " + p(e.end), 1)]))), 128))])) : (l(), r("div", R, " No hours set "))]))), 128))]))])) : n("", !0)]);
129
- };
130
- }
131
- });
132
- //#endregion
133
- export { z as default };
@@ -1 +0,0 @@
1
- require(`./chunk-DQi1bQcV.js`);let e=require(`vue`),t=require(`@lucide/vue`);var n={class:`w-full`},r={key:0,class:`flex items-center gap-2 py-3`},i={key:1,class:`text-xs text-destructive py-2`},a={key:2,class:`rounded-xl border bg-background p-4 text-center`},o={key:3,class:`space-y-3`},s={class:`flex items-start gap-3`},c={class:`shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center`},l={class:`flex-1 min-w-0`},u={class:`text-sm font-semibold truncate`},d={class:`flex items-center gap-2 mt-1 flex-wrap`},f={key:0,class:`text-xs font-medium`},p={class:`grid grid-cols-2 gap-2 text-xs text-muted-foreground`},m={class:`flex items-center gap-1.5`},h={class:`truncate`},g={class:`flex items-center gap-1.5`},_={class:`flex items-center gap-1.5`},v={class:`flex items-center gap-1.5`},y=(0,e.defineComponent)({__name:`AppointmentDetailsCard`,props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:[`submit`],setup(y,{emit:b}){let{$useRoute:x,$useModuleApi:S}=useNuxtApp(),C=y,w=b,T=x(),E=(0,e.computed)(()=>T.params.slug),D=S(C.instanceId),O=(0,e.ref)(!0),k=(0,e.ref)(null),A=(0,e.ref)([]);async function j(){let{name:e,email:t,date:n}=C.resolvedArgs||{};if(!n){k.value=`No date provided`,O.value=!1;return}O.value=!0,k.value=null;try{let r=new URLSearchParams;e&&r.set(`name`,e),t&&r.set(`email`,t),n&&r.set(`date`,n),A.value=(await D.get(`/appointments/find?${r.toString()}`)).appointments||[],M({count:A.value.length,appointments:A.value.map(e=>({orderId:e.orderId,reservationId:e.reservationId,customerName:`${e.customerInfo?.firstName||``} ${e.customerInfo?.lastName||``}`.trim(),email:e.customerInfo?.email,date:e.date,startTime:e.startTime,endTime:e.endTime,spots:e.spots,status:e.reservationStatus||e.status,price:e.reservationPrice}))})}catch(e){k.value=e?.data?.statusMessage||e?.message||`Failed to find appointment`,M(`Error finding appointment: ${k.value}`)}finally{O.value=!1}}(0,e.onMounted)(()=>{j()});function M(e){C.status!==`completed`&&w(`submit`,e)}let N=e=>{switch(e){case`approved`:return`text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20`;case`needs_approval`:return`text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20`;case`rejected`:case`cancelled`:return`text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20`;default:return`text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20`}},P=e=>{switch(e){case`approved`:return`Approved`;case`needs_approval`:return`Needs Approval`;case`rejected`:return`Rejected`;case`cancelled`:return`Cancelled`;case`confirmed`:return`Confirmed`;default:return e||`Pending`}},F=e=>e==null?``:`€${e.toFixed(2)}`;return(b,x)=>{let S=(0,e.resolveComponent)(`NuxtLink`);return(0,e.openBlock)(),(0,e.createElementBlock)(`div`,n,[(0,e.unref)(O)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,r,[(0,e.createVNode)((0,e.unref)(t.Loader2),{class:`size-4 animate-spin text-muted-foreground`}),x[0]||=(0,e.createElementVNode)(`span`,{class:`text-xs text-muted-foreground`},`Searching appointments…`,-1)])):(0,e.unref)(k)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,i,(0,e.toDisplayString)((0,e.unref)(k)),1)):(0,e.unref)(A).length===0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,a,[(0,e.createVNode)((0,e.unref)(t.CalendarDays),{class:`size-8 text-muted-foreground mx-auto mb-2`}),x[1]||=(0,e.createElementVNode)(`p`,{class:`text-sm text-muted-foreground`},`No appointments found for the given criteria.`,-1)])):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,o,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(A),n=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:n.reservationId||n.orderId,class:`rounded-xl border bg-background p-3 space-y-3`},[(0,e.createElementVNode)(`div`,s,[(0,e.createElementVNode)(`div`,c,[(0,e.createVNode)((0,e.unref)(t.CalendarDays),{class:`size-5 text-primary`})]),(0,e.createElementVNode)(`div`,l,[(0,e.createElementVNode)(`p`,u,(0,e.toDisplayString)(n.customerInfo?.firstName)+` `+(0,e.toDisplayString)(n.customerInfo?.lastName),1),(0,e.createElementVNode)(`div`,d,[(0,e.createElementVNode)(`span`,{class:(0,e.normalizeClass)([`text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase`,N(n.reservationStatus||n.status)])},(0,e.toDisplayString)(P(n.reservationStatus||n.status)),3),n.reservationPrice==null?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,f,(0,e.toDisplayString)(F(n.reservationPrice)),1))])])]),(0,e.createElementVNode)(`div`,p,[(0,e.createElementVNode)(`div`,m,[(0,e.createVNode)((0,e.unref)(t.Mail),{class:`size-3`}),(0,e.createElementVNode)(`span`,h,(0,e.toDisplayString)(n.customerInfo?.email||`—`),1)]),(0,e.createElementVNode)(`div`,g,[(0,e.createVNode)((0,e.unref)(t.CalendarDays),{class:`size-3`}),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(n.date),1)]),(0,e.createElementVNode)(`div`,_,[(0,e.createVNode)((0,e.unref)(t.Clock),{class:`size-3`}),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(n.startTime)+` – `+(0,e.toDisplayString)(n.endTime),1)]),(0,e.createElementVNode)(`div`,v,[(0,e.createVNode)((0,e.unref)(t.Users),{class:`size-3`}),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(n.spots||1)+` `+(0,e.toDisplayString)((n.spots||1)===1?`spot`:`spots`),1)])]),(0,e.createVNode)(S,{to:`/projects/${(0,e.unref)(E)}/modules/${y.instanceId}`,class:`inline-flex items-center gap-1.5 text-xs text-primary hover:underline`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.ExternalLink),{class:`size-3`}),x[2]||=(0,e.createTextVNode)(` Open in agenda `,-1)]),_:1},8,[`to`])]))),128))]))])}}});exports.default=y;