@strapi/review-workflows 0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78 → 0.0.0-next.ce84fada19d58a7dfbdd553035e6558f8befcba4

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 (57) hide show
  1. package/LICENSE +12 -17
  2. package/dist/_chunks/{Layout-lg3hbwGL.mjs → Layout-BJOxxAeM.mjs} +8 -9
  3. package/dist/_chunks/Layout-BJOxxAeM.mjs.map +1 -0
  4. package/dist/_chunks/{Layout-BMqtFafC.js → Layout-DnEAvmeU.js} +8 -9
  5. package/dist/_chunks/Layout-DnEAvmeU.js.map +1 -0
  6. package/dist/_chunks/{_id-B3jMqqMH.mjs → _id-6LK95-rZ.mjs} +131 -164
  7. package/dist/_chunks/_id-6LK95-rZ.mjs.map +1 -0
  8. package/dist/_chunks/{_id-B853wt9z.js → _id-DSDzUpwX.js} +130 -163
  9. package/dist/_chunks/_id-DSDzUpwX.js.map +1 -0
  10. package/dist/_chunks/{index-CdU1x9cZ.js → index-6FZL88pd.js} +14 -42
  11. package/dist/_chunks/index-6FZL88pd.js.map +1 -0
  12. package/dist/_chunks/{index-Ujtj1Rcp.js → index-DZSLya4b.js} +106 -90
  13. package/dist/_chunks/index-DZSLya4b.js.map +1 -0
  14. package/dist/_chunks/{index-BhJmjDbj.mjs → index-Df1alkCk.mjs} +16 -44
  15. package/dist/_chunks/index-Df1alkCk.mjs.map +1 -0
  16. package/dist/_chunks/{index-lebOqdrv.mjs → index-lJqpw8bs.mjs} +108 -92
  17. package/dist/_chunks/index-lJqpw8bs.mjs.map +1 -0
  18. package/dist/_chunks/{router-BboD243b.js → router-CZqe-02r.js} +3 -3
  19. package/dist/_chunks/{router-BboD243b.js.map → router-CZqe-02r.js.map} +1 -1
  20. package/dist/_chunks/{router-CvMnSjb9.mjs → router-DeSH-NeW.mjs} +3 -3
  21. package/dist/_chunks/{router-CvMnSjb9.mjs.map → router-DeSH-NeW.mjs.map} +1 -1
  22. package/dist/admin/index.js +1 -1
  23. package/dist/admin/index.mjs +1 -1
  24. package/dist/admin/src/components/LimitsModal.d.ts +2 -4
  25. package/dist/admin/src/services/admin.d.ts +1 -1
  26. package/dist/admin/src/services/api.d.ts +1 -1
  27. package/dist/admin/src/services/content-manager.d.ts +4 -4
  28. package/dist/admin/src/services/settings.d.ts +1733 -7
  29. package/dist/server/index.js +35 -61
  30. package/dist/server/index.js.map +1 -1
  31. package/dist/server/index.mjs +35 -61
  32. package/dist/server/index.mjs.map +1 -1
  33. package/dist/server/src/controllers/assignees.d.ts.map +1 -1
  34. package/dist/server/src/controllers/index.d.ts +0 -1
  35. package/dist/server/src/controllers/index.d.ts.map +1 -1
  36. package/dist/server/src/controllers/stages.d.ts.map +1 -1
  37. package/dist/server/src/controllers/workflows.d.ts +0 -7
  38. package/dist/server/src/controllers/workflows.d.ts.map +1 -1
  39. package/dist/server/src/index.d.ts +1 -2
  40. package/dist/server/src/index.d.ts.map +1 -1
  41. package/dist/server/src/routes/review-workflows.d.ts.map +1 -1
  42. package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
  43. package/dist/server/src/services/index.d.ts +1 -1
  44. package/dist/server/src/services/stages.d.ts +2 -7
  45. package/dist/server/src/services/stages.d.ts.map +1 -1
  46. package/dist/shared/contracts/review-workflows.d.ts +1 -14
  47. package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
  48. package/package.json +9 -9
  49. package/dist/_chunks/Layout-BMqtFafC.js.map +0 -1
  50. package/dist/_chunks/Layout-lg3hbwGL.mjs.map +0 -1
  51. package/dist/_chunks/_id-B3jMqqMH.mjs.map +0 -1
  52. package/dist/_chunks/_id-B853wt9z.js.map +0 -1
  53. package/dist/_chunks/index-BhJmjDbj.mjs.map +0 -1
  54. package/dist/_chunks/index-CdU1x9cZ.js.map +0 -1
  55. package/dist/_chunks/index-Ujtj1Rcp.js.map +0 -1
  56. package/dist/_chunks/index-lebOqdrv.mjs.map +0 -1
  57. package/strapi-server.js +0 -3
@@ -8,11 +8,10 @@ const designSystem = require("@strapi/design-system");
8
8
  const icons = require("@strapi/icons");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
10
  const reactIntl = require("react-intl");
11
- const reactRedux = require("react-redux");
12
11
  const reactRouterDom = require("react-router-dom");
13
12
  const yup = require("yup");
14
- const index = require("./index-Ujtj1Rcp.js");
15
- const Layout = require("./Layout-BMqtFafC.js");
13
+ const index = require("./index-DZSLya4b.js");
14
+ const Layout = require("./Layout-DnEAvmeU.js");
16
15
  const reactDndHtml5Backend = require("react-dnd-html5-backend");
17
16
  const styledComponents = require("styled-components");
18
17
  const reactDnd = require("react-dnd");
@@ -313,35 +312,23 @@ const Stages = ({ canDelete = true, canUpdate = true, isCreating }) => {
313
312
  left: "50%",
314
313
  position: "absolute",
315
314
  top: "0",
316
- width: 2,
317
- zIndex: 1
315
+ width: 2
318
316
  }
319
317
  ),
320
- /* @__PURE__ */ jsxRuntime.jsx(
321
- designSystem.Flex,
322
- {
323
- direction: "column",
324
- alignItems: "stretch",
325
- gap: 6,
326
- zIndex: 2,
327
- position: "relative",
328
- tag: "ol",
329
- children: stages.map((stage, index2) => {
330
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { tag: "li", children: /* @__PURE__ */ jsxRuntime.jsx(
331
- Stage,
332
- {
333
- index: index2,
334
- canDelete: stages.length > 1 && canDelete,
335
- canReorder: stages.length > 1,
336
- canUpdate,
337
- stagesCount: stages.length,
338
- defaultOpen: isCreating,
339
- ...stage
340
- }
341
- ) }, stage.__temp_key__);
342
- })
343
- }
344
- )
318
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, position: "relative", tag: "ol", children: stages.map((stage, index2) => {
319
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { tag: "li", children: /* @__PURE__ */ jsxRuntime.jsx(
320
+ Stage,
321
+ {
322
+ index: index2,
323
+ canDelete: stages.length > 1 && canDelete,
324
+ canReorder: stages.length > 1,
325
+ canUpdate,
326
+ stagesCount: stages.length,
327
+ defaultOpen: isCreating,
328
+ ...stage
329
+ }
330
+ ) }, stage.__temp_key__);
331
+ }) })
345
332
  ] }),
346
333
  canUpdate && /* @__PURE__ */ jsxRuntime.jsx(
347
334
  AddStage,
@@ -458,7 +445,7 @@ const Stage = ({
458
445
  addFieldRow("stages", { name, color, permissions });
459
446
  };
460
447
  const id = React__namespace.useId();
461
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { ref: composedRef, children: [
448
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { ref: composedRef, shadow: "tableShadow", children: [
462
449
  liveText && /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { "aria-live": "assertive", children: liveText }),
463
450
  isDragging ? /* @__PURE__ */ jsxRuntime.jsx(
464
451
  designSystem.Box,
@@ -509,7 +496,7 @@ const Stage = ({
509
496
  {
510
497
  background: "transparent",
511
498
  hasRadius: true,
512
- borderWidth: 0,
499
+ variant: "ghost",
513
500
  "data-handler-id": handlerId,
514
501
  ref: dragRef,
515
502
  label: formatMessage({
@@ -523,7 +510,7 @@ const Stage = ({
523
510
  )
524
511
  ] }) : null })
525
512
  ] }),
526
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, padding: 6, children: [
513
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, padding: 6, children: [
527
514
  {
528
515
  disabled: !canUpdate,
529
516
  label: formatMessage({
@@ -561,7 +548,7 @@ const Stage = ({
561
548
  size: 6,
562
549
  type: "permissions"
563
550
  }
564
- ].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, children: /* @__PURE__ */ jsxRuntime.jsx(InputRenderer, { ...field }) }, field.name)) }) })
551
+ ].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(InputRenderer, { ...field }) }, field.name)) }) })
565
552
  ] })
566
553
  }
567
554
  )
@@ -666,20 +653,22 @@ const PermissionsField = ({ disabled, name, placeholder, required }) => {
666
653
  const { value = [], error, onChange } = strapiAdmin.useField(name);
667
654
  const allStages = strapiAdmin.useForm("PermissionsField", (state) => state.values.stages);
668
655
  const onFormValueChange = strapiAdmin.useForm("PermissionsField", (state) => state.onChange);
669
- const { data: roles = [], isLoading } = useGetAdminRolesQuery();
656
+ const rolesErrorCount = React__namespace.useRef(0);
657
+ const { data: roles = [], isLoading, error: getRolesError } = useGetAdminRolesQuery();
670
658
  const filteredRoles = roles?.filter((role) => role.code !== "strapi-super-admin") ?? [];
671
659
  React__namespace.useEffect(() => {
672
- if (!isLoading && roles.length === 0) {
660
+ if (!isLoading && getRolesError && "status" in getRolesError && getRolesError.status == 403 && rolesErrorCount.current === 0) {
661
+ rolesErrorCount.current = 1;
673
662
  toggleNotification({
674
663
  blockTransition: true,
675
664
  type: "danger",
676
665
  message: formatMessage({
677
666
  id: "review-workflows.stage.permissions.noPermissions.description",
678
- defaultMessage: "You don’t have the permission to see roles"
667
+ defaultMessage: "You don’t have the permission to see roles. Contact your administrator."
679
668
  })
680
669
  });
681
670
  }
682
- }, [formatMessage, isLoading, roles, toggleNotification]);
671
+ }, [formatMessage, isLoading, roles, toggleNotification, getRolesError]);
683
672
  if (!isLoading && filteredRoles.length === 0) {
684
673
  return /* @__PURE__ */ jsxRuntime.jsxs(
685
674
  designSystem.Field.Root,
@@ -713,45 +702,45 @@ const PermissionsField = ({ disabled, name, placeholder, required }) => {
713
702
  }
714
703
  );
715
704
  }
716
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
717
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "flex-end", gap: 3, children: [
718
- /* @__PURE__ */ jsxRuntime.jsx(PermissionWrapper, { grow: 1, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { error, name, required: true, children: [
719
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
720
- id: "Settings.review-workflows.stage.permissions.label",
721
- defaultMessage: "Roles that can change this stage"
722
- }) }),
723
- /* @__PURE__ */ jsxRuntime.jsx(
724
- designSystem.MultiSelect,
725
- {
726
- disabled,
727
- onChange: (values) => {
728
- const permissions = values.map((value2) => ({
729
- role: parseInt(value2, 10),
730
- action: "admin::review-workflows.stage.transition"
731
- }));
732
- onChange(name, permissions);
733
- },
734
- placeholder,
735
- value: value.map((permission) => `${permission.role}`),
736
- withTags: true,
737
- children: /* @__PURE__ */ jsxRuntime.jsx(
738
- designSystem.MultiSelectGroup,
739
- {
740
- label: formatMessage({
741
- id: "Settings.review-workflows.stage.permissions.allRoles.label",
742
- defaultMessage: "All roles"
743
- }),
744
- values: filteredRoles.map((r) => `${r.id}`),
745
- children: filteredRoles.map((role) => {
746
- return /* @__PURE__ */ jsxRuntime.jsx(NestedOption$1, { value: `${role.id}`, children: role.name }, role.id);
747
- })
748
- }
749
- )
750
- }
751
- ),
752
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
753
- ] }) }),
705
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "flex-end", gap: 3, children: [
706
+ /* @__PURE__ */ jsxRuntime.jsx(PermissionWrapper, { grow: 1, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { error, name, required: true, children: [
707
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
708
+ id: "Settings.review-workflows.stage.permissions.label",
709
+ defaultMessage: "Roles that can change this stage"
710
+ }) }),
754
711
  /* @__PURE__ */ jsxRuntime.jsx(
712
+ designSystem.MultiSelect,
713
+ {
714
+ disabled,
715
+ onChange: (values) => {
716
+ const permissions = values.map((value2) => ({
717
+ role: parseInt(value2, 10),
718
+ action: "admin::review-workflows.stage.transition"
719
+ }));
720
+ onChange(name, permissions);
721
+ },
722
+ placeholder,
723
+ value: value.map((permission) => `${permission.role}`),
724
+ withTags: true,
725
+ children: /* @__PURE__ */ jsxRuntime.jsx(
726
+ designSystem.MultiSelectGroup,
727
+ {
728
+ label: formatMessage({
729
+ id: "Settings.review-workflows.stage.permissions.allRoles.label",
730
+ defaultMessage: "All roles"
731
+ }),
732
+ values: filteredRoles.map((r) => `${r.id}`),
733
+ children: filteredRoles.map((role) => {
734
+ return /* @__PURE__ */ jsxRuntime.jsx(NestedOption$1, { value: `${role.id}`, children: role.name }, role.id);
735
+ })
736
+ }
737
+ )
738
+ }
739
+ ),
740
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
741
+ ] }) }),
742
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Root, { open: isApplyAllConfirmationOpen, onOpenChange: setIsApplyAllConfirmationOpen, children: [
743
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
755
744
  designSystem.IconButton,
756
745
  {
757
746
  disabled,
@@ -760,42 +749,38 @@ const PermissionsField = ({ disabled, name, placeholder, required }) => {
760
749
  defaultMessage: "Apply to all stages"
761
750
  }),
762
751
  size: "L",
763
- variant: "secondary",
764
- onClick: () => setIsApplyAllConfirmationOpen(true),
765
752
  children: /* @__PURE__ */ jsxRuntime.jsx(icons.Duplicate, {})
766
753
  }
754
+ ) }),
755
+ /* @__PURE__ */ jsxRuntime.jsx(
756
+ strapiAdmin.ConfirmDialog,
757
+ {
758
+ onConfirm: () => {
759
+ onFormValueChange(
760
+ "stages",
761
+ allStages.map((stage) => ({
762
+ ...stage,
763
+ permissions: value
764
+ }))
765
+ );
766
+ setIsApplyAllConfirmationOpen(false);
767
+ toggleNotification({
768
+ type: "success",
769
+ message: formatMessage({
770
+ id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy.success",
771
+ defaultMessage: "Applied roles to all other stages of the workflow"
772
+ })
773
+ });
774
+ },
775
+ variant: "default",
776
+ children: formatMessage({
777
+ id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy",
778
+ defaultMessage: "Roles that can change that stage will be applied to all the other stages."
779
+ })
780
+ }
767
781
  )
768
- ] }),
769
- /* @__PURE__ */ jsxRuntime.jsx(
770
- strapiAdmin.ConfirmDialog,
771
- {
772
- isOpen: isApplyAllConfirmationOpen,
773
- onClose: () => setIsApplyAllConfirmationOpen(false),
774
- onConfirm: () => {
775
- onFormValueChange(
776
- "stages",
777
- allStages.map((stage) => ({
778
- ...stage,
779
- permissions: value
780
- }))
781
- );
782
- setIsApplyAllConfirmationOpen(false);
783
- toggleNotification({
784
- type: "success",
785
- message: formatMessage({
786
- id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy.success",
787
- defaultMessage: "Applied roles to all other stages of the workflow"
788
- })
789
- });
790
- },
791
- variant: "default",
792
- children: formatMessage({
793
- id: "Settings.review-workflows.page.edit.confirm.stages.permissions.copy",
794
- defaultMessage: "Roles that can change that stage will be applied to all the other stages."
795
- })
796
- }
797
- )
798
- ] });
782
+ ] })
783
+ ] }) });
799
784
  };
800
785
  const NestedOption$1 = styledComponents.styled(designSystem.MultiSelectOption)`
801
786
  padding-left: ${({ theme }) => theme.spaces[7]};
@@ -807,8 +792,8 @@ const PermissionWrapper = styledComponents.styled(designSystem.Flex)`
807
792
  `;
808
793
  const WorkflowAttributes = ({ canUpdate = true }) => {
809
794
  const { formatMessage } = reactIntl.useIntl();
810
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid, { background: "neutral0", hasRadius: true, gap: 4, padding: 6, shadow: "tableShadow", children: [
811
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(
795
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Grid.Root, { background: "neutral0", hasRadius: true, gap: 4, padding: 6, shadow: "tableShadow", children: [
796
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(
812
797
  strapiAdmin.InputRenderer,
813
798
  {
814
799
  disabled: !canUpdate,
@@ -821,7 +806,7 @@ const WorkflowAttributes = ({ canUpdate = true }) => {
821
806
  type: "string"
822
807
  }
823
808
  ) }),
824
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 6, children: /* @__PURE__ */ jsxRuntime.jsx(ContentTypesSelector, { disabled: !canUpdate }) })
809
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: 6, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsxRuntime.jsx(ContentTypesSelector, { disabled: !canUpdate }) })
825
810
  ] });
826
811
  };
827
812
  const ContentTypesSelector = ({ disabled }) => {
@@ -930,10 +915,10 @@ const WORKFLOW_SCHEMA = yup__namespace.object({
930
915
  name: yup__namespace.string().max(255, {
931
916
  id: "review-workflows.validation.name.max-length",
932
917
  defaultMessage: "Name can not be longer than 255 characters"
933
- }).required(),
918
+ }).required().nullable(),
934
919
  stages: yup__namespace.array().of(
935
920
  yup__namespace.object().shape({
936
- name: yup__namespace.string().required({
921
+ name: yup__namespace.string().nullable().required({
937
922
  id: "review-workflows.validation.stage.name",
938
923
  defaultMessage: "Name is required"
939
924
  }).max(255, {
@@ -950,7 +935,7 @@ const WORKFLOW_SCHEMA = yup__namespace.object({
950
935
  return stages.filter((stage) => stage.name === stageName).length === 1;
951
936
  }
952
937
  ),
953
- color: yup__namespace.string().required({
938
+ color: yup__namespace.string().nullable().required({
954
939
  id: "review-workflows.validation.stage.color",
955
940
  defaultMessage: "Color is required"
956
941
  }).matches(/^#(?:[0-9a-fA-F]{3}){1,2}$/i),
@@ -976,7 +961,6 @@ const EditPage = () => {
976
961
  const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
977
962
  const navigate = reactRouterDom.useNavigate();
978
963
  const { toggleNotification } = strapiAdmin.useNotification();
979
- const dispatch = reactRedux.useDispatch();
980
964
  const {
981
965
  isLoading: isLoadingWorkflow,
982
966
  meta,
@@ -984,7 +968,7 @@ const EditPage = () => {
984
968
  error,
985
969
  update,
986
970
  create
987
- } = Layout.useReviewWorkflows({ id: isCreatingWorkflow ? void 0 : id });
971
+ } = Layout.useReviewWorkflows();
988
972
  const permissions = index.useTypedSelector(
989
973
  (state) => state.admin_app.permissions["settings"]?.["review-workflows"]
990
974
  );
@@ -1027,36 +1011,13 @@ const EditPage = () => {
1027
1011
  });
1028
1012
  if ("error" in res && index.isBaseQueryError(res.error) && res.error.name === "ValidationError") {
1029
1013
  helpers.setErrors(formatValidationErrors(res.error));
1030
- } else if ("data" in res) {
1031
- for (const uid of res.data.contentTypes) {
1032
- dispatch({
1033
- type: "contentManagerApi/invalidateTags",
1034
- payload: [
1035
- {
1036
- type: "ContentTypesConfiguration",
1037
- id: uid
1038
- }
1039
- ]
1040
- });
1041
- }
1042
1014
  }
1043
1015
  } else {
1044
1016
  const res = await create(data);
1045
1017
  if ("error" in res && index.isBaseQueryError(res.error) && res.error.name === "ValidationError") {
1046
1018
  helpers.setErrors(formatValidationErrors(res.error));
1047
1019
  } else if ("data" in res) {
1048
- for (const uid of res.data.contentTypes) {
1049
- dispatch({
1050
- type: "contentManagerApi/invalidateTags",
1051
- payload: [
1052
- {
1053
- type: "ContentTypesConfiguration",
1054
- id: uid
1055
- }
1056
- ]
1057
- });
1058
- }
1059
- navigate(`../${res.data.id}`);
1020
+ navigate(`../${res.data.id}`, { replace: true });
1060
1021
  }
1061
1022
  }
1062
1023
  } catch (error2) {
@@ -1178,23 +1139,22 @@ const EditPage = () => {
1178
1139
  }
1179
1140
  ),
1180
1141
  /* @__PURE__ */ jsxRuntime.jsx(Layout.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "stretch", direction: "column", gap: 7, children: [
1181
- /* @__PURE__ */ jsxRuntime.jsx(WorkflowAttributes, { canUpdate }),
1142
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowAttributes, { canUpdate: canUpdate || canCreate }),
1182
1143
  /* @__PURE__ */ jsxRuntime.jsx(
1183
1144
  Stages,
1184
1145
  {
1185
1146
  canDelete,
1186
- canUpdate,
1147
+ canUpdate: canUpdate || canCreate,
1187
1148
  isCreating: isCreatingWorkflow
1188
1149
  }
1189
1150
  )
1190
1151
  ] }) }),
1191
1152
  /* @__PURE__ */ jsxRuntime.jsx(
1192
- strapiAdmin.ConfirmDialog,
1153
+ designSystem.Dialog.Root,
1193
1154
  {
1194
- isOpen: Object.keys(savePrompts).length > 0,
1195
- onClose: handleConfirmClose,
1196
- onConfirm: handleConfirmDeleteDialog(values, { setErrors }),
1197
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 5, children: [
1155
+ open: Object.keys(savePrompts).length > 0,
1156
+ onOpenChange: handleConfirmClose,
1157
+ children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleConfirmDeleteDialog(values, { setErrors }), children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 5, children: [
1198
1158
  savePrompts.hasDeletedServerStages && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textAlign: "center", variant: "omega", children: formatMessage({
1199
1159
  id: "review-workflows.page.delete.confirm.stages.body",
1200
1160
  defaultMessage: "All entries assigned to deleted stages will be moved to the previous stage."
@@ -1206,7 +1166,7 @@ const EditPage = () => {
1206
1166
  },
1207
1167
  {
1208
1168
  count: contentTypesFromOtherWorkflows?.filter(
1209
- (contentType) => currentWorkflow?.contentTypes?.includes(contentType)
1169
+ (contentType) => values.contentTypes.includes(contentType)
1210
1170
  ).length ?? 0
1211
1171
  }
1212
1172
  ) }),
@@ -1214,7 +1174,7 @@ const EditPage = () => {
1214
1174
  id: "review-workflows.page.delete.confirm.confirm",
1215
1175
  defaultMessage: "Are you sure you want to save?"
1216
1176
  }) })
1217
- ] })
1177
+ ] }) })
1218
1178
  }
1219
1179
  )
1220
1180
  ] })
@@ -1223,8 +1183,8 @@ const EditPage = () => {
1223
1183
  /* @__PURE__ */ jsxRuntime.jsxs(
1224
1184
  index.LimitsModal.Root,
1225
1185
  {
1226
- isOpen: showLimitModal === "workflow",
1227
- onClose: () => setShowLimitModal(null),
1186
+ open: showLimitModal === "workflow",
1187
+ onOpenChange: () => setShowLimitModal(null),
1228
1188
  children: [
1229
1189
  /* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Title, { children: formatMessage({
1230
1190
  id: "review-workflows.edit.page.workflows.limit.title",
@@ -1237,16 +1197,23 @@ const EditPage = () => {
1237
1197
  ]
1238
1198
  }
1239
1199
  ),
1240
- /* @__PURE__ */ jsxRuntime.jsxs(index.LimitsModal.Root, { isOpen: showLimitModal === "stage", onClose: () => setShowLimitModal(null), children: [
1241
- /* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Title, { children: formatMessage({
1242
- id: "review-workflows.edit.page.stages.limit.title",
1243
- defaultMessage: "You have reached the limit of stages for this workflow in your plan"
1244
- }) }),
1245
- /* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Body, { children: formatMessage({
1246
- id: "review-workflows.edit.page.stages.limit.body",
1247
- defaultMessage: "Try deleting some stages or contact Sales to enable more stages."
1248
- }) })
1249
- ] })
1200
+ /* @__PURE__ */ jsxRuntime.jsxs(
1201
+ index.LimitsModal.Root,
1202
+ {
1203
+ open: showLimitModal === "stage",
1204
+ onOpenChange: () => setShowLimitModal(null),
1205
+ children: [
1206
+ /* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Title, { children: formatMessage({
1207
+ id: "review-workflows.edit.page.stages.limit.title",
1208
+ defaultMessage: "You have reached the limit of stages for this workflow in your plan"
1209
+ }) }),
1210
+ /* @__PURE__ */ jsxRuntime.jsx(index.LimitsModal.Body, { children: formatMessage({
1211
+ id: "review-workflows.edit.page.stages.limit.body",
1212
+ defaultMessage: "Try deleting some stages or contact Sales to enable more stages."
1213
+ }) })
1214
+ ]
1215
+ }
1216
+ )
1250
1217
  ] });
1251
1218
  };
1252
1219
  const addTmpKeysToStages = (data) => {
@@ -1268,4 +1235,4 @@ const ProtectedEditPage = () => {
1268
1235
  return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Protect, { permissions, children: /* @__PURE__ */ jsxRuntime.jsx(EditPage, {}) });
1269
1236
  };
1270
1237
  exports.ProtectedEditPage = ProtectedEditPage;
1271
- //# sourceMappingURL=_id-B853wt9z.js.map
1238
+ //# sourceMappingURL=_id-DSDzUpwX.js.map