@strapi/content-manager 0.0.0-experimental.a53a4b1c8f7981a689823cdd719105671e1c6392 → 0.0.0-experimental.a9a5a36dd73072c19eadeff5f387e8286b2a4d22
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.
- package/LICENSE +18 -3
- package/dist/_chunks/{ComponentConfigurationPage-DmwmiFQy.mjs → ComponentConfigurationPage-B1bIXVuX.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-DmwmiFQy.mjs.map → ComponentConfigurationPage-B1bIXVuX.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-C-49MccQ.js → ComponentConfigurationPage-Bqgx7Mes.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-C-49MccQ.js.map → ComponentConfigurationPage-Bqgx7Mes.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DjFJw56M.js → EditConfigurationPage-BFEwvdMW.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-DjFJw56M.js.map → EditConfigurationPage-BFEwvdMW.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-JT3E7NZy.mjs → EditConfigurationPage-ZO0vOO8q.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-JT3E7NZy.mjs.map → EditConfigurationPage-ZO0vOO8q.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-zT3fBr4Y.js → EditViewPage-DA95Ha6J.js} +3 -3
- package/dist/_chunks/{EditViewPage-zT3fBr4Y.js.map → EditViewPage-DA95Ha6J.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-CPj61RMh.mjs → EditViewPage-DlLEyUL6.mjs} +3 -3
- package/dist/_chunks/{EditViewPage-CPj61RMh.mjs.map → EditViewPage-DlLEyUL6.mjs.map} +1 -1
- package/dist/_chunks/{Field-Boxf9Ajp.js → Field-CnK8dO8N.js} +74 -49
- package/dist/_chunks/Field-CnK8dO8N.js.map +1 -0
- package/dist/_chunks/{Field-dha5VnIQ.mjs → Field-Dq7bDnuh.mjs} +74 -49
- package/dist/_chunks/Field-Dq7bDnuh.mjs.map +1 -0
- package/dist/_chunks/{Form-DHrru2AV.mjs → Form-B_JE0dbz.mjs} +2 -2
- package/dist/_chunks/{Form-DHrru2AV.mjs.map → Form-B_JE0dbz.mjs.map} +1 -1
- package/dist/_chunks/{Form-y5g1SRsh.js → Form-BpiR4piS.js} +2 -2
- package/dist/_chunks/{Form-y5g1SRsh.js.map → Form-BpiR4piS.js.map} +1 -1
- package/dist/_chunks/{History-Bru_KoeP.mjs → History-CBNGU7a-.mjs} +27 -12
- package/dist/_chunks/History-CBNGU7a-.mjs.map +1 -0
- package/dist/_chunks/{History-CqN6K7SX.js → History-DdIstl8b.js} +27 -12
- package/dist/_chunks/History-DdIstl8b.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-D8wGABj0.mjs → ListConfigurationPage-5dr4qpue.mjs} +8 -6
- package/dist/_chunks/ListConfigurationPage-5dr4qpue.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-R_p-SbHZ.js → ListConfigurationPage-DkKRparB.js} +8 -6
- package/dist/_chunks/ListConfigurationPage-DkKRparB.js.map +1 -0
- package/dist/_chunks/{ListViewPage-SID6TRb9.mjs → ListViewPage-DecLrYV6.mjs} +15 -6
- package/dist/_chunks/ListViewPage-DecLrYV6.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-pEw_zug9.js → ListViewPage-wE0lXqoD.js} +15 -6
- package/dist/_chunks/ListViewPage-wE0lXqoD.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-CJ7UXwrQ.mjs → NoContentTypePage-CiIcfYsd.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-CJ7UXwrQ.mjs.map → NoContentTypePage-CiIcfYsd.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-C5dcQojD.js → NoContentTypePage-DEKR6tf9.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-C5dcQojD.js.map → NoContentTypePage-DEKR6tf9.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-B7syEq5E.mjs → NoPermissionsPage-CM5UD8ee.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-B7syEq5E.mjs.map → NoPermissionsPage-CM5UD8ee.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-BtPrImPP.js → NoPermissionsPage-DmNfF2Bb.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-BtPrImPP.js.map → NoPermissionsPage-DmNfF2Bb.js.map} +1 -1
- package/dist/_chunks/{Relations-B9Crnhnn.mjs → Relations-Dqz0C1fz.mjs} +3 -3
- package/dist/_chunks/Relations-Dqz0C1fz.mjs.map +1 -0
- package/dist/_chunks/{Relations-DjTQ5kGB.js → Relations-L0xYRoSQ.js} +3 -3
- package/dist/_chunks/Relations-L0xYRoSQ.js.map +1 -0
- package/dist/_chunks/{en-Ux26r5pl.mjs → en-BrCTWlZv.mjs} +5 -4
- package/dist/_chunks/{en-Ux26r5pl.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
- package/dist/_chunks/{en-fbKQxLGn.js → en-uOUIxfcQ.js} +5 -4
- package/dist/_chunks/{en-fbKQxLGn.js.map → en-uOUIxfcQ.js.map} +1 -1
- package/dist/_chunks/{index-DJXJw9V5.mjs → index-BSn97i8U.mjs} +246 -118
- package/dist/_chunks/index-BSn97i8U.mjs.map +1 -0
- package/dist/_chunks/{index-DVPWZkbS.js → index-DyvUPg1a.js} +244 -116
- package/dist/_chunks/index-DyvUPg1a.js.map +1 -0
- package/dist/_chunks/{layout-Bau7ZfLV.mjs → layout-DPaHUusj.mjs} +6 -6
- package/dist/_chunks/layout-DPaHUusj.mjs.map +1 -0
- package/dist/_chunks/{layout-Dm6fbiQj.js → layout-TPqF2oJ5.js} +6 -6
- package/dist/_chunks/layout-TPqF2oJ5.js.map +1 -0
- package/dist/_chunks/{relations-CKnpRgrN.js → relations-BWYS9gkn.js} +2 -2
- package/dist/_chunks/{relations-CKnpRgrN.js.map → relations-BWYS9gkn.js.map} +1 -1
- package/dist/_chunks/{relations-BH_kBSJ0.mjs → relations-Ck7-ecDT.mjs} +2 -2
- package/dist/_chunks/{relations-BH_kBSJ0.mjs.map → relations-Ck7-ecDT.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
- package/dist/server/index.js +4 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +4 -0
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/_chunks/Field-Boxf9Ajp.js.map +0 -1
- package/dist/_chunks/Field-dha5VnIQ.mjs.map +0 -1
- package/dist/_chunks/History-Bru_KoeP.mjs.map +0 -1
- package/dist/_chunks/History-CqN6K7SX.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-D8wGABj0.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-R_p-SbHZ.js.map +0 -1
- package/dist/_chunks/ListViewPage-SID6TRb9.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-pEw_zug9.js.map +0 -1
- package/dist/_chunks/Relations-B9Crnhnn.mjs.map +0 -1
- package/dist/_chunks/Relations-DjTQ5kGB.js.map +0 -1
- package/dist/_chunks/index-DJXJw9V5.mjs.map +0 -1
- package/dist/_chunks/index-DVPWZkbS.js.map +0 -1
- package/dist/_chunks/layout-Bau7ZfLV.mjs.map +0 -1
- package/dist/_chunks/layout-Dm6fbiQj.js.map +0 -1
@@ -170,6 +170,7 @@ const en = {
|
|
170
170
|
"error.record.update": "An error occurred during record update.",
|
171
171
|
"error.records.count": "An error occurred during count records fetch.",
|
172
172
|
"error.records.fetch": "An error occurred during records fetch.",
|
173
|
+
"error.records.fetch-draft-relatons": "An error occurred while fetching draft relations on this document.",
|
173
174
|
"error.schema.generation": "An error occurred during schema generation.",
|
174
175
|
"error.validation.json": "This is not a JSON",
|
175
176
|
"error.validation.max": "The value is too high (max: {max}).",
|
@@ -224,13 +225,13 @@ const en = {
|
|
224
225
|
"popUpWarning.bodyMessage.contentType.publish.all": "Are you sure you want to publish these entries?",
|
225
226
|
"popUpWarning.bodyMessage.contentType.unpublish.all": "Are you sure you want to unpublish these entries?",
|
226
227
|
"popUpWarning.warning.has-draft-relations.title": "Confirmation",
|
228
|
+
"popUpWarning.warning.has-draft-relations.message": "This entry is related to {count, plural, one {# draft entry} other {# draft entries}}. Publishing it could leave broken links in your app.",
|
229
|
+
"popUpwarning.warning.has-draft-relations.button-confirm": "Yes, publish",
|
230
|
+
"popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ",
|
227
231
|
"popUpWarning.warning.publish-question": "Do you still want to publish?",
|
228
232
|
"popUpWarning.warning.unpublish": "If you don't publish this content, it will automatically turn into a Draft.",
|
229
233
|
"popUpWarning.warning.unpublish-question": "Are you sure you don't want to publish it?",
|
230
234
|
"popUpWarning.warning.updateAllSettings": "This will modify all your settings",
|
231
|
-
"popUpwarning.warning.has-draft-relations.button-confirm": "Yes, publish",
|
232
|
-
"popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, one { relation is } other { relations are } }</b> not published yet and might lead to unexpected behavior.",
|
233
|
-
"popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ",
|
234
235
|
"popover.display-relations.label": "Display relations",
|
235
236
|
"relation.add": "Add relation",
|
236
237
|
"relation.disconnect": "Remove",
|
@@ -288,4 +289,4 @@ export {
|
|
288
289
|
models,
|
289
290
|
pageNotFound
|
290
291
|
};
|
291
|
-
//# sourceMappingURL=en-
|
292
|
+
//# sourceMappingURL=en-BrCTWlZv.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"en-
|
1
|
+
{"version":3,"file":"en-BrCTWlZv.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -172,6 +172,7 @@ const en = {
|
|
172
172
|
"error.record.update": "An error occurred during record update.",
|
173
173
|
"error.records.count": "An error occurred during count records fetch.",
|
174
174
|
"error.records.fetch": "An error occurred during records fetch.",
|
175
|
+
"error.records.fetch-draft-relatons": "An error occurred while fetching draft relations on this document.",
|
175
176
|
"error.schema.generation": "An error occurred during schema generation.",
|
176
177
|
"error.validation.json": "This is not a JSON",
|
177
178
|
"error.validation.max": "The value is too high (max: {max}).",
|
@@ -226,13 +227,13 @@ const en = {
|
|
226
227
|
"popUpWarning.bodyMessage.contentType.publish.all": "Are you sure you want to publish these entries?",
|
227
228
|
"popUpWarning.bodyMessage.contentType.unpublish.all": "Are you sure you want to unpublish these entries?",
|
228
229
|
"popUpWarning.warning.has-draft-relations.title": "Confirmation",
|
230
|
+
"popUpWarning.warning.has-draft-relations.message": "This entry is related to {count, plural, one {# draft entry} other {# draft entries}}. Publishing it could leave broken links in your app.",
|
231
|
+
"popUpwarning.warning.has-draft-relations.button-confirm": "Yes, publish",
|
232
|
+
"popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ",
|
229
233
|
"popUpWarning.warning.publish-question": "Do you still want to publish?",
|
230
234
|
"popUpWarning.warning.unpublish": "If you don't publish this content, it will automatically turn into a Draft.",
|
231
235
|
"popUpWarning.warning.unpublish-question": "Are you sure you don't want to publish it?",
|
232
236
|
"popUpWarning.warning.updateAllSettings": "This will modify all your settings",
|
233
|
-
"popUpwarning.warning.has-draft-relations.button-confirm": "Yes, publish",
|
234
|
-
"popUpwarning.warning.has-draft-relations.message": "<b>{count, plural, one { relation is } other { relations are } }</b> not published yet and might lead to unexpected behavior.",
|
235
|
-
"popUpwarning.warning.bulk-has-draft-relations.message": "<b>{count} {count, plural, one { relation } other { relations } } out of {entities} { entities, plural, one { entry } other { entries } } {count, plural, one { is } other { are } }</b> not published yet and might lead to unexpected behavior. ",
|
236
237
|
"popover.display-relations.label": "Display relations",
|
237
238
|
"relation.add": "Add relation",
|
238
239
|
"relation.disconnect": "Remove",
|
@@ -288,4 +289,4 @@ exports.default = en;
|
|
288
289
|
exports.groups = groups;
|
289
290
|
exports.models = models;
|
290
291
|
exports.pageNotFound = pageNotFound;
|
291
|
-
//# sourceMappingURL=en-
|
292
|
+
//# sourceMappingURL=en-uOUIxfcQ.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"en-
|
1
|
+
{"version":3,"file":"en-uOUIxfcQ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1,17 +1,17 @@
|
|
1
|
-
import {
|
1
|
+
import { CrossCircle, More, WarningCircle, ListPlus, Pencil, Trash, Check, CheckCircle, ArrowsCounterClockwise, ChevronRight, Duplicate, ClockCounterClockwise, Feather } from "@strapi/icons";
|
2
2
|
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
3
|
-
import { useStrapiApp,
|
4
|
-
import { stringify } from "qs";
|
5
|
-
import { useIntl } from "react-intl";
|
6
|
-
import { useNavigate, useParams, Navigate, useMatch, useLocation, Link, NavLink } from "react-router-dom";
|
3
|
+
import { useStrapiApp, createContext, useAuth, useRBAC, Page, adminApi, translatedErrors, useNotification, useAPIErrorHandler, getYupValidationErrors, useQueryParams, useTracking, useForm, BackButton, DescriptionComponentRenderer, useTable, Table } from "@strapi/admin/strapi-admin";
|
7
4
|
import * as React from "react";
|
8
5
|
import { lazy } from "react";
|
9
6
|
import { Button, Menu, VisuallyHidden, Flex, Box, Typography, Dialog, Modal, Radio, Status, SingleSelect, SingleSelectOption, Loader, IconButton, Tooltip, LinkButton } from "@strapi/design-system";
|
7
|
+
import { useIntl } from "react-intl";
|
8
|
+
import { useParams, Navigate, useNavigate, useMatch, useLocation, Link, NavLink } from "react-router-dom";
|
10
9
|
import { styled } from "styled-components";
|
11
10
|
import * as yup from "yup";
|
12
11
|
import { ValidationError } from "yup";
|
13
12
|
import pipe from "lodash/fp/pipe";
|
14
13
|
import { intervalToDuration, isPast } from "date-fns";
|
14
|
+
import { stringify } from "qs";
|
15
15
|
import { createSlice, combineReducers } from "@reduxjs/toolkit";
|
16
16
|
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
17
17
|
const v = glob[path];
|
@@ -49,42 +49,6 @@ const useInjectionZone = (area) => {
|
|
49
49
|
const [page, position] = area.split(".");
|
50
50
|
return contentManagerPlugin.getInjectedComponents(page, position);
|
51
51
|
};
|
52
|
-
const HistoryAction = ({ model, document }) => {
|
53
|
-
const { formatMessage } = useIntl();
|
54
|
-
const [{ query }] = useQueryParams();
|
55
|
-
const navigate = useNavigate();
|
56
|
-
const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
|
57
|
-
if (!window.strapi.features.isEnabled("cms-content-history")) {
|
58
|
-
return null;
|
59
|
-
}
|
60
|
-
return {
|
61
|
-
icon: /* @__PURE__ */ jsx(ClockCounterClockwise, {}),
|
62
|
-
label: formatMessage({
|
63
|
-
id: "content-manager.history.document-action",
|
64
|
-
defaultMessage: "Content History"
|
65
|
-
}),
|
66
|
-
onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
|
67
|
-
disabled: (
|
68
|
-
/**
|
69
|
-
* The user is creating a new document.
|
70
|
-
* It hasn't been saved yet, so there's no history to go to
|
71
|
-
*/
|
72
|
-
!document || /**
|
73
|
-
* The document has been created but the current dimension has never been saved.
|
74
|
-
* For example, the user is creating a new locale in an existing document,
|
75
|
-
* so there's no history for the document in that locale
|
76
|
-
*/
|
77
|
-
!document.id || /**
|
78
|
-
* History is only available for content types created by the user.
|
79
|
-
* These have the `api::` prefix, as opposed to the ones created by Strapi or plugins,
|
80
|
-
* which start with `admin::` or `plugin::`
|
81
|
-
*/
|
82
|
-
!model.startsWith("api::")
|
83
|
-
),
|
84
|
-
position: "header"
|
85
|
-
};
|
86
|
-
};
|
87
|
-
HistoryAction.type = "history";
|
88
52
|
const ID = "id";
|
89
53
|
const CREATED_BY_ATTRIBUTE_NAME = "createdBy";
|
90
54
|
const UPDATED_BY_ATTRIBUTE_NAME = "updatedBy";
|
@@ -600,11 +564,11 @@ const createAttributeSchema = (attribute) => {
|
|
600
564
|
}
|
601
565
|
};
|
602
566
|
const addRequiredValidation = (attribute) => (schema) => {
|
603
|
-
if (attribute.required) {
|
604
|
-
return schema.required
|
605
|
-
|
606
|
-
|
607
|
-
|
567
|
+
if ((attribute.type === "component" && attribute.repeatable || attribute.type === "dynamiczone") && attribute.required && "min" in schema) {
|
568
|
+
return schema.min(1, translatedErrors.required);
|
569
|
+
}
|
570
|
+
if (attribute.required && attribute.type !== "relation") {
|
571
|
+
return schema.required(translatedErrors.required);
|
608
572
|
}
|
609
573
|
return schema?.nullable ? schema.nullable() : (
|
610
574
|
// In some cases '.nullable' will not be available on the schema.
|
@@ -638,6 +602,28 @@ const addMaxLengthValidation = (attribute) => (schema) => {
|
|
638
602
|
const addMinValidation = (attribute) => (schema) => {
|
639
603
|
if ("min" in attribute) {
|
640
604
|
const min = toInteger(attribute.min);
|
605
|
+
if (attribute.type === "component" && attribute.repeatable || attribute.type === "dynamiczone") {
|
606
|
+
if (!attribute.required && "test" in schema && min) {
|
607
|
+
return schema.test(
|
608
|
+
"custom-min",
|
609
|
+
{
|
610
|
+
...translatedErrors.min,
|
611
|
+
values: {
|
612
|
+
min: attribute.min
|
613
|
+
}
|
614
|
+
},
|
615
|
+
(value) => {
|
616
|
+
if (!value) {
|
617
|
+
return true;
|
618
|
+
}
|
619
|
+
if (Array.isArray(value) && value.length === 0) {
|
620
|
+
return true;
|
621
|
+
}
|
622
|
+
return value.length >= min;
|
623
|
+
}
|
624
|
+
);
|
625
|
+
}
|
626
|
+
}
|
641
627
|
if ("min" in schema && min) {
|
642
628
|
return schema.min(min, {
|
643
629
|
...translatedErrors.min,
|
@@ -764,7 +750,10 @@ const useDocument = (args, opts) => {
|
|
764
750
|
isLoading: isLoadingDocument,
|
765
751
|
isFetching: isFetchingDocument,
|
766
752
|
error
|
767
|
-
} = useGetDocumentQuery(args,
|
753
|
+
} = useGetDocumentQuery(args, {
|
754
|
+
...opts,
|
755
|
+
skip: !args.documentId && args.collectionType !== SINGLE_TYPES || opts?.skip
|
756
|
+
});
|
768
757
|
const { components, schema, isLoading: isLoadingSchema } = useContentTypeSchema(args.model);
|
769
758
|
React.useEffect(() => {
|
770
759
|
if (error) {
|
@@ -1266,7 +1255,7 @@ const useDocumentActions = () => {
|
|
1266
1255
|
};
|
1267
1256
|
};
|
1268
1257
|
const ProtectedHistoryPage = lazy(
|
1269
|
-
() => import("./History-
|
1258
|
+
() => import("./History-CBNGU7a-.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
|
1270
1259
|
);
|
1271
1260
|
const routes$1 = [
|
1272
1261
|
{
|
@@ -1279,31 +1268,31 @@ const routes$1 = [
|
|
1279
1268
|
}
|
1280
1269
|
];
|
1281
1270
|
const ProtectedEditViewPage = lazy(
|
1282
|
-
() => import("./EditViewPage-
|
1271
|
+
() => import("./EditViewPage-DlLEyUL6.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
|
1283
1272
|
);
|
1284
1273
|
const ProtectedListViewPage = lazy(
|
1285
|
-
() => import("./ListViewPage-
|
1274
|
+
() => import("./ListViewPage-DecLrYV6.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
|
1286
1275
|
);
|
1287
1276
|
const ProtectedListConfiguration = lazy(
|
1288
|
-
() => import("./ListConfigurationPage-
|
1277
|
+
() => import("./ListConfigurationPage-5dr4qpue.mjs").then((mod) => ({
|
1289
1278
|
default: mod.ProtectedListConfiguration
|
1290
1279
|
}))
|
1291
1280
|
);
|
1292
1281
|
const ProtectedEditConfigurationPage = lazy(
|
1293
|
-
() => import("./EditConfigurationPage-
|
1282
|
+
() => import("./EditConfigurationPage-ZO0vOO8q.mjs").then((mod) => ({
|
1294
1283
|
default: mod.ProtectedEditConfigurationPage
|
1295
1284
|
}))
|
1296
1285
|
);
|
1297
1286
|
const ProtectedComponentConfigurationPage = lazy(
|
1298
|
-
() => import("./ComponentConfigurationPage-
|
1287
|
+
() => import("./ComponentConfigurationPage-B1bIXVuX.mjs").then((mod) => ({
|
1299
1288
|
default: mod.ProtectedComponentConfigurationPage
|
1300
1289
|
}))
|
1301
1290
|
);
|
1302
1291
|
const NoPermissions = lazy(
|
1303
|
-
() => import("./NoPermissionsPage-
|
1292
|
+
() => import("./NoPermissionsPage-CM5UD8ee.mjs").then((mod) => ({ default: mod.NoPermissions }))
|
1304
1293
|
);
|
1305
1294
|
const NoContentType = lazy(
|
1306
|
-
() => import("./NoContentTypePage-
|
1295
|
+
() => import("./NoContentTypePage-CiIcfYsd.mjs").then((mod) => ({ default: mod.NoContentType }))
|
1307
1296
|
);
|
1308
1297
|
const CollectionTypePages = () => {
|
1309
1298
|
const { collectionType } = useParams();
|
@@ -1430,7 +1419,7 @@ const DocumentActionButton = (action) => {
|
|
1430
1419
|
DocumentActionConfirmDialog,
|
1431
1420
|
{
|
1432
1421
|
...action.dialog,
|
1433
|
-
variant: action.variant,
|
1422
|
+
variant: action.dialog?.variant ?? action.variant,
|
1434
1423
|
isOpen: dialogId === action.id,
|
1435
1424
|
onClose: handleClose
|
1436
1425
|
}
|
@@ -1636,8 +1625,8 @@ const DocumentActionModal = ({
|
|
1636
1625
|
};
|
1637
1626
|
return /* @__PURE__ */ jsx(Modal.Root, { open: isOpen, onOpenChange: handleClose, children: /* @__PURE__ */ jsxs(Modal.Content, { children: [
|
1638
1627
|
/* @__PURE__ */ jsx(Modal.Header, { children: /* @__PURE__ */ jsx(Modal.Title, { children: title }) }),
|
1639
|
-
typeof Content === "function" ? /* @__PURE__ */ jsx(Content, { onClose: handleClose }) :
|
1640
|
-
typeof Footer === "function" ? /* @__PURE__ */ jsx(Footer, { onClose: handleClose }) : Footer
|
1628
|
+
/* @__PURE__ */ jsx(Modal.Body, { children: typeof Content === "function" ? /* @__PURE__ */ jsx(Content, { onClose: handleClose }) : Content }),
|
1629
|
+
/* @__PURE__ */ jsx(Modal.Footer, { children: typeof Footer === "function" ? /* @__PURE__ */ jsx(Footer, { onClose: handleClose }) : Footer })
|
1641
1630
|
] }) });
|
1642
1631
|
};
|
1643
1632
|
const PublishAction$1 = ({
|
@@ -1659,6 +1648,12 @@ const PublishAction$1 = ({
|
|
1659
1648
|
({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 }) => ({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 })
|
1660
1649
|
);
|
1661
1650
|
const { publish } = useDocumentActions();
|
1651
|
+
const [
|
1652
|
+
countDraftRelations,
|
1653
|
+
{ isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }
|
1654
|
+
] = useLazyGetDraftRelationCountQuery();
|
1655
|
+
const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
|
1656
|
+
const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
|
1662
1657
|
const [{ query, rawQuery }] = useQueryParams();
|
1663
1658
|
const params = React.useMemo(() => buildValidParams(query), [query]);
|
1664
1659
|
const modified = useForm("PublishAction", ({ modified: modified2 }) => modified2);
|
@@ -1667,10 +1662,101 @@ const PublishAction$1 = ({
|
|
1667
1662
|
const validate = useForm("PublishAction", (state) => state.validate);
|
1668
1663
|
const setErrors = useForm("PublishAction", (state) => state.setErrors);
|
1669
1664
|
const formValues = useForm("PublishAction", ({ values }) => values);
|
1665
|
+
React.useEffect(() => {
|
1666
|
+
if (isErrorDraftRelations) {
|
1667
|
+
toggleNotification({
|
1668
|
+
type: "danger",
|
1669
|
+
message: formatMessage({
|
1670
|
+
id: getTranslation("error.records.fetch-draft-relatons"),
|
1671
|
+
defaultMessage: "An error occurred while fetching draft relations on this document."
|
1672
|
+
})
|
1673
|
+
});
|
1674
|
+
}
|
1675
|
+
}, [isErrorDraftRelations, toggleNotification, formatMessage]);
|
1676
|
+
React.useEffect(() => {
|
1677
|
+
const localDraftRelations = /* @__PURE__ */ new Set();
|
1678
|
+
const extractDraftRelations = (data) => {
|
1679
|
+
const relations = data.connect || [];
|
1680
|
+
relations.forEach((relation) => {
|
1681
|
+
if (relation.status === "draft") {
|
1682
|
+
localDraftRelations.add(relation.id);
|
1683
|
+
}
|
1684
|
+
});
|
1685
|
+
};
|
1686
|
+
const traverseAndExtract = (data) => {
|
1687
|
+
Object.entries(data).forEach(([key, value]) => {
|
1688
|
+
if (key === "connect" && Array.isArray(value)) {
|
1689
|
+
extractDraftRelations({ connect: value });
|
1690
|
+
} else if (typeof value === "object" && value !== null) {
|
1691
|
+
traverseAndExtract(value);
|
1692
|
+
}
|
1693
|
+
});
|
1694
|
+
};
|
1695
|
+
if (!documentId || modified) {
|
1696
|
+
traverseAndExtract(formValues);
|
1697
|
+
setLocalCountOfDraftRelations(localDraftRelations.size);
|
1698
|
+
}
|
1699
|
+
}, [documentId, modified, formValues, setLocalCountOfDraftRelations]);
|
1700
|
+
React.useEffect(() => {
|
1701
|
+
if (documentId) {
|
1702
|
+
const fetchDraftRelationsCount = async () => {
|
1703
|
+
const { data, error } = await countDraftRelations({
|
1704
|
+
collectionType,
|
1705
|
+
model,
|
1706
|
+
documentId,
|
1707
|
+
params
|
1708
|
+
});
|
1709
|
+
if (error) {
|
1710
|
+
throw error;
|
1711
|
+
}
|
1712
|
+
if (data) {
|
1713
|
+
setServerCountOfDraftRelations(data.data);
|
1714
|
+
}
|
1715
|
+
};
|
1716
|
+
fetchDraftRelationsCount();
|
1717
|
+
}
|
1718
|
+
}, [documentId, countDraftRelations, collectionType, model, params]);
|
1670
1719
|
const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc) => doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== "modified";
|
1671
1720
|
if (!schema?.options?.draftAndPublish) {
|
1672
1721
|
return null;
|
1673
1722
|
}
|
1723
|
+
const performPublish = async () => {
|
1724
|
+
setSubmitting(true);
|
1725
|
+
try {
|
1726
|
+
const { errors } = await validate();
|
1727
|
+
if (errors) {
|
1728
|
+
toggleNotification({
|
1729
|
+
type: "danger",
|
1730
|
+
message: formatMessage({
|
1731
|
+
id: "content-manager.validation.error",
|
1732
|
+
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
1733
|
+
})
|
1734
|
+
});
|
1735
|
+
return;
|
1736
|
+
}
|
1737
|
+
const res = await publish(
|
1738
|
+
{
|
1739
|
+
collectionType,
|
1740
|
+
model,
|
1741
|
+
documentId,
|
1742
|
+
params
|
1743
|
+
},
|
1744
|
+
formValues
|
1745
|
+
);
|
1746
|
+
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
1747
|
+
navigate({
|
1748
|
+
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
1749
|
+
search: rawQuery
|
1750
|
+
});
|
1751
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1752
|
+
setErrors(formatValidationErrors(res.error));
|
1753
|
+
}
|
1754
|
+
} finally {
|
1755
|
+
setSubmitting(false);
|
1756
|
+
}
|
1757
|
+
};
|
1758
|
+
const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
|
1759
|
+
const hasDraftRelations = totalDraftRelations > 0;
|
1674
1760
|
return {
|
1675
1761
|
/**
|
1676
1762
|
* Disabled when:
|
@@ -1683,46 +1769,38 @@ const PublishAction$1 = ({
|
|
1683
1769
|
* - the user doesn't have the permission to create a new document
|
1684
1770
|
* - the user doesn't have the permission to update the document
|
1685
1771
|
*/
|
1686
|
-
disabled: isCloning || isSubmitting || activeTab === "published" || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish || Boolean(!document?.documentId && !canCreate || document?.documentId && !canUpdate),
|
1772
|
+
disabled: isCloning || isSubmitting || isLoadingDraftRelations || activeTab === "published" || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish || Boolean(!document?.documentId && !canCreate || document?.documentId && !canUpdate),
|
1687
1773
|
label: formatMessage({
|
1688
1774
|
id: "app.utils.publish",
|
1689
1775
|
defaultMessage: "Publish"
|
1690
1776
|
}),
|
1691
1777
|
onClick: async () => {
|
1692
|
-
|
1693
|
-
|
1694
|
-
|
1695
|
-
|
1696
|
-
|
1697
|
-
|
1698
|
-
|
1699
|
-
|
1700
|
-
|
1701
|
-
|
1702
|
-
|
1703
|
-
|
1704
|
-
|
1705
|
-
|
1706
|
-
|
1707
|
-
|
1708
|
-
|
1709
|
-
|
1710
|
-
|
1711
|
-
|
1712
|
-
formValues
|
1713
|
-
);
|
1714
|
-
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
1715
|
-
navigate({
|
1716
|
-
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
1717
|
-
search: rawQuery
|
1718
|
-
});
|
1719
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1720
|
-
setErrors(formatValidationErrors(res.error));
|
1778
|
+
if (hasDraftRelations) {
|
1779
|
+
return;
|
1780
|
+
}
|
1781
|
+
await performPublish();
|
1782
|
+
},
|
1783
|
+
dialog: hasDraftRelations ? {
|
1784
|
+
type: "dialog",
|
1785
|
+
variant: "danger",
|
1786
|
+
footer: null,
|
1787
|
+
title: formatMessage({
|
1788
|
+
id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.title`),
|
1789
|
+
defaultMessage: "Confirmation"
|
1790
|
+
}),
|
1791
|
+
content: formatMessage(
|
1792
|
+
{
|
1793
|
+
id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),
|
1794
|
+
defaultMessage: "This entry is related to {count, plural, one {# draft entry} other {# draft entries}}. Publishing it could leave broken links in your app."
|
1795
|
+
},
|
1796
|
+
{
|
1797
|
+
count: totalDraftRelations
|
1721
1798
|
}
|
1722
|
-
|
1723
|
-
|
1799
|
+
),
|
1800
|
+
onConfirm: async () => {
|
1801
|
+
await performPublish();
|
1724
1802
|
}
|
1725
|
-
}
|
1803
|
+
} : void 0
|
1726
1804
|
};
|
1727
1805
|
};
|
1728
1806
|
PublishAction$1.type = "publish";
|
@@ -1821,10 +1899,13 @@ const UpdateAction = ({
|
|
1821
1899
|
document
|
1822
1900
|
);
|
1823
1901
|
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
1824
|
-
navigate(
|
1825
|
-
|
1826
|
-
|
1827
|
-
|
1902
|
+
navigate(
|
1903
|
+
{
|
1904
|
+
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
1905
|
+
search: rawQuery
|
1906
|
+
},
|
1907
|
+
{ replace: true }
|
1908
|
+
);
|
1828
1909
|
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1829
1910
|
setErrors(formatValidationErrors(res.error));
|
1830
1911
|
}
|
@@ -2070,23 +2151,13 @@ const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
|
|
2070
2151
|
id: "content-manager.containers.edit.title.new",
|
2071
2152
|
defaultMessage: "Create an entry"
|
2072
2153
|
}) : documentTitle;
|
2073
|
-
return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", paddingTop:
|
2154
|
+
return /* @__PURE__ */ jsxs(Flex, { direction: "column", alignItems: "flex-start", paddingTop: 6, paddingBottom: 4, gap: 2, children: [
|
2074
2155
|
/* @__PURE__ */ jsx(BackButton, {}),
|
2075
|
-
/* @__PURE__ */ jsxs(
|
2076
|
-
|
2077
|
-
{
|
2078
|
-
|
2079
|
-
|
2080
|
-
paddingTop: 1,
|
2081
|
-
gap: "80px",
|
2082
|
-
alignItems: "flex-start",
|
2083
|
-
children: [
|
2084
|
-
/* @__PURE__ */ jsx(Typography, { variant: "alpha", tag: "h1", children: title }),
|
2085
|
-
/* @__PURE__ */ jsx(HeaderToolbar, {})
|
2086
|
-
]
|
2087
|
-
}
|
2088
|
-
),
|
2089
|
-
status ? /* @__PURE__ */ jsx(DocumentStatus, { status: isCloning ? "draft" : status }) : null
|
2156
|
+
/* @__PURE__ */ jsxs(Flex, { width: "100%", justifyContent: "space-between", gap: "80px", alignItems: "flex-start", children: [
|
2157
|
+
/* @__PURE__ */ jsx(Typography, { variant: "alpha", tag: "h1", children: title }),
|
2158
|
+
/* @__PURE__ */ jsx(HeaderToolbar, {})
|
2159
|
+
] }),
|
2160
|
+
status ? /* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(DocumentStatus, { status: isCloning ? "draft" : status }) }) : null
|
2090
2161
|
] });
|
2091
2162
|
};
|
2092
2163
|
const HeaderToolbar = () => {
|
@@ -2777,7 +2848,7 @@ const ConfirmBulkActionDialog = ({
|
|
2777
2848
|
endAction
|
2778
2849
|
}) => {
|
2779
2850
|
const { formatMessage } = useIntl();
|
2780
|
-
return /* @__PURE__ */ jsx(Dialog.Root, {
|
2851
|
+
return /* @__PURE__ */ jsx(Dialog.Root, { open: isOpen, children: /* @__PURE__ */ jsxs(Dialog.Content, { children: [
|
2781
2852
|
/* @__PURE__ */ jsx(Dialog.Header, { children: formatMessage({
|
2782
2853
|
id: "app.components.ConfirmDialog.title",
|
2783
2854
|
defaultMessage: "Confirmation"
|
@@ -2898,7 +2969,14 @@ const formatErrorMessages = (errors, parentKey, formatMessage) => {
|
|
2898
2969
|
)
|
2899
2970
|
);
|
2900
2971
|
} else {
|
2901
|
-
messages.push(
|
2972
|
+
messages.push(
|
2973
|
+
...formatErrorMessages(
|
2974
|
+
// @ts-expect-error TODO: check why value is not compatible with FormErrors
|
2975
|
+
value,
|
2976
|
+
currentKey,
|
2977
|
+
formatMessage
|
2978
|
+
)
|
2979
|
+
);
|
2902
2980
|
}
|
2903
2981
|
} else {
|
2904
2982
|
messages.push(
|
@@ -3561,8 +3639,7 @@ class ContentManagerPlugin {
|
|
3561
3639
|
documentActions = [
|
3562
3640
|
...DEFAULT_ACTIONS,
|
3563
3641
|
...DEFAULT_TABLE_ROW_ACTIONS,
|
3564
|
-
...DEFAULT_HEADER_ACTIONS
|
3565
|
-
HistoryAction
|
3642
|
+
...DEFAULT_HEADER_ACTIONS
|
3566
3643
|
];
|
3567
3644
|
editViewSidePanels = [ActionsPanel];
|
3568
3645
|
headerActions = [];
|
@@ -3651,6 +3728,52 @@ const getPrintableType = (value) => {
|
|
3651
3728
|
}
|
3652
3729
|
return nativeType;
|
3653
3730
|
};
|
3731
|
+
const HistoryAction = ({ model, document }) => {
|
3732
|
+
const { formatMessage } = useIntl();
|
3733
|
+
const [{ query }] = useQueryParams();
|
3734
|
+
const navigate = useNavigate();
|
3735
|
+
const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
|
3736
|
+
if (!window.strapi.features.isEnabled("cms-content-history")) {
|
3737
|
+
return null;
|
3738
|
+
}
|
3739
|
+
return {
|
3740
|
+
icon: /* @__PURE__ */ jsx(ClockCounterClockwise, {}),
|
3741
|
+
label: formatMessage({
|
3742
|
+
id: "content-manager.history.document-action",
|
3743
|
+
defaultMessage: "Content History"
|
3744
|
+
}),
|
3745
|
+
onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
|
3746
|
+
disabled: (
|
3747
|
+
/**
|
3748
|
+
* The user is creating a new document.
|
3749
|
+
* It hasn't been saved yet, so there's no history to go to
|
3750
|
+
*/
|
3751
|
+
!document || /**
|
3752
|
+
* The document has been created but the current dimension has never been saved.
|
3753
|
+
* For example, the user is creating a new locale in an existing document,
|
3754
|
+
* so there's no history for the document in that locale
|
3755
|
+
*/
|
3756
|
+
!document.id || /**
|
3757
|
+
* History is only available for content types created by the user.
|
3758
|
+
* These have the `api::` prefix, as opposed to the ones created by Strapi or plugins,
|
3759
|
+
* which start with `admin::` or `plugin::`
|
3760
|
+
*/
|
3761
|
+
!model.startsWith("api::")
|
3762
|
+
),
|
3763
|
+
position: "header"
|
3764
|
+
};
|
3765
|
+
};
|
3766
|
+
HistoryAction.type = "history";
|
3767
|
+
const historyAdmin = {
|
3768
|
+
bootstrap(app) {
|
3769
|
+
const { addDocumentAction } = app.getPlugin("content-manager").apis;
|
3770
|
+
addDocumentAction((actions2) => {
|
3771
|
+
const indexOfDeleteAction = actions2.findIndex((action) => action.type === "delete");
|
3772
|
+
actions2.splice(indexOfDeleteAction, 0, HistoryAction);
|
3773
|
+
return actions2;
|
3774
|
+
});
|
3775
|
+
}
|
3776
|
+
};
|
3654
3777
|
const initialState = {
|
3655
3778
|
collectionTypeLinks: [],
|
3656
3779
|
components: [],
|
@@ -3706,7 +3829,7 @@ const index = {
|
|
3706
3829
|
app.router.addRoute({
|
3707
3830
|
path: "content-manager/*",
|
3708
3831
|
lazy: async () => {
|
3709
|
-
const { Layout } = await import("./layout-
|
3832
|
+
const { Layout } = await import("./layout-DPaHUusj.mjs");
|
3710
3833
|
return {
|
3711
3834
|
Component: Layout
|
3712
3835
|
};
|
@@ -3715,10 +3838,15 @@ const index = {
|
|
3715
3838
|
});
|
3716
3839
|
app.registerPlugin(cm.config);
|
3717
3840
|
},
|
3841
|
+
bootstrap(app) {
|
3842
|
+
if (typeof historyAdmin.bootstrap === "function") {
|
3843
|
+
historyAdmin.bootstrap(app);
|
3844
|
+
}
|
3845
|
+
},
|
3718
3846
|
async registerTrads({ locales }) {
|
3719
3847
|
const importedTrads = await Promise.all(
|
3720
3848
|
locales.map((locale) => {
|
3721
|
-
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-
|
3849
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-BrCTWlZv.mjs"), "./translations/es.json": () => import("./es-CeXiYflN.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr-CD9VFbPM.mjs"), "./translations/gu.json": () => import("./gu-CNpaMDpH.mjs"), "./translations/hi.json": () => import("./hi-Dwvd04m3.mjs"), "./translations/hu.json": () => import("./hu-CeYvaaO0.mjs"), "./translations/id.json": () => import("./id-BtwA9WJT.mjs"), "./translations/it.json": () => import("./it-BrVPqaf1.mjs"), "./translations/ja.json": () => import("./ja-CtsUxOvk.mjs"), "./translations/ko.json": () => import("./ko-HVQRlfUI.mjs"), "./translations/ml.json": () => import("./ml-BihZwQit.mjs"), "./translations/ms.json": () => import("./ms-m_WjyWx7.mjs"), "./translations/nl.json": () => import("./nl-D4R9gHx5.mjs"), "./translations/pl.json": () => import("./pl-sbx9mSt_.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-C71iDxnh.mjs"), "./translations/pt.json": () => import("./pt-BsaFvS8-.mjs"), "./translations/ru.json": () => import("./ru-BE6A4Exp.mjs"), "./translations/sa.json": () => import("./sa-Dag0k-Z8.mjs"), "./translations/sk.json": () => import("./sk-BFg-R8qJ.mjs"), "./translations/sv.json": () => import("./sv-CUnfWGsh.mjs"), "./translations/th.json": () => import("./th-BqbI8lIT.mjs"), "./translations/tr.json": () => import("./tr-CgeK3wJM.mjs"), "./translations/uk.json": () => import("./uk-CR-zDhAY.mjs"), "./translations/vi.json": () => import("./vi-DUXIk_fw.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BPQcRIyH.mjs"), "./translations/zh.json": () => import("./zh-BWZspA60.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
|
3722
3850
|
return {
|
3723
3851
|
data: prefixPluginTranslations(data, PLUGIN_ID),
|
3724
3852
|
locale
|
@@ -3777,4 +3905,4 @@ export {
|
|
3777
3905
|
useUpdateContentTypeConfigurationMutation as y,
|
3778
3906
|
extractContentTypeComponents as z
|
3779
3907
|
};
|
3780
|
-
//# sourceMappingURL=index-
|
3908
|
+
//# sourceMappingURL=index-BSn97i8U.mjs.map
|