@payloadcms/ui 3.80.0-internal.c396c15 → 3.80.0-internal.cdd7ef7
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/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/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/Hierarchy/ColumnBrowser/Column/index.d.ts +5 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +166 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.scss +63 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts +5 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +161 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.scss +105 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +8 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +473 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/index.scss +20 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +106 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.js +2 -0
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts +11 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +126 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -0
- package/dist/elements/{FolderView/MoveDocToFolder → Hierarchy/DocHeaderButton}/index.scss +7 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts +10 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.d.ts.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +34 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts +15 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js +60 -0
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.d.ts +20 -0
- package/dist/elements/Hierarchy/Drawer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.js +291 -0
- package/dist/elements/Hierarchy/Drawer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/index.scss +81 -0
- package/dist/elements/Hierarchy/Drawer/types.d.ts +68 -0
- package/dist/elements/Hierarchy/Drawer/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/types.js +3 -0
- package/dist/elements/Hierarchy/Drawer/types.js.map +1 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +30 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js +148 -0
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +13 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +185 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -0
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.scss +78 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts +8 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/index.client.js +186 -0
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -0
- package/dist/elements/Hierarchy/Field/index.scss +35 -0
- package/dist/elements/Hierarchy/Field/index.server.d.ts +3 -0
- package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Field/index.server.js +30 -0
- 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/Hierarchy/MoveMany/index.d.ts +22 -0
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/MoveMany/index.js +278 -0
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -0
- package/dist/elements/Hierarchy/MoveMany/index.scss +7 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts +18 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js +115 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchInput.js.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts +13 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +88 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts +17 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js +85 -0
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -0
- package/dist/elements/Hierarchy/Search/index.d.ts +10 -0
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/index.js +144 -0
- package/dist/elements/Hierarchy/Search/index.js.map +1 -0
- package/dist/elements/Hierarchy/Search/index.scss +212 -0
- package/dist/elements/Hierarchy/Search/types.d.ts +21 -0
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/types.js +2 -0
- package/dist/elements/Hierarchy/Search/types.js.map +1 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts +20 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +122 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +21 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +162 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts +7 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +177 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts +8 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js +36 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/LoadMoreButton.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts +12 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js +29 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/LoadMore/index.scss +26 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts +7 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.js +23 -0
- package/dist/elements/Hierarchy/Tree/TreeConnector.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +28 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js +140 -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/Hierarchy/Tree/TreeNode/index.js +225 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/TreeNode/index.scss +110 -0
- package/dist/elements/Hierarchy/Tree/index.d.ts +5 -0
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/index.js +270 -0
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -0
- package/dist/elements/Hierarchy/Tree/index.scss +60 -0
- package/dist/elements/Hierarchy/Tree/types.d.ts +76 -0
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Tree/types.js +2 -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/Hierarchy/Tree/useChildren.js +229 -0
- package/dist/elements/Hierarchy/Tree/useChildren.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/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 +17 -12
- 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/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/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/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 +26 -9
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +26 -24
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +3 -3
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -3
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +1 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/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/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/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/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/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 +350 -0
- package/dist/providers/Hierarchy/index.js.map +1 -0
- package/dist/providers/Hierarchy/types.d.ts +106 -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/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/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 +15 -4
- 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 +194 -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 +4 -4
- 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/exports/client/chunk-SH42NW5R.js +0 -29
- 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
- /package/dist/exports/client/{DatePicker-CL2EGBVQ.js.map → DatePicker-T2DMDMM5.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useRouter","useSearchParams","extractID","formatAdminURL","formatFolderOrDocumentItem","qs","React","toast","useDrawerDepth","parseSearchParams","useConfig","useLocale","useRouteTransition","useTranslation","groupItemIDsByRelation","Context","createContext","activeCollectionFolderSlugs","allCollectionFolderSlugs","allowCreateCollectionSlugs","breadcrumbs","checkIfItemIsDisabled","clearSelections","currentFolder","documents","dragOverlayItem","undefined","focusedRowIndex","folderCollectionConfig","folderCollectionSlug","folderFieldName","folderID","FolderResultsComponent","folderType","getFolderRoute","getSelectedItems","isDragging","itemKeysToMove","moveToFolder","Promise","resolve","onItemClick","onItemKeyPress","refineFolderData","search","selectedFolderCollections","selectedItemKeys","Set","setBreadcrumbs","setFocusedRowIndex","setIsDragging","sort","subfolders","FolderProvider","activeCollectionSlugs","allowMultiSelection","baseFolderPath","_breadcrumbsFromProps","children","InitialFolderResultsComponent","onItemClickFromProps","parentFolderContext","useFolder","config","routes","drawerDepth","t","router","startRouteTransition","locale","localeCode","code","currentlySelectedIndexes","useRef","setSelectedFolderCollections","useState","setFolderResultsComponent","collections","find","collection","folders","slug","rawSearchParams","searchParams","useMemo","currentQuery","setCurrentQuery","setSelectedItemKeys","setDragOverlayItem","lastClickTime","totalCount","length","useCallback","current","mergeQuery","newQuery","page","mergedQuery","relationTo","query","updateURL","queryParams","replace","stringify","JSON","addQueryPrefix","toFolderID","adminRoute","admin","path","getItem","itemKey","doc","Array","from","reduce","acc","item","push","navigateAfterSelection","collectionSlug","docID","handleShiftSelection","targetIndex","allItems","existingIndexes","idx","has","firstSelectedIndex","Math","min","lastSelectedIndex","max","isWithinBounds","anchorIndex","distanceToFirst","abs","distanceToLast","startIndex","endIndex","newRangeIndexes","_","i","updateSelections","indexes","newSelectedFolderCollections","newSelectedItemKeys","index","includes","add","value","forEach","event","currentItem","ctrlKey","metaKey","shiftKey","isShiftPressed","isCtrlPressed","isCurrentlySelected","currentItemIndex","findIndex","preventDefault","isBackward","newItemIndex","selectedIndexes","newItem","size","prevIndex","nextIndex","clickedItem","doubleClicked","overlayItemKey","type","now","Date","args","itemsToMove","items","movingCurrentFolder","id","depth","req","fetch","apiRoute","api","body","credentials","headers","method","status","error","ids","Object","entries","limit","where","in","console","folderAcceptsItem","isArray","Boolean","some","isSelected","useEffect","_jsx","isUpload","useAsTitle","context","use","Error"],"sources":["../../../src/providers/Folders/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, CollectionSlug, FolderSortKeys } from 'payload'\nimport type { FolderBreadcrumb, FolderDocumentItemKey, FolderOrDocument } from 'payload/shared'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { extractID, formatAdminURL, formatFolderOrDocumentItem } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport { useDrawerDepth } from '../../elements/Drawer/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { groupItemIDsByRelation } from './groupItemIDsByRelation.js'\n\ntype FolderQueryParams = {\n page?: string\n relationTo?: CollectionSlug[]\n search?: string\n sort?: string\n}\n\nexport type FileCardData = {\n filename: string\n id: number | string\n mimeType: string\n name: string\n url: string\n}\n\nexport type FolderContextValue = {\n /**\n * The collection slugs that a view can be filtered by\n * Used in the browse-by-folder view\n */\n activeCollectionFolderSlugs: CollectionSlug[]\n /**\n * Folder enabled collection slugs that can be populated within the provider\n */\n readonly allCollectionFolderSlugs?: CollectionSlug[]\n allowCreateCollectionSlugs: CollectionSlug[]\n breadcrumbs?: FolderBreadcrumb[]\n checkIfItemIsDisabled: (item: FolderOrDocument) => boolean\n clearSelections: () => void\n currentFolder?: FolderOrDocument | null\n documents?: FolderOrDocument[]\n dragOverlayItem?: FolderOrDocument | undefined\n focusedRowIndex: number\n folderCollectionConfig: ClientCollectionConfig\n folderCollectionSlug: string\n folderFieldName: string\n folderID?: number | string\n FolderResultsComponent: React.ReactNode\n folderType: CollectionSlug[] | undefined\n getFolderRoute: (toFolderID?: number | string) => string\n getSelectedItems?: () => FolderOrDocument[]\n isDragging: boolean\n itemKeysToMove?: Set<FolderDocumentItemKey>\n moveToFolder: (args: {\n itemsToMove: FolderOrDocument[]\n toFolderID?: number | string\n }) => Promise<void>\n onItemClick: (args: { event: React.MouseEvent; index: number; item: FolderOrDocument }) => void\n onItemKeyPress: (args: {\n event: React.KeyboardEvent\n index: number\n item: FolderOrDocument\n }) => void\n refineFolderData: (args: { query?: FolderQueryParams; updateURL: boolean }) => void\n search: string\n selectedFolderCollections?: CollectionSlug[]\n readonly selectedItemKeys: Set<FolderDocumentItemKey>\n setBreadcrumbs: React.Dispatch<React.SetStateAction<FolderBreadcrumb[]>>\n setFocusedRowIndex: React.Dispatch<React.SetStateAction<number>>\n setIsDragging: React.Dispatch<React.SetStateAction<boolean>>\n sort: FolderSortKeys\n subfolders?: FolderOrDocument[]\n}\n\nconst Context = React.createContext<FolderContextValue>({\n activeCollectionFolderSlugs: [],\n allCollectionFolderSlugs: [],\n allowCreateCollectionSlugs: [],\n breadcrumbs: [],\n checkIfItemIsDisabled: () => false,\n clearSelections: () => {},\n currentFolder: null,\n documents: [],\n dragOverlayItem: undefined,\n focusedRowIndex: -1,\n folderCollectionConfig: null,\n folderCollectionSlug: '',\n folderFieldName: 'folder',\n folderID: undefined,\n FolderResultsComponent: null,\n folderType: undefined,\n getFolderRoute: () => '',\n getSelectedItems: () => [],\n isDragging: false,\n itemKeysToMove: undefined,\n moveToFolder: () => Promise.resolve(undefined),\n onItemClick: () => undefined,\n onItemKeyPress: () => undefined,\n refineFolderData: () => undefined,\n search: '',\n selectedFolderCollections: undefined,\n selectedItemKeys: new Set<FolderDocumentItemKey>(),\n setBreadcrumbs: () => {},\n setFocusedRowIndex: () => -1,\n setIsDragging: () => false,\n sort: 'name',\n subfolders: [],\n})\n\nexport type FolderProviderProps = {\n /**\n * The collection slugs that are being viewed\n */\n readonly activeCollectionFolderSlugs?: CollectionSlug[]\n /**\n * Folder enabled collection slugs that can be populated within the provider\n */\n readonly allCollectionFolderSlugs: CollectionSlug[]\n /**\n * Array of slugs that can be created in the folder view\n */\n readonly allowCreateCollectionSlugs: CollectionSlug[]\n readonly allowMultiSelection?: boolean\n /**\n * The base folder route path\n *\n * @example\n * `/collections/:collectionSlug/:folderCollectionSlug`\n * or\n * `/browse-by-folder`\n */\n readonly baseFolderPath?: `/${string}`\n /**\n * Breadcrumbs for the current folder\n */\n readonly breadcrumbs?: FolderBreadcrumb[]\n /**\n * Children to render inside the provider\n */\n readonly children: React.ReactNode\n /**\n * All documents in the current folder\n */\n readonly documents: FolderOrDocument[]\n /**\n * The name of the field that contains the folder relation\n */\n readonly folderFieldName: string\n /**\n * The ID of the current folder\n */\n readonly folderID?: number | string\n /**\n * The component to render the folder results\n */\n readonly FolderResultsComponent: React.ReactNode\n /**\n * Optional function to call when an item is clicked\n */\n readonly onItemClick?: (itme: FolderOrDocument) => void\n /**\n * The intial search query\n */\n readonly search?: string\n /**\n * The sort order of the documents\n *\n * @example\n * `name` for descending\n * `-name` for ascending\n */\n readonly sort?: FolderSortKeys\n /**\n * All subfolders in the current folder\n */\n readonly subfolders: FolderOrDocument[]\n}\nexport function FolderProvider({\n activeCollectionFolderSlugs: activeCollectionSlugs,\n allCollectionFolderSlugs = [],\n allowCreateCollectionSlugs,\n allowMultiSelection = true,\n baseFolderPath,\n breadcrumbs: _breadcrumbsFromProps = [],\n children,\n documents,\n folderFieldName,\n folderID,\n FolderResultsComponent: InitialFolderResultsComponent,\n onItemClick: onItemClickFromProps,\n search,\n sort = 'name',\n subfolders,\n}: FolderProviderProps) {\n const parentFolderContext = useFolder()\n const { config } = useConfig()\n const { routes } = config\n const drawerDepth = useDrawerDepth()\n const { t } = useTranslation()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const locale = useLocale()\n const localeCode = locale ? locale.code : undefined\n\n const currentlySelectedIndexes = React.useRef(new Set<number>())\n\n const [selectedFolderCollections, setSelectedFolderCollections] = React.useState<\n CollectionSlug[]\n >([])\n const [FolderResultsComponent, setFolderResultsComponent] = React.useState(\n InitialFolderResultsComponent || (() => null),\n )\n const [folderCollectionConfig] = React.useState(() =>\n config.collections.find(\n (collection) => config.folders && collection.slug === config.folders.slug,\n ),\n )\n const folderCollectionSlug = folderCollectionConfig.slug\n\n const rawSearchParams = useSearchParams()\n const searchParams = React.useMemo(() => parseSearchParams(rawSearchParams), [rawSearchParams])\n const [currentQuery, setCurrentQuery] = React.useState<FolderQueryParams>(searchParams)\n\n const [isDragging, setIsDragging] = React.useState(false)\n const [selectedItemKeys, setSelectedItemKeys] = React.useState<Set<FolderDocumentItemKey>>(\n () => new Set(),\n )\n const [focusedRowIndex, setFocusedRowIndex] = React.useState(-1)\n // This is used to determine what data to display on the drag overlay\n const [dragOverlayItem, setDragOverlayItem] = React.useState<FolderOrDocument | undefined>()\n const [breadcrumbs, setBreadcrumbs] =\n React.useState<FolderContextValue['breadcrumbs']>(_breadcrumbsFromProps)\n const lastClickTime = React.useRef<null | number>(null)\n const totalCount = subfolders.length + documents.length\n\n const clearSelections = React.useCallback(() => {\n setFocusedRowIndex(-1)\n setSelectedItemKeys(new Set())\n setDragOverlayItem(undefined)\n currentlySelectedIndexes.current = new Set()\n }, [])\n\n const mergeQuery = React.useCallback(\n (newQuery: Partial<FolderQueryParams> = {}): Partial<FolderQueryParams> => {\n let page = 'page' in newQuery ? newQuery.page : currentQuery?.page\n\n if ('search' in newQuery) {\n page = '1'\n }\n\n const mergedQuery = {\n ...currentQuery,\n ...newQuery,\n locale: localeCode,\n page,\n relationTo: 'relationTo' in newQuery ? newQuery.relationTo : currentQuery?.relationTo,\n search: 'search' in newQuery ? newQuery.search : currentQuery?.search,\n sort: 'sort' in newQuery ? newQuery.sort : (currentQuery?.sort ?? undefined),\n }\n\n return mergedQuery\n },\n [currentQuery, localeCode],\n )\n\n const refineFolderData: FolderContextValue['refineFolderData'] = React.useCallback(\n ({ query, updateURL }) => {\n if (updateURL) {\n const queryParams = mergeQuery(query)\n\n startRouteTransition(() =>\n router.replace(\n `${qs.stringify({ ...queryParams, relationTo: JSON.stringify(queryParams.relationTo) }, { addQueryPrefix: true })}`,\n ),\n )\n\n setCurrentQuery(queryParams)\n }\n },\n [mergeQuery, router, startRouteTransition],\n )\n\n const getFolderRoute: FolderContextValue['getFolderRoute'] = React.useCallback(\n (toFolderID) => {\n const queryParams = qs.stringify(mergeQuery({ page: '1', search: '' }), {\n addQueryPrefix: true,\n })\n return formatAdminURL({\n adminRoute: config.routes.admin,\n path: `${baseFolderPath}${toFolderID ? `/${toFolderID}` : ''}${queryParams}`,\n })\n },\n [baseFolderPath, config.routes.admin, mergeQuery],\n )\n\n const getItem = React.useCallback(\n (itemKey: FolderDocumentItemKey) => {\n return [...subfolders, ...documents].find((doc) => doc.itemKey === itemKey)\n },\n [documents, subfolders],\n )\n\n const getSelectedItems = React.useCallback(() => {\n return Array.from(selectedItemKeys).reduce((acc, itemKey) => {\n const item = getItem(itemKey)\n if (item) {\n acc.push(item)\n }\n return acc\n }, [])\n }, [selectedItemKeys, getItem])\n\n const navigateAfterSelection = React.useCallback(\n ({ collectionSlug, docID }: { collectionSlug: string; docID?: number | string }) => {\n if (drawerDepth === 1) {\n // not in a drawer (default is 1)\n if (collectionSlug === folderCollectionSlug) {\n // clicked on folder, take the user to the folder view\n startRouteTransition(() => {\n router.push(getFolderRoute(docID))\n clearSelections()\n })\n } else if (collectionSlug) {\n // clicked on document, take the user to the documet view\n startRouteTransition(() => {\n router.push(\n formatAdminURL({\n adminRoute: config.routes.admin,\n path: `/collections/${collectionSlug}/${docID}`,\n }),\n )\n clearSelections()\n })\n }\n } else {\n clearSelections()\n }\n\n if (typeof onItemClickFromProps === 'function') {\n onItemClickFromProps(getItem(`${collectionSlug}-${docID}`))\n }\n },\n [\n clearSelections,\n config.routes.admin,\n drawerDepth,\n folderCollectionSlug,\n getFolderRoute,\n getItem,\n onItemClickFromProps,\n router,\n startRouteTransition,\n ],\n )\n\n const handleShiftSelection = React.useCallback(\n (targetIndex: number) => {\n const allItems = [...subfolders, ...documents]\n\n // Find existing selection boundaries\n const existingIndexes = allItems.reduce((acc, item, idx) => {\n if (selectedItemKeys.has(item.itemKey)) {\n acc.push(idx)\n }\n return acc\n }, [])\n\n if (existingIndexes.length === 0) {\n // No existing selection, just select target\n return [targetIndex]\n }\n\n const firstSelectedIndex = Math.min(...existingIndexes)\n const lastSelectedIndex = Math.max(...existingIndexes)\n const isWithinBounds = targetIndex >= firstSelectedIndex && targetIndex <= lastSelectedIndex\n\n // Choose anchor based on whether we're contracting or extending\n let anchorIndex = targetIndex\n if (isWithinBounds) {\n // Contracting: if target is at a boundary, use target as anchor\n // Otherwise, use furthest boundary to maintain opposite edge\n if (targetIndex === firstSelectedIndex || targetIndex === lastSelectedIndex) {\n anchorIndex = targetIndex\n } else {\n const distanceToFirst = Math.abs(targetIndex - firstSelectedIndex)\n const distanceToLast = Math.abs(targetIndex - lastSelectedIndex)\n anchorIndex = distanceToFirst >= distanceToLast ? firstSelectedIndex : lastSelectedIndex\n }\n } else {\n // Extending: use closest boundary\n const distanceToFirst = Math.abs(targetIndex - firstSelectedIndex)\n const distanceToLast = Math.abs(targetIndex - lastSelectedIndex)\n anchorIndex = distanceToFirst <= distanceToLast ? firstSelectedIndex : lastSelectedIndex\n }\n\n // Create range from anchor to target\n const startIndex = Math.min(anchorIndex, targetIndex)\n const endIndex = Math.max(anchorIndex, targetIndex)\n const newRangeIndexes = Array.from(\n { length: endIndex - startIndex + 1 },\n (_, i) => startIndex + i,\n )\n\n if (isWithinBounds) {\n // Contracting: replace with new range\n return newRangeIndexes\n } else {\n // Extending: union with existing\n return [...new Set([...existingIndexes, ...newRangeIndexes])]\n }\n },\n [subfolders, documents, selectedItemKeys],\n )\n\n const updateSelections = React.useCallback(\n ({ indexes }: { indexes: number[] }) => {\n const allItems = [...subfolders, ...documents]\n const { newSelectedFolderCollections, newSelectedItemKeys } = allItems.reduce(\n (acc, item, index) => {\n if (indexes.includes(index)) {\n acc.newSelectedItemKeys.add(item.itemKey)\n if (item.relationTo === folderCollectionSlug) {\n item.value.folderType?.forEach((collectionSlug) => {\n if (!acc.newSelectedFolderCollections.includes(collectionSlug)) {\n acc.newSelectedFolderCollections.push(collectionSlug)\n }\n })\n } else {\n if (!acc.newSelectedFolderCollections.includes(item.relationTo)) {\n acc.newSelectedFolderCollections.push(item.relationTo)\n }\n }\n }\n return acc\n },\n {\n newSelectedFolderCollections: [] satisfies CollectionSlug[],\n newSelectedItemKeys: new Set<FolderDocumentItemKey>(),\n },\n )\n\n setSelectedFolderCollections(newSelectedFolderCollections)\n setSelectedItemKeys(newSelectedItemKeys)\n },\n [documents, folderCollectionSlug, subfolders],\n )\n\n const onItemKeyPress: FolderContextValue['onItemKeyPress'] = React.useCallback(\n ({ event, item: currentItem }) => {\n const { code, ctrlKey, metaKey, shiftKey } = event\n const isShiftPressed = shiftKey\n const isCtrlPressed = ctrlKey || metaKey\n const isCurrentlySelected = selectedItemKeys.has(currentItem.itemKey)\n const allItems = [...subfolders, ...documents]\n const currentItemIndex = allItems.findIndex((item) => item.itemKey === currentItem.itemKey)\n\n switch (code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'ArrowUp': {\n event.preventDefault()\n\n if (currentItemIndex === -1) {\n break\n }\n\n const isBackward = code === 'ArrowLeft' || code === 'ArrowUp'\n const newItemIndex = isBackward ? currentItemIndex - 1 : currentItemIndex + 1\n\n if (newItemIndex < 0 || newItemIndex > totalCount - 1) {\n // out of bounds, keep current selection\n return\n }\n\n setFocusedRowIndex(newItemIndex)\n\n if (isCtrlPressed) {\n break\n }\n\n if (isShiftPressed && allowMultiSelection) {\n const selectedIndexes = handleShiftSelection(newItemIndex)\n updateSelections({ indexes: selectedIndexes })\n return\n }\n\n // Single selection without shift\n if (!isShiftPressed) {\n const newItem = allItems[newItemIndex]\n setSelectedItemKeys(new Set([newItem.itemKey]))\n }\n\n break\n }\n case 'Enter': {\n if (selectedItemKeys.size === 1) {\n setFocusedRowIndex(undefined)\n navigateAfterSelection({\n collectionSlug: currentItem.relationTo,\n docID: extractID(currentItem.value),\n })\n return\n }\n break\n }\n case 'Escape': {\n clearSelections()\n break\n }\n case 'KeyA': {\n if (allowMultiSelection && isCtrlPressed) {\n event.preventDefault()\n setFocusedRowIndex(totalCount - 1)\n updateSelections({\n indexes: Array.from({ length: totalCount }, (_, i) => i),\n })\n }\n break\n }\n case 'Space': {\n if (allowMultiSelection && isShiftPressed) {\n event.preventDefault()\n const allItems = [...subfolders, ...documents]\n updateSelections({\n indexes: allItems.reduce((acc, item, idx) => {\n if (item.itemKey === currentItem.itemKey) {\n if (isCurrentlySelected) {\n return acc\n } else {\n acc.push(idx)\n }\n } else if (selectedItemKeys.has(item.itemKey)) {\n acc.push(idx)\n }\n return acc\n }, []),\n })\n } else {\n event.preventDefault()\n updateSelections({\n indexes: isCurrentlySelected ? [] : [currentItemIndex],\n })\n }\n break\n }\n case 'Tab': {\n if (allowMultiSelection && isShiftPressed) {\n const prevIndex = currentItemIndex - 1\n if (prevIndex < 0 && selectedItemKeys?.size > 0) {\n setFocusedRowIndex(prevIndex)\n }\n } else {\n const nextIndex = currentItemIndex + 1\n if (nextIndex === totalCount && selectedItemKeys.size > 0) {\n setFocusedRowIndex(totalCount - 1)\n }\n }\n break\n }\n }\n },\n [\n selectedItemKeys,\n subfolders,\n documents,\n allowMultiSelection,\n handleShiftSelection,\n updateSelections,\n navigateAfterSelection,\n clearSelections,\n totalCount,\n ],\n )\n\n const onItemClick: FolderContextValue['onItemClick'] = React.useCallback(\n ({ event, item: clickedItem }) => {\n let doubleClicked: boolean = false\n const isCtrlPressed = event.ctrlKey || event.metaKey\n const isShiftPressed = event.shiftKey\n const isCurrentlySelected = selectedItemKeys.has(clickedItem.itemKey)\n const allItems = [...subfolders, ...documents]\n const currentItemIndex = allItems.findIndex((item) => item.itemKey === clickedItem.itemKey)\n\n if (allowMultiSelection && isCtrlPressed) {\n event.preventDefault()\n let overlayItemKey: FolderDocumentItemKey | undefined\n const indexes = allItems.reduce((acc, item, idx) => {\n if (item.itemKey === clickedItem.itemKey) {\n if (isCurrentlySelected && event.type !== 'pointermove') {\n return acc\n } else {\n acc.push(idx)\n overlayItemKey = item.itemKey\n }\n } else if (selectedItemKeys.has(item.itemKey)) {\n acc.push(idx)\n }\n return acc\n }, [])\n\n updateSelections({ indexes })\n\n if (overlayItemKey) {\n setDragOverlayItem(getItem(overlayItemKey))\n }\n } else if (allowMultiSelection && isShiftPressed) {\n if (currentItemIndex !== -1) {\n const selectedIndexes = handleShiftSelection(currentItemIndex)\n updateSelections({ indexes: selectedIndexes })\n }\n } else if (allowMultiSelection && event.type === 'pointermove') {\n // on drag start of an unselected item\n if (!isCurrentlySelected) {\n updateSelections({\n indexes: allItems.reduce((acc, item, idx) => {\n if (item.itemKey === clickedItem.itemKey) {\n acc.push(idx)\n }\n return acc\n }, []),\n })\n }\n setDragOverlayItem(getItem(clickedItem.itemKey))\n } else {\n // Normal click - select single item\n const now = Date.now()\n doubleClicked =\n now - lastClickTime.current < 400 && dragOverlayItem?.itemKey === clickedItem.itemKey\n lastClickTime.current = now\n if (!doubleClicked) {\n updateSelections({\n indexes: isCurrentlySelected && selectedItemKeys.size === 1 ? [] : [currentItemIndex],\n })\n }\n setDragOverlayItem(getItem(clickedItem.itemKey))\n }\n\n if (doubleClicked) {\n navigateAfterSelection({\n collectionSlug: clickedItem.relationTo,\n docID: extractID(clickedItem.value),\n })\n }\n },\n [\n selectedItemKeys,\n subfolders,\n documents,\n allowMultiSelection,\n dragOverlayItem,\n getItem,\n updateSelections,\n navigateAfterSelection,\n handleShiftSelection,\n ],\n )\n\n /**\n * Makes requests to the server to update the folder field on passed in documents\n *\n * Might rewrite this in the future to return the promises so errors can be handled contextually\n */\n const moveToFolder: FolderContextValue['moveToFolder'] = React.useCallback(\n async (args) => {\n const { itemsToMove: items, toFolderID } = args\n if (!items.length) {\n return\n }\n\n const movingCurrentFolder =\n items.length === 1 &&\n items[0].relationTo === folderCollectionSlug &&\n items[0].value.id === folderID\n\n if (movingCurrentFolder) {\n const queryParams = qs.stringify(\n {\n depth: 0,\n locale: localeCode,\n },\n {\n addQueryPrefix: true,\n },\n )\n const req = await fetch(\n formatAdminURL({\n apiRoute: routes.api,\n path: `/${folderCollectionSlug}/${folderID}${queryParams}`,\n }),\n {\n body: JSON.stringify({ [folderFieldName]: toFolderID || null }),\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n if (req.status !== 200) {\n toast.error(t('general:error'))\n }\n } else {\n for (const [collectionSlug, ids] of Object.entries(groupItemIDsByRelation(items))) {\n const queryParams = qs.stringify(\n {\n depth: 0,\n limit: 0,\n locale: localeCode,\n where: {\n id: {\n in: ids,\n },\n },\n },\n {\n addQueryPrefix: true,\n },\n )\n try {\n await fetch(\n formatAdminURL({\n apiRoute: routes.api,\n path: `/${collectionSlug}${queryParams}`,\n }),\n {\n body: JSON.stringify({ [folderFieldName]: toFolderID || null }),\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n },\n method: 'PATCH',\n },\n )\n } catch (error) {\n toast.error(t('general:error'))\n // eslint-disable-next-line no-console\n console.error(error)\n continue\n }\n }\n }\n\n clearSelections()\n },\n [folderID, clearSelections, folderCollectionSlug, folderFieldName, routes.api, t, localeCode],\n )\n\n const checkIfItemIsDisabled: FolderContextValue['checkIfItemIsDisabled'] = React.useCallback(\n (item) => {\n function folderAcceptsItem({\n item,\n selectedFolderCollections,\n }: {\n item: FolderOrDocument\n selectedFolderCollections: string[]\n }): boolean {\n if (\n !item.value.folderType ||\n (Array.isArray(item.value.folderType) && item.value.folderType.length === 0)\n ) {\n // Enable folder that accept all collections\n return false\n }\n\n if (selectedFolderCollections.length === 0) {\n // If no collections are selected, enable folders that accept all collections\n return Boolean(item.value.folderType || item.value.folderType.length > 0)\n }\n\n // Disable folders that do not accept all of the selected collections\n return selectedFolderCollections.some((slug) => {\n return !item.value.folderType.includes(slug)\n })\n }\n\n if (isDragging) {\n const isSelected = selectedItemKeys.has(item.itemKey)\n if (isSelected) {\n return true\n } else if (item.relationTo === folderCollectionSlug) {\n return folderAcceptsItem({ item, selectedFolderCollections })\n } else {\n // Non folder items are disabled on drag\n return true\n }\n } else if (parentFolderContext?.selectedItemKeys?.size) {\n // Disable selected items from being navigated to in move to drawer\n if (parentFolderContext.selectedItemKeys.has(item.itemKey)) {\n return true\n }\n // Moving items to folder\n if (item.relationTo === folderCollectionSlug) {\n return folderAcceptsItem({\n item,\n selectedFolderCollections: parentFolderContext.selectedFolderCollections,\n })\n }\n // If the item is not a folder, it is disabled on move\n return true\n }\n },\n [\n selectedFolderCollections,\n isDragging,\n selectedItemKeys,\n folderCollectionSlug,\n parentFolderContext?.selectedFolderCollections,\n parentFolderContext?.selectedItemKeys,\n ],\n )\n\n // If a new component is provided, update the state so children can re-render with the new component\n React.useEffect(() => {\n if (InitialFolderResultsComponent) {\n setFolderResultsComponent(InitialFolderResultsComponent)\n }\n }, [InitialFolderResultsComponent])\n\n return (\n <Context\n value={{\n activeCollectionFolderSlugs: activeCollectionSlugs || allCollectionFolderSlugs,\n allCollectionFolderSlugs,\n allowCreateCollectionSlugs,\n breadcrumbs,\n checkIfItemIsDisabled,\n clearSelections,\n currentFolder:\n breadcrumbs?.[breadcrumbs.length - 1]?.id !== undefined\n ? formatFolderOrDocumentItem({\n folderFieldName,\n isUpload: false,\n relationTo: folderCollectionSlug,\n useAsTitle: folderCollectionConfig.admin.useAsTitle,\n value: breadcrumbs[breadcrumbs.length - 1],\n })\n : null,\n documents,\n dragOverlayItem,\n focusedRowIndex,\n folderCollectionConfig,\n folderCollectionSlug,\n folderFieldName,\n folderID,\n FolderResultsComponent,\n folderType: breadcrumbs?.[breadcrumbs.length - 1]?.folderType,\n getFolderRoute,\n getSelectedItems,\n isDragging,\n itemKeysToMove: parentFolderContext.selectedItemKeys,\n moveToFolder,\n onItemClick,\n onItemKeyPress,\n refineFolderData,\n search,\n selectedFolderCollections,\n selectedItemKeys,\n setBreadcrumbs,\n setFocusedRowIndex,\n setIsDragging,\n sort,\n subfolders,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport function useFolder(): FolderContextValue {\n const context = React.use(Context)\n\n if (context === undefined) {\n throw new Error('useFolder must be used within a FolderProvider')\n }\n\n return context\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { CollectionSlug, ErrorResult, GetFolderResultsComponentAndDataArgs, ServerFunction } from 'payload';
|
|
2
|
-
import type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared';
|
|
3
|
-
type GetFolderResultsComponentAndDataResult = {
|
|
4
|
-
breadcrumbs?: FolderBreadcrumb[];
|
|
5
|
-
documents?: FolderOrDocument[];
|
|
6
|
-
folderAssignedCollections?: CollectionSlug[];
|
|
7
|
-
FolderResultsComponent: React.ReactNode;
|
|
8
|
-
subfolders?: FolderOrDocument[];
|
|
9
|
-
};
|
|
10
|
-
type GetFolderResultsComponentAndDataErrorResult = {
|
|
11
|
-
breadcrumbs?: never;
|
|
12
|
-
documents?: never;
|
|
13
|
-
FolderResultsComponent?: never;
|
|
14
|
-
subfolders?: never;
|
|
15
|
-
} & ({
|
|
16
|
-
message: string;
|
|
17
|
-
} | ErrorResult);
|
|
18
|
-
export declare const getFolderResultsComponentAndDataHandler: ServerFunction<GetFolderResultsComponentAndDataArgs, Promise<GetFolderResultsComponentAndDataErrorResult | GetFolderResultsComponentAndDataResult>>;
|
|
19
|
-
/**
|
|
20
|
-
* This function is responsible for fetching folder data, building the results component
|
|
21
|
-
* and returns the data and component together.
|
|
22
|
-
*/
|
|
23
|
-
export declare const getFolderResultsComponentAndData: ({ browseByFolder, collectionsToDisplay: activeCollectionSlugs, displayAs, folderAssignedCollections, folderID, req, sort, }: GetFolderResultsComponentAndDataArgs) => Promise<GetFolderResultsComponentAndDataResult>;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=getFolderResultsComponentAndData.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFolderResultsComponentAndData.d.ts","sourceRoot":"","sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,oCAAoC,EACpC,cAAc,EAEf,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAWxE,KAAK,sCAAsC,GAAG;IAC5C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAA;IAC5C,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAChC,CAAA;AAED,KAAK,2CAA2C,GAAG;IACjD,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,sBAAsB,CAAC,EAAE,KAAK,CAAA;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,eAAO,MAAM,uCAAuC,EAAE,cAAc,CAClE,oCAAoC,EACpC,OAAO,CAAC,2CAA2C,GAAG,sCAAsC,CAAC,CAe9F,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gIAQ1C,oCAAoC,KAAG,OAAO,CAAC,sCAAsC,CA8HvF,CAAA"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { APIError, formatErrors, getFolderData } from 'payload';
|
|
3
|
-
import { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared';
|
|
4
|
-
import { FolderFileTable, ItemCardGrid } from '../exports/client/index.js';
|
|
5
|
-
export const getFolderResultsComponentAndDataHandler = async args => {
|
|
6
|
-
const {
|
|
7
|
-
req
|
|
8
|
-
} = args;
|
|
9
|
-
try {
|
|
10
|
-
const res = await getFolderResultsComponentAndData(args);
|
|
11
|
-
return res;
|
|
12
|
-
} catch (err) {
|
|
13
|
-
req.payload.logger.error({
|
|
14
|
-
err,
|
|
15
|
-
msg: `There was an error getting the folder results component and data`
|
|
16
|
-
});
|
|
17
|
-
return formatErrors(err);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* This function is responsible for fetching folder data, building the results component
|
|
22
|
-
* and returns the data and component together.
|
|
23
|
-
*/
|
|
24
|
-
export const getFolderResultsComponentAndData = async ({
|
|
25
|
-
browseByFolder = false,
|
|
26
|
-
collectionsToDisplay: activeCollectionSlugs,
|
|
27
|
-
displayAs,
|
|
28
|
-
folderAssignedCollections,
|
|
29
|
-
folderID = undefined,
|
|
30
|
-
req,
|
|
31
|
-
sort
|
|
32
|
-
}) => {
|
|
33
|
-
const {
|
|
34
|
-
payload
|
|
35
|
-
} = req;
|
|
36
|
-
if (!payload.config.folders) {
|
|
37
|
-
throw new APIError('Folders are not enabled in the configuration.');
|
|
38
|
-
}
|
|
39
|
-
const emptyQuery = {
|
|
40
|
-
id: {
|
|
41
|
-
exists: false
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
let collectionSlug = undefined;
|
|
45
|
-
let documentWhere = Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined;
|
|
46
|
-
let folderWhere = Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined;
|
|
47
|
-
// todo(perf): - collect promises and resolve them in parallel
|
|
48
|
-
for (const activeCollectionSlug of activeCollectionSlugs) {
|
|
49
|
-
if (activeCollectionSlug === payload.config.folders.slug) {
|
|
50
|
-
const folderCollectionConstraints = await buildFolderWhereConstraints({
|
|
51
|
-
collectionConfig: payload.collections[activeCollectionSlug].config,
|
|
52
|
-
folderID,
|
|
53
|
-
localeCode: req?.locale,
|
|
54
|
-
req,
|
|
55
|
-
search: typeof req?.query?.search === 'string' ? req.query.search : undefined,
|
|
56
|
-
sort
|
|
57
|
-
});
|
|
58
|
-
if (folderCollectionConstraints) {
|
|
59
|
-
folderWhere = folderCollectionConstraints;
|
|
60
|
-
}
|
|
61
|
-
folderWhere = combineWhereConstraints([folderWhere, Array.isArray(folderAssignedCollections) && folderAssignedCollections.length && payload.config.folders.collectionSpecific ? {
|
|
62
|
-
or: [{
|
|
63
|
-
folderType: {
|
|
64
|
-
in: folderAssignedCollections
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
// if the folderType is not set, it means it accepts all collections and should appear in the results
|
|
68
|
-
{
|
|
69
|
-
folderType: {
|
|
70
|
-
exists: false
|
|
71
|
-
}
|
|
72
|
-
}]
|
|
73
|
-
} : undefined]);
|
|
74
|
-
} else if (browseByFolder && folderID || !browseByFolder) {
|
|
75
|
-
if (!browseByFolder) {
|
|
76
|
-
collectionSlug = activeCollectionSlug;
|
|
77
|
-
}
|
|
78
|
-
if (!documentWhere) {
|
|
79
|
-
documentWhere = {
|
|
80
|
-
or: []
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
const collectionConstraints = await buildFolderWhereConstraints({
|
|
84
|
-
collectionConfig: payload.collections[activeCollectionSlug].config,
|
|
85
|
-
folderID,
|
|
86
|
-
localeCode: req?.locale,
|
|
87
|
-
req,
|
|
88
|
-
search: typeof req?.query?.search === 'string' ? req.query.search : undefined,
|
|
89
|
-
sort
|
|
90
|
-
});
|
|
91
|
-
if (collectionConstraints) {
|
|
92
|
-
documentWhere.or.push(collectionConstraints);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
const folderData = await getFolderData({
|
|
97
|
-
collectionSlug,
|
|
98
|
-
documentWhere,
|
|
99
|
-
folderID,
|
|
100
|
-
folderWhere,
|
|
101
|
-
req,
|
|
102
|
-
sort
|
|
103
|
-
});
|
|
104
|
-
let FolderResultsComponent = null;
|
|
105
|
-
if (displayAs === 'grid') {
|
|
106
|
-
FolderResultsComponent = /*#__PURE__*/_jsxs("div", {
|
|
107
|
-
children: [folderData.subfolders.length ? /*#__PURE__*/_jsx(_Fragment, {
|
|
108
|
-
children: /*#__PURE__*/_jsx(ItemCardGrid, {
|
|
109
|
-
items: folderData.subfolders,
|
|
110
|
-
title: 'Folders',
|
|
111
|
-
type: "folder"
|
|
112
|
-
})
|
|
113
|
-
}) : null, folderData.documents.length ? /*#__PURE__*/_jsx(_Fragment, {
|
|
114
|
-
children: /*#__PURE__*/_jsx(ItemCardGrid, {
|
|
115
|
-
items: folderData.documents,
|
|
116
|
-
subfolderCount: folderData.subfolders.length,
|
|
117
|
-
title: 'Documents',
|
|
118
|
-
type: "file"
|
|
119
|
-
})
|
|
120
|
-
}) : null]
|
|
121
|
-
});
|
|
122
|
-
} else {
|
|
123
|
-
FolderResultsComponent = /*#__PURE__*/_jsx(FolderFileTable, {
|
|
124
|
-
showRelationCell: browseByFolder
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
breadcrumbs: folderData.breadcrumbs,
|
|
129
|
-
documents: folderData.documents,
|
|
130
|
-
folderAssignedCollections: folderData.folderAssignedCollections,
|
|
131
|
-
FolderResultsComponent,
|
|
132
|
-
subfolders: folderData.subfolders
|
|
133
|
-
};
|
|
134
|
-
};
|
|
135
|
-
//# sourceMappingURL=getFolderResultsComponentAndData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFolderResultsComponentAndData.js","names":["APIError","formatErrors","getFolderData","buildFolderWhereConstraints","combineWhereConstraints","FolderFileTable","ItemCardGrid","getFolderResultsComponentAndDataHandler","args","req","res","getFolderResultsComponentAndData","err","payload","logger","error","msg","browseByFolder","collectionsToDisplay","activeCollectionSlugs","displayAs","folderAssignedCollections","folderID","undefined","sort","config","folders","emptyQuery","id","exists","collectionSlug","documentWhere","Array","isArray","length","folderWhere","activeCollectionSlug","slug","folderCollectionConstraints","collectionConfig","collections","localeCode","locale","search","query","collectionSpecific","or","folderType","in","collectionConstraints","push","folderData","FolderResultsComponent","_jsxs","subfolders","_jsx","_Fragment","items","title","type","documents","subfolderCount","showRelationCell","breadcrumbs"],"sources":["../../src/utilities/getFolderResultsComponentAndData.tsx"],"sourcesContent":["import type {\n CollectionSlug,\n ErrorResult,\n GetFolderResultsComponentAndDataArgs,\n ServerFunction,\n Where,\n} from 'payload'\nimport type { FolderBreadcrumb, FolderOrDocument } from 'payload/shared'\n\nimport { APIError, formatErrors, getFolderData } from 'payload'\nimport { buildFolderWhereConstraints, combineWhereConstraints } from 'payload/shared'\n\nimport {\n FolderFileTable,\n ItemCardGrid,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- This component is returned via server functions, it must reference the exports dir\n} from '../exports/client/index.js'\n\ntype GetFolderResultsComponentAndDataResult = {\n breadcrumbs?: FolderBreadcrumb[]\n documents?: FolderOrDocument[]\n folderAssignedCollections?: CollectionSlug[]\n FolderResultsComponent: React.ReactNode\n subfolders?: FolderOrDocument[]\n}\n\ntype GetFolderResultsComponentAndDataErrorResult = {\n breadcrumbs?: never\n documents?: never\n FolderResultsComponent?: never\n subfolders?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport const getFolderResultsComponentAndDataHandler: ServerFunction<\n GetFolderResultsComponentAndDataArgs,\n Promise<GetFolderResultsComponentAndDataErrorResult | GetFolderResultsComponentAndDataResult>\n> = async (args) => {\n const { req } = args\n\n try {\n const res = await getFolderResultsComponentAndData(args)\n return res\n } catch (err) {\n req.payload.logger.error({\n err,\n msg: `There was an error getting the folder results component and data`,\n })\n\n return formatErrors(err)\n }\n}\n\n/**\n * This function is responsible for fetching folder data, building the results component\n * and returns the data and component together.\n */\nexport const getFolderResultsComponentAndData = async ({\n browseByFolder = false,\n collectionsToDisplay: activeCollectionSlugs,\n displayAs,\n folderAssignedCollections,\n folderID = undefined,\n req,\n sort,\n}: GetFolderResultsComponentAndDataArgs): Promise<GetFolderResultsComponentAndDataResult> => {\n const { payload } = req\n\n if (!payload.config.folders) {\n throw new APIError('Folders are not enabled in the configuration.')\n }\n\n const emptyQuery = {\n id: {\n exists: false,\n },\n }\n\n let collectionSlug: CollectionSlug | undefined = undefined\n let documentWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n let folderWhere: undefined | Where =\n Array.isArray(activeCollectionSlugs) && !activeCollectionSlugs.length ? emptyQuery : undefined\n\n // todo(perf): - collect promises and resolve them in parallel\n for (const activeCollectionSlug of activeCollectionSlugs) {\n if (activeCollectionSlug === payload.config.folders.slug) {\n const folderCollectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (folderCollectionConstraints) {\n folderWhere = folderCollectionConstraints\n }\n\n folderWhere = combineWhereConstraints([\n folderWhere,\n Array.isArray(folderAssignedCollections) &&\n folderAssignedCollections.length &&\n payload.config.folders.collectionSpecific\n ? {\n or: [\n {\n folderType: {\n in: folderAssignedCollections,\n },\n },\n // if the folderType is not set, it means it accepts all collections and should appear in the results\n {\n folderType: {\n exists: false,\n },\n },\n ],\n }\n : undefined,\n ])\n } else if ((browseByFolder && folderID) || !browseByFolder) {\n if (!browseByFolder) {\n collectionSlug = activeCollectionSlug\n }\n\n if (!documentWhere) {\n documentWhere = {\n or: [],\n }\n }\n\n const collectionConstraints = await buildFolderWhereConstraints({\n collectionConfig: payload.collections[activeCollectionSlug].config,\n folderID,\n localeCode: req?.locale,\n req,\n search: typeof req?.query?.search === 'string' ? req.query.search : undefined,\n sort,\n })\n\n if (collectionConstraints) {\n documentWhere.or.push(collectionConstraints)\n }\n }\n }\n\n const folderData = await getFolderData({\n collectionSlug,\n documentWhere,\n folderID,\n folderWhere,\n req,\n sort,\n })\n\n let FolderResultsComponent = null\n\n if (displayAs === 'grid') {\n FolderResultsComponent = (\n <div>\n {folderData.subfolders.length ? (\n <>\n <ItemCardGrid items={folderData.subfolders} title={'Folders'} type=\"folder\" />\n </>\n ) : null}\n\n {folderData.documents.length ? (\n <>\n <ItemCardGrid\n items={folderData.documents}\n subfolderCount={folderData.subfolders.length}\n title={'Documents'}\n type=\"file\"\n />\n </>\n ) : null}\n </div>\n )\n } else {\n FolderResultsComponent = <FolderFileTable showRelationCell={browseByFolder} />\n }\n\n return {\n breadcrumbs: folderData.breadcrumbs,\n documents: folderData.documents,\n folderAssignedCollections: folderData.folderAssignedCollections,\n FolderResultsComponent,\n subfolders: folderData.subfolders,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { FolderListViewClientProps } from 'payload';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import './index.scss';
|
|
4
|
-
export declare function DefaultBrowseByFolderView({ activeCollectionFolderSlugs, allCollectionFolderSlugs, allowCreateCollectionSlugs, baseFolderPath, breadcrumbs, documents, folderFieldName, folderID, FolderResultsComponent, search, subfolders, ...restOfProps }: FolderListViewClientProps): React.JSX.Element;
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/BrowseByFolder/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAyBvC,OAAO,cAAc,CAAA;AAIrB,wBAAgB,yBAAyB,CAAC,EACxC,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,MAAM,EACN,UAAU,EACV,GAAG,WAAW,EACf,EAAE,yBAAyB,qBAkB3B"}
|