@strapi/content-manager 5.49.0 → 5.50.1

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 (381) hide show
  1. package/dist/admin/components/ComponentIcon.js.map +1 -1
  2. package/dist/admin/components/ComponentIcon.mjs.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/DragLayer.js.map +1 -1
  6. package/dist/admin/components/DragLayer.mjs.map +1 -1
  7. package/dist/admin/components/LeftMenu.js +66 -67
  8. package/dist/admin/components/LeftMenu.js.map +1 -1
  9. package/dist/admin/components/LeftMenu.mjs +68 -69
  10. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  11. package/dist/admin/history/components/VersionInputRenderer.js +3 -3
  12. package/dist/admin/history/components/VersionInputRenderer.js.map +1 -1
  13. package/dist/admin/history/components/VersionInputRenderer.mjs +3 -3
  14. package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -1
  15. package/dist/admin/history/routes.js.map +1 -1
  16. package/dist/admin/history/routes.mjs.map +1 -1
  17. package/dist/admin/hooks/useDocumentActions.js +15 -8
  18. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  19. package/dist/admin/hooks/useDocumentActions.mjs +15 -8
  20. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  22. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  23. package/dist/admin/index.js.map +1 -1
  24. package/dist/admin/index.mjs.map +1 -1
  25. package/dist/admin/layout.js +21 -7
  26. package/dist/admin/layout.js.map +1 -1
  27. package/dist/admin/layout.mjs +23 -9
  28. package/dist/admin/layout.mjs.map +1 -1
  29. package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -1
  30. package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -1
  31. package/dist/admin/pages/EditView/components/DocumentActions.js +168 -78
  32. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  33. package/dist/admin/pages/EditView/components/DocumentActions.mjs +168 -79
  34. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +6 -3
  36. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +6 -3
  38. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js +1 -1
  40. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs +1 -1
  42. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  44. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -1
  46. package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +1 -1
  48. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +1 -1
  50. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -1
  52. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +2 -1
  54. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +6 -1
  56. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +2 -1
  58. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +6 -2
  60. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +3 -2
  62. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +6 -1
  64. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +6 -1
  66. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +8 -5
  68. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +8 -5
  70. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/UID.js +5 -4
  72. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +5 -4
  74. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  76. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js +2 -2
  78. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs +2 -2
  80. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -1
  82. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/components/Panels.js.map +1 -1
  84. package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -1
  85. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  86. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/utils/draftRelationCounts.js +117 -0
  88. package/dist/admin/pages/EditView/utils/draftRelationCounts.js.map +1 -0
  89. package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs +109 -0
  90. package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs.map +1 -0
  91. package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -1
  92. package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -1
  93. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -1
  94. package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -1
  95. package/dist/admin/pages/ListView/ListViewPage.js +71 -11
  96. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  97. package/dist/admin/pages/ListView/ListViewPage.mjs +73 -13
  98. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  99. package/dist/admin/pages/ListView/components/BulkActions/Actions.js +2 -1
  100. package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -1
  101. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +2 -1
  102. package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -1
  103. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +1 -1
  104. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  105. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +1 -1
  106. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  107. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  108. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  109. package/dist/admin/pages/ListView/components/Filters.js +5 -3
  110. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  111. package/dist/admin/pages/ListView/components/Filters.mjs +5 -3
  112. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  113. package/dist/admin/pages/ListView/components/TableActions.js +37 -0
  114. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  115. package/dist/admin/pages/ListView/components/TableActions.mjs +39 -2
  116. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  117. package/dist/admin/pages/ListView/components/TableCells/CellContent.js +28 -3
  118. package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -1
  119. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +28 -4
  120. package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -1
  121. package/dist/admin/pages/ListView/components/TableCells/CellValue.js +8 -7
  122. package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -1
  123. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +8 -7
  124. package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -1
  125. package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -1
  126. package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -1
  127. package/dist/admin/pages/ListView/components/TableCells/Relations.js +1 -1
  128. package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -1
  129. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +1 -1
  130. package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -1
  131. package/dist/admin/preview/pages/Preview.js +40 -11
  132. package/dist/admin/preview/pages/Preview.js.map +1 -1
  133. package/dist/admin/preview/pages/Preview.mjs +41 -12
  134. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  135. package/dist/admin/preview/routes.js.map +1 -1
  136. package/dist/admin/preview/routes.mjs.map +1 -1
  137. package/dist/admin/preview/utils/constants.js +9 -15
  138. package/dist/admin/preview/utils/constants.js.map +1 -1
  139. package/dist/admin/preview/utils/constants.mjs +10 -15
  140. package/dist/admin/preview/utils/constants.mjs.map +1 -1
  141. package/dist/admin/preview/utils/fieldUtils.js.map +1 -1
  142. package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -1
  143. package/dist/admin/router.js.map +1 -1
  144. package/dist/admin/router.mjs.map +1 -1
  145. package/dist/admin/services/documents.js.map +1 -1
  146. package/dist/admin/services/documents.mjs.map +1 -1
  147. package/dist/admin/src/components/ComponentIcon.d.ts +4 -3
  148. package/dist/admin/src/components/DragLayer.d.ts +1 -1
  149. package/dist/admin/src/components/InjectionZone.d.ts +1 -2
  150. package/dist/admin/src/content-manager.d.ts +15 -15
  151. package/dist/admin/src/history/routes.d.ts +2 -2
  152. package/dist/admin/src/history/services/historyVersion.d.ts +3 -3
  153. package/dist/admin/src/hooks/useContentTypeSchema.d.ts +1 -1
  154. package/dist/admin/src/hooks/useDocument.d.ts +8 -9
  155. package/dist/admin/src/hooks/useDocumentActions.d.ts +17 -16
  156. package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
  157. package/dist/admin/src/hooks/useDocumentLayout.d.ts +3 -3
  158. package/dist/admin/src/hooks/useDragAndDrop.d.ts +4 -4
  159. package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +1 -1
  160. package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +0 -1
  161. package/dist/admin/src/index.d.ts +1 -1
  162. package/dist/admin/src/modules/app.d.ts +5 -5
  163. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +1 -1
  164. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +12 -1
  165. package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +1 -1
  166. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +1 -1
  167. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +2 -2
  168. package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -2
  169. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +4 -4
  170. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -1
  171. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +1 -1
  172. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
  173. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +19 -20
  174. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +7 -1
  175. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +12 -12
  176. package/dist/admin/src/pages/EditView/utils/draftRelationCounts.d.ts +26 -0
  177. package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +1 -1
  178. package/dist/admin/src/pages/ListView/components/Filters.d.ts +1 -1
  179. package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +11 -2
  180. package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +1 -1
  181. package/dist/admin/src/pages/formatComponentConfigurationEditLayout.d.ts +1 -1
  182. package/dist/admin/src/preview/routes.d.ts +2 -2
  183. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  184. package/dist/admin/src/preview/utils/constants.d.ts +1 -7
  185. package/dist/admin/src/preview/utils/getSendMessage.d.ts +0 -1
  186. package/dist/admin/src/router.d.ts +2 -2
  187. package/dist/admin/src/services/api.d.ts +1 -1
  188. package/dist/admin/src/services/components.d.ts +2 -2
  189. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  190. package/dist/admin/src/services/documents.d.ts +49 -89
  191. package/dist/admin/src/services/homepage.d.ts +1 -1
  192. package/dist/admin/src/services/init.d.ts +1 -1
  193. package/dist/admin/src/services/relations.d.ts +8 -22
  194. package/dist/admin/src/services/uid.d.ts +8 -8
  195. package/dist/admin/src/utils/api.d.ts +2 -2
  196. package/dist/admin/src/utils/conditionalFields.d.ts +1 -0
  197. package/dist/admin/src/utils/layouts/normalizeContentManagerLayout.d.ts +4 -4
  198. package/dist/admin/src/utils/objects.d.ts +7 -4
  199. package/dist/admin/src/utils/users.d.ts +1 -1
  200. package/dist/admin/src/utils/validation.d.ts +2 -1
  201. package/dist/admin/translations/en.json.js +6 -2
  202. package/dist/admin/translations/en.json.js.map +1 -1
  203. package/dist/admin/translations/en.json.mjs +6 -2
  204. package/dist/admin/translations/en.json.mjs.map +1 -1
  205. package/dist/admin/translations/ja.json.js +262 -87
  206. package/dist/admin/translations/ja.json.js.map +1 -1
  207. package/dist/admin/translations/ja.json.mjs +262 -87
  208. package/dist/admin/translations/ja.json.mjs.map +1 -1
  209. package/dist/admin/utils/api.js +6 -1
  210. package/dist/admin/utils/api.js.map +1 -1
  211. package/dist/admin/utils/api.mjs +6 -1
  212. package/dist/admin/utils/api.mjs.map +1 -1
  213. package/dist/admin/utils/conditionalFields.js.map +1 -1
  214. package/dist/admin/utils/conditionalFields.mjs.map +1 -1
  215. package/dist/admin/utils/objects.js +43 -13
  216. package/dist/admin/utils/objects.js.map +1 -1
  217. package/dist/admin/utils/objects.mjs +43 -13
  218. package/dist/admin/utils/objects.mjs.map +1 -1
  219. package/dist/admin/utils/validation.js.map +1 -1
  220. package/dist/admin/utils/validation.mjs.map +1 -1
  221. package/dist/server/controllers/collection-types.js +6 -3
  222. package/dist/server/controllers/collection-types.js.map +1 -1
  223. package/dist/server/controllers/collection-types.mjs +6 -3
  224. package/dist/server/controllers/collection-types.mjs.map +1 -1
  225. package/dist/server/controllers/relations.js +5 -4
  226. package/dist/server/controllers/relations.js.map +1 -1
  227. package/dist/server/controllers/relations.mjs +5 -4
  228. package/dist/server/controllers/relations.mjs.map +1 -1
  229. package/dist/server/controllers/single-types.js +2 -2
  230. package/dist/server/controllers/single-types.js.map +1 -1
  231. package/dist/server/controllers/single-types.mjs +2 -2
  232. package/dist/server/controllers/single-types.mjs.map +1 -1
  233. package/dist/server/controllers/validation/model-configuration.js +3 -1
  234. package/dist/server/controllers/validation/model-configuration.js.map +1 -1
  235. package/dist/server/controllers/validation/model-configuration.mjs +3 -1
  236. package/dist/server/controllers/validation/model-configuration.mjs.map +1 -1
  237. package/dist/server/homepage/services/homepage.js +27 -7
  238. package/dist/server/homepage/services/homepage.js.map +1 -1
  239. package/dist/server/homepage/services/homepage.mjs +27 -7
  240. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  241. package/dist/server/preview/controllers/preview.js +9 -0
  242. package/dist/server/preview/controllers/preview.js.map +1 -1
  243. package/dist/server/preview/controllers/preview.mjs +9 -0
  244. package/dist/server/preview/controllers/preview.mjs.map +1 -1
  245. package/dist/server/preview/controllers/previewScript.js +1450 -0
  246. package/dist/server/preview/routes/preview.js +11 -0
  247. package/dist/server/preview/routes/preview.js.map +1 -1
  248. package/dist/server/preview/routes/preview.mjs +11 -0
  249. package/dist/server/preview/routes/preview.mjs.map +1 -1
  250. package/dist/server/services/document-manager.js +13 -19
  251. package/dist/server/services/document-manager.js.map +1 -1
  252. package/dist/server/services/document-manager.mjs +13 -19
  253. package/dist/server/services/document-manager.mjs.map +1 -1
  254. package/dist/server/services/permission.js +4 -3
  255. package/dist/server/services/permission.js.map +1 -1
  256. package/dist/server/services/permission.mjs +4 -3
  257. package/dist/server/services/permission.mjs.map +1 -1
  258. package/dist/server/services/utils/draft-relations.js +9 -0
  259. package/dist/server/services/utils/draft-relations.js.map +1 -0
  260. package/dist/server/services/utils/draft-relations.mjs +7 -0
  261. package/dist/server/services/utils/draft-relations.mjs.map +1 -0
  262. package/dist/server/services/utils/draft.js +118 -25
  263. package/dist/server/services/utils/draft.js.map +1 -1
  264. package/dist/server/services/utils/draft.mjs +118 -25
  265. package/dist/server/services/utils/draft.mjs.map +1 -1
  266. package/dist/server/services/utils/populate.js +15 -1
  267. package/dist/server/services/utils/populate.js.map +1 -1
  268. package/dist/server/services/utils/populate.mjs +15 -1
  269. package/dist/server/services/utils/populate.mjs.map +1 -1
  270. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  271. package/dist/server/src/controllers/index.d.ts +1 -1
  272. package/dist/server/src/controllers/relations.d.ts.map +1 -1
  273. package/dist/server/src/controllers/utils/clone.d.ts.map +1 -1
  274. package/dist/server/src/controllers/utils/document-status.d.ts +1 -1
  275. package/dist/server/src/controllers/utils/document-status.d.ts.map +1 -1
  276. package/dist/server/src/controllers/utils/metadata.d.ts +5 -5
  277. package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
  278. package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
  279. package/dist/server/src/controllers/validation/index.d.ts +3 -3
  280. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  281. package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -1
  282. package/dist/server/src/controllers/validation/relations.d.ts +2 -2
  283. package/dist/server/src/history/controllers/history-version.d.ts +1 -7
  284. package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
  285. package/dist/server/src/history/controllers/index.d.ts +2 -1
  286. package/dist/server/src/history/controllers/index.d.ts.map +1 -1
  287. package/dist/server/src/history/controllers/validation/history-version.d.ts +1 -1
  288. package/dist/server/src/history/services/history.d.ts +0 -2
  289. package/dist/server/src/history/services/history.d.ts.map +1 -1
  290. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  291. package/dist/server/src/history/services/utils.d.ts +3 -3
  292. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  293. package/dist/server/src/history/utils.d.ts +1 -18
  294. package/dist/server/src/history/utils.d.ts.map +1 -1
  295. package/dist/server/src/homepage/controllers/homepage.d.ts +0 -1
  296. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  297. package/dist/server/src/homepage/controllers/index.d.ts +2 -1
  298. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -1
  299. package/dist/server/src/homepage/index.d.ts +4 -8
  300. package/dist/server/src/homepage/index.d.ts.map +1 -1
  301. package/dist/server/src/homepage/services/homepage-query-utils.d.ts.map +1 -1
  302. package/dist/server/src/homepage/services/homepage.d.ts +3 -4
  303. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  304. package/dist/server/src/homepage/services/index.d.ts +4 -8
  305. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  306. package/dist/server/src/index.d.ts +79 -85
  307. package/dist/server/src/index.d.ts.map +1 -1
  308. package/dist/server/src/mcp/derive-content-type-mcp-tools.d.ts.map +1 -1
  309. package/dist/server/src/mcp/handlers/collection-handlers.d.ts.map +1 -1
  310. package/dist/server/src/mcp/handlers/single-type-handlers.d.ts.map +1 -1
  311. package/dist/server/src/mcp/permissions.d.ts +1 -1
  312. package/dist/server/src/mcp/permissions.d.ts.map +1 -1
  313. package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts.map +1 -1
  314. package/dist/server/src/mcp/sanitizers/shape-relations.d.ts.map +1 -1
  315. package/dist/server/src/mcp/schemas/blocks-schema.d.ts.map +1 -1
  316. package/dist/server/src/mcp/schemas/data-schema.d.ts.map +1 -1
  317. package/dist/server/src/mcp/schemas/filters-schema.d.ts.map +1 -1
  318. package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -1
  319. package/dist/server/src/mcp/schemas/sort-schema.d.ts.map +1 -1
  320. package/dist/server/src/mcp/utils.d.ts.map +1 -1
  321. package/dist/server/src/middlewares/routing.d.ts.map +1 -1
  322. package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
  323. package/dist/server/src/policies/index.d.ts.map +1 -1
  324. package/dist/server/src/preview/controllers/index.d.ts +2 -1
  325. package/dist/server/src/preview/controllers/index.d.ts.map +1 -1
  326. package/dist/server/src/preview/controllers/preview.d.ts +5 -0
  327. package/dist/server/src/preview/controllers/preview.d.ts.map +1 -1
  328. package/dist/server/src/preview/controllers/validation/preview.d.ts +1 -2
  329. package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
  330. package/dist/server/src/preview/routes/preview.d.ts.map +1 -1
  331. package/dist/server/src/preview/services/index.d.ts +1 -1
  332. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  333. package/dist/server/src/preview/services/preview-config.d.ts +1 -1
  334. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  335. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  336. package/dist/server/src/preview/utils.d.ts +1 -16
  337. package/dist/server/src/preview/utils.d.ts.map +1 -1
  338. package/dist/server/src/services/components.d.ts +2 -2
  339. package/dist/server/src/services/components.d.ts.map +1 -1
  340. package/dist/server/src/services/configuration.d.ts.map +1 -1
  341. package/dist/server/src/services/content-types.d.ts.map +1 -1
  342. package/dist/server/src/services/data-mapper.d.ts +5 -5
  343. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  344. package/dist/server/src/services/document-manager.d.ts +14 -14
  345. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  346. package/dist/server/src/services/document-metadata.d.ts +6 -6
  347. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  348. package/dist/server/src/services/field-sizes.d.ts +2 -2
  349. package/dist/server/src/services/field-sizes.d.ts.map +1 -1
  350. package/dist/server/src/services/index.d.ts +78 -84
  351. package/dist/server/src/services/index.d.ts.map +1 -1
  352. package/dist/server/src/services/metrics.d.ts.map +1 -1
  353. package/dist/server/src/services/permission-checker.d.ts +12 -31
  354. package/dist/server/src/services/permission-checker.d.ts.map +1 -1
  355. package/dist/server/src/services/permission.d.ts.map +1 -1
  356. package/dist/server/src/services/populate-builder.d.ts +4 -4
  357. package/dist/server/src/services/populate-builder.d.ts.map +1 -1
  358. package/dist/server/src/services/uid.d.ts.map +1 -1
  359. package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -1
  360. package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -1
  361. package/dist/server/src/services/utils/count.d.ts.map +1 -1
  362. package/dist/server/src/services/utils/draft-relations.d.ts +19 -0
  363. package/dist/server/src/services/utils/draft-relations.d.ts.map +1 -0
  364. package/dist/server/src/services/utils/draft.d.ts +8 -7
  365. package/dist/server/src/services/utils/draft.d.ts.map +1 -1
  366. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  367. package/dist/server/src/services/utils/store.d.ts.map +1 -1
  368. package/dist/server/src/utils/index.d.ts.map +1 -1
  369. package/dist/server/src/validation/policies/hasPermissions.d.ts +1 -1
  370. package/dist/server/src/validation/zod.d.ts +1 -1
  371. package/dist/server/src/validation/zod.d.ts.map +1 -1
  372. package/dist/shared/contracts/collection-types.d.ts +4 -1
  373. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  374. package/dist/shared/contracts/single-types.d.ts +4 -1
  375. package/dist/shared/contracts/single-types.d.ts.map +1 -1
  376. package/package.json +9 -9
  377. package/dist/admin/preview/utils/previewScript.js +0 -1068
  378. package/dist/admin/preview/utils/previewScript.js.map +0 -1
  379. package/dist/admin/preview/utils/previewScript.mjs +0 -1066
  380. package/dist/admin/preview/utils/previewScript.mjs.map +0 -1
  381. package/dist/admin/src/preview/utils/previewScript.d.ts +0 -32
@@ -21,9 +21,14 @@ import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery, use
21
21
  import { buildValidParams, isBaseQueryError } from '../../../utils/api.mjs';
22
22
  import { getTranslation } from '../../../utils/translations.mjs';
23
23
  import { handleInvisibleAttributes } from '../utils/data.mjs';
24
+ import { EMPTY_DRAFT_RELATION_COUNTS, countLocalDraftRelations, normalizeDraftRelationCounts, resolveDraftRelationCounts, getDraftRelationsPublishState } from '../utils/draftRelationCounts.mjs';
24
25
  import { getEditViewShortcut } from '../utils/keyboardShortcuts.mjs';
25
26
  import { useRelationModal } from './FormInputs/Relations/RelationModal.mjs';
26
27
 
28
+ const publishConfirmDialogOpeners = new Map();
29
+ const openPublishConfirmDialog = (scope)=>{
30
+ publishConfirmDialogOpeners.get(scope)?.();
31
+ };
27
32
  const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
28
33
  /*
29
34
  * Check if the fieldToConnect is already present in the parentDataToUpdate.
@@ -151,6 +156,24 @@ const DocumentActions = ({ actions })=>{
151
156
  const DocumentActionButton = ({ buttonType = 'button', ...action })=>{
152
157
  const [dialogId, setDialogId] = React.useState(null);
153
158
  const { toggleNotification } = useNotification();
159
+ React.useEffect(()=>{
160
+ const scope = action.publishConfirmScope;
161
+ if (action.type !== 'publish' || !action.dialog || !scope) {
162
+ return;
163
+ }
164
+ const open = ()=>setDialogId(action.id);
165
+ publishConfirmDialogOpeners.set(scope, open);
166
+ return ()=>{
167
+ if (publishConfirmDialogOpeners.get(scope) === open) {
168
+ publishConfirmDialogOpeners.delete(scope);
169
+ }
170
+ };
171
+ }, [
172
+ action.type,
173
+ action.dialog,
174
+ action.id,
175
+ action.publishConfirmScope
176
+ ]);
154
177
  const handleClick = (action)=>async (e)=>{
155
178
  const { onClick = ()=>false, dialog, id } = action;
156
179
  const muteDialog = await onClick(e);
@@ -301,7 +324,7 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
301
324
  ]
302
325
  });
303
326
  };
304
- const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
327
+ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, bodyIcon, confirmLabel, isOpen, variant = 'secondary', loading })=>{
305
328
  const { formatMessage } = useIntl();
306
329
  const handleClose = async ()=>{
307
330
  if (onCancel) {
@@ -315,6 +338,28 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
315
338
  }
316
339
  onClose();
317
340
  };
341
+ const dialogBody = bodyIcon ? /*#__PURE__*/ jsxs(Flex, {
342
+ direction: "column",
343
+ alignItems: "stretch",
344
+ gap: 2,
345
+ children: [
346
+ /*#__PURE__*/ jsx(Flex, {
347
+ justifyContent: "center",
348
+ children: /*#__PURE__*/ jsx(WarningCircle, {
349
+ width: "24px",
350
+ height: "24px",
351
+ fill: bodyIcon === 'danger' ? 'danger600' : 'primary600'
352
+ })
353
+ }),
354
+ /*#__PURE__*/ jsx(Typography, {
355
+ id: "confirm-description",
356
+ tag: "p",
357
+ variant: "omega",
358
+ textAlign: "center",
359
+ children: content
360
+ })
361
+ ]
362
+ }) : content;
318
363
  return /*#__PURE__*/ jsx(Dialog.Root, {
319
364
  open: isOpen,
320
365
  onOpenChange: handleClose,
@@ -324,7 +369,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
324
369
  children: title
325
370
  }),
326
371
  /*#__PURE__*/ jsx(Dialog.Body, {
327
- children: content
372
+ children: dialogBody
328
373
  }),
329
374
  /*#__PURE__*/ jsxs(Dialog.Footer, {
330
375
  children: [
@@ -343,7 +388,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
343
388
  variant: variant,
344
389
  fullWidth: true,
345
390
  loading: loading,
346
- children: formatMessage({
391
+ children: confirmLabel ?? formatMessage({
347
392
  id: 'app.components.Button.confirm',
348
393
  defaultMessage: 'Confirm'
349
394
  })
@@ -385,16 +430,17 @@ const DocumentActionModal = ({ isOpen, title, onClose, footer: Footer, content:
385
430
  };
386
431
  const transformData = (data)=>{
387
432
  if (Array.isArray(data)) {
388
- return data.map(transformData);
433
+ return data.map((value)=>transformData(value));
389
434
  }
390
435
  if (typeof data === 'object' && data !== null) {
391
436
  if ('apiData' in data) {
392
437
  return data.apiData;
393
438
  }
394
- return mapValues(transformData)(data);
439
+ return mapValues((value)=>transformData(value))(data);
395
440
  }
396
441
  return data;
397
442
  };
443
+ const transformDocumentData = (data)=>transformData(data);
398
444
  /* -------------------------------------------------------------------------------------------------
399
445
  * DocumentActionComponents
400
446
  * -----------------------------------------------------------------------------------------------*/ const PublishAction = ({ activeTab, documentId, model, collectionType, meta, document })=>{
@@ -411,10 +457,11 @@ const transformData = (data)=>{
411
457
  canReadFields
412
458
  }));
413
459
  const { publish, isLoading } = useDocumentActions();
414
- const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
415
- const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
416
- const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
417
- const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
460
+ const onPreview = usePreviewContext('PublishAction', (state)=>state.onPreview, false);
461
+ const [countDraftRelations, { isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
462
+ const [localDraftRelationCounts, setLocalDraftRelationCounts] = React.useState(EMPTY_DRAFT_RELATION_COUNTS);
463
+ const [serverDraftRelationCounts, setServerDraftRelationCounts] = React.useState(EMPTY_DRAFT_RELATION_COUNTS);
464
+ const [isFetchingDraftRelations, setIsFetchingDraftRelations] = React.useState(false);
418
465
  const [{ rawQuery }] = useQueryParams();
419
466
  const modified = useForm('PublishAction', ({ modified })=>modified);
420
467
  const setSubmitting = useForm('PublishAction', ({ setSubmitting })=>setSubmitting);
@@ -428,6 +475,8 @@ const transformData = (data)=>{
428
475
  // need to discriminate if the publish is coming from a relation modal or in the edit view
429
476
  const relationContext = useRelationModal('PublishAction', ()=>true, false);
430
477
  const fromRelationModal = relationContext != undefined;
478
+ const isRelationModalOpen = useRelationModal('PublishAction', (state)=>state.state.isModalOpen, false);
479
+ const publishConfirmScope = fromRelationModal ? 'relation-modal' : onPreview ? 'preview' : 'panel';
431
480
  const dispatch = useRelationModal('PublishAction', (state)=>state.dispatch);
432
481
  const fieldToConnect = useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
433
482
  const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
@@ -454,49 +503,19 @@ const transformData = (data)=>{
454
503
  formatMessage
455
504
  ]);
456
505
  React.useEffect(()=>{
457
- const localDraftRelations = new Set();
458
- /**
459
- * Extracts draft relations from the provided data object.
460
- * It checks for a connect array of relations.
461
- * If a relation has a status of 'draft', its id is added to the localDraftRelations set.
462
- */ const extractDraftRelations = (data)=>{
463
- const relations = data.connect || [];
464
- relations.forEach((relation)=>{
465
- if (relation.status === 'draft') {
466
- localDraftRelations.add(relation.id);
467
- }
468
- });
469
- };
470
- /**
471
- * Recursively traverses the provided data object to extract draft relations from arrays within 'connect' keys.
472
- * If the data is an object, it looks for 'connect' keys to pass their array values to extractDraftRelations.
473
- * It recursively calls itself for any non-null objects it contains.
474
- */ const traverseAndExtract = (data)=>{
475
- Object.entries(data).forEach(([key, value])=>{
476
- if (key === 'connect' && Array.isArray(value)) {
477
- extractDraftRelations({
478
- connect: value
479
- });
480
- } else if (typeof value === 'object' && value !== null) {
481
- traverseAndExtract(value);
482
- }
483
- });
484
- };
485
- if (!documentId || modified) {
486
- traverseAndExtract(formValues);
487
- setLocalCountOfDraftRelations(localDraftRelations.size);
488
- }
506
+ setLocalDraftRelationCounts(countLocalDraftRelations(formValues, schema, components, model));
489
507
  }, [
490
- documentId,
491
- modified,
508
+ components,
492
509
  formValues,
493
- setLocalCountOfDraftRelations
510
+ model,
511
+ schema
494
512
  ]);
495
- React.useEffect(()=>{
496
- if (!document || !document.documentId || isListView) {
513
+ const fetchDraftRelationsCount = React.useCallback(async ()=>{
514
+ if (!document?.documentId || isListView) {
497
515
  return;
498
516
  }
499
- const fetchDraftRelationsCount = async ()=>{
517
+ setIsFetchingDraftRelations(true);
518
+ try {
500
519
  const { data, error } = await countDraftRelations({
501
520
  collectionType,
502
521
  model,
@@ -507,18 +526,36 @@ const transformData = (data)=>{
507
526
  throw error;
508
527
  }
509
528
  if (data) {
510
- setServerCountOfDraftRelations(data.data);
529
+ setServerDraftRelationCounts(normalizeDraftRelationCounts(data));
511
530
  }
512
- };
513
- fetchDraftRelationsCount();
531
+ } finally{
532
+ setIsFetchingDraftRelations(false);
533
+ }
514
534
  }, [
515
- isListView,
516
- document,
517
- documentId,
518
- countDraftRelations,
519
535
  collectionType,
520
- model,
521
- currentDocumentMeta.params
536
+ countDraftRelations,
537
+ currentDocumentMeta.params,
538
+ document?.documentId,
539
+ documentId,
540
+ isListView,
541
+ model
542
+ ]);
543
+ React.useEffect(()=>{
544
+ fetchDraftRelationsCount();
545
+ }, [
546
+ fetchDraftRelationsCount,
547
+ document?.updatedAt
548
+ ]);
549
+ React.useEffect(()=>{
550
+ const handleWindowFocus = ()=>{
551
+ fetchDraftRelationsCount();
552
+ };
553
+ window.addEventListener('focus', handleWindowFocus);
554
+ return ()=>{
555
+ window.removeEventListener('focus', handleWindowFocus);
556
+ };
557
+ }, [
558
+ fetchDraftRelationsCount
522
559
  ]);
523
560
  const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
524
561
  const parentDocumentData = useDocument({
@@ -573,7 +610,7 @@ const transformData = (data)=>{
573
610
  }
574
611
  return;
575
612
  }
576
- const { data } = handleInvisibleAttributes(transformData(getValues()), {
613
+ const { data } = handleInvisibleAttributes(transformDocumentData(getValues()), {
577
614
  schema,
578
615
  components
579
616
  });
@@ -660,11 +697,18 @@ const transformData = (data)=>{
660
697
  }
661
698
  }
662
699
  };
663
- const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
664
- // TODO skipping this for now as there is a bug with the draft relation count that will be worked on separately
665
- // see RFC "Count draft relations" in Notion
666
- const enableDraftRelationsCount = false;
667
- const hasDraftRelations = enableDraftRelationsCount;
700
+ const getFreshDraftRelationCounts = React.useCallback(()=>resolveDraftRelationCounts(documentId, modified, countLocalDraftRelations(getValues(), schema, components, model), serverDraftRelationCounts), [
701
+ components,
702
+ documentId,
703
+ getValues,
704
+ model,
705
+ modified,
706
+ schema,
707
+ serverDraftRelationCounts
708
+ ]);
709
+ const draftRelationCounts = resolveDraftRelationCounts(documentId, modified, localDraftRelationCounts, serverDraftRelationCounts);
710
+ const { hasUnpublishedRelations, hasDraftM2mLinks, dialogVariant, bodyIcon, confirmLabel } = getDraftRelationsPublishState(draftRelationCounts);
711
+ const supportsDraftRelationWarning = Boolean(schema?.options?.draftAndPublish);
668
712
  /**
669
713
  * Disabled when:
670
714
  * - currently if you're cloning a document we don't support publish & clone at the same time.
@@ -673,7 +717,7 @@ const transformData = (data)=>{
673
717
  * - the document is already published & not modified
674
718
  * - the document is being created & not modified
675
719
  * - the user doesn't have the permission to publish
676
- */ const isDisabled = isCloning || isSubmitting || isLoadingDraftRelations || activeTab === 'published' || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish;
720
+ */ const isDisabled = isCloning || isSubmitting || isFetchingDraftRelations || activeTab === 'published' || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish;
677
721
  // Publish on CMD+Shift+Enter (macOS) / CTRL+Shift+Enter (Windows/Linux).
678
722
  // Saving a draft (CMD/CTRL+Enter) is handled by the UpdateAction.
679
723
  React.useEffect(()=>{
@@ -685,18 +729,29 @@ const transformData = (data)=>{
685
729
  return;
686
730
  }
687
731
  e.preventDefault();
688
- if (!isDisabled && !hasDraftRelations) {
689
- performPublish();
732
+ if (!fromRelationModal && isRelationModalOpen) {
733
+ return;
734
+ }
735
+ if (isDisabled) {
736
+ return;
690
737
  }
738
+ if (getDraftRelationsPublishState(getFreshDraftRelationCounts()).hasDraftRelations) {
739
+ openPublishConfirmDialog(publishConfirmScope);
740
+ return;
741
+ }
742
+ performPublish();
691
743
  };
692
744
  window.addEventListener('keydown', handleKeyDown);
693
745
  return ()=>{
694
746
  window.removeEventListener('keydown', handleKeyDown);
695
747
  };
696
748
  }, [
697
- hasDraftRelations,
749
+ fromRelationModal,
750
+ getFreshDraftRelationCounts,
698
751
  isDisabled,
752
+ isRelationModalOpen,
699
753
  performPublish,
754
+ publishConfirmScope,
700
755
  schema?.options?.draftAndPublish
701
756
  ]);
702
757
  if (!schema?.options?.draftAndPublish) {
@@ -711,26 +766,60 @@ const transformData = (data)=>{
711
766
  'relation-modal'
712
767
  ],
713
768
  disabled: isDisabled,
769
+ publishConfirmScope: supportsDraftRelationWarning ? publishConfirmScope : undefined,
714
770
  label: formatMessage({
715
771
  id: 'app.utils.publish',
716
772
  defaultMessage: 'Publish'
717
773
  }),
718
774
  onClick: async ()=>{
775
+ if (getDraftRelationsPublishState(getFreshDraftRelationCounts()).hasDraftRelations) {
776
+ // Let DocumentActionButton open the confirmation dialog.
777
+ return;
778
+ }
719
779
  await performPublish();
780
+ // Skip the registered dialog when publishing directly.
781
+ return true;
720
782
  },
721
- dialog: hasDraftRelations ? {
783
+ dialog: supportsDraftRelationWarning ? {
722
784
  type: 'dialog',
723
- variant: 'danger',
724
- footer: null,
785
+ variant: dialogVariant,
786
+ bodyIcon,
725
787
  title: formatMessage({
726
- id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.title`),
788
+ id: getTranslation('popUpWarning.warning.has-draft-relations.title'),
727
789
  defaultMessage: 'Confirmation'
728
790
  }),
729
- content: formatMessage({
730
- id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),
731
- defaultMessage: 'This entry is related to {count, plural, one {# draft entry} other {# draft entries}}. Publishing it could leave broken links in your app.'
732
- }, {
733
- count: totalDraftRelations
791
+ content: /*#__PURE__*/ jsxs(Fragment, {
792
+ children: [
793
+ hasUnpublishedRelations ? formatMessage({
794
+ id: getTranslation('popUpWarning.warning.has-draft-relations.message'),
795
+ defaultMessage: 'This entry is related to {count, plural, one {# draft entry} other {# draft entries}}. {count, plural, one {That relation will not be included in the published version.} other {Those relations will not be included in the published version.}}'
796
+ }, {
797
+ count: draftRelationCounts.unpublishedRelations
798
+ }) : formatMessage({
799
+ id: getTranslation('popUpWarning.warning.has-draft-m2m-relations.message'),
800
+ defaultMessage: '{count, plural, one {# linked entry is still in draft. It will appear on the live site once that entry is published.} other {# linked entries are still in draft. They will appear on the live site once those entries are published.}}'
801
+ }, {
802
+ count: draftRelationCounts.draftM2mLinks
803
+ }),
804
+ hasUnpublishedRelations && hasDraftM2mLinks ? ` ${formatMessage({
805
+ id: getTranslation('popUpWarning.warning.has-draft-m2m-relations.additional'),
806
+ defaultMessage: '{count, plural, one {# many-to-many link points} other {# many-to-many links point}} to draft entries that will become visible once published.'
807
+ }, {
808
+ count: draftRelationCounts.draftM2mLinks
809
+ })}` : null,
810
+ ' ',
811
+ formatMessage({
812
+ id: getTranslation('popUpWarning.warning.publish-question'),
813
+ defaultMessage: 'Do you still want to publish?'
814
+ })
815
+ ]
816
+ }),
817
+ confirmLabel: confirmLabel === 'publish' ? formatMessage({
818
+ id: 'app.utils.publish',
819
+ defaultMessage: 'Publish'
820
+ }) : formatMessage({
821
+ id: getTranslation('popUpwarning.warning.has-draft-relations.button-confirm'),
822
+ defaultMessage: 'Publish without relations'
734
823
  }),
735
824
  onConfirm: async ()=>{
736
825
  await performPublish();
@@ -830,7 +919,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
830
919
  model,
831
920
  documentId: cloneMatch.params.origin,
832
921
  params: currentDocumentMeta.params
833
- }, transformData(latestValues));
922
+ }, transformDocumentData(latestValues));
834
923
  if ('data' in res) {
835
924
  navigate({
836
925
  pathname: `../${res.data.documentId}`,
@@ -842,7 +931,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
842
931
  setErrors(formatValidationErrors(res.error));
843
932
  }
844
933
  } else if (documentId || collectionType === SINGLE_TYPES) {
845
- const { data } = handleInvisibleAttributes(transformData(latestValues), {
934
+ const { data } = handleInvisibleAttributes(transformDocumentData(latestValues), {
846
935
  schema: suitableSchema,
847
936
  initialValues,
848
937
  components
@@ -859,7 +948,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
859
948
  resetForm(latestValues);
860
949
  }
861
950
  } else {
862
- const { data } = handleInvisibleAttributes(transformData(latestValues), {
951
+ const { data } = handleInvisibleAttributes(transformDocumentData(latestValues), {
863
952
  schema: suitableSchema,
864
953
  initialValues,
865
954
  components
@@ -1204,5 +1293,5 @@ const DEFAULT_ACTIONS = [
1204
1293
  DiscardAction
1205
1294
  ];
1206
1295
 
1207
- export { DEFAULT_ACTIONS, DocumentActionButton, DocumentActions, DocumentActionsMenu };
1296
+ export { DEFAULT_ACTIONS, DocumentActionButton, DocumentActions, DocumentActionsMenu, openPublishConfirmDialog };
1208
1297
  //# sourceMappingURL=DocumentActions.mjs.map