@payloadcms/ui 3.2.3-canary.2d2e7d5 → 3.2.3-canary.5e3c2f6
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/AddNewRelation/index.js +40 -40
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js +3 -3
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +13 -12
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +10 -10
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +13 -13
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +14 -14
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -3
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +29 -26
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -0
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +8 -8
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +28 -32
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/Collapsible/index.js +13 -13
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +10 -10
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +4 -4
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +9 -9
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +4 -4
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +47 -47
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +21 -21
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +10 -10
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +9 -9
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +11 -11
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +8 -8
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +38 -38
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +3 -3
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/EditMany/index.js +21 -21
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +17 -16
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +15 -15
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +15 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +4 -4
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +4 -4
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +3 -3
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +11 -11
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +19 -18
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +3 -3
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/Loading/index.js +15 -15
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +18 -16
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +5 -5
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +8 -8
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +3 -3
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +7 -7
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +13 -13
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/NavGroup/index.js +12 -12
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +7 -7
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js +8 -8
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/index.js +1 -0
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +3 -3
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +28 -28
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.d.ts +2 -2
- package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +10 -10
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +5 -5
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +4 -4
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +278 -142
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +3 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +6 -6
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +3 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +6 -6
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +7 -7
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +16 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +35 -45
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/Status/index.js +38 -35
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +12 -12
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +3 -3
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +3 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +9 -9
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +31 -31
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +3 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +15 -15
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +12 -9
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js +6 -6
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +27 -27
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +10 -10
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +29 -24
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.js +5 -5
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -3
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +13 -10
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +5 -5
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +45 -45
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +11 -11
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/{DatePicker-QST7QHAX.js → CodeEditor-RZ32B2QF.js} +2 -2
- package/dist/exports/client/DatePicker-QW5V4BQV.js +14 -0
- package/dist/exports/client/DatePicker-QW5V4BQV.js.map +8 -0
- package/dist/exports/client/chunk-CKHKQPOO.js +26 -0
- package/dist/exports/client/{CodeEditor-5MCGR4GL.js.map → chunk-CKHKQPOO.js.map} +4 -4
- package/dist/exports/client/chunk-KZPVHMBR.js +29 -0
- package/dist/exports/client/chunk-KZPVHMBR.js.map +8 -0
- package/dist/exports/client/index.d.ts +4 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +16 -16
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.js +38 -38
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +23 -23
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +51 -49
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -3
- package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -13
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +25 -25
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +8 -8
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +22 -22
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +6 -6
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +18 -18
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -7
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/Password/input.js +24 -24
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +9 -9
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +18 -18
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +18 -18
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +28 -28
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +10 -10
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +69 -69
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.js +24 -24
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Textarea/Input.js +19 -19
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +11 -11
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +109 -104
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +20 -20
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +3 -3
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +9 -9
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +16 -16
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +10 -10
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +44 -44
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/hooks/useDebounce.js +3 -3
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +6 -6
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +3 -3
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useHotkey.js +18 -14
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +13 -13
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +3 -3
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/providers/Actions/index.js +4 -4
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +3 -3
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +9 -10
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +3 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +3 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +9 -10
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Locale/index.js +22 -22
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Params/index.js +3 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +6 -6
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +4 -4
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +3 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -7
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Translation/index.js +12 -12
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +3 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +2 -0
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +2 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/groupNavItems.js +3 -3
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +47 -47
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +14 -14
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +5 -5
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/List/index.js +20 -24
- package/dist/views/List/index.js.map +1 -1
- package/package.json +15 -16
- package/dist/exports/client/CodeEditor-5MCGR4GL.js +0 -26
- package/dist/exports/client/chunk-4SO5UCQD.js +0 -14
- package/dist/exports/client/chunk-4SO5UCQD.js.map +0 -8
- package/dist/exports/client/chunk-5LUHGAPX.js +0 -30
- package/dist/exports/client/chunk-5LUHGAPX.js.map +0 -8
- /package/dist/exports/client/{DatePicker-QST7QHAX.js.map → CodeEditor-RZ32B2QF.js.map} +0 -0
|
@@ -47,7 +47,7 @@ export const TranslationProvider = t0 => {
|
|
|
47
47
|
}
|
|
48
48
|
const nextT = t1;
|
|
49
49
|
let t2;
|
|
50
|
-
if ($[2] !==
|
|
50
|
+
if ($[2] !== router || $[3] !== switchLanguageServerAction) {
|
|
51
51
|
t2 = async lang => {
|
|
52
52
|
;
|
|
53
53
|
try {
|
|
@@ -58,8 +58,8 @@ export const TranslationProvider = t0 => {
|
|
|
58
58
|
console.error(`Error loading language: "${lang}"`, error);
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
|
-
$[2] =
|
|
62
|
-
$[3] =
|
|
61
|
+
$[2] = router;
|
|
62
|
+
$[3] = switchLanguageServerAction;
|
|
63
63
|
$[4] = t2;
|
|
64
64
|
} else {
|
|
65
65
|
t2 = $[4];
|
|
@@ -85,7 +85,7 @@ export const TranslationProvider = t0 => {
|
|
|
85
85
|
}
|
|
86
86
|
useEffect(t3, t4);
|
|
87
87
|
let t5;
|
|
88
|
-
if ($[8] !==
|
|
88
|
+
if ($[8] !== children || $[9] !== dateFNS || $[10] !== dateFNSKey || $[11] !== fallbackLang || $[12] !== language || $[13] !== languageOptions || $[14] !== nextT || $[15] !== switchLanguage || $[16] !== translations) {
|
|
89
89
|
t5 = _jsx(Context.Provider, {
|
|
90
90
|
value: {
|
|
91
91
|
i18n: {
|
|
@@ -102,15 +102,15 @@ export const TranslationProvider = t0 => {
|
|
|
102
102
|
},
|
|
103
103
|
children
|
|
104
104
|
});
|
|
105
|
-
$[8] =
|
|
106
|
-
$[9] =
|
|
107
|
-
$[10] =
|
|
108
|
-
$[11] =
|
|
109
|
-
$[12] =
|
|
110
|
-
$[13] =
|
|
111
|
-
$[14] =
|
|
105
|
+
$[8] = children;
|
|
106
|
+
$[9] = dateFNS;
|
|
107
|
+
$[10] = dateFNSKey;
|
|
108
|
+
$[11] = fallbackLang;
|
|
109
|
+
$[12] = language;
|
|
110
|
+
$[13] = languageOptions;
|
|
111
|
+
$[14] = nextT;
|
|
112
112
|
$[15] = switchLanguage;
|
|
113
|
-
$[16] =
|
|
113
|
+
$[16] = translations;
|
|
114
114
|
$[17] = t5;
|
|
115
115
|
} else {
|
|
116
116
|
t5 = $[17];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","importDateFNSLocale","t","enUS","useRouter","React","createContext","useContext","useEffect","useState","Context","i18n","dateFNS","dateFNSKey","fallbackLanguage","language","key","translations","languageOptions","undefined","switchLanguage","TranslationProvider","t0","$","children","fallbackLang","switchLanguageServerAction","router","setDateFNS","t1","vars","nextT","t2","lang","refresh","t3","error","console","t4","loadDateFNS","imported","t5","_jsx","Provider","value","useTranslation"],"sources":["../../../src/providers/Translation/index.tsx"],"sourcesContent":["'use client'\nimport type {\n AcceptedLanguages,\n ClientTranslationKeys,\n ClientTranslationsObject,\n I18nClient,\n Language,\n TFunction,\n} from '@payloadcms/translations'\nimport type { Locale } from 'date-fns'\nimport type { ClientConfig, LanguageOptions } from 'payload'\n\nimport { importDateFNSLocale, t } from '@payloadcms/translations'\nimport { enUS } from 'date-fns/locale/en-US'\nimport { useRouter } from 'next/navigation.js'\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\ntype ContextType<\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n> = {\n i18n: [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n languageOptions: LanguageOptions\n switchLanguage?: (lang: AcceptedLanguages) => Promise<void>\n t: TFunction<ClientTranslationKeys | Extract<TAdditionalClientTranslationKeys, string>>\n}\n\nconst Context = createContext<ContextType<any, any>>({\n // Use `any` here to be replaced later with a more specific type when used\n i18n: {\n dateFNS: enUS,\n dateFNSKey: 'en-US',\n fallbackLanguage: 'en',\n language: 'en',\n t: (key) => key,\n translations: {} as any,\n },\n languageOptions: undefined,\n switchLanguage: undefined,\n t: (key) => undefined,\n})\n\ntype Props = {\n children: React.ReactNode\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n language: string\n languageOptions: LanguageOptions\n switchLanguageServerAction: (lang: string) => Promise<void>\n translations: I18nClient['translations']\n}\n\nexport const TranslationProvider: React.FC<Props> = ({\n children,\n dateFNSKey,\n fallbackLang,\n language,\n languageOptions,\n switchLanguageServerAction,\n translations,\n}) => {\n const router = useRouter()\n const [dateFNS, setDateFNS] = useState<Locale>()\n\n const nextT: ContextType['t'] = (key, vars): string =>\n t({\n key,\n translations,\n vars,\n })\n\n const switchLanguage = React.useCallback(\n async (lang: string) => {\n try {\n await switchLanguageServerAction(lang)\n router.refresh()\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error loading language: \"${lang}\"`, error)\n }\n },\n [switchLanguageServerAction, router],\n )\n\n useEffect(() => {\n const loadDateFNS = async () => {\n const imported = await importDateFNSLocale(dateFNSKey)\n\n setDateFNS(imported)\n }\n\n void loadDateFNS()\n }, [dateFNSKey])\n\n return (\n <Context.Provider\n value={{\n i18n: {\n dateFNS,\n dateFNSKey,\n fallbackLanguage: fallbackLang,\n language,\n t: nextT,\n translations,\n },\n languageOptions,\n switchLanguage,\n t: nextT,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useTranslation = <\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>() => useContext<ContextType<TAdditionalTranslations, TAdditionalClientTranslationKeys>>(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAYA,SAASC,mBAAmB,EAAEC,CAAC,QAAQ;AACvC,SAASC,IAAI,QAAQ;AACrB,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAgBtE,MAAMC,OAAA,gBAAUJ,aAAA,CAAqC;EACnD;EACAK,IAAA,EAAM;IACJC,OAAA,EAAST,IAAA;IACTU,UAAA,EAAY;IACZC,gBAAA,EAAkB;IAClBC,QAAA,EAAU;IACVb,CAAA,EAAIc,GAAA,IAAQA,GAAA;IACZC,YAAA,EAAc,CAAC;EACjB;EACAC,eAAA,EAAiBC,SAAA;EACjBC,cAAA,EAAgBD,SAAA;EAChBjB,CAAA,EAAIc,GAAA,IAAQG;AACd;AAYA,OAAO,MAAME,mBAAA,GAAuCC,EAAA;EAAA,MAAAC,CAAA,GAAAvB,EAAA;EAAC;IAAAwB,QAAA;IAAAX,UAAA;IAAAY,YAAA;IAAAV,QAAA;IAAAG,eAAA;IAAAQ,0BAAA;IAAAT;EAAA,IAAAK,EAQpD;EACC,MAAAK,MAAA,GAAevB,SAAA;EACf,OAAAQ,OAAA,EAAAgB,UAAA,IAA8BnB,QAAA;EAAA,IAAAoB,EAAA;EAAA,IAAAN,CAAA,QAAAN,YAAA;IAEEY,EAAA,GAAAA,CAAAb,GAAA,EAAAc,IAAA,KAC9B5B,CAAA;MAAAc,GAAA;MAAAC,YAAA;MAAAa;IAAA,CAIA;IAAAP,CAAA,MAAAN,YAAA;IAAAM,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EALF,MAAAQ,KAAA,GAAgCF,EAK9B;EAAA,IAAAG,EAAA;EAAA,IAAAT,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","importDateFNSLocale","t","enUS","useRouter","React","createContext","useContext","useEffect","useState","Context","i18n","dateFNS","dateFNSKey","fallbackLanguage","language","key","translations","languageOptions","undefined","switchLanguage","TranslationProvider","t0","$","children","fallbackLang","switchLanguageServerAction","router","setDateFNS","t1","vars","nextT","t2","lang","refresh","t3","error","console","t4","loadDateFNS","imported","t5","_jsx","Provider","value","useTranslation"],"sources":["../../../src/providers/Translation/index.tsx"],"sourcesContent":["'use client'\nimport type {\n AcceptedLanguages,\n ClientTranslationKeys,\n ClientTranslationsObject,\n I18nClient,\n Language,\n TFunction,\n} from '@payloadcms/translations'\nimport type { Locale } from 'date-fns'\nimport type { ClientConfig, LanguageOptions } from 'payload'\n\nimport { importDateFNSLocale, t } from '@payloadcms/translations'\nimport { enUS } from 'date-fns/locale/en-US'\nimport { useRouter } from 'next/navigation.js'\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\ntype ContextType<\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n> = {\n i18n: [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n languageOptions: LanguageOptions\n switchLanguage?: (lang: AcceptedLanguages) => Promise<void>\n t: TFunction<ClientTranslationKeys | Extract<TAdditionalClientTranslationKeys, string>>\n}\n\nconst Context = createContext<ContextType<any, any>>({\n // Use `any` here to be replaced later with a more specific type when used\n i18n: {\n dateFNS: enUS,\n dateFNSKey: 'en-US',\n fallbackLanguage: 'en',\n language: 'en',\n t: (key) => key,\n translations: {} as any,\n },\n languageOptions: undefined,\n switchLanguage: undefined,\n t: (key) => undefined,\n})\n\ntype Props = {\n children: React.ReactNode\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n language: string\n languageOptions: LanguageOptions\n switchLanguageServerAction: (lang: string) => Promise<void>\n translations: I18nClient['translations']\n}\n\nexport const TranslationProvider: React.FC<Props> = ({\n children,\n dateFNSKey,\n fallbackLang,\n language,\n languageOptions,\n switchLanguageServerAction,\n translations,\n}) => {\n const router = useRouter()\n const [dateFNS, setDateFNS] = useState<Locale>()\n\n const nextT: ContextType['t'] = (key, vars): string =>\n t({\n key,\n translations,\n vars,\n })\n\n const switchLanguage = React.useCallback(\n async (lang: string) => {\n try {\n await switchLanguageServerAction(lang)\n router.refresh()\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error loading language: \"${lang}\"`, error)\n }\n },\n [switchLanguageServerAction, router],\n )\n\n useEffect(() => {\n const loadDateFNS = async () => {\n const imported = await importDateFNSLocale(dateFNSKey)\n\n setDateFNS(imported)\n }\n\n void loadDateFNS()\n }, [dateFNSKey])\n\n return (\n <Context.Provider\n value={{\n i18n: {\n dateFNS,\n dateFNSKey,\n fallbackLanguage: fallbackLang,\n language,\n t: nextT,\n translations,\n },\n languageOptions,\n switchLanguage,\n t: nextT,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useTranslation = <\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>() => useContext<ContextType<TAdditionalTranslations, TAdditionalClientTranslationKeys>>(Context)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,7 +38,7 @@ export const UploadEditsProvider = t0 => {
|
|
|
38
38
|
}
|
|
39
39
|
const updateUploadEdits = t2;
|
|
40
40
|
let t3;
|
|
41
|
-
if ($[2] !==
|
|
41
|
+
if ($[2] !== children || $[3] !== uploadEdits) {
|
|
42
42
|
t3 = _jsx(Context.Provider, {
|
|
43
43
|
value: {
|
|
44
44
|
resetUploadEdits,
|
|
@@ -47,8 +47,8 @@ export const UploadEditsProvider = t0 => {
|
|
|
47
47
|
},
|
|
48
48
|
children
|
|
49
49
|
});
|
|
50
|
-
$[2] =
|
|
51
|
-
$[3] =
|
|
50
|
+
$[2] = children;
|
|
51
|
+
$[3] = uploadEdits;
|
|
52
52
|
$[4] = t3;
|
|
53
53
|
} else {
|
|
54
54
|
t3 = $[4];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","Context","createContext","resetUploadEdits","undefined","updateUploadEdits","uploadEdits","UploadEditsProvider","t0","$","children","setUploadEdits","useState","t1","Symbol","for","t2","edits","prevEdits","t3","_jsx","Provider","value","useUploadEdits","useContext"],"sources":["../../../src/providers/UploadEdits/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadEdits } from 'payload'\n\nimport React from 'react'\n\nexport type UploadEditsContext = {\n resetUploadEdits: () => void\n updateUploadEdits: (edits: UploadEdits) => void\n uploadEdits: UploadEdits\n}\n\nconst Context = React.createContext<UploadEditsContext>({\n resetUploadEdits: undefined,\n updateUploadEdits: undefined,\n uploadEdits: undefined,\n})\n\nexport const UploadEditsProvider = ({ children }) => {\n const [uploadEdits, setUploadEdits] = React.useState<UploadEdits>(undefined)\n\n const resetUploadEdits = () => {\n setUploadEdits({})\n }\n\n const updateUploadEdits = (edits: UploadEdits) => {\n setUploadEdits((prevEdits) => ({\n ...(prevEdits || {}),\n ...(edits || {}),\n }))\n }\n\n return (\n <Context.Provider value={{ resetUploadEdits, updateUploadEdits, uploadEdits }}>\n {children}\n </Context.Provider>\n )\n}\n\nexport const useUploadEdits = (): UploadEditsContext => React.useContext(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAQlB,MAAMC,OAAA,gBAAUD,KAAA,CAAME,aAAa,CAAqB;EACtDC,gBAAA,EAAkBC,SAAA;EAClBC,iBAAA,EAAmBD,SAAA;EACnBE,WAAA,EAAaF;AACf;AAEA,OAAO,MAAMG,mBAAA,GAAsBC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW;EAAA,IAAAF,EAAY;EAC9C,OAAAF,WAAA,EAAAK,cAAA,IAAsCX,KAAA,CAAAY,QAAA,CAAAR,SAA4B;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAEzCF,EAAA,GAAAA,CAAA;MACvBF,cAAA,GAAgB;IAAA;IAClBF,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAN,gBAAA,GAAyBU,EAEzB;EAAA,IAAAG,EAAA;EAAA,IAAAP,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAE0BC,EAAA,GAAAC,KAAA;MACxBN,cAAA,CAAAO,SAAA;QAAA,IACMA,SAAA,MAAe;QAAA,IACfD,KAAA,MAAW;MAAA,EACjB;IAAA;IACFR,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EALA,MAAAJ,iBAAA,GAA0BW,EAK1B;EAAA,IAAAG,EAAA;EAAA,IAAAV,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","Context","createContext","resetUploadEdits","undefined","updateUploadEdits","uploadEdits","UploadEditsProvider","t0","$","children","setUploadEdits","useState","t1","Symbol","for","t2","edits","prevEdits","t3","_jsx","Provider","value","useUploadEdits","useContext"],"sources":["../../../src/providers/UploadEdits/index.tsx"],"sourcesContent":["'use client'\nimport type { UploadEdits } from 'payload'\n\nimport React from 'react'\n\nexport type UploadEditsContext = {\n resetUploadEdits: () => void\n updateUploadEdits: (edits: UploadEdits) => void\n uploadEdits: UploadEdits\n}\n\nconst Context = React.createContext<UploadEditsContext>({\n resetUploadEdits: undefined,\n updateUploadEdits: undefined,\n uploadEdits: undefined,\n})\n\nexport const UploadEditsProvider = ({ children }) => {\n const [uploadEdits, setUploadEdits] = React.useState<UploadEdits>(undefined)\n\n const resetUploadEdits = () => {\n setUploadEdits({})\n }\n\n const updateUploadEdits = (edits: UploadEdits) => {\n setUploadEdits((prevEdits) => ({\n ...(prevEdits || {}),\n ...(edits || {}),\n }))\n }\n\n return (\n <Context.Provider value={{ resetUploadEdits, updateUploadEdits, uploadEdits }}>\n {children}\n </Context.Provider>\n )\n}\n\nexport const useUploadEdits = (): UploadEditsContext => React.useContext(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAQlB,MAAMC,OAAA,gBAAUD,KAAA,CAAME,aAAa,CAAqB;EACtDC,gBAAA,EAAkBC,SAAA;EAClBC,iBAAA,EAAmBD,SAAA;EACnBE,WAAA,EAAaF;AACf;AAEA,OAAO,MAAMG,mBAAA,GAAsBC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW;EAAA,IAAAF,EAAY;EAC9C,OAAAF,WAAA,EAAAK,cAAA,IAAsCX,KAAA,CAAAY,QAAA,CAAAR,SAA4B;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAEzCF,EAAA,GAAAA,CAAA;MACvBF,cAAA,GAAgB;IAAA;IAClBF,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAN,gBAAA,GAAyBU,EAEzB;EAAA,IAAAG,EAAA;EAAA,IAAAP,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAE0BC,EAAA,GAAAC,KAAA;MACxBN,cAAA,CAAAO,SAAA;QAAA,IACMA,SAAA,MAAe;QAAA,IACfD,KAAA,MAAW;MAAA,EACjB;IAAA;IACFR,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EALA,MAAAJ,iBAAA,GAA0BW,EAK1B;EAAA,IAAAG,EAAA;EAAA,IAAAV,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAH,WAAA;IAGEa,EAAA,GAAAC,IAAA,CAAAnB,OAAA,CAAAoB,QAAA;MAAAC,KAAA;QAAAnB,gBAAA;QAAAE,iBAAA;QAAAC;MAAA;MAAAI;IAAA,C;;;;;;;SAAAS,E;CAIJ;AAEA,OAAO,MAAMI,cAAA,GAAiBA,CAAA;EAAA,OAA0BvB,KAAA,CAAAwB,UAAA,CAAAvB,OAAiB;AAAA","ignoreList":[]}
|
|
@@ -25,6 +25,8 @@ export const buildClientFieldSchemaMap = args => {
|
|
|
25
25
|
const matchedCollection = config.collections.find(collection => collection.slug === collectionSlug);
|
|
26
26
|
if (matchedCollection) {
|
|
27
27
|
if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {
|
|
28
|
+
// register schema with auth schemaPath
|
|
29
|
+
;
|
|
28
30
|
baseAuthFields[0].label = i18n.t('general:password');
|
|
29
31
|
baseAuthFields[1].label = i18n.t('authentication:confirmPassword');
|
|
30
32
|
clientSchemaMap.set(`_${matchedCollection.slug}.auth`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["traverseFields","baseAuthFields","name","type","required","buildClientFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","clientSchemaMap","Map","matchedCollection","collections","find","collection","slug","auth","disableLocalStrategy","label","t","set","fields","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","clientFieldSchemaMap"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n ClientField,\n ClientFieldSchemaMap,\n FieldSchemaMap,\n Payload,\n TextFieldClient,\n} from 'payload'\n\nimport { traverseFields } from './traverseFields.js'\n\nconst baseAuthFields: ClientField[] = [\n {\n name: 'password',\n type: 'text',\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n required: true,\n },\n]\n\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildClientFieldSchemaMap = (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18n\n payload: Payload\n schemaMap: FieldSchemaMap\n}): { clientFieldSchemaMap: ClientFieldSchemaMap } => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap } = args\n\n const clientSchemaMap: ClientFieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n // register schema with auth schemaPath\n ;(baseAuthFields[0] as TextFieldClient).label = i18n.t('general:password')\n ;(baseAuthFields[1] as TextFieldClient).label = i18n.t('authentication:confirmPassword')\n\n clientSchemaMap.set(`_${matchedCollection.slug}.auth`, {\n fields: [...baseAuthFields, ...matchedCollection.fields],\n })\n }\n\n clientSchemaMap.set(collectionSlug, {\n fields: matchedCollection.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedCollection.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n payload,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n clientSchemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n payload,\n schemaMap,\n })\n }\n }\n\n return { clientFieldSchemaMap: clientSchemaMap }\n}\n"],"mappings":"AAUA,SAASA,cAAc,QAAQ;AAE/B,MAAMC,cAAA,GAAgC,CACpC;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,GACA;EACEF,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,EACD;AAED;;;AAGA,OAAO,MAAMC,yBAAA,GAA6BC,IAAA;EAQxC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAS,CAAE,GAAGN,IAAA;EAEzE,MAAMO,eAAA,GAAwC,IAAIC,GAAA;EAElD,IAAIP,cAAA,EAAgB;IAClB,MAAMQ,iBAAA,GAAoBP,MAAA,CAAOQ,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKZ,cAAA;IAGtC,IAAIQ,iBAAA,EAAmB;MACrB,IAAIA,iBAAA,CAAkBK,IAAI,IAAI,CAACL,iBAAA,CAAkBK,IAAI,CAACC,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","names":["traverseFields","baseAuthFields","name","type","required","buildClientFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","payload","schemaMap","clientSchemaMap","Map","matchedCollection","collections","find","collection","slug","auth","disableLocalStrategy","label","t","set","fields","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","clientFieldSchemaMap"],"sources":["../../../src/utilities/buildClientFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n ClientField,\n ClientFieldSchemaMap,\n FieldSchemaMap,\n Payload,\n TextFieldClient,\n} from 'payload'\n\nimport { traverseFields } from './traverseFields.js'\n\nconst baseAuthFields: ClientField[] = [\n {\n name: 'password',\n type: 'text',\n required: true,\n },\n {\n name: 'confirm-password',\n type: 'text',\n required: true,\n },\n]\n\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildClientFieldSchemaMap = (args: {\n collectionSlug?: string\n config: ClientConfig\n globalSlug?: string\n i18n: I18n\n payload: Payload\n schemaMap: FieldSchemaMap\n}): { clientFieldSchemaMap: ClientFieldSchemaMap } => {\n const { collectionSlug, config, globalSlug, i18n, payload, schemaMap } = args\n\n const clientSchemaMap: ClientFieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n // register schema with auth schemaPath\n ;(baseAuthFields[0] as TextFieldClient).label = i18n.t('general:password')\n ;(baseAuthFields[1] as TextFieldClient).label = i18n.t('authentication:confirmPassword')\n\n clientSchemaMap.set(`_${matchedCollection.slug}.auth`, {\n fields: [...baseAuthFields, ...matchedCollection.fields],\n })\n }\n\n clientSchemaMap.set(collectionSlug, {\n fields: matchedCollection.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedCollection.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n payload,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n clientSchemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n clientSchemaMap,\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n payload,\n schemaMap,\n })\n }\n }\n\n return { clientFieldSchemaMap: clientSchemaMap }\n}\n"],"mappings":"AAUA,SAASA,cAAc,QAAQ;AAE/B,MAAMC,cAAA,GAAgC,CACpC;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,GACA;EACEF,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;AACZ,EACD;AAED;;;AAGA,OAAO,MAAMC,yBAAA,GAA6BC,IAAA;EAQxC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAS,CAAE,GAAGN,IAAA;EAEzE,MAAMO,eAAA,GAAwC,IAAIC,GAAA;EAElD,IAAIP,cAAA,EAAgB;IAClB,MAAMQ,iBAAA,GAAoBP,MAAA,CAAOQ,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKZ,cAAA;IAGtC,IAAIQ,iBAAA,EAAmB;MACrB,IAAIA,iBAAA,CAAkBK,IAAI,IAAI,CAACL,iBAAA,CAAkBK,IAAI,CAACC,oBAAoB,EAAE;QAC1E;;QACEpB,cAAc,CAAC,EAAE,CAAqBqB,KAAK,GAAGZ,IAAA,CAAKa,CAAC,CAAC;QACrDtB,cAAc,CAAC,EAAE,CAAqBqB,KAAK,GAAGZ,IAAA,CAAKa,CAAC,CAAC;QAEvDV,eAAA,CAAgBW,GAAG,CAAC,IAAIT,iBAAA,CAAkBI,IAAI,OAAO,EAAE;UACrDM,MAAA,EAAQ,C,GAAIxB,cAAA,E,GAAmBc,iBAAA,CAAkBU,MAAM;QACzD;MACF;MAEAZ,eAAA,CAAgBW,GAAG,CAACjB,cAAA,EAAgB;QAClCkB,MAAA,EAAQV,iBAAA,CAAkBU;MAC5B;MAEAzB,cAAA,CAAe;QACba,eAAA;QACAL,MAAA;QACAiB,MAAA,EAAQV,iBAAA,CAAkBU,MAAM;QAChCf,IAAA;QACAgB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBpB,cAAA;QAClBI,OAAA;QACAC;MACF;IACF;EACF,OAAO,IAAIH,UAAA,EAAY;IACrB,MAAMmB,aAAA,GAAgBpB,MAAA,CAAOqB,OAAO,CAACZ,IAAI,CAAEa,MAAA,IAAWA,MAAA,CAAOX,IAAI,KAAKV,UAAA;IAEtE,IAAImB,aAAA,EAAe;MACjBf,eAAA,CAAgBW,GAAG,CAACf,UAAA,EAAY;QAC9BgB,MAAA,EAAQG,aAAA,CAAcH;MACxB;MAEAzB,cAAA,CAAe;QACba,eAAA;QACAL,MAAA;QACAiB,MAAA,EAAQG,aAAA,CAAcH,MAAM;QAC5Bf,IAAA;QACAgB,eAAA,EAAiB;QACjBC,gBAAA,EAAkBlB,UAAA;QAClBE,OAAA;QACAC;MACF;IACF;EACF;EAEA,OAAO;IAAEmB,oBAAA,EAAsBlB;EAAgB;AACjD","ignoreList":[]}
|
|
@@ -26,6 +26,8 @@ export const buildFieldSchemaMap = args => {
|
|
|
26
26
|
const matchedCollection = config.collections.find(collection => collection.slug === collectionSlug);
|
|
27
27
|
if (matchedCollection) {
|
|
28
28
|
if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {
|
|
29
|
+
// register schema with auth schemaPath
|
|
30
|
+
;
|
|
29
31
|
baseAuthFields[0].label = i18n.t('general:password');
|
|
30
32
|
baseAuthFields[1].label = i18n.t('authentication:confirmPassword');
|
|
31
33
|
schemaMap.set(`_${matchedCollection.slug}.auth`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["confirmPassword","password","traverseFields","baseAuthFields","name","type","required","validate","buildFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","schemaMap","Map","matchedCollection","collections","find","collection","slug","auth","disableLocalStrategy","label","t","set","fields","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","fieldSchemaMap"],"sources":["../../../src/utilities/buildFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, FieldSchemaMap, SanitizedConfig, TextField } from 'payload'\n\nimport { confirmPassword, password } from 'payload/shared'\n\nimport { traverseFields } from './traverseFields.js'\n\nconst baseAuthFields: Field[] = [\n {\n name: 'password',\n type: 'text',\n required: true,\n validate: password,\n },\n {\n name: 'confirm-password',\n type: 'text',\n required: true,\n validate: confirmPassword,\n },\n]\n\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildFieldSchemaMap = (args: {\n collectionSlug?: string\n config: SanitizedConfig\n globalSlug?: string\n i18n: I18n\n}): { fieldSchemaMap: FieldSchemaMap } => {\n const { collectionSlug, config, globalSlug, i18n } = args\n\n const schemaMap: FieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n // register schema with auth schemaPath\n ;(baseAuthFields[0] as TextField).label = i18n.t('general:password')\n ;(baseAuthFields[1] as TextField).label = i18n.t('authentication:confirmPassword')\n\n schemaMap.set(`_${matchedCollection.slug}.auth`, {\n fields: [...baseAuthFields, ...matchedCollection.fields],\n })\n }\n\n schemaMap.set(collectionSlug, {\n fields: matchedCollection.fields,\n })\n\n traverseFields({\n config,\n fields: matchedCollection.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n schemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n schemaMap,\n })\n }\n }\n\n return { fieldSchemaMap: schemaMap }\n}\n"],"mappings":"AAGA,SAASA,eAAe,EAAEC,QAAQ,QAAQ;AAE1C,SAASC,cAAc,QAAQ;AAE/B,MAAMC,cAAA,GAA0B,CAC9B;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;EACVC,QAAA,EAAUN;AACZ,GACA;EACEG,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;EACVC,QAAA,EAAUP;AACZ,EACD;AAED;;;AAGA,OAAO,MAAMQ,mBAAA,GAAuBC,IAAA;EAMlC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAI,CAAE,GAAGJ,IAAA;EAErD,MAAMK,SAAA,GAA4B,IAAIC,GAAA;EAEtC,IAAIL,cAAA,EAAgB;IAClB,MAAMM,iBAAA,GAAoBL,MAAA,CAAOM,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKV,cAAA;IAGtC,IAAIM,iBAAA,EAAmB;MACrB,IAAIA,iBAAA,CAAkBK,IAAI,IAAI,CAACL,iBAAA,CAAkBK,IAAI,CAACC,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","names":["confirmPassword","password","traverseFields","baseAuthFields","name","type","required","validate","buildFieldSchemaMap","args","collectionSlug","config","globalSlug","i18n","schemaMap","Map","matchedCollection","collections","find","collection","slug","auth","disableLocalStrategy","label","t","set","fields","parentIndexPath","parentSchemaPath","matchedGlobal","globals","global","fieldSchemaMap"],"sources":["../../../src/utilities/buildFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, FieldSchemaMap, SanitizedConfig, TextField } from 'payload'\n\nimport { confirmPassword, password } from 'payload/shared'\n\nimport { traverseFields } from './traverseFields.js'\n\nconst baseAuthFields: Field[] = [\n {\n name: 'password',\n type: 'text',\n required: true,\n validate: password,\n },\n {\n name: 'confirm-password',\n type: 'text',\n required: true,\n validate: confirmPassword,\n },\n]\n\n/**\n * Flattens the config fields into a map of field schemas\n */\nexport const buildFieldSchemaMap = (args: {\n collectionSlug?: string\n config: SanitizedConfig\n globalSlug?: string\n i18n: I18n\n}): { fieldSchemaMap: FieldSchemaMap } => {\n const { collectionSlug, config, globalSlug, i18n } = args\n\n const schemaMap: FieldSchemaMap = new Map()\n\n if (collectionSlug) {\n const matchedCollection = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n if (matchedCollection) {\n if (matchedCollection.auth && !matchedCollection.auth.disableLocalStrategy) {\n // register schema with auth schemaPath\n ;(baseAuthFields[0] as TextField).label = i18n.t('general:password')\n ;(baseAuthFields[1] as TextField).label = i18n.t('authentication:confirmPassword')\n\n schemaMap.set(`_${matchedCollection.slug}.auth`, {\n fields: [...baseAuthFields, ...matchedCollection.fields],\n })\n }\n\n schemaMap.set(collectionSlug, {\n fields: matchedCollection.fields,\n })\n\n traverseFields({\n config,\n fields: matchedCollection.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: collectionSlug,\n schemaMap,\n })\n }\n } else if (globalSlug) {\n const matchedGlobal = config.globals.find((global) => global.slug === globalSlug)\n\n if (matchedGlobal) {\n schemaMap.set(globalSlug, {\n fields: matchedGlobal.fields,\n })\n\n traverseFields({\n config,\n fields: matchedGlobal.fields,\n i18n,\n parentIndexPath: '',\n parentSchemaPath: globalSlug,\n schemaMap,\n })\n }\n }\n\n return { fieldSchemaMap: schemaMap }\n}\n"],"mappings":"AAGA,SAASA,eAAe,EAAEC,QAAQ,QAAQ;AAE1C,SAASC,cAAc,QAAQ;AAE/B,MAAMC,cAAA,GAA0B,CAC9B;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;EACVC,QAAA,EAAUN;AACZ,GACA;EACEG,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,QAAA,EAAU;EACVC,QAAA,EAAUP;AACZ,EACD;AAED;;;AAGA,OAAO,MAAMQ,mBAAA,GAAuBC,IAAA;EAMlC,MAAM;IAAEC,cAAc;IAAEC,MAAM;IAAEC,UAAU;IAAEC;EAAI,CAAE,GAAGJ,IAAA;EAErD,MAAMK,SAAA,GAA4B,IAAIC,GAAA;EAEtC,IAAIL,cAAA,EAAgB;IAClB,MAAMM,iBAAA,GAAoBL,MAAA,CAAOM,WAAW,CAACC,IAAI,CAC9CC,UAAA,IAAeA,UAAA,CAAWC,IAAI,KAAKV,cAAA;IAGtC,IAAIM,iBAAA,EAAmB;MACrB,IAAIA,iBAAA,CAAkBK,IAAI,IAAI,CAACL,iBAAA,CAAkBK,IAAI,CAACC,oBAAoB,EAAE;QAC1E;;QACEnB,cAAc,CAAC,EAAE,CAAeoB,KAAK,GAAGV,IAAA,CAAKW,CAAC,CAAC;QAC/CrB,cAAc,CAAC,EAAE,CAAeoB,KAAK,GAAGV,IAAA,CAAKW,CAAC,CAAC;QAEjDV,SAAA,CAAUW,GAAG,CAAC,IAAIT,iBAAA,CAAkBI,IAAI,OAAO,EAAE;UAC/CM,MAAA,EAAQ,C,GAAIvB,cAAA,E,GAAmBa,iBAAA,CAAkBU,MAAM;QACzD;MACF;MAEAZ,SAAA,CAAUW,GAAG,CAACf,cAAA,EAAgB;QAC5BgB,MAAA,EAAQV,iBAAA,CAAkBU;MAC5B;MAEAxB,cAAA,CAAe;QACbS,MAAA;QACAe,MAAA,EAAQV,iBAAA,CAAkBU,MAAM;QAChCb,IAAA;QACAc,eAAA,EAAiB;QACjBC,gBAAA,EAAkBlB,cAAA;QAClBI;MACF;IACF;EACF,OAAO,IAAIF,UAAA,EAAY;IACrB,MAAMiB,aAAA,GAAgBlB,MAAA,CAAOmB,OAAO,CAACZ,IAAI,CAAEa,MAAA,IAAWA,MAAA,CAAOX,IAAI,KAAKR,UAAA;IAEtE,IAAIiB,aAAA,EAAe;MACjBf,SAAA,CAAUW,GAAG,CAACb,UAAA,EAAY;QACxBc,MAAA,EAAQG,aAAA,CAAcH;MACxB;MAEAxB,cAAA,CAAe;QACbS,MAAA;QACAe,MAAA,EAAQG,aAAA,CAAcH,MAAM;QAC5Bb,IAAA;QACAc,eAAA,EAAiB;QACjBC,gBAAA,EAAkBhB,UAAA;QAClBE;MACF;IACF;EACF;EAEA,OAAO;IAAEkB,cAAA,EAAgBlB;EAAU;AACrC","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
|
-
export var EntityType
|
|
3
|
-
(function (EntityType) {
|
|
2
|
+
export var EntityType = /*#__PURE__*/function (EntityType) {
|
|
4
3
|
EntityType["collection"] = "collections";
|
|
5
4
|
EntityType["global"] = "globals";
|
|
6
|
-
|
|
5
|
+
return EntityType;
|
|
6
|
+
}({});
|
|
7
7
|
export function groupNavItems(entities, permissions, i18n) {
|
|
8
8
|
const result = entities.reduce((groups, entityToGroup) => {
|
|
9
9
|
if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","labels","plural","t","defaultGroup","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: SanitizedPermissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ
|
|
1
|
+
{"version":3,"file":"groupNavItems.js","names":["getTranslation","EntityType","groupNavItems","entities","permissions","i18n","result","reduce","groups","entityToGroup","type","toLowerCase","entity","slug","read","translatedGroup","admin","group","existingGroup","find","label","matchedGroup","push","labels","plural","t","defaultGroup","filter","length"],"sources":["../../src/utilities/groupNavItems.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n SanitizedPermissions,\n StaticLabel,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nexport enum EntityType {\n collection = 'collections',\n global = 'globals',\n}\n\nexport type EntityToGroup =\n | {\n entity: SanitizedCollectionConfig\n type: EntityType.collection\n }\n | {\n entity: SanitizedGlobalConfig\n type: EntityType.global\n }\n\nexport type NavGroupType = {\n entities: {\n label: StaticLabel\n slug: string\n type: EntityType\n }[]\n label: string\n}\n\nexport function groupNavItems(\n entities: EntityToGroup[],\n permissions: SanitizedPermissions,\n i18n: I18nClient,\n): NavGroupType[] {\n const result = entities.reduce(\n (groups, entityToGroup) => {\n if (permissions?.[entityToGroup.type.toLowerCase()]?.[entityToGroup.entity.slug]?.read) {\n const translatedGroup = getTranslation(entityToGroup.entity.admin.group, i18n)\n\n if (entityToGroup.entity.admin.group) {\n const existingGroup = groups.find(\n (group) => getTranslation(group.label, i18n) === translatedGroup,\n ) as NavGroupType\n\n let matchedGroup: NavGroupType = existingGroup\n\n if (!existingGroup) {\n matchedGroup = { entities: [], label: translatedGroup }\n groups.push(matchedGroup)\n }\n\n matchedGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n } else {\n const defaultGroup = groups.find((group) => {\n return getTranslation(group.label, i18n) === i18n.t(`general:${entityToGroup.type}`)\n }) as NavGroupType\n defaultGroup.entities.push({\n slug: entityToGroup.entity.slug,\n type: entityToGroup.type,\n label:\n 'labels' in entityToGroup.entity\n ? typeof entityToGroup.entity.labels.plural === 'function'\n ? entityToGroup.entity.labels.plural({ t: i18n.t })\n : entityToGroup.entity.labels.plural\n : entityToGroup.entity.label,\n })\n }\n }\n\n return groups\n },\n [\n {\n entities: [],\n label: i18n.t('general:collections'),\n },\n {\n entities: [],\n label: i18n.t('general:globals'),\n },\n ],\n )\n\n return result.filter((group) => group.entities.length > 0)\n}\n"],"mappings":"AAQA,SAASA,cAAc,QAAQ;AAE/B,OAAO,IAAAC,UAAK,0BAAAA,UAAA;;;SAAAA,UAAA;;AAwBZ,OAAO,SAASC,cACdC,QAAyB,EACzBC,WAAiC,EACjCC,IAAgB;EAEhB,MAAMC,MAAA,GAASH,QAAA,CAASI,MAAM,CAC5B,CAACC,MAAA,EAAQC,aAAA;IACP,IAAIL,WAAA,GAAcK,aAAA,CAAcC,IAAI,CAACC,WAAW,GAAG,GAAGF,aAAA,CAAcG,MAAM,CAACC,IAAI,CAAC,EAAEC,IAAA,EAAM;MACtF,MAAMC,eAAA,GAAkBf,cAAA,CAAeS,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAEZ,IAAA;MAEzE,IAAII,aAAA,CAAcG,MAAM,CAACI,KAAK,CAACC,KAAK,EAAE;QACpC,MAAMC,aAAA,GAAgBV,MAAA,CAAOW,IAAI,CAC9BF,KAAA,IAAUjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUU,eAAA;QAGnD,IAAIM,YAAA,GAA6BH,aAAA;QAEjC,IAAI,CAACA,aAAA,EAAe;UAClBG,YAAA,GAAe;YAAElB,QAAA,EAAU,EAAE;YAAEiB,KAAA,EAAOL;UAAgB;UACtDP,MAAA,CAAOc,IAAI,CAACD,YAAA;QACd;QAEAA,YAAA,CAAalB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF,OAAO;QACL,MAAMM,YAAA,GAAelB,MAAA,CAAOW,IAAI,CAAEF,KAAA;UAChC,OAAOjB,cAAA,CAAeiB,KAAA,CAAMG,KAAK,EAAEf,IAAA,MAAUA,IAAA,CAAKoB,CAAC,CAAC,WAAWhB,aAAA,CAAcC,IAAI,EAAE;QACrF;QACAgB,YAAA,CAAavB,QAAQ,CAACmB,IAAI,CAAC;UACzBT,IAAA,EAAMJ,aAAA,CAAcG,MAAM,CAACC,IAAI;UAC/BH,IAAA,EAAMD,aAAA,CAAcC,IAAI;UACxBU,KAAA,EACE,YAAYX,aAAA,CAAcG,MAAM,GAC5B,OAAOH,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,KAAK,aAC5Cf,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,CAAC;YAAEC,CAAA,EAAGpB,IAAA,CAAKoB;UAAE,KAC/ChB,aAAA,CAAcG,MAAM,CAACW,MAAM,CAACC,MAAM,GACpCf,aAAA,CAAcG,MAAM,CAACQ;QAC7B;MACF;IACF;IAEA,OAAOZ,MAAA;EACT,GACA,CACE;IACEL,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,GACA;IACEtB,QAAA,EAAU,EAAE;IACZiB,KAAA,EAAOf,IAAA,CAAKoB,CAAC,CAAC;EAChB,EACD;EAGH,OAAOnB,MAAA,CAAOqB,MAAM,CAAEV,KAAA,IAAUA,KAAA,CAAMd,QAAQ,CAACyB,MAAM,GAAG;AAC1D","ignoreList":[]}
|
|
@@ -76,7 +76,7 @@ export const Auth = props => {
|
|
|
76
76
|
const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
77
77
|
const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read;
|
|
78
78
|
let t3;
|
|
79
|
-
if ($[0] !==
|
|
79
|
+
if ($[0] !== collectionSlug || $[1] !== dispatchFields || $[2] !== setSchemaPathSegments || $[3] !== setValidateBeforeSubmit || $[4] !== t) {
|
|
80
80
|
t3 = showPasswordFields => {
|
|
81
81
|
if (showPasswordFields) {
|
|
82
82
|
setValidateBeforeSubmit(true);
|
|
@@ -107,10 +107,10 @@ export const Auth = props => {
|
|
|
107
107
|
}
|
|
108
108
|
setChangingPassword(showPasswordFields);
|
|
109
109
|
};
|
|
110
|
-
$[0] =
|
|
111
|
-
$[1] =
|
|
112
|
-
$[2] =
|
|
113
|
-
$[3] =
|
|
110
|
+
$[0] = collectionSlug;
|
|
111
|
+
$[1] = dispatchFields;
|
|
112
|
+
$[2] = setSchemaPathSegments;
|
|
113
|
+
$[3] = setValidateBeforeSubmit;
|
|
114
114
|
$[4] = t;
|
|
115
115
|
$[5] = t3;
|
|
116
116
|
} else {
|
|
@@ -118,7 +118,7 @@ export const Auth = props => {
|
|
|
118
118
|
}
|
|
119
119
|
const handleChangePassword = t3;
|
|
120
120
|
let t4;
|
|
121
|
-
if ($[6] !==
|
|
121
|
+
if ($[6] !== api || $[7] !== collectionSlug || $[8] !== email || $[9] !== i18n.language || $[10] !== loginWithUsername || $[11] !== serverURL || $[12] !== t || $[13] !== username) {
|
|
122
122
|
t4 = async () => {
|
|
123
123
|
const url = `${serverURL}${api}/${collectionSlug}/unlock`;
|
|
124
124
|
const response = await fetch(url, {
|
|
@@ -140,14 +140,14 @@ export const Auth = props => {
|
|
|
140
140
|
toast.error(t("authentication:failedToUnlock"));
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
-
$[6] =
|
|
144
|
-
$[7] =
|
|
145
|
-
$[8] =
|
|
146
|
-
$[9] =
|
|
147
|
-
$[10] =
|
|
148
|
-
$[11] =
|
|
149
|
-
$[12] =
|
|
150
|
-
$[13] =
|
|
143
|
+
$[6] = api;
|
|
144
|
+
$[7] = collectionSlug;
|
|
145
|
+
$[8] = email;
|
|
146
|
+
$[9] = i18n.language;
|
|
147
|
+
$[10] = loginWithUsername;
|
|
148
|
+
$[11] = serverURL;
|
|
149
|
+
$[12] = t;
|
|
150
|
+
$[13] = username;
|
|
151
151
|
$[14] = t4;
|
|
152
152
|
} else {
|
|
153
153
|
t4 = $[14];
|
|
@@ -185,9 +185,9 @@ export const Auth = props => {
|
|
|
185
185
|
}
|
|
186
186
|
const t8 = t7.join(" ");
|
|
187
187
|
let t9;
|
|
188
|
-
if ($[20] !==
|
|
188
|
+
if ($[20] !== apiKeyReadOnly || $[21] !== canReadApiKey || $[22] !== canReadEnableAPIKey || $[23] !== collectionSlug || $[24] !== disableLocalStrategy || $[25] !== disabled || $[26] !== docPermissions?.fields || $[27] !== enableAPIKey?.value || $[28] !== enableAPIKeyReadOnly || $[29] !== handleChangePassword || $[30] !== hasPermissionToUnlock || $[31] !== loginWithUsername || $[32] !== operation || $[33] !== readOnly || $[34] !== requirePassword || $[35] !== showPasswordFields_0 || $[36] !== t || $[37] !== t8 || $[38] !== unlock || $[39] !== useAPIKey || $[40] !== verify) {
|
|
189
189
|
let t10;
|
|
190
|
-
if ($[42] !==
|
|
190
|
+
if ($[42] !== apiKeyReadOnly || $[43] !== canReadApiKey || $[44] !== canReadEnableAPIKey || $[45] !== collectionSlug || $[46] !== disabled || $[47] !== enableAPIKey?.value || $[48] !== enableAPIKeyReadOnly || $[49] !== t || $[50] !== useAPIKey) {
|
|
191
191
|
t10 = useAPIKey && _jsxs("div", {
|
|
192
192
|
className: `${baseClass}__api-key`,
|
|
193
193
|
children: [canReadEnableAPIKey && _jsx(CheckboxField, {
|
|
@@ -206,21 +206,21 @@ export const Auth = props => {
|
|
|
206
206
|
readOnly: apiKeyReadOnly
|
|
207
207
|
})]
|
|
208
208
|
});
|
|
209
|
-
$[42] =
|
|
210
|
-
$[43] =
|
|
211
|
-
$[44] =
|
|
212
|
-
$[45] =
|
|
213
|
-
$[46] =
|
|
214
|
-
$[47] =
|
|
215
|
-
$[48] =
|
|
216
|
-
$[49] =
|
|
217
|
-
$[50] =
|
|
209
|
+
$[42] = apiKeyReadOnly;
|
|
210
|
+
$[43] = canReadApiKey;
|
|
211
|
+
$[44] = canReadEnableAPIKey;
|
|
212
|
+
$[45] = collectionSlug;
|
|
213
|
+
$[46] = disabled;
|
|
214
|
+
$[47] = enableAPIKey?.value;
|
|
215
|
+
$[48] = enableAPIKeyReadOnly;
|
|
216
|
+
$[49] = t;
|
|
217
|
+
$[50] = useAPIKey;
|
|
218
218
|
$[51] = t10;
|
|
219
219
|
} else {
|
|
220
220
|
t10 = $[51];
|
|
221
221
|
}
|
|
222
222
|
let t11;
|
|
223
|
-
if ($[52] !==
|
|
223
|
+
if ($[52] !== collectionSlug || $[53] !== disabled || $[54] !== readOnly || $[55] !== t || $[56] !== verify) {
|
|
224
224
|
t11 = verify && _jsx(CheckboxField, {
|
|
225
225
|
field: {
|
|
226
226
|
name: "_verified",
|
|
@@ -233,11 +233,11 @@ export const Auth = props => {
|
|
|
233
233
|
path: "_verified",
|
|
234
234
|
schemaPath: `${collectionSlug}._verified`
|
|
235
235
|
});
|
|
236
|
-
$[52] =
|
|
236
|
+
$[52] = collectionSlug;
|
|
237
237
|
$[53] = disabled;
|
|
238
238
|
$[54] = readOnly;
|
|
239
239
|
$[55] = t;
|
|
240
|
-
$[56] =
|
|
240
|
+
$[56] = verify;
|
|
241
241
|
$[57] = t11;
|
|
242
242
|
} else {
|
|
243
243
|
t11 = $[57];
|
|
@@ -296,27 +296,27 @@ export const Auth = props => {
|
|
|
296
296
|
})]
|
|
297
297
|
}), t10, t11]
|
|
298
298
|
});
|
|
299
|
-
$[20] =
|
|
300
|
-
$[21] =
|
|
301
|
-
$[22] =
|
|
302
|
-
$[23] =
|
|
303
|
-
$[24] =
|
|
304
|
-
$[25] =
|
|
305
|
-
$[26] =
|
|
306
|
-
$[27] =
|
|
307
|
-
$[28] =
|
|
299
|
+
$[20] = apiKeyReadOnly;
|
|
300
|
+
$[21] = canReadApiKey;
|
|
301
|
+
$[22] = canReadEnableAPIKey;
|
|
302
|
+
$[23] = collectionSlug;
|
|
303
|
+
$[24] = disableLocalStrategy;
|
|
304
|
+
$[25] = disabled;
|
|
305
|
+
$[26] = docPermissions?.fields;
|
|
306
|
+
$[27] = enableAPIKey?.value;
|
|
307
|
+
$[28] = enableAPIKeyReadOnly;
|
|
308
308
|
$[29] = handleChangePassword;
|
|
309
309
|
$[30] = hasPermissionToUnlock;
|
|
310
|
-
$[31] =
|
|
311
|
-
$[32] =
|
|
312
|
-
$[33] =
|
|
313
|
-
$[34] =
|
|
314
|
-
$[35] =
|
|
315
|
-
$[36] =
|
|
316
|
-
$[37] =
|
|
317
|
-
$[38] =
|
|
318
|
-
$[39] =
|
|
319
|
-
$[40] =
|
|
310
|
+
$[31] = loginWithUsername;
|
|
311
|
+
$[32] = operation;
|
|
312
|
+
$[33] = readOnly;
|
|
313
|
+
$[34] = requirePassword;
|
|
314
|
+
$[35] = showPasswordFields_0;
|
|
315
|
+
$[36] = t;
|
|
316
|
+
$[37] = t8;
|
|
317
|
+
$[38] = unlock;
|
|
318
|
+
$[39] = useAPIKey;
|
|
319
|
+
$[40] = verify;
|
|
320
320
|
$[41] = t9;
|
|
321
321
|
} else {
|
|
322
322
|
t9 = $[41];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setSchemaPathSegments","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","forceOpenChangePassword","_temp2","dispatchFields","_temp3","modified","i18n","t","docPermissions","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","showPasswordFields_0","t7","filter","t8","join","t9","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","value","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","fields_0","password","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setSchemaPathSegments,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const forceOpenChangePassword = useFormFields(([fields]) => (fields && fields?.password) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n setSchemaPathSegments([`_${collectionSlug}`, 'auth'])\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n setSchemaPathSegments([collectionSlug])\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, collectionSlug, setSchemaPathSegments, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n const showPasswordFields = changingPassword || forceOpenChangePassword\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(showPasswordFields || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n admin: {\n disabled,\n },\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useCallback","useEffect","useMemo","useState","toast","Button","EmailAndUsernameFields","CheckboxField","ConfirmPasswordField","PasswordField","useFormFields","useFormModified","useAuth","useConfig","useDocumentInfo","useTranslation","APIKey","baseClass","Auth","props","$","className","collectionSlug","disableLocalStrategy","email","loginWithUsername","operation","readOnly","requirePassword","setSchemaPathSegments","setValidateBeforeSubmit","useAPIKey","username","verify","permissions","changingPassword","setChangingPassword","enableAPIKey","_temp","forceOpenChangePassword","_temp2","dispatchFields","_temp3","modified","i18n","t","docPermissions","isInitializing","config","t0","routes","t1","serverURL","api","t2","bb0","collection","collections","Boolean","unlock","undefined","hasPermissionToUnlock","apiKeyPermissions","fields","apiKeyReadOnly","update","enableAPIKeyReadOnly","canReadApiKey","read","canReadEnableAPIKey","t3","showPasswordFields","type","errorMessage","path","valid","handleChangePassword","t4","language","url","response","fetch","body","JSON","stringify","credentials","headers","method","status","success","error","t5","t6","disabled","showPasswordFields_0","t7","filter","t8","join","t9","value","t10","_jsxs","children","_jsx","field","name","admin","label","schemaPath","enabled","t11","Fragment","autoComplete","required","indexPath","parentPath","parentSchemaPath","buttonStyle","onClick","size","id","fields_0","password","reducer"],"sources":["../../../../src/views/Edit/Auth/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { EmailAndUsernameFields } from '../../../elements/EmailAndUsername/index.js'\nimport { CheckboxField } from '../../../fields/Checkbox/index.js'\nimport { ConfirmPasswordField } from '../../../fields/ConfirmPassword/index.js'\nimport { PasswordField } from '../../../fields/Password/index.js'\nimport { useFormFields, useFormModified } from '../../../forms/Form/context.js'\nimport { useAuth } from '../../../providers/Auth/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { APIKey } from './APIKey.js'\nimport './index.scss'\n\nconst baseClass = 'auth-fields'\n\nexport const Auth: React.FC<Props> = (props) => {\n const {\n className,\n collectionSlug,\n disableLocalStrategy,\n email,\n loginWithUsername,\n operation,\n readOnly,\n requirePassword,\n setSchemaPathSegments,\n setValidateBeforeSubmit,\n useAPIKey,\n username,\n verify,\n } = props\n\n const { permissions } = useAuth()\n const [changingPassword, setChangingPassword] = useState(requirePassword)\n const enableAPIKey = useFormFields(([fields]) => (fields && fields?.enableAPIKey) || null)\n const forceOpenChangePassword = useFormFields(([fields]) => (fields && fields?.password) || null)\n const dispatchFields = useFormFields((reducer) => reducer[1])\n const modified = useFormModified()\n const { i18n, t } = useTranslation()\n const { docPermissions, isInitializing } = useDocumentInfo()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasPermissionToUnlock: boolean = useMemo(() => {\n const collection = permissions?.collections?.[collectionSlug]\n\n if (collection) {\n return Boolean('unlock' in collection ? collection.unlock : undefined)\n }\n\n return false\n }, [permissions, collectionSlug])\n\n const apiKeyPermissions =\n docPermissions?.fields === true ? true : docPermissions?.fields?.enableAPIKey\n\n const apiKeyReadOnly =\n readOnly ||\n apiKeyPermissions === true ||\n (apiKeyPermissions && typeof apiKeyPermissions === 'object' && !apiKeyPermissions?.update)\n\n const enableAPIKeyReadOnly =\n readOnly || (apiKeyPermissions !== true && !apiKeyPermissions?.update)\n\n const canReadApiKey = apiKeyPermissions === true || apiKeyPermissions?.read\n const canReadEnableAPIKey = apiKeyPermissions === true || apiKeyPermissions?.read\n\n const handleChangePassword = useCallback(\n (showPasswordFields: boolean) => {\n if (showPasswordFields) {\n setValidateBeforeSubmit(true)\n setSchemaPathSegments([`_${collectionSlug}`, 'auth'])\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'password',\n valid: false,\n })\n dispatchFields({\n type: 'UPDATE',\n errorMessage: t('validation:required'),\n path: 'confirm-password',\n valid: false,\n })\n } else {\n setValidateBeforeSubmit(false)\n setSchemaPathSegments([collectionSlug])\n dispatchFields({ type: 'REMOVE', path: 'password' })\n dispatchFields({ type: 'REMOVE', path: 'confirm-password' })\n }\n\n setChangingPassword(showPasswordFields)\n },\n [dispatchFields, t, collectionSlug, setSchemaPathSegments, setValidateBeforeSubmit],\n )\n\n const unlock = useCallback(async () => {\n const url = `${serverURL}${api}/${collectionSlug}/unlock`\n const response = await fetch(url, {\n body:\n loginWithUsername && username ? JSON.stringify({ username }) : JSON.stringify({ email }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method: 'post',\n })\n\n if (response.status === 200) {\n toast.success(t('authentication:successfullyUnlocked'))\n } else {\n toast.error(t('authentication:failedToUnlock'))\n }\n }, [i18n, serverURL, api, collectionSlug, email, username, t, loginWithUsername])\n\n useEffect(() => {\n if (!modified) {\n setChangingPassword(false)\n }\n }, [modified])\n\n if (disableLocalStrategy && !useAPIKey) {\n return null\n }\n\n const disabled = readOnly || isInitializing\n\n const showPasswordFields = changingPassword || forceOpenChangePassword\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n {!disableLocalStrategy && (\n <React.Fragment>\n <EmailAndUsernameFields\n loginWithUsername={loginWithUsername}\n operation={operation}\n permissions={docPermissions?.fields}\n readOnly={readOnly}\n t={t}\n />\n {(showPasswordFields || requirePassword) && (\n <div className={`${baseClass}__changing-password`}>\n <PasswordField\n autoComplete=\"new-password\"\n field={{\n name: 'password',\n admin: {\n disabled,\n },\n label: t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath=\"password\"\n />\n <ConfirmPasswordField disabled={readOnly} />\n </div>\n )}\n <div className={`${baseClass}__controls`}>\n {showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => handleChangePassword(false)}\n size=\"medium\"\n >\n {t('general:cancel')}\n </Button>\n )}\n {!showPasswordFields && !requirePassword && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n id=\"change-password\"\n onClick={() => handleChangePassword(true)}\n size=\"medium\"\n >\n {t('authentication:changePassword')}\n </Button>\n )}\n {operation === 'update' && hasPermissionToUnlock && (\n <Button\n buttonStyle=\"secondary\"\n disabled={disabled}\n onClick={() => void unlock()}\n size=\"medium\"\n >\n {t('authentication:forceUnlock')}\n </Button>\n )}\n </div>\n </React.Fragment>\n )}\n {useAPIKey && (\n <div className={`${baseClass}__api-key`}>\n {canReadEnableAPIKey && (\n <CheckboxField\n field={{\n name: 'enableAPIKey',\n admin: { disabled, readOnly: enableAPIKeyReadOnly },\n label: t('authentication:enableAPIKey'),\n }}\n path=\"enableAPIKey\"\n schemaPath={`${collectionSlug}.enableAPIKey`}\n />\n )}\n {canReadApiKey && <APIKey enabled={!!enableAPIKey?.value} readOnly={apiKeyReadOnly} />}\n </div>\n )}\n {verify && (\n <CheckboxField\n field={{\n name: '_verified',\n admin: { disabled, readOnly },\n label: t('authentication:verified'),\n }}\n path=\"_verified\"\n schemaPath={`${collectionSlug}._verified`}\n />\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,7 +61,7 @@ export const SetDocumentStepNav = props => {
|
|
|
61
61
|
const drawerDepth = useEditDepth();
|
|
62
62
|
let t3;
|
|
63
63
|
let t4;
|
|
64
|
-
if ($[4] !==
|
|
64
|
+
if ($[4] !== adminRoute || $[5] !== collectionSlug || $[6] !== drawerDepth || $[7] !== globalSlug || $[8] !== i18n || $[9] !== id || $[10] !== isEditing || $[11] !== isInitializing || $[12] !== isVisible || $[13] !== pluralLabel || $[14] !== setStepNav || $[15] !== t || $[16] !== title || $[17] !== useAsTitle || $[18] !== view) {
|
|
65
65
|
t3 = () => {
|
|
66
66
|
const nav = [];
|
|
67
67
|
if (!isInitializing) {
|
|
@@ -108,21 +108,21 @@ export const SetDocumentStepNav = props => {
|
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
110
|
t4 = [setStepNav, isInitializing, isEditing, pluralLabel, id, useAsTitle, adminRoute, t, i18n, title, collectionSlug, globalSlug, view, drawerDepth, isVisible];
|
|
111
|
-
$[4] =
|
|
111
|
+
$[4] = adminRoute;
|
|
112
112
|
$[5] = collectionSlug;
|
|
113
|
-
$[6] =
|
|
114
|
-
$[7] =
|
|
115
|
-
$[8] =
|
|
116
|
-
$[9] =
|
|
113
|
+
$[6] = drawerDepth;
|
|
114
|
+
$[7] = globalSlug;
|
|
115
|
+
$[8] = i18n;
|
|
116
|
+
$[9] = id;
|
|
117
117
|
$[10] = isEditing;
|
|
118
|
-
$[11] =
|
|
119
|
-
$[12] =
|
|
120
|
-
$[13] =
|
|
121
|
-
$[14] =
|
|
122
|
-
$[15] =
|
|
123
|
-
$[16] =
|
|
124
|
-
$[17] =
|
|
125
|
-
$[18] =
|
|
118
|
+
$[11] = isInitializing;
|
|
119
|
+
$[12] = isVisible;
|
|
120
|
+
$[13] = pluralLabel;
|
|
121
|
+
$[14] = setStepNav;
|
|
122
|
+
$[15] = t;
|
|
123
|
+
$[16] = title;
|
|
124
|
+
$[17] = useAsTitle;
|
|
125
|
+
$[18] = view;
|
|
126
126
|
$[19] = t3;
|
|
127
127
|
$[20] = t4;
|
|
128
128
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useEffect","useStepNav","useConfig","useDocumentInfo","useEditDepth","useEntityVisibility","useTranslation","formatAdminURL","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","admin","adminRoute","drawerDepth","t3","t4","nav","push","label","url","path"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing, title } = useDocumentInfo()\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const drawerDepth = useEditDepth()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n if (drawerDepth <= 1) {\n setStepNav(nav)\n }\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n view,\n drawerDepth,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAI1B,SAASC,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAE/B,OAAO,MAAMC,kBAAA,GAQRC,KAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EACH;IAAAa,EAAA;IAAAC,cAAA;IAAAC,UAAA;IAAAC,WAAA;IAAAC;EAAA,IAAoEN,KAAA;EAEpE,MAAAO,IAAA,GAAiCP,KAAA,EAAAO,IAAA,IAAAC,SAAe;EAEhD;IAAAC,SAAA;IAAAC,cAAA;IAAAC;EAAA,IAA6CjB,eAAA;EAC7C;IAAAkB;EAAA,IAA4BhB,mBAAA;EAAA,IAAAiB,EAAA;EAAA,IAAAZ,CAAA,QAAAE,cAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAW,eAAA;IACVC,EAAA,GAAAD,eAAA;MAAAT,cAAA;MAAAC;IAAA,CAA6C;IAAAH,CAAA,MAAAE,cAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAW,eAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAA/D,MAAAa,SAAA,GAAkBD,EAA6C;EAE/D;IAAAE;EAAA,IAAuBvB,UAAA;EAEvB;IAAAwB,IAAA;IAAAC;EAAA,IAAoBpB,cAAA;EAEpB;IAAAqB,MAAA,EAAAC;EAAA,IAII1B,SAAA;EAHM;IAAA2B,MAAA,EAAAC;EAAA,IAAAF,EAEP;EADS;IAAAG,KAAA,EAAAC;EAAA,IAAAF,EAAqB;EAIjC,MAAAG,WAAA,GAAoB7B,YAAA;EAAA,IAAA8B,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAzB,CAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useEffect","useStepNav","useConfig","useDocumentInfo","useEditDepth","useEntityVisibility","useTranslation","formatAdminURL","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","admin","adminRoute","drawerDepth","t3","t4","nav","push","label","url","path"],"sources":["../../../../src/views/Edit/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useEffect } from 'react'\n\nimport type { StepNavItem } from '../../../elements/StepNav/index.js'\n\nimport { useStepNav } from '../../../elements/StepNav/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { useEntityVisibility } from '../../../providers/EntityVisibility/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing, title } = useDocumentInfo()\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const drawerDepth = useEditDepth()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n if (drawerDepth <= 1) {\n setStepNav(nav)\n }\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n view,\n drawerDepth,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,7 +36,7 @@ export const SetDocumentTitle = props => {
|
|
|
36
36
|
} = useDocumentInfo();
|
|
37
37
|
const dateFormatFromConfig = config?.admin?.dateFormat;
|
|
38
38
|
let t1;
|
|
39
|
-
if ($[2] !==
|
|
39
|
+
if ($[2] !== collectionConfig || $[3] !== dateFormatFromConfig || $[4] !== fallback || $[5] !== field || $[6] !== globalConfig || $[7] !== i18n) {
|
|
40
40
|
t1 = formatDocTitle({
|
|
41
41
|
collectionConfig,
|
|
42
42
|
data: {
|
|
@@ -47,10 +47,10 @@ export const SetDocumentTitle = props => {
|
|
|
47
47
|
globalConfig,
|
|
48
48
|
i18n
|
|
49
49
|
});
|
|
50
|
-
$[2] =
|
|
51
|
-
$[3] =
|
|
52
|
-
$[4] =
|
|
53
|
-
$[5] =
|
|
50
|
+
$[2] = collectionConfig;
|
|
51
|
+
$[3] = dateFormatFromConfig;
|
|
52
|
+
$[4] = fallback;
|
|
53
|
+
$[5] = field;
|
|
54
54
|
$[6] = globalConfig;
|
|
55
55
|
$[7] = i18n;
|
|
56
56
|
$[8] = t1;
|