@payloadcms/ui 4.0.0-internal.f15737c → 4.0.0-internal.f2a04f7
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/css/preflight.css +21 -2
- package/dist/elements/AppHeader/index.css +1 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +10 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Button/index.css +24 -0
- package/dist/elements/Button/types.d.ts +1 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.d.ts.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +5 -0
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +6 -2
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +35 -25
- package/dist/elements/DocumentControls/index.css +13 -10
- package/dist/elements/DocumentControls/index.d.ts +4 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -5
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +7 -7
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +1 -2
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/EditUpload/library.css +6 -13
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +6 -1
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ActionsMenu/index.css +18 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.d.ts +35 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.js +99 -0
- package/dist/elements/Hierarchy/ActionsMenu/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +18 -16
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +2 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.css +12 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +61 -14
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.css +33 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +21 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js +122 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +8 -3
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +38 -12
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +0 -56
- package/dist/elements/Hierarchy/Modal/index.d.ts +5 -3
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +64 -65
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.d.ts +2 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +1 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +62 -84
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +0 -10
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -2
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +0 -6
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListDrawer/index.js +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +1 -0
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +24 -20
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.css +7 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +19 -14
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +71 -8
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishButton/validateAllLocales.d.ts +11 -0
- package/dist/elements/PublishButton/validateAllLocales.d.ts.map +1 -0
- package/dist/elements/PublishButton/validateAllLocales.js +263 -0
- package/dist/elements/PublishButton/validateAllLocales.js.map +1 -0
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +15 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +50 -7
- package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +0 -9
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +63 -40
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +6 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Tabs/index.css +4 -3
- package/dist/elements/Upload/getEditorFileSrc.d.ts +11 -0
- package/dist/elements/Upload/getEditorFileSrc.d.ts.map +1 -0
- package/dist/elements/Upload/getEditorFileSrc.js +6 -0
- package/dist/elements/Upload/getEditorFileSrc.js.map +1 -0
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +6 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-UKD3EPUY.js → CodeEditor-I6PL55BF.js} +2 -2
- package/dist/exports/client/{DatePicker-POZJVQP4.js → DatePicker-XAKGIULG.js} +2 -2
- package/dist/exports/client/{chunk-2AY67NFV.js → chunk-36JJSMEB.js} +2 -2
- package/dist/exports/client/chunk-36JJSMEB.js.map +7 -0
- package/dist/exports/client/chunk-R7M6BG75.js +27 -0
- package/dist/exports/client/chunk-R7M6BG75.js.map +7 -0
- package/dist/exports/client/index.d.ts +3 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +27 -27
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Group/index.css +3 -5
- package/dist/fields/Tabs/index.css +14 -14
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +3 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +6 -9
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +0 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +0 -5
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/index.css +2 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/types.d.ts +0 -4
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/icons/Arrow/index.d.ts +1 -1
- package/dist/icons/Arrow/index.d.ts.map +1 -1
- package/dist/icons/Arrow/index.js +7 -1
- package/dist/icons/Arrow/index.js.map +1 -1
- package/dist/icons/Clock/index.d.ts +6 -0
- package/dist/icons/Clock/index.d.ts.map +1 -0
- package/dist/icons/Clock/index.js +18 -0
- package/dist/icons/Clock/index.js.map +1 -0
- package/dist/icons/Pin/index.d.ts +7 -0
- package/dist/icons/Pin/index.d.ts.map +1 -0
- package/dist/icons/Pin/index.js +23 -0
- package/dist/icons/Pin/index.js.map +1 -0
- package/dist/icons/Sidebar/index.d.ts.map +1 -1
- package/dist/icons/Sidebar/index.js +2 -0
- package/dist/icons/Sidebar/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -1
- package/dist/layouts/Root/getRootLayoutData.d.ts +2 -2
- package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
- package/dist/layouts/Root/getRootLayoutData.js +8 -4
- package/dist/layouts/Root/getRootLayoutData.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +5 -20
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +0 -4
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +37 -25
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -2
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/types.d.ts +1 -34
- package/dist/providers/TableColumns/types.d.ts.map +1 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/styles.css +22 -3
- package/dist/templates/Default/index.css +0 -1
- package/dist/utilities/appendCacheTag.d.ts +1 -0
- package/dist/utilities/appendCacheTag.d.ts.map +1 -1
- package/dist/utilities/appendCacheTag.js +2 -1
- package/dist/utilities/appendCacheTag.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +11 -1
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getDocumentThumbnail.d.ts +6 -0
- package/dist/utilities/getDocumentThumbnail.d.ts.map +1 -0
- package/dist/utilities/getDocumentThumbnail.js +27 -0
- package/dist/utilities/getDocumentThumbnail.js.map +1 -0
- package/dist/utilities/getDocumentThumbnailPopulate.d.ts +7 -0
- package/dist/utilities/getDocumentThumbnailPopulate.d.ts.map +1 -0
- package/dist/utilities/getDocumentThumbnailPopulate.js +23 -0
- package/dist/utilities/getDocumentThumbnailPopulate.js.map +1 -0
- package/dist/utilities/getDocumentThumbnailSelect.d.ts +7 -0
- package/dist/utilities/getDocumentThumbnailSelect.d.ts.map +1 -0
- package/dist/utilities/getDocumentThumbnailSelect.js +24 -0
- package/dist/utilities/getDocumentThumbnailSelect.js.map +1 -0
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -0
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts +7 -2
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +22 -8
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +4 -2
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +16 -4
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Edit/index.css +26 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.d.ts.map +1 -1
- package/dist/views/List/DocumentGrid/index.js +2 -37
- package/dist/views/List/DocumentGrid/index.js.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js +3 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +11 -24
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +2 -12
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +8 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +31 -5
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +41 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +19 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +121 -0
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts +20 -0
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/getDocuments.js +254 -0
- package/dist/widgets/RecentlyViewed/getDocuments.js.map +1 -0
- package/dist/widgets/RecentlyViewed/index.client.d.ts +41 -0
- package/dist/widgets/RecentlyViewed/index.client.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/index.client.js +409 -0
- package/dist/widgets/RecentlyViewed/index.client.js.map +1 -0
- package/dist/widgets/RecentlyViewed/index.css +352 -0
- package/dist/widgets/RecentlyViewed/index.d.ts +1 -1
- package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -1
- package/dist/widgets/RecentlyViewed/index.js +33 -134
- package/dist/widgets/RecentlyViewed/index.js.map +1 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts +18 -0
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js +81 -0
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +1 -0
- package/dist/widgets/RecentlyViewed/recents.d.ts +8 -0
- package/dist/widgets/RecentlyViewed/recents.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/recents.js +19 -0
- package/dist/widgets/RecentlyViewed/recents.js.map +1 -0
- package/package.json +16 -16
- package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
- package/dist/exports/client/chunk-6XCSN54Q.js +0 -27
- package/dist/exports/client/chunk-6XCSN54Q.js.map +0 -7
- /package/dist/exports/client/{CodeEditor-UKD3EPUY.js.map → CodeEditor-I6PL55BF.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-XAKGIULG.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["docAccessOperation","appendDateTimezoneSelectFields","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","RenderServerComponent","DefaultListView","HierarchyListView","HydrateAuthProvider","HydrateHierarchyProvider","HydratePreferences","ListQueryProvider","getColumns","getDocumentPermissions","renderFilters","renderTable","upsertPreferences","enrichDocsWithVersionStatus","handleGroupBy","handleHierarchy","renderListViewSlots","resolveAllFilterOptions","resolveDocumentListItemURL","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","user","userWithReadAccess","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","groupedData","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","useAsTitle","updatedAt","hierarchy","collectionSpecific","fieldName","thumbnailFieldName","documentLayout","useAsThumbnail","thumbnailPopulate","thumbnailField","flattenedFields","field","name","type","relatedSlugs","Array","isArray","relationTo","relatedSlug","relatedCollectionConfig","relatedSelect","fields","orderable","_order","versions","drafts","_status","isHierarchyCollection","Boolean","hierarchyParentFieldName","parentFieldName","isHierarchyView","hierarchyParentId","parentParam","db","defaultIDType","currentHierarchyItem","currentHierarchyDoc","disableErrors","update","hasUpdatePermission","titleFieldName","title","String","warn","msg","hierarchyData","fieldPermissions","draft","fallbackLocale","includeLockStatus","populate","orderableFieldName","HierarchyIcon","typeFilterParam","typeFilter","length","split","parentId","childrenData","hierarchyConfig","Component","components","Icon","importMap","renderedFilters","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","hasTrashPermission","notFoundDocId","notFound","serverProps","listPreferences","listSearchableFields","server","listViewSlots","clientProps","isInDrawer","documentURLs","formatDocURL","Object","fromEntries","flatMap","group","map","doc","stringify","RenderedListViewComponent","views","list","Fallback","List","_jsxs","_jsx","preferences","allowedCollections","expandedNodes","breadcrumbs","slice","b","parent","tableData","treeLimit","typeFieldName","modifySearchParams","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n CurrentHierarchyItem,\n HierarchyViewData,\n ListQuery,\n ListViewClientProps,\n ListViewGroup,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n PopulateType,\n QueryPreset,\n SanitizedCollectionPermission,\n SelectType,\n} from 'payload'\n\nimport { docAccessOperation } from 'payload'\nimport {\n appendDateTimezoneSelectFields,\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DefaultListView,\n HierarchyListView,\n HydrateAuthProvider,\n HydrateHierarchyProvider,\n HydratePreferences,\n ListQueryProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { getColumns } from '../../utilities/getColumns.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { handleHierarchy } from './handleHierarchy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { resolveDocumentListItemURL } from './resolveDocumentListItemURL.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\nimport './index.css'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n user: userWithReadAccess,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined =\n permissions?.collections?.['payload-query-presets']\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let groupedData: ListViewGroup[] | undefined\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n /** Automatically force select active columns. */\n const select = transformColumnsToSelect(columns)\n\n /** Grid cards need their title, timestamp, and thumbnail regardless of visible table columns. */\n if (collectionConfig.admin.useAsTitle) {\n select[collectionConfig.admin.useAsTitle] = true\n }\n select.updatedAt = true\n\n /** Force select `useAsTitle` for accessible row-selection labels, even if its column is hidden. */\n if (enableRowSelections && collectionConfig.admin.useAsTitle) {\n select[collectionConfig.admin.useAsTitle] = true\n }\n\n /** Force select hierarchy scope so parent cells can validate destinations independently of visible columns. */\n if (\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.collectionSpecific\n ) {\n select[collectionConfig.hierarchy.collectionSpecific.fieldName] = true\n }\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n /** Populate only the configured thumbnail relationship for flat collection grids. */\n const thumbnailFieldName =\n collectionPreferences?.documentLayout === 'grid' && viewType !== 'hierarchy'\n ? collectionConfig.admin.useAsThumbnail\n : undefined\n let thumbnailPopulate: PopulateType | undefined\n\n if (thumbnailFieldName) {\n select[thumbnailFieldName] = true\n\n const thumbnailField = collectionConfig.flattenedFields.find(\n (field) => field.name === thumbnailFieldName && field.type === 'upload',\n )\n\n if (thumbnailField && 'relationTo' in thumbnailField) {\n const relatedSlugs = Array.isArray(thumbnailField.relationTo)\n ? thumbnailField.relationTo\n : [thumbnailField.relationTo]\n\n thumbnailPopulate = {}\n\n for (const relatedSlug of relatedSlugs) {\n const relatedCollectionConfig = payload.collections[relatedSlug]?.config\n\n if (relatedCollectionConfig) {\n const relatedSelect: SelectType = {}\n\n appendUploadSelectFields({\n collectionConfig: relatedCollectionConfig,\n select: relatedSelect,\n })\n\n thumbnailPopulate[relatedSlug] = relatedSelect\n }\n }\n }\n }\n\n /** Force select `_tz` siblings for any timezone-enabled date fields in select */\n appendDateTimezoneSelectFields({\n fields: collectionConfig.flattenedFields,\n select,\n })\n\n /** Force select `_order` for orderable collections — OrderableTable needs it to compute reorder targets */\n if (collectionConfig.orderable === true) {\n select._order = true\n }\n\n /** Force select `_status` for drafts-enabled collections — needed by `enrichDocsWithVersionStatus` and `formatDocURL` */\n if (collectionConfig.versions?.drafts) {\n select._status = true\n }\n\n // Check for hierarchy parent param\n const isHierarchyCollection = Boolean(collectionConfig.hierarchy)\n const hierarchyParentFieldName =\n typeof collectionConfig.hierarchy === 'object'\n ? (collectionConfig.hierarchy.parentFieldName ?? 'parent')\n : 'parent'\n const isHierarchyView = viewType === 'hierarchy'\n let hierarchyParentId: null | number | string = null\n\n if (isHierarchyCollection) {\n const parentParam = searchParams?.[hierarchyParentFieldName]\n if (parentParam === 'null' || parentParam === undefined) {\n hierarchyParentId = null\n } else if (typeof parentParam === 'string') {\n hierarchyParentId =\n payload.db.defaultIDType === 'number' && isNumber(parentParam)\n ? Number(parentParam)\n : parentParam\n }\n }\n\n let currentHierarchyItem: CurrentHierarchyItem | undefined\n\n if (isHierarchyCollection && hierarchyParentId !== null) {\n try {\n const currentHierarchyDoc = await payload.findByID({\n id: hierarchyParentId,\n collection: collectionSlug,\n depth: 0,\n disableErrors: true,\n overrideAccess: false,\n req,\n user,\n })\n\n if (currentHierarchyDoc) {\n const { update: hasUpdatePermission } = await docAccessOperation({\n id: currentHierarchyDoc.id,\n collection: { config: collectionConfig },\n data: currentHierarchyDoc,\n req,\n })\n const titleFieldName = collectionConfig.admin?.useAsTitle || 'id'\n\n currentHierarchyItem = {\n id: currentHierarchyDoc.id,\n hasUpdatePermission: Boolean(hasUpdatePermission),\n title: String(currentHierarchyDoc[titleFieldName] || currentHierarchyDoc.id),\n }\n }\n } catch (err) {\n payload.logger.warn({ err, msg: `Could not resolve hierarchy item: ${hierarchyParentId}` })\n }\n }\n\n // Hierarchy data for client-side rendering\n let hierarchyData: HierarchyViewData | undefined\n\n try {\n if (query.groupBy) {\n ;({ columnState, data, groupedData, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n hierarchyParentFieldName:\n isHierarchyCollection && !drawerSlug && viewType === 'list'\n ? hierarchyParentFieldName\n : undefined,\n query,\n req,\n select,\n thumbnailFieldName,\n thumbnailPopulate,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: thumbnailFieldName ? 1 : 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate: thumbnailPopulate,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n hierarchyParentFieldName:\n isHierarchyCollection && !drawerSlug && viewType === 'list'\n ? hierarchyParentFieldName\n : undefined,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n // Resolve hierarchy data for the hierarchy list view.\n let HierarchyIcon: React.ReactNode | undefined\n\n if (isHierarchyCollection && isHierarchyView) {\n // Extract typeFilter from searchParams (comma-separated list of collection slugs)\n const typeFilterParam = searchParams?.typeFilter\n const typeFilter =\n typeof typeFilterParam === 'string' && typeFilterParam.length > 0\n ? typeFilterParam.split(',')\n : undefined\n\n hierarchyData = await handleHierarchy({\n baseFilter: baseFilterConstraint,\n collectionConfig,\n collectionSlug,\n parentId: hierarchyParentId,\n permissions,\n req,\n search: typeof query?.search === 'string' ? query.search : undefined,\n typeFilter,\n user,\n })\n\n data = hierarchyData.childrenData\n\n // Resolve hierarchy icon from collection config\n const hierarchyConfig =\n typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined\n\n HierarchyIcon = RenderServerComponent({\n Component: hierarchyConfig?.admin?.components?.Icon,\n importMap: payload.importMap,\n key: `hierarchy-icon-${collectionSlug}`,\n })\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n server: req.server,\n user: userWithReadAccess,\n }\n\n const listViewSlots = await renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n newDocumentURL,\n viewType,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n req,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n const documentURLs =\n !isInDrawer && !isHierarchyView && collectionConfig.admin.formatDocURL\n ? Object.fromEntries(\n (groupedData ? groupedData.flatMap((group) => group.data.docs) : data.docs).map((doc) => [\n doc.id,\n resolveDocumentListItemURL({\n collectionSlug,\n doc,\n formatDocURL: collectionConfig.admin.formatDocURL,\n hierarchyParentFieldName: isHierarchyCollection\n ? hierarchyParentFieldName\n : undefined,\n req,\n viewType,\n }),\n ]),\n )\n : undefined\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n const RenderedListViewComponent = RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n baseFilter: baseFilterConstraint,\n collectionSlug,\n columnState,\n currentHierarchyItem,\n disableBulkDelete: collectionConfig.disableBulkDelete ?? disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n documentLayout: collectionPreferences?.documentLayout,\n documentURLs,\n enableRowSelections,\n groupedData,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n HierarchyIcon,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: viewType === 'hierarchy' ? HierarchyListView : DefaultListView,\n importMap: payload.importMap,\n key: `list-view-${collectionSlug}-${viewType}`,\n serverProps,\n })\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <HydratePreferences collectionSlug={collectionSlug} preferences={collectionPreferences} />\n {isHierarchyView ? (\n <Fragment>\n <HydrateHierarchyProvider\n allowedCollections={hierarchyData?.allowedCollections}\n baseFilter={baseFilterConstraint}\n collectionSlug={collectionSlug}\n expandedNodes={hierarchyData?.breadcrumbs?.slice(0, -1).map((b) => b.id)}\n parent={hierarchyData?.parent}\n parentFieldName={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.parentFieldName\n : undefined\n }\n tableData={data}\n treeLimit={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.admin?.treeLimit\n : undefined\n }\n typeFieldName={\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy?.collectionSpecific &&\n typeof collectionConfig.hierarchy.collectionSpecific === 'object'\n ? collectionConfig.hierarchy.collectionSpecific.fieldName\n : undefined\n }\n />\n {RenderedListViewComponent}\n </Fragment>\n ) : (\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderedListViewComponent}\n </ListQueryProvider>\n )}\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n args.initPageResult.req.server.notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["docAccessOperation","appendDateTimezoneSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","RenderServerComponent","DefaultListView","HierarchyListView","HydrateAuthProvider","HydrateHierarchyProvider","HydratePreferences","ListQueryProvider","getColumns","getDocumentPermissions","getDocumentThumbnailPopulate","getDocumentThumbnailSelect","renderFilters","renderTable","upsertPreferences","enrichDocsWithVersionStatus","handleGroupBy","handleHierarchy","renderListViewSlots","resolveAllFilterOptions","resolveDocumentListItemURL","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","user","userWithReadAccess","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","groupedData","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","useAsTitle","updatedAt","hierarchy","collectionSpecific","fieldName","thumbnailFieldName","documentLayout","useAsThumbnail","thumbnailPopulate","fields","flattenedFields","orderable","_order","versions","drafts","_status","isHierarchyCollection","Boolean","hierarchyParentFieldName","parentFieldName","isHierarchyView","hierarchyParentId","parentParam","db","defaultIDType","currentHierarchyItem","currentHierarchyDoc","disableErrors","update","hasUpdatePermission","titleFieldName","title","String","warn","msg","hierarchyData","fieldPermissions","draft","fallbackLocale","includeLockStatus","populate","orderableFieldName","name","HierarchyIcon","typeFilterParam","typeFilter","length","split","parentId","childrenData","hierarchyConfig","Component","components","Icon","importMap","renderedFilters","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","hasTrashPermission","notFoundDocId","notFound","serverProps","listPreferences","listSearchableFields","server","listViewSlots","clientProps","isInDrawer","documentURLs","formatDocURL","Object","fromEntries","flatMap","group","map","doc","stringify","RenderedListViewComponent","views","list","Fallback","List","_jsxs","_jsx","preferences","allowedCollections","expandedNodes","breadcrumbs","slice","b","parent","tableData","treeLimit","typeFieldName","modifySearchParams","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n CurrentHierarchyItem,\n HierarchyViewData,\n ListQuery,\n ListViewClientProps,\n ListViewGroup,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport { docAccessOperation } from 'payload'\nimport {\n appendDateTimezoneSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DefaultListView,\n HierarchyListView,\n HydrateAuthProvider,\n HydrateHierarchyProvider,\n HydratePreferences,\n ListQueryProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { getColumns } from '../../utilities/getColumns.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { getDocumentThumbnailPopulate } from '../../utilities/getDocumentThumbnailPopulate.js'\nimport { getDocumentThumbnailSelect } from '../../utilities/getDocumentThumbnailSelect.js'\nimport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { handleHierarchy } from './handleHierarchy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { resolveDocumentListItemURL } from './resolveDocumentListItemURL.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\nimport './index.css'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n user: userWithReadAccess,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined =\n permissions?.collections?.['payload-query-presets']\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let groupedData: ListViewGroup[] | undefined\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n /** Automatically force select active columns. */\n const select = getDocumentThumbnailSelect({\n collectionConfig,\n select: transformColumnsToSelect(columns),\n })\n\n /** Grid cards need their title, timestamp, and thumbnail regardless of visible table columns. */\n if (collectionConfig.admin.useAsTitle) {\n select[collectionConfig.admin.useAsTitle] = true\n }\n select.updatedAt = true\n\n /** Force select `useAsTitle` for accessible row-selection labels, even if its column is hidden. */\n if (enableRowSelections && collectionConfig.admin.useAsTitle) {\n select[collectionConfig.admin.useAsTitle] = true\n }\n\n /** Force select hierarchy scope so parent cells can validate destinations independently of visible columns. */\n if (\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy.collectionSpecific\n ) {\n select[collectionConfig.hierarchy.collectionSpecific.fieldName] = true\n }\n\n /** Populate only the configured thumbnail relationship for flat collection grids. */\n const thumbnailFieldName =\n collectionPreferences?.documentLayout === 'grid' && viewType !== 'hierarchy'\n ? collectionConfig.admin.useAsThumbnail\n : undefined\n const thumbnailPopulate = thumbnailFieldName\n ? getDocumentThumbnailPopulate({ collectionConfig, collections: payload.config.collections })\n : undefined\n\n if (thumbnailFieldName) {\n select[thumbnailFieldName] = true\n }\n\n /** Force select `_tz` siblings for any timezone-enabled date fields in select */\n appendDateTimezoneSelectFields({\n fields: collectionConfig.flattenedFields,\n select,\n })\n\n /** Force select `_order` for orderable collections — OrderableTable needs it to compute reorder targets */\n if (collectionConfig.orderable === true) {\n select._order = true\n }\n\n /** Force select `_status` for drafts-enabled collections — needed by `enrichDocsWithVersionStatus` and `formatDocURL` */\n if (collectionConfig.versions?.drafts) {\n select._status = true\n }\n\n // Check for hierarchy parent param\n const isHierarchyCollection = Boolean(collectionConfig.hierarchy)\n const hierarchyParentFieldName =\n typeof collectionConfig.hierarchy === 'object'\n ? (collectionConfig.hierarchy.parentFieldName ?? 'parent')\n : 'parent'\n const isHierarchyView = viewType === 'hierarchy'\n let hierarchyParentId: null | number | string = null\n\n if (isHierarchyCollection) {\n const parentParam = searchParams?.[hierarchyParentFieldName]\n if (parentParam === 'null' || parentParam === undefined) {\n hierarchyParentId = null\n } else if (typeof parentParam === 'string') {\n hierarchyParentId =\n payload.db.defaultIDType === 'number' && isNumber(parentParam)\n ? Number(parentParam)\n : parentParam\n }\n }\n\n let currentHierarchyItem: CurrentHierarchyItem | undefined\n\n if (isHierarchyCollection && hierarchyParentId !== null) {\n try {\n const currentHierarchyDoc = await payload.findByID({\n id: hierarchyParentId,\n collection: collectionSlug,\n depth: 0,\n disableErrors: true,\n overrideAccess: false,\n req,\n user,\n })\n\n if (currentHierarchyDoc) {\n const { update: hasUpdatePermission } = await docAccessOperation({\n id: currentHierarchyDoc.id,\n collection: { config: collectionConfig },\n data: currentHierarchyDoc,\n req,\n })\n const titleFieldName = collectionConfig.admin?.useAsTitle || 'id'\n\n currentHierarchyItem = {\n id: currentHierarchyDoc.id,\n hasUpdatePermission: Boolean(hasUpdatePermission),\n title: String(currentHierarchyDoc[titleFieldName] || currentHierarchyDoc.id),\n }\n }\n } catch (err) {\n payload.logger.warn({ err, msg: `Could not resolve hierarchy item: ${hierarchyParentId}` })\n }\n }\n\n // Hierarchy data for client-side rendering\n let hierarchyData: HierarchyViewData | undefined\n\n try {\n if (query.groupBy) {\n ;({ columnState, data, groupedData, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n hierarchyParentFieldName:\n isHierarchyCollection && !drawerSlug && viewType === 'list'\n ? hierarchyParentFieldName\n : undefined,\n query,\n req,\n select,\n thumbnailFieldName,\n thumbnailPopulate,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: thumbnailFieldName ? 1 : 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate: thumbnailPopulate,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n hierarchyParentFieldName:\n isHierarchyCollection && !drawerSlug && viewType === 'list'\n ? hierarchyParentFieldName\n : undefined,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n // Resolve hierarchy data for the hierarchy list view.\n let HierarchyIcon: React.ReactNode | undefined\n\n if (isHierarchyCollection && isHierarchyView) {\n // Extract typeFilter from searchParams (comma-separated list of collection slugs)\n const typeFilterParam = searchParams?.typeFilter\n const typeFilter =\n typeof typeFilterParam === 'string' && typeFilterParam.length > 0\n ? typeFilterParam.split(',')\n : undefined\n\n hierarchyData = await handleHierarchy({\n baseFilter: baseFilterConstraint,\n collectionConfig,\n collectionSlug,\n parentId: hierarchyParentId,\n permissions,\n req,\n search: typeof query?.search === 'string' ? query.search : undefined,\n typeFilter,\n user,\n })\n\n data = hierarchyData.childrenData\n\n // Resolve hierarchy icon from collection config\n const hierarchyConfig =\n typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined\n\n HierarchyIcon = RenderServerComponent({\n Component: hierarchyConfig?.admin?.components?.Icon,\n importMap: payload.importMap,\n key: `hierarchy-icon-${collectionSlug}`,\n })\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n server: req.server,\n user: userWithReadAccess,\n }\n\n const listViewSlots = await renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n newDocumentURL,\n viewType,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n req,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n const documentURLs =\n !isInDrawer && !isHierarchyView && collectionConfig.admin.formatDocURL\n ? Object.fromEntries(\n (groupedData ? groupedData.flatMap((group) => group.data.docs) : data.docs).map((doc) => [\n doc.id,\n resolveDocumentListItemURL({\n collectionSlug,\n doc,\n formatDocURL: collectionConfig.admin.formatDocURL,\n hierarchyParentFieldName: isHierarchyCollection\n ? hierarchyParentFieldName\n : undefined,\n req,\n viewType,\n }),\n ]),\n )\n : undefined\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n const RenderedListViewComponent = RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n baseFilter: baseFilterConstraint,\n collectionSlug,\n columnState,\n currentHierarchyItem,\n disableBulkDelete: collectionConfig.disableBulkDelete ?? disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n documentLayout: collectionPreferences?.documentLayout,\n documentURLs,\n enableRowSelections,\n groupedData,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n HierarchyIcon,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: viewType === 'hierarchy' ? HierarchyListView : DefaultListView,\n importMap: payload.importMap,\n key: `list-view-${collectionSlug}-${viewType}`,\n serverProps,\n })\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <HydratePreferences collectionSlug={collectionSlug} preferences={collectionPreferences} />\n {isHierarchyView ? (\n <Fragment>\n <HydrateHierarchyProvider\n allowedCollections={hierarchyData?.allowedCollections}\n baseFilter={baseFilterConstraint}\n collectionSlug={collectionSlug}\n expandedNodes={hierarchyData?.breadcrumbs?.slice(0, -1).map((b) => b.id)}\n parent={hierarchyData?.parent}\n parentFieldName={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.parentFieldName\n : undefined\n }\n tableData={data}\n treeLimit={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.admin?.treeLimit\n : undefined\n }\n typeFieldName={\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy?.collectionSpecific &&\n typeof collectionConfig.hierarchy.collectionSpecific === 'object'\n ? collectionConfig.hierarchy.collectionSpecific.fieldName\n : undefined\n }\n />\n {RenderedListViewComponent}\n </Fragment>\n ) : (\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderedListViewComponent}\n </ListQueryProvider>\n )}\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n args.initPageResult.req.server.notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -399,22 +399,12 @@ const buildVersionField = ({
|
|
|
399
399
|
...baseVersionField,
|
|
400
400
|
CustomComponent: undefined
|
|
401
401
|
},
|
|
402
|
-
/**
|
|
403
|
-
* TODO: Change to valueFrom in 4.0
|
|
404
|
-
*/
|
|
405
|
-
comparisonValue: valueFrom,
|
|
406
|
-
/**
|
|
407
|
-
* @deprecated remove in 4.0. Each field should handle its own diffing logic
|
|
408
|
-
*/
|
|
409
|
-
diffMethod: 'diffWordsWithSpace',
|
|
410
402
|
field: clientField,
|
|
411
403
|
fieldPermissions: typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,
|
|
412
404
|
parentIsLocalized,
|
|
413
405
|
nestingLevel: nestingLevel ? nestingLevel : undefined,
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
*/
|
|
417
|
-
versionValue: valueTo
|
|
406
|
+
valueFrom,
|
|
407
|
+
valueTo
|
|
418
408
|
};
|
|
419
409
|
if (locale) {
|
|
420
410
|
clientDiffProps.locale = locale;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildVersionFields.js","names":["dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","tabHasName","RenderServerComponent","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fields","fieldsPermissions","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","parentFieldsPermissions","baseVersionField","localized","Object","length","push","hasReadPermission","fieldPermissions","undefined","read","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabFieldsPermissions","tabPermissions","tabVersion","label","t","subFieldsPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","find","block","slug","replacedBlock","fromBlockSlugToMatch","fromBlock","blockFieldsPermissions","getBlockFieldsPermissions","blockSlug","blockDiffArgs","oldBlockFields","newBlockFields","clientDiffProps","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps","blockPermissions"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type SanitizedFieldsPermissions,\n type VersionField,\n} from 'payload'\nimport { fieldIsID, fieldShouldBeLocalized, getFieldPaths, tabHasName } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fields: Field[]\n fieldsPermissions: SanitizedFieldsPermissions\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentFieldsPermissions: SanitizedFieldsPermissions\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n | 'fields'\n | 'fieldsPermissions'\n | 'parentIndexPath'\n | 'versionFromSiblingData'\n | 'versionToSiblingData'\n>): BaseVersionField | null => {\n let hasReadPermission: boolean = false\n let fieldPermissions: SanitizedFieldPermissions | undefined = undefined\n\n if (typeof parentFieldsPermissions === 'boolean') {\n hasReadPermission = parentFieldsPermissions\n fieldPermissions = parentFieldsPermissions\n } else {\n if ('name' in field) {\n fieldPermissions = parentFieldsPermissions?.[field.name]\n if (typeof fieldPermissions === 'boolean') {\n hasReadPermission = fieldPermissions\n } else if (typeof fieldPermissions?.read === 'boolean') {\n hasReadPermission = fieldPermissions.read\n }\n } else {\n // If the field is unnamed and parentFieldsPermissions is an object, its sub-fields will decide their read permissions state.\n // As far as this field is concerned, we are allowed to read it, as we need to reach its sub-fields to determine their read permissions.\n hasReadPermission = true\n }\n }\n\n if (!hasReadPermission) {\n // HasReadPermission is only valid if the field has a name. E.g. for a tabs field it would incorrectly return `false`.\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: path,\n parentSchemaPath: schemaPath,\n })\n\n let tabFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // The tabs field does not have its own permissions as it's unnamed => use parentFieldsPermissions\n if (typeof parentFieldsPermissions === 'boolean') {\n tabFieldsPermissions = parentFieldsPermissions\n } else {\n if ('name' in tab) {\n const tabPermissions = parentFieldsPermissions?.[tab.name]\n if (typeof tabPermissions === 'boolean') {\n tabFieldsPermissions = tabPermissions\n } else {\n tabFieldsPermissions = tabPermissions?.fields\n }\n } else {\n tabFieldsPermissions = parentFieldsPermissions\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: tab.fields,\n fieldsPermissions: tabFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: tabSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: typeof tab.label === 'function' ? tab.label({ i18n, t: i18n.t }) : tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, array`, etc\n else if ('fields' in field) {\n let subFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n if ('name' in field && typeof fieldPermissions !== 'undefined') {\n // Named fields like arrays\n subFieldsPermissions =\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions.fields\n } else {\n // Unnamed fields like collapsible and row inherit directly from parent permissions\n subFieldsPermissions = parentFieldsPermissions\n }\n\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let replacedBlock: FlattenedBlock | undefined = undefined\n\n if (toRow.blockType !== fromRow.blockType) {\n const fromBlockSlugToMatch: string = fromRow?.blockType ?? toRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock && fromBlock.slug !== toBlock.slug) {\n replacedBlock = fromBlock\n }\n }\n\n const blockFieldsPermissions = getBlockFieldsPermissions({\n blockSlug: blockSlugToMatch,\n fieldPermissions,\n })\n\n const blockDiffArgs = {\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldsPermissions: blockFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n req,\n selectedLocales,\n }\n\n const oldBlockFields = replacedBlock\n ? buildVersionFields({\n ...blockDiffArgs,\n fields: replacedBlock.fields,\n fieldsPermissions: getBlockFieldsPermissions({\n blockSlug: replacedBlock.slug,\n fieldPermissions,\n }),\n parentSchemaPath: schemaPath + '.' + replacedBlock.slug,\n versionFromSiblingData: fromRow,\n versionToSiblingData: {},\n }).versionFields\n : []\n\n const newBlockFields = buildVersionFields({\n ...blockDiffArgs,\n fields: toBlock.fields,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n versionFromSiblingData: replacedBlock ? {} : fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n const versionFields = [...oldBlockFields, ...newBlockFields]\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions:\n typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n\nconst getBlockFieldsPermissions = ({\n blockSlug,\n fieldPermissions,\n}: {\n blockSlug: string\n fieldPermissions: SanitizedFieldPermissions | undefined\n}): SanitizedFieldsPermissions => {\n if (typeof fieldPermissions === 'boolean') {\n return fieldPermissions\n }\n\n if (typeof fieldPermissions?.blocks === 'boolean') {\n return fieldPermissions.blocks\n }\n\n const blockPermissions = fieldPermissions?.blocks?.[blockSlug]\n\n return typeof blockPermissions === 'boolean' ? blockPermissions : blockPermissions?.fields\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildVersionFields.js","names":["dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","tabHasName","RenderServerComponent","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fields","fieldsPermissions","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","parentFieldsPermissions","baseVersionField","localized","Object","length","push","hasReadPermission","fieldPermissions","undefined","read","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabFieldsPermissions","tabPermissions","tabVersion","label","t","subFieldsPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","find","block","slug","replacedBlock","fromBlockSlugToMatch","fromBlock","blockFieldsPermissions","getBlockFieldsPermissions","blockSlug","blockDiffArgs","oldBlockFields","newBlockFields","clientDiffProps","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps","blockPermissions"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type SanitizedFieldsPermissions,\n type VersionField,\n} from 'payload'\nimport { fieldIsID, fieldShouldBeLocalized, getFieldPaths, tabHasName } from 'payload/shared'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fields: Field[]\n fieldsPermissions: SanitizedFieldsPermissions\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentFieldsPermissions: SanitizedFieldsPermissions\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n | 'fields'\n | 'fieldsPermissions'\n | 'parentIndexPath'\n | 'versionFromSiblingData'\n | 'versionToSiblingData'\n>): BaseVersionField | null => {\n let hasReadPermission: boolean = false\n let fieldPermissions: SanitizedFieldPermissions | undefined = undefined\n\n if (typeof parentFieldsPermissions === 'boolean') {\n hasReadPermission = parentFieldsPermissions\n fieldPermissions = parentFieldsPermissions\n } else {\n if ('name' in field) {\n fieldPermissions = parentFieldsPermissions?.[field.name]\n if (typeof fieldPermissions === 'boolean') {\n hasReadPermission = fieldPermissions\n } else if (typeof fieldPermissions?.read === 'boolean') {\n hasReadPermission = fieldPermissions.read\n }\n } else {\n // If the field is unnamed and parentFieldsPermissions is an object, its sub-fields will decide their read permissions state.\n // As far as this field is concerned, we are allowed to read it, as we need to reach its sub-fields to determine their read permissions.\n hasReadPermission = true\n }\n }\n\n if (!hasReadPermission) {\n // HasReadPermission is only valid if the field has a name. E.g. for a tabs field it would incorrectly return `false`.\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: path,\n parentSchemaPath: schemaPath,\n })\n\n let tabFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // The tabs field does not have its own permissions as it's unnamed => use parentFieldsPermissions\n if (typeof parentFieldsPermissions === 'boolean') {\n tabFieldsPermissions = parentFieldsPermissions\n } else {\n if ('name' in tab) {\n const tabPermissions = parentFieldsPermissions?.[tab.name]\n if (typeof tabPermissions === 'boolean') {\n tabFieldsPermissions = tabPermissions\n } else {\n tabFieldsPermissions = tabPermissions?.fields\n }\n } else {\n tabFieldsPermissions = parentFieldsPermissions\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: tab.fields,\n fieldsPermissions: tabFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: tabSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: typeof tab.label === 'function' ? tab.label({ i18n, t: i18n.t }) : tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, array`, etc\n else if ('fields' in field) {\n let subFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n if ('name' in field && typeof fieldPermissions !== 'undefined') {\n // Named fields like arrays\n subFieldsPermissions =\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions.fields\n } else {\n // Unnamed fields like collapsible and row inherit directly from parent permissions\n subFieldsPermissions = parentFieldsPermissions\n }\n\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let replacedBlock: FlattenedBlock | undefined = undefined\n\n if (toRow.blockType !== fromRow.blockType) {\n const fromBlockSlugToMatch: string = fromRow?.blockType ?? toRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock && fromBlock.slug !== toBlock.slug) {\n replacedBlock = fromBlock\n }\n }\n\n const blockFieldsPermissions = getBlockFieldsPermissions({\n blockSlug: blockSlugToMatch,\n fieldPermissions,\n })\n\n const blockDiffArgs = {\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fieldsPermissions: blockFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n req,\n selectedLocales,\n }\n\n const oldBlockFields = replacedBlock\n ? buildVersionFields({\n ...blockDiffArgs,\n fields: replacedBlock.fields,\n fieldsPermissions: getBlockFieldsPermissions({\n blockSlug: replacedBlock.slug,\n fieldPermissions,\n }),\n parentSchemaPath: schemaPath + '.' + replacedBlock.slug,\n versionFromSiblingData: fromRow,\n versionToSiblingData: {},\n }).versionFields\n : []\n\n const newBlockFields = buildVersionFields({\n ...blockDiffArgs,\n fields: toBlock.fields,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n versionFromSiblingData: replacedBlock ? {} : fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n const versionFields = [...oldBlockFields, ...newBlockFields]\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n field: clientField,\n fieldPermissions:\n typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n valueFrom,\n valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n\nconst getBlockFieldsPermissions = ({\n blockSlug,\n fieldPermissions,\n}: {\n blockSlug: string\n fieldPermissions: SanitizedFieldPermissions | undefined\n}): SanitizedFieldsPermissions => {\n if (typeof fieldPermissions === 'boolean') {\n return fieldPermissions\n }\n\n if (typeof fieldPermissions?.blocks === 'boolean') {\n return fieldPermissions.blocks\n }\n\n const blockPermissions = fieldPermissions?.blocks?.[blockSlug]\n\n return typeof blockPermissions === 'boolean' ? blockPermissions : blockPermissions?.fields\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,11 +26,11 @@ const CheckboxIndicator = ({
|
|
|
26
26
|
export const Checkbox = t0 => {
|
|
27
27
|
const $ = _c(11);
|
|
28
28
|
const {
|
|
29
|
-
comparisonValue: valueFrom,
|
|
30
29
|
field,
|
|
31
30
|
locale,
|
|
32
31
|
nestingLevel,
|
|
33
|
-
|
|
32
|
+
valueFrom,
|
|
33
|
+
valueTo
|
|
34
34
|
} = t0;
|
|
35
35
|
const {
|
|
36
36
|
i18n,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","CheckIcon","useTranslation","baseClass","CheckboxIndicator","checked","variant","classNames","filter","Boolean","join","_jsx","className","size","Checkbox","t0","$","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","CheckIcon","useTranslation","baseClass","CheckboxIndicator","checked","variant","classNames","filter","Boolean","join","_jsx","className","size","Checkbox","t0","$","field","locale","nestingLevel","valueFrom","valueTo","i18n","t","checkedFrom","checkedTo","hasChanged","fromVariant","toVariant","t1","t2","label","From","_jsxs","children","To"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Checkbox/index.tsx"],"sourcesContent":["'use client'\nimport type { CheckboxFieldDiffClientProps } from 'payload'\n\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport { CheckIcon } from '../../../../../icons/Check/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'checkbox-diff'\n\nconst CheckboxIndicator: React.FC<{\n checked: boolean\n variant?: 'create' | 'default' | 'delete'\n}> = ({ checked, variant = 'default' }) => {\n const classNames = [\n `${baseClass}__indicator`,\n `${baseClass}__indicator--${variant}`,\n checked && `${baseClass}__indicator--checked`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <span className={classNames}>\n <span className={`${baseClass}__icon`}>\n <CheckIcon size={16} />\n </span>\n </span>\n )\n}\n\nexport const Checkbox: React.FC<CheckboxFieldDiffClientProps> = ({\n field,\n locale,\n nestingLevel,\n valueFrom,\n valueTo,\n}) => {\n const { i18n, t } = useTranslation()\n\n const checkedFrom = Boolean(valueFrom)\n const checkedTo = Boolean(valueTo)\n const hasChanged = checkedFrom !== checkedTo\n\n const fromVariant = hasChanged ? 'delete' : 'default'\n const toVariant = hasChanged ? 'create' : 'default'\n\n const From = (\n <div className={`${baseClass}__value ${baseClass}__value--${fromVariant}`}>\n <CheckboxIndicator checked={checkedFrom} variant={fromVariant} />\n <span className={`${baseClass}__label ${baseClass}__label--${fromVariant}`}>\n {checkedFrom ? t('general:checked') : t('general:unchecked')}\n </span>\n </div>\n )\n\n const To = (\n <div className={`${baseClass}__value ${baseClass}__value--${toVariant}`}>\n <CheckboxIndicator checked={checkedTo} variant={toVariant} />\n <span className={`${baseClass}__label ${baseClass}__label--${toVariant}`}>\n {checkedTo ? t('general:checked') : t('general:unchecked')}\n </span>\n </div>\n )\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{ label: field.label, locale }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Collapsible","t0","$","baseVersionField","field","parentIsLocalized","valueFrom","valueTo","i18n","selectedLocales","fields","length","t1","_jsx","className","children","Label","label","localized","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Collapsible/index.tsx"],"sourcesContent":["'use client'\nimport type { CollapsibleFieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'collapsible-diff'\n\nexport const Collapsible: React.FC<CollapsibleFieldDiffClientProps> = ({\n baseVersionField,\n field,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n if (!baseVersionField.fields?.length) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n fields={field.fields}\n Label={\n 'label' in field &&\n field.label &&\n typeof field.label !== 'function' && <span>{getTranslation(field.label, i18n)}</span>\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,WAAA,GAAyDC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,KAAA;IAAAC,iBAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAN,EAMtE;EACC;IAAAO;EAAA,IAAiBb,cAAA;EACjB;IAAAc;EAAA,IAA4Bb,kBAAA;EAAA,KAEvBO,gBAAA,CAAAO,MAAA,EAAAC,MAAA;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAC,gBAAA,CAAAO,MAAA,IAAAR,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAM,IAAA,IAAAN,CAAA,QAAAG,iBAAA,IAAAH,CAAA,QAAAO,eAAA,IAAAP,CAAA,QAAAI,SAAA,IAAAJ,CAAA,QAAAK,OAAA;IAKHK,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAAf,SAAA;MAAAgB,QAAA,EACCF,IAAA,CAAAhB,aAAA;QAAAa,MAAA,EACUN,KAAA,CAAAM,MAAA;QAAAM,KAAA,EAEN,WAAWZ,KAAA,IACXA,KAAA,CAAAa,KAAW,IACX,OAAOb,KAAA,CAAAa,KAAA,KAAgB,cAAcJ,IAAA,CAAC;UAAAE,QAAA,EAAMtB,cAAA,CAAeW,KAAA,CAAAa,KAAA,EAAaT,IAAA;QAAA,C;iBAEjEC,eAAA;QAAAJ,iBAAA,EACUA,iBAAA,IAAqBD,KAAA,CAAAc,SAAe;QAAAZ,SAAA;QAAAC,OAAA;QAAAQ,QAAA,EAIvDF,IAAA,CAAAf,yBAAA;UAAAqB,aAAA,EAA0ChB,gBAAA,CAAAO;QAAA,C;;;;;;;;;;;;;;SAb9CE,E;CAiBJ","ignoreList":[]}
|
|
@@ -13,11 +13,11 @@ const baseClass = 'date-diff';
|
|
|
13
13
|
export const DateDiffComponent = t0 => {
|
|
14
14
|
const $ = _c(7);
|
|
15
15
|
const {
|
|
16
|
-
comparisonValue: valueFrom,
|
|
17
16
|
field,
|
|
18
17
|
locale,
|
|
19
18
|
nestingLevel,
|
|
20
|
-
|
|
19
|
+
valueFrom,
|
|
20
|
+
valueTo
|
|
21
21
|
} = t0;
|
|
22
22
|
const {
|
|
23
23
|
i18n
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","escapeDiffHTML","getHTMLDiffComponents","unescapeDiffHTML","useConfig","useTranslation","formatDate","baseClass","DateDiffComponent","t0","$","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","FieldDiffContainer","escapeDiffHTML","getHTMLDiffComponents","unescapeDiffHTML","useConfig","useTranslation","formatDate","baseClass","DateDiffComponent","t0","$","field","locale","nestingLevel","valueFrom","valueTo","i18n","config","t1","admin","t2","dateFormat","formattedFromDate","date","Date","pattern","formattedToDate","escapedFromDate","escapedToDate","t3","t4","t5","label","From","To","fromHTML","postProcess","toHTML","tokenizeByCharacter","_jsx","className"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Date/index.tsx"],"sourcesContent":["'use client'\nimport type { DateFieldDiffClientProps } from 'payload'\n\nimport React from 'react'\n\nimport { FieldDiffContainer } from '../../../../../elements/FieldDiffContainer/index.js'\nimport {\n escapeDiffHTML,\n getHTMLDiffComponents,\n unescapeDiffHTML,\n} from '../../../../../elements/HTMLDiff/index.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { formatDate } from '../../../../../utilities/formatDocTitle/formatDateTitle.js'\nimport './index.css'\n\nconst baseClass = 'date-diff'\n\nexport const DateDiffComponent: React.FC<DateFieldDiffClientProps> = ({\n field,\n locale,\n nestingLevel,\n valueFrom,\n valueTo,\n}) => {\n const { i18n } = useTranslation()\n const {\n config: {\n admin: { dateFormat },\n },\n } = useConfig()\n\n const formattedFromDate = valueFrom\n ? formatDate({\n date: typeof valueFrom === 'string' ? new Date(valueFrom) : (valueFrom as Date),\n i18n,\n pattern: dateFormat,\n })\n : ''\n\n const formattedToDate = valueTo\n ? formatDate({\n date: typeof valueTo === 'string' ? new Date(valueTo) : (valueTo as Date),\n i18n,\n pattern: dateFormat,\n })\n : ''\n\n const escapedFromDate = escapeDiffHTML(formattedFromDate)\n const escapedToDate = escapeDiffHTML(formattedToDate)\n\n const { From, To } = getHTMLDiffComponents({\n fromHTML:\n `<div class=\"${baseClass}\" data-enable-match=\"true\" data-date=\"${escapedFromDate}\"><p>` +\n escapedFromDate +\n '</p></div>',\n postProcess: unescapeDiffHTML,\n toHTML:\n `<div class=\"${baseClass}\" data-enable-match=\"true\" data-date=\"${escapedToDate}\"><p>` +\n escapedToDate +\n '</p></div>',\n tokenizeByCharacter: false,\n })\n\n return (\n <FieldDiffContainer\n className={baseClass}\n From={From}\n i18n={i18n}\n label={{\n label: field.label,\n locale,\n }}\n nestingLevel={nestingLevel}\n To={To}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,kBAAkB,QAAQ;AACnC,SACEC,cAAc,EACdC,qBAAqB,EACrBC,gBAAgB,QACX;AACP,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,UAAU,QAAQ;AAC3B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,iBAAA,GAAwDC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,KAAA;IAAAC,MAAA;IAAAC,YAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAN,EAMrE;EACC;IAAAO;EAAA,IAAiBX,cAAA;EACjB;IAAAY,MAAA,EAAAC;EAAA,IAIId,SAAA;EAHM;IAAAe,KAAA,EAAAC;EAAA,IAAAF,EAEP;EADQ;IAAAG;EAAA,IAAAD,EAAc;EAIzB,MAAAE,iBAAA,GAA0BR,SAAA,GACtBR,UAAA;IAAAiB,IAAA,EACQ,OAAOT,SAAA,KAAc,eAAAU,IAAA,CAAoBV,SAAA,IAAcA,SAAA;IAAAE,IAAA;IAAAS,OAAA,EAEpDJ;EAAA,CACX,IACA;EAEJ,MAAAK,eAAA,GAAwBX,OAAA,GACpBT,UAAA;IAAAiB,IAAA,EACQ,OAAOR,OAAA,KAAY,eAAAS,IAAA,CAAoBT,OAAA,IAAYA,OAAA;IAAAC,IAAA;IAAAS,OAAA,EAEhDJ;EAAA,CACX,IACA;EAEJ,MAAAM,eAAA,GAAwB1B,cAAA,CAAeqB,iBAAA;EACvC,MAAAM,aAAA,GAAsB3B,cAAA,CAAeyB,eAAA;EAIjC,MAAAG,EAAA,kBAAAtB,SAAA,yCAAiEoB,eAAA,OAAsB,GACvFA,eAAA,GACA;EAGA,MAAAG,EAAA,kBAAAvB,SAAA,yCAAiEqB,aAAA,OAAoB,GACrFA,aAAA,GACA;EAAA,IAAAG,EAAA;EAAA,IAAArB,CAAA,QAAAC,KAAA,CAAAqB,KAAA,IAAAtB,CAAA,QAAAM,IAAA,IAAAN,CAAA,QAAAE,MAAA,IAAAF,CAAA,QAAAG,YAAA,IAAAH,CAAA,QAAAmB,EAAA,IAAAnB,CAAA,QAAAoB,EAAA;IATJ;MAAAG,IAAA;MAAAC;IAAA,IAAqBhC,qBAAA;MAAAiC,QAAA,EAEjBN,EAEA;MAAAO,WAAA,EAAAjC,gBAAA;MAAAkC,MAAA,EAGAP,EAEA;MAAAQ,mBAAA;IAAA,CAEJ;IAGEP,EAAA,GAAAQ,IAAA,CAAAvC,kBAAA;MAAAwC,SAAA,EAAAjC,SAAA;MAAA0B,IAAA;MAAAjB,IAAA;MAAAgB,KAAA;QAAAA,KAAA,EAKWrB,KAAA,CAAAqB,KAAA;QAAApB;MAAA;MAAAC,YAAA;MAAAqB;IAAA,C;;;;;;;;;;;SALXH,E;CAYJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useTranslation","useSelectedLocales","DiffCollapser","RenderVersionFieldsToDiff","baseClass","Group","t0","$","baseVersionField","field","locale","parentIsLocalized","valueFrom","valueTo","i18n","selectedLocales","t1","fields","_jsx","className","children","Label","label","_jsxs","t","localized","versionFields"],"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Group/index.tsx"],"sourcesContent":["'use client'\nimport type { GroupFieldDiffClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport './index.css'\n\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { useSelectedLocales } from '../../../Default/SelectedLocalesContext.js'\nimport { DiffCollapser } from '../../DiffCollapser/index.js'\nimport { RenderVersionFieldsToDiff } from '../../RenderVersionFieldsToDiff.js'\n\nconst baseClass = 'group-diff'\n\nexport const Group: React.FC<GroupFieldDiffClientProps> = ({\n baseVersionField,\n field,\n locale,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { i18n } = useTranslation()\n const { selectedLocales } = useSelectedLocales()\n\n return (\n <div className={baseClass}>\n <DiffCollapser\n fields={field.fields}\n Label={\n 'label' in field && field.label && typeof field.label !== 'function' ? (\n <span>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.label, i18n)}\n </span>\n ) : (\n <span className={`${baseClass}__locale-label ${baseClass}__locale-label--no-label`}>\n <{i18n.t('version:noLabelGroup')}>\n </span>\n )\n }\n locales={selectedLocales}\n parentIsLocalized={parentIsLocalized || field.localized}\n valueFrom={valueFrom}\n valueTo={valueTo}\n >\n <RenderVersionFieldsToDiff versionFields={baseVersionField.fields} />\n </DiffCollapser>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,cAAc,QAAQ;AAE/B,OAAO;AAEP,OAAOC,KAAA,MAAW;AAElB,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,aAAa,QAAQ;AAC9B,SAASC,yBAAyB,QAAQ;AAE1C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,KAAA,GAA6CC,EAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EAAC;IAAAW,gBAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,iBAAA;IAAAC,SAAA;IAAAC;EAAA,IAAAP,EAO1D;EACC;IAAAQ;EAAA,IAAiBd,cAAA;EACjB;IAAAe;EAAA,IAA4Bd,kBAAA;EAAA,IAAAe,EAAA;EAAA,IAAAT,CAAA,QAAAC,gBAAA,CAAAS,MAAA,IAAAV,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAO,IAAA,IAAAP,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAI,iBAAA,IAAAJ,CAAA,QAAAQ,eAAA,IAAAR,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAM,OAAA;IAG1BG,EAAA,GAAAE,IAAA,CAAC;MAAAC,SAAA,EAAAf,SAAA;MAAAgB,QAAA,EACCF,IAAA,CAAAhB,aAAA;QAAAe,MAAA,EACUR,KAAA,CAAAQ,MAAA;QAAAI,KAAA,EAEN,WAAWZ,KAAA,IAASA,KAAA,CAAAa,KAAW,IAAI,OAAOb,KAAA,CAAAa,KAAA,KAAgB,aACxDC,KAAA,CAAC;UAAAH,QAAA,GACEV,MAAA,IAAUQ,IAAA,CAAC;YAAAC,SAAA,EAAgB,GAAAf,SAAA,gBAA4B;YAAAgB,QAAA,EAAGV;UAAA,C,GAC1DZ,cAAA,CAAeW,KAAA,CAAAa,KAAA,EAAaR,IAAA;QAAA,C,IAG/BS,KAAA,CAAC;UAAAJ,SAAA,EAAgB,GAAAf,SAAA,kBAAAA,SAAA,0BAAiE;UAAAgB,QAAA,GAAE,KAC7EN,IAAA,CAAAU,CAAA,CAAO,yBAAwB;QAAA,C;iBAIjCT,eAAA;QAAAJ,iBAAA,EACUA,iBAAA,IAAqBF,KAAA,CAAAgB,SAAe;QAAAb,SAAA;QAAAC,OAAA;QAAAO,QAAA,EAIvDF,IAAA,CAAAf,yBAAA;UAAAuB,aAAA,EAA0ClB,gBAAA,CAAAS;QAAA,C;;;;;;;;;;;;;;;SApB9CD,E;CAwBJ","ignoreList":[]}
|