@oneclick.dev/cms-core-modules 0.0.105 → 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 (574) 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/composables/useHorizontalScroll.d.ts +20 -0
  158. package/dist/src/appointments/index.d.ts +9 -12
  159. package/dist/src/appointments/metadata.d.ts +1 -1
  160. package/dist/src/appointments/routes.d.ts +3 -6
  161. package/dist/src/contentManager/components/content-editor/tiptap-extensions/LockBlocks.d.ts +15 -0
  162. package/dist/src/contentManager/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +4 -1
  163. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +12 -132
  164. package/dist/src/contentManager/index.d.ts +5 -14
  165. package/dist/src/contentManager/metadata.d.ts +1 -1
  166. package/dist/src/contentManager/routes.d.ts +3 -12
  167. package/dist/src/custom/index.d.ts +2 -2
  168. package/dist/src/custom/routes.d.ts +1 -1
  169. package/dist/src/googleAnalytics/index.d.ts +10 -10
  170. package/dist/src/googleAnalytics/routes.d.ts +1 -1
  171. package/dist/src/lib/interpolation.d.ts +6 -0
  172. package/dist/src/mailTemplates/index.d.ts +3 -3
  173. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  174. package/dist/src/mailTemplates/routes.d.ts +1 -1
  175. package/dist/src/productCollections/index.d.ts +3 -3
  176. package/dist/src/productCollections/metadata.d.ts +1 -1
  177. package/dist/src/productCollections/routes.d.ts +1 -1
  178. package/dist/src/products/index.d.ts +4 -4
  179. package/dist/src/products/metadata.d.ts +1 -1
  180. package/dist/src/products/routes.d.ts +1 -1
  181. package/dist/src/promoCodes/index.d.ts +3 -3
  182. package/dist/src/promoCodes/metadata.d.ts +1 -1
  183. package/dist/src/promoCodes/routes.d.ts +1 -1
  184. package/dist/src/push-notifications/index.d.ts +3 -3
  185. package/dist/src/push-notifications/metadata.d.ts +1 -1
  186. package/dist/src/push-notifications/routes.d.ts +1 -1
  187. package/dist/src/shippingOptions/index.d.ts +3 -3
  188. package/dist/src/shippingOptions/metadata.d.ts +1 -1
  189. package/dist/src/shippingOptions/routes.d.ts +1 -1
  190. package/dist/src/table/flow-builder-extensions/row-item.d.ts +3 -17
  191. package/dist/src/table/index.d.ts +2 -2
  192. package/dist/src/table/routes.d.ts +1 -1
  193. package/dist/src/types/index.d.ts +6 -0
  194. package/dist/src/vue-shim.d.ts +7 -0
  195. package/dist/table-DWw0fs3S.js +1 -0
  196. package/dist/table-LXt5DQOL.mjs +23 -0
  197. package/dist/utils-CVIHqQsU.js +3 -0
  198. package/dist/utils-h3owcMtS.mjs +37 -0
  199. package/dist/vee-validate-zod-BmXMJo8W.js +1 -0
  200. package/dist/vee-validate-zod-D9dZzbWZ.mjs +4985 -0
  201. package/dist/xy-container-CuQSwrtB.mjs +3180 -0
  202. package/dist/xy-container-_6YpscZh.js +158 -0
  203. package/package.json +55 -55
  204. package/dist/Acquisition-Br1Pfny3.js +0 -1
  205. package/dist/Acquisition-CPlZzUBo.mjs +0 -400
  206. package/dist/AgendaOpeningHoursCard-B7ROIPWw.js +0 -1
  207. package/dist/AgendaOpeningHoursCard-Cp4wxUeK.mjs +0 -172
  208. package/dist/AppointmentDetailsCard-33WpATpV.mjs +0 -161
  209. package/dist/AppointmentDetailsCard-DpLM5IrB.js +0 -1
  210. package/dist/AppointmentEditor-BeOtYV6u.mjs +0 -196
  211. package/dist/AppointmentEditor-CaTfbkIf.js +0 -1
  212. package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
  213. package/dist/AppointmentListTable-Dieu9US_.js +0 -1
  214. package/dist/Audience-BfkrmBuQ.js +0 -1
  215. package/dist/Audience-DTblSAiL.mjs +0 -489
  216. package/dist/Components-C83O-xlF.mjs +0 -623
  217. package/dist/Components-DXbx0RLV.js +0 -1
  218. package/dist/Content-BHr_rPVY.js +0 -1
  219. package/dist/Content-CYOZKvWK.mjs +0 -358
  220. package/dist/ContentEditor-B1nfKG_5.mjs +0 -30676
  221. package/dist/ContentEditor-DdFU8piH.js +0 -462
  222. package/dist/CountryBreakdownCard-D7BK3nRD.js +0 -1
  223. package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +0 -196
  224. package/dist/Create-BRBh0xjM.mjs +0 -1247
  225. package/dist/Create-qPeQxkdl.js +0 -1
  226. package/dist/DateFormatter-Bw-87W31.mjs +0 -734
  227. package/dist/DateFormatter-CYAD4GBN.js +0 -1
  228. package/dist/Detail-Byk781b4.mjs +0 -26
  229. package/dist/Detail-C1Blq61w.mjs +0 -585
  230. package/dist/Detail-C857g62L.js +0 -1
  231. package/dist/Detail-C8wQiDcv.js +0 -1
  232. package/dist/Detail-CPqug27l.js +0 -1
  233. package/dist/Detail-CjuhjPby.js +0 -1
  234. package/dist/Detail-CtItxMX4.mjs +0 -649
  235. package/dist/Detail-CujdFApD.mjs +0 -379
  236. package/dist/Detail-Dnpnmy4-.mjs +0 -3477
  237. package/dist/Detail-mvSGbnFU.js +0 -1
  238. package/dist/DeviceBreakdownCard-DRhQ9ufG.js +0 -1
  239. package/dist/DeviceBreakdownCard-W1frLe0L.mjs +0 -159
  240. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +0 -76
  241. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +0 -1
  242. package/dist/Entries-BaS6H6ak.js +0 -1
  243. package/dist/Entries-C8UJkrVC.mjs +0 -728
  244. package/dist/Find-B24ZEhYM.mjs +0 -229
  245. package/dist/Find-D4Qa45qC.js +0 -1
  246. package/dist/GlobalStyling-C9VthHWK.mjs +0 -1588
  247. package/dist/GlobalStyling-CnSlXkZc.js +0 -25
  248. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-9Q7TMm4u.mjs +0 -401
  249. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-DiNzGl-q.js +0 -1
  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-BYMrsZjM.mjs +0 -332
  254. package/dist/Overview-BbvfH1u-.js +0 -1
  255. package/dist/Overview-BrCwozey.js +0 -1
  256. package/dist/Overview-CIa1E-HH.mjs +0 -178
  257. package/dist/Overview-CpHhuiaV.js +0 -1
  258. package/dist/Overview-DAxCu9XC.js +0 -1
  259. package/dist/Overview-D_T3K6aq.mjs +0 -632
  260. package/dist/Overview-Su8ZUbMs.mjs +0 -26
  261. package/dist/Overview-T-lsy3UZ.js +0 -1
  262. package/dist/Overview-kaMhsIUq.mjs +0 -567
  263. package/dist/Overview-t0pG5xjA.js +0 -1
  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-Cz_22Oce.mjs +0 -2927
  271. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-DPPNc-Z5.js +0 -349
  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-09sEOu3G.js +0 -1
  277. package/dist/SeoHealth-BzcWd_w7.mjs +0 -615
  278. package/dist/TableView-CPAw3h8g.js +0 -4
  279. package/dist/TableView-DXmEF6pY.mjs +0 -6143
  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-BNG05SAq.js +0 -1
  293. package/dist/agenda-D1RxMxBS.mjs +0 -1152
  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-BWDwEd8D.mjs +0 -24
  309. package/dist/index-BfBBm9uY.mjs +0 -24
  310. package/dist/index-Bkq58CeQ.mjs +0 -22
  311. package/dist/index-BtujSJeg.js +0 -35
  312. package/dist/index-BuzLn4Km.js +0 -54
  313. package/dist/index-C4YUVWzJ.js +0 -75
  314. package/dist/index-CJQQBRLY.js +0 -1
  315. package/dist/index-CMk3uhUt.mjs +0 -3837
  316. package/dist/index-CQkOH2_3.mjs +0 -24
  317. package/dist/index-CSxYBeVA.js +0 -1
  318. package/dist/index-CU-tbS5W.mjs +0 -24
  319. package/dist/index-CZn2nDLv.mjs +0 -34
  320. package/dist/index-CkiNvRzs.js +0 -1
  321. package/dist/index-Co4ON2Di.js +0 -1
  322. package/dist/index-Cpnn_Pxd.mjs +0 -24
  323. package/dist/index-CrgzoTyR.mjs +0 -110
  324. package/dist/index-CsVeM3PA.mjs +0 -24
  325. package/dist/index-CwqrAU-H.js +0 -1
  326. package/dist/index-CxETuRsG.js +0 -1
  327. package/dist/index-Cz-baGax.js +0 -1
  328. package/dist/index-D3L8WAJI.js +0 -58
  329. package/dist/index-DFQGVHTs.js +0 -1
  330. package/dist/index-DPd3waTN.js +0 -1
  331. package/dist/index-DQYBP8Js.js +0 -158
  332. package/dist/index-DRqJOqUR.mjs +0 -3484
  333. package/dist/index-DjDCYQ_6.mjs +0 -441
  334. package/dist/index-DjWuIBxh.js +0 -1
  335. package/dist/index-Dnn2SCSl.js +0 -1
  336. package/dist/index-Dpl9sU6a.mjs +0 -12
  337. package/dist/index-DrXxXB2F.mjs +0 -138
  338. package/dist/index-MYWjg0zi.mjs +0 -176
  339. package/dist/index-R2oUDsjx.js +0 -1
  340. package/dist/index-RLz1QPrf.mjs +0 -203
  341. package/dist/index-UtjLbLw-.js +0 -1
  342. package/dist/index-_2lRVt_k.mjs +0 -2942
  343. package/dist/index-cOnxXTbF.mjs +0 -24
  344. package/dist/index-dOdMm1pV.mjs +0 -1105
  345. package/dist/index-hlylYYgy.mjs +0 -24
  346. package/dist/index-ijdf0d9-.js +0 -1
  347. package/dist/index-p5Uqu8c2.mjs +0 -1438
  348. package/dist/interpolation-DEDSLETn.mjs +0 -128
  349. package/dist/interpolation-DERg6Lwt.js +0 -1
  350. package/dist/orders-CzzcFQha.mjs +0 -559
  351. package/dist/orders-ETtbA4aQ.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 -127
  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/RejectReservationDialog.vue.d.ts +0 -8
  375. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +0 -82
  376. package/dist/src/appointments/components/edit/EventDialog/TimelineChart.vue.d.ts +0 -24
  377. package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +0 -4
  378. package/dist/src/appointments/components/edit/EventTimeIndicator.vue.d.ts +0 -12
  379. package/dist/src/appointments/components/edit/EventTimeline.vue.d.ts +0 -48
  380. package/dist/src/appointments/components/edit/EventView.vue.d.ts +0 -9
  381. package/dist/src/appointments/components/edit/ExceptionDialog.vue.d.ts +0 -29
  382. package/dist/src/appointments/components/edit/MetadataSchemaEditorDialog.vue.d.ts +0 -12
  383. package/dist/src/appointments/components/edit/NewReservationDialog/NewReservationDialog.vue.d.ts +0 -2
  384. package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +0 -21
  385. package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +0 -22
  386. package/dist/src/appointments/components/edit/PaymentAddons/AddonList.vue.d.ts +0 -5
  387. package/dist/src/appointments/components/edit/PaymentAddons/index.vue.d.ts +0 -15
  388. package/dist/src/appointments/components/edit/ResourceEditorDialog.vue.d.ts +0 -13
  389. package/dist/src/appointments/components/edit/dashboard/BookingsList.vue.d.ts +0 -110
  390. package/dist/src/appointments/components/edit/dashboard/Timeline.vue.d.ts +0 -34
  391. package/dist/src/appointments/components/edit/dashboard/timeline/ResourceSelector.vue.d.ts +0 -50
  392. package/dist/src/appointments/index.vue.d.ts +0 -22
  393. package/dist/src/appointments/pages/Overview.vue.d.ts +0 -4
  394. package/dist/src/appointments/pages/create/index.vue.d.ts +0 -2
  395. package/dist/src/appointments/pages/create/regular.vue.d.ts +0 -6
  396. package/dist/src/appointments/pages/edit/agenda.vue.d.ts +0 -4
  397. package/dist/src/appointments/pages/edit/availability.vue.d.ts +0 -2
  398. package/dist/src/appointments/pages/edit/booking-data.vue.d.ts +0 -65
  399. package/dist/src/appointments/pages/edit/index.vue.d.ts +0 -2
  400. package/dist/src/appointments/pages/edit/orders.vue.d.ts +0 -98
  401. package/dist/src/appointments/pages/edit/payment.vue.d.ts +0 -2
  402. package/dist/src/appointments/pages/edit/resources.vue.d.ts +0 -28
  403. package/dist/src/contentManager/components/components/ComponentDialog.vue.d.ts +0 -12
  404. package/dist/src/contentManager/components/components/ComponentGridItem.vue.d.ts +0 -16
  405. package/dist/src/contentManager/components/content-editor/ApiDocs.vue.d.ts +0 -2
  406. package/dist/src/contentManager/components/content-editor/ContentLayout.vue.d.ts +0 -49
  407. package/dist/src/contentManager/components/content-editor/ContentSettings.vue.d.ts +0 -24
  408. package/dist/src/contentManager/components/content-editor/ContentStructuredContentSections.vue.d.ts +0 -4
  409. package/dist/src/contentManager/components/content-editor/Header.vue.d.ts +0 -64
  410. package/dist/src/contentManager/components/content-editor/LivePreviewWrapper.vue.d.ts +0 -53
  411. package/dist/src/contentManager/components/content-editor/Locales.vue.d.ts +0 -44
  412. package/dist/src/contentManager/components/content-editor/NewSectionDialog.vue.d.ts +0 -21
  413. package/dist/src/contentManager/components/content-editor/PageSettings.vue.d.ts +0 -2
  414. package/dist/src/contentManager/components/content-editor/SEO.vue.d.ts +0 -14
  415. package/dist/src/contentManager/components/content-editor/SidebarSectionWrapper.vue.d.ts +0 -39
  416. package/dist/src/contentManager/components/content-editor/Status.vue.d.ts +0 -2
  417. package/dist/src/contentManager/components/content-editor/Versions.vue.d.ts +0 -63
  418. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Button.vue.d.ts +0 -94
  419. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Card.vue.d.ts +0 -92
  420. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Column.vue.d.ts +0 -92
  421. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.vue.d.ts +0 -92
  422. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Divider.vue.d.ts +0 -92
  423. package/dist/src/contentManager/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +0 -94
  424. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Heading.vue.d.ts +0 -92
  425. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Image.vue.d.ts +0 -92
  426. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Map.vue.d.ts +0 -92
  427. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +0 -92
  428. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.vue.d.ts +0 -115
  429. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.vue.d.ts +0 -115
  430. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Video.vue.d.ts +0 -92
  431. package/dist/src/contentManager/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +0 -92
  432. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +0 -108
  433. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +0 -20
  434. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +0 -104
  435. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +0 -19
  436. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +0 -19
  437. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +0 -29
  438. package/dist/src/contentManager/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +0 -13
  439. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +0 -19
  440. package/dist/src/contentManager/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +0 -8
  441. package/dist/src/contentManager/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +0 -47
  442. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +0 -6
  443. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +0 -17
  444. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +0 -13
  445. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +0 -13
  446. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +0 -13
  447. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +0 -13
  448. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +0 -13
  449. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +0 -13
  450. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +0 -13
  451. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +0 -13
  452. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +0 -13
  453. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +0 -13
  454. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +0 -13
  455. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +0 -13
  456. package/dist/src/contentManager/components/overview/CollectionDialog.vue.d.ts +0 -30
  457. package/dist/src/contentManager/components/overview/CollectionsGridView.vue.d.ts +0 -18
  458. package/dist/src/contentManager/components/overview/ContentEntryContextMenu.vue.d.ts +0 -27
  459. package/dist/src/contentManager/components/overview/FilterPopover.vue.d.ts +0 -2
  460. package/dist/src/contentManager/components/overview/ListView.vue.d.ts +0 -12
  461. package/dist/src/contentManager/components/styling/ButtonStyleDialog.vue.d.ts +0 -24
  462. package/dist/src/contentManager/components/styling/CardStyleDialog.vue.d.ts +0 -24
  463. package/dist/src/contentManager/components/styling/SectionStyleDialog.vue.d.ts +0 -24
  464. package/dist/src/contentManager/index.vue.d.ts +0 -22
  465. package/dist/src/contentManager/pages/Components.vue.d.ts +0 -27
  466. package/dist/src/contentManager/pages/ContentEditor.vue.d.ts +0 -14
  467. package/dist/src/contentManager/pages/Entries.vue.d.ts +0 -16
  468. package/dist/src/contentManager/pages/GlobalStyling.vue.d.ts +0 -117
  469. package/dist/src/contentManager/pages/Overview.vue.d.ts +0 -57
  470. package/dist/src/custom/index.vue.d.ts +0 -2
  471. package/dist/src/custom/pages/View.vue.d.ts +0 -2
  472. package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +0 -14
  473. package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +0 -14
  474. package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +0 -14
  475. package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +0 -14
  476. package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +0 -14
  477. package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +0 -14
  478. package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +0 -14
  479. package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +0 -14
  480. package/dist/src/googleAnalytics/components/seo-health/SeoClicksChart.vue.d.ts +0 -5
  481. package/dist/src/googleAnalytics/components/seo-health/SeoImpressionsChart.vue.d.ts +0 -5
  482. package/dist/src/googleAnalytics/components/seo-health/SeoKeywordsTab.vue.d.ts +0 -5
  483. package/dist/src/googleAnalytics/components/seo-health/SeoKpiCards.vue.d.ts +0 -10
  484. package/dist/src/googleAnalytics/components/seo-health/SeoMappingTab.vue.d.ts +0 -5
  485. package/dist/src/googleAnalytics/components/seo-health/SeoPagesTab.vue.d.ts +0 -5
  486. package/dist/src/googleAnalytics/components/seo-health/SeoRankingDistribution.vue.d.ts +0 -5
  487. package/dist/src/googleAnalytics/index.vue.d.ts +0 -2
  488. package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +0 -2
  489. package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +0 -2
  490. package/dist/src/googleAnalytics/pages/Content.vue.d.ts +0 -2
  491. package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +0 -2
  492. package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +0 -2
  493. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +0 -2
  494. package/dist/src/mailTemplates/index.vue.d.ts +0 -22
  495. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +0 -14
  496. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +0 -14
  497. package/dist/src/productCollections/components/detail/Main.vue.d.ts +0 -2
  498. package/dist/src/productCollections/components/detail/SEO.vue.d.ts +0 -2
  499. package/dist/src/productCollections/components/detail/Status.vue.d.ts +0 -2
  500. package/dist/src/productCollections/components/overview/ListView.vue.d.ts +0 -12
  501. package/dist/src/productCollections/index.vue.d.ts +0 -22
  502. package/dist/src/productCollections/pages/Detail.vue.d.ts +0 -14
  503. package/dist/src/productCollections/pages/Overview.vue.d.ts +0 -16
  504. package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +0 -14
  505. package/dist/src/products/components/detail/Collections.vue.d.ts +0 -14
  506. package/dist/src/products/components/detail/Inventory.vue.d.ts +0 -2
  507. package/dist/src/products/components/detail/Main.vue.d.ts +0 -2
  508. package/dist/src/products/components/detail/NewSection.vue.d.ts +0 -2
  509. package/dist/src/products/components/detail/Price.vue.d.ts +0 -2
  510. package/dist/src/products/components/detail/SEO.vue.d.ts +0 -2
  511. package/dist/src/products/components/detail/Shipping.vue.d.ts +0 -2
  512. package/dist/src/products/components/detail/Status.vue.d.ts +0 -2
  513. package/dist/src/products/components/detail/price/UnitPriceDialog.vue.d.ts +0 -17
  514. package/dist/src/products/components/detail/variants/Option.vue.d.ts +0 -33
  515. package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +0 -38
  516. package/dist/src/products/components/overview/FilterPopover.vue.d.ts +0 -2
  517. package/dist/src/products/components/overview/GridView.vue.d.ts +0 -12
  518. package/dist/src/products/components/overview/ListView.vue.d.ts +0 -12
  519. package/dist/src/products/components/overview/ProductContextMenu.vue.d.ts +0 -27
  520. package/dist/src/products/index.vue.d.ts +0 -22
  521. package/dist/src/products/pages/Detail.vue.d.ts +0 -14
  522. package/dist/src/products/pages/Overview.vue.d.ts +0 -16
  523. package/dist/src/promoCodes/components/create/DateRange.vue.d.ts +0 -2
  524. package/dist/src/promoCodes/components/create/MultiCodes.vue.d.ts +0 -2
  525. package/dist/src/promoCodes/components/create/Note.vue.d.ts +0 -2
  526. package/dist/src/promoCodes/components/create/SingleCode.vue.d.ts +0 -2
  527. package/dist/src/promoCodes/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +0 -6
  528. package/dist/src/promoCodes/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +0 -18
  529. package/dist/src/promoCodes/components/create/TypeAndValue/index.vue.d.ts +0 -2
  530. package/dist/src/promoCodes/index.vue.d.ts +0 -22
  531. package/dist/src/promoCodes/pages/Create.vue.d.ts +0 -16
  532. package/dist/src/promoCodes/pages/Detail.vue.d.ts +0 -14
  533. package/dist/src/promoCodes/pages/Find.vue.d.ts +0 -16
  534. package/dist/src/push-notifications/components/PreviewAndroid.vue.d.ts +0 -28
  535. package/dist/src/push-notifications/components/PreviewIPhone.vue.d.ts +0 -28
  536. package/dist/src/push-notifications/components/PushPreview.vue.d.ts +0 -28
  537. package/dist/src/push-notifications/index.vue.d.ts +0 -22
  538. package/dist/src/push-notifications/pages/SendPush.vue.d.ts +0 -14
  539. package/dist/src/shared/BrandLogo.vue.d.ts +0 -12
  540. package/dist/src/shared/DrawerToggle.vue.d.ts +0 -60
  541. package/dist/src/shared/VerticalToggle.vue.d.ts +0 -60
  542. package/dist/src/shippingOptions/components/detail/Condition.vue.d.ts +0 -2
  543. package/dist/src/shippingOptions/components/detail/Countries.vue.d.ts +0 -2
  544. package/dist/src/shippingOptions/components/detail/Example.vue.d.ts +0 -2
  545. package/dist/src/shippingOptions/components/detail/Main.vue.d.ts +0 -2
  546. package/dist/src/shippingOptions/components/overview/ListView.vue.d.ts +0 -12
  547. package/dist/src/shippingOptions/index.vue.d.ts +0 -22
  548. package/dist/src/shippingOptions/pages/Detail.vue.d.ts +0 -14
  549. package/dist/src/shippingOptions/pages/Overview.vue.d.ts +0 -16
  550. package/dist/src/table/components/DataTable.vue.d.ts +0 -18
  551. package/dist/src/table/components/DataTableAction.vue.d.ts +0 -14
  552. package/dist/src/table/components/DataTableMobileRowActionDrawer.vue.d.ts +0 -4
  553. package/dist/src/table/components/DataTablePagination.vue.d.ts +0 -6
  554. package/dist/src/table/components/actions/ActionDialog.vue.d.ts +0 -19
  555. package/dist/src/table/components/actions/CtaActionDialog.vue.d.ts +0 -4
  556. package/dist/src/table/components/columns/ColumnDropdown.vue.d.ts +0 -2
  557. package/dist/src/table/components/columns/ColumnEditorDialog.vue.d.ts +0 -34
  558. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +0 -12
  559. package/dist/src/table/components/date-range-filter/DateRangeFilter.vue.d.ts +0 -2
  560. package/dist/src/table/components/date-range-filter/DateRangeSettingsDialog.vue.d.ts +0 -27
  561. package/dist/src/table/components/filters/FilterDialog.vue.d.ts +0 -12
  562. package/dist/src/table/components/filters/Filters.vue.d.ts +0 -27
  563. package/dist/src/table/components/search/Search.vue.d.ts +0 -2
  564. package/dist/src/table/components/sort/SortMode.vue.d.ts +0 -2
  565. package/dist/src/table/components/sort/SortModeSettingsDialog.vue.d.ts +0 -18
  566. package/dist/src/table/components/stats/StatDialog.vue.d.ts +0 -12
  567. package/dist/src/table/components/stats/Stats.vue.d.ts +0 -27
  568. package/dist/src/table/flow-builder-extensions/TableRowEditor.vue.d.ts +0 -16
  569. package/dist/src/table/index.vue.d.ts +0 -22
  570. package/dist/src/table/pages/TableView.vue.d.ts +0 -54
  571. package/dist/utils-CanmrIWO.mjs +0 -47
  572. package/dist/utils-Yd6F5mea.js +0 -3
  573. package/dist/vee-validate-zod-ByykgYKJ.js +0 -1
  574. package/dist/vee-validate-zod-CcOwoF6y.mjs +0 -4402
@@ -1,161 +0,0 @@
1
- import { defineComponent as T, computed as L, ref as x, onMounted as j, resolveComponent as P, openBlock as d, createElementBlock as l, unref as r, createVNode as i, createElementVNode as t, toDisplayString as a, Fragment as E, renderList as M, normalizeClass as V, createCommentVNode as D, withCtx as F, createTextVNode as R } from "vue";
2
- import { Loader2 as B, CalendarDays as g, Mail as U, Clock as O, Users as q, ExternalLink as G } from "lucide-vue-next";
3
- const H = { class: "w-full" }, J = {
4
- key: 0,
5
- class: "flex items-center gap-2 py-3"
6
- }, K = {
7
- key: 1,
8
- class: "text-xs text-destructive py-2"
9
- }, Q = {
10
- key: 2,
11
- class: "rounded-xl border bg-background p-4 text-center"
12
- }, W = {
13
- key: 3,
14
- class: "space-y-3"
15
- }, X = { class: "flex items-start gap-3" }, Y = { class: "shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center" }, Z = { class: "flex-1 min-w-0" }, ee = { class: "text-sm font-semibold truncate" }, te = { class: "flex items-center gap-2 mt-1 flex-wrap" }, se = {
16
- key: 0,
17
- class: "text-xs font-medium"
18
- }, re = { class: "grid grid-cols-2 gap-2 text-xs text-muted-foreground" }, ne = { class: "flex items-center gap-1.5" }, ae = { class: "truncate" }, oe = { class: "flex items-center gap-1.5" }, ie = { class: "flex items-center gap-1.5" }, de = { class: "flex items-center gap-1.5" }, ue = /* @__PURE__ */ T({
19
- __name: "AppointmentDetailsCard",
20
- props: {
21
- toolName: {},
22
- instanceId: {},
23
- instanceName: {},
24
- moduleType: {},
25
- resolvedArgs: {},
26
- status: {}
27
- },
28
- emits: ["submit"],
29
- setup(v, { emit: b }) {
30
- const { $useRoute: h, $useModuleApi: k } = useNuxtApp(), f = v, y = b, N = h(), I = L(() => N.params.slug), C = k(f.instanceId), p = x(!0), c = x(null), u = x([]);
31
- async function z() {
32
- const { name: s, email: o, date: m } = f.resolvedArgs || {};
33
- if (!m) {
34
- c.value = "No date provided", p.value = !1;
35
- return;
36
- }
37
- p.value = !0, c.value = null;
38
- try {
39
- const e = new URLSearchParams();
40
- s && e.set("name", s), o && e.set("email", o), m && e.set("date", m);
41
- const A = await C.get(`/appointments/find?${e.toString()}`);
42
- u.value = A.appointments || [], _({
43
- count: u.value.length,
44
- appointments: u.value.map((n) => ({
45
- orderId: n.orderId,
46
- reservationId: n.reservationId,
47
- customerName: `${n.customerInfo?.firstName || ""} ${n.customerInfo?.lastName || ""}`.trim(),
48
- email: n.customerInfo?.email,
49
- date: n.date,
50
- startTime: n.startTime,
51
- endTime: n.endTime,
52
- spots: n.spots,
53
- status: n.reservationStatus || n.status,
54
- price: n.reservationPrice
55
- }))
56
- });
57
- } catch (e) {
58
- c.value = e?.data?.statusMessage || e?.message || "Failed to find appointment", _(`Error finding appointment: ${c.value}`);
59
- } finally {
60
- p.value = !1;
61
- }
62
- }
63
- j(() => {
64
- z();
65
- });
66
- function _(s) {
67
- f.status !== "completed" && y("submit", s);
68
- }
69
- const S = (s) => {
70
- switch (s) {
71
- case "approved":
72
- return "text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20";
73
- case "needs_approval":
74
- return "text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20";
75
- case "rejected":
76
- case "cancelled":
77
- return "text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";
78
- default:
79
- return "text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20";
80
- }
81
- }, $ = (s) => {
82
- switch (s) {
83
- case "approved":
84
- return "Approved";
85
- case "needs_approval":
86
- return "Needs Approval";
87
- case "rejected":
88
- return "Rejected";
89
- case "cancelled":
90
- return "Cancelled";
91
- case "confirmed":
92
- return "Confirmed";
93
- default:
94
- return s || "Pending";
95
- }
96
- }, w = (s) => s == null ? "" : `€${s.toFixed(2)}`;
97
- return (s, o) => {
98
- const m = P("NuxtLink");
99
- return d(), l("div", H, [
100
- r(p) ? (d(), l("div", J, [
101
- i(r(B), { class: "size-4 animate-spin text-muted-foreground" }),
102
- o[0] || (o[0] = t("span", { class: "text-xs text-muted-foreground" }, "Searching appointments…", -1))
103
- ])) : r(c) ? (d(), l("div", K, a(r(c)), 1)) : r(u).length === 0 ? (d(), l("div", Q, [
104
- i(r(g), { class: "size-8 text-muted-foreground mx-auto mb-2" }),
105
- o[1] || (o[1] = t("p", { class: "text-sm text-muted-foreground" }, "No appointments found for the given criteria.", -1))
106
- ])) : (d(), l("div", W, [
107
- (d(!0), l(E, null, M(r(u), (e) => (d(), l("div", {
108
- key: e.reservationId || e.orderId,
109
- class: "rounded-xl border bg-background p-3 space-y-3"
110
- }, [
111
- t("div", X, [
112
- t("div", Y, [
113
- i(r(g), { class: "size-5 text-primary" })
114
- ]),
115
- t("div", Z, [
116
- t("p", ee, a(e.customerInfo?.firstName) + " " + a(e.customerInfo?.lastName), 1),
117
- t("div", te, [
118
- t("span", {
119
- class: V(["text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase", S(e.reservationStatus || e.status)])
120
- }, a($(e.reservationStatus || e.status)), 3),
121
- e.reservationPrice != null ? (d(), l("span", se, a(w(e.reservationPrice)), 1)) : D("", !0)
122
- ])
123
- ])
124
- ]),
125
- t("div", re, [
126
- t("div", ne, [
127
- i(r(U), { class: "size-3" }),
128
- t("span", ae, a(e.customerInfo?.email || "—"), 1)
129
- ]),
130
- t("div", oe, [
131
- i(r(g), { class: "size-3" }),
132
- t("span", null, a(e.date), 1)
133
- ]),
134
- t("div", ie, [
135
- i(r(O), { class: "size-3" }),
136
- t("span", null, a(e.startTime) + " – " + a(e.endTime), 1)
137
- ]),
138
- t("div", de, [
139
- i(r(q), { class: "size-3" }),
140
- t("span", null, a(e.spots || 1) + " " + a((e.spots || 1) === 1 ? "spot" : "spots"), 1)
141
- ])
142
- ]),
143
- i(m, {
144
- to: `/projects/${r(I)}/modules/${v.instanceId}`,
145
- class: "inline-flex items-center gap-1.5 text-xs text-primary hover:underline"
146
- }, {
147
- default: F(() => [
148
- i(r(G), { class: "size-3" }),
149
- o[2] || (o[2] = R(" Open in agenda ", -1))
150
- ]),
151
- _: 1
152
- }, 8, ["to"])
153
- ]))), 128))
154
- ]))
155
- ]);
156
- };
157
- }
158
- });
159
- export {
160
- ue as default
161
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),o=require("lucide-vue-next"),h={class:"w-full"},S={key:0,class:"flex items-center gap-2 py-3"},B={key:1,class:"text-xs text-destructive py-2"},D={key:2,class:"rounded-xl border bg-background p-4 text-center"},I={key:3,class:"space-y-3"},C={class:"flex items-start gap-3"},z={class:"shrink-0 size-10 rounded-lg bg-primary/10 flex items-center justify-center"},T={class:"flex-1 min-w-0"},$={class:"text-sm font-semibold truncate"},w={class:"flex items-center gap-2 mt-1 flex-wrap"},A={key:0,class:"text-xs font-medium"},j={class:"grid grid-cols-2 gap-2 text-xs text-muted-foreground"},L={class:"flex items-center gap-1.5"},P={class:"truncate"},M={class:"flex items-center gap-1.5"},F={class:"flex items-center gap-1.5"},R={class:"flex items-center gap-1.5"},q=e.defineComponent({__name:"AppointmentDetailsCard",props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(u,{emit:p}){const{$useRoute:f,$useModuleApi:g}=useNuxtApp(),d=u,x=p,v=f(),N=e.computed(()=>v.params.slug),k=g(d.instanceId),c=e.ref(!0),a=e.ref(null),l=e.ref([]);async function _(){const{name:s,email:n,date:i}=d.resolvedArgs||{};if(!i){a.value="No date provided",c.value=!1;return}c.value=!0,a.value=null;try{const t=new URLSearchParams;s&&t.set("name",s),n&&t.set("email",n),i&&t.set("date",i);const E=await k.get(`/appointments/find?${t.toString()}`);l.value=E.appointments||[],m({count:l.value.length,appointments:l.value.map(r=>({orderId:r.orderId,reservationId:r.reservationId,customerName:`${r.customerInfo?.firstName||""} ${r.customerInfo?.lastName||""}`.trim(),email:r.customerInfo?.email,date:r.date,startTime:r.startTime,endTime:r.endTime,spots:r.spots,status:r.reservationStatus||r.status,price:r.reservationPrice}))})}catch(t){a.value=t?.data?.statusMessage||t?.message||"Failed to find appointment",m(`Error finding appointment: ${a.value}`)}finally{c.value=!1}}e.onMounted(()=>{_()});function m(s){d.status!=="completed"&&x("submit",s)}const y=s=>{switch(s){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"}},b=s=>{switch(s){case"approved":return"Approved";case"needs_approval":return"Needs Approval";case"rejected":return"Rejected";case"cancelled":return"Cancelled";case"confirmed":return"Confirmed";default:return s||"Pending"}},V=s=>s==null?"":`€${s.toFixed(2)}`;return(s,n)=>{const i=e.resolveComponent("NuxtLink");return e.openBlock(),e.createElementBlock("div",h,[e.unref(c)?(e.openBlock(),e.createElementBlock("div",S,[e.createVNode(e.unref(o.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),n[0]||(n[0]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Searching appointments…",-1))])):e.unref(a)?(e.openBlock(),e.createElementBlock("div",B,e.toDisplayString(e.unref(a)),1)):e.unref(l).length===0?(e.openBlock(),e.createElementBlock("div",D,[e.createVNode(e.unref(o.CalendarDays),{class:"size-8 text-muted-foreground mx-auto mb-2"}),n[1]||(n[1]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"No appointments found for the given criteria.",-1))])):(e.openBlock(),e.createElementBlock("div",I,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),t=>(e.openBlock(),e.createElementBlock("div",{key:t.reservationId||t.orderId,class:"rounded-xl border bg-background p-3 space-y-3"},[e.createElementVNode("div",C,[e.createElementVNode("div",z,[e.createVNode(e.unref(o.CalendarDays),{class:"size-5 text-primary"})]),e.createElementVNode("div",T,[e.createElementVNode("p",$,e.toDisplayString(t.customerInfo?.firstName)+" "+e.toDisplayString(t.customerInfo?.lastName),1),e.createElementVNode("div",w,[e.createElementVNode("span",{class:e.normalizeClass(["text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase",y(t.reservationStatus||t.status)])},e.toDisplayString(b(t.reservationStatus||t.status)),3),t.reservationPrice!=null?(e.openBlock(),e.createElementBlock("span",A,e.toDisplayString(V(t.reservationPrice)),1)):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",j,[e.createElementVNode("div",L,[e.createVNode(e.unref(o.Mail),{class:"size-3"}),e.createElementVNode("span",P,e.toDisplayString(t.customerInfo?.email||"—"),1)]),e.createElementVNode("div",M,[e.createVNode(e.unref(o.CalendarDays),{class:"size-3"}),e.createElementVNode("span",null,e.toDisplayString(t.date),1)]),e.createElementVNode("div",F,[e.createVNode(e.unref(o.Clock),{class:"size-3"}),e.createElementVNode("span",null,e.toDisplayString(t.startTime)+" – "+e.toDisplayString(t.endTime),1)]),e.createElementVNode("div",R,[e.createVNode(e.unref(o.Users),{class:"size-3"}),e.createElementVNode("span",null,e.toDisplayString(t.spots||1)+" "+e.toDisplayString((t.spots||1)===1?"spot":"spots"),1)])]),e.createVNode(i,{to:`/projects/${e.unref(N)}/modules/${u.instanceId}`,class:"inline-flex items-center gap-1.5 text-xs text-primary hover:underline"},{default:e.withCtx(()=>[e.createVNode(e.unref(o.ExternalLink),{class:"size-3"}),n[2]||(n[2]=e.createTextVNode(" Open in agenda ",-1))]),_:1},8,["to"])]))),128))]))])}}});exports.default=q;
@@ -1,196 +0,0 @@
1
- import { defineComponent as S, ref as p, reactive as B, onMounted as L, computed as T, openBlock as i, createElementBlock as r, unref as t, createVNode as u, createElementVNode as a, toDisplayString as N, createTextVNode as f, withDirectives as g, vModelText as v, createCommentVNode as k, createBlock as C } from "vue";
2
- import { Loader2 as I, CalendarDays as z, User as V, Mail as R, Calendar as $, Save as j } from "lucide-vue-next";
3
- const q = { class: "w-full" }, G = {
4
- key: 0,
5
- class: "flex items-center gap-2 py-3"
6
- }, H = {
7
- key: 1,
8
- class: "text-xs text-destructive py-2"
9
- }, J = {
10
- key: 2,
11
- class: "rounded-xl border bg-background p-4 text-center"
12
- }, K = {
13
- key: 3,
14
- class: "rounded-xl border bg-background p-4 space-y-4"
15
- }, O = { class: "flex items-center gap-2" }, P = { class: "text-[10px] text-muted-foreground ml-auto" }, Q = { class: "space-y-1.5" }, W = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, X = ["disabled"], Y = { class: "space-y-1.5" }, Z = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, ee = ["disabled"], te = { class: "space-y-1.5" }, se = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, ae = ["disabled"], oe = { class: "space-y-1.5" }, ne = { class: "text-xs font-medium text-muted-foreground flex items-center gap-1.5" }, le = ["disabled"], ie = {
16
- key: 0,
17
- class: "text-xs text-destructive"
18
- }, de = {
19
- key: 1,
20
- class: "flex items-center gap-2 pt-1"
21
- }, re = ["disabled"], ce = /* @__PURE__ */ S({
22
- __name: "AppointmentEditor",
23
- props: {
24
- toolName: {},
25
- instanceId: {},
26
- instanceName: {},
27
- moduleType: {},
28
- resolvedArgs: {},
29
- status: {}
30
- },
31
- emits: ["submit"],
32
- setup(m, { emit: w }) {
33
- const b = m, A = w, M = useModuleApi(b.instanceId), x = p(!0), c = p(!1), d = p(null), n = p(null), y = p(!1), s = B({
34
- firstName: "",
35
- lastName: "",
36
- email: "",
37
- date: ""
38
- });
39
- async function D() {
40
- const o = b.resolvedArgs?.orderId;
41
- if (!o) {
42
- d.value = "No appointment ID provided", x.value = !1;
43
- return;
44
- }
45
- x.value = !0, d.value = null;
46
- try {
47
- const e = await M.get(`/appointments/${o}`);
48
- n.value = e;
49
- const l = e.customerInfo || {};
50
- s.firstName = l.firstName || "", s.lastName = l.lastName || "", s.email = l.email || "";
51
- const U = e.reservations?.[0];
52
- s.date = U?.date || "";
53
- } catch (e) {
54
- d.value = e?.data?.statusMessage || e?.message || "Failed to load appointment";
55
- } finally {
56
- x.value = !1;
57
- }
58
- }
59
- L(() => {
60
- D();
61
- });
62
- function _(o) {
63
- b.status !== "completed" && A("submit", o);
64
- }
65
- const h = T(() => {
66
- if (!n.value) return !1;
67
- const o = n.value.customerInfo || {};
68
- return s.firstName !== (o.firstName || "") || s.lastName !== (o.lastName || "") || s.email !== (o.email || "") || s.date !== (n.value.reservations?.[0]?.date || "");
69
- });
70
- async function E() {
71
- if (!(!h.value || c.value)) {
72
- c.value = !0;
73
- try {
74
- const o = {
75
- appointmentId: n.value.id,
76
- updatedFields: {
77
- firstName: s.firstName,
78
- lastName: s.lastName,
79
- email: s.email,
80
- date: s.date
81
- },
82
- previousValues: {
83
- firstName: n.value.customerInfo?.firstName,
84
- lastName: n.value.customerInfo?.lastName,
85
- email: n.value.customerInfo?.email,
86
- date: n.value.reservations?.[0]?.date
87
- }
88
- };
89
- _(o), y.value = !0;
90
- } catch (o) {
91
- d.value = o?.data?.statusMessage || o?.message || "Failed to save changes";
92
- } finally {
93
- c.value = !1;
94
- }
95
- }
96
- }
97
- function F() {
98
- _({ cancelled: !0, appointmentId: n.value?.id }), y.value = !0;
99
- }
100
- return (o, e) => (i(), r("div", q, [
101
- t(x) ? (i(), r("div", G, [
102
- u(t(I), { class: "size-4 animate-spin text-muted-foreground" }),
103
- e[4] || (e[4] = a("span", { class: "text-xs text-muted-foreground" }, "Loading appointment…", -1))
104
- ])) : t(d) && !t(n) ? (i(), r("div", H, N(t(d)), 1)) : t(y) ? (i(), r("div", J, [
105
- u(t(z), { class: "size-8 text-primary mx-auto mb-2" }),
106
- e[5] || (e[5] = a("p", { class: "text-sm text-muted-foreground" }, "Changes submitted.", -1))
107
- ])) : t(n) ? (i(), r("div", K, [
108
- a("div", O, [
109
- u(t(z), { class: "size-5 text-primary" }),
110
- e[6] || (e[6] = a("h3", { class: "text-sm font-semibold" }, "Edit Appointment", -1)),
111
- a("span", P, " #" + N(t(n).id?.slice(0, 8)), 1)
112
- ]),
113
- a("div", Q, [
114
- a("label", W, [
115
- u(t(V), { class: "size-3" }),
116
- e[7] || (e[7] = f(" First Name ", -1))
117
- ]),
118
- g(a("input", {
119
- "onUpdate:modelValue": e[0] || (e[0] = (l) => t(s).firstName = l),
120
- type: "text",
121
- class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
122
- disabled: m.status === "completed"
123
- }, null, 8, X), [
124
- [v, t(s).firstName]
125
- ])
126
- ]),
127
- a("div", Y, [
128
- a("label", Z, [
129
- u(t(V), { class: "size-3" }),
130
- e[8] || (e[8] = f(" Last Name ", -1))
131
- ]),
132
- g(a("input", {
133
- "onUpdate:modelValue": e[1] || (e[1] = (l) => t(s).lastName = l),
134
- type: "text",
135
- class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
136
- disabled: m.status === "completed"
137
- }, null, 8, ee), [
138
- [v, t(s).lastName]
139
- ])
140
- ]),
141
- a("div", te, [
142
- a("label", se, [
143
- u(t(R), { class: "size-3" }),
144
- e[9] || (e[9] = f(" Email ", -1))
145
- ]),
146
- g(a("input", {
147
- "onUpdate:modelValue": e[2] || (e[2] = (l) => t(s).email = l),
148
- type: "email",
149
- class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
150
- disabled: m.status === "completed"
151
- }, null, 8, ae), [
152
- [v, t(s).email]
153
- ])
154
- ]),
155
- a("div", oe, [
156
- a("label", ne, [
157
- u(t($), { class: "size-3" }),
158
- e[10] || (e[10] = f(" Date ", -1))
159
- ]),
160
- g(a("input", {
161
- "onUpdate:modelValue": e[3] || (e[3] = (l) => t(s).date = l),
162
- type: "date",
163
- class: "w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",
164
- disabled: m.status === "completed"
165
- }, null, 8, le), [
166
- [v, t(s).date]
167
- ])
168
- ]),
169
- t(d) ? (i(), r("div", ie, N(t(d)), 1)) : k("", !0),
170
- m.status !== "completed" ? (i(), r("div", de, [
171
- a("button", {
172
- onClick: E,
173
- disabled: !t(h) || t(c),
174
- class: "inline-flex items-center gap-1.5 rounded-lg bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"
175
- }, [
176
- t(c) ? (i(), C(t(I), {
177
- key: 0,
178
- class: "size-3 animate-spin"
179
- })) : (i(), C(t(j), {
180
- key: 1,
181
- class: "size-3"
182
- })),
183
- e[11] || (e[11] = f(" Confirm Changes ", -1))
184
- ], 8, re),
185
- a("button", {
186
- onClick: F,
187
- class: "inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted transition-colors"
188
- }, " Cancel ")
189
- ])) : k("", !0)
190
- ])) : k("", !0)
191
- ]));
192
- }
193
- });
194
- export {
195
- ce as default
196
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("lucide-vue-next"),k={class:"w-full"},E={key:0,class:"flex items-center gap-2 py-3"},B={key:1,class:"text-xs text-destructive py-2"},h={key:2,class:"rounded-xl border bg-background p-4 text-center"},_={key:3,class:"rounded-xl border bg-background p-4 space-y-4"},C={class:"flex items-center gap-2"},I={class:"text-[10px] text-muted-foreground ml-auto"},w={class:"space-y-1.5"},D={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},T=["disabled"],M={class:"space-y-1.5"},z={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},S=["disabled"],A={class:"space-y-1.5"},U={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},F=["disabled"],L={class:"space-y-1.5"},q={class:"text-xs font-medium text-muted-foreground flex items-center gap-1.5"},j=["disabled"],O={key:0,class:"text-xs text-destructive"},P={key:1,class:"flex items-center gap-2 pt-1"},R=["disabled"],$=e.defineComponent({__name:"AppointmentEditor",props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(d,{emit:x}){const c=d,g=x,N=useModuleApi(c.instanceId),u=e.ref(!0),i=e.ref(!1),l=e.ref(null),o=e.ref(null),m=e.ref(!1),s=e.reactive({firstName:"",lastName:"",email:"",date:""});async function v(){const a=c.resolvedArgs?.orderId;if(!a){l.value="No appointment ID provided",u.value=!1;return}u.value=!0,l.value=null;try{const t=await N.get(`/appointments/${a}`);o.value=t;const n=t.customerInfo||{};s.firstName=n.firstName||"",s.lastName=n.lastName||"",s.email=n.email||"";const V=t.reservations?.[0];s.date=V?.date||""}catch(t){l.value=t?.data?.statusMessage||t?.message||"Failed to load appointment"}finally{u.value=!1}}e.onMounted(()=>{v()});function f(a){c.status!=="completed"&&g("submit",a)}const p=e.computed(()=>{if(!o.value)return!1;const a=o.value.customerInfo||{};return s.firstName!==(a.firstName||"")||s.lastName!==(a.lastName||"")||s.email!==(a.email||"")||s.date!==(o.value.reservations?.[0]?.date||"")});async function b(){if(!(!p.value||i.value)){i.value=!0;try{const a={appointmentId:o.value.id,updatedFields:{firstName:s.firstName,lastName:s.lastName,email:s.email,date:s.date},previousValues:{firstName:o.value.customerInfo?.firstName,lastName:o.value.customerInfo?.lastName,email:o.value.customerInfo?.email,date:o.value.reservations?.[0]?.date}};f(a),m.value=!0}catch(a){l.value=a?.data?.statusMessage||a?.message||"Failed to save changes"}finally{i.value=!1}}}function y(){f({cancelled:!0,appointmentId:o.value?.id}),m.value=!0}return(a,t)=>(e.openBlock(),e.createElementBlock("div",k,[e.unref(u)?(e.openBlock(),e.createElementBlock("div",E,[e.createVNode(e.unref(r.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),t[4]||(t[4]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Loading appointment…",-1))])):e.unref(l)&&!e.unref(o)?(e.openBlock(),e.createElementBlock("div",B,e.toDisplayString(e.unref(l)),1)):e.unref(m)?(e.openBlock(),e.createElementBlock("div",h,[e.createVNode(e.unref(r.CalendarDays),{class:"size-8 text-primary mx-auto mb-2"}),t[5]||(t[5]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"Changes submitted.",-1))])):e.unref(o)?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",C,[e.createVNode(e.unref(r.CalendarDays),{class:"size-5 text-primary"}),t[6]||(t[6]=e.createElementVNode("h3",{class:"text-sm font-semibold"},"Edit Appointment",-1)),e.createElementVNode("span",I," #"+e.toDisplayString(e.unref(o).id?.slice(0,8)),1)]),e.createElementVNode("div",w,[e.createElementVNode("label",D,[e.createVNode(e.unref(r.User),{class:"size-3"}),t[7]||(t[7]=e.createTextVNode(" First Name ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=n=>e.unref(s).firstName=n),type:"text",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,T),[[e.vModelText,e.unref(s).firstName]])]),e.createElementVNode("div",M,[e.createElementVNode("label",z,[e.createVNode(e.unref(r.User),{class:"size-3"}),t[8]||(t[8]=e.createTextVNode(" Last Name ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[1]||(t[1]=n=>e.unref(s).lastName=n),type:"text",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,S),[[e.vModelText,e.unref(s).lastName]])]),e.createElementVNode("div",A,[e.createElementVNode("label",U,[e.createVNode(e.unref(r.Mail),{class:"size-3"}),t[9]||(t[9]=e.createTextVNode(" Email ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>e.unref(s).email=n),type:"email",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,F),[[e.vModelText,e.unref(s).email]])]),e.createElementVNode("div",L,[e.createElementVNode("label",q,[e.createVNode(e.unref(r.Calendar),{class:"size-3"}),t[10]||(t[10]=e.createTextVNode(" Date ",-1))]),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>e.unref(s).date=n),type:"date",class:"w-full rounded-lg border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary",disabled:d.status==="completed"},null,8,j),[[e.vModelText,e.unref(s).date]])]),e.unref(l)?(e.openBlock(),e.createElementBlock("div",O,e.toDisplayString(e.unref(l)),1)):e.createCommentVNode("",!0),d.status!=="completed"?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("button",{onClick:b,disabled:!e.unref(p)||e.unref(i),class:"inline-flex items-center gap-1.5 rounded-lg bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"},[e.unref(i)?(e.openBlock(),e.createBlock(e.unref(r.Loader2),{key:0,class:"size-3 animate-spin"})):(e.openBlock(),e.createBlock(e.unref(r.Save),{key:1,class:"size-3"})),t[11]||(t[11]=e.createTextVNode(" Confirm Changes ",-1))],8,R),e.createElementVNode("button",{onClick:y,class:"inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-xs font-medium text-muted-foreground hover:bg-muted transition-colors"}," Cancel ")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]))}});exports.default=$;
@@ -1,177 +0,0 @@
1
- import { defineComponent as A, computed as L, ref as x, onMounted as j, resolveComponent as D, openBlock as d, createElementBlock as i, unref as o, createVNode as m, createElementVNode as t, toDisplayString as n, Fragment as P, renderList as z, normalizeClass as E, withCtx as F, createTextVNode as V } from "vue";
2
- import { Loader2 as q, CalendarDays as M, ExternalLink as B } from "lucide-vue-next";
3
- const R = { class: "w-full" }, U = {
4
- key: 0,
5
- class: "flex items-center gap-2 py-3"
6
- }, S = {
7
- key: 1,
8
- class: "text-xs text-destructive py-2"
9
- }, G = {
10
- key: 2,
11
- class: "rounded-xl border bg-background p-4 text-center"
12
- }, H = {
13
- key: 3,
14
- class: "rounded-xl border bg-background overflow-hidden"
15
- }, J = { class: "overflow-x-auto" }, K = { class: "w-full text-xs" }, O = { class: "px-3 py-2" }, Q = { class: "font-medium truncate max-w-[160px]" }, W = { class: "text-muted-foreground truncate max-w-[160px]" }, X = { class: "px-3 py-2 whitespace-nowrap" }, Y = { class: "px-3 py-2 whitespace-nowrap" }, Z = { class: "px-3 py-2 text-center" }, ee = { class: "px-3 py-2" }, te = { class: "px-3 py-2 text-right font-medium whitespace-nowrap" }, se = { class: "px-3 py-2 border-t bg-muted/20 flex items-center justify-between" }, re = { class: "text-xs text-muted-foreground" }, ae = /* @__PURE__ */ A({
16
- __name: "AppointmentListTable",
17
- props: {
18
- toolName: {},
19
- instanceId: {},
20
- instanceName: {},
21
- moduleType: {},
22
- resolvedArgs: {},
23
- status: {}
24
- },
25
- emits: ["submit"],
26
- setup(f, { emit: b }) {
27
- const { $useRoute: h, $useModuleApi: v } = useNuxtApp(), u = f, y = b, _ = h(), k = L(() => _.params.slug), w = v(u.instanceId), p = x(!0), l = x(null), a = x([]);
28
- async function I() {
29
- const r = u.resolvedArgs?.quantity || 20, s = u.resolvedArgs?.status || "confirmed";
30
- p.value = !0, l.value = null;
31
- try {
32
- const c = await w.get(`/appointments?quantity=${r}&status=${s}`);
33
- a.value = c.appointments || [], g({
34
- count: a.value.length,
35
- appointments: a.value.map((e) => ({
36
- orderId: e.orderId,
37
- reservationId: e.reservationId,
38
- customerName: `${e.customerInfo?.firstName || ""} ${e.customerInfo?.lastName || ""}`.trim(),
39
- email: e.customerInfo?.email,
40
- date: e.date,
41
- startTime: e.startTime,
42
- endTime: e.endTime,
43
- spots: e.spots,
44
- status: e.reservationStatus || e.status,
45
- price: e.reservationPrice
46
- }))
47
- });
48
- } catch (c) {
49
- l.value = c?.data?.statusMessage || c?.message || "Failed to load appointments", g(`Error loading appointments: ${l.value}`);
50
- } finally {
51
- p.value = !1;
52
- }
53
- }
54
- j(() => {
55
- I();
56
- });
57
- function g(r) {
58
- u.status !== "completed" && y("submit", r);
59
- }
60
- const N = (r, s) => {
61
- if (s !== "confirmed")
62
- switch (s) {
63
- case "pending":
64
- return "text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20";
65
- case "cancelled":
66
- return "text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";
67
- default:
68
- return "text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";
69
- }
70
- switch (r || s) {
71
- case "approved":
72
- return "text-emerald-600 dark:text-emerald-400 bg-emerald-50 dark:bg-emerald-900/20";
73
- case "needs_approval":
74
- return "text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20";
75
- case "rejected":
76
- case "cancelled":
77
- return "text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";
78
- default:
79
- return "text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20";
80
- }
81
- }, C = (r, s) => {
82
- if (s !== "confirmed")
83
- switch (s) {
84
- case "pending":
85
- return "Pending";
86
- case "cancelled":
87
- return "Cancelled";
88
- default:
89
- return s || "Unknown";
90
- }
91
- switch (r || s) {
92
- case "approved":
93
- return "Approved";
94
- case "needs_approval":
95
- return "Needs Approval";
96
- case "rejected":
97
- return "Rejected";
98
- case "cancelled":
99
- return "Cancelled";
100
- case "confirmed":
101
- return "Confirmed";
102
- default:
103
- return r || s || "Pending";
104
- }
105
- }, T = (r) => r == null ? "—" : `€${r.toFixed(2)}`, $ = (r) => {
106
- if (!r) return "—";
107
- try {
108
- return new Date(r).toLocaleDateString("en-US", { weekday: "short", month: "short", day: "numeric" });
109
- } catch {
110
- return r;
111
- }
112
- };
113
- return (r, s) => {
114
- const c = D("NuxtLink");
115
- return d(), i("div", R, [
116
- o(p) ? (d(), i("div", U, [
117
- m(o(q), { class: "size-4 animate-spin text-muted-foreground" }),
118
- s[0] || (s[0] = t("span", { class: "text-xs text-muted-foreground" }, "Loading appointments…", -1))
119
- ])) : o(l) ? (d(), i("div", S, n(o(l)), 1)) : o(a).length === 0 ? (d(), i("div", G, [
120
- m(o(M), { class: "size-8 text-muted-foreground mx-auto mb-2" }),
121
- s[1] || (s[1] = t("p", { class: "text-sm text-muted-foreground" }, "No recent appointments found.", -1))
122
- ])) : (d(), i("div", H, [
123
- t("div", J, [
124
- t("table", K, [
125
- s[2] || (s[2] = t("thead", null, [
126
- t("tr", { class: "border-b bg-muted/40" }, [
127
- t("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Customer"),
128
- t("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Date"),
129
- t("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Time"),
130
- t("th", { class: "text-center px-3 py-2 font-medium text-muted-foreground" }, "Spots"),
131
- t("th", { class: "text-left px-3 py-2 font-medium text-muted-foreground" }, "Status"),
132
- t("th", { class: "text-right px-3 py-2 font-medium text-muted-foreground" }, "Price")
133
- ])
134
- ], -1)),
135
- t("tbody", null, [
136
- (d(!0), i(P, null, z(o(a), (e) => (d(), i("tr", {
137
- key: e.reservationId || e.orderId,
138
- class: "border-b last:border-b-0 hover:bg-muted/30 transition-colors"
139
- }, [
140
- t("td", O, [
141
- t("div", Q, n(e.customerInfo?.firstName) + " " + n(e.customerInfo?.lastName), 1),
142
- t("div", W, n(e.customerInfo?.email), 1)
143
- ]),
144
- t("td", X, n($(e.date)), 1),
145
- t("td", Y, n(e.startTime) + " – " + n(e.endTime), 1),
146
- t("td", Z, n(e.spots || 1), 1),
147
- t("td", ee, [
148
- t("span", {
149
- class: E(["inline-block text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase whitespace-nowrap", N(e.reservationStatus, e.status)])
150
- }, n(C(e.reservationStatus, e.status)), 3)
151
- ]),
152
- t("td", te, n(T(e.reservationPrice)), 1)
153
- ]))), 128))
154
- ])
155
- ])
156
- ]),
157
- t("div", se, [
158
- t("span", re, n(o(a).length) + " appointment" + n(o(a).length === 1 ? "" : "s"), 1),
159
- m(c, {
160
- to: `/projects/${o(k)}/modules/${f.instanceId}`,
161
- class: "inline-flex items-center gap-1.5 text-xs text-primary hover:underline"
162
- }, {
163
- default: F(() => [
164
- m(o(B), { class: "size-3" }),
165
- s[3] || (s[3] = V(" View all ", -1))
166
- ]),
167
- _: 1
168
- }, 8, ["to"])
169
- ])
170
- ]))
171
- ]);
172
- };
173
- }
174
- });
175
- export {
176
- ae as default
177
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),E={class:"w-full"},V={key:0,class:"flex items-center gap-2 py-3"},w={key:1,class:"text-xs text-destructive py-2"},D={key:2,class:"rounded-xl border bg-background p-4 text-center"},I={key:3,class:"rounded-xl border bg-background overflow-hidden"},B={class:"overflow-x-auto"},S={class:"w-full text-xs"},T={class:"px-3 py-2"},C={class:"font-medium truncate max-w-[160px]"},$={class:"text-muted-foreground truncate max-w-[160px]"},A={class:"px-3 py-2 whitespace-nowrap"},L={class:"px-3 py-2 whitespace-nowrap"},j={class:"px-3 py-2 text-center"},P={class:"px-3 py-2"},q={class:"px-3 py-2 text-right font-medium whitespace-nowrap"},z={class:"px-3 py-2 border-t bg-muted/20 flex items-center justify-between"},F={class:"text-xs text-muted-foreground"},M=e.defineComponent({__name:"AppointmentListTable",props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(i,{emit:m}){const{$useRoute:p,$useModuleApi:x}=useNuxtApp(),d=i,f=m,g=p(),b=e.computed(()=>g.params.slug),y=x(d.instanceId),l=e.ref(!0),a=e.ref(null),o=e.ref([]);async function N(){const n=d.resolvedArgs?.quantity||20,r=d.resolvedArgs?.status||"confirmed";l.value=!0,a.value=null;try{const s=await y.get(`/appointments?quantity=${n}&status=${r}`);o.value=s.appointments||[],u({count:o.value.length,appointments:o.value.map(t=>({orderId:t.orderId,reservationId:t.reservationId,customerName:`${t.customerInfo?.firstName||""} ${t.customerInfo?.lastName||""}`.trim(),email:t.customerInfo?.email,date:t.date,startTime:t.startTime,endTime:t.endTime,spots:t.spots,status:t.reservationStatus||t.status,price:t.reservationPrice}))})}catch(s){a.value=s?.data?.statusMessage||s?.message||"Failed to load appointments",u(`Error loading appointments: ${a.value}`)}finally{l.value=!1}}e.onMounted(()=>{N()});function u(n){d.status!=="completed"&&f("submit",n)}const h=(n,r)=>{if(r!=="confirmed")switch(r){case"pending":return"text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20";case"cancelled":return"text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20";default:return"text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20"}switch(n||r){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"}},k=(n,r)=>{if(r!=="confirmed")switch(r){case"pending":return"Pending";case"cancelled":return"Cancelled";default:return r||"Unknown"}switch(n||r){case"approved":return"Approved";case"needs_approval":return"Needs Approval";case"rejected":return"Rejected";case"cancelled":return"Cancelled";case"confirmed":return"Confirmed";default:return n||r||"Pending"}},v=n=>n==null?"—":`€${n.toFixed(2)}`,_=n=>{if(!n)return"—";try{return new Date(n).toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"})}catch{return n}};return(n,r)=>{const s=e.resolveComponent("NuxtLink");return e.openBlock(),e.createElementBlock("div",E,[e.unref(l)?(e.openBlock(),e.createElementBlock("div",V,[e.createVNode(e.unref(c.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),r[0]||(r[0]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Loading appointments…",-1))])):e.unref(a)?(e.openBlock(),e.createElementBlock("div",w,e.toDisplayString(e.unref(a)),1)):e.unref(o).length===0?(e.openBlock(),e.createElementBlock("div",D,[e.createVNode(e.unref(c.CalendarDays),{class:"size-8 text-muted-foreground mx-auto mb-2"}),r[1]||(r[1]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"No recent appointments found.",-1))])):(e.openBlock(),e.createElementBlock("div",I,[e.createElementVNode("div",B,[e.createElementVNode("table",S,[r[2]||(r[2]=e.createElementVNode("thead",null,[e.createElementVNode("tr",{class:"border-b bg-muted/40"},[e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Customer"),e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Date"),e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Time"),e.createElementVNode("th",{class:"text-center px-3 py-2 font-medium text-muted-foreground"},"Spots"),e.createElementVNode("th",{class:"text-left px-3 py-2 font-medium text-muted-foreground"},"Status"),e.createElementVNode("th",{class:"text-right px-3 py-2 font-medium text-muted-foreground"},"Price")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),t=>(e.openBlock(),e.createElementBlock("tr",{key:t.reservationId||t.orderId,class:"border-b last:border-b-0 hover:bg-muted/30 transition-colors"},[e.createElementVNode("td",T,[e.createElementVNode("div",C,e.toDisplayString(t.customerInfo?.firstName)+" "+e.toDisplayString(t.customerInfo?.lastName),1),e.createElementVNode("div",$,e.toDisplayString(t.customerInfo?.email),1)]),e.createElementVNode("td",A,e.toDisplayString(_(t.date)),1),e.createElementVNode("td",L,e.toDisplayString(t.startTime)+" – "+e.toDisplayString(t.endTime),1),e.createElementVNode("td",j,e.toDisplayString(t.spots||1),1),e.createElementVNode("td",P,[e.createElementVNode("span",{class:e.normalizeClass(["inline-block text-[10px] font-medium px-1.5 py-0.5 rounded-full uppercase whitespace-nowrap",h(t.reservationStatus,t.status)])},e.toDisplayString(k(t.reservationStatus,t.status)),3)]),e.createElementVNode("td",q,e.toDisplayString(v(t.reservationPrice)),1)]))),128))])])]),e.createElementVNode("div",z,[e.createElementVNode("span",F,e.toDisplayString(e.unref(o).length)+" appointment"+e.toDisplayString(e.unref(o).length===1?"":"s"),1),e.createVNode(s,{to:`/projects/${e.unref(b)}/modules/${i.instanceId}`,class:"inline-flex items-center gap-1.5 text-xs text-primary hover:underline"},{default:e.withCtx(()=>[e.createVNode(e.unref(c.ExternalLink),{class:"size-3"}),r[3]||(r[3]=e.createTextVNode(" View all ",-1))]),_:1},8,["to"])])]))])}}});exports.default=M;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),D=require("@oneclick.dev/cms-kit");require("./index-BuzLn4Km.js");const r=require("lucide-vue-next"),z=require("./index-D3L8WAJI.js"),H=require("./_plugin-vue_export-helper-BHFhmbuH.js"),I={class:"flex flex-col gap-6 w-full max-w-7xl mx-auto py-8"},K={class:"flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center"},G={key:0,class:"flex items-center gap-2"},J={class:"flex items-center border rounded-lg overflow-hidden"},Q=["onClick"],X={class:"text-sm text-destructive font-medium"},Y={key:2,class:"flex items-center justify-center py-20"},Z={class:"flex flex-col @lg:grid @lg:grid-cols-3 gap-6"},ee={class:"relative"},te={class:"absolute inset-0 flex items-center justify-center pointer-events-none"},se={class:"text-center"},oe={class:"text-xl font-bold tabular-nums"},ne={class:"mt-4 flex items-center gap-6"},le={class:"flex items-center gap-2"},ae={class:"text-sm font-semibold tabular-nums"},re={key:0,class:"text-xs text-muted-foreground"},de={class:"flex items-center gap-2"},ce={class:"text-sm font-semibold tabular-nums"},ie={key:0,class:"text-xs text-muted-foreground"},ue={class:"overflow-x-auto"},me={class:"w-full text-sm"},xe={class:"divide-y"},fe={class:"px-4 py-3"},ge={class:"flex items-center gap-2"},pe={class:"font-medium capitalize"},ve={class:"px-4 py-3 text-right tabular-nums"},he={class:"px-4 py-3 text-right tabular-nums"},Ve={class:"px-4 py-3 text-right tabular-nums"},_e={class:"px-4 py-3 text-right tabular-nums"},Ne={class:"px-4 py-3 text-right tabular-nums"},ye={class:"overflow-x-auto"},be={class:"min-w-[600px]"},Ee={class:"flex items-center mb-1.5"},ke={class:"flex-1 grid grid-cols-24 gap-0.5"},Ce={class:"w-10 shrink-0 text-xs text-muted-foreground"},we={class:"flex-1 grid grid-cols-24 gap-0.5"},Be=["title"],De={class:"grid @lg:grid-cols-3 gap-6"},Se={class:"flex items-center justify-between"},$e={class:"flex items-center gap-1"},ze=["onClick","title"],Re={class:"space-y-3"},Ue={class:"text-sm flex-1 truncate"},Te={class:"flex-1 h-2 bg-muted rounded-full overflow-hidden"},Fe={class:"text-xs tabular-nums text-muted-foreground w-12 text-right"},Me={key:0,class:"py-4 text-center text-muted-foreground text-sm"},Le={class:"space-y-3"},Ae={class:"text-sm flex-1 truncate"},qe={class:"flex-1 h-2 bg-muted rounded-full overflow-hidden"},Pe={class:"text-xs tabular-nums text-muted-foreground w-12 text-right"},Oe={key:0,class:"py-4 text-center text-muted-foreground text-sm"},je={class:"space-y-2.5"},We={class:"flex-1 min-w-0"},He={class:"text-sm truncate block"},Ie={class:"text-xs text-muted-foreground truncate block"},Ke={class:"flex-1 h-2 bg-muted rounded-full overflow-hidden"},Ge={class:"text-xs tabular-nums text-muted-foreground w-12 text-right"},Je={key:0,class:"py-4 text-center text-muted-foreground text-sm"},Qe=e.defineComponent({__name:"Audience",setup(Ye){const{config:S}=D.useModule(),{moduleId:R}=D.useModuleRoute();D.useModuleBreadcrumbs(()=>[{label:"Audience"}]);const u=e.ref(!0),h=e.ref(null),g=e.ref("30"),i=e.ref("browser"),V=e.ref([]),p=e.ref([]),_=e.ref([]),$=e.ref([]),N=e.ref([]),y=e.computed(()=>!!(S.serviceAccount&&S.propertyId));function m(o){return`/api/v1/modules/${R}${o}`}const U=[{label:"7d",value:"7"},{label:"14d",value:"14"},{label:"30d",value:"30"},{label:"90d",value:"90"}];function d(o){return o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:Math.round(o).toString()}function T(o){return`${(o*100).toFixed(1)}%`}function F(o){const t=Math.floor(o/60),n=Math.round(o%60);return t>0?`${t}m ${n}s`:`${n}s`}const x={new:"#3b82f6",returning:"#8b5cf6"},M={new:{label:"New Users",color:x.new},returning:{label:"Returning Users",color:x.returning}},b=e.computed(()=>V.value.find(t=>t.newVsReturning==="new")?.totalUsers||0),E=e.computed(()=>V.value.find(t=>t.newVsReturning==="returning")?.totalUsers||0),L=e.computed(()=>[{key:"new",label:"New",value:b.value,fill:x.new},{key:"returning",label:"Returning",value:E.value,fill:x.returning}]),v=e.computed(()=>b.value+E.value),A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],q=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],B=e.computed(()=>{const o=Array.from({length:7},()=>Array(24).fill(0));let t=1;return $.value.forEach(n=>{const l=A.indexOf(n.dayOfWeekName),a=parseInt(n.hour,10);l>=0&&a>=0&&a<24&&(o[l][a]=n.sessions||0,n.sessions>t&&(t=n.sessions))}),{matrix:o,maxVal:t}});function P(o,t){if(o===0)return"bg-muted";const n=o/t;return n>.75?"bg-blue-600 dark:bg-blue-500":n>.5?"bg-blue-500 dark:bg-blue-400":n>.25?"bg-blue-400/70 dark:bg-blue-400/60":"bg-blue-300/50 dark:bg-blue-300/30"}const O=[{key:"browser",label:"Browser",icon:r.Chrome},{key:"operatingSystem",label:"OS",icon:r.Cpu},{key:"screenResolution",label:"Screen",icon:r.Monitor}];async function k(){if(!y.value)return;u.value=!0,h.value=null;const o=`${g.value}daysAgo`;try{const[t,n,l,a,c]=await Promise.all([$fetch(m(`/audience/overview?startDate=${o}&endDate=today`)),$fetch(m(`/audience/technology?startDate=${o}&endDate=today&dimension=${i.value}`)),$fetch(m(`/audience/languages?startDate=${o}&endDate=today`)),$fetch(m(`/audience/hours?startDate=${o}&endDate=today`)),$fetch(m(`/audience/cities?startDate=${o}&endDate=today`))]);V.value=t.rows||[],p.value=n.rows||[],_.value=l.rows||[],$.value=a.rows||[],N.value=c.rows||[]}catch(t){h.value=t?.data?.statusMessage||t?.message||"Failed to load audience data"}finally{u.value=!1}}async function j(){const o=`${g.value}daysAgo`;try{const t=await $fetch(m(`/audience/technology?startDate=${o}&endDate=today&dimension=${i.value}`));p.value=t.rows||[]}catch{}}return e.watch(g,()=>k()),e.watch(i,()=>j()),e.onMounted(()=>{y.value?k():u.value=!1}),(o,t)=>{const n=e.resolveComponent("Button"),l=e.resolveComponent("Card"),a=e.resolveComponent("CardTitle"),c=e.resolveComponent("CardHeader"),W=e.resolveComponent("ChartContainer"),f=e.resolveComponent("CardContent");return e.openBlock(),e.createElementBlock("div",I,[e.createElementVNode("div",K,[t[0]||(t[0]=e.createElementVNode("div",null,[e.createElementVNode("h1",{class:"text-2xl font-semibold"},"Audience"),e.createElementVNode("p",{class:"text-muted-foreground text-sm mt-1"},"Who visits your site")],-1)),y.value?(e.openBlock(),e.createElementBlock("div",G,[e.createElementVNode("div",J,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(U,s=>e.createElementVNode("button",{key:s.value,class:e.normalizeClass(["px-3 py-1.5 text-xs font-medium transition-colors",g.value===s.value?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:C=>g.value=s.value},e.toDisplayString(s.label),11,Q)),64))]),e.createVNode(n,{variant:"outline",size:"icon",onClick:k,disabled:u.value},{default:e.withCtx(()=>[e.createVNode(e.unref(r.RefreshCw),{class:e.normalizeClass(["size-4",{"animate-spin":u.value}])},null,8,["class"])]),_:1},8,["disabled"])])):e.createCommentVNode("",!0)]),y.value?h.value?(e.openBlock(),e.createBlock(l,{key:1,class:"p-6 border-destructive/50 bg-destructive/5"},{default:e.withCtx(()=>[e.createElementVNode("p",X,e.toDisplayString(h.value),1),e.createVNode(n,{variant:"outline",size:"sm",class:"mt-3",onClick:k},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode("Retry",-1)])]),_:1})]),_:1})):u.value?(e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(e.unref(r.Loader2),{class:"size-8 animate-spin text-muted-foreground"})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",Z,[e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(c,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(a,{class:"text-base"},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode("New vs Returning",-1)])]),_:1})]),_:1}),e.createVNode(f,{class:"flex flex-col items-center"},{default:e.withCtx(()=>[e.createElementVNode("div",ee,[e.createVNode(W,{config:M,class:"mx-auto aspect-square max-h-[200px]"},{default:e.withCtx(()=>[e.createVNode(e.unref(z.b),{data:L.value,margin:{top:16,bottom:16,left:16,right:16}},{default:e.withCtx(()=>[e.createVNode(e.unref(z.E),{value:s=>s.value,color:s=>s.fill,arcWidth:35,padAngle:.03,cornerRadius:4},null,8,["value","color"])]),_:1},8,["data"])]),_:1}),e.createElementVNode("div",te,[e.createElementVNode("div",se,[e.createElementVNode("p",oe,e.toDisplayString(d(v.value)),1),t[4]||(t[4]=e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"total users",-1))])])]),e.createElementVNode("div",ne,[e.createElementVNode("div",le,[e.createElementVNode("div",{class:"size-2.5 rounded-full",style:e.normalizeStyle({backgroundColor:x.new})},null,4),t[5]||(t[5]=e.createElementVNode("span",{class:"text-sm"},"New",-1)),e.createElementVNode("span",ae,e.toDisplayString(d(b.value)),1),v.value?(e.openBlock(),e.createElementBlock("span",re,e.toDisplayString(Math.round(b.value/v.value*100))+"%",1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",de,[e.createElementVNode("div",{class:"size-2.5 rounded-full",style:e.normalizeStyle({backgroundColor:x.returning})},null,4),t[6]||(t[6]=e.createElementVNode("span",{class:"text-sm"},"Returning",-1)),e.createElementVNode("span",ce,e.toDisplayString(d(E.value)),1),v.value?(e.openBlock(),e.createElementBlock("span",ie,e.toDisplayString(Math.round(E.value/v.value*100))+"%",1)):e.createCommentVNode("",!0)])])]),_:1})]),_:1}),e.createVNode(l,{class:"@lg:col-span-2"},{default:e.withCtx(()=>[e.createVNode(c,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(a,{class:"text-base"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Engagement by Visitor Type",-1)])]),_:1})]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",ue,[e.createElementVNode("table",me,[t[8]||(t[8]=e.createElementVNode("thead",null,[e.createElementVNode("tr",{class:"border-b text-left"},[e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground"},"Type"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Users"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Sessions"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Engagement Rate"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Avg Duration"),e.createElementVNode("th",{class:"px-4 py-3 font-medium text-muted-foreground text-right"},"Pages/Session")])],-1)),e.createElementVNode("tbody",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,s=>(e.openBlock(),e.createElementBlock("tr",{key:s.newVsReturning,class:"hover:bg-muted/50"},[e.createElementVNode("td",fe,[e.createElementVNode("div",ge,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.newVsReturning==="new"?e.unref(r.UserPlus):e.unref(r.UserCheck)),{class:"size-4 text-muted-foreground"})),e.createElementVNode("span",pe,e.toDisplayString(s.newVsReturning),1)])]),e.createElementVNode("td",ve,e.toDisplayString(d(s.totalUsers)),1),e.createElementVNode("td",he,e.toDisplayString(d(s.sessions)),1),e.createElementVNode("td",Ve,e.toDisplayString(T(s.engagementRate||0)),1),e.createElementVNode("td",_e,e.toDisplayString(F(s.averageSessionDuration||0)),1),e.createElementVNode("td",Ne,e.toDisplayString((s.screenPageViewsPerSession||0).toFixed(1)),1)]))),128))])])])]),_:1})]),_:1})]),e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(c,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(a,{class:"text-base flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.Clock),{class:"size-4"}),t[9]||(t[9]=e.createTextVNode(" Peak Hours ",-1))]),_:1}),t[10]||(t[10]=e.createElementVNode("p",{class:"text-xs text-muted-foreground mt-1"},"When your visitors are most active (based on sessions)",-1))]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",ye,[e.createElementVNode("div",be,[e.createElementVNode("div",Ee,[t[11]||(t[11]=e.createElementVNode("div",{class:"w-10 shrink-0"},null,-1)),e.createElementVNode("div",ke,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(24,s=>e.createElementVNode("div",{key:s,class:"text-[10px] text-muted-foreground text-center"},e.toDisplayString(s-1),1)),64))])]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(q,(s,C)=>e.createElementVNode("div",{key:s,class:"flex items-center mb-0.5"},[e.createElementVNode("div",Ce,e.toDisplayString(s),1),e.createElementVNode("div",we,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(24,w=>e.createElementVNode("div",{key:w,class:e.normalizeClass(["aspect-square rounded-sm transition-colors",P(B.value.matrix[C]?.[w-1]||0,B.value.maxVal)]),title:`${s} ${w-1}:00 — ${B.value.matrix[C]?.[w-1]||0} sessions`},null,10,Be)),64))])])),64)),t[12]||(t[12]=e.createElementVNode("div",{class:"flex items-center justify-end gap-1.5 mt-3"},[e.createElementVNode("span",{class:"text-[10px] text-muted-foreground"},"Less"),e.createElementVNode("div",{class:"size-3 rounded-sm bg-muted"}),e.createElementVNode("div",{class:"size-3 rounded-sm bg-blue-300/50 dark:bg-blue-300/30"}),e.createElementVNode("div",{class:"size-3 rounded-sm bg-blue-400/70 dark:bg-blue-400/60"}),e.createElementVNode("div",{class:"size-3 rounded-sm bg-blue-500 dark:bg-blue-400"}),e.createElementVNode("div",{class:"size-3 rounded-sm bg-blue-600 dark:bg-blue-500"}),e.createElementVNode("span",{class:"text-[10px] text-muted-foreground"},"More")],-1))])])]),_:1})]),_:1}),e.createElementVNode("div",De,[e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(c,{class:"pb-2"},{default:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createVNode(a,{class:"text-base"},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode("Technology",-1)])]),_:1}),e.createElementVNode("div",$e,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(O,s=>e.createElementVNode("button",{key:s.key,class:e.normalizeClass(["p-1.5 rounded-md transition-colors",i.value===s.key?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:C=>i.value=s.key,title:s.label},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.icon),{class:"size-3.5"}))],10,ze)),64))])])]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s[i.value],class:"flex items-center gap-3"},[e.createElementVNode("span",Ue,e.toDisplayString(s[i.value]||"(not set)"),1),e.createElementVNode("div",Te,[e.createElementVNode("div",{class:"h-full bg-primary rounded-full transition-all",style:e.normalizeStyle({width:`${s.totalUsers/(p.value[0]?.totalUsers||1)*100}%`})},null,4)]),e.createElementVNode("span",Fe,e.toDisplayString(d(s.totalUsers)),1)]))),128)),p.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Me,"No data"))])]),_:1})]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(c,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(a,{class:"text-base flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.Languages),{class:"size-4"}),t[14]||(t[14]=e.createTextVNode(" Languages ",-1))]),_:1})]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",Le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.language,class:"flex items-center gap-3"},[e.createElementVNode("span",Ae,e.toDisplayString(s.language),1),e.createElementVNode("div",qe,[e.createElementVNode("div",{class:"h-full bg-primary rounded-full transition-all",style:e.normalizeStyle({width:`${s.totalUsers/(_.value[0]?.totalUsers||1)*100}%`})},null,4)]),e.createElementVNode("span",Pe,e.toDisplayString(d(s.totalUsers)),1)]))),128)),_.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Oe,"No data"))])]),_:1})]),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>[e.createVNode(c,{class:"pb-2"},{default:e.withCtx(()=>[e.createVNode(a,{class:"text-base flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.MapPin),{class:"size-4"}),t[15]||(t[15]=e.createTextVNode(" Top Cities ",-1))]),_:1})]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createElementVNode("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,s=>(e.openBlock(),e.createElementBlock("div",{key:`${s.city}-${s.country}`,class:"flex items-center gap-3"},[e.createElementVNode("div",We,[e.createElementVNode("span",He,e.toDisplayString(s.city),1),e.createElementVNode("span",Ie,e.toDisplayString(s.country),1)]),e.createElementVNode("div",Ke,[e.createElementVNode("div",{class:"h-full bg-primary rounded-full transition-all",style:e.normalizeStyle({width:`${s.totalUsers/(N.value[0]?.totalUsers||1)*100}%`})},null,4)]),e.createElementVNode("span",Ge,e.toDisplayString(d(s.totalUsers)),1)]))),128)),N.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Je,"No data"))])]),_:1})]),_:1})])],64)):(e.openBlock(),e.createBlock(l,{key:0,class:"p-8 text-center"},{default:e.withCtx(()=>[...t[1]||(t[1]=[e.createElementVNode("p",{class:"text-lg font-medium"},"Setup required",-1)])]),_:1}))])}}}),Xe=H._export_sfc(Qe,[["__scopeId","data-v-4f3ae270"]]);exports.default=Xe;