@strapi/content-manager 0.0.0-experimental.5a4d501fa348721471ac552dcecac1b0c8146ae7 → 0.0.0-experimental.5aa166b6d14b8a896a5c865796f1ec9f465601e0

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 (301) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +300 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +34 -30
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +36 -32
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +414 -0
  10. package/dist/admin/components/Widgets.js.map +1 -0
  11. package/dist/admin/components/Widgets.mjs +391 -0
  12. package/dist/admin/components/Widgets.mjs.map +1 -0
  13. package/dist/admin/history/components/VersionContent.js +24 -3
  14. package/dist/admin/history/components/VersionContent.js.map +1 -1
  15. package/dist/admin/history/components/VersionContent.mjs +25 -4
  16. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  17. package/dist/admin/history/components/VersionHeader.js +6 -0
  18. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  19. package/dist/admin/history/components/VersionHeader.mjs +7 -1
  20. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocumentActions.js +12 -4
  22. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  23. package/dist/admin/hooks/useDocumentActions.mjs +12 -4
  24. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  25. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  26. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  27. package/dist/admin/index.js +62 -5
  28. package/dist/admin/index.js.map +1 -1
  29. package/dist/admin/index.mjs +61 -3
  30. package/dist/admin/index.mjs.map +1 -1
  31. package/dist/admin/pages/EditView/EditViewPage.js +99 -75
  32. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  33. package/dist/admin/pages/EditView/EditViewPage.mjs +101 -77
  34. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/components/DocumentActions.js +295 -91
  36. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  37. package/dist/admin/pages/EditView/components/DocumentActions.mjs +299 -95
  38. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  40. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  42. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
  44. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
  52. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
  54. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  56. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  58. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +15 -2
  60. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +16 -3
  62. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  64. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  66. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +129 -55
  68. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +129 -55
  70. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +148 -38
  72. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +152 -42
  74. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  76. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  78. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  80. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  82. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
  84. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
  86. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  88. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  90. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormLayout.js +47 -27
  92. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
  94. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/utils/data.js +103 -0
  96. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  97. package/dist/admin/pages/EditView/utils/data.mjs +103 -1
  98. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  99. package/dist/admin/pages/ListView/ListViewPage.js +227 -132
  100. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  101. package/dist/admin/pages/ListView/ListViewPage.mjs +229 -134
  102. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  103. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  104. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  105. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  106. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  107. package/dist/admin/pages/ListView/components/Filters.js +1 -0
  108. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  109. package/dist/admin/pages/ListView/components/Filters.mjs +1 -0
  110. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  111. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  112. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  113. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  114. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  115. package/dist/admin/preview/components/PreviewHeader.js +1 -1
  116. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  117. package/dist/admin/preview/components/PreviewHeader.mjs +1 -1
  118. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  119. package/dist/admin/preview/pages/Preview.js +86 -33
  120. package/dist/admin/preview/pages/Preview.js.map +1 -1
  121. package/dist/admin/preview/pages/Preview.mjs +87 -34
  122. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  123. package/dist/admin/services/api.js +3 -1
  124. package/dist/admin/services/api.js.map +1 -1
  125. package/dist/admin/services/api.mjs +3 -1
  126. package/dist/admin/services/api.mjs.map +1 -1
  127. package/dist/admin/services/documents.js +32 -16
  128. package/dist/admin/services/documents.js.map +1 -1
  129. package/dist/admin/services/documents.mjs +32 -16
  130. package/dist/admin/services/documents.mjs.map +1 -1
  131. package/dist/admin/services/homepage.js +39 -0
  132. package/dist/admin/services/homepage.js.map +1 -0
  133. package/dist/admin/services/homepage.mjs +36 -0
  134. package/dist/admin/services/homepage.mjs.map +1 -0
  135. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  136. package/dist/admin/src/components/Widgets.d.ts +4 -0
  137. package/dist/admin/src/exports.d.ts +1 -0
  138. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  139. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  140. package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
  141. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
  142. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +26 -5
  143. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +1 -0
  144. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  145. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
  146. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  147. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  148. package/dist/admin/src/services/api.d.ts +1 -1
  149. package/dist/admin/src/services/components.d.ts +2 -2
  150. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  151. package/dist/admin/src/services/documents.d.ts +23 -17
  152. package/dist/admin/src/services/homepage.d.ts +9 -0
  153. package/dist/admin/src/services/init.d.ts +1 -1
  154. package/dist/admin/src/services/relations.d.ts +2 -2
  155. package/dist/admin/src/services/uid.d.ts +3 -3
  156. package/dist/admin/src/utils/validation.d.ts +1 -0
  157. package/dist/admin/translations/en.json.js +8 -1
  158. package/dist/admin/translations/en.json.js.map +1 -1
  159. package/dist/admin/translations/en.json.mjs +8 -1
  160. package/dist/admin/translations/en.json.mjs.map +1 -1
  161. package/dist/admin/translations/es.json.js +5 -2
  162. package/dist/admin/translations/es.json.js.map +1 -1
  163. package/dist/admin/translations/es.json.mjs +5 -2
  164. package/dist/admin/translations/es.json.mjs.map +1 -1
  165. package/dist/admin/translations/fr.json.js +10 -2
  166. package/dist/admin/translations/fr.json.js.map +1 -1
  167. package/dist/admin/translations/fr.json.mjs +10 -2
  168. package/dist/admin/translations/fr.json.mjs.map +1 -1
  169. package/dist/admin/translations/ru.json.js +235 -226
  170. package/dist/admin/translations/ru.json.js.map +1 -1
  171. package/dist/admin/translations/ru.json.mjs +230 -226
  172. package/dist/admin/translations/ru.json.mjs.map +1 -1
  173. package/dist/admin/utils/validation.js +17 -6
  174. package/dist/admin/utils/validation.js.map +1 -1
  175. package/dist/admin/utils/validation.mjs +17 -6
  176. package/dist/admin/utils/validation.mjs.map +1 -1
  177. package/dist/server/controllers/content-types.js +11 -1
  178. package/dist/server/controllers/content-types.js.map +1 -1
  179. package/dist/server/controllers/content-types.mjs +11 -1
  180. package/dist/server/controllers/content-types.mjs.map +1 -1
  181. package/dist/server/controllers/index.js +3 -1
  182. package/dist/server/controllers/index.js.map +1 -1
  183. package/dist/server/controllers/index.mjs +3 -1
  184. package/dist/server/controllers/index.mjs.map +1 -1
  185. package/dist/server/controllers/relations.js +2 -2
  186. package/dist/server/controllers/relations.js.map +1 -1
  187. package/dist/server/controllers/relations.mjs +2 -2
  188. package/dist/server/controllers/relations.mjs.map +1 -1
  189. package/dist/server/controllers/validation/index.js +14 -2
  190. package/dist/server/controllers/validation/index.js.map +1 -1
  191. package/dist/server/controllers/validation/index.mjs +14 -2
  192. package/dist/server/controllers/validation/index.mjs.map +1 -1
  193. package/dist/server/history/services/lifecycles.js +3 -0
  194. package/dist/server/history/services/lifecycles.js.map +1 -1
  195. package/dist/server/history/services/lifecycles.mjs +3 -0
  196. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  197. package/dist/server/homepage/controllers/homepage.js +62 -0
  198. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  199. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  200. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  201. package/dist/server/homepage/controllers/index.js +10 -0
  202. package/dist/server/homepage/controllers/index.js.map +1 -0
  203. package/dist/server/homepage/controllers/index.mjs +8 -0
  204. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  205. package/dist/server/homepage/index.js +14 -0
  206. package/dist/server/homepage/index.js.map +1 -0
  207. package/dist/server/homepage/index.mjs +12 -0
  208. package/dist/server/homepage/index.mjs.map +1 -0
  209. package/dist/server/homepage/routes/homepage.js +36 -0
  210. package/dist/server/homepage/routes/homepage.js.map +1 -0
  211. package/dist/server/homepage/routes/homepage.mjs +34 -0
  212. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  213. package/dist/server/homepage/routes/index.js +13 -0
  214. package/dist/server/homepage/routes/index.js.map +1 -0
  215. package/dist/server/homepage/routes/index.mjs +11 -0
  216. package/dist/server/homepage/routes/index.mjs.map +1 -0
  217. package/dist/server/homepage/services/homepage.js +197 -0
  218. package/dist/server/homepage/services/homepage.js.map +1 -0
  219. package/dist/server/homepage/services/homepage.mjs +195 -0
  220. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  221. package/dist/server/homepage/services/index.js +10 -0
  222. package/dist/server/homepage/services/index.js.map +1 -0
  223. package/dist/server/homepage/services/index.mjs +8 -0
  224. package/dist/server/homepage/services/index.mjs.map +1 -0
  225. package/dist/server/preview/services/preview.js +0 -1
  226. package/dist/server/preview/services/preview.js.map +1 -1
  227. package/dist/server/preview/services/preview.mjs +0 -1
  228. package/dist/server/preview/services/preview.mjs.map +1 -1
  229. package/dist/server/routes/index.js +3 -1
  230. package/dist/server/routes/index.js.map +1 -1
  231. package/dist/server/routes/index.mjs +3 -1
  232. package/dist/server/routes/index.mjs.map +1 -1
  233. package/dist/server/services/data-mapper.js +4 -1
  234. package/dist/server/services/data-mapper.js.map +1 -1
  235. package/dist/server/services/data-mapper.mjs +4 -1
  236. package/dist/server/services/data-mapper.mjs.map +1 -1
  237. package/dist/server/services/document-manager.js +8 -1
  238. package/dist/server/services/document-manager.js.map +1 -1
  239. package/dist/server/services/document-manager.mjs +8 -1
  240. package/dist/server/services/document-manager.mjs.map +1 -1
  241. package/dist/server/services/document-metadata.js +3 -1
  242. package/dist/server/services/document-metadata.js.map +1 -1
  243. package/dist/server/services/document-metadata.mjs +3 -1
  244. package/dist/server/services/document-metadata.mjs.map +1 -1
  245. package/dist/server/services/index.js +3 -1
  246. package/dist/server/services/index.js.map +1 -1
  247. package/dist/server/services/index.mjs +3 -1
  248. package/dist/server/services/index.mjs.map +1 -1
  249. package/dist/server/services/utils/configuration/attributes.js +1 -1
  250. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  251. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  252. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  253. package/dist/server/services/utils/configuration/layouts.js +1 -1
  254. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  255. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  256. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  257. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  258. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  259. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  260. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  261. package/dist/server/services/utils/populate.js +11 -0
  262. package/dist/server/services/utils/populate.js.map +1 -1
  263. package/dist/server/services/utils/populate.mjs +11 -0
  264. package/dist/server/services/utils/populate.mjs.map +1 -1
  265. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  266. package/dist/server/src/controllers/index.d.ts.map +1 -1
  267. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  268. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  269. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  270. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  271. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  272. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  273. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  274. package/dist/server/src/homepage/index.d.ts +23 -0
  275. package/dist/server/src/homepage/index.d.ts.map +1 -0
  276. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  277. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  278. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  279. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  280. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  281. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  282. package/dist/server/src/homepage/services/index.d.ts +16 -0
  283. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  284. package/dist/server/src/index.d.ts +15 -0
  285. package/dist/server/src/index.d.ts.map +1 -1
  286. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  287. package/dist/server/src/routes/index.d.ts +1 -0
  288. package/dist/server/src/routes/index.d.ts.map +1 -1
  289. package/dist/server/src/services/data-mapper.d.ts +1 -0
  290. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  291. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  292. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  293. package/dist/server/src/services/index.d.ts +14 -0
  294. package/dist/server/src/services/index.d.ts.map +1 -1
  295. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  296. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  297. package/dist/shared/contracts/collection-types.d.ts +0 -1
  298. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  299. package/dist/shared/contracts/homepage.d.ts +38 -0
  300. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  301. package/package.json +12 -9
@@ -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 { unstable_tours, useNotification, useAPIErrorHandler, useQueryParams, useForm } 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(unstable_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(unstable_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,7 +385,20 @@ 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 resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
389
+ const { currentDocument: { components } } = useDocumentContext('PublishAction');
390
+ // need to discriminate if the publish is coming from a relation modal or in the edit view
391
+ const relationContext = useRelationModal('PublishAction', ()=>true, false);
392
+ const fromRelationModal = relationContext != undefined;
393
+ const dispatch = useRelationModal('PublishAction', (state)=>state.dispatch);
394
+ const fieldToConnect = useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
395
+ const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
396
+ const documentHistory = useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
397
+ const rootDocumentMeta = useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
376
398
  const { currentDocumentMeta } = useDocumentContext('PublishAction');
399
+ const [updateDocumentMutation] = useUpdateDocumentMutation();
400
+ const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
401
+ const idToPublish = currentDocumentMeta.documentId || id;
377
402
  React.useEffect(()=>{
378
403
  if (isErrorDraftRelations) {
379
404
  toggleNotification({
@@ -456,6 +481,16 @@ const transformData = (data)=>{
456
481
  model,
457
482
  currentDocumentMeta.params
458
483
  ]);
484
+ const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
485
+ const parentDocumentData = useDocument({
486
+ documentId: parentDocumentMetaToUpdate?.documentId,
487
+ model: parentDocumentMetaToUpdate?.model,
488
+ collectionType: parentDocumentMetaToUpdate?.collectionType,
489
+ params: parentDocumentMetaToUpdate?.params
490
+ }, {
491
+ skip: !parentDocumentMetaToUpdate
492
+ });
493
+ const { getInitialFormValues } = useDoc();
459
494
  const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc)=>doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== 'modified';
460
495
  if (!schema?.options?.draftAndPublish) {
461
496
  return null;
@@ -467,29 +502,99 @@ const transformData = (data)=>{
467
502
  status: 'published'
468
503
  });
469
504
  if (errors) {
470
- toggleNotification({
471
- type: 'danger',
472
- message: formatMessage({
473
- id: 'content-manager.validation.error',
474
- defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
475
- })
505
+ const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
506
+ const attribute = schema.attributes[fieldName];
507
+ return attribute?.required && !(canReadFields ?? []).includes(fieldName);
476
508
  });
509
+ if (hasUnreadableRequiredField) {
510
+ toggleNotification({
511
+ type: 'danger',
512
+ message: formatMessage({
513
+ id: 'content-manager.validation.error.unreadable-required-field',
514
+ defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
515
+ })
516
+ });
517
+ } else {
518
+ toggleNotification({
519
+ type: 'danger',
520
+ message: formatMessage({
521
+ id: 'content-manager.validation.error',
522
+ defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
523
+ })
524
+ });
525
+ }
477
526
  return;
478
527
  }
528
+ const { data } = handleInvisibleAttributes(transformData(formValues), {
529
+ schema,
530
+ components
531
+ });
479
532
  const res = await publish({
480
533
  collectionType,
481
534
  model,
482
535
  documentId,
483
536
  params: currentDocumentMeta.params
484
- }, transformData(formValues));
537
+ }, data);
538
+ // Reset form if successful
539
+ if ('data' in res) {
540
+ resetForm();
541
+ }
485
542
  if ('data' in res && collectionType !== SINGLE_TYPES) {
486
543
  /**
487
544
  * TODO: refactor the router so we can just do `../${res.data.documentId}` instead of this.
488
- */ if (id === 'create') {
545
+ */ if (idToPublish === 'create' && !fromRelationModal) {
489
546
  navigate({
490
547
  pathname: `../${collectionType}/${model}/${res.data.documentId}`,
491
548
  search: rawQuery
492
549
  });
550
+ } else if (fromRelationModal) {
551
+ const newRelation = {
552
+ documentId: res.data.documentId,
553
+ collectionType,
554
+ model,
555
+ params: currentDocumentMeta.params
556
+ };
557
+ /*
558
+ * Update, if needed, the parent relation with the newly published document.
559
+ * Check if in history we have the parent relation otherwise use the
560
+ * rootDocument
561
+ */ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
562
+ const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
563
+ const metaDocumentToUpdate = documentHistory.at(-2) ?? rootDocumentMeta;
564
+ const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
565
+ try {
566
+ const updateRes = await updateDocumentMutation({
567
+ collectionType: metaDocumentToUpdate.collectionType,
568
+ model: metaDocumentToUpdate.model,
569
+ documentId: metaDocumentToUpdate.collectionType !== SINGLE_TYPES ? metaDocumentToUpdate.documentId : undefined,
570
+ params: metaDocumentToUpdate.params,
571
+ data: dataToUpdate
572
+ });
573
+ if ('error' in updateRes) {
574
+ toggleNotification({
575
+ type: 'danger',
576
+ message: formatAPIError(updateRes.error)
577
+ });
578
+ return;
579
+ }
580
+ } catch (err) {
581
+ toggleNotification({
582
+ type: 'danger',
583
+ message: formatMessage({
584
+ id: 'notification.error',
585
+ defaultMessage: 'An error occurred'
586
+ })
587
+ });
588
+ throw err;
589
+ }
590
+ }
591
+ dispatch({
592
+ type: 'GO_TO_CREATED_RELATION',
593
+ payload: {
594
+ document: newRelation,
595
+ shouldBypassConfirmation: true
596
+ }
597
+ });
493
598
  }
494
599
  } else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
495
600
  setErrors(formatValidationErrors(res.error));
@@ -563,16 +668,40 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
563
668
  const isCloning = cloneMatch !== null;
564
669
  const { formatMessage } = useIntl();
565
670
  const { create, update, clone, isLoading } = useDocumentActions();
671
+ const { currentDocument: { components } } = useDocumentContext('UpdateAction');
566
672
  const [{ rawQuery }] = useQueryParams();
567
673
  const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
674
+ const { getInitialFormValues } = useDoc();
568
675
  const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
569
676
  const modified = useForm('UpdateAction', ({ modified })=>modified);
570
677
  const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
678
+ const initialValues = useForm('UpdateAction', ({ initialValues })=>initialValues);
571
679
  const document = useForm('UpdateAction', ({ values })=>values);
572
680
  const validate = useForm('UpdateAction', (state)=>state.validate);
573
681
  const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
574
- const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
682
+ const resetForm = useForm('UpdateAction', ({ resetForm })=>resetForm);
683
+ const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
684
+ // need to discriminate if the update is coming from a relation modal or in the edit view
685
+ const relationContext = useRelationModal('UpdateAction', ()=>true, false);
686
+ const relationalModalSchema = useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
687
+ const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
688
+ const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
689
+ const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
690
+ const rootDocumentMeta = useRelationModal('UpdateAction', (state)=>state.rootDocumentMeta);
691
+ const fromRelationModal = relationContext != undefined;
575
692
  const { currentDocumentMeta } = useDocumentContext('UpdateAction');
693
+ const [updateDocumentMutation] = useUpdateDocumentMutation();
694
+ const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
695
+ const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
696
+ const parentDocumentData = useDocument({
697
+ documentId: parentDocumentMetaToUpdate?.documentId,
698
+ model: parentDocumentMetaToUpdate?.model,
699
+ collectionType: parentDocumentMetaToUpdate?.collectionType,
700
+ params: parentDocumentMetaToUpdate?.params
701
+ }, {
702
+ skip: !parentDocumentMetaToUpdate
703
+ });
704
+ const { schema } = useDoc();
576
705
  const handleUpdate = React.useCallback(async ()=>{
577
706
  setSubmitting(true);
578
707
  try {
@@ -609,30 +738,91 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
609
738
  setErrors(formatValidationErrors(res.error));
610
739
  }
611
740
  } else if (documentId || collectionType === SINGLE_TYPES) {
741
+ const { data } = handleInvisibleAttributes(transformData(document), {
742
+ schema: fromRelationModal ? relationalModalSchema : schema,
743
+ initialValues,
744
+ components
745
+ });
612
746
  const res = await update({
613
747
  collectionType,
614
748
  model,
615
749
  documentId,
616
750
  params: currentDocumentMeta.params
617
- }, transformData(document));
751
+ }, data);
618
752
  if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
619
753
  setErrors(formatValidationErrors(res.error));
620
754
  } else {
621
755
  resetForm();
622
756
  }
623
757
  } else {
758
+ const { data } = handleInvisibleAttributes(transformData(document), {
759
+ schema: fromRelationModal ? relationalModalSchema : schema,
760
+ initialValues,
761
+ components
762
+ });
624
763
  const res = await create({
625
764
  model,
626
765
  params: currentDocumentMeta.params
627
- }, transformData(document));
766
+ }, data);
628
767
  if ('data' in res && collectionType !== SINGLE_TYPES) {
629
- navigate({
630
- pathname: `../${res.data.documentId}`,
631
- search: rawQuery
632
- }, {
633
- replace: true,
634
- relative: 'path'
635
- });
768
+ if (fromRelationModal) {
769
+ const createdRelation = {
770
+ documentId: res.data.documentId,
771
+ collectionType,
772
+ model,
773
+ params: currentDocumentMeta.params
774
+ };
775
+ /*
776
+ * Update, if needed, the parent relation with the newly published document.
777
+ * Check if in history we have the parent relation otherwise use the
778
+ * rootDocument
779
+ */ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
780
+ const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
781
+ const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
782
+ try {
783
+ const updateRes = await updateDocumentMutation({
784
+ collectionType: parentDocumentMetaToUpdate.collectionType,
785
+ model: parentDocumentMetaToUpdate.model,
786
+ documentId: parentDocumentMetaToUpdate.collectionType !== SINGLE_TYPES ? parentDocumentMetaToUpdate.documentId : undefined,
787
+ params: parentDocumentMetaToUpdate.params,
788
+ data: {
789
+ ...dataToUpdate
790
+ }
791
+ });
792
+ if ('error' in updateRes) {
793
+ toggleNotification({
794
+ type: 'danger',
795
+ message: formatAPIError(updateRes.error)
796
+ });
797
+ return;
798
+ }
799
+ } catch (err) {
800
+ toggleNotification({
801
+ type: 'danger',
802
+ message: formatMessage({
803
+ id: 'notification.error',
804
+ defaultMessage: 'An error occurred'
805
+ })
806
+ });
807
+ throw err;
808
+ }
809
+ }
810
+ dispatch({
811
+ type: 'GO_TO_CREATED_RELATION',
812
+ payload: {
813
+ document: createdRelation,
814
+ shouldBypassConfirmation: true
815
+ }
816
+ });
817
+ } else {
818
+ navigate({
819
+ pathname: `../${res.data.documentId}`,
820
+ search: rawQuery
821
+ }, {
822
+ replace: true,
823
+ relative: 'path'
824
+ });
825
+ }
636
826
  } else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
637
827
  setErrors(formatValidationErrors(res.error));
638
828
  }
@@ -644,27 +834,41 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
644
834
  }
645
835
  }
646
836
  }, [
837
+ setSubmitting,
838
+ modified,
839
+ validate,
840
+ isCloning,
841
+ documentId,
842
+ collectionType,
843
+ toggleNotification,
844
+ formatMessage,
647
845
  clone,
846
+ model,
648
847
  cloneMatch?.params.origin,
649
- collectionType,
650
- create,
651
848
  currentDocumentMeta.params,
652
849
  document,
653
- documentId,
654
- formatMessage,
655
- formatValidationErrors,
656
- isCloning,
657
- model,
658
- modified,
659
850
  navigate,
660
851
  rawQuery,
661
- resetForm,
662
852
  setErrors,
663
- setSubmitting,
664
- toggleNotification,
853
+ formatValidationErrors,
665
854
  update,
666
- validate,
667
- onPreview
855
+ resetForm,
856
+ create,
857
+ fromRelationModal,
858
+ fieldToConnect,
859
+ documentHistory,
860
+ parentDocumentMetaToUpdate,
861
+ dispatch,
862
+ getInitialFormValues,
863
+ parentDocumentData,
864
+ fieldToConnectUID,
865
+ updateDocumentMutation,
866
+ formatAPIError,
867
+ onPreview,
868
+ initialValues,
869
+ schema,
870
+ components,
871
+ relationalModalSchema
668
872
  ]);
669
873
  // Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
670
874
  React.useEffect(()=>{