@strapi/content-releases 0.0.0-next.ee56af7ae29770097422de95c0d5500908dce15c → 0.0.0-next.f09127d8df0234ad0b771b931b044b7c2e09c686

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 (48) hide show
  1. package/dist/_chunks/{App-Cne--1Z8.mjs → App-CiZCkScI.mjs} +299 -115
  2. package/dist/_chunks/App-CiZCkScI.mjs.map +1 -0
  3. package/dist/_chunks/{App-BKB1esYS.js → App-SGjO5UPV.js} +340 -157
  4. package/dist/_chunks/App-SGjO5UPV.js.map +1 -0
  5. package/dist/_chunks/{PurchaseContentReleases-Be3acS2L.js → PurchaseContentReleases--qQepXpP.js} +2 -2
  6. package/dist/_chunks/PurchaseContentReleases--qQepXpP.js.map +1 -0
  7. package/dist/_chunks/{PurchaseContentReleases-_MxP6-Dt.mjs → PurchaseContentReleases-D-n-w-st.mjs} +2 -2
  8. package/dist/_chunks/{PurchaseContentReleases-_MxP6-Dt.mjs.map → PurchaseContentReleases-D-n-w-st.mjs.map} +1 -1
  9. package/dist/_chunks/{ReleasesSettingsPage-kuXIwpWp.js → ReleasesSettingsPage-Cto_NLUd.js} +3 -3
  10. package/dist/_chunks/{ReleasesSettingsPage-kuXIwpWp.js.map → ReleasesSettingsPage-Cto_NLUd.js.map} +1 -1
  11. package/dist/_chunks/{ReleasesSettingsPage-C1WwGWIH.mjs → ReleasesSettingsPage-DQT8N3A-.mjs} +2 -2
  12. package/dist/_chunks/{ReleasesSettingsPage-C1WwGWIH.mjs.map → ReleasesSettingsPage-DQT8N3A-.mjs.map} +1 -1
  13. package/dist/_chunks/{en-CmYoEnA7.js → en-BWPPsSH-.js} +11 -2
  14. package/dist/_chunks/en-BWPPsSH-.js.map +1 -0
  15. package/dist/_chunks/{en-D0yVZFqf.mjs → en-D9Q4YW03.mjs} +11 -2
  16. package/dist/_chunks/en-D9Q4YW03.mjs.map +1 -0
  17. package/dist/_chunks/{index-Cy7qwpaU.mjs → index-BjvFfTtA.mjs} +33 -9
  18. package/dist/_chunks/index-BjvFfTtA.mjs.map +1 -0
  19. package/dist/_chunks/{index-5Odi61vw.js → index-CyU534vL.js} +34 -11
  20. package/dist/_chunks/index-CyU534vL.js.map +1 -0
  21. package/dist/_chunks/{schemas-BE1LxE9J.js → schemas-DBYv9gK8.js} +2 -3
  22. package/dist/_chunks/{schemas-BE1LxE9J.js.map → schemas-DBYv9gK8.js.map} +1 -1
  23. package/dist/_chunks/schemas-DdA2ic2U.mjs.map +1 -1
  24. package/dist/admin/index.js +1 -1
  25. package/dist/admin/index.mjs +1 -1
  26. package/dist/admin/src/components/EntryValidationPopover.d.ts +13 -0
  27. package/dist/server/index.js +80 -11
  28. package/dist/server/index.js.map +1 -1
  29. package/dist/server/index.mjs +79 -9
  30. package/dist/server/index.mjs.map +1 -1
  31. package/dist/server/src/index.d.ts +2 -6
  32. package/dist/server/src/index.d.ts.map +1 -1
  33. package/dist/server/src/middlewares/documents.d.ts.map +1 -1
  34. package/dist/server/src/services/index.d.ts +2 -6
  35. package/dist/server/src/services/index.d.ts.map +1 -1
  36. package/dist/server/src/services/release-action.d.ts +3 -7
  37. package/dist/server/src/services/release-action.d.ts.map +1 -1
  38. package/dist/server/src/utils/index.d.ts.map +1 -1
  39. package/dist/shared/contracts/release-actions.d.ts +8 -1
  40. package/dist/shared/contracts/release-actions.d.ts.map +1 -1
  41. package/package.json +12 -11
  42. package/dist/_chunks/App-BKB1esYS.js.map +0 -1
  43. package/dist/_chunks/App-Cne--1Z8.mjs.map +0 -1
  44. package/dist/_chunks/PurchaseContentReleases-Be3acS2L.js.map +0 -1
  45. package/dist/_chunks/en-CmYoEnA7.js.map +0 -1
  46. package/dist/_chunks/en-D0yVZFqf.mjs.map +0 -1
  47. package/dist/_chunks/index-5Odi61vw.js.map +0 -1
  48. package/dist/_chunks/index-Cy7qwpaU.mjs.map +0 -1
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const strapiAdmin = require("@strapi/admin/strapi-admin");
4
+ const strapiAdmin$1 = require("@strapi/admin/strapi-admin");
5
5
  const reactRouterDom = require("react-router-dom");
6
- const index = require("./index-5Odi61vw.js");
6
+ const index = require("./index-CyU534vL.js");
7
7
  const React = require("react");
8
- const strapiAdmin$1 = require("@strapi/content-manager/strapi-admin");
9
8
  const designSystem = require("@strapi/design-system");
10
9
  const icons = require("@strapi/icons");
11
10
  const symbols = require("@strapi/icons/symbols");
@@ -13,15 +12,16 @@ const format = require("date-fns/format");
13
12
  const dateFnsTz = require("date-fns-tz");
14
13
  const reactIntl = require("react-intl");
15
14
  const styledComponents = require("styled-components");
15
+ const strapiAdmin = require("@strapi/content-manager/strapi-admin");
16
+ const qs = require("qs");
16
17
  const dateFns = require("date-fns");
17
18
  const formik = require("formik");
18
- const schemas = require("./schemas-BE1LxE9J.js");
19
+ const schemas = require("./schemas-DBYv9gK8.js");
19
20
  const reactRedux = require("react-redux");
20
21
  const ee = require("@strapi/admin/strapi-admin/ee");
21
22
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
22
23
  function _interopNamespace(e) {
23
- if (e && e.__esModule)
24
- return e;
24
+ if (e && e.__esModule) return e;
25
25
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
26
26
  if (e) {
27
27
  for (const k in e) {
@@ -39,6 +39,290 @@ function _interopNamespace(e) {
39
39
  }
40
40
  const React__namespace = /* @__PURE__ */ _interopNamespace(React);
41
41
  const format__default = /* @__PURE__ */ _interopDefault(format);
42
+ const StyledPopoverFlex = styledComponents.styled(designSystem.Flex)`
43
+ width: 100%;
44
+ max-width: 256px;
45
+
46
+ & > * {
47
+ border-bottom: 1px solid ${({ theme }) => theme.colors.neutral150};
48
+ }
49
+
50
+ & > *:last-child {
51
+ border-bottom: none;
52
+ }
53
+ `;
54
+ const EntryStatusTrigger = ({
55
+ action,
56
+ status,
57
+ hasErrors,
58
+ requiredStage,
59
+ entryStage
60
+ }) => {
61
+ const { formatMessage } = reactIntl.useIntl();
62
+ if (action === "publish") {
63
+ if (hasErrors || requiredStage && requiredStage.id !== entryStage?.id) {
64
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
65
+ designSystem.Button,
66
+ {
67
+ variant: "ghost",
68
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CrossCircle, { fill: "danger600" }),
69
+ endIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, {}),
70
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger600", variant: "omega", fontWeight: "bold", children: formatMessage({
71
+ id: "content-releases.pages.ReleaseDetails.entry-validation.not-ready",
72
+ defaultMessage: "Not ready to publish"
73
+ }) })
74
+ }
75
+ ) });
76
+ }
77
+ if (status === "draft") {
78
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
79
+ designSystem.Button,
80
+ {
81
+ variant: "ghost",
82
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }),
83
+ endIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, {}),
84
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "success600", variant: "omega", fontWeight: "bold", children: formatMessage({
85
+ id: "content-releases.pages.ReleaseDetails.entry-validation.ready-to-publish",
86
+ defaultMessage: "Ready to publish"
87
+ }) })
88
+ }
89
+ ) });
90
+ }
91
+ if (status === "modified") {
92
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
93
+ designSystem.Button,
94
+ {
95
+ variant: "ghost",
96
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.ArrowsCounterClockwise, { fill: "alternative600" }),
97
+ endIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, {}),
98
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", fontWeight: "bold", textColor: "alternative600", children: formatMessage({
99
+ id: "content-releases.pages.ReleaseDetails.entry-validation.modified",
100
+ defaultMessage: "Ready to publish changes"
101
+ }) })
102
+ }
103
+ ) });
104
+ }
105
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
106
+ designSystem.Button,
107
+ {
108
+ variant: "ghost",
109
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }),
110
+ endIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, {}),
111
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "success600", variant: "omega", fontWeight: "bold", children: formatMessage({
112
+ id: "content-releases.pages.ReleaseDetails.entry-validation.already-published",
113
+ defaultMessage: "Already published"
114
+ }) })
115
+ }
116
+ ) });
117
+ }
118
+ if (status === "published") {
119
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
120
+ designSystem.Button,
121
+ {
122
+ variant: "ghost",
123
+ startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }),
124
+ endIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, {}),
125
+ children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "success600", variant: "omega", fontWeight: "bold", children: formatMessage({
126
+ id: "content-releases.pages.ReleaseDetails.entry-validation.ready-to-unpublish",
127
+ defaultMessage: "Ready to unpublish"
128
+ }) })
129
+ }
130
+ ) });
131
+ }
132
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "ghost", startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }), endIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, {}), children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "success600", variant: "omega", fontWeight: "bold", children: formatMessage({
133
+ id: "content-releases.pages.ReleaseDetails.entry-validation.already-unpublished",
134
+ defaultMessage: "Already unpublished"
135
+ }) }) }) });
136
+ };
137
+ const FieldsValidation = ({
138
+ hasErrors,
139
+ errors,
140
+ kind,
141
+ contentTypeUid,
142
+ documentId,
143
+ locale
144
+ }) => {
145
+ const { formatMessage } = reactIntl.useIntl();
146
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 1, width: "100%", padding: 5, children: [
147
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, width: "100%", children: [
148
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: formatMessage({
149
+ id: "content-releases.pages.ReleaseDetails.entry-validation.fields",
150
+ defaultMessage: "Fields"
151
+ }) }),
152
+ hasErrors ? /* @__PURE__ */ jsxRuntime.jsx(icons.CrossCircle, { fill: "danger600" }) : /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" })
153
+ ] }),
154
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { width: "100%", textColor: "neutral600", children: hasErrors ? formatMessage(
155
+ {
156
+ id: "content-releases.pages.ReleaseDetails.entry-validation.fields.error",
157
+ defaultMessage: "{errors} errors on fields."
158
+ },
159
+ { errors: errors ? Object.keys(errors).length : 0 }
160
+ ) : formatMessage({
161
+ id: "content-releases.pages.ReleaseDetails.entry-validation.fields.success",
162
+ defaultMessage: "All fields are filled correctly."
163
+ }) }),
164
+ hasErrors && /* @__PURE__ */ jsxRuntime.jsx(
165
+ designSystem.LinkButton,
166
+ {
167
+ tag: reactRouterDom.Link,
168
+ to: {
169
+ pathname: `/content-manager/${kind === "collectionType" ? "collection-types" : "single-types"}/${contentTypeUid}/${documentId}`,
170
+ search: locale ? qs.stringify({
171
+ plugins: {
172
+ i18n: {
173
+ locale
174
+ }
175
+ }
176
+ }) : ""
177
+ },
178
+ variant: "secondary",
179
+ fullWidth: true,
180
+ state: { forceValidation: true },
181
+ children: formatMessage({
182
+ id: "content-releases.pages.ReleaseDetails.entry-validation.fields.see-errors",
183
+ defaultMessage: "See errors"
184
+ })
185
+ }
186
+ )
187
+ ] });
188
+ };
189
+ const getReviewStageIcon = ({
190
+ contentTypeHasReviewWorkflow,
191
+ requiredStage,
192
+ entryStage
193
+ }) => {
194
+ if (!contentTypeHasReviewWorkflow) {
195
+ return /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "neutral200" });
196
+ }
197
+ if (requiredStage && requiredStage.id !== entryStage?.id) {
198
+ return /* @__PURE__ */ jsxRuntime.jsx(icons.CrossCircle, { fill: "danger600" });
199
+ }
200
+ return /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" });
201
+ };
202
+ const getReviewStageMessage = ({
203
+ contentTypeHasReviewWorkflow,
204
+ requiredStage,
205
+ entryStage,
206
+ formatMessage
207
+ }) => {
208
+ if (!contentTypeHasReviewWorkflow) {
209
+ return formatMessage({
210
+ id: "content-releases.pages.ReleaseDetails.entry-validation.review-stage.not-enabled",
211
+ defaultMessage: "This entry is not associated to any workflow."
212
+ });
213
+ }
214
+ if (requiredStage && requiredStage.id !== entryStage?.id) {
215
+ return formatMessage(
216
+ {
217
+ id: "content-releases.pages.ReleaseDetails.entry-validation.review-stage.not-ready",
218
+ defaultMessage: "This entry is not at the required stage for publishing. ({stageName})"
219
+ },
220
+ {
221
+ stageName: requiredStage?.name ?? ""
222
+ }
223
+ );
224
+ }
225
+ if (requiredStage && requiredStage.id === entryStage?.id) {
226
+ return formatMessage(
227
+ {
228
+ id: "content-releases.pages.ReleaseDetails.entry-validation.review-stage.ready",
229
+ defaultMessage: "This entry is at the required stage for publishing. ({stageName})"
230
+ },
231
+ {
232
+ stageName: requiredStage?.name ?? ""
233
+ }
234
+ );
235
+ }
236
+ return formatMessage({
237
+ id: "content-releases.pages.ReleaseDetails.entry-validation.review-stage.stage-not-required",
238
+ defaultMessage: "No required stage for publication"
239
+ });
240
+ };
241
+ const ReviewStageValidation = ({
242
+ contentTypeHasReviewWorkflow,
243
+ requiredStage,
244
+ entryStage
245
+ }) => {
246
+ const { formatMessage } = reactIntl.useIntl();
247
+ const Icon = getReviewStageIcon({
248
+ contentTypeHasReviewWorkflow,
249
+ requiredStage,
250
+ entryStage
251
+ });
252
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 1, width: "100%", padding: 5, children: [
253
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, width: "100%", children: [
254
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: formatMessage({
255
+ id: "content-releases.pages.ReleaseDetails.entry-validation.review-stage",
256
+ defaultMessage: "Review stage"
257
+ }) }),
258
+ Icon
259
+ ] }),
260
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral600", children: getReviewStageMessage({
261
+ contentTypeHasReviewWorkflow,
262
+ requiredStage,
263
+ entryStage,
264
+ formatMessage
265
+ }) })
266
+ ] });
267
+ };
268
+ const EntryValidationPopover = ({
269
+ schema,
270
+ entry,
271
+ status,
272
+ action
273
+ }) => {
274
+ const { validate, isLoading } = strapiAdmin.unstable_useDocument(
275
+ {
276
+ collectionType: schema?.kind ?? "",
277
+ model: schema?.uid ?? ""
278
+ },
279
+ {
280
+ // useDocument makes a request to get more data about the entry, but we only want to have the validation function so we skip the request
281
+ skip: true
282
+ }
283
+ );
284
+ const errors = isLoading ? null : validate(entry);
285
+ const hasErrors = errors ? Object.keys(errors).length > 0 : false;
286
+ const contentTypeHasReviewWorkflow = schema?.hasReviewWorkflow ?? false;
287
+ const requiredStage = schema?.stageRequiredToPublish;
288
+ const entryStage = entry.strapi_stage;
289
+ if (isLoading) {
290
+ return null;
291
+ }
292
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { children: [
293
+ /* @__PURE__ */ jsxRuntime.jsx(
294
+ EntryStatusTrigger,
295
+ {
296
+ action,
297
+ status,
298
+ hasErrors,
299
+ requiredStage,
300
+ entryStage
301
+ }
302
+ ),
303
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(StyledPopoverFlex, { direction: "column", children: [
304
+ /* @__PURE__ */ jsxRuntime.jsx(
305
+ FieldsValidation,
306
+ {
307
+ hasErrors,
308
+ errors,
309
+ contentTypeUid: schema?.uid,
310
+ kind: schema?.kind,
311
+ documentId: entry.documentId,
312
+ locale: entry.locale
313
+ }
314
+ ),
315
+ /* @__PURE__ */ jsxRuntime.jsx(
316
+ ReviewStageValidation,
317
+ {
318
+ contentTypeHasReviewWorkflow,
319
+ requiredStage,
320
+ entryStage
321
+ }
322
+ )
323
+ ] }) })
324
+ ] });
325
+ };
42
326
  const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
43
327
  const RelativeTime$1 = React__namespace.forwardRef(
44
328
  ({ timestamp, customIntervals = [], ...restProps }, forwardedRef) => {
@@ -84,8 +368,7 @@ const ReleaseModal = ({
84
368
  );
85
369
  const getScheduledTimestamp = (values) => {
86
370
  const { date, time, timezone } = values;
87
- if (!date || !time || !timezone)
88
- return null;
371
+ if (!date || !time || !timezone) return null;
89
372
  const timezoneWithoutOffset = timezone.split("&")[1];
90
373
  return dateFnsTz.zonedTimeToUtc(`${date} ${time}`, timezoneWithoutOffset);
91
374
  };
@@ -346,7 +629,7 @@ const getBadgeProps = (status) => {
346
629
  const ReleasesGrid = ({ sectionTitle, releases = [], isError = false }) => {
347
630
  const { formatMessage } = reactIntl.useIntl();
348
631
  if (isError) {
349
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Error, {});
632
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Error, {});
350
633
  }
351
634
  if (releases?.length === 0) {
352
635
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -410,20 +693,20 @@ const INITIAL_FORM_VALUES = {
410
693
  const ReleasesPage = () => {
411
694
  const location = reactRouterDom.useLocation();
412
695
  const [releaseModalShown, setReleaseModalShown] = React__namespace.useState(false);
413
- const { toggleNotification } = strapiAdmin.useNotification();
696
+ const { toggleNotification } = strapiAdmin$1.useNotification();
414
697
  const { formatMessage } = reactIntl.useIntl();
415
698
  const navigate = reactRouterDom.useNavigate();
416
- const { formatAPIError } = strapiAdmin.useAPIErrorHandler();
417
- const [{ query }, setQuery] = strapiAdmin.useQueryParams();
699
+ const { formatAPIError } = strapiAdmin$1.useAPIErrorHandler();
700
+ const [{ query }, setQuery] = strapiAdmin$1.useQueryParams();
418
701
  const response = index.useGetReleasesQuery(query);
419
702
  const { data, isLoading: isLoadingSettings } = index.useGetReleaseSettingsQuery();
420
703
  const [createRelease, { isLoading: isSubmittingForm }] = index.useCreateReleaseMutation();
421
704
  const { getFeature } = ee.useLicenseLimits();
422
705
  const { maximumReleases = 3 } = getFeature("cms-content-releases");
423
- const { trackUsage } = strapiAdmin.useTracking();
706
+ const { trackUsage } = strapiAdmin$1.useTracking();
424
707
  const {
425
708
  allowedActions: { canCreate }
426
- } = strapiAdmin.useRBAC(index.PERMISSIONS);
709
+ } = strapiAdmin$1.useRBAC(index.PERMISSIONS);
427
710
  const { isLoading: isLoadingReleases, isSuccess, isError } = response;
428
711
  const activeTab = response?.currentData?.meta?.activeTab || "pending";
429
712
  React__namespace.useEffect(() => {
@@ -446,7 +729,7 @@ const ReleasesPage = () => {
446
729
  setReleaseModalShown((prev) => !prev);
447
730
  };
448
731
  if (isLoadingReleases || isLoadingSettings) {
449
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
732
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Loading, {});
450
733
  }
451
734
  const totalPendingReleases = isSuccess && response.currentData?.meta?.pendingReleasesCount || 0;
452
735
  const hasReachedMaximumPendingReleases = totalPendingReleases >= maximumReleases;
@@ -478,7 +761,7 @@ const ReleasesPage = () => {
478
761
  });
479
762
  trackUsage("didCreateRelease");
480
763
  navigate(response2.data.data.id.toString());
481
- } else if (strapiAdmin.isFetchError(response2.error)) {
764
+ } else if (strapiAdmin$1.isFetchError(response2.error)) {
482
765
  toggleNotification({
483
766
  type: "danger",
484
767
  message: formatAPIError(response2.error)
@@ -492,7 +775,7 @@ const ReleasesPage = () => {
492
775
  };
493
776
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { "aria-busy": isLoadingReleases || isLoadingSettings, children: [
494
777
  /* @__PURE__ */ jsxRuntime.jsx(
495
- strapiAdmin.Layouts.Header,
778
+ strapiAdmin$1.Layouts.Header,
496
779
  {
497
780
  title: formatMessage({
498
781
  id: "content-releases.pages.Releases.title",
@@ -516,7 +799,7 @@ const ReleasesPage = () => {
516
799
  ) : null
517
800
  }
518
801
  ),
519
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
802
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
520
803
  hasReachedMaximumPendingReleases && /* @__PURE__ */ jsxRuntime.jsx(
521
804
  StyledAlert,
522
805
  {
@@ -587,13 +870,13 @@ const ReleasesPage = () => {
587
870
  ) })
588
871
  ] }),
589
872
  /* @__PURE__ */ jsxRuntime.jsxs(
590
- strapiAdmin.Pagination.Root,
873
+ strapiAdmin$1.Pagination.Root,
591
874
  {
592
875
  ...response?.currentData?.meta?.pagination,
593
876
  defaultPageSize: response?.currentData?.meta?.pagination?.pageSize,
594
877
  children: [
595
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Pagination.PageSize, { options: ["8", "16", "32", "64"] }),
596
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Pagination.Links, {})
878
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Pagination.PageSize, { options: ["8", "16", "32", "64"] }),
879
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Pagination.Links, {})
597
880
  ]
598
881
  }
599
882
  )
@@ -645,105 +928,6 @@ const TrashIcon = styledComponents.styled(icons.Trash)`
645
928
  fill: ${({ theme }) => theme.colors.danger600};
646
929
  }
647
930
  `;
648
- const TypographyMaxWidth = styledComponents.styled(designSystem.Typography)`
649
- max-width: 300px;
650
- `;
651
- const EntryValidationText = ({ action, schema, entry, status }) => {
652
- const { formatMessage } = reactIntl.useIntl();
653
- const { validate, isLoading } = strapiAdmin$1.unstable_useDocument(
654
- {
655
- collectionType: schema?.kind ?? "",
656
- model: schema?.uid ?? ""
657
- },
658
- {
659
- // useDocument makes a request to get more data about the entry, but we only want to have the validation function so we skip the request
660
- skip: true
661
- }
662
- );
663
- const errorsToString = (errors2, prefix = "") => {
664
- if (Object.keys(errors2).length === 0) {
665
- return "";
666
- }
667
- return Object.entries(errors2).map(([key, value]) => {
668
- if (value === void 0 || value === null) {
669
- return "";
670
- }
671
- if (typeof value === "string") {
672
- return formatMessage(
673
- { id: value, defaultMessage: value },
674
- { field: prefix ? `${prefix}.${key}` : key }
675
- );
676
- }
677
- if (typeof value === "object" && value !== null && "id" in value && "defaultMessage" in value) {
678
- return formatMessage(
679
- // @ts-expect-error – TODO: default message will be a string
680
- { id: `${value.id}.withField`, defaultMessage: value.defaultMessage },
681
- { field: prefix ? `${prefix}.${key}` : key }
682
- );
683
- }
684
- return errorsToString(value, key);
685
- }).join(" ");
686
- };
687
- if (isLoading) {
688
- return null;
689
- }
690
- const errors = validate(entry) ?? {};
691
- if (action === "publish") {
692
- if (Object.keys(errors).length > 0) {
693
- const validationErrorsMessages = errorsToString(errors);
694
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
695
- /* @__PURE__ */ jsxRuntime.jsx(icons.CrossCircle, { fill: "danger600" }),
696
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { description: validationErrorsMessages, children: /* @__PURE__ */ jsxRuntime.jsx(
697
- TypographyMaxWidth,
698
- {
699
- textColor: "danger600",
700
- variant: "omega",
701
- fontWeight: "semiBold",
702
- ellipsis: true,
703
- children: validationErrorsMessages
704
- }
705
- ) })
706
- ] });
707
- }
708
- if (status === "draft") {
709
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
710
- /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }),
711
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
712
- id: "content-releases.pages.ReleaseDetails.entry-validation.ready-to-publish",
713
- defaultMessage: "Ready to publish"
714
- }) })
715
- ] });
716
- }
717
- if (status === "modified") {
718
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
719
- /* @__PURE__ */ jsxRuntime.jsx(icons.ArrowsCounterClockwise, { fill: "alternative600" }),
720
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
721
- id: "content-releases.pages.ReleaseDetails.entry-validation.modified",
722
- defaultMessage: "Ready to publish changes"
723
- }) })
724
- ] });
725
- }
726
- if (status === "published") {
727
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
728
- /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }),
729
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
730
- id: "content-releases.pages.ReleaseDetails.entry-validation.already-published",
731
- defaultMessage: "Already published"
732
- }) })
733
- ] });
734
- }
735
- }
736
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
737
- /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { fill: "success600" }),
738
- !entry.publishedAt ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "success600", fontWeight: "bold", children: formatMessage({
739
- id: "content-releases.pages.ReleaseDetails.entry-validation.already-unpublished",
740
- defaultMessage: "Already unpublished"
741
- }) }) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
742
- id: "content-releases.pages.ReleaseDetails.entry-validation.ready-to-unpublish",
743
- defaultMessage: "Ready to unpublish"
744
- }) })
745
- ] });
746
- };
747
931
  const ReleaseDetailsLayout = ({
748
932
  toggleEditReleaseModal,
749
933
  toggleWarningSubmit,
@@ -762,12 +946,12 @@ const ReleaseDetailsLayout = ({
762
946
  }
763
947
  );
764
948
  const [publishRelease, { isLoading: isPublishing }] = index.usePublishReleaseMutation();
765
- const { toggleNotification } = strapiAdmin.useNotification();
766
- const { formatAPIError } = strapiAdmin.useAPIErrorHandler();
767
- const { allowedActions } = strapiAdmin.useRBAC(index.PERMISSIONS);
949
+ const { toggleNotification } = strapiAdmin$1.useNotification();
950
+ const { formatAPIError } = strapiAdmin$1.useAPIErrorHandler();
951
+ const { allowedActions } = strapiAdmin$1.useRBAC(index.PERMISSIONS);
768
952
  const { canUpdate, canDelete, canPublish } = allowedActions;
769
953
  const dispatch = useTypedDispatch();
770
- const { trackUsage } = strapiAdmin.useTracking();
954
+ const { trackUsage } = strapiAdmin$1.useTracking();
771
955
  const release = data?.data;
772
956
  const handlePublishRelease = (id) => async () => {
773
957
  const response = await publishRelease({ id });
@@ -785,7 +969,7 @@ const ReleaseDetailsLayout = ({
785
969
  totalPublishedEntries,
786
970
  totalUnpublishedEntries
787
971
  });
788
- } else if (strapiAdmin.isFetchError(response.error)) {
972
+ } else if (strapiAdmin$1.isFetchError(response.error)) {
789
973
  toggleNotification({
790
974
  type: "danger",
791
975
  message: formatAPIError(response.error)
@@ -818,7 +1002,7 @@ const ReleaseDetailsLayout = ({
818
1002
  return release.createdBy.email;
819
1003
  };
820
1004
  if (isLoadingDetails) {
821
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
1005
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Loading, {});
822
1006
  }
823
1007
  if (isBaseQueryError(error) && "code" in error || !release) {
824
1008
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -868,14 +1052,14 @@ const ReleaseDetailsLayout = ({
868
1052
  ) : "";
869
1053
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { "aria-busy": isLoadingDetails, children: [
870
1054
  /* @__PURE__ */ jsxRuntime.jsx(
871
- strapiAdmin.Layouts.Header,
1055
+ strapiAdmin$1.Layouts.Header,
872
1056
  {
873
1057
  title: release.name,
874
1058
  subtitle: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, lineHeight: 6, children: [
875
1059
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral600", variant: "epsilon", children: numberOfEntriesText + (isScheduled ? ` - ${scheduledText}` : "") }),
876
1060
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { ...getBadgeProps(release.status), children: release.status })
877
1061
  ] }),
878
- navigationAction: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.BackButton, {}),
1062
+ navigationAction: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.BackButton, { fallback: ".." }),
879
1063
  primaryAction: !release.releasedAt && /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
880
1064
  /* @__PURE__ */ jsxRuntime.jsxs(
881
1065
  SimpleMenuButton,
@@ -993,9 +1177,9 @@ const getGroupByOptionLabel = (value) => {
993
1177
  };
994
1178
  const ReleaseDetailsBody = ({ releaseId }) => {
995
1179
  const { formatMessage } = reactIntl.useIntl();
996
- const [{ query }, setQuery] = strapiAdmin.useQueryParams();
997
- const { toggleNotification } = strapiAdmin.useNotification();
998
- const { formatAPIError } = strapiAdmin.useAPIErrorHandler();
1180
+ const [{ query }, setQuery] = strapiAdmin$1.useQueryParams();
1181
+ const { toggleNotification } = strapiAdmin$1.useNotification();
1182
+ const { formatAPIError } = strapiAdmin$1.useAPIErrorHandler();
999
1183
  const {
1000
1184
  data: releaseData,
1001
1185
  isLoading: isReleaseLoading,
@@ -1003,8 +1187,8 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1003
1187
  } = index.useGetReleaseQuery({ id: releaseId });
1004
1188
  const {
1005
1189
  allowedActions: { canUpdate }
1006
- } = strapiAdmin.useRBAC(index.PERMISSIONS);
1007
- const runHookWaterfall = strapiAdmin.useStrapiApp("ReleaseDetailsPage", (state) => state.runHookWaterfall);
1190
+ } = strapiAdmin$1.useRBAC(index.PERMISSIONS);
1191
+ const runHookWaterfall = strapiAdmin$1.useStrapiApp("ReleaseDetailsPage", (state) => state.runHookWaterfall);
1008
1192
  const { displayedHeaders, hasI18nEnabled } = runHookWaterfall("ContentReleases/pages/ReleaseDetails/add-locale-in-releases", {
1009
1193
  displayedHeaders: [
1010
1194
  {
@@ -1045,7 +1229,7 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1045
1229
  // We are passing the action path to found the position in the cache of the action for optimistic updates
1046
1230
  });
1047
1231
  if ("error" in response) {
1048
- if (strapiAdmin.isFetchError(response.error)) {
1232
+ if (strapiAdmin$1.isFetchError(response.error)) {
1049
1233
  toggleNotification({
1050
1234
  type: "danger",
1051
1235
  message: formatAPIError(response.error)
@@ -1059,12 +1243,12 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1059
1243
  }
1060
1244
  };
1061
1245
  if (isLoading || isReleaseLoading) {
1062
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
1246
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Loading, {});
1063
1247
  }
1064
1248
  const releaseActions = data?.data;
1065
1249
  const releaseMeta = data?.meta;
1066
1250
  const contentTypes = releaseMeta?.contentTypes || {};
1067
- const components = releaseMeta?.components || {};
1251
+ releaseMeta?.components || {};
1068
1252
  if (isBaseQueryError(releaseError) || !release) {
1069
1253
  const errorsArray = [];
1070
1254
  if (releaseError && "code" in releaseError) {
@@ -1088,10 +1272,10 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1088
1272
  );
1089
1273
  }
1090
1274
  if (isError || !releaseActions) {
1091
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Error, {});
1275
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Error, {});
1092
1276
  }
1093
1277
  if (Object.keys(releaseActions).length === 0) {
1094
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
1278
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(
1095
1279
  designSystem.EmptyStateLayout,
1096
1280
  {
1097
1281
  action: /* @__PURE__ */ jsxRuntime.jsx(
@@ -1148,7 +1332,7 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1148
1332
  ] : []
1149
1333
  ];
1150
1334
  const options = hasI18nEnabled ? GROUP_BY_OPTIONS : GROUP_BY_OPTIONS_NO_LOCALE;
1151
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 8, direction: "column", alignItems: "stretch", children: [
1335
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 8, direction: "column", alignItems: "stretch", children: [
1152
1336
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { children: /* @__PURE__ */ jsxRuntime.jsx(
1153
1337
  designSystem.SingleSelect,
1154
1338
  {
@@ -1171,7 +1355,7 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1171
1355
  Object.keys(releaseActions).map((key) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 4, direction: "column", alignItems: "stretch", children: [
1172
1356
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { role: "separator", "aria-label": key, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Badge, { children: key }) }),
1173
1357
  /* @__PURE__ */ jsxRuntime.jsx(
1174
- strapiAdmin.Table.Root,
1358
+ strapiAdmin$1.Table.Root,
1175
1359
  {
1176
1360
  rows: releaseActions[key].map((item) => ({
1177
1361
  ...item,
@@ -1179,10 +1363,10 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1179
1363
  })),
1180
1364
  headers,
1181
1365
  isLoading: isLoading || isFetching,
1182
- children: /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Table.Content, { children: [
1183
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Head, { children: headers.map(({ label, name }) => /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.HeaderCell, { label: formatMessage(label), name }, name)) }),
1184
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Loading, {}),
1185
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Table.Body, { children: releaseActions[key].map(
1366
+ children: /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin$1.Table.Content, { children: [
1367
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Table.Head, { children: headers.map(({ label, name }) => /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Table.HeaderCell, { label: formatMessage(label), name }, name)) }),
1368
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Table.Loading, {}),
1369
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Table.Body, { children: releaseActions[key].map(
1186
1370
  ({ id, contentType, locale, type, entry, status }, actionIndex) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
1187
1371
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "25%", maxWidth: "200px", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { ellipsis: true, children: `${contentType.mainFieldValue || entry.id}` }) }),
1188
1372
  hasI18nEnabled && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "10%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: `${locale?.name ? locale.name : "-"}` }) }),
@@ -1207,11 +1391,10 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1207
1391
  ) }),
1208
1392
  !release.releasedAt && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1209
1393
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "20%", minWidth: "200px", children: /* @__PURE__ */ jsxRuntime.jsx(
1210
- EntryValidationText,
1394
+ EntryValidationPopover,
1211
1395
  {
1212
1396
  action: type,
1213
1397
  schema: contentTypes?.[contentType.uid],
1214
- components,
1215
1398
  entry,
1216
1399
  status
1217
1400
  }
@@ -1241,13 +1424,13 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1241
1424
  )
1242
1425
  ] }, `releases-group-${key}`)),
1243
1426
  /* @__PURE__ */ jsxRuntime.jsxs(
1244
- strapiAdmin.Pagination.Root,
1427
+ strapiAdmin$1.Pagination.Root,
1245
1428
  {
1246
1429
  ...releaseMeta?.pagination,
1247
1430
  defaultPageSize: releaseMeta?.pagination?.pageSize,
1248
1431
  children: [
1249
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Pagination.PageSize, {}),
1250
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Pagination.Links, {})
1432
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Pagination.PageSize, {}),
1433
+ /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Pagination.Links, {})
1251
1434
  ]
1252
1435
  }
1253
1436
  )
@@ -1256,8 +1439,8 @@ const ReleaseDetailsBody = ({ releaseId }) => {
1256
1439
  const ReleaseDetailsPage = () => {
1257
1440
  const { formatMessage } = reactIntl.useIntl();
1258
1441
  const { releaseId } = reactRouterDom.useParams();
1259
- const { toggleNotification } = strapiAdmin.useNotification();
1260
- const { formatAPIError } = strapiAdmin.useAPIErrorHandler();
1442
+ const { toggleNotification } = strapiAdmin$1.useNotification();
1443
+ const { formatAPIError } = strapiAdmin$1.useAPIErrorHandler();
1261
1444
  const navigate = reactRouterDom.useNavigate();
1262
1445
  const [releaseModalShown, setReleaseModalShown] = React__namespace.useState(false);
1263
1446
  const [showWarningSubmit, setWarningSubmit] = React__namespace.useState(false);
@@ -1294,7 +1477,7 @@ const ReleaseDetailsPage = () => {
1294
1477
  {
1295
1478
  toggleEditReleaseModal,
1296
1479
  toggleWarningSubmit,
1297
- children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {})
1480
+ children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Loading, {})
1298
1481
  }
1299
1482
  );
1300
1483
  }
@@ -1323,7 +1506,7 @@ const ReleaseDetailsPage = () => {
1323
1506
  })
1324
1507
  });
1325
1508
  toggleEditReleaseModal();
1326
- } else if (strapiAdmin.isFetchError(response.error)) {
1509
+ } else if (strapiAdmin$1.isFetchError(response.error)) {
1327
1510
  toggleNotification({
1328
1511
  type: "danger",
1329
1512
  message: formatAPIError(response.error)
@@ -1341,7 +1524,7 @@ const ReleaseDetailsPage = () => {
1341
1524
  });
1342
1525
  if ("data" in response) {
1343
1526
  navigate("..");
1344
- } else if (strapiAdmin.isFetchError(response.error)) {
1527
+ } else if (strapiAdmin$1.isFetchError(response.error)) {
1345
1528
  toggleNotification({
1346
1529
  type: "danger",
1347
1530
  message: formatAPIError(response.error)
@@ -1377,7 +1560,7 @@ const ReleaseDetailsPage = () => {
1377
1560
  }
1378
1561
  }
1379
1562
  ),
1380
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open: showWarningSubmit, onOpenChange: toggleWarningSubmit, children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.ConfirmDialog, { onConfirm: handleDeleteRelease, children: formatMessage({
1563
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open: showWarningSubmit, onOpenChange: toggleWarningSubmit, children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.ConfirmDialog, { onConfirm: handleDeleteRelease, children: formatMessage({
1381
1564
  id: "content-releases.dialog.confirmation-message",
1382
1565
  defaultMessage: "Are you sure you want to delete this release?"
1383
1566
  }) }) })
@@ -1386,10 +1569,10 @@ const ReleaseDetailsPage = () => {
1386
1569
  );
1387
1570
  };
1388
1571
  const App = () => {
1389
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Protect, { permissions: index.PERMISSIONS.main, children: /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Routes, { children: [
1572
+ return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin$1.Page.Protect, { permissions: index.PERMISSIONS.main, children: /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Routes, { children: [
1390
1573
  /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { index: true, element: /* @__PURE__ */ jsxRuntime.jsx(ReleasesPage, {}) }),
1391
1574
  /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { path: ":releaseId", element: /* @__PURE__ */ jsxRuntime.jsx(ReleaseDetailsPage, {}) })
1392
1575
  ] }) });
1393
1576
  };
1394
1577
  exports.App = App;
1395
- //# sourceMappingURL=App-BKB1esYS.js.map
1578
+ //# sourceMappingURL=App-SGjO5UPV.js.map