@strapi/content-releases 5.0.0-rc.3 → 5.0.0-rc.30

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 (58) hide show
  1. package/dist/_chunks/{App-UQxgTJY5.mjs → App-BA2xDdy0.mjs} +43 -20
  2. package/dist/_chunks/App-BA2xDdy0.mjs.map +1 -0
  3. package/dist/_chunks/{App-D-lWdVb2.js → App-D4Wira1X.js} +42 -19
  4. package/dist/_chunks/App-D4Wira1X.js.map +1 -0
  5. package/dist/_chunks/{ReleasesSettingsPage-CuUXvABk.mjs → ReleasesSettingsPage-BAlbMWpw.mjs} +4 -4
  6. package/dist/_chunks/ReleasesSettingsPage-BAlbMWpw.mjs.map +1 -0
  7. package/dist/_chunks/{ReleasesSettingsPage-xfAoY8N3.js → ReleasesSettingsPage-xhFyRXCM.js} +4 -4
  8. package/dist/_chunks/ReleasesSettingsPage-xhFyRXCM.js.map +1 -0
  9. package/dist/_chunks/{en-BCDLTJn3.js → en-CmYoEnA7.js} +2 -1
  10. package/dist/_chunks/en-CmYoEnA7.js.map +1 -0
  11. package/dist/_chunks/{en-CGXIF4vQ.mjs → en-D0yVZFqf.mjs} +2 -1
  12. package/dist/_chunks/en-D0yVZFqf.mjs.map +1 -0
  13. package/dist/_chunks/{index-b3Ej95H7.mjs → index-CCFFG3Zs.mjs} +289 -23
  14. package/dist/_chunks/index-CCFFG3Zs.mjs.map +1 -0
  15. package/dist/_chunks/{index-jnv9zdcE.js → index-DxkQGp4N.js} +286 -20
  16. package/dist/_chunks/index-DxkQGp4N.js.map +1 -0
  17. package/dist/_chunks/{schemas-z5zp-_Gd.js → schemas-BE1LxE9J.js} +2 -2
  18. package/dist/_chunks/schemas-BE1LxE9J.js.map +1 -0
  19. package/dist/_chunks/{schemas-63pFihNF.mjs → schemas-DdA2ic2U.mjs} +2 -2
  20. package/dist/_chunks/schemas-DdA2ic2U.mjs.map +1 -0
  21. package/dist/admin/index.js +1 -1
  22. package/dist/admin/index.mjs +1 -1
  23. package/dist/admin/src/components/ReleaseListCell.d.ts +28 -0
  24. package/dist/admin/src/services/release.d.ts +34 -32
  25. package/dist/server/index.js +108 -79
  26. package/dist/server/index.js.map +1 -1
  27. package/dist/server/index.mjs +108 -79
  28. package/dist/server/index.mjs.map +1 -1
  29. package/dist/server/src/controllers/index.d.ts +2 -0
  30. package/dist/server/src/controllers/index.d.ts.map +1 -1
  31. package/dist/server/src/controllers/release-action.d.ts +1 -0
  32. package/dist/server/src/controllers/release-action.d.ts.map +1 -1
  33. package/dist/server/src/controllers/release.d.ts +1 -0
  34. package/dist/server/src/controllers/release.d.ts.map +1 -1
  35. package/dist/server/src/index.d.ts +4 -0
  36. package/dist/server/src/index.d.ts.map +1 -1
  37. package/dist/server/src/routes/release-action.d.ts.map +1 -1
  38. package/dist/server/src/routes/release.d.ts.map +1 -1
  39. package/dist/server/src/services/index.d.ts +2 -0
  40. package/dist/server/src/services/index.d.ts.map +1 -1
  41. package/dist/server/src/services/release-action.d.ts +3 -1
  42. package/dist/server/src/services/release-action.d.ts.map +1 -1
  43. package/dist/shared/contracts/release-actions.d.ts +3 -5
  44. package/dist/shared/contracts/release-actions.d.ts.map +1 -1
  45. package/dist/shared/contracts/releases.d.ts +3 -2
  46. package/dist/shared/contracts/releases.d.ts.map +1 -1
  47. package/package.json +12 -11
  48. package/dist/_chunks/App-D-lWdVb2.js.map +0 -1
  49. package/dist/_chunks/App-UQxgTJY5.mjs.map +0 -1
  50. package/dist/_chunks/ReleasesSettingsPage-CuUXvABk.mjs.map +0 -1
  51. package/dist/_chunks/ReleasesSettingsPage-xfAoY8N3.js.map +0 -1
  52. package/dist/_chunks/en-BCDLTJn3.js.map +0 -1
  53. package/dist/_chunks/en-CGXIF4vQ.mjs.map +0 -1
  54. package/dist/_chunks/index-b3Ej95H7.mjs.map +0 -1
  55. package/dist/_chunks/index-jnv9zdcE.js.map +0 -1
  56. package/dist/_chunks/schemas-63pFihNF.mjs.map +0 -1
  57. package/dist/_chunks/schemas-z5zp-_Gd.js.map +0 -1
  58. package/strapi-server.js +0 -3
@@ -1,11 +1,11 @@
1
- import { PaperPlane, Cross, Pencil, More } from "@strapi/icons";
1
+ import { PaperPlane, CaretDown, Cross, Pencil, More } from "@strapi/icons";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
- import { adminApi, useRBAC, useNotification, useAPIErrorHandler, useQueryParams, isFetchError, useAuth } from "@strapi/admin/strapi-admin";
3
+ import { adminApi, useRBAC, useNotification, useAPIErrorHandler, useQueryParams, isFetchError, useTable, useAuth } from "@strapi/admin/strapi-admin";
4
+ import { Field, Flex, VisuallyHidden, Modal, Button, EmptyStateLayout, LinkButton, Box, SingleSelect, SingleSelectOption, Popover, Typography, Link as Link$1, Menu, AccessibleIcon } from "@strapi/design-system";
5
+ import { useFormik, Formik, Form } from "formik";
6
+ import { useIntl } from "react-intl";
4
7
  import { unstable_useDocumentLayout } from "@strapi/content-manager/strapi-admin";
5
- import { Field, Flex, VisuallyHidden, Modal, Button, Box, SingleSelect, SingleSelectOption, EmptyStateLayout, LinkButton, Menu, Typography, AccessibleIcon } from "@strapi/design-system";
6
8
  import { EmptyDocuments } from "@strapi/icons/symbols";
7
- import { useFormik } from "formik";
8
- import { useIntl } from "react-intl";
9
9
  import { Link, NavLink } from "react-router-dom";
10
10
  import * as yup from "yup";
11
11
  import { styled } from "styled-components";
@@ -103,7 +103,7 @@ const extendInvalidatesTags = (endpoint, extraTags) => {
103
103
  Object.assign(endpoint, { invalidatesTags: newInvalidatesTags });
104
104
  };
105
105
  const releaseApi = adminApi.enhanceEndpoints({
106
- addTagTypes: ["Release", "ReleaseAction", "EntriesInRelease", "ReleaseSettings"],
106
+ addTagTypes: ["Release", "ReleaseAction", "EntriesInRelease", "ReleaseSettings", "Document"],
107
107
  endpoints: {
108
108
  updateDocument(endpoint) {
109
109
  extendInvalidatesTags(endpoint, [
@@ -198,7 +198,10 @@ const releaseApi = adminApi.enhanceEndpoints({
198
198
  method: "GET"
199
199
  };
200
200
  },
201
- providesTags: (result, error, arg) => [{ type: "Release", id: arg.id }]
201
+ providesTags: (result, error, arg) => [
202
+ { type: "Release", id: "LIST" },
203
+ { type: "Release", id: arg.id }
204
+ ]
202
205
  }),
203
206
  getReleaseActions: build.query({
204
207
  query({ releaseId, ...params }) {
@@ -267,7 +270,11 @@ const releaseApi = adminApi.enhanceEndpoints({
267
270
  data: body
268
271
  };
269
272
  },
270
- invalidatesTags: () => [{ type: "ReleaseAction", id: "LIST" }],
273
+ invalidatesTags: (res, error, arg) => [
274
+ { type: "ReleaseAction", id: "LIST" },
275
+ { type: "Release", id: "LIST" },
276
+ { type: "Release", id: arg.params.releaseId }
277
+ ],
271
278
  async onQueryStarted({ body, params, query, actionPath }, { dispatch, queryFulfilled }) {
272
279
  const paramsWithoutActionId = {
273
280
  releaseId: params.releaseId,
@@ -314,7 +321,10 @@ const releaseApi = adminApi.enhanceEndpoints({
314
321
  method: "POST"
315
322
  };
316
323
  },
317
- invalidatesTags: (result, error, arg) => [{ type: "Release", id: arg.id }]
324
+ invalidatesTags: (result, error, arg) => [
325
+ { type: "Release", id: arg.id },
326
+ { type: "Document", id: `ALL_LIST` }
327
+ ]
318
328
  }),
319
329
  deleteRelease: build.mutation({
320
330
  query({ id }) {
@@ -352,7 +362,7 @@ const releaseApi = adminApi.enhanceEndpoints({
352
362
  data
353
363
  };
354
364
  },
355
- invalidatesTags: (result, error, arg) => [{ type: "ReleaseSettings" }]
365
+ invalidatesTags: [{ type: "ReleaseSettings" }]
356
366
  })
357
367
  };
358
368
  }
@@ -577,6 +587,7 @@ const AddActionToReleaseModal = ({
577
587
  };
578
588
  const ReleaseActionModalForm = ({
579
589
  documentId,
590
+ document,
580
591
  model,
581
592
  collectionType
582
593
  }) => {
@@ -655,6 +666,8 @@ const ReleaseActionModalForm = ({
655
666
  defaultMessage: "Add to release"
656
667
  }),
657
668
  icon: /* @__PURE__ */ jsx(PaperPlane, {}),
669
+ // Entry is creating so we don't want to allow adding it to a release
670
+ disabled: !document,
658
671
  position: ["panel", "table-row"],
659
672
  dialog: {
660
673
  type: "modal",
@@ -693,6 +706,236 @@ const ReleaseActionModalForm = ({
693
706
  }
694
707
  };
695
708
  };
709
+ const getContentPermissions = (subject) => {
710
+ const permissions = {
711
+ publish: [
712
+ {
713
+ action: "plugin::content-manager.explorer.publish",
714
+ subject,
715
+ id: "",
716
+ actionParameters: {},
717
+ properties: {},
718
+ conditions: []
719
+ }
720
+ ]
721
+ };
722
+ return permissions;
723
+ };
724
+ const ReleaseAction = ({ documents, model }) => {
725
+ const { formatMessage } = useIntl();
726
+ const { toggleNotification } = useNotification();
727
+ const { formatAPIError } = useAPIErrorHandler();
728
+ const [{ query }] = useQueryParams();
729
+ const contentPermissions = getContentPermissions(model);
730
+ const {
731
+ allowedActions: { canPublish }
732
+ } = useRBAC(contentPermissions);
733
+ const {
734
+ allowedActions: { canCreate }
735
+ } = useRBAC(PERMISSIONS);
736
+ const response = useGetReleasesQuery();
737
+ const releases = response.data?.data;
738
+ const [createManyReleaseActions, { isLoading }] = useCreateManyReleaseActionsMutation();
739
+ const documentIds = documents.map((doc) => doc.documentId);
740
+ const handleSubmit = async (values) => {
741
+ const locale = query.plugins?.i18n?.locale;
742
+ const releaseActionEntries = documentIds.map(
743
+ (entryDocumentId) => ({
744
+ type: values.type,
745
+ contentType: model,
746
+ entryDocumentId,
747
+ locale
748
+ })
749
+ );
750
+ const response2 = await createManyReleaseActions({
751
+ body: releaseActionEntries,
752
+ params: { releaseId: values.releaseId }
753
+ });
754
+ if ("data" in response2) {
755
+ const notificationMessage = formatMessage(
756
+ {
757
+ id: "content-releases.content-manager-list-view.add-to-release.notification.success.message",
758
+ defaultMessage: "{entriesAlreadyInRelease} out of {totalEntries} entries were already in the release."
759
+ },
760
+ {
761
+ entriesAlreadyInRelease: response2.data.meta.entriesAlreadyInRelease,
762
+ totalEntries: response2.data.meta.totalEntries
763
+ }
764
+ );
765
+ const notification = {
766
+ type: "success",
767
+ title: formatMessage(
768
+ {
769
+ id: "content-releases.content-manager-list-view.add-to-release.notification.success.title",
770
+ defaultMessage: "Successfully added to release."
771
+ },
772
+ {
773
+ entriesAlreadyInRelease: response2.data.meta.entriesAlreadyInRelease,
774
+ totalEntries: response2.data.meta.totalEntries
775
+ }
776
+ ),
777
+ message: response2.data.meta.entriesAlreadyInRelease ? notificationMessage : ""
778
+ };
779
+ toggleNotification(notification);
780
+ return true;
781
+ }
782
+ if ("error" in response2) {
783
+ if (isFetchError(response2.error)) {
784
+ toggleNotification({
785
+ type: "warning",
786
+ message: formatAPIError(response2.error)
787
+ });
788
+ } else {
789
+ toggleNotification({
790
+ type: "warning",
791
+ message: formatMessage({ id: "notification.error", defaultMessage: "An error occurred" })
792
+ });
793
+ }
794
+ }
795
+ };
796
+ if (!canCreate || !canPublish)
797
+ return null;
798
+ return {
799
+ actionType: "release",
800
+ variant: "tertiary",
801
+ label: formatMessage({
802
+ id: "content-manager-list-view.add-to-release",
803
+ defaultMessage: "Add to Release"
804
+ }),
805
+ dialog: {
806
+ type: "modal",
807
+ title: formatMessage({
808
+ id: "content-manager-list-view.add-to-release",
809
+ defaultMessage: "Add to Release"
810
+ }),
811
+ content: ({ onClose }) => {
812
+ return /* @__PURE__ */ jsx(
813
+ Formik,
814
+ {
815
+ onSubmit: async (values) => {
816
+ const data = await handleSubmit(values);
817
+ if (data) {
818
+ return onClose();
819
+ }
820
+ },
821
+ validationSchema: RELEASE_ACTION_FORM_SCHEMA,
822
+ initialValues: INITIAL_VALUES,
823
+ children: ({ values, setFieldValue }) => /* @__PURE__ */ jsxs(Form, { children: [
824
+ releases?.length === 0 ? /* @__PURE__ */ jsx(NoReleases, {}) : /* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
825
+ /* @__PURE__ */ jsx(Box, { paddingBottom: 6, children: /* @__PURE__ */ jsxs(Field.Root, { required: true, children: [
826
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
827
+ id: "content-releases.content-manager-list-view.add-to-release.select-label",
828
+ defaultMessage: "Select a release"
829
+ }) }),
830
+ /* @__PURE__ */ jsx(
831
+ SingleSelect,
832
+ {
833
+ placeholder: formatMessage({
834
+ id: "content-releases.content-manager-list-view.add-to-release.select-placeholder",
835
+ defaultMessage: "Select"
836
+ }),
837
+ onChange: (value) => setFieldValue("releaseId", value),
838
+ value: values.releaseId,
839
+ children: releases?.map((release) => /* @__PURE__ */ jsx(SingleSelectOption, { value: release.id, children: release.name }, release.id))
840
+ }
841
+ )
842
+ ] }) }),
843
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
844
+ id: "content-releases.content-manager-list-view.add-to-release.action-type-label",
845
+ defaultMessage: "What do you want to do with these entries?"
846
+ }) }),
847
+ /* @__PURE__ */ jsx(
848
+ ReleaseActionOptions,
849
+ {
850
+ selected: values.type,
851
+ handleChange: (e) => setFieldValue("type", e.target.value),
852
+ name: "type"
853
+ }
854
+ )
855
+ ] }) }),
856
+ /* @__PURE__ */ jsxs(Modal.Footer, { children: [
857
+ /* @__PURE__ */ jsx(Button, { onClick: onClose, variant: "tertiary", name: "cancel", children: formatMessage({
858
+ id: "content-releases.content-manager-list-view.add-to-release.cancel-button",
859
+ defaultMessage: "Cancel"
860
+ }) }),
861
+ /* @__PURE__ */ jsx(Button, { type: "submit", disabled: !values.releaseId, loading: isLoading, children: formatMessage({
862
+ id: "content-releases.content-manager-list-view.add-to-release.continue-button",
863
+ defaultMessage: "Continue"
864
+ }) })
865
+ ] })
866
+ ] })
867
+ }
868
+ );
869
+ }
870
+ }
871
+ };
872
+ };
873
+ const useReleasesList = (contentTypeUid, documentId) => {
874
+ const listViewData = useTable("ListView", (state) => state.rows);
875
+ const documentIds = listViewData.map((entry) => entry.documentId);
876
+ const [{ query }] = useQueryParams();
877
+ const locale = query?.plugins?.i18n?.locale || void 0;
878
+ const response = useGetMappedEntriesInReleasesQuery(
879
+ { contentTypeUid, documentIds, locale },
880
+ { skip: !documentIds || !contentTypeUid || documentIds.length === 0 }
881
+ );
882
+ const mappedEntriesInReleases = response.data || {};
883
+ return mappedEntriesInReleases?.[documentId] || [];
884
+ };
885
+ const addColumnToTableHook = ({ displayedHeaders, layout }) => {
886
+ const { options } = layout;
887
+ if (!options?.draftAndPublish) {
888
+ return { displayedHeaders, layout };
889
+ }
890
+ return {
891
+ displayedHeaders: [
892
+ ...displayedHeaders,
893
+ {
894
+ searchable: false,
895
+ sortable: false,
896
+ name: "releases",
897
+ label: {
898
+ id: "content-releases.content-manager.list-view.releases.header",
899
+ defaultMessage: "To be released in"
900
+ },
901
+ cellFormatter: (props, _, { model }) => /* @__PURE__ */ jsx(ReleaseListCell, { ...props, model })
902
+ }
903
+ ],
904
+ layout
905
+ };
906
+ };
907
+ const ReleaseListCell = ({ documentId, model }) => {
908
+ const releases = useReleasesList(model, documentId);
909
+ const { formatMessage } = useIntl();
910
+ return /* @__PURE__ */ jsxs(Popover.Root, { children: [
911
+ /* @__PURE__ */ jsx(Popover.Trigger, { children: /* @__PURE__ */ jsx(
912
+ Button,
913
+ {
914
+ variant: "ghost",
915
+ onClick: (e) => e.stopPropagation(),
916
+ endIcon: releases.length > 0 ? /* @__PURE__ */ jsx(CaretDown, { width: "1.2rem", height: "1.2rem" }) : null,
917
+ children: /* @__PURE__ */ jsx(
918
+ Typography,
919
+ {
920
+ style: { maxWidth: "252px", cursor: "pointer" },
921
+ textColor: "neutral800",
922
+ fontWeight: "regular",
923
+ children: releases.length > 0 ? formatMessage(
924
+ {
925
+ id: "content-releases.content-manager.list-view.releases-number",
926
+ defaultMessage: "{number} {number, plural, one {release} other {releases}}"
927
+ },
928
+ {
929
+ number: releases.length
930
+ }
931
+ ) : "-"
932
+ }
933
+ )
934
+ }
935
+ ) }),
936
+ /* @__PURE__ */ jsx(Popover.Content, { children: /* @__PURE__ */ jsx("ul", { children: releases.map(({ id, name }) => /* @__PURE__ */ jsx(Box, { padding: 3, tag: "li", children: /* @__PURE__ */ jsx(Link$1, { href: `/admin/plugins/content-releases/${id}`, isExternal: false, children: name }) }, id)) }) })
937
+ ] });
938
+ };
696
939
  const getTimezoneOffset = (timezone, date) => {
697
940
  try {
698
941
  const offsetPart = new Intl.DateTimeFormat("en", {
@@ -859,7 +1102,7 @@ const Root = ({ children }) => {
859
1102
  return (
860
1103
  // A user can access the dropdown if they have permissions to delete a release-action OR update a release
861
1104
  allowedActions.canDeleteAction || allowedActions.canUpdate ? /* @__PURE__ */ jsxs(Menu.Root, { children: [
862
- /* @__PURE__ */ jsx(Menu.Trigger, { variant: "tertiary", endIcon: null, paddingLeft: 2, paddingRight: 2, children: /* @__PURE__ */ jsx(
1105
+ /* @__PURE__ */ jsx(StyledMoreButton, { variant: "tertiary", endIcon: null, paddingLeft: "7px", paddingRight: "7px", children: /* @__PURE__ */ jsx(
863
1106
  AccessibleIcon,
864
1107
  {
865
1108
  label: formatMessage({
@@ -873,13 +1116,23 @@ const Root = ({ children }) => {
873
1116
  ] }) : null
874
1117
  );
875
1118
  };
1119
+ const StyledMoreButton = styled(Menu.Trigger)`
1120
+ & > span {
1121
+ display: flex;
1122
+ }
1123
+ `;
876
1124
  const ReleaseActionMenu = {
877
1125
  Root,
878
1126
  EditReleaseItem,
879
1127
  DeleteReleaseActionItem,
880
1128
  ReleaseActionEntryLinkItem
881
1129
  };
882
- const Panel = ({ model, documentId, collectionType }) => {
1130
+ const Panel = ({
1131
+ model,
1132
+ document,
1133
+ documentId,
1134
+ collectionType
1135
+ }) => {
883
1136
  const [{ query }] = useQueryParams();
884
1137
  const locale = query.plugins?.i18n?.locale;
885
1138
  const {
@@ -888,12 +1141,17 @@ const Panel = ({ model, documentId, collectionType }) => {
888
1141
  const { formatMessage, formatDate, formatTime } = useIntl();
889
1142
  const { allowedActions } = useRBAC(PERMISSIONS);
890
1143
  const { canRead, canDeleteAction } = allowedActions;
891
- const response = useGetReleasesForEntryQuery({
892
- contentType: model,
893
- entryDocumentId: documentId,
894
- locale,
895
- hasEntryAttached: true
896
- });
1144
+ const response = useGetReleasesForEntryQuery(
1145
+ {
1146
+ contentType: model,
1147
+ entryDocumentId: documentId,
1148
+ locale,
1149
+ hasEntryAttached: true
1150
+ },
1151
+ {
1152
+ skip: !document
1153
+ }
1154
+ );
897
1155
  const releases = response.data?.data;
898
1156
  const getReleaseColorVariant = (actionType, shade) => {
899
1157
  if (actionType === "unpublish") {
@@ -907,7 +1165,7 @@ const Panel = ({ model, documentId, collectionType }) => {
907
1165
  if (collectionType === "collection-types" && (!documentId || documentId === "create")) {
908
1166
  return null;
909
1167
  }
910
- if (releases && releases.length === 0) {
1168
+ if (!releases || releases.length === 0) {
911
1169
  return null;
912
1170
  }
913
1171
  return {
@@ -1012,7 +1270,7 @@ const admin = {
1012
1270
  id: `${pluginId}.plugin.name`,
1013
1271
  defaultMessage: "Releases"
1014
1272
  },
1015
- Component: () => import("./App-UQxgTJY5.mjs").then((mod) => ({ default: mod.App })),
1273
+ Component: () => import("./App-BA2xDdy0.mjs").then((mod) => ({ default: mod.App })),
1016
1274
  permissions: PERMISSIONS.main,
1017
1275
  position: 2
1018
1276
  });
@@ -1036,10 +1294,18 @@ const admin = {
1036
1294
  },
1037
1295
  permissions: [],
1038
1296
  async Component() {
1039
- const { ProtectedReleasesSettingsPage } = await import("./ReleasesSettingsPage-CuUXvABk.mjs");
1297
+ const { ProtectedReleasesSettingsPage } = await import("./ReleasesSettingsPage-BAlbMWpw.mjs");
1040
1298
  return { default: ProtectedReleasesSettingsPage };
1041
1299
  }
1042
1300
  });
1301
+ if ("addBulkAction" in contentManagerPluginApis && typeof contentManagerPluginApis.addBulkAction === "function") {
1302
+ contentManagerPluginApis.addBulkAction((actions) => {
1303
+ const deleteActionIndex = actions.findIndex((action) => action.type === "delete");
1304
+ actions.splice(deleteActionIndex, 0, ReleaseAction);
1305
+ return actions;
1306
+ });
1307
+ }
1308
+ app.registerHook("Admin/CM/pages/ListView/inject-column-in-table", addColumnToTableHook);
1043
1309
  } else if (!window.strapi.features.isEnabled("cms-content-releases") && window.strapi?.flags?.promoteEE) {
1044
1310
  app.addSettingsLink("global", {
1045
1311
  id: pluginId,
@@ -1060,7 +1326,7 @@ const admin = {
1060
1326
  async registerTrads({ locales }) {
1061
1327
  const importedTrads = await Promise.all(
1062
1328
  locales.map((locale) => {
1063
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/en.json": () => import("./en-CGXIF4vQ.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
1329
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/en.json": () => import("./en-D0yVZFqf.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
1064
1330
  return {
1065
1331
  data: prefixPluginTranslations(data, "content-releases"),
1066
1332
  locale
@@ -1096,4 +1362,4 @@ export {
1096
1362
  releaseApi as r,
1097
1363
  useGetReleasesQuery as u
1098
1364
  };
1099
- //# sourceMappingURL=index-b3Ej95H7.mjs.map
1365
+ //# sourceMappingURL=index-CCFFG3Zs.mjs.map