@strapi/content-manager 0.0.0-next.daa3d4c4db6322f58233f0ccb757d80dbd1b48e9 → 0.0.0-next.de7aa8b6d2161b0be06244360caa235b8619d823

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 (311) 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 +35 -33
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +37 -35
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +269 -9
  10. package/dist/admin/components/Widgets.js.map +1 -1
  11. package/dist/admin/components/Widgets.mjs +252 -12
  12. package/dist/admin/components/Widgets.mjs.map +1 -1
  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 +7 -6
  22. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  23. package/dist/admin/hooks/useDocumentActions.mjs +8 -7
  24. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  25. package/dist/admin/index.js +47 -8
  26. package/dist/admin/index.js.map +1 -1
  27. package/dist/admin/index.mjs +47 -9
  28. package/dist/admin/index.mjs.map +1 -1
  29. package/dist/admin/layout.js +1 -27
  30. package/dist/admin/layout.js.map +1 -1
  31. package/dist/admin/layout.mjs +2 -9
  32. package/dist/admin/layout.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/EditViewPage.js +92 -75
  34. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  35. package/dist/admin/pages/EditView/EditViewPage.mjs +94 -77
  36. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  38. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  39. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  40. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  41. package/dist/admin/pages/EditView/components/DocumentActions.js +98 -70
  42. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/DocumentActions.mjs +100 -72
  44. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
  52. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  54. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  56. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  58. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  60. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +13 -2
  62. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +14 -3
  64. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  66. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  68. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  70. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  72. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +158 -106
  74. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +161 -109
  76. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  78. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  80. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  82. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  84. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  86. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  88. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormLayout.js +47 -27
  90. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
  92. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/InputRenderer.js +20 -7
  94. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  95. package/dist/admin/pages/EditView/components/InputRenderer.mjs +20 -7
  96. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  97. package/dist/admin/pages/EditView/utils/data.js +128 -0
  98. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  99. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  100. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  101. package/dist/admin/pages/ListView/ListViewPage.js +227 -132
  102. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  103. package/dist/admin/pages/ListView/ListViewPage.mjs +229 -134
  104. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  105. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  106. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  107. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  108. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  109. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  110. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  111. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  112. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  113. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  114. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  115. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  116. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  117. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  118. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  119. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  120. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  121. package/dist/admin/preview/components/InputPopover.js +189 -0
  122. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  123. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  124. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  125. package/dist/admin/preview/components/PreviewHeader.js +0 -1
  126. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  127. package/dist/admin/preview/components/PreviewHeader.mjs +0 -1
  128. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  129. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  130. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  131. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  132. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  133. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  134. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  135. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  136. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  137. package/dist/admin/preview/pages/Preview.js +172 -68
  138. package/dist/admin/preview/pages/Preview.js.map +1 -1
  139. package/dist/admin/preview/pages/Preview.mjs +174 -70
  140. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  141. package/dist/admin/preview/utils/constants.js +56 -0
  142. package/dist/admin/preview/utils/constants.js.map +1 -0
  143. package/dist/admin/preview/utils/constants.mjs +52 -0
  144. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  145. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  146. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  147. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  148. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  149. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  150. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  151. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  152. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  153. package/dist/admin/preview/utils/previewScript.js +534 -0
  154. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  155. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  156. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  157. package/dist/admin/services/api.js +4 -1
  158. package/dist/admin/services/api.js.map +1 -1
  159. package/dist/admin/services/api.mjs +4 -1
  160. package/dist/admin/services/api.mjs.map +1 -1
  161. package/dist/admin/services/documents.js +42 -16
  162. package/dist/admin/services/documents.js.map +1 -1
  163. package/dist/admin/services/documents.mjs +42 -16
  164. package/dist/admin/services/documents.mjs.map +1 -1
  165. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  166. package/dist/admin/src/components/Widgets.d.ts +2 -1
  167. package/dist/admin/src/exports.d.ts +1 -0
  168. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  169. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  170. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  171. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  172. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
  173. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  174. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  175. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  176. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  177. package/dist/admin/src/preview/pages/Preview.d.ts +12 -0
  178. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  179. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  180. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  181. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  182. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  183. package/dist/admin/src/services/api.d.ts +1 -1
  184. package/dist/admin/src/services/components.d.ts +2 -2
  185. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  186. package/dist/admin/src/services/documents.d.ts +23 -17
  187. package/dist/admin/src/services/homepage.d.ts +1 -1
  188. package/dist/admin/src/services/init.d.ts +1 -1
  189. package/dist/admin/src/services/relations.d.ts +2 -2
  190. package/dist/admin/src/services/uid.d.ts +3 -3
  191. package/dist/admin/src/utils/api.d.ts +1 -1
  192. package/dist/admin/src/utils/validation.d.ts +1 -0
  193. package/dist/admin/translations/en.json.js +13 -0
  194. package/dist/admin/translations/en.json.js.map +1 -1
  195. package/dist/admin/translations/en.json.mjs +13 -0
  196. package/dist/admin/translations/en.json.mjs.map +1 -1
  197. package/dist/admin/translations/es.json.js +6 -2
  198. package/dist/admin/translations/es.json.js.map +1 -1
  199. package/dist/admin/translations/es.json.mjs +6 -2
  200. package/dist/admin/translations/es.json.mjs.map +1 -1
  201. package/dist/admin/translations/fr.json.js +11 -2
  202. package/dist/admin/translations/fr.json.js.map +1 -1
  203. package/dist/admin/translations/fr.json.mjs +11 -2
  204. package/dist/admin/translations/fr.json.mjs.map +1 -1
  205. package/dist/admin/utils/api.js +1 -1
  206. package/dist/admin/utils/api.js.map +1 -1
  207. package/dist/admin/utils/api.mjs +1 -1
  208. package/dist/admin/utils/api.mjs.map +1 -1
  209. package/dist/admin/utils/validation.js +19 -7
  210. package/dist/admin/utils/validation.js.map +1 -1
  211. package/dist/admin/utils/validation.mjs +19 -7
  212. package/dist/admin/utils/validation.mjs.map +1 -1
  213. package/dist/server/controllers/content-types.js +11 -1
  214. package/dist/server/controllers/content-types.js.map +1 -1
  215. package/dist/server/controllers/content-types.mjs +11 -1
  216. package/dist/server/controllers/content-types.mjs.map +1 -1
  217. package/dist/server/controllers/relations.js +2 -2
  218. package/dist/server/controllers/relations.js.map +1 -1
  219. package/dist/server/controllers/relations.mjs +2 -2
  220. package/dist/server/controllers/relations.mjs.map +1 -1
  221. package/dist/server/controllers/validation/index.js +14 -2
  222. package/dist/server/controllers/validation/index.js.map +1 -1
  223. package/dist/server/controllers/validation/index.mjs +14 -2
  224. package/dist/server/controllers/validation/index.mjs.map +1 -1
  225. package/dist/server/history/services/lifecycles.js +23 -19
  226. package/dist/server/history/services/lifecycles.js.map +1 -1
  227. package/dist/server/history/services/lifecycles.mjs +23 -19
  228. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  229. package/dist/server/homepage/controllers/homepage.js +5 -0
  230. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  231. package/dist/server/homepage/controllers/homepage.mjs +5 -0
  232. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  233. package/dist/server/homepage/routes/homepage.js +11 -0
  234. package/dist/server/homepage/routes/homepage.js.map +1 -1
  235. package/dist/server/homepage/routes/homepage.mjs +11 -0
  236. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  237. package/dist/server/homepage/services/homepage.js +86 -46
  238. package/dist/server/homepage/services/homepage.js.map +1 -1
  239. package/dist/server/homepage/services/homepage.mjs +86 -46
  240. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  241. package/dist/server/preview/services/preview-config.js +5 -1
  242. package/dist/server/preview/services/preview-config.js.map +1 -1
  243. package/dist/server/preview/services/preview-config.mjs +5 -1
  244. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  245. package/dist/server/preview/services/preview.js +4 -0
  246. package/dist/server/preview/services/preview.js.map +1 -1
  247. package/dist/server/preview/services/preview.mjs +4 -0
  248. package/dist/server/preview/services/preview.mjs.map +1 -1
  249. package/dist/server/services/data-mapper.js +4 -1
  250. package/dist/server/services/data-mapper.js.map +1 -1
  251. package/dist/server/services/data-mapper.mjs +4 -1
  252. package/dist/server/services/data-mapper.mjs.map +1 -1
  253. package/dist/server/services/document-manager.js +8 -1
  254. package/dist/server/services/document-manager.js.map +1 -1
  255. package/dist/server/services/document-manager.mjs +8 -1
  256. package/dist/server/services/document-manager.mjs.map +1 -1
  257. package/dist/server/services/document-metadata.js +3 -1
  258. package/dist/server/services/document-metadata.js.map +1 -1
  259. package/dist/server/services/document-metadata.mjs +3 -1
  260. package/dist/server/services/document-metadata.mjs.map +1 -1
  261. package/dist/server/services/utils/configuration/attributes.js +1 -1
  262. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  263. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  264. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  265. package/dist/server/services/utils/configuration/layouts.js +1 -1
  266. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  267. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  268. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  269. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  270. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  271. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  272. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  273. package/dist/server/services/utils/populate.js +11 -0
  274. package/dist/server/services/utils/populate.js.map +1 -1
  275. package/dist/server/services/utils/populate.mjs +11 -0
  276. package/dist/server/services/utils/populate.mjs.map +1 -1
  277. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  278. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  279. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  280. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  281. package/dist/server/src/homepage/controllers/homepage.d.ts +2 -1
  282. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  283. package/dist/server/src/homepage/index.d.ts +7 -0
  284. package/dist/server/src/homepage/index.d.ts.map +1 -1
  285. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
  286. package/dist/server/src/homepage/services/homepage.d.ts +4 -1
  287. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  288. package/dist/server/src/homepage/services/index.d.ts +7 -0
  289. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  290. package/dist/server/src/index.d.ts +8 -0
  291. package/dist/server/src/index.d.ts.map +1 -1
  292. package/dist/server/src/preview/services/index.d.ts +1 -0
  293. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  294. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  295. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  296. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  297. package/dist/server/src/preview/utils.d.ts +1 -0
  298. package/dist/server/src/preview/utils.d.ts.map +1 -1
  299. package/dist/server/src/services/data-mapper.d.ts +1 -0
  300. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  301. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  302. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  303. package/dist/server/src/services/index.d.ts +8 -0
  304. package/dist/server/src/services/index.d.ts.map +1 -1
  305. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  306. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  307. package/dist/shared/contracts/collection-types.d.ts +0 -1
  308. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  309. package/dist/shared/contracts/homepage.d.ts +13 -0
  310. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  311. package/package.json +11 -9
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useNotification, useAPIErrorHandler, useQueryParams, useForm } from '@strapi/admin/strapi-admin';
4
- import { Menu, Flex, Button, VisuallyHidden, Dialog, Modal, Typography, Radio } from '@strapi/design-system';
3
+ import { tours, useNotification, useAPIErrorHandler, useQueryParams, useForm, useGuidedTour, GUIDED_TOUR_REQUIRED_ACTIONS } from '@strapi/admin/strapi-admin';
4
+ import { Flex, Button, Menu, VisuallyHidden, Dialog, Modal, Typography, Radio } from '@strapi/design-system';
5
5
  import { More, Cross, WarningCircle } from '@strapi/icons';
6
6
  import mapValues from 'lodash/fp/mapValues';
7
7
  import get from 'lodash/get';
@@ -9,7 +9,6 @@ import merge from 'lodash/merge';
9
9
  import set from 'lodash/set';
10
10
  import { useIntl } from 'react-intl';
11
11
  import { useNavigate, useMatch, useParams } from 'react-router-dom';
12
- import { styled } from 'styled-components';
13
12
  import { PUBLISHED_AT_ATTRIBUTE_NAME } from '../../../constants/attributes.mjs';
14
13
  import { SINGLE_TYPES } from '../../../constants/collections.mjs';
15
14
  import { useDocumentRBAC } from '../../../features/DocumentRBAC.mjs';
@@ -21,6 +20,7 @@ import { LIST_PATH, CLONE_PATH } from '../../../router.mjs';
21
20
  import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery, useUpdateDocumentMutation } from '../../../services/documents.mjs';
22
21
  import { isBaseQueryError, buildValidParams } from '../../../utils/api.mjs';
23
22
  import { getTranslation } from '../../../utils/translations.mjs';
23
+ import { handleInvisibleAttributes } from '../utils/data.mjs';
24
24
  import { useRelationModal } from './FormInputs/Relations/RelationModal.mjs';
25
25
 
26
26
  const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
@@ -75,23 +75,33 @@ const DocumentActions = ({ actions })=>{
75
75
  alignItems: "stretch",
76
76
  width: "100%",
77
77
  children: [
78
- /*#__PURE__*/ jsxs(Flex, {
79
- gap: 2,
80
- children: [
81
- /*#__PURE__*/ jsx(DocumentActionButton, {
82
- ...primaryAction,
83
- variant: primaryAction.variant || 'default'
84
- }),
85
- restActions.length > 0 ? /*#__PURE__*/ jsx(DocumentActionsMenu, {
86
- actions: restActions,
87
- label: formatMessage({
88
- id: 'content-manager.containers.edit.panels.default.more-actions',
89
- defaultMessage: 'More document actions'
90
- })
91
- }) : null
92
- ]
78
+ /*#__PURE__*/ jsx(tours.contentManager.Publish, {
79
+ children: /*#__PURE__*/ jsxs(Flex, {
80
+ gap: 2,
81
+ children: [
82
+ primaryAction.label === 'Publish' ? /*#__PURE__*/ jsx(DocumentActionButton, {
83
+ ...primaryAction,
84
+ variant: primaryAction.variant || 'default'
85
+ }) : /*#__PURE__*/ jsx(DocumentActionButton, {
86
+ ...primaryAction,
87
+ variant: primaryAction.variant || 'default'
88
+ }),
89
+ restActions.length > 0 ? /*#__PURE__*/ jsx(DocumentActionsMenu, {
90
+ actions: restActions,
91
+ label: formatMessage({
92
+ id: 'content-manager.containers.edit.panels.default.more-actions',
93
+ defaultMessage: 'More document actions'
94
+ })
95
+ }) : null
96
+ ]
97
+ })
93
98
  }),
94
- secondaryAction ? /*#__PURE__*/ jsx(DocumentActionButton, {
99
+ secondaryAction ? secondaryAction.label === 'Publish' ? /*#__PURE__*/ jsx(tours.contentManager.Publish, {
100
+ children: /*#__PURE__*/ jsx(DocumentActionButton, {
101
+ ...secondaryAction,
102
+ variant: secondaryAction.variant || 'secondary'
103
+ })
104
+ }) : /*#__PURE__*/ jsx(DocumentActionButton, {
95
105
  ...secondaryAction,
96
106
  variant: secondaryAction.variant || 'secondary'
97
107
  }) : null
@@ -153,11 +163,6 @@ const DocumentActionButton = (action)=>{
153
163
  ]
154
164
  });
155
165
  };
156
- const MenuItem = styled(Menu.Item)`
157
- &:hover {
158
- background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
159
- }
160
- `;
161
166
  const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
162
167
  const [isOpen, setIsOpen] = React.useState(false);
163
168
  const [dialogId, setDialogId] = React.useState(null);
@@ -219,27 +224,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
219
224
  popoverPlacement: "bottom-end",
220
225
  children: [
221
226
  actions.map((action)=>{
222
- return /*#__PURE__*/ jsx(MenuItem, {
227
+ return /*#__PURE__*/ jsx(Menu.Item, {
223
228
  disabled: action.disabled,
224
229
  /* @ts-expect-error – TODO: this is an error in the DS where it is most likely a synthetic event, not regular. */ onSelect: handleClick(action),
225
230
  display: "block",
226
- isVariantDanger: action.variant === 'danger',
227
- isDisabled: action.disabled,
231
+ variant: action.variant === 'danger' ? action.variant : 'default',
232
+ startIcon: action.icon,
228
233
  children: /*#__PURE__*/ jsx(Flex, {
229
234
  justifyContent: "space-between",
230
235
  gap: 4,
231
- children: /*#__PURE__*/ jsxs(Flex, {
232
- color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
236
+ children: /*#__PURE__*/ jsx(Flex, {
233
237
  gap: 2,
234
238
  tag: "span",
235
- children: [
236
- /*#__PURE__*/ jsx(Flex, {
237
- tag: "span",
238
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
239
- children: action.icon
240
- }),
241
- action.label
242
- ]
239
+ children: action.label
243
240
  })
244
241
  })
245
242
  }, action.id);
@@ -267,30 +264,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
267
264
  ]
268
265
  });
269
266
  };
270
- const convertActionVariantToColor = (variant = 'secondary')=>{
271
- switch(variant){
272
- case 'danger':
273
- return 'danger600';
274
- case 'secondary':
275
- return undefined;
276
- case 'success':
277
- return 'success600';
278
- default:
279
- return 'primary600';
280
- }
281
- };
282
- const convertActionVariantToIconColor = (variant = 'secondary')=>{
283
- switch(variant){
284
- case 'danger':
285
- return 'danger600';
286
- case 'secondary':
287
- return 'neutral500';
288
- case 'success':
289
- return 'success600';
290
- default:
291
- return 'primary600';
292
- }
293
- };
294
267
  const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
295
268
  const { formatMessage } = useIntl();
296
269
  const handleClose = async ()=>{
@@ -396,7 +369,10 @@ const transformData = (data)=>{
396
369
  const isCloning = useMatch(CLONE_PATH) !== null;
397
370
  const { id } = useParams();
398
371
  const { formatMessage } = useIntl();
399
- const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
372
+ const { canPublish, canReadFields } = useDocumentRBAC('PublishAction', ({ canPublish, canReadFields })=>({
373
+ canPublish,
374
+ canReadFields
375
+ }));
400
376
  const { publish, isLoading } = useDocumentActions();
401
377
  const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
402
378
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
@@ -410,6 +386,7 @@ const transformData = (data)=>{
410
386
  const setErrors = useForm('PublishAction', (state)=>state.setErrors);
411
387
  const formValues = useForm('PublishAction', ({ values })=>values);
412
388
  const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
389
+ const { currentDocument: { components } } = useDocumentContext('PublishAction');
413
390
  // need to discriminate if the publish is coming from a relation modal or in the edit view
414
391
  const relationContext = useRelationModal('PublishAction', ()=>true, false);
415
392
  const fromRelationModal = relationContext != undefined;
@@ -418,6 +395,7 @@ const transformData = (data)=>{
418
395
  const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
419
396
  const documentHistory = useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
420
397
  const rootDocumentMeta = useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
398
+ const dispatchGuidedTour = useGuidedTour('PublishAction', (s)=>s.dispatch);
421
399
  const { currentDocumentMeta } = useDocumentContext('PublishAction');
422
400
  const [updateDocumentMutation] = useUpdateDocumentMutation();
423
401
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
@@ -525,24 +503,48 @@ const transformData = (data)=>{
525
503
  status: 'published'
526
504
  });
527
505
  if (errors) {
528
- toggleNotification({
529
- type: 'danger',
530
- message: formatMessage({
531
- id: 'content-manager.validation.error',
532
- defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
533
- })
506
+ const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
507
+ const attribute = schema.attributes[fieldName];
508
+ return attribute?.required && !(canReadFields ?? []).includes(fieldName);
534
509
  });
510
+ if (hasUnreadableRequiredField) {
511
+ toggleNotification({
512
+ type: 'danger',
513
+ message: formatMessage({
514
+ id: 'content-manager.validation.error.unreadable-required-field',
515
+ defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
516
+ })
517
+ });
518
+ } else {
519
+ toggleNotification({
520
+ type: 'danger',
521
+ message: formatMessage({
522
+ id: 'content-manager.validation.error',
523
+ defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
524
+ })
525
+ });
526
+ }
535
527
  return;
536
528
  }
529
+ const { data } = handleInvisibleAttributes(transformData(formValues), {
530
+ schema,
531
+ components
532
+ });
537
533
  const res = await publish({
538
534
  collectionType,
539
535
  model,
540
536
  documentId,
541
537
  params: currentDocumentMeta.params
542
- }, transformData(formValues));
538
+ }, data);
543
539
  // Reset form if successful
544
540
  if ('data' in res) {
545
541
  resetForm();
542
+ dispatchGuidedTour({
543
+ type: 'set_completed_actions',
544
+ payload: [
545
+ GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent
546
+ ]
547
+ });
546
548
  }
547
549
  if ('data' in res && collectionType !== SINGLE_TYPES) {
548
550
  /**
@@ -666,6 +668,7 @@ PublishAction.position = [
666
668
  'relation-modal'
667
669
  ];
668
670
  const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
671
+ const dispatchGuidedTour = useGuidedTour('UpdateAction', (s)=>s.dispatch);
669
672
  const navigate = useNavigate();
670
673
  const { toggleNotification } = useNotification();
671
674
  const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
@@ -673,12 +676,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
673
676
  const isCloning = cloneMatch !== null;
674
677
  const { formatMessage } = useIntl();
675
678
  const { create, update, clone, isLoading } = useDocumentActions();
679
+ const { currentDocument: { components } } = useDocumentContext('UpdateAction');
676
680
  const [{ rawQuery }] = useQueryParams();
677
681
  const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
678
682
  const { getInitialFormValues } = useDoc();
679
683
  const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
680
684
  const modified = useForm('UpdateAction', ({ modified })=>modified);
681
685
  const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
686
+ const initialValues = useForm('UpdateAction', ({ initialValues })=>initialValues);
682
687
  const document = useForm('UpdateAction', ({ values })=>values);
683
688
  const validate = useForm('UpdateAction', (state)=>state.validate);
684
689
  const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
@@ -686,6 +691,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
686
691
  const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
687
692
  // need to discriminate if the update is coming from a relation modal or in the edit view
688
693
  const relationContext = useRelationModal('UpdateAction', ()=>true, false);
694
+ const relationalModalSchema = useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
689
695
  const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
690
696
  const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
691
697
  const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
@@ -703,6 +709,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
703
709
  }, {
704
710
  skip: !parentDocumentMetaToUpdate
705
711
  });
712
+ const { schema } = useDoc();
706
713
  const handleUpdate = React.useCallback(async ()=>{
707
714
  setSubmitting(true);
708
715
  try {
@@ -739,22 +746,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
739
746
  setErrors(formatValidationErrors(res.error));
740
747
  }
741
748
  } else if (documentId || collectionType === SINGLE_TYPES) {
749
+ const { data } = handleInvisibleAttributes(transformData(document), {
750
+ schema: fromRelationModal ? relationalModalSchema : schema,
751
+ initialValues,
752
+ components
753
+ });
742
754
  const res = await update({
743
755
  collectionType,
744
756
  model,
745
757
  documentId,
746
758
  params: currentDocumentMeta.params
747
- }, transformData(document));
759
+ }, data);
748
760
  if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
749
761
  setErrors(formatValidationErrors(res.error));
750
762
  } else {
751
763
  resetForm();
752
764
  }
753
765
  } else {
766
+ const { data } = handleInvisibleAttributes(transformData(document), {
767
+ schema: fromRelationModal ? relationalModalSchema : schema,
768
+ initialValues,
769
+ components
770
+ });
754
771
  const res = await create({
755
772
  model,
756
773
  params: currentDocumentMeta.params
757
- }, transformData(document));
774
+ }, data);
758
775
  if ('data' in res && collectionType !== SINGLE_TYPES) {
759
776
  if (fromRelationModal) {
760
777
  const createdRelation = {
@@ -819,6 +836,12 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
819
836
  }
820
837
  }
821
838
  } finally{
839
+ dispatchGuidedTour({
840
+ type: 'set_completed_actions',
841
+ payload: [
842
+ GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent
843
+ ]
844
+ });
822
845
  setSubmitting(false);
823
846
  if (onPreview) {
824
847
  onPreview();
@@ -855,7 +878,12 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
855
878
  fieldToConnectUID,
856
879
  updateDocumentMutation,
857
880
  formatAPIError,
858
- onPreview
881
+ onPreview,
882
+ initialValues,
883
+ schema,
884
+ components,
885
+ relationalModalSchema,
886
+ dispatchGuidedTour
859
887
  ]);
860
888
  // Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
861
889
  React.useEffect(()=>{