@strapi/content-manager 0.0.0-experimental.82fd5bc51d11a2da848fc7fd1cc573f8ea0a6535 → 0.0.0-experimental.838b114ef86c9081f990c3b46f5843a41088ec64

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 (363) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +300 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +34 -30
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +36 -32
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +419 -0
  10. package/dist/admin/components/Widgets.js.map +1 -0
  11. package/dist/admin/components/Widgets.mjs +396 -0
  12. package/dist/admin/components/Widgets.mjs.map +1 -0
  13. package/dist/admin/history/components/VersionContent.js +24 -3
  14. package/dist/admin/history/components/VersionContent.js.map +1 -1
  15. package/dist/admin/history/components/VersionContent.mjs +25 -4
  16. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  17. package/dist/admin/history/components/VersionHeader.js +6 -0
  18. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  19. package/dist/admin/history/components/VersionHeader.mjs +7 -1
  20. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocumentActions.js +12 -7
  22. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  23. package/dist/admin/hooks/useDocumentActions.mjs +13 -8
  24. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  25. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  26. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  27. package/dist/admin/index.js +81 -5
  28. package/dist/admin/index.js.map +1 -1
  29. package/dist/admin/index.mjs +80 -3
  30. package/dist/admin/index.mjs.map +1 -1
  31. package/dist/admin/layout.js +1 -27
  32. package/dist/admin/layout.js.map +1 -1
  33. package/dist/admin/layout.mjs +2 -9
  34. package/dist/admin/layout.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/EditViewPage.js +92 -75
  36. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  37. package/dist/admin/pages/EditView/EditViewPage.mjs +94 -77
  38. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  40. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  41. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  42. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  43. package/dist/admin/pages/EditView/components/DocumentActions.js +304 -91
  44. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  45. package/dist/admin/pages/EditView/components/DocumentActions.mjs +308 -95
  46. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
  52. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
  54. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  56. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  58. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
  60. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
  62. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  64. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  66. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +15 -2
  68. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +16 -3
  70. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  72. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  74. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +129 -55
  76. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +129 -55
  78. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +124 -33
  80. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +128 -37
  82. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  84. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  86. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  88. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  90. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
  92. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
  94. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  96. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  98. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormLayout.js +47 -27
  100. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
  102. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  103. package/dist/admin/pages/EditView/components/InputRenderer.js +15 -5
  104. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  105. package/dist/admin/pages/EditView/components/InputRenderer.mjs +15 -5
  106. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  107. package/dist/admin/pages/EditView/utils/data.js +128 -0
  108. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  109. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  110. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  111. package/dist/admin/pages/ListView/ListViewPage.js +227 -132
  112. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  113. package/dist/admin/pages/ListView/ListViewPage.mjs +229 -134
  114. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  115. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  116. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  117. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  118. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  119. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  120. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  121. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  122. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  123. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  124. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  125. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  126. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  127. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  128. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  129. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  130. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  131. package/dist/admin/preview/components/InputPopover.js +73 -0
  132. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  133. package/dist/admin/preview/components/InputPopover.mjs +70 -0
  134. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  135. package/dist/admin/preview/components/PreviewHeader.js +1 -1
  136. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  137. package/dist/admin/preview/components/PreviewHeader.mjs +1 -1
  138. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  139. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  140. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  141. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  142. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  143. package/dist/admin/preview/hooks/usePreviewInputManager.js +67 -0
  144. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  145. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +46 -0
  146. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  147. package/dist/admin/preview/pages/Preview.js +170 -68
  148. package/dist/admin/preview/pages/Preview.js.map +1 -1
  149. package/dist/admin/preview/pages/Preview.mjs +172 -70
  150. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  151. package/dist/admin/preview/utils/constants.js +22 -0
  152. package/dist/admin/preview/utils/constants.js.map +1 -0
  153. package/dist/admin/preview/utils/constants.mjs +19 -0
  154. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  155. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  156. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  157. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  158. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  159. package/dist/admin/preview/utils/previewScript.js +319 -0
  160. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  161. package/dist/admin/preview/utils/previewScript.mjs +317 -0
  162. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  163. package/dist/admin/services/api.js +4 -1
  164. package/dist/admin/services/api.js.map +1 -1
  165. package/dist/admin/services/api.mjs +4 -1
  166. package/dist/admin/services/api.mjs.map +1 -1
  167. package/dist/admin/services/documents.js +42 -16
  168. package/dist/admin/services/documents.js.map +1 -1
  169. package/dist/admin/services/documents.mjs +42 -16
  170. package/dist/admin/services/documents.mjs.map +1 -1
  171. package/dist/admin/services/homepage.js +30 -0
  172. package/dist/admin/services/homepage.js.map +1 -0
  173. package/dist/admin/services/homepage.mjs +28 -0
  174. package/dist/admin/services/homepage.mjs.map +1 -0
  175. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  176. package/dist/admin/src/components/Widgets.d.ts +4 -0
  177. package/dist/admin/src/exports.d.ts +1 -0
  178. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  179. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  180. package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
  181. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  182. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
  183. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +26 -5
  184. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  185. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
  186. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  187. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  188. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  189. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +4 -0
  190. package/dist/admin/src/preview/pages/Preview.d.ts +8 -0
  191. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  192. package/dist/admin/src/preview/utils/constants.d.ts +20 -0
  193. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  194. package/dist/admin/src/preview/utils/previewScript.d.ts +23 -0
  195. package/dist/admin/src/services/api.d.ts +1 -1
  196. package/dist/admin/src/services/components.d.ts +2 -2
  197. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  198. package/dist/admin/src/services/documents.d.ts +23 -17
  199. package/dist/admin/src/services/homepage.d.ts +5 -0
  200. package/dist/admin/src/services/init.d.ts +1 -1
  201. package/dist/admin/src/services/relations.d.ts +2 -2
  202. package/dist/admin/src/services/uid.d.ts +3 -3
  203. package/dist/admin/src/utils/api.d.ts +1 -1
  204. package/dist/admin/src/utils/validation.d.ts +1 -0
  205. package/dist/admin/translations/en.json.js +9 -1
  206. package/dist/admin/translations/en.json.js.map +1 -1
  207. package/dist/admin/translations/en.json.mjs +9 -1
  208. package/dist/admin/translations/en.json.mjs.map +1 -1
  209. package/dist/admin/translations/es.json.js +5 -2
  210. package/dist/admin/translations/es.json.js.map +1 -1
  211. package/dist/admin/translations/es.json.mjs +5 -2
  212. package/dist/admin/translations/es.json.mjs.map +1 -1
  213. package/dist/admin/translations/fr.json.js +10 -2
  214. package/dist/admin/translations/fr.json.js.map +1 -1
  215. package/dist/admin/translations/fr.json.mjs +10 -2
  216. package/dist/admin/translations/fr.json.mjs.map +1 -1
  217. package/dist/admin/translations/ru.json.js +235 -226
  218. package/dist/admin/translations/ru.json.js.map +1 -1
  219. package/dist/admin/translations/ru.json.mjs +230 -226
  220. package/dist/admin/translations/ru.json.mjs.map +1 -1
  221. package/dist/admin/utils/api.js +1 -1
  222. package/dist/admin/utils/api.js.map +1 -1
  223. package/dist/admin/utils/api.mjs +1 -1
  224. package/dist/admin/utils/api.mjs.map +1 -1
  225. package/dist/admin/utils/validation.js +19 -7
  226. package/dist/admin/utils/validation.js.map +1 -1
  227. package/dist/admin/utils/validation.mjs +19 -7
  228. package/dist/admin/utils/validation.mjs.map +1 -1
  229. package/dist/server/controllers/content-types.js +11 -1
  230. package/dist/server/controllers/content-types.js.map +1 -1
  231. package/dist/server/controllers/content-types.mjs +11 -1
  232. package/dist/server/controllers/content-types.mjs.map +1 -1
  233. package/dist/server/controllers/index.js +3 -1
  234. package/dist/server/controllers/index.js.map +1 -1
  235. package/dist/server/controllers/index.mjs +3 -1
  236. package/dist/server/controllers/index.mjs.map +1 -1
  237. package/dist/server/controllers/relations.js +2 -2
  238. package/dist/server/controllers/relations.js.map +1 -1
  239. package/dist/server/controllers/relations.mjs +2 -2
  240. package/dist/server/controllers/relations.mjs.map +1 -1
  241. package/dist/server/controllers/validation/index.js +14 -2
  242. package/dist/server/controllers/validation/index.js.map +1 -1
  243. package/dist/server/controllers/validation/index.mjs +14 -2
  244. package/dist/server/controllers/validation/index.mjs.map +1 -1
  245. package/dist/server/history/services/lifecycles.js +23 -19
  246. package/dist/server/history/services/lifecycles.js.map +1 -1
  247. package/dist/server/history/services/lifecycles.mjs +23 -19
  248. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  249. package/dist/server/homepage/controllers/homepage.js +62 -0
  250. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  251. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  252. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  253. package/dist/server/homepage/controllers/index.js +10 -0
  254. package/dist/server/homepage/controllers/index.js.map +1 -0
  255. package/dist/server/homepage/controllers/index.mjs +8 -0
  256. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  257. package/dist/server/homepage/index.js +14 -0
  258. package/dist/server/homepage/index.js.map +1 -0
  259. package/dist/server/homepage/index.mjs +12 -0
  260. package/dist/server/homepage/index.mjs.map +1 -0
  261. package/dist/server/homepage/routes/homepage.js +36 -0
  262. package/dist/server/homepage/routes/homepage.js.map +1 -0
  263. package/dist/server/homepage/routes/homepage.mjs +34 -0
  264. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  265. package/dist/server/homepage/routes/index.js +13 -0
  266. package/dist/server/homepage/routes/index.js.map +1 -0
  267. package/dist/server/homepage/routes/index.mjs +11 -0
  268. package/dist/server/homepage/routes/index.mjs.map +1 -0
  269. package/dist/server/homepage/services/homepage.js +197 -0
  270. package/dist/server/homepage/services/homepage.js.map +1 -0
  271. package/dist/server/homepage/services/homepage.mjs +195 -0
  272. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  273. package/dist/server/homepage/services/index.js +10 -0
  274. package/dist/server/homepage/services/index.js.map +1 -0
  275. package/dist/server/homepage/services/index.mjs +8 -0
  276. package/dist/server/homepage/services/index.mjs.map +1 -0
  277. package/dist/server/preview/services/preview-config.js +5 -1
  278. package/dist/server/preview/services/preview-config.js.map +1 -1
  279. package/dist/server/preview/services/preview-config.mjs +5 -1
  280. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  281. package/dist/server/preview/services/preview.js +4 -1
  282. package/dist/server/preview/services/preview.js.map +1 -1
  283. package/dist/server/preview/services/preview.mjs +4 -1
  284. package/dist/server/preview/services/preview.mjs.map +1 -1
  285. package/dist/server/routes/index.js +3 -1
  286. package/dist/server/routes/index.js.map +1 -1
  287. package/dist/server/routes/index.mjs +3 -1
  288. package/dist/server/routes/index.mjs.map +1 -1
  289. package/dist/server/services/data-mapper.js +4 -1
  290. package/dist/server/services/data-mapper.js.map +1 -1
  291. package/dist/server/services/data-mapper.mjs +4 -1
  292. package/dist/server/services/data-mapper.mjs.map +1 -1
  293. package/dist/server/services/document-manager.js +8 -1
  294. package/dist/server/services/document-manager.js.map +1 -1
  295. package/dist/server/services/document-manager.mjs +8 -1
  296. package/dist/server/services/document-manager.mjs.map +1 -1
  297. package/dist/server/services/document-metadata.js +3 -1
  298. package/dist/server/services/document-metadata.js.map +1 -1
  299. package/dist/server/services/document-metadata.mjs +3 -1
  300. package/dist/server/services/document-metadata.mjs.map +1 -1
  301. package/dist/server/services/index.js +3 -1
  302. package/dist/server/services/index.js.map +1 -1
  303. package/dist/server/services/index.mjs +3 -1
  304. package/dist/server/services/index.mjs.map +1 -1
  305. package/dist/server/services/utils/configuration/attributes.js +1 -1
  306. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  307. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  308. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  309. package/dist/server/services/utils/configuration/layouts.js +1 -1
  310. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  311. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  312. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  313. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  314. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  315. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  316. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  317. package/dist/server/services/utils/populate.js +11 -0
  318. package/dist/server/services/utils/populate.js.map +1 -1
  319. package/dist/server/services/utils/populate.mjs +11 -0
  320. package/dist/server/services/utils/populate.mjs.map +1 -1
  321. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  322. package/dist/server/src/controllers/index.d.ts.map +1 -1
  323. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  324. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  325. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  326. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  327. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  328. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  329. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  330. package/dist/server/src/homepage/index.d.ts +23 -0
  331. package/dist/server/src/homepage/index.d.ts.map +1 -0
  332. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  333. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  334. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  335. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  336. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  337. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  338. package/dist/server/src/homepage/services/index.d.ts +16 -0
  339. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  340. package/dist/server/src/index.d.ts +15 -0
  341. package/dist/server/src/index.d.ts.map +1 -1
  342. package/dist/server/src/preview/services/index.d.ts +1 -0
  343. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  344. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  345. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  346. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  347. package/dist/server/src/preview/utils.d.ts +1 -0
  348. package/dist/server/src/preview/utils.d.ts.map +1 -1
  349. package/dist/server/src/routes/index.d.ts +1 -0
  350. package/dist/server/src/routes/index.d.ts.map +1 -1
  351. package/dist/server/src/services/data-mapper.d.ts +1 -0
  352. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  353. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  354. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  355. package/dist/server/src/services/index.d.ts +14 -0
  356. package/dist/server/src/services/index.d.ts.map +1 -1
  357. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  358. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  359. package/dist/shared/contracts/collection-types.d.ts +0 -1
  360. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  361. package/dist/shared/contracts/homepage.d.ts +38 -0
  362. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  363. package/package.json +11 -9
@@ -0,0 +1,317 @@
1
+ // NOTE: This override is for the properties on _user's site_, it's not about Strapi Admin.
2
+ /**
3
+ * previewScript will be injected into the preview iframe after being stringified.
4
+ * Therefore it CANNOT use any imports, or refer to any variables outside of its own scope.
5
+ * It's why many functions are defined within previewScript, it's the only way to avoid going full spaghetti.
6
+ * To get a better overview of everything previewScript does, go to the orchestration part at its end.
7
+ */ const previewScript = (shouldRun = true)=>{
8
+ /* -----------------------------------------------------------------------------------------------
9
+ * Params
10
+ * ---------------------------------------------------------------------------------------------*/ const HIGHLIGHT_PADDING = 2; // in pixels
11
+ const HIGHLIGHT_HOVER_COLOR = window.STRAPI_HIGHLIGHT_HOVER_COLOR ?? '#4945ff'; // dark primary500
12
+ const HIGHLIGHT_ACTIVE_COLOR = window.STRAPI_HIGHLIGHT_ACTIVE_COLOR ?? '#7b79ff'; // dark primary600
13
+ const DISABLE_STEGA_DECODING = window.STRAPI_DISABLE_STEGA_DECODING ?? false;
14
+ const SOURCE_ATTRIBUTE = 'data-strapi-source';
15
+ const OVERLAY_ID = 'strapi-preview-overlay';
16
+ const INTERNAL_EVENTS = {
17
+ STRAPI_FIELD_FOCUS: 'strapiFieldFocus',
18
+ STRAPI_FIELD_BLUR: 'strapiFieldBlur',
19
+ STRAPI_FIELD_CHANGE: 'strapiFieldChange',
20
+ STRAPI_FIELD_FOCUS_INTENT: 'strapiFieldFocusIntent'
21
+ };
22
+ /**
23
+ * Calling the function in no-run mode lets us retrieve the constants from other files and keep
24
+ * a single source of truth for them. It's the only way to do this because this script can't
25
+ * refer to any variables outside of its own scope, because it's stringified before it's run.
26
+ */ if (!shouldRun) {
27
+ return {
28
+ INTERNAL_EVENTS
29
+ };
30
+ }
31
+ /* -----------------------------------------------------------------------------------------------
32
+ * Utils
33
+ * ---------------------------------------------------------------------------------------------*/ const sendMessage = (type, payload)=>{
34
+ window.parent.postMessage({
35
+ type,
36
+ payload
37
+ }, '*');
38
+ };
39
+ /* -----------------------------------------------------------------------------------------------
40
+ * Functionality pieces
41
+ * ---------------------------------------------------------------------------------------------*/ const setupStegaDecoding = async ()=>{
42
+ if (DISABLE_STEGA_DECODING) {
43
+ return;
44
+ }
45
+ const { vercelStegaDecode: stegaDecode } = await import(// @ts-expect-error it's not a local dependency
46
+ // eslint-disable-next-line import/no-unresolved
47
+ 'https://cdn.jsdelivr.net/npm/@vercel/stega@0.1.2/+esm');
48
+ const allElements = document.querySelectorAll('*');
49
+ Array.from(allElements).forEach((element)=>{
50
+ const directTextContent = Array.from(element.childNodes).filter((node)=>node.nodeType === Node.TEXT_NODE).map((node)=>node.textContent || '').join('');
51
+ if (directTextContent) {
52
+ try {
53
+ const result = stegaDecode(directTextContent);
54
+ if (result) {
55
+ element.setAttribute(SOURCE_ATTRIBUTE, result.key);
56
+ }
57
+ } catch (error) {}
58
+ }
59
+ });
60
+ };
61
+ const createOverlaySystem = ()=>{
62
+ // Clean up before creating a new overlay so we can safely call previewScript multiple times
63
+ window.__strapi_previewCleanup?.();
64
+ document.getElementById(OVERLAY_ID)?.remove();
65
+ const overlay = document.createElement('div');
66
+ overlay.id = OVERLAY_ID;
67
+ overlay.style.cssText = `
68
+ position: fixed;
69
+ top: 0;
70
+ left: 0;
71
+ width: 100%;
72
+ height: 100%;
73
+ pointer-events: none;
74
+ z-index: 9999;
75
+ `;
76
+ window.document.body.appendChild(overlay);
77
+ return overlay;
78
+ };
79
+ const createHighlightManager = (overlay)=>{
80
+ const elements = window.document.querySelectorAll(`[${SOURCE_ATTRIBUTE}]`);
81
+ const eventListeners = [];
82
+ const highlights = [];
83
+ const focusedHighlights = [];
84
+ let focusedField = null;
85
+ const drawHighlight = (target, highlight)=>{
86
+ if (!highlight) return;
87
+ const rect = target.getBoundingClientRect();
88
+ highlight.style.width = `${rect.width + HIGHLIGHT_PADDING * 2}px`;
89
+ highlight.style.height = `${rect.height + HIGHLIGHT_PADDING * 2}px`;
90
+ highlight.style.transform = `translate(${rect.left - HIGHLIGHT_PADDING}px, ${rect.top - HIGHLIGHT_PADDING}px)`;
91
+ };
92
+ const updateAllHighlights = ()=>{
93
+ highlights.forEach((highlight, index)=>{
94
+ const element = elements[index];
95
+ if (element && highlight) {
96
+ drawHighlight(element, highlight);
97
+ }
98
+ });
99
+ };
100
+ elements.forEach((element)=>{
101
+ if (element instanceof HTMLElement) {
102
+ const highlight = document.createElement('div');
103
+ highlight.style.cssText = `
104
+ position: absolute;
105
+ outline: 2px solid transparent;
106
+ pointer-events: none;
107
+ border-radius: 2px;
108
+ background-color: transparent;
109
+ will-change: transform;
110
+ transition: outline-color 0.1s ease-in-out;
111
+ `;
112
+ // Move hover detection to the underlying element
113
+ const mouseEnterHandler = ()=>{
114
+ if (!focusedHighlights.includes(highlight)) {
115
+ highlight.style.outlineColor = HIGHLIGHT_HOVER_COLOR;
116
+ }
117
+ };
118
+ const mouseLeaveHandler = ()=>{
119
+ if (!focusedHighlights.includes(highlight)) {
120
+ highlight.style.outlineColor = 'transparent';
121
+ }
122
+ };
123
+ const doubleClickHandler = ()=>{
124
+ const sourceAttribute = element.getAttribute(SOURCE_ATTRIBUTE);
125
+ if (sourceAttribute) {
126
+ const rect = element.getBoundingClientRect();
127
+ sendMessage(INTERNAL_EVENTS.STRAPI_FIELD_FOCUS_INTENT, {
128
+ path: sourceAttribute,
129
+ position: {
130
+ top: rect.top,
131
+ left: rect.left,
132
+ right: rect.right,
133
+ bottom: rect.bottom,
134
+ width: rect.width,
135
+ height: rect.height
136
+ }
137
+ });
138
+ }
139
+ };
140
+ const mouseDownHandler = (event)=>{
141
+ // Prevent default multi click to select behavior
142
+ if (event.detail >= 2) {
143
+ event.preventDefault();
144
+ }
145
+ };
146
+ element.addEventListener('mouseenter', mouseEnterHandler);
147
+ element.addEventListener('mouseleave', mouseLeaveHandler);
148
+ element.addEventListener('dblclick', doubleClickHandler);
149
+ element.addEventListener('mousedown', mouseDownHandler);
150
+ // Store event listeners for cleanup
151
+ eventListeners.push({
152
+ element,
153
+ type: 'mouseenter',
154
+ handler: mouseEnterHandler
155
+ }, {
156
+ element,
157
+ type: 'mouseleave',
158
+ handler: mouseLeaveHandler
159
+ }, {
160
+ element,
161
+ type: 'dblclick',
162
+ handler: doubleClickHandler
163
+ }, {
164
+ element,
165
+ type: 'mousedown',
166
+ handler: mouseDownHandler
167
+ });
168
+ highlights.push(highlight);
169
+ overlay.appendChild(highlight);
170
+ drawHighlight(element, highlight);
171
+ }
172
+ });
173
+ return {
174
+ elements,
175
+ updateAllHighlights,
176
+ eventListeners,
177
+ highlights,
178
+ focusedHighlights,
179
+ setFocusedField: (field)=>{
180
+ focusedField = field;
181
+ },
182
+ getFocusedField: ()=>focusedField
183
+ };
184
+ };
185
+ const setupObservers = (highlightManager)=>{
186
+ const resizeObserver = new ResizeObserver(()=>{
187
+ highlightManager.updateAllHighlights();
188
+ });
189
+ highlightManager.elements.forEach((element)=>{
190
+ resizeObserver.observe(element);
191
+ });
192
+ resizeObserver.observe(document.documentElement);
193
+ const updateOnScroll = ()=>{
194
+ highlightManager.updateAllHighlights();
195
+ };
196
+ const scrollableElements = new Set();
197
+ scrollableElements.add(window);
198
+ // Find all scrollable ancestors for all tracked elements
199
+ highlightManager.elements.forEach((element)=>{
200
+ let parent = element.parentElement;
201
+ while(parent){
202
+ const computedStyle = window.getComputedStyle(parent);
203
+ const overflow = computedStyle.overflow + computedStyle.overflowX + computedStyle.overflowY;
204
+ if (overflow.includes('scroll') || overflow.includes('auto')) {
205
+ scrollableElements.add(parent);
206
+ }
207
+ parent = parent.parentElement;
208
+ }
209
+ });
210
+ // Add scroll listeners to all scrollable elements
211
+ scrollableElements.forEach((element)=>{
212
+ if (element === window) {
213
+ window.addEventListener('scroll', updateOnScroll);
214
+ window.addEventListener('resize', updateOnScroll);
215
+ } else {
216
+ element.addEventListener('scroll', updateOnScroll);
217
+ }
218
+ });
219
+ return {
220
+ resizeObserver,
221
+ updateOnScroll,
222
+ scrollableElements
223
+ };
224
+ };
225
+ const setupEventHandlers = (highlightManager)=>{
226
+ const handleMessage = (event)=>{
227
+ if (!event.data?.type) return;
228
+ // The user typed in an input, reflect the change in the preview
229
+ if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_CHANGE) {
230
+ const { field, value } = event.data.payload;
231
+ if (!field) return;
232
+ const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}="${field}"]`);
233
+ matchingElements.forEach((element)=>{
234
+ if (element instanceof HTMLElement) {
235
+ element.textContent = value || '';
236
+ }
237
+ });
238
+ return;
239
+ }
240
+ // The user focused a new input, update the highlights in the preview
241
+ if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_FOCUS) {
242
+ const { field } = event.data.payload;
243
+ if (!field) return;
244
+ // Clear existing focused highlights
245
+ highlightManager.focusedHighlights.forEach((highlight)=>{
246
+ highlight.style.outlineColor = 'transparent';
247
+ });
248
+ highlightManager.focusedHighlights.length = 0;
249
+ // Set new focused field and highlight matching elements
250
+ highlightManager.setFocusedField(field);
251
+ const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}="${field}"]`);
252
+ matchingElements.forEach((element)=>{
253
+ const highlight = highlightManager.highlights[Array.from(highlightManager.elements).indexOf(element)];
254
+ if (highlight) {
255
+ highlight.style.outlineColor = HIGHLIGHT_ACTIVE_COLOR;
256
+ highlight.style.outlineWidth = '3px';
257
+ highlightManager.focusedHighlights.push(highlight);
258
+ }
259
+ });
260
+ return;
261
+ }
262
+ // The user is no longer focusing an input, remove the highlights
263
+ if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_BLUR) {
264
+ const { field } = event.data.payload;
265
+ if (field !== highlightManager.getFocusedField()) return;
266
+ highlightManager.focusedHighlights.forEach((highlight)=>{
267
+ highlight.style.outlineColor = 'transparent';
268
+ highlight.style.outlineWidth = '2px';
269
+ });
270
+ highlightManager.focusedHighlights.length = 0;
271
+ highlightManager.setFocusedField(null);
272
+ }
273
+ };
274
+ window.addEventListener('message', handleMessage);
275
+ // Add the message handler to the cleanup list
276
+ const messageEventListener = {
277
+ element: window,
278
+ type: 'message',
279
+ handler: handleMessage
280
+ };
281
+ return [
282
+ ...highlightManager.eventListeners,
283
+ messageEventListener
284
+ ];
285
+ };
286
+ const createCleanupSystem = (overlay, observers, eventHandlers)=>{
287
+ window.__strapi_previewCleanup = ()=>{
288
+ observers.resizeObserver.disconnect();
289
+ // Remove all scroll listeners
290
+ observers.scrollableElements.forEach((element)=>{
291
+ if (element === window) {
292
+ window.removeEventListener('scroll', observers.updateOnScroll);
293
+ window.removeEventListener('resize', observers.updateOnScroll);
294
+ } else {
295
+ element.removeEventListener('scroll', observers.updateOnScroll);
296
+ }
297
+ });
298
+ // Remove highlight event listeners
299
+ eventHandlers.forEach(({ element, type, handler })=>{
300
+ element.removeEventListener(type, handler);
301
+ });
302
+ overlay.remove();
303
+ };
304
+ };
305
+ /* -----------------------------------------------------------------------------------------------
306
+ * Orchestration
307
+ * ---------------------------------------------------------------------------------------------*/ setupStegaDecoding().then(()=>{
308
+ const overlay = createOverlaySystem();
309
+ const highlightManager = createHighlightManager(overlay);
310
+ const observers = setupObservers(highlightManager);
311
+ const eventHandlers = setupEventHandlers(highlightManager);
312
+ createCleanupSystem(overlay, observers, eventHandlers);
313
+ });
314
+ };
315
+
316
+ export { previewScript };
317
+ //# sourceMappingURL=previewScript.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewScript.mjs","sources":["../../../../admin/src/preview/utils/previewScript.ts"],"sourcesContent":["// NOTE: This override is for the properties on _user's site_, it's not about Strapi Admin.\ndeclare global {\n interface Window {\n __strapi_previewCleanup?: () => void;\n STRAPI_HIGHLIGHT_HOVER_COLOR?: string;\n STRAPI_HIGHLIGHT_ACTIVE_COLOR?: string;\n STRAPI_DISABLE_STEGA_DECODING?: boolean;\n }\n}\n\n/**\n * previewScript will be injected into the preview iframe after being stringified.\n * Therefore it CANNOT use any imports, or refer to any variables outside of its own scope.\n * It's why many functions are defined within previewScript, it's the only way to avoid going full spaghetti.\n * To get a better overview of everything previewScript does, go to the orchestration part at its end.\n */\nconst previewScript = (shouldRun = true) => {\n /* -----------------------------------------------------------------------------------------------\n * Params\n * ---------------------------------------------------------------------------------------------*/\n const HIGHLIGHT_PADDING = 2; // in pixels\n const HIGHLIGHT_HOVER_COLOR = window.STRAPI_HIGHLIGHT_HOVER_COLOR ?? '#4945ff'; // dark primary500\n const HIGHLIGHT_ACTIVE_COLOR = window.STRAPI_HIGHLIGHT_ACTIVE_COLOR ?? '#7b79ff'; // dark primary600\n\n const DISABLE_STEGA_DECODING = window.STRAPI_DISABLE_STEGA_DECODING ?? false;\n const SOURCE_ATTRIBUTE = 'data-strapi-source';\n const OVERLAY_ID = 'strapi-preview-overlay';\n const INTERNAL_EVENTS = {\n STRAPI_FIELD_FOCUS: 'strapiFieldFocus',\n STRAPI_FIELD_BLUR: 'strapiFieldBlur',\n STRAPI_FIELD_CHANGE: 'strapiFieldChange',\n STRAPI_FIELD_FOCUS_INTENT: 'strapiFieldFocusIntent',\n } as const;\n\n /**\n * Calling the function in no-run mode lets us retrieve the constants from other files and keep\n * a single source of truth for them. It's the only way to do this because this script can't\n * refer to any variables outside of its own scope, because it's stringified before it's run.\n */\n if (!shouldRun) {\n return { INTERNAL_EVENTS };\n }\n\n /* -----------------------------------------------------------------------------------------------\n * Utils\n * ---------------------------------------------------------------------------------------------*/\n\n const sendMessage = (\n type: (typeof INTERNAL_EVENTS)[keyof typeof INTERNAL_EVENTS],\n payload: unknown\n ) => {\n window.parent.postMessage({ type, payload }, '*');\n };\n\n /* -----------------------------------------------------------------------------------------------\n * Functionality pieces\n * ---------------------------------------------------------------------------------------------*/\n\n const setupStegaDecoding = async () => {\n if (DISABLE_STEGA_DECODING) {\n return;\n }\n\n const { vercelStegaDecode: stegaDecode } = await import(\n // @ts-expect-error it's not a local dependency\n // eslint-disable-next-line import/no-unresolved\n 'https://cdn.jsdelivr.net/npm/@vercel/stega@0.1.2/+esm'\n );\n\n const allElements = document.querySelectorAll('*');\n\n Array.from(allElements).forEach((element) => {\n const directTextContent = Array.from(element.childNodes)\n .filter((node) => node.nodeType === Node.TEXT_NODE)\n .map((node) => node.textContent || '')\n .join('');\n\n if (directTextContent) {\n try {\n const result = stegaDecode(directTextContent);\n if (result) {\n element.setAttribute(SOURCE_ATTRIBUTE, result.key);\n }\n } catch (error) {}\n }\n });\n };\n\n const createOverlaySystem = () => {\n // Clean up before creating a new overlay so we can safely call previewScript multiple times\n window.__strapi_previewCleanup?.();\n document.getElementById(OVERLAY_ID)?.remove();\n\n const overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n overlay.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 9999;\n `;\n\n window.document.body.appendChild(overlay);\n return overlay;\n };\n\n type EventListenersList = Array<{\n element: HTMLElement | Window;\n type: keyof HTMLElementEventMap | 'message';\n handler: EventListener;\n }>;\n\n const createHighlightManager = (overlay: HTMLElement) => {\n const elements = window.document.querySelectorAll(`[${SOURCE_ATTRIBUTE}]`);\n const eventListeners: EventListenersList = [];\n const highlights: HTMLElement[] = [];\n const focusedHighlights: HTMLElement[] = [];\n let focusedField: string | null = null;\n\n const drawHighlight = (target: Element, highlight: HTMLElement) => {\n if (!highlight) return;\n\n const rect = target.getBoundingClientRect();\n highlight.style.width = `${rect.width + HIGHLIGHT_PADDING * 2}px`;\n highlight.style.height = `${rect.height + HIGHLIGHT_PADDING * 2}px`;\n highlight.style.transform = `translate(${rect.left - HIGHLIGHT_PADDING}px, ${rect.top - HIGHLIGHT_PADDING}px)`;\n };\n\n const updateAllHighlights = () => {\n highlights.forEach((highlight, index) => {\n const element = elements[index];\n if (element && highlight) {\n drawHighlight(element, highlight);\n }\n });\n };\n\n elements.forEach((element) => {\n if (element instanceof HTMLElement) {\n const highlight = document.createElement('div');\n highlight.style.cssText = `\n position: absolute;\n outline: 2px solid transparent;\n pointer-events: none;\n border-radius: 2px;\n background-color: transparent;\n will-change: transform;\n transition: outline-color 0.1s ease-in-out;\n `;\n\n // Move hover detection to the underlying element\n const mouseEnterHandler = () => {\n if (!focusedHighlights.includes(highlight)) {\n highlight.style.outlineColor = HIGHLIGHT_HOVER_COLOR;\n }\n };\n const mouseLeaveHandler = () => {\n if (!focusedHighlights.includes(highlight)) {\n highlight.style.outlineColor = 'transparent';\n }\n };\n const doubleClickHandler = () => {\n const sourceAttribute = element.getAttribute(SOURCE_ATTRIBUTE);\n if (sourceAttribute) {\n const rect = element.getBoundingClientRect();\n sendMessage(INTERNAL_EVENTS.STRAPI_FIELD_FOCUS_INTENT, {\n path: sourceAttribute,\n position: {\n top: rect.top,\n left: rect.left,\n right: rect.right,\n bottom: rect.bottom,\n width: rect.width,\n height: rect.height,\n },\n });\n }\n };\n const mouseDownHandler = (event: MouseEvent) => {\n // Prevent default multi click to select behavior\n if (event.detail >= 2) {\n event.preventDefault();\n }\n };\n\n element.addEventListener('mouseenter', mouseEnterHandler);\n element.addEventListener('mouseleave', mouseLeaveHandler);\n element.addEventListener('dblclick', doubleClickHandler);\n element.addEventListener('mousedown', mouseDownHandler);\n\n // Store event listeners for cleanup\n eventListeners.push(\n { element, type: 'mouseenter', handler: mouseEnterHandler },\n { element, type: 'mouseleave', handler: mouseLeaveHandler },\n { element, type: 'dblclick', handler: doubleClickHandler },\n { element, type: 'mousedown', handler: mouseDownHandler as EventListener }\n );\n\n highlights.push(highlight);\n overlay.appendChild(highlight);\n\n drawHighlight(element, highlight);\n }\n });\n\n return {\n elements,\n updateAllHighlights,\n eventListeners,\n highlights,\n focusedHighlights,\n setFocusedField: (field: string | null) => {\n focusedField = field;\n },\n getFocusedField: () => focusedField,\n };\n };\n\n type HighlightManager = ReturnType<typeof createHighlightManager>;\n\n const setupObservers = (highlightManager: HighlightManager) => {\n const resizeObserver = new ResizeObserver(() => {\n highlightManager.updateAllHighlights();\n });\n\n highlightManager.elements.forEach((element: Element) => {\n resizeObserver.observe(element);\n });\n\n resizeObserver.observe(document.documentElement);\n\n const updateOnScroll = () => {\n highlightManager.updateAllHighlights();\n };\n\n const scrollableElements = new Set<Element | Window>();\n scrollableElements.add(window);\n\n // Find all scrollable ancestors for all tracked elements\n highlightManager.elements.forEach((element) => {\n let parent = element.parentElement;\n while (parent) {\n const computedStyle = window.getComputedStyle(parent);\n const overflow = computedStyle.overflow + computedStyle.overflowX + computedStyle.overflowY;\n\n if (overflow.includes('scroll') || overflow.includes('auto')) {\n scrollableElements.add(parent);\n }\n\n parent = parent.parentElement;\n }\n });\n\n // Add scroll listeners to all scrollable elements\n scrollableElements.forEach((element) => {\n if (element === window) {\n window.addEventListener('scroll', updateOnScroll);\n window.addEventListener('resize', updateOnScroll);\n } else {\n element.addEventListener('scroll', updateOnScroll);\n }\n });\n\n return {\n resizeObserver,\n updateOnScroll,\n scrollableElements,\n };\n };\n\n const setupEventHandlers = (highlightManager: HighlightManager) => {\n const handleMessage = (event: MessageEvent) => {\n if (!event.data?.type) return;\n\n // The user typed in an input, reflect the change in the preview\n if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_CHANGE) {\n const { field, value } = event.data.payload;\n if (!field) return;\n\n const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}=\"${field}\"]`);\n matchingElements.forEach((element) => {\n if (element instanceof HTMLElement) {\n element.textContent = value || '';\n }\n });\n return;\n }\n\n // The user focused a new input, update the highlights in the preview\n if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_FOCUS) {\n const { field } = event.data.payload;\n if (!field) return;\n\n // Clear existing focused highlights\n highlightManager.focusedHighlights.forEach((highlight: HTMLElement) => {\n highlight.style.outlineColor = 'transparent';\n });\n highlightManager.focusedHighlights.length = 0;\n\n // Set new focused field and highlight matching elements\n highlightManager.setFocusedField(field);\n const matchingElements = document.querySelectorAll(`[${SOURCE_ATTRIBUTE}=\"${field}\"]`);\n matchingElements.forEach((element) => {\n const highlight =\n highlightManager.highlights[Array.from(highlightManager.elements).indexOf(element)];\n if (highlight) {\n highlight.style.outlineColor = HIGHLIGHT_ACTIVE_COLOR;\n highlight.style.outlineWidth = '3px';\n highlightManager.focusedHighlights.push(highlight);\n }\n });\n return;\n }\n\n // The user is no longer focusing an input, remove the highlights\n if (event.data.type === INTERNAL_EVENTS.STRAPI_FIELD_BLUR) {\n const { field } = event.data.payload;\n if (field !== highlightManager.getFocusedField()) return;\n\n highlightManager.focusedHighlights.forEach((highlight: HTMLElement) => {\n highlight.style.outlineColor = 'transparent';\n highlight.style.outlineWidth = '2px';\n });\n highlightManager.focusedHighlights.length = 0;\n highlightManager.setFocusedField(null);\n }\n };\n\n window.addEventListener('message', handleMessage);\n\n // Add the message handler to the cleanup list\n const messageEventListener = {\n element: window,\n type: 'message' as keyof HTMLElementEventMap,\n handler: handleMessage as EventListener,\n };\n\n return [...highlightManager.eventListeners, messageEventListener];\n };\n\n const createCleanupSystem = (\n overlay: HTMLElement,\n observers: ReturnType<typeof setupObservers>,\n eventHandlers: EventListenersList\n ) => {\n window.__strapi_previewCleanup = () => {\n observers.resizeObserver.disconnect();\n\n // Remove all scroll listeners\n observers.scrollableElements.forEach((element) => {\n if (element === window) {\n window.removeEventListener('scroll', observers.updateOnScroll);\n window.removeEventListener('resize', observers.updateOnScroll);\n } else {\n (element as Element).removeEventListener('scroll', observers.updateOnScroll);\n }\n });\n\n // Remove highlight event listeners\n eventHandlers.forEach(({ element, type, handler }) => {\n element.removeEventListener(type, handler);\n });\n\n overlay.remove();\n };\n };\n\n /* -----------------------------------------------------------------------------------------------\n * Orchestration\n * ---------------------------------------------------------------------------------------------*/\n\n setupStegaDecoding().then(() => {\n const overlay = createOverlaySystem();\n const highlightManager = createHighlightManager(overlay);\n const observers = setupObservers(highlightManager);\n const eventHandlers = setupEventHandlers(highlightManager);\n createCleanupSystem(overlay, observers, eventHandlers);\n });\n};\n\nexport { previewScript };\n"],"names":["previewScript","shouldRun","HIGHLIGHT_PADDING","HIGHLIGHT_HOVER_COLOR","window","STRAPI_HIGHLIGHT_HOVER_COLOR","HIGHLIGHT_ACTIVE_COLOR","STRAPI_HIGHLIGHT_ACTIVE_COLOR","DISABLE_STEGA_DECODING","STRAPI_DISABLE_STEGA_DECODING","SOURCE_ATTRIBUTE","OVERLAY_ID","INTERNAL_EVENTS","STRAPI_FIELD_FOCUS","STRAPI_FIELD_BLUR","STRAPI_FIELD_CHANGE","STRAPI_FIELD_FOCUS_INTENT","sendMessage","type","payload","parent","postMessage","setupStegaDecoding","vercelStegaDecode","stegaDecode","allElements","document","querySelectorAll","Array","from","forEach","element","directTextContent","childNodes","filter","node","nodeType","Node","TEXT_NODE","map","textContent","join","result","setAttribute","key","error","createOverlaySystem","__strapi_previewCleanup","getElementById","remove","overlay","createElement","id","style","cssText","body","appendChild","createHighlightManager","elements","eventListeners","highlights","focusedHighlights","focusedField","drawHighlight","target","highlight","rect","getBoundingClientRect","width","height","transform","left","top","updateAllHighlights","index","HTMLElement","mouseEnterHandler","includes","outlineColor","mouseLeaveHandler","doubleClickHandler","sourceAttribute","getAttribute","path","position","right","bottom","mouseDownHandler","event","detail","preventDefault","addEventListener","push","handler","setFocusedField","field","getFocusedField","setupObservers","highlightManager","resizeObserver","ResizeObserver","observe","documentElement","updateOnScroll","scrollableElements","Set","add","parentElement","computedStyle","getComputedStyle","overflow","overflowX","overflowY","setupEventHandlers","handleMessage","data","value","matchingElements","length","indexOf","outlineWidth","messageEventListener","createCleanupSystem","observers","eventHandlers","disconnect","removeEventListener","then"],"mappings":"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"}
@@ -12,7 +12,10 @@ const contentManagerApi = strapiAdmin.adminApi.enhanceEndpoints({
12
12
  'HistoryVersion',
13
13
  'Relations',
14
14
  'UidAvailability',
15
- 'RecentDocumentList'
15
+ 'RecentDocumentList',
16
+ 'GuidedTourMeta',
17
+ 'CountDocuments',
18
+ 'UpcomingReleasesList'
16
19
  ]
17
20
  });
18
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;;;AAEMA,MAAAA,iBAAAA,GAAoBC,oBAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
1
+ {"version":3,"file":"api.js","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n 'GuidedTourMeta',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;;;AAEMA,MAAAA,iBAAAA,GAAoBC,oBAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA,oBAAA;AACA,QAAA,gBAAA;AACA,QAAA,gBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
@@ -10,7 +10,10 @@ const contentManagerApi = adminApi.enhanceEndpoints({
10
10
  'HistoryVersion',
11
11
  'Relations',
12
12
  'UidAvailability',
13
- 'RecentDocumentList'
13
+ 'RecentDocumentList',
14
+ 'GuidedTourMeta',
15
+ 'CountDocuments',
16
+ 'UpcomingReleasesList'
14
17
  ]
15
18
  });
16
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;AAEMA,MAAAA,iBAAAA,GAAoBC,QAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
1
+ {"version":3,"file":"api.mjs","sources":["../../../admin/src/services/api.ts"],"sourcesContent":["import { adminApi } from '@strapi/admin/strapi-admin';\n\nconst contentManagerApi = adminApi.enhanceEndpoints({\n addTagTypes: [\n 'ComponentConfiguration',\n 'ContentTypesConfiguration',\n 'ContentTypeSettings',\n 'Document',\n 'InitialData',\n 'HistoryVersion',\n 'Relations',\n 'UidAvailability',\n 'RecentDocumentList',\n 'GuidedTourMeta',\n 'CountDocuments',\n 'UpcomingReleasesList',\n ],\n});\n\nexport { contentManagerApi };\n"],"names":["contentManagerApi","adminApi","enhanceEndpoints","addTagTypes"],"mappings":";;AAEMA,MAAAA,iBAAAA,GAAoBC,QAASC,CAAAA,gBAAgB,CAAC;IAClDC,WAAa,EAAA;AACX,QAAA,wBAAA;AACA,QAAA,2BAAA;AACA,QAAA,qBAAA;AACA,QAAA,UAAA;AACA,QAAA,aAAA;AACA,QAAA,gBAAA;AACA,QAAA,WAAA;AACA,QAAA,iBAAA;AACA,QAAA,oBAAA;AACA,QAAA,gBAAA;AACA,QAAA,gBAAA;AACA,QAAA;AACD;AACH,CAAA;;;;"}
@@ -8,11 +8,11 @@ const documentApi = api.contentManagerApi.injectEndpoints({
8
8
  overrideExisting: true,
9
9
  endpoints: (builder)=>({
10
10
  autoCloneDocument: builder.mutation({
11
- query: ({ model, sourceId, query })=>({
11
+ query: ({ model, sourceId, params })=>({
12
12
  url: `/content-manager/collection-types/${model}/auto-clone/${sourceId}`,
13
13
  method: 'POST',
14
14
  config: {
15
- params: query
15
+ params
16
16
  }
17
17
  }),
18
18
  invalidatesTags: (_result, error, { model })=>{
@@ -24,7 +24,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
24
24
  type: 'Document',
25
25
  id: `${model}_LIST`
26
26
  },
27
- 'RecentDocumentList'
27
+ 'RecentDocumentList',
28
+ 'CountDocuments',
29
+ 'UpcomingReleasesList'
28
30
  ];
29
31
  }
30
32
  }),
@@ -46,7 +48,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
46
48
  type: 'UidAvailability',
47
49
  id: model
48
50
  },
49
- 'RecentDocumentList'
51
+ 'RecentDocumentList',
52
+ 'CountDocuments',
53
+ 'UpcomingReleasesList'
50
54
  ]
51
55
  }),
52
56
  /**
@@ -71,7 +75,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
71
75
  type: 'UidAvailability',
72
76
  id: model
73
77
  },
74
- 'RecentDocumentList'
78
+ 'RecentDocumentList',
79
+ 'CountDocuments',
80
+ 'UpcomingReleasesList'
75
81
  ],
76
82
  transformResponse: (response, meta, arg)=>{
77
83
  /**
@@ -103,7 +109,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
103
109
  type: 'Document',
104
110
  id: collectionType !== collections.SINGLE_TYPES ? `${model}_LIST` : model
105
111
  },
106
- 'RecentDocumentList'
112
+ 'RecentDocumentList',
113
+ 'CountDocuments',
114
+ 'UpcomingReleasesList'
107
115
  ]
108
116
  }),
109
117
  deleteManyDocuments: builder.mutation({
@@ -120,7 +128,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
120
128
  type: 'Document',
121
129
  id: `${model}_LIST`
122
130
  },
123
- 'RecentDocumentList'
131
+ 'RecentDocumentList',
132
+ 'CountDocuments',
133
+ 'UpcomingReleasesList'
124
134
  ]
125
135
  }),
126
136
  discardDocument: builder.mutation({
@@ -146,7 +156,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
146
156
  type: 'UidAvailability',
147
157
  id: model
148
158
  },
149
- 'RecentDocumentList'
159
+ 'RecentDocumentList',
160
+ 'CountDocuments',
161
+ 'UpcomingReleasesList'
150
162
  ];
151
163
  }
152
164
  }),
@@ -260,7 +272,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
260
272
  id: `${model}_LIST`
261
273
  },
262
274
  'Relations',
263
- 'RecentDocumentList'
275
+ 'RecentDocumentList',
276
+ 'CountDocuments',
277
+ 'UpcomingReleasesList'
264
278
  ];
265
279
  }
266
280
  }),
@@ -273,10 +287,17 @@ const documentApi = api.contentManagerApi.injectEndpoints({
273
287
  params
274
288
  }
275
289
  }),
276
- invalidatesTags: (_res, _error, { model, documentIds })=>documentIds.map((id)=>({
277
- type: 'Document',
278
- id: `${model}_${id}`
279
- }))
290
+ invalidatesTags: (_res, _error, { model, documentIds })=>{
291
+ return [
292
+ ...documentIds.map((id)=>({
293
+ type: 'Document',
294
+ id: `${model}_${id}`
295
+ })),
296
+ 'RecentDocumentList',
297
+ 'CountDocuments',
298
+ 'UpcomingReleasesList'
299
+ ];
300
+ }
280
301
  }),
281
302
  updateDocument: builder.mutation({
282
303
  query: ({ collectionType, model, documentId, data, params })=>({
@@ -299,7 +320,8 @@ const documentApi = api.contentManagerApi.injectEndpoints({
299
320
  id: model
300
321
  },
301
322
  'RecentDocumentList',
302
- 'RecentDocumentList'
323
+ 'CountDocuments',
324
+ 'UpcomingReleasesList'
303
325
  ];
304
326
  },
305
327
  async onQueryStarted ({ data, ...patch }, { dispatch, queryFulfilled }) {
@@ -346,7 +368,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
346
368
  type: 'Document',
347
369
  id: collectionType !== collections.SINGLE_TYPES ? `${model}_${documentId}` : model
348
370
  },
349
- 'RecentDocumentList'
371
+ 'RecentDocumentList',
372
+ 'CountDocuments',
373
+ 'UpcomingReleasesList'
350
374
  ];
351
375
  }
352
376
  }),
@@ -364,7 +388,9 @@ const documentApi = api.contentManagerApi.injectEndpoints({
364
388
  type: 'Document',
365
389
  id: `${model}_${id}`
366
390
  })),
367
- 'RecentDocumentList'
391
+ 'RecentDocumentList',
392
+ 'CountDocuments',
393
+ 'UpcomingReleasesList'
368
394
  ]
369
395
  })
370
396
  })