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

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