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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (578) hide show
  1. package/dist/Acquisition-DgzDQH51.js +1 -0
  2. package/dist/Acquisition-FV3QpaUX.mjs +400 -0
  3. package/dist/AgendaOpeningHoursCard-B7ROIPWw.js +1 -0
  4. package/dist/AgendaOpeningHoursCard-Cp4wxUeK.mjs +172 -0
  5. package/dist/AppointmentDetailsCard-33WpATpV.mjs +161 -0
  6. package/dist/AppointmentDetailsCard-DpLM5IrB.js +1 -0
  7. package/dist/AppointmentEditor-BeOtYV6u.mjs +196 -0
  8. package/dist/AppointmentEditor-CaTfbkIf.js +1 -0
  9. package/dist/AppointmentListTable-DZJNmTMb.mjs +177 -0
  10. package/dist/AppointmentListTable-Dieu9US_.js +1 -0
  11. package/dist/Audience-BSgNvcVb.js +1 -0
  12. package/dist/Audience-ka0b7YPE.mjs +489 -0
  13. package/dist/Components-C83O-xlF.mjs +623 -0
  14. package/dist/Components-DXbx0RLV.js +1 -0
  15. package/dist/Content-BHr_rPVY.js +1 -0
  16. package/dist/Content-CYOZKvWK.mjs +358 -0
  17. package/dist/ContentEditor-pZPfo0qN.mjs +30802 -0
  18. package/dist/ContentEditor-tYkh4vRV.js +462 -0
  19. package/dist/CountryBreakdownCard-D7BK3nRD.js +1 -0
  20. package/dist/CountryBreakdownCard-DVxNz2DJ.mjs +196 -0
  21. package/dist/Create--MOBOTA-.js +1 -0
  22. package/dist/Create-BXNLRQag.mjs +1251 -0
  23. package/dist/DateFormatter-CSAbE3BC.js +1 -0
  24. package/dist/DateFormatter-qbhRYxI_.mjs +738 -0
  25. package/dist/Detail-BCOcP2ql.mjs +585 -0
  26. package/dist/Detail-Btzwo0Y3.mjs +3477 -0
  27. package/dist/Detail-Byk781b4.mjs +26 -0
  28. package/dist/Detail-C8wQiDcv.js +1 -0
  29. package/dist/Detail-CPqug27l.js +1 -0
  30. package/dist/Detail-ChD5XurA.mjs +379 -0
  31. package/dist/Detail-CjuhjPby.js +1 -0
  32. package/dist/Detail-DnX7tsqN.mjs +649 -0
  33. package/dist/Detail-RISEJJab.js +1 -0
  34. package/dist/Detail-mvSGbnFU.js +1 -0
  35. package/dist/DeviceBreakdownCard-DRhQ9ufG.js +1 -0
  36. package/dist/DeviceBreakdownCard-W1frLe0L.mjs +159 -0
  37. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-DWMqQvHl.mjs +76 -0
  38. package/dist/EditLayout.vue_vue_type_script_setup_true_lang-kpjbVSXg.js +1 -0
  39. package/dist/Entries-BdhUyJR5.mjs +728 -0
  40. package/dist/Entries-CEXM_SkO.js +1 -0
  41. package/dist/Find-D4Qa45qC.js +1 -0
  42. package/dist/Find-zN_dKz4p.mjs +229 -0
  43. package/dist/GlobalStyling-C9VthHWK.mjs +1588 -0
  44. package/dist/GlobalStyling-CnSlXkZc.js +25 -0
  45. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Baqy-rTT.js +1 -0
  46. package/dist/NewReservationDialog.vue_vue_type_script_setup_true_lang-Dx4Bpa2m.mjs +1263 -0
  47. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-COrK1j0S.js +1 -0
  48. package/dist/OrderDetailDialog.vue_vue_type_script_setup_true_lang-Vb3q8EVv.mjs +330 -0
  49. package/dist/Overview-98nkJUWN.mjs +481 -0
  50. package/dist/Overview-BCpJNiEB.mjs +190 -0
  51. package/dist/Overview-BDlBCUI_.js +1 -0
  52. package/dist/Overview-BR_y8x3W.mjs +860 -0
  53. package/dist/Overview-BbvfH1u-.js +1 -0
  54. package/dist/Overview-Bn1Xx3_j.js +1 -0
  55. package/dist/Overview-CIa1E-HH.mjs +178 -0
  56. package/dist/Overview-CX-n6W7d.js +1 -0
  57. package/dist/Overview-DAxCu9XC.js +1 -0
  58. package/dist/Overview-Dl8cMlsr.js +1 -0
  59. package/dist/Overview-MpgkLB6m.mjs +567 -0
  60. package/dist/Overview-Su8ZUbMs.mjs +26 -0
  61. package/dist/Overview-T-lsy3UZ.js +1 -0
  62. package/dist/Overview-lWAyyenp.mjs +632 -0
  63. package/dist/PeakHoursCard-9-EZFZLR.mjs +182 -0
  64. package/dist/PeakHoursCard-BR5zmta4.js +1 -0
  65. package/dist/ProductDetailsCard-6nHikw4V.mjs +121 -0
  66. package/dist/ProductDetailsCard-Bn7qrgmc.js +1 -0
  67. package/dist/RealtimeCard--APfRNc8.js +1 -0
  68. package/dist/RealtimeCard-fvQlJcM7.mjs +126 -0
  69. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-CuwREvXD.js +349 -0
  70. package/dist/ReservationDetailDialog.vue_vue_type_script_setup_true_lang-GYNZ_yhD.mjs +3077 -0
  71. package/dist/SearchTermsCard-BsB-63aH.js +1 -0
  72. package/dist/SearchTermsCard-BzVrHKqQ.mjs +201 -0
  73. package/dist/SendPush-COns44j7.js +1 -0
  74. package/dist/SendPush-CPIOjVX4.mjs +184 -0
  75. package/dist/SeoHealth-C5npw7mE.js +1 -0
  76. package/dist/SeoHealth-bVQj_Xgm.mjs +615 -0
  77. package/dist/TableView-Bf1fdJrD.mjs +6159 -0
  78. package/dist/TableView-DNcXyIMu.js +4 -0
  79. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +1 -0
  80. package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +40 -0
  81. package/dist/TopPagesCard-BDeA997A.js +1 -0
  82. package/dist/TopPagesCard-CTozhOr_.mjs +159 -0
  83. package/dist/TrafficSourcesCard-BxtCKsqx.mjs +197 -0
  84. package/dist/TrafficSourcesCard-C3ziDTUL.js +1 -0
  85. package/dist/View-CsudjxCE.mjs +30 -0
  86. package/dist/View-Dw_wA6kK.js +1 -0
  87. package/dist/VisitorStatsCard-BmByE_Hi.js +1 -0
  88. package/dist/VisitorStatsCard-CXizEbVK.mjs +174 -0
  89. package/dist/_plugin-vue_export-helper-BHFhmbuH.js +1 -0
  90. package/dist/_plugin-vue_export-helper-CHgC5LLL.mjs +9 -0
  91. package/dist/agenda-BaJu3-1c.js +1 -0
  92. package/dist/agenda-BwVY_8oM.mjs +1165 -0
  93. package/dist/availability-CMrRa5y2.mjs +269 -0
  94. package/dist/availability-Cf2YfMwM.js +1 -0
  95. package/dist/booking-data-DgJd0BcM.mjs +889 -0
  96. package/dist/booking-data-Di5GmH_8.js +1 -0
  97. package/dist/cms-core-modules.css +1 -2
  98. package/dist/countries-BTPvmrsb.mjs +4 -0
  99. package/dist/countries-CgZ081No.js +1 -0
  100. package/dist/exceptions-B6P9UiCj.js +1 -0
  101. package/dist/exceptions-De9-FvdP.mjs +646 -0
  102. package/dist/google-CvtuJwgk.mjs +4 -0
  103. package/dist/google-D4N3gb01.js +1 -0
  104. package/dist/index-4tjmIans.js +1 -0
  105. package/dist/index-9HVlmvK3.js +1 -0
  106. package/dist/index-B8GvmAwh.mjs +1403 -0
  107. package/dist/index-BIF2RB7k.mjs +2836 -0
  108. package/dist/index-BWDwEd8D.mjs +24 -0
  109. package/dist/index-BfBBm9uY.mjs +24 -0
  110. package/dist/index-Bkq58CeQ.mjs +22 -0
  111. package/dist/index-ByRsp77L.js +70 -0
  112. package/dist/index-CFzn2Lus.mjs +172 -0
  113. package/dist/index-CJQQBRLY.js +1 -0
  114. package/dist/index-CQkOH2_3.mjs +24 -0
  115. package/dist/index-CSxYBeVA.js +1 -0
  116. package/dist/index-CU-tbS5W.mjs +24 -0
  117. package/dist/index-CZn2nDLv.mjs +34 -0
  118. package/dist/index-CkVwMqpn.mjs +3857 -0
  119. package/dist/index-CkiNvRzs.js +1 -0
  120. package/dist/index-Co4ON2Di.js +1 -0
  121. package/dist/index-Cpnn_Pxd.mjs +24 -0
  122. package/dist/index-CsVeM3PA.mjs +24 -0
  123. package/dist/index-CwqrAU-H.js +1 -0
  124. package/dist/index-CxETuRsG.js +1 -0
  125. package/dist/index-Cz-baGax.js +1 -0
  126. package/dist/index-DFQGVHTs.js +1 -0
  127. package/dist/index-DL6orwdK.js +35 -0
  128. package/dist/index-DPd3waTN.js +1 -0
  129. package/dist/index-DRqJOqUR.mjs +3484 -0
  130. package/dist/index-DUlYrnXH.js +58 -0
  131. package/dist/index-DZV720u-.mjs +439 -0
  132. package/dist/index-D_nfGegA.js +184 -0
  133. package/dist/index-DjWuIBxh.js +1 -0
  134. package/dist/index-Dnn2SCSl.js +1 -0
  135. package/dist/index-Dpl9sU6a.mjs +12 -0
  136. package/dist/index-DrXxXB2F.mjs +138 -0
  137. package/dist/index-DtSvAFLL.js +54 -0
  138. package/dist/index-L54VBzwJ.mjs +109 -0
  139. package/dist/index-R2oUDsjx.js +1 -0
  140. package/dist/index-RLz1QPrf.mjs +203 -0
  141. package/dist/index-UtjLbLw-.js +1 -0
  142. package/dist/index-cOnxXTbF.mjs +24 -0
  143. package/dist/index-hH3e-IYz.mjs +1187 -0
  144. package/dist/index-hlylYYgy.mjs +24 -0
  145. package/dist/index-ijdf0d9-.js +1 -0
  146. package/dist/index.cjs.js +1 -1
  147. package/dist/index.mjs +806 -1095
  148. package/dist/interpolation-CHn59tIC.js +1 -0
  149. package/dist/interpolation-w7IRDJwK.mjs +180 -0
  150. package/dist/math-BJ-oX_IM.mjs +80 -0
  151. package/dist/math-emotyaF6.js +1 -0
  152. package/dist/orders-C65SlpJy.mjs +618 -0
  153. package/dist/orders-XVzWAgG1.js +1 -0
  154. package/dist/payment-C3ohkehF.mjs +1080 -0
  155. package/dist/payment-Dfr-Ro-a.js +1 -0
  156. package/dist/regular-1LXNPviB.js +1 -0
  157. package/dist/regular-_05oq5Tx.mjs +1101 -0
  158. package/dist/resources-CxeFd57z.js +1 -0
  159. package/dist/resources-DwYxn2Vi.mjs +811 -0
  160. package/dist/server-handlers.cjs.js +1 -1
  161. package/dist/server-handlers.mjs +996 -1049
  162. package/dist/src/appointments/chat-components/AgendaOpeningHoursCard.vue.d.ts +15 -0
  163. package/dist/src/appointments/chat-components/AppointmentDetailsCard.vue.d.ts +14 -0
  164. package/dist/src/appointments/chat-components/AppointmentEditor.vue.d.ts +14 -0
  165. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +14 -0
  166. package/dist/src/appointments/components/create/StepNavigation.vue.d.ts +32 -0
  167. package/dist/src/appointments/components/create/regular/Step1.vue.d.ts +2 -0
  168. package/dist/src/appointments/components/create/regular/Step2.vue.d.ts +2 -0
  169. package/dist/src/appointments/components/create/regular/Step3.vue.d.ts +2 -0
  170. package/dist/src/appointments/components/create/regular/Step4.vue.d.ts +2 -0
  171. package/dist/src/appointments/components/edit/CustomerInformationFieldEditorDialog.vue.d.ts +24 -0
  172. package/dist/src/appointments/components/edit/EditLayout.vue.d.ts +17 -0
  173. package/dist/src/appointments/components/edit/Event24hSidebar.vue.d.ts +2 -0
  174. package/dist/src/appointments/components/edit/EventDialog/ApproveReservationDialog.vue.d.ts +8 -0
  175. package/dist/src/appointments/components/edit/EventDialog/BookingsList.vue.d.ts +136 -0
  176. package/dist/src/appointments/components/edit/EventDialog/CancelReservationDialog.vue.d.ts +8 -0
  177. package/dist/src/appointments/components/edit/EventDialog/EventDialog.vue.d.ts +11 -0
  178. package/dist/src/appointments/components/edit/EventDialog/OrderDetailDialog.vue.d.ts +55 -0
  179. package/dist/src/appointments/components/edit/EventDialog/RejectReservationDialog.vue.d.ts +8 -0
  180. package/dist/src/appointments/components/edit/EventDialog/ReservationDetailDialog.vue.d.ts +87 -0
  181. package/dist/src/appointments/components/edit/EventDialog/TimelineChart.vue.d.ts +24 -0
  182. package/dist/src/appointments/components/edit/EventDialog/TransferReservationDialog.vue.d.ts +4 -0
  183. package/dist/src/appointments/components/edit/EventTimeIndicator.vue.d.ts +12 -0
  184. package/dist/src/appointments/components/edit/EventTimeline.vue.d.ts +48 -0
  185. package/dist/src/appointments/components/edit/EventView.vue.d.ts +9 -0
  186. package/dist/src/appointments/components/edit/ExceptionDialog.vue.d.ts +29 -0
  187. package/dist/src/appointments/components/edit/MetadataSchemaEditorDialog.vue.d.ts +12 -0
  188. package/dist/src/appointments/components/edit/NewReservationDialog/CustomerInformation.vue.d.ts +10 -0
  189. package/dist/src/appointments/components/edit/NewReservationDialog/NewReservationDialog.vue.d.ts +26 -0
  190. package/dist/src/appointments/components/edit/NewReservationDialog/QuickReservationAdder.vue.d.ts +26 -0
  191. package/dist/src/appointments/components/edit/NewReservationDialog/ReservationLines.vue.d.ts +31 -0
  192. package/dist/src/appointments/components/edit/OrderMetadataDisplay.vue.d.ts +21 -0
  193. package/dist/src/appointments/components/edit/PaymentAddons/Addon.vue.d.ts +22 -0
  194. package/dist/src/appointments/components/edit/PaymentAddons/AddonList.vue.d.ts +5 -0
  195. package/dist/src/appointments/components/edit/PaymentAddons/index.vue.d.ts +15 -0
  196. package/dist/src/appointments/components/edit/ResourceEditorDialog.vue.d.ts +13 -0
  197. package/dist/src/appointments/components/edit/dashboard/Timeline.vue.d.ts +36 -0
  198. package/dist/src/appointments/components/edit/dashboard/timeline/ResourceSelector.vue.d.ts +50 -0
  199. package/dist/src/appointments/index.d.ts +12 -9
  200. package/dist/src/appointments/index.vue.d.ts +22 -0
  201. package/dist/src/appointments/metadata.d.ts +1 -1
  202. package/dist/src/appointments/pages/Overview.vue.d.ts +4 -0
  203. package/dist/src/appointments/pages/create/index.vue.d.ts +2 -0
  204. package/dist/src/appointments/pages/create/regular.vue.d.ts +6 -0
  205. package/dist/src/appointments/pages/edit/agenda.vue.d.ts +4 -0
  206. package/dist/src/appointments/pages/edit/availability.vue.d.ts +2 -0
  207. package/dist/src/appointments/pages/edit/booking-data.vue.d.ts +65 -0
  208. package/dist/src/appointments/pages/edit/index.vue.d.ts +2 -0
  209. package/dist/src/appointments/pages/edit/payment.vue.d.ts +2 -0
  210. package/dist/src/appointments/pages/edit/resources.vue.d.ts +28 -0
  211. package/dist/src/appointments/routes.d.ts +6 -3
  212. package/dist/src/contentManager/components/components/ComponentDialog.vue.d.ts +12 -0
  213. package/dist/src/contentManager/components/components/ComponentGridItem.vue.d.ts +16 -0
  214. package/dist/src/contentManager/components/content-editor/ApiDocs.vue.d.ts +2 -0
  215. package/dist/src/contentManager/components/content-editor/ContentLayout.vue.d.ts +49 -0
  216. package/dist/src/contentManager/components/content-editor/ContentSettings.vue.d.ts +24 -0
  217. package/dist/src/contentManager/components/content-editor/ContentStructuredContentSections.vue.d.ts +4 -0
  218. package/dist/src/contentManager/components/content-editor/Header.vue.d.ts +64 -0
  219. package/dist/src/contentManager/components/content-editor/LivePreviewWrapper.vue.d.ts +53 -0
  220. package/dist/src/contentManager/components/content-editor/Locales.vue.d.ts +44 -0
  221. package/dist/src/contentManager/components/content-editor/NewSectionDialog.vue.d.ts +21 -0
  222. package/dist/src/contentManager/components/content-editor/PageSettings.vue.d.ts +2 -0
  223. package/dist/src/contentManager/components/content-editor/SEO.vue.d.ts +14 -0
  224. package/dist/src/contentManager/components/content-editor/SidebarSectionWrapper.vue.d.ts +39 -0
  225. package/dist/src/contentManager/components/content-editor/Status.vue.d.ts +2 -0
  226. package/dist/src/contentManager/components/content-editor/Versions.vue.d.ts +63 -0
  227. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Button.vue.d.ts +94 -0
  228. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Card.vue.d.ts +92 -0
  229. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Column.vue.d.ts +92 -0
  230. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Container.vue.d.ts +92 -0
  231. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Divider.vue.d.ts +92 -0
  232. package/dist/src/contentManager/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +94 -0
  233. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Heading.vue.d.ts +92 -0
  234. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Image.vue.d.ts +92 -0
  235. package/dist/src/contentManager/components/content-editor/tiptap-extensions/LockBlocks.d.ts +0 -15
  236. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Map.vue.d.ts +92 -0
  237. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +92 -0
  238. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.vue.d.ts +115 -0
  239. package/dist/src/contentManager/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts +1 -2
  240. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.vue.d.ts +115 -0
  241. package/dist/src/contentManager/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +1 -4
  242. package/dist/src/contentManager/components/content-editor/tiptap-extensions/Video.vue.d.ts +92 -0
  243. package/dist/src/contentManager/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +92 -0
  244. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +108 -0
  245. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +20 -0
  246. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +104 -0
  247. package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts +1 -0
  248. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +19 -0
  249. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +19 -0
  250. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +29 -0
  251. package/dist/src/contentManager/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +13 -0
  252. package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +19 -0
  253. package/dist/src/contentManager/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +8 -0
  254. package/dist/src/contentManager/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +47 -0
  255. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +6 -0
  256. package/dist/src/contentManager/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +17 -0
  257. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +13 -0
  258. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +13 -0
  259. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +13 -0
  260. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +13 -0
  261. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +13 -0
  262. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +13 -0
  263. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +13 -0
  264. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +13 -0
  265. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +13 -0
  266. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +13 -0
  267. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +13 -0
  268. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +13 -0
  269. package/dist/src/contentManager/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +132 -12
  270. package/dist/src/contentManager/components/overview/CollectionDialog.vue.d.ts +30 -0
  271. package/dist/src/contentManager/components/overview/CollectionsGridView.vue.d.ts +18 -0
  272. package/dist/src/contentManager/components/overview/ContentEntryContextMenu.vue.d.ts +27 -0
  273. package/dist/src/contentManager/components/overview/FilterPopover.vue.d.ts +2 -0
  274. package/dist/src/contentManager/components/overview/ListView.vue.d.ts +12 -0
  275. package/dist/src/contentManager/components/styling/ButtonStyleDialog.vue.d.ts +24 -0
  276. package/dist/src/contentManager/components/styling/CardStyleDialog.vue.d.ts +24 -0
  277. package/dist/src/contentManager/components/styling/SectionStyleDialog.vue.d.ts +24 -0
  278. package/dist/src/contentManager/index.d.ts +14 -5
  279. package/dist/src/contentManager/index.vue.d.ts +22 -0
  280. package/dist/src/contentManager/metadata.d.ts +1 -1
  281. package/dist/src/contentManager/pages/Components.vue.d.ts +27 -0
  282. package/dist/src/contentManager/pages/ContentEditor.vue.d.ts +14 -0
  283. package/dist/src/contentManager/pages/Entries.vue.d.ts +16 -0
  284. package/dist/src/contentManager/pages/GlobalStyling.vue.d.ts +117 -0
  285. package/dist/src/contentManager/pages/Overview.vue.d.ts +57 -0
  286. package/dist/src/contentManager/routes.d.ts +12 -3
  287. package/dist/src/custom/index.d.ts +2 -2
  288. package/dist/src/custom/index.vue.d.ts +2 -0
  289. package/dist/src/custom/pages/View.vue.d.ts +2 -0
  290. package/dist/src/custom/routes.d.ts +1 -1
  291. package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +14 -0
  292. package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +14 -0
  293. package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +14 -0
  294. package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +14 -0
  295. package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +14 -0
  296. package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +14 -0
  297. package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +14 -0
  298. package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +14 -0
  299. package/dist/src/googleAnalytics/components/seo-health/SeoClicksChart.vue.d.ts +5 -0
  300. package/dist/src/googleAnalytics/components/seo-health/SeoImpressionsChart.vue.d.ts +5 -0
  301. package/dist/src/googleAnalytics/components/seo-health/SeoKeywordsTab.vue.d.ts +5 -0
  302. package/dist/src/googleAnalytics/components/seo-health/SeoKpiCards.vue.d.ts +10 -0
  303. package/dist/src/googleAnalytics/components/seo-health/SeoMappingTab.vue.d.ts +5 -0
  304. package/dist/src/googleAnalytics/components/seo-health/SeoPagesTab.vue.d.ts +5 -0
  305. package/dist/src/googleAnalytics/components/seo-health/SeoRankingDistribution.vue.d.ts +5 -0
  306. package/dist/src/googleAnalytics/index.d.ts +10 -10
  307. package/dist/src/googleAnalytics/index.vue.d.ts +2 -0
  308. package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +2 -0
  309. package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +2 -0
  310. package/dist/src/googleAnalytics/pages/Content.vue.d.ts +2 -0
  311. package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +2 -0
  312. package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +2 -0
  313. package/dist/src/googleAnalytics/routes.d.ts +1 -1
  314. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +2 -0
  315. package/dist/src/mailTemplates/index.d.ts +3 -3
  316. package/dist/src/mailTemplates/index.vue.d.ts +22 -0
  317. package/dist/src/mailTemplates/metadata.d.ts +1 -1
  318. package/dist/src/mailTemplates/pages/Detail.vue.d.ts +14 -0
  319. package/dist/src/mailTemplates/pages/Overview.vue.d.ts +14 -0
  320. package/dist/src/mailTemplates/routes.d.ts +1 -1
  321. package/dist/src/productCollections/components/detail/Main.vue.d.ts +2 -0
  322. package/dist/src/productCollections/components/detail/SEO.vue.d.ts +2 -0
  323. package/dist/src/productCollections/components/detail/Status.vue.d.ts +2 -0
  324. package/dist/src/productCollections/components/overview/ListView.vue.d.ts +12 -0
  325. package/dist/src/productCollections/index.d.ts +3 -3
  326. package/dist/src/productCollections/index.vue.d.ts +22 -0
  327. package/dist/src/productCollections/metadata.d.ts +1 -1
  328. package/dist/src/productCollections/pages/Detail.vue.d.ts +14 -0
  329. package/dist/src/productCollections/pages/Overview.vue.d.ts +16 -0
  330. package/dist/src/productCollections/routes.d.ts +1 -1
  331. package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +14 -0
  332. package/dist/src/products/components/detail/Collections.vue.d.ts +14 -0
  333. package/dist/src/products/components/detail/Inventory.vue.d.ts +2 -0
  334. package/dist/src/products/components/detail/Main.vue.d.ts +2 -0
  335. package/dist/src/products/components/detail/NewSection.vue.d.ts +2 -0
  336. package/dist/src/products/components/detail/Price.vue.d.ts +2 -0
  337. package/dist/src/products/components/detail/SEO.vue.d.ts +2 -0
  338. package/dist/src/products/components/detail/Shipping.vue.d.ts +2 -0
  339. package/dist/src/products/components/detail/Status.vue.d.ts +2 -0
  340. package/dist/src/products/components/detail/price/UnitPriceDialog.vue.d.ts +17 -0
  341. package/dist/src/products/components/detail/variants/Option.vue.d.ts +33 -0
  342. package/dist/src/products/components/detail/variants/VariantList.vue.d.ts +38 -0
  343. package/dist/src/products/components/overview/FilterPopover.vue.d.ts +2 -0
  344. package/dist/src/products/components/overview/GridView.vue.d.ts +12 -0
  345. package/dist/src/products/components/overview/ListView.vue.d.ts +12 -0
  346. package/dist/src/products/components/overview/ProductContextMenu.vue.d.ts +27 -0
  347. package/dist/src/products/index.d.ts +4 -4
  348. package/dist/src/products/index.vue.d.ts +22 -0
  349. package/dist/src/products/metadata.d.ts +1 -1
  350. package/dist/src/products/pages/Detail.vue.d.ts +14 -0
  351. package/dist/src/products/pages/Overview.vue.d.ts +16 -0
  352. package/dist/src/products/routes.d.ts +1 -1
  353. package/dist/src/promoCodes/components/create/DateRange.vue.d.ts +2 -0
  354. package/dist/src/promoCodes/components/create/MultiCodes.vue.d.ts +2 -0
  355. package/dist/src/promoCodes/components/create/Note.vue.d.ts +2 -0
  356. package/dist/src/promoCodes/components/create/SingleCode.vue.d.ts +2 -0
  357. package/dist/src/promoCodes/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +6 -0
  358. package/dist/src/promoCodes/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +18 -0
  359. package/dist/src/promoCodes/components/create/TypeAndValue/index.vue.d.ts +2 -0
  360. package/dist/src/promoCodes/index.d.ts +3 -3
  361. package/dist/src/promoCodes/index.vue.d.ts +22 -0
  362. package/dist/src/promoCodes/metadata.d.ts +1 -1
  363. package/dist/src/promoCodes/pages/Create.vue.d.ts +16 -0
  364. package/dist/src/promoCodes/pages/Detail.vue.d.ts +14 -0
  365. package/dist/src/promoCodes/pages/Find.vue.d.ts +16 -0
  366. package/dist/src/promoCodes/routes.d.ts +1 -1
  367. package/dist/src/push-notifications/components/PreviewAndroid.vue.d.ts +28 -0
  368. package/dist/src/push-notifications/components/PreviewIPhone.vue.d.ts +28 -0
  369. package/dist/src/push-notifications/components/PushPreview.vue.d.ts +28 -0
  370. package/dist/src/push-notifications/index.d.ts +3 -3
  371. package/dist/src/push-notifications/index.vue.d.ts +22 -0
  372. package/dist/src/push-notifications/metadata.d.ts +1 -1
  373. package/dist/src/push-notifications/pages/SendPush.vue.d.ts +14 -0
  374. package/dist/src/push-notifications/routes.d.ts +1 -1
  375. package/dist/src/shared/BrandLogo.vue.d.ts +12 -0
  376. package/dist/src/shared/DrawerToggle.vue.d.ts +60 -0
  377. package/dist/src/shared/VerticalToggle.vue.d.ts +60 -0
  378. package/dist/src/shippingOptions/components/detail/Condition.vue.d.ts +2 -0
  379. package/dist/src/shippingOptions/components/detail/Countries.vue.d.ts +2 -0
  380. package/dist/src/shippingOptions/components/detail/Example.vue.d.ts +2 -0
  381. package/dist/src/shippingOptions/components/detail/Main.vue.d.ts +2 -0
  382. package/dist/src/shippingOptions/components/overview/ListView.vue.d.ts +12 -0
  383. package/dist/src/shippingOptions/index.d.ts +3 -3
  384. package/dist/src/shippingOptions/index.vue.d.ts +22 -0
  385. package/dist/src/shippingOptions/metadata.d.ts +1 -1
  386. package/dist/src/shippingOptions/pages/Detail.vue.d.ts +14 -0
  387. package/dist/src/shippingOptions/pages/Overview.vue.d.ts +16 -0
  388. package/dist/src/shippingOptions/routes.d.ts +1 -1
  389. package/dist/src/table/components/DataTable.vue.d.ts +18 -0
  390. package/dist/src/table/components/DataTableAction.vue.d.ts +14 -0
  391. package/dist/src/table/components/DataTableMobileRowActionDrawer.vue.d.ts +4 -0
  392. package/dist/src/table/components/DataTablePagination.vue.d.ts +6 -0
  393. package/dist/src/table/components/actions/ActionDialog.vue.d.ts +19 -0
  394. package/dist/src/table/components/actions/CtaActionDialog.vue.d.ts +4 -0
  395. package/dist/src/table/components/columns/ColumnDropdown.vue.d.ts +2 -0
  396. package/dist/src/table/components/columns/ColumnEditorDialog.vue.d.ts +34 -0
  397. package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +12 -0
  398. package/dist/src/table/components/date-range-filter/DateRangeFilter.vue.d.ts +2 -0
  399. package/dist/src/table/components/date-range-filter/DateRangeSettingsDialog.vue.d.ts +27 -0
  400. package/dist/src/table/components/filters/FilterDialog.vue.d.ts +12 -0
  401. package/dist/src/table/components/filters/Filters.vue.d.ts +27 -0
  402. package/dist/src/table/components/search/Search.vue.d.ts +2 -0
  403. package/dist/src/table/components/sort/SortMode.vue.d.ts +2 -0
  404. package/dist/src/table/components/sort/SortModeSettingsDialog.vue.d.ts +18 -0
  405. package/dist/src/table/components/stats/StatDialog.vue.d.ts +12 -0
  406. package/dist/src/table/components/stats/Stats.vue.d.ts +27 -0
  407. package/dist/src/table/flow-builder-extensions/TableRowEditor.vue.d.ts +16 -0
  408. package/dist/src/table/flow-builder-extensions/row-item.d.ts +17 -3
  409. package/dist/src/table/index.d.ts +2 -2
  410. package/dist/src/table/index.vue.d.ts +22 -0
  411. package/dist/src/table/pages/TableView.vue.d.ts +54 -0
  412. package/dist/src/table/routes.d.ts +1 -1
  413. package/dist/src/types/index.d.ts +0 -6
  414. package/dist/utils-CanmrIWO.mjs +47 -0
  415. package/dist/utils-Yd6F5mea.js +3 -0
  416. package/dist/vee-validate-zod-ByykgYKJ.js +1 -0
  417. package/dist/vee-validate-zod-DNjTLCgh.mjs +4402 -0
  418. package/package.json +56 -55
  419. package/dist/Acquisition-DypEyPSO.js +0 -1
  420. package/dist/Acquisition-TCNX-th6.mjs +0 -308
  421. package/dist/AgendaOpeningHoursCard-BIhm0vpV.js +0 -1
  422. package/dist/AgendaOpeningHoursCard-BKUdJxRI.mjs +0 -133
  423. package/dist/AppointmentDetailsCard-C5rQ5jsW.js +0 -1
  424. package/dist/AppointmentDetailsCard-NRHeNP2L.mjs +0 -111
  425. package/dist/AppointmentEditor-BcF8CiD-.mjs +0 -150
  426. package/dist/AppointmentEditor-BlhFtoCm.js +0 -1
  427. package/dist/AppointmentListTable-B-ReBVtV.js +0 -1
  428. package/dist/AppointmentListTable-DHmy-iid.mjs +0 -129
  429. package/dist/Audience-CfWHjjg8.mjs +0 -394
  430. package/dist/Audience-Cj4TyauW.js +0 -1
  431. package/dist/Components-BehelN4r.js +0 -1
  432. package/dist/Components-CR6zukUU.mjs +0 -468
  433. package/dist/Content-C5Iye3t0.mjs +0 -257
  434. package/dist/Content-eOfBx52Y.js +0 -1
  435. package/dist/ContentEditor-BgL4qEeg.mjs +0 -26835
  436. package/dist/ContentEditor-Tlu3w0Hu.js +0 -462
  437. package/dist/CountryBreakdownCard-CWVyB8be.mjs +0 -151
  438. package/dist/CountryBreakdownCard-Db-pMiNe.js +0 -1
  439. package/dist/Create-B1it8S4m.js +0 -1
  440. package/dist/Create-DbYi0FAI.mjs +0 -907
  441. package/dist/DateFormatter-DLrDYkby.mjs +0 -630
  442. package/dist/DateFormatter-Dni0Oq8r.js +0 -1
  443. package/dist/Detail-D-eahJGO.mjs +0 -21
  444. package/dist/Detail-D0kdPPIm.mjs +0 -2757
  445. package/dist/Detail-DAafePYi.mjs +0 -485
  446. package/dist/Detail-DYpv4fYg.js +0 -1
  447. package/dist/Detail-Dc_ui4LM.js +0 -1
  448. package/dist/Detail-DccUekl_.js +0 -1
  449. package/dist/Detail-Dhz0V0Vf.js +0 -1
  450. package/dist/Detail-DjnGY0F8.mjs +0 -282
  451. package/dist/Detail-DplAitHg.mjs +0 -447
  452. package/dist/Detail-SugyeSxb.js +0 -1
  453. package/dist/DeviceBreakdownCard-CzxZT6To.js +0 -1
  454. package/dist/DeviceBreakdownCard-eEwPjzKl.mjs +0 -115
  455. package/dist/EditLayout-Bnz9q_jd.js +0 -1
  456. package/dist/EditLayout-J_DGXb8v.mjs +0 -99
  457. package/dist/Entries-CgpWg6fE.js +0 -1
  458. package/dist/Entries-CkGTXcAq.mjs +0 -575
  459. package/dist/Find-Bz0TNJzk.mjs +0 -164
  460. package/dist/Find-D-ItTXaZ.js +0 -1
  461. package/dist/GlobalStyling-CSQPF7o_.mjs +0 -1162
  462. package/dist/GlobalStyling-DabldMZh.js +0 -15
  463. package/dist/NewReservationDialog-BhIiY2B9.js +0 -1
  464. package/dist/NewReservationDialog-CN49aGcM.mjs +0 -1002
  465. package/dist/OrderDetailDialog-BJ01DZFe.js +0 -1
  466. package/dist/OrderDetailDialog-CoVQ_rzs.mjs +0 -215
  467. package/dist/Overview-9FMgn5hT.mjs +0 -492
  468. package/dist/Overview-BOOwMQ-c.mjs +0 -636
  469. package/dist/Overview-Biz3h60w.js +0 -1
  470. package/dist/Overview-C2K2ofdS.js +0 -1
  471. package/dist/Overview-CFHOXP9N.mjs +0 -123
  472. package/dist/Overview-CTJe7J5_.js +0 -1
  473. package/dist/Overview-Cvj2i9eW.js +0 -1
  474. package/dist/Overview-D2I1F8Dm.mjs +0 -21
  475. package/dist/Overview-DFOc9emt.mjs +0 -345
  476. package/dist/Overview-Dmhfb94Y.js +0 -1
  477. package/dist/Overview-PPzv7weG.mjs +0 -450
  478. package/dist/Overview-qFKcXHVF.js +0 -1
  479. package/dist/Overview-xkmYYTae.mjs +0 -133
  480. package/dist/Overview-yPsLvR2c.js +0 -1
  481. package/dist/PeakHoursCard-CtgEP-ez.mjs +0 -157
  482. package/dist/PeakHoursCard-DPeoMyhu.js +0 -1
  483. package/dist/ProductDetailsCard-B0WhmzO-.mjs +0 -98
  484. package/dist/ProductDetailsCard-C1ROuH6l.js +0 -1
  485. package/dist/RealtimeCard-DQno-Okz.js +0 -1
  486. package/dist/RealtimeCard-dR-g1iDo.mjs +0 -92
  487. package/dist/ReservationDetailDialog-Cdo6h0RD.mjs +0 -2163
  488. package/dist/ReservationDetailDialog-DZTFD2xI.js +0 -349
  489. package/dist/SearchTermsCard-BXJSXz_k.js +0 -1
  490. package/dist/SearchTermsCard-DsaxLKwP.mjs +0 -146
  491. package/dist/SendPush-Bssi-OZD.mjs +0 -150
  492. package/dist/SendPush-BuaYboRH.js +0 -1
  493. package/dist/SeoHealth-CP-kL0us.js +0 -1
  494. package/dist/SeoHealth-Cxp_Gb3Y.mjs +0 -459
  495. package/dist/TableView-7iwBkQ_k.mjs +0 -4757
  496. package/dist/TableView-BB_oIYYZ.js +0 -4
  497. package/dist/TemplateList-CNcM_Kgq.mjs +0 -56
  498. package/dist/TemplateList-VuPcBUJO.js +0 -1
  499. package/dist/TopPagesCard-CvDECn3_.mjs +0 -117
  500. package/dist/TopPagesCard-DNdATXJE.js +0 -1
  501. package/dist/TrafficSourcesCard-BLpBr7u0.mjs +0 -151
  502. package/dist/TrafficSourcesCard-_3gRUCw3.js +0 -1
  503. package/dist/View-DSnUHI7h.mjs +0 -30
  504. package/dist/View-Dbcfpdqh.js +0 -1
  505. package/dist/VisitorStatsCard-CFEnXSjF.mjs +0 -185
  506. package/dist/VisitorStatsCard-C_jhQxDW.js +0 -1
  507. package/dist/_plugin-vue_export-helper-5u7tqpWC.js +0 -1
  508. package/dist/_plugin-vue_export-helper-BJQSo0im.mjs +0 -8
  509. package/dist/agenda-CzMRcQTA.mjs +0 -989
  510. package/dist/agenda-D4zWRYSQ.js +0 -1
  511. package/dist/appointments-9syR5TZE.js +0 -1
  512. package/dist/appointments-BBmOJMhM.mjs +0 -23
  513. package/dist/array-BH1uH7XT.js +0 -1
  514. package/dist/array-DnDL9cFz.mjs +0 -98
  515. package/dist/availability-CAXB7Yd6.js +0 -1
  516. package/dist/availability-Dp7eF-ZK.mjs +0 -215
  517. package/dist/booking-data-Bysf6e5x.mjs +0 -724
  518. package/dist/booking-data-C6SGjC2X.js +0 -1
  519. package/dist/chunk-DQi1bQcV.js +0 -1
  520. package/dist/contentManager-D7JxXCwE.js +0 -1
  521. package/dist/contentManager-tfy0x1LD.mjs +0 -22
  522. package/dist/context-AQKfnJ4t.mjs +0 -3809
  523. package/dist/context-ubyMq9Xe.js +0 -54
  524. package/dist/core-Dhgr4ctC.mjs +0 -202
  525. package/dist/core-_HKfBlaZ.js +0 -1
  526. package/dist/countries-MXLT3mVe.mjs +0 -4
  527. package/dist/countries-OCd5qPxG.js +0 -1
  528. package/dist/create-BfNc2C7N.js +0 -1
  529. package/dist/create-C7JlIlIh.mjs +0 -95
  530. package/dist/custom-BwN9-6Mb.js +0 -1
  531. package/dist/custom-INNwaWla.mjs +0 -13
  532. package/dist/dist-BCVg7FKM.js +0 -1
  533. package/dist/dist-DIhK9VWh.mjs +0 -3045
  534. package/dist/edit-BiI2VG60.js +0 -35
  535. package/dist/edit-DD3iFBEh.mjs +0 -1097
  536. package/dist/exceptions-DICMaDcH.mjs +0 -462
  537. package/dist/exceptions-DpWqMNuG.js +0 -1
  538. package/dist/google-Bcc4XZnV.mjs +0 -4
  539. package/dist/google-DTSRmJ51.js +0 -1
  540. package/dist/googleAnalytics-BSaqRR_L.js +0 -1
  541. package/dist/googleAnalytics-Cg-iWblZ.mjs +0 -47
  542. package/dist/interpolation-B8OzkMyi.mjs +0 -131
  543. package/dist/interpolation-DpAqtGOW.js +0 -1
  544. package/dist/lib-4wSi00Vr.js +0 -1
  545. package/dist/lib-BZgXUui5.mjs +0 -198
  546. package/dist/line-DJdnFNI7.js +0 -75
  547. package/dist/line-tYLnEDGV.mjs +0 -1500
  548. package/dist/mailTemplates-BNk8fhVS.mjs +0 -23
  549. package/dist/mailTemplates-DswHzyQe.js +0 -1
  550. package/dist/orders-CIc0JlKX.mjs +0 -512
  551. package/dist/orders-DwPSi_pD.js +0 -1
  552. package/dist/payment-BsNWFaDm.js +0 -1
  553. package/dist/payment-Ced5_dpa.mjs +0 -718
  554. package/dist/productCollections-Cuvw_8zC.js +0 -1
  555. package/dist/productCollections-D0AxRlzr.mjs +0 -23
  556. package/dist/products-DUD-ZMkR.mjs +0 -22
  557. package/dist/products-DvX9B-Ul.js +0 -1
  558. package/dist/promoCodes-BCWqN6w4.mjs +0 -23
  559. package/dist/promoCodes-CEZ4LYot.js +0 -1
  560. package/dist/push-notifications-BGp4XWo9.js +0 -1
  561. package/dist/push-notifications-C7W7KuzR.mjs +0 -23
  562. package/dist/regular-BCFrS6lK.mjs +0 -908
  563. package/dist/regular-DBqPgT8C.js +0 -1
  564. package/dist/resources-DwsMmWgm.mjs +0 -669
  565. package/dist/resources-Dz81GkHe.js +0 -1
  566. package/dist/shippingOptions-C3NEJff1.mjs +0 -23
  567. package/dist/shippingOptions-Cy040ZW1.js +0 -1
  568. package/dist/single-container-BJmmqq65.mjs +0 -468
  569. package/dist/single-container-Xoo0Xzxv.js +0 -58
  570. package/dist/src/vue-shim.d.ts +0 -7
  571. package/dist/table-DWw0fs3S.js +0 -1
  572. package/dist/table-LXt5DQOL.mjs +0 -23
  573. package/dist/utils-CVIHqQsU.js +0 -3
  574. package/dist/utils-h3owcMtS.mjs +0 -37
  575. package/dist/vee-validate-zod-BmXMJo8W.js +0 -1
  576. package/dist/vee-validate-zod-D9dZzbWZ.mjs +0 -4985
  577. package/dist/xy-container-CuQSwrtB.mjs +0 -3180
  578. package/dist/xy-container-_6YpscZh.js +0 -158
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("lucide-vue-next"),M={class:"w-full"},R={key:0,class:"flex items-center gap-2 py-3"},U={key:1,class:"text-xs text-destructive py-2"},j={key:2,class:"rounded-xl border bg-background p-4 text-center space-y-2"},q={key:3,class:"rounded-xl border bg-background overflow-hidden"},G={class:"px-3 py-2 border-b bg-muted/40 flex items-center justify-between"},I={class:"flex items-center gap-2"},Q={class:"text-xs font-medium"},K={class:"text-[10px] text-muted-foreground"},O={class:"divide-y"},H={class:"flex items-center gap-2 mb-1.5"},J={class:"text-[10px] font-medium text-muted-foreground w-5 text-right shrink-0"},W={class:"text-xs font-medium truncate flex-1"},X={class:"ml-7 space-y-1.5"},Y={class:"h-1.5 rounded-full bg-muted overflow-hidden"},Z={key:0,class:"flex items-center gap-3 text-[10px] text-muted-foreground"},ee={class:"flex items-center gap-1"},te={class:"flex items-center gap-1"},se={class:"flex items-center gap-1"},oe={class:"flex items-center gap-1"},ne={key:1,class:"flex items-center gap-3 text-[10px] text-muted-foreground"},re={class:"flex items-center gap-1"},ae={class:"flex items-center gap-1"},ce={class:"flex items-center gap-1"},le={class:"px-3 py-2 border-t bg-muted/20 flex items-center justify-between"},ie={class:"text-[10px] text-muted-foreground"},de=e.defineComponent({__name:"SearchTermsCard",props:{toolName:{},instanceId:{},instanceName:{},moduleType:{},resolvedArgs:{},status:{}},emits:["submit"],setup(x,{emit:N}){const{$useRoute:V,$useModuleApi:k}=useNuxtApp(),i=x,S=N,b=V(),E=e.computed(()=>b.params.slug),T=k(i.instanceId),m=e.ref(!0),d=e.ref(null),o=e.ref([]),_=e.ref(0),g=e.ref(null),u=e.ref("google_ads"),D=t=>t.label||t.query||t.sessionGoogleAdsQuery||t.landingPagePlusQueryString||"—";function B(){const t=i.resolvedArgs?._cachedData;return t?(u.value=t.source||"google_ads",t.source==="search_console"?o.value=(t.searchTerms||[]).map(s=>({label:s.term,clicks:s.clicks,impressions:s.impressions,ctr:s.ctr,position:s.position})):o.value=(t.searchTerms||[]).map(s=>({label:s.term,sessions:s.sessions,totalUsers:s.users,engagementRate:parseFloat(s.engagementRate)/100})),_.value=t.count||o.value.length,g.value=i.resolvedArgs._fetchedAt||null,m.value=!1,!0):!1}async function $(){const{startDate:t,endDate:s}=i.resolvedArgs||{};m.value=!0,d.value=null;try{const a=new URLSearchParams;t&&a.set("startDate",t),s&&a.set("endDate",s);const n=await T.get(`/content/search-terms?${a.toString()}`),l=n.source||"google_ads";if(u.value=l,l==="search_console")o.value=(n.rows||[]).map(r=>({...r,label:r.query}));else{const r=l==="organic_landing_pages"?"landingPagePlusQueryString":"sessionGoogleAdsQuery";o.value=(n.rows||[]).map(f=>({...f,label:f[r]}))}_.value=n.rowCount||o.value.length,g.value=new Date().toISOString();const F=()=>{if(o.value.length===0)return"No search data found for this period.";const r=o.value.slice(0,5).map(f=>f.label).join(", ");return l==="search_console"?`Found ${o.value.length} search queries from Google Search Console. The top keywords are: ${r}.`:l==="organic_landing_pages"?`Found ${o.value.length} pages receiving organic search traffic. The top organic landing pages are: ${r}.`:`Found ${o.value.length} search terms. The top keywords driving traffic are: ${r}.`},P=o.value.map(r=>l==="search_console"?{term:r.label,clicks:r.clicks,impressions:r.impressions,ctr:r.ctr,position:r.position}:{term:r.label,sessions:r.sessions,users:r.totalUsers,engagementRate:`${(r.engagementRate*100).toFixed(1)}%`});v({count:o.value.length,source:l,searchTerms:P,suggestion:F()})}catch(a){d.value=a?.data?.statusMessage||a?.message||"Failed to load search data",v(`Error loading search data: ${d.value}`)}finally{m.value=!1}}e.onMounted(()=>{i.status==="completed"&&B()||$()});function v(t){i.status!=="completed"&&S("submit",t)}const p=t=>t==null?"0":Math.round(t).toLocaleString(),y=t=>t==null?"0%":`${(t*100).toFixed(1)}%`,w=t=>t==null?"—":t.toFixed(1),C=t=>t?new Date(t).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"",h=e.computed(()=>u.value==="search_console"),L=e.computed(()=>o.value.length===0?1:h.value?Math.max(...o.value.map(t=>t.clicks||0)):Math.max(...o.value.map(t=>t.sessions||0))),A=e.computed(()=>u.value==="search_console"?"Search Keywords (Search Console)":u.value==="organic_landing_pages"?"Top Organic Landing Pages":"Search Terms & Keywords"),z=e.computed(()=>{const{startDate:t,endDate:s}=i.resolvedArgs||{};if(!t&&!s)return"Last 30 days";const a=t||"30daysAgo",n=a.match(/^(\d+)daysAgo$/);return n?`Last ${n[1]} days`:`${a} → ${s||"today"}`});return(t,s)=>{const a=e.resolveComponent("NuxtLink");return e.openBlock(),e.createElementBlock("div",M,[e.unref(m)?(e.openBlock(),e.createElementBlock("div",R,[e.createVNode(e.unref(c.Loader2),{class:"size-4 animate-spin text-muted-foreground"}),s[0]||(s[0]=e.createElementVNode("span",{class:"text-xs text-muted-foreground"},"Loading search data…",-1))])):e.unref(d)?(e.openBlock(),e.createElementBlock("div",U,e.toDisplayString(e.unref(d)),1)):e.unref(o).length===0?(e.openBlock(),e.createElementBlock("div",j,[e.createVNode(e.unref(c.Search),{class:"size-8 text-muted-foreground mx-auto"}),s[1]||(s[1]=e.createElementVNode("p",{class:"text-sm text-muted-foreground"},"No search data found for this period.",-1))])):(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("div",G,[e.createElementVNode("div",I,[e.createVNode(e.unref(c.Search),{class:"size-3.5 text-primary"}),e.createElementVNode("span",Q,e.toDisplayString(e.unref(A)),1)]),e.createElementVNode("span",K,e.toDisplayString(e.unref(z)),1)]),e.createElementVNode("div",O,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),(n,l)=>(e.openBlock(),e.createElementBlock("div",{key:l,class:"px-3 py-2.5 hover:bg-muted/30 transition-colors"},[e.createElementVNode("div",H,[e.createElementVNode("span",J,e.toDisplayString(l+1)+".",1),e.createElementVNode("span",W,e.toDisplayString(D(n)),1)]),e.createElementVNode("div",X,[e.createElementVNode("div",Y,[e.createElementVNode("div",{class:"h-full rounded-full bg-amber-500/70 transition-all",style:e.normalizeStyle({width:`${((e.unref(h)?n.clicks:n.sessions)||0)/e.unref(L)*100}%`})},null,4)]),e.unref(h)?(e.openBlock(),e.createElementBlock("div",Z,[e.createElementVNode("span",ee,[e.createVNode(e.unref(c.MousePointerClick),{class:"size-2.5"}),e.createTextVNode(" "+e.toDisplayString(p(n.clicks))+" clicks ",1)]),e.createElementVNode("span",te,[e.createVNode(e.unref(c.Eye),{class:"size-2.5"}),e.createTextVNode(" "+e.toDisplayString(p(n.impressions))+" impr. ",1)]),e.createElementVNode("span",se,[e.createVNode(e.unref(c.TrendingUp),{class:"size-2.5"}),e.createTextVNode(" "+e.toDisplayString(y(n.ctr))+" CTR ",1)]),e.createElementVNode("span",oe,[e.createVNode(e.unref(c.Hash),{class:"size-2.5"}),e.createTextVNode(" pos "+e.toDisplayString(w(n.position)),1)])])):(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("span",re,[e.createVNode(e.unref(c.MousePointerClick),{class:"size-2.5"}),e.createTextVNode(" "+e.toDisplayString(p(n.sessions))+" sessions ",1)]),e.createElementVNode("span",ae,[e.createVNode(e.unref(c.Users),{class:"size-2.5"}),e.createTextVNode(" "+e.toDisplayString(p(n.totalUsers))+" users ",1)]),e.createElementVNode("span",ce,[e.createVNode(e.unref(c.TrendingUp),{class:"size-2.5"}),e.createTextVNode(" "+e.toDisplayString(y(n.engagementRate))+" engaged ",1)])]))])]))),128))]),e.createElementVNode("div",le,[e.createElementVNode("span",ie,[e.createTextVNode(e.toDisplayString(e.unref(o).length)+" result"+e.toDisplayString(e.unref(o).length===1?"":"s")+" ",1),e.unref(g)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" · fetched "+e.toDisplayString(C(e.unref(g))),1)],64)):e.createCommentVNode("",!0)]),e.createVNode(a,{to:`/projects/${e.unref(E)}/modules/${x.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"}),s[2]||(s[2]=e.createTextVNode(" View full report ",-1))]),_:1},8,["to"])])]))])}}});exports.default=de;
@@ -0,0 +1,201 @@
1
+ import { defineComponent as J, computed as _, ref as h, onMounted as W, resolveComponent as X, openBlock as u, createElementBlock as m, unref as s, createVNode as l, createElementVNode as o, toDisplayString as i, Fragment as A, renderList as Y, normalizeStyle as Z, createTextVNode as g, createCommentVNode as ee, withCtx as se } from "vue";
2
+ import { Loader2 as te, Search as C, MousePointerClick as z, Eye as oe, TrendingUp as N, Hash as ne, Users as ae, ExternalLink as re } from "lucide-vue-next";
3
+ const ie = { class: "w-full" }, le = {
4
+ key: 0,
5
+ class: "flex items-center gap-2 py-3"
6
+ }, ce = {
7
+ key: 1,
8
+ class: "text-xs text-destructive py-2"
9
+ }, de = {
10
+ key: 2,
11
+ class: "rounded-xl border bg-background p-4 text-center space-y-2"
12
+ }, ue = {
13
+ key: 3,
14
+ class: "rounded-xl border bg-background overflow-hidden"
15
+ }, me = { class: "px-3 py-2 border-b bg-muted/40 flex items-center justify-between" }, ge = { class: "flex items-center gap-2" }, pe = { class: "text-xs font-medium" }, he = { class: "text-[10px] text-muted-foreground" }, fe = { class: "divide-y" }, xe = { class: "flex items-center gap-2 mb-1.5" }, _e = { class: "text-[10px] font-medium text-muted-foreground w-5 text-right shrink-0" }, ve = { class: "text-xs font-medium truncate flex-1" }, ye = { class: "ml-7 space-y-1.5" }, be = { class: "h-1.5 rounded-full bg-muted overflow-hidden" }, ke = {
16
+ key: 0,
17
+ class: "flex items-center gap-3 text-[10px] text-muted-foreground"
18
+ }, Se = { class: "flex items-center gap-1" }, $e = { class: "flex items-center gap-1" }, Te = { class: "flex items-center gap-1" }, we = { class: "flex items-center gap-1" }, Le = {
19
+ key: 1,
20
+ class: "flex items-center gap-3 text-[10px] text-muted-foreground"
21
+ }, Ae = { class: "flex items-center gap-1" }, Ce = { class: "flex items-center gap-1" }, ze = { class: "flex items-center gap-1" }, Ne = { class: "px-3 py-2 border-t bg-muted/20 flex items-center justify-between" }, De = { class: "text-[10px] text-muted-foreground" }, Me = /* @__PURE__ */ J({
22
+ __name: "SearchTermsCard",
23
+ props: {
24
+ toolName: {},
25
+ instanceId: {},
26
+ instanceName: {},
27
+ moduleType: {},
28
+ resolvedArgs: {},
29
+ status: {}
30
+ },
31
+ emits: ["submit"],
32
+ setup($, { emit: D }) {
33
+ const { $useRoute: F, $useModuleApi: P } = useNuxtApp(), p = $, M = D, R = F(), U = _(() => R.params.slug), j = P(p.instanceId), v = h(!0), f = h(null), n = h([]), T = h(0), y = h(null), x = h("google_ads"), E = (e) => e.label || e.query || e.sessionGoogleAdsQuery || e.landingPagePlusQueryString || "—";
34
+ function V() {
35
+ const e = p.resolvedArgs?._cachedData;
36
+ return e ? (x.value = e.source || "google_ads", e.source === "search_console" ? n.value = (e.searchTerms || []).map((t) => ({
37
+ label: t.term,
38
+ clicks: t.clicks,
39
+ impressions: t.impressions,
40
+ ctr: t.ctr,
41
+ position: t.position
42
+ })) : n.value = (e.searchTerms || []).map((t) => ({
43
+ label: t.term,
44
+ sessions: t.sessions,
45
+ totalUsers: t.users,
46
+ engagementRate: parseFloat(t.engagementRate) / 100
47
+ })), T.value = e.count || n.value.length, y.value = p.resolvedArgs._fetchedAt || null, v.value = !1, !0) : !1;
48
+ }
49
+ async function G() {
50
+ const { startDate: e, endDate: t } = p.resolvedArgs || {};
51
+ v.value = !0, f.value = null;
52
+ try {
53
+ const c = new URLSearchParams();
54
+ e && c.set("startDate", e), t && c.set("endDate", t);
55
+ const a = await j.get(`/content/search-terms?${c.toString()}`), d = a.source || "google_ads";
56
+ if (x.value = d, d === "search_console")
57
+ n.value = (a.rows || []).map((r) => ({
58
+ ...r,
59
+ label: r.query
60
+ }));
61
+ else {
62
+ const r = d === "organic_landing_pages" ? "landingPagePlusQueryString" : "sessionGoogleAdsQuery";
63
+ n.value = (a.rows || []).map((k) => ({
64
+ ...k,
65
+ label: k[r]
66
+ }));
67
+ }
68
+ T.value = a.rowCount || n.value.length, y.value = (/* @__PURE__ */ new Date()).toISOString();
69
+ const O = () => {
70
+ if (n.value.length === 0) return "No search data found for this period.";
71
+ const r = n.value.slice(0, 5).map((k) => k.label).join(", ");
72
+ return d === "search_console" ? `Found ${n.value.length} search queries from Google Search Console. The top keywords are: ${r}.` : d === "organic_landing_pages" ? `Found ${n.value.length} pages receiving organic search traffic. The top organic landing pages are: ${r}.` : `Found ${n.value.length} search terms. The top keywords driving traffic are: ${r}.`;
73
+ }, H = n.value.map((r) => d === "search_console" ? {
74
+ term: r.label,
75
+ clicks: r.clicks,
76
+ impressions: r.impressions,
77
+ ctr: r.ctr,
78
+ position: r.position
79
+ } : {
80
+ term: r.label,
81
+ sessions: r.sessions,
82
+ users: r.totalUsers,
83
+ engagementRate: `${(r.engagementRate * 100).toFixed(1)}%`
84
+ });
85
+ w({
86
+ count: n.value.length,
87
+ source: d,
88
+ searchTerms: H,
89
+ suggestion: O()
90
+ });
91
+ } catch (c) {
92
+ f.value = c?.data?.statusMessage || c?.message || "Failed to load search data", w(`Error loading search data: ${f.value}`);
93
+ } finally {
94
+ v.value = !1;
95
+ }
96
+ }
97
+ W(() => {
98
+ p.status === "completed" && V() || G();
99
+ });
100
+ function w(e) {
101
+ p.status !== "completed" && M("submit", e);
102
+ }
103
+ const b = (e) => e == null ? "0" : Math.round(e).toLocaleString(), L = (e) => e == null ? "0%" : `${(e * 100).toFixed(1)}%`, I = (e) => e == null ? "—" : e.toFixed(1), Q = (e) => e ? new Date(e).toLocaleString(void 0, { month: "short", day: "numeric", hour: "2-digit", minute: "2-digit" }) : "", S = _(() => x.value === "search_console"), q = _(() => n.value.length === 0 ? 1 : S.value ? Math.max(...n.value.map((e) => e.clicks || 0)) : Math.max(...n.value.map((e) => e.sessions || 0))), K = _(() => x.value === "search_console" ? "Search Keywords (Search Console)" : x.value === "organic_landing_pages" ? "Top Organic Landing Pages" : "Search Terms & Keywords"), B = _(() => {
104
+ const { startDate: e, endDate: t } = p.resolvedArgs || {};
105
+ if (!e && !t) return "Last 30 days";
106
+ const c = e || "30daysAgo", a = c.match(/^(\d+)daysAgo$/);
107
+ return a ? `Last ${a[1]} days` : `${c} → ${t || "today"}`;
108
+ });
109
+ return (e, t) => {
110
+ const c = X("NuxtLink");
111
+ return u(), m("div", ie, [
112
+ s(v) ? (u(), m("div", le, [
113
+ l(s(te), { class: "size-4 animate-spin text-muted-foreground" }),
114
+ t[0] || (t[0] = o("span", { class: "text-xs text-muted-foreground" }, "Loading search data…", -1))
115
+ ])) : s(f) ? (u(), m("div", ce, i(s(f)), 1)) : s(n).length === 0 ? (u(), m("div", de, [
116
+ l(s(C), { class: "size-8 text-muted-foreground mx-auto" }),
117
+ t[1] || (t[1] = o("p", { class: "text-sm text-muted-foreground" }, "No search data found for this period.", -1))
118
+ ])) : (u(), m("div", ue, [
119
+ o("div", me, [
120
+ o("div", ge, [
121
+ l(s(C), { class: "size-3.5 text-primary" }),
122
+ o("span", pe, i(s(K)), 1)
123
+ ]),
124
+ o("span", he, i(s(B)), 1)
125
+ ]),
126
+ o("div", fe, [
127
+ (u(!0), m(A, null, Y(s(n), (a, d) => (u(), m("div", {
128
+ key: d,
129
+ class: "px-3 py-2.5 hover:bg-muted/30 transition-colors"
130
+ }, [
131
+ o("div", xe, [
132
+ o("span", _e, i(d + 1) + ".", 1),
133
+ o("span", ve, i(E(a)), 1)
134
+ ]),
135
+ o("div", ye, [
136
+ o("div", be, [
137
+ o("div", {
138
+ class: "h-full rounded-full bg-amber-500/70 transition-all",
139
+ style: Z({ width: `${((s(S) ? a.clicks : a.sessions) || 0) / s(q) * 100}%` })
140
+ }, null, 4)
141
+ ]),
142
+ s(S) ? (u(), m("div", ke, [
143
+ o("span", Se, [
144
+ l(s(z), { class: "size-2.5" }),
145
+ g(" " + i(b(a.clicks)) + " clicks ", 1)
146
+ ]),
147
+ o("span", $e, [
148
+ l(s(oe), { class: "size-2.5" }),
149
+ g(" " + i(b(a.impressions)) + " impr. ", 1)
150
+ ]),
151
+ o("span", Te, [
152
+ l(s(N), { class: "size-2.5" }),
153
+ g(" " + i(L(a.ctr)) + " CTR ", 1)
154
+ ]),
155
+ o("span", we, [
156
+ l(s(ne), { class: "size-2.5" }),
157
+ g(" pos " + i(I(a.position)), 1)
158
+ ])
159
+ ])) : (u(), m("div", Le, [
160
+ o("span", Ae, [
161
+ l(s(z), { class: "size-2.5" }),
162
+ g(" " + i(b(a.sessions)) + " sessions ", 1)
163
+ ]),
164
+ o("span", Ce, [
165
+ l(s(ae), { class: "size-2.5" }),
166
+ g(" " + i(b(a.totalUsers)) + " users ", 1)
167
+ ]),
168
+ o("span", ze, [
169
+ l(s(N), { class: "size-2.5" }),
170
+ g(" " + i(L(a.engagementRate)) + " engaged ", 1)
171
+ ])
172
+ ]))
173
+ ])
174
+ ]))), 128))
175
+ ]),
176
+ o("div", Ne, [
177
+ o("span", De, [
178
+ g(i(s(n).length) + " result" + i(s(n).length === 1 ? "" : "s") + " ", 1),
179
+ s(y) ? (u(), m(A, { key: 0 }, [
180
+ g(" · fetched " + i(Q(s(y))), 1)
181
+ ], 64)) : ee("", !0)
182
+ ]),
183
+ l(c, {
184
+ to: `/projects/${s(U)}/modules/${$.instanceId}`,
185
+ class: "inline-flex items-center gap-1.5 text-xs text-primary hover:underline"
186
+ }, {
187
+ default: se(() => [
188
+ l(s(re), { class: "size-3" }),
189
+ t[2] || (t[2] = g(" View full report ", -1))
190
+ ]),
191
+ _: 1
192
+ }, 8, ["to"])
193
+ ])
194
+ ]))
195
+ ]);
196
+ };
197
+ }
198
+ });
199
+ export {
200
+ Me as default
201
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),m=require("@oneclick.dev/cms-kit"),_=require("./_plugin-vue_export-helper-BHFhmbuH.js"),v={class:"preview-iphone"},V={class:"push-container"},f={class:"inner"},N={class:"head"},h={class:"app-name"},y={class:"body"},x={class:"push-title"},S={class:"push-message"},E=e.defineComponent({__name:"PreviewIPhone",props:{app:{type:String,required:!0},title:{type:String,required:!0},message:{type:String,required:!0}},setup(t){return(l,o)=>(e.openBlock(),e.createElementBlock("div",v,[e.createElementVNode("div",V,[e.createElementVNode("div",f,[e.createElementVNode("div",N,[e.createElementVNode("span",h,e.toDisplayString(t.app),1),o[0]||(o[0]=e.createElementVNode("span",null,"now",-1))]),e.createElementVNode("div",y,[e.createElementVNode("span",x,e.toDisplayString(t.title),1),e.createElementVNode("span",S,e.toDisplayString(t.message),1)])])])]))}}),w=_._export_sfc(E,[["__scopeId","data-v-8c84cde9"]]),C={class:"preview-android"},B={class:"push-container"},k={class:"inner"},P={class:"head"},$={class:"app-name"},q={class:"body"},b={class:"push-title"},T={class:"push-message"},D=e.defineComponent({__name:"PreviewAndroid",props:{app:{type:String,required:!0},title:{type:String,required:!0},message:{type:String,required:!0}},setup(t){return(l,o)=>(e.openBlock(),e.createElementBlock("div",C,[e.createElementVNode("div",B,[e.createElementVNode("div",k,[e.createElementVNode("div",P,[o[0]||(o[0]=e.createElementVNode("span",{class:"notification-badge"},null,-1)),e.createElementVNode("span",$,e.toDisplayString(t.app),1),o[1]||(o[1]=e.createElementVNode("span",null,null,-1))]),e.createElementVNode("div",q,[e.createElementVNode("span",b,e.toDisplayString(t.title),1),e.createElementVNode("span",T,e.toDisplayString(t.message),1)])])])]))}}),I=_._export_sfc(D,[["__scopeId","data-v-202b94a8"]]),M={class:"flex flex-col"},O=e.defineComponent({__name:"PushPreview",props:{app:{type:String,required:!0},title:{type:String,required:!0},message:{type:String,required:!0}},setup(t){const l=t,o=e.ref("ios"),i=e.computed(()=>l.title.length>0?l.title:"Notification Preview"),d=e.computed(()=>l.message.length>0?l.message:"Preview your push notification");return(r,s)=>{const p=e.resolveComponent("SegmentedControlButton"),n=e.resolveComponent("SegmentedControl");return e.openBlock(),e.createElementBlock("div",M,[e.createVNode(n,{modelValue:e.unref(o),"onUpdate:modelValue":s[0]||(s[0]=a=>e.isRef(o)?o.value=a:null),class:"mx-auto mb-3"},{default:e.withCtx(()=>[e.createVNode(p,{value:"ios"},{default:e.withCtx(()=>[...s[1]||(s[1]=[e.createTextVNode(" iOS ",-1)])]),_:1}),e.createVNode(p,{value:"android"},{default:e.withCtx(()=>[...s[2]||(s[2]=[e.createTextVNode(" Android ",-1)])]),_:1})]),_:1},8,["modelValue"]),e.unref(o)=="ios"?(e.openBlock(),e.createBlock(w,{key:0,app:t.app,title:e.unref(i),message:e.unref(d)},null,8,["app","title","message"])):(e.openBlock(),e.createBlock(I,{key:1,app:t.app,title:e.unref(i),message:e.unref(d)},null,8,["app","title","message"]))])}}}),A={class:"relative"},L={class:"flex gap-12 bg-background rounded-lg p-6 shadow"},U={class:"flex flex-col gap-2 w-96"},j=e.defineComponent({__name:"SendPush",props:{config:{type:Object,required:!0}},setup(t){const{hasPermission:l}=m.useModulePermissions(),{log:o,logWarning:i,logError:d}=m.useLogs(),r=e.ref(""),s=e.ref("");return(p,n)=>{const a=e.resolveComponent("Label"),u=e.resolveComponent("Input"),g=e.resolveComponent("Button");return e.openBlock(),e.createElementBlock("div",A,[e.createElementVNode("div",L,[e.createElementVNode("div",U,[e.createVNode(a,{for:"send_push_title"},{default:e.withCtx(()=>[...n[2]||(n[2]=[e.createTextVNode("Title",-1)])]),_:1}),e.createVNode(u,{type:"text",modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=c=>r.value=c),id:"send_push_title"},null,8,["modelValue"]),e.createVNode(a,{for:"send_push_message"},{default:e.withCtx(()=>[...n[3]||(n[3]=[e.createTextVNode("Message",-1)])]),_:1}),e.createVNode(u,{type:"text",modelValue:s.value,"onUpdate:modelValue":n[1]||(n[1]=c=>s.value=c),id:"send_push_message"},null,8,["modelValue"]),e.createVNode(g,null,{default:e.withCtx(()=>[...n[4]||(n[4]=[e.createTextVNode("Send Push",-1)])]),_:1})]),e.createVNode(O,{class:"preview",app:t.config.appName,title:r.value,message:s.value},null,8,["app","title","message"])])])}}});exports.default=j;
@@ -0,0 +1,184 @@
1
+ import { defineComponent as g, openBlock as r, createElementBlock as v, createElementVNode as e, toDisplayString as d, ref as x, computed as w, resolveComponent as p, createVNode as i, isRef as q, unref as a, withCtx as u, createTextVNode as c, createBlock as P } from "vue";
2
+ import { useModulePermissions as B, useLogs as C } from "@oneclick.dev/cms-kit";
3
+ import { _ as V } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
4
+ const k = { class: "preview-iphone" }, I = { class: "push-container" }, N = { class: "inner" }, A = { class: "head" }, E = { class: "app-name" }, L = { class: "body" }, M = { class: "push-title" }, O = { class: "push-message" }, T = /* @__PURE__ */ g({
5
+ __name: "PreviewIPhone",
6
+ props: {
7
+ app: {
8
+ type: String,
9
+ required: !0
10
+ },
11
+ title: {
12
+ type: String,
13
+ required: !0
14
+ },
15
+ message: {
16
+ type: String,
17
+ required: !0
18
+ }
19
+ },
20
+ setup(t) {
21
+ return (l, s) => (r(), v("div", k, [
22
+ e("div", I, [
23
+ e("div", N, [
24
+ e("div", A, [
25
+ e("span", E, d(t.app), 1),
26
+ s[0] || (s[0] = e("span", null, "now", -1))
27
+ ]),
28
+ e("div", L, [
29
+ e("span", M, d(t.title), 1),
30
+ e("span", O, d(t.message), 1)
31
+ ])
32
+ ])
33
+ ])
34
+ ]));
35
+ }
36
+ }), U = /* @__PURE__ */ V(T, [["__scopeId", "data-v-8c84cde9"]]), j = { class: "preview-android" }, D = { class: "push-container" }, R = { class: "inner" }, W = { class: "head" }, z = { class: "app-name" }, F = { class: "body" }, G = { class: "push-title" }, H = { class: "push-message" }, J = /* @__PURE__ */ g({
37
+ __name: "PreviewAndroid",
38
+ props: {
39
+ app: {
40
+ type: String,
41
+ required: !0
42
+ },
43
+ title: {
44
+ type: String,
45
+ required: !0
46
+ },
47
+ message: {
48
+ type: String,
49
+ required: !0
50
+ }
51
+ },
52
+ setup(t) {
53
+ return (l, s) => (r(), v("div", j, [
54
+ e("div", D, [
55
+ e("div", R, [
56
+ e("div", W, [
57
+ s[0] || (s[0] = e("span", { class: "notification-badge" }, null, -1)),
58
+ e("span", z, d(t.app), 1),
59
+ s[1] || (s[1] = e("span", null, null, -1))
60
+ ]),
61
+ e("div", F, [
62
+ e("span", G, d(t.title), 1),
63
+ e("span", H, d(t.message), 1)
64
+ ])
65
+ ])
66
+ ])
67
+ ]));
68
+ }
69
+ }), K = /* @__PURE__ */ V(J, [["__scopeId", "data-v-202b94a8"]]), Q = { class: "flex flex-col" }, X = /* @__PURE__ */ g({
70
+ __name: "PushPreview",
71
+ props: {
72
+ app: {
73
+ type: String,
74
+ required: !0
75
+ },
76
+ title: {
77
+ type: String,
78
+ required: !0
79
+ },
80
+ message: {
81
+ type: String,
82
+ required: !0
83
+ }
84
+ },
85
+ setup(t) {
86
+ const l = t, s = x("ios"), f = w(() => l.title.length > 0 ? l.title : "Notification Preview"), h = w(() => l.message.length > 0 ? l.message : "Preview your push notification");
87
+ return (m, o) => {
88
+ const y = p("SegmentedControlButton"), n = p("SegmentedControl");
89
+ return r(), v("div", Q, [
90
+ i(n, {
91
+ modelValue: a(s),
92
+ "onUpdate:modelValue": o[0] || (o[0] = (_) => q(s) ? s.value = _ : null),
93
+ class: "mx-auto mb-3"
94
+ }, {
95
+ default: u(() => [
96
+ i(y, { value: "ios" }, {
97
+ default: u(() => [...o[1] || (o[1] = [
98
+ c(" iOS ", -1)
99
+ ])]),
100
+ _: 1
101
+ }),
102
+ i(y, { value: "android" }, {
103
+ default: u(() => [...o[2] || (o[2] = [
104
+ c(" Android ", -1)
105
+ ])]),
106
+ _: 1
107
+ })
108
+ ]),
109
+ _: 1
110
+ }, 8, ["modelValue"]),
111
+ a(s) == "ios" ? (r(), P(U, {
112
+ key: 0,
113
+ app: t.app,
114
+ title: a(f),
115
+ message: a(h)
116
+ }, null, 8, ["app", "title", "message"])) : (r(), P(K, {
117
+ key: 1,
118
+ app: t.app,
119
+ title: a(f),
120
+ message: a(h)
121
+ }, null, 8, ["app", "title", "message"]))
122
+ ]);
123
+ };
124
+ }
125
+ }), Y = { class: "relative" }, Z = { class: "flex gap-12 bg-background rounded-lg p-6 shadow" }, ee = { class: "flex flex-col gap-2 w-96" }, oe = /* @__PURE__ */ g({
126
+ __name: "SendPush",
127
+ props: {
128
+ config: {
129
+ type: Object,
130
+ required: !0
131
+ }
132
+ },
133
+ setup(t) {
134
+ const { hasPermission: l } = B(), { log: s, logWarning: f, logError: h } = C(), m = x(""), o = x("");
135
+ return (y, n) => {
136
+ const _ = p("Label"), $ = p("Input"), b = p("Button");
137
+ return r(), v("div", Y, [
138
+ e("div", Z, [
139
+ e("div", ee, [
140
+ i(_, { for: "send_push_title" }, {
141
+ default: u(() => [...n[2] || (n[2] = [
142
+ c("Title", -1)
143
+ ])]),
144
+ _: 1
145
+ }),
146
+ i($, {
147
+ type: "text",
148
+ modelValue: m.value,
149
+ "onUpdate:modelValue": n[0] || (n[0] = (S) => m.value = S),
150
+ id: "send_push_title"
151
+ }, null, 8, ["modelValue"]),
152
+ i(_, { for: "send_push_message" }, {
153
+ default: u(() => [...n[3] || (n[3] = [
154
+ c("Message", -1)
155
+ ])]),
156
+ _: 1
157
+ }),
158
+ i($, {
159
+ type: "text",
160
+ modelValue: o.value,
161
+ "onUpdate:modelValue": n[1] || (n[1] = (S) => o.value = S),
162
+ id: "send_push_message"
163
+ }, null, 8, ["modelValue"]),
164
+ i(b, null, {
165
+ default: u(() => [...n[4] || (n[4] = [
166
+ c("Send Push", -1)
167
+ ])]),
168
+ _: 1
169
+ })
170
+ ]),
171
+ i(X, {
172
+ class: "preview",
173
+ app: t.config.appName,
174
+ title: m.value,
175
+ message: o.value
176
+ }, null, 8, ["app", "title", "message"])
177
+ ])
178
+ ]);
179
+ };
180
+ }
181
+ });
182
+ export {
183
+ oe as default
184
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),w=require("@oneclick.dev/cms-kit"),m=require("lucide-vue-next");require("./index-DtSvAFLL.js");const _=require("@oneclick.dev/cms-kit/charts"),u=require("./index-D_nfGegA.js"),E=require("./index-ByRsp77L.js");function g(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:Math.round(t).toString()}function $(t){return`${(t*100).toFixed(1)}%`}function b(t){return t.toFixed(1)}function z(t){return t<=3?"text-emerald-600 dark:text-emerald-400":t<=10?"text-blue-600 dark:text-blue-400":t<=20?"text-amber-600 dark:text-amber-400":"text-red-600 dark:text-red-400"}function C(t){return t<=3?"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":t<=10?"bg-blue-500/10 text-blue-600 dark:text-blue-400":t<=20?"bg-amber-500/10 text-amber-600 dark:text-amber-400":"bg-red-500/10 text-red-600 dark:text-red-400"}function S(t){try{return new URL(t).pathname}catch{return t}}const P={class:"grid grid-cols-2 @3xl:grid-cols-4 gap-4"},M={class:"flex items-center flex-wrap gap-2 text-xs text-muted-foreground"},F={class:"text-2xl font-bold tabular-nums"},L={class:"flex items-center flex-wrap gap-2 text-xs text-muted-foreground"},R={class:"text-2xl font-bold tabular-nums"},q={class:"flex items-center flex-wrap gap-2 text-xs text-muted-foreground"},A={class:"text-2xl font-bold tabular-nums"},O={class:"flex items-center flex-wrap gap-2 text-xs text-muted-foreground"},U=e.defineComponent({__name:"SeoKpiCards",props:{totals:{}},setup(t){return(c,a)=>{const n=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",P,[e.createVNode(n,{class:"p-4 space-y-1"},{default:e.withCtx(()=>[e.createElementVNode("div",M,[e.createVNode(e.unref(m.MousePointerClick),{class:"size-3.5 shrink-0"}),a[0]||(a[0]=e.createTextVNode(" Total Clicks ",-1))]),e.createElementVNode("p",F,e.toDisplayString(e.unref(g)(t.totals.clicks)),1)]),_:1}),e.createVNode(n,{class:"p-4 space-y-1"},{default:e.withCtx(()=>[e.createElementVNode("div",L,[e.createVNode(e.unref(m.Eye),{class:"size-3.5 shrink-0"}),a[1]||(a[1]=e.createTextVNode(" Total Impressions ",-1))]),e.createElementVNode("p",R,e.toDisplayString(e.unref(g)(t.totals.impressions)),1)]),_:1}),e.createVNode(n,{class:"p-4 space-y-1"},{default:e.withCtx(()=>[e.createElementVNode("div",q,[e.createVNode(e.unref(m.TrendingUp),{class:"size-3.5 shrink-0"}),a[2]||(a[2]=e.createTextVNode(" Average CTR ",-1))]),e.createElementVNode("p",A,e.toDisplayString(e.unref($)(t.totals.ctr)),1)]),_:1}),e.createVNode(n,{class:"p-4 space-y-1"},{default:e.withCtx(()=>[e.createElementVNode("div",O,[e.createVNode(e.unref(m.Hash),{class:"size-3.5 shrink-0"}),a[3]||(a[3]=e.createTextVNode(" Avg Position ",-1))]),e.createElementVNode("p",{class:e.normalizeClass(["text-2xl font-bold tabular-nums",e.unref(z)(t.totals.avgPosition)])},e.toDisplayString(e.unref(b)(t.totals.avgPosition)),3)]),_:1})])}}}),K={class:"flex items-center gap-4"},I={class:"flex items-center gap-2"},H={class:"text-xs"},X={class:"flex items-center gap-2"},j={class:"text-xs"},G={class:"flex items-center gap-2"},J={class:"text-xs"},Q={class:"flex items-center gap-2"},W={class:"text-xs"},Y={key:0,class:"flex h-3 rounded-full overflow-hidden mt-3"},Z=e.defineComponent({__name:"SeoRankingDistribution",props:{keywords:{}},setup(t){const c=t,a=e.computed(()=>c.keywords.filter(s=>s.position<=3).length),n=e.computed(()=>c.keywords.filter(s=>s.position<=10).length),d=e.computed(()=>c.keywords.filter(s=>s.position<=20).length);return(s,o)=>{const l=e.resolveComponent("Card");return e.openBlock(),e.createBlock(l,{class:"p-4"},{default:e.withCtx(()=>[o[8]||(o[8]=e.createElementVNode("h3",{class:"text-sm font-medium mb-3"},"Keyword Ranking Distribution",-1)),e.createElementVNode("div",K,[e.createElementVNode("div",I,[o[1]||(o[1]=e.createElementVNode("span",{class:"inline-block w-3 h-3 rounded-full bg-emerald-500"},null,-1)),e.createElementVNode("span",H,[o[0]||(o[0]=e.createTextVNode("Top 3: ",-1)),e.createElementVNode("strong",null,e.toDisplayString(a.value),1)])]),e.createElementVNode("div",X,[o[3]||(o[3]=e.createElementVNode("span",{class:"inline-block w-3 h-3 rounded-full bg-blue-500"},null,-1)),e.createElementVNode("span",j,[o[2]||(o[2]=e.createTextVNode("Top 10: ",-1)),e.createElementVNode("strong",null,e.toDisplayString(n.value),1)])]),e.createElementVNode("div",G,[o[5]||(o[5]=e.createElementVNode("span",{class:"inline-block w-3 h-3 rounded-full bg-amber-500"},null,-1)),e.createElementVNode("span",J,[o[4]||(o[4]=e.createTextVNode("Top 20: ",-1)),e.createElementVNode("strong",null,e.toDisplayString(d.value),1)])]),e.createElementVNode("div",Q,[o[7]||(o[7]=e.createElementVNode("span",{class:"inline-block w-3 h-3 rounded-full bg-red-500"},null,-1)),e.createElementVNode("span",W,[o[6]||(o[6]=e.createTextVNode("20+: ",-1)),e.createElementVNode("strong",null,e.toDisplayString(t.keywords.length-d.value),1)])])]),t.keywords.length>0?(e.openBlock(),e.createElementBlock("div",Y,[e.createElementVNode("div",{class:"bg-emerald-500 transition-all",style:e.normalizeStyle({width:`${a.value/t.keywords.length*100}%`})},null,4),e.createElementVNode("div",{class:"bg-blue-500 transition-all",style:e.normalizeStyle({width:`${(n.value-a.value)/t.keywords.length*100}%`})},null,4),e.createElementVNode("div",{class:"bg-amber-500 transition-all",style:e.normalizeStyle({width:`${(d.value-n.value)/t.keywords.length*100}%`})},null,4),e.createElementVNode("div",{class:"bg-red-500 transition-all",style:e.normalizeStyle({width:`${(t.keywords.length-d.value)/t.keywords.length*100}%`})},null,4)])):e.createCommentVNode("",!0)]),_:1})}}}),ee={key:0,class:"h-48"},te={key:1,class:"text-xs text-muted-foreground text-center py-10"},oe=e.defineComponent({__name:"SeoClicksChart",props:{trends:{}},setup(t){const c=t,a=(o,l)=>l,n=o=>o.clicks||0,d=o=>{const l=c.trends[Math.round(o)];if(!l)return"";const i=new Date(l.date);return`${i.getDate()}/${i.getMonth()+1}`},s=o=>{const l=c.trends[Math.round(Number(o))];return l?new Date(l.date).toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"}):""};return(o,l)=>{const i=e.resolveComponent("Card");return e.openBlock(),e.createBlock(i,{class:"p-4"},{default:e.withCtx(()=>[l[0]||(l[0]=e.createElementVNode("h3",{class:"text-sm font-medium mb-3"},"Clicks Over Time",-1)),t.trends.length>1?(e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(e.unref(u.$),{data:t.trends,height:180},{default:e.withCtx(()=>[e.createVNode(e.unref(E.P),{x:a,y:n,color:"#3b82f6",opacity:.1,curveType:"monotoneX"}),e.createVNode(e.unref(E.S),{x:a,y:n,color:"#3b82f6",curveType:"monotoneX"}),e.createVNode(e.unref(u.O),{type:"x",tickFormat:d,numTicks:5,gridLine:!1}),e.createVNode(e.unref(u.O),{type:"y",gridLine:!0,numTicks:4}),e.createVNode(e.unref(u.A),{template:y=>e.unref(_.componentToString)(e.unref(_.ChartTooltipContent),{namePayload:[{name:"Clicks",value:y.clicks,color:"#3b82f6"}],labelFormatter:s})},null,8,["template"]),e.createVNode(e.unref(u.z))]),_:1},8,["data"])])):(e.openBlock(),e.createElementBlock("p",te,"Not enough data for chart"))]),_:1})}}}),ne={key:0,class:"h-48"},se={key:1,class:"text-xs text-muted-foreground text-center py-10"},re=e.defineComponent({__name:"SeoImpressionsChart",props:{trends:{}},setup(t){const c=t,a=(o,l)=>l,n=o=>o.impressions||0,d=o=>{const l=c.trends[Math.round(o)];if(!l)return"";const i=new Date(l.date);return`${i.getDate()}/${i.getMonth()+1}`},s=o=>{const l=c.trends[Math.round(Number(o))];return l?new Date(l.date).toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"}):""};return(o,l)=>{const i=e.resolveComponent("Card");return e.openBlock(),e.createBlock(i,{class:"p-4"},{default:e.withCtx(()=>[l[0]||(l[0]=e.createElementVNode("h3",{class:"text-sm font-medium mb-3"},"Impressions Over Time",-1)),t.trends.length>1?(e.openBlock(),e.createElementBlock("div",ne,[e.createVNode(e.unref(u.$),{data:t.trends,height:180},{default:e.withCtx(()=>[e.createVNode(e.unref(E.P),{x:a,y:n,color:"#8b5cf6",opacity:.1,curveType:"monotoneX"}),e.createVNode(e.unref(E.S),{x:a,y:n,color:"#8b5cf6",curveType:"monotoneX"}),e.createVNode(e.unref(u.O),{type:"x",tickFormat:d,numTicks:5,gridLine:!1}),e.createVNode(e.unref(u.O),{type:"y",gridLine:!0,numTicks:4}),e.createVNode(e.unref(u.A),{template:y=>e.unref(_.componentToString)(e.unref(_.ChartTooltipContent),{namePayload:[{name:"Impressions",value:y.impressions,color:"#8b5cf6"}],labelFormatter:s})},null,8,["template"]),e.createVNode(e.unref(u.z))]),_:1},8,["data"])])):(e.openBlock(),e.createElementBlock("p",se,"Not enough data for chart"))]),_:1})}}}),le={class:"divide-y"},ae={key:0,class:"p-8 text-center text-sm text-muted-foreground"},ce={class:"flex items-start @sm:items-center gap-3"},de={class:"text-xs font-medium text-muted-foreground w-6 text-right shrink-0 mt-0.5 @sm:mt-0"},ie={class:"flex-1 min-w-0"},me={class:"flex flex-col @sm:flex-row @sm:items-center gap-2 @sm:gap-3"},ue={class:"flex-1 min-w-0"},pe={class:"text-sm font-medium truncate"},fe={class:"h-1.5 rounded-full bg-muted overflow-hidden mt-1.5 max-w-xs"},xe={class:"flex items-center gap-3 @sm:gap-4 text-xs text-muted-foreground @sm:shrink-0 flex-wrap"},ge={class:"flex items-center gap-1"},ye={class:"flex items-center gap-1"},ke=e.defineComponent({__name:"SeoKeywordsTab",props:{keywords:{}},setup(t){const c=t,a=e.computed(()=>Math.max(...c.keywords.map(n=>n.clicks),1));return(n,d)=>(e.openBlock(),e.createElementBlock("div",le,[t.keywords.length===0?(e.openBlock(),e.createElementBlock("div",ae," No keyword data found for this period. ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.keywords,(s,o)=>(e.openBlock(),e.createElementBlock("div",{key:o,class:"px-4 py-3 hover:bg-muted/30 transition-colors"},[e.createElementVNode("div",ce,[e.createElementVNode("span",de,e.toDisplayString(o+1)+".",1),e.createElementVNode("div",ie,[e.createElementVNode("div",me,[e.createElementVNode("div",ue,[e.createElementVNode("p",pe,e.toDisplayString(s.query),1),e.createElementVNode("div",fe,[e.createElementVNode("div",{class:"h-full rounded-full bg-blue-500/70",style:e.normalizeStyle({width:`${s.clicks/a.value*100}%`})},null,4)])]),e.createElementVNode("div",xe,[e.createElementVNode("span",ge,[e.createVNode(e.unref(m.MousePointerClick),{class:"size-3"}),e.createTextVNode(" "+e.toDisplayString(e.unref(g)(s.clicks)),1)]),e.createElementVNode("span",ye,[e.createVNode(e.unref(m.Eye),{class:"size-3"}),e.createTextVNode(" "+e.toDisplayString(e.unref(g)(s.impressions)),1)]),e.createElementVNode("span",null,e.toDisplayString(e.unref($)(s.ctr)),1),e.createElementVNode("span",{class:e.normalizeClass(["inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium",e.unref(C)(s.position)])}," #"+e.toDisplayString(e.unref(b)(s.position)),3)])])])])]))),128))]))}}),ve={class:"divide-y"},Ne={key:0,class:"p-8 text-center text-sm text-muted-foreground"},Ve={class:"flex items-start @sm:items-center gap-3"},he={class:"text-xs font-medium text-muted-foreground w-6 text-right shrink-0 mt-0.5 @sm:mt-0"},_e={class:"flex-1 min-w-0"},Ee={class:"flex flex-col @sm:flex-row @sm:items-center gap-2 @sm:gap-3"},be={class:"flex-1 min-w-0"},we=["title"],$e={class:"h-1.5 rounded-full bg-muted overflow-hidden mt-1.5 max-w-xs"},Ce={class:"flex items-center gap-3 @sm:gap-4 text-xs text-muted-foreground @sm:shrink-0 flex-wrap"},Be={class:"flex items-center gap-1"},Se={class:"flex items-center gap-1"},Te=e.defineComponent({__name:"SeoPagesTab",props:{pages:{}},setup(t){const c=t,a=e.computed(()=>Math.max(...c.pages.map(n=>n.clicks),1));return(n,d)=>(e.openBlock(),e.createElementBlock("div",ve,[t.pages.length===0?(e.openBlock(),e.createElementBlock("div",Ne," No page data found for this period. ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pages,(s,o)=>(e.openBlock(),e.createElementBlock("div",{key:o,class:"px-4 py-3 hover:bg-muted/30 transition-colors"},[e.createElementVNode("div",Ve,[e.createElementVNode("span",he,e.toDisplayString(o+1)+".",1),e.createElementVNode("div",_e,[e.createElementVNode("div",Ee,[e.createElementVNode("div",be,[e.createElementVNode("p",{class:"text-sm font-medium truncate",title:s.page},e.toDisplayString(e.unref(S)(s.page)),9,we),e.createElementVNode("div",$e,[e.createElementVNode("div",{class:"h-full rounded-full bg-violet-500/70",style:e.normalizeStyle({width:`${s.clicks/a.value*100}%`})},null,4)])]),e.createElementVNode("div",Ce,[e.createElementVNode("span",Be,[e.createVNode(e.unref(m.MousePointerClick),{class:"size-3"}),e.createTextVNode(" "+e.toDisplayString(e.unref(g)(s.clicks)),1)]),e.createElementVNode("span",Se,[e.createVNode(e.unref(m.Eye),{class:"size-3"}),e.createTextVNode(" "+e.toDisplayString(e.unref(g)(s.impressions)),1)]),e.createElementVNode("span",null,e.toDisplayString(e.unref($)(s.ctr)),1),e.createElementVNode("span",{class:e.normalizeClass(["inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium",e.unref(C)(s.position)])}," #"+e.toDisplayString(e.unref(b)(s.position)),3)])])])])]))),128))]))}}),De={class:"divide-y"},ze={key:0,class:"p-8 text-center text-sm text-muted-foreground"},Pe={class:"flex items-start gap-3"},Me={class:"text-xs font-medium text-muted-foreground w-6 text-right shrink-0 mt-0.5"},Fe={class:"flex-1 min-w-0"},Le={class:"flex flex-col @sm:flex-row @sm:items-center gap-2 @sm:gap-3"},Re={class:"flex-1 min-w-0 space-y-0.5"},qe={class:"text-sm font-medium"},Ae=["title"],Oe={class:"flex items-center gap-3 @sm:gap-4 text-xs text-muted-foreground @sm:shrink-0 flex-wrap"},Ue={class:"flex items-center gap-1"},Ke=e.defineComponent({__name:"SeoMappingTab",props:{queryPages:{}},setup(t){return(c,a)=>(e.openBlock(),e.createElementBlock("div",De,[t.queryPages.length===0?(e.openBlock(),e.createElementBlock("div",ze," No query-page data found for this period. ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.queryPages,(n,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"px-4 py-3 hover:bg-muted/30 transition-colors"},[e.createElementVNode("div",Pe,[e.createElementVNode("span",Me,e.toDisplayString(d+1)+".",1),e.createElementVNode("div",Fe,[e.createElementVNode("div",Le,[e.createElementVNode("div",Re,[e.createElementVNode("p",qe,e.toDisplayString(n.query),1),e.createElementVNode("p",{class:"text-xs text-muted-foreground truncate",title:n.page},"→ "+e.toDisplayString(e.unref(S)(n.page)),9,Ae)]),e.createElementVNode("div",Oe,[e.createElementVNode("span",Ue,[e.createVNode(e.unref(m.MousePointerClick),{class:"size-3"}),e.createTextVNode(" "+e.toDisplayString(e.unref(g)(n.clicks)),1)]),e.createElementVNode("span",{class:e.normalizeClass(["inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium",e.unref(C)(n.position)])}," #"+e.toDisplayString(e.unref(b)(n.position)),3)])])])])]))),128))]))}}),Ie={class:"flex flex-col gap-6 w-full max-w-7xl mx-auto py-8"},He={class:"flex justify-between gap-4 flex-col @lg:flex-row @lg:items-center"},Xe={key:0,class:"flex items-center gap-2"},je={class:"flex items-center border rounded-lg overflow-hidden"},Ge=["onClick"],Je={class:"text-sm text-destructive font-medium"},Qe={key:3,class:"flex items-center justify-center py-20"},We={class:"grid grid-cols-1 @3xl:grid-cols-2 gap-4"},Ye={class:"border-b"},Ze={class:"flex"},et=e.defineComponent({__name:"SeoHealth",setup(t){const{config:c}=w.useModule(),{moduleId:a}=w.useModuleRoute();w.useModuleBreadcrumbs(()=>[{label:"SEO Health"}]);const n=e.ref(!0),d=e.ref(null),s=e.ref("30"),o=e.ref([]),l=e.ref({clicks:0,impressions:0,ctr:0,avgPosition:0}),i=e.ref([]),y=e.ref([]),B=e.ref([]),v=e.computed(()=>!!(c.serviceAccount&&c.propertyId&&c.siteUrl)),T=e.computed(()=>!!c.siteUrl);function N(x){return`/api/v1/modules/${a}${x}`}const D=[{label:"7d",value:"7"},{label:"14d",value:"14"},{label:"30d",value:"30"},{label:"90d",value:"90"}];async function V(){if(!v.value)return;n.value=!0,d.value=null;const x=`${s.value}daysAgo`;try{const[r,h,k,f]=await Promise.all([$fetch(N(`/seo/trends?startDate=${x}&endDate=today`)),$fetch(N(`/seo/keywords?startDate=${x}&endDate=today&limit=50`)),$fetch(N(`/seo/pages?startDate=${x}&endDate=today&limit=30`)),$fetch(N(`/seo/query-pages?startDate=${x}&endDate=today`))]);o.value=r.rows||[],l.value=r.totals||{clicks:0,impressions:0,ctr:0,avgPosition:0},i.value=h.rows||[],y.value=k.rows||[],B.value=f.rows||[]}catch(r){d.value=r?.data?.statusMessage||r?.message||"Failed to load SEO data"}finally{n.value=!1}}e.watch(s,()=>V()),e.onMounted(()=>{v.value?V():n.value=!1});const p=e.ref("keywords");return(x,r)=>{const h=e.resolveComponent("Button"),k=e.resolveComponent("Card");return e.openBlock(),e.createElementBlock("div",Ie,[e.createElementVNode("div",He,[r[3]||(r[3]=e.createElementVNode("div",null,[e.createElementVNode("h1",{class:"text-2xl font-semibold"},"SEO Health"),e.createElementVNode("p",{class:"text-muted-foreground text-sm mt-1"},"Search Console performance & keyword rankings")],-1)),v.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.createElementVNode("div",je,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(D,f=>e.createElementVNode("button",{key:f.value,class:e.normalizeClass(["px-3 py-1.5 text-xs font-medium transition-colors",s.value===f.value?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:tt=>s.value=f.value},e.toDisplayString(f.label),11,Ge)),64))]),e.createVNode(h,{variant:"outline",size:"icon",onClick:V,disabled:n.value},{default:e.withCtx(()=>[e.createVNode(e.unref(m.RefreshCw),{class:e.normalizeClass(["size-4",{"animate-spin":n.value}])},null,8,["class"])]),_:1},8,["disabled"])])):e.createCommentVNode("",!0)]),T.value?v.value?d.value?(e.openBlock(),e.createBlock(k,{key:2,class:"p-6 border-destructive/50 bg-destructive/5"},{default:e.withCtx(()=>[e.createElementVNode("p",Je,e.toDisplayString(d.value),1),e.createVNode(h,{variant:"outline",size:"sm",class:"mt-3",onClick:V},{default:e.withCtx(()=>[...r[7]||(r[7]=[e.createTextVNode("Retry",-1)])]),_:1})]),_:1})):n.value?(e.openBlock(),e.createElementBlock("div",Qe,[e.createVNode(e.unref(m.Loader2),{class:"size-8 animate-spin text-muted-foreground"})])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createVNode(U,{totals:l.value},null,8,["totals"]),e.createVNode(Z,{keywords:i.value},null,8,["keywords"]),e.createElementVNode("div",We,[e.createVNode(oe,{trends:o.value},null,8,["trends"]),e.createVNode(re,{trends:o.value},null,8,["trends"])]),e.createVNode(k,{class:"overflow-hidden"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createElementVNode("div",Ze,[e.createElementVNode("button",{class:e.normalizeClass(["px-4 py-2.5 text-sm font-medium transition-colors border-b-2",p.value==="keywords"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"]),onClick:r[0]||(r[0]=f=>p.value="keywords")},[e.createVNode(e.unref(m.Search),{class:"size-3.5 inline mr-1.5"}),r[8]||(r[8]=e.createTextVNode(" Keywords ",-1))],2),e.createElementVNode("button",{class:e.normalizeClass(["px-4 py-2.5 text-sm font-medium transition-colors border-b-2",p.value==="pages"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"]),onClick:r[1]||(r[1]=f=>p.value="pages")},[e.createVNode(e.unref(m.FileText),{class:"size-3.5 inline mr-1.5"}),r[9]||(r[9]=e.createTextVNode(" Pages ",-1))],2),e.createElementVNode("button",{class:e.normalizeClass(["px-4 py-2.5 text-sm font-medium transition-colors border-b-2",p.value==="mapping"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"]),onClick:r[2]||(r[2]=f=>p.value="mapping")},[e.createVNode(e.unref(m.ArrowUpRight),{class:"size-3.5 inline mr-1.5"}),r[10]||(r[10]=e.createTextVNode(" Keyword → Page ",-1))],2)])]),p.value==="keywords"?(e.openBlock(),e.createBlock(ke,{key:0,keywords:i.value},null,8,["keywords"])):e.createCommentVNode("",!0),p.value==="pages"?(e.openBlock(),e.createBlock(Te,{key:1,pages:y.value},null,8,["pages"])):e.createCommentVNode("",!0),p.value==="mapping"?(e.openBlock(),e.createBlock(Ke,{key:2,queryPages:B.value},null,8,["queryPages"])):e.createCommentVNode("",!0)]),_:1})],64)):(e.openBlock(),e.createBlock(k,{key:1,class:"p-8 text-center"},{default:e.withCtx(()=>[...r[6]||(r[6]=[e.createElementVNode("p",{class:"text-lg font-medium"},"Setup required",-1),e.createElementVNode("p",{class:"text-sm text-muted-foreground mt-1"},"Configure your service account, property ID, and site URL in module settings.",-1)])]),_:1})):(e.openBlock(),e.createBlock(k,{key:0,class:"p-8 text-center space-y-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.AlertTriangle),{class:"size-10 text-amber-500 mx-auto"}),r[4]||(r[4]=e.createElementVNode("p",{class:"text-lg font-medium"},"Search Console not configured",-1)),r[5]||(r[5]=e.createElementVNode("p",{class:"text-sm text-muted-foreground max-w-md mx-auto"},[e.createTextVNode(" Add your "),e.createElementVNode("strong",null,"Search Console Site URL"),e.createTextVNode(" in the module settings to enable SEO data. Use the exact format from Google Search Console (e.g. "),e.createElementVNode("code",null,"https://example.com"),e.createTextVNode(" or "),e.createElementVNode("code",null,"sc-domain:example.com"),e.createTextVNode("). ")],-1))]),_:1}))])}}});exports.default=et;