@strapi/content-manager 5.16.0 → 5.17.0-beta.0

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 (43) hide show
  1. package/dist/admin/history/components/VersionContent.js +24 -3
  2. package/dist/admin/history/components/VersionContent.js.map +1 -1
  3. package/dist/admin/history/components/VersionContent.mjs +25 -4
  4. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  5. package/dist/admin/pages/EditView/EditViewPage.js +11 -1
  6. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  7. package/dist/admin/pages/EditView/EditViewPage.mjs +11 -1
  8. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  9. package/dist/admin/pages/EditView/components/DocumentActions.js +33 -47
  10. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  11. package/dist/admin/pages/EditView/components/DocumentActions.mjs +34 -48
  12. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  13. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  14. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  15. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  16. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  17. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +13 -2
  18. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  19. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +14 -3
  20. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  21. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  22. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  23. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  24. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  25. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  26. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  27. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  28. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  29. package/dist/admin/pages/EditView/components/FormLayout.js +27 -3
  30. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormLayout.mjs +27 -3
  32. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/utils/data.js +103 -0
  34. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  35. package/dist/admin/pages/EditView/utils/data.mjs +103 -1
  36. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  37. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  38. package/dist/admin/src/utils/validation.d.ts +1 -0
  39. package/dist/admin/utils/validation.js +16 -5
  40. package/dist/admin/utils/validation.js.map +1 -1
  41. package/dist/admin/utils/validation.mjs +16 -5
  42. package/dist/admin/utils/validation.mjs.map +1 -1
  43. package/package.json +5 -5
@@ -11,7 +11,6 @@ var merge = require('lodash/merge');
11
11
  var set = require('lodash/set');
12
12
  var reactIntl = require('react-intl');
13
13
  var reactRouterDom = require('react-router-dom');
14
- var styledComponents = require('styled-components');
15
14
  var attributes = require('../../../constants/attributes.js');
16
15
  var collections = require('../../../constants/collections.js');
17
16
  var DocumentRBAC = require('../../../features/DocumentRBAC.js');
@@ -23,6 +22,7 @@ var router = require('../../../router.js');
23
22
  var documents = require('../../../services/documents.js');
24
23
  var api = require('../../../utils/api.js');
25
24
  var translations = require('../../../utils/translations.js');
25
+ var data = require('../utils/data.js');
26
26
  var RelationModal = require('./FormInputs/Relations/RelationModal.js');
27
27
 
28
28
  function _interopNamespaceDefault(e) {
@@ -174,11 +174,6 @@ const DocumentActionButton = (action)=>{
174
174
  ]
175
175
  });
176
176
  };
177
- const MenuItem = styledComponents.styled(designSystem.Menu.Item)`
178
- &:hover {
179
- background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
180
- }
181
- `;
182
177
  const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
183
178
  const [isOpen, setIsOpen] = React__namespace.useState(false);
184
179
  const [dialogId, setDialogId] = React__namespace.useState(null);
@@ -240,27 +235,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
240
235
  popoverPlacement: "bottom-end",
241
236
  children: [
242
237
  actions.map((action)=>{
243
- return /*#__PURE__*/ jsxRuntime.jsx(MenuItem, {
238
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
244
239
  disabled: action.disabled,
245
240
  /* @ts-expect-error – TODO: this is an error in the DS where it is most likely a synthetic event, not regular. */ onSelect: handleClick(action),
246
241
  display: "block",
247
- isVariantDanger: action.variant === 'danger',
248
- isDisabled: action.disabled,
242
+ variant: action.variant === 'danger' ? action.variant : 'default',
243
+ startIcon: action.icon,
249
244
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
250
245
  justifyContent: "space-between",
251
246
  gap: 4,
252
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
253
- color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
247
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
254
248
  gap: 2,
255
249
  tag: "span",
256
- children: [
257
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
258
- tag: "span",
259
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
260
- children: action.icon
261
- }),
262
- action.label
263
- ]
250
+ children: action.label
264
251
  })
265
252
  })
266
253
  }, action.id);
@@ -288,30 +275,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
288
275
  ]
289
276
  });
290
277
  };
291
- const convertActionVariantToColor = (variant = 'secondary')=>{
292
- switch(variant){
293
- case 'danger':
294
- return 'danger600';
295
- case 'secondary':
296
- return undefined;
297
- case 'success':
298
- return 'success600';
299
- default:
300
- return 'primary600';
301
- }
302
- };
303
- const convertActionVariantToIconColor = (variant = 'secondary')=>{
304
- switch(variant){
305
- case 'danger':
306
- return 'danger600';
307
- case 'secondary':
308
- return 'neutral500';
309
- case 'success':
310
- return 'success600';
311
- default:
312
- return 'primary600';
313
- }
314
- };
315
278
  const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
316
279
  const { formatMessage } = reactIntl.useIntl();
317
280
  const handleClose = async ()=>{
@@ -434,6 +397,7 @@ const transformData = (data)=>{
434
397
  const setErrors = strapiAdmin.useForm('PublishAction', (state)=>state.setErrors);
435
398
  const formValues = strapiAdmin.useForm('PublishAction', ({ values })=>values);
436
399
  const resetForm = strapiAdmin.useForm('PublishAction', ({ resetForm })=>resetForm);
400
+ const { currentDocument: { components } } = useDocumentContext.useDocumentContext('PublishAction');
437
401
  // need to discriminate if the publish is coming from a relation modal or in the edit view
438
402
  const relationContext = RelationModal.useRelationModal('PublishAction', ()=>true, false);
439
403
  const fromRelationModal = relationContext != undefined;
@@ -572,12 +536,16 @@ const transformData = (data)=>{
572
536
  }
573
537
  return;
574
538
  }
539
+ const { data: data$1 } = data.handleInvisibleAttributes(transformData(formValues), {
540
+ schema,
541
+ components
542
+ });
575
543
  const res = await publish({
576
544
  collectionType,
577
545
  model,
578
546
  documentId,
579
547
  params: currentDocumentMeta.params
580
- }, transformData(formValues));
548
+ }, data$1);
581
549
  // Reset form if successful
582
550
  if ('data' in res) {
583
551
  resetForm();
@@ -711,12 +679,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
711
679
  const isCloning = cloneMatch !== null;
712
680
  const { formatMessage } = reactIntl.useIntl();
713
681
  const { create, update, clone, isLoading } = useDocumentActions.useDocumentActions();
682
+ const { currentDocument: { components } } = useDocumentContext.useDocumentContext('UpdateAction');
714
683
  const [{ rawQuery }] = strapiAdmin.useQueryParams();
715
684
  const onPreview = Preview.usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
716
685
  const { getInitialFormValues } = useDocument.useDoc();
717
686
  const isSubmitting = strapiAdmin.useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
718
687
  const modified = strapiAdmin.useForm('UpdateAction', ({ modified })=>modified);
719
688
  const setSubmitting = strapiAdmin.useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
689
+ const initialValues = strapiAdmin.useForm('UpdateAction', ({ initialValues })=>initialValues);
720
690
  const document = strapiAdmin.useForm('UpdateAction', ({ values })=>values);
721
691
  const validate = strapiAdmin.useForm('UpdateAction', (state)=>state.validate);
722
692
  const setErrors = strapiAdmin.useForm('UpdateAction', (state)=>state.setErrors);
@@ -724,6 +694,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
724
694
  const dispatch = RelationModal.useRelationModal('UpdateAction', (state)=>state.dispatch);
725
695
  // need to discriminate if the update is coming from a relation modal or in the edit view
726
696
  const relationContext = RelationModal.useRelationModal('UpdateAction', ()=>true, false);
697
+ const relationalModalSchema = RelationModal.useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
727
698
  const fieldToConnect = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
728
699
  const fieldToConnectUID = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
729
700
  const documentHistory = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
@@ -741,6 +712,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
741
712
  }, {
742
713
  skip: !parentDocumentMetaToUpdate
743
714
  });
715
+ const { schema } = useDocument.useDoc();
744
716
  const handleUpdate = React__namespace.useCallback(async ()=>{
745
717
  setSubmitting(true);
746
718
  try {
@@ -777,22 +749,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
777
749
  setErrors(formatValidationErrors(res.error));
778
750
  }
779
751
  } else if (documentId || collectionType === collections.SINGLE_TYPES) {
752
+ const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
753
+ schema: fromRelationModal ? relationalModalSchema : schema,
754
+ initialValues,
755
+ components
756
+ });
780
757
  const res = await update({
781
758
  collectionType,
782
759
  model,
783
760
  documentId,
784
761
  params: currentDocumentMeta.params
785
- }, transformData(document));
762
+ }, data$1);
786
763
  if ('error' in res && api.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
787
764
  setErrors(formatValidationErrors(res.error));
788
765
  } else {
789
766
  resetForm();
790
767
  }
791
768
  } else {
769
+ const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
770
+ schema: fromRelationModal ? relationalModalSchema : schema,
771
+ initialValues,
772
+ components
773
+ });
792
774
  const res = await create({
793
775
  model,
794
776
  params: currentDocumentMeta.params
795
- }, transformData(document));
777
+ }, data$1);
796
778
  if ('data' in res && collectionType !== collections.SINGLE_TYPES) {
797
779
  if (fromRelationModal) {
798
780
  const createdRelation = {
@@ -893,7 +875,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
893
875
  fieldToConnectUID,
894
876
  updateDocumentMutation,
895
877
  formatAPIError,
896
- onPreview
878
+ onPreview,
879
+ initialValues,
880
+ schema,
881
+ components,
882
+ relationalModalSchema
897
883
  ]);
898
884
  // Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
899
885
  React__namespace.useEffect(()=>{