@payloadcms/ui 3.24.0-canary.f229d8d → 3.25.0-canary.36940b2
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/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +143 -108
- package/dist/elements/Autosave/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 +1 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +21 -5
- package/dist/elements/ConfirmationModal/index.d.ts +16 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -0
- package/dist/elements/ConfirmationModal/index.js +157 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -0
- package/dist/elements/{GenerateConfirmation → ConfirmationModal}/index.scss +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +2 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/types.d.ts +1 -0
- package/dist/elements/DatePicker/types.d.ts.map +1 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +31 -79
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.scss +0 -29
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +18 -45
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.scss +14 -27
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts +0 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +25 -54
- 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/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +22 -14
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditMany/index.scss +5 -19
- 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/GenerateConfirmation/index.d.ts +1 -2
- package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +23 -47
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +56 -113
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts +9 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +17 -19
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +5 -0
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +4 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +8 -1
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListSelection/index.d.ts +4 -0
- package/dist/elements/ListSelection/index.d.ts.map +1 -1
- package/dist/elements/ListSelection/index.js +44 -23
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +4 -0
- package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +11 -8
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +2 -0
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +1 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +2 -0
- package/dist/elements/Popup/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/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 +2 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +6 -2
- 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 +20 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +21 -46
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/PublishMany/index.scss +14 -32
- package/dist/elements/RelationshipTable/index.d.ts +7 -2
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +69 -23
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.scss +6 -0
- 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/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +173 -154
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/Status/index.scss +0 -41
- package/dist/elements/StayLoggedIn/index.d.ts +0 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +45 -77
- package/dist/elements/StayLoggedIn/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/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +1 -0
- package/dist/elements/TableColumns/RenderDefaultCell/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/buildPolymorphicColumnState.d.ts +20 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js +200 -0
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
- package/dist/elements/TableColumns/index.d.ts +2 -3
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +4 -3
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +1 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +16 -43
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/UnpublishMany/index.scss +14 -32
- 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/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +9 -5
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/exports/client/{CodeEditor-L6GW2VQ6.js → CodeEditor-G3Y4UHC4.js} +2 -2
- package/dist/exports/client/{CodeEditor-L6GW2VQ6.js.map → CodeEditor-G3Y4UHC4.js.map} +0 -1
- package/dist/exports/client/{DatePicker-THCU4KZJ.js → DatePicker-HHQ6TPOW.js} +2 -2
- package/dist/exports/client/{DatePicker-THCU4KZJ.js.map → DatePicker-HHQ6TPOW.js.map} +0 -1
- package/dist/exports/client/{chunk-ZZDNSFEW.js → chunk-4L367VSB.js} +2 -2
- package/dist/exports/client/{chunk-ZZDNSFEW.js.map → chunk-4L367VSB.js.map} +2 -3
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -1
- package/dist/exports/client/{chunk-EG3ZOHFS.js → chunk-IMEQ6NKQ.js} +2 -2
- package/dist/exports/client/{chunk-EG3ZOHFS.js.map → chunk-IMEQ6NKQ.js.map} +3 -4
- package/dist/exports/client/index.d.ts +46 -4
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +4 -5
- package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +85 -103
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.scss +43 -0
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +24 -6
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +8 -3
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +2 -0
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.scss +2 -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 +13 -13
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/context.d.ts +3 -3
- package/dist/forms/Form/context.js +3 -3
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +19 -8
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +2 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +6 -0
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/useField/index.d.ts +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/icons/Dots/index.d.ts +7 -0
- package/dist/icons/Dots/index.d.ts.map +1 -0
- package/dist/icons/Dots/index.js +12 -0
- package/dist/icons/Dots/index.js.map +1 -0
- package/dist/icons/Dots/index.scss +27 -0
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +5 -6
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildTableState.d.ts +1 -2
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js +72 -20
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +20 -14
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +3 -6
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +6 -4
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +49 -17
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts +5 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.js +11 -14
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +56 -55
- package/dist/views/Edit/Auth/index.js.map +1 -1
- 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 +3 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +2 -0
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +5 -0
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.d.ts +2 -25
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +17 -23
- 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 +5 -5
- package/dist/elements/DuplicateDocument/index.scss +0 -42
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
- package/dist/elements/StayLoggedIn/index.scss +0 -40
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import {
|
|
5
|
-
import React from 'react';
|
|
4
|
+
import { useModal } from '@faceless-ui/modal';
|
|
5
|
+
import React, { useCallback } from 'react';
|
|
6
6
|
import { toast } from 'sonner';
|
|
7
7
|
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
8
8
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
9
9
|
import { Button } from '../Button/index.js';
|
|
10
|
+
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
10
11
|
import { Translation } from '../Translation/index.js';
|
|
11
|
-
|
|
12
|
-
const baseClass = 'generate-confirmation';
|
|
13
|
-
export const GenerateConfirmation = props => {
|
|
12
|
+
export function GenerateConfirmation(props) {
|
|
14
13
|
const {
|
|
15
14
|
highlightField,
|
|
16
15
|
setKey
|
|
@@ -25,12 +24,11 @@ export const GenerateConfirmation = props => {
|
|
|
25
24
|
t
|
|
26
25
|
} = useTranslation();
|
|
27
26
|
const modalSlug = `generate-confirmation-${id}`;
|
|
28
|
-
const handleGenerate = () => {
|
|
27
|
+
const handleGenerate = useCallback(() => {
|
|
29
28
|
setKey();
|
|
30
|
-
toggleModal(modalSlug);
|
|
31
29
|
toast.success(t('authentication:newAPIKeyGenerated'));
|
|
32
30
|
highlightField(true);
|
|
33
|
-
};
|
|
31
|
+
}, [highlightField, setKey, t]);
|
|
34
32
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
35
33
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
36
34
|
buttonStyle: "secondary",
|
|
@@ -39,45 +37,23 @@ export const GenerateConfirmation = props => {
|
|
|
39
37
|
},
|
|
40
38
|
size: "small",
|
|
41
39
|
children: t('authentication:generateNewAPIKey')
|
|
42
|
-
}), /*#__PURE__*/_jsx(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
})
|
|
59
|
-
},
|
|
60
|
-
i18nKey: "authentication:generatingNewAPIKeyWillInvalidate",
|
|
61
|
-
t: t
|
|
62
|
-
})
|
|
63
|
-
})]
|
|
64
|
-
}), /*#__PURE__*/_jsxs("div", {
|
|
65
|
-
className: `${baseClass}__controls`,
|
|
66
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
67
|
-
buttonStyle: "secondary",
|
|
68
|
-
onClick: () => {
|
|
69
|
-
toggleModal(modalSlug);
|
|
70
|
-
},
|
|
71
|
-
size: "large",
|
|
72
|
-
type: "button",
|
|
73
|
-
children: t('general:cancel')
|
|
74
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
75
|
-
onClick: handleGenerate,
|
|
76
|
-
children: t('authentication:generate')
|
|
77
|
-
})]
|
|
78
|
-
})]
|
|
79
|
-
})
|
|
40
|
+
}), /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
41
|
+
body: /*#__PURE__*/_jsx(Translation, {
|
|
42
|
+
elements: {
|
|
43
|
+
1: ({
|
|
44
|
+
children
|
|
45
|
+
}) => /*#__PURE__*/_jsx("strong", {
|
|
46
|
+
children: children
|
|
47
|
+
})
|
|
48
|
+
},
|
|
49
|
+
i18nKey: "authentication:generatingNewAPIKeyWillInvalidate",
|
|
50
|
+
t: t
|
|
51
|
+
}),
|
|
52
|
+
confirmLabel: t('authentication:generate'),
|
|
53
|
+
heading: t('authentication:confirmGeneration'),
|
|
54
|
+
modalSlug: modalSlug,
|
|
55
|
+
onConfirm: handleGenerate
|
|
80
56
|
})]
|
|
81
57
|
});
|
|
82
|
-
}
|
|
58
|
+
}
|
|
83
59
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useDocumentInfo","useTranslation","Button","ConfirmationModal","Translation","GenerateConfirmation","props","highlightField","setKey","id","toggleModal","t","modalSlug","handleGenerate","success","_jsxs","Fragment","_jsx","buttonStyle","onClick","size","body","elements","children","i18nKey","confirmLabel","heading","onConfirm"],"sources":["../../../src/elements/GenerateConfirmation/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { Translation } from '../Translation/index.js'\n\nexport type GenerateConfirmationProps = {\n highlightField: (Boolean) => void\n setKey: () => void\n}\n\nexport function GenerateConfirmation(props: GenerateConfirmationProps) {\n const { highlightField, setKey } = props\n\n const { id } = useDocumentInfo()\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n const modalSlug = `generate-confirmation-${id}`\n\n const handleGenerate = useCallback(() => {\n setKey()\n toast.success(t('authentication:newAPIKeyGenerated'))\n highlightField(true)\n }, [highlightField, setKey, t])\n\n return (\n <React.Fragment>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(modalSlug)\n }}\n size=\"small\"\n >\n {t('authentication:generateNewAPIKey')}\n </Button>\n <ConfirmationModal\n body={\n <Translation\n elements={{\n 1: ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"authentication:generatingNewAPIKeyWillInvalidate\"\n t={t}\n />\n }\n confirmLabel={t('authentication:generate')}\n heading={t('authentication:confirmGeneration')}\n modalSlug={modalSlug}\n onConfirm={handleGenerate}\n />\n </React.Fragment>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,QAAQ;AACnC,SAASC,KAAK,QAAQ;AAEtB,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAO5B,OAAO,SAASC,qBAAqBC,KAAgC;EACnE,MAAM;IAAEC,cAAc;IAAEC;EAAM,CAAE,GAAGF,KAAA;EAEnC,MAAM;IAAEG;EAAE,CAAE,GAAGT,eAAA;EACf,MAAM;IAAEU;EAAW,CAAE,GAAGd,QAAA;EACxB,MAAM;IAAEe;EAAC,CAAE,GAAGV,cAAA;EAEd,MAAMW,SAAA,GAAY,yBAAyBH,EAAA,EAAI;EAE/C,MAAMI,cAAA,GAAiBf,WAAA,CAAY;IACjCU,MAAA;IACAT,KAAA,CAAMe,OAAO,CAACH,CAAA,CAAE;IAChBJ,cAAA,CAAe;EACjB,GAAG,CAACA,cAAA,EAAgBC,MAAA,EAAQG,CAAA,CAAE;EAE9B,oBACEI,KAAA,CAAClB,KAAA,CAAMmB,QAAQ;4BACbC,IAAA,CAACf,MAAA;MACCgB,WAAA,EAAY;MACZC,OAAA,EAASA,CAAA;QACPT,WAAA,CAAYE,SAAA;MACd;MACAQ,IAAA,EAAK;gBAEJT,CAAA,CAAE;qBAELM,IAAA,CAACd,iBAAA;MACCkB,IAAA,eACEJ,IAAA,CAACb,WAAA;QACCkB,QAAA,EAAU;UACR,GAAG,CAAC;YAAEC;UAAQ,CAAE,kBAAKN,IAAA,CAAC;sBAAQM;;QAChC;QACAC,OAAA,EAAQ;QACRb,CAAA,EAAGA;;MAGPc,YAAA,EAAcd,CAAA,CAAE;MAChBe,OAAA,EAASf,CAAA,CAAE;MACXC,SAAA,EAAWA,SAAA;MACXe,SAAA,EAAWd;;;AAInB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAa1C,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAuCtC,CAAA"}
|
|
@@ -1,166 +1,109 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { jsx as _jsx
|
|
5
|
-
import React, { useCallback
|
|
6
|
-
import { useFormModified } from '../../forms/Form/index.js';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import React, { useCallback } from 'react';
|
|
6
|
+
import { useForm, useFormModified } from '../../forms/Form/index.js';
|
|
7
7
|
import { useAuth } from '../../providers/Auth/index.js';
|
|
8
8
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import './index.scss';
|
|
9
|
+
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
10
|
+
import { useModal } from '../Modal/index.js';
|
|
12
11
|
import { usePreventLeave } from './usePreventLeave.js';
|
|
13
12
|
const modalSlug = 'leave-without-saving';
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const $ = _c(9);
|
|
17
|
-
const {
|
|
18
|
-
isActive,
|
|
19
|
-
onCancel,
|
|
20
|
-
onConfirm
|
|
21
|
-
} = t0;
|
|
13
|
+
export const LeaveWithoutSaving = () => {
|
|
14
|
+
const $ = _c(15);
|
|
22
15
|
const {
|
|
23
16
|
closeModal,
|
|
24
17
|
openModal
|
|
25
18
|
} = useModal();
|
|
26
|
-
const {
|
|
27
|
-
t
|
|
28
|
-
} = useTranslation();
|
|
29
|
-
let t1;
|
|
30
|
-
let t2;
|
|
31
|
-
if ($[0] !== closeModal || $[1] !== isActive || $[2] !== openModal) {
|
|
32
|
-
t1 = () => {
|
|
33
|
-
if (isActive) {
|
|
34
|
-
openModal(modalSlug);
|
|
35
|
-
} else {
|
|
36
|
-
closeModal(modalSlug);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
t2 = [isActive, openModal, closeModal];
|
|
40
|
-
$[0] = closeModal;
|
|
41
|
-
$[1] = isActive;
|
|
42
|
-
$[2] = openModal;
|
|
43
|
-
$[3] = t1;
|
|
44
|
-
$[4] = t2;
|
|
45
|
-
} else {
|
|
46
|
-
t1 = $[3];
|
|
47
|
-
t2 = $[4];
|
|
48
|
-
}
|
|
49
|
-
useEffect(t1, t2);
|
|
50
|
-
let t3;
|
|
51
|
-
if ($[5] !== onCancel || $[6] !== onConfirm || $[7] !== t) {
|
|
52
|
-
t3 = _jsx(Modal, {
|
|
53
|
-
className: baseClass,
|
|
54
|
-
onClose: onCancel,
|
|
55
|
-
slug: modalSlug,
|
|
56
|
-
children: _jsxs("div", {
|
|
57
|
-
className: `${baseClass}__wrapper`,
|
|
58
|
-
children: [_jsxs("div", {
|
|
59
|
-
className: `${baseClass}__content`,
|
|
60
|
-
children: [_jsx("h1", {
|
|
61
|
-
children: t("general:leaveWithoutSaving")
|
|
62
|
-
}), _jsx("p", {
|
|
63
|
-
children: t("general:changesNotSaved")
|
|
64
|
-
})]
|
|
65
|
-
}), _jsxs("div", {
|
|
66
|
-
className: `${baseClass}__controls`,
|
|
67
|
-
children: [_jsx(Button, {
|
|
68
|
-
buttonStyle: "secondary",
|
|
69
|
-
onClick: onCancel,
|
|
70
|
-
size: "large",
|
|
71
|
-
children: t("general:stayOnThisPage")
|
|
72
|
-
}), _jsx(Button, {
|
|
73
|
-
onClick: onConfirm,
|
|
74
|
-
size: "large",
|
|
75
|
-
children: t("general:leaveAnyway")
|
|
76
|
-
})]
|
|
77
|
-
})]
|
|
78
|
-
})
|
|
79
|
-
});
|
|
80
|
-
$[5] = onCancel;
|
|
81
|
-
$[6] = onConfirm;
|
|
82
|
-
$[7] = t;
|
|
83
|
-
$[8] = t3;
|
|
84
|
-
} else {
|
|
85
|
-
t3 = $[8];
|
|
86
|
-
}
|
|
87
|
-
return t3;
|
|
88
|
-
};
|
|
89
|
-
export const LeaveWithoutSaving = () => {
|
|
90
|
-
const $ = _c(11);
|
|
91
|
-
const {
|
|
92
|
-
closeModal
|
|
93
|
-
} = useModal();
|
|
94
19
|
const modified = useFormModified();
|
|
20
|
+
const {
|
|
21
|
+
isValid
|
|
22
|
+
} = useForm();
|
|
95
23
|
const {
|
|
96
24
|
user
|
|
97
25
|
} = useAuth();
|
|
98
|
-
const [show, setShow] = React.useState(false);
|
|
99
26
|
const [hasAccepted, setHasAccepted] = React.useState(false);
|
|
100
|
-
const
|
|
27
|
+
const {
|
|
28
|
+
t
|
|
29
|
+
} = useTranslation();
|
|
30
|
+
const prevent = Boolean((modified || !isValid) && user);
|
|
101
31
|
let t0;
|
|
102
|
-
if ($[0]
|
|
32
|
+
if ($[0] !== openModal) {
|
|
103
33
|
t0 = () => {
|
|
104
|
-
|
|
34
|
+
openModal(modalSlug);
|
|
105
35
|
};
|
|
106
|
-
$[0] =
|
|
36
|
+
$[0] = openModal;
|
|
37
|
+
$[1] = t0;
|
|
107
38
|
} else {
|
|
108
|
-
t0 = $[
|
|
39
|
+
t0 = $[1];
|
|
109
40
|
}
|
|
110
41
|
const onPrevent = t0;
|
|
111
42
|
let t1;
|
|
112
|
-
if ($[
|
|
43
|
+
if ($[2] !== closeModal) {
|
|
113
44
|
t1 = () => {
|
|
114
45
|
closeModal(modalSlug);
|
|
115
46
|
};
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
47
|
+
$[2] = closeModal;
|
|
48
|
+
$[3] = t1;
|
|
118
49
|
} else {
|
|
119
|
-
t1 = $[
|
|
50
|
+
t1 = $[3];
|
|
120
51
|
}
|
|
121
52
|
const handleAccept = t1;
|
|
122
53
|
let t2;
|
|
123
|
-
if ($[
|
|
54
|
+
if ($[4] !== handleAccept || $[5] !== hasAccepted || $[6] !== onPrevent || $[7] !== prevent) {
|
|
124
55
|
t2 = {
|
|
125
56
|
hasAccepted,
|
|
126
57
|
onAccept: handleAccept,
|
|
127
58
|
onPrevent,
|
|
128
59
|
prevent
|
|
129
60
|
};
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
61
|
+
$[4] = handleAccept;
|
|
62
|
+
$[5] = hasAccepted;
|
|
63
|
+
$[6] = onPrevent;
|
|
64
|
+
$[7] = prevent;
|
|
65
|
+
$[8] = t2;
|
|
134
66
|
} else {
|
|
135
|
-
t2 = $[
|
|
67
|
+
t2 = $[8];
|
|
136
68
|
}
|
|
137
69
|
usePreventLeave(t2);
|
|
138
70
|
let t3;
|
|
139
|
-
|
|
140
|
-
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
71
|
+
if ($[9] !== closeModal) {
|
|
141
72
|
t3 = () => {
|
|
142
|
-
|
|
73
|
+
closeModal(modalSlug);
|
|
143
74
|
};
|
|
75
|
+
$[9] = closeModal;
|
|
76
|
+
$[10] = t3;
|
|
77
|
+
} else {
|
|
78
|
+
t3 = $[10];
|
|
79
|
+
}
|
|
80
|
+
const onCancel = t3;
|
|
81
|
+
let t4;
|
|
82
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
144
83
|
t4 = () => {
|
|
145
84
|
setHasAccepted(true);
|
|
146
85
|
};
|
|
147
|
-
$[
|
|
148
|
-
$[8] = t4;
|
|
86
|
+
$[11] = t4;
|
|
149
87
|
} else {
|
|
150
|
-
|
|
151
|
-
t4 = $[8];
|
|
88
|
+
t4 = $[11];
|
|
152
89
|
}
|
|
90
|
+
const onConfirm = t4;
|
|
153
91
|
let t5;
|
|
154
|
-
if ($[
|
|
155
|
-
t5 = _jsx(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
92
|
+
if ($[12] !== onCancel || $[13] !== t) {
|
|
93
|
+
t5 = _jsx(ConfirmationModal, {
|
|
94
|
+
body: t("general:changesNotSaved"),
|
|
95
|
+
cancelLabel: t("general:stayOnThisPage"),
|
|
96
|
+
confirmLabel: t("general:leaveAnyway"),
|
|
97
|
+
heading: t("general:leaveWithoutSaving"),
|
|
98
|
+
modalSlug,
|
|
99
|
+
onCancel,
|
|
100
|
+
onConfirm
|
|
159
101
|
});
|
|
160
|
-
$[
|
|
161
|
-
$[
|
|
102
|
+
$[12] = onCancel;
|
|
103
|
+
$[13] = t;
|
|
104
|
+
$[14] = t5;
|
|
162
105
|
} else {
|
|
163
|
-
t5 = $[
|
|
106
|
+
t5 = $[14];
|
|
164
107
|
}
|
|
165
108
|
return t5;
|
|
166
109
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useForm","useFormModified","useAuth","useTranslation","ConfirmationModal","useModal","usePreventLeave","modalSlug","LeaveWithoutSaving","$","closeModal","openModal","modified","isValid","user","hasAccepted","setHasAccepted","useState","t","prevent","Boolean","t0","onPrevent","t1","handleAccept","t2","onAccept","t3","onCancel","t4","Symbol","for","onConfirm","t5","_jsx","body","cancelLabel","confirmLabel","heading"],"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport React, { useCallback } from 'react'\n\nimport type { OnCancel } from '../ConfirmationModal/index.js'\n\nimport { useForm, useFormModified } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { useModal } from '../Modal/index.js'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const { closeModal, openModal } = useModal()\n const modified = useFormModified()\n const { isValid } = useForm()\n const { user } = useAuth()\n const [hasAccepted, setHasAccepted] = React.useState(false)\n const { t } = useTranslation()\n\n const prevent = Boolean((modified || !isValid) && user)\n\n const onPrevent = useCallback(() => {\n openModal(modalSlug)\n }, [openModal])\n\n const handleAccept = useCallback(() => {\n closeModal(modalSlug)\n }, [closeModal])\n\n usePreventLeave({ hasAccepted, onAccept: handleAccept, onPrevent, prevent })\n\n const onCancel: OnCancel = useCallback(() => {\n closeModal(modalSlug)\n }, [closeModal])\n\n const onConfirm = useCallback(() => {\n setHasAccepted(true)\n }, [])\n\n return (\n <ConfirmationModal\n body={t('general:changesNotSaved')}\n cancelLabel={t('general:stayOnThisPage')}\n confirmLabel={t('general:leaveAnyway')}\n heading={t('general:leaveWithoutSaving')}\n modalSlug={modalSlug}\n onCancel={onCancel}\n onConfirm={onConfirm}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,OAAO,EAAEC,eAAe,QAAQ;AACzC,SAASC,OAAO,QAAQ;AACxB,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AACzB,SAASC,eAAe,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,kBAAA,GAA+BA,CAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAC1C;IAAAa,UAAA;IAAAC;EAAA,IAAkCN,QAAA;EAClC,MAAAO,QAAA,GAAiBX,eAAA;EACjB;IAAAY;EAAA,IAAoBb,OAAA;EACpB;IAAAc;EAAA,IAAiBZ,OAAA;EACjB,OAAAa,WAAA,EAAAC,cAAA,IAAsClB,KAAA,CAAAmB,QAAA,MAAe;EACrD;IAAAC;EAAA,IAAcf,cAAA;EAEd,MAAAgB,OAAA,GAAgBC,OAAA,CAAQ,CAACR,QAAA,KAAaC,OAAM,KAAMC,IAAA;EAAA,IAAAO,EAAA;EAAA,IAAAZ,CAAA,QAAAE,SAAA;IAEpBU,EAAA,GAAAA,CAAA;MAC5BV,SAAA,CAAAJ,SAAU;IAAA;IACZE,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAFA,MAAAa,SAAA,GAAkBD,EAEJ;EAAA,IAAAE,EAAA;EAAA,IAAAd,CAAA,QAAAC,UAAA;IAEmBa,EAAA,GAAAA,CAAA;MAC/Bb,UAAA,CAAAH,SAAW;IAAA;IACbE,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAFA,MAAAe,YAAA,GAAqBD,EAEN;EAAA,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAe,YAAA,IAAAf,CAAA,QAAAM,WAAA,IAAAN,CAAA,QAAAa,SAAA,IAAAb,CAAA,QAAAU,OAAA;IAECM,EAAA;MAAAV,WAAA;MAAAW,QAAA,EAAyBF,YAAA;MAAAF,SAAA;MAAAH;IAAA;IAAiCV,CAAA,MAAAe,YAAA;IAAAf,CAAA,MAAAM,WAAA;IAAAN,CAAA,MAAAa,SAAA;IAAAb,CAAA,MAAAU,OAAA;IAAAV,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAA1EH,eAAA,CAAgBmB,EAA0D;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAC,UAAA;IAEnCiB,EAAA,GAAAA,CAAA;MACrCjB,UAAA,CAAAH,SAAW;IAAA;IACbE,CAAA,MAAAC,UAAA;IAAAD,CAAA,OAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAFA,MAAAmB,QAAA,GAA2BD,EAEZ;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,SAAAqB,MAAA,CAAAC,GAAA;IAEeF,EAAA,GAAAA,CAAA;MAC5Bb,cAAA,KAAe;IAAA;IACjBP,CAAA,OAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EAFA,MAAAuB,SAAA,GAAkBH,EAEb;EAAA,IAAAI,EAAA;EAAA,IAAAxB,CAAA,SAAAmB,QAAA,IAAAnB,CAAA,SAAAS,CAAA;IAGHe,EAAA,GAAAC,IAAA,CAAA9B,iBAAA;MAAA+B,IAAA,EACQjB,CAAA,CAAE;MAAAkB,WAAA,EACKlB,CAAA,CAAE;MAAAmB,YAAA,EACDnB,CAAA,CAAE;MAAAoB,OAAA,EACPpB,CAAA,CAAE;MAAAX,SAAA;MAAAqB,QAAA;MAAAI;IAAA,C;;;;;;;SAJbC,E;CAUJ","ignoreList":[]}
|
|
@@ -5,13 +5,22 @@ export type ListControlsProps = {
|
|
|
5
5
|
readonly beforeActions?: React.ReactNode[];
|
|
6
6
|
readonly collectionConfig: ClientCollectionConfig;
|
|
7
7
|
readonly collectionSlug: string;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated
|
|
10
|
+
* These are now handled by the `ListSelection` component
|
|
11
|
+
*/
|
|
8
12
|
readonly disableBulkDelete?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
* These are now handled by the `ListSelection` component
|
|
16
|
+
*/
|
|
9
17
|
readonly disableBulkEdit?: boolean;
|
|
10
18
|
readonly enableColumns?: boolean;
|
|
11
19
|
readonly enableSort?: boolean;
|
|
12
20
|
readonly handleSearchChange?: (search: string) => void;
|
|
13
21
|
readonly handleSortChange?: (sort: string) => void;
|
|
14
22
|
readonly handleWhereChange?: (where: Where) => void;
|
|
23
|
+
readonly listMenuItems?: React.ReactNode[];
|
|
15
24
|
readonly renderedFilters?: Map<string, React.ReactNode>;
|
|
16
25
|
readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>;
|
|
17
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAInF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAInF,OAAO,KAAsC,MAAM,OAAO,CAAA;AAgB1D,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACpE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2LpD,CAAA"}
|
|
@@ -3,20 +3,18 @@
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useWindowInfo } from '@faceless-ui/window-info';
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
-
import React, {
|
|
6
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
7
|
+
import { Popup, PopupList } from '../../elements/Popup/index.js';
|
|
7
8
|
import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
|
|
8
9
|
import { ChevronIcon } from '../../icons/Chevron/index.js';
|
|
10
|
+
import { Dots } from '../../icons/Dots/index.js';
|
|
9
11
|
import { SearchIcon } from '../../icons/Search/index.js';
|
|
10
12
|
import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
11
13
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
12
14
|
import { AnimateHeight } from '../AnimateHeight/index.js';
|
|
13
15
|
import { ColumnSelector } from '../ColumnSelector/index.js';
|
|
14
|
-
import { DeleteMany } from '../DeleteMany/index.js';
|
|
15
|
-
import { EditMany } from '../EditMany/index.js';
|
|
16
16
|
import { Pill } from '../Pill/index.js';
|
|
17
|
-
import { PublishMany } from '../PublishMany/index.js';
|
|
18
17
|
import { SearchFilter } from '../SearchFilter/index.js';
|
|
19
|
-
import { UnpublishMany } from '../UnpublishMany/index.js';
|
|
20
18
|
import { WhereBuilder } from '../WhereBuilder/index.js';
|
|
21
19
|
import validateWhereQuery from '../WhereBuilder/validateWhereQuery.js';
|
|
22
20
|
import { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js';
|
|
@@ -32,10 +30,9 @@ export const ListControls = props => {
|
|
|
32
30
|
beforeActions,
|
|
33
31
|
collectionConfig,
|
|
34
32
|
collectionSlug,
|
|
35
|
-
disableBulkDelete,
|
|
36
|
-
disableBulkEdit,
|
|
37
33
|
enableColumns = true,
|
|
38
34
|
enableSort = false,
|
|
35
|
+
listMenuItems,
|
|
39
36
|
renderedFilters,
|
|
40
37
|
resolvedFilterOptions
|
|
41
38
|
} = props;
|
|
@@ -104,18 +101,8 @@ export const ListControls = props => {
|
|
|
104
101
|
className: `${baseClass}__buttons`,
|
|
105
102
|
children: /*#__PURE__*/_jsxs("div", {
|
|
106
103
|
className: `${baseClass}__buttons-wrap`,
|
|
107
|
-
children: [!smallBreak && /*#__PURE__*/
|
|
108
|
-
children:
|
|
109
|
-
children: [/*#__PURE__*/_jsx(EditMany, {
|
|
110
|
-
collection: collectionConfig
|
|
111
|
-
}), /*#__PURE__*/_jsx(PublishMany, {
|
|
112
|
-
collection: collectionConfig
|
|
113
|
-
}), /*#__PURE__*/_jsx(UnpublishMany, {
|
|
114
|
-
collection: collectionConfig
|
|
115
|
-
})]
|
|
116
|
-
}), !disableBulkDelete && /*#__PURE__*/_jsx(DeleteMany, {
|
|
117
|
-
collection: collectionConfig
|
|
118
|
-
})]
|
|
104
|
+
children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
|
|
105
|
+
children: beforeActions && beforeActions
|
|
119
106
|
}), enableColumns && /*#__PURE__*/_jsx(Pill, {
|
|
120
107
|
"aria-controls": `${baseClass}-columns`,
|
|
121
108
|
"aria-expanded": visibleDrawer === 'columns',
|
|
@@ -144,6 +131,17 @@ export const ListControls = props => {
|
|
|
144
131
|
onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
|
|
145
132
|
pillStyle: "light",
|
|
146
133
|
children: t('general:sort')
|
|
134
|
+
}), listMenuItems && /*#__PURE__*/_jsx(Popup, {
|
|
135
|
+
button: /*#__PURE__*/_jsx(Dots, {
|
|
136
|
+
ariaLabel: t('general:moreOptions')
|
|
137
|
+
}),
|
|
138
|
+
className: `${baseClass}__popup`,
|
|
139
|
+
horizontalAlign: "right",
|
|
140
|
+
size: "large",
|
|
141
|
+
verticalAlign: "bottom",
|
|
142
|
+
children: /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
|
|
143
|
+
children: listMenuItems.map(item => item)
|
|
144
|
+
})
|
|
147
145
|
})]
|
|
148
146
|
})
|
|
149
147
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","Fragment","useEffect","useRef","useState","useUseTitleField","ChevronIcon","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","DeleteMany","EditMany","Pill","PublishMany","SearchFilter","UnpublishMany","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableBulkDelete","disableBulkEdit","enableColumns","enableSort","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","collection","icon","direction","onClick","pillStyle","height","id","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { DeleteMany } from '../DeleteMany/index.js'\nimport { EditMany } from '../EditMany/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { PublishMany } from '../PublishMany/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { UnpublishMany } from '../UnpublishMany/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n readonly disableBulkDelete?: boolean\n readonly disableBulkEdit?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n enableColumns = true,\n enableSort = false,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && (\n <React.Fragment>\n {beforeActions && beforeActions}\n {!disableBulkEdit && (\n <Fragment>\n <EditMany collection={collectionConfig} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n </Fragment>\n )}\n {!disableBulkDelete && <DeleteMany collection={collectionConfig} />}\n </React.Fragment>\n )}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","enableColumns","enableSort","listMenuItems","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","Fragment","icon","direction","onClick","pillStyle","button","ariaLabel","horizontalAlign","size","verticalAlign","ButtonGroup","map","item","height","id","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkDelete?: boolean\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkEdit?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly listMenuItems?: React.ReactNode[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n enableColumns = true,\n enableSort = false,\n listMenuItems,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n const { handleSearchChange, query } = useListQuery()\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField && typeof titleField.label === 'string'\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {listMenuItems && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>{listMenuItems.map((item) => item)}</PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAWjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmKvD,CAAA"}
|