@strapi/content-manager 0.0.0-experimental.33dcb1d961027c44bf6dd839be1e557b39a57133 → 0.0.0-experimental.33e7800dc9389f78c5b00f5962ebc395c1acef77

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 (530) hide show
  1. package/dist/admin/components/ComponentIcon.js +3 -0
  2. package/dist/admin/components/ComponentIcon.js.map +1 -1
  3. package/dist/admin/components/ComponentIcon.mjs +3 -0
  4. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  5. package/dist/admin/components/ConfigurationForm/EditFieldForm.js +4 -2
  6. package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -1
  7. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +4 -2
  8. package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -1
  9. package/dist/admin/components/ConfigurationForm/Fields.js +306 -205
  10. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  11. package/dist/admin/components/ConfigurationForm/Fields.mjs +311 -211
  12. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  13. package/dist/admin/components/ConfigurationForm/Form.js +2 -2
  14. package/dist/admin/components/ConfigurationForm/Form.js.map +1 -1
  15. package/dist/admin/components/ConfigurationForm/Form.mjs +4 -4
  16. package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -1
  17. package/dist/admin/components/DragPreviews/CardDragPreview.js +3 -1
  18. package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -1
  19. package/dist/admin/components/DragPreviews/CardDragPreview.mjs +3 -1
  20. package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -1
  21. package/dist/admin/components/DragPreviews/ComponentDragPreview.js +3 -1
  22. package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -1
  23. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +3 -1
  24. package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -1
  25. package/dist/admin/components/DragPreviews/RelationDragPreview.js +3 -1
  26. package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -1
  27. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +3 -1
  28. package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -1
  29. package/dist/admin/components/LeftMenu.js +91 -51
  30. package/dist/admin/components/LeftMenu.js.map +1 -1
  31. package/dist/admin/components/LeftMenu.mjs +93 -53
  32. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  33. package/dist/admin/components/RelativeTime.js.map +1 -1
  34. package/dist/admin/components/RelativeTime.mjs.map +1 -1
  35. package/dist/admin/components/Widgets.js +287 -11
  36. package/dist/admin/components/Widgets.js.map +1 -1
  37. package/dist/admin/components/Widgets.mjs +270 -14
  38. package/dist/admin/components/Widgets.mjs.map +1 -1
  39. package/dist/admin/content-manager.js.map +1 -1
  40. package/dist/admin/content-manager.mjs.map +1 -1
  41. package/dist/admin/history/components/HistoryAction.js.map +1 -1
  42. package/dist/admin/history/components/HistoryAction.mjs.map +1 -1
  43. package/dist/admin/history/components/VersionContent.js +24 -6
  44. package/dist/admin/history/components/VersionContent.js.map +1 -1
  45. package/dist/admin/history/components/VersionContent.mjs +25 -7
  46. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  47. package/dist/admin/history/components/VersionHeader.js +7 -0
  48. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  49. package/dist/admin/history/components/VersionHeader.mjs +8 -1
  50. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  51. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  52. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  53. package/dist/admin/history/components/VersionsList.js +1 -1
  54. package/dist/admin/history/components/VersionsList.js.map +1 -1
  55. package/dist/admin/history/components/VersionsList.mjs +1 -1
  56. package/dist/admin/history/components/VersionsList.mjs.map +1 -1
  57. package/dist/admin/history/pages/History.js +7 -7
  58. package/dist/admin/history/pages/History.js.map +1 -1
  59. package/dist/admin/history/pages/History.mjs +7 -7
  60. package/dist/admin/history/pages/History.mjs.map +1 -1
  61. package/dist/admin/history/services/historyVersion.js.map +1 -1
  62. package/dist/admin/history/services/historyVersion.mjs.map +1 -1
  63. package/dist/admin/hooks/useContentManagerInitData.js.map +1 -1
  64. package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -1
  65. package/dist/admin/hooks/useDocumentActions.js +35 -11
  66. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  67. package/dist/admin/hooks/useDocumentActions.mjs +36 -12
  68. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  69. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  70. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  71. package/dist/admin/index.js +48 -11
  72. package/dist/admin/index.js.map +1 -1
  73. package/dist/admin/index.mjs +47 -9
  74. package/dist/admin/index.mjs.map +1 -1
  75. package/dist/admin/layout.js +28 -33
  76. package/dist/admin/layout.js.map +1 -1
  77. package/dist/admin/layout.mjs +29 -15
  78. package/dist/admin/layout.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/EditViewPage.js +98 -77
  80. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  81. package/dist/admin/pages/EditView/EditViewPage.mjs +100 -79
  82. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/components/Blocker.js +18 -0
  84. package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
  85. package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
  86. package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
  87. package/dist/admin/pages/EditView/components/DocumentActions.js +315 -94
  88. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  89. package/dist/admin/pages/EditView/components/DocumentActions.mjs +319 -98
  90. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  91. package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -1
  92. package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -1
  94. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +66 -2
  96. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +66 -2
  98. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -1
  99. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -1
  100. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -1
  101. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  102. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  103. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  104. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  105. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
  106. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  107. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
  108. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  109. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  110. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  111. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  112. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  113. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +2 -2
  114. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  115. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +2 -2
  116. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  117. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -1
  118. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -1
  119. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js +7 -3
  120. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.js.map +1 -1
  121. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs +7 -3
  122. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/links.mjs.map +1 -1
  123. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  124. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  125. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  126. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  127. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +17 -3
  128. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  129. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +18 -4
  130. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  131. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +1 -2
  132. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  133. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +1 -2
  134. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  135. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +22 -9
  136. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  137. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +24 -11
  138. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  139. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  140. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  141. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +130 -55
  142. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  143. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +130 -55
  144. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  145. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +126 -34
  146. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  147. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +130 -38
  148. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  149. package/dist/admin/pages/EditView/components/FormInputs/UID.js +6 -3
  150. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  151. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +6 -3
  152. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  153. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  154. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  155. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  156. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  157. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +2 -2
  158. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  159. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +2 -2
  160. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  161. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -1
  162. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -1
  163. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  164. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  165. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  166. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  167. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -1
  168. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -1
  169. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  170. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  171. package/dist/admin/pages/EditView/components/FormLayout.js +59 -34
  172. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  173. package/dist/admin/pages/EditView/components/FormLayout.mjs +60 -34
  174. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  175. package/dist/admin/pages/EditView/components/Header.js +92 -27
  176. package/dist/admin/pages/EditView/components/Header.js.map +1 -1
  177. package/dist/admin/pages/EditView/components/Header.mjs +94 -29
  178. package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
  179. package/dist/admin/pages/EditView/components/InputRenderer.js +39 -24
  180. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  181. package/dist/admin/pages/EditView/components/InputRenderer.mjs +39 -24
  182. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  183. package/dist/admin/pages/EditView/utils/data.js +211 -0
  184. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  185. package/dist/admin/pages/EditView/utils/data.mjs +211 -1
  186. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  187. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +1 -0
  188. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -1
  189. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +1 -0
  190. package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -1
  191. package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -1
  192. package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -1
  193. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +1 -1
  194. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -1
  195. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +1 -1
  196. package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -1
  197. package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -1
  198. package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -1
  199. package/dist/admin/pages/ListConfiguration/components/Settings.js +1 -1
  200. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  201. package/dist/admin/pages/ListConfiguration/components/Settings.mjs +1 -1
  202. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  203. package/dist/admin/pages/ListView/ListViewPage.js +219 -203
  204. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  205. package/dist/admin/pages/ListView/ListViewPage.mjs +220 -204
  206. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  207. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -1
  208. package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/components/BulkActions/Actions.js +6 -16
  210. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  211. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +6 -16
  212. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  213. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +20 -32
  214. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  215. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +21 -33
  216. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  217. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +13 -3
  218. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  219. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +13 -3
  220. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  221. package/dist/admin/pages/ListView/components/Filters.js +8 -2
  222. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  223. package/dist/admin/pages/ListView/components/Filters.mjs +8 -2
  224. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  225. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  226. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  227. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  228. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  229. package/dist/admin/pages/ListView/components/TableCells/CellContent.js +1 -1
  230. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  231. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +1 -1
  232. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  233. package/dist/admin/pages/ListView/components/TableCells/Media.js +1 -1
  234. package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -1
  235. package/dist/admin/pages/ListView/components/TableCells/Media.mjs +1 -1
  236. package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -1
  237. package/dist/admin/pages/ListView/components/TableCells/Relations.js +8 -4
  238. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  239. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +8 -4
  240. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  241. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +5 -2
  242. package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -1
  243. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +5 -2
  244. package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -1
  245. package/dist/admin/preview/components/InputPopover.js +189 -0
  246. package/dist/admin/preview/components/InputPopover.js.map +1 -0
  247. package/dist/admin/preview/components/InputPopover.mjs +167 -0
  248. package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
  249. package/dist/admin/preview/components/PreviewHeader.js +0 -1
  250. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  251. package/dist/admin/preview/components/PreviewHeader.mjs +0 -1
  252. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  253. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  254. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  255. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  256. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  257. package/dist/admin/preview/hooks/usePreviewInputManager.js +77 -0
  258. package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
  259. package/dist/admin/preview/hooks/usePreviewInputManager.mjs +56 -0
  260. package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
  261. package/dist/admin/preview/pages/Preview.js +178 -74
  262. package/dist/admin/preview/pages/Preview.js.map +1 -1
  263. package/dist/admin/preview/pages/Preview.mjs +180 -76
  264. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  265. package/dist/admin/preview/services/preview.js.map +1 -1
  266. package/dist/admin/preview/services/preview.mjs.map +1 -1
  267. package/dist/admin/preview/utils/constants.js +56 -0
  268. package/dist/admin/preview/utils/constants.js.map +1 -0
  269. package/dist/admin/preview/utils/constants.mjs +52 -0
  270. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  271. package/dist/admin/preview/utils/fieldUtils.js +107 -0
  272. package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
  273. package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
  274. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
  275. package/dist/admin/preview/utils/getSendMessage.js +22 -0
  276. package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
  277. package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
  278. package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
  279. package/dist/admin/preview/utils/previewScript.js +534 -0
  280. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  281. package/dist/admin/preview/utils/previewScript.mjs +532 -0
  282. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  283. package/dist/admin/router.js.map +1 -1
  284. package/dist/admin/router.mjs.map +1 -1
  285. package/dist/admin/services/api.js +5 -1
  286. package/dist/admin/services/api.js.map +1 -1
  287. package/dist/admin/services/api.mjs +5 -1
  288. package/dist/admin/services/api.mjs.map +1 -1
  289. package/dist/admin/services/documents.js +59 -17
  290. package/dist/admin/services/documents.js.map +1 -1
  291. package/dist/admin/services/documents.mjs +59 -17
  292. package/dist/admin/services/documents.mjs.map +1 -1
  293. package/dist/admin/services/homepage.js +9 -5
  294. package/dist/admin/services/homepage.js.map +1 -1
  295. package/dist/admin/services/homepage.mjs +9 -5
  296. package/dist/admin/services/homepage.mjs.map +1 -1
  297. package/dist/admin/services/relations.js.map +1 -1
  298. package/dist/admin/services/relations.mjs.map +1 -1
  299. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  300. package/dist/admin/src/components/LeftMenu.d.ts +3 -1
  301. package/dist/admin/src/components/Widgets.d.ts +8 -3
  302. package/dist/admin/src/exports.d.ts +1 -0
  303. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  304. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  305. package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
  306. package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
  307. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +2 -0
  308. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +26 -5
  309. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  310. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +1 -1
  311. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -11
  312. package/dist/admin/src/pages/EditView/components/Header.d.ts +15 -0
  313. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  314. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  315. package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +0 -3
  316. package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
  317. package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
  318. package/dist/admin/src/preview/pages/Preview.d.ts +12 -0
  319. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  320. package/dist/admin/src/preview/utils/constants.d.ts +55 -0
  321. package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
  322. package/dist/admin/src/preview/utils/getSendMessage.d.ts +11 -0
  323. package/dist/admin/src/preview/utils/previewScript.d.ts +24 -0
  324. package/dist/admin/src/services/api.d.ts +1 -1
  325. package/dist/admin/src/services/components.d.ts +2 -2
  326. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  327. package/dist/admin/src/services/documents.d.ts +23 -17
  328. package/dist/admin/src/services/homepage.d.ts +1 -1
  329. package/dist/admin/src/services/init.d.ts +1 -1
  330. package/dist/admin/src/services/relations.d.ts +2 -2
  331. package/dist/admin/src/services/uid.d.ts +3 -3
  332. package/dist/admin/src/utils/api.d.ts +1 -1
  333. package/dist/admin/src/utils/validation.d.ts +1 -0
  334. package/dist/admin/translations/en.json.js +15 -1
  335. package/dist/admin/translations/en.json.js.map +1 -1
  336. package/dist/admin/translations/en.json.mjs +15 -1
  337. package/dist/admin/translations/en.json.mjs.map +1 -1
  338. package/dist/admin/translations/es.json.js +6 -2
  339. package/dist/admin/translations/es.json.js.map +1 -1
  340. package/dist/admin/translations/es.json.mjs +6 -2
  341. package/dist/admin/translations/es.json.mjs.map +1 -1
  342. package/dist/admin/translations/fr.json.js +12 -3
  343. package/dist/admin/translations/fr.json.js.map +1 -1
  344. package/dist/admin/translations/fr.json.mjs +12 -3
  345. package/dist/admin/translations/fr.json.mjs.map +1 -1
  346. package/dist/admin/translations/ru.json.js +235 -226
  347. package/dist/admin/translations/ru.json.js.map +1 -1
  348. package/dist/admin/translations/ru.json.mjs +230 -226
  349. package/dist/admin/translations/ru.json.mjs.map +1 -1
  350. package/dist/admin/utils/api.js +1 -1
  351. package/dist/admin/utils/api.js.map +1 -1
  352. package/dist/admin/utils/api.mjs +1 -1
  353. package/dist/admin/utils/api.mjs.map +1 -1
  354. package/dist/admin/utils/translations.js.map +1 -1
  355. package/dist/admin/utils/translations.mjs.map +1 -1
  356. package/dist/admin/utils/urls.js.map +1 -1
  357. package/dist/admin/utils/urls.mjs.map +1 -1
  358. package/dist/admin/utils/users.js.map +1 -1
  359. package/dist/admin/utils/users.mjs.map +1 -1
  360. package/dist/admin/utils/validation.js +19 -7
  361. package/dist/admin/utils/validation.js.map +1 -1
  362. package/dist/admin/utils/validation.mjs +19 -7
  363. package/dist/admin/utils/validation.mjs.map +1 -1
  364. package/dist/server/controllers/collection-types.js +2 -1
  365. package/dist/server/controllers/collection-types.js.map +1 -1
  366. package/dist/server/controllers/collection-types.mjs +2 -1
  367. package/dist/server/controllers/collection-types.mjs.map +1 -1
  368. package/dist/server/controllers/content-types.js +11 -1
  369. package/dist/server/controllers/content-types.js.map +1 -1
  370. package/dist/server/controllers/content-types.mjs +11 -1
  371. package/dist/server/controllers/content-types.mjs.map +1 -1
  372. package/dist/server/controllers/index.js +3 -1
  373. package/dist/server/controllers/index.js.map +1 -1
  374. package/dist/server/controllers/index.mjs +3 -1
  375. package/dist/server/controllers/index.mjs.map +1 -1
  376. package/dist/server/controllers/relations.js +8 -6
  377. package/dist/server/controllers/relations.js.map +1 -1
  378. package/dist/server/controllers/relations.mjs +8 -6
  379. package/dist/server/controllers/relations.mjs.map +1 -1
  380. package/dist/server/controllers/single-types.js +3 -1
  381. package/dist/server/controllers/single-types.js.map +1 -1
  382. package/dist/server/controllers/single-types.mjs +3 -1
  383. package/dist/server/controllers/single-types.mjs.map +1 -1
  384. package/dist/server/controllers/validation/dimensions.js.map +1 -1
  385. package/dist/server/controllers/validation/dimensions.mjs.map +1 -1
  386. package/dist/server/controllers/validation/index.js +14 -2
  387. package/dist/server/controllers/validation/index.js.map +1 -1
  388. package/dist/server/controllers/validation/index.mjs +14 -2
  389. package/dist/server/controllers/validation/index.mjs.map +1 -1
  390. package/dist/server/controllers/validation/model-configuration.js +2 -2
  391. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  392. package/dist/server/controllers/validation/model-configuration.mjs +2 -2
  393. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  394. package/dist/server/history/services/lifecycles.js +23 -19
  395. package/dist/server/history/services/lifecycles.js.map +1 -1
  396. package/dist/server/history/services/lifecycles.mjs +23 -19
  397. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  398. package/dist/server/history/utils.js.map +1 -1
  399. package/dist/server/history/utils.mjs.map +1 -1
  400. package/dist/server/homepage/controllers/homepage.js +62 -0
  401. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  402. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  403. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  404. package/dist/server/homepage/controllers/index.js +10 -0
  405. package/dist/server/homepage/controllers/index.js.map +1 -0
  406. package/dist/server/homepage/controllers/index.mjs +8 -0
  407. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  408. package/dist/server/homepage/index.js +14 -0
  409. package/dist/server/homepage/index.js.map +1 -0
  410. package/dist/server/homepage/index.mjs +12 -0
  411. package/dist/server/homepage/index.mjs.map +1 -0
  412. package/dist/server/homepage/routes/homepage.js +36 -0
  413. package/dist/server/homepage/routes/homepage.js.map +1 -0
  414. package/dist/server/homepage/routes/homepage.mjs +34 -0
  415. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  416. package/dist/server/homepage/routes/index.js +13 -0
  417. package/dist/server/homepage/routes/index.js.map +1 -0
  418. package/dist/server/homepage/routes/index.mjs +11 -0
  419. package/dist/server/homepage/routes/index.mjs.map +1 -0
  420. package/dist/server/homepage/services/homepage.js +198 -0
  421. package/dist/server/homepage/services/homepage.js.map +1 -0
  422. package/dist/server/homepage/services/homepage.mjs +196 -0
  423. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  424. package/dist/server/homepage/services/index.js +10 -0
  425. package/dist/server/homepage/services/index.js.map +1 -0
  426. package/dist/server/homepage/services/index.mjs +8 -0
  427. package/dist/server/homepage/services/index.mjs.map +1 -0
  428. package/dist/server/middlewares/routing.js.map +1 -1
  429. package/dist/server/middlewares/routing.mjs.map +1 -1
  430. package/dist/server/preview/services/preview-config.js +11 -32
  431. package/dist/server/preview/services/preview-config.js.map +1 -1
  432. package/dist/server/preview/services/preview-config.mjs +12 -33
  433. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  434. package/dist/server/preview/services/preview.js +4 -1
  435. package/dist/server/preview/services/preview.js.map +1 -1
  436. package/dist/server/preview/services/preview.mjs +4 -1
  437. package/dist/server/preview/services/preview.mjs.map +1 -1
  438. package/dist/server/preview/utils.js.map +1 -1
  439. package/dist/server/preview/utils.mjs.map +1 -1
  440. package/dist/server/routes/index.js +3 -1
  441. package/dist/server/routes/index.js.map +1 -1
  442. package/dist/server/routes/index.mjs +3 -1
  443. package/dist/server/routes/index.mjs.map +1 -1
  444. package/dist/server/services/configuration.js.map +1 -1
  445. package/dist/server/services/configuration.mjs.map +1 -1
  446. package/dist/server/services/data-mapper.js +4 -1
  447. package/dist/server/services/data-mapper.js.map +1 -1
  448. package/dist/server/services/data-mapper.mjs +4 -1
  449. package/dist/server/services/data-mapper.mjs.map +1 -1
  450. package/dist/server/services/document-manager.js +8 -1
  451. package/dist/server/services/document-manager.js.map +1 -1
  452. package/dist/server/services/document-manager.mjs +8 -1
  453. package/dist/server/services/document-manager.mjs.map +1 -1
  454. package/dist/server/services/document-metadata.js +26 -2
  455. package/dist/server/services/document-metadata.js.map +1 -1
  456. package/dist/server/services/document-metadata.mjs +26 -2
  457. package/dist/server/services/document-metadata.mjs.map +1 -1
  458. package/dist/server/services/field-sizes.js.map +1 -1
  459. package/dist/server/services/field-sizes.mjs.map +1 -1
  460. package/dist/server/services/index.js +3 -1
  461. package/dist/server/services/index.js.map +1 -1
  462. package/dist/server/services/index.mjs +3 -1
  463. package/dist/server/services/index.mjs.map +1 -1
  464. package/dist/server/services/uid.js.map +1 -1
  465. package/dist/server/services/uid.mjs.map +1 -1
  466. package/dist/server/services/utils/configuration/attributes.js +1 -1
  467. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  468. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  469. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  470. package/dist/server/services/utils/configuration/layouts.js +1 -1
  471. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  472. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  473. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  474. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  475. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  476. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  477. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  478. package/dist/server/services/utils/populate.js +11 -0
  479. package/dist/server/services/utils/populate.js.map +1 -1
  480. package/dist/server/services/utils/populate.mjs +11 -0
  481. package/dist/server/services/utils/populate.mjs.map +1 -1
  482. package/dist/server/services/utils/store.js.map +1 -1
  483. package/dist/server/services/utils/store.mjs.map +1 -1
  484. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  485. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  486. package/dist/server/src/controllers/index.d.ts.map +1 -1
  487. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  488. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  489. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  490. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  491. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  492. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  493. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  494. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  495. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  496. package/dist/server/src/homepage/index.d.ts +23 -0
  497. package/dist/server/src/homepage/index.d.ts.map +1 -0
  498. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  499. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  500. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  501. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  502. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  503. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  504. package/dist/server/src/homepage/services/index.d.ts +16 -0
  505. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  506. package/dist/server/src/index.d.ts +14 -0
  507. package/dist/server/src/index.d.ts.map +1 -1
  508. package/dist/server/src/preview/services/index.d.ts +1 -0
  509. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  510. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  511. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  512. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  513. package/dist/server/src/preview/utils.d.ts +1 -0
  514. package/dist/server/src/preview/utils.d.ts.map +1 -1
  515. package/dist/server/src/routes/index.d.ts +1 -0
  516. package/dist/server/src/routes/index.d.ts.map +1 -1
  517. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  518. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  519. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  520. package/dist/server/src/services/index.d.ts +13 -0
  521. package/dist/server/src/services/index.d.ts.map +1 -1
  522. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  523. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  524. package/dist/shared/contracts/collection-types.d.ts +0 -1
  525. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  526. package/dist/shared/contracts/homepage.d.ts +13 -0
  527. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  528. package/package.json +12 -10
  529. package/dist/server/src/services/homepage.d.ts +0 -11
  530. package/dist/server/src/services/homepage.d.ts.map +0 -1
@@ -1,24 +1,60 @@
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
+ import get from 'lodash/get';
8
+ import merge from 'lodash/merge';
9
+ import set from 'lodash/set';
7
10
  import { useIntl } from 'react-intl';
8
11
  import { useNavigate, useMatch, useParams } from 'react-router-dom';
9
- import { styled } from 'styled-components';
10
12
  import { PUBLISHED_AT_ATTRIBUTE_NAME } from '../../../constants/attributes.mjs';
11
13
  import { SINGLE_TYPES } from '../../../constants/collections.mjs';
12
14
  import { useDocumentRBAC } from '../../../features/DocumentRBAC.mjs';
13
- import { useDoc } from '../../../hooks/useDocument.mjs';
15
+ import { useDocument, useDoc } from '../../../hooks/useDocument.mjs';
14
16
  import { useDocumentActions } from '../../../hooks/useDocumentActions.mjs';
15
17
  import { useDocumentContext } from '../../../hooks/useDocumentContext.mjs';
16
18
  import { usePreviewContext } from '../../../preview/pages/Preview.mjs';
17
19
  import { LIST_PATH, CLONE_PATH } from '../../../router.mjs';
18
- import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery } from '../../../services/documents.mjs';
20
+ import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery, useUpdateDocumentMutation } from '../../../services/documents.mjs';
19
21
  import { isBaseQueryError, buildValidParams } from '../../../utils/api.mjs';
20
22
  import { getTranslation } from '../../../utils/translations.mjs';
23
+ import { handleInvisibleAttributes } from '../utils/data.mjs';
24
+ import { useRelationModal } from './FormInputs/Relations/RelationModal.mjs';
21
25
 
26
+ const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
27
+ /*
28
+ * Check if the fieldToConnect is already present in the parentDataToUpdate.
29
+ * This happens in particular when in the parentDocument you have created
30
+ * a new component without saving.
31
+ */ const isFieldPresent = !!get(parentDataToUpdate, fieldToConnect);
32
+ const fieldToConnectPath = isFieldPresent ? fieldToConnect : fieldToConnect.split('.').slice(0, -1).join('.');
33
+ const fieldToConnectValue = isFieldPresent ? {
34
+ connect: [
35
+ {
36
+ id: data.documentId,
37
+ documentId: data.documentId,
38
+ locale: data.locale
39
+ }
40
+ ]
41
+ } : {
42
+ [fieldToConnect.split('.').pop()]: {
43
+ connect: [
44
+ {
45
+ id: data.documentId,
46
+ documentId: data.documentId,
47
+ locale: data.locale
48
+ }
49
+ ],
50
+ disconnect: []
51
+ },
52
+ // In case the object was not present you need to pass the componentUID of the parent document
53
+ __component: fieldToConnectUID
54
+ };
55
+ const objectToConnect = set({}, fieldToConnectPath, fieldToConnectValue);
56
+ return merge(parentDataToUpdate, objectToConnect);
57
+ };
22
58
  const DocumentActions = ({ actions })=>{
23
59
  const { formatMessage } = useIntl();
24
60
  const [primaryAction, secondaryAction, ...restActions] = actions.filter((action)=>{
@@ -39,23 +75,33 @@ const DocumentActions = ({ actions })=>{
39
75
  alignItems: "stretch",
40
76
  width: "100%",
41
77
  children: [
42
- /*#__PURE__*/ jsxs(Flex, {
43
- gap: 2,
44
- children: [
45
- /*#__PURE__*/ jsx(DocumentActionButton, {
46
- ...primaryAction,
47
- variant: primaryAction.variant || 'default'
48
- }),
49
- restActions.length > 0 ? /*#__PURE__*/ jsx(DocumentActionsMenu, {
50
- actions: restActions,
51
- label: formatMessage({
52
- id: 'content-manager.containers.edit.panels.default.more-actions',
53
- defaultMessage: 'More document actions'
54
- })
55
- }) : null
56
- ]
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
+ })
57
98
  }),
58
- 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, {
59
105
  ...secondaryAction,
60
106
  variant: secondaryAction.variant || 'secondary'
61
107
  }) : null
@@ -117,11 +163,6 @@ const DocumentActionButton = (action)=>{
117
163
  ]
118
164
  });
119
165
  };
120
- const MenuItem = styled(Menu.Item)`
121
- &:hover {
122
- background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
123
- }
124
- `;
125
166
  const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
126
167
  const [isOpen, setIsOpen] = React.useState(false);
127
168
  const [dialogId, setDialogId] = React.useState(null);
@@ -183,27 +224,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
183
224
  popoverPlacement: "bottom-end",
184
225
  children: [
185
226
  actions.map((action)=>{
186
- return /*#__PURE__*/ jsx(MenuItem, {
227
+ return /*#__PURE__*/ jsx(Menu.Item, {
187
228
  disabled: action.disabled,
188
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),
189
230
  display: "block",
190
- isVariantDanger: action.variant === 'danger',
191
- isDisabled: action.disabled,
231
+ variant: action.variant === 'danger' ? action.variant : 'default',
232
+ startIcon: action.icon,
192
233
  children: /*#__PURE__*/ jsx(Flex, {
193
234
  justifyContent: "space-between",
194
235
  gap: 4,
195
- children: /*#__PURE__*/ jsxs(Flex, {
196
- color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
236
+ children: /*#__PURE__*/ jsx(Flex, {
197
237
  gap: 2,
198
238
  tag: "span",
199
- children: [
200
- /*#__PURE__*/ jsx(Flex, {
201
- tag: "span",
202
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
203
- children: action.icon
204
- }),
205
- action.label
206
- ]
239
+ children: action.label
207
240
  })
208
241
  })
209
242
  }, action.id);
@@ -231,30 +264,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
231
264
  ]
232
265
  });
233
266
  };
234
- const convertActionVariantToColor = (variant = 'secondary')=>{
235
- switch(variant){
236
- case 'danger':
237
- return 'danger600';
238
- case 'secondary':
239
- return undefined;
240
- case 'success':
241
- return 'success600';
242
- default:
243
- return 'primary600';
244
- }
245
- };
246
- const convertActionVariantToIconColor = (variant = 'secondary')=>{
247
- switch(variant){
248
- case 'danger':
249
- return 'danger600';
250
- case 'secondary':
251
- return 'neutral500';
252
- case 'success':
253
- return 'success600';
254
- default:
255
- return 'primary600';
256
- }
257
- };
258
267
  const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
259
268
  const { formatMessage } = useIntl();
260
269
  const handleClose = async ()=>{
@@ -360,7 +369,10 @@ const transformData = (data)=>{
360
369
  const isCloning = useMatch(CLONE_PATH) !== null;
361
370
  const { id } = useParams();
362
371
  const { formatMessage } = useIntl();
363
- const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
372
+ const { canPublish, canReadFields } = useDocumentRBAC('PublishAction', ({ canPublish, canReadFields })=>({
373
+ canPublish,
374
+ canReadFields
375
+ }));
364
376
  const { publish, isLoading } = useDocumentActions();
365
377
  const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
366
378
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
@@ -373,8 +385,21 @@ const transformData = (data)=>{
373
385
  const validate = useForm('PublishAction', (state)=>state.validate);
374
386
  const setErrors = useForm('PublishAction', (state)=>state.setErrors);
375
387
  const formValues = useForm('PublishAction', ({ values })=>values);
388
+ const initialValues = useForm('PublishAction', ({ initialValues })=>initialValues);
376
389
  const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
390
+ const { currentDocument: { components } } = useDocumentContext('PublishAction');
391
+ // need to discriminate if the publish is coming from a relation modal or in the edit view
392
+ const relationContext = useRelationModal('PublishAction', ()=>true, false);
393
+ const fromRelationModal = relationContext != undefined;
394
+ const dispatch = useRelationModal('PublishAction', (state)=>state.dispatch);
395
+ const fieldToConnect = useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
396
+ const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
397
+ const documentHistory = useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
398
+ const rootDocumentMeta = useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
399
+ const dispatchGuidedTour = useGuidedTour('PublishAction', (s)=>s.dispatch);
377
400
  const { currentDocumentMeta } = useDocumentContext('PublishAction');
401
+ const [updateDocumentMutation] = useUpdateDocumentMutation();
402
+ const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
378
403
  const idToPublish = currentDocumentMeta.documentId || id;
379
404
  React.useEffect(()=>{
380
405
  if (isErrorDraftRelations) {
@@ -458,6 +483,16 @@ const transformData = (data)=>{
458
483
  model,
459
484
  currentDocumentMeta.params
460
485
  ]);
486
+ const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
487
+ const parentDocumentData = useDocument({
488
+ documentId: parentDocumentMetaToUpdate?.documentId,
489
+ model: parentDocumentMetaToUpdate?.model,
490
+ collectionType: parentDocumentMetaToUpdate?.collectionType,
491
+ params: parentDocumentMetaToUpdate?.params
492
+ }, {
493
+ skip: !parentDocumentMetaToUpdate
494
+ });
495
+ const { getInitialFormValues } = useDoc();
461
496
  const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc)=>doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== 'modified';
462
497
  if (!schema?.options?.draftAndPublish) {
463
498
  return null;
@@ -469,33 +504,112 @@ const transformData = (data)=>{
469
504
  status: 'published'
470
505
  });
471
506
  if (errors) {
472
- toggleNotification({
473
- type: 'danger',
474
- message: formatMessage({
475
- id: 'content-manager.validation.error',
476
- defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
477
- })
507
+ const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
508
+ const attribute = schema.attributes[fieldName];
509
+ // For components, check if any of the component fields are readable
510
+ if (attribute.type === 'component') {
511
+ const componentFields = (canReadFields ?? []).filter((field)=>field.startsWith(`${fieldName}.`));
512
+ return componentFields.length === 0;
513
+ }
514
+ // For regular fields, check if the field itself is readable
515
+ return attribute?.required && !(canReadFields ?? []).includes(fieldName);
478
516
  });
517
+ if (hasUnreadableRequiredField) {
518
+ toggleNotification({
519
+ type: 'danger',
520
+ message: formatMessage({
521
+ id: 'content-manager.validation.error.unreadable-required-field',
522
+ defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
523
+ })
524
+ });
525
+ } else {
526
+ toggleNotification({
527
+ type: 'danger',
528
+ message: formatMessage({
529
+ id: 'content-manager.validation.error',
530
+ defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
531
+ })
532
+ });
533
+ }
479
534
  return;
480
535
  }
536
+ const { data } = handleInvisibleAttributes(transformData(formValues), {
537
+ schema,
538
+ initialValues,
539
+ components
540
+ });
481
541
  const res = await publish({
482
542
  collectionType,
483
543
  model,
484
544
  documentId,
485
545
  params: currentDocumentMeta.params
486
- }, transformData(formValues));
487
- // Reset form if successful
546
+ }, data);
547
+ // Reset form with current values as new initial values (clears errors/submitting and sets modified to false)
488
548
  if ('data' in res) {
489
- resetForm();
549
+ resetForm(formValues);
550
+ dispatchGuidedTour({
551
+ type: 'set_completed_actions',
552
+ payload: [
553
+ GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent
554
+ ]
555
+ });
490
556
  }
491
557
  if ('data' in res && collectionType !== SINGLE_TYPES) {
492
558
  /**
493
559
  * TODO: refactor the router so we can just do `../${res.data.documentId}` instead of this.
494
- */ if (idToPublish === 'create') {
560
+ */ if (idToPublish === 'create' && !fromRelationModal) {
495
561
  navigate({
496
562
  pathname: `../${collectionType}/${model}/${res.data.documentId}`,
497
563
  search: rawQuery
498
564
  });
565
+ } else if (fromRelationModal) {
566
+ const newRelation = {
567
+ documentId: res.data.documentId,
568
+ collectionType,
569
+ model,
570
+ params: currentDocumentMeta.params
571
+ };
572
+ /*
573
+ * Update, if needed, the parent relation with the newly published document.
574
+ * Check if in history we have the parent relation otherwise use the
575
+ * rootDocument
576
+ */ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
577
+ const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
578
+ const metaDocumentToUpdate = documentHistory.at(-2) ?? rootDocumentMeta;
579
+ const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
580
+ try {
581
+ const updateRes = await updateDocumentMutation({
582
+ collectionType: metaDocumentToUpdate.collectionType,
583
+ model: metaDocumentToUpdate.model,
584
+ documentId: metaDocumentToUpdate.collectionType !== SINGLE_TYPES ? metaDocumentToUpdate.documentId : undefined,
585
+ params: metaDocumentToUpdate.params,
586
+ data: dataToUpdate
587
+ });
588
+ if ('error' in updateRes) {
589
+ toggleNotification({
590
+ type: 'danger',
591
+ message: formatAPIError(updateRes.error)
592
+ });
593
+ return;
594
+ }
595
+ } catch (err) {
596
+ toggleNotification({
597
+ type: 'danger',
598
+ message: formatMessage({
599
+ id: 'notification.error',
600
+ defaultMessage: 'An error occurred'
601
+ })
602
+ });
603
+ throw err;
604
+ }
605
+ }
606
+ dispatch({
607
+ type: 'GO_TO_CREATED_RELATION',
608
+ payload: {
609
+ document: newRelation,
610
+ shouldBypassConfirmation: true
611
+ }
612
+ });
499
613
  }
500
614
  } else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
501
615
  setErrors(formatValidationErrors(res.error));
@@ -562,6 +676,7 @@ PublishAction.position = [
562
676
  'relation-modal'
563
677
  ];
564
678
  const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
679
+ const dispatchGuidedTour = useGuidedTour('UpdateAction', (s)=>s.dispatch);
565
680
  const navigate = useNavigate();
566
681
  const { toggleNotification } = useNotification();
567
682
  const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
@@ -569,16 +684,40 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
569
684
  const isCloning = cloneMatch !== null;
570
685
  const { formatMessage } = useIntl();
571
686
  const { create, update, clone, isLoading } = useDocumentActions();
687
+ const { currentDocument: { components } } = useDocumentContext('UpdateAction');
572
688
  const [{ rawQuery }] = useQueryParams();
573
689
  const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
690
+ const { getInitialFormValues } = useDoc();
574
691
  const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
575
692
  const modified = useForm('UpdateAction', ({ modified })=>modified);
576
693
  const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
694
+ const initialValues = useForm('UpdateAction', ({ initialValues })=>initialValues);
577
695
  const document = useForm('UpdateAction', ({ values })=>values);
578
696
  const validate = useForm('UpdateAction', (state)=>state.validate);
579
697
  const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
580
- const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
698
+ const resetForm = useForm('UpdateAction', ({ resetForm })=>resetForm);
699
+ const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
700
+ // need to discriminate if the update is coming from a relation modal or in the edit view
701
+ const relationContext = useRelationModal('UpdateAction', ()=>true, false);
702
+ const relationalModalSchema = useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
703
+ const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
704
+ const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
705
+ const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
706
+ const rootDocumentMeta = useRelationModal('UpdateAction', (state)=>state.rootDocumentMeta);
707
+ const fromRelationModal = relationContext != undefined;
581
708
  const { currentDocumentMeta } = useDocumentContext('UpdateAction');
709
+ const [updateDocumentMutation] = useUpdateDocumentMutation();
710
+ const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
711
+ const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
712
+ const parentDocumentData = useDocument({
713
+ documentId: parentDocumentMetaToUpdate?.documentId,
714
+ model: parentDocumentMetaToUpdate?.model,
715
+ collectionType: parentDocumentMetaToUpdate?.collectionType,
716
+ params: parentDocumentMetaToUpdate?.params
717
+ }, {
718
+ skip: !parentDocumentMetaToUpdate
719
+ });
720
+ const { schema } = useDoc();
582
721
  const handleUpdate = React.useCallback(async ()=>{
583
722
  setSubmitting(true);
584
723
  try {
@@ -615,62 +754,144 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
615
754
  setErrors(formatValidationErrors(res.error));
616
755
  }
617
756
  } else if (documentId || collectionType === SINGLE_TYPES) {
757
+ const { data } = handleInvisibleAttributes(transformData(document), {
758
+ schema: fromRelationModal ? relationalModalSchema : schema,
759
+ initialValues,
760
+ components
761
+ });
618
762
  const res = await update({
619
763
  collectionType,
620
764
  model,
621
765
  documentId,
622
766
  params: currentDocumentMeta.params
623
- }, transformData(document));
767
+ }, data);
624
768
  if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
625
769
  setErrors(formatValidationErrors(res.error));
626
770
  } else {
627
- resetForm();
771
+ resetForm(document);
628
772
  }
629
773
  } else {
774
+ const { data } = handleInvisibleAttributes(transformData(document), {
775
+ schema: fromRelationModal ? relationalModalSchema : schema,
776
+ initialValues,
777
+ components
778
+ });
630
779
  const res = await create({
631
780
  model,
632
781
  params: currentDocumentMeta.params
633
- }, transformData(document));
782
+ }, data);
634
783
  if ('data' in res && collectionType !== SINGLE_TYPES) {
635
- navigate({
636
- pathname: `../${res.data.documentId}`,
637
- search: rawQuery
638
- }, {
639
- replace: true,
640
- relative: 'path'
641
- });
784
+ if (fromRelationModal) {
785
+ const createdRelation = {
786
+ documentId: res.data.documentId,
787
+ collectionType,
788
+ model,
789
+ params: currentDocumentMeta.params
790
+ };
791
+ /*
792
+ * Update, if needed, the parent relation with the newly published document.
793
+ * Check if in history we have the parent relation otherwise use the
794
+ * rootDocument
795
+ */ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
796
+ const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
797
+ const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
798
+ try {
799
+ const updateRes = await updateDocumentMutation({
800
+ collectionType: parentDocumentMetaToUpdate.collectionType,
801
+ model: parentDocumentMetaToUpdate.model,
802
+ documentId: parentDocumentMetaToUpdate.collectionType !== SINGLE_TYPES ? parentDocumentMetaToUpdate.documentId : undefined,
803
+ params: parentDocumentMetaToUpdate.params,
804
+ data: {
805
+ ...dataToUpdate
806
+ }
807
+ });
808
+ if ('error' in updateRes) {
809
+ toggleNotification({
810
+ type: 'danger',
811
+ message: formatAPIError(updateRes.error)
812
+ });
813
+ return;
814
+ }
815
+ } catch (err) {
816
+ toggleNotification({
817
+ type: 'danger',
818
+ message: formatMessage({
819
+ id: 'notification.error',
820
+ defaultMessage: 'An error occurred'
821
+ })
822
+ });
823
+ throw err;
824
+ }
825
+ }
826
+ dispatch({
827
+ type: 'GO_TO_CREATED_RELATION',
828
+ payload: {
829
+ document: createdRelation,
830
+ shouldBypassConfirmation: true
831
+ }
832
+ });
833
+ } else {
834
+ navigate({
835
+ pathname: `../${res.data.documentId}`,
836
+ search: rawQuery
837
+ }, {
838
+ replace: true,
839
+ relative: 'path'
840
+ });
841
+ }
642
842
  } else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
643
843
  setErrors(formatValidationErrors(res.error));
644
844
  }
645
845
  }
646
846
  } finally{
847
+ dispatchGuidedTour({
848
+ type: 'set_completed_actions',
849
+ payload: [
850
+ GUIDED_TOUR_REQUIRED_ACTIONS.contentManager.createContent
851
+ ]
852
+ });
647
853
  setSubmitting(false);
648
854
  if (onPreview) {
649
855
  onPreview();
650
856
  }
651
857
  }
652
858
  }, [
859
+ setSubmitting,
860
+ modified,
861
+ validate,
862
+ isCloning,
863
+ documentId,
864
+ collectionType,
865
+ toggleNotification,
866
+ formatMessage,
653
867
  clone,
868
+ model,
654
869
  cloneMatch?.params.origin,
655
- collectionType,
656
- create,
657
870
  currentDocumentMeta.params,
658
871
  document,
659
- documentId,
660
- formatMessage,
661
- formatValidationErrors,
662
- isCloning,
663
- model,
664
- modified,
665
872
  navigate,
666
873
  rawQuery,
667
- resetForm,
668
874
  setErrors,
669
- setSubmitting,
670
- toggleNotification,
875
+ formatValidationErrors,
671
876
  update,
672
- validate,
673
- onPreview
877
+ resetForm,
878
+ create,
879
+ fromRelationModal,
880
+ fieldToConnect,
881
+ documentHistory,
882
+ parentDocumentMetaToUpdate,
883
+ dispatch,
884
+ getInitialFormValues,
885
+ parentDocumentData,
886
+ fieldToConnectUID,
887
+ updateDocumentMutation,
888
+ formatAPIError,
889
+ onPreview,
890
+ initialValues,
891
+ schema,
892
+ components,
893
+ relationalModalSchema,
894
+ dispatchGuidedTour
674
895
  ]);
675
896
  // Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
676
897
  React.useEffect(()=>{