@payloadcms/ui 3.23.0 → 3.24.0-canary.05013b2
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/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +2 -4
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Banner/index.d.ts.map +1 -1
- package/dist/elements/Banner/index.js +1 -2
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +6 -2
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +11 -12
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +5 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.d.ts +7 -3
- package/dist/elements/Card/index.d.ts.map +1 -1
- package/dist/elements/Card/index.js +0 -2
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +220 -99
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +7 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +2 -2
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +67 -39
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +28 -12
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +8 -4
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +3 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditUpload/index.js +1 -1
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -0
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +6 -2
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.d.ts +4 -0
- package/dist/elements/Link/formatUrl.d.ts.map +1 -0
- package/dist/elements/Link/formatUrl.js +87 -0
- package/dist/elements/Link/formatUrl.js.map +1 -0
- package/dist/elements/Link/index.d.ts +6 -0
- package/dist/elements/Link/index.d.ts.map +1 -0
- package/dist/elements/Link/index.js +58 -0
- package/dist/elements/Link/index.js.map +1 -0
- package/dist/elements/ListControls/index.d.ts +2 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +5 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts +5 -0
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +10 -13
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +3 -1
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +1 -2
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -2
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +2 -1
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +2 -2
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +1 -1
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts +2 -3
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +2 -2
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/SaveButton/index.d.ts +2 -3
- package/dist/elements/SaveButton/index.d.ts.map +1 -1
- package/dist/elements/SaveButton/index.js +3 -3
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts +2 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +2 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +32 -27
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts +5 -0
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +18 -25
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +1 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -9
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts +1 -2
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +2 -2
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +5 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.d.ts +2 -5
- package/dist/elements/ViewDescription/index.d.ts.map +1 -1
- package/dist/elements/ViewDescription/index.js +2 -2
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -0
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +2 -0
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +3 -1
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +2 -1
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-L6GW2VQ6.js} +2 -2
- package/dist/exports/client/chunk-ZZDNSFEW.js +26 -0
- package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-ZZDNSFEW.js.map} +4 -4
- package/dist/exports/client/index.d.ts +47 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +23 -23
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +1 -2
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -1
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +6 -4
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +5 -6
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +20 -4
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +1 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts +1 -0
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +5 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +4 -3
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +9 -13
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Config/index.d.ts +2 -2
- package/dist/providers/Config/index.d.ts.map +1 -1
- package/dist/providers/Config/index.js +17 -2
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +2 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +44 -41
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.d.ts +17 -0
- package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -0
- package/dist/providers/RouteTransition/ProgressBar/index.js +104 -0
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -0
- package/dist/providers/RouteTransition/ProgressBar/index.scss +21 -0
- package/dist/providers/RouteTransition/index.d.ts +51 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -0
- package/dist/providers/RouteTransition/index.js +133 -0
- package/dist/providers/RouteTransition/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildTableState.d.ts +1 -2
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +1 -0
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +22 -18
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts +5 -0
- package/dist/utilities/resolveFilterOptions.d.ts.map +1 -0
- package/dist/{forms/fieldSchemasToFormState/getFilterOptionsQuery.js → utilities/resolveFilterOptions.js} +2 -2
- package/dist/utilities/resolveFilterOptions.js.map +1 -0
- package/dist/views/Edit/index.d.ts +2 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +8 -4
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -4
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.d.ts +2 -24
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +7 -7
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.d.ts +1 -18
- package/dist/views/List/types.d.ts.map +1 -1
- package/dist/views/List/types.js.map +1 -1
- package/package.json +6 -6
- package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts +0 -7
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +0 -1
- package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CopyLocaleData/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CopyLocaleData/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAgB1C,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EA0LlC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
3
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
5
|
import { useModal } from '@faceless-ui/modal';
|
|
5
6
|
import { getTranslation } from '@payloadcms/translations';
|
|
@@ -12,25 +13,29 @@ import { useFormModified } from '../../forms/Form/context.js';
|
|
|
12
13
|
import { useConfig } from '../../providers/Config/index.js';
|
|
13
14
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
14
15
|
import { useLocale } from '../../providers/Locale/index.js';
|
|
16
|
+
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
15
17
|
import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
|
|
16
18
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
17
19
|
import { DrawerHeader } from '../BulkUpload/Header/index.js';
|
|
18
20
|
import { Button } from '../Button/index.js';
|
|
19
21
|
import { Drawer } from '../Drawer/index.js';
|
|
20
|
-
import './index.scss';
|
|
21
22
|
import { PopupList } from '../Popup/index.js';
|
|
23
|
+
import './index.scss';
|
|
22
24
|
const baseClass = 'copy-locale-data';
|
|
23
25
|
const drawerSlug = 'copy-locale';
|
|
24
26
|
export const CopyLocaleData = () => {
|
|
27
|
+
const $ = _c(38);
|
|
25
28
|
const {
|
|
26
|
-
config:
|
|
27
|
-
localization,
|
|
28
|
-
routes: {
|
|
29
|
-
admin
|
|
30
|
-
},
|
|
31
|
-
serverURL
|
|
32
|
-
}
|
|
29
|
+
config: t0
|
|
33
30
|
} = useConfig();
|
|
31
|
+
const {
|
|
32
|
+
localization,
|
|
33
|
+
routes: t1,
|
|
34
|
+
serverURL
|
|
35
|
+
} = t0;
|
|
36
|
+
const {
|
|
37
|
+
admin
|
|
38
|
+
} = t1;
|
|
34
39
|
const {
|
|
35
40
|
code
|
|
36
41
|
} = useLocale();
|
|
@@ -51,133 +56,249 @@ export const CopyLocaleData = () => {
|
|
|
51
56
|
copyDataFromLocale
|
|
52
57
|
} = useServerFunctions();
|
|
53
58
|
const router = useRouter();
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
59
|
+
const {
|
|
60
|
+
startRouteTransition
|
|
61
|
+
} = useRouteTransition();
|
|
62
|
+
let t2;
|
|
63
|
+
if ($[0] !== localization) {
|
|
64
|
+
t2 = localization && localization.locales.map(_temp) || [];
|
|
65
|
+
$[0] = localization;
|
|
66
|
+
$[1] = t2;
|
|
67
|
+
} else {
|
|
68
|
+
t2 = $[1];
|
|
69
|
+
}
|
|
70
|
+
const localeOptions = t2;
|
|
71
|
+
let t3;
|
|
72
|
+
if ($[2] !== code) {
|
|
73
|
+
t3 = locale_0 => locale_0.value !== code;
|
|
74
|
+
$[2] = code;
|
|
75
|
+
$[3] = t3;
|
|
76
|
+
} else {
|
|
77
|
+
t3 = $[3];
|
|
78
|
+
}
|
|
79
|
+
const localeOptionsWithoutCurrent = localeOptions.filter(t3);
|
|
80
|
+
let t4;
|
|
81
|
+
if ($[4] !== i18n || $[5] !== localization) {
|
|
82
|
+
t4 = code_0 => {
|
|
83
|
+
const locale_1 = localization && localization.locales.find(l => l.code === code_0);
|
|
84
|
+
return locale_1 && locale_1.label ? getTranslation(locale_1.label, i18n) : code_0;
|
|
85
|
+
};
|
|
86
|
+
$[4] = i18n;
|
|
87
|
+
$[5] = localization;
|
|
88
|
+
$[6] = t4;
|
|
89
|
+
} else {
|
|
90
|
+
t4 = $[6];
|
|
91
|
+
}
|
|
92
|
+
const getLocaleLabel = t4;
|
|
63
93
|
const [copying, setCopying] = React.useState(false);
|
|
64
94
|
const [toLocale, setToLocale] = React.useState(null);
|
|
65
95
|
const [fromLocale, setFromLocale] = React.useState(code);
|
|
66
96
|
const [overwriteExisting, setOverwriteExisting] = React.useState(false);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
let t5;
|
|
98
|
+
let t6;
|
|
99
|
+
if ($[7] !== code || $[8] !== fromLocale) {
|
|
100
|
+
t5 = () => {
|
|
101
|
+
if (fromLocale !== code) {
|
|
102
|
+
setFromLocale(code);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
t6 = [code, fromLocale];
|
|
106
|
+
$[7] = code;
|
|
107
|
+
$[8] = fromLocale;
|
|
108
|
+
$[9] = t5;
|
|
109
|
+
$[10] = t6;
|
|
110
|
+
} else {
|
|
111
|
+
t5 = $[9];
|
|
112
|
+
t6 = $[10];
|
|
113
|
+
}
|
|
114
|
+
React.useEffect(t5, t6);
|
|
115
|
+
let t7;
|
|
116
|
+
if ($[11] !== admin || $[12] !== collectionSlug || $[13] !== copyDataFromLocale || $[14] !== globalSlug || $[15] !== id || $[16] !== overwriteExisting || $[17] !== router || $[18] !== serverURL || $[19] !== startRouteTransition || $[20] !== toggleModal) {
|
|
117
|
+
t7 = async t8 => {
|
|
118
|
+
const {
|
|
119
|
+
from,
|
|
120
|
+
to
|
|
121
|
+
} = t8;
|
|
122
|
+
setCopying(true);
|
|
123
|
+
;
|
|
124
|
+
try {
|
|
125
|
+
await copyDataFromLocale({
|
|
126
|
+
collectionSlug,
|
|
127
|
+
docID: id,
|
|
128
|
+
fromLocale: from,
|
|
129
|
+
globalSlug,
|
|
130
|
+
overrideData: overwriteExisting,
|
|
131
|
+
toLocale: to
|
|
132
|
+
});
|
|
133
|
+
setCopying(false);
|
|
134
|
+
startRouteTransition(() => router.push(`${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`));
|
|
135
|
+
toggleModal(drawerSlug);
|
|
136
|
+
} catch (t9) {
|
|
137
|
+
const error = t9;
|
|
138
|
+
toast.error(error.message);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
$[11] = admin;
|
|
142
|
+
$[12] = collectionSlug;
|
|
143
|
+
$[13] = copyDataFromLocale;
|
|
144
|
+
$[14] = globalSlug;
|
|
145
|
+
$[15] = id;
|
|
146
|
+
$[16] = overwriteExisting;
|
|
147
|
+
$[17] = router;
|
|
148
|
+
$[18] = serverURL;
|
|
149
|
+
$[19] = startRouteTransition;
|
|
150
|
+
$[20] = toggleModal;
|
|
151
|
+
$[21] = t7;
|
|
152
|
+
} else {
|
|
153
|
+
t7 = $[21];
|
|
154
|
+
}
|
|
155
|
+
const copyLocaleData = t7;
|
|
93
156
|
if (!id && !globalSlug) {
|
|
94
157
|
return null;
|
|
95
158
|
}
|
|
96
|
-
|
|
97
|
-
|
|
159
|
+
let t8;
|
|
160
|
+
if ($[22] !== modified || $[23] !== t || $[24] !== toggleModal) {
|
|
161
|
+
t8 = () => {
|
|
162
|
+
if (modified) {
|
|
163
|
+
toast.info(t("general:unsavedChanges"));
|
|
164
|
+
} else {
|
|
165
|
+
toggleModal(drawerSlug);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
$[22] = modified;
|
|
169
|
+
$[23] = t;
|
|
170
|
+
$[24] = toggleModal;
|
|
171
|
+
$[25] = t8;
|
|
172
|
+
} else {
|
|
173
|
+
t8 = $[25];
|
|
174
|
+
}
|
|
175
|
+
let t9;
|
|
176
|
+
if ($[26] !== toggleModal) {
|
|
177
|
+
t9 = () => {
|
|
178
|
+
toggleModal(drawerSlug);
|
|
179
|
+
};
|
|
180
|
+
$[26] = toggleModal;
|
|
181
|
+
$[27] = t9;
|
|
182
|
+
} else {
|
|
183
|
+
t9 = $[27];
|
|
184
|
+
}
|
|
185
|
+
let t10;
|
|
186
|
+
if ($[28] !== copyLocaleData || $[29] !== copying || $[30] !== fromLocale || $[31] !== t || $[32] !== toLocale) {
|
|
187
|
+
t10 = async () => {
|
|
188
|
+
if (fromLocale === toLocale) {
|
|
189
|
+
toast.error(t("localization:cannotCopySameLocale"));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
if (!copying) {
|
|
193
|
+
await copyLocaleData({
|
|
194
|
+
from: fromLocale,
|
|
195
|
+
to: toLocale
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
$[28] = copyLocaleData;
|
|
200
|
+
$[29] = copying;
|
|
201
|
+
$[30] = fromLocale;
|
|
202
|
+
$[31] = t;
|
|
203
|
+
$[32] = toLocale;
|
|
204
|
+
$[33] = t10;
|
|
205
|
+
} else {
|
|
206
|
+
t10 = $[33];
|
|
207
|
+
}
|
|
208
|
+
let t11;
|
|
209
|
+
if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
|
|
210
|
+
t11 = selectedOption => {
|
|
211
|
+
if (selectedOption?.value) {
|
|
212
|
+
setFromLocale(selectedOption.value);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
$[34] = t11;
|
|
216
|
+
} else {
|
|
217
|
+
t11 = $[34];
|
|
218
|
+
}
|
|
219
|
+
let t12;
|
|
220
|
+
if ($[35] === Symbol.for("react.memo_cache_sentinel")) {
|
|
221
|
+
t12 = selectedOption_0 => {
|
|
222
|
+
if (selectedOption_0?.value) {
|
|
223
|
+
setToLocale(selectedOption_0.value);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
$[35] = t12;
|
|
227
|
+
} else {
|
|
228
|
+
t12 = $[35];
|
|
229
|
+
}
|
|
230
|
+
let t13;
|
|
231
|
+
if ($[36] !== overwriteExisting) {
|
|
232
|
+
t13 = () => setOverwriteExisting(!overwriteExisting);
|
|
233
|
+
$[36] = overwriteExisting;
|
|
234
|
+
$[37] = t13;
|
|
235
|
+
} else {
|
|
236
|
+
t13 = $[37];
|
|
237
|
+
}
|
|
238
|
+
return _jsxs(React.Fragment, {
|
|
239
|
+
children: [_jsx(PopupList.Button, {
|
|
98
240
|
id: `${baseClass}__button`,
|
|
99
|
-
onClick:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
} else {
|
|
103
|
-
toggleModal(drawerSlug);
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
children: t('localization:copyToLocale')
|
|
107
|
-
}), /*#__PURE__*/_jsxs(Drawer, {
|
|
241
|
+
onClick: t8,
|
|
242
|
+
children: t("localization:copyToLocale")
|
|
243
|
+
}), _jsxs(Drawer, {
|
|
108
244
|
className: baseClass,
|
|
109
245
|
gutter: false,
|
|
110
|
-
Header:
|
|
111
|
-
onClose:
|
|
112
|
-
|
|
113
|
-
},
|
|
114
|
-
title: t('localization:copyToLocale')
|
|
246
|
+
Header: _jsx(DrawerHeader, {
|
|
247
|
+
onClose: t9,
|
|
248
|
+
title: t("localization:copyToLocale")
|
|
115
249
|
}),
|
|
116
250
|
slug: drawerSlug,
|
|
117
|
-
children: [
|
|
251
|
+
children: [_jsxs("div", {
|
|
118
252
|
className: `${baseClass}__sub-header`,
|
|
119
|
-
children: [
|
|
120
|
-
children: fromLocale && toLocale ?
|
|
121
|
-
children: t(
|
|
253
|
+
children: [_jsx("span", {
|
|
254
|
+
children: fromLocale && toLocale ? _jsx("div", {
|
|
255
|
+
children: t("localization:copyFromTo", {
|
|
122
256
|
from: getLocaleLabel(fromLocale),
|
|
123
257
|
to: getLocaleLabel(toLocale)
|
|
124
258
|
})
|
|
125
|
-
}) : t(
|
|
126
|
-
}),
|
|
259
|
+
}) : t("localization:selectLocaleToCopy")
|
|
260
|
+
}), _jsx(Button, {
|
|
127
261
|
buttonStyle: "primary",
|
|
128
262
|
disabled: !fromLocale || !toLocale,
|
|
129
263
|
iconPosition: "left",
|
|
130
|
-
onClick:
|
|
131
|
-
if (fromLocale === toLocale) {
|
|
132
|
-
toast.error(t('localization:cannotCopySameLocale'));
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
if (!copying) {
|
|
136
|
-
await copyLocaleData({
|
|
137
|
-
from: fromLocale,
|
|
138
|
-
to: toLocale
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
},
|
|
264
|
+
onClick: t10,
|
|
142
265
|
size: "medium",
|
|
143
|
-
children: copying ? t(
|
|
266
|
+
children: copying ? t("general:copying") + "..." : t("general:copy")
|
|
144
267
|
})]
|
|
145
|
-
}),
|
|
268
|
+
}), _jsxs("div", {
|
|
146
269
|
className: `${baseClass}__content`,
|
|
147
|
-
children: [
|
|
148
|
-
label: t(
|
|
149
|
-
name:
|
|
150
|
-
onChange:
|
|
151
|
-
if (selectedOption?.value) {
|
|
152
|
-
setFromLocale(selectedOption.value);
|
|
153
|
-
}
|
|
154
|
-
},
|
|
270
|
+
children: [_jsx(SelectInput, {
|
|
271
|
+
label: t("localization:copyFrom"),
|
|
272
|
+
name: "fromLocale",
|
|
273
|
+
onChange: t11,
|
|
155
274
|
options: localeOptions,
|
|
156
275
|
path: "fromLocale",
|
|
157
276
|
readOnly: true,
|
|
158
277
|
value: fromLocale
|
|
159
|
-
}),
|
|
160
|
-
label: t(
|
|
278
|
+
}), _jsx(SelectInput, {
|
|
279
|
+
label: t("localization:copyTo"),
|
|
161
280
|
name: "toLocale",
|
|
162
|
-
onChange:
|
|
163
|
-
if (selectedOption_0?.value) {
|
|
164
|
-
setToLocale(selectedOption_0.value);
|
|
165
|
-
}
|
|
166
|
-
},
|
|
281
|
+
onChange: t12,
|
|
167
282
|
options: localeOptionsWithoutCurrent,
|
|
168
283
|
path: "toLocale",
|
|
169
284
|
value: toLocale
|
|
170
|
-
}),
|
|
285
|
+
}), _jsx(CheckboxField, {
|
|
171
286
|
checked: overwriteExisting,
|
|
172
287
|
field: {
|
|
173
|
-
name:
|
|
174
|
-
label: t(
|
|
288
|
+
name: "overwriteExisting",
|
|
289
|
+
label: t("general:overwriteExistingData")
|
|
175
290
|
},
|
|
176
|
-
onChange:
|
|
177
|
-
path:
|
|
291
|
+
onChange: t13,
|
|
292
|
+
path: "overwriteExisting"
|
|
178
293
|
})]
|
|
179
294
|
})]
|
|
180
295
|
})]
|
|
181
296
|
});
|
|
182
297
|
};
|
|
298
|
+
function _temp(locale) {
|
|
299
|
+
return {
|
|
300
|
+
label: locale.label,
|
|
301
|
+
value: locale.code
|
|
302
|
+
};
|
|
303
|
+
}
|
|
183
304
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","config","localization","routes","admin","serverURL","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","localeOptions","locales","map","locale","label","value","localeOptionsWithoutCurrent","filter","getLocaleLabel","find","l","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","useEffect","copyLocaleData","from","to","docID","overrideData","push","error","message","_jsxs","Fragment","_jsx","onClick","info","className","gutter","Header","onClose","title","slug","buttonStyle","disabled","iconPosition","size","name","onChange","selectedOption","options","path","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport './index.scss'\nimport { PopupList } from '../Popup/index.js'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n serverURL,\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n )\n toggleModal(drawerSlug)\n } catch (error) {\n toast.error(error.message)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n serverURL,\n admin,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useRouteTransition","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","$","config","t0","localization","routes","t1","serverURL","admin","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","startRouteTransition","t2","locales","map","_temp","localeOptions","t3","locale_0","locale","value","localeOptionsWithoutCurrent","filter","t4","code_0","locale_1","find","l","label","getLocaleLabel","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","t5","t6","useEffect","t7","t8","from","to","docID","overrideData","push","t9","error","message","copyLocaleData","info","t10","t11","Symbol","for","selectedOption","t12","selectedOption_0","t13","_jsxs","Fragment","children","_jsx","onClick","className","gutter","Header","onClose","title","buttonStyle","disabled","iconPosition","size","name","onChange","options","path","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n serverURL,\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n\n startRouteTransition(() =>\n router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n ),\n )\n\n toggleModal(drawerSlug)\n } catch (error) {\n toast.error(error.message)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n serverURL,\n admin,\n startRouteTransition,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAc9E,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+L1C,CAAA"}
|
|
@@ -10,6 +10,7 @@ import { useForm } from '../../forms/Form/context.js';
|
|
|
10
10
|
import { useConfig } from '../../providers/Config/index.js';
|
|
11
11
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
12
12
|
import { useEditDepth } from '../../providers/EditDepth/index.js';
|
|
13
|
+
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
13
14
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
14
15
|
import { requests } from '../../utilities/api.js';
|
|
15
16
|
import { formatAdminURL } from '../../utilities/formatAdminURL.js';
|
|
@@ -59,6 +60,9 @@ export const DeleteDocument = props => {
|
|
|
59
60
|
title
|
|
60
61
|
} = useDocumentInfo();
|
|
61
62
|
const editDepth = useEditDepth();
|
|
63
|
+
const {
|
|
64
|
+
startRouteTransition
|
|
65
|
+
} = useRouteTransition();
|
|
62
66
|
const titleToRender = titleFromProps || title || id;
|
|
63
67
|
const modalSlug = `delete-${id}`;
|
|
64
68
|
const addDefaultError = useCallback(() => {
|
|
@@ -92,10 +96,10 @@ export const DeleteDocument = props => {
|
|
|
92
96
|
title
|
|
93
97
|
}) || json.message);
|
|
94
98
|
if (redirectAfterDelete) {
|
|
95
|
-
return router.push(formatAdminURL({
|
|
99
|
+
return startRouteTransition(() => router.push(formatAdminURL({
|
|
96
100
|
adminRoute,
|
|
97
101
|
path: `/collections/${collectionSlug}`
|
|
98
|
-
}));
|
|
102
|
+
})));
|
|
99
103
|
}
|
|
100
104
|
if (typeof onDelete === 'function') {
|
|
101
105
|
await onDelete({
|
|
@@ -120,7 +124,7 @@ export const DeleteDocument = props => {
|
|
|
120
124
|
} catch (e) {
|
|
121
125
|
addDefaultError();
|
|
122
126
|
}
|
|
123
|
-
}, [setModified, serverURL, api, collectionSlug, id, toggleModal, modalSlug, t, singularLabel, i18n, title, router, adminRoute, addDefaultError, redirectAfterDelete, onDelete, collectionConfig]);
|
|
127
|
+
}, [setModified, serverURL, api, collectionSlug, id, toggleModal, modalSlug, t, singularLabel, i18n, title, router, adminRoute, addDefaultError, redirectAfterDelete, onDelete, collectionConfig, startRouteTransition]);
|
|
124
128
|
if (id) {
|
|
125
129
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
126
130
|
children: [/*#__PURE__*/_jsx(PopupList.Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useEffect","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useTranslation","requests","formatAdminURL","Button","drawerZBase","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","setModified","deleting","setDeleting","closeModal","toggleModal","router","i18n","t","editDepth","titleToRender","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","path","errors","forEach","e","_jsxs","Fragment","_jsx","onClick","className","slug","style","zIndex","elements","1","children","i18nKey","variables","buttonStyle","undefined","size","type"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { setModified } = useForm()\n const [deleting, setDeleting] = useState(false)\n const { closeModal, toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n const editDepth = useEditDepth()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n setDeleting(false)\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n useEffect(() => {\n return () => {\n closeModal(modalSlug)\n }\n }, [closeModal, modalSlug])\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n setModified(false)\n\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n setDeleting(false)\n toggleModal(modalSlug)\n\n toast.success(\n t('general:titleDeleted', { label: getTranslation(singularLabel, i18n), title }) ||\n json.message,\n )\n\n if (redirectAfterDelete) {\n return router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n toggleModal(modalSlug)\n\n return\n }\n\n toggleModal(modalSlug)\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n } catch (e) {\n addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n toggleModal,\n modalSlug,\n t,\n singularLabel,\n i18n,\n title,\n router,\n adminRoute,\n addDefaultError,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n setDeleting(false)\n toggleModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <Modal\n className={baseClass}\n slug={modalSlug}\n style={{\n zIndex: drawerZBase + editDepth,\n }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:confirmDeletion')}</h1>\n <p>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleToRender,\n }}\n />\n </p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={deleting ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-delete\"\n onClick={() => {\n if (!deleting) {\n void handleDelete()\n }\n }}\n size=\"large\"\n >\n {deleting ? t('general:deleting') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useEffect","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useRouteTransition","useTranslation","requests","formatAdminURL","Button","drawerZBase","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","setModified","deleting","setDeleting","closeModal","toggleModal","router","i18n","t","editDepth","startRouteTransition","titleToRender","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","path","errors","forEach","e","_jsxs","Fragment","_jsx","onClick","className","slug","style","zIndex","elements","1","children","i18nKey","variables","buttonStyle","undefined","size","type"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { setModified } = useForm()\n const [deleting, setDeleting] = useState(false)\n const { closeModal, toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n const editDepth = useEditDepth()\n const { startRouteTransition } = useRouteTransition()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n setDeleting(false)\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n useEffect(() => {\n return () => {\n closeModal(modalSlug)\n }\n }, [closeModal, modalSlug])\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n setModified(false)\n\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n setDeleting(false)\n toggleModal(modalSlug)\n\n toast.success(\n t('general:titleDeleted', { label: getTranslation(singularLabel, i18n), title }) ||\n json.message,\n )\n\n if (redirectAfterDelete) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n ),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n toggleModal(modalSlug)\n\n return\n }\n\n toggleModal(modalSlug)\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n } catch (e) {\n addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n toggleModal,\n modalSlug,\n t,\n singularLabel,\n i18n,\n title,\n router,\n adminRoute,\n addDefaultError,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n setDeleting(false)\n toggleModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <Modal\n className={baseClass}\n slug={modalSlug}\n style={{\n zIndex: drawerZBase + editDepth,\n }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:confirmDeletion')}</h1>\n <p>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleToRender,\n }}\n />\n </p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={deleting ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-delete\"\n onClick={() => {\n if (!deleting) {\n void handleDelete()\n }\n }}\n size=\"large\"\n >\n {deleting ? t('general:deleting') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAgC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8JtC,CAAA"}
|
|
@@ -15,8 +15,8 @@ import { useTranslation } from '../../providers/Translation/index.js';
|
|
|
15
15
|
import { requests } from '../../utilities/api.js';
|
|
16
16
|
import { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js';
|
|
17
17
|
import { Button } from '../Button/index.js';
|
|
18
|
-
import './index.scss';
|
|
19
18
|
import { Pill } from '../Pill/index.js';
|
|
19
|
+
import './index.scss';
|
|
20
20
|
const baseClass = 'delete-documents';
|
|
21
21
|
export const DeleteMany = props => {
|
|
22
22
|
const {
|
|
@@ -138,7 +138,7 @@ export const DeleteMany = props => {
|
|
|
138
138
|
}), /*#__PURE__*/_jsx("p", {
|
|
139
139
|
children: t('general:aboutToDeleteCount', {
|
|
140
140
|
count,
|
|
141
|
-
label: getTranslation(plural, i18n)
|
|
141
|
+
label: getTranslation(count > 1 ? plural : singular, i18n)
|
|
142
142
|
})
|
|
143
143
|
})]
|
|
144
144
|
}), /*#__PURE__*/_jsxs("div", {
|