@payloadcms/ui 3.80.0-internal.cdd7ef7 → 3.80.0
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/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +12 -0
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +29 -7
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +3 -5
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +5 -38
- 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/CheckboxPopup/index.d.ts.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +1 -0
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.scss +0 -1
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +54 -28
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +0 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +10 -6
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +1 -1
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +141 -54
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -7
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +0 -2
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.scss +2 -2
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
- package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
- package/dist/elements/FolderView/Cell/index.client.d.ts +13 -0
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
- package/dist/elements/FolderView/Cell/index.client.js +95 -0
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
- package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
- package/dist/elements/FolderView/Cell/index.server.js +18 -0
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.js +162 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +11 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.js +62 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DraggableTableRow/index.js +63 -0
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
- package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DraggableWithClick/index.js +86 -0
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
- package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +7 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +39 -0
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +37 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +609 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +30 -0
- package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +4 -0
- package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +102 -0
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -0
- package/dist/elements/FolderView/FilterFolderTypePill/index.scss +16 -0
- package/dist/elements/FolderView/FolderField/index.scss +12 -0
- package/dist/elements/FolderView/FolderField/index.server.d.ts +4 -0
- package/dist/elements/FolderView/FolderField/index.server.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderField/index.server.js +16 -0
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.d.ts +30 -0
- package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.js +209 -0
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.scss +247 -0
- package/dist/elements/FolderView/FolderFileTable/index.d.ts +8 -0
- package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderFileTable/index.js +284 -0
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
- package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
- package/dist/elements/FolderView/FolderTypeField/index.d.ts +4 -0
- package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderTypeField/index.js +123 -0
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts +16 -0
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.js +34 -0
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +37 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.js +292 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
- package/dist/elements/{Hierarchy/DocHeaderButton → FolderView/MoveDocToFolder}/index.scss +1 -7
- package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
- package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
- package/dist/elements/FolderView/SimpleTable/index.js +95 -0
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
- package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
- package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
- package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
- package/dist/elements/FolderView/SortByPill/index.js +112 -0
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
- package/dist/elements/FolderView/SortByPill/index.scss +16 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
- package/dist/elements/Link/index.d.ts +0 -4
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +0 -5
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +15 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +182 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.js +2 -2
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +1 -2
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +9 -7
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Locked/index.scss +1 -1
- package/dist/elements/RelationshipTable/index.js +3 -3
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +1 -10
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +0 -1
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +0 -20
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Tooltip/index.js +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.scss +15 -1
- package/dist/exports/client/index.d.ts +10 -27
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +24 -26
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +3 -3
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -3
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +1 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/shared/index.d.ts +2 -2
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/icons/Chevron/index.d.ts.map +1 -1
- package/dist/icons/Chevron/index.js +1 -5
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Document/index.d.ts +1 -3
- package/dist/icons/Document/index.d.ts.map +1 -1
- package/dist/icons/Document/index.js +2 -4
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Document/index.scss +0 -4
- package/dist/icons/Folder/index.d.ts +2 -4
- package/dist/icons/Folder/index.d.ts.map +1 -1
- package/dist/icons/Folder/index.js +2 -4
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Folder/index.scss +0 -8
- package/dist/icons/Lock/index.scss +1 -1
- package/dist/icons/Plus/index.d.ts.map +1 -1
- package/dist/icons/Plus/index.js +1 -2
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/providers/Folders/groupItemIDsByRelation.d.ts +3 -0
- package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +1 -0
- package/dist/providers/Folders/groupItemIDsByRelation.js +10 -0
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -0
- package/dist/providers/Folders/index.d.ts +143 -0
- package/dist/providers/Folders/index.d.ts.map +1 -0
- package/dist/providers/Folders/index.js +641 -0
- package/dist/providers/Folders/index.js.map +1 -0
- package/dist/providers/LivePreview/context.d.ts +6 -0
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js +1 -0
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -1
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +15 -18
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +6 -1
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +18 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +1 -2
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -34
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.d.ts +25 -0
- package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +1 -0
- package/dist/utilities/getFolderResultsComponentAndData.js +135 -0
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/renderTable.d.ts +1 -3
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +3 -9
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.d.ts +5 -0
- package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
- package/dist/views/BrowseByFolder/index.js +342 -0
- package/dist/views/BrowseByFolder/index.js.map +1 -0
- package/dist/views/BrowseByFolder/index.scss +174 -0
- package/dist/views/CollectionFolder/ListSelection/index.d.ts +9 -0
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
- package/dist/views/CollectionFolder/ListSelection/index.js +180 -0
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
- package/dist/views/CollectionFolder/index.d.ts +5 -0
- package/dist/views/CollectionFolder/index.d.ts.map +1 -0
- package/dist/views/CollectionFolder/index.js +325 -0
- package/dist/views/CollectionFolder/index.js.map +1 -0
- package/dist/views/CollectionFolder/index.scss +162 -0
- package/dist/views/Edit/index.d.ts +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +10 -8
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +7 -51
- package/dist/views/List/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/CreateDocumentButton/index.d.ts +0 -26
- package/dist/elements/CreateDocumentButton/index.d.ts.map +0 -1
- package/dist/elements/CreateDocumentButton/index.js +0 -182
- package/dist/elements/CreateDocumentButton/index.js.map +0 -1
- package/dist/elements/DelayedSpinner/index.d.ts +0 -23
- package/dist/elements/DelayedSpinner/index.d.ts.map +0 -1
- package/dist/elements/DelayedSpinner/index.js +0 -61
- package/dist/elements/DelayedSpinner/index.js.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts +0 -5
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +0 -166
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +0 -63
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +0 -5
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +0 -161
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +0 -105
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +0 -8
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +0 -473
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.scss +0 -20
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +0 -106
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +0 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js +0 -2
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +0 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +0 -11
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +0 -126
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +0 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +0 -10
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +0 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +0 -34
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +0 -15
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +0 -60
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
- package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/index.js +0 -291
- package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/index.scss +0 -81
- package/dist/elements/Hierarchy/Drawer/types.d.ts +0 -68
- package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/types.js +0 -3
- package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +0 -148
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
- 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 -185
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +0 -78
- package/dist/elements/Hierarchy/Field/index.client.d.ts +0 -8
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Field/index.client.js +0 -186
- package/dist/elements/Hierarchy/Field/index.client.js.map +0 -1
- package/dist/elements/Hierarchy/Field/index.scss +0 -35
- package/dist/elements/Hierarchy/Field/index.server.d.ts +0 -3
- package/dist/elements/Hierarchy/Field/index.server.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Field/index.server.js +0 -30
- package/dist/elements/Hierarchy/Field/index.server.js.map +0 -1
- package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +0 -4
- package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/HydrateProvider/index.js +0 -70
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +0 -22
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +0 -278
- package/dist/elements/Hierarchy/MoveMany/index.js.map +0 -1
- package/dist/elements/Hierarchy/MoveMany/index.scss +0 -7
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +0 -18
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +0 -115
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +0 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +0 -13
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +0 -88
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +0 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +0 -17
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +0 -85
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +0 -1
- package/dist/elements/Hierarchy/Search/index.d.ts +0 -10
- package/dist/elements/Hierarchy/Search/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Search/index.js +0 -144
- package/dist/elements/Hierarchy/Search/index.js.map +0 -1
- package/dist/elements/Hierarchy/Search/index.scss +0 -212
- package/dist/elements/Hierarchy/Search/types.d.ts +0 -21
- package/dist/elements/Hierarchy/Search/types.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Search/types.js +0 -2
- package/dist/elements/Hierarchy/Search/types.js.map +0 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +0 -20
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +0 -122
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -21
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +0 -162
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +0 -7
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +0 -177
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +0 -36
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +0 -12
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js +0 -29
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +0 -26
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +0 -7
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeConnector.js +0 -23
- package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +0 -28
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +0 -140
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +0 -5
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +0 -225
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +0 -110
- package/dist/elements/Hierarchy/Tree/index.d.ts +0 -5
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/index.js +0 -270
- package/dist/elements/Hierarchy/Tree/index.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/index.scss +0 -60
- package/dist/elements/Hierarchy/Tree/types.d.ts +0 -76
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/types.js +0 -2
- package/dist/elements/Hierarchy/Tree/types.js.map +0 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts +0 -32
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +0 -229
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +0 -1
- package/dist/elements/LoadMoreRow/index.d.ts +0 -15
- package/dist/elements/LoadMoreRow/index.d.ts.map +0 -1
- package/dist/elements/LoadMoreRow/index.js +0 -75
- package/dist/elements/LoadMoreRow/index.js.map +0 -1
- package/dist/elements/LoadMoreRow/index.scss +0 -42
- package/dist/elements/Spinner/index.d.ts +0 -16
- package/dist/elements/Spinner/index.d.ts.map +0 -1
- package/dist/elements/Spinner/index.js +0 -49
- package/dist/elements/Spinner/index.js.map +0 -1
- package/dist/elements/Spinner/index.scss +0 -39
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts +0 -6
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +0 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +0 -187
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +0 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +0 -29
- package/dist/fields/Null/index.d.ts +0 -11
- package/dist/fields/Null/index.d.ts.map +0 -1
- package/dist/fields/Null/index.js +0 -13
- package/dist/fields/Null/index.js.map +0 -1
- package/dist/icons/Filter/index.d.ts +0 -4
- package/dist/icons/Filter/index.d.ts.map +0 -1
- package/dist/icons/Filter/index.js +0 -15
- package/dist/icons/Filter/index.js.map +0 -1
- package/dist/icons/Filter/index.scss +0 -13
- package/dist/icons/TableView/index.d.ts +0 -3
- package/dist/icons/TableView/index.d.ts.map +0 -1
- package/dist/icons/TableView/index.js +0 -16
- package/dist/icons/TableView/index.js.map +0 -1
- package/dist/icons/Tag/index.d.ts +0 -8
- package/dist/icons/Tag/index.d.ts.map +0 -1
- package/dist/icons/Tag/index.js +0 -22
- package/dist/icons/Tag/index.js.map +0 -1
- package/dist/icons/Tag/index.scss +0 -14
- package/dist/providers/DocumentSelection/index.d.ts +0 -8
- package/dist/providers/DocumentSelection/index.d.ts.map +0 -1
- package/dist/providers/DocumentSelection/index.js +0 -239
- package/dist/providers/DocumentSelection/index.js.map +0 -1
- package/dist/providers/DocumentSelection/types.d.ts +0 -122
- package/dist/providers/DocumentSelection/types.d.ts.map +0 -1
- package/dist/providers/DocumentSelection/types.js +0 -5
- package/dist/providers/DocumentSelection/types.js.map +0 -1
- package/dist/providers/Hierarchy/index.d.ts +0 -5
- package/dist/providers/Hierarchy/index.d.ts.map +0 -1
- package/dist/providers/Hierarchy/index.js +0 -350
- package/dist/providers/Hierarchy/index.js.map +0 -1
- package/dist/providers/Hierarchy/types.d.ts +0 -106
- package/dist/providers/Hierarchy/types.d.ts.map +0 -1
- package/dist/providers/Hierarchy/types.js +0 -2
- package/dist/providers/Hierarchy/types.js.map +0 -1
- package/dist/providers/SidebarTabs/index.d.ts +0 -19
- package/dist/providers/SidebarTabs/index.d.ts.map +0 -1
- package/dist/providers/SidebarTabs/index.js +0 -24
- package/dist/providers/SidebarTabs/index.js.map +0 -1
- package/dist/utilities/isSuperset.d.ts +0 -6
- package/dist/utilities/isSuperset.d.ts.map +0 -1
- package/dist/utilities/isSuperset.js +0 -10
- package/dist/utilities/isSuperset.js.map +0 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +0 -10
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +0 -194
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +0 -21
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +0 -67
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.scss +0 -9
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +0 -4
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +0 -104
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +0 -4
- package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +0 -53
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +0 -4
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +0 -128
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +0 -99
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +0 -118
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +0 -214
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +0 -27
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +0 -388
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/index.scss +0 -148
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +0 -20
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +0 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js +0 -2
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +0 -1
- package/dist/views/HierarchyList/TypeFilter/index.d.ts +0 -15
- package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/TypeFilter/index.js +0 -37
- package/dist/views/HierarchyList/TypeFilter/index.js.map +0 -1
- package/dist/views/HierarchyList/TypeFilter/index.scss +0 -32
- package/dist/views/HierarchyList/index.d.ts +0 -5
- package/dist/views/HierarchyList/index.d.ts.map +0 -1
- package/dist/views/HierarchyList/index.js +0 -305
- package/dist/views/HierarchyList/index.js.map +0 -1
- package/dist/views/HierarchyList/index.scss +0 -72
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
-
import { SelectAllStatus } from '../Selection/index.js';
|
|
6
|
-
export { SelectAllStatus };
|
|
7
|
-
const Context = /*#__PURE__*/createContext(undefined);
|
|
8
|
-
/**
|
|
9
|
-
* Creates an initial empty selection state for a collection.
|
|
10
|
-
*/
|
|
11
|
-
const createEmptyCollectionState = () => ({
|
|
12
|
-
selectAllStatus: SelectAllStatus.None,
|
|
13
|
-
selected: new Map()
|
|
14
|
-
});
|
|
15
|
-
/**
|
|
16
|
-
* Computes the SelectAllStatus based on selection state and doc count.
|
|
17
|
-
* Presence in the map = selected (metadata object is stored).
|
|
18
|
-
*/
|
|
19
|
-
const computeSelectAllStatus = ({
|
|
20
|
-
docCount,
|
|
21
|
-
selected
|
|
22
|
-
}) => {
|
|
23
|
-
if (!selected.size || docCount === 0) {
|
|
24
|
-
return SelectAllStatus.None;
|
|
25
|
-
}
|
|
26
|
-
if (selected.size === docCount) {
|
|
27
|
-
return SelectAllStatus.AllInPage;
|
|
28
|
-
}
|
|
29
|
-
return SelectAllStatus.Some;
|
|
30
|
-
};
|
|
31
|
-
export const DocumentSelectionProvider = ({
|
|
32
|
-
children,
|
|
33
|
-
collectionData,
|
|
34
|
-
currentUserId
|
|
35
|
-
}) => {
|
|
36
|
-
const contextRef = useRef({});
|
|
37
|
-
const [selections, setSelections] = useState(() => {
|
|
38
|
-
const initial = {};
|
|
39
|
-
for (const collectionSlug of Object.keys(collectionData)) {
|
|
40
|
-
initial[collectionSlug] = createEmptyCollectionState();
|
|
41
|
-
}
|
|
42
|
-
return initial;
|
|
43
|
-
});
|
|
44
|
-
// Reset selections when collectionData changes (new docs loaded)
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
setSelections(() => {
|
|
47
|
-
const reset = {};
|
|
48
|
-
for (const collectionSlug_0 of Object.keys(collectionData)) {
|
|
49
|
-
reset[collectionSlug_0] = createEmptyCollectionState();
|
|
50
|
-
}
|
|
51
|
-
return reset;
|
|
52
|
-
});
|
|
53
|
-
}, [collectionData]);
|
|
54
|
-
const isLocked = useCallback(({
|
|
55
|
-
id,
|
|
56
|
-
collectionSlug: collectionSlug_1
|
|
57
|
-
}) => {
|
|
58
|
-
const docs = collectionData[collectionSlug_1]?.docs ?? [];
|
|
59
|
-
const doc = docs.find(d => d.id === id);
|
|
60
|
-
if (!doc) {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
return Boolean(doc._isLocked && doc._userEditing?.id !== currentUserId);
|
|
64
|
-
}, [collectionData, currentUserId]);
|
|
65
|
-
const isSelected = useCallback(({
|
|
66
|
-
id: id_0,
|
|
67
|
-
collectionSlug: collectionSlug_2
|
|
68
|
-
}) => {
|
|
69
|
-
return selections[collectionSlug_2]?.selected.has(id_0) ?? false;
|
|
70
|
-
}, [selections]);
|
|
71
|
-
const getSelectAllStatus = useCallback(({
|
|
72
|
-
collectionSlug: collectionSlug_3
|
|
73
|
-
}) => {
|
|
74
|
-
return selections[collectionSlug_3]?.selectAllStatus ?? SelectAllStatus.None;
|
|
75
|
-
}, [selections]);
|
|
76
|
-
const getCollectionCount = useCallback(({
|
|
77
|
-
collectionSlug: collectionSlug_4
|
|
78
|
-
}) => {
|
|
79
|
-
return selections[collectionSlug_4]?.selected.size ?? 0;
|
|
80
|
-
}, [selections]);
|
|
81
|
-
const getTotalCount = useCallback(() => {
|
|
82
|
-
let total = 0;
|
|
83
|
-
for (const collectionSlug_5 of Object.keys(selections)) {
|
|
84
|
-
total += getCollectionCount({
|
|
85
|
-
collectionSlug: collectionSlug_5
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
return total;
|
|
89
|
-
}, [selections, getCollectionCount]);
|
|
90
|
-
const getSelectionsForActions = useCallback(() => {
|
|
91
|
-
const result = {};
|
|
92
|
-
for (const [collectionSlug_6, collectionState] of Object.entries(selections)) {
|
|
93
|
-
const ids = Array.from(collectionState.selected.keys());
|
|
94
|
-
if (ids.length > 0) {
|
|
95
|
-
result[collectionSlug_6] = {
|
|
96
|
-
ids,
|
|
97
|
-
totalCount: ids.length
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return result;
|
|
102
|
-
}, [selections]);
|
|
103
|
-
const getSelectionsWithMetadata = useCallback(() => {
|
|
104
|
-
const result_0 = {};
|
|
105
|
-
for (const [collectionSlug_7, collectionState_0] of Object.entries(selections)) {
|
|
106
|
-
const selectionsArray = [];
|
|
107
|
-
for (const [id_1, metadata] of collectionState_0.selected) {
|
|
108
|
-
selectionsArray.push({
|
|
109
|
-
id: id_1,
|
|
110
|
-
metadata
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
if (selectionsArray.length > 0) {
|
|
114
|
-
result_0[collectionSlug_7] = {
|
|
115
|
-
selections: selectionsArray,
|
|
116
|
-
totalCount: selectionsArray.length
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return result_0;
|
|
121
|
-
}, [selections]);
|
|
122
|
-
const toggleSelection = useCallback(({
|
|
123
|
-
id: id_2,
|
|
124
|
-
collectionSlug: collectionSlug_8,
|
|
125
|
-
metadata: metadata_0 = {}
|
|
126
|
-
}) => {
|
|
127
|
-
// Check if doc is locked
|
|
128
|
-
if (isLocked({
|
|
129
|
-
id: id_2,
|
|
130
|
-
collectionSlug: collectionSlug_8
|
|
131
|
-
})) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
setSelections(prev => {
|
|
135
|
-
const collectionState_1 = prev[collectionSlug_8] ?? createEmptyCollectionState();
|
|
136
|
-
const isCurrentlySelected = collectionState_1.selected.has(id_2);
|
|
137
|
-
const newMap = new Map(collectionState_1.selected);
|
|
138
|
-
if (isCurrentlySelected) {
|
|
139
|
-
newMap.delete(id_2);
|
|
140
|
-
} else {
|
|
141
|
-
newMap.set(id_2, metadata_0);
|
|
142
|
-
}
|
|
143
|
-
const docCount = collectionData[collectionSlug_8]?.docs.length ?? 0;
|
|
144
|
-
const newSelectAllStatus = computeSelectAllStatus({
|
|
145
|
-
docCount,
|
|
146
|
-
selected: newMap
|
|
147
|
-
});
|
|
148
|
-
return {
|
|
149
|
-
...prev,
|
|
150
|
-
[collectionSlug_8]: {
|
|
151
|
-
selectAllStatus: newSelectAllStatus,
|
|
152
|
-
selected: newMap
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
});
|
|
156
|
-
}, [collectionData, isLocked]);
|
|
157
|
-
const toggleAllInCollection = useCallback(({
|
|
158
|
-
collectionSlug: collectionSlug_9
|
|
159
|
-
}) => {
|
|
160
|
-
setSelections(prev_0 => {
|
|
161
|
-
const collectionState_2 = prev_0[collectionSlug_9] ?? createEmptyCollectionState();
|
|
162
|
-
const docs_0 = collectionData[collectionSlug_9]?.docs ?? [];
|
|
163
|
-
const currentStatus = collectionState_2.selectAllStatus;
|
|
164
|
-
// If already AllInPage, reset to None
|
|
165
|
-
if (currentStatus === SelectAllStatus.AllInPage) {
|
|
166
|
-
return {
|
|
167
|
-
...prev_0,
|
|
168
|
-
[collectionSlug_9]: {
|
|
169
|
-
selectAllStatus: SelectAllStatus.None,
|
|
170
|
-
selected: new Map()
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
// Otherwise, select all non-locked docs with empty metadata
|
|
175
|
-
const newMap_0 = new Map();
|
|
176
|
-
for (const doc_0 of docs_0) {
|
|
177
|
-
const docIsLocked = Boolean(doc_0._isLocked && doc_0._userEditing?.id !== currentUserId);
|
|
178
|
-
if (!docIsLocked) {
|
|
179
|
-
newMap_0.set(doc_0.id, {});
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
const newSelectAllStatus_0 = computeSelectAllStatus({
|
|
183
|
-
docCount: docs_0.length,
|
|
184
|
-
selected: newMap_0
|
|
185
|
-
});
|
|
186
|
-
return {
|
|
187
|
-
...prev_0,
|
|
188
|
-
[collectionSlug_9]: {
|
|
189
|
-
selectAllStatus: newSelectAllStatus_0,
|
|
190
|
-
selected: newMap_0
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
});
|
|
194
|
-
}, [collectionData, currentUserId]);
|
|
195
|
-
const clearCollection = useCallback(({
|
|
196
|
-
collectionSlug: collectionSlug_10
|
|
197
|
-
}) => {
|
|
198
|
-
setSelections(prev_1 => ({
|
|
199
|
-
...prev_1,
|
|
200
|
-
[collectionSlug_10]: createEmptyCollectionState()
|
|
201
|
-
}));
|
|
202
|
-
}, []);
|
|
203
|
-
const clearAll = useCallback(() => {
|
|
204
|
-
setSelections(prev_2 => {
|
|
205
|
-
const cleared = {};
|
|
206
|
-
for (const collectionSlug_11 of Object.keys(prev_2)) {
|
|
207
|
-
cleared[collectionSlug_11] = createEmptyCollectionState();
|
|
208
|
-
}
|
|
209
|
-
return cleared;
|
|
210
|
-
});
|
|
211
|
-
}, []);
|
|
212
|
-
const contextValue = useMemo(() => ({
|
|
213
|
-
clearAll,
|
|
214
|
-
clearCollection,
|
|
215
|
-
getCollectionCount,
|
|
216
|
-
getSelectAllStatus,
|
|
217
|
-
getSelectionsForActions,
|
|
218
|
-
getSelectionsWithMetadata,
|
|
219
|
-
getTotalCount,
|
|
220
|
-
isLocked,
|
|
221
|
-
isSelected,
|
|
222
|
-
selections,
|
|
223
|
-
toggleAllInCollection,
|
|
224
|
-
toggleSelection
|
|
225
|
-
}), [clearAll, clearCollection, getCollectionCount, getSelectAllStatus, getSelectionsForActions, getSelectionsWithMetadata, getTotalCount, isLocked, isSelected, selections, toggleAllInCollection, toggleSelection]);
|
|
226
|
-
contextRef.current = contextValue;
|
|
227
|
-
return /*#__PURE__*/_jsx(Context, {
|
|
228
|
-
value: contextRef.current,
|
|
229
|
-
children: children
|
|
230
|
-
});
|
|
231
|
-
};
|
|
232
|
-
export const useDocumentSelection = () => {
|
|
233
|
-
const context = use(Context);
|
|
234
|
-
if (context === undefined) {
|
|
235
|
-
throw new Error('useDocumentSelection must be used within a DocumentSelectionProvider');
|
|
236
|
-
}
|
|
237
|
-
return context;
|
|
238
|
-
};
|
|
239
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createContext","use","useCallback","useEffect","useMemo","useRef","useState","SelectAllStatus","Context","undefined","createEmptyCollectionState","selectAllStatus","None","selected","Map","computeSelectAllStatus","docCount","size","AllInPage","Some","DocumentSelectionProvider","children","collectionData","currentUserId","contextRef","selections","setSelections","initial","collectionSlug","Object","keys","reset","isLocked","id","docs","doc","find","d","Boolean","_isLocked","_userEditing","isSelected","has","getSelectAllStatus","getCollectionCount","getTotalCount","total","getSelectionsForActions","result","collectionState","entries","ids","Array","from","length","totalCount","getSelectionsWithMetadata","selectionsArray","metadata","push","toggleSelection","prev","isCurrentlySelected","newMap","delete","set","newSelectAllStatus","toggleAllInCollection","currentStatus","docIsLocked","clearCollection","clearAll","cleared","contextValue","current","_jsx","value","useDocumentSelection","context","Error"],"sources":["../../../src/providers/DocumentSelection/index.tsx"],"sourcesContent":["'use client'\nimport type React from 'react'\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type {\n CollectionData,\n CollectionSelectionState,\n DocumentSelectionContextValue,\n DocumentSelectionProviderProps,\n SelectableDocument,\n SelectionMetadata,\n SelectionState,\n} from './types.js'\n\nimport { SelectAllStatus } from '../Selection/index.js'\n\nexport { SelectAllStatus }\nexport type {\n CollectionData,\n CollectionSelectionState,\n DocumentSelectionContextValue,\n DocumentSelectionProviderProps,\n SelectableDocument,\n SelectionMetadata,\n SelectionState,\n}\n\nconst Context = createContext<DocumentSelectionContextValue | undefined>(undefined)\n\n/**\n * Creates an initial empty selection state for a collection.\n */\nconst createEmptyCollectionState = (): CollectionSelectionState => ({\n selectAllStatus: SelectAllStatus.None,\n selected: new Map(),\n})\n\n/**\n * Computes the SelectAllStatus based on selection state and doc count.\n * Presence in the map = selected (metadata object is stored).\n */\nconst computeSelectAllStatus = ({\n docCount,\n selected,\n}: {\n docCount: number\n selected: Map<number | string, SelectionMetadata>\n}): SelectAllStatus => {\n if (!selected.size || docCount === 0) {\n return SelectAllStatus.None\n }\n\n if (selected.size === docCount) {\n return SelectAllStatus.AllInPage\n }\n\n return SelectAllStatus.Some\n}\n\nexport const DocumentSelectionProvider: React.FC<DocumentSelectionProviderProps> = ({\n children,\n collectionData,\n currentUserId,\n}) => {\n const contextRef = useRef({} as DocumentSelectionContextValue)\n\n const [selections, setSelections] = useState<SelectionState>(() => {\n const initial: SelectionState = {}\n\n for (const collectionSlug of Object.keys(collectionData)) {\n initial[collectionSlug] = createEmptyCollectionState()\n }\n\n return initial\n })\n\n // Reset selections when collectionData changes (new docs loaded)\n useEffect(() => {\n setSelections(() => {\n const reset: SelectionState = {}\n\n for (const collectionSlug of Object.keys(collectionData)) {\n reset[collectionSlug] = createEmptyCollectionState()\n }\n\n return reset\n })\n }, [collectionData])\n\n const isLocked = useCallback(\n ({ id, collectionSlug }: { collectionSlug: string; id: number | string }): boolean => {\n const docs = collectionData[collectionSlug]?.docs ?? []\n const doc = docs.find((d) => d.id === id)\n\n if (!doc) {\n return false\n }\n\n return Boolean(doc._isLocked && doc._userEditing?.id !== currentUserId)\n },\n [collectionData, currentUserId],\n )\n\n const isSelected = useCallback(\n ({ id, collectionSlug }: { collectionSlug: string; id: number | string }): boolean => {\n return selections[collectionSlug]?.selected.has(id) ?? false\n },\n [selections],\n )\n\n const getSelectAllStatus = useCallback(\n ({ collectionSlug }: { collectionSlug: string }): SelectAllStatus => {\n return selections[collectionSlug]?.selectAllStatus ?? SelectAllStatus.None\n },\n [selections],\n )\n\n const getCollectionCount = useCallback(\n ({ collectionSlug }: { collectionSlug: string }): number => {\n return selections[collectionSlug]?.selected.size ?? 0\n },\n [selections],\n )\n\n const getTotalCount = useCallback((): number => {\n let total = 0\n\n for (const collectionSlug of Object.keys(selections)) {\n total += getCollectionCount({ collectionSlug })\n }\n\n return total\n }, [selections, getCollectionCount])\n\n const getSelectionsForActions = useCallback((): Record<\n string,\n { ids: (number | string)[]; totalCount: number }\n > => {\n const result: Record<string, { ids: (number | string)[]; totalCount: number }> = {}\n\n for (const [collectionSlug, collectionState] of Object.entries(selections)) {\n const ids = Array.from(collectionState.selected.keys())\n\n if (ids.length > 0) {\n result[collectionSlug] = {\n ids,\n totalCount: ids.length,\n }\n }\n }\n\n return result\n }, [selections])\n\n const getSelectionsWithMetadata = useCallback((): Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n > => {\n const result: Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n > = {}\n\n for (const [collectionSlug, collectionState] of Object.entries(selections)) {\n const selectionsArray: Array<{ id: number | string; metadata: SelectionMetadata }> = []\n\n for (const [id, metadata] of collectionState.selected) {\n selectionsArray.push({ id, metadata })\n }\n\n if (selectionsArray.length > 0) {\n result[collectionSlug] = {\n selections: selectionsArray,\n totalCount: selectionsArray.length,\n }\n }\n }\n\n return result\n }, [selections])\n\n const toggleSelection = useCallback(\n ({\n id,\n collectionSlug,\n metadata = {},\n }: {\n collectionSlug: string\n id: number | string\n metadata?: SelectionMetadata\n }): void => {\n // Check if doc is locked\n if (isLocked({ id, collectionSlug })) {\n return\n }\n\n setSelections((prev) => {\n const collectionState = prev[collectionSlug] ?? createEmptyCollectionState()\n const isCurrentlySelected = collectionState.selected.has(id)\n\n const newMap = new Map(collectionState.selected)\n\n if (isCurrentlySelected) {\n newMap.delete(id)\n } else {\n newMap.set(id, metadata)\n }\n\n const docCount = collectionData[collectionSlug]?.docs.length ?? 0\n const newSelectAllStatus = computeSelectAllStatus({ docCount, selected: newMap })\n\n return {\n ...prev,\n [collectionSlug]: {\n selectAllStatus: newSelectAllStatus,\n selected: newMap,\n },\n }\n })\n },\n [collectionData, isLocked],\n )\n\n const toggleAllInCollection = useCallback(\n ({ collectionSlug }: { collectionSlug: string }): void => {\n setSelections((prev) => {\n const collectionState = prev[collectionSlug] ?? createEmptyCollectionState()\n const docs = collectionData[collectionSlug]?.docs ?? []\n const currentStatus = collectionState.selectAllStatus\n\n // If already AllInPage, reset to None\n if (currentStatus === SelectAllStatus.AllInPage) {\n return {\n ...prev,\n [collectionSlug]: {\n selectAllStatus: SelectAllStatus.None,\n selected: new Map(),\n },\n }\n }\n\n // Otherwise, select all non-locked docs with empty metadata\n const newMap = new Map<number | string, SelectionMetadata>()\n\n for (const doc of docs) {\n const docIsLocked = Boolean(doc._isLocked && doc._userEditing?.id !== currentUserId)\n\n if (!docIsLocked) {\n newMap.set(doc.id, {})\n }\n }\n\n const newSelectAllStatus = computeSelectAllStatus({\n docCount: docs.length,\n selected: newMap,\n })\n\n return {\n ...prev,\n [collectionSlug]: {\n selectAllStatus: newSelectAllStatus,\n selected: newMap,\n },\n }\n })\n },\n [collectionData, currentUserId],\n )\n\n const clearCollection = useCallback(({ collectionSlug }: { collectionSlug: string }): void => {\n setSelections((prev) => ({\n ...prev,\n [collectionSlug]: createEmptyCollectionState(),\n }))\n }, [])\n\n const clearAll = useCallback((): void => {\n setSelections((prev) => {\n const cleared: SelectionState = {}\n\n for (const collectionSlug of Object.keys(prev)) {\n cleared[collectionSlug] = createEmptyCollectionState()\n }\n\n return cleared\n })\n }, [])\n\n const contextValue = useMemo<DocumentSelectionContextValue>(\n () => ({\n clearAll,\n clearCollection,\n getCollectionCount,\n getSelectAllStatus,\n getSelectionsForActions,\n getSelectionsWithMetadata,\n getTotalCount,\n isLocked,\n isSelected,\n selections,\n toggleAllInCollection,\n toggleSelection,\n }),\n [\n clearAll,\n clearCollection,\n getCollectionCount,\n getSelectAllStatus,\n getSelectionsForActions,\n getSelectionsWithMetadata,\n getTotalCount,\n isLocked,\n isSelected,\n selections,\n toggleAllInCollection,\n toggleSelection,\n ],\n )\n\n contextRef.current = contextValue\n\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const useDocumentSelection = (): DocumentSelectionContextValue => {\n const context = use(Context)\n\n if (context === undefined) {\n throw new Error('useDocumentSelection must be used within a DocumentSelectionProvider')\n }\n\n return context\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
import type { SelectAllStatus } from '../Selection/index.js';
|
|
3
|
-
/**
|
|
4
|
-
* The minimum document shape required for selection functionality.
|
|
5
|
-
* Supports document locking to prevent selection of locked documents.
|
|
6
|
-
*/
|
|
7
|
-
export type SelectableDocument = {
|
|
8
|
-
_isLocked?: boolean;
|
|
9
|
-
_userEditing?: {
|
|
10
|
-
id: string;
|
|
11
|
-
};
|
|
12
|
-
id: number | string;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Collection data passed to the provider, mapping collection slugs to their documents.
|
|
16
|
-
* @template TDoc - The document type, must extend SelectableDocument
|
|
17
|
-
*/
|
|
18
|
-
export type CollectionData<TDoc extends SelectableDocument = SelectableDocument> = Record<string, {
|
|
19
|
-
docs: TDoc[];
|
|
20
|
-
}>;
|
|
21
|
-
/**
|
|
22
|
-
* Metadata stored alongside a selection.
|
|
23
|
-
*/
|
|
24
|
-
export type SelectionMetadata = {
|
|
25
|
-
/** For folder selections, the allowedCollections from the folder document */
|
|
26
|
-
allowedCollections?: string[];
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Selection state for a single collection.
|
|
30
|
-
*/
|
|
31
|
-
export type CollectionSelectionState = {
|
|
32
|
-
/** Current selection status for this collection (None, Some, AllInPage) */
|
|
33
|
-
selectAllStatus: SelectAllStatus;
|
|
34
|
-
/** Map of document IDs to their selection metadata (presence = selected) */
|
|
35
|
-
selected: Map<number | string, SelectionMetadata>;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Full selection state, keyed by collection slug.
|
|
39
|
-
*/
|
|
40
|
-
export type SelectionState = Record<string, CollectionSelectionState>;
|
|
41
|
-
/**
|
|
42
|
-
* Context value providing multi-collection document selection functionality.
|
|
43
|
-
* All methods use single object parameters for backwards compatibility.
|
|
44
|
-
*/
|
|
45
|
-
export type DocumentSelectionContextValue = {
|
|
46
|
-
/** Clear all selections across all collections */
|
|
47
|
-
clearAll: () => void;
|
|
48
|
-
/** Clear all selections for a specific collection */
|
|
49
|
-
clearCollection: (args: {
|
|
50
|
-
collectionSlug: string;
|
|
51
|
-
}) => void;
|
|
52
|
-
/** Get count of selected documents in a specific collection */
|
|
53
|
-
getCollectionCount: (args: {
|
|
54
|
-
collectionSlug: string;
|
|
55
|
-
}) => number;
|
|
56
|
-
/** Get the selection status for a specific collection */
|
|
57
|
-
getSelectAllStatus: (args: {
|
|
58
|
-
collectionSlug: string;
|
|
59
|
-
}) => SelectAllStatus;
|
|
60
|
-
/**
|
|
61
|
-
* Get selections formatted for bulk actions (e.g., DeleteMany).
|
|
62
|
-
* Returns only collections with at least one selection.
|
|
63
|
-
*/
|
|
64
|
-
getSelectionsForActions: () => Record<string, {
|
|
65
|
-
ids: (number | string)[];
|
|
66
|
-
totalCount: number;
|
|
67
|
-
}>;
|
|
68
|
-
/**
|
|
69
|
-
* Get selections with metadata for computing constraints.
|
|
70
|
-
* Returns only collections with at least one selection.
|
|
71
|
-
*/
|
|
72
|
-
getSelectionsWithMetadata: () => Record<string, {
|
|
73
|
-
selections: Array<{
|
|
74
|
-
id: number | string;
|
|
75
|
-
metadata: SelectionMetadata;
|
|
76
|
-
}>;
|
|
77
|
-
totalCount: number;
|
|
78
|
-
}>;
|
|
79
|
-
/** Get total count of selected documents across all collections */
|
|
80
|
-
getTotalCount: () => number;
|
|
81
|
-
/** Check if a specific document is locked (and not editable by current user) */
|
|
82
|
-
isLocked: (args: {
|
|
83
|
-
collectionSlug: string;
|
|
84
|
-
id: number | string;
|
|
85
|
-
}) => boolean;
|
|
86
|
-
/** Check if a specific document is selected */
|
|
87
|
-
isSelected: (args: {
|
|
88
|
-
collectionSlug: string;
|
|
89
|
-
id: number | string;
|
|
90
|
-
}) => boolean;
|
|
91
|
-
/** Raw selection state for direct access if needed */
|
|
92
|
-
selections: SelectionState;
|
|
93
|
-
/**
|
|
94
|
-
* Toggle selection of all documents in a collection (current page only).
|
|
95
|
-
* Cycles: None -> AllInPage -> None
|
|
96
|
-
*/
|
|
97
|
-
toggleAllInCollection: (args: {
|
|
98
|
-
collectionSlug: string;
|
|
99
|
-
}) => void;
|
|
100
|
-
/**
|
|
101
|
-
* Toggle selection state of a single document.
|
|
102
|
-
* Will not select locked documents unless the current user is editing them.
|
|
103
|
-
*/
|
|
104
|
-
toggleSelection: (args: {
|
|
105
|
-
collectionSlug: string;
|
|
106
|
-
id: number | string;
|
|
107
|
-
metadata?: SelectionMetadata;
|
|
108
|
-
}) => void;
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Props for the DocumentSelectionProvider component.
|
|
112
|
-
* @template TDoc - The document type, must extend SelectableDocument
|
|
113
|
-
*/
|
|
114
|
-
export type DocumentSelectionProviderProps<TDoc extends SelectableDocument = SelectableDocument> = {
|
|
115
|
-
/** React children to render within the provider */
|
|
116
|
-
readonly children: React.ReactNode;
|
|
117
|
-
/** Collection data mapping slugs to their documents */
|
|
118
|
-
readonly collectionData: CollectionData<TDoc>;
|
|
119
|
-
/** Current user ID for determining document lock status */
|
|
120
|
-
readonly currentUserId?: string;
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentSelection/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/DocumentSelection/types.ts"],"sourcesContent":["import type React from 'react'\n\nimport type { SelectAllStatus } from '../Selection/index.js'\n\n/**\n * The minimum document shape required for selection functionality.\n * Supports document locking to prevent selection of locked documents.\n */\nexport type SelectableDocument = {\n _isLocked?: boolean\n _userEditing?: { id: string }\n id: number | string\n}\n\n/**\n * Collection data passed to the provider, mapping collection slugs to their documents.\n * @template TDoc - The document type, must extend SelectableDocument\n */\nexport type CollectionData<TDoc extends SelectableDocument = SelectableDocument> = Record<\n string,\n { docs: TDoc[] }\n>\n\n/**\n * Metadata stored alongside a selection.\n */\nexport type SelectionMetadata = {\n /** For folder selections, the allowedCollections from the folder document */\n allowedCollections?: string[]\n}\n\n/**\n * Selection state for a single collection.\n */\nexport type CollectionSelectionState = {\n /** Current selection status for this collection (None, Some, AllInPage) */\n selectAllStatus: SelectAllStatus\n /** Map of document IDs to their selection metadata (presence = selected) */\n selected: Map<number | string, SelectionMetadata>\n}\n\n/**\n * Full selection state, keyed by collection slug.\n */\nexport type SelectionState = Record<string, CollectionSelectionState>\n\n/**\n * Context value providing multi-collection document selection functionality.\n * All methods use single object parameters for backwards compatibility.\n */\nexport type DocumentSelectionContextValue = {\n /** Clear all selections across all collections */\n clearAll: () => void\n\n /** Clear all selections for a specific collection */\n clearCollection: (args: { collectionSlug: string }) => void\n\n /** Get count of selected documents in a specific collection */\n getCollectionCount: (args: { collectionSlug: string }) => number\n\n /** Get the selection status for a specific collection */\n getSelectAllStatus: (args: { collectionSlug: string }) => SelectAllStatus\n\n /**\n * Get selections formatted for bulk actions (e.g., DeleteMany).\n * Returns only collections with at least one selection.\n */\n getSelectionsForActions: () => Record<\n string,\n {\n ids: (number | string)[]\n totalCount: number\n }\n >\n\n /**\n * Get selections with metadata for computing constraints.\n * Returns only collections with at least one selection.\n */\n getSelectionsWithMetadata: () => Record<\n string,\n {\n selections: Array<{ id: number | string; metadata: SelectionMetadata }>\n totalCount: number\n }\n >\n\n /** Get total count of selected documents across all collections */\n getTotalCount: () => number\n\n /** Check if a specific document is locked (and not editable by current user) */\n isLocked: (args: { collectionSlug: string; id: number | string }) => boolean\n\n /** Check if a specific document is selected */\n isSelected: (args: { collectionSlug: string; id: number | string }) => boolean\n\n /** Raw selection state for direct access if needed */\n selections: SelectionState\n\n /**\n * Toggle selection of all documents in a collection (current page only).\n * Cycles: None -> AllInPage -> None\n */\n toggleAllInCollection: (args: { collectionSlug: string }) => void\n\n /**\n * Toggle selection state of a single document.\n * Will not select locked documents unless the current user is editing them.\n */\n toggleSelection: (args: {\n collectionSlug: string\n id: number | string\n metadata?: SelectionMetadata\n }) => void\n}\n\n/**\n * Props for the DocumentSelectionProvider component.\n * @template TDoc - The document type, must extend SelectableDocument\n */\nexport type DocumentSelectionProviderProps<TDoc extends SelectableDocument = SelectableDocument> = {\n /** React children to render within the provider */\n readonly children: React.ReactNode\n /** Collection data mapping slugs to their documents */\n readonly collectionData: CollectionData<TDoc>\n /** Current user ID for determining document lock status */\n readonly currentUserId?: string\n}\n"],"mappings":"AAoHA;;;GAIA","ignoreList":[]}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { HierarchyContextValue, HierarchyProviderProps } from './types.js';
|
|
3
|
-
export declare const HierarchyProvider: React.FC<HierarchyProviderProps>;
|
|
4
|
-
export declare const useHierarchy: () => HierarchyContextValue;
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAEV,qBAAqB,EAGrB,sBAAsB,EAEvB,MAAM,YAAY,CAAA;AAQnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkZ9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAA"}
|