@payloadcms/ui 4.0.0-internal.a7ca468 → 4.0.0-internal.af6aad0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.css +0 -4
- package/dist/elements/AddNewRelation/index.js +2 -2
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AppHeader/index.css +5 -0
- package/dist/elements/AppHeader/index.d.ts +1 -8
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +4 -13
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/Button/index.css +25 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -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/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +84 -62
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- 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/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +0 -30
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +379 -287
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -15
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
- 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/CreateNewButton/index.css +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -95
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +3 -34
- package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +4 -53
- package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +136 -99
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.css +2 -9
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js +6 -73
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -186
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +1 -21
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -29
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +8 -9
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +29 -47
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +3 -2
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +4 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +12 -18
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +1 -2
- package/dist/elements/Nav/context.d.ts +0 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +92 -67
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.css +47 -42
- package/dist/elements/Nav/index.d.ts +4 -0
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +16 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +29 -15
- package/dist/elements/Popup/PopupButtonList/index.css +33 -17
- package/dist/elements/Popup/index.css +6 -0
- package/dist/elements/Popup/index.d.ts +10 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +13 -6
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +5 -0
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +5 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +58 -0
- package/dist/elements/SegmentedControl/index.d.ts +19 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +104 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- package/dist/elements/SelectAll/index.d.ts.map +1 -1
- package/dist/elements/SelectAll/index.js +1 -2
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +1 -2
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarRow/index.css +1 -5
- package/dist/elements/SidebarToggle/index.css +3 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/StepNav/DropTarget/index.css +20 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
- package/dist/elements/StepNav/DropTarget/index.js +71 -0
- package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +147 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +6 -0
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -32
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +32 -2
- package/dist/elements/UserMenu/index.d.ts +1 -0
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +77 -51
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
- package/dist/elements/ViewModeToggle/index.d.ts +8 -0
- package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
- package/dist/elements/ViewModeToggle/index.js +29 -0
- package/dist/elements/ViewModeToggle/index.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +6 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +2 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +38 -10
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -0
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +22 -19
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +35 -7
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +134 -152
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +168 -155
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +24 -6
- 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 +24 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +44 -16
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +241 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +4 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/icons/CollapseLayers/index.css +5 -0
- package/dist/icons/CollapseLayers/index.d.ts +7 -0
- package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
- package/dist/icons/CollapseLayers/index.js +23 -0
- package/dist/icons/CollapseLayers/index.js.map +1 -0
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -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/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +5 -1
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
- package/dist/providers/FormErrorHandler/index.js.map +1 -1
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +53 -24
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +2 -0
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/providers/HierarchyDnd/index.css +51 -0
- package/dist/providers/HierarchyDnd/index.d.ts +21 -0
- package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/index.js +163 -0
- package/dist/providers/HierarchyDnd/index.js.map +1 -0
- package/dist/providers/HierarchyDnd/types.d.ts +56 -0
- package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/types.js +21 -0
- package/dist/providers/HierarchyDnd/types.js.map +1 -0
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.js +4 -4
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/Wrapper/index.css +2 -1
- package/dist/templates/Default/Wrapper/index.d.ts +2 -0
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +12 -6
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +3 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +19 -15
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +1 -0
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
- 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 +11 -10
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +103 -20
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +138 -122
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +6 -1
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.js +34 -3
- package/dist/views/List/handleHierarchy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +128 -18
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +5 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +27 -16
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +8 -2
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
|
@@ -13,6 +13,7 @@ import { useConfig } from '../../../providers/Config/index.js';
|
|
|
13
13
|
import { useDocumentSelection } from '../../../providers/DocumentSelection/index.js';
|
|
14
14
|
import { useRouteCache } from '../../../providers/RouteCache/index.js';
|
|
15
15
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
16
|
+
import { getRowKey, HierarchyCardGrid } from '../HierarchyCards/index.js';
|
|
16
17
|
import { ChildNameCell } from './ChildNameCell.js';
|
|
17
18
|
import { DateCell } from './DateCell.js';
|
|
18
19
|
import { RelatedNameCell } from './RelatedNameCell.js';
|
|
@@ -31,7 +32,9 @@ const CollectionCell = ({
|
|
|
31
32
|
children: row._collectionLabel
|
|
32
33
|
});
|
|
33
34
|
export function HierarchyTable({
|
|
35
|
+
ancestorIds,
|
|
34
36
|
baseFilter,
|
|
37
|
+
browseCollectionSlug,
|
|
35
38
|
childrenData,
|
|
36
39
|
collections,
|
|
37
40
|
collectionSlug,
|
|
@@ -43,7 +46,8 @@ export function HierarchyTable({
|
|
|
43
46
|
relatedBaseFilters,
|
|
44
47
|
relatedGroups,
|
|
45
48
|
search,
|
|
46
|
-
useAsTitle
|
|
49
|
+
useAsTitle,
|
|
50
|
+
viewMode = 'table'
|
|
47
51
|
}) {
|
|
48
52
|
const {
|
|
49
53
|
i18n,
|
|
@@ -55,6 +59,7 @@ export function HierarchyTable({
|
|
|
55
59
|
const {
|
|
56
60
|
config: {
|
|
57
61
|
routes: {
|
|
62
|
+
admin: adminRoute,
|
|
58
63
|
api: apiRoute
|
|
59
64
|
},
|
|
60
65
|
serverURL
|
|
@@ -93,6 +98,7 @@ export function HierarchyTable({
|
|
|
93
98
|
});
|
|
94
99
|
// Get selection functions from context
|
|
95
100
|
const {
|
|
101
|
+
clearAll,
|
|
96
102
|
isLocked,
|
|
97
103
|
isSelected,
|
|
98
104
|
toggleAllInCollection,
|
|
@@ -290,16 +296,31 @@ export function HierarchyTable({
|
|
|
290
296
|
const childrenLabel = useMemo(() => getTranslation(getEntityConfig({
|
|
291
297
|
collectionSlug
|
|
292
298
|
})?.labels?.plural, i18n) || hierarchyLabel, [collectionSlug, getEntityConfig, hierarchyLabel, i18n]);
|
|
299
|
+
// Singular form of the hierarchy's own collection label (e.g. "Folder", "Tag"), used to call out
|
|
300
|
+
// documents that aren't grouped under one.
|
|
301
|
+
const hierarchySingularLabel = useMemo(() => getTranslation(getEntityConfig({
|
|
302
|
+
collectionSlug
|
|
303
|
+
})?.labels?.singular, i18n) || hierarchyLabel, [collectionSlug, getEntityConfig, hierarchyLabel, i18n]);
|
|
293
304
|
// Build children data for table
|
|
294
|
-
const childTableData = useMemo(() =>
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
305
|
+
const childTableData = useMemo(() => {
|
|
306
|
+
// Drilling into a folder has to stay in the collection being browsed, and the route is spelled
|
|
307
|
+
// out rather than relying on the saved `listViewType` preference to redirect.
|
|
308
|
+
const browseSlug = browseCollectionSlug ?? collectionSlug;
|
|
309
|
+
const parentQueryParam = parentFieldName || 'parent';
|
|
310
|
+
return childDocs.map(doc => ({
|
|
311
|
+
...doc,
|
|
312
|
+
id: doc.id,
|
|
313
|
+
_allowedCollections: allowedCollectionsFieldName ? doc[allowedCollectionsFieldName] : undefined,
|
|
314
|
+
_browseHref: formatAdminURL({
|
|
315
|
+
adminRoute,
|
|
316
|
+
path: `/collections/${browseSlug}/hierarchy?${parentQueryParam}=${doc.id}`
|
|
317
|
+
}),
|
|
318
|
+
_collectionLabel: childrenLabel,
|
|
319
|
+
_collectionSlug: collectionSlug,
|
|
320
|
+
_hasChildren: Boolean(doc._hasChildren),
|
|
321
|
+
_hierarchyIcon: HierarchyIcon
|
|
322
|
+
}));
|
|
323
|
+
}, [HierarchyIcon, adminRoute, allowedCollectionsFieldName, browseCollectionSlug, childDocs, childrenLabel, collectionSlug, parentFieldName]);
|
|
303
324
|
const hasChildren = (childPaginationData.totalDocs || 0) > 0;
|
|
304
325
|
const hasRelated = relatedGroups.some(g_0 => relatedState[g_0.collectionSlug]?.totalDocs > 0);
|
|
305
326
|
const allGroups = useMemo(() => {
|
|
@@ -382,6 +403,70 @@ export function HierarchyTable({
|
|
|
382
403
|
}
|
|
383
404
|
return groups;
|
|
384
405
|
}, [childDocs, childLoading, childPaginationData, childrenLabel, childTableData, collectionSlug, getEntityConfig, handlePageChangeChildren, handlePageChangeRelated, hasChildren, i18n, relatedGroups, relatedState, toggleAllInCollection, toggleSelection]);
|
|
406
|
+
/**
|
|
407
|
+
* Grid mode puts folders and documents on one plane: a folders band, then a single documents band
|
|
408
|
+
* merging every related collection, so cross-collection selection and drag work as one gesture.
|
|
409
|
+
*/
|
|
410
|
+
const planeBands = useMemo(() => {
|
|
411
|
+
const folderGroup = allGroups.find(group_2 => group_2.isChildren);
|
|
412
|
+
const documentGroups = allGroups.filter(group_3 => !group_3.isChildren);
|
|
413
|
+
const documentRows = documentGroups.flatMap(group_4 => group_4.docs);
|
|
414
|
+
const bands = [];
|
|
415
|
+
if (folderGroup) {
|
|
416
|
+
bands.push({
|
|
417
|
+
isHierarchyGroup: true,
|
|
418
|
+
key: 'folders',
|
|
419
|
+
label: folderGroup.label,
|
|
420
|
+
rows: folderGroup.docs
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
if (documentRows.length > 0) {
|
|
424
|
+
const documentsLabel = documentGroups.length === 1 ? documentGroups[0].label : t('general:documents');
|
|
425
|
+
bands.push({
|
|
426
|
+
isHierarchyGroup: false,
|
|
427
|
+
key: 'documents',
|
|
428
|
+
label: documentsLabel,
|
|
429
|
+
rows: documentRows,
|
|
430
|
+
// Only the root of a hierarchy has documents that aren't inside any folder - inside a
|
|
431
|
+
// folder, the ungrouped documents there are just that folder's contents.
|
|
432
|
+
visibleLabel: parentId === null ? `${documentsLabel} not in a ${hierarchySingularLabel}` : undefined
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
return bands;
|
|
436
|
+
}, [allGroups, hierarchySingularLabel, parentId, t]);
|
|
437
|
+
/**
|
|
438
|
+
* A merged band spans collections, so selection is driven off each row's own collection rather
|
|
439
|
+
* than a per-group closure.
|
|
440
|
+
*/
|
|
441
|
+
const handlePlaneSelectionChange = useCallback(row_2 => toggleSelection({
|
|
442
|
+
id: row_2.id,
|
|
443
|
+
collectionSlug: row_2._collectionSlug,
|
|
444
|
+
metadata: {
|
|
445
|
+
allowedCollections: row_2._allowedCollections
|
|
446
|
+
}
|
|
447
|
+
}), [toggleSelection]);
|
|
448
|
+
/**
|
|
449
|
+
* The moved documents no longer belong to this folder, so the selection that referenced them is
|
|
450
|
+
* cleared and the route refetched.
|
|
451
|
+
*/
|
|
452
|
+
const handleDropMoveSuccess = useCallback(() => {
|
|
453
|
+
clearAll();
|
|
454
|
+
clearRouteCache();
|
|
455
|
+
}, [clearAll, clearRouteCache]);
|
|
456
|
+
const selectedKeys = useMemo(() => {
|
|
457
|
+
const keys = new Set();
|
|
458
|
+
for (const band of planeBands) {
|
|
459
|
+
for (const row_3 of band.rows) {
|
|
460
|
+
if (isSelected({
|
|
461
|
+
id: row_3.id,
|
|
462
|
+
collectionSlug: row_3._collectionSlug
|
|
463
|
+
})) {
|
|
464
|
+
keys.add(getRowKey(row_3));
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
return keys;
|
|
469
|
+
}, [isSelected, planeBands]);
|
|
385
470
|
// Column definitions
|
|
386
471
|
const columns = useMemo(() => [{
|
|
387
472
|
accessor: 'name',
|
|
@@ -412,36 +497,69 @@ export function HierarchyTable({
|
|
|
412
497
|
withMargin: true
|
|
413
498
|
});
|
|
414
499
|
}
|
|
500
|
+
if (viewMode === 'grid') {
|
|
501
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
502
|
+
className: baseClass,
|
|
503
|
+
children: [/*#__PURE__*/_jsx(HierarchyCardGrid, {
|
|
504
|
+
ancestorIds: ancestorIds,
|
|
505
|
+
bands: planeBands,
|
|
506
|
+
fillHeight: true,
|
|
507
|
+
getRowLockedUser: getRowLockedUser,
|
|
508
|
+
hierarchySlug: collectionSlug,
|
|
509
|
+
onMoveSuccess: handleDropMoveSuccess,
|
|
510
|
+
onSelectionChange: handlePlaneSelectionChange,
|
|
511
|
+
selectedKeys: selectedKeys
|
|
512
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
513
|
+
className: `${baseClass}__plane-pagination`,
|
|
514
|
+
children: allGroups.filter(group_5 => group_5.paginationData.hasNextPage || group_5.paginationData.hasPrevPage).map(group_6 => /*#__PURE__*/_jsxs("div", {
|
|
515
|
+
className: `${baseClass}__plane-pagination-group`,
|
|
516
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
517
|
+
className: `${baseClass}__plane-pagination-label`,
|
|
518
|
+
children: group_6.label
|
|
519
|
+
}), /*#__PURE__*/_jsx(SimplePagination, {
|
|
520
|
+
data: group_6.paginationData,
|
|
521
|
+
onChange: group_6.onPageChange
|
|
522
|
+
})]
|
|
523
|
+
}, group_6.slug))
|
|
524
|
+
})]
|
|
525
|
+
});
|
|
526
|
+
}
|
|
415
527
|
return /*#__PURE__*/_jsx("div", {
|
|
416
528
|
className: baseClass,
|
|
417
|
-
children: allGroups.map(
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
529
|
+
children: allGroups.map((group_7, groupIndex) => {
|
|
530
|
+
const selectedIds = new Set(group_7.docs.filter(row_4 => isSelected({
|
|
531
|
+
id: row_4.id,
|
|
532
|
+
collectionSlug: group_7.slug
|
|
533
|
+
})).map(row_5 => row_5.id));
|
|
534
|
+
// Only the final group can claim the leftover height below the sections; growing an
|
|
535
|
+
// earlier one would push the groups after it off-screen.
|
|
536
|
+
const isLastGroup = groupIndex === allGroups.length - 1;
|
|
537
|
+
return /*#__PURE__*/_jsxs(TableSection, {
|
|
538
|
+
children: [/*#__PURE__*/_jsx(TableSection.Header, {
|
|
539
|
+
heading: group_7.label,
|
|
540
|
+
children: /*#__PURE__*/_jsx(SimplePagination, {
|
|
541
|
+
data: group_7.paginationData,
|
|
542
|
+
onChange: group_7.onPageChange
|
|
543
|
+
})
|
|
544
|
+
}), /*#__PURE__*/_jsx(TableSection.Content, {
|
|
545
|
+
children: /*#__PURE__*/_jsx(SlotTable, {
|
|
546
|
+
collectionSlug: group_7.slug,
|
|
547
|
+
columns: columns,
|
|
548
|
+
data: group_7.docs,
|
|
549
|
+
enableCheckbox: true,
|
|
550
|
+
enableDragHandle: false,
|
|
551
|
+
enableHeader: true,
|
|
552
|
+
enableSelectAll: true,
|
|
553
|
+
getRowLockedUser: getRowLockedUser,
|
|
554
|
+
mergeCheckboxHeader: false,
|
|
555
|
+
onCheckboxChange: group_7.onCheckboxChange,
|
|
556
|
+
onSelectAllChange: group_7.onSelectAllChange,
|
|
557
|
+
parentId: parentId,
|
|
558
|
+
selectedIds: selectedIds
|
|
559
|
+
})
|
|
560
|
+
})]
|
|
561
|
+
}, group_7.slug);
|
|
562
|
+
})
|
|
445
563
|
});
|
|
446
564
|
}
|
|
447
565
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_LIST_LIMIT","formatAdminURL","qs","React","useCallback","useMemo","useState","CreateDocumentButton","NoListResults","SimplePagination","TableSection","useConfig","useDocumentSelection","useRouteCache","useTranslation","ChildNameCell","DateCell","RelatedNameCell","SlotTable","baseClass","NameCell","props","row","_hasChildren","undefined","_jsx","CollectionCell","_collectionLabel","HierarchyTable","baseFilter","childrenData","collections","collectionSlug","hasCreatePermission","HierarchyIcon","hierarchyLabel","parentFieldName","parentId","relatedBaseFilters","relatedGroups","search","useAsTitle","i18n","t","clearRouteCache","config","routes","api","apiRoute","serverURL","getEntityConfig","childDocs","setChildDocs","docs","childPaginationData","setChildPaginationData","hasNextPage","hasPrevPage","limit","page","pagingCounter","totalDocs","totalPages","childLoading","setChildLoading","relatedState","setRelatedState","initial","group","data","isLoading","isLocked","isSelected","toggleAllInCollection","toggleSelection","getRowLockedUser","locked","id","_collectionSlug","_userEditing","handlePageChangeChildren","parentCondition","equals","or","exists","searchCondition","like","where","queryString","stringify","addQueryPrefix","url","path","response","fetch","credentials","ok","Error","result","json","_error","handlePageChangeRelated","relatedSlug","state","find","g","prev","relationshipCondition","fieldName","in","conditions","hasMany","push","relatedConfig","relatedUseAsTitle","admin","relatedBaseFilter","allowedCollectionsFieldName","hierarchy","collectionSpecific","childrenLabel","labels","plural","childTableData","map","doc","_allowedCollections","Boolean","_hierarchyIcon","hasChildren","hasRelated","some","allGroups","groups","slug","isChildren","isHierarchyEnabled","label","onCheckboxChange","metadata","allowedCollections","onPageChange","onSelectAllChange","paginationData","relatedLabel","relatedTableData","columns","accessor","Cell","className","heading","canShowCreateButton","length","Actions","drawerSlug","onSave","description","title","withMargin","_jsxs","Header","onChange","Content","enableCheckbox","enableDragHandle","enableHeader","enableSelectAll","mergeCheckboxHeader","selectedIds","Set","filter"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_LIST_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport type { CollectionOption } from '../../../elements/CreateDocumentButton/index.js'\nimport type { HierarchyDocument } from '../../../elements/Hierarchy/Tree/types.js'\nimport type { SlotColumn } from './SlotTable.js'\nimport type { RelatedGroup, TableRow } from './types.js'\n\nimport { CreateDocumentButton } from '../../../elements/CreateDocumentButton/index.js'\nimport { NoListResults } from '../../../elements/NoListResults/index.js'\nimport { SimplePagination } from '../../../elements/Pagination/SimplePagination/index.js'\nimport { TableSection } from '../../../elements/TableSection/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { ChildNameCell } from './ChildNameCell.js'\nimport { DateCell } from './DateCell.js'\nimport { RelatedNameCell } from './RelatedNameCell.js'\nimport { SlotTable } from './SlotTable.js'\nimport { baseClass } from './types.js'\nimport './index.css'\n\n// Top-level cell components to avoid nested component eslint errors\nconst NameCell: SlotColumn<TableRow>['Cell'] = (props) =>\n props.row._hasChildren !== undefined ? (\n <ChildNameCell {...props} />\n ) : (\n <RelatedNameCell {...props} />\n )\n\nconst CollectionCell: SlotColumn<TableRow>['Cell'] = ({ row }) => (\n <span>{row._collectionLabel}</span>\n)\n\nexport type HierarchyTableProps = {\n /** Base filter applied to hierarchy collection queries (e.g., tenant filter) */\n baseFilter?: Where\n childrenData?: PaginatedDocs<HierarchyDocument>\n /** Collections available for creation (for empty state) */\n collections?: CollectionOption[]\n collectionSlug: string\n hasCreatePermission?: boolean\n /** Resolved hierarchy icon component */\n HierarchyIcon?: React.ReactNode\n hierarchyLabel: string\n parentFieldName?: string\n parentId: null | number | string\n /** Base filters for related collections (keyed by collection slug) */\n relatedBaseFilters?: Record<string, Where>\n relatedGroups: RelatedGroup[]\n search?: string\n useAsTitle: string\n}\n\nexport function HierarchyTable({\n baseFilter,\n childrenData,\n collections,\n collectionSlug,\n hasCreatePermission,\n HierarchyIcon,\n hierarchyLabel,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n search,\n useAsTitle,\n}: HierarchyTableProps) {\n const { i18n, t } = useTranslation()\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n // Children pagination state\n const [childDocs, setChildDocs] = useState(childrenData?.docs || [])\n const [childPaginationData, setChildPaginationData] = useState<Partial<PaginatedDocs>>({\n hasNextPage: childrenData?.hasNextPage || false,\n hasPrevPage: childrenData?.hasPrevPage || false,\n limit: childrenData?.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childrenData?.page || 1,\n pagingCounter: childrenData?.pagingCounter || 1,\n totalDocs: childrenData?.totalDocs || 0,\n totalPages: childrenData?.totalPages || 1,\n })\n const [childLoading, setChildLoading] = useState(false)\n\n // Related groups pagination state (per collection)\n const [relatedState, setRelatedState] = useState<\n Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n >\n >(() => {\n const initial: Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n > = {}\n for (const group of relatedGroups) {\n initial[group.collectionSlug] = {\n docs: group.data.docs,\n hasNextPage: group.data.hasNextPage,\n hasPrevPage: group.data.hasPrevPage || false,\n isLoading: false,\n limit: group.data.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: group.data.page || 1,\n pagingCounter: group.data.pagingCounter || 1,\n totalDocs: group.data.totalDocs,\n totalPages: group.data.totalPages || 1,\n }\n }\n return initial\n })\n\n // Get selection functions from context\n const { isLocked, isSelected, toggleAllInCollection, toggleSelection } = useDocumentSelection()\n\n // Get the user who is locking a row (for SlotTable to show lock icon instead of checkbox)\n const getRowLockedUser = useCallback(\n (row: TableRow) => {\n const locked = isLocked({ id: row.id, collectionSlug: row._collectionSlug })\n return locked ? row._userEditing : undefined\n },\n [isLocked],\n )\n\n // Page change for children\n const handlePageChangeChildren = useCallback(\n async (page: number) => {\n if (childLoading) {\n return\n }\n\n setChildLoading(true)\n\n try {\n const parentCondition = parentId\n ? { [parentFieldName]: { equals: parentId } }\n : {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n\n const searchCondition = search ? { [useAsTitle]: { like: search } } : undefined\n const where = combineWhereConstraints([parentCondition, searchCondition, baseFilter])\n\n const queryString = qs.stringify(\n { limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setChildDocs(result.docs)\n setChildPaginationData({\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n })\n } catch (_error) {\n // Silently fail\n } finally {\n setChildLoading(false)\n }\n },\n [\n apiRoute,\n baseFilter,\n childLoading,\n collectionSlug,\n parentFieldName,\n parentId,\n search,\n serverURL,\n useAsTitle,\n ],\n )\n\n // Page change for a related collection\n const handlePageChangeRelated = useCallback(\n async (relatedSlug: string, page: number) => {\n const state = relatedState[relatedSlug]\n if (!state || state.isLoading) {\n return\n }\n\n // Find the group to get field info\n const group = relatedGroups.find((g) => g.collectionSlug === relatedSlug)\n if (!group) {\n return\n }\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: true },\n }))\n\n try {\n // Build relationship condition based on whether we're at root or in a parent\n let relationshipCondition: Record<string, unknown>\n if (parentId) {\n // Nested level: find documents assigned to this hierarchy item\n // \"in\" operator works for both hasMany and single relationship fields\n relationshipCondition = { [group.fieldName]: { in: [parentId] } }\n } else {\n // Root level: find documents where hierarchy field doesn't exist, is null, or is empty array\n const conditions: Record<string, unknown>[] = [\n { [group.fieldName]: { exists: false } },\n { [group.fieldName]: { equals: null } },\n ]\n if (group.hasMany) {\n // hasMany fields store cleared values as empty arrays\n conditions.push({ [group.fieldName]: { equals: [] } })\n }\n relationshipCondition = { or: conditions }\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: relatedSlug })\n const relatedUseAsTitle = relatedConfig?.admin?.useAsTitle || 'id'\n\n const searchCondition = search ? { [relatedUseAsTitle]: { like: search } } : undefined\n const relatedBaseFilter = relatedBaseFilters?.[relatedSlug]\n const where = combineWhereConstraints([\n relationshipCondition,\n searchCondition,\n relatedBaseFilter,\n ])\n\n const queryString = qs.stringify(\n { limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${relatedSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: {\n docs: result.docs,\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n isLoading: false,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n },\n }))\n } catch (_error) {\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: false },\n }))\n }\n },\n [\n apiRoute,\n getEntityConfig,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n relatedState,\n search,\n serverURL,\n ],\n )\n\n // Get allowedCollections field name from hierarchy config\n const allowedCollectionsFieldName = useMemo(() => {\n const config = getEntityConfig({ collectionSlug })\n const hierarchy = config?.hierarchy\n\n if (hierarchy && typeof hierarchy === 'object' && hierarchy.collectionSpecific) {\n return hierarchy.collectionSpecific.fieldName\n }\n\n return undefined\n }, [collectionSlug, getEntityConfig])\n\n // Compute collection label for children (once)\n const childrenLabel = useMemo(\n () =>\n getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n) || hierarchyLabel,\n [collectionSlug, getEntityConfig, hierarchyLabel, i18n],\n )\n\n // Build children data for table\n const childTableData: TableRow[] = useMemo(\n () =>\n childDocs.map((doc) => ({\n ...doc,\n id: doc.id,\n _allowedCollections: allowedCollectionsFieldName\n ? (doc[allowedCollectionsFieldName] as string[] | undefined)\n : undefined,\n _collectionLabel: childrenLabel,\n _collectionSlug: collectionSlug,\n _hasChildren: Boolean(doc._hasChildren),\n _hierarchyIcon: HierarchyIcon,\n })),\n [HierarchyIcon, allowedCollectionsFieldName, childDocs, childrenLabel, collectionSlug],\n )\n\n const hasChildren = (childPaginationData.totalDocs || 0) > 0\n const hasRelated = relatedGroups.some((g) => relatedState[g.collectionSlug]?.totalDocs > 0)\n\n // Unified groups array\n type GroupState = {\n docs: TableRow[]\n isChildren: boolean\n isHierarchyEnabled: boolean\n isLoading: boolean\n label: string\n onCheckboxChange: (row: TableRow) => void\n onPageChange: (page: number) => void\n onSelectAllChange: () => void\n paginationData: PaginatedDocs\n slug: string\n }\n\n const allGroups: GroupState[] = useMemo(() => {\n const groups: GroupState[] = []\n\n // Children group\n if (hasChildren) {\n groups.push({\n slug: collectionSlug,\n docs: childTableData,\n isChildren: true,\n isHierarchyEnabled: true,\n isLoading: childLoading,\n label: childrenLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug,\n metadata: {\n allowedCollections: row._allowedCollections as string[] | undefined,\n },\n }),\n onPageChange: (page: number) => void handlePageChangeChildren(page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug }),\n paginationData: {\n docs: childDocs,\n hasNextPage: childPaginationData.hasNextPage || false,\n hasPrevPage: childPaginationData.hasPrevPage || false,\n limit: childPaginationData.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childPaginationData.page || 1,\n pagingCounter: childPaginationData.pagingCounter || 1,\n totalDocs: childPaginationData.totalDocs || 0,\n totalPages: childPaginationData.totalPages || 1,\n },\n })\n }\n\n // Related groups\n for (const group of relatedGroups) {\n const state = relatedState[group.collectionSlug]\n if (!state || state.totalDocs === 0) {\n continue\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: group.collectionSlug })\n const relatedLabel = getTranslation(relatedConfig?.labels?.plural, i18n) || group.label\n\n const relatedTableData: TableRow[] = state.docs.map((doc: Record<string, unknown>) => ({\n ...doc,\n id: doc.id as number | string,\n _collectionLabel: relatedLabel,\n _collectionSlug: group.collectionSlug,\n }))\n\n groups.push({\n slug: group.collectionSlug,\n docs: relatedTableData,\n isChildren: false,\n isHierarchyEnabled: false,\n isLoading: state.isLoading,\n label: relatedLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug: group.collectionSlug,\n metadata: {}, // Related items don't have allowedCollections - their collection slug is the constraint\n }),\n onPageChange: (page: number) => void handlePageChangeRelated(group.collectionSlug, page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug: group.collectionSlug }),\n paginationData: {\n docs: state.docs || [],\n hasNextPage: state.hasNextPage || false,\n hasPrevPage: state.hasPrevPage || false,\n limit: state.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: state.page || 1,\n pagingCounter: state.pagingCounter || 1,\n totalDocs: state.totalDocs || 0,\n totalPages: state.totalPages || 1,\n },\n })\n }\n\n return groups\n }, [\n childDocs,\n childLoading,\n childPaginationData,\n childrenLabel,\n childTableData,\n collectionSlug,\n getEntityConfig,\n handlePageChangeChildren,\n handlePageChangeRelated,\n hasChildren,\n i18n,\n relatedGroups,\n relatedState,\n toggleAllInCollection,\n toggleSelection,\n ])\n\n // Column definitions\n const columns: SlotColumn<TableRow>[] = useMemo(\n () => [\n {\n accessor: 'name',\n Cell: NameCell,\n className: `${baseClass}__col-name`,\n heading: t('general:name'),\n },\n {\n accessor: 'collection',\n Cell: CollectionCell,\n className: `${baseClass}__col-collection`,\n heading: t('general:collection'),\n },\n {\n accessor: 'updatedAt',\n Cell: DateCell,\n className: `${baseClass}__col-date`,\n heading: t('general:updatedAt'),\n },\n ],\n [t],\n )\n\n if (!hasChildren && !hasRelated) {\n const canShowCreateButton = hasCreatePermission && collections && collections.length > 0\n\n return (\n <NoListResults\n Actions={\n canShowCreateButton\n ? [\n <CreateDocumentButton\n collections={collections}\n drawerSlug={`hierarchy-create-empty-${collectionSlug}`}\n key=\"create\"\n onSave={clearRouteCache}\n />,\n ]\n : undefined\n }\n description={t('general:noResultsDescription')}\n title={t('general:noResultsFound')}\n withMargin\n />\n )\n }\n\n return (\n <div className={baseClass}>\n {allGroups.map((group) => (\n <TableSection key={group.slug}>\n <TableSection.Header heading={group.label}>\n <SimplePagination data={group.paginationData} onChange={group.onPageChange} />\n </TableSection.Header>\n <TableSection.Content>\n <SlotTable\n collectionSlug={group.slug}\n columns={columns}\n data={group.docs}\n enableCheckbox={true}\n enableDragHandle={false}\n enableHeader={true}\n enableSelectAll={true}\n getRowLockedUser={getRowLockedUser}\n mergeCheckboxHeader={false}\n onCheckboxChange={group.onCheckboxChange}\n onSelectAllChange={group.onSelectAllChange}\n parentId={parentId}\n selectedIds={\n new Set(\n group.docs\n .filter((row) => isSelected({ id: row.id, collectionSlug: group.slug }))\n .map((row) => row.id),\n )\n }\n />\n </TableSection.Content>\n </TableSection>\n ))}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","combineWhereConstraints","DEFAULT_HIERARCHY_LIST_LIMIT","formatAdminURL","qs","React","useCallback","useMemo","useState","CreateDocumentButton","NoListResults","SimplePagination","TableSection","useConfig","useDocumentSelection","useRouteCache","useTranslation","getRowKey","HierarchyCardGrid","ChildNameCell","DateCell","RelatedNameCell","SlotTable","baseClass","NameCell","props","row","_hasChildren","undefined","_jsx","CollectionCell","_collectionLabel","HierarchyTable","ancestorIds","baseFilter","browseCollectionSlug","childrenData","collections","collectionSlug","hasCreatePermission","HierarchyIcon","hierarchyLabel","parentFieldName","parentId","relatedBaseFilters","relatedGroups","search","useAsTitle","viewMode","i18n","t","clearRouteCache","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","childDocs","setChildDocs","docs","childPaginationData","setChildPaginationData","hasNextPage","hasPrevPage","limit","page","pagingCounter","totalDocs","totalPages","childLoading","setChildLoading","relatedState","setRelatedState","initial","group","data","isLoading","clearAll","isLocked","isSelected","toggleAllInCollection","toggleSelection","getRowLockedUser","locked","id","_collectionSlug","_userEditing","handlePageChangeChildren","parentCondition","equals","or","exists","searchCondition","like","where","queryString","stringify","addQueryPrefix","url","path","response","fetch","credentials","ok","Error","result","json","_error","handlePageChangeRelated","relatedSlug","state","find","g","prev","relationshipCondition","fieldName","in","conditions","hasMany","push","relatedConfig","relatedUseAsTitle","relatedBaseFilter","allowedCollectionsFieldName","hierarchy","collectionSpecific","childrenLabel","labels","plural","hierarchySingularLabel","singular","childTableData","browseSlug","parentQueryParam","map","doc","_allowedCollections","_browseHref","Boolean","_hierarchyIcon","hasChildren","hasRelated","some","allGroups","groups","slug","isChildren","isHierarchyEnabled","label","onCheckboxChange","metadata","allowedCollections","onPageChange","onSelectAllChange","paginationData","relatedLabel","relatedTableData","planeBands","folderGroup","documentGroups","filter","documentRows","flatMap","bands","isHierarchyGroup","key","rows","length","documentsLabel","visibleLabel","handlePlaneSelectionChange","handleDropMoveSuccess","selectedKeys","keys","Set","band","add","columns","accessor","Cell","className","heading","canShowCreateButton","Actions","drawerSlug","onSave","description","title","withMargin","_jsxs","fillHeight","hierarchySlug","onMoveSuccess","onSelectionChange","onChange","groupIndex","selectedIds","isLastGroup","Header","Content","enableCheckbox","enableDragHandle","enableHeader","enableSelectAll","mergeCheckboxHeader"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n combineWhereConstraints,\n DEFAULT_HIERARCHY_LIST_LIMIT,\n formatAdminURL,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo, useState } from 'react'\n\nimport type { CollectionOption } from '../../../elements/CreateDocumentButton/index.js'\nimport type { HierarchyDocument } from '../../../elements/Hierarchy/Tree/types.js'\nimport type { PlaneBand } from '../HierarchyCards/index.js'\nimport type { SlotColumn } from './SlotTable.js'\nimport type { RelatedGroup, TableRow } from './types.js'\n\nimport { CreateDocumentButton } from '../../../elements/CreateDocumentButton/index.js'\nimport { NoListResults } from '../../../elements/NoListResults/index.js'\nimport { SimplePagination } from '../../../elements/Pagination/SimplePagination/index.js'\nimport { TableSection } from '../../../elements/TableSection/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentSelection } from '../../../providers/DocumentSelection/index.js'\nimport { useRouteCache } from '../../../providers/RouteCache/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { getRowKey, HierarchyCardGrid } from '../HierarchyCards/index.js'\nimport { ChildNameCell } from './ChildNameCell.js'\nimport { DateCell } from './DateCell.js'\nimport { RelatedNameCell } from './RelatedNameCell.js'\nimport { SlotTable } from './SlotTable.js'\nimport { baseClass } from './types.js'\nimport './index.css'\n\n// Top-level cell components to avoid nested component eslint errors\nconst NameCell: SlotColumn<TableRow>['Cell'] = (props) =>\n props.row._hasChildren !== undefined ? (\n <ChildNameCell {...props} />\n ) : (\n <RelatedNameCell {...props} />\n )\n\nconst CollectionCell: SlotColumn<TableRow>['Cell'] = ({ row }) => (\n <span>{row._collectionLabel}</span>\n)\n\nexport type HierarchyTableProps = {\n /**\n * Ids of the folders between the root and the folder currently open, so a folder can't be dropped\n * into its own subtree.\n */\n ancestorIds?: (number | string)[]\n /** Base filter applied to hierarchy collection queries (e.g., tenant filter) */\n baseFilter?: Where\n /**\n * Collection whose hierarchy view folder links should stay in. Differs from `collectionSlug` when\n * browsing one related collection by folder. Defaults to `collectionSlug`.\n */\n browseCollectionSlug?: string\n childrenData?: PaginatedDocs<HierarchyDocument>\n /** Collections available for creation (for empty state) */\n collections?: CollectionOption[]\n collectionSlug: string\n hasCreatePermission?: boolean\n /** Resolved hierarchy icon component */\n HierarchyIcon?: React.ReactNode\n hierarchyLabel: string\n parentFieldName?: string\n parentId: null | number | string\n /** Base filters for related collections (keyed by collection slug) */\n relatedBaseFilters?: Record<string, Where>\n relatedGroups: RelatedGroup[]\n search?: string\n useAsTitle: string\n /** Renders each group as a grid of cards instead of a table. Defaults to 'table'. */\n viewMode?: 'grid' | 'table'\n}\n\nexport function HierarchyTable({\n ancestorIds,\n baseFilter,\n browseCollectionSlug,\n childrenData,\n collections,\n collectionSlug,\n hasCreatePermission,\n HierarchyIcon,\n hierarchyLabel,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n search,\n useAsTitle,\n viewMode = 'table',\n}: HierarchyTableProps) {\n const { i18n, t } = useTranslation()\n const { clearRouteCache } = useRouteCache()\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n // Children pagination state\n const [childDocs, setChildDocs] = useState(childrenData?.docs || [])\n const [childPaginationData, setChildPaginationData] = useState<Partial<PaginatedDocs>>({\n hasNextPage: childrenData?.hasNextPage || false,\n hasPrevPage: childrenData?.hasPrevPage || false,\n limit: childrenData?.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childrenData?.page || 1,\n pagingCounter: childrenData?.pagingCounter || 1,\n totalDocs: childrenData?.totalDocs || 0,\n totalPages: childrenData?.totalPages || 1,\n })\n const [childLoading, setChildLoading] = useState(false)\n\n // Related groups pagination state (per collection)\n const [relatedState, setRelatedState] = useState<\n Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n >\n >(() => {\n const initial: Record<\n string,\n {\n isLoading: boolean\n } & Partial<PaginatedDocs>\n > = {}\n for (const group of relatedGroups) {\n initial[group.collectionSlug] = {\n docs: group.data.docs,\n hasNextPage: group.data.hasNextPage,\n hasPrevPage: group.data.hasPrevPage || false,\n isLoading: false,\n limit: group.data.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: group.data.page || 1,\n pagingCounter: group.data.pagingCounter || 1,\n totalDocs: group.data.totalDocs,\n totalPages: group.data.totalPages || 1,\n }\n }\n return initial\n })\n\n // Get selection functions from context\n const { clearAll, isLocked, isSelected, toggleAllInCollection, toggleSelection } =\n useDocumentSelection()\n\n // Get the user who is locking a row (for SlotTable to show lock icon instead of checkbox)\n const getRowLockedUser = useCallback(\n (row: TableRow) => {\n const locked = isLocked({ id: row.id, collectionSlug: row._collectionSlug })\n return locked ? row._userEditing : undefined\n },\n [isLocked],\n )\n\n // Page change for children\n const handlePageChangeChildren = useCallback(\n async (page: number) => {\n if (childLoading) {\n return\n }\n\n setChildLoading(true)\n\n try {\n const parentCondition = parentId\n ? { [parentFieldName]: { equals: parentId } }\n : {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n\n const searchCondition = search ? { [useAsTitle]: { like: search } } : undefined\n const where = combineWhereConstraints([parentCondition, searchCondition, baseFilter])\n\n const queryString = qs.stringify(\n { limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setChildDocs(result.docs)\n setChildPaginationData({\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n })\n } catch (_error) {\n // Silently fail\n } finally {\n setChildLoading(false)\n }\n },\n [\n apiRoute,\n baseFilter,\n childLoading,\n collectionSlug,\n parentFieldName,\n parentId,\n search,\n serverURL,\n useAsTitle,\n ],\n )\n\n // Page change for a related collection\n const handlePageChangeRelated = useCallback(\n async (relatedSlug: string, page: number) => {\n const state = relatedState[relatedSlug]\n if (!state || state.isLoading) {\n return\n }\n\n // Find the group to get field info\n const group = relatedGroups.find((g) => g.collectionSlug === relatedSlug)\n if (!group) {\n return\n }\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: true },\n }))\n\n try {\n // Build relationship condition based on whether we're at root or in a parent\n let relationshipCondition: Record<string, unknown>\n if (parentId) {\n // Nested level: find documents assigned to this hierarchy item\n // \"in\" operator works for both hasMany and single relationship fields\n relationshipCondition = { [group.fieldName]: { in: [parentId] } }\n } else {\n // Root level: find documents where hierarchy field doesn't exist, is null, or is empty array\n const conditions: Record<string, unknown>[] = [\n { [group.fieldName]: { exists: false } },\n { [group.fieldName]: { equals: null } },\n ]\n if (group.hasMany) {\n // hasMany fields store cleared values as empty arrays\n conditions.push({ [group.fieldName]: { equals: [] } })\n }\n relationshipCondition = { or: conditions }\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: relatedSlug })\n const relatedUseAsTitle = relatedConfig?.admin?.useAsTitle || 'id'\n\n const searchCondition = search ? { [relatedUseAsTitle]: { like: search } } : undefined\n const relatedBaseFilter = relatedBaseFilters?.[relatedSlug]\n const where = combineWhereConstraints([\n relationshipCondition,\n searchCondition,\n relatedBaseFilter,\n ])\n\n const queryString = qs.stringify(\n { limit: DEFAULT_HIERARCHY_LIST_LIMIT, page, where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute,\n path: `/${relatedSlug}${queryString}`,\n serverURL,\n })\n\n const response = await fetch(url, { credentials: 'include' })\n\n if (!response.ok) {\n throw new Error('Failed to load page')\n }\n\n const result: PaginatedDocs = await response.json()\n\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: {\n docs: result.docs,\n hasNextPage: result.hasNextPage,\n hasPrevPage: result.hasPrevPage,\n isLoading: false,\n limit: result.limit,\n page: result.page,\n pagingCounter: result.pagingCounter,\n totalDocs: result.totalDocs,\n totalPages: result.totalPages,\n },\n }))\n } catch (_error) {\n setRelatedState((prev) => ({\n ...prev,\n [relatedSlug]: { ...prev[relatedSlug], isLoading: false },\n }))\n }\n },\n [\n apiRoute,\n getEntityConfig,\n parentFieldName,\n parentId,\n relatedBaseFilters,\n relatedGroups,\n relatedState,\n search,\n serverURL,\n ],\n )\n\n // Get allowedCollections field name from hierarchy config\n const allowedCollectionsFieldName = useMemo(() => {\n const config = getEntityConfig({ collectionSlug })\n const hierarchy = config?.hierarchy\n\n if (hierarchy && typeof hierarchy === 'object' && hierarchy.collectionSpecific) {\n return hierarchy.collectionSpecific.fieldName\n }\n\n return undefined\n }, [collectionSlug, getEntityConfig])\n\n // Compute collection label for children (once)\n const childrenLabel = useMemo(\n () =>\n getTranslation(getEntityConfig({ collectionSlug })?.labels?.plural, i18n) || hierarchyLabel,\n [collectionSlug, getEntityConfig, hierarchyLabel, i18n],\n )\n\n // Singular form of the hierarchy's own collection label (e.g. \"Folder\", \"Tag\"), used to call out\n // documents that aren't grouped under one.\n const hierarchySingularLabel = useMemo(\n () =>\n getTranslation(getEntityConfig({ collectionSlug })?.labels?.singular, i18n) || hierarchyLabel,\n [collectionSlug, getEntityConfig, hierarchyLabel, i18n],\n )\n\n // Build children data for table\n const childTableData: TableRow[] = useMemo(() => {\n // Drilling into a folder has to stay in the collection being browsed, and the route is spelled\n // out rather than relying on the saved `listViewType` preference to redirect.\n const browseSlug = browseCollectionSlug ?? collectionSlug\n const parentQueryParam = parentFieldName || 'parent'\n\n return childDocs.map((doc) => ({\n ...doc,\n id: doc.id,\n _allowedCollections: allowedCollectionsFieldName\n ? (doc[allowedCollectionsFieldName] as string[] | undefined)\n : undefined,\n _browseHref: formatAdminURL({\n adminRoute,\n path: `/collections/${browseSlug}/hierarchy?${parentQueryParam}=${doc.id}`,\n }),\n _collectionLabel: childrenLabel,\n _collectionSlug: collectionSlug,\n _hasChildren: Boolean(doc._hasChildren),\n _hierarchyIcon: HierarchyIcon,\n }))\n }, [\n HierarchyIcon,\n adminRoute,\n allowedCollectionsFieldName,\n browseCollectionSlug,\n childDocs,\n childrenLabel,\n collectionSlug,\n parentFieldName,\n ])\n\n const hasChildren = (childPaginationData.totalDocs || 0) > 0\n const hasRelated = relatedGroups.some((g) => relatedState[g.collectionSlug]?.totalDocs > 0)\n\n // Unified groups array\n type GroupState = {\n docs: TableRow[]\n isChildren: boolean\n isHierarchyEnabled: boolean\n isLoading: boolean\n label: string\n onCheckboxChange: (row: TableRow) => void\n onPageChange: (page: number) => void\n onSelectAllChange: () => void\n paginationData: PaginatedDocs\n slug: string\n }\n\n const allGroups: GroupState[] = useMemo(() => {\n const groups: GroupState[] = []\n\n // Children group\n if (hasChildren) {\n groups.push({\n slug: collectionSlug,\n docs: childTableData,\n isChildren: true,\n isHierarchyEnabled: true,\n isLoading: childLoading,\n label: childrenLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug,\n metadata: {\n allowedCollections: row._allowedCollections as string[] | undefined,\n },\n }),\n onPageChange: (page: number) => void handlePageChangeChildren(page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug }),\n paginationData: {\n docs: childDocs,\n hasNextPage: childPaginationData.hasNextPage || false,\n hasPrevPage: childPaginationData.hasPrevPage || false,\n limit: childPaginationData.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: childPaginationData.page || 1,\n pagingCounter: childPaginationData.pagingCounter || 1,\n totalDocs: childPaginationData.totalDocs || 0,\n totalPages: childPaginationData.totalPages || 1,\n },\n })\n }\n\n // Related groups\n for (const group of relatedGroups) {\n const state = relatedState[group.collectionSlug]\n if (!state || state.totalDocs === 0) {\n continue\n }\n\n const relatedConfig = getEntityConfig({ collectionSlug: group.collectionSlug })\n const relatedLabel = getTranslation(relatedConfig?.labels?.plural, i18n) || group.label\n\n const relatedTableData: TableRow[] = state.docs.map((doc: Record<string, unknown>) => ({\n ...doc,\n id: doc.id as number | string,\n _collectionLabel: relatedLabel,\n _collectionSlug: group.collectionSlug,\n }))\n\n groups.push({\n slug: group.collectionSlug,\n docs: relatedTableData,\n isChildren: false,\n isHierarchyEnabled: false,\n isLoading: state.isLoading,\n label: relatedLabel,\n onCheckboxChange: (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug: group.collectionSlug,\n metadata: {}, // Related items don't have allowedCollections - their collection slug is the constraint\n }),\n onPageChange: (page: number) => void handlePageChangeRelated(group.collectionSlug, page),\n onSelectAllChange: () => toggleAllInCollection({ collectionSlug: group.collectionSlug }),\n paginationData: {\n docs: state.docs || [],\n hasNextPage: state.hasNextPage || false,\n hasPrevPage: state.hasPrevPage || false,\n limit: state.limit || DEFAULT_HIERARCHY_LIST_LIMIT,\n page: state.page || 1,\n pagingCounter: state.pagingCounter || 1,\n totalDocs: state.totalDocs || 0,\n totalPages: state.totalPages || 1,\n },\n })\n }\n\n return groups\n }, [\n childDocs,\n childLoading,\n childPaginationData,\n childrenLabel,\n childTableData,\n collectionSlug,\n getEntityConfig,\n handlePageChangeChildren,\n handlePageChangeRelated,\n hasChildren,\n i18n,\n relatedGroups,\n relatedState,\n toggleAllInCollection,\n toggleSelection,\n ])\n\n /**\n * Grid mode puts folders and documents on one plane: a folders band, then a single documents band\n * merging every related collection, so cross-collection selection and drag work as one gesture.\n */\n const planeBands: PlaneBand[] = useMemo(() => {\n const folderGroup = allGroups.find((group) => group.isChildren)\n const documentGroups = allGroups.filter((group) => !group.isChildren)\n const documentRows = documentGroups.flatMap((group) => group.docs)\n\n const bands: PlaneBand[] = []\n\n if (folderGroup) {\n bands.push({\n isHierarchyGroup: true,\n key: 'folders',\n label: folderGroup.label,\n rows: folderGroup.docs,\n })\n }\n\n if (documentRows.length > 0) {\n const documentsLabel =\n documentGroups.length === 1 ? documentGroups[0].label : t('general:documents')\n\n bands.push({\n isHierarchyGroup: false,\n key: 'documents',\n label: documentsLabel,\n rows: documentRows,\n // Only the root of a hierarchy has documents that aren't inside any folder - inside a\n // folder, the ungrouped documents there are just that folder's contents.\n visibleLabel:\n parentId === null ? `${documentsLabel} not in a ${hierarchySingularLabel}` : undefined,\n })\n }\n\n return bands\n }, [allGroups, hierarchySingularLabel, parentId, t])\n\n /**\n * A merged band spans collections, so selection is driven off each row's own collection rather\n * than a per-group closure.\n */\n const handlePlaneSelectionChange = useCallback(\n (row: TableRow) =>\n toggleSelection({\n id: row.id,\n collectionSlug: row._collectionSlug,\n metadata: {\n allowedCollections: row._allowedCollections as string[] | undefined,\n },\n }),\n [toggleSelection],\n )\n\n /**\n * The moved documents no longer belong to this folder, so the selection that referenced them is\n * cleared and the route refetched.\n */\n const handleDropMoveSuccess = useCallback(() => {\n clearAll()\n clearRouteCache()\n }, [clearAll, clearRouteCache])\n\n const selectedKeys = useMemo(() => {\n const keys = new Set<string>()\n\n for (const band of planeBands) {\n for (const row of band.rows) {\n if (isSelected({ id: row.id, collectionSlug: row._collectionSlug })) {\n keys.add(getRowKey(row))\n }\n }\n }\n\n return keys\n }, [isSelected, planeBands])\n\n // Column definitions\n const columns: SlotColumn<TableRow>[] = useMemo(\n () => [\n {\n accessor: 'name',\n Cell: NameCell,\n className: `${baseClass}__col-name`,\n heading: t('general:name'),\n },\n {\n accessor: 'collection',\n Cell: CollectionCell,\n className: `${baseClass}__col-collection`,\n heading: t('general:collection'),\n },\n {\n accessor: 'updatedAt',\n Cell: DateCell,\n className: `${baseClass}__col-date`,\n heading: t('general:updatedAt'),\n },\n ],\n [t],\n )\n\n if (!hasChildren && !hasRelated) {\n const canShowCreateButton = hasCreatePermission && collections && collections.length > 0\n\n return (\n <NoListResults\n Actions={\n canShowCreateButton\n ? [\n <CreateDocumentButton\n collections={collections}\n drawerSlug={`hierarchy-create-empty-${collectionSlug}`}\n key=\"create\"\n onSave={clearRouteCache}\n />,\n ]\n : undefined\n }\n description={t('general:noResultsDescription')}\n title={t('general:noResultsFound')}\n withMargin\n />\n )\n }\n\n if (viewMode === 'grid') {\n return (\n <div className={baseClass}>\n <HierarchyCardGrid\n ancestorIds={ancestorIds}\n bands={planeBands}\n fillHeight\n getRowLockedUser={getRowLockedUser}\n hierarchySlug={collectionSlug}\n onMoveSuccess={handleDropMoveSuccess}\n onSelectionChange={handlePlaneSelectionChange}\n selectedKeys={selectedKeys}\n />\n {/*\n Each collection paginates on its own, so the merged documents band can surface more than\n one control. They only appear once a group actually has more than a page.\n\n Each is named, because the grid above merges every collection into one band: an unlabelled\n \"1-25 of 30\" would read as a count of the whole grid when it only ever describes its own\n collection. The table mode gets this for free from its per-collection section headings.\n */}\n <div className={`${baseClass}__plane-pagination`}>\n {allGroups\n .filter((group) => group.paginationData.hasNextPage || group.paginationData.hasPrevPage)\n .map((group) => (\n <div className={`${baseClass}__plane-pagination-group`} key={group.slug}>\n <span className={`${baseClass}__plane-pagination-label`}>{group.label}</span>\n <SimplePagination data={group.paginationData} onChange={group.onPageChange} />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n return (\n <div className={baseClass}>\n {allGroups.map((group, groupIndex) => {\n const selectedIds = new Set(\n group.docs\n .filter((row) => isSelected({ id: row.id, collectionSlug: group.slug }))\n .map((row) => row.id),\n )\n\n // Only the final group can claim the leftover height below the sections; growing an\n // earlier one would push the groups after it off-screen.\n const isLastGroup = groupIndex === allGroups.length - 1\n\n return (\n <TableSection key={group.slug}>\n <TableSection.Header heading={group.label}>\n <SimplePagination data={group.paginationData} onChange={group.onPageChange} />\n </TableSection.Header>\n <TableSection.Content>\n <SlotTable\n collectionSlug={group.slug}\n columns={columns}\n data={group.docs}\n enableCheckbox={true}\n enableDragHandle={false}\n enableHeader={true}\n enableSelectAll={true}\n getRowLockedUser={getRowLockedUser}\n mergeCheckboxHeader={false}\n onCheckboxChange={group.onCheckboxChange}\n onSelectAllChange={group.onSelectAllChange}\n parentId={parentId}\n selectedIds={selectedIds}\n />\n </TableSection.Content>\n </TableSection>\n )\n })}\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SACEC,uBAAuB,EACvBC,4BAA4B,EAC5BC,cAAc,QACT;AACP,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAQtD,SAASC,oBAAoB,QAAQ;AACrC,SAASC,aAAa,QAAQ;AAC9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,YAAY,QAAQ;AAC7B,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,iBAAiB,QAAQ;AAC7C,SAASC,aAAa,QAAQ;AAC9B,SAASC,QAAQ,QAAQ;AACzB,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP;AACA,MAAMC,QAAA,GAA0CC,KAAA,IAC9CA,KAAA,CAAMC,GAAG,CAACC,YAAY,KAAKC,SAAA,gBACzBC,IAAA,CAACV,aAAA;EAAe,GAAGM;kBAEnBI,IAAA,CAACR,eAAA;EAAiB,GAAGI;;AAGzB,MAAMK,cAAA,GAA+CA,CAAC;EAAEJ;AAAG,CAAE,kBAC3DG,IAAA,CAAC;YAAMH,GAAA,CAAIK;;AAmCb,OAAO,SAASC,eAAe;EAC7BC,WAAW;EACXC,UAAU;EACVC,oBAAoB;EACpBC,YAAY;EACZC,WAAW;EACXC,cAAc;EACdC,mBAAmB;EACnBC,aAAa;EACbC,cAAc;EACdC,eAAe;EACfC,QAAQ;EACRC,kBAAkB;EAClBC,aAAa;EACbC,MAAM;EACNC,UAAU;EACVC,QAAA,GAAW;AAAO,CACE;EACpB,MAAM;IAAEC,IAAI;IAAEC;EAAC,CAAE,GAAGlC,cAAA;EACpB,MAAM;IAAEmC;EAAe,CAAE,GAAGpC,aAAA;EAC5B,MAAM;IACJqC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MAC5CC;IAAS,CACV;IACDC;EAAe,CAChB,GAAG9C,SAAA;EAEJ;EACA,MAAM,CAAC+C,SAAA,EAAWC,YAAA,CAAa,GAAGrD,QAAA,CAAS4B,YAAA,EAAc0B,IAAA,IAAQ,EAAE;EACnE,MAAM,CAACC,mBAAA,EAAqBC,sBAAA,CAAuB,GAAGxD,QAAA,CAAiC;IACrFyD,WAAA,EAAa7B,YAAA,EAAc6B,WAAA,IAAe;IAC1CC,WAAA,EAAa9B,YAAA,EAAc8B,WAAA,IAAe;IAC1CC,KAAA,EAAO/B,YAAA,EAAc+B,KAAA,IAASjE,4BAAA;IAC9BkE,IAAA,EAAMhC,YAAA,EAAcgC,IAAA,IAAQ;IAC5BC,aAAA,EAAejC,YAAA,EAAciC,aAAA,IAAiB;IAC9CC,SAAA,EAAWlC,YAAA,EAAckC,SAAA,IAAa;IACtCC,UAAA,EAAYnC,YAAA,EAAcmC,UAAA,IAAc;EAC1C;EACA,MAAM,CAACC,YAAA,EAAcC,eAAA,CAAgB,GAAGjE,QAAA,CAAS;EAEjD;EACA,MAAM,CAACkE,YAAA,EAAcC,eAAA,CAAgB,GAAGnE,QAAA,CAOtC;IACA,MAAMoE,OAAA,GAKF,CAAC;IACL,KAAK,MAAMC,KAAA,IAAShC,aAAA,EAAe;MACjC+B,OAAO,CAACC,KAAA,CAAMvC,cAAc,CAAC,GAAG;QAC9BwB,IAAA,EAAMe,KAAA,CAAMC,IAAI,CAAChB,IAAI;QACrBG,WAAA,EAAaY,KAAA,CAAMC,IAAI,CAACb,WAAW;QACnCC,WAAA,EAAaW,KAAA,CAAMC,IAAI,CAACZ,WAAW,IAAI;QACvCa,SAAA,EAAW;QACXZ,KAAA,EAAOU,KAAA,CAAMC,IAAI,CAACX,KAAK,IAAIjE,4BAAA;QAC3BkE,IAAA,EAAMS,KAAA,CAAMC,IAAI,CAACV,IAAI,IAAI;QACzBC,aAAA,EAAeQ,KAAA,CAAMC,IAAI,CAACT,aAAa,IAAI;QAC3CC,SAAA,EAAWO,KAAA,CAAMC,IAAI,CAACR,SAAS;QAC/BC,UAAA,EAAYM,KAAA,CAAMC,IAAI,CAACP,UAAU,IAAI;MACvC;IACF;IACA,OAAOK,OAAA;EACT;EAEA;EACA,MAAM;IAAEI,QAAQ;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,qBAAqB;IAAEC;EAAe,CAAE,GAC9EtE,oBAAA;EAEF;EACA,MAAMuE,gBAAA,GAAmB/E,WAAA,CACtBoB,GAAA;IACC,MAAM4D,MAAA,GAASL,QAAA,CAAS;MAAEM,EAAA,EAAI7D,GAAA,CAAI6D,EAAE;MAAEjD,cAAA,EAAgBZ,GAAA,CAAI8D;IAAgB;IAC1E,OAAOF,MAAA,GAAS5D,GAAA,CAAI+D,YAAY,GAAG7D,SAAA;EACrC,GACA,CAACqD,QAAA,CAAS;EAGZ;EACA,MAAMS,wBAAA,GAA2BpF,WAAA,CAC/B,MAAO8D,IAAA;IACL,IAAII,YAAA,EAAc;MAChB;IACF;IAEAC,eAAA,CAAgB;IAEhB,IAAI;MACF,MAAMkB,eAAA,GAAkBhD,QAAA,GACpB;QAAE,CAACD,eAAA,GAAkB;UAAEkD,MAAA,EAAQjD;QAAS;MAAE,IAC1C;QACEkD,EAAA,EAAI,CACF;UAAE,CAACnD,eAAA,GAAkB;YAAEoD,MAAA,EAAQ;UAAM;QAAE,GACvC;UAAE,CAACpD,eAAA,GAAkB;YAAEkD,MAAA,EAAQ;UAAK;QAAE;MAE1C;MAEJ,MAAMG,eAAA,GAAkBjD,MAAA,GAAS;QAAE,CAACC,UAAA,GAAa;UAAEiD,IAAA,EAAMlD;QAAO;MAAE,IAAIlB,SAAA;MACtE,MAAMqE,KAAA,GAAQhG,uBAAA,CAAwB,CAAC0F,eAAA,EAAiBI,eAAA,EAAiB7D,UAAA,CAAW;MAEpF,MAAMgE,WAAA,GAAc9F,EAAA,CAAG+F,SAAS,CAC9B;QAAEhC,KAAA,EAAOjE,4BAAA;QAA8BkE,IAAA;QAAM6B;MAAM,GACnD;QAAEG,cAAA,EAAgB;MAAK;MAEzB,MAAMC,GAAA,GAAMlG,cAAA,CAAe;QACzBsD,QAAA;QACA6C,IAAA,EAAM,IAAIhE,cAAA,GAAiB4D,WAAA,EAAa;QACxCxC;MACF;MAEA,MAAM6C,QAAA,GAAW,MAAMC,KAAA,CAAMH,GAAA,EAAK;QAAEI,WAAA,EAAa;MAAU;MAE3D,IAAI,CAACF,QAAA,CAASG,EAAE,EAAE;QAChB,MAAM,IAAIC,KAAA,CAAM;MAClB;MAEA,MAAMC,MAAA,GAAwB,MAAML,QAAA,CAASM,IAAI;MAEjDhD,YAAA,CAAa+C,MAAA,CAAO9C,IAAI;MACxBE,sBAAA,CAAuB;QACrBC,WAAA,EAAa2C,MAAA,CAAO3C,WAAW;QAC/BC,WAAA,EAAa0C,MAAA,CAAO1C,WAAW;QAC/BC,KAAA,EAAOyC,MAAA,CAAOzC,KAAK;QACnBC,IAAA,EAAMwC,MAAA,CAAOxC,IAAI;QACjBC,aAAA,EAAeuC,MAAA,CAAOvC,aAAa;QACnCC,SAAA,EAAWsC,MAAA,CAAOtC,SAAS;QAC3BC,UAAA,EAAYqC,MAAA,CAAOrC;MACrB;IACF,EAAE,OAAOuC,MAAA,EAAQ;MACf;IAAA,CACF,SAAU;MACRrC,eAAA,CAAgB;IAClB;EACF,GACA,CACEhB,QAAA,EACAvB,UAAA,EACAsC,YAAA,EACAlC,cAAA,EACAI,eAAA,EACAC,QAAA,EACAG,MAAA,EACAY,SAAA,EACAX,UAAA,CACD;EAGH;EACA,MAAMgE,uBAAA,GAA0BzG,WAAA,CAC9B,OAAO0G,WAAA,EAAqB5C,MAAA;IAC1B,MAAM6C,KAAA,GAAQvC,YAAY,CAACsC,WAAA,CAAY;IACvC,IAAI,CAACC,KAAA,IAASA,KAAA,CAAMlC,SAAS,EAAE;MAC7B;IACF;IAEA;IACA,MAAMF,OAAA,GAAQhC,aAAA,CAAcqE,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAE7E,cAAc,KAAK0E,WAAA;IAC7D,IAAI,CAACnC,OAAA,EAAO;MACV;IACF;IAEAF,eAAA,CAAiByC,IAAA,KAAU;MACzB,GAAGA,IAAI;MACP,CAACJ,WAAA,GAAc;QAAE,GAAGI,IAAI,CAACJ,WAAA,CAAY;QAAEjC,SAAA,EAAW;MAAK;IACzD;IAEA,IAAI;MACF;MACA,IAAIsC,qBAAA;MACJ,IAAI1E,QAAA,EAAU;QACZ;QACA;QACA0E,qBAAA,GAAwB;UAAE,CAACxC,OAAA,CAAMyC,SAAS,GAAG;YAAEC,EAAA,EAAI,CAAC5E,QAAA;UAAU;QAAE;MAClE,OAAO;QACL;QACA,MAAM6E,UAAA,GAAwC,CAC5C;UAAE,CAAC3C,OAAA,CAAMyC,SAAS,GAAG;YAAExB,MAAA,EAAQ;UAAM;QAAE,GACvC;UAAE,CAACjB,OAAA,CAAMyC,SAAS,GAAG;YAAE1B,MAAA,EAAQ;UAAK;QAAE,EACvC;QACD,IAAIf,OAAA,CAAM4C,OAAO,EAAE;UACjB;UACAD,UAAA,CAAWE,IAAI,CAAC;YAAE,CAAC7C,OAAA,CAAMyC,SAAS,GAAG;cAAE1B,MAAA,EAAQ;YAAG;UAAE;QACtD;QACAyB,qBAAA,GAAwB;UAAExB,EAAA,EAAI2B;QAAW;MAC3C;MAEA,MAAMG,aAAA,GAAgBhE,eAAA,CAAgB;QAAErB,cAAA,EAAgB0E;MAAY;MACpE,MAAMY,iBAAA,GAAoBD,aAAA,EAAerE,KAAA,EAAOP,UAAA,IAAc;MAE9D,MAAMgD,iBAAA,GAAkBjD,MAAA,GAAS;QAAE,CAAC8E,iBAAA,GAAoB;UAAE5B,IAAA,EAAMlD;QAAO;MAAE,IAAIlB,SAAA;MAC7E,MAAMiG,iBAAA,GAAoBjF,kBAAA,GAAqBoE,WAAA,CAAY;MAC3D,MAAMf,OAAA,GAAQhG,uBAAA,CAAwB,CACpCoH,qBAAA,EACAtB,iBAAA,EACA8B,iBAAA,CACD;MAED,MAAM3B,aAAA,GAAc9F,EAAA,CAAG+F,SAAS,CAC9B;QAAEhC,KAAA,EAAOjE,4BAAA;QAA8BkE,IAAA,EAAAA,MAAA;QAAM6B,KAAA,EAAAA;MAAM,GACnD;QAAEG,cAAA,EAAgB;MAAK;MAEzB,MAAMC,KAAA,GAAMlG,cAAA,CAAe;QACzBsD,QAAA;QACA6C,IAAA,EAAM,IAAIU,WAAA,GAAcd,aAAA,EAAa;QACrCxC;MACF;MAEA,MAAM6C,UAAA,GAAW,MAAMC,KAAA,CAAMH,KAAA,EAAK;QAAEI,WAAA,EAAa;MAAU;MAE3D,IAAI,CAACF,UAAA,CAASG,EAAE,EAAE;QAChB,MAAM,IAAIC,KAAA,CAAM;MAClB;MAEA,MAAMC,QAAA,GAAwB,MAAML,UAAA,CAASM,IAAI;MAEjDlC,eAAA,CAAiByC,MAAA,KAAU;QACzB,GAAGA,MAAI;QACP,CAACJ,WAAA,GAAc;UACblD,IAAA,EAAM8C,QAAA,CAAO9C,IAAI;UACjBG,WAAA,EAAa2C,QAAA,CAAO3C,WAAW;UAC/BC,WAAA,EAAa0C,QAAA,CAAO1C,WAAW;UAC/Ba,SAAA,EAAW;UACXZ,KAAA,EAAOyC,QAAA,CAAOzC,KAAK;UACnBC,IAAA,EAAMwC,QAAA,CAAOxC,IAAI;UACjBC,aAAA,EAAeuC,QAAA,CAAOvC,aAAa;UACnCC,SAAA,EAAWsC,QAAA,CAAOtC,SAAS;UAC3BC,UAAA,EAAYqC,QAAA,CAAOrC;QACrB;MACF;IACF,EAAE,OAAOuC,QAAA,EAAQ;MACfnC,eAAA,CAAiByC,MAAA,KAAU;QACzB,GAAGA,MAAI;QACP,CAACJ,WAAA,GAAc;UAAE,GAAGI,MAAI,CAACJ,WAAA,CAAY;UAAEjC,SAAA,EAAW;QAAM;MAC1D;IACF;EACF,GACA,CACEtB,QAAA,EACAE,eAAA,EACAjB,eAAA,EACAC,QAAA,EACAC,kBAAA,EACAC,aAAA,EACA6B,YAAA,EACA5B,MAAA,EACAY,SAAA,CACD;EAGH;EACA,MAAMoE,2BAAA,GAA8BvH,OAAA,CAAQ;IAC1C,MAAM6C,MAAA,GAASO,eAAA,CAAgB;MAAErB;IAAe;IAChD,MAAMyF,SAAA,GAAY3E,MAAA,EAAQ2E,SAAA;IAE1B,IAAIA,SAAA,IAAa,OAAOA,SAAA,KAAc,YAAYA,SAAA,CAAUC,kBAAkB,EAAE;MAC9E,OAAOD,SAAA,CAAUC,kBAAkB,CAACV,SAAS;IAC/C;IAEA,OAAO1F,SAAA;EACT,GAAG,CAACU,cAAA,EAAgBqB,eAAA,CAAgB;EAEpC;EACA,MAAMsE,aAAA,GAAgB1H,OAAA,CACpB,MACEP,cAAA,CAAe2D,eAAA,CAAgB;IAAErB;EAAe,IAAI4F,MAAA,EAAQC,MAAA,EAAQlF,IAAA,KAASR,cAAA,EAC/E,CAACH,cAAA,EAAgBqB,eAAA,EAAiBlB,cAAA,EAAgBQ,IAAA,CAAK;EAGzD;EACA;EACA,MAAMmF,sBAAA,GAAyB7H,OAAA,CAC7B,MACEP,cAAA,CAAe2D,eAAA,CAAgB;IAAErB;EAAe,IAAI4F,MAAA,EAAQG,QAAA,EAAUpF,IAAA,KAASR,cAAA,EACjF,CAACH,cAAA,EAAgBqB,eAAA,EAAiBlB,cAAA,EAAgBQ,IAAA,CAAK;EAGzD;EACA,MAAMqF,cAAA,GAA6B/H,OAAA,CAAQ;IACzC;IACA;IACA,MAAMgI,UAAA,GAAapG,oBAAA,IAAwBG,cAAA;IAC3C,MAAMkG,gBAAA,GAAmB9F,eAAA,IAAmB;IAE5C,OAAOkB,SAAA,CAAU6E,GAAG,CAAEC,GAAA,KAAS;MAC7B,GAAGA,GAAG;MACNnD,EAAA,EAAImD,GAAA,CAAInD,EAAE;MACVoD,mBAAA,EAAqBb,2BAAA,GAChBY,GAAG,CAACZ,2BAAA,CAA4B,GACjClG,SAAA;MACJgH,WAAA,EAAazI,cAAA,CAAe;QAC1BoD,UAAA;QACA+C,IAAA,EAAM,gBAAgBiC,UAAA,cAAwBC,gBAAA,IAAoBE,GAAA,CAAInD,EAAE;MAC1E;MACAxD,gBAAA,EAAkBkG,aAAA;MAClBzC,eAAA,EAAiBlD,cAAA;MACjBX,YAAA,EAAckH,OAAA,CAAQH,GAAA,CAAI/G,YAAY;MACtCmH,cAAA,EAAgBtG;IAClB;EACF,GAAG,CACDA,aAAA,EACAe,UAAA,EACAuE,2BAAA,EACA3F,oBAAA,EACAyB,SAAA,EACAqE,aAAA,EACA3F,cAAA,EACAI,eAAA,CACD;EAED,MAAMqG,WAAA,GAAc,CAAChF,mBAAA,CAAoBO,SAAS,IAAI,KAAK;EAC3D,MAAM0E,UAAA,GAAanG,aAAA,CAAcoG,IAAI,CAAE9B,GAAA,IAAMzC,YAAY,CAACyC,GAAA,CAAE7E,cAAc,CAAC,EAAEgC,SAAA,GAAY;EAgBzF,MAAM4E,SAAA,GAA0B3I,OAAA,CAAQ;IACtC,MAAM4I,MAAA,GAAuB,EAAE;IAE/B;IACA,IAAIJ,WAAA,EAAa;MACfI,MAAA,CAAOzB,IAAI,CAAC;QACV0B,IAAA,EAAM9G,cAAA;QACNwB,IAAA,EAAMwE,cAAA;QACNe,UAAA,EAAY;QACZC,kBAAA,EAAoB;QACpBvE,SAAA,EAAWP,YAAA;QACX+E,KAAA,EAAOtB,aAAA;QACPuB,gBAAA,EAAmB9H,KAAA,IACjB0D,eAAA,CAAgB;UACdG,EAAA,EAAI7D,KAAA,CAAI6D,EAAE;UACVjD,cAAA;UACAmH,QAAA,EAAU;YACRC,kBAAA,EAAoBhI,KAAA,CAAIiH;UAC1B;QACF;QACFgB,YAAA,EAAevF,MAAA,IAAiB,KAAKsB,wBAAA,CAAyBtB,MAAA;QAC9DwF,iBAAA,EAAmBA,CAAA,KAAMzE,qBAAA,CAAsB;UAAE7C;QAAe;QAChEuH,cAAA,EAAgB;UACd/F,IAAA,EAAMF,SAAA;UACNK,WAAA,EAAaF,mBAAA,CAAoBE,WAAW,IAAI;UAChDC,WAAA,EAAaH,mBAAA,CAAoBG,WAAW,IAAI;UAChDC,KAAA,EAAOJ,mBAAA,CAAoBI,KAAK,IAAIjE,4BAAA;UACpCkE,IAAA,EAAML,mBAAA,CAAoBK,IAAI,IAAI;UAClCC,aAAA,EAAeN,mBAAA,CAAoBM,aAAa,IAAI;UACpDC,SAAA,EAAWP,mBAAA,CAAoBO,SAAS,IAAI;UAC5CC,UAAA,EAAYR,mBAAA,CAAoBQ,UAAU,IAAI;QAChD;MACF;IACF;IAEA;IACA,KAAK,MAAMM,OAAA,IAAShC,aAAA,EAAe;MACjC,MAAMoE,OAAA,GAAQvC,YAAY,CAACG,OAAA,CAAMvC,cAAc,CAAC;MAChD,IAAI,CAAC2E,OAAA,IAASA,OAAA,CAAM3C,SAAS,KAAK,GAAG;QACnC;MACF;MAEA,MAAMqD,eAAA,GAAgBhE,eAAA,CAAgB;QAAErB,cAAA,EAAgBuC,OAAA,CAAMvC;MAAe;MAC7E,MAAMwH,YAAA,GAAe9J,cAAA,CAAe2H,eAAA,EAAeO,MAAA,EAAQC,MAAA,EAAQlF,IAAA,KAAS4B,OAAA,CAAM0E,KAAK;MAEvF,MAAMQ,gBAAA,GAA+B9C,OAAA,CAAMnD,IAAI,CAAC2E,GAAG,CAAEC,KAAA,KAAkC;QACrF,GAAGA,KAAG;QACNnD,EAAA,EAAImD,KAAA,CAAInD,EAAE;QACVxD,gBAAA,EAAkB+H,YAAA;QAClBtE,eAAA,EAAiBX,OAAA,CAAMvC;MACzB;MAEA6G,MAAA,CAAOzB,IAAI,CAAC;QACV0B,IAAA,EAAMvE,OAAA,CAAMvC,cAAc;QAC1BwB,IAAA,EAAMiG,gBAAA;QACNV,UAAA,EAAY;QACZC,kBAAA,EAAoB;QACpBvE,SAAA,EAAWkC,OAAA,CAAMlC,SAAS;QAC1BwE,KAAA,EAAOO,YAAA;QACPN,gBAAA,EAAmB9H,KAAA,IACjB0D,eAAA,CAAgB;UACdG,EAAA,EAAI7D,KAAA,CAAI6D,EAAE;UACVjD,cAAA,EAAgBuC,OAAA,CAAMvC,cAAc;UACpCmH,QAAA,EAAU,CAAC;QACb;QACFE,YAAA,EAAevF,MAAA,IAAiB,KAAK2C,uBAAA,CAAwBlC,OAAA,CAAMvC,cAAc,EAAE8B,MAAA;QACnFwF,iBAAA,EAAmBA,CAAA,KAAMzE,qBAAA,CAAsB;UAAE7C,cAAA,EAAgBuC,OAAA,CAAMvC;QAAe;QACtFuH,cAAA,EAAgB;UACd/F,IAAA,EAAMmD,OAAA,CAAMnD,IAAI,IAAI,EAAE;UACtBG,WAAA,EAAagD,OAAA,CAAMhD,WAAW,IAAI;UAClCC,WAAA,EAAa+C,OAAA,CAAM/C,WAAW,IAAI;UAClCC,KAAA,EAAO8C,OAAA,CAAM9C,KAAK,IAAIjE,4BAAA;UACtBkE,IAAA,EAAM6C,OAAA,CAAM7C,IAAI,IAAI;UACpBC,aAAA,EAAe4C,OAAA,CAAM5C,aAAa,IAAI;UACtCC,SAAA,EAAW2C,OAAA,CAAM3C,SAAS,IAAI;UAC9BC,UAAA,EAAY0C,OAAA,CAAM1C,UAAU,IAAI;QAClC;MACF;IACF;IAEA,OAAO4E,MAAA;EACT,GAAG,CACDvF,SAAA,EACAY,YAAA,EACAT,mBAAA,EACAkE,aAAA,EACAK,cAAA,EACAhG,cAAA,EACAqB,eAAA,EACA+B,wBAAA,EACAqB,uBAAA,EACAgC,WAAA,EACA9F,IAAA,EACAJ,aAAA,EACA6B,YAAA,EACAS,qBAAA,EACAC,eAAA,CACD;EAED;;;;EAIA,MAAM4E,UAAA,GAA0BzJ,OAAA,CAAQ;IACtC,MAAM0J,WAAA,GAAcf,SAAA,CAAUhC,IAAI,CAAErC,OAAA,IAAUA,OAAA,CAAMwE,UAAU;IAC9D,MAAMa,cAAA,GAAiBhB,SAAA,CAAUiB,MAAM,CAAEtF,OAAA,IAAU,CAACA,OAAA,CAAMwE,UAAU;IACpE,MAAMe,YAAA,GAAeF,cAAA,CAAeG,OAAO,CAAExF,OAAA,IAAUA,OAAA,CAAMf,IAAI;IAEjE,MAAMwG,KAAA,GAAqB,EAAE;IAE7B,IAAIL,WAAA,EAAa;MACfK,KAAA,CAAM5C,IAAI,CAAC;QACT6C,gBAAA,EAAkB;QAClBC,GAAA,EAAK;QACLjB,KAAA,EAAOU,WAAA,CAAYV,KAAK;QACxBkB,IAAA,EAAMR,WAAA,CAAYnG;MACpB;IACF;IAEA,IAAIsG,YAAA,CAAaM,MAAM,GAAG,GAAG;MAC3B,MAAMC,cAAA,GACJT,cAAA,CAAeQ,MAAM,KAAK,IAAIR,cAAc,CAAC,EAAE,CAACX,KAAK,GAAGrG,CAAA,CAAE;MAE5DoH,KAAA,CAAM5C,IAAI,CAAC;QACT6C,gBAAA,EAAkB;QAClBC,GAAA,EAAK;QACLjB,KAAA,EAAOoB,cAAA;QACPF,IAAA,EAAML,YAAA;QACN;QACA;QACAQ,YAAA,EACEjI,QAAA,KAAa,OAAO,GAAGgI,cAAA,aAA2BvC,sBAAA,EAAwB,GAAGxG;MACjF;IACF;IAEA,OAAO0I,KAAA;EACT,GAAG,CAACpB,SAAA,EAAWd,sBAAA,EAAwBzF,QAAA,EAAUO,CAAA,CAAE;EAEnD;;;;EAIA,MAAM2H,0BAAA,GAA6BvK,WAAA,CAChCoB,KAAA,IACC0D,eAAA,CAAgB;IACdG,EAAA,EAAI7D,KAAA,CAAI6D,EAAE;IACVjD,cAAA,EAAgBZ,KAAA,CAAI8D,eAAe;IACnCiE,QAAA,EAAU;MACRC,kBAAA,EAAoBhI,KAAA,CAAIiH;IAC1B;EACF,IACF,CAACvD,eAAA,CAAgB;EAGnB;;;;EAIA,MAAM0F,qBAAA,GAAwBxK,WAAA,CAAY;IACxC0E,QAAA;IACA7B,eAAA;EACF,GAAG,CAAC6B,QAAA,EAAU7B,eAAA,CAAgB;EAE9B,MAAM4H,YAAA,GAAexK,OAAA,CAAQ;IAC3B,MAAMyK,IAAA,GAAO,IAAIC,GAAA;IAEjB,KAAK,MAAMC,IAAA,IAAQlB,UAAA,EAAY;MAC7B,KAAK,MAAMtI,KAAA,IAAOwJ,IAAA,CAAKT,IAAI,EAAE;QAC3B,IAAIvF,UAAA,CAAW;UAAEK,EAAA,EAAI7D,KAAA,CAAI6D,EAAE;UAAEjD,cAAA,EAAgBZ,KAAA,CAAI8D;QAAgB,IAAI;UACnEwF,IAAA,CAAKG,GAAG,CAAClK,SAAA,CAAUS,KAAA;QACrB;MACF;IACF;IAEA,OAAOsJ,IAAA;EACT,GAAG,CAAC9F,UAAA,EAAY8E,UAAA,CAAW;EAE3B;EACA,MAAMoB,OAAA,GAAkC7K,OAAA,CACtC,MAAM,CACJ;IACE8K,QAAA,EAAU;IACVC,IAAA,EAAM9J,QAAA;IACN+J,SAAA,EAAW,GAAGhK,SAAA,YAAqB;IACnCiK,OAAA,EAAStI,CAAA,CAAE;EACb,GACA;IACEmI,QAAA,EAAU;IACVC,IAAA,EAAMxJ,cAAA;IACNyJ,SAAA,EAAW,GAAGhK,SAAA,kBAA2B;IACzCiK,OAAA,EAAStI,CAAA,CAAE;EACb,GACA;IACEmI,QAAA,EAAU;IACVC,IAAA,EAAMlK,QAAA;IACNmK,SAAA,EAAW,GAAGhK,SAAA,YAAqB;IACnCiK,OAAA,EAAStI,CAAA,CAAE;EACb,EACD,EACD,CAACA,CAAA,CAAE;EAGL,IAAI,CAAC6F,WAAA,IAAe,CAACC,UAAA,EAAY;IAC/B,MAAMyC,mBAAA,GAAsBlJ,mBAAA,IAAuBF,WAAA,IAAeA,WAAA,CAAYqI,MAAM,GAAG;IAEvF,oBACE7I,IAAA,CAACnB,aAAA;MACCgL,OAAA,EACED,mBAAA,GACI,C,aACE5J,IAAA,CAACpB,oBAAA;QACC4B,WAAA,EAAaA,WAAA;QACbsJ,UAAA,EAAY,0BAA0BrJ,cAAA,EAAgB;QAEtDsJ,MAAA,EAAQzI;SADJ,UAGP,GACDvB,SAAA;MAENiK,WAAA,EAAa3I,CAAA,CAAE;MACf4I,KAAA,EAAO5I,CAAA,CAAE;MACT6I,UAAU;;EAGhB;EAEA,IAAI/I,QAAA,KAAa,QAAQ;IACvB,oBACEgJ,KAAA,CAAC;MAAIT,SAAA,EAAWhK,SAAA;8BACdM,IAAA,CAACX,iBAAA;QACCe,WAAA,EAAaA,WAAA;QACbqI,KAAA,EAAON,UAAA;QACPiC,UAAU;QACV5G,gBAAA,EAAkBA,gBAAA;QAClB6G,aAAA,EAAe5J,cAAA;QACf6J,aAAA,EAAerB,qBAAA;QACfsB,iBAAA,EAAmBvB,0BAAA;QACnBE,YAAA,EAAcA;uBAUhBlJ,IAAA,CAAC;QAAI0J,SAAA,EAAW,GAAGhK,SAAA,oBAA6B;kBAC7C2H,SAAA,CACEiB,MAAM,CAAEtF,OAAA,IAAUA,OAAA,CAAMgF,cAAc,CAAC5F,WAAW,IAAIY,OAAA,CAAMgF,cAAc,CAAC3F,WAAW,EACtFuE,GAAG,CAAE5D,OAAA,iBACJmH,KAAA,CAAC;UAAIT,SAAA,EAAW,GAAGhK,SAAA,0BAAmC;kCACpDM,IAAA,CAAC;YAAK0J,SAAA,EAAW,GAAGhK,SAAA,0BAAmC;sBAAGsD,OAAA,CAAM0E;2BAChE1H,IAAA,CAAClB,gBAAA;YAAiBmE,IAAA,EAAMD,OAAA,CAAMgF,cAAc;YAAEwC,QAAA,EAAUxH,OAAA,CAAM8E;;WAFH9E,OAAA,CAAMuE,IAAI;;;EAQnF;EAEA,oBACEvH,IAAA,CAAC;IAAI0J,SAAA,EAAWhK,SAAA;cACb2H,SAAA,CAAUT,GAAG,CAAC,CAAC5D,OAAA,EAAOyH,UAAA;MACrB,MAAMC,WAAA,GAAc,IAAItB,GAAA,CACtBpG,OAAA,CAAMf,IAAI,CACPqG,MAAM,CAAEzI,KAAA,IAAQwD,UAAA,CAAW;QAAEK,EAAA,EAAI7D,KAAA,CAAI6D,EAAE;QAAEjD,cAAA,EAAgBuC,OAAA,CAAMuE;MAAK,IACpEX,GAAG,CAAE/G,KAAA,IAAQA,KAAA,CAAI6D,EAAE;MAGxB;MACA;MACA,MAAMiH,WAAA,GAAcF,UAAA,KAAepD,SAAA,CAAUwB,MAAM,GAAG;MAEtD,oBACEsB,KAAA,CAACpL,YAAA;gCACCiB,IAAA,CAACjB,YAAA,CAAa6L,MAAM;UAACjB,OAAA,EAAS3G,OAAA,CAAM0E,KAAK;oBACvC,aAAA1H,IAAA,CAAClB,gBAAA;YAAiBmE,IAAA,EAAMD,OAAA,CAAMgF,cAAc;YAAEwC,QAAA,EAAUxH,OAAA,CAAM8E;;yBAEhE9H,IAAA,CAACjB,YAAA,CAAa8L,OAAO;oBACnB,aAAA7K,IAAA,CAACP,SAAA;YACCgB,cAAA,EAAgBuC,OAAA,CAAMuE,IAAI;YAC1BgC,OAAA,EAASA,OAAA;YACTtG,IAAA,EAAMD,OAAA,CAAMf,IAAI;YAChB6I,cAAA,EAAgB;YAChBC,gBAAA,EAAkB;YAClBC,YAAA,EAAc;YACdC,eAAA,EAAiB;YACjBzH,gBAAA,EAAkBA,gBAAA;YAClB0H,mBAAA,EAAqB;YACrBvD,gBAAA,EAAkB3E,OAAA,CAAM2E,gBAAgB;YACxCI,iBAAA,EAAmB/E,OAAA,CAAM+E,iBAAiB;YAC1CjH,QAAA,EAAUA,QAAA;YACV4J,WAAA,EAAaA;;;SAlBA1H,OAAA,CAAMuE,IAAI;IAuBjC;;AAGN","ignoreList":[]}
|
|
@@ -9,6 +9,12 @@ export type RelatedGroup = {
|
|
|
9
9
|
};
|
|
10
10
|
export type TableRow = {
|
|
11
11
|
[key: string]: unknown;
|
|
12
|
+
/**
|
|
13
|
+
* Where drilling into this hierarchy item should navigate. Set on folder rows so a click stays in
|
|
14
|
+
* whichever collection is being browsed - a folder opened from "Media by Folder" has to keep
|
|
15
|
+
* showing media, not switch to the folder collection's own view.
|
|
16
|
+
*/
|
|
17
|
+
_browseHref?: string;
|
|
12
18
|
_collectionLabel: string;
|
|
13
19
|
_collectionSlug: string;
|
|
14
20
|
_hasChildren?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,SAAS,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/HierarchyList/HierarchyTable/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,SAAS,qBAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["baseClass"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/types.ts"],"sourcesContent":["import type { PaginatedDocs, User } from 'payload'\nimport type React from 'react'\n\nexport type RelatedGroup = {\n collectionSlug: string\n data: PaginatedDocs\n fieldName: string\n hasMany: boolean\n label: string\n}\n\nexport type TableRow = {\n [key: string]: unknown\n _collectionLabel: string\n _collectionSlug: string\n _hasChildren?: boolean\n _hierarchyIcon?: React.ReactNode\n _isLocked?: boolean\n _userEditing?: User\n id: number | string\n}\n\nexport const baseClass = 'hierarchy-tables'\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","names":["baseClass"],"sources":["../../../../src/views/HierarchyList/HierarchyTable/types.ts"],"sourcesContent":["import type { PaginatedDocs, User } from 'payload'\nimport type React from 'react'\n\nexport type RelatedGroup = {\n collectionSlug: string\n data: PaginatedDocs\n fieldName: string\n hasMany: boolean\n label: string\n}\n\nexport type TableRow = {\n [key: string]: unknown\n /**\n * Where drilling into this hierarchy item should navigate. Set on folder rows so a click stays in\n * whichever collection is being browsed - a folder opened from \"Media by Folder\" has to keep\n * showing media, not switch to the folder collection's own view.\n */\n _browseHref?: string\n _collectionLabel: string\n _collectionSlug: string\n _hasChildren?: boolean\n _hierarchyIcon?: React.ReactNode\n _isLocked?: boolean\n _userEditing?: User\n id: number | string\n}\n\nexport const baseClass = 'hierarchy-tables'\n"],"mappings":"AA4BA,OAAO,MAAMA,SAAA,GAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/HierarchyList/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/HierarchyList/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAA8D,MAAM,OAAO,CAAA;AA0BlF,OAAO,aAAa,CAAA;AAIpB,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,qBAse3D"}
|