@strapi/content-manager 0.0.0-next.8d576f41729640e32a4a0cfcb258b6288e6631f6 → 0.0.0-next.8f0cdd4f9e4697ffed86c783465297fe532713f8

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 (180) hide show
  1. package/dist/admin/components/Widgets.js +253 -0
  2. package/dist/admin/components/Widgets.js.map +1 -1
  3. package/dist/admin/components/Widgets.mjs +236 -3
  4. package/dist/admin/components/Widgets.mjs.map +1 -1
  5. package/dist/admin/history/components/VersionContent.js +24 -3
  6. package/dist/admin/history/components/VersionContent.js.map +1 -1
  7. package/dist/admin/history/components/VersionContent.mjs +25 -4
  8. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  9. package/dist/admin/hooks/useDocumentActions.js +0 -3
  10. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  11. package/dist/admin/hooks/useDocumentActions.mjs +1 -4
  12. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  13. package/dist/admin/index.js +47 -8
  14. package/dist/admin/index.js.map +1 -1
  15. package/dist/admin/index.mjs +47 -9
  16. package/dist/admin/index.mjs.map +1 -1
  17. package/dist/admin/layout.js +1 -27
  18. package/dist/admin/layout.js.map +1 -1
  19. package/dist/admin/layout.mjs +2 -9
  20. package/dist/admin/layout.mjs.map +1 -1
  21. package/dist/admin/pages/EditView/EditViewPage.js +23 -6
  22. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  23. package/dist/admin/pages/EditView/EditViewPage.mjs +25 -8
  24. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  25. package/dist/admin/pages/EditView/components/DocumentActions.js +59 -63
  26. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  27. package/dist/admin/pages/EditView/components/DocumentActions.mjs +61 -65
  28. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  29. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  30. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  32. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +13 -2
  34. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +14 -3
  36. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  38. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  40. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
  42. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
  44. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +156 -105
  46. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +159 -108
  48. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  50. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  52. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormLayout.js +27 -3
  54. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormLayout.mjs +27 -3
  56. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/utils/data.js +103 -0
  58. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  59. package/dist/admin/pages/EditView/utils/data.mjs +103 -1
  60. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  61. package/dist/admin/pages/ListView/ListViewPage.js +221 -203
  62. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  63. package/dist/admin/pages/ListView/ListViewPage.mjs +222 -204
  64. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  65. package/dist/admin/pages/ListView/components/Filters.js +3 -1
  66. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  67. package/dist/admin/pages/ListView/components/Filters.mjs +3 -1
  68. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  69. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  70. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  71. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  72. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  73. package/dist/admin/preview/pages/Preview.js +101 -35
  74. package/dist/admin/preview/pages/Preview.js.map +1 -1
  75. package/dist/admin/preview/pages/Preview.mjs +102 -36
  76. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  77. package/dist/admin/services/api.js +3 -1
  78. package/dist/admin/services/api.js.map +1 -1
  79. package/dist/admin/services/api.mjs +3 -1
  80. package/dist/admin/services/api.mjs.map +1 -1
  81. package/dist/admin/services/documents.js +30 -14
  82. package/dist/admin/services/documents.js.map +1 -1
  83. package/dist/admin/services/documents.mjs +30 -14
  84. package/dist/admin/services/documents.mjs.map +1 -1
  85. package/dist/admin/services/homepage.js +11 -2
  86. package/dist/admin/services/homepage.js.map +1 -1
  87. package/dist/admin/services/homepage.mjs +11 -3
  88. package/dist/admin/services/homepage.mjs.map +1 -1
  89. package/dist/admin/src/components/Widgets.d.ts +2 -1
  90. package/dist/admin/src/exports.d.ts +1 -0
  91. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  92. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  93. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  94. package/dist/admin/src/services/api.d.ts +1 -1
  95. package/dist/admin/src/services/components.d.ts +2 -2
  96. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  97. package/dist/admin/src/services/documents.d.ts +16 -16
  98. package/dist/admin/src/services/homepage.d.ts +6 -2
  99. package/dist/admin/src/services/init.d.ts +1 -1
  100. package/dist/admin/src/services/relations.d.ts +2 -2
  101. package/dist/admin/src/services/uid.d.ts +3 -3
  102. package/dist/admin/src/utils/api.d.ts +1 -1
  103. package/dist/admin/src/utils/validation.d.ts +1 -0
  104. package/dist/admin/translations/en.json.js +6 -0
  105. package/dist/admin/translations/en.json.js.map +1 -1
  106. package/dist/admin/translations/en.json.mjs +6 -0
  107. package/dist/admin/translations/en.json.mjs.map +1 -1
  108. package/dist/admin/translations/es.json.js +5 -2
  109. package/dist/admin/translations/es.json.js.map +1 -1
  110. package/dist/admin/translations/es.json.mjs +5 -2
  111. package/dist/admin/translations/es.json.mjs.map +1 -1
  112. package/dist/admin/translations/fr.json.js +10 -2
  113. package/dist/admin/translations/fr.json.js.map +1 -1
  114. package/dist/admin/translations/fr.json.mjs +10 -2
  115. package/dist/admin/translations/fr.json.mjs.map +1 -1
  116. package/dist/admin/utils/api.js +1 -1
  117. package/dist/admin/utils/api.js.map +1 -1
  118. package/dist/admin/utils/api.mjs +1 -1
  119. package/dist/admin/utils/api.mjs.map +1 -1
  120. package/dist/admin/utils/validation.js +18 -6
  121. package/dist/admin/utils/validation.js.map +1 -1
  122. package/dist/admin/utils/validation.mjs +18 -6
  123. package/dist/admin/utils/validation.mjs.map +1 -1
  124. package/dist/server/controllers/relations.js +2 -2
  125. package/dist/server/controllers/relations.js.map +1 -1
  126. package/dist/server/controllers/relations.mjs +2 -2
  127. package/dist/server/controllers/relations.mjs.map +1 -1
  128. package/dist/server/history/services/lifecycles.js +20 -19
  129. package/dist/server/history/services/lifecycles.js.map +1 -1
  130. package/dist/server/history/services/lifecycles.mjs +20 -19
  131. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  132. package/dist/server/homepage/controllers/homepage.js +5 -0
  133. package/dist/server/homepage/controllers/homepage.js.map +1 -1
  134. package/dist/server/homepage/controllers/homepage.mjs +5 -0
  135. package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
  136. package/dist/server/homepage/routes/homepage.js +11 -0
  137. package/dist/server/homepage/routes/homepage.js.map +1 -1
  138. package/dist/server/homepage/routes/homepage.mjs +11 -0
  139. package/dist/server/homepage/routes/homepage.mjs.map +1 -1
  140. package/dist/server/homepage/services/homepage.js +86 -46
  141. package/dist/server/homepage/services/homepage.js.map +1 -1
  142. package/dist/server/homepage/services/homepage.mjs +86 -46
  143. package/dist/server/homepage/services/homepage.mjs.map +1 -1
  144. package/dist/server/preview/services/preview-config.js +5 -1
  145. package/dist/server/preview/services/preview-config.js.map +1 -1
  146. package/dist/server/preview/services/preview-config.mjs +5 -1
  147. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  148. package/dist/server/preview/services/preview.js +4 -0
  149. package/dist/server/preview/services/preview.js.map +1 -1
  150. package/dist/server/preview/services/preview.mjs +4 -0
  151. package/dist/server/preview/services/preview.mjs.map +1 -1
  152. package/dist/server/services/document-metadata.js +1 -1
  153. package/dist/server/services/document-metadata.js.map +1 -1
  154. package/dist/server/services/document-metadata.mjs +1 -1
  155. package/dist/server/services/document-metadata.mjs.map +1 -1
  156. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  157. package/dist/server/src/homepage/controllers/homepage.d.ts +2 -1
  158. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
  159. package/dist/server/src/homepage/index.d.ts +7 -0
  160. package/dist/server/src/homepage/index.d.ts.map +1 -1
  161. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
  162. package/dist/server/src/homepage/services/homepage.d.ts +4 -1
  163. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
  164. package/dist/server/src/homepage/services/index.d.ts +7 -0
  165. package/dist/server/src/homepage/services/index.d.ts.map +1 -1
  166. package/dist/server/src/index.d.ts +7 -0
  167. package/dist/server/src/index.d.ts.map +1 -1
  168. package/dist/server/src/preview/services/index.d.ts +1 -0
  169. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  170. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  171. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  172. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  173. package/dist/server/src/preview/utils.d.ts +1 -0
  174. package/dist/server/src/preview/utils.d.ts.map +1 -1
  175. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  176. package/dist/server/src/services/index.d.ts +7 -0
  177. package/dist/server/src/services/index.d.ts.map +1 -1
  178. package/dist/shared/contracts/homepage.d.ts +13 -0
  179. package/dist/shared/contracts/homepage.d.ts.map +1 -1
  180. package/package.json +7 -8
@@ -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 ()=>{
@@ -413,6 +386,7 @@ const transformData = (data)=>{
413
386
  const setErrors = useForm('PublishAction', (state)=>state.setErrors);
414
387
  const formValues = useForm('PublishAction', ({ values })=>values);
415
388
  const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
389
+ const { currentDocument: { components } } = useDocumentContext('PublishAction');
416
390
  // need to discriminate if the publish is coming from a relation modal or in the edit view
417
391
  const relationContext = useRelationModal('PublishAction', ()=>true, false);
418
392
  const fromRelationModal = relationContext != undefined;
@@ -551,12 +525,16 @@ const transformData = (data)=>{
551
525
  }
552
526
  return;
553
527
  }
528
+ const { data } = handleInvisibleAttributes(transformData(formValues), {
529
+ schema,
530
+ components
531
+ });
554
532
  const res = await publish({
555
533
  collectionType,
556
534
  model,
557
535
  documentId,
558
536
  params: currentDocumentMeta.params
559
- }, transformData(formValues));
537
+ }, data);
560
538
  // Reset form if successful
561
539
  if ('data' in res) {
562
540
  resetForm();
@@ -690,12 +668,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
690
668
  const isCloning = cloneMatch !== null;
691
669
  const { formatMessage } = useIntl();
692
670
  const { create, update, clone, isLoading } = useDocumentActions();
671
+ const { currentDocument: { components } } = useDocumentContext('UpdateAction');
693
672
  const [{ rawQuery }] = useQueryParams();
694
673
  const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
695
674
  const { getInitialFormValues } = useDoc();
696
675
  const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
697
676
  const modified = useForm('UpdateAction', ({ modified })=>modified);
698
677
  const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
678
+ const initialValues = useForm('UpdateAction', ({ initialValues })=>initialValues);
699
679
  const document = useForm('UpdateAction', ({ values })=>values);
700
680
  const validate = useForm('UpdateAction', (state)=>state.validate);
701
681
  const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
@@ -703,6 +683,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
703
683
  const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
704
684
  // need to discriminate if the update is coming from a relation modal or in the edit view
705
685
  const relationContext = useRelationModal('UpdateAction', ()=>true, false);
686
+ const relationalModalSchema = useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
706
687
  const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
707
688
  const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
708
689
  const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
@@ -720,6 +701,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
720
701
  }, {
721
702
  skip: !parentDocumentMetaToUpdate
722
703
  });
704
+ const { schema } = useDoc();
723
705
  const handleUpdate = React.useCallback(async ()=>{
724
706
  setSubmitting(true);
725
707
  try {
@@ -756,22 +738,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
756
738
  setErrors(formatValidationErrors(res.error));
757
739
  }
758
740
  } else if (documentId || collectionType === SINGLE_TYPES) {
741
+ const { data } = handleInvisibleAttributes(transformData(document), {
742
+ schema: fromRelationModal ? relationalModalSchema : schema,
743
+ initialValues,
744
+ components
745
+ });
759
746
  const res = await update({
760
747
  collectionType,
761
748
  model,
762
749
  documentId,
763
750
  params: currentDocumentMeta.params
764
- }, transformData(document));
751
+ }, data);
765
752
  if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
766
753
  setErrors(formatValidationErrors(res.error));
767
754
  } else {
768
755
  resetForm();
769
756
  }
770
757
  } else {
758
+ const { data } = handleInvisibleAttributes(transformData(document), {
759
+ schema: fromRelationModal ? relationalModalSchema : schema,
760
+ initialValues,
761
+ components
762
+ });
771
763
  const res = await create({
772
764
  model,
773
765
  params: currentDocumentMeta.params
774
- }, transformData(document));
766
+ }, data);
775
767
  if ('data' in res && collectionType !== SINGLE_TYPES) {
776
768
  if (fromRelationModal) {
777
769
  const createdRelation = {
@@ -872,7 +864,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
872
864
  fieldToConnectUID,
873
865
  updateDocumentMutation,
874
866
  formatAPIError,
875
- onPreview
867
+ onPreview,
868
+ initialValues,
869
+ schema,
870
+ components,
871
+ relationalModalSchema
876
872
  ]);
877
873
  // Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
878
874
  React.useEffect(()=>{