@payloadcms/ui 3.80.0-internal.60d6f94 → 3.80.0-internal.8d9ec7c
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 +0 -12
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +5 -3
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +38 -5
- 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 +0 -1
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.scss +1 -0
- package/dist/elements/CreateDocumentButton/index.d.ts +26 -0
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -0
- package/dist/elements/CreateDocumentButton/index.js +182 -0
- package/dist/elements/CreateDocumentButton/index.js.map +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +28 -54
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DelayedSpinner/index.d.ts +23 -0
- package/dist/elements/DelayedSpinner/index.d.ts.map +1 -0
- package/dist/elements/DelayedSpinner/index.js +61 -0
- package/dist/elements/DelayedSpinner/index.js.map +1 -0
- package/dist/elements/DocumentControls/index.d.ts +1 -0
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +6 -10
- 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 +54 -141
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +7 -1
- 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 +2 -0
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.scss +2 -2
- package/dist/elements/HierarchyButton/index.d.ts +11 -0
- package/dist/elements/HierarchyButton/index.d.ts.map +1 -0
- package/dist/elements/HierarchyButton/index.js +126 -0
- package/dist/elements/HierarchyButton/index.js.map +1 -0
- package/dist/elements/{FolderView/MoveDocToFolder → HierarchyButton}/index.scss +7 -1
- package/dist/elements/HierarchyButton/index.server.d.ts +10 -0
- package/dist/elements/HierarchyButton/index.server.d.ts.map +1 -0
- package/dist/elements/HierarchyButton/index.server.js +34 -0
- package/dist/elements/HierarchyButton/index.server.js.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts +5 -0
- package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/Column/index.js +166 -0
- package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/Column/index.scss +63 -0
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts +5 -0
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js +161 -0
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.scss +105 -0
- package/dist/elements/HierarchyColumnBrowser/index.d.ts +8 -0
- package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/index.js +473 -0
- package/dist/elements/HierarchyColumnBrowser/index.js.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/index.scss +20 -0
- package/dist/elements/HierarchyColumnBrowser/types.d.ts +106 -0
- package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +1 -0
- package/dist/elements/HierarchyColumnBrowser/types.js +2 -0
- package/dist/elements/HierarchyColumnBrowser/types.js.map +1 -0
- package/dist/elements/HierarchyDrawer/Drawer/index.d.ts +20 -0
- package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +1 -0
- package/dist/elements/HierarchyDrawer/Drawer/index.js +291 -0
- package/dist/elements/HierarchyDrawer/Drawer/index.js.map +1 -0
- package/dist/elements/HierarchyDrawer/Drawer/index.scss +81 -0
- package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts +15 -0
- package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +1 -0
- package/dist/elements/HierarchyDrawer/fetchAncestorPath.js +60 -0
- package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +1 -0
- package/dist/elements/HierarchyDrawer/index.d.ts +30 -0
- package/dist/elements/HierarchyDrawer/index.d.ts.map +1 -0
- package/dist/elements/HierarchyDrawer/index.js +148 -0
- package/dist/elements/HierarchyDrawer/index.js.map +1 -0
- package/dist/elements/HierarchyDrawer/types.d.ts +68 -0
- package/dist/elements/HierarchyDrawer/types.d.ts.map +1 -0
- package/dist/elements/HierarchyDrawer/types.js +3 -0
- package/dist/elements/HierarchyDrawer/types.js.map +1 -0
- package/dist/elements/HierarchyField/SelectedHierarchies.d.ts +13 -0
- package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +1 -0
- package/dist/elements/HierarchyField/SelectedHierarchies.js +194 -0
- package/dist/elements/HierarchyField/SelectedHierarchies.js.map +1 -0
- package/dist/elements/HierarchyField/SelectedHierarchies.scss +78 -0
- package/dist/elements/HierarchyField/index.client.d.ts +8 -0
- package/dist/elements/HierarchyField/index.client.d.ts.map +1 -0
- package/dist/elements/HierarchyField/index.client.js +198 -0
- package/dist/elements/HierarchyField/index.client.js.map +1 -0
- package/dist/elements/HierarchyField/index.scss +35 -0
- package/dist/elements/HierarchyField/index.server.d.ts +3 -0
- package/dist/elements/HierarchyField/index.server.d.ts.map +1 -0
- package/dist/elements/HierarchyField/index.server.js +30 -0
- package/dist/elements/HierarchyField/index.server.js.map +1 -0
- package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts +18 -0
- package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +1 -0
- package/dist/elements/HierarchySearch/HierarchySearchInput.js +115 -0
- package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +1 -0
- package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts +13 -0
- package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +1 -0
- package/dist/elements/HierarchySearch/HierarchySearchResultItem.js +88 -0
- package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +1 -0
- package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts +17 -0
- package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +1 -0
- package/dist/elements/HierarchySearch/HierarchySearchResults.js +85 -0
- package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +1 -0
- package/dist/elements/HierarchySearch/index.d.ts +10 -0
- package/dist/elements/HierarchySearch/index.d.ts.map +1 -0
- package/dist/elements/HierarchySearch/index.js +144 -0
- package/dist/elements/HierarchySearch/index.js.map +1 -0
- package/dist/elements/HierarchySearch/index.scss +212 -0
- package/dist/elements/HierarchySearch/types.d.ts +21 -0
- package/dist/elements/HierarchySearch/types.d.ts.map +1 -0
- package/dist/elements/HierarchySearch/types.js +2 -0
- package/dist/elements/HierarchySearch/types.js.map +1 -0
- package/dist/elements/HierarchySearch/useHierarchySearch.d.ts +20 -0
- package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +1 -0
- package/dist/elements/HierarchySearch/useHierarchySearch.js +122 -0
- package/dist/elements/HierarchySearch/useHierarchySearch.js.map +1 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts +21 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.js +167 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +1 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts +7 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js +176 -0
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +1 -0
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts +8 -0
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +36 -0
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +1 -0
- package/dist/elements/HierarchyTree/LoadMore/index.d.ts +12 -0
- package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/LoadMore/index.js +29 -0
- package/dist/elements/HierarchyTree/LoadMore/index.js.map +1 -0
- package/dist/elements/HierarchyTree/LoadMore/index.scss +26 -0
- package/dist/elements/HierarchyTree/TreeConnector.d.ts +7 -0
- package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/TreeConnector.js +23 -0
- package/dist/elements/HierarchyTree/TreeConnector.js.map +1 -0
- package/dist/elements/HierarchyTree/TreeFocusContext.d.ts +28 -0
- package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/TreeFocusContext.js +140 -0
- package/dist/elements/HierarchyTree/TreeFocusContext.js.map +1 -0
- package/dist/elements/HierarchyTree/TreeNode/index.d.ts +5 -0
- package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/TreeNode/index.js +201 -0
- package/dist/elements/HierarchyTree/TreeNode/index.js.map +1 -0
- package/dist/elements/HierarchyTree/TreeNode/index.scss +99 -0
- package/dist/elements/HierarchyTree/index.d.ts +4 -0
- package/dist/elements/HierarchyTree/index.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/index.js +66 -0
- package/dist/elements/HierarchyTree/index.js.map +1 -0
- package/dist/elements/HierarchyTree/index.scss +42 -0
- package/dist/elements/HierarchyTree/types.d.ts +57 -0
- package/dist/elements/HierarchyTree/types.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/types.js +2 -0
- package/dist/elements/HierarchyTree/types.js.map +1 -0
- package/dist/elements/HierarchyTree/useChildren.d.ts +26 -0
- package/dist/elements/HierarchyTree/useChildren.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/useChildren.js +150 -0
- package/dist/elements/HierarchyTree/useChildren.js.map +1 -0
- package/dist/elements/HierarchyTree/useTreeState.d.ts +9 -0
- package/dist/elements/HierarchyTree/useTreeState.d.ts.map +1 -0
- package/dist/elements/HierarchyTree/useTreeState.js +50 -0
- package/dist/elements/HierarchyTree/useTreeState.js.map +1 -0
- package/dist/elements/HydrateHierarchyProvider/index.d.ts +4 -0
- package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +1 -0
- package/dist/elements/HydrateHierarchyProvider/index.js +70 -0
- package/dist/elements/HydrateHierarchyProvider/index.js.map +1 -0
- package/dist/elements/Link/index.d.ts +4 -0
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/Link/index.js +5 -0
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.d.ts +0 -1
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +0 -1
- 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 +2 -1
- package/dist/elements/LoadMoreRow/index.d.ts +15 -0
- package/dist/elements/LoadMoreRow/index.d.ts.map +1 -0
- package/dist/elements/LoadMoreRow/index.js +75 -0
- package/dist/elements/LoadMoreRow/index.js.map +1 -0
- package/dist/elements/LoadMoreRow/index.scss +42 -0
- package/dist/elements/Locked/index.scss +1 -1
- package/dist/elements/MoveMany/index.d.ts +22 -0
- package/dist/elements/MoveMany/index.d.ts.map +1 -0
- package/dist/elements/MoveMany/index.js +278 -0
- package/dist/elements/MoveMany/index.js.map +1 -0
- package/dist/elements/MoveMany/index.scss +7 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +12 -17
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Spinner/index.d.ts +16 -0
- package/dist/elements/Spinner/index.d.ts.map +1 -0
- package/dist/elements/Spinner/index.js +49 -0
- package/dist/elements/Spinner/index.js.map +1 -0
- package/dist/elements/Spinner/index.scss +39 -0
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +10 -1
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +1 -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.d.ts +6 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +187 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -0
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.scss +29 -0
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +20 -0
- 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 +1 -15
- package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +8 -0
- package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +1 -0
- package/dist/elements/Tree/LoadMore/LoadMoreButton.js +36 -0
- package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +1 -0
- package/dist/elements/Tree/LoadMore/index.d.ts +12 -0
- package/dist/elements/Tree/LoadMore/index.d.ts.map +1 -0
- package/dist/elements/Tree/LoadMore/index.js +29 -0
- package/dist/elements/Tree/LoadMore/index.js.map +1 -0
- package/dist/elements/Tree/LoadMore/index.scss +26 -0
- package/dist/elements/Tree/TreeConnector.d.ts +7 -0
- package/dist/elements/Tree/TreeConnector.d.ts.map +1 -0
- package/dist/elements/Tree/TreeConnector.js +23 -0
- package/dist/elements/Tree/TreeConnector.js.map +1 -0
- package/dist/elements/Tree/TreeFocusContext.d.ts +28 -0
- package/dist/elements/Tree/TreeFocusContext.d.ts.map +1 -0
- package/dist/elements/Tree/TreeFocusContext.js +140 -0
- package/dist/elements/Tree/TreeFocusContext.js.map +1 -0
- package/dist/elements/Tree/TreeNode/index.d.ts +5 -0
- package/dist/elements/Tree/TreeNode/index.d.ts.map +1 -0
- package/dist/elements/Tree/TreeNode/index.js +221 -0
- package/dist/elements/Tree/TreeNode/index.js.map +1 -0
- package/dist/elements/Tree/TreeNode/index.scss +110 -0
- package/dist/elements/Tree/index.d.ts +5 -0
- package/dist/elements/Tree/index.d.ts.map +1 -0
- package/dist/elements/Tree/index.js +270 -0
- package/dist/elements/Tree/index.js.map +1 -0
- package/dist/elements/Tree/index.scss +63 -0
- package/dist/elements/Tree/types.d.ts +70 -0
- package/dist/elements/Tree/types.d.ts.map +1 -0
- package/dist/elements/Tree/types.js +2 -0
- package/dist/elements/Tree/types.js.map +1 -0
- package/dist/elements/Tree/useChildren.d.ts +28 -0
- package/dist/elements/Tree/useChildren.d.ts.map +1 -0
- package/dist/elements/Tree/useChildren.js +213 -0
- package/dist/elements/Tree/useChildren.js.map +1 -0
- package/dist/elements/withMergedProps/index.d.ts +1 -1
- package/dist/elements/withMergedProps/index.js +1 -1
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +30 -9
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +14 -12
- 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/exports/shared/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/Null/index.d.ts +11 -0
- package/dist/fields/Null/index.d.ts.map +1 -0
- package/dist/fields/Null/index.js +13 -0
- package/dist/fields/Null/index.js.map +1 -0
- package/dist/icons/Chevron/index.d.ts.map +1 -1
- package/dist/icons/Chevron/index.js +5 -1
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Document/index.d.ts +3 -1
- package/dist/icons/Document/index.d.ts.map +1 -1
- package/dist/icons/Document/index.js +4 -2
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Document/index.scss +4 -0
- package/dist/icons/Filter/index.d.ts +4 -0
- package/dist/icons/Filter/index.d.ts.map +1 -0
- package/dist/icons/Filter/index.js +15 -0
- package/dist/icons/Filter/index.js.map +1 -0
- package/dist/icons/Filter/index.scss +13 -0
- package/dist/icons/Folder/index.d.ts +4 -2
- package/dist/icons/Folder/index.d.ts.map +1 -1
- package/dist/icons/Folder/index.js +4 -2
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Folder/index.scss +8 -0
- package/dist/icons/Lock/index.scss +1 -1
- package/dist/icons/Plus/index.d.ts.map +1 -1
- package/dist/icons/Plus/index.js +2 -1
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Tag/index.d.ts +8 -0
- package/dist/icons/Tag/index.d.ts.map +1 -0
- package/dist/icons/Tag/index.js +22 -0
- package/dist/icons/Tag/index.js.map +1 -0
- package/dist/icons/Tag/index.scss +14 -0
- package/dist/providers/DocumentSelection/index.d.ts +8 -0
- package/dist/providers/DocumentSelection/index.d.ts.map +1 -0
- package/dist/providers/DocumentSelection/index.js +239 -0
- package/dist/providers/DocumentSelection/index.js.map +1 -0
- package/dist/providers/DocumentSelection/types.d.ts +122 -0
- package/dist/providers/DocumentSelection/types.d.ts.map +1 -0
- package/dist/providers/DocumentSelection/types.js +5 -0
- package/dist/providers/DocumentSelection/types.js.map +1 -0
- package/dist/providers/Hierarchy/index.d.ts +5 -0
- package/dist/providers/Hierarchy/index.d.ts.map +1 -0
- package/dist/providers/Hierarchy/index.js +346 -0
- package/dist/providers/Hierarchy/index.js.map +1 -0
- package/dist/providers/Hierarchy/types.d.ts +105 -0
- package/dist/providers/Hierarchy/types.d.ts.map +1 -0
- package/dist/providers/Hierarchy/types.js +2 -0
- package/dist/providers/Hierarchy/types.js.map +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +18 -15
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +1 -6
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +0 -18
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +2 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +34 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/isSuperset.d.ts +6 -0
- package/dist/utilities/isSuperset.d.ts.map +1 -0
- package/dist/utilities/isSuperset.js +10 -0
- package/dist/utilities/isSuperset.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +3 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +9 -3
- package/dist/utilities/renderTable.js.map +1 -1
- 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 +4 -2
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts +10 -0
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/DocumentListSelection/index.js +135 -0
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +21 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +67 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.scss +9 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts +4 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +104 -0
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts +4 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +53 -0
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts +4 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +128 -0
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +99 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +118 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.scss +214 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +27 -0
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/index.js +388 -0
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/index.scss +148 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +20 -0
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyTable/types.js +2 -0
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -0
- package/dist/views/HierarchyList/TypeFilter/index.d.ts +15 -0
- package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/TypeFilter/index.js +37 -0
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -0
- package/dist/views/HierarchyList/TypeFilter/index.scss +32 -0
- package/dist/views/HierarchyList/index.d.ts +5 -0
- package/dist/views/HierarchyList/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/index.js +305 -0
- package/dist/views/HierarchyList/index.js.map +1 -0
- package/dist/views/HierarchyList/index.scss +72 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +51 -7
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts +0 -19
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +0 -96
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +0 -1
- package/dist/elements/FolderView/Breadcrumbs/index.scss +0 -56
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +0 -6
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +0 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +0 -40
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +0 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.scss +0 -30
- package/dist/elements/FolderView/Cell/index.client.d.ts +0 -13
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +0 -1
- package/dist/elements/FolderView/Cell/index.client.js +0 -95
- package/dist/elements/FolderView/Cell/index.client.js.map +0 -1
- package/dist/elements/FolderView/Cell/index.server.d.ts +0 -4
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +0 -1
- package/dist/elements/FolderView/Cell/index.server.js +0 -18
- package/dist/elements/FolderView/Cell/index.server.js.map +0 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +0 -3
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +0 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +0 -9
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +0 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.scss +0 -5
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +0 -7
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +0 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +0 -162
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +0 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +0 -11
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +0 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +0 -62
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +0 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.scss +0 -35
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts +0 -18
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +0 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +0 -63
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +0 -1
- package/dist/elements/FolderView/DraggableTableRow/index.scss +0 -135
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts +0 -15
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +0 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +0 -86
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +0 -1
- package/dist/elements/FolderView/DraggableWithClick/index.scss +0 -5
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts +0 -7
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +0 -39
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +0 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +0 -37
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +0 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +0 -609
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +0 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +0 -30
- package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts +0 -4
- package/dist/elements/FolderView/FilterFolderTypePill/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +0 -102
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +0 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.scss +0 -16
- package/dist/elements/FolderView/FolderField/index.scss +0 -12
- package/dist/elements/FolderView/FolderField/index.server.d.ts +0 -4
- package/dist/elements/FolderView/FolderField/index.server.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderField/index.server.js +0 -16
- package/dist/elements/FolderView/FolderField/index.server.js.map +0 -1
- package/dist/elements/FolderView/FolderFileCard/index.d.ts +0 -30
- package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +0 -209
- package/dist/elements/FolderView/FolderFileCard/index.js.map +0 -1
- package/dist/elements/FolderView/FolderFileCard/index.scss +0 -247
- package/dist/elements/FolderView/FolderFileTable/index.d.ts +0 -8
- package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +0 -284
- package/dist/elements/FolderView/FolderFileTable/index.js.map +0 -1
- package/dist/elements/FolderView/FolderFileTable/index.scss +0 -11
- package/dist/elements/FolderView/FolderTypeField/index.d.ts +0 -4
- package/dist/elements/FolderView/FolderTypeField/index.d.ts.map +0 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +0 -123
- package/dist/elements/FolderView/FolderTypeField/index.js.map +0 -1
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts +0 -16
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +0 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +0 -34
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +0 -1
- package/dist/elements/FolderView/ItemCardGrid/index.scss +0 -16
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +0 -37
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +0 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +0 -292
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +0 -1
- package/dist/elements/FolderView/SimpleTable/index.d.ts +0 -19
- package/dist/elements/FolderView/SimpleTable/index.d.ts.map +0 -1
- package/dist/elements/FolderView/SimpleTable/index.js +0 -95
- package/dist/elements/FolderView/SimpleTable/index.js.map +0 -1
- package/dist/elements/FolderView/SimpleTable/index.scss +0 -59
- package/dist/elements/FolderView/SortByPill/index.d.ts +0 -4
- package/dist/elements/FolderView/SortByPill/index.d.ts.map +0 -1
- package/dist/elements/FolderView/SortByPill/index.js +0 -112
- package/dist/elements/FolderView/SortByPill/index.js.map +0 -1
- package/dist/elements/FolderView/SortByPill/index.scss +0 -16
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +0 -8
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +0 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +0 -31
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +0 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.scss +0 -17
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +0 -15
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +0 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +0 -182
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +0 -1
- package/dist/providers/Folders/groupItemIDsByRelation.d.ts +0 -3
- package/dist/providers/Folders/groupItemIDsByRelation.d.ts.map +0 -1
- package/dist/providers/Folders/groupItemIDsByRelation.js +0 -10
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +0 -1
- package/dist/providers/Folders/index.d.ts +0 -143
- package/dist/providers/Folders/index.d.ts.map +0 -1
- package/dist/providers/Folders/index.js +0 -641
- package/dist/providers/Folders/index.js.map +0 -1
- package/dist/utilities/getFolderResultsComponentAndData.d.ts +0 -25
- package/dist/utilities/getFolderResultsComponentAndData.d.ts.map +0 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +0 -135
- package/dist/utilities/getFolderResultsComponentAndData.js.map +0 -1
- package/dist/views/BrowseByFolder/index.d.ts +0 -5
- package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/index.js +0 -342
- package/dist/views/BrowseByFolder/index.js.map +0 -1
- package/dist/views/BrowseByFolder/index.scss +0 -174
- package/dist/views/CollectionFolder/ListSelection/index.d.ts +0 -9
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +0 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +0 -180
- package/dist/views/CollectionFolder/ListSelection/index.js.map +0 -1
- package/dist/views/CollectionFolder/index.d.ts +0 -5
- package/dist/views/CollectionFolder/index.d.ts.map +0 -1
- package/dist/views/CollectionFolder/index.js +0 -325
- package/dist/views/CollectionFolder/index.js.map +0 -1
- package/dist/views/CollectionFolder/index.scss +0 -162
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Filter/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAS9B,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export const FilterIcon = () => /*#__PURE__*/_jsx("svg", {
|
|
5
|
+
className: "icon icon--filter",
|
|
6
|
+
fill: "none",
|
|
7
|
+
viewBox: "0 0 20 20",
|
|
8
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
9
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
10
|
+
className: "stroke",
|
|
11
|
+
d: "M3 5H17M6 10H14M9 15H11",
|
|
12
|
+
strokeLinecap: "square"
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","FilterIcon","_jsx","className","fill","viewBox","xmlns","d","strokeLinecap"],"sources":["../../../src/icons/Filter/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const FilterIcon: React.FC = () => (\n <svg\n className=\"icon icon--filter\"\n fill=\"none\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path className=\"stroke\" d=\"M3 5H17M6 10H14M9 15H11\" strokeLinecap=\"square\" />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,UAAA,GAAuBA,CAAA,kBAClCC,IAAA,CAAC;EACCC,SAAA,EAAU;EACVC,IAAA,EAAK;EACLC,OAAA,EAAQ;EACRC,KAAA,EAAM;YAEN,aAAAJ,IAAA,CAAC;IAAKC,SAAA,EAAU;IAASI,CAAA,EAAE;IAA0BC,aAAA,EAAc","ignoreList":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './index.scss';
|
|
3
|
-
export
|
|
3
|
+
export type FolderIconProps = {
|
|
4
4
|
className?: string;
|
|
5
|
-
|
|
5
|
+
color?: 'dark' | 'default' | 'muted';
|
|
6
|
+
};
|
|
7
|
+
export declare function FolderIcon({ className, color }: FolderIconProps): React.JSX.Element;
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Folder/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Folder/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACrC,CAAA;AAED,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,qBAkB/D"}
|
|
@@ -2,10 +2,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export function FolderIcon({
|
|
5
|
-
className
|
|
5
|
+
className,
|
|
6
|
+
color
|
|
6
7
|
}) {
|
|
8
|
+
const colorClass = color ? `icon--folder--${color}` : '';
|
|
7
9
|
return /*#__PURE__*/_jsx("svg", {
|
|
8
|
-
className: [className, 'icon icon--folder'].filter(Boolean).join(' '),
|
|
10
|
+
className: [className, 'icon icon--folder', colorClass].filter(Boolean).join(' '),
|
|
9
11
|
fill: "none",
|
|
10
12
|
height: "16",
|
|
11
13
|
viewBox: "0 0 16 16",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","FolderIcon","className","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Folder/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport function FolderIcon({ className }: {
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","FolderIcon","className","color","colorClass","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Folder/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport type FolderIconProps = {\n className?: string\n color?: 'dark' | 'default' | 'muted'\n}\n\nexport function FolderIcon({ className, color }: FolderIconProps) {\n const colorClass = color ? `icon--folder--${color}` : ''\n\n return (\n <svg\n className={[className, 'icon icon--folder', colorClass].filter(Boolean).join(' ')}\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M13.3333 13.3333C13.6869 13.3333 14.026 13.1929 14.2761 12.9428C14.5261 12.6928 14.6666 12.3536 14.6666 12V5.33333C14.6666 4.97971 14.5261 4.64057 14.2761 4.39052C14.026 4.14048 13.6869 4 13.3333 4H8.06659C7.84359 4.00219 7.62362 3.94841 7.42679 3.84359C7.22996 3.73877 7.06256 3.58625 6.93992 3.4L6.39992 2.6C6.27851 2.41565 6.11323 2.26432 5.91892 2.1596C5.7246 2.05488 5.50732 2.00004 5.28659 2H2.66659C2.31296 2 1.97382 2.14048 1.72378 2.39052C1.47373 2.64057 1.33325 2.97971 1.33325 3.33333V12C1.33325 12.3536 1.47373 12.6928 1.72378 12.9428C1.97382 13.1929 2.31296 13.3333 2.66659 13.3333H13.3333Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAOP,OAAO,SAASC,WAAW;EAAEC,SAAS;EAAEC;AAAK,CAAmB;EAC9D,MAAMC,UAAA,GAAaD,KAAA,GAAQ,iBAAiBA,KAAA,EAAO,GAAG;EAEtD,oBACEE,IAAA,CAAC;IACCH,SAAA,EAAW,CAACA,SAAA,EAAW,qBAAqBE,UAAA,CAAW,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAC7EC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAR,IAAA,CAAC;MACCS,CAAA,EAAE;MACFL,IAAA,EAAK;;;AAIb","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Plus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Plus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAe5B,CAAA"}
|
package/dist/icons/Plus/index.js
CHANGED
|
@@ -10,7 +10,8 @@ export const PlusIcon = () => /*#__PURE__*/_jsx("svg", {
|
|
|
10
10
|
children: /*#__PURE__*/_jsx("path", {
|
|
11
11
|
className: "stroke",
|
|
12
12
|
d: "M5.33333 9.99998H14.6667M9.99999 5.33331V14.6666",
|
|
13
|
-
strokeLinecap: "
|
|
13
|
+
strokeLinecap: "round",
|
|
14
|
+
strokeLinejoin: "round"
|
|
14
15
|
})
|
|
15
16
|
});
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PlusIcon","_jsx","className","height","viewBox","width","xmlns","d","strokeLinecap"],"sources":["../../../src/icons/Plus/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const PlusIcon: React.FC = () => (\n <svg\n className=\"icon icon--plus\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n className=\"stroke\"\n d=\"M5.33333 9.99998H14.6667M9.99999 5.33331V14.6666\"\n strokeLinecap=\"
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PlusIcon","_jsx","className","height","viewBox","width","xmlns","d","strokeLinecap","strokeLinejoin"],"sources":["../../../src/icons/Plus/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport const PlusIcon: React.FC = () => (\n <svg\n className=\"icon icon--plus\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n width=\"20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n className=\"stroke\"\n d=\"M5.33333 9.99998H14.6667M9.99999 5.33331V14.6666\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,OAAO,MAAMC,QAAA,GAAqBA,CAAA,kBAChCC,IAAA,CAAC;EACCC,SAAA,EAAU;EACVC,MAAA,EAAO;EACPC,OAAA,EAAQ;EACRC,KAAA,EAAM;EACNC,KAAA,EAAM;YAEN,aAAAL,IAAA,CAAC;IACCC,SAAA,EAAU;IACVK,CAAA,EAAE;IACFC,aAAA,EAAc;IACdC,cAAA,EAAe","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.scss';
|
|
3
|
+
export type TagIconProps = {
|
|
4
|
+
className?: string;
|
|
5
|
+
color?: 'dark' | 'default' | 'muted';
|
|
6
|
+
};
|
|
7
|
+
export declare function TagIcon({ className, color }: TagIconProps): React.JSX.Element;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/icons/Tag/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACrC,CAAA;AAED,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,YAAY,qBAkBzD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export function TagIcon({
|
|
5
|
+
className,
|
|
6
|
+
color
|
|
7
|
+
}) {
|
|
8
|
+
const colorClass = color ? `icon--tag--${color}` : '';
|
|
9
|
+
return /*#__PURE__*/_jsx("svg", {
|
|
10
|
+
className: [className, 'icon icon--tag', colorClass].filter(Boolean).join(' '),
|
|
11
|
+
fill: "none",
|
|
12
|
+
height: "16",
|
|
13
|
+
viewBox: "0 0 16 16",
|
|
14
|
+
width: "16",
|
|
15
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
17
|
+
d: "M8.39065 1.72401C8.14066 1.47394 7.80157 1.33342 7.44798 1.33334H2.66665C2.31302 1.33334 1.97389 1.47382 1.72384 1.72387C1.47379 1.97392 1.33331 2.31305 1.33331 2.66668V7.44801C1.33339 7.8016 1.47391 8.14069 1.72398 8.39068L7.52665 14.1933C7.82966 14.4944 8.23948 14.6634 8.66665 14.6634C9.09382 14.6634 9.50364 14.4944 9.80665 14.1933L14.1933 9.80668C14.4944 9.50367 14.6634 9.09385 14.6634 8.66668C14.6634 8.23951 14.4944 7.82969 14.1933 7.52668L8.39065 1.72401ZM4.99998 5.66668C4.63179 5.66668 4.33331 5.3682 4.33331 5.00001C4.33331 4.63182 4.63179 4.33334 4.99998 4.33334C5.36817 4.33334 5.66665 4.63182 5.66665 5.00001C5.66665 5.3682 5.36817 5.66668 4.99998 5.66668Z",
|
|
18
|
+
fill: "currentColor"
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","TagIcon","className","color","colorClass","_jsx","filter","Boolean","join","fill","height","viewBox","width","xmlns","d"],"sources":["../../../src/icons/Tag/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nexport type TagIconProps = {\n className?: string\n color?: 'dark' | 'default' | 'muted'\n}\n\nexport function TagIcon({ className, color }: TagIconProps) {\n const colorClass = color ? `icon--tag--${color}` : ''\n\n return (\n <svg\n className={[className, 'icon icon--tag', colorClass].filter(Boolean).join(' ')}\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.39065 1.72401C8.14066 1.47394 7.80157 1.33342 7.44798 1.33334H2.66665C2.31302 1.33334 1.97389 1.47382 1.72384 1.72387C1.47379 1.97392 1.33331 2.31305 1.33331 2.66668V7.44801C1.33339 7.8016 1.47391 8.14069 1.72398 8.39068L7.52665 14.1933C7.82966 14.4944 8.23948 14.6634 8.66665 14.6634C9.09382 14.6634 9.50364 14.4944 9.80665 14.1933L14.1933 9.80668C14.4944 9.50367 14.6634 9.09385 14.6634 8.66668C14.6634 8.23951 14.4944 7.82969 14.1933 7.52668L8.39065 1.72401ZM4.99998 5.66668C4.63179 5.66668 4.33331 5.3682 4.33331 5.00001C4.33331 4.63182 4.63179 4.33334 4.99998 4.33334C5.36817 4.33334 5.66665 4.63182 5.66665 5.00001C5.66665 5.3682 5.36817 5.66668 4.99998 5.66668Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAOP,OAAO,SAASC,QAAQ;EAAEC,SAAS;EAAEC;AAAK,CAAgB;EACxD,MAAMC,UAAA,GAAaD,KAAA,GAAQ,cAAcA,KAAA,EAAO,GAAG;EAEnD,oBACEE,IAAA,CAAC;IACCH,SAAA,EAAW,CAACA,SAAA,EAAW,kBAAkBE,UAAA,CAAW,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAC1EC,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAR,IAAA,CAAC;MACCS,CAAA,EAAE;MACFL,IAAA,EAAK;;;AAIb","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { CollectionData, CollectionSelectionState, DocumentSelectionContextValue, DocumentSelectionProviderProps, SelectableDocument, SelectionMetadata, SelectionState } from './types.js';
|
|
3
|
+
import { SelectAllStatus } from '../Selection/index.js';
|
|
4
|
+
export { SelectAllStatus };
|
|
5
|
+
export type { CollectionData, CollectionSelectionState, DocumentSelectionContextValue, DocumentSelectionProviderProps, SelectableDocument, SelectionMetadata, SelectionState, };
|
|
6
|
+
export declare const DocumentSelectionProvider: React.FC<DocumentSelectionProviderProps>;
|
|
7
|
+
export declare const useDocumentSelection: () => DocumentSelectionContextValue;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentSelection/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,CAAA;AAkCD,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CA6Q9E,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,6BAQvC,CAAA"}
|
|
@@ -0,0 +1,239 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentSelection/types.ts"],"names":[],"mappings":"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"}
|