@payloadcms/ui 4.0.0-internal.8001944 → 4.0.0-internal.8089ef7
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/app.css +1 -1
- package/dist/css/forms.css +0 -1
- package/dist/css/spacing.css +1 -1
- package/dist/css/typography.css +161 -55
- package/dist/elements/APIKeyInput/index.css +2 -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 +9 -2
- 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/Banner/index.css +3 -4
- package/dist/elements/BulkUpload/EditMany/index.css +4 -5
- package/dist/elements/BulkUpload/FileSidebar/index.css +0 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/Button/index.css +31 -1
- 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/Card/index.css +3 -4
- package/dist/elements/CardGrid/index.css +20 -0
- package/dist/elements/CardGrid/index.d.ts +13 -0
- package/dist/elements/CardGrid/index.d.ts.map +1 -0
- package/dist/elements/CardGrid/index.js +23 -0
- package/dist/elements/CardGrid/index.js.map +1 -0
- package/dist/elements/Chip/index.css +0 -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/Collapsible/index.css +4 -1
- package/dist/elements/ColumnSelection/Popup.css +6 -11
- package/dist/elements/CommandPalette/index.css +3 -8
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +62 -54
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +56 -33
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +88 -15
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts +8 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.d.ts.map +1 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.js +37 -0
- package/dist/elements/DatePicker/hasAmbiguousYearInput.js.map +1 -0
- package/dist/elements/DatePicker/index.css +27 -17
- package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts +18 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.d.ts.map +1 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.js +212 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +9 -7
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/Dialog/DialogTitle/index.css +1 -1
- package/dist/elements/Dialog/index.css +1 -2
- package/dist/elements/DocumentCard/index.css +73 -0
- package/dist/elements/DocumentCard/index.d.ts +18 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -0
- package/dist/elements/DocumentCard/index.js +182 -0
- package/dist/elements/DocumentCard/index.js.map +1 -0
- package/dist/elements/DocumentControls/index.css +14 -15
- 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/DrawerHeader/index.css +4 -7
- 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/RequiredFieldsInfo/index.css +2 -2
- package/dist/elements/DocumentFields/index.css +5 -5
- 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/index.css +1 -1
- package/dist/elements/Drawer/index.css +4 -5
- 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/EditMany/index.css +4 -5
- package/dist/elements/EditUpload/index.css +3 -4
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +13 -2
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EditUpload/library.css +6 -13
- package/dist/elements/ErrorPill/index.css +0 -1
- package/dist/elements/FieldDiffContainer/index.css +0 -1
- package/dist/elements/FieldDiffLabel/index.css +4 -5
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +41 -21
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.css +2 -3
- package/dist/elements/FileManager/FilePreview/index.js +4 -4
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.css +2 -3
- package/dist/elements/FileManager/index.css +0 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +13 -6
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FormHeader/index.css +0 -2
- package/dist/elements/GroupBy/Popup.css +3 -6
- package/dist/elements/HTMLDiff/index.css +0 -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/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +40 -36
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +15 -58
- package/dist/elements/Hierarchy/ColumnBrowser/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 +88 -13
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/EditButton/index.d.ts +8 -0
- package/dist/elements/Hierarchy/EditButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/EditButton/index.js +93 -0
- package/dist/elements/Hierarchy/EditButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts +9 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js +41 -0
- package/dist/elements/Hierarchy/Field/getHierarchyFilterOptions.js.map +1 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -105
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +0 -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 +90 -102
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/selection.d.ts +12 -0
- package/dist/elements/Hierarchy/Modal/selection.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/selection.js +40 -0
- package/dist/elements/Hierarchy/Modal/selection.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts +4 -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/Modal/useHierarchyModal.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +3 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +79 -92
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +7 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +1 -1
- package/dist/elements/HydratePreferences/index.d.ts +8 -0
- package/dist/elements/HydratePreferences/index.d.ts.map +1 -0
- package/dist/elements/HydratePreferences/index.js +34 -0
- package/dist/elements/HydratePreferences/index.js.map +1 -0
- package/dist/elements/IDLabel/index.css +5 -7
- package/dist/elements/ItemsDrawer/ItemSearch/index.css +0 -1
- package/dist/elements/LLMInstructionsCell/index.css +11 -0
- package/dist/elements/LLMInstructionsCell/index.d.ts +5 -0
- package/dist/elements/LLMInstructionsCell/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsCell/index.js +24 -0
- package/dist/elements/LLMInstructionsCell/index.js.map +1 -0
- package/dist/elements/LLMInstructionsDescription/index.css +79 -0
- package/dist/elements/LLMInstructionsDescription/index.d.ts +6 -0
- package/dist/elements/LLMInstructionsDescription/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsDescription/index.js +40 -0
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -0
- package/dist/elements/LLMInstructionsMenuItem/index.d.ts +5 -0
- package/dist/elements/LLMInstructionsMenuItem/index.d.ts.map +1 -0
- package/dist/elements/LLMInstructionsMenuItem/index.js +46 -0
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -0
- package/dist/elements/LayoutToggle/index.d.ts +8 -0
- package/dist/elements/LayoutToggle/index.d.ts.map +1 -0
- package/dist/elements/LayoutToggle/index.js +56 -0
- package/dist/elements/LayoutToggle/index.js.map +1 -0
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +3 -0
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +2 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +1 -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 +2 -3
- 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/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +6 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +61 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.css +4 -5
- package/dist/elements/MiniCarousel/index.d.ts +1 -1
- package/dist/elements/MiniCarousel/index.d.ts.map +1 -1
- package/dist/elements/MiniCarousel/index.js +6 -6
- package/dist/elements/MiniCarousel/index.js.map +1 -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/Nav/SidebarTabs/index.client.js +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +2 -1
- package/dist/elements/Nav/index.js +1 -2
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +3 -4
- package/dist/elements/NoListResults/index.css +2 -3
- package/dist/elements/PageControls/index.css +4 -1
- package/dist/elements/PageControls/index.d.ts.map +1 -1
- package/dist/elements/PageControls/index.js +22 -8
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.css +0 -1
- package/dist/elements/Pagination/index.css +0 -2
- package/dist/elements/PerPage/index.css +0 -1
- package/dist/elements/Pill/index.css +0 -1
- package/dist/elements/Popup/PopupButtonList/index.css +4 -2
- package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -0
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +4 -0
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.css +0 -1
- package/dist/elements/PreviewSizes/index.d.ts +1 -1
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +9 -9
- package/dist/elements/PreviewSizes/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/QueryPresets/fields/Heading/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +0 -1
- package/dist/elements/ReactSelect/index.css +0 -3
- 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/RenderTitle/index.css +9 -7
- 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/Search/SearchInput/index.css +0 -1
- package/dist/elements/Search/SearchInput/index.js +1 -1
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +9 -0
- package/dist/elements/SegmentedControl/index.d.ts +20 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +162 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- package/dist/elements/SidebarRow/index.css +1 -2
- package/dist/elements/SortColumn/index.css +1 -2
- package/dist/elements/Spinner/index.css +0 -2
- package/dist/elements/Status/index.css +3 -4
- package/dist/elements/StepNav/index.css +15 -9
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +7 -0
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -0
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Switch/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +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 +100 -43
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.css +0 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.css +0 -1
- package/dist/elements/Table/index.css +1 -1
- package/dist/elements/TableSection/index.css +4 -5
- package/dist/elements/Tabs/index.css +5 -5
- package/dist/elements/Tabs/index.d.ts +4 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -1
- package/dist/elements/Tabs/index.js +30 -1
- package/dist/elements/Tabs/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.css +0 -1
- package/dist/elements/TimezonePicker/index.css +0 -3
- package/dist/elements/Tooltip/index.css +0 -1
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +1 -0
- package/dist/elements/Tooltip/index.js.map +1 -1
- 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.css +2 -3
- package/dist/elements/Upload/index.d.ts +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +12 -7
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +7 -10
- package/dist/exports/client/CodeEditor-S7MOGZSR.js +14 -0
- package/dist/exports/client/CodeEditor-S7MOGZSR.js.map +7 -0
- package/dist/exports/client/DatePicker-POZJVQP4.js +14 -0
- package/dist/exports/client/DatePicker-POZJVQP4.js.map +7 -0
- package/dist/exports/client/chunk-2AY67NFV.js +29 -0
- package/dist/exports/client/chunk-2AY67NFV.js.map +7 -0
- package/dist/exports/client/chunk-AVJIZPR3.js +14 -0
- package/dist/exports/client/chunk-AVJIZPR3.js.map +7 -0
- package/dist/exports/client/chunk-Z42OBP5U.js +27 -0
- package/dist/exports/client/chunk-Z42OBP5U.js.map +7 -0
- package/dist/exports/client/index.d.ts +19 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +100 -1
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/index.css +4 -0
- package/dist/fields/Blocks/SectionTitle/index.css +3 -5
- package/dist/fields/Blocks/index.css +2 -2
- package/dist/fields/Checkbox/Input.js +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +4 -0
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js +9 -2
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.css +1 -2
- package/dist/fields/Group/index.css +5 -8
- package/dist/fields/Join/index.css +3 -4
- package/dist/fields/RadioGroup/Radio/index.css +0 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +25 -17
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +2 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +8 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +17 -15
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.css +7 -0
- package/dist/fields/Tabs/Tab/index.d.ts +2 -0
- package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +15 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +14 -14
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +179 -116
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +1 -1
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +13 -4
- 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 -5
- 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 +1 -0
- package/dist/icons/Table/index.d.ts +7 -0
- package/dist/icons/Table/index.d.ts.map +1 -0
- package/dist/icons/Table/index.js +25 -0
- package/dist/icons/Table/index.js.map +1 -0
- package/dist/layouts/Root/getRootLayoutData.d.ts +3 -6
- package/dist/layouts/Root/getRootLayoutData.d.ts.map +1 -1
- package/dist/layouts/Root/getRootLayoutData.js +14 -13
- 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 +11 -18
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/ListQuery/getSearchWithListQuery.d.ts +7 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.d.ts.map +1 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.js +22 -0
- package/dist/providers/ListQuery/getSearchWithListQuery.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +11 -12
- package/dist/providers/ListQuery/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/Preferences/index.d.ts +7 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +62 -20
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +38 -37
- 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/buildColumnState/index.d.ts +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +2 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +12 -28
- package/dist/providers/TableColumns/buildColumnState/renderCell.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/providers/ToastContainer/index.css +6 -7
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js +11 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/styles.css +163 -58
- 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/index.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +9 -4
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/filterLLMInstructionsMenuItems.d.ts +9 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.d.ts.map +1 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.js +37 -0
- package/dist/utilities/filterLLMInstructionsMenuItems.js.map +1 -0
- package/dist/utilities/filterOutUploadFields.js +1 -1
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +5 -1
- package/dist/utilities/getClientConfig.d.ts.map +1 -1
- package/dist/utilities/getClientConfig.js +2 -1
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getClientSchemaMap.d.ts.map +1 -1
- package/dist/utilities/getClientSchemaMap.js +2 -1
- package/dist/utilities/getClientSchemaMap.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/hierarchyCollectionRestrictions.d.ts +15 -0
- package/dist/utilities/hierarchyCollectionRestrictions.d.ts.map +1 -0
- package/dist/utilities/hierarchyCollectionRestrictions.js +17 -0
- package/dist/utilities/hierarchyCollectionRestrictions.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +2 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +2 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +3 -0
- 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/API/index.css +1 -2
- package/dist/views/CreateFirstUser/index.css +0 -2
- 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 +31 -21
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -2
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +4 -3
- 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/Document/index.js +1 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +10 -3
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +1 -0
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.css +4 -5
- 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/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +1 -3
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +103 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +4 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +26 -14
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +44 -86
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +8 -31
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +3 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +78 -5
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/getHierarchyListURL.d.ts +7 -0
- package/dist/views/HierarchyList/getHierarchyListURL.d.ts.map +1 -0
- package/dist/views/HierarchyList/getHierarchyListURL.js +22 -0
- package/dist/views/HierarchyList/getHierarchyListURL.js.map +1 -0
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +35 -11
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.d.ts +17 -0
- package/dist/views/List/DocumentGrid/index.d.ts.map +1 -0
- package/dist/views/List/DocumentGrid/index.js +117 -0
- package/dist/views/List/DocumentGrid/index.js.map +1 -0
- package/dist/views/List/GroupedDocumentGrid/index.css +17 -0
- package/dist/views/List/GroupedDocumentGrid/index.d.ts +14 -0
- package/dist/views/List/GroupedDocumentGrid/index.d.ts.map +1 -0
- package/dist/views/List/GroupedDocumentGrid/index.js +99 -0
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -0
- package/dist/views/List/ListHeader/index.css +4 -5
- package/dist/views/List/ListHeader/index.d.ts +3 -1
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +15 -4
- package/dist/views/List/ListHeader/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/getDocumentListItemURL.d.ts +9 -0
- package/dist/views/List/getDocumentListItemURL.d.ts.map +1 -0
- package/dist/views/List/getDocumentListItemURL.js +23 -0
- package/dist/views/List/getDocumentListItemURL.js.map +1 -0
- package/dist/views/List/handleGroupBy.d.ts +6 -2
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.js +13 -3
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +63 -18
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +91 -11
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +3 -2
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +12 -4
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveDocumentListItemURL.d.ts +11 -0
- package/dist/views/List/resolveDocumentListItemURL.d.ts.map +1 -0
- package/dist/views/List/resolveDocumentListItemURL.js +30 -0
- package/dist/views/List/resolveDocumentListItemURL.js.map +1 -0
- package/dist/views/NotFound/index.css +0 -2
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +1 -3
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts +1 -8
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +3 -12
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Unauthorized/index.css +0 -2
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +2 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Version/Default/index.css +7 -11
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.css +0 -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.css +0 -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.css +3 -4
- 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.css +0 -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.css +0 -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/views/Versions/VersionPillLabel/index.css +1 -2
- package/dist/views/Versions/index.css +1 -1
- package/dist/widgets/CollectionCards/index.css +0 -1
- package/dist/widgets/CollectionQuery/index.css +4 -6
- 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 +251 -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 +404 -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/dist/widgets/Welcome/index.css +16 -9
- package/dist/widgets/WidgetCard/index.css +4 -8
- package/package.json +8 -8
- package/dist/utilities/dateLocales.d.ts +0 -30
- package/dist/utilities/dateLocales.d.ts.map +0 -1
- package/dist/utilities/dateLocales.js +0 -57
- package/dist/utilities/dateLocales.js.map +0 -1
|
@@ -3,9 +3,10 @@ import { getTranslation } from '@payloadcms/translations';
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { CloseModalButton } from '../../../elements/CloseModalButton/index.js';
|
|
5
5
|
import { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js';
|
|
6
|
+
import { HierarchyEditButton } from '../../../elements/Hierarchy/EditButton/index.js';
|
|
6
7
|
import { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js';
|
|
7
8
|
import { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js';
|
|
8
|
-
import { ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js';
|
|
9
|
+
import { ListDrawerConfirmSelectionButton, ListDrawerCreateNewDocButton } from '../../../elements/ListHeader/DrawerTitleActions/index.js';
|
|
9
10
|
import { ListHeader } from '../../../elements/ListHeader/index.js';
|
|
10
11
|
import { ListBulkUploadButton } from '../../../elements/ListHeader/TitleActions/index.js';
|
|
11
12
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
@@ -16,9 +17,11 @@ const drawerBaseClass = 'list-drawer';
|
|
|
16
17
|
export const CollectionListHeader = ({
|
|
17
18
|
className,
|
|
18
19
|
collectionConfig,
|
|
20
|
+
currentHierarchyItem,
|
|
19
21
|
Description,
|
|
20
22
|
disableBulkDelete,
|
|
21
23
|
disableBulkEdit,
|
|
24
|
+
enableRowSelections,
|
|
22
25
|
hasCreatePermission,
|
|
23
26
|
hasDeletePermission,
|
|
24
27
|
hasTrashPermission,
|
|
@@ -41,6 +44,7 @@ export const CollectionListHeader = ({
|
|
|
41
44
|
const {
|
|
42
45
|
isGroupingBy
|
|
43
46
|
} = useListQuery();
|
|
47
|
+
const title = currentHierarchyItem?.title ?? getTranslation(collectionConfig?.labels?.plural, i18n);
|
|
44
48
|
if (isInDrawer) {
|
|
45
49
|
return /*#__PURE__*/_jsx(ListHeader, {
|
|
46
50
|
Actions: [],
|
|
@@ -57,7 +61,9 @@ export const CollectionListHeader = ({
|
|
|
57
61
|
})?.labels?.plural, i18n),
|
|
58
62
|
TitleActions: [/*#__PURE__*/_jsx(ListDrawerCreateNewDocButton, {
|
|
59
63
|
hasCreatePermission: hasCreatePermission
|
|
60
|
-
}, "list-drawer-create-new-doc")
|
|
64
|
+
}, "list-drawer-create-new-doc"), /*#__PURE__*/_jsx(ListDrawerConfirmSelectionButton, {
|
|
65
|
+
enableRowSelections: enableRowSelections
|
|
66
|
+
}, "list-drawer-confirm-selection")].filter(Boolean)
|
|
61
67
|
});
|
|
62
68
|
}
|
|
63
69
|
return /*#__PURE__*/_jsx(ListHeader, {
|
|
@@ -77,8 +83,13 @@ export const CollectionListHeader = ({
|
|
|
77
83
|
}, "default-list-actions")].filter(Boolean),
|
|
78
84
|
AfterListHeaderContent: Description,
|
|
79
85
|
className: className,
|
|
80
|
-
title:
|
|
81
|
-
TitleActions: [
|
|
86
|
+
title: title,
|
|
87
|
+
TitleActions: [currentHierarchyItem && /*#__PURE__*/_jsx(HierarchyEditButton, {
|
|
88
|
+
collectionSlug: collectionConfig.slug,
|
|
89
|
+
hasUpdatePermission: currentHierarchyItem.hasUpdatePermission,
|
|
90
|
+
id: currentHierarchyItem.id,
|
|
91
|
+
title: title
|
|
92
|
+
}, "edit-hierarchy-document"), hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && /*#__PURE__*/_jsx(ListBulkUploadButton, {
|
|
82
93
|
collectionSlug: collectionConfig.slug,
|
|
83
94
|
hasCreatePermission: hasCreatePermission,
|
|
84
95
|
isBulkUploadEnabled: isBulkUploadEnabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","useListDrawerContext","DrawerRelationshipSelect","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","Description","disableBulkDelete","disableBulkEdit","hasCreatePermission","hasDeletePermission","hasTrashPermission","i18n","isBulkUploadEnabled","onBulkUploadSuccess","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","_jsx","Actions","AfterListHeaderContent","_jsxs","_Fragment","BeforeTitle","slug","
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","React","CloseModalButton","DefaultListViewTabs","HierarchyEditButton","useListDrawerContext","DrawerRelationshipSelect","ListDrawerConfirmSelectionButton","ListDrawerCreateNewDocButton","ListHeader","ListBulkUploadButton","useConfig","useListQuery","ListSelection","drawerBaseClass","CollectionListHeader","className","collectionConfig","currentHierarchyItem","Description","disableBulkDelete","disableBulkEdit","enableRowSelections","hasCreatePermission","hasDeletePermission","hasTrashPermission","i18n","isBulkUploadEnabled","onBulkUploadSuccess","smallBreak","viewType","config","getEntityConfig","drawerSlug","isInDrawer","selectedOption","isTrashRoute","isGroupingBy","title","labels","plural","_jsx","Actions","AfterListHeaderContent","_jsxs","_Fragment","BeforeTitle","slug","collectionSlug","value","TitleActions","filter","Boolean","label","showSelectAllAcrossPages","hasUpdatePermission","id"],"sources":["../../../../src/views/List/ListHeader/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, CurrentHierarchyItem, ViewTypes } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { CloseModalButton } from '../../../elements/CloseModalButton/index.js'\nimport { DefaultListViewTabs } from '../../../elements/DefaultListViewTabs/index.js'\nimport { HierarchyEditButton } from '../../../elements/Hierarchy/EditButton/index.js'\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DrawerRelationshipSelect } from '../../../elements/ListHeader/DrawerRelationshipSelect/index.js'\nimport {\n ListDrawerConfirmSelectionButton,\n ListDrawerCreateNewDocButton,\n} from '../../../elements/ListHeader/DrawerTitleActions/index.js'\nimport { ListHeader } from '../../../elements/ListHeader/index.js'\nimport { ListBulkUploadButton } from '../../../elements/ListHeader/TitleActions/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useListQuery } from '../../../providers/ListQuery/index.js'\nimport { ListSelection } from '../ListSelection/index.js'\nimport './index.css'\n\nconst drawerBaseClass = 'list-drawer'\n\nexport type ListHeaderProps = {\n Actions?: React.ReactNode[]\n className?: string\n collectionConfig: ClientCollectionConfig\n currentHierarchyItem?: CurrentHierarchyItem\n Description?: React.ReactNode\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections?: boolean\n hasCreatePermission: boolean\n hasDeletePermission?: boolean\n hasTrashPermission?: boolean\n i18n: I18nClient\n isBulkUploadEnabled: boolean\n newDocumentURL: string\n onBulkUploadSuccess?: () => void\n smallBreak: boolean\n TitleActions?: React.ReactNode[]\n viewType?: ViewTypes\n}\n\nexport const CollectionListHeader: React.FC<ListHeaderProps> = ({\n className,\n collectionConfig,\n currentHierarchyItem,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n i18n,\n isBulkUploadEnabled,\n onBulkUploadSuccess,\n smallBreak,\n viewType,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { drawerSlug, isInDrawer, selectedOption } = useListDrawerContext()\n const isTrashRoute = viewType === 'trash'\n const { isGroupingBy } = useListQuery()\n const title =\n currentHierarchyItem?.title ?? getTranslation(collectionConfig?.labels?.plural, i18n)\n\n if (isInDrawer) {\n return (\n <ListHeader\n Actions={[]}\n AfterListHeaderContent={\n <>\n {Description}\n {<DrawerRelationshipSelect />}\n </>\n }\n BeforeTitle={\n <CloseModalButton className={`${drawerBaseClass}__header-close`} slug={drawerSlug} />\n }\n className={`${drawerBaseClass}__header`}\n title={getTranslation(\n getEntityConfig({ collectionSlug: selectedOption.value })?.labels?.plural,\n i18n,\n )}\n TitleActions={[\n <ListDrawerCreateNewDocButton\n hasCreatePermission={hasCreatePermission}\n key=\"list-drawer-create-new-doc\"\n />,\n <ListDrawerConfirmSelectionButton\n enableRowSelections={enableRowSelections}\n key=\"list-drawer-confirm-selection\"\n />,\n ].filter(Boolean)}\n />\n )\n }\n\n return (\n <ListHeader\n Actions={[\n !smallBreak && !isGroupingBy && (\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasDeletePermission={hasDeletePermission}\n hasTrashPermission={hasTrashPermission}\n key=\"list-selection\"\n label={getTranslation(collectionConfig?.labels?.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n viewType={viewType}\n />\n ),\n <DefaultListViewTabs\n collectionConfig={collectionConfig}\n config={config}\n key=\"default-list-actions\"\n viewType={viewType}\n />,\n ].filter(Boolean)}\n AfterListHeaderContent={Description}\n className={className}\n title={title}\n TitleActions={[\n currentHierarchyItem && (\n <HierarchyEditButton\n collectionSlug={collectionConfig.slug}\n hasUpdatePermission={currentHierarchyItem.hasUpdatePermission}\n id={currentHierarchyItem.id}\n key=\"edit-hierarchy-document\"\n title={title}\n />\n ),\n hasCreatePermission && isBulkUploadEnabled && !isTrashRoute && (\n <ListBulkUploadButton\n collectionSlug={collectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n isBulkUploadEnabled={isBulkUploadEnabled}\n key=\"list-header-bulk-upload\"\n onBulkUploadSuccess={onBulkUploadSuccess}\n />\n ),\n ].filter(Boolean)}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichDocsWithVersionStatus.d.ts","sourceRoot":"","sources":["../../../src/views/List/enrichDocsWithVersionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEvF;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,gBAAgB,EAChB,IAAI,EACJ,GAAG,GACJ,EAAE;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,aAAa,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"enrichDocsWithVersionStatus.d.ts","sourceRoot":"","sources":["../../../src/views/List/enrichDocsWithVersionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEvF;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,gBAAgB,EAChB,IAAI,EACJ,GAAG,GACJ,EAAE;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,EAAE,aAAa,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;CACpB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsGzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enrichDocsWithVersionStatus.js","names":["enrichDocsWithVersionStatus","collectionConfig","data","req","draftsEnabled","versions","drafts","docs","length","draftDocs","filter","doc","_status","draftDocIds","map","id","Boolean","publishedVersions","payload","findVersions","collection","slug","depth","limit","overrideAccess","pagination","select","parent","where","and","in","equals","hasPublishedVersionSet","Set","version","enrichedDocs","has","_displayStatus","error","logger","err","msg"],"sources":["../../../src/views/List/enrichDocsWithVersionStatus.ts"],"sourcesContent":["import type { PaginatedDocs, PayloadRequest, SanitizedCollectionConfig } from 'payload'\n\n/**\n * Enriches list view documents with correct draft status display.\n * When draft=true is used in the query, Payload returns the latest draft version if it exists.\n * This function checks if draft documents also have a published version to determine \"changed\" status.\n *\n * Performance: Uses a single query to find all documents with \"changed\" status instead of N queries.\n */\nexport async function enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n}: {\n collectionConfig: SanitizedCollectionConfig\n data: PaginatedDocs\n req: PayloadRequest\n}): Promise<PaginatedDocs> {\n const draftsEnabled = collectionConfig?.versions?.drafts\n\n if (!draftsEnabled || !data?.docs?.length) {\n return data\n }\n\n // Find all draft documents\n // When querying with draft:true, we get the latest draft if it exists\n // We need to check if these drafts have a published version\n const draftDocs = data.docs.filter((doc) => doc._status === 'draft')\n\n if (draftDocs.length === 0) {\n return data\n }\n\n const draftDocIds = draftDocs.map((doc) => doc.id).filter(Boolean)\n\n if (draftDocIds.length === 0) {\n return data\n }\n\n // OPTIMIZATION: Single query to find all document IDs that have BOTH:\n // 1. A draft version (latest=true, _status='draft')\n // 2. A published version (_status='published')\n // These are the documents with \"changed\" status\n try {\n // TODO: This could be more efficient with a findDistinctVersions() API:\n // const { values } = await req.payload.findDistinctVersions({\n // collection: collectionConfig.slug,\n // field: 'parent',\n // where: {\n // and: [\n // { parent: { in: draftDocIds } },\n // { 'version._status': { equals: 'published' } },\n // ],\n // },\n // })\n // const hasPublishedVersionSet = new Set(values)\n //\n // For now, we query all published versions but only select the 'parent' field\n // to minimize data transfer, then deduplicate with a Set\n const publishedVersions = await req.payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 0,\n overrideAccess:
|
|
1
|
+
{"version":3,"file":"enrichDocsWithVersionStatus.js","names":["enrichDocsWithVersionStatus","collectionConfig","data","req","draftsEnabled","versions","drafts","docs","length","draftDocs","filter","doc","_status","draftDocIds","map","id","Boolean","publishedVersions","payload","findVersions","collection","slug","depth","limit","overrideAccess","pagination","select","parent","user","where","and","in","equals","hasPublishedVersionSet","Set","version","enrichedDocs","has","_displayStatus","error","logger","err","msg"],"sources":["../../../src/views/List/enrichDocsWithVersionStatus.ts"],"sourcesContent":["import type { PaginatedDocs, PayloadRequest, SanitizedCollectionConfig } from 'payload'\n\n/**\n * Enriches list view documents with correct draft status display.\n * When draft=true is used in the query, Payload returns the latest draft version if it exists.\n * This function checks if draft documents also have a published version to determine \"changed\" status.\n *\n * Performance: Uses a single query to find all documents with \"changed\" status instead of N queries.\n */\nexport async function enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n}: {\n collectionConfig: SanitizedCollectionConfig\n data: PaginatedDocs\n req: PayloadRequest\n}): Promise<PaginatedDocs> {\n const draftsEnabled = collectionConfig?.versions?.drafts\n\n if (!draftsEnabled || !data?.docs?.length) {\n return data\n }\n\n // Find all draft documents\n // When querying with draft:true, we get the latest draft if it exists\n // We need to check if these drafts have a published version\n const draftDocs = data.docs.filter((doc) => doc._status === 'draft')\n\n if (draftDocs.length === 0) {\n return data\n }\n\n const draftDocIds = draftDocs.map((doc) => doc.id).filter(Boolean)\n\n if (draftDocIds.length === 0) {\n return data\n }\n\n // OPTIMIZATION: Single query to find all document IDs that have BOTH:\n // 1. A draft version (latest=true, _status='draft')\n // 2. A published version (_status='published')\n // These are the documents with \"changed\" status\n try {\n // TODO: This could be more efficient with a findDistinctVersions() API:\n // const { values } = await req.payload.findDistinctVersions({\n // collection: collectionConfig.slug,\n // field: 'parent',\n // where: {\n // and: [\n // { parent: { in: draftDocIds } },\n // { 'version._status': { equals: 'published' } },\n // ],\n // },\n // })\n // const hasPublishedVersionSet = new Set(values)\n //\n // For now, we query all published versions but only select the 'parent' field\n // to minimize data transfer, then deduplicate with a Set\n const publishedVersions = await req.payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 0,\n overrideAccess: false,\n pagination: false,\n req,\n select: {\n parent: true,\n },\n user: req.user,\n where: {\n and: [\n {\n parent: {\n in: draftDocIds,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n })\n\n // Create a Set of document IDs that have published versions\n const hasPublishedVersionSet = new Set(\n publishedVersions.docs.map((version) => version.parent).filter(Boolean),\n )\n\n // Enrich documents with display status\n const enrichedDocs = data.docs.map((doc) => {\n // If it's a draft and has a published version, show \"changed\"\n if (doc._status === 'draft' && hasPublishedVersionSet.has(doc.id)) {\n return {\n ...doc,\n _displayStatus: 'changed' as const,\n }\n }\n\n return {\n ...doc,\n _displayStatus: doc._status as 'draft' | 'published',\n }\n })\n\n return {\n ...data,\n docs: enrichedDocs,\n }\n } catch (error) {\n // If there's an error querying versions, just return the original data\n req.payload.logger.error({\n err: error,\n msg: `Error checking version status for collection ${collectionConfig.slug}`,\n })\n return data\n }\n}\n"],"mappings":"AAEA;;;;;;GAOA,OAAO,eAAeA,4BAA4B;EAChDC,gBAAgB;EAChBC,IAAI;EACJC;AAAG,CAKJ;EACC,MAAMC,aAAA,GAAgBH,gBAAA,EAAkBI,QAAA,EAAUC,MAAA;EAElD,IAAI,CAACF,aAAA,IAAiB,CAACF,IAAA,EAAMK,IAAA,EAAMC,MAAA,EAAQ;IACzC,OAAON,IAAA;EACT;EAEA;EACA;EACA;EACA,MAAMO,SAAA,GAAYP,IAAA,CAAKK,IAAI,CAACG,MAAM,CAAEC,GAAA,IAAQA,GAAA,CAAIC,OAAO,KAAK;EAE5D,IAAIH,SAAA,CAAUD,MAAM,KAAK,GAAG;IAC1B,OAAON,IAAA;EACT;EAEA,MAAMW,WAAA,GAAcJ,SAAA,CAAUK,GAAG,CAAEH,GAAA,IAAQA,GAAA,CAAII,EAAE,EAAEL,MAAM,CAACM,OAAA;EAE1D,IAAIH,WAAA,CAAYL,MAAM,KAAK,GAAG;IAC5B,OAAON,IAAA;EACT;EAEA;EACA;EACA;EACA;EACA,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMe,iBAAA,GAAoB,MAAMd,GAAA,CAAIe,OAAO,CAACC,YAAY,CAAC;MACvDC,UAAA,EAAYnB,gBAAA,CAAiBoB,IAAI;MACjCC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,cAAA,EAAgB;MAChBC,UAAA,EAAY;MACZtB,GAAA;MACAuB,MAAA,EAAQ;QACNC,MAAA,EAAQ;MACV;MACAC,IAAA,EAAMzB,GAAA,CAAIyB,IAAI;MACdC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEH,MAAA,EAAQ;YACNI,EAAA,EAAIlB;UACN;QACF,GACA;UACE,mBAAmB;YACjBmB,MAAA,EAAQ;UACV;QACF;MAEJ;IACF;IAEA;IACA,MAAMC,sBAAA,GAAyB,IAAIC,GAAA,CACjCjB,iBAAA,CAAkBV,IAAI,CAACO,GAAG,CAAEqB,OAAA,IAAYA,OAAA,CAAQR,MAAM,EAAEjB,MAAM,CAACM,OAAA;IAGjE;IACA,MAAMoB,YAAA,GAAelC,IAAA,CAAKK,IAAI,CAACO,GAAG,CAAEH,GAAA;MAClC;MACA,IAAIA,GAAA,CAAIC,OAAO,KAAK,WAAWqB,sBAAA,CAAuBI,GAAG,CAAC1B,GAAA,CAAII,EAAE,GAAG;QACjE,OAAO;UACL,GAAGJ,GAAG;UACN2B,cAAA,EAAgB;QAClB;MACF;MAEA,OAAO;QACL,GAAG3B,GAAG;QACN2B,cAAA,EAAgB3B,GAAA,CAAIC;MACtB;IACF;IAEA,OAAO;MACL,GAAGV,IAAI;MACPK,IAAA,EAAM6B;IACR;EACF,EAAE,OAAOG,KAAA,EAAO;IACd;IACApC,GAAA,CAAIe,OAAO,CAACsB,MAAM,CAACD,KAAK,CAAC;MACvBE,GAAA,EAAKF,KAAA;MACLG,GAAA,EAAK,gDAAgDzC,gBAAA,CAAiBoB,IAAI;IAC5E;IACA,OAAOnB,IAAA;EACT;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ViewTypes } from 'payload';
|
|
2
|
+
export declare const getDocumentListItemURL: ({ adminRoute, collectionSlug, documentID, hierarchyParentFieldName, viewType, }: {
|
|
3
|
+
adminRoute: string;
|
|
4
|
+
collectionSlug: string;
|
|
5
|
+
documentID: number | string;
|
|
6
|
+
hierarchyParentFieldName?: string;
|
|
7
|
+
viewType?: ViewTypes;
|
|
8
|
+
}) => string;
|
|
9
|
+
//# sourceMappingURL=getDocumentListItemURL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDocumentListItemURL.d.ts","sourceRoot":"","sources":["../../../src/views/List/getDocumentListItemURL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAMxC,eAAO,MAAM,sBAAsB,oFAMhC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG,MAcH,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { formatAdminURL } from 'payload/shared';
|
|
2
|
+
import { getHierarchyListURL } from '../HierarchyList/getHierarchyListURL.js';
|
|
3
|
+
export const getDocumentListItemURL = ({
|
|
4
|
+
adminRoute,
|
|
5
|
+
collectionSlug,
|
|
6
|
+
documentID,
|
|
7
|
+
hierarchyParentFieldName,
|
|
8
|
+
viewType
|
|
9
|
+
}) => {
|
|
10
|
+
if (viewType === 'list' && hierarchyParentFieldName) {
|
|
11
|
+
return getHierarchyListURL({
|
|
12
|
+
adminRoute,
|
|
13
|
+
collectionSlug,
|
|
14
|
+
parentFieldName: hierarchyParentFieldName,
|
|
15
|
+
parentID: documentID
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return formatAdminURL({
|
|
19
|
+
adminRoute,
|
|
20
|
+
path: `/collections/${collectionSlug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(String(documentID))}`
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=getDocumentListItemURL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDocumentListItemURL.js","names":["formatAdminURL","getHierarchyListURL","getDocumentListItemURL","adminRoute","collectionSlug","documentID","hierarchyParentFieldName","viewType","parentFieldName","parentID","path","encodeURIComponent","String"],"sources":["../../../src/views/List/getDocumentListItemURL.ts"],"sourcesContent":["import type { ViewTypes } from 'payload'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport { getHierarchyListURL } from '../HierarchyList/getHierarchyListURL.js'\n\nexport const getDocumentListItemURL = ({\n adminRoute,\n collectionSlug,\n documentID,\n hierarchyParentFieldName,\n viewType,\n}: {\n adminRoute: string\n collectionSlug: string\n documentID: number | string\n hierarchyParentFieldName?: string\n viewType?: ViewTypes\n}): string => {\n if (viewType === 'list' && hierarchyParentFieldName) {\n return getHierarchyListURL({\n adminRoute,\n collectionSlug,\n parentFieldName: hierarchyParentFieldName,\n parentID: documentID,\n })\n }\n\n return formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${viewType === 'trash' ? '/trash' : ''}/${encodeURIComponent(String(documentID))}`,\n })\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ;AAE/B,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,sBAAA,GAAyBA,CAAC;EACrCC,UAAU;EACVC,cAAc;EACdC,UAAU;EACVC,wBAAwB;EACxBC;AAAQ,CAOT;EACC,IAAIA,QAAA,KAAa,UAAUD,wBAAA,EAA0B;IACnD,OAAOL,mBAAA,CAAoB;MACzBE,UAAA;MACAC,cAAA;MACAI,eAAA,EAAiBF,wBAAA;MACjBG,QAAA,EAAUJ;IACZ;EACF;EAEA,OAAOL,cAAA,CAAe;IACpBG,UAAA;IACAO,IAAA,EAAM,gBAAgBN,cAAA,GAAiBG,QAAA,KAAa,UAAU,WAAW,MAAMI,kBAAA,CAAmBC,MAAA,CAAOP,UAAA;EAC3G;AACF","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ClientCollectionConfig, ClientConfig, Column, ListQuery, PaginatedDocs, PayloadRequest, SanitizedCollectionConfig, SanitizedFieldsPermissions, SelectType, ViewTypes, Where } from 'payload';
|
|
2
|
-
export declare const handleGroupBy: ({ clientCollectionConfig, clientConfig, collectionConfig, collectionSlug, columns, customCellProps, drawerSlug, enableRowSelections, fieldPermissions, query, req, select, trash, user, viewType, where: whereWithMergedSearch, }: {
|
|
1
|
+
import type { ClientCollectionConfig, ClientConfig, Column, ListQuery, ListViewGroup, PaginatedDocs, PayloadRequest, PopulateType, SanitizedCollectionConfig, SanitizedFieldsPermissions, SelectType, ViewTypes, Where } from 'payload';
|
|
2
|
+
export declare const handleGroupBy: ({ clientCollectionConfig, clientConfig, collectionConfig, collectionSlug, columns, customCellProps, drawerSlug, enableRowSelections, fieldPermissions, hierarchyParentFieldName, query, req, select, thumbnailFieldName, thumbnailPopulate, trash, user, viewType, where: whereWithMergedSearch, }: {
|
|
3
3
|
clientCollectionConfig: ClientCollectionConfig;
|
|
4
4
|
clientConfig: ClientConfig;
|
|
5
5
|
collectionConfig: SanitizedCollectionConfig;
|
|
@@ -9,9 +9,12 @@ export declare const handleGroupBy: ({ clientCollectionConfig, clientConfig, col
|
|
|
9
9
|
drawerSlug?: string;
|
|
10
10
|
enableRowSelections?: boolean;
|
|
11
11
|
fieldPermissions?: SanitizedFieldsPermissions;
|
|
12
|
+
hierarchyParentFieldName?: string;
|
|
12
13
|
query?: ListQuery;
|
|
13
14
|
req: PayloadRequest;
|
|
14
15
|
select?: SelectType;
|
|
16
|
+
thumbnailFieldName?: string;
|
|
17
|
+
thumbnailPopulate?: PopulateType;
|
|
15
18
|
trash?: boolean;
|
|
16
19
|
user: any;
|
|
17
20
|
viewType?: ViewTypes;
|
|
@@ -19,6 +22,7 @@ export declare const handleGroupBy: ({ clientCollectionConfig, clientConfig, col
|
|
|
19
22
|
}) => Promise<{
|
|
20
23
|
columnState: Column[];
|
|
21
24
|
data: PaginatedDocs;
|
|
25
|
+
groupedData: ListViewGroup[];
|
|
22
26
|
Table: null | React.ReactNode | React.ReactNode[];
|
|
23
27
|
}>;
|
|
24
28
|
//# sourceMappingURL=handleGroupBy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,UAAU,EACV,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAWhB,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"handleGroupBy.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleGroupBy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,EAC1B,UAAU,EACV,SAAS,EACT,KAAK,EACN,MAAM,SAAS,CAAA;AAWhB,eAAO,MAAM,aAAa,uSAoBvB;IACD,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,YAAY,EAAE,YAAY,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,GAAG,EAAE,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,0BAA0B,CAAA;IAC7C,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,YAAY,CAAA;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,KAAK,CAAA;CACb,KAAG,OAAO,CAAC;IACV,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,IAAI,EAAE,aAAa,CAAA;IACnB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAClD,CAmLA,CAAA"}
|
|
@@ -15,9 +15,12 @@ export const handleGroupBy = async ({
|
|
|
15
15
|
drawerSlug,
|
|
16
16
|
enableRowSelections,
|
|
17
17
|
fieldPermissions,
|
|
18
|
+
hierarchyParentFieldName,
|
|
18
19
|
query,
|
|
19
20
|
req,
|
|
20
21
|
select,
|
|
22
|
+
thumbnailFieldName,
|
|
23
|
+
thumbnailPopulate,
|
|
21
24
|
trash = false,
|
|
22
25
|
user,
|
|
23
26
|
viewType,
|
|
@@ -25,7 +28,7 @@ export const handleGroupBy = async ({
|
|
|
25
28
|
}) => {
|
|
26
29
|
let Table = null;
|
|
27
30
|
let columnState;
|
|
28
|
-
const
|
|
31
|
+
const groupedData = [];
|
|
29
32
|
// NOTE: is there a faster/better way to do this?
|
|
30
33
|
const flattenedFields = flattenAllFields({
|
|
31
34
|
fields: collectionConfig.fields
|
|
@@ -69,7 +72,7 @@ export const handleGroupBy = async ({
|
|
|
69
72
|
const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship);
|
|
70
73
|
const groupData = await req.payload.find({
|
|
71
74
|
collection: collectionSlug,
|
|
72
|
-
depth: 0,
|
|
75
|
+
depth: thumbnailFieldName ? 1 : 0,
|
|
73
76
|
draft: true,
|
|
74
77
|
fallbackLocale: false,
|
|
75
78
|
includeLockStatus: true,
|
|
@@ -77,6 +80,7 @@ export const handleGroupBy = async ({
|
|
|
77
80
|
locale: req.locale,
|
|
78
81
|
overrideAccess: false,
|
|
79
82
|
page: query?.queryByGroup?.[valueOrRelationshipID]?.page ? Number(query.queryByGroup[valueOrRelationshipID].page) : undefined,
|
|
83
|
+
populate: thumbnailPopulate,
|
|
80
84
|
req,
|
|
81
85
|
// Note: if we wanted to enable table-by-table sorting, we could use this:
|
|
82
86
|
// sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,
|
|
@@ -140,6 +144,7 @@ export const handleGroupBy = async ({
|
|
|
140
144
|
groupByFieldPath,
|
|
141
145
|
groupByValue: serializableValue,
|
|
142
146
|
heading: heading || req.i18n.t('general:noValue'),
|
|
147
|
+
hierarchyParentFieldName,
|
|
143
148
|
i18n: req.i18n,
|
|
144
149
|
key: `table-${serializableValue}`,
|
|
145
150
|
orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,
|
|
@@ -156,13 +161,18 @@ export const handleGroupBy = async ({
|
|
|
156
161
|
if (!Table) {
|
|
157
162
|
Table = [];
|
|
158
163
|
}
|
|
159
|
-
|
|
164
|
+
groupedData[i] = {
|
|
165
|
+
data: groupData,
|
|
166
|
+
heading: heading || req.i18n.t('general:noValue'),
|
|
167
|
+
value: serializableValue
|
|
168
|
+
};
|
|
160
169
|
Table[i] = NewTable;
|
|
161
170
|
}
|
|
162
171
|
}));
|
|
163
172
|
return {
|
|
164
173
|
columnState,
|
|
165
174
|
data,
|
|
175
|
+
groupedData: groupedData.filter(Boolean),
|
|
166
176
|
Table
|
|
167
177
|
};
|
|
168
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGroupBy.js","names":["getTranslation","flattenAllFields","formatDate","renderTable","createSerializableValue","extractRelationshipDisplayValue","extractValueOrRelationshipID","handleGroupBy","clientCollectionConfig","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","fieldPermissions","query","req","select","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","find","f","name","populate","type","relationTo","Array","isArray","forEach","rel","config","collections","c","slug","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","undefined","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","relationshipConfig","date","String","pattern","dateFormat","option","options","opt","value","translated","label","serializableValue","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n SelectType,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { flattenAllFields } from 'payload'\n\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { renderTable } from '../../utilities/renderTable.js'\nimport { createSerializableValue } from './createSerializableValue.js'\nimport { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js'\nimport { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js'\n\nexport const handleGroupBy = async ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n query,\n req,\n select,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientCollectionConfig: ClientCollectionConfig\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n query?: ListQuery\n req: PayloadRequest\n select?: SelectType\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n // Set up population for relationships\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo = Array.isArray(groupByField.relationTo)\n ? groupByField.relationTo\n : [groupByField.relationTo]\n\n populate = {}\n relationTo.forEach((rel) => {\n const config = clientConfig.collections.find((c) => c.slug === rel)\n populate[rel] = { [config?.admin?.useAsTitle || 'id']: true }\n })\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\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,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n (distinct.values || []).map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n // Extract value or relationship ID for database query\n const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship)\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n select,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n // Extract heading\n let heading: string\n\n if (potentiallyPopulatedRelationship === null) {\n heading = req.i18n.t('general:noValue')\n } else if (groupByField?.type === 'relationship') {\n const relationshipConfig = Array.isArray(groupByField.relationTo)\n ? undefined\n : clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n heading = extractRelationshipDisplayValue(\n potentiallyPopulatedRelationship,\n clientConfig,\n relationshipConfig,\n )\n } else if (groupByField?.type === 'date') {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n } else if (groupByField?.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n } else if (groupByField?.type === 'select' || groupByField?.type === 'radio') {\n const option = groupByField.options?.find(\n (opt) => (typeof opt === 'string' ? opt : opt.value) === valueOrRelationshipID,\n )\n if (option && typeof option !== 'string') {\n const translated = getTranslation(option.label, req.i18n)\n heading = typeof translated === 'string' ? translated : String(valueOrRelationshipID)\n } else {\n heading = String(valueOrRelationshipID)\n }\n } else {\n heading = String(valueOrRelationshipID)\n }\n\n // Create serializable value for client\n const serializableValue = createSerializableValue(valueOrRelationshipID)\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue: serializableValue,\n heading: heading || req.i18n.t('general:noValue'),\n i18n: req.i18n,\n key: `table-${serializableValue}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[serializableValue] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"handleGroupBy.js","names":["getTranslation","flattenAllFields","formatDate","renderTable","createSerializableValue","extractRelationshipDisplayValue","extractValueOrRelationshipID","handleGroupBy","clientCollectionConfig","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","fieldPermissions","hierarchyParentFieldName","query","req","select","thumbnailFieldName","thumbnailPopulate","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","groupedData","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","find","f","name","populate","type","relationTo","Array","isArray","forEach","rel","config","collections","c","slug","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","undefined","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","relationshipConfig","date","String","pattern","dateFormat","option","options","opt","value","translated","label","serializableValue","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable","filter","Boolean"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n Column,\n ListQuery,\n ListViewGroup,\n PaginatedDocs,\n PayloadRequest,\n PopulateType,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n SelectType,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { flattenAllFields } from 'payload'\n\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { renderTable } from '../../utilities/renderTable.js'\nimport { createSerializableValue } from './createSerializableValue.js'\nimport { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js'\nimport { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js'\n\nexport const handleGroupBy = async ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n hierarchyParentFieldName,\n query,\n req,\n select,\n thumbnailFieldName,\n thumbnailPopulate,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientCollectionConfig: ClientCollectionConfig\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n hierarchyParentFieldName?: string\n query?: ListQuery\n req: PayloadRequest\n select?: SelectType\n thumbnailFieldName?: string\n thumbnailPopulate?: PopulateType\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n groupedData: ListViewGroup[]\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const groupedData: ListViewGroup[] = []\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n // Set up population for relationships\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo = Array.isArray(groupByField.relationTo)\n ? groupByField.relationTo\n : [groupByField.relationTo]\n\n populate = {}\n relationTo.forEach((rel) => {\n const config = clientConfig.collections.find((c) => c.slug === rel)\n populate[rel] = { [config?.admin?.useAsTitle || 'id']: true }\n })\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\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,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n (distinct.values || []).map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n // Extract value or relationship ID for database query\n const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship)\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: thumbnailFieldName ? 1 : 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n populate: thumbnailPopulate,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n select,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n // Extract heading\n let heading: string\n\n if (potentiallyPopulatedRelationship === null) {\n heading = req.i18n.t('general:noValue')\n } else if (groupByField?.type === 'relationship') {\n const relationshipConfig = Array.isArray(groupByField.relationTo)\n ? undefined\n : clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n heading = extractRelationshipDisplayValue(\n potentiallyPopulatedRelationship,\n clientConfig,\n relationshipConfig,\n )\n } else if (groupByField?.type === 'date') {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n } else if (groupByField?.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n } else if (groupByField?.type === 'select' || groupByField?.type === 'radio') {\n const option = groupByField.options?.find(\n (opt) => (typeof opt === 'string' ? opt : opt.value) === valueOrRelationshipID,\n )\n if (option && typeof option !== 'string') {\n const translated = getTranslation(option.label, req.i18n)\n heading = typeof translated === 'string' ? translated : String(valueOrRelationshipID)\n } else {\n heading = String(valueOrRelationshipID)\n }\n } else {\n heading = String(valueOrRelationshipID)\n }\n\n // Create serializable value for client\n const serializableValue = createSerializableValue(valueOrRelationshipID)\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue: serializableValue,\n heading: heading || req.i18n.t('general:noValue'),\n hierarchyParentFieldName,\n i18n: req.i18n,\n key: `table-${serializableValue}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n groupedData[i] = {\n data: groupData,\n heading: heading || req.i18n.t('general:noValue'),\n value: serializableValue,\n }\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n groupedData: groupedData.filter(Boolean),\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAyB,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAIzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAkC1D,OAAO,aAAa,CAAA;AAIpB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,qBAoczD"}
|
|
@@ -5,6 +5,7 @@ import { getTranslation } from '@payloadcms/translations';
|
|
|
5
5
|
import { formatAdminURL, formatFilesize } from 'payload/shared';
|
|
6
6
|
import React, { useEffect, useRef, useState } from 'react';
|
|
7
7
|
import { Button } from '../../elements/Button/index.js';
|
|
8
|
+
import { LayoutToggle } from '../../elements/LayoutToggle/index.js';
|
|
8
9
|
import { ListControls } from '../../elements/ListControls/index.js';
|
|
9
10
|
import { useListDrawerContext } from '../../elements/ListDrawer/Provider.js';
|
|
10
11
|
import { ListWhereBuilder } from '../../elements/ListWhereBuilder/index.js';
|
|
@@ -12,7 +13,6 @@ import { useModal } from '../../elements/Modal/index.js';
|
|
|
12
13
|
import { NoListResults } from '../../elements/NoListResults/index.js';
|
|
13
14
|
import { PageControls } from '../../elements/PageControls/index.js';
|
|
14
15
|
import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
|
|
15
|
-
import { SelectMany } from '../../elements/SelectMany/index.js';
|
|
16
16
|
import { useStepNav } from '../../elements/StepNav/index.js';
|
|
17
17
|
import { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js';
|
|
18
18
|
import { TableIdentityProvider } from '../../elements/Table/TableIdentity.js';
|
|
@@ -21,13 +21,18 @@ import { useControllableState } from '../../hooks/useControllableState.js';
|
|
|
21
21
|
import { useConfig } from '../../providers/Config/index.js';
|
|
22
22
|
import { DocumentSelectionProvider } from '../../providers/DocumentSelection/index.js';
|
|
23
23
|
import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
24
|
+
import { usePreferences } from '../../providers/Preferences/index.js';
|
|
25
|
+
import { useRouter } from '../../providers/RouterAdapter/index.js';
|
|
24
26
|
import { SelectionProvider } from '../../providers/Selection/index.js';
|
|
25
27
|
import { TableColumnsProvider } from '../../providers/TableColumns/index.js';
|
|
26
28
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
27
29
|
import { useWindowInfo } from '../../providers/WindowInfo/index.js';
|
|
28
30
|
import { ListSelection } from '../../views/List/ListSelection/index.js';
|
|
29
31
|
import { DocumentListSelection } from '../HierarchyList/DocumentListSelection/index.js';
|
|
32
|
+
import { getHierarchyListURL } from '../HierarchyList/getHierarchyListURL.js';
|
|
30
33
|
import { HierarchyTable } from '../HierarchyList/HierarchyTable/index.js';
|
|
34
|
+
import { DocumentGrid } from './DocumentGrid/index.js';
|
|
35
|
+
import { GroupedDocumentGrid } from './GroupedDocumentGrid/index.js';
|
|
31
36
|
import { CollectionListHeader } from './ListHeader/index.js';
|
|
32
37
|
import './index.css';
|
|
33
38
|
const baseClass = 'collection-list';
|
|
@@ -40,11 +45,15 @@ export function DefaultListView(props) {
|
|
|
40
45
|
BeforeListTable,
|
|
41
46
|
collectionSlug,
|
|
42
47
|
columnState,
|
|
48
|
+
currentHierarchyItem,
|
|
43
49
|
Description,
|
|
44
50
|
disableBulkDelete,
|
|
45
51
|
disableBulkEdit,
|
|
46
52
|
disableQueryPresets,
|
|
53
|
+
documentLayout,
|
|
54
|
+
documentURLs,
|
|
47
55
|
enableRowSelections,
|
|
56
|
+
groupedData,
|
|
48
57
|
hasCreatePermission: hasCreatePermissionFromProps,
|
|
49
58
|
hasDeletePermission,
|
|
50
59
|
hasTrashPermission,
|
|
@@ -60,12 +69,16 @@ export function DefaultListView(props) {
|
|
|
60
69
|
viewType
|
|
61
70
|
} = props;
|
|
62
71
|
const [Table] = useControllableState(InitialTable);
|
|
72
|
+
const [layout, setLayout] = useState(documentLayout ?? 'table');
|
|
63
73
|
const {
|
|
64
74
|
allowCreate,
|
|
65
75
|
createNewDrawerSlug,
|
|
66
|
-
isInDrawer
|
|
67
|
-
onBulkSelect
|
|
76
|
+
isInDrawer
|
|
68
77
|
} = useListDrawerContext();
|
|
78
|
+
const {
|
|
79
|
+
setPreference
|
|
80
|
+
} = usePreferences();
|
|
81
|
+
const router = useRouter();
|
|
69
82
|
const hasCreatePermission = allowCreate !== undefined ? allowCreate && hasCreatePermissionFromProps : hasCreatePermissionFromProps;
|
|
70
83
|
const {
|
|
71
84
|
config: {
|
|
@@ -87,6 +100,8 @@ export function DefaultListView(props) {
|
|
|
87
100
|
} = useListQuery();
|
|
88
101
|
const previousSearch = useRef(resolvedSearch || '');
|
|
89
102
|
const searchChangeResults = useRef(null);
|
|
103
|
+
const isDataGrouped = groupedData !== undefined;
|
|
104
|
+
const shouldRenderGrid = layout === 'grid' && !isInDrawer;
|
|
90
105
|
const hasWhereParam = useRef(Boolean(query?.where));
|
|
91
106
|
const [isWhereOpen, setIsWhereOpen] = useState(hasActiveFilters);
|
|
92
107
|
useEffect(() => {
|
|
@@ -103,6 +118,15 @@ export function DefaultListView(props) {
|
|
|
103
118
|
const collectionConfig = getEntityConfig({
|
|
104
119
|
collectionSlug
|
|
105
120
|
});
|
|
121
|
+
const handleLayoutChange = async nextLayout => {
|
|
122
|
+
const preferencesKey = `collection-${collectionSlug}`;
|
|
123
|
+
setLayout(nextLayout);
|
|
124
|
+
await setPreference(preferencesKey, preferences => ({
|
|
125
|
+
...(preferences ?? {}),
|
|
126
|
+
documentLayout: nextLayout
|
|
127
|
+
}));
|
|
128
|
+
router.refresh();
|
|
129
|
+
};
|
|
106
130
|
const {
|
|
107
131
|
labels,
|
|
108
132
|
upload
|
|
@@ -137,6 +161,7 @@ export function DefaultListView(props) {
|
|
|
137
161
|
return () => clearTimeout(timeout);
|
|
138
162
|
}, [data, i18n, isSearchSettled, labels.plural, labels.singular, resolvedGroupBy, resolvedSearch, searchInput]);
|
|
139
163
|
const collectionLabel = getTranslation(labels?.plural, i18n);
|
|
164
|
+
const hierarchyParentFieldName = !isInDrawer && viewType === 'list' && collectionConfig.hierarchy && typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy.parentFieldName ?? 'parent' : undefined;
|
|
140
165
|
const {
|
|
141
166
|
setStepNav
|
|
142
167
|
} = useStepNav();
|
|
@@ -161,7 +186,10 @@ export function DefaultListView(props) {
|
|
|
161
186
|
if (!isInDrawer) {
|
|
162
187
|
const baseLabel = {
|
|
163
188
|
label: collectionLabel,
|
|
164
|
-
url: hierarchyData
|
|
189
|
+
url: hierarchyData ? getHierarchyListURL({
|
|
190
|
+
adminRoute,
|
|
191
|
+
collectionSlug
|
|
192
|
+
}) : isTrashEnabled && viewType === 'trash' ? formatAdminURL({
|
|
165
193
|
adminRoute,
|
|
166
194
|
path: `/collections/${collectionSlug}`
|
|
167
195
|
}) : undefined
|
|
@@ -172,14 +200,15 @@ export function DefaultListView(props) {
|
|
|
172
200
|
let navItems = isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel];
|
|
173
201
|
// Add hierarchy breadcrumbs
|
|
174
202
|
if (hierarchyData?.breadcrumbs) {
|
|
175
|
-
const queryParam = hierarchyData.parentFieldName || 'parent';
|
|
176
203
|
const hierarchyBreadcrumbs = hierarchyData.breadcrumbs.map((crumb, index) => {
|
|
177
204
|
const isLast = index === hierarchyData.breadcrumbs.length - 1;
|
|
178
205
|
return {
|
|
179
206
|
label: crumb.title,
|
|
180
|
-
url: isLast ? undefined :
|
|
207
|
+
url: isLast ? undefined : getHierarchyListURL({
|
|
181
208
|
adminRoute,
|
|
182
|
-
|
|
209
|
+
collectionSlug,
|
|
210
|
+
parentFieldName: hierarchyData.parentFieldName,
|
|
211
|
+
parentID: crumb.id
|
|
183
212
|
})
|
|
184
213
|
};
|
|
185
214
|
});
|
|
@@ -202,6 +231,7 @@ export function DefaultListView(props) {
|
|
|
202
231
|
totalDocs: data?.totalDocs,
|
|
203
232
|
children: [BeforeList, /*#__PURE__*/_jsx(CollectionListHeader, {
|
|
204
233
|
collectionConfig: collectionConfig,
|
|
234
|
+
currentHierarchyItem: currentHierarchyItem,
|
|
205
235
|
Description: Description || collectionConfig?.admin?.description ? /*#__PURE__*/_jsx("div", {
|
|
206
236
|
className: `${baseClass}__sub-header`,
|
|
207
237
|
children: /*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
@@ -214,6 +244,7 @@ export function DefaultListView(props) {
|
|
|
214
244
|
}) : undefined,
|
|
215
245
|
disableBulkDelete: disableBulkDelete,
|
|
216
246
|
disableBulkEdit: disableBulkEdit,
|
|
247
|
+
enableRowSelections: enableRowSelections,
|
|
217
248
|
hasCreatePermission: hasCreatePermission,
|
|
218
249
|
hasDeletePermission: hasDeletePermission,
|
|
219
250
|
hasTrashPermission: hasTrashPermission,
|
|
@@ -223,17 +254,17 @@ export function DefaultListView(props) {
|
|
|
223
254
|
smallBreak: smallBreak,
|
|
224
255
|
viewType: viewType
|
|
225
256
|
}), /*#__PURE__*/_jsx(ListControls, {
|
|
226
|
-
beforeActions:
|
|
227
|
-
onClick: onBulkSelect
|
|
228
|
-
}, "select-many")] : [/*#__PURE__*/_jsx(SelectMany, {
|
|
229
|
-
onClick: onBulkSelect
|
|
230
|
-
}, "select-many")] : beforeActions,
|
|
257
|
+
beforeActions: beforeActions,
|
|
231
258
|
collectionConfig: collectionConfig,
|
|
232
259
|
collectionSlug: collectionSlug,
|
|
233
260
|
disableQueryPresets: collectionConfig?.enableQueryPresets !== true || disableQueryPresets,
|
|
234
261
|
hasCreatePermission: hasCreatePermission && viewType !== 'trash' && !isInDrawer,
|
|
235
262
|
hasDeletePermission: hasDeletePermission,
|
|
236
263
|
isWhereOpen: isWhereOpen,
|
|
264
|
+
layoutToggle: !hierarchyData && !isInDrawer ? /*#__PURE__*/_jsx(LayoutToggle, {
|
|
265
|
+
layout: layout,
|
|
266
|
+
onChange: handleLayoutChange
|
|
267
|
+
}) : undefined,
|
|
237
268
|
listMenuItems: listMenuItems,
|
|
238
269
|
newDocumentURL: newDocumentURL,
|
|
239
270
|
onWhereToggle: () => setIsWhereOpen(prev => !prev),
|
|
@@ -282,7 +313,25 @@ export function DefaultListView(props) {
|
|
|
282
313
|
disableBulkDelete: disableBulkDelete,
|
|
283
314
|
disableBulkEdit: disableBulkEdit
|
|
284
315
|
})]
|
|
285
|
-
}) : docs?.length > 0 ? /*#__PURE__*/_jsx(
|
|
316
|
+
}) : docs?.length > 0 ? shouldRenderGrid && isDataGrouped ? /*#__PURE__*/_jsx(GroupedDocumentGrid, {
|
|
317
|
+
collectionSlug: collectionSlug,
|
|
318
|
+
documentURLs: documentURLs,
|
|
319
|
+
enableRowSelections: enableRowSelections,
|
|
320
|
+
groups: groupedData,
|
|
321
|
+
hierarchyParentFieldName: hierarchyParentFieldName,
|
|
322
|
+
viewType: viewType
|
|
323
|
+
}) : shouldRenderGrid ? /*#__PURE__*/_jsx(DocumentGrid, {
|
|
324
|
+
adminRoute: adminRoute,
|
|
325
|
+
collectionLabel: collectionLabel,
|
|
326
|
+
collectionSlug: collectionSlug,
|
|
327
|
+
docs: docs,
|
|
328
|
+
documentURLs: documentURLs,
|
|
329
|
+
enableRowSelections: enableRowSelections,
|
|
330
|
+
hierarchyParentFieldName: hierarchyParentFieldName,
|
|
331
|
+
useAsThumbnail: collectionConfig.admin.useAsThumbnail,
|
|
332
|
+
useAsTitle: collectionConfig.admin.useAsTitle,
|
|
333
|
+
viewType: viewType
|
|
334
|
+
}) : /*#__PURE__*/_jsx(RelationshipProvider, {
|
|
286
335
|
children: Table
|
|
287
336
|
}) : null, docs?.length === 0 && (NoResults ?? /*#__PURE__*/_jsx(NoListResults, {
|
|
288
337
|
Actions: hasCreatePermission && newDocumentURL && viewType !== 'trash' ? [isInDrawer ? /*#__PURE__*/_jsx(Button, {
|
|
@@ -314,11 +363,7 @@ export function DefaultListView(props) {
|
|
|
314
363
|
showSelectAllAcrossPages: !isGroupingBy
|
|
315
364
|
}), /*#__PURE__*/_jsx("div", {
|
|
316
365
|
className: `${baseClass}__list-selection-actions`,
|
|
317
|
-
children:
|
|
318
|
-
onClick: onBulkSelect
|
|
319
|
-
}, "select-many")] : [/*#__PURE__*/_jsx(SelectMany, {
|
|
320
|
-
onClick: onBulkSelect
|
|
321
|
-
}, "select-many")] : beforeActions
|
|
366
|
+
children: beforeActions
|
|
322
367
|
})]
|
|
323
368
|
}) : null,
|
|
324
369
|
collectionConfig: collectionConfig,
|