@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,198 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
5
|
+
import React, { useCallback, useMemo } from 'react';
|
|
6
|
+
import { FieldDescription } from '../../fields/FieldDescription/index.js';
|
|
7
|
+
import { FieldError } from '../../fields/FieldError/index.js';
|
|
8
|
+
import { FieldLabel } from '../../fields/FieldLabel/index.js';
|
|
9
|
+
import { mergeFieldStyles } from '../../fields/mergeFieldStyles.js';
|
|
10
|
+
import { fieldBaseClass } from '../../fields/shared/index.js';
|
|
11
|
+
import { useField } from '../../forms/useField/index.js';
|
|
12
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
13
|
+
import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
|
|
14
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
15
|
+
import { Button } from '../Button/index.js';
|
|
16
|
+
import { useHierarchyDrawer } from '../HierarchyDrawer/index.js';
|
|
17
|
+
import { RenderCustomComponent } from '../RenderCustomComponent/index.js';
|
|
18
|
+
import { SelectedHierarchies } from './SelectedHierarchies.js';
|
|
19
|
+
import './index.scss';
|
|
20
|
+
const baseClass = 'hierarchy-field';
|
|
21
|
+
export const HierarchyFieldClient = props => {
|
|
22
|
+
const {
|
|
23
|
+
field,
|
|
24
|
+
field: {
|
|
25
|
+
admin: {
|
|
26
|
+
className,
|
|
27
|
+
description
|
|
28
|
+
} = {},
|
|
29
|
+
hasMany,
|
|
30
|
+
label,
|
|
31
|
+
localized,
|
|
32
|
+
relationTo: relationToProp,
|
|
33
|
+
required
|
|
34
|
+
},
|
|
35
|
+
Icon,
|
|
36
|
+
path: pathFromProps,
|
|
37
|
+
readOnly,
|
|
38
|
+
validate
|
|
39
|
+
} = props;
|
|
40
|
+
const hierarchySlug = Array.isArray(relationToProp) ? relationToProp[0] : relationToProp;
|
|
41
|
+
const {
|
|
42
|
+
getEntityConfig
|
|
43
|
+
} = useConfig();
|
|
44
|
+
const {
|
|
45
|
+
collectionSlug: documentCollectionSlug
|
|
46
|
+
} = useDocumentInfo();
|
|
47
|
+
const {
|
|
48
|
+
i18n,
|
|
49
|
+
t
|
|
50
|
+
} = useTranslation();
|
|
51
|
+
const collectionConfig = getEntityConfig({
|
|
52
|
+
collectionSlug: hierarchySlug
|
|
53
|
+
});
|
|
54
|
+
const memoizedValidate = useCallback((value, validationOptions) => {
|
|
55
|
+
if (typeof validate === 'function') {
|
|
56
|
+
return validate(value, {
|
|
57
|
+
...validationOptions,
|
|
58
|
+
required
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}, [validate, required]);
|
|
62
|
+
const {
|
|
63
|
+
customComponents: {
|
|
64
|
+
AfterInput,
|
|
65
|
+
BeforeInput,
|
|
66
|
+
Description,
|
|
67
|
+
Error,
|
|
68
|
+
Label
|
|
69
|
+
} = {},
|
|
70
|
+
disabled,
|
|
71
|
+
path,
|
|
72
|
+
setValue,
|
|
73
|
+
showError,
|
|
74
|
+
value: value_0
|
|
75
|
+
} = useField({
|
|
76
|
+
potentiallyStalePath: pathFromProps,
|
|
77
|
+
validate: memoizedValidate
|
|
78
|
+
});
|
|
79
|
+
const styles = useMemo(() => mergeFieldStyles(field), [field]);
|
|
80
|
+
// Normalize value to array of IDs for display
|
|
81
|
+
const selectedIds = useMemo(() => {
|
|
82
|
+
if (!value_0) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
if (Array.isArray(value_0)) {
|
|
86
|
+
return value_0;
|
|
87
|
+
}
|
|
88
|
+
return [value_0];
|
|
89
|
+
}, [value_0]);
|
|
90
|
+
// Initialize selections for the drawer - use current value so drawer expands to current selection
|
|
91
|
+
const initialSelections = useMemo(() => {
|
|
92
|
+
if (!value_0) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
if (Array.isArray(value_0)) {
|
|
96
|
+
return value_0;
|
|
97
|
+
}
|
|
98
|
+
return [value_0];
|
|
99
|
+
}, [value_0]);
|
|
100
|
+
// Memoize to prevent new array references on every render
|
|
101
|
+
const filterByCollection = useMemo(() => documentCollectionSlug ? [documentCollectionSlug] : undefined, [documentCollectionSlug]);
|
|
102
|
+
const [HierarchyDrawer,, {
|
|
103
|
+
openDrawer
|
|
104
|
+
}] = useHierarchyDrawer({
|
|
105
|
+
filterByCollection,
|
|
106
|
+
hierarchyCollectionSlug: hierarchySlug,
|
|
107
|
+
Icon
|
|
108
|
+
});
|
|
109
|
+
const handleDrawerSave = useCallback(({
|
|
110
|
+
closeDrawer,
|
|
111
|
+
selections
|
|
112
|
+
}) => {
|
|
113
|
+
const ids = Array.from(selections.keys());
|
|
114
|
+
const newValue = hasMany ? ids : ids[0] ?? null;
|
|
115
|
+
setValue(newValue);
|
|
116
|
+
closeDrawer();
|
|
117
|
+
}, [hasMany, setValue]);
|
|
118
|
+
const handleRemove = useCallback(({
|
|
119
|
+
id: idToRemove
|
|
120
|
+
}) => {
|
|
121
|
+
if (hasMany) {
|
|
122
|
+
const newIds = selectedIds.filter(id => id !== idToRemove);
|
|
123
|
+
setValue(newIds.length > 0 ? newIds : null);
|
|
124
|
+
} else {
|
|
125
|
+
setValue(null);
|
|
126
|
+
}
|
|
127
|
+
}, [hasMany, selectedIds, setValue]);
|
|
128
|
+
const handleOpenDrawer = useCallback(() => {
|
|
129
|
+
openDrawer();
|
|
130
|
+
}, [openDrawer]);
|
|
131
|
+
const hierarchyLabel = getTranslation(hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular, i18n) || hierarchySlug;
|
|
132
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
133
|
+
className: [fieldBaseClass, baseClass, className, showError && 'error', readOnly && `${baseClass}--read-only`].filter(Boolean).join(' '),
|
|
134
|
+
id: `field-${path?.replace(/\./g, '__')}`,
|
|
135
|
+
style: styles,
|
|
136
|
+
children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
137
|
+
CustomComponent: Label,
|
|
138
|
+
Fallback: /*#__PURE__*/_jsxs("div", {
|
|
139
|
+
className: `${baseClass}__label`,
|
|
140
|
+
children: [/*#__PURE__*/_jsx(FieldLabel, {
|
|
141
|
+
label: label,
|
|
142
|
+
localized: localized,
|
|
143
|
+
path: path,
|
|
144
|
+
required: required,
|
|
145
|
+
unstyled: true
|
|
146
|
+
}), Boolean(Icon) && /*#__PURE__*/_jsx("span", {
|
|
147
|
+
className: `${baseClass}__label-icon`,
|
|
148
|
+
children: Icon
|
|
149
|
+
})]
|
|
150
|
+
})
|
|
151
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
152
|
+
className: `${fieldBaseClass}__wrap`,
|
|
153
|
+
children: [/*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
154
|
+
CustomComponent: Error,
|
|
155
|
+
Fallback: /*#__PURE__*/_jsx(FieldError, {
|
|
156
|
+
path: path,
|
|
157
|
+
showError: showError
|
|
158
|
+
})
|
|
159
|
+
}), BeforeInput, /*#__PURE__*/_jsxs("div", {
|
|
160
|
+
className: `${baseClass}__content`,
|
|
161
|
+
children: [selectedIds.length > 0 && /*#__PURE__*/_jsx(SelectedHierarchies, {
|
|
162
|
+
hierarchySlug: hierarchySlug,
|
|
163
|
+
onRemove: handleRemove,
|
|
164
|
+
readOnly: readOnly || disabled,
|
|
165
|
+
selectedIds: selectedIds
|
|
166
|
+
}), hasMany && selectedIds.length === 0 && /*#__PURE__*/_jsx("span", {
|
|
167
|
+
className: `${baseClass}__placeholder`,
|
|
168
|
+
children: t('general:noLabel', {
|
|
169
|
+
label: hierarchyLabel
|
|
170
|
+
})
|
|
171
|
+
}), !readOnly && (hasMany || selectedIds.length === 0) && /*#__PURE__*/_jsx(Button, {
|
|
172
|
+
buttonStyle: "dashed",
|
|
173
|
+
className: `${baseClass}__manage-button`,
|
|
174
|
+
disabled: disabled,
|
|
175
|
+
icon: "plus",
|
|
176
|
+
iconPosition: "left",
|
|
177
|
+
margin: false,
|
|
178
|
+
onClick: handleOpenDrawer,
|
|
179
|
+
size: "small",
|
|
180
|
+
children: t('general:selectLabel', {
|
|
181
|
+
label: hierarchyLabel
|
|
182
|
+
})
|
|
183
|
+
})]
|
|
184
|
+
}), AfterInput, /*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
185
|
+
CustomComponent: Description,
|
|
186
|
+
Fallback: /*#__PURE__*/_jsx(FieldDescription, {
|
|
187
|
+
description: description,
|
|
188
|
+
path: path
|
|
189
|
+
})
|
|
190
|
+
})]
|
|
191
|
+
}), /*#__PURE__*/_jsx(HierarchyDrawer, {
|
|
192
|
+
hasMany: hasMany,
|
|
193
|
+
initialSelections: initialSelections,
|
|
194
|
+
onSave: handleDrawerSave
|
|
195
|
+
})]
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=index.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["getTranslation","React","useCallback","useMemo","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","useField","useConfig","useDocumentInfo","useTranslation","Button","useHierarchyDrawer","RenderCustomComponent","SelectedHierarchies","baseClass","HierarchyFieldClient","props","field","admin","className","description","hasMany","label","localized","relationTo","relationToProp","required","Icon","path","pathFromProps","readOnly","validate","hierarchySlug","Array","isArray","getEntityConfig","collectionSlug","documentCollectionSlug","i18n","t","collectionConfig","memoizedValidate","value","validationOptions","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","styles","selectedIds","initialSelections","filterByCollection","undefined","HierarchyDrawer","openDrawer","hierarchyCollectionSlug","handleDrawerSave","closeDrawer","selections","ids","from","keys","newValue","handleRemove","id","idToRemove","newIds","filter","length","handleOpenDrawer","hierarchyLabel","labels","plural","singular","_jsxs","Boolean","join","replace","style","_jsx","CustomComponent","Fallback","unstyled","onRemove","buttonStyle","icon","iconPosition","margin","onClick","size","onSave"],"sources":["../../../src/elements/HierarchyField/index.client.tsx"],"sourcesContent":["'use client'\nimport type { RelationshipFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { SelectionWithPath } from '../HierarchyDrawer/types.js'\n\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { mergeFieldStyles } from '../../fields/mergeFieldStyles.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useHierarchyDrawer } from '../HierarchyDrawer/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SelectedHierarchies } from './SelectedHierarchies.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-field'\n\ntype Value = (number | string)[] | null | (number | string)\n\nexport type HierarchyFieldClientProps = {\n Icon?: React.ReactNode\n} & RelationshipFieldClientProps\n\nexport const HierarchyFieldClient: React.FC<HierarchyFieldClientProps> = (props) => {\n const {\n field,\n field: {\n admin: { className, description } = {},\n hasMany,\n label,\n localized,\n relationTo: relationToProp,\n required,\n },\n Icon,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const hierarchySlug = Array.isArray(relationToProp) ? relationToProp[0] : relationToProp\n\n const { getEntityConfig } = useConfig()\n const { collectionSlug: documentCollectionSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n\n const collectionConfig = getEntityConfig({ collectionSlug: hierarchySlug })\n\n const memoizedValidate = useCallback(\n (value: Value, validationOptions: Parameters<typeof validate>[1]) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<Value>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n // Normalize value to array of IDs for display\n const selectedIds = useMemo((): (number | string)[] => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value]\n }, [value])\n\n // Initialize selections for the drawer - use current value so drawer expands to current selection\n const initialSelections = useMemo(() => {\n if (!value) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value] as (number | string)[]\n }, [value])\n\n // Memoize to prevent new array references on every render\n const filterByCollection = useMemo(\n () => (documentCollectionSlug ? [documentCollectionSlug] : undefined),\n [documentCollectionSlug],\n )\n\n const [HierarchyDrawer, , { openDrawer }] = useHierarchyDrawer({\n filterByCollection,\n hierarchyCollectionSlug: hierarchySlug,\n Icon,\n })\n\n const handleDrawerSave = useCallback(\n ({\n closeDrawer,\n selections,\n }: {\n closeDrawer: () => void\n selections: Map<number | string, SelectionWithPath>\n }) => {\n const ids = Array.from(selections.keys())\n const newValue = hasMany ? ids : (ids[0] ?? null)\n setValue(newValue)\n closeDrawer()\n },\n [hasMany, setValue],\n )\n\n const handleRemove = useCallback(\n ({ id: idToRemove }: { id: number | string }) => {\n if (hasMany) {\n const newIds = selectedIds.filter((id) => id !== idToRemove)\n setValue(newIds.length > 0 ? newIds : null)\n } else {\n setValue(null)\n }\n },\n [hasMany, selectedIds, setValue],\n )\n\n const handleOpenDrawer = useCallback(() => {\n openDrawer()\n }, [openDrawer])\n\n const hierarchyLabel =\n getTranslation(\n hasMany ? collectionConfig?.labels?.plural : collectionConfig?.labels?.singular,\n i18n,\n ) || hierarchySlug\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <div className={`${baseClass}__label`}>\n <FieldLabel\n label={label}\n localized={localized}\n path={path}\n required={required}\n unstyled\n />\n {Boolean(Icon) && <span className={`${baseClass}__label-icon`}>{Icon}</span>}\n </div>\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n <div className={`${baseClass}__content`}>\n {selectedIds.length > 0 && (\n <SelectedHierarchies\n hierarchySlug={hierarchySlug}\n onRemove={handleRemove}\n readOnly={readOnly || disabled}\n selectedIds={selectedIds}\n />\n )}\n {hasMany && selectedIds.length === 0 && (\n <span className={`${baseClass}__placeholder`}>\n {t('general:noLabel', { label: hierarchyLabel })}\n </span>\n )}\n {!readOnly && (hasMany || selectedIds.length === 0) && (\n <Button\n buttonStyle=\"dashed\"\n className={`${baseClass}__manage-button`}\n disabled={disabled}\n icon=\"plus\"\n iconPosition=\"left\"\n margin={false}\n onClick={handleOpenDrawer}\n size=\"small\"\n >\n {t('general:selectLabel', { label: hierarchyLabel })}\n </Button>\n )}\n </div>\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n <HierarchyDrawer\n hasMany={hasMany}\n initialSelections={initialSelections}\n onSave={handleDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AAGA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAI5C,SAASC,gBAAgB,QAAQ;AACjC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,mBAAmB,QAAQ;AACpC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAQlB,OAAO,MAAMC,oBAAA,GAA6DC,KAAA;EACxE,MAAM;IACJC,KAAK;IACLA,KAAA,EAAO;MACLC,KAAA,EAAO;QAAEC,SAAS;QAAEC;MAAW,CAAE,GAAG,CAAC,CAAC;MACtCC,OAAO;MACPC,KAAK;MACLC,SAAS;MACTC,UAAA,EAAYC,cAAc;MAC1BC;IAAQ,CACT;IACDC,IAAI;IACJC,IAAA,EAAMC,aAAa;IACnBC,QAAQ;IACRC;EAAQ,CACT,GAAGf,KAAA;EAEJ,MAAMgB,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACT,cAAA,IAAkBA,cAAc,CAAC,EAAE,GAAGA,cAAA;EAE1E,MAAM;IAAEU;EAAe,CAAE,GAAG5B,SAAA;EAC5B,MAAM;IAAE6B,cAAA,EAAgBC;EAAsB,CAAE,GAAG7B,eAAA;EACnD,MAAM;IAAE8B,IAAI;IAAEC;EAAC,CAAE,GAAG9B,cAAA;EAEpB,MAAM+B,gBAAA,GAAmBL,eAAA,CAAgB;IAAEC,cAAA,EAAgBJ;EAAc;EAEzE,MAAMS,gBAAA,GAAmB1C,WAAA,CACvB,CAAC2C,KAAA,EAAcC,iBAAA;IACb,IAAI,OAAOZ,QAAA,KAAa,YAAY;MAClC,OAAOA,QAAA,CAASW,KAAA,EAAO;QAAE,GAAGC,iBAAiB;QAAEjB;MAAS;IAC1D;EACF,GACA,CAACK,QAAA,EAAUL,QAAA,CAAS;EAGtB,MAAM;IACJkB,gBAAA,EAAkB;MAAEC,UAAU;MAAEC,WAAW;MAAEC,WAAW;MAAEC,KAAK;MAAEC;IAAK,CAAE,GAAG,CAAC,CAAC;IAC7EC,QAAQ;IACRtB,IAAI;IACJuB,QAAQ;IACRC,SAAS;IACTV,KAAK,EAALA;EAAK,CACN,GAAGpC,QAAA,CAAgB;IAClB+C,oBAAA,EAAsBxB,aAAA;IACtBE,QAAA,EAAUU;EACZ;EAEA,MAAMa,MAAA,GAAStD,OAAA,CAAQ,MAAMI,gBAAA,CAAiBa,KAAA,GAAQ,CAACA,KAAA,CAAM;EAE7D;EACA,MAAMsC,WAAA,GAAcvD,OAAA,CAAQ;IAC1B,IAAI,CAAC0C,OAAA,EAAO;MACV,OAAO,EAAE;IACX;IAEA,IAAIT,KAAA,CAAMC,OAAO,CAACQ,OAAA,GAAQ;MACxB,OAAOA,OAAA;IACT;IAEA,OAAO,CAACA,OAAA,CAAM;EAChB,GAAG,CAACA,OAAA,CAAM;EAEV;EACA,MAAMc,iBAAA,GAAoBxD,OAAA,CAAQ;IAChC,IAAI,CAAC0C,OAAA,EAAO;MACV,OAAO,EAAE;IACX;IAEA,IAAIT,KAAA,CAAMC,OAAO,CAACQ,OAAA,GAAQ;MACxB,OAAOA,OAAA;IACT;IAEA,OAAO,CAACA,OAAA,CAAM;EAChB,GAAG,CAACA,OAAA,CAAM;EAEV;EACA,MAAMe,kBAAA,GAAqBzD,OAAA,CACzB,MAAOqC,sBAAA,GAAyB,CAACA,sBAAA,CAAuB,GAAGqB,SAAA,EAC3D,CAACrB,sBAAA,CAAuB;EAG1B,MAAM,CAACsB,eAAA,GAAmB;IAAEC;EAAU,CAAE,CAAC,GAAGjD,kBAAA,CAAmB;IAC7D8C,kBAAA;IACAI,uBAAA,EAAyB7B,aAAA;IACzBL;EACF;EAEA,MAAMmC,gBAAA,GAAmB/D,WAAA,CACvB,CAAC;IACCgE,WAAW;IACXC;EAAU,CAIX;IACC,MAAMC,GAAA,GAAMhC,KAAA,CAAMiC,IAAI,CAACF,UAAA,CAAWG,IAAI;IACtC,MAAMC,QAAA,GAAW/C,OAAA,GAAU4C,GAAA,GAAOA,GAAG,CAAC,EAAE,IAAI;IAC5Cd,QAAA,CAASiB,QAAA;IACTL,WAAA;EACF,GACA,CAAC1C,OAAA,EAAS8B,QAAA,CAAS;EAGrB,MAAMkB,YAAA,GAAetE,WAAA,CACnB,CAAC;IAAEuE,EAAA,EAAIC;EAAU,CAA2B;IAC1C,IAAIlD,OAAA,EAAS;MACX,MAAMmD,MAAA,GAASjB,WAAA,CAAYkB,MAAM,CAAEH,EAAA,IAAOA,EAAA,KAAOC,UAAA;MACjDpB,QAAA,CAASqB,MAAA,CAAOE,MAAM,GAAG,IAAIF,MAAA,GAAS;IACxC,OAAO;MACLrB,QAAA,CAAS;IACX;EACF,GACA,CAAC9B,OAAA,EAASkC,WAAA,EAAaJ,QAAA,CAAS;EAGlC,MAAMwB,gBAAA,GAAmB5E,WAAA,CAAY;IACnC6D,UAAA;EACF,GAAG,CAACA,UAAA,CAAW;EAEf,MAAMgB,cAAA,GACJ/E,cAAA,CACEwB,OAAA,GAAUmB,gBAAA,EAAkBqC,MAAA,EAAQC,MAAA,GAAStC,gBAAA,EAAkBqC,MAAA,EAAQE,QAAA,EACvEzC,IAAA,KACGN,aAAA;EAEP,oBACEgD,KAAA,CAAC;IACC7D,SAAA,EAAW,CACTd,cAAA,EACAS,SAAA,EACAK,SAAA,EACAiC,SAAA,IAAa,SACbtB,QAAA,IAAY,GAAGhB,SAAA,aAAsB,CACtC,CACE2D,MAAM,CAACQ,OAAA,EACPC,IAAI,CAAC;IACRZ,EAAA,EAAI,SAAS1C,IAAA,EAAMuD,OAAA,CAAQ,OAAO,OAAO;IACzCC,KAAA,EAAO9B,MAAA;4BAEP+B,IAAA,CAACzE,qBAAA;MACC0E,eAAA,EAAiBrC,KAAA;MACjBsC,QAAA,eACEP,KAAA,CAAC;QAAI7D,SAAA,EAAW,GAAGL,SAAA,SAAkB;gCACnCuE,IAAA,CAAClF,UAAA;UACCmB,KAAA,EAAOA,KAAA;UACPC,SAAA,EAAWA,SAAA;UACXK,IAAA,EAAMA,IAAA;UACNF,QAAA,EAAUA,QAAA;UACV8D,QAAQ;YAETP,OAAA,CAAQtD,IAAA,kBAAS0D,IAAA,CAAC;UAAKlE,SAAA,EAAW,GAAGL,SAAA,cAAuB;oBAAGa;;;qBAItEqD,KAAA,CAAC;MAAI7D,SAAA,EAAW,GAAGd,cAAA,QAAsB;8BACvCgF,IAAA,CAACzE,qBAAA;QACC0E,eAAA,EAAiBtC,KAAA;QACjBuC,QAAA,eAAUF,IAAA,CAACnF,UAAA;UAAW0B,IAAA,EAAMA,IAAA;UAAMwB,SAAA,EAAWA;;UAE9CN,WAAA,E,aACDkC,KAAA,CAAC;QAAI7D,SAAA,EAAW,GAAGL,SAAA,WAAoB;mBACpCyC,WAAA,CAAYmB,MAAM,GAAG,kBACpBW,IAAA,CAACxE,mBAAA;UACCmB,aAAA,EAAeA,aAAA;UACfyD,QAAA,EAAUpB,YAAA;UACVvC,QAAA,EAAUA,QAAA,IAAYoB,QAAA;UACtBK,WAAA,EAAaA;YAGhBlC,OAAA,IAAWkC,WAAA,CAAYmB,MAAM,KAAK,kBACjCW,IAAA,CAAC;UAAKlE,SAAA,EAAW,GAAGL,SAAA,eAAwB;oBACzCyB,CAAA,CAAE,mBAAmB;YAAEjB,KAAA,EAAOsD;UAAe;YAGjD,CAAC9C,QAAA,KAAaT,OAAA,IAAWkC,WAAA,CAAYmB,MAAM,KAAK,mBAC/CW,IAAA,CAAC3E,MAAA;UACCgF,WAAA,EAAY;UACZvE,SAAA,EAAW,GAAGL,SAAA,iBAA0B;UACxCoC,QAAA,EAAUA,QAAA;UACVyC,IAAA,EAAK;UACLC,YAAA,EAAa;UACbC,MAAA,EAAQ;UACRC,OAAA,EAASnB,gBAAA;UACToB,IAAA,EAAK;oBAEJxD,CAAA,CAAE,uBAAuB;YAAEjB,KAAA,EAAOsD;UAAe;;UAIvD/B,UAAA,E,aACDwC,IAAA,CAACzE,qBAAA;QACC0E,eAAA,EAAiBvC,WAAA;QACjBwC,QAAA,eAAUF,IAAA,CAACpF,gBAAA;UAAiBmB,WAAA,EAAaA,WAAA;UAAaQ,IAAA,EAAMA;;;qBAGhEyD,IAAA,CAAC1B,eAAA;MACCtC,OAAA,EAASA,OAAA;MACTmC,iBAAA,EAAmBA,iBAAA;MACnBwC,MAAA,EAAQlC;;;AAIhB","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import '../../scss/styles.scss';
|
|
2
|
+
|
|
3
|
+
@layer payload-default {
|
|
4
|
+
.hierarchy-field {
|
|
5
|
+
.field-label {
|
|
6
|
+
display: flex;
|
|
7
|
+
font-size: 18px;
|
|
8
|
+
font-weight: 500;
|
|
9
|
+
margin: unset;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&__label {
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: calc(var(--base) * 0.3);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&__content {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
gap: calc(var(--base) * 0.75);
|
|
22
|
+
margin-top: calc(var(--base) * 0.5);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&__manage-button {
|
|
26
|
+
align-self: flex-start;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&--read-only {
|
|
30
|
+
.hierarchy-field__content {
|
|
31
|
+
opacity: 0.75;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.server.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyField/index.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAA;AAQ/D,eAAO,MAAM,cAAc,EAAE,gCA2B5B,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { RenderServerComponent } from '../RenderServerComponent/index.js';
|
|
4
|
+
// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary
|
|
5
|
+
import { HierarchyFieldClient } from '../../exports/client/index.js';
|
|
6
|
+
export const HierarchyField = props => {
|
|
7
|
+
const {
|
|
8
|
+
clientField,
|
|
9
|
+
field,
|
|
10
|
+
payload
|
|
11
|
+
} = props;
|
|
12
|
+
const hierarchySlug = Array.isArray(field.relationTo) ? field.relationTo[0] : field.relationTo;
|
|
13
|
+
const hierarchyCollectionConfig = payload.config.collections.find(c => c.slug === hierarchySlug);
|
|
14
|
+
const hierarchyConfig = hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object' ? hierarchyCollectionConfig.hierarchy : undefined;
|
|
15
|
+
const Icon = hierarchyConfig?.admin.components.Icon;
|
|
16
|
+
const renderedIcon = RenderServerComponent({
|
|
17
|
+
Component: Icon,
|
|
18
|
+
importMap: payload.importMap,
|
|
19
|
+
key: `hierarchy-field-icon-${hierarchySlug}`
|
|
20
|
+
});
|
|
21
|
+
return /*#__PURE__*/_jsx(HierarchyFieldClient, {
|
|
22
|
+
field: clientField,
|
|
23
|
+
Icon: renderedIcon,
|
|
24
|
+
path: props.path,
|
|
25
|
+
permissions: props.permissions,
|
|
26
|
+
readOnly: props.readOnly,
|
|
27
|
+
schemaPath: props.schemaPath
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.server.js","names":["React","RenderServerComponent","HierarchyFieldClient","HierarchyField","props","clientField","field","payload","hierarchySlug","Array","isArray","relationTo","hierarchyCollectionConfig","config","collections","find","c","slug","hierarchyConfig","hierarchy","undefined","Icon","admin","components","renderedIcon","Component","importMap","key","_jsx","path","permissions","readOnly","schemaPath"],"sources":["../../../src/elements/HierarchyField/index.server.tsx"],"sourcesContent":["import type { RelationshipFieldServerComponent } from 'payload'\n\nimport React from 'react'\n\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchyFieldClient } from '../../exports/client/index.js'\n\nexport const HierarchyField: RelationshipFieldServerComponent = (props) => {\n const { clientField, field, payload } = props\n\n const hierarchySlug = Array.isArray(field.relationTo) ? field.relationTo[0] : field.relationTo\n const hierarchyCollectionConfig = payload.config.collections.find((c) => c.slug === hierarchySlug)\n const hierarchyConfig =\n hierarchyCollectionConfig?.hierarchy && typeof hierarchyCollectionConfig.hierarchy === 'object'\n ? hierarchyCollectionConfig.hierarchy\n : undefined\n const Icon = hierarchyConfig?.admin.components.Icon\n\n const renderedIcon = RenderServerComponent({\n Component: Icon,\n importMap: payload.importMap,\n key: `hierarchy-field-icon-${hierarchySlug}`,\n })\n\n return (\n <HierarchyFieldClient\n field={clientField}\n Icon={renderedIcon}\n path={props.path}\n permissions={props.permissions}\n readOnly={props.readOnly}\n schemaPath={props.schemaPath}\n />\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AACtC;AACA,SAASC,oBAAoB,QAAQ;AAErC,OAAO,MAAMC,cAAA,GAAoDC,KAAA;EAC/D,MAAM;IAAEC,WAAW;IAAEC,KAAK;IAAEC;EAAO,CAAE,GAAGH,KAAA;EAExC,MAAMI,aAAA,GAAgBC,KAAA,CAAMC,OAAO,CAACJ,KAAA,CAAMK,UAAU,IAAIL,KAAA,CAAMK,UAAU,CAAC,EAAE,GAAGL,KAAA,CAAMK,UAAU;EAC9F,MAAMC,yBAAA,GAA4BL,OAAA,CAAQM,MAAM,CAACC,WAAW,CAACC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKT,aAAA;EACpF,MAAMU,eAAA,GACJN,yBAAA,EAA2BO,SAAA,IAAa,OAAOP,yBAAA,CAA0BO,SAAS,KAAK,WACnFP,yBAAA,CAA0BO,SAAS,GACnCC,SAAA;EACN,MAAMC,IAAA,GAAOH,eAAA,EAAiBI,KAAA,CAAMC,UAAA,CAAWF,IAAA;EAE/C,MAAMG,YAAA,GAAevB,qBAAA,CAAsB;IACzCwB,SAAA,EAAWJ,IAAA;IACXK,SAAA,EAAWnB,OAAA,CAAQmB,SAAS;IAC5BC,GAAA,EAAK,wBAAwBnB,aAAA;EAC/B;EAEA,oBACEoB,IAAA,CAAC1B,oBAAA;IACCI,KAAA,EAAOD,WAAA;IACPgB,IAAA,EAAMG,YAAA;IACNK,IAAA,EAAMzB,KAAA,CAAMyB,IAAI;IAChBC,WAAA,EAAa1B,KAAA,CAAM0B,WAAW;IAC9BC,QAAA,EAAU3B,KAAA,CAAM2B,QAAQ;IACxBC,UAAA,EAAY5B,KAAA,CAAM4B;;AAGxB","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type FilterOption = {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
type HierarchySearchInputProps = {
|
|
7
|
+
collectionSpecificOptions?: FilterOption[];
|
|
8
|
+
onChange: (value: string) => void;
|
|
9
|
+
onClear: () => void;
|
|
10
|
+
onFilterChange?: (values: string[]) => void;
|
|
11
|
+
onSearch: (value: string) => void;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
selectedFilters?: string[];
|
|
14
|
+
value: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const HierarchySearchInput: React.FC<HierarchySearchInputProps>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=HierarchySearchInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchySearchInput.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchySearch/HierarchySearchInput.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAU1C,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,yBAAyB,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA0FpE,CAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import React, { useCallback } from 'react';
|
|
6
|
+
import { CheckboxPopup } from '../../elements/CheckboxPopup/index.js';
|
|
7
|
+
import { FilterIcon } from '../../icons/Filter/index.js';
|
|
8
|
+
import { SearchIcon } from '../../icons/Search/index.js';
|
|
9
|
+
import { XIcon } from '../../icons/X/index.js';
|
|
10
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
11
|
+
const baseClass = 'hierarchy-search-input';
|
|
12
|
+
export const HierarchySearchInput = t0 => {
|
|
13
|
+
const $ = _c(9);
|
|
14
|
+
const {
|
|
15
|
+
collectionSpecificOptions,
|
|
16
|
+
onChange,
|
|
17
|
+
onClear,
|
|
18
|
+
onFilterChange,
|
|
19
|
+
onSearch,
|
|
20
|
+
placeholder,
|
|
21
|
+
selectedFilters: t1,
|
|
22
|
+
value
|
|
23
|
+
} = t0;
|
|
24
|
+
const selectedFilters = t1 === undefined ? [] : t1;
|
|
25
|
+
const {
|
|
26
|
+
t
|
|
27
|
+
} = useTranslation();
|
|
28
|
+
let t2;
|
|
29
|
+
if ($[0] !== onChange) {
|
|
30
|
+
t2 = e => {
|
|
31
|
+
onChange(e.target.value);
|
|
32
|
+
};
|
|
33
|
+
$[0] = onChange;
|
|
34
|
+
$[1] = t2;
|
|
35
|
+
} else {
|
|
36
|
+
t2 = $[1];
|
|
37
|
+
}
|
|
38
|
+
const handleChange = t2;
|
|
39
|
+
let t3;
|
|
40
|
+
if ($[2] !== onSearch || $[3] !== value) {
|
|
41
|
+
t3 = e_0 => {
|
|
42
|
+
if (e_0.key === "Enter" && value.length > 0) {
|
|
43
|
+
onSearch(value);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
$[2] = onSearch;
|
|
47
|
+
$[3] = value;
|
|
48
|
+
$[4] = t3;
|
|
49
|
+
} else {
|
|
50
|
+
t3 = $[4];
|
|
51
|
+
}
|
|
52
|
+
const handleKeyDown = t3;
|
|
53
|
+
let t4;
|
|
54
|
+
if ($[5] !== onClear) {
|
|
55
|
+
t4 = () => {
|
|
56
|
+
onClear();
|
|
57
|
+
};
|
|
58
|
+
$[5] = onClear;
|
|
59
|
+
$[6] = t4;
|
|
60
|
+
} else {
|
|
61
|
+
t4 = $[6];
|
|
62
|
+
}
|
|
63
|
+
const handleClear = t4;
|
|
64
|
+
let t5;
|
|
65
|
+
if ($[7] !== onFilterChange) {
|
|
66
|
+
t5 = t6 => {
|
|
67
|
+
const {
|
|
68
|
+
selectedValues
|
|
69
|
+
} = t6;
|
|
70
|
+
onFilterChange?.(selectedValues);
|
|
71
|
+
};
|
|
72
|
+
$[7] = onFilterChange;
|
|
73
|
+
$[8] = t5;
|
|
74
|
+
} else {
|
|
75
|
+
t5 = $[8];
|
|
76
|
+
}
|
|
77
|
+
const handleFilterChange = t5;
|
|
78
|
+
const hasFilters = collectionSpecificOptions && collectionSpecificOptions.length > 0;
|
|
79
|
+
const hasActiveFilters = selectedFilters.length > 0;
|
|
80
|
+
const hasValue = value.length > 0;
|
|
81
|
+
return _jsxs("div", {
|
|
82
|
+
className: baseClass,
|
|
83
|
+
children: [_jsx("div", {
|
|
84
|
+
className: `${baseClass}__icon-container`,
|
|
85
|
+
children: _jsx(SearchIcon, {})
|
|
86
|
+
}), _jsx("input", {
|
|
87
|
+
"aria-label": placeholder,
|
|
88
|
+
className: `${baseClass}__input`,
|
|
89
|
+
onChange: handleChange,
|
|
90
|
+
onKeyDown: handleKeyDown,
|
|
91
|
+
placeholder,
|
|
92
|
+
type: "text",
|
|
93
|
+
value
|
|
94
|
+
}), _jsxs("div", {
|
|
95
|
+
className: `${baseClass}__actions`,
|
|
96
|
+
children: [hasValue && _jsx("button", {
|
|
97
|
+
"aria-label": t("general:clear"),
|
|
98
|
+
className: `${baseClass}__clear`,
|
|
99
|
+
onClick: handleClear,
|
|
100
|
+
type: "button",
|
|
101
|
+
children: _jsx(XIcon, {})
|
|
102
|
+
}), hasFilters && _jsx(CheckboxPopup, {
|
|
103
|
+
Button: _jsx("div", {
|
|
104
|
+
"aria-label": t("general:filter"),
|
|
105
|
+
className: [`${baseClass}__filter`, hasActiveFilters && `${baseClass}__filter--active`].filter(Boolean).join(" "),
|
|
106
|
+
children: _jsx(FilterIcon, {})
|
|
107
|
+
}),
|
|
108
|
+
onChange: handleFilterChange,
|
|
109
|
+
options: collectionSpecificOptions,
|
|
110
|
+
selectedValues: selectedFilters
|
|
111
|
+
})]
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=HierarchySearchInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchySearchInput.js","names":["c","_c","React","useCallback","CheckboxPopup","FilterIcon","SearchIcon","XIcon","useTranslation","baseClass","HierarchySearchInput","t0","$","collectionSpecificOptions","onChange","onClear","onFilterChange","onSearch","placeholder","selectedFilters","t1","value","undefined","t","t2","e","target","handleChange","t3","e_0","key","length","handleKeyDown","t4","handleClear","t5","t6","selectedValues","handleFilterChange","hasFilters","hasActiveFilters","hasValue","_jsxs","className","children","_jsx","onKeyDown","type","onClick","Button","filter","Boolean","join","options"],"sources":["../../../src/elements/HierarchySearch/HierarchySearchInput.tsx"],"sourcesContent":["'use client'\n\nimport type { ChangeEvent, KeyboardEvent } from 'react'\n\nimport React, { useCallback } from 'react'\n\nimport { CheckboxPopup } from '../../elements/CheckboxPopup/index.js'\nimport { FilterIcon } from '../../icons/Filter/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'hierarchy-search-input'\n\ntype FilterOption = {\n label: string\n value: string\n}\n\ntype HierarchySearchInputProps = {\n collectionSpecificOptions?: FilterOption[]\n onChange: (value: string) => void\n onClear: () => void\n onFilterChange?: (values: string[]) => void\n onSearch: (value: string) => void\n placeholder?: string\n selectedFilters?: string[]\n value: string\n}\n\nexport const HierarchySearchInput: React.FC<HierarchySearchInputProps> = ({\n collectionSpecificOptions,\n onChange,\n onClear,\n onFilterChange,\n onSearch,\n placeholder,\n selectedFilters = [],\n value,\n}) => {\n const { t } = useTranslation()\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onChange(e.target.value)\n },\n [onChange],\n )\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && value.length > 0) {\n onSearch(value)\n }\n },\n [value, onSearch],\n )\n\n const handleClear = useCallback(() => {\n onClear()\n }, [onClear])\n\n const handleFilterChange = useCallback(\n ({ selectedValues }: { selectedValues: string[] }) => {\n onFilterChange?.(selectedValues)\n },\n [onFilterChange],\n )\n\n const hasFilters = collectionSpecificOptions && collectionSpecificOptions.length > 0\n const hasActiveFilters = selectedFilters.length > 0\n const hasValue = value.length > 0\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__icon-container`}>\n <SearchIcon />\n </div>\n <input\n aria-label={placeholder}\n className={`${baseClass}__input`}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n type=\"text\"\n value={value}\n />\n <div className={`${baseClass}__actions`}>\n {hasValue && (\n <button\n aria-label={t('general:clear')}\n className={`${baseClass}__clear`}\n onClick={handleClear}\n type=\"button\"\n >\n <XIcon />\n </button>\n )}\n {hasFilters && (\n <CheckboxPopup\n Button={\n <div\n aria-label={t('general:filter')}\n className={[\n `${baseClass}__filter`,\n hasActiveFilters && `${baseClass}__filter--active`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <FilterIcon />\n </div>\n }\n onChange={handleFilterChange}\n options={collectionSpecificOptions}\n selectedValues={selectedFilters}\n />\n )}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type HierarchySearchResultItemProps = {
|
|
3
|
+
id: number | string;
|
|
4
|
+
onClick: ({ id }: {
|
|
5
|
+
id: number | string;
|
|
6
|
+
}) => void;
|
|
7
|
+
path: string;
|
|
8
|
+
title: string;
|
|
9
|
+
truncateSegments?: number;
|
|
10
|
+
};
|
|
11
|
+
export declare const HierarchySearchResultItem: React.FC<HierarchySearchResultItemProps>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=HierarchySearchResultItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchySearchResultItem.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchySearch/HierarchySearchResultItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAInD,KAAK,8BAA8B,GAAG;IACpC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CA+C9E,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import React, { useCallback, useMemo } from 'react';
|
|
6
|
+
const baseClass = 'hierarchy-search-result-item';
|
|
7
|
+
export const HierarchySearchResultItem = t0 => {
|
|
8
|
+
const $ = _c(11);
|
|
9
|
+
const {
|
|
10
|
+
id,
|
|
11
|
+
onClick,
|
|
12
|
+
path,
|
|
13
|
+
title,
|
|
14
|
+
truncateSegments: t1
|
|
15
|
+
} = t0;
|
|
16
|
+
const truncateSegments = t1 === undefined ? 3 : t1;
|
|
17
|
+
let t2;
|
|
18
|
+
if ($[0] !== id || $[1] !== onClick) {
|
|
19
|
+
t2 = () => {
|
|
20
|
+
onClick({
|
|
21
|
+
id
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
$[0] = id;
|
|
25
|
+
$[1] = onClick;
|
|
26
|
+
$[2] = t2;
|
|
27
|
+
} else {
|
|
28
|
+
t2 = $[2];
|
|
29
|
+
}
|
|
30
|
+
const handleClick = t2;
|
|
31
|
+
let t3;
|
|
32
|
+
if ($[3] !== id || $[4] !== onClick) {
|
|
33
|
+
t3 = e => {
|
|
34
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
onClick({
|
|
37
|
+
id
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
$[3] = id;
|
|
42
|
+
$[4] = onClick;
|
|
43
|
+
$[5] = t3;
|
|
44
|
+
} else {
|
|
45
|
+
t3 = $[5];
|
|
46
|
+
}
|
|
47
|
+
const handleKeyDown = t3;
|
|
48
|
+
let t4;
|
|
49
|
+
bb0: {
|
|
50
|
+
if (!path) {
|
|
51
|
+
t4 = "";
|
|
52
|
+
break bb0;
|
|
53
|
+
}
|
|
54
|
+
const segments = path.split(" / ");
|
|
55
|
+
if (segments.length <= truncateSegments) {
|
|
56
|
+
t4 = path;
|
|
57
|
+
break bb0;
|
|
58
|
+
}
|
|
59
|
+
t4 = "... / " + segments.slice(-truncateSegments).join(" / ");
|
|
60
|
+
}
|
|
61
|
+
const truncatedPath = t4;
|
|
62
|
+
let t5;
|
|
63
|
+
if ($[6] !== handleClick || $[7] !== handleKeyDown || $[8] !== title || $[9] !== truncatedPath) {
|
|
64
|
+
t5 = _jsxs("div", {
|
|
65
|
+
className: baseClass,
|
|
66
|
+
onClick: handleClick,
|
|
67
|
+
onKeyDown: handleKeyDown,
|
|
68
|
+
role: "button",
|
|
69
|
+
tabIndex: 0,
|
|
70
|
+
children: [_jsx("div", {
|
|
71
|
+
className: `${baseClass}__title`,
|
|
72
|
+
children: title
|
|
73
|
+
}), truncatedPath && _jsx("div", {
|
|
74
|
+
className: `${baseClass}__path`,
|
|
75
|
+
children: truncatedPath
|
|
76
|
+
})]
|
|
77
|
+
});
|
|
78
|
+
$[6] = handleClick;
|
|
79
|
+
$[7] = handleKeyDown;
|
|
80
|
+
$[8] = title;
|
|
81
|
+
$[9] = truncatedPath;
|
|
82
|
+
$[10] = t5;
|
|
83
|
+
} else {
|
|
84
|
+
t5 = $[10];
|
|
85
|
+
}
|
|
86
|
+
return t5;
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=HierarchySearchResultItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchySearchResultItem.js","names":["c","_c","React","useCallback","useMemo","baseClass","HierarchySearchResultItem","t0","$","id","onClick","path","title","truncateSegments","t1","undefined","t2","handleClick","t3","e","key","preventDefault","handleKeyDown","t4","bb0","segments","split","length","slice","join","truncatedPath","t5","_jsxs","className","onKeyDown","role","tabIndex","children","_jsx"],"sources":["../../../src/elements/HierarchySearch/HierarchySearchResultItem.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useMemo } from 'react'\n\nconst baseClass = 'hierarchy-search-result-item'\n\ntype HierarchySearchResultItemProps = {\n id: number | string\n onClick: ({ id }: { id: number | string }) => void\n path: string\n title: string\n truncateSegments?: number\n}\n\nexport const HierarchySearchResultItem: React.FC<HierarchySearchResultItemProps> = ({\n id,\n onClick,\n path,\n title,\n truncateSegments = 3,\n}) => {\n const handleClick = useCallback(() => {\n onClick({ id })\n }, [id, onClick])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClick({ id })\n }\n },\n [id, onClick],\n )\n\n const truncatedPath = useMemo(() => {\n if (!path) {\n return ''\n }\n\n const segments = path.split(' / ')\n\n if (segments.length <= truncateSegments) {\n return path\n }\n\n return '... / ' + segments.slice(-truncateSegments).join(' / ')\n }, [path, truncateSegments])\n\n return (\n <div\n className={baseClass}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={0}\n >\n <div className={`${baseClass}__title`}>{title}</div>\n {truncatedPath && <div className={`${baseClass}__path`}>{truncatedPath}</div>}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAE5C,MAAMC,SAAA,GAAY;AAUlB,OAAO,MAAMC,yBAAA,GAAsEC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ,EAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAC,KAAA;IAAAC,gBAAA,EAAAC;EAAA,IAAAP,EAMnF;EADC,MAAAM,gBAAA,GAAAC,EAAoB,KAAAC,SAAA,OAApBD,EAAoB;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAE,OAAA;IAEYM,EAAA,GAAAA,CAAA;MAC9BN,OAAA;QAAAD;MAAA,CAAa;IAAA;IACfD,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAFA,MAAAS,WAAA,GAAoBD,EAEJ;EAAA,IAAAE,EAAA;EAAA,IAAAV,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAE,OAAA;IAGdQ,EAAA,GAAAC,CAAA;MAAA,IACMA,CAAA,CAAAC,GAAA,KAAU,WAAWD,CAAA,CAAAC,GAAA,KAAU;QACjCD,CAAA,CAAAE,cAAA,CAAgB;QAChBX,OAAA;UAAAD;QAAA,CAAa;MAAA;IAAA;IAEjBD,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EANF,MAAAc,aAAA,GAAsBJ,EAOP;EAAA,IAAAK,EAAA;EAAAC,GAAA;IAAA,KAIRb,IAAA;MACHY,EAAA,GAAO;MAAA,MAAAC,GAAA;IAAA;IAGT,MAAAC,QAAA,GAAiBd,IAAA,CAAAe,KAAA,CAAW;IAAA,IAExBD,QAAA,CAAAE,MAAA,IAAmBd,gBAAA;MACrBU,EAAA,GAAOZ,IAAA;MAAA,MAAAa,GAAA;IAAA;IAGTD,EAAA,GAAO,WAAWE,QAAA,CAAAG,KAAA,EAAgBf,gBAAA,EAAAgB,IAAA,CAAuB;EAAA;EAX3D,MAAAC,aAAA,GAAsBP,EAYK;EAAA,IAAAQ,EAAA;EAAA,IAAAvB,CAAA,QAAAS,WAAA,IAAAT,CAAA,QAAAc,aAAA,IAAAd,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAsB,aAAA;IAGzBC,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAA5B,SAAA;MAAAK,OAAA,EAEUO,WAAA;MAAAiB,SAAA,EACEZ,aAAA;MAAAa,IAAA,EACN;MAAAC,QAAA;MAAAC,QAAA,GAGLC,IAAA,CAAC;QAAAL,SAAA,EAAe,GAAA5B,SAAA,SAAqB;QAAAgC,QAAA,EAAGzB;MAAA,C,GACvCkB,aAAA,IAAiBQ,IAAA,CAAC;QAAAL,SAAA,EAAe,GAAA5B,SAAA,QAAoB;QAAAgC,QAAA,EAAGP;MAAA,C;;;;;;;;;;SAR3DC,E;CAWJ","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { SearchResult } from './types.js';
|
|
3
|
+
type HierarchySearchResultsProps = {
|
|
4
|
+
hasNextPage: boolean;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
onLoadMore: () => void;
|
|
7
|
+
onSelect: ({ id }: {
|
|
8
|
+
id: number | string;
|
|
9
|
+
}) => void;
|
|
10
|
+
query: string;
|
|
11
|
+
results: SearchResult[];
|
|
12
|
+
titleField: string;
|
|
13
|
+
totalDocs: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const HierarchySearchResults: React.FC<HierarchySearchResultsProps>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=HierarchySearchResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HierarchySearchResults.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchySearch/HierarchySearchResults.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAQ9C,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAwCxE,CAAA"}
|