@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
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
.recents-widget__add-pin {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
height: 100%;
|
|
7
|
+
min-block-size: var(--recents-row-height);
|
|
8
|
+
padding: var(--spacer-2);
|
|
9
|
+
border: var(--stroke-width-small) dashed var(--color-border);
|
|
10
|
+
border-radius: var(--radius-large);
|
|
11
|
+
background: var(--color-bg);
|
|
12
|
+
text-align: center;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.recents-widget__select-documents {
|
|
16
|
+
height: auto;
|
|
17
|
+
min-block-size: var(--spacer-4);
|
|
18
|
+
max-inline-size: 100%;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.recents-widget__select-documents .btn__label {
|
|
22
|
+
white-space: normal;
|
|
23
|
+
overflow-wrap: anywhere;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.recents-widget__select-documents[aria-disabled='true'] {
|
|
27
|
+
cursor: progress;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.recents-widget__pin-picker .sort-column__label,
|
|
31
|
+
.recents-widget__pin-picker .page-controls__page-info,
|
|
32
|
+
.recents-widget__pin-picker .per-page__label {
|
|
33
|
+
color: var(--recents-text-secondary);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.recents-widget__pin-picker .sort-column__button {
|
|
37
|
+
min-width: var(--spacer-4);
|
|
38
|
+
min-height: var(--spacer-4);
|
|
39
|
+
color: var(--color-icon-secondary);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PinnedItem } from '../recents.js';
|
|
3
|
+
import './index.css';
|
|
4
|
+
export declare function PinDocumentPicker({ collectionSlugs, isDisabled, isEmpty, labels, onError, onSelect, pinsURL, }: {
|
|
5
|
+
collectionSlugs: string[];
|
|
6
|
+
isDisabled: boolean;
|
|
7
|
+
isEmpty?: boolean;
|
|
8
|
+
labels: {
|
|
9
|
+
addPin: string;
|
|
10
|
+
pinnedEmpty: string;
|
|
11
|
+
pinnedEmptyDescription: string;
|
|
12
|
+
};
|
|
13
|
+
onError: () => void;
|
|
14
|
+
onSelect: (args: {
|
|
15
|
+
document: PinnedItem;
|
|
16
|
+
}) => void;
|
|
17
|
+
pinsURL: string;
|
|
18
|
+
}): React.JSX.Element;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/RecentlyViewed/PinDocumentPicker/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmC,MAAM,OAAO,CAAA;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAM/C,OAAO,aAAa,CAAA;AAEpB,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,UAAU,EACV,OAAe,EACf,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,GACR,EAAE;IACD,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/E,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAA;IAClD,OAAO,EAAE,MAAM,CAAA;CAChB,qBAmGA"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
|
+
import React, { useId, useMemo, useState } from 'react';
|
|
5
|
+
import { Button } from '../../../elements/Button/index.js';
|
|
6
|
+
import { useListDrawer } from '../../../elements/ListDrawer/index.js';
|
|
7
|
+
import { PinIcon } from '../../../icons/Pin/index.js';
|
|
8
|
+
import { readPinnedPreferences } from '../pinnedPreferences.js';
|
|
9
|
+
import './index.css';
|
|
10
|
+
export function PinDocumentPicker({
|
|
11
|
+
collectionSlugs,
|
|
12
|
+
isDisabled,
|
|
13
|
+
isEmpty = false,
|
|
14
|
+
labels,
|
|
15
|
+
onError,
|
|
16
|
+
onSelect,
|
|
17
|
+
pinsURL
|
|
18
|
+
}) {
|
|
19
|
+
const emptyStateID = useId();
|
|
20
|
+
const [filterOptions, setFilterOptions] = useState({});
|
|
21
|
+
const [isPreparing, setIsPreparing] = useState(false);
|
|
22
|
+
const drawerOptions = useMemo(() => ({
|
|
23
|
+
collectionSlugs,
|
|
24
|
+
filterOptions
|
|
25
|
+
}), [collectionSlugs, filterOptions]);
|
|
26
|
+
const [ListDrawer,, {
|
|
27
|
+
closeDrawer,
|
|
28
|
+
isDrawerOpen,
|
|
29
|
+
openDrawer
|
|
30
|
+
}] = useListDrawer(drawerOptions);
|
|
31
|
+
const handleSelect = ({
|
|
32
|
+
collectionSlug,
|
|
33
|
+
doc
|
|
34
|
+
}) => {
|
|
35
|
+
closeDrawer();
|
|
36
|
+
onSelect({
|
|
37
|
+
document: {
|
|
38
|
+
id: doc.id,
|
|
39
|
+
collectionSlug
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
const prepareDrawer = async () => {
|
|
44
|
+
if (isDisabled || isPreparing) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
setIsPreparing(true);
|
|
48
|
+
try {
|
|
49
|
+
const pins = await readPinnedPreferences({
|
|
50
|
+
url: pinsURL
|
|
51
|
+
});
|
|
52
|
+
const idsByCollection = new Map();
|
|
53
|
+
for (const document of pins) {
|
|
54
|
+
const ids = idsByCollection.get(document.collectionSlug) ?? [];
|
|
55
|
+
ids.push(document.id);
|
|
56
|
+
idsByCollection.set(document.collectionSlug, ids);
|
|
57
|
+
}
|
|
58
|
+
setFilterOptions(Object.fromEntries(collectionSlugs.map(slug => {
|
|
59
|
+
const ids_0 = idsByCollection.get(slug);
|
|
60
|
+
return [slug, ids_0?.length ? {
|
|
61
|
+
id: {
|
|
62
|
+
not_in: ids_0
|
|
63
|
+
}
|
|
64
|
+
} : true];
|
|
65
|
+
})));
|
|
66
|
+
openDrawer();
|
|
67
|
+
} catch {
|
|
68
|
+
onError();
|
|
69
|
+
} finally {
|
|
70
|
+
setIsPreparing(false);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const addPinButton = /*#__PURE__*/_jsx(Button, {
|
|
74
|
+
"aria-expanded": isDrawerOpen,
|
|
75
|
+
"aria-haspopup": "dialog",
|
|
76
|
+
"aria-label": labels.addPin,
|
|
77
|
+
buttonStyle: "secondary",
|
|
78
|
+
className: "recents-widget__select-documents",
|
|
79
|
+
extraButtonProps: {
|
|
80
|
+
'aria-busy': isPreparing,
|
|
81
|
+
'aria-describedby': isEmpty ? emptyStateID : undefined,
|
|
82
|
+
'aria-disabled': isDisabled || isPreparing
|
|
83
|
+
},
|
|
84
|
+
margin: false,
|
|
85
|
+
onClick: () => void prepareDrawer(),
|
|
86
|
+
size: "medium",
|
|
87
|
+
type: "button",
|
|
88
|
+
children: labels.addPin
|
|
89
|
+
});
|
|
90
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
91
|
+
children: [isEmpty ? /*#__PURE__*/_jsxs("div", {
|
|
92
|
+
className: "recents-widget__empty",
|
|
93
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
94
|
+
"aria-hidden": "true",
|
|
95
|
+
className: "recents-widget__empty-icon recents-widget__empty-icon--pinned",
|
|
96
|
+
children: /*#__PURE__*/_jsx(PinIcon, {})
|
|
97
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
98
|
+
className: "recents-widget__empty-text",
|
|
99
|
+
id: emptyStateID,
|
|
100
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
101
|
+
className: "recents-widget__empty-title",
|
|
102
|
+
children: labels.pinnedEmpty
|
|
103
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
104
|
+
className: "recents-widget__empty-description",
|
|
105
|
+
children: labels.pinnedEmptyDescription
|
|
106
|
+
})]
|
|
107
|
+
}), addPinButton]
|
|
108
|
+
}) : /*#__PURE__*/_jsx("div", {
|
|
109
|
+
className: "recents-widget__add-pin",
|
|
110
|
+
children: addPinButton
|
|
111
|
+
}), /*#__PURE__*/_jsx(ListDrawer, {
|
|
112
|
+
allowCreate: false,
|
|
113
|
+
className: "recents-widget__pin-picker",
|
|
114
|
+
disableQueryPresets: true,
|
|
115
|
+
enableRowSelections: false,
|
|
116
|
+
onSelect: handleSelect,
|
|
117
|
+
overrideEntityVisibility: false
|
|
118
|
+
})]
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useId","useMemo","useState","Button","useListDrawer","PinIcon","readPinnedPreferences","PinDocumentPicker","collectionSlugs","isDisabled","isEmpty","labels","onError","onSelect","pinsURL","emptyStateID","filterOptions","setFilterOptions","isPreparing","setIsPreparing","drawerOptions","ListDrawer","closeDrawer","isDrawerOpen","openDrawer","handleSelect","collectionSlug","doc","document","id","prepareDrawer","pins","url","idsByCollection","Map","ids","get","push","set","Object","fromEntries","map","slug","length","not_in","addPinButton","_jsx","addPin","buttonStyle","className","extraButtonProps","undefined","margin","onClick","size","type","_jsxs","_Fragment","pinnedEmpty","pinnedEmptyDescription","allowCreate","disableQueryPresets","enableRowSelections","overrideEntityVisibility"],"sources":["../../../../src/widgets/RecentlyViewed/PinDocumentPicker/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FilterOptionsResult } from 'payload'\n\nimport React, { useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps } from '../../../elements/ListDrawer/types.js'\nimport type { PinnedItem } from '../recents.js'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useListDrawer } from '../../../elements/ListDrawer/index.js'\nimport { PinIcon } from '../../../icons/Pin/index.js'\nimport { readPinnedPreferences } from '../pinnedPreferences.js'\nimport './index.css'\n\nexport function PinDocumentPicker({\n collectionSlugs,\n isDisabled,\n isEmpty = false,\n labels,\n onError,\n onSelect,\n pinsURL,\n}: {\n collectionSlugs: string[]\n isDisabled: boolean\n isEmpty?: boolean\n labels: { addPin: string; pinnedEmpty: string; pinnedEmptyDescription: string }\n onError: () => void\n onSelect: (args: { document: PinnedItem }) => void\n pinsURL: string\n}) {\n const emptyStateID = useId()\n const [filterOptions, setFilterOptions] = useState<FilterOptionsResult>({})\n const [isPreparing, setIsPreparing] = useState(false)\n const drawerOptions = useMemo(\n () => ({ collectionSlugs, filterOptions }),\n [collectionSlugs, filterOptions],\n )\n const [ListDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useListDrawer(drawerOptions)\n const handleSelect: ListDrawerProps['onSelect'] = ({ collectionSlug, doc }) => {\n closeDrawer()\n onSelect({ document: { id: doc.id, collectionSlug } })\n }\n\n const prepareDrawer = async () => {\n if (isDisabled || isPreparing) {\n return\n }\n setIsPreparing(true)\n\n try {\n const pins = await readPinnedPreferences({ url: pinsURL })\n const idsByCollection = new Map<string, (number | string)[]>()\n\n for (const document of pins) {\n const ids = idsByCollection.get(document.collectionSlug) ?? []\n\n ids.push(document.id)\n idsByCollection.set(document.collectionSlug, ids)\n }\n setFilterOptions(\n Object.fromEntries(\n collectionSlugs.map((slug) => {\n const ids = idsByCollection.get(slug)\n\n return [slug, ids?.length ? { id: { not_in: ids } } : true]\n }),\n ),\n )\n openDrawer()\n } catch {\n onError()\n } finally {\n setIsPreparing(false)\n }\n }\n\n const addPinButton = (\n <Button\n aria-expanded={isDrawerOpen}\n aria-haspopup=\"dialog\"\n aria-label={labels.addPin}\n buttonStyle=\"secondary\"\n className=\"recents-widget__select-documents\"\n extraButtonProps={{\n 'aria-busy': isPreparing,\n 'aria-describedby': isEmpty ? emptyStateID : undefined,\n 'aria-disabled': isDisabled || isPreparing,\n }}\n margin={false}\n onClick={() => void prepareDrawer()}\n size=\"medium\"\n type=\"button\"\n >\n {labels.addPin}\n </Button>\n )\n\n return (\n <>\n {isEmpty ? (\n <div className=\"recents-widget__empty\">\n <span\n aria-hidden=\"true\"\n className=\"recents-widget__empty-icon recents-widget__empty-icon--pinned\"\n >\n <PinIcon />\n </span>\n <span className=\"recents-widget__empty-text\" id={emptyStateID}>\n <span className=\"recents-widget__empty-title\">{labels.pinnedEmpty}</span>\n <span className=\"recents-widget__empty-description\">\n {labels.pinnedEmptyDescription}\n </span>\n </span>\n {addPinButton}\n </div>\n ) : (\n <div className=\"recents-widget__add-pin\">{addPinButton}</div>\n )}\n <ListDrawer\n allowCreate={false}\n className=\"recents-widget__pin-picker\"\n disableQueryPresets\n enableRowSelections={false}\n onSelect={handleSelect}\n overrideEntityVisibility={false}\n />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { PayloadRequest, ServerFunction } from 'payload';
|
|
2
|
+
import type { RecentDocument } from './index.client.js';
|
|
3
|
+
export type DocumentsTab = 'pinned' | 'recents';
|
|
4
|
+
export type DocumentsPageArgs = {
|
|
5
|
+
excludedCollections?: string[];
|
|
6
|
+
limit: number;
|
|
7
|
+
page: number;
|
|
8
|
+
shouldIncludePinPlaceholder?: boolean;
|
|
9
|
+
tab: DocumentsTab;
|
|
10
|
+
};
|
|
11
|
+
export type DocumentsPage = {
|
|
12
|
+
items: RecentDocument[];
|
|
13
|
+
page: number;
|
|
14
|
+
totalDocs: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const getDashboardDocumentsHandler: ServerFunction<DocumentsPageArgs, Promise<DocumentsPage>>;
|
|
17
|
+
export declare function getDashboardDocuments({ excludedCollections, limit, page, req, shouldIncludePinPlaceholder, tab, }: {
|
|
18
|
+
req: PayloadRequest;
|
|
19
|
+
} & DocumentsPageArgs): Promise<DocumentsPage>;
|
|
20
|
+
//# sourceMappingURL=getDocuments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDocuments.d.ts","sourceRoot":"","sources":["../../../src/widgets/RecentlyViewed/getDocuments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAS,MAAM,SAAS,CAAA;AAMpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAWvD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC/C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,GAAG,EAAE,YAAY,CAAA;CAClB,CAAA;AACD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAKD,eAAO,MAAM,4BAA4B,EAAE,cAAc,CACvD,iBAAiB,EACjB,OAAO,CAAC,aAAa,CAAC,CACC,CAAA;AAEzB,wBAAsB,qBAAqB,CAAC,EAC1C,mBAAwB,EACxB,KAAK,EACL,IAAI,EACJ,GAAG,EACH,2BAAmC,EACnC,GAAG,GACJ,EAAE;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,GAAG,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsEtE"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
2
|
+
import { UnauthorizedError } from 'payload';
|
|
3
|
+
import { formatAdminURL, PREFERENCE_KEYS } from 'payload/shared';
|
|
4
|
+
import { formatRelativeDate, getRelativeTimeFormat } from '../../utilities/formatRelativeDate.js';
|
|
5
|
+
import { getDocumentThumbnail } from '../../utilities/getDocumentThumbnail.js';
|
|
6
|
+
import { getDocumentThumbnailPopulate } from '../../utilities/getDocumentThumbnailPopulate.js';
|
|
7
|
+
import { getDocumentThumbnailSelect } from '../../utilities/getDocumentThumbnailSelect.js';
|
|
8
|
+
import { enrichDocsWithVersionStatus } from '../../views/List/enrichDocsWithVersionStatus.js';
|
|
9
|
+
import { getPinnedItems } from './pinnedPreferences.js';
|
|
10
|
+
import { documentKey, getValueByPath } from './recents.js';
|
|
11
|
+
export const getDashboardDocumentsHandler = getDashboardDocuments;
|
|
12
|
+
export async function getDashboardDocuments({
|
|
13
|
+
excludedCollections = [],
|
|
14
|
+
limit,
|
|
15
|
+
page,
|
|
16
|
+
req,
|
|
17
|
+
shouldIncludePinPlaceholder = false,
|
|
18
|
+
tab
|
|
19
|
+
}) {
|
|
20
|
+
if (!req.user) {
|
|
21
|
+
throw new UnauthorizedError(req.t);
|
|
22
|
+
}
|
|
23
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100 || !Number.isSafeInteger(page) || page < 1) {
|
|
24
|
+
throw new Error('Invalid dashboard page');
|
|
25
|
+
}
|
|
26
|
+
if (tab !== 'pinned' && tab !== 'recents') {
|
|
27
|
+
throw new Error('Invalid dashboard tab');
|
|
28
|
+
}
|
|
29
|
+
const key = tab === 'pinned' ? PREFERENCE_KEYS.PINNED_DOCUMENTS : PREFERENCE_KEYS.RECENTLY_VIEWED;
|
|
30
|
+
const preference = await req.payload.find({
|
|
31
|
+
collection: 'payload-preferences',
|
|
32
|
+
depth: 0,
|
|
33
|
+
limit: 1,
|
|
34
|
+
overrideAccess: false,
|
|
35
|
+
req,
|
|
36
|
+
user: req.user,
|
|
37
|
+
where: {
|
|
38
|
+
and: [ownerWhere({
|
|
39
|
+
req
|
|
40
|
+
}), {
|
|
41
|
+
key: {
|
|
42
|
+
equals: key
|
|
43
|
+
}
|
|
44
|
+
}]
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const excluded = new Set(tab === 'recents' ? excludedCollections : []);
|
|
48
|
+
const storedReferences = getPinnedItems({
|
|
49
|
+
value: preference.docs[0]?.value
|
|
50
|
+
}).filter(({
|
|
51
|
+
collectionSlug
|
|
52
|
+
}) => {
|
|
53
|
+
const collection = req.payload.collections[collectionSlug];
|
|
54
|
+
return !excluded.has(collectionSlug) && collection && collection.config.admin.group !== false;
|
|
55
|
+
});
|
|
56
|
+
const availableReferences = await getAvailableReferences({
|
|
57
|
+
references: storedReferences,
|
|
58
|
+
req
|
|
59
|
+
});
|
|
60
|
+
const totalDocs = availableReferences.length;
|
|
61
|
+
const lastPage = Math.max(1, Math.ceil((totalDocs + Number(tab === 'pinned' && shouldIncludePinPlaceholder)) / limit));
|
|
62
|
+
page = Math.min(page, lastPage);
|
|
63
|
+
const references = availableReferences.slice((page - 1) * limit, page * limit);
|
|
64
|
+
const documents = await loadDocuments({
|
|
65
|
+
references,
|
|
66
|
+
req
|
|
67
|
+
});
|
|
68
|
+
const items = references.map(reference => {
|
|
69
|
+
const document = documents.get(documentKey(reference));
|
|
70
|
+
if (!document || tab !== 'recents') {
|
|
71
|
+
return document;
|
|
72
|
+
}
|
|
73
|
+
const viewedAt = reference.viewedAt;
|
|
74
|
+
return {
|
|
75
|
+
...document,
|
|
76
|
+
dateLabel: viewedAt ? formatRelativeDate({
|
|
77
|
+
relativeTimeFormat: getRelativeTimeFormat(req.i18n.language),
|
|
78
|
+
value: viewedAt
|
|
79
|
+
}) : undefined,
|
|
80
|
+
dateTime: viewedAt,
|
|
81
|
+
viewedAt
|
|
82
|
+
};
|
|
83
|
+
}).filter(item => Boolean(item));
|
|
84
|
+
return {
|
|
85
|
+
items,
|
|
86
|
+
page,
|
|
87
|
+
totalDocs
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/** Check identities without populating documents, so deleted or forbidden references do not create empty pages. */
|
|
91
|
+
async function getAvailableReferences({
|
|
92
|
+
references,
|
|
93
|
+
req
|
|
94
|
+
}) {
|
|
95
|
+
const available = new Set();
|
|
96
|
+
await Promise.all([...groupReferenceIDs({
|
|
97
|
+
references
|
|
98
|
+
}).entries()].map(async ([collectionSlug, ids]) => {
|
|
99
|
+
const result = await req.payload.find({
|
|
100
|
+
collection: collectionSlug,
|
|
101
|
+
depth: 0,
|
|
102
|
+
disableErrors: true,
|
|
103
|
+
draft: true,
|
|
104
|
+
limit: ids.length,
|
|
105
|
+
overrideAccess: false,
|
|
106
|
+
pagination: false,
|
|
107
|
+
req,
|
|
108
|
+
select: {
|
|
109
|
+
id: true
|
|
110
|
+
},
|
|
111
|
+
sort: 'id',
|
|
112
|
+
user: req.user,
|
|
113
|
+
where: {
|
|
114
|
+
id: {
|
|
115
|
+
in: ids
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
for (const doc of result.docs) {
|
|
120
|
+
available.add(documentKey({
|
|
121
|
+
id: doc.id,
|
|
122
|
+
collectionSlug
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
return references.filter(reference => available.has(documentKey(reference)));
|
|
127
|
+
}
|
|
128
|
+
function groupReferenceIDs({
|
|
129
|
+
references
|
|
130
|
+
}) {
|
|
131
|
+
const idsByCollection = new Map();
|
|
132
|
+
for (const reference of references) {
|
|
133
|
+
const ids = idsByCollection.get(reference.collectionSlug) ?? [];
|
|
134
|
+
ids.push(reference.id);
|
|
135
|
+
idsByCollection.set(reference.collectionSlug, ids);
|
|
136
|
+
}
|
|
137
|
+
return idsByCollection;
|
|
138
|
+
}
|
|
139
|
+
async function loadDocuments({
|
|
140
|
+
references,
|
|
141
|
+
req
|
|
142
|
+
}) {
|
|
143
|
+
const documents = new Map();
|
|
144
|
+
await Promise.all([...groupReferenceIDs({
|
|
145
|
+
references
|
|
146
|
+
}).entries()].map(async ([collectionSlug, ids]) => {
|
|
147
|
+
const config = req.payload.collections[collectionSlug].config;
|
|
148
|
+
const select = getDocumentThumbnailSelect({
|
|
149
|
+
collectionConfig: config,
|
|
150
|
+
select: {
|
|
151
|
+
id: true,
|
|
152
|
+
[(config.admin.useAsTitle || 'id').split('.')[0]]: true,
|
|
153
|
+
_status: true,
|
|
154
|
+
updatedAt: true,
|
|
155
|
+
...(config.admin.useAsThumbnail ? {
|
|
156
|
+
[config.admin.useAsThumbnail]: true
|
|
157
|
+
} : {}),
|
|
158
|
+
...(config.upload ? {
|
|
159
|
+
width: true
|
|
160
|
+
} : {})
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
const result = await req.payload.find({
|
|
164
|
+
collection: collectionSlug,
|
|
165
|
+
depth: 1,
|
|
166
|
+
disableErrors: true,
|
|
167
|
+
draft: true,
|
|
168
|
+
limit: ids.length,
|
|
169
|
+
overrideAccess: false,
|
|
170
|
+
populate: getDocumentThumbnailPopulate({
|
|
171
|
+
collectionConfig: config,
|
|
172
|
+
collections: req.payload.config.collections
|
|
173
|
+
}),
|
|
174
|
+
req,
|
|
175
|
+
select,
|
|
176
|
+
sort: 'id',
|
|
177
|
+
user: req.user,
|
|
178
|
+
where: {
|
|
179
|
+
id: {
|
|
180
|
+
in: ids
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
const enriched = await enrichDocsWithVersionStatus({
|
|
185
|
+
collectionConfig: config,
|
|
186
|
+
data: result,
|
|
187
|
+
req
|
|
188
|
+
});
|
|
189
|
+
for (const doc of enriched.docs) {
|
|
190
|
+
const item = enrichDocument({
|
|
191
|
+
collectionSlug,
|
|
192
|
+
doc,
|
|
193
|
+
req
|
|
194
|
+
});
|
|
195
|
+
documents.set(documentKey(item), item);
|
|
196
|
+
}
|
|
197
|
+
}));
|
|
198
|
+
return documents;
|
|
199
|
+
}
|
|
200
|
+
function ownerWhere({
|
|
201
|
+
req
|
|
202
|
+
}) {
|
|
203
|
+
return {
|
|
204
|
+
and: [{
|
|
205
|
+
'user.relationTo': {
|
|
206
|
+
equals: req.user.collection
|
|
207
|
+
}
|
|
208
|
+
}, {
|
|
209
|
+
'user.value': {
|
|
210
|
+
equals: req.user.id
|
|
211
|
+
}
|
|
212
|
+
}]
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
function enrichDocument({
|
|
216
|
+
collectionSlug,
|
|
217
|
+
doc,
|
|
218
|
+
req
|
|
219
|
+
}) {
|
|
220
|
+
const {
|
|
221
|
+
i18n,
|
|
222
|
+
payload
|
|
223
|
+
} = req;
|
|
224
|
+
const config = payload.collections[collectionSlug].config;
|
|
225
|
+
const rawTitle = getValueByPath({
|
|
226
|
+
object: doc,
|
|
227
|
+
path: config.admin?.useAsTitle || 'id'
|
|
228
|
+
});
|
|
229
|
+
const status = doc._displayStatus || doc._status;
|
|
230
|
+
return {
|
|
231
|
+
id: doc.id,
|
|
232
|
+
collectionSlug,
|
|
233
|
+
dateLabel: doc.updatedAt ? formatRelativeDate({
|
|
234
|
+
relativeTimeFormat: getRelativeTimeFormat(i18n.language),
|
|
235
|
+
value: doc.updatedAt
|
|
236
|
+
}) : undefined,
|
|
237
|
+
dateTime: doc.updatedAt,
|
|
238
|
+
href: formatAdminURL({
|
|
239
|
+
adminRoute: payload.config.routes.admin,
|
|
240
|
+
path: `/collections/${collectionSlug}/${encodeURIComponent(String(doc.id))}`
|
|
241
|
+
}),
|
|
242
|
+
isChanged: status === 'changed',
|
|
243
|
+
isDraft: status === 'draft',
|
|
244
|
+
statusLabel: status === 'draft' ? i18n.t('version:draft') : status === 'changed' ? i18n.t('version:changed') : status === 'published' ? i18n.t('version:published') : undefined,
|
|
245
|
+
thumbnailURL: getDocumentThumbnail({
|
|
246
|
+
doc,
|
|
247
|
+
useAsThumbnail: config.admin?.useAsThumbnail
|
|
248
|
+
}),
|
|
249
|
+
title: typeof rawTitle === 'string' && rawTitle ? rawTitle : String(doc.id),
|
|
250
|
+
typeLabel: getTranslation(config.labels.plural, i18n),
|
|
251
|
+
updatedAt: doc.updatedAt
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=getDocuments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDocuments.js","names":["getTranslation","UnauthorizedError","formatAdminURL","PREFERENCE_KEYS","formatRelativeDate","getRelativeTimeFormat","getDocumentThumbnail","getDocumentThumbnailPopulate","getDocumentThumbnailSelect","enrichDocsWithVersionStatus","getPinnedItems","documentKey","getValueByPath","getDashboardDocumentsHandler","getDashboardDocuments","excludedCollections","limit","page","req","shouldIncludePinPlaceholder","tab","user","t","Number","isSafeInteger","Error","key","PINNED_DOCUMENTS","RECENTLY_VIEWED","preference","payload","find","collection","depth","overrideAccess","where","and","ownerWhere","equals","excluded","Set","storedReferences","value","docs","filter","collectionSlug","collections","has","config","admin","group","availableReferences","getAvailableReferences","references","totalDocs","length","lastPage","Math","max","ceil","min","slice","documents","loadDocuments","items","map","reference","document","get","viewedAt","dateLabel","relativeTimeFormat","i18n","language","undefined","dateTime","item","Boolean","available","Promise","all","groupReferenceIDs","entries","ids","result","disableErrors","draft","pagination","select","id","sort","in","doc","add","idsByCollection","Map","push","set","collectionConfig","useAsTitle","split","_status","updatedAt","useAsThumbnail","upload","width","populate","enriched","data","enrichDocument","rawTitle","object","path","status","_displayStatus","href","adminRoute","routes","encodeURIComponent","String","isChanged","isDraft","statusLabel","thumbnailURL","title","typeLabel","labels","plural"],"sources":["../../../src/widgets/RecentlyViewed/getDocuments.ts"],"sourcesContent":["import type { PayloadRequest, ServerFunction, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { UnauthorizedError } from 'payload'\nimport { formatAdminURL, PREFERENCE_KEYS } from 'payload/shared'\n\nimport type { RecentDocument } from './index.client.js'\nimport type { PinnedItem } from './recents.js'\n\nimport { formatRelativeDate, getRelativeTimeFormat } from '../../utilities/formatRelativeDate.js'\nimport { getDocumentThumbnail } from '../../utilities/getDocumentThumbnail.js'\nimport { getDocumentThumbnailPopulate } from '../../utilities/getDocumentThumbnailPopulate.js'\nimport { getDocumentThumbnailSelect } from '../../utilities/getDocumentThumbnailSelect.js'\nimport { enrichDocsWithVersionStatus } from '../../views/List/enrichDocsWithVersionStatus.js'\nimport { getPinnedItems } from './pinnedPreferences.js'\nimport { documentKey, getValueByPath } from './recents.js'\n\nexport type DocumentsTab = 'pinned' | 'recents'\nexport type DocumentsPageArgs = {\n excludedCollections?: string[]\n limit: number\n page: number\n shouldIncludePinPlaceholder?: boolean\n tab: DocumentsTab\n}\nexport type DocumentsPage = {\n items: RecentDocument[]\n page: number\n totalDocs: number\n}\n\ntype Reference = { viewedAt?: string } & PinnedItem\ntype QueryDoc = { id: number | string; updatedAt?: string } & Record<string, unknown>\n\nexport const getDashboardDocumentsHandler: ServerFunction<\n DocumentsPageArgs,\n Promise<DocumentsPage>\n> = getDashboardDocuments\n\nexport async function getDashboardDocuments({\n excludedCollections = [],\n limit,\n page,\n req,\n shouldIncludePinPlaceholder = false,\n tab,\n}: { req: PayloadRequest } & DocumentsPageArgs): Promise<DocumentsPage> {\n if (!req.user) {\n throw new UnauthorizedError(req.t)\n }\n if (\n !Number.isSafeInteger(limit) ||\n limit < 1 ||\n limit > 100 ||\n !Number.isSafeInteger(page) ||\n page < 1\n ) {\n throw new Error('Invalid dashboard page')\n }\n if (tab !== 'pinned' && tab !== 'recents') {\n throw new Error('Invalid dashboard tab')\n }\n\n const key = tab === 'pinned' ? PREFERENCE_KEYS.PINNED_DOCUMENTS : PREFERENCE_KEYS.RECENTLY_VIEWED\n const preference = await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n overrideAccess: false,\n req,\n user: req.user,\n where: { and: [ownerWhere({ req }), { key: { equals: key } }] },\n })\n const excluded = new Set(tab === 'recents' ? excludedCollections : [])\n const storedReferences = getPinnedItems({ value: preference.docs[0]?.value }).filter(\n ({ collectionSlug }) => {\n const collection = req.payload.collections[collectionSlug]\n\n return !excluded.has(collectionSlug) && collection && collection.config.admin.group !== false\n },\n )\n const availableReferences = await getAvailableReferences({ references: storedReferences, req })\n const totalDocs = availableReferences.length\n const lastPage = Math.max(\n 1,\n Math.ceil((totalDocs + Number(tab === 'pinned' && shouldIncludePinPlaceholder)) / limit),\n )\n\n page = Math.min(page, lastPage)\n const references = availableReferences.slice((page - 1) * limit, page * limit)\n\n const documents = await loadDocuments({ references, req })\n const items = references\n .map((reference): RecentDocument | undefined => {\n const document = documents.get(documentKey(reference))\n if (!document || tab !== 'recents') {\n return document\n }\n\n const viewedAt = reference.viewedAt\n\n return {\n ...document,\n dateLabel: viewedAt\n ? formatRelativeDate({\n relativeTimeFormat: getRelativeTimeFormat(req.i18n.language),\n value: viewedAt,\n })\n : undefined,\n dateTime: viewedAt,\n viewedAt,\n }\n })\n .filter((item): item is RecentDocument => Boolean(item))\n\n return { items, page, totalDocs }\n}\n\n/** Check identities without populating documents, so deleted or forbidden references do not create empty pages. */\nasync function getAvailableReferences({\n references,\n req,\n}: {\n references: Reference[]\n req: PayloadRequest\n}): Promise<Reference[]> {\n const available = new Set<string>()\n\n await Promise.all(\n [...groupReferenceIDs({ references }).entries()].map(async ([collectionSlug, ids]) => {\n const result = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n disableErrors: true,\n draft: true,\n limit: ids.length,\n overrideAccess: false,\n pagination: false,\n req,\n select: { id: true },\n sort: 'id',\n user: req.user,\n where: { id: { in: ids } },\n })\n\n for (const doc of result.docs) {\n available.add(documentKey({ id: doc.id, collectionSlug }))\n }\n }),\n )\n\n return references.filter((reference) => available.has(documentKey(reference)))\n}\n\nfunction groupReferenceIDs({\n references,\n}: {\n references: Reference[]\n}): Map<string, Array<number | string>> {\n const idsByCollection = new Map<string, Array<number | string>>()\n\n for (const reference of references) {\n const ids = idsByCollection.get(reference.collectionSlug) ?? []\n\n ids.push(reference.id)\n idsByCollection.set(reference.collectionSlug, ids)\n }\n\n return idsByCollection\n}\n\nasync function loadDocuments({\n references,\n req,\n}: {\n references: Reference[]\n req: PayloadRequest\n}): Promise<Map<string, RecentDocument>> {\n const documents = new Map<string, RecentDocument>()\n await Promise.all(\n [...groupReferenceIDs({ references }).entries()].map(async ([collectionSlug, ids]) => {\n const config = req.payload.collections[collectionSlug].config\n const select = getDocumentThumbnailSelect({\n collectionConfig: config,\n select: {\n id: true,\n [(config.admin.useAsTitle || 'id').split('.')[0]]: true,\n _status: true,\n updatedAt: true,\n ...(config.admin.useAsThumbnail ? { [config.admin.useAsThumbnail]: true } : {}),\n ...(config.upload ? { width: true } : {}),\n },\n })\n const result = await req.payload.find({\n collection: collectionSlug,\n depth: 1,\n disableErrors: true,\n draft: true,\n limit: ids.length,\n overrideAccess: false,\n populate: getDocumentThumbnailPopulate({\n collectionConfig: config,\n collections: req.payload.config.collections,\n }),\n req,\n select,\n sort: 'id',\n user: req.user,\n where: { id: { in: ids } },\n })\n const enriched = await enrichDocsWithVersionStatus({\n collectionConfig: config,\n data: result,\n req,\n })\n\n for (const doc of enriched.docs as QueryDoc[]) {\n const item = enrichDocument({ collectionSlug, doc, req })\n documents.set(documentKey(item), item)\n }\n }),\n )\n return documents\n}\n\nfunction ownerWhere({ req }: { req: PayloadRequest }): Where {\n return {\n and: [\n { 'user.relationTo': { equals: req.user.collection } },\n { 'user.value': { equals: req.user.id } },\n ],\n }\n}\n\nfunction enrichDocument({\n collectionSlug,\n doc,\n req,\n}: {\n collectionSlug: string\n doc: QueryDoc\n req: PayloadRequest\n}): RecentDocument {\n const { i18n, payload } = req\n const config = payload.collections[collectionSlug].config\n const rawTitle = getValueByPath({ object: doc, path: config.admin?.useAsTitle || 'id' })\n const status = doc._displayStatus || doc._status\n return {\n id: doc.id,\n collectionSlug,\n dateLabel: doc.updatedAt\n ? formatRelativeDate({\n relativeTimeFormat: getRelativeTimeFormat(i18n.language),\n value: doc.updatedAt,\n })\n : undefined,\n dateTime: doc.updatedAt,\n href: formatAdminURL({\n adminRoute: payload.config.routes.admin,\n path: `/collections/${collectionSlug}/${encodeURIComponent(String(doc.id))}`,\n }),\n isChanged: status === 'changed',\n isDraft: status === 'draft',\n statusLabel:\n status === 'draft'\n ? i18n.t('version:draft')\n : status === 'changed'\n ? i18n.t('version:changed')\n : status === 'published'\n ? i18n.t('version:published')\n : undefined,\n thumbnailURL: getDocumentThumbnail({\n doc,\n useAsThumbnail: config.admin?.useAsThumbnail,\n }),\n title: typeof rawTitle === 'string' && rawTitle ? rawTitle : String(doc.id),\n typeLabel: getTranslation(config.labels.plural, i18n),\n updatedAt: doc.updatedAt,\n }\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,cAAc,EAAEC,eAAe,QAAQ;AAKhD,SAASC,kBAAkB,EAAEC,qBAAqB,QAAQ;AAC1D,SAASC,oBAAoB,QAAQ;AACrC,SAASC,4BAA4B,QAAQ;AAC7C,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,cAAc,QAAQ;AAC/B,SAASC,WAAW,EAAEC,cAAc,QAAQ;AAmB5C,OAAO,MAAMC,4BAAA,GAGTC,qBAAA;AAEJ,OAAO,eAAeA,sBAAsB;EAC1CC,mBAAA,GAAsB,EAAE;EACxBC,KAAK;EACLC,IAAI;EACJC,GAAG;EACHC,2BAAA,GAA8B,KAAK;EACnCC;AAAG,CACyC;EAC5C,IAAI,CAACF,GAAA,CAAIG,IAAI,EAAE;IACb,MAAM,IAAIpB,iBAAA,CAAkBiB,GAAA,CAAII,CAAC;EACnC;EACA,IACE,CAACC,MAAA,CAAOC,aAAa,CAACR,KAAA,KACtBA,KAAA,GAAQ,KACRA,KAAA,GAAQ,OACR,CAACO,MAAA,CAAOC,aAAa,CAACP,IAAA,KACtBA,IAAA,GAAO,GACP;IACA,MAAM,IAAIQ,KAAA,CAAM;EAClB;EACA,IAAIL,GAAA,KAAQ,YAAYA,GAAA,KAAQ,WAAW;IACzC,MAAM,IAAIK,KAAA,CAAM;EAClB;EAEA,MAAMC,GAAA,GAAMN,GAAA,KAAQ,WAAWjB,eAAA,CAAgBwB,gBAAgB,GAAGxB,eAAA,CAAgByB,eAAe;EACjG,MAAMC,UAAA,GAAa,MAAMX,GAAA,CAAIY,OAAO,CAACC,IAAI,CAAC;IACxCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPjB,KAAA,EAAO;IACPkB,cAAA,EAAgB;IAChBhB,GAAA;IACAG,IAAA,EAAMH,GAAA,CAAIG,IAAI;IACdc,KAAA,EAAO;MAAEC,GAAA,EAAK,CAACC,UAAA,CAAW;QAAEnB;MAAI,IAAI;QAAEQ,GAAA,EAAK;UAAEY,MAAA,EAAQZ;QAAI;MAAE;IAAG;EAChE;EACA,MAAMa,QAAA,GAAW,IAAIC,GAAA,CAAIpB,GAAA,KAAQ,YAAYL,mBAAA,GAAsB,EAAE;EACrE,MAAM0B,gBAAA,GAAmB/B,cAAA,CAAe;IAAEgC,KAAA,EAAOb,UAAA,CAAWc,IAAI,CAAC,EAAE,EAAED;EAAM,GAAGE,MAAM,CAClF,CAAC;IAAEC;EAAc,CAAE;IACjB,MAAMb,UAAA,GAAad,GAAA,CAAIY,OAAO,CAACgB,WAAW,CAACD,cAAA,CAAe;IAE1D,OAAO,CAACN,QAAA,CAASQ,GAAG,CAACF,cAAA,KAAmBb,UAAA,IAAcA,UAAA,CAAWgB,MAAM,CAACC,KAAK,CAACC,KAAK,KAAK;EAC1F;EAEF,MAAMC,mBAAA,GAAsB,MAAMC,sBAAA,CAAuB;IAAEC,UAAA,EAAYZ,gBAAA;IAAkBvB;EAAI;EAC7F,MAAMoC,SAAA,GAAYH,mBAAA,CAAoBI,MAAM;EAC5C,MAAMC,QAAA,GAAWC,IAAA,CAAKC,GAAG,CACvB,GACAD,IAAA,CAAKE,IAAI,CAAC,CAACL,SAAA,GAAY/B,MAAA,CAAOH,GAAA,KAAQ,YAAYD,2BAAA,CAA2B,IAAKH,KAAA;EAGpFC,IAAA,GAAOwC,IAAA,CAAKG,GAAG,CAAC3C,IAAA,EAAMuC,QAAA;EACtB,MAAMH,UAAA,GAAaF,mBAAA,CAAoBU,KAAK,CAAC,CAAC5C,IAAA,GAAO,KAAKD,KAAA,EAAOC,IAAA,GAAOD,KAAA;EAExE,MAAM8C,SAAA,GAAY,MAAMC,aAAA,CAAc;IAAEV,UAAA;IAAYnC;EAAI;EACxD,MAAM8C,KAAA,GAAQX,UAAA,CACXY,GAAG,CAAEC,SAAA;IACJ,MAAMC,QAAA,GAAWL,SAAA,CAAUM,GAAG,CAACzD,WAAA,CAAYuD,SAAA;IAC3C,IAAI,CAACC,QAAA,IAAY/C,GAAA,KAAQ,WAAW;MAClC,OAAO+C,QAAA;IACT;IAEA,MAAME,QAAA,GAAWH,SAAA,CAAUG,QAAQ;IAEnC,OAAO;MACL,GAAGF,QAAQ;MACXG,SAAA,EAAWD,QAAA,GACPjE,kBAAA,CAAmB;QACjBmE,kBAAA,EAAoBlE,qBAAA,CAAsBa,GAAA,CAAIsD,IAAI,CAACC,QAAQ;QAC3D/B,KAAA,EAAO2B;MACT,KACAK,SAAA;MACJC,QAAA,EAAUN,QAAA;MACVA;IACF;EACF,GACCzB,MAAM,CAAEgC,IAAA,IAAiCC,OAAA,CAAQD,IAAA;EAEpD,OAAO;IAAEZ,KAAA;IAAO/C,IAAA;IAAMqC;EAAU;AAClC;AAEA;AACA,eAAeF,uBAAuB;EACpCC,UAAU;EACVnC;AAAG,CAIJ;EACC,MAAM4D,SAAA,GAAY,IAAItC,GAAA;EAEtB,MAAMuC,OAAA,CAAQC,GAAG,CACf,C,GAAIC,iBAAA,CAAkB;IAAE5B;EAAW,GAAG6B,OAAO,GAAG,CAACjB,GAAG,CAAC,OAAO,CAACpB,cAAA,EAAgBsC,GAAA,CAAI;IAC/E,MAAMC,MAAA,GAAS,MAAMlE,GAAA,CAAIY,OAAO,CAACC,IAAI,CAAC;MACpCC,UAAA,EAAYa,cAAA;MACZZ,KAAA,EAAO;MACPoD,aAAA,EAAe;MACfC,KAAA,EAAO;MACPtE,KAAA,EAAOmE,GAAA,CAAI5B,MAAM;MACjBrB,cAAA,EAAgB;MAChBqD,UAAA,EAAY;MACZrE,GAAA;MACAsE,MAAA,EAAQ;QAAEC,EAAA,EAAI;MAAK;MACnBC,IAAA,EAAM;MACNrE,IAAA,EAAMH,GAAA,CAAIG,IAAI;MACdc,KAAA,EAAO;QAAEsD,EAAA,EAAI;UAAEE,EAAA,EAAIR;QAAI;MAAE;IAC3B;IAEA,KAAK,MAAMS,GAAA,IAAOR,MAAA,CAAOzC,IAAI,EAAE;MAC7BmC,SAAA,CAAUe,GAAG,CAAClF,WAAA,CAAY;QAAE8E,EAAA,EAAIG,GAAA,CAAIH,EAAE;QAAE5C;MAAe;IACzD;EACF;EAGF,OAAOQ,UAAA,CAAWT,MAAM,CAAEsB,SAAA,IAAcY,SAAA,CAAU/B,GAAG,CAACpC,WAAA,CAAYuD,SAAA;AACpE;AAEA,SAASe,kBAAkB;EACzB5B;AAAU,CAGX;EACC,MAAMyC,eAAA,GAAkB,IAAIC,GAAA;EAE5B,KAAK,MAAM7B,SAAA,IAAab,UAAA,EAAY;IAClC,MAAM8B,GAAA,GAAMW,eAAA,CAAgB1B,GAAG,CAACF,SAAA,CAAUrB,cAAc,KAAK,EAAE;IAE/DsC,GAAA,CAAIa,IAAI,CAAC9B,SAAA,CAAUuB,EAAE;IACrBK,eAAA,CAAgBG,GAAG,CAAC/B,SAAA,CAAUrB,cAAc,EAAEsC,GAAA;EAChD;EAEA,OAAOW,eAAA;AACT;AAEA,eAAe/B,cAAc;EAC3BV,UAAU;EACVnC;AAAG,CAIJ;EACC,MAAM4C,SAAA,GAAY,IAAIiC,GAAA;EACtB,MAAMhB,OAAA,CAAQC,GAAG,CACf,C,GAAIC,iBAAA,CAAkB;IAAE5B;EAAW,GAAG6B,OAAO,GAAG,CAACjB,GAAG,CAAC,OAAO,CAACpB,cAAA,EAAgBsC,GAAA,CAAI;IAC/E,MAAMnC,MAAA,GAAS9B,GAAA,CAAIY,OAAO,CAACgB,WAAW,CAACD,cAAA,CAAe,CAACG,MAAM;IAC7D,MAAMwC,MAAA,GAAShF,0BAAA,CAA2B;MACxC0F,gBAAA,EAAkBlD,MAAA;MAClBwC,MAAA,EAAQ;QACNC,EAAA,EAAI;QACJ,CAAC,CAACzC,MAAA,CAAOC,KAAK,CAACkD,UAAU,IAAI,IAAG,EAAGC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG;QACnDC,OAAA,EAAS;QACTC,SAAA,EAAW;QACX,IAAItD,MAAA,CAAOC,KAAK,CAACsD,cAAc,GAAG;UAAE,CAACvD,MAAA,CAAOC,KAAK,CAACsD,cAAc,GAAG;QAAK,IAAI,CAAC,CAAC;QAC9E,IAAIvD,MAAA,CAAOwD,MAAM,GAAG;UAAEC,KAAA,EAAO;QAAK,IAAI,CAAC,CAAC;MAC1C;IACF;IACA,MAAMrB,MAAA,GAAS,MAAMlE,GAAA,CAAIY,OAAO,CAACC,IAAI,CAAC;MACpCC,UAAA,EAAYa,cAAA;MACZZ,KAAA,EAAO;MACPoD,aAAA,EAAe;MACfC,KAAA,EAAO;MACPtE,KAAA,EAAOmE,GAAA,CAAI5B,MAAM;MACjBrB,cAAA,EAAgB;MAChBwE,QAAA,EAAUnG,4BAAA,CAA6B;QACrC2F,gBAAA,EAAkBlD,MAAA;QAClBF,WAAA,EAAa5B,GAAA,CAAIY,OAAO,CAACkB,MAAM,CAACF;MAClC;MACA5B,GAAA;MACAsE,MAAA;MACAE,IAAA,EAAM;MACNrE,IAAA,EAAMH,GAAA,CAAIG,IAAI;MACdc,KAAA,EAAO;QAAEsD,EAAA,EAAI;UAAEE,EAAA,EAAIR;QAAI;MAAE;IAC3B;IACA,MAAMwB,QAAA,GAAW,MAAMlG,2BAAA,CAA4B;MACjDyF,gBAAA,EAAkBlD,MAAA;MAClB4D,IAAA,EAAMxB,MAAA;MACNlE;IACF;IAEA,KAAK,MAAM0E,GAAA,IAAOe,QAAA,CAAShE,IAAI,EAAgB;MAC7C,MAAMiC,IAAA,GAAOiC,cAAA,CAAe;QAAEhE,cAAA;QAAgB+C,GAAA;QAAK1E;MAAI;MACvD4C,SAAA,CAAUmC,GAAG,CAACtF,WAAA,CAAYiE,IAAA,GAAOA,IAAA;IACnC;EACF;EAEF,OAAOd,SAAA;AACT;AAEA,SAASzB,WAAW;EAAEnB;AAAG,CAA2B;EAClD,OAAO;IACLkB,GAAA,EAAK,CACH;MAAE,mBAAmB;QAAEE,MAAA,EAAQpB,GAAA,CAAIG,IAAI,CAACW;MAAW;IAAE,GACrD;MAAE,cAAc;QAAEM,MAAA,EAAQpB,GAAA,CAAIG,IAAI,CAACoE;MAAG;IAAE;EAE5C;AACF;AAEA,SAASoB,eAAe;EACtBhE,cAAc;EACd+C,GAAG;EACH1E;AAAG,CAKJ;EACC,MAAM;IAAEsD,IAAI;IAAE1C;EAAO,CAAE,GAAGZ,GAAA;EAC1B,MAAM8B,MAAA,GAASlB,OAAA,CAAQgB,WAAW,CAACD,cAAA,CAAe,CAACG,MAAM;EACzD,MAAM8D,QAAA,GAAWlG,cAAA,CAAe;IAAEmG,MAAA,EAAQnB,GAAA;IAAKoB,IAAA,EAAMhE,MAAA,CAAOC,KAAK,EAAEkD,UAAA,IAAc;EAAK;EACtF,MAAMc,MAAA,GAASrB,GAAA,CAAIsB,cAAc,IAAItB,GAAA,CAAIS,OAAO;EAChD,OAAO;IACLZ,EAAA,EAAIG,GAAA,CAAIH,EAAE;IACV5C,cAAA;IACAyB,SAAA,EAAWsB,GAAA,CAAIU,SAAS,GACpBlG,kBAAA,CAAmB;MACjBmE,kBAAA,EAAoBlE,qBAAA,CAAsBmE,IAAA,CAAKC,QAAQ;MACvD/B,KAAA,EAAOkD,GAAA,CAAIU;IACb,KACA5B,SAAA;IACJC,QAAA,EAAUiB,GAAA,CAAIU,SAAS;IACvBa,IAAA,EAAMjH,cAAA,CAAe;MACnBkH,UAAA,EAAYtF,OAAA,CAAQkB,MAAM,CAACqE,MAAM,CAACpE,KAAK;MACvC+D,IAAA,EAAM,gBAAgBnE,cAAA,IAAkByE,kBAAA,CAAmBC,MAAA,CAAO3B,GAAA,CAAIH,EAAE;IAC1E;IACA+B,SAAA,EAAWP,MAAA,KAAW;IACtBQ,OAAA,EAASR,MAAA,KAAW;IACpBS,WAAA,EACET,MAAA,KAAW,UACPzC,IAAA,CAAKlD,CAAC,CAAC,mBACP2F,MAAA,KAAW,YACTzC,IAAA,CAAKlD,CAAC,CAAC,qBACP2F,MAAA,KAAW,cACTzC,IAAA,CAAKlD,CAAC,CAAC,uBACPoD,SAAA;IACViD,YAAA,EAAcrH,oBAAA,CAAqB;MACjCsF,GAAA;MACAW,cAAA,EAAgBvD,MAAA,CAAOC,KAAK,EAAEsD;IAChC;IACAqB,KAAA,EAAO,OAAOd,QAAA,KAAa,YAAYA,QAAA,GAAWA,QAAA,GAAWS,MAAA,CAAO3B,GAAA,CAAIH,EAAE;IAC1EoC,SAAA,EAAW7H,cAAA,CAAegD,MAAA,CAAO8E,MAAM,CAACC,MAAM,EAAEvD,IAAA;IAChD8B,SAAA,EAAWV,GAAA,CAAIU;EACjB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PinnedItem } from './recents.js';
|
|
3
|
+
import './index.css';
|
|
4
|
+
export type RecentDocument = {
|
|
5
|
+
dateLabel?: string;
|
|
6
|
+
dateTime?: string;
|
|
7
|
+
href: string;
|
|
8
|
+
isChanged?: boolean;
|
|
9
|
+
isDraft?: boolean;
|
|
10
|
+
statusLabel?: string;
|
|
11
|
+
thumbnailURL?: string;
|
|
12
|
+
title: string;
|
|
13
|
+
typeLabel: string;
|
|
14
|
+
updatedAt?: string;
|
|
15
|
+
viewedAt?: string;
|
|
16
|
+
} & PinnedItem;
|
|
17
|
+
type Labels = {
|
|
18
|
+
addPin: string;
|
|
19
|
+
loadError: string;
|
|
20
|
+
loading: string;
|
|
21
|
+
next: string;
|
|
22
|
+
pagination: string;
|
|
23
|
+
pinned: string;
|
|
24
|
+
pinnedEmpty: string;
|
|
25
|
+
pinnedEmptyDescription: string;
|
|
26
|
+
pinnedSaveError: string;
|
|
27
|
+
previous: string;
|
|
28
|
+
recents: string;
|
|
29
|
+
recentsEmpty: string;
|
|
30
|
+
recentsEmptyDescription: string;
|
|
31
|
+
removePin: string;
|
|
32
|
+
retry: string;
|
|
33
|
+
title: string;
|
|
34
|
+
};
|
|
35
|
+
export declare function RecentsAndPinnedClient({ excludedCollections, labels, pinsURL, }: {
|
|
36
|
+
excludedCollections?: string[];
|
|
37
|
+
labels: Labels;
|
|
38
|
+
pinsURL: string;
|
|
39
|
+
}): React.JSX.Element;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=index.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/widgets/RecentlyViewed/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsD,MAAM,OAAO,CAAA;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAmB9C,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,UAAU,CAAA;AAEd,KAAK,MAAM,GAAG;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,sBAAsB,CAAC,EACrC,mBAAmB,EACnB,MAAM,EACN,OAAO,GACR,EAAE;IACD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,qBAqYA"}
|