@rakun-kit/manager-react 1.5.10 → 1.6.0

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 (261) hide show
  1. package/README.md +348 -295
  2. package/dist/cjs/components/app-sidebar.js +10 -0
  3. package/dist/cjs/components/app-sidebar.js.map +1 -1
  4. package/dist/cjs/components/media/MediaLibrary.js +10 -1
  5. package/dist/cjs/components/media/MediaLibrary.js.map +1 -1
  6. package/dist/cjs/components/media/contexts/MediaLibraryContext.js +1 -1
  7. package/dist/cjs/components/media/contexts/MediaLibraryContext.js.map +1 -1
  8. package/dist/cjs/components/media/previews/MediaContextMenuContent.js +68 -15
  9. package/dist/cjs/components/media/previews/MediaContextMenuContent.js.map +1 -1
  10. package/dist/cjs/components/media/previews/Previews.js +89 -35
  11. package/dist/cjs/components/media/previews/Previews.js.map +1 -1
  12. package/dist/cjs/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  13. package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
  14. package/dist/cjs/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  15. package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
  16. package/dist/cjs/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
  17. package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js +16 -9
  18. package/dist/cjs/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  19. package/dist/cjs/components/media/previews/utils/mediaDownload.js +54 -0
  20. package/dist/cjs/components/media/previews/utils/mediaDownload.js.map +1 -0
  21. package/dist/cjs/components/media/previews/views/PreviewsListView.js +1 -1
  22. package/dist/cjs/components/media/previews/views/PreviewsListView.js.map +1 -1
  23. package/dist/cjs/components/rakun-logo.js +4 -9
  24. package/dist/cjs/components/rakun-logo.js.map +1 -1
  25. package/dist/cjs/components/ui/context-menu.js +1 -1
  26. package/dist/cjs/components/ui/context-menu.js.map +1 -1
  27. package/dist/cjs/i18n/catalog.js +343 -9
  28. package/dist/cjs/i18n/catalog.js.map +1 -1
  29. package/dist/cjs/lib/media.js +1 -0
  30. package/dist/cjs/lib/media.js.map +1 -1
  31. package/dist/cjs/media.js +45 -0
  32. package/dist/cjs/media.js.map +1 -1
  33. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +15 -4
  34. package/dist/cjs/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  35. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js +11 -6
  36. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/ContentCommentsDrawer.js.map +1 -1
  37. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
  38. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
  39. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +2 -1
  40. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
  41. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
  42. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
  43. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +290 -0
  44. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
  45. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +88 -0
  46. package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
  47. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +1 -1
  48. package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
  49. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
  50. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
  51. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +222 -232
  52. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
  53. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
  54. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  55. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +27 -21
  56. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  57. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
  58. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +25 -0
  59. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
  60. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +10 -1
  61. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
  62. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
  63. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
  64. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +135 -0
  65. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
  66. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +10 -0
  67. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
  68. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +113 -0
  69. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
  70. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
  71. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
  72. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +22 -0
  73. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
  74. package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
  75. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +1 -0
  76. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
  77. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
  78. package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
  79. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js +10 -1
  80. package/dist/cjs/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  81. package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
  82. package/dist/cjs/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
  83. package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js +17 -0
  84. package/dist/cjs/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
  85. package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js +40 -26
  86. package/dist/cjs/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
  87. package/dist/cjs/router/dashboard/debugging/api-routes/test.js +6 -5
  88. package/dist/cjs/router/dashboard/debugging/api-routes/test.js.map +1 -1
  89. package/dist/cjs/router/dashboard/seo/index.js +6 -0
  90. package/dist/cjs/router/dashboard/seo/index.js.map +1 -0
  91. package/dist/cjs/router/dashboard/seo/screen.js +219 -0
  92. package/dist/cjs/router/dashboard/seo/screen.js.map +1 -0
  93. package/dist/cjs/router/dashboard/seo/site-analysis.js +153 -0
  94. package/dist/cjs/router/dashboard/seo/site-analysis.js.map +1 -0
  95. package/dist/cjs/router/shared/route-list.js +10 -2
  96. package/dist/cjs/router/shared/route-list.js.map +1 -1
  97. package/dist/docs/index.md +283 -194
  98. package/dist/esm/components/app-sidebar.d.ts.map +1 -1
  99. package/dist/esm/components/app-sidebar.js +11 -1
  100. package/dist/esm/components/app-sidebar.js.map +1 -1
  101. package/dist/esm/components/media/MediaLibrary.d.ts.map +1 -1
  102. package/dist/esm/components/media/MediaLibrary.js +11 -2
  103. package/dist/esm/components/media/MediaLibrary.js.map +1 -1
  104. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts +2 -0
  105. package/dist/esm/components/media/contexts/MediaLibraryContext.d.ts.map +1 -1
  106. package/dist/esm/components/media/contexts/MediaLibraryContext.js +1 -1
  107. package/dist/esm/components/media/contexts/MediaLibraryContext.js.map +1 -1
  108. package/dist/esm/components/media/previews/MediaContextMenuContent.d.ts.map +1 -1
  109. package/dist/esm/components/media/previews/MediaContextMenuContent.js +70 -17
  110. package/dist/esm/components/media/previews/MediaContextMenuContent.js.map +1 -1
  111. package/dist/esm/components/media/previews/Previews.d.ts.map +1 -1
  112. package/dist/esm/components/media/previews/Previews.js +90 -36
  113. package/dist/esm/components/media/previews/Previews.js.map +1 -1
  114. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts +2 -0
  115. package/dist/esm/components/media/previews/context/MediaPreviewContext.d.ts.map +1 -1
  116. package/dist/esm/components/media/previews/context/MediaPreviewContext.js.map +1 -1
  117. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.d.ts.map +1 -1
  118. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js +7 -10
  119. package/dist/esm/components/media/previews/dialogs/ExpandedPreviewDialog.js.map +1 -1
  120. package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.d.ts.map +1 -1
  121. package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js +3 -1
  122. package/dist/esm/components/media/previews/hooks/useMediaPreviewRenderer.js.map +1 -1
  123. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts +4 -1
  124. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.d.ts.map +1 -1
  125. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js +17 -10
  126. package/dist/esm/components/media/previews/toolbar/PreviewsToolbar.js.map +1 -1
  127. package/dist/esm/components/media/previews/utils/mediaDownload.d.ts +13 -0
  128. package/dist/esm/components/media/previews/utils/mediaDownload.d.ts.map +1 -0
  129. package/dist/esm/components/media/previews/utils/mediaDownload.js +49 -0
  130. package/dist/esm/components/media/previews/utils/mediaDownload.js.map +1 -0
  131. package/dist/esm/components/media/previews/views/PreviewsListView.js +1 -1
  132. package/dist/esm/components/media/previews/views/PreviewsListView.js.map +1 -1
  133. package/dist/esm/components/rakun-logo.d.ts +1 -5
  134. package/dist/esm/components/rakun-logo.d.ts.map +1 -1
  135. package/dist/esm/components/rakun-logo.js +1 -6
  136. package/dist/esm/components/rakun-logo.js.map +1 -1
  137. package/dist/esm/components/ui/context-menu.js +1 -1
  138. package/dist/esm/components/ui/context-menu.js.map +1 -1
  139. package/dist/esm/i18n/catalog.d.ts +564 -9
  140. package/dist/esm/i18n/catalog.d.ts.map +1 -1
  141. package/dist/esm/i18n/catalog.js +327 -7
  142. package/dist/esm/i18n/catalog.js.map +1 -1
  143. package/dist/esm/lib/media.d.ts +8 -0
  144. package/dist/esm/lib/media.d.ts.map +1 -1
  145. package/dist/esm/lib/media.js +1 -0
  146. package/dist/esm/lib/media.js.map +1 -1
  147. package/dist/esm/media.d.ts +19 -1
  148. package/dist/esm/media.d.ts.map +1 -1
  149. package/dist/esm/media.js +44 -0
  150. package/dist/esm/media.js.map +1 -1
  151. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.d.ts.map +1 -1
  152. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js +18 -7
  153. package/dist/esm/router/dashboard/[contentType]/[edit]/ContentTypeEdit.js.map +1 -1
  154. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
  155. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +2 -1
  156. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
  157. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.d.ts.map +1 -1
  158. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js +2 -1
  159. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditToolbar.js.map +1 -1
  160. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.d.ts.map +1 -1
  161. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js +1 -1
  162. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/PreviewPanel.js.map +1 -1
  163. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts +2 -0
  164. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.d.ts.map +1 -0
  165. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js +283 -0
  166. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/SeoTabContent.js.map +1 -0
  167. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts +10 -0
  168. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.d.ts.map +1 -0
  169. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js +83 -0
  170. package/dist/esm/router/dashboard/[contentType]/[edit]/_components/seo-analysis.js.map +1 -0
  171. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.d.ts.map +1 -1
  172. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js +15 -2
  173. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ContentReferenceField/ContentReferenceMultiSelectUI.js.map +1 -1
  174. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts +6 -2
  175. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
  176. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +221 -234
  177. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
  178. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
  179. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +20 -1
  180. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
  181. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.d.ts.map +1 -1
  182. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js +16 -19
  183. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/LinkUI.js.map +1 -1
  184. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts +2 -0
  185. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.d.ts.map +1 -1
  186. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/index.js.map +1 -1
  187. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts +4 -0
  188. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.d.ts.map +1 -0
  189. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js +21 -0
  190. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/LinkField/linkValue.js.map +1 -0
  191. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
  192. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +11 -2
  193. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
  194. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.d.ts.map +1 -1
  195. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js +38 -11
  196. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/SimpleListUI.js.map +1 -1
  197. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts +4 -0
  198. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.d.ts.map +1 -0
  199. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js +130 -0
  200. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/MenuUI.js.map +1 -0
  201. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts +14 -0
  202. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.d.ts.map +1 -0
  203. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js +5 -0
  204. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/index.js.map +1 -0
  205. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts +23 -0
  206. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.d.ts.map +1 -0
  207. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js +103 -0
  208. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/MenuField/menuTree.js.map +1 -0
  209. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.d.ts.map +1 -1
  210. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js +15 -2
  211. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/Select/MultiSelectUI.js.map +1 -1
  212. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts +6 -0
  213. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.d.ts.map +1 -0
  214. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js +18 -0
  215. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/ItemLimitStatus.js.map +1 -0
  216. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts +2 -1
  217. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.d.ts.map +1 -1
  218. package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/shared/index.js.map +1 -1
  219. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts +43 -0
  220. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.d.ts.map +1 -1
  221. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js +198 -0
  222. package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentPreview.js.map +1 -1
  223. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.d.ts.map +1 -1
  224. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js +10 -1
  225. package/dist/esm/router/dashboard/[contentType]/[edit]/edit.js.map +1 -1
  226. package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.d.ts.map +1 -1
  227. package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js +2 -2
  228. package/dist/esm/router/dashboard/debugging/api-routes/ApiTest.js.map +1 -1
  229. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts +5 -0
  230. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.d.ts.map +1 -0
  231. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js +14 -0
  232. package/dist/esm/router/dashboard/debugging/api-routes/JsonViewer.js.map +1 -0
  233. package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.d.ts.map +1 -1
  234. package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js +42 -28
  235. package/dist/esm/router/dashboard/debugging/api-routes/SchemaViewer.js.map +1 -1
  236. package/dist/esm/router/dashboard/debugging/api-routes/test.d.ts.map +1 -1
  237. package/dist/esm/router/dashboard/debugging/api-routes/test.js +6 -5
  238. package/dist/esm/router/dashboard/debugging/api-routes/test.js.map +1 -1
  239. package/dist/esm/router/dashboard/seo/index.d.ts +2 -0
  240. package/dist/esm/router/dashboard/seo/index.d.ts.map +1 -0
  241. package/dist/esm/router/dashboard/seo/index.js +2 -0
  242. package/dist/esm/router/dashboard/seo/index.js.map +1 -0
  243. package/dist/esm/router/dashboard/seo/screen.d.ts +6 -0
  244. package/dist/esm/router/dashboard/seo/screen.d.ts.map +1 -0
  245. package/dist/esm/router/dashboard/seo/screen.js +212 -0
  246. package/dist/esm/router/dashboard/seo/screen.js.map +1 -0
  247. package/dist/esm/router/dashboard/seo/site-analysis.d.ts +40 -0
  248. package/dist/esm/router/dashboard/seo/site-analysis.d.ts.map +1 -0
  249. package/dist/esm/router/dashboard/seo/site-analysis.js +148 -0
  250. package/dist/esm/router/dashboard/seo/site-analysis.js.map +1 -0
  251. package/dist/esm/router/shared/route-definitions.d.ts +4 -2
  252. package/dist/esm/router/shared/route-definitions.d.ts.map +1 -1
  253. package/dist/esm/router/shared/route-list.d.ts +1 -1
  254. package/dist/esm/router/shared/route-list.d.ts.map +1 -1
  255. package/dist/esm/router/shared/route-list.js +8 -0
  256. package/dist/esm/router/shared/route-list.js.map +1 -1
  257. package/dist/esm/router/shared/types.d.ts +2 -0
  258. package/dist/esm/router/shared/types.d.ts.map +1 -1
  259. package/dist/styles.css +237 -6
  260. package/dist/tsconfig.build.tsbuildinfo +1 -1
  261. package/package.json +3 -3
@@ -1,37 +1,39 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { CodeBlock } from "./CodeBlock.js";
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { ChevronRight } from 'lucide-react';
4
+ import { CodeBlock } from './CodeBlock.js';
5
+ import { Badge } from '../../../../components/ui/badge.js';
6
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../../../../components/ui/collapsible.js';
4
7
  import { useTranslations } from '../../../../i18n/index.js';
5
- import { Badge } from "../../../../components/ui/badge.js";
6
- const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
8
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
7
9
  const asRecord = (value) => isRecord(value) ? value : null;
8
10
  const asStringArray = (value) => Array.isArray(value)
9
- ? value.filter((item) => typeof item === "string")
11
+ ? value.filter((item) => typeof item === 'string')
10
12
  : [];
11
13
  const getSchemaType = (schema) => {
12
14
  const type = schema.type;
13
- if (typeof type === "string")
15
+ if (typeof type === 'string')
14
16
  return type;
15
17
  if (Array.isArray(type))
16
- return type.join(" | ");
18
+ return type.join(' | ');
17
19
  if (schema.enum)
18
- return "enum";
20
+ return 'enum';
19
21
  if (schema.oneOf)
20
- return "oneOf";
22
+ return 'oneOf';
21
23
  if (schema.anyOf)
22
- return "anyOf";
24
+ return 'anyOf';
23
25
  if (schema.allOf)
24
- return "allOf";
25
- return "any";
26
+ return 'allOf';
27
+ return 'any';
26
28
  };
27
29
  const formatValue = (value) => {
28
- if (typeof value === "string")
30
+ if (typeof value === 'string')
29
31
  return value;
30
- if (typeof value === "number" || typeof value === "boolean") {
32
+ if (typeof value === 'number' || typeof value === 'boolean') {
31
33
  return String(value);
32
34
  }
33
35
  if (value === null)
34
- return "null";
36
+ return 'null';
35
37
  return JSON.stringify(value);
36
38
  };
37
39
  const getPropertyEntries = (schema) => {
@@ -45,15 +47,19 @@ const getPropertyEntries = (schema) => {
45
47
  };
46
48
  const SchemaBadges = ({ schema, required, }) => {
47
49
  const t = useTranslations();
48
- return (_jsxs("div", { className: "flex shrink-0 flex-wrap items-center gap-1.5", children: [_jsx(Badge, { variant: "secondary", children: getSchemaType(schema) }), required ? _jsx(Badge, { variant: "outline", children: t('common.required') }) : null, typeof schema.format === "string" ? (_jsx(Badge, { variant: "outline", children: schema.format })) : null] }));
50
+ return (_jsxs("div", { className: "flex shrink-0 flex-wrap items-center gap-1.5", children: [_jsx(Badge, { variant: "secondary", children: getSchemaType(schema) }), required ? _jsx(Badge, { variant: "outline", children: t('common.required') }) : null, typeof schema.format === 'string' ? (_jsx(Badge, { variant: "outline", children: schema.format })) : null] }));
49
51
  };
50
52
  const SchemaMeta = ({ schema }) => {
51
53
  const t = useTranslations();
52
54
  const enumValues = Array.isArray(schema.enum) ? schema.enum : [];
53
- return (_jsxs("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [typeof schema.description === "string" ? (_jsx("span", { children: schema.description })) : null, "default" in schema ? (_jsxs("span", { children: [t('apiRoutes.schemaDefault'), " ", formatValue(schema.default)] })) : null, enumValues.length > 0 ? (_jsxs("span", { children: [t('apiRoutes.schemaValues'), " ", enumValues.map(formatValue).join(", ")] })) : null, typeof schema.minimum === "number" ? (_jsxs("span", { children: [t('apiRoutes.schemaMin'), " ", schema.minimum] })) : null, typeof schema.maximum === "number" ? (_jsxs("span", { children: [t('apiRoutes.schemaMax'), " ", schema.maximum] })) : null, typeof schema.minLength === "number" ? (_jsxs("span", { children: [t('apiRoutes.schemaMinLength'), " ", schema.minLength] })) : null, typeof schema.maxLength === "number" ? (_jsxs("span", { children: [t('apiRoutes.schemaMaxLength'), " ", schema.maxLength] })) : null] }));
55
+ return (_jsxs("div", { className: "mt-1 flex flex-wrap gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [typeof schema.description === 'string' ? (_jsx("span", { children: schema.description })) : null, 'default' in schema ? (_jsxs("span", { children: [t('apiRoutes.schemaDefault'), " ", formatValue(schema.default)] })) : null, enumValues.length > 0 ? (_jsxs("span", { children: [t('apiRoutes.schemaValues'), " ", enumValues.map(formatValue).join(', ')] })) : null, typeof schema.minimum === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMin'), " ", schema.minimum] })) : null, typeof schema.maximum === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMax'), " ", schema.maximum] })) : null, typeof schema.minLength === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMinLength'), " ", schema.minLength] })) : null, typeof schema.maxLength === 'number' ? (_jsxs("span", { children: [t('apiRoutes.schemaMaxLength'), " ", schema.maxLength] })) : null] }));
54
56
  };
55
- const Row = ({ name, schema, required, }) => (_jsxs("div", { className: "flex min-w-0 items-start justify-between gap-3 rounded-sm px-1.5 py-1.5 hover:bg-muted/40", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "wrap-break-word font-mono text-sm font-medium", children: name }), _jsx(SchemaMeta, { schema: schema })] }), _jsx(SchemaBadges, { schema: schema, required: required })] }));
56
- const SchemaChildren = ({ schema }) => {
57
+ const Row = ({ name, schema, required, expandable = false, }) => {
58
+ const content = (_jsxs(_Fragment, { children: [_jsx("span", { className: "mt-0.5 flex size-4 shrink-0 items-center justify-center", children: expandable ? (_jsx(ChevronRight, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" })) : null }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "wrap-break-word font-mono text-sm font-medium", children: name }), _jsx(SchemaMeta, { schema: schema })] }), _jsx(SchemaBadges, { schema: schema, required: required })] }));
59
+ const className = 'group flex w-full min-w-0 items-start justify-between gap-3 rounded-sm px-1.5 py-1.5 text-left hover:bg-muted/40';
60
+ return expandable ? (_jsx(CollapsibleTrigger, { asChild: true, children: _jsx("button", { type: "button", className: className, children: content }) })) : (_jsx("div", { className: className, children: content }));
61
+ };
62
+ const getSchemaChildren = (schema) => {
57
63
  const requiredFields = new Set(asStringArray(schema.required));
58
64
  const propertyEntries = getPropertyEntries(schema).map(([name, propertySchema]) => ({
59
65
  name,
@@ -61,7 +67,7 @@ const SchemaChildren = ({ schema }) => {
61
67
  required: requiredFields.has(name),
62
68
  }));
63
69
  const itemSchema = asRecord(schema.items);
64
- const variantEntries = ["oneOf", "anyOf", "allOf"].flatMap((key) => {
70
+ const variantEntries = ['oneOf', 'anyOf', 'allOf'].flatMap((key) => {
65
71
  const value = schema[key];
66
72
  if (!Array.isArray(value))
67
73
  return [];
@@ -71,19 +77,27 @@ const SchemaChildren = ({ schema }) => {
71
77
  required: false,
72
78
  }));
73
79
  });
74
- const children = [
80
+ return [
75
81
  ...propertyEntries,
76
- ...(itemSchema
77
- ? [{ name: "items", schema: itemSchema, required: false }]
78
- : []),
82
+ ...(itemSchema ? [{ name: 'items', schema: itemSchema, required: false }] : []),
79
83
  ...variantEntries,
80
84
  ];
85
+ };
86
+ const SchemaChildren = ({ schema, depth }) => {
87
+ const children = getSchemaChildren(schema);
81
88
  if (children.length === 0)
82
89
  return null;
83
- return (_jsx("ul", { className: "ml-3 space-y-0.5", children: children.map((child, index) => (_jsx(SchemaTreeNode, { name: child.name, schema: child.schema, required: child.required, isLast: index === children.length - 1 }, `${child.name}-${index}`))) }));
90
+ return (_jsx("ul", { className: "ml-3 space-y-0.5", children: children.map((child, index) => (_jsx(SchemaTreeNode, { name: child.name, schema: child.schema, required: child.required, isLast: index === children.length - 1, depth: depth }, `${child.name}-${index}`))) }));
91
+ };
92
+ const SchemaTreeNode = ({ name, schema, required, isLast, depth, }) => {
93
+ const expandable = getSchemaChildren(schema).length > 0;
94
+ const node = (_jsxs(_Fragment, { children: [_jsx(Row, { name: name, schema: schema, required: required, expandable: expandable }), expandable ? (_jsx(CollapsibleContent, { children: _jsx(SchemaChildren, { schema: schema, depth: depth + 1 }) })) : null] }));
95
+ return (_jsxs("li", { className: "relative pl-6", children: [!isLast ? (_jsx("span", { className: "absolute left-0 top-4 h-full border-l border-border" })) : null, _jsx("span", { className: "absolute left-0 top-4 w-4 border-t border-border" }), expandable ? _jsx(Collapsible, { defaultOpen: depth < 1, children: node }) : node] }));
96
+ };
97
+ const RootSchemaNode = ({ schema }) => {
98
+ const expandable = getSchemaChildren(schema).length > 0;
99
+ return (_jsx("div", { className: "rounded-md border bg-background/60 p-3", children: expandable ? (_jsxs(Collapsible, { defaultOpen: true, children: [_jsx(Row, { name: getSchemaType(schema), schema: schema, expandable: true }), _jsx(CollapsibleContent, { children: _jsx(SchemaChildren, { schema: schema, depth: 1 }) })] })) : (_jsx(Row, { name: getSchemaType(schema), schema: schema })) }));
84
100
  };
85
- const SchemaTreeNode = ({ name, schema, required, isLast, }) => (_jsxs("li", { className: "relative pl-6", children: [!isLast ? (_jsx("span", { className: "absolute left-0 top-4 h-full border-l border-border" })) : null, _jsx("span", { className: "absolute left-0 top-4 w-4 border-t border-border" }), _jsx(Row, { name: name, schema: schema, required: required }), _jsx(SchemaChildren, { schema: schema })] }));
86
- const RootSchemaNode = ({ schema }) => (_jsxs("div", { className: "rounded-md border bg-background/60 p-3", children: [_jsx(Row, { name: getSchemaType(schema), schema: schema }), _jsx(SchemaChildren, { schema: schema })] }));
87
101
  export function SchemaViewer({ schema, }) {
88
102
  const t = useTranslations();
89
103
  const schemaRecord = asRecord(schema);
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaViewer.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/SchemaViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaViewer.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/SchemaViewer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"AAkBA,KAAK,KAAK,GAAG;IACX,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,YAAY,GACb,EAAE,KAAK,2CAqEP"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"AAmBA,KAAK,KAAK,GAAG;IACX,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,KAAK,GAAG,MAAM,CAAA;KACvB,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,SAAS,EACT,YAAY,GACb,EAAE,KAAK,2CAqEP"}
@@ -3,19 +3,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useRef, useState } from 'react';
4
4
  import { CodeBlock } from './CodeBlock.js';
5
5
  import { EditableCodeBlock, } from './EditableCodeBlock.js';
6
+ import { JsonViewer } from './JsonViewer.js';
6
7
  import { useManagerClient } from '../../../../client/react.js';
7
8
  import { Button } from '../../../../components/ui/button.js';
8
9
  import { ResizableHandle, ResizablePanel, ResizablePanelGroup, } from '../../../../components/ui/resizable.js';
9
10
  export default function ApiPlayground({ operation, defaultInput, }) {
10
11
  const client = useManagerClient();
11
12
  const inputRef = useRef(null);
12
- const [out, setOut] = useState('');
13
+ const [out, setOut] = useState(null);
13
14
  const [err, setErr] = useState('');
14
15
  const [running, setRunning] = useState(false);
15
16
  const run = async () => {
16
17
  setRunning(true);
17
18
  setErr('');
18
- setOut('');
19
+ setOut(null);
19
20
  let parsedInput = undefined;
20
21
  try {
21
22
  const value = inputRef.current?.getValue().trim();
@@ -33,7 +34,7 @@ export default function ApiPlayground({ operation, defaultInput, }) {
33
34
  method: operation.method,
34
35
  })
35
36
  : await client.request(operation.name, parsedInput);
36
- setOut(JSON.stringify(result, null, 2));
37
+ setOut({ value: result });
37
38
  }
38
39
  catch (error) {
39
40
  if (error instanceof Error) {
@@ -42,12 +43,12 @@ export default function ApiPlayground({ operation, defaultInput, }) {
42
43
  else {
43
44
  setErr('Unknown error');
44
45
  }
45
- setOut(JSON.stringify(error, null, 2));
46
+ setOut({ value: error });
46
47
  }
47
48
  finally {
48
49
  setRunning(false);
49
50
  }
50
51
  };
51
- return (_jsxs("div", { className: 'mt-6', children: [_jsxs(ResizablePanelGroup, { className: 'w-full', orientation: 'horizontal', children: [_jsx(ResizablePanel, { defaultSize: 50, children: _jsx(EditableCodeBlock, { ref: inputRef, children: defaultInput }) }), _jsx(ResizableHandle, { withHandle: true, className: 'mx-2' }), _jsxs(ResizablePanel, { defaultSize: 50, children: [err ? (_jsx("div", { className: 'mb-3 rounded-lg border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive', children: err })) : null, _jsx(CodeBlock, { children: out })] })] }), _jsx(Button, { className: 'mt-4 w-full', onClick: () => void run(), disabled: running, children: running ? 'Running...' : 'Run' })] }));
52
+ return (_jsxs("div", { className: 'mt-6', children: [_jsxs(ResizablePanelGroup, { className: 'w-full', orientation: 'horizontal', children: [_jsx(ResizablePanel, { defaultSize: 50, children: _jsx(EditableCodeBlock, { ref: inputRef, children: defaultInput }) }), _jsx(ResizableHandle, { withHandle: true, className: 'mx-2' }), _jsxs(ResizablePanel, { defaultSize: 50, children: [err ? (_jsx("div", { className: 'mb-3 rounded-lg border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive', children: err })) : null, out ? _jsx(JsonViewer, { value: out.value }) : _jsx(CodeBlock, {})] })] }), _jsx(Button, { className: 'mt-4 w-full', onClick: () => void run(), disabled: running, children: running ? 'Running...' : 'Run' })] }));
52
53
  }
53
54
  //# sourceMappingURL=test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../src/router/dashboard/debugging/api-routes/test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { ManagerSeoScreen } from './screen.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ManagerSeoScreen } from './screen.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { EncodedContentType } from '@rakun-kit/core/client';
2
+ export declare const ManagerSeoScreen: ({ contentTypes, siteUrl, }: {
3
+ contentTypes: EncodedContentType[];
4
+ siteUrl?: string;
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/screen.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAc,MAAM,wBAAwB,CAAA;AA4E5E,eAAO,MAAM,gBAAgB,GAAI,4BAG9B;IACD,YAAY,EAAE,kBAAkB,EAAE,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,4CAwZA,CAAA"}
@@ -0,0 +1,212 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { AlertTriangle, CheckCircle2, CircleX, History, SearchCheck, } from 'lucide-react';
4
+ import { useEffect, useMemo, useState } from 'react';
5
+ import { toast } from 'sonner';
6
+ import { buildSiteSeoAudit, getSiteSeoAuditCounts, } from './site-analysis.js';
7
+ import { useManagerClient, useManagerMutation, useManagerQuery } from '../../../client/react.js';
8
+ import { Badge } from '../../../components/ui/badge.js';
9
+ import { Button } from '../../../components/ui/button.js';
10
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '../../../components/ui/card.js';
11
+ import Loading from '../../../components/loading.js';
12
+ import { PaginationController } from '../../../components/PaginationController.js';
13
+ import UnauthorizedMessage from '../../../components/unauthorized.js';
14
+ import { formatDate } from '../../../helpers/formatDate.js';
15
+ import { getActionErrorMessage } from '../../../helpers/get-action-error-message.js';
16
+ import { useTranslations } from '../../../i18n/index.js';
17
+ import { ManagerLink } from '../../../link.js';
18
+ import { cn } from '../../../lib/utils.js';
19
+ import { getEncodedContentPermissions } from '../../../state/permissions.js';
20
+ import { useLanguage } from '../../../state/language.js';
21
+ import { useSession } from '../../../state/session.js';
22
+ const SEO_AUDIT_CONTENT_TYPE = 'SeoAudit';
23
+ const SEO_HISTORY_PAGE_SIZE = 10;
24
+ const scoreStyles = (score) => score >= 80
25
+ ? 'text-emerald-700 dark:text-emerald-300'
26
+ : score >= 50
27
+ ? 'text-amber-700 dark:text-amber-300'
28
+ : 'text-destructive';
29
+ const parsePayload = (value) => {
30
+ try {
31
+ const payload = JSON.parse(value);
32
+ return payload?.version === 1 && Array.isArray(payload.pages) ? payload : null;
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ };
38
+ export const ManagerSeoScreen = ({ contentTypes, siteUrl, }) => {
39
+ const t = useTranslations();
40
+ const managerClient = useManagerClient();
41
+ const { getTranslation, language } = useLanguage();
42
+ const { hasAnyPermission, hasPermissions } = useSession();
43
+ const [currentPayload, setCurrentPayload] = useState(null);
44
+ const [siteHistoryPage, setSiteHistoryPage] = useState(1);
45
+ const [pageHistoryPage, setPageHistoryPage] = useState(1);
46
+ const canRead = hasAnyPermission([
47
+ 'content.SeoSettings.own',
48
+ 'content.SeoSettings.readAny',
49
+ ]);
50
+ const canCreate = hasPermissions(['content.SeoSettings.own']);
51
+ const createAudit = useManagerMutation('manager.create');
52
+ const siteHistoryQuery = useManagerQuery({
53
+ name: 'manager.list',
54
+ input: {
55
+ contentType: SEO_AUDIT_CONTENT_TYPE,
56
+ query: {
57
+ filter: { kind: 'site', languageCode: language.code },
58
+ options: {
59
+ limit: SEO_HISTORY_PAGE_SIZE,
60
+ page: siteHistoryPage,
61
+ sort: { createdAt: 'desc' },
62
+ },
63
+ },
64
+ },
65
+ enabled: canRead,
66
+ });
67
+ const latestSiteAuditQuery = useManagerQuery({
68
+ name: 'manager.list',
69
+ input: {
70
+ contentType: SEO_AUDIT_CONTENT_TYPE,
71
+ query: {
72
+ filter: { kind: 'site', languageCode: language.code },
73
+ options: { limit: 1, page: 1, sort: { createdAt: 'desc' } },
74
+ },
75
+ },
76
+ enabled: canRead,
77
+ });
78
+ const pageHistoryQuery = useManagerQuery({
79
+ name: 'manager.list',
80
+ input: {
81
+ contentType: SEO_AUDIT_CONTENT_TYPE,
82
+ query: {
83
+ filter: { kind: 'page', languageCode: language.code },
84
+ options: {
85
+ limit: SEO_HISTORY_PAGE_SIZE,
86
+ page: pageHistoryPage,
87
+ sort: { createdAt: 'desc' },
88
+ },
89
+ },
90
+ },
91
+ enabled: canRead,
92
+ });
93
+ const siteHistory = (siteHistoryQuery.data?.items ?? []);
94
+ const latestSiteAudit = (latestSiteAuditQuery.data?.items?.[0] ?? null);
95
+ const pageHistory = (pageHistoryQuery.data?.items ?? []);
96
+ const displayedPayload = currentPayload ?? parsePayload(latestSiteAudit?.payload ?? '');
97
+ const displayedCounts = displayedPayload ? getSiteSeoAuditCounts(displayedPayload) : null;
98
+ const routableContentTypes = useMemo(() => contentTypes.filter((contentType) => {
99
+ if (!contentType.routes?.some((route) => route.hasPage))
100
+ return false;
101
+ const permissions = getEncodedContentPermissions(contentType, ['own', 'readAny']);
102
+ return permissions.length === 0 || hasAnyPermission(permissions);
103
+ }), [contentTypes, hasAnyPermission]);
104
+ useEffect(() => {
105
+ setSiteHistoryPage(1);
106
+ setPageHistoryPage(1);
107
+ setCurrentPayload(null);
108
+ }, [language.code]);
109
+ const getFindingCopy = (finding) => {
110
+ switch (finding.code) {
111
+ case 'missingTitle':
112
+ return t('seoAudit.finding.missingTitle');
113
+ case 'titleLength':
114
+ return t('seoAudit.finding.titleLength');
115
+ case 'missingDescription':
116
+ return t('seoAudit.finding.missingDescription');
117
+ case 'descriptionLength':
118
+ return t('seoAudit.finding.descriptionLength');
119
+ case 'noIndex':
120
+ return t('seoAudit.finding.noIndex');
121
+ case 'missingCanonicalBase':
122
+ return t('seoAudit.finding.missingCanonicalBase');
123
+ case 'incompleteOpenGraph':
124
+ return t('seoAudit.finding.incompleteOpenGraph', {
125
+ fields: finding.fields?.join(', ') ?? '',
126
+ });
127
+ case 'duplicateTitle':
128
+ return t('seoAudit.finding.duplicateTitle');
129
+ case 'duplicateDescription':
130
+ return t('seoAudit.finding.duplicateDescription');
131
+ }
132
+ };
133
+ const runAudit = async () => {
134
+ try {
135
+ const contents = await Promise.all(routableContentTypes.map(async (contentType) => {
136
+ const result = await managerClient.request('manager.list', {
137
+ contentType: contentType.name,
138
+ languageCode: language.code,
139
+ query: { options: { limit: 'all' } },
140
+ });
141
+ return {
142
+ contentType: contentType.name,
143
+ documentVisibility: contentType.documentVisibility,
144
+ documents: result.items,
145
+ };
146
+ }));
147
+ const payload = buildSiteSeoAudit({
148
+ contents,
149
+ resolveValue: (value) => {
150
+ if (value === undefined || value === null)
151
+ return value;
152
+ try {
153
+ return getTranslation(value);
154
+ }
155
+ catch {
156
+ return value;
157
+ }
158
+ },
159
+ siteUrl,
160
+ });
161
+ const counts = getSiteSeoAuditCounts(payload);
162
+ await createAudit.mutateAsync({
163
+ contentType: SEO_AUDIT_CONTENT_TYPE,
164
+ data: {
165
+ _type: SEO_AUDIT_CONTENT_TYPE,
166
+ kind: 'site',
167
+ languageCode: language.code,
168
+ score: counts.score,
169
+ goodCount: counts.goodCount,
170
+ warningCount: counts.warningCount,
171
+ errorCount: counts.errorCount,
172
+ documentCount: payload.pages.length,
173
+ contentTypeCount: routableContentTypes.length,
174
+ payload: JSON.stringify(payload),
175
+ },
176
+ });
177
+ setCurrentPayload(payload);
178
+ setSiteHistoryPage(1);
179
+ await Promise.all([siteHistoryQuery.refetch(), latestSiteAuditQuery.refetch()]);
180
+ toast.success(t('seoAudit.generated'));
181
+ }
182
+ catch (error) {
183
+ toast.error(getActionErrorMessage(error, t('seoAudit.generateError')));
184
+ }
185
+ };
186
+ if (!canRead) {
187
+ return (_jsx(UnauthorizedMessage, { neededPermission: [
188
+ 'content.SeoSettings.own',
189
+ 'content.SeoSettings.readAny',
190
+ ], anyPermission: true }));
191
+ }
192
+ if (siteHistoryQuery.isLoading ||
193
+ latestSiteAuditQuery.isLoading ||
194
+ pageHistoryQuery.isLoading) {
195
+ return _jsx(Loading, {});
196
+ }
197
+ return (_jsxs("div", { className: 'container mx-auto flex flex-col gap-6 px-4 py-10', children: [_jsxs(Card, { children: [_jsxs(CardHeader, { className: 'gap-4 sm:flex-row sm:items-center sm:justify-between', children: [_jsxs("div", { className: 'space-y-1.5', children: [_jsxs(CardTitle, { className: 'flex items-center gap-2', children: [_jsx(SearchCheck, { className: 'size-5' }), t('seoAudit.title')] }), _jsx(CardDescription, { children: t('seoAudit.description') })] }), _jsxs(Button, { className: 'shrink-0', disabled: !canCreate || routableContentTypes.length === 0, loading: createAudit.isPending, onClick: () => void runAudit(), children: [_jsx(SearchCheck, {}), (siteHistoryQuery.data?.totalItems ?? 0) > 0
198
+ ? t('seoAudit.regenerate')
199
+ : t('seoAudit.generate')] })] }), _jsx(CardContent, { className: 'text-sm text-muted-foreground', children: t('seoAudit.scope', { count: routableContentTypes.length }) })] }), displayedPayload && displayedCounts ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: 'grid gap-4 sm:grid-cols-2 xl:grid-cols-4', children: [_jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.score') }), _jsx("p", { className: cn('mt-2 text-4xl font-semibold', scoreStyles(displayedCounts.score)), children: displayedCounts.score })] }) }), _jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.documents') }), _jsx("p", { className: 'mt-2 text-4xl font-semibold', children: displayedPayload.pages.length })] }) }), _jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsxs("p", { className: 'flex items-center gap-2 text-sm text-muted-foreground', children: [_jsx(CircleX, { className: 'size-4 text-destructive' }), t('seoAudit.errors')] }), _jsx("p", { className: 'mt-2 text-4xl font-semibold', children: displayedCounts.errorCount })] }) }), _jsx(Card, { children: _jsxs(CardContent, { className: 'pt-6', children: [_jsxs("p", { className: 'flex items-center gap-2 text-sm text-muted-foreground', children: [_jsx(AlertTriangle, { className: 'size-4 text-amber-500' }), t('seoAudit.warnings')] }), _jsx("p", { className: 'mt-2 text-4xl font-semibold', children: displayedCounts.warningCount })] }) })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: t('seoAudit.pagesTitle') }), _jsx(CardDescription, { children: t('seoAudit.pagesDescription') })] }), _jsx(CardContent, { className: 'space-y-3', children: displayedPayload.pages
200
+ .slice()
201
+ .sort((a, b) => b.findings.length - a.findings.length)
202
+ .map((page) => (_jsxs("details", { className: 'rounded-lg border', children: [_jsxs("summary", { className: 'flex cursor-pointer list-none items-center gap-3 p-4', children: [page.findings.some((finding) => finding.severity === 'error') ? (_jsx(CircleX, { className: 'size-4 shrink-0 text-destructive' })) : page.findings.length ? (_jsx(AlertTriangle, { className: 'size-4 shrink-0 text-amber-500' })) : (_jsx(CheckCircle2, { className: 'size-4 shrink-0 text-emerald-500' })), _jsx("span", { className: 'min-w-0 flex-1 truncate font-medium', children: page.label }), _jsx(Badge, { variant: 'outline', children: page.contentType }), _jsx(Badge, { variant: page.findings.length ? 'secondary' : 'outline', children: t('seoAudit.issueCount', { count: page.findings.length }) })] }), _jsxs("div", { className: 'border-t p-4', children: [page.findings.length ? (_jsx("ul", { className: 'space-y-2 text-sm', children: page.findings.map((finding, index) => (_jsxs("li", { className: 'flex items-start gap-2', children: [finding.severity === 'error' ? (_jsx(CircleX, { className: 'mt-0.5 size-4 shrink-0 text-destructive' })) : (_jsx(AlertTriangle, { className: 'mt-0.5 size-4 shrink-0 text-amber-500' })), getFindingCopy(finding)] }, `${finding.code}:${index}`))) })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.noIssues') })), _jsx(ManagerLink, { href: `/${page.contentType}/${page.documentId}`, className: 'mt-4 inline-flex text-sm font-medium text-primary hover:underline', children: t('seoAudit.openDocument') })] })] }, `${page.contentType}:${page.documentId}`))) })] })] })) : (_jsxs("div", { className: 'flex min-h-64 flex-col items-center justify-center gap-3 rounded-lg border border-dashed p-8 text-center text-muted-foreground', children: [_jsx(SearchCheck, { className: 'size-9' }), _jsxs("div", { children: [_jsx("p", { className: 'font-medium text-foreground', children: t('seoAudit.emptyTitle') }), _jsx("p", { className: 'mt-1 max-w-lg text-sm', children: t('seoAudit.emptyDescription') })] })] })), _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: 'flex items-center gap-2', children: [_jsx(History, { className: 'size-4' }), t('seoAudit.historyTitle')] }), _jsx(CardDescription, { children: t('seoAudit.historyDescription') })] }), _jsx(CardContent, { children: siteHistory.length ? (_jsxs("div", { className: 'space-y-4', children: [_jsx("div", { className: 'grid gap-3 md:grid-cols-2 xl:grid-cols-3', children: siteHistory.map((audit) => (_jsxs("div", { className: 'rounded-lg border p-4', children: [_jsxs("div", { className: 'flex items-center justify-between gap-3', children: [_jsx("span", { className: 'text-sm text-muted-foreground', children: audit.createdAt
203
+ ? formatDate(new Date(audit.createdAt))
204
+ : t('common.unknown') }), _jsx("strong", { className: scoreStyles(audit.score), children: t('seoAudit.scoreValue', { score: audit.score }) })] }), _jsx("div", { className: 'mt-3 h-2 overflow-hidden rounded-full bg-muted', children: _jsx("div", { className: 'h-full rounded-full bg-primary', style: { width: `${Math.max(0, Math.min(100, audit.score))}%` } }) }), _jsx("p", { className: 'mt-3 text-xs text-muted-foreground', children: t('seoAudit.historySummary', {
205
+ documents: audit.documentCount,
206
+ errors: audit.errorCount,
207
+ warnings: audit.warningCount,
208
+ }) })] }, audit._id))) }), (siteHistoryQuery.data?.totalItems ?? 0) > SEO_HISTORY_PAGE_SIZE ? (_jsx(PaginationController, { page: siteHistoryPage, setPage: setSiteHistoryPage, totalItems: siteHistoryQuery.data?.totalItems ?? 0, itemsPerPage: SEO_HISTORY_PAGE_SIZE })) : null] })) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('seoAudit.noHistory') })) })] }), pageHistory.length ? (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: t('seoAudit.pageHistoryTitle') }), _jsx(CardDescription, { children: t('seoAudit.pageHistoryDescription') })] }), _jsxs(CardContent, { className: 'space-y-4', children: [_jsx("div", { className: 'space-y-2', children: pageHistory.map((audit) => (_jsxs("div", { className: 'flex flex-wrap items-center gap-3 rounded-lg border p-3', children: [_jsx("strong", { className: cn('w-12', scoreStyles(audit.score)), children: audit.score }), _jsx("span", { className: 'min-w-0 flex-1 truncate text-sm', children: audit.contentType ?? t('common.unknown') }), _jsx("span", { className: 'text-xs text-muted-foreground', children: audit.createdAt
209
+ ? formatDate(new Date(audit.createdAt))
210
+ : t('common.unknown') }), audit.contentType && audit.documentId ? (_jsx(ManagerLink, { href: `/${audit.contentType}/${audit.documentId}`, className: 'text-sm font-medium text-primary hover:underline', children: t('seoAudit.openDocument') })) : null] }, audit._id))) }), (pageHistoryQuery.data?.totalItems ?? 0) > SEO_HISTORY_PAGE_SIZE ? (_jsx(PaginationController, { page: pageHistoryPage, setPage: setPageHistoryPage, totalItems: pageHistoryQuery.data?.totalItems ?? 0, itemsPerPage: SEO_HISTORY_PAGE_SIZE })) : null] })] })) : null] }));
211
+ };
212
+ //# sourceMappingURL=screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/screen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export type SiteSeoFindingSeverity = 'warning' | 'error';
2
+ export type SiteSeoFindingCode = 'missingTitle' | 'titleLength' | 'missingDescription' | 'descriptionLength' | 'noIndex' | 'missingCanonicalBase' | 'incompleteOpenGraph' | 'duplicateTitle' | 'duplicateDescription';
3
+ export type SiteSeoFinding = {
4
+ code: SiteSeoFindingCode;
5
+ severity: SiteSeoFindingSeverity;
6
+ fields?: string[];
7
+ };
8
+ export type SiteSeoAuditPage = {
9
+ contentType: string;
10
+ documentId: string;
11
+ label: string;
12
+ title: string;
13
+ description: string;
14
+ findings: SiteSeoFinding[];
15
+ };
16
+ export type SiteSeoAuditPayload = {
17
+ version: 1;
18
+ pages: SiteSeoAuditPage[];
19
+ };
20
+ type SiteSeoDocument = Record<string, unknown> & {
21
+ _id: string;
22
+ };
23
+ type SiteSeoContent = {
24
+ contentType: string;
25
+ documentVisibility?: boolean;
26
+ documents: SiteSeoDocument[];
27
+ };
28
+ export declare const buildSiteSeoAudit: ({ contents, resolveValue, siteUrl, }: {
29
+ contents: SiteSeoContent[];
30
+ resolveValue: (value: unknown) => unknown;
31
+ siteUrl?: string;
32
+ }) => SiteSeoAuditPayload;
33
+ export declare const getSiteSeoAuditCounts: (payload: SiteSeoAuditPayload) => {
34
+ errorCount: number;
35
+ goodCount: number;
36
+ score: number;
37
+ warningCount: number;
38
+ };
39
+ export {};
40
+ //# sourceMappingURL=site-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-analysis.d.ts","sourceRoot":"","sources":["../../../../../src/router/dashboard/seo/site-analysis.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,OAAO,CAAA;AAExD,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,GACT,sBAAsB,GACtB,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,CAAA;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B,CAAA;AAED,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC/C,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,SAAS,EAAE,eAAe,EAAE,CAAA;CAC7B,CAAA;AAsGD,eAAO,MAAM,iBAAiB,GAAI,sCAI/B;IACD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,KAAG,mBAyFH,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,SAAS,mBAAmB;;;;;CAqBjE,CAAA"}