@payloadcms/ui 3.80.0-internal.21e9c47 → 3.80.0-internal.52ab774
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/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +53 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +541 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +1 -0
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -0
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/Column/index.js +5 -5
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -0
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/Column/index.scss +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -0
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/ColumnItem/index.js +3 -3
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -0
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/ColumnItem/index.scss +1 -1
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/index.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -0
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/index.js +13 -10
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -0
- package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/types.d.ts +3 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -0
- package/dist/elements/{HierarchyButton → Hierarchy/DocHeaderButton}/index.js +6 -6
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +1 -0
- package/dist/elements/{HierarchyButton → Hierarchy/DocHeaderButton}/index.server.js +3 -3
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +1 -0
- package/dist/elements/{HierarchyDrawer → Hierarchy}/Drawer/index.d.ts +3 -3
- package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -0
- package/dist/elements/{HierarchyDrawer → Hierarchy}/Drawer/index.js +4 -2
- package/dist/elements/Hierarchy/Drawer/index.js.map +1 -0
- package/dist/elements/{HierarchyDrawer → Hierarchy/Drawer}/types.d.ts +4 -1
- package/dist/elements/Hierarchy/Drawer/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/types.js.map +1 -0
- package/dist/elements/{HierarchyDrawer/index.d.ts → Hierarchy/Drawer/useHierarchyDrawer.d.ts} +1 -1
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +1 -0
- package/dist/elements/{HierarchyDrawer/index.js → Hierarchy/Drawer/useHierarchyDrawer.js} +10 -8
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -0
- package/dist/elements/{HierarchyField → Hierarchy/Field}/SelectedHierarchies.js +7 -16
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -0
- package/dist/elements/{HierarchyField → Hierarchy/Field}/SelectedHierarchies.scss +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -0
- package/dist/elements/{HierarchyField → Hierarchy/Field}/index.client.js +17 -29
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -0
- package/dist/elements/{HierarchyField → Hierarchy/Field}/index.scss +1 -1
- package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -0
- package/dist/elements/{HierarchyField → Hierarchy/Field}/index.server.js +2 -2
- package/dist/elements/Hierarchy/Field/index.server.js.map +1 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.d.ts +4 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.js +70 -0
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -0
- package/dist/elements/{MoveMany → Hierarchy/MoveMany}/index.d.ts +3 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -0
- package/dist/elements/{MoveMany → Hierarchy/MoveMany}/index.js +10 -10
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -0
- package/dist/elements/{MoveMany → Hierarchy/MoveMany}/index.scss +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +1 -0
- package/dist/elements/{HierarchySearch → Hierarchy/Search}/HierarchySearchInput.js +5 -5
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +1 -0
- package/dist/elements/{HierarchySearch → Hierarchy/Search}/HierarchySearchResults.js +2 -2
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -0
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -0
- package/dist/elements/{HierarchySearch → Hierarchy/Search}/index.js +2 -2
- package/dist/elements/Hierarchy/Search/index.js.map +1 -0
- package/dist/elements/{HierarchySearch → Hierarchy/Search}/index.scss +1 -1
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/types.js.map +1 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -0
- package/dist/elements/{HierarchySearch → Hierarchy/Search}/useHierarchySearch.js +2 -2
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -0
- package/dist/elements/{HierarchyTree → Hierarchy/Tree}/HierarchySidebarTab.d.ts +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +194 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -0
- package/dist/elements/{HierarchyTree → Hierarchy/Tree}/HierarchySidebarTab.server.js +20 -10
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +1 -0
- package/dist/elements/{Tree → Hierarchy/Tree}/LoadMore/LoadMoreButton.js +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -0
- package/dist/elements/{Tree → Hierarchy/Tree}/LoadMore/index.js +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +5 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -0
- package/dist/elements/{Tree → Hierarchy/Tree}/TreeNode/index.js +11 -4
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -0
- package/dist/elements/{Tree → Hierarchy/Tree}/TreeNode/index.scss +1 -1
- package/dist/elements/{HierarchyTree → Hierarchy/Tree}/index.d.ts +1 -0
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/index.js +305 -0
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -0
- package/dist/elements/{Tree → Hierarchy/Tree}/index.scss +2 -5
- package/dist/elements/{Tree → Hierarchy/Tree}/types.d.ts +31 -22
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts +32 -0
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -0
- package/dist/elements/{Tree → Hierarchy/Tree}/useChildren.js +52 -32
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -0
- package/dist/elements/Link/index.d.ts.map +1 -1
- package/dist/elements/LoadMoreRow/index.js +1 -1
- package/dist/elements/LoadMoreRow/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +3 -1
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +14 -9
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.d.ts +4 -0
- package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +4 -2
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.spec.js +46 -0
- package/dist/elements/Toasts/fieldErrors.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +8 -6
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +2 -5
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/exports/client/{DatePicker-CL2EGBVQ.js → DatePicker-T2DMDMM5.js} +2 -2
- package/dist/exports/client/chunk-WDZJLNNB.js +29 -0
- package/dist/exports/client/{chunk-SH42NW5R.js.map → chunk-WDZJLNNB.js.map} +4 -4
- package/dist/exports/client/index.d.ts +11 -15
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +26 -26
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +3 -3
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -3
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +101 -24
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/icons/TableView/index.d.ts +3 -0
- package/dist/icons/TableView/index.d.ts.map +1 -0
- package/dist/icons/TableView/index.js +16 -0
- package/dist/icons/TableView/index.js.map +1 -0
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +29 -8
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +10 -5
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +19 -0
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -0
- package/dist/providers/SidebarTabs/index.js +24 -0
- package/dist/providers/SidebarTabs/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +12 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +147 -86
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +7 -6
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +7 -3
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +19 -18
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +3 -1
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/HierarchyButton/index.d.ts.map +0 -1
- package/dist/elements/HierarchyButton/index.js.map +0 -1
- package/dist/elements/HierarchyButton/index.server.d.ts.map +0 -1
- package/dist/elements/HierarchyButton/index.server.js.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/Column/index.d.ts.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/Column/index.js.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.d.ts.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/ColumnItem/index.js.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/index.d.ts.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/index.js.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/types.d.ts.map +0 -1
- package/dist/elements/HierarchyColumnBrowser/types.js.map +0 -1
- package/dist/elements/HierarchyDrawer/Drawer/index.d.ts.map +0 -1
- package/dist/elements/HierarchyDrawer/Drawer/index.js.map +0 -1
- package/dist/elements/HierarchyDrawer/fetchAncestorPath.d.ts.map +0 -1
- package/dist/elements/HierarchyDrawer/fetchAncestorPath.js.map +0 -1
- package/dist/elements/HierarchyDrawer/index.d.ts.map +0 -1
- package/dist/elements/HierarchyDrawer/index.js.map +0 -1
- package/dist/elements/HierarchyDrawer/types.d.ts.map +0 -1
- package/dist/elements/HierarchyDrawer/types.js.map +0 -1
- package/dist/elements/HierarchyField/SelectedHierarchies.d.ts.map +0 -1
- package/dist/elements/HierarchyField/SelectedHierarchies.js.map +0 -1
- package/dist/elements/HierarchyField/index.client.d.ts.map +0 -1
- package/dist/elements/HierarchyField/index.client.js.map +0 -1
- package/dist/elements/HierarchyField/index.server.d.ts.map +0 -1
- package/dist/elements/HierarchyField/index.server.js.map +0 -1
- package/dist/elements/HierarchySearch/HierarchySearchInput.d.ts.map +0 -1
- package/dist/elements/HierarchySearch/HierarchySearchInput.js.map +0 -1
- package/dist/elements/HierarchySearch/HierarchySearchResultItem.d.ts.map +0 -1
- package/dist/elements/HierarchySearch/HierarchySearchResultItem.js.map +0 -1
- package/dist/elements/HierarchySearch/HierarchySearchResults.d.ts.map +0 -1
- package/dist/elements/HierarchySearch/HierarchySearchResults.js.map +0 -1
- package/dist/elements/HierarchySearch/index.d.ts.map +0 -1
- package/dist/elements/HierarchySearch/index.js.map +0 -1
- package/dist/elements/HierarchySearch/types.d.ts.map +0 -1
- package/dist/elements/HierarchySearch/types.js.map +0 -1
- package/dist/elements/HierarchySearch/useHierarchySearch.d.ts.map +0 -1
- package/dist/elements/HierarchySearch/useHierarchySearch.js.map +0 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.js +0 -156
- package/dist/elements/HierarchyTree/HierarchySidebarTab.js.map +0 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/HierarchySidebarTab.server.js.map +0 -1
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js +0 -36
- package/dist/elements/HierarchyTree/LoadMore/LoadMoreButton.js.map +0 -1
- package/dist/elements/HierarchyTree/LoadMore/index.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/LoadMore/index.js +0 -29
- package/dist/elements/HierarchyTree/LoadMore/index.js.map +0 -1
- package/dist/elements/HierarchyTree/LoadMore/index.scss +0 -26
- package/dist/elements/HierarchyTree/TreeConnector.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/TreeConnector.js.map +0 -1
- package/dist/elements/HierarchyTree/TreeFocusContext.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/TreeFocusContext.js.map +0 -1
- package/dist/elements/HierarchyTree/TreeNode/index.d.ts +0 -5
- package/dist/elements/HierarchyTree/TreeNode/index.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/TreeNode/index.js +0 -201
- package/dist/elements/HierarchyTree/TreeNode/index.js.map +0 -1
- package/dist/elements/HierarchyTree/TreeNode/index.scss +0 -99
- package/dist/elements/HierarchyTree/index.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/index.js +0 -64
- package/dist/elements/HierarchyTree/index.js.map +0 -1
- package/dist/elements/HierarchyTree/index.scss +0 -42
- package/dist/elements/HierarchyTree/types.d.ts +0 -55
- package/dist/elements/HierarchyTree/types.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/types.js.map +0 -1
- package/dist/elements/HierarchyTree/useChildren.d.ts +0 -26
- package/dist/elements/HierarchyTree/useChildren.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/useChildren.js +0 -150
- package/dist/elements/HierarchyTree/useChildren.js.map +0 -1
- package/dist/elements/HierarchyTree/useTreeState.d.ts +0 -9
- package/dist/elements/HierarchyTree/useTreeState.d.ts.map +0 -1
- package/dist/elements/HierarchyTree/useTreeState.js +0 -50
- package/dist/elements/HierarchyTree/useTreeState.js.map +0 -1
- package/dist/elements/HydrateHierarchyProvider/index.d.ts +0 -4
- package/dist/elements/HydrateHierarchyProvider/index.d.ts.map +0 -1
- package/dist/elements/HydrateHierarchyProvider/index.js +0 -67
- package/dist/elements/HydrateHierarchyProvider/index.js.map +0 -1
- package/dist/elements/MoveMany/index.d.ts.map +0 -1
- package/dist/elements/MoveMany/index.js.map +0 -1
- package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts +0 -8
- package/dist/elements/Tree/LoadMore/LoadMoreButton.d.ts.map +0 -1
- package/dist/elements/Tree/LoadMore/LoadMoreButton.js.map +0 -1
- package/dist/elements/Tree/LoadMore/index.d.ts +0 -12
- package/dist/elements/Tree/LoadMore/index.d.ts.map +0 -1
- package/dist/elements/Tree/LoadMore/index.js.map +0 -1
- package/dist/elements/Tree/TreeConnector.d.ts +0 -7
- package/dist/elements/Tree/TreeConnector.d.ts.map +0 -1
- package/dist/elements/Tree/TreeConnector.js +0 -23
- package/dist/elements/Tree/TreeConnector.js.map +0 -1
- package/dist/elements/Tree/TreeFocusContext.d.ts +0 -28
- package/dist/elements/Tree/TreeFocusContext.d.ts.map +0 -1
- package/dist/elements/Tree/TreeFocusContext.js +0 -140
- package/dist/elements/Tree/TreeFocusContext.js.map +0 -1
- package/dist/elements/Tree/TreeNode/index.d.ts +0 -5
- package/dist/elements/Tree/TreeNode/index.d.ts.map +0 -1
- package/dist/elements/Tree/TreeNode/index.js.map +0 -1
- package/dist/elements/Tree/index.d.ts +0 -5
- package/dist/elements/Tree/index.d.ts.map +0 -1
- package/dist/elements/Tree/index.js +0 -258
- package/dist/elements/Tree/index.js.map +0 -1
- package/dist/elements/Tree/types.d.ts.map +0 -1
- package/dist/elements/Tree/types.js +0 -2
- package/dist/elements/Tree/types.js.map +0 -1
- package/dist/elements/Tree/useChildren.d.ts +0 -25
- package/dist/elements/Tree/useChildren.d.ts.map +0 -1
- package/dist/elements/Tree/useChildren.js.map +0 -1
- package/dist/exports/client/chunk-SH42NW5R.js +0 -29
- /package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/Column/index.d.ts +0 -0
- /package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/ColumnItem/index.d.ts +0 -0
- /package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/index.scss +0 -0
- /package/dist/elements/{HierarchyColumnBrowser → Hierarchy/ColumnBrowser}/types.js +0 -0
- /package/dist/elements/{HierarchyButton → Hierarchy/DocHeaderButton}/index.d.ts +0 -0
- /package/dist/elements/{HierarchyButton → Hierarchy/DocHeaderButton}/index.scss +0 -0
- /package/dist/elements/{HierarchyButton → Hierarchy/DocHeaderButton}/index.server.d.ts +0 -0
- /package/dist/elements/{HierarchyDrawer → Hierarchy/Drawer}/fetchAncestorPath.d.ts +0 -0
- /package/dist/elements/{HierarchyDrawer → Hierarchy/Drawer}/fetchAncestorPath.js +0 -0
- /package/dist/elements/{HierarchyDrawer → Hierarchy}/Drawer/index.scss +0 -0
- /package/dist/elements/{HierarchyDrawer → Hierarchy/Drawer}/types.js +0 -0
- /package/dist/elements/{HierarchyField → Hierarchy/Field}/SelectedHierarchies.d.ts +0 -0
- /package/dist/elements/{HierarchyField → Hierarchy/Field}/index.client.d.ts +0 -0
- /package/dist/elements/{HierarchyField → Hierarchy/Field}/index.server.d.ts +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/HierarchySearchInput.d.ts +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/HierarchySearchResultItem.d.ts +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/HierarchySearchResultItem.js +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/HierarchySearchResults.d.ts +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/index.d.ts +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/types.d.ts +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/types.js +0 -0
- /package/dist/elements/{HierarchySearch → Hierarchy/Search}/useHierarchySearch.d.ts +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/HierarchySidebarTab.server.d.ts +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/LoadMore/LoadMoreButton.d.ts +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/LoadMore/index.d.ts +0 -0
- /package/dist/elements/{Tree → Hierarchy/Tree}/LoadMore/index.scss +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/TreeConnector.d.ts +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/TreeConnector.js +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/TreeFocusContext.d.ts +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/TreeFocusContext.js +0 -0
- /package/dist/elements/{HierarchyTree → Hierarchy/Tree}/types.js +0 -0
- /package/dist/exports/client/{DatePicker-CL2EGBVQ.js.map → DatePicker-T2DMDMM5.js.map} +0 -0
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
|
-
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
6
|
-
import { formatAdminURL } from 'payload/shared';
|
|
7
|
-
import React, { useCallback, useState } from 'react';
|
|
8
|
-
import { HierarchySearch } from '../../elements/HierarchySearch/index.js';
|
|
9
|
-
import { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js';
|
|
10
|
-
import { useConfig } from '../../providers/Config/index.js';
|
|
11
|
-
import { useHierarchy } from '../../providers/Hierarchy/index.js';
|
|
12
|
-
import { useRouteTransition } from '../../providers/RouteTransition/index.js';
|
|
13
|
-
import { HierarchyTree } from './index.js';
|
|
14
|
-
export const HierarchySidebarTab = t0 => {
|
|
15
|
-
const $ = _c(30);
|
|
16
|
-
const {
|
|
17
|
-
collectionSpecificOptions,
|
|
18
|
-
hierarchyCollectionSlug,
|
|
19
|
-
icon,
|
|
20
|
-
initialData,
|
|
21
|
-
initialExpandedNodes,
|
|
22
|
-
initialSelectedFilters,
|
|
23
|
-
parentFieldName,
|
|
24
|
-
selectedNodeId: selectedNodeIdFromServer,
|
|
25
|
-
treeLimit,
|
|
26
|
-
typeFieldName,
|
|
27
|
-
useAsTitle
|
|
28
|
-
} = t0;
|
|
29
|
-
const router = useRouter();
|
|
30
|
-
const searchParams = useSearchParams();
|
|
31
|
-
const {
|
|
32
|
-
startRouteTransition
|
|
33
|
-
} = useRouteTransition();
|
|
34
|
-
const {
|
|
35
|
-
config: t1
|
|
36
|
-
} = useConfig();
|
|
37
|
-
const {
|
|
38
|
-
routes: t2
|
|
39
|
-
} = t1;
|
|
40
|
-
const {
|
|
41
|
-
admin: adminRoute
|
|
42
|
-
} = t2;
|
|
43
|
-
const [isSearchActive, setIsSearchActive] = useState(false);
|
|
44
|
-
let t3;
|
|
45
|
-
if ($[0] !== initialSelectedFilters) {
|
|
46
|
-
t3 = initialSelectedFilters ?? [];
|
|
47
|
-
$[0] = initialSelectedFilters;
|
|
48
|
-
$[1] = t3;
|
|
49
|
-
} else {
|
|
50
|
-
t3 = $[1];
|
|
51
|
-
}
|
|
52
|
-
const [selectedFilters, setSelectedFiltersLocal] = useState(t3);
|
|
53
|
-
const {
|
|
54
|
-
setSelectedFilters: setSelectedFiltersContext,
|
|
55
|
-
treeRefreshKey,
|
|
56
|
-
viewCollectionSlug
|
|
57
|
-
} = useHierarchy();
|
|
58
|
-
let t4;
|
|
59
|
-
if ($[2] !== adminRoute || $[3] !== collectionSpecificOptions || $[4] !== hierarchyCollectionSlug || $[5] !== icon || $[6] !== initialData || $[7] !== initialExpandedNodes || $[8] !== initialSelectedFilters || $[9] !== isSearchActive || $[10] !== parentFieldName || $[11] !== router || $[12] !== searchParams || $[13] !== selectedFilters || $[14] !== selectedNodeIdFromServer || $[15] !== setSelectedFiltersContext || $[16] !== startRouteTransition || $[17] !== treeLimit || $[18] !== treeRefreshKey || $[19] !== typeFieldName || $[20] !== useAsTitle || $[21] !== viewCollectionSlug) {
|
|
60
|
-
const parentParam = searchParams.get("parent");
|
|
61
|
-
const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug;
|
|
62
|
-
const selectedNodeId = isViewingThisCollection ? parentParam ?? selectedNodeIdFromServer ?? undefined : undefined;
|
|
63
|
-
const effectiveInitialData = treeRefreshKey === 0 ? initialData : null;
|
|
64
|
-
let t5;
|
|
65
|
-
if ($[23] !== setSelectedFiltersContext) {
|
|
66
|
-
t5 = filters => {
|
|
67
|
-
setSelectedFiltersLocal(filters);
|
|
68
|
-
setSelectedFiltersContext(filters);
|
|
69
|
-
};
|
|
70
|
-
$[23] = setSelectedFiltersContext;
|
|
71
|
-
$[24] = t5;
|
|
72
|
-
} else {
|
|
73
|
-
t5 = $[24];
|
|
74
|
-
}
|
|
75
|
-
const handleFilterChange = t5;
|
|
76
|
-
let t6;
|
|
77
|
-
if ($[25] !== adminRoute || $[26] !== hierarchyCollectionSlug || $[27] !== router || $[28] !== startRouteTransition) {
|
|
78
|
-
t6 = t7 => {
|
|
79
|
-
const {
|
|
80
|
-
id
|
|
81
|
-
} = t7;
|
|
82
|
-
const url = formatAdminURL({
|
|
83
|
-
adminRoute,
|
|
84
|
-
path: `/collections/${hierarchyCollectionSlug}?parent=${id}`
|
|
85
|
-
});
|
|
86
|
-
startRouteTransition(() => {
|
|
87
|
-
router.push(url);
|
|
88
|
-
router.refresh();
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
$[25] = adminRoute;
|
|
92
|
-
$[26] = hierarchyCollectionSlug;
|
|
93
|
-
$[27] = router;
|
|
94
|
-
$[28] = startRouteTransition;
|
|
95
|
-
$[29] = t6;
|
|
96
|
-
} else {
|
|
97
|
-
t6 = $[29];
|
|
98
|
-
}
|
|
99
|
-
const handleNavigateToParent = t6;
|
|
100
|
-
t4 = _jsxs(_Fragment, {
|
|
101
|
-
children: [_jsx(HydrateHierarchyProvider, {
|
|
102
|
-
collectionSlug: hierarchyCollectionSlug,
|
|
103
|
-
expandedNodes: initialExpandedNodes,
|
|
104
|
-
parentFieldName,
|
|
105
|
-
selectedFilters: initialSelectedFilters,
|
|
106
|
-
treeData: effectiveInitialData,
|
|
107
|
-
treeLimit,
|
|
108
|
-
typeFieldName
|
|
109
|
-
}), _jsxs("div", {
|
|
110
|
-
className: "hierarchy-sidebar-tab",
|
|
111
|
-
children: [_jsx(HierarchySearch, {
|
|
112
|
-
collectionSlug: hierarchyCollectionSlug,
|
|
113
|
-
collectionSpecificOptions,
|
|
114
|
-
isActive: isSearchActive,
|
|
115
|
-
onActiveChange: setIsSearchActive,
|
|
116
|
-
onFilterChange: handleFilterChange,
|
|
117
|
-
onSelect: handleNavigateToParent,
|
|
118
|
-
selectedFilters
|
|
119
|
-
}), !isSearchActive && _jsx(HierarchyTree, {
|
|
120
|
-
collectionSlug: hierarchyCollectionSlug,
|
|
121
|
-
filterByCollections: selectedFilters.length > 0 ? selectedFilters : undefined,
|
|
122
|
-
icon,
|
|
123
|
-
initialData: effectiveInitialData,
|
|
124
|
-
onNodeClick: handleNavigateToParent,
|
|
125
|
-
selectedNodeId,
|
|
126
|
-
useAsTitle
|
|
127
|
-
}, `${hierarchyCollectionSlug}-${treeRefreshKey}`)]
|
|
128
|
-
})]
|
|
129
|
-
});
|
|
130
|
-
$[2] = adminRoute;
|
|
131
|
-
$[3] = collectionSpecificOptions;
|
|
132
|
-
$[4] = hierarchyCollectionSlug;
|
|
133
|
-
$[5] = icon;
|
|
134
|
-
$[6] = initialData;
|
|
135
|
-
$[7] = initialExpandedNodes;
|
|
136
|
-
$[8] = initialSelectedFilters;
|
|
137
|
-
$[9] = isSearchActive;
|
|
138
|
-
$[10] = parentFieldName;
|
|
139
|
-
$[11] = router;
|
|
140
|
-
$[12] = searchParams;
|
|
141
|
-
$[13] = selectedFilters;
|
|
142
|
-
$[14] = selectedNodeIdFromServer;
|
|
143
|
-
$[15] = setSelectedFiltersContext;
|
|
144
|
-
$[16] = startRouteTransition;
|
|
145
|
-
$[17] = treeLimit;
|
|
146
|
-
$[18] = treeRefreshKey;
|
|
147
|
-
$[19] = typeFieldName;
|
|
148
|
-
$[20] = useAsTitle;
|
|
149
|
-
$[21] = viewCollectionSlug;
|
|
150
|
-
$[22] = t4;
|
|
151
|
-
} else {
|
|
152
|
-
t4 = $[22];
|
|
153
|
-
}
|
|
154
|
-
return t4;
|
|
155
|
-
};
|
|
156
|
-
//# sourceMappingURL=HierarchySidebarTab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.js","names":["c","_c","useRouter","useSearchParams","formatAdminURL","React","useCallback","useState","HierarchySearch","HydrateHierarchyProvider","useConfig","useHierarchy","useRouteTransition","HierarchyTree","HierarchySidebarTab","t0","$","collectionSpecificOptions","hierarchyCollectionSlug","icon","initialData","initialExpandedNodes","initialSelectedFilters","parentFieldName","selectedNodeId","selectedNodeIdFromServer","treeLimit","typeFieldName","useAsTitle","router","searchParams","startRouteTransition","config","t1","routes","t2","admin","adminRoute","isSearchActive","setIsSearchActive","t3","selectedFilters","setSelectedFiltersLocal","setSelectedFilters","setSelectedFiltersContext","treeRefreshKey","viewCollectionSlug","t4","parentParam","get","isViewingThisCollection","undefined","effectiveInitialData","t5","filters","handleFilterChange","t6","t7","id","url","path","push","refresh","handleNavigateToParent","_jsxs","_Fragment","children","_jsx","collectionSlug","expandedNodes","treeData","className","isActive","onActiveChange","onFilterChange","onSelect","filterByCollections","length","onNodeClick"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.tsx"],"sourcesContent":["'use client'\n\nimport type { SidebarTabClientProps } from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport type { HierarchyInitialData } from './types.js'\n\nimport { HierarchySearch } from '../../elements/HierarchySearch/index.js'\nimport { HydrateHierarchyProvider } from '../../elements/HydrateHierarchyProvider/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useHierarchy } from '../../providers/Hierarchy/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { HierarchyTree } from './index.js'\n\nexport const HierarchySidebarTab: React.FC<\n {\n collectionSpecificOptions?: { label: string; value: string }[]\n hierarchyCollectionSlug: string\n icon?: React.ReactNode\n initialData?: HierarchyInitialData | null\n initialExpandedNodes?: (number | string)[]\n initialSelectedFilters?: string[]\n parentFieldName?: string\n selectedNodeId?: null | string\n treeLimit?: number\n typeFieldName?: string\n useAsTitle?: string\n } & SidebarTabClientProps\n> = ({\n collectionSpecificOptions,\n hierarchyCollectionSlug,\n icon,\n initialData,\n initialExpandedNodes,\n initialSelectedFilters,\n parentFieldName,\n selectedNodeId: selectedNodeIdFromServer,\n treeLimit,\n typeFieldName,\n useAsTitle,\n}) => {\n const router = useRouter()\n const searchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const [isSearchActive, setIsSearchActive] = useState(false)\n const [selectedFilters, setSelectedFiltersLocal] = useState<string[]>(\n initialSelectedFilters ?? [],\n )\n const {\n setSelectedFilters: setSelectedFiltersContext,\n treeRefreshKey,\n viewCollectionSlug,\n } = useHierarchy()\n\n // Only show selection if the current list view matches this tab's hierarchy collection\n const parentParam = searchParams.get('parent')\n const isViewingThisCollection = viewCollectionSlug === hierarchyCollectionSlug\n const selectedNodeId = isViewingThisCollection\n ? (parentParam ?? selectedNodeIdFromServer ?? undefined)\n : undefined\n\n // Only use initialData on first render - after refresh, fetch fresh data\n const effectiveInitialData = treeRefreshKey === 0 ? initialData : null\n\n const handleFilterChange = useCallback(\n (filters: string[]) => {\n setSelectedFiltersLocal(filters)\n setSelectedFiltersContext(filters)\n },\n [setSelectedFiltersContext],\n )\n\n const handleNavigateToParent = useCallback(\n ({ id }: { id: number | string }) => {\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${hierarchyCollectionSlug}?parent=${id}`,\n })\n startRouteTransition(() => {\n router.push(url)\n router.refresh()\n })\n },\n [adminRoute, hierarchyCollectionSlug, router, startRouteTransition],\n )\n return (\n <>\n <HydrateHierarchyProvider\n collectionSlug={hierarchyCollectionSlug}\n expandedNodes={initialExpandedNodes}\n parentFieldName={parentFieldName}\n selectedFilters={initialSelectedFilters}\n treeData={effectiveInitialData}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n />\n <div className=\"hierarchy-sidebar-tab\">\n <HierarchySearch\n collectionSlug={hierarchyCollectionSlug}\n collectionSpecificOptions={collectionSpecificOptions}\n isActive={isSearchActive}\n onActiveChange={setIsSearchActive}\n onFilterChange={handleFilterChange}\n onSelect={handleNavigateToParent}\n selectedFilters={selectedFilters}\n />\n {!isSearchActive && (\n <HierarchyTree\n collectionSlug={hierarchyCollectionSlug}\n filterByCollections={selectedFilters.length > 0 ? selectedFilters : undefined}\n icon={icon}\n initialData={effectiveInitialData}\n key={`${hierarchyCollectionSlug}-${treeRefreshKey}`}\n onNodeClick={handleNavigateToParent}\n selectedNodeId={selectedNodeId}\n useAsTitle={useAsTitle}\n />\n )}\n </div>\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.server.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAKpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,MAAM,8BAA8B,GAAG;IAC3C,uBAAuB,EAAE,MAAM,CAAA;CAChC,GAAG,qBAAqB,CAAA;AAEzB,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CA+K9E,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchySidebarTab.server.js","names":["getTranslation","createLocalReq","getInitialTreeData","PREFERENCE_KEYS","React","HierarchySidebarTab","TagIcon","RenderServerComponent","HierarchySidebarTabServer","hierarchyCollectionSlug","i18n","payload","searchParams","user","initialData","initialExpandedNodes","initialSelectedFilters","selectedNodeId","parentFieldName","treeLimit","typeFieldName","useAsTitle","collectionSpecificOptions","collectionConfig","collections","config","hierarchyConfig","hierarchy","undefined","IconComponent","admin","components","Icon","icon","Component","importMap","key","_jsx","color","parent","String","preferenceKey","HIERARCHY_TREE","docs","preferenceDocs","find","collection","limit","overrideAccess","where","and","equals","id","preferences","value","expandedNodes","selectedFilters","collectionSpecific","fieldName","relatedCollections","Object","keys","map","slug","relatedConfig","label","labels","plural","sort","a","b","localeCompare","selectedNodeParentId","ancestorIds","currentNodeId","isFirstIteration","node","findByID","depth","parentId","push","expandedSet","Set","forEach","add","Array","from","req","collectionSlug","expandedNodeIds","length","filterByCollections","error","logger","warn","err","msg"],"sources":["../../../src/elements/HierarchyTree/HierarchySidebarTab.server.tsx"],"sourcesContent":["import type { SidebarTabServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createLocalReq, getInitialTreeData } from 'payload'\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports dir for proper client boundary\nimport { HierarchySidebarTab } from '../../exports/client/index.js'\nimport { TagIcon } from '../../icons/Tag/index.js'\nimport { RenderServerComponent } from '../RenderServerComponent/index.js'\n\nexport type HierarchySidebarTabServerProps = {\n hierarchyCollectionSlug: string\n} & SidebarTabServerProps\n\nexport const HierarchySidebarTabServer: React.FC<HierarchySidebarTabServerProps> = async ({\n hierarchyCollectionSlug,\n i18n,\n payload,\n searchParams,\n user,\n}) => {\n if (!user) {\n return null\n }\n\n let initialData = null\n let initialExpandedNodes: (number | string)[] = []\n let initialSelectedFilters: string[] = []\n let selectedNodeId: null | string = null\n let parentFieldName = 'parent'\n let treeLimit: number | undefined\n let typeFieldName: string | undefined\n let useAsTitle: string | undefined\n let collectionSpecificOptions: { label: string; value: string }[] = []\n\n // Get collection config and render icon (outside try block - doesn't need async)\n const collectionConfig = payload.collections[hierarchyCollectionSlug]?.config\n const hierarchyConfig =\n collectionConfig?.hierarchy && typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy\n : undefined\n\n const IconComponent = hierarchyConfig?.admin?.components?.Icon\n const icon = IconComponent ? (\n RenderServerComponent({\n Component: IconComponent,\n importMap: payload.importMap,\n key: `hierarchy-sidebar-icon-${hierarchyCollectionSlug}`,\n })\n ) : (\n <TagIcon color=\"muted\" />\n )\n\n try {\n // Get selected node from URL (?parent=<id>)\n selectedNodeId = searchParams?.parent ? String(searchParams.parent) : null\n\n // STEP 1: Load user's expanded node preferences\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${hierarchyCollectionSlug}`\n\n const { docs: preferenceDocs } = await payload.find({\n collection: 'payload-preferences',\n limit: 1,\n overrideAccess: false,\n user,\n where: {\n and: [\n { key: { equals: preferenceKey } },\n { 'user.value': { equals: user.id } },\n { 'user.relationTo': { equals: user.collection } },\n ],\n },\n })\n\n const preferences = preferenceDocs[0]\n\n if (preferences?.value?.expandedNodes) {\n initialExpandedNodes = preferences.value.expandedNodes\n }\n\n if (preferences?.value?.selectedFilters) {\n initialSelectedFilters = preferences.value.selectedFilters\n }\n\n // STEP 2: Get remaining config values\n parentFieldName = hierarchyConfig?.parentFieldName\n treeLimit = hierarchyConfig?.admin?.treeLimit\n typeFieldName =\n hierarchyConfig?.collectionSpecific && typeof hierarchyConfig.collectionSpecific === 'object'\n ? hierarchyConfig.collectionSpecific.fieldName\n : undefined\n useAsTitle = collectionConfig?.admin?.useAsTitle\n\n // STEP 2.5: Build collection-specific options from related collections\n if (hierarchyConfig.collectionSpecific && hierarchyConfig?.relatedCollections) {\n collectionSpecificOptions = Object.keys(hierarchyConfig.relatedCollections)\n .map((slug) => {\n const relatedConfig = payload.collections[slug]?.config\n const label = relatedConfig?.labels?.plural ?? slug\n\n return {\n label: getTranslation(label, i18n),\n value: slug,\n }\n })\n .sort((a, b) => a.label.localeCompare(b.label))\n }\n\n // Track the immediate parent of the selected node (for ensuring siblings are loaded)\n let selectedNodeParentId: null | number | string = null\n\n // If there's a selected node, ensure its ancestor chain is expanded\n if (selectedNodeId) {\n // Walk up the parent chain to root\n const ancestorIds: (number | string)[] = []\n let currentNodeId: null | number | string = selectedNodeId\n let isFirstIteration = true\n\n while (currentNodeId) {\n try {\n const node = await payload.findByID({\n id: currentNodeId,\n collection: hierarchyCollectionSlug,\n depth: 0,\n overrideAccess: false,\n user,\n })\n\n const parentId = node?.[parentFieldName]\n\n // Capture the immediate parent of the selected node\n if (isFirstIteration) {\n selectedNodeParentId = parentId ?? null\n isFirstIteration = false\n }\n\n if (parentId) {\n ancestorIds.push(parentId)\n currentNodeId = parentId\n } else {\n currentNodeId = null\n }\n } catch {\n // Node not found or access denied\n break\n }\n }\n\n // Merge ancestor IDs with existing expanded nodes\n const expandedSet = new Set(initialExpandedNodes)\n ancestorIds.forEach((id) => expandedSet.add(id))\n initialExpandedNodes = Array.from(expandedSet)\n }\n\n // STEP 3: Fetch tree data (root nodes + children of expanded nodes + selected node path)\n const req = await createLocalReq({ user }, payload)\n\n initialData = await getInitialTreeData({\n collectionSlug: hierarchyCollectionSlug,\n expandedNodeIds: initialExpandedNodes,\n ...(initialSelectedFilters.length > 0 && { filterByCollections: initialSelectedFilters }),\n ...(treeLimit !== undefined && { limit: treeLimit }),\n req,\n selectedNodeId,\n selectedNodeParentId,\n })\n } catch (error) {\n payload.logger.warn({\n err: error,\n msg: `Failed to fetch hierarchy data for ${hierarchyCollectionSlug}`,\n })\n // Fall back to client-side fetching if server fetch fails\n }\n\n return (\n <HierarchySidebarTab\n collectionSpecificOptions={collectionSpecificOptions}\n hierarchyCollectionSlug={hierarchyCollectionSlug}\n icon={icon}\n initialData={initialData}\n initialExpandedNodes={initialExpandedNodes}\n initialSelectedFilters={initialSelectedFilters}\n parentFieldName={parentFieldName}\n selectedNodeId={selectedNodeId}\n treeLimit={treeLimit}\n typeFieldName={typeFieldName}\n useAsTitle={useAsTitle}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadMoreButton.d.ts","sourceRoot":"","sources":["../../../../src/elements/HierarchyTree/LoadMore/LoadMoreButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;CACjD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyBxD,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import React, { useCallback, useRef } from 'react';
|
|
5
|
-
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
6
|
-
import { useFocusableItem } from '../TreeFocusContext.js';
|
|
7
|
-
export const LoadMoreButton = ({
|
|
8
|
-
id,
|
|
9
|
-
onLoadMore
|
|
10
|
-
}) => {
|
|
11
|
-
const {
|
|
12
|
-
t
|
|
13
|
-
} = useTranslation();
|
|
14
|
-
const buttonRef = useRef(null);
|
|
15
|
-
const {
|
|
16
|
-
handleFocus,
|
|
17
|
-
tabIndex
|
|
18
|
-
} = useFocusableItem({
|
|
19
|
-
id,
|
|
20
|
-
type: 'load-more',
|
|
21
|
-
ref: buttonRef
|
|
22
|
-
});
|
|
23
|
-
const handleClick = useCallback(async () => {
|
|
24
|
-
await onLoadMore();
|
|
25
|
-
}, [onLoadMore]);
|
|
26
|
-
return /*#__PURE__*/_jsx("button", {
|
|
27
|
-
className: "hierarchy-tree__load-more-button",
|
|
28
|
-
onClick: handleClick,
|
|
29
|
-
onFocus: handleFocus,
|
|
30
|
-
ref: buttonRef,
|
|
31
|
-
tabIndex: tabIndex,
|
|
32
|
-
type: "button",
|
|
33
|
-
children: t('general:loadMore')
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=LoadMoreButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadMoreButton.js","names":["React","useCallback","useRef","useTranslation","useFocusableItem","LoadMoreButton","id","onLoadMore","t","buttonRef","handleFocus","tabIndex","type","ref","handleClick","_jsx","className","onClick","onFocus"],"sources":["../../../../src/elements/HierarchyTree/LoadMore/LoadMoreButton.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback, useRef } from 'react'\n\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useFocusableItem } from '../TreeFocusContext.js'\n\ntype LoadMoreButtonProps = {\n id: string\n onLoadMore: (() => Promise<void>) | (() => void)\n}\n\nexport const LoadMoreButton: React.FC<LoadMoreButtonProps> = ({ id, onLoadMore }) => {\n const { t } = useTranslation()\n const buttonRef = useRef<HTMLButtonElement>(null)\n const { handleFocus, tabIndex } = useFocusableItem({\n id,\n type: 'load-more',\n ref: buttonRef,\n })\n\n const handleClick = useCallback(async () => {\n await onLoadMore()\n }, [onLoadMore])\n\n return (\n <button\n className=\"hierarchy-tree__load-more-button\"\n onClick={handleClick}\n onFocus={handleFocus}\n ref={buttonRef}\n tabIndex={tabIndex}\n type=\"button\"\n >\n {t('general:loadMore')}\n </button>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,IAASC,WAAW,EAAEC,MAAM,QAAQ;AAE3C,SAASC,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,QAAQ;AAOjC,OAAO,MAAMC,cAAA,GAAgDA,CAAC;EAAEC,EAAE;EAAEC;AAAU,CAAE;EAC9E,MAAM;IAAEC;EAAC,CAAE,GAAGL,cAAA;EACd,MAAMM,SAAA,GAAYP,MAAA,CAA0B;EAC5C,MAAM;IAAEQ,WAAW;IAAEC;EAAQ,CAAE,GAAGP,gBAAA,CAAiB;IACjDE,EAAA;IACAM,IAAA,EAAM;IACNC,GAAA,EAAKJ;EACP;EAEA,MAAMK,WAAA,GAAcb,WAAA,CAAY;IAC9B,MAAMM,UAAA;EACR,GAAG,CAACA,UAAA,CAAW;EAEf,oBACEQ,IAAA,CAAC;IACCC,SAAA,EAAU;IACVC,OAAA,EAASH,WAAA;IACTI,OAAA,EAASR,WAAA;IACTG,GAAA,EAAKJ,SAAA;IACLE,QAAA,EAAUA,QAAA;IACVC,IAAA,EAAK;cAEJJ,CAAA,CAAE;;AAGT","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/HierarchyTree/LoadMore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAChD,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiB5C,CAAA"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { LoadMoreRow } from '../../LoadMoreRow/index.js';
|
|
6
|
-
import { LoadMoreButton } from './LoadMoreButton.js';
|
|
7
|
-
import './index.scss';
|
|
8
|
-
export const LoadMore = ({
|
|
9
|
-
id,
|
|
10
|
-
currentCount,
|
|
11
|
-
depth,
|
|
12
|
-
onLoadMore,
|
|
13
|
-
totalDocs
|
|
14
|
-
}) => {
|
|
15
|
-
return /*#__PURE__*/_jsx(LoadMoreRow, {
|
|
16
|
-
className: "hierarchy-tree__load-more",
|
|
17
|
-
currentCount: currentCount,
|
|
18
|
-
hasMore: currentCount < totalDocs,
|
|
19
|
-
loadMoreButton: /*#__PURE__*/_jsx(LoadMoreButton, {
|
|
20
|
-
id: id,
|
|
21
|
-
onLoadMore: onLoadMore
|
|
22
|
-
}),
|
|
23
|
-
style: {
|
|
24
|
-
'--hierarchy-tree-depth': depth
|
|
25
|
-
},
|
|
26
|
-
totalDocs: totalDocs
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","LoadMoreRow","LoadMoreButton","LoadMore","id","currentCount","depth","onLoadMore","totalDocs","_jsx","className","hasMore","loadMoreButton","style"],"sources":["../../../../src/elements/HierarchyTree/LoadMore/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { LoadMoreRow } from '../../LoadMoreRow/index.js'\nimport { LoadMoreButton } from './LoadMoreButton.js'\nimport './index.scss'\n\ntype LoadMoreProps = {\n currentCount: number\n depth: number\n id: string\n onLoadMore: (() => Promise<void>) | (() => void)\n totalDocs: number\n}\n\nexport const LoadMore: React.FC<LoadMoreProps> = ({\n id,\n currentCount,\n depth,\n onLoadMore,\n totalDocs,\n}) => {\n return (\n <LoadMoreRow\n className=\"hierarchy-tree__load-more\"\n currentCount={currentCount}\n hasMore={currentCount < totalDocs}\n loadMoreButton={<LoadMoreButton id={id} onLoadMore={onLoadMore} />}\n style={{ '--hierarchy-tree-depth': depth } as React.CSSProperties}\n totalDocs={totalDocs}\n />\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAUP,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,EAAE;EACFC,YAAY;EACZC,KAAK;EACLC,UAAU;EACVC;AAAS,CACV;EACC,oBACEC,IAAA,CAACR,WAAA;IACCS,SAAA,EAAU;IACVL,YAAA,EAAcA,YAAA;IACdM,OAAA,EAASN,YAAA,GAAeG,SAAA;IACxBI,cAAA,eAAgBH,IAAA,CAACP,cAAA;MAAeE,EAAA,EAAIA,EAAA;MAAIG,UAAA,EAAYA;;IACpDM,KAAA,EAAO;MAAE,0BAA0BP;IAAM;IACzCE,SAAA,EAAWA;;AAGjB","ignoreList":[]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// Tree-specific overrides for the shared LoadMoreRow component
|
|
2
|
-
|
|
3
|
-
.hierarchy-tree__load-more.load-more-row {
|
|
4
|
-
padding: var(--hierarchy-tree-node-padding-y) var(--hierarchy-tree-node-padding-x);
|
|
5
|
-
padding-left: calc(var(--hierarchy-tree-depth, 0) * var(--hierarchy-tree-indent));
|
|
6
|
-
height: var(--hierarchy-tree-node-content-height);
|
|
7
|
-
position: relative;
|
|
8
|
-
margin-bottom: var(--hierarchy-tree-row-gap);
|
|
9
|
-
padding-top: 0;
|
|
10
|
-
|
|
11
|
-
.load-more-row__connector {
|
|
12
|
-
margin-left: 2px;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// Tree-specific button styling (uses native button for focus management)
|
|
17
|
-
.hierarchy-tree__load-more-button {
|
|
18
|
-
background: none;
|
|
19
|
-
border: none;
|
|
20
|
-
padding: 0;
|
|
21
|
-
color: var(--theme-text);
|
|
22
|
-
font-size: inherit;
|
|
23
|
-
font-family: inherit;
|
|
24
|
-
cursor: pointer;
|
|
25
|
-
text-decoration: underline;
|
|
26
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeConnector.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/TreeConnector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkBtD,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeConnector.js","names":["React","TreeConnector","className","_jsx","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeLinejoin"],"sources":["../../../src/elements/HierarchyTree/TreeConnector.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\ntype TreeConnectorProps = {\n className?: string\n}\n\nexport const TreeConnector: React.FC<TreeConnectorProps> = ({ className }) => {\n return (\n <svg\n className={className}\n fill=\"none\"\n height=\"9\"\n viewBox=\"0 0 9 9\"\n width=\"9\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M7.59062 7.83333H3.16667C2.45942 7.83333 1.78115 7.55238 1.28105 7.05229C0.780951 6.55219 0.5 5.87391 0.5 5.16667V0.5\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n"],"mappings":"AAAA;;;AAEA,OAAOA,KAAA,MAAW;AAMlB,OAAO,MAAMC,aAAA,GAA8CA,CAAC;EAAEC;AAAS,CAAE;EACvE,oBACEC,IAAA,CAAC;IACCD,SAAA,EAAWA,SAAA;IACXE,IAAA,EAAK;IACLC,MAAA,EAAO;IACPC,OAAA,EAAQ;IACRC,KAAA,EAAM;IACNC,KAAA,EAAM;cAEN,aAAAL,IAAA,CAAC;MACCM,CAAA,EAAE;MACFC,MAAA,EAAO;MACPC,aAAA,EAAc;MACdC,cAAA,EAAe;;;AAIvB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeFocusContext.d.ts","sourceRoot":"","sources":["../../../src/elements/HierarchyTree/TreeFocusContext.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IAC3C,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAA;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CACrC,CAAA;AAID,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAsErE,CAAA;AAED,eAAO,MAAM,YAAY,4BAMxB,CAAA;AAED,eAAO,MAAM,gBAAgB,uBAI1B;IACD,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACjC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;CAC3B;;;;CAwBA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeFocusContext.js","names":["c","_c","createContext","use","useCallback","useEffect","useRef","useState","TreeFocusContext","undefined","TreeFocusProvider","children","focusedId","setFocusedId","itemsRef","Map","registerItem","item","current","set","id","unregisterItem","delete","moveFocus","direction","items","Array","from","values","length","sortedItems","filter","ref","sort","a","b","aElement","bElement","position","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_PRECEDING","currentIndex","findIndex","nextIndex","Math","min","max","nextItem","focus","_jsx","value","useTreeFocus","context","Error","useFocusableItem","t0","$","type","isFocused","isFirstItemEver","t1","t2","t3","handleFocus","tabIndex","t4"],"sources":["../../../src/elements/HierarchyTree/TreeFocusContext.tsx"],"sourcesContent":["'use client'\n\nimport type React from 'react'\n\nimport { createContext, use, useCallback, useEffect, useRef, useState } from 'react'\n\ntype FocusableItem = {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}\n\ntype TreeFocusContextType = {\n focusedId: null | string\n moveFocus: (direction: 'down' | 'up') => void\n registerItem: (item: FocusableItem) => void\n setFocusedId: (id: null | string) => void\n unregisterItem: (id: string) => void\n}\n\nconst TreeFocusContext = createContext<TreeFocusContextType | undefined>(undefined)\n\nexport const TreeFocusProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [focusedId, setFocusedId] = useState<null | string>(null)\n const itemsRef = useRef<Map<string, FocusableItem>>(new Map())\n\n const registerItem = useCallback((item: FocusableItem) => {\n itemsRef.current.set(item.id, item)\n }, [])\n\n const unregisterItem = useCallback((id: string) => {\n itemsRef.current.delete(id)\n }, [])\n\n const moveFocus = useCallback(\n (direction: 'down' | 'up') => {\n const items = Array.from(itemsRef.current.values())\n if (items.length === 0) {\n return\n }\n\n // Sort items by their DOM position to ensure correct navigation order\n const sortedItems = items\n .filter((item) => item.ref.current)\n .sort((a, b) => {\n const aElement = a.ref.current\n const bElement = b.ref.current\n if (!aElement || !bElement) {\n return 0\n }\n\n const position = aElement.compareDocumentPosition(bElement)\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1\n }\n return 0\n })\n\n const currentIndex = focusedId ? sortedItems.findIndex((item) => item.id === focusedId) : -1\n\n let nextIndex: number\n if (direction === 'down') {\n nextIndex = currentIndex === -1 ? 0 : Math.min(currentIndex + 1, sortedItems.length - 1)\n } else {\n nextIndex = Math.max(currentIndex - 1, 0)\n }\n\n const nextItem = sortedItems[nextIndex]\n if (nextItem && nextItem.ref.current) {\n nextItem.ref.current.focus()\n setFocusedId(nextItem.id)\n }\n },\n [focusedId],\n )\n\n return (\n <TreeFocusContext\n value={{\n focusedId,\n moveFocus,\n registerItem,\n setFocusedId,\n unregisterItem,\n }}\n >\n {children}\n </TreeFocusContext>\n )\n}\n\nexport const useTreeFocus = () => {\n const context = use(TreeFocusContext)\n if (!context) {\n throw new Error('useTreeFocus must be used within TreeFocusProvider')\n }\n return context\n}\n\nexport const useFocusableItem = ({\n id,\n type,\n ref,\n}: {\n id: string\n ref: React.RefObject<HTMLElement>\n type: 'load-more' | 'node'\n}) => {\n const { focusedId, registerItem, setFocusedId, unregisterItem } = useTreeFocus()\n const isFocused = focusedId === id\n const isFirstItemEver = focusedId === null\n\n useEffect(() => {\n registerItem({ id, type, ref })\n return () => {\n unregisterItem(id)\n }\n }, [id, ref, type, registerItem, unregisterItem])\n\n const handleFocus = useCallback(() => {\n setFocusedId(id)\n }, [id, setFocusedId])\n\n // Roving tabindex: focused item gets 0, first item (when nothing focused) gets 0, all others get -1\n const tabIndex = isFocused ? 0 : isFirstItemEver ? 0 : -1\n\n return {\n handleFocus,\n isFocused,\n tabIndex,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { TreeNodeProps } from '../types.js';
|
|
3
|
-
import './index.scss';
|
|
4
|
-
export declare const TreeNode: ({ cache, collectionSlug, depth, expandedNodes, limit, node, onSelect, onToggle, parentFieldName, selected, selectedNodeId, useAsTitle, }: TreeNodeProps) => React.JSX.Element;
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/HierarchyTree/TreeNode/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAQhD,OAAO,cAAc,CAAA;AAmBrB,eAAO,MAAM,QAAQ,6IAalB,aAAa,sBA6Kf,CAAA"}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
|
-
import { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared';
|
|
5
|
-
import React, { useCallback, useRef } from 'react';
|
|
6
|
-
import { Spinner } from '../../../elements/Spinner/index.js';
|
|
7
|
-
import { ChevronIcon } from '../../../icons/Chevron/index.js';
|
|
8
|
-
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
9
|
-
import { LoadMore } from '../LoadMore/index.js';
|
|
10
|
-
import { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js';
|
|
11
|
-
import { useChildren } from '../useChildren.js';
|
|
12
|
-
import './index.scss';
|
|
13
|
-
const baseClass = 'hierarchy-tree-node';
|
|
14
|
-
const getDocumentTitle = (doc, useAsTitle) => {
|
|
15
|
-
const docId = doc.id;
|
|
16
|
-
const idStr = typeof docId === 'number' ? String(docId) : docId;
|
|
17
|
-
if (!useAsTitle) {
|
|
18
|
-
return idStr;
|
|
19
|
-
}
|
|
20
|
-
const value = doc[useAsTitle];
|
|
21
|
-
if (value && (typeof value === 'string' || typeof value === 'number')) {
|
|
22
|
-
return String(value);
|
|
23
|
-
}
|
|
24
|
-
return idStr;
|
|
25
|
-
};
|
|
26
|
-
export const TreeNode = ({
|
|
27
|
-
cache,
|
|
28
|
-
collectionSlug,
|
|
29
|
-
depth = 0,
|
|
30
|
-
expandedNodes,
|
|
31
|
-
limit = DEFAULT_HIERARCHY_TREE_LIMIT,
|
|
32
|
-
node,
|
|
33
|
-
onSelect,
|
|
34
|
-
onToggle,
|
|
35
|
-
parentFieldName,
|
|
36
|
-
selected,
|
|
37
|
-
selectedNodeId,
|
|
38
|
-
useAsTitle
|
|
39
|
-
}) => {
|
|
40
|
-
const {
|
|
41
|
-
t
|
|
42
|
-
} = useTranslation();
|
|
43
|
-
const expanded = expandedNodes.has(node.id);
|
|
44
|
-
const nodeRef = useRef(null);
|
|
45
|
-
const contentRef = useRef(null);
|
|
46
|
-
const {
|
|
47
|
-
setFocusedId
|
|
48
|
-
} = useTreeFocus();
|
|
49
|
-
const {
|
|
50
|
-
children,
|
|
51
|
-
hasMore,
|
|
52
|
-
isLoading,
|
|
53
|
-
loadMore: loadMoreFromHook,
|
|
54
|
-
totalDocs
|
|
55
|
-
} = useChildren({
|
|
56
|
-
cache,
|
|
57
|
-
collectionSlug,
|
|
58
|
-
enabled: expanded,
|
|
59
|
-
limit,
|
|
60
|
-
parentFieldName,
|
|
61
|
-
parentId: node.id
|
|
62
|
-
});
|
|
63
|
-
const handleLoadMore = React.useCallback(async () => {
|
|
64
|
-
const newDocs = await loadMoreFromHook();
|
|
65
|
-
if (newDocs && newDocs.length > 0) {
|
|
66
|
-
const firstNewDoc = newDocs[0];
|
|
67
|
-
const docId = firstNewDoc.id;
|
|
68
|
-
setFocusedId(`node-${docId}`);
|
|
69
|
-
}
|
|
70
|
-
}, [loadMoreFromHook, setFocusedId]);
|
|
71
|
-
const {
|
|
72
|
-
handleFocus,
|
|
73
|
-
isFocused,
|
|
74
|
-
tabIndex
|
|
75
|
-
} = useFocusableItem({
|
|
76
|
-
id: `node-${node.id}`,
|
|
77
|
-
type: 'node',
|
|
78
|
-
ref: contentRef
|
|
79
|
-
});
|
|
80
|
-
// When focusedId points to this node, actually call .focus()
|
|
81
|
-
React.useEffect(() => {
|
|
82
|
-
if (isFocused && contentRef.current && document.activeElement !== contentRef.current) {
|
|
83
|
-
contentRef.current.focus();
|
|
84
|
-
}
|
|
85
|
-
}, [isFocused]);
|
|
86
|
-
// Determine if node has children:
|
|
87
|
-
// - If explicitly set in data, use that
|
|
88
|
-
// - If expanded and loaded, check the actual children
|
|
89
|
-
// - Otherwise, assume it might have children (show chevron until proven otherwise)
|
|
90
|
-
const hasChildren = node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true);
|
|
91
|
-
const handleToggleClick = useCallback(e => {
|
|
92
|
-
e.stopPropagation();
|
|
93
|
-
onToggle({
|
|
94
|
-
id: node.id
|
|
95
|
-
});
|
|
96
|
-
}, [node.id, onToggle]);
|
|
97
|
-
const handleSelectClick = useCallback(() => {
|
|
98
|
-
onSelect({
|
|
99
|
-
id: node.id
|
|
100
|
-
});
|
|
101
|
-
}, [node.id, onSelect]);
|
|
102
|
-
const handleKeyDown = useCallback(e_0 => {
|
|
103
|
-
switch (e_0.key) {
|
|
104
|
-
case ' ':
|
|
105
|
-
case 'Enter':
|
|
106
|
-
e_0.preventDefault();
|
|
107
|
-
handleSelectClick();
|
|
108
|
-
break;
|
|
109
|
-
case 'ArrowLeft':
|
|
110
|
-
if (hasChildren && expanded) {
|
|
111
|
-
e_0.preventDefault();
|
|
112
|
-
onToggle({
|
|
113
|
-
id: node.id
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
break;
|
|
117
|
-
case 'ArrowRight':
|
|
118
|
-
if (hasChildren && !expanded) {
|
|
119
|
-
e_0.preventDefault();
|
|
120
|
-
onToggle({
|
|
121
|
-
id: node.id
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
}, [hasChildren, expanded, handleSelectClick, onToggle, node.id]);
|
|
127
|
-
return /*#__PURE__*/_jsxs("div", {
|
|
128
|
-
className: baseClass,
|
|
129
|
-
ref: nodeRef,
|
|
130
|
-
style: {
|
|
131
|
-
'--hierarchy-tree-depth': depth
|
|
132
|
-
},
|
|
133
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
134
|
-
className: [`${baseClass}__content`, selected && `${baseClass}__content--selected`].filter(Boolean).join(' '),
|
|
135
|
-
onClick: handleSelectClick,
|
|
136
|
-
onFocus: handleFocus,
|
|
137
|
-
onKeyDown: handleKeyDown,
|
|
138
|
-
ref: contentRef,
|
|
139
|
-
role: "button",
|
|
140
|
-
tabIndex: tabIndex,
|
|
141
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
142
|
-
className: `${baseClass}__indicator`
|
|
143
|
-
}), hasChildren ? /*#__PURE__*/_jsx("button", {
|
|
144
|
-
"aria-label": expanded ? t('general:collapse') : t('general:open'),
|
|
145
|
-
className: `${baseClass}__toggle`,
|
|
146
|
-
onClick: handleToggleClick,
|
|
147
|
-
tabIndex: -1,
|
|
148
|
-
type: "button",
|
|
149
|
-
children: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
150
|
-
direction: expanded ? 'down' : 'right'
|
|
151
|
-
})
|
|
152
|
-
}) : /*#__PURE__*/_jsx("div", {
|
|
153
|
-
className: `${baseClass}__toggle-spacer`
|
|
154
|
-
}), /*#__PURE__*/_jsx("span", {
|
|
155
|
-
className: `${baseClass}__title`,
|
|
156
|
-
title: node.title,
|
|
157
|
-
children: node.title
|
|
158
|
-
}), isLoading && expanded && /*#__PURE__*/_jsx("span", {
|
|
159
|
-
className: `${baseClass}__loading`,
|
|
160
|
-
children: /*#__PURE__*/_jsx(Spinner, {
|
|
161
|
-
loadingText: null,
|
|
162
|
-
size: "small"
|
|
163
|
-
})
|
|
164
|
-
})]
|
|
165
|
-
}), expanded && children && children.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
166
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
167
|
-
className: `${baseClass}__children`,
|
|
168
|
-
children: children.map(child => {
|
|
169
|
-
const childData = child;
|
|
170
|
-
const childId = childData.id;
|
|
171
|
-
const childTitle = getDocumentTitle(child, useAsTitle);
|
|
172
|
-
return /*#__PURE__*/_jsx(TreeNode, {
|
|
173
|
-
cache: cache,
|
|
174
|
-
collectionSlug: collectionSlug,
|
|
175
|
-
depth: depth + 1,
|
|
176
|
-
expandedNodes: expandedNodes,
|
|
177
|
-
limit: limit,
|
|
178
|
-
node: {
|
|
179
|
-
id: childId,
|
|
180
|
-
hasChildren: true,
|
|
181
|
-
title: childTitle
|
|
182
|
-
},
|
|
183
|
-
onSelect: onSelect,
|
|
184
|
-
onToggle: onToggle,
|
|
185
|
-
parentFieldName: parentFieldName,
|
|
186
|
-
selected: String(childId) === String(selectedNodeId),
|
|
187
|
-
selectedNodeId: selectedNodeId,
|
|
188
|
-
useAsTitle: useAsTitle
|
|
189
|
-
}, String(childId));
|
|
190
|
-
})
|
|
191
|
-
}), hasMore && /*#__PURE__*/_jsx(LoadMore, {
|
|
192
|
-
currentCount: children.length,
|
|
193
|
-
depth: depth + 1,
|
|
194
|
-
id: `load-more-${node.id}`,
|
|
195
|
-
onLoadMore: handleLoadMore,
|
|
196
|
-
totalDocs: totalDocs
|
|
197
|
-
})]
|
|
198
|
-
})]
|
|
199
|
-
});
|
|
200
|
-
};
|
|
201
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_HIERARCHY_TREE_LIMIT","React","useCallback","useRef","Spinner","ChevronIcon","useTranslation","LoadMore","useFocusableItem","useTreeFocus","useChildren","baseClass","getDocumentTitle","doc","useAsTitle","docId","id","idStr","String","value","TreeNode","cache","collectionSlug","depth","expandedNodes","limit","node","onSelect","onToggle","parentFieldName","selected","selectedNodeId","t","expanded","has","nodeRef","contentRef","setFocusedId","children","hasMore","isLoading","loadMore","loadMoreFromHook","totalDocs","enabled","parentId","handleLoadMore","newDocs","length","firstNewDoc","handleFocus","isFocused","tabIndex","type","ref","useEffect","current","document","activeElement","focus","hasChildren","handleToggleClick","e","stopPropagation","handleSelectClick","handleKeyDown","key","preventDefault","_jsxs","className","style","filter","Boolean","join","onClick","onFocus","onKeyDown","role","_jsx","direction","title","loadingText","size","_Fragment","map","child","childData","childId","childTitle","currentCount","onLoadMore"],"sources":["../../../../src/elements/HierarchyTree/TreeNode/index.tsx"],"sourcesContent":["'use client'\n\nimport { DEFAULT_HIERARCHY_TREE_LIMIT } from 'payload/shared'\nimport React, { useCallback, useRef } from 'react'\n\nimport type { TreeNodeProps } from '../types.js'\n\nimport { Spinner } from '../../../elements/Spinner/index.js'\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { LoadMore } from '../LoadMore/index.js'\nimport { useFocusableItem, useTreeFocus } from '../TreeFocusContext.js'\nimport { useChildren } from '../useChildren.js'\nimport './index.scss'\n\nconst baseClass = 'hierarchy-tree-node'\n\nconst getDocumentTitle = (doc: Record<string, unknown>, useAsTitle: string | undefined): string => {\n const docId: number | string = doc.id as number | string\n const idStr = typeof docId === 'number' ? String(docId) : docId\n\n if (!useAsTitle) {\n return idStr\n }\n\n const value = doc[useAsTitle]\n if (value && (typeof value === 'string' || typeof value === 'number')) {\n return String(value)\n }\n return idStr\n}\n\nexport const TreeNode = ({\n cache,\n collectionSlug,\n depth = 0,\n expandedNodes,\n limit = DEFAULT_HIERARCHY_TREE_LIMIT,\n node,\n onSelect,\n onToggle,\n parentFieldName,\n selected,\n selectedNodeId,\n useAsTitle,\n}: TreeNodeProps) => {\n const { t } = useTranslation()\n const expanded = expandedNodes.has(node.id)\n const nodeRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const { setFocusedId } = useTreeFocus()\n\n const {\n children,\n hasMore,\n isLoading,\n loadMore: loadMoreFromHook,\n totalDocs,\n } = useChildren({\n cache,\n collectionSlug,\n enabled: expanded,\n limit,\n parentFieldName,\n parentId: node.id,\n })\n\n const handleLoadMore = React.useCallback(async () => {\n const newDocs = await loadMoreFromHook()\n\n if (newDocs && newDocs.length > 0) {\n const firstNewDoc = newDocs[0]\n const docId: number | string = (firstNewDoc as { id: number | string }).id\n setFocusedId(`node-${docId}`)\n }\n }, [loadMoreFromHook, setFocusedId])\n\n const { handleFocus, isFocused, tabIndex } = useFocusableItem({\n id: `node-${node.id}`,\n type: 'node',\n ref: contentRef,\n })\n\n // When focusedId points to this node, actually call .focus()\n React.useEffect(() => {\n if (isFocused && contentRef.current && document.activeElement !== contentRef.current) {\n contentRef.current.focus()\n }\n }, [isFocused])\n\n // Determine if node has children:\n // - If explicitly set in data, use that\n // - If expanded and loaded, check the actual children\n // - Otherwise, assume it might have children (show chevron until proven otherwise)\n const hasChildren =\n node.hasChildren === true || (expanded && children !== null ? children.length > 0 : true)\n\n const handleToggleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation()\n onToggle({ id: node.id })\n },\n [node.id, onToggle],\n )\n\n const handleSelectClick = useCallback(() => {\n onSelect({ id: node.id })\n }, [node.id, onSelect])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n switch (e.key) {\n case ' ':\n case 'Enter':\n e.preventDefault()\n handleSelectClick()\n break\n case 'ArrowLeft':\n if (hasChildren && expanded) {\n e.preventDefault()\n onToggle({ id: node.id })\n }\n break\n case 'ArrowRight':\n if (hasChildren && !expanded) {\n e.preventDefault()\n onToggle({ id: node.id })\n }\n break\n }\n },\n [hasChildren, expanded, handleSelectClick, onToggle, node.id],\n )\n\n return (\n <div\n className={baseClass}\n ref={nodeRef}\n style={{ '--hierarchy-tree-depth': depth } as React.CSSProperties}\n >\n <div\n className={[`${baseClass}__content`, selected && `${baseClass}__content--selected`]\n .filter(Boolean)\n .join(' ')}\n onClick={handleSelectClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={contentRef}\n role=\"button\"\n tabIndex={tabIndex}\n >\n <div className={`${baseClass}__indicator`} />\n {hasChildren ? (\n <button\n aria-label={expanded ? t('general:collapse') : t('general:open')}\n className={`${baseClass}__toggle`}\n onClick={handleToggleClick}\n tabIndex={-1}\n type=\"button\"\n >\n <ChevronIcon direction={expanded ? 'down' : 'right'} />\n </button>\n ) : (\n <div className={`${baseClass}__toggle-spacer`} />\n )}\n <span className={`${baseClass}__title`} title={node.title}>\n {node.title}\n </span>\n {isLoading && expanded && (\n <span className={`${baseClass}__loading`}>\n <Spinner loadingText={null} size=\"small\" />\n </span>\n )}\n </div>\n\n {expanded && children && children.length > 0 && (\n <>\n <div className={`${baseClass}__children`}>\n {children.map((child) => {\n const childData = child as { id: number | string }\n const childId = childData.id\n const childTitle = getDocumentTitle(child, useAsTitle)\n return (\n <TreeNode\n cache={cache}\n collectionSlug={collectionSlug}\n depth={depth + 1}\n expandedNodes={expandedNodes}\n key={String(childId)}\n limit={limit}\n node={{\n id: childId,\n hasChildren: true,\n title: childTitle,\n }}\n onSelect={onSelect}\n onToggle={onToggle}\n parentFieldName={parentFieldName}\n selected={String(childId) === String(selectedNodeId)}\n selectedNodeId={selectedNodeId}\n useAsTitle={useAsTitle}\n />\n )\n })}\n </div>\n {hasMore && (\n <LoadMore\n currentCount={children.length}\n depth={depth + 1}\n id={`load-more-${node.id}`}\n onLoadMore={handleLoadMore}\n totalDocs={totalDocs}\n />\n )}\n </>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|