@oneclick.dev/cms-core-modules 0.0.70 → 0.0.72

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 (323) hide show
  1. package/dist/Acquisition-D_Qx7XRY.mjs +400 -0
  2. package/dist/Acquisition-_-cq972V.js +1 -0
  3. package/dist/AppointmentDetailsCard-CtK0Cj_O.js +1 -0
  4. package/dist/AppointmentDetailsCard-i4Ky8WnK.mjs +161 -0
  5. package/dist/AppointmentEditor-BeOtYV6u.mjs +196 -0
  6. package/dist/AppointmentEditor-CaTfbkIf.js +1 -0
  7. package/dist/AppointmentListTable-CQ3uXfa8.js +1 -0
  8. package/dist/AppointmentListTable-G5dIeCYj.mjs +159 -0
  9. package/dist/Audience-BdlrWkY-.mjs +489 -0
  10. package/dist/Audience-QnFQs93n.js +1 -0
  11. package/dist/Content-C-4Cdniz.js +1 -0
  12. package/dist/Content-DW6xvbUo.mjs +358 -0
  13. package/dist/ContentEditor-3JFlC9N1.js +313 -0
  14. package/dist/{ContentEditor-B7IYLH91.mjs → ContentEditor-7SDjf5Hk.mjs} +16535 -25527
  15. package/dist/CountryBreakdownCard-BUfJ-umQ.js +1 -0
  16. package/dist/CountryBreakdownCard-Dc_vZ9dJ.mjs +196 -0
  17. package/dist/{Create-D8NBEkJU.js → Create-CRn2sMHp.js} +1 -1
  18. package/dist/{Create-BDiyCtrp.mjs → Create-DtFzwxn_.mjs} +1 -1
  19. package/dist/DateFormatter-C9qfmQnP.js +1 -0
  20. package/dist/{DateFormatter-DAZP9a6L.mjs → DateFormatter-DfIwyrnF.mjs} +399 -258
  21. package/dist/{Detail-Cxd2VMOl.js → Detail-BcboL7NF.js} +1 -1
  22. package/dist/{Detail-CxUU6BpO.mjs → Detail-BwDnY42G.mjs} +1 -1
  23. package/dist/{Detail-DTHaYmyl.js → Detail-Bxi7lG9x.js} +1 -1
  24. package/dist/{Detail-BGD75ul4.mjs → Detail-CVgWHbMC.mjs} +22 -18
  25. package/dist/DeviceBreakdownCard-BJcQNo8a.mjs +159 -0
  26. package/dist/DeviceBreakdownCard-CsoK6JUO.js +1 -0
  27. package/dist/{Find-B4sAEx0B.mjs → Find-XPcJxeRH.mjs} +1 -1
  28. package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-B-ZhMrMu.js → NewReservationDialog.vue_vue_type_script_setup_true_lang-C5YczjNb.js} +1 -1
  29. package/dist/{NewReservationDialog.vue_vue_type_script_setup_true_lang-CJ7hh7ug.mjs → NewReservationDialog.vue_vue_type_script_setup_true_lang-Ds7z0qeH.mjs} +1 -1
  30. package/dist/{Overview-HvlDEgqi.mjs → Overview--XpvBbqz.mjs} +1 -1
  31. package/dist/Overview-B8OF-JJr.mjs +567 -0
  32. package/dist/Overview-DSU1Nh7B.js +1 -0
  33. package/dist/PeakHoursCard-BNl_U1r_.js +1 -0
  34. package/dist/PeakHoursCard-hV8PdGsf.mjs +182 -0
  35. package/dist/ProductDetailsCard-BwktdlIf.js +1 -0
  36. package/dist/ProductDetailsCard-CJBkZSER.mjs +121 -0
  37. package/dist/RealtimeCard-CRJHS64l.mjs +126 -0
  38. package/dist/RealtimeCard-CxtqQHee.js +1 -0
  39. package/dist/SearchTermsCard-DGRbo5ZP.js +1 -0
  40. package/dist/SearchTermsCard-Dwa-P7My.mjs +201 -0
  41. package/dist/SeoHealth-BqlYiSCj.js +1 -0
  42. package/dist/SeoHealth-DG004AsJ.mjs +523 -0
  43. package/dist/{TableView-C4NNrJpP.js → TableView-CU0a9ih2.js} +162 -199
  44. package/dist/{TableView-B5OyApnP.mjs → TableView-fYC7kB6j.mjs} +23309 -24320
  45. package/dist/TopPagesCard-Dv52to_J.mjs +159 -0
  46. package/dist/TopPagesCard-pZ-nAsaI.js +1 -0
  47. package/dist/TrafficSourcesCard-CBOPV1J1.js +1 -0
  48. package/dist/TrafficSourcesCard-CMhcj2k2.mjs +197 -0
  49. package/dist/VisitorStatsCard-BHn4oSnt.mjs +174 -0
  50. package/dist/VisitorStatsCard-tApB_7v8.js +1 -0
  51. package/dist/{agenda-CTG6N_Lt.mjs → agenda-XqvbrU72.mjs} +2 -2
  52. package/dist/{agenda-OSkAh0Oa.js → agenda-wNFDKn0G.js} +1 -1
  53. package/dist/array-CbATeQbk.js +1 -0
  54. package/dist/array-CvmZXzxF.mjs +108 -0
  55. package/dist/cms-core-modules.css +1 -1
  56. package/dist/{exceptions-CEXIFw47.mjs → exceptions-CLgeeUSy.mjs} +1 -1
  57. package/dist/{exceptions-BvMTqtof.js → exceptions-wEQEVzIs.js} +1 -1
  58. package/dist/floating-ui.dom-BO2Hr6mz.mjs +1292 -0
  59. package/dist/floating-ui.dom-CAr9LGoC.js +1 -0
  60. package/dist/{index-AmUV8LZQ.mjs → index-B-lVEpFX.mjs} +1 -1
  61. package/dist/index-BuzLn4Km.js +54 -0
  62. package/dist/index-C4YUVWzJ.js +75 -0
  63. package/dist/index-CMk3uhUt.mjs +3837 -0
  64. package/dist/{index-Uf7TwBuW.mjs → index-CrGjxSwa.mjs} +4 -4
  65. package/dist/index-D2DYuz8R.mjs +1090 -0
  66. package/dist/index-D3L8WAJI.js +58 -0
  67. package/dist/index-D7JBu6iT.mjs +34 -0
  68. package/dist/index-DQYBP8Js.js +158 -0
  69. package/dist/index-DjDCYQ_6.mjs +441 -0
  70. package/dist/index-DwHYfZl_.js +1 -0
  71. package/dist/{index-Biuv2zTx-DBCin9DT.mjs → index-N6w5-hDF-6k_ELHYC.mjs} +1234 -1234
  72. package/dist/index-N6w5-hDF-DCuxwPBX.js +88 -0
  73. package/dist/index-O_QNuTdG.js +35 -0
  74. package/dist/index-_2lRVt_k.mjs +2942 -0
  75. package/dist/index-p5Uqu8c2.mjs +1438 -0
  76. package/dist/index.cjs.js +1 -1
  77. package/dist/index.mjs +383 -86
  78. package/dist/{resources-DgPnEv76.mjs → resources-CFR_s89Z.mjs} +1 -1
  79. package/dist/src/appointments/chat-components/AppointmentDetailsCard.vue.d.ts +14 -0
  80. package/dist/src/appointments/chat-components/AppointmentEditor.vue.d.ts +14 -0
  81. package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +14 -0
  82. package/dist/src/appointments/index.d.ts +70 -0
  83. package/dist/src/appointments/server.d.ts +19 -0
  84. package/dist/src/appointments/tools.d.ts +56 -16
  85. package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Button.vue.d.ts +3 -1
  86. package/dist/src/contentManager/components/content-editor/tiptap-extensions/CustomClass.d.ts +14 -0
  87. package/dist/src/contentManager/components/content-editor/tiptap-extensions/NodeDragPointerEventsFix.d.ts +2 -0
  88. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuClassBuilder.vue.d.ts +19 -0
  89. package/dist/src/contentManager/components/content-editor/tiptap-menus/BubbleMenuLinkBuilder.vue.d.ts +19 -0
  90. package/dist/src/googleAnalytics/chat-components/CountryBreakdownCard.vue.d.ts +14 -0
  91. package/dist/src/googleAnalytics/chat-components/DeviceBreakdownCard.vue.d.ts +14 -0
  92. package/dist/src/googleAnalytics/chat-components/PeakHoursCard.vue.d.ts +14 -0
  93. package/dist/src/googleAnalytics/chat-components/RealtimeCard.vue.d.ts +14 -0
  94. package/dist/src/googleAnalytics/chat-components/SearchTermsCard.vue.d.ts +14 -0
  95. package/dist/src/googleAnalytics/chat-components/TopPagesCard.vue.d.ts +14 -0
  96. package/dist/src/googleAnalytics/chat-components/TrafficSourcesCard.vue.d.ts +14 -0
  97. package/dist/src/googleAnalytics/chat-components/VisitorStatsCard.vue.d.ts +14 -0
  98. package/dist/src/googleAnalytics/config.d.ts +39 -0
  99. package/dist/src/googleAnalytics/index.d.ts +116 -0
  100. package/dist/src/googleAnalytics/metadata.d.ts +2 -0
  101. package/dist/src/googleAnalytics/pages/Acquisition.vue.d.ts +2 -0
  102. package/dist/src/googleAnalytics/pages/Audience.vue.d.ts +2 -0
  103. package/dist/src/googleAnalytics/pages/Content.vue.d.ts +2 -0
  104. package/dist/src/googleAnalytics/pages/Overview.vue.d.ts +2 -0
  105. package/dist/src/googleAnalytics/pages/SeoHealth.vue.d.ts +2 -0
  106. package/dist/src/googleAnalytics/permissions.d.ts +1 -0
  107. package/dist/src/googleAnalytics/server.d.ts +35 -0
  108. package/dist/src/googleAnalytics/tools.d.ts +59 -0
  109. package/dist/src/index.d.ts +6 -5
  110. package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +2 -0
  111. package/dist/src/mailTemplates/routes.d.ts +5 -0
  112. package/dist/src/mailTemplates/tools.d.ts +1 -0
  113. package/dist/src/productCollections/tools.d.ts +1 -0
  114. package/dist/src/products/chat-components/ProductDetailsCard.vue.d.ts +14 -0
  115. package/dist/src/products/index.d.ts +24 -2
  116. package/dist/src/products/server.d.ts +19 -0
  117. package/dist/src/products/tools.d.ts +21 -2
  118. package/dist/src/promoCodes/tools.d.ts +1 -0
  119. package/dist/src/server-handlers.d.ts +9 -0
  120. package/dist/src/table/tools.d.ts +1 -25
  121. package/package.json +23 -21
  122. package/src/appointments/server.ts +195 -0
  123. package/src/appointments/tools.ts +61 -21
  124. package/src/googleAnalytics/server.ts +1188 -0
  125. package/src/googleAnalytics/tools.ts +158 -0
  126. package/src/mailTemplates/tools.ts +1 -0
  127. package/src/productCollections/tools.ts +1 -0
  128. package/src/products/server.ts +146 -0
  129. package/src/products/tools.ts +19 -0
  130. package/src/promoCodes/tools.ts +1 -0
  131. package/src/table/tools.ts +1 -25
  132. package/dist/ContentEditor-LOn09n7N.js +0 -307
  133. package/dist/DateFormatter-Bw-SCfUS.js +0 -1
  134. package/dist/floating-ui.dom-CBBY0Ism.js +0 -1
  135. package/dist/floating-ui.dom-xfqXu4GA.mjs +0 -1138
  136. package/dist/index-Biuv2zTx-DHiVlXFj.js +0 -88
  137. package/dist/index-HLGxDG-0.mjs +0 -7746
  138. package/dist/index-n2p9TTRq.js +0 -245
  139. package/dist/src/content-manager/components/content-editor/tiptap-extensions/DragHandle.d.ts +0 -76
  140. package/dist/src/content-manager/components/content-editor/tiptap-extensions/NodeDragPointerEventsFix.d.ts +0 -7
  141. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/drag-handle-plugin.d.ts +0 -25
  142. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/drag-handle.d.ts +0 -50
  143. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/cloneElement.d.ts +0 -1
  144. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/dragHandler.d.ts +0 -2
  145. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/findNextElementFromCursor.d.ts +0 -17
  146. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/getComputedStyle.d.ts +0 -1
  147. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/getInnerCoords.d.ts +0 -5
  148. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/getOuterNode.d.ts +0 -3
  149. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/minMax.d.ts +0 -1
  150. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/helpers/removeNode.d.ts +0 -1
  151. package/dist/src/content-manager/components/content-editor/tiptap-extensions/extension-drag-handle/index.d.ts +0 -4
  152. package/dist/src/mail-templates/tools.d.ts +0 -25
  153. package/dist/src/product-collections/tools.d.ts +0 -25
  154. package/dist/src/promo-codes/tools.d.ts +0 -25
  155. package/src/mail-templates/tools.ts +0 -25
  156. package/src/product-collections/tools.ts +0 -25
  157. package/src/promo-codes/tools.ts +0 -25
  158. /package/dist/src/{content-manager → contentManager}/components/components/ComponentDialog.vue.d.ts +0 -0
  159. /package/dist/src/{content-manager → contentManager}/components/components/ComponentGridItem.vue.d.ts +0 -0
  160. /package/dist/src/{content-manager → contentManager}/components/content-editor/ApiDocs.vue.d.ts +0 -0
  161. /package/dist/src/{content-manager → contentManager}/components/content-editor/ContentLayout.vue.d.ts +0 -0
  162. /package/dist/src/{content-manager → contentManager}/components/content-editor/ContentSettings.vue.d.ts +0 -0
  163. /package/dist/src/{content-manager → contentManager}/components/content-editor/ContentStructuredContentSections.vue.d.ts +0 -0
  164. /package/dist/src/{content-manager → contentManager}/components/content-editor/Header.vue.d.ts +0 -0
  165. /package/dist/src/{content-manager → contentManager}/components/content-editor/LivePreviewWrapper.vue.d.ts +0 -0
  166. /package/dist/src/{content-manager → contentManager}/components/content-editor/Locales.vue.d.ts +0 -0
  167. /package/dist/src/{content-manager → contentManager}/components/content-editor/NewSectionDialog.vue.d.ts +0 -0
  168. /package/dist/src/{content-manager → contentManager}/components/content-editor/PageSettings.vue.d.ts +0 -0
  169. /package/dist/src/{content-manager → contentManager}/components/content-editor/SEO.vue.d.ts +0 -0
  170. /package/dist/src/{content-manager → contentManager}/components/content-editor/SidebarSectionWrapper.vue.d.ts +0 -0
  171. /package/dist/src/{content-manager → contentManager}/components/content-editor/Status.vue.d.ts +0 -0
  172. /package/dist/src/{content-manager → contentManager}/components/content-editor/Versions.vue.d.ts +0 -0
  173. /package/dist/src/{content-manager → contentManager}/components/content-editor/code-examples.d.ts +0 -0
  174. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Button.d.ts +0 -0
  175. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Card.d.ts +0 -0
  176. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Card.vue.d.ts +0 -0
  177. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Column.d.ts +0 -0
  178. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Column.vue.d.ts +0 -0
  179. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/ComponentEditorNode.d.ts +0 -0
  180. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Container.d.ts +0 -0
  181. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Container.vue.d.ts +0 -0
  182. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Divider.d.ts +0 -0
  183. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Divider.vue.d.ts +0 -0
  184. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/EmptySpace.d.ts +0 -0
  185. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/EmptySpace.vue.d.ts +0 -0
  186. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Heading.d.ts +0 -0
  187. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Heading.vue.d.ts +0 -0
  188. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Image.d.ts +0 -0
  189. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Image.vue.d.ts +0 -0
  190. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/LockBlocks.d.ts +0 -0
  191. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Map.d.ts +0 -0
  192. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Map.vue.d.ts +0 -0
  193. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/OnlyContainerDocument.d.ts +0 -0
  194. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Paragraph.d.ts +0 -0
  195. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Paragraph.vue.d.ts +0 -0
  196. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Row.d.ts +0 -0
  197. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Row.vue.d.ts +0 -0
  198. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/ScopedSelectAll.d.ts +0 -0
  199. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Stack.d.ts +0 -0
  200. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Stack.vue.d.ts +0 -0
  201. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/TrailingNodeInContainers.d.ts +0 -0
  202. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Video.d.ts +0 -0
  203. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/Video.vue.d.ts +0 -0
  204. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/DetailsNodeView.vue.d.ts +0 -0
  205. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/content/details-content.d.ts +0 -0
  206. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/content/index.d.ts +0 -0
  207. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/details.d.ts +0 -0
  208. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/helpers/findClosestVisibleNode.d.ts +0 -0
  209. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/helpers/isNodeVisible.d.ts +0 -0
  210. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/helpers/setGapCursor.d.ts +0 -0
  211. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/index.d.ts +0 -0
  212. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/summary/details-summary.d.ts +0 -0
  213. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/extension-details/summary/index.d.ts +0 -0
  214. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/NodeLabel.vue.d.ts +0 -0
  215. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/ResizeHandlers.vue.d.ts +0 -0
  216. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/TopMarginDragger.vue.d.ts +0 -0
  217. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/useContainerFocus.d.ts +0 -0
  218. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-extensions/helpers/useFocus.d.ts +0 -0
  219. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/BubbleMenuToggleButton.vue.d.ts +0 -0
  220. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/DefaultBubbleMenu.vue.d.ts +0 -0
  221. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +0 -0
  222. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/EmojiMenu.vue.d.ts +0 -0
  223. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/NewNodeView.vue.d.ts +0 -0
  224. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/SlashMenu.vue.d.ts +0 -0
  225. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/SlashMenuButton.vue.d.ts +0 -0
  226. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/ButtonMenu.vue.d.ts +0 -0
  227. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/CardMenu.vue.d.ts +0 -0
  228. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/ColumnMenu.vue.d.ts +0 -0
  229. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/DividerMenu.vue.d.ts +0 -0
  230. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/EmptySpaceMenu.vue.d.ts +0 -0
  231. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/HeadingMenu.vue.d.ts +0 -0
  232. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/ImageMenu.vue.d.ts +0 -0
  233. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/MapMenu.vue.d.ts +0 -0
  234. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/RowMenu.vue.d.ts +0 -0
  235. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/StackMenu.vue.d.ts +0 -0
  236. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/TextMenu.vue.d.ts +0 -0
  237. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/VideoMenu.vue.d.ts +0 -0
  238. /package/dist/src/{content-manager → contentManager}/components/content-editor/tiptap-menus/element-editor-views/index.d.ts +0 -0
  239. /package/dist/src/{content-manager → contentManager}/components/overview/CollectionDialog.vue.d.ts +0 -0
  240. /package/dist/src/{content-manager → contentManager}/components/overview/CollectionsGridView.vue.d.ts +0 -0
  241. /package/dist/src/{content-manager → contentManager}/components/overview/ContentEntryContextMenu.vue.d.ts +0 -0
  242. /package/dist/src/{content-manager → contentManager}/components/overview/FilterPopover.vue.d.ts +0 -0
  243. /package/dist/src/{content-manager → contentManager}/components/overview/ListView.vue.d.ts +0 -0
  244. /package/dist/src/{content-manager → contentManager}/components/styling/ButtonStyleDialog.vue.d.ts +0 -0
  245. /package/dist/src/{content-manager → contentManager}/components/styling/CardStyleDialog.vue.d.ts +0 -0
  246. /package/dist/src/{content-manager → contentManager}/components/styling/SectionStyleDialog.vue.d.ts +0 -0
  247. /package/dist/src/{content-manager → contentManager}/config.d.ts +0 -0
  248. /package/dist/src/{content-manager → contentManager}/index.d.ts +0 -0
  249. /package/dist/src/{content-manager → contentManager}/index.vue.d.ts +0 -0
  250. /package/dist/src/{content-manager → contentManager}/metadata.d.ts +0 -0
  251. /package/dist/src/{content-manager → contentManager}/pages/Components.vue.d.ts +0 -0
  252. /package/dist/src/{content-manager → contentManager}/pages/ContentEditor.vue.d.ts +0 -0
  253. /package/dist/src/{content-manager → contentManager}/pages/Entries.vue.d.ts +0 -0
  254. /package/dist/src/{content-manager → contentManager}/pages/GlobalStyling.vue.d.ts +0 -0
  255. /package/dist/src/{content-manager → contentManager}/pages/Overview.vue.d.ts +0 -0
  256. /package/dist/src/{content-manager → contentManager}/permissions.d.ts +0 -0
  257. /package/dist/src/{content-manager → contentManager}/routes.d.ts +0 -0
  258. /package/dist/src/{content-manager → contentManager}/stores/useTableStore.d.ts +0 -0
  259. /package/dist/src/{content-manager → contentManager}/tools.d.ts +0 -0
  260. /package/dist/src/{content-manager → contentManager}/types.d.ts +0 -0
  261. /package/dist/src/{mail-templates/components/TemplateList.vue.d.ts → googleAnalytics/index.vue.d.ts} +0 -0
  262. /package/dist/src/{mail-templates → googleAnalytics}/routes.d.ts +0 -0
  263. /package/dist/src/{mail-templates → mailTemplates}/config.d.ts +0 -0
  264. /package/dist/src/{mail-templates → mailTemplates}/index.d.ts +0 -0
  265. /package/dist/src/{mail-templates → mailTemplates}/index.vue.d.ts +0 -0
  266. /package/dist/src/{mail-templates → mailTemplates}/metadata.d.ts +0 -0
  267. /package/dist/src/{mail-templates → mailTemplates}/pages/Detail.vue.d.ts +0 -0
  268. /package/dist/src/{mail-templates → mailTemplates}/pages/Overview.vue.d.ts +0 -0
  269. /package/dist/src/{mail-templates → mailTemplates}/permissions.d.ts +0 -0
  270. /package/dist/src/{mail-templates → mailTemplates}/stores/useTableStore.d.ts +0 -0
  271. /package/dist/src/{mail-templates → mailTemplates}/types.d.ts +0 -0
  272. /package/dist/src/{product-collections → productCollections}/components/detail/Main.vue.d.ts +0 -0
  273. /package/dist/src/{product-collections → productCollections}/components/detail/SEO.vue.d.ts +0 -0
  274. /package/dist/src/{product-collections → productCollections}/components/detail/Status.vue.d.ts +0 -0
  275. /package/dist/src/{product-collections → productCollections}/components/overview/ListView.vue.d.ts +0 -0
  276. /package/dist/src/{product-collections → productCollections}/composables/useTable.d.ts +0 -0
  277. /package/dist/src/{product-collections → productCollections}/config.d.ts +0 -0
  278. /package/dist/src/{product-collections → productCollections}/index.d.ts +0 -0
  279. /package/dist/src/{product-collections → productCollections}/index.vue.d.ts +0 -0
  280. /package/dist/src/{product-collections → productCollections}/metadata.d.ts +0 -0
  281. /package/dist/src/{product-collections → productCollections}/pages/Detail.vue.d.ts +0 -0
  282. /package/dist/src/{product-collections → productCollections}/pages/Overview.vue.d.ts +0 -0
  283. /package/dist/src/{product-collections → productCollections}/permissions.d.ts +0 -0
  284. /package/dist/src/{product-collections → productCollections}/routes.d.ts +0 -0
  285. /package/dist/src/{product-collections → productCollections}/stores/useTableStore.d.ts +0 -0
  286. /package/dist/src/{product-collections → productCollections}/types.d.ts +0 -0
  287. /package/dist/src/{promo-codes → promoCodes}/components/create/DateRange.vue.d.ts +0 -0
  288. /package/dist/src/{promo-codes → promoCodes}/components/create/MultiCodes.vue.d.ts +0 -0
  289. /package/dist/src/{promo-codes → promoCodes}/components/create/Note.vue.d.ts +0 -0
  290. /package/dist/src/{promo-codes → promoCodes}/components/create/SingleCode.vue.d.ts +0 -0
  291. /package/dist/src/{promo-codes → promoCodes}/components/create/TypeAndValue/TypeDetailDialog.vue.d.ts +0 -0
  292. /package/dist/src/{promo-codes → promoCodes}/components/create/TypeAndValue/TypeManageDialog.vue.d.ts +0 -0
  293. /package/dist/src/{promo-codes → promoCodes}/components/create/TypeAndValue/index.vue.d.ts +0 -0
  294. /package/dist/src/{promo-codes → promoCodes}/config.d.ts +0 -0
  295. /package/dist/src/{promo-codes → promoCodes}/index.d.ts +0 -0
  296. /package/dist/src/{promo-codes → promoCodes}/index.vue.d.ts +0 -0
  297. /package/dist/src/{promo-codes → promoCodes}/metadata.d.ts +0 -0
  298. /package/dist/src/{promo-codes → promoCodes}/pages/Create.vue.d.ts +0 -0
  299. /package/dist/src/{promo-codes → promoCodes}/pages/Detail.vue.d.ts +0 -0
  300. /package/dist/src/{promo-codes → promoCodes}/pages/Find.vue.d.ts +0 -0
  301. /package/dist/src/{promo-codes → promoCodes}/permissions.d.ts +0 -0
  302. /package/dist/src/{promo-codes → promoCodes}/routes.d.ts +0 -0
  303. /package/dist/src/{promo-codes → promoCodes}/stores/useTableStore.d.ts +0 -0
  304. /package/dist/src/{promo-codes → promoCodes}/types.d.ts +0 -0
  305. /package/dist/src/{shipping-options → shippingOptions}/components/detail/Condition.vue.d.ts +0 -0
  306. /package/dist/src/{shipping-options → shippingOptions}/components/detail/Countries.vue.d.ts +0 -0
  307. /package/dist/src/{shipping-options → shippingOptions}/components/detail/Example.vue.d.ts +0 -0
  308. /package/dist/src/{shipping-options → shippingOptions}/components/detail/Main.vue.d.ts +0 -0
  309. /package/dist/src/{shipping-options → shippingOptions}/components/overview/ListView.vue.d.ts +0 -0
  310. /package/dist/src/{shipping-options → shippingOptions}/composables/useTable.d.ts +0 -0
  311. /package/dist/src/{shipping-options → shippingOptions}/config.d.ts +0 -0
  312. /package/dist/src/{shipping-options → shippingOptions}/index.d.ts +0 -0
  313. /package/dist/src/{shipping-options → shippingOptions}/index.vue.d.ts +0 -0
  314. /package/dist/src/{shipping-options → shippingOptions}/metadata.d.ts +0 -0
  315. /package/dist/src/{shipping-options → shippingOptions}/pages/Detail.vue.d.ts +0 -0
  316. /package/dist/src/{shipping-options → shippingOptions}/pages/Overview.vue.d.ts +0 -0
  317. /package/dist/src/{shipping-options → shippingOptions}/permissions.d.ts +0 -0
  318. /package/dist/src/{shipping-options → shippingOptions}/routes.d.ts +0 -0
  319. /package/dist/src/{shipping-options → shippingOptions}/stores/useTableStore.d.ts +0 -0
  320. /package/dist/src/{shipping-options → shippingOptions}/tools.d.ts +0 -0
  321. /package/dist/src/{shipping-options → shippingOptions}/types.d.ts +0 -0
  322. /package/src/{content-manager → contentManager}/tools.ts +0 -0
  323. /package/src/{shipping-options → shippingOptions}/tools.ts +0 -0
@@ -0,0 +1,523 @@
1
+ import { defineComponent as ce, ref as f, computed as b, watch as me, onMounted as xe, resolveComponent as W, openBlock as a, createElementBlock as i, createElementVNode as e, Fragment as $, renderList as U, normalizeClass as v, toDisplayString as r, createVNode as o, withCtx as u, unref as n, createCommentVNode as y, createBlock as H, createTextVNode as d, normalizeStyle as C } from "vue";
2
+ import { useModule as pe, useModuleRoute as fe, useModuleBreadcrumbs as ve } from "@oneclick.dev/cms-kit";
3
+ import "./index-CMk3uhUt.mjs";
4
+ import { g as Y, h as Z } from "./index-N6w5-hDF-6k_ELHYC.mjs";
5
+ import { RefreshCw as ge, AlertTriangle as ye, Loader2 as he, MousePointerClick as N, Eye as V, TrendingUp as _e, Hash as be, Search as ke, FileText as we, ArrowUpRight as Ce } from "lucide-vue-next";
6
+ import { S as ee, C as B, A as te, z as se } from "./index-_2lRVt_k.mjs";
7
+ import { C as oe, a as le } from "./index-p5Uqu8c2.mjs";
8
+ const $e = { class: "w-full max-w-7xl mx-auto py-8 px-4 space-y-6" }, Te = { class: "flex items-center justify-between" }, ze = {
9
+ key: 0,
10
+ class: "flex items-center gap-2"
11
+ }, Se = { class: "flex items-center border rounded-lg overflow-hidden" }, De = ["onClick"], Pe = { class: "text-sm text-destructive font-medium" }, Re = {
12
+ key: 3,
13
+ class: "flex items-center justify-center py-20"
14
+ }, Fe = { class: "grid grid-cols-2 @3xl:grid-cols-4 gap-4" }, Me = { class: "flex items-center gap-2 text-xs text-muted-foreground" }, Ae = { class: "text-2xl font-bold tabular-nums" }, Le = { class: "flex items-center gap-2 text-xs text-muted-foreground" }, Ue = { class: "text-2xl font-bold tabular-nums" }, Ne = { class: "flex items-center gap-2 text-xs text-muted-foreground" }, Be = { class: "text-2xl font-bold tabular-nums" }, je = { class: "flex items-center gap-2 text-xs text-muted-foreground" }, Ee = { class: "flex items-center gap-4" }, Ke = { class: "flex items-center gap-2" }, Oe = { class: "text-xs" }, Ie = { class: "flex items-center gap-2" }, He = { class: "text-xs" }, Ve = { class: "flex items-center gap-2" }, Xe = { class: "text-xs" }, qe = { class: "flex items-center gap-2" }, Ge = { class: "text-xs" }, Je = {
15
+ key: 0,
16
+ class: "flex h-3 rounded-full overflow-hidden mt-3"
17
+ }, Qe = { class: "grid grid-cols-1 @3xl:grid-cols-2 gap-4" }, We = {
18
+ key: 0,
19
+ class: "h-48"
20
+ }, Ye = {
21
+ key: 1,
22
+ class: "text-xs text-muted-foreground text-center py-10"
23
+ }, Ze = {
24
+ key: 0,
25
+ class: "h-48"
26
+ }, et = {
27
+ key: 1,
28
+ class: "text-xs text-muted-foreground text-center py-10"
29
+ }, tt = { class: "border-b" }, st = { class: "flex" }, ot = {
30
+ key: 0,
31
+ class: "divide-y"
32
+ }, lt = {
33
+ key: 0,
34
+ class: "p-8 text-center text-sm text-muted-foreground"
35
+ }, nt = { class: "flex items-center gap-3" }, rt = { class: "text-xs font-medium text-muted-foreground w-6 text-right shrink-0" }, at = { class: "flex-1 min-w-0" }, it = { class: "text-sm font-medium truncate" }, dt = { class: "h-1.5 rounded-full bg-muted overflow-hidden mt-1.5 max-w-xs" }, ut = { class: "flex items-center gap-4 text-xs text-muted-foreground shrink-0" }, ct = { class: "flex items-center gap-1 w-16 justify-end" }, mt = { class: "flex items-center gap-1 w-16 justify-end" }, xt = { class: "w-14 text-right" }, pt = {
36
+ key: 1,
37
+ class: "divide-y"
38
+ }, ft = {
39
+ key: 0,
40
+ class: "p-8 text-center text-sm text-muted-foreground"
41
+ }, vt = { class: "flex items-center gap-3" }, gt = { class: "text-xs font-medium text-muted-foreground w-6 text-right shrink-0" }, yt = { class: "flex-1 min-w-0" }, ht = ["title"], _t = { class: "h-1.5 rounded-full bg-muted overflow-hidden mt-1.5 max-w-xs" }, bt = { class: "flex items-center gap-4 text-xs text-muted-foreground shrink-0" }, kt = { class: "flex items-center gap-1 w-16 justify-end" }, wt = { class: "flex items-center gap-1 w-16 justify-end" }, Ct = { class: "w-14 text-right" }, $t = {
42
+ key: 2,
43
+ class: "divide-y"
44
+ }, Tt = {
45
+ key: 0,
46
+ class: "p-8 text-center text-sm text-muted-foreground"
47
+ }, zt = { class: "flex items-start gap-3" }, St = { class: "text-xs font-medium text-muted-foreground w-6 text-right shrink-0 mt-0.5" }, Dt = { class: "flex-1 min-w-0 space-y-0.5" }, Pt = { class: "text-sm font-medium" }, Rt = ["title"], Ft = { class: "flex items-center gap-4 text-xs text-muted-foreground shrink-0" }, Mt = { class: "flex items-center gap-1" }, Ot = /* @__PURE__ */ ce({
48
+ __name: "SeoHealth",
49
+ setup(At) {
50
+ const { config: T } = pe(), { moduleId: ne } = fe();
51
+ ve(() => [{ label: "SEO Health" }]);
52
+ const k = f(!0), z = f(null), S = f("30"), h = f([]), w = f({
53
+ clicks: 0,
54
+ impressions: 0,
55
+ ctr: 0,
56
+ avgPosition: 0
57
+ }), c = f([]), D = f([]), j = f([]), P = b(() => !!(T.serviceAccount && T.propertyId && T.siteUrl)), re = b(() => !!T.siteUrl);
58
+ function R(s) {
59
+ return `/api/v1/modules/${ne}${s}`;
60
+ }
61
+ const ae = [
62
+ { label: "7d", value: "7" },
63
+ { label: "14d", value: "14" },
64
+ { label: "30d", value: "30" },
65
+ { label: "90d", value: "90" }
66
+ ], F = (s, t) => t, X = (s) => s.clicks || 0, q = (s) => s.impressions || 0, G = (s) => {
67
+ const t = h.value[Math.round(s)];
68
+ if (!t) return "";
69
+ const g = new Date(t.date);
70
+ return `${g.getDate()}/${g.getMonth() + 1}`;
71
+ }, J = (s) => {
72
+ const t = h.value[Math.round(Number(s))];
73
+ return t ? new Date(t.date).toLocaleDateString(void 0, { weekday: "short", month: "short", day: "numeric" }) : "";
74
+ };
75
+ function _(s) {
76
+ return s >= 1e6 ? `${(s / 1e6).toFixed(1)}M` : s >= 1e3 ? `${(s / 1e3).toFixed(1)}K` : Math.round(s).toString();
77
+ }
78
+ function E(s) {
79
+ return `${(s * 100).toFixed(1)}%`;
80
+ }
81
+ function M(s) {
82
+ return s.toFixed(1);
83
+ }
84
+ function ie(s) {
85
+ return s <= 3 ? "text-emerald-600 dark:text-emerald-400" : s <= 10 ? "text-blue-600 dark:text-blue-400" : s <= 20 ? "text-amber-600 dark:text-amber-400" : "text-red-600 dark:text-red-400";
86
+ }
87
+ function K(s) {
88
+ return s <= 3 ? "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400" : s <= 10 ? "bg-blue-500/10 text-blue-600 dark:text-blue-400" : s <= 20 ? "bg-amber-500/10 text-amber-600 dark:text-amber-400" : "bg-red-500/10 text-red-600 dark:text-red-400";
89
+ }
90
+ function Q(s) {
91
+ try {
92
+ return new URL(s).pathname;
93
+ } catch {
94
+ return s;
95
+ }
96
+ }
97
+ const O = b(() => c.value.filter((s) => s.position <= 3).length), I = b(() => c.value.filter((s) => s.position <= 10).length), A = b(() => c.value.filter((s) => s.position <= 20).length), de = b(() => Math.max(...c.value.map((s) => s.clicks), 1)), ue = b(() => Math.max(...D.value.map((s) => s.clicks), 1));
98
+ async function L() {
99
+ if (!P.value) return;
100
+ k.value = !0, z.value = null;
101
+ const s = `${S.value}daysAgo`;
102
+ try {
103
+ const [t, g, m, l] = await Promise.all([
104
+ $fetch(R(`/seo/trends?startDate=${s}&endDate=today`)),
105
+ $fetch(R(`/seo/keywords?startDate=${s}&endDate=today&limit=50`)),
106
+ $fetch(R(`/seo/pages?startDate=${s}&endDate=today&limit=30`)),
107
+ $fetch(R(`/seo/query-pages?startDate=${s}&endDate=today`))
108
+ ]);
109
+ h.value = t.rows || [], w.value = t.totals || { clicks: 0, impressions: 0, ctr: 0, avgPosition: 0 }, c.value = g.rows || [], D.value = m.rows || [], j.value = l.rows || [];
110
+ } catch (t) {
111
+ z.value = t?.data?.statusMessage || t?.message || "Failed to load SEO data";
112
+ } finally {
113
+ k.value = !1;
114
+ }
115
+ }
116
+ me(S, () => L()), xe(() => {
117
+ P.value ? L() : k.value = !1;
118
+ });
119
+ const x = f("keywords");
120
+ return (s, t) => {
121
+ const g = W("Button"), m = W("Card");
122
+ return a(), i("div", $e, [
123
+ e("div", Te, [
124
+ t[3] || (t[3] = e("div", null, [
125
+ e("h1", { class: "text-2xl font-semibold" }, "SEO Health"),
126
+ e("p", { class: "text-muted-foreground text-sm mt-1" }, "Search Console performance & keyword rankings")
127
+ ], -1)),
128
+ P.value ? (a(), i("div", ze, [
129
+ e("div", Se, [
130
+ (a(), i($, null, U(ae, (l) => e("button", {
131
+ key: l.value,
132
+ class: v(["px-3 py-1.5 text-xs font-medium transition-colors", S.value === l.value ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:text-foreground hover:bg-muted"]),
133
+ onClick: (p) => S.value = l.value
134
+ }, r(l.label), 11, De)), 64))
135
+ ]),
136
+ o(g, {
137
+ variant: "outline",
138
+ size: "icon",
139
+ onClick: L,
140
+ disabled: k.value
141
+ }, {
142
+ default: u(() => [
143
+ o(n(ge), {
144
+ class: v(["size-4", { "animate-spin": k.value }])
145
+ }, null, 8, ["class"])
146
+ ]),
147
+ _: 1
148
+ }, 8, ["disabled"])
149
+ ])) : y("", !0)
150
+ ]),
151
+ re.value ? P.value ? z.value ? (a(), H(m, {
152
+ key: 2,
153
+ class: "p-6 border-destructive/50 bg-destructive/5"
154
+ }, {
155
+ default: u(() => [
156
+ e("p", Pe, r(z.value), 1),
157
+ o(g, {
158
+ variant: "outline",
159
+ size: "sm",
160
+ class: "mt-3",
161
+ onClick: L
162
+ }, {
163
+ default: u(() => [...t[7] || (t[7] = [
164
+ d("Retry", -1)
165
+ ])]),
166
+ _: 1
167
+ })
168
+ ]),
169
+ _: 1
170
+ })) : k.value ? (a(), i("div", Re, [
171
+ o(n(he), { class: "size-8 animate-spin text-muted-foreground" })
172
+ ])) : (a(), i($, { key: 4 }, [
173
+ e("div", Fe, [
174
+ o(m, { class: "p-4 space-y-1" }, {
175
+ default: u(() => [
176
+ e("div", Me, [
177
+ o(n(N), { class: "size-3.5" }),
178
+ t[8] || (t[8] = d(" Total Clicks ", -1))
179
+ ]),
180
+ e("p", Ae, r(_(w.value.clicks)), 1)
181
+ ]),
182
+ _: 1
183
+ }),
184
+ o(m, { class: "p-4 space-y-1" }, {
185
+ default: u(() => [
186
+ e("div", Le, [
187
+ o(n(V), { class: "size-3.5" }),
188
+ t[9] || (t[9] = d(" Total Impressions ", -1))
189
+ ]),
190
+ e("p", Ue, r(_(w.value.impressions)), 1)
191
+ ]),
192
+ _: 1
193
+ }),
194
+ o(m, { class: "p-4 space-y-1" }, {
195
+ default: u(() => [
196
+ e("div", Ne, [
197
+ o(n(_e), { class: "size-3.5" }),
198
+ t[10] || (t[10] = d(" Average CTR ", -1))
199
+ ]),
200
+ e("p", Be, r(E(w.value.ctr)), 1)
201
+ ]),
202
+ _: 1
203
+ }),
204
+ o(m, { class: "p-4 space-y-1" }, {
205
+ default: u(() => [
206
+ e("div", je, [
207
+ o(n(be), { class: "size-3.5" }),
208
+ t[11] || (t[11] = d(" Avg Position ", -1))
209
+ ]),
210
+ e("p", {
211
+ class: v(["text-2xl font-bold tabular-nums", ie(w.value.avgPosition)])
212
+ }, r(M(w.value.avgPosition)), 3)
213
+ ]),
214
+ _: 1
215
+ })
216
+ ]),
217
+ o(m, { class: "p-4" }, {
218
+ default: u(() => [
219
+ t[20] || (t[20] = e("h3", { class: "text-sm font-medium mb-3" }, "Keyword Ranking Distribution", -1)),
220
+ e("div", Ee, [
221
+ e("div", Ke, [
222
+ t[13] || (t[13] = e("span", { class: "inline-block w-3 h-3 rounded-full bg-emerald-500" }, null, -1)),
223
+ e("span", Oe, [
224
+ t[12] || (t[12] = d("Top 3: ", -1)),
225
+ e("strong", null, r(O.value), 1)
226
+ ])
227
+ ]),
228
+ e("div", Ie, [
229
+ t[15] || (t[15] = e("span", { class: "inline-block w-3 h-3 rounded-full bg-blue-500" }, null, -1)),
230
+ e("span", He, [
231
+ t[14] || (t[14] = d("Top 10: ", -1)),
232
+ e("strong", null, r(I.value), 1)
233
+ ])
234
+ ]),
235
+ e("div", Ve, [
236
+ t[17] || (t[17] = e("span", { class: "inline-block w-3 h-3 rounded-full bg-amber-500" }, null, -1)),
237
+ e("span", Xe, [
238
+ t[16] || (t[16] = d("Top 20: ", -1)),
239
+ e("strong", null, r(A.value), 1)
240
+ ])
241
+ ]),
242
+ e("div", qe, [
243
+ t[19] || (t[19] = e("span", { class: "inline-block w-3 h-3 rounded-full bg-red-500" }, null, -1)),
244
+ e("span", Ge, [
245
+ t[18] || (t[18] = d("20+: ", -1)),
246
+ e("strong", null, r(c.value.length - A.value), 1)
247
+ ])
248
+ ])
249
+ ]),
250
+ c.value.length > 0 ? (a(), i("div", Je, [
251
+ e("div", {
252
+ class: "bg-emerald-500 transition-all",
253
+ style: C({ width: `${O.value / c.value.length * 100}%` })
254
+ }, null, 4),
255
+ e("div", {
256
+ class: "bg-blue-500 transition-all",
257
+ style: C({ width: `${(I.value - O.value) / c.value.length * 100}%` })
258
+ }, null, 4),
259
+ e("div", {
260
+ class: "bg-amber-500 transition-all",
261
+ style: C({ width: `${(A.value - I.value) / c.value.length * 100}%` })
262
+ }, null, 4),
263
+ e("div", {
264
+ class: "bg-red-500 transition-all",
265
+ style: C({ width: `${(c.value.length - A.value) / c.value.length * 100}%` })
266
+ }, null, 4)
267
+ ])) : y("", !0)
268
+ ]),
269
+ _: 1
270
+ }),
271
+ e("div", Qe, [
272
+ o(m, { class: "p-4" }, {
273
+ default: u(() => [
274
+ t[21] || (t[21] = e("h3", { class: "text-sm font-medium mb-3" }, "Clicks Over Time", -1)),
275
+ h.value.length > 1 ? (a(), i("div", We, [
276
+ o(n(ee), {
277
+ data: h.value,
278
+ height: 180
279
+ }, {
280
+ default: u(() => [
281
+ o(n(oe), {
282
+ x: F,
283
+ y: X,
284
+ color: "#3b82f6",
285
+ opacity: 0.1,
286
+ curveType: "monotoneX"
287
+ }),
288
+ o(n(le), {
289
+ x: F,
290
+ y: X,
291
+ color: "#3b82f6",
292
+ curveType: "monotoneX"
293
+ }),
294
+ o(n(B), {
295
+ type: "x",
296
+ tickFormat: G,
297
+ numTicks: 5,
298
+ gridLine: !1
299
+ }),
300
+ o(n(B), {
301
+ type: "y",
302
+ gridLine: !0,
303
+ numTicks: 4
304
+ }),
305
+ o(n(te), {
306
+ template: (l) => n(Y)(n(Z), { namePayload: [{ name: "Clicks", value: l.clicks, color: "#3b82f6" }], labelFormatter: J })
307
+ }, null, 8, ["template"]),
308
+ o(n(se))
309
+ ]),
310
+ _: 1
311
+ }, 8, ["data"])
312
+ ])) : (a(), i("p", Ye, "Not enough data for chart"))
313
+ ]),
314
+ _: 1
315
+ }),
316
+ o(m, { class: "p-4" }, {
317
+ default: u(() => [
318
+ t[22] || (t[22] = e("h3", { class: "text-sm font-medium mb-3" }, "Impressions Over Time", -1)),
319
+ h.value.length > 1 ? (a(), i("div", Ze, [
320
+ o(n(ee), {
321
+ data: h.value,
322
+ height: 180
323
+ }, {
324
+ default: u(() => [
325
+ o(n(oe), {
326
+ x: F,
327
+ y: q,
328
+ color: "#8b5cf6",
329
+ opacity: 0.1,
330
+ curveType: "monotoneX"
331
+ }),
332
+ o(n(le), {
333
+ x: F,
334
+ y: q,
335
+ color: "#8b5cf6",
336
+ curveType: "monotoneX"
337
+ }),
338
+ o(n(B), {
339
+ type: "x",
340
+ tickFormat: G,
341
+ numTicks: 5,
342
+ gridLine: !1
343
+ }),
344
+ o(n(B), {
345
+ type: "y",
346
+ gridLine: !0,
347
+ numTicks: 4
348
+ }),
349
+ o(n(te), {
350
+ template: (l) => n(Y)(n(Z), { namePayload: [{ name: "Impressions", value: l.impressions, color: "#8b5cf6" }], labelFormatter: J })
351
+ }, null, 8, ["template"]),
352
+ o(n(se))
353
+ ]),
354
+ _: 1
355
+ }, 8, ["data"])
356
+ ])) : (a(), i("p", et, "Not enough data for chart"))
357
+ ]),
358
+ _: 1
359
+ })
360
+ ]),
361
+ o(m, { class: "overflow-hidden" }, {
362
+ default: u(() => [
363
+ e("div", tt, [
364
+ e("div", st, [
365
+ e("button", {
366
+ class: v(["px-4 py-2.5 text-sm font-medium transition-colors border-b-2", x.value === "keywords" ? "border-primary text-primary" : "border-transparent text-muted-foreground hover:text-foreground"]),
367
+ onClick: t[0] || (t[0] = (l) => x.value = "keywords")
368
+ }, [
369
+ o(n(ke), { class: "size-3.5 inline mr-1.5" }),
370
+ t[23] || (t[23] = d(" Keywords ", -1))
371
+ ], 2),
372
+ e("button", {
373
+ class: v(["px-4 py-2.5 text-sm font-medium transition-colors border-b-2", x.value === "pages" ? "border-primary text-primary" : "border-transparent text-muted-foreground hover:text-foreground"]),
374
+ onClick: t[1] || (t[1] = (l) => x.value = "pages")
375
+ }, [
376
+ o(n(we), { class: "size-3.5 inline mr-1.5" }),
377
+ t[24] || (t[24] = d(" Pages ", -1))
378
+ ], 2),
379
+ e("button", {
380
+ class: v(["px-4 py-2.5 text-sm font-medium transition-colors border-b-2", x.value === "mapping" ? "border-primary text-primary" : "border-transparent text-muted-foreground hover:text-foreground"]),
381
+ onClick: t[2] || (t[2] = (l) => x.value = "mapping")
382
+ }, [
383
+ o(n(Ce), { class: "size-3.5 inline mr-1.5" }),
384
+ t[25] || (t[25] = d(" Keyword → Page ", -1))
385
+ ], 2)
386
+ ])
387
+ ]),
388
+ x.value === "keywords" ? (a(), i("div", ot, [
389
+ c.value.length === 0 ? (a(), i("div", lt, " No keyword data found for this period. ")) : y("", !0),
390
+ (a(!0), i($, null, U(c.value, (l, p) => (a(), i("div", {
391
+ key: p,
392
+ class: "px-4 py-3 hover:bg-muted/30 transition-colors"
393
+ }, [
394
+ e("div", nt, [
395
+ e("span", rt, r(p + 1) + ".", 1),
396
+ e("div", at, [
397
+ e("p", it, r(l.query), 1),
398
+ e("div", dt, [
399
+ e("div", {
400
+ class: "h-full rounded-full bg-blue-500/70",
401
+ style: C({ width: `${l.clicks / de.value * 100}%` })
402
+ }, null, 4)
403
+ ])
404
+ ]),
405
+ e("div", ut, [
406
+ e("span", ct, [
407
+ o(n(N), { class: "size-3" }),
408
+ d(" " + r(_(l.clicks)), 1)
409
+ ]),
410
+ e("span", mt, [
411
+ o(n(V), { class: "size-3" }),
412
+ d(" " + r(_(l.impressions)), 1)
413
+ ]),
414
+ e("span", xt, r(E(l.ctr)), 1),
415
+ e("span", {
416
+ class: v(["inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium w-14 justify-center", K(l.position)])
417
+ }, " #" + r(M(l.position)), 3)
418
+ ])
419
+ ])
420
+ ]))), 128))
421
+ ])) : y("", !0),
422
+ x.value === "pages" ? (a(), i("div", pt, [
423
+ D.value.length === 0 ? (a(), i("div", ft, " No page data found for this period. ")) : y("", !0),
424
+ (a(!0), i($, null, U(D.value, (l, p) => (a(), i("div", {
425
+ key: p,
426
+ class: "px-4 py-3 hover:bg-muted/30 transition-colors"
427
+ }, [
428
+ e("div", vt, [
429
+ e("span", gt, r(p + 1) + ".", 1),
430
+ e("div", yt, [
431
+ e("p", {
432
+ class: "text-sm font-medium truncate",
433
+ title: l.page
434
+ }, r(Q(l.page)), 9, ht),
435
+ e("div", _t, [
436
+ e("div", {
437
+ class: "h-full rounded-full bg-violet-500/70",
438
+ style: C({ width: `${l.clicks / ue.value * 100}%` })
439
+ }, null, 4)
440
+ ])
441
+ ]),
442
+ e("div", bt, [
443
+ e("span", kt, [
444
+ o(n(N), { class: "size-3" }),
445
+ d(" " + r(_(l.clicks)), 1)
446
+ ]),
447
+ e("span", wt, [
448
+ o(n(V), { class: "size-3" }),
449
+ d(" " + r(_(l.impressions)), 1)
450
+ ]),
451
+ e("span", Ct, r(E(l.ctr)), 1),
452
+ e("span", {
453
+ class: v(["inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium w-14 justify-center", K(l.position)])
454
+ }, " #" + r(M(l.position)), 3)
455
+ ])
456
+ ])
457
+ ]))), 128))
458
+ ])) : y("", !0),
459
+ x.value === "mapping" ? (a(), i("div", $t, [
460
+ j.value.length === 0 ? (a(), i("div", Tt, " No query-page data found for this period. ")) : y("", !0),
461
+ (a(!0), i($, null, U(j.value, (l, p) => (a(), i("div", {
462
+ key: p,
463
+ class: "px-4 py-3 hover:bg-muted/30 transition-colors"
464
+ }, [
465
+ e("div", zt, [
466
+ e("span", St, r(p + 1) + ".", 1),
467
+ e("div", Dt, [
468
+ e("p", Pt, r(l.query), 1),
469
+ e("p", {
470
+ class: "text-xs text-muted-foreground truncate",
471
+ title: l.page
472
+ }, "→ " + r(Q(l.page)), 9, Rt)
473
+ ]),
474
+ e("div", Ft, [
475
+ e("span", Mt, [
476
+ o(n(N), { class: "size-3" }),
477
+ d(" " + r(_(l.clicks)), 1)
478
+ ]),
479
+ e("span", {
480
+ class: v(["inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium", K(l.position)])
481
+ }, " #" + r(M(l.position)), 3)
482
+ ])
483
+ ])
484
+ ]))), 128))
485
+ ])) : y("", !0)
486
+ ]),
487
+ _: 1
488
+ })
489
+ ], 64)) : (a(), H(m, {
490
+ key: 1,
491
+ class: "p-8 text-center"
492
+ }, {
493
+ default: u(() => [...t[6] || (t[6] = [
494
+ e("p", { class: "text-lg font-medium" }, "Setup required", -1),
495
+ e("p", { class: "text-sm text-muted-foreground mt-1" }, "Configure your service account, property ID, and site URL in module settings.", -1)
496
+ ])]),
497
+ _: 1
498
+ })) : (a(), H(m, {
499
+ key: 0,
500
+ class: "p-8 text-center space-y-3"
501
+ }, {
502
+ default: u(() => [
503
+ o(n(ye), { class: "size-10 text-amber-500 mx-auto" }),
504
+ t[4] || (t[4] = e("p", { class: "text-lg font-medium" }, "Search Console not configured", -1)),
505
+ t[5] || (t[5] = e("p", { class: "text-sm text-muted-foreground max-w-md mx-auto" }, [
506
+ d(" Add your "),
507
+ e("strong", null, "Search Console Site URL"),
508
+ d(" in the module settings to enable SEO data. Use the exact format from Google Search Console (e.g. "),
509
+ e("code", null, "https://example.com"),
510
+ d(" or "),
511
+ e("code", null, "sc-domain:example.com"),
512
+ d("). ")
513
+ ], -1))
514
+ ]),
515
+ _: 1
516
+ }))
517
+ ]);
518
+ };
519
+ }
520
+ });
521
+ export {
522
+ Ot as default
523
+ };