@payloadcms/ui 4.0.0-canary.9 → 4.0.0-internal.016994f
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/css/app.css +121 -0
- package/dist/css/forms.css +0 -6
- package/dist/css/spacing.css +11 -3
- package/dist/css/z-index.css +10 -0
- package/dist/elements/APIKeyInput/index.css +4 -4
- package/dist/elements/AddNewRelation/index.css +0 -5
- package/dist/elements/AddNewRelation/index.js +2 -2
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.css +7 -18
- package/dist/elements/AppHeader/index.d.ts +1 -8
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +8 -17
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +3 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +83 -29
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +25 -2
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -0
- package/dist/elements/Button/index.js.map +1 -1
- 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/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +17 -1
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
- package/dist/elements/ClipboardAction/types.d.ts +3 -0
- package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/index.css +5 -5
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +5 -1
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -1
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
- package/dist/elements/DatePicker/index.css +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +1 -0
- package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +84 -62
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +16 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.css +0 -2
- package/dist/elements/DocumentControls/index.d.ts +2 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +2 -2
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +1 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.d.ts +2 -2
- package/dist/elements/Drawer/types.d.ts.map +1 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +2 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
- package/dist/elements/FileManager/FilePreview/index.css +3 -3
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
- package/dist/elements/FileManager/FileToolbar/index.js +3 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
- package/dist/elements/FileManager/index.css +35 -52
- package/dist/elements/FileManager/index.d.ts +1 -1
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +385 -282
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
- package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +26 -4
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +117 -67
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -16
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +76 -27
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +33 -3
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
- package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.css +21 -0
- package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +116 -11
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
- package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
- package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +120 -95
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.css +3 -34
- package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.css +4 -53
- package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +145 -99
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.css +6 -0
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +8 -3
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +103 -171
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.css +2 -9
- package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js +6 -73
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
- package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/types.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +93 -101
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +3 -21
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -30
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +8 -9
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +29 -47
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
- package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
- package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
- package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
- package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.css +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +4 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.d.ts +4 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts +8 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js +65 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
- package/dist/elements/Locked/index.css +0 -5
- package/dist/elements/Locked/index.d.ts +2 -2
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +38 -19
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.css +39 -37
- package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +12 -18
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +1 -7
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/Nav/context.d.ts +0 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +92 -67
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/index.css +47 -47
- package/dist/elements/Nav/index.d.ts +4 -0
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +16 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/NavGroup/index.css +29 -16
- package/dist/elements/Pagination/index.css +5 -0
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +21 -21
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +33 -17
- package/dist/elements/Popup/index.css +6 -0
- package/dist/elements/Popup/index.d.ts +10 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +13 -6
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +8 -9
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
- package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
- package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
- package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
- package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
- package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
- package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
- package/dist/elements/ReactSelect/index.css +8 -4
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +24 -101
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +6 -2
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.css +0 -2
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +41 -5
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +4 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +18 -13
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
- package/dist/elements/Search/ListSearchFilter/index.js +1 -0
- package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.d.ts +2 -0
- package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
- package/dist/elements/Search/SearchInput/index.js +21 -18
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.css +58 -0
- package/dist/elements/SegmentedControl/index.d.ts +19 -0
- package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
- package/dist/elements/SegmentedControl/index.js +104 -0
- package/dist/elements/SegmentedControl/index.js.map +1 -0
- package/dist/elements/SelectAll/index.css +3 -1
- package/dist/elements/SelectAll/index.d.ts.map +1 -1
- package/dist/elements/SelectAll/index.js +1 -2
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +5 -4
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +11 -9
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarRow/index.css +1 -5
- package/dist/elements/SidebarToggle/index.css +3 -18
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/StepNav/DropTarget/index.css +20 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
- package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
- package/dist/elements/StepNav/DropTarget/index.js +71 -0
- package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
- package/dist/elements/StepNav/index.css +64 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +147 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.d.ts +6 -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/File/index.css +24 -13
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +26 -7
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +149 -24
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +19 -2
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/index.css +42 -0
- package/dist/elements/TableSection/index.css +0 -1
- package/dist/elements/Tabs/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +1 -1
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +5 -1
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Tooltip/index.css +15 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.css +39 -37
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -99
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
- package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
- package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
- package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
- package/dist/elements/Upload/useUploadFromUrl.js +201 -0
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.css +31 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
- package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
- package/dist/elements/UploadDropzoneContent/index.js +62 -0
- package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
- package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
- package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
- package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +58 -3
- package/dist/elements/UserMenu/index.d.ts +1 -0
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +77 -51
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
- package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
- package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
- package/dist/elements/ViewModeToggle/index.d.ts +8 -0
- package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
- package/dist/elements/ViewModeToggle/index.js +29 -0
- package/dist/elements/ViewModeToggle/index.js.map +1 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
- package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.js +32 -0
- package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
- package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +15 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +9 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +99 -160
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +45 -14
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +136 -195
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +3 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +26 -20
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +44 -13
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +4 -2
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +136 -148
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +163 -186
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Code/index.css +1 -1
- package/dist/fields/Code/index.d.ts +2 -2
- package/dist/fields/Collapsible/index.d.ts +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -1
- package/dist/fields/Email/index.d.ts +1 -1
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +2 -2
- package/dist/fields/JSON/index.d.ts +1 -1
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +1 -1
- package/dist/fields/Password/types.d.ts +3 -3
- package/dist/fields/Password/types.d.ts.map +1 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.d.ts +1 -1
- package/dist/fields/RadioGroup/index.css +0 -7
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +53 -17
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
- package/dist/fields/Relationship/index.d.ts +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +2 -0
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
- package/dist/fields/Relationship/types.d.ts +24 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Row/index.d.ts +1 -1
- package/dist/fields/Select/index.d.ts +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +75 -111
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -1
- package/dist/fields/Text/index.d.ts +1 -1
- package/dist/fields/Text/types.d.ts +2 -2
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +61 -22
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/Input.spec.js +241 -0
- package/dist/fields/Upload/Input.spec.js.map +1 -0
- package/dist/fields/Upload/index.css +19 -4
- package/dist/fields/mergeFieldStyles.d.ts +1 -1
- package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
- package/dist/forms/Form/errorMessages.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +12 -15
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
- package/dist/forms/Form/rows.d.ts.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -1
- package/dist/forms/RenderFields/index.css +16 -2
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +14 -5
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/withCondition/index.d.ts +1 -1
- package/dist/forms/withCondition/index.d.ts.map +1 -1
- package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
- package/dist/hooks/useDelay.d.ts.map +1 -1
- package/dist/hooks/useElementHeightVariable.d.ts.map +1 -1
- package/dist/hooks/useHotkey.d.ts.map +1 -1
- package/dist/hooks/useIntersect.d.ts.map +1 -1
- package/dist/hooks/usePopupWindow.d.ts +1 -1
- package/dist/hooks/usePopupWindow.d.ts.map +1 -1
- package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
- package/dist/hooks/useResize.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/icons/Arrow/index.d.ts +1 -1
- package/dist/icons/Arrow/index.d.ts.map +1 -1
- package/dist/icons/Arrow/index.js +7 -1
- package/dist/icons/Arrow/index.js.map +1 -1
- package/dist/icons/CollapseLayers/index.css +5 -0
- package/dist/icons/CollapseLayers/index.d.ts +7 -0
- package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
- package/dist/icons/CollapseLayers/index.js +23 -0
- package/dist/icons/CollapseLayers/index.js.map +1 -0
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -0
- package/dist/icons/Table/index.d.ts +7 -0
- package/dist/icons/Table/index.d.ts.map +1 -0
- package/dist/icons/Table/index.js +25 -0
- package/dist/icons/Table/index.js.map +1 -0
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +15 -5
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/layouts/Root/index.spec.js +20 -0
- package/dist/layouts/Root/index.spec.js.map +1 -0
- package/dist/layouts/Root/viewport.d.ts +5 -0
- package/dist/layouts/Root/viewport.d.ts.map +1 -0
- package/dist/layouts/Root/viewport.js +17 -0
- package/dist/layouts/Root/viewport.js.map +1 -0
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +5 -59
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/ClientFunction/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +5 -5
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.d.ts +1 -0
- package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.js +2 -0
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +24 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +53 -24
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Hierarchy/types.d.ts +2 -0
- package/dist/providers/Hierarchy/types.d.ts.map +1 -1
- package/dist/providers/Hierarchy/types.js.map +1 -1
- package/dist/providers/HierarchyDnd/index.css +51 -0
- package/dist/providers/HierarchyDnd/index.d.ts +21 -0
- package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/index.js +163 -0
- package/dist/providers/HierarchyDnd/index.js.map +1 -0
- package/dist/providers/HierarchyDnd/types.d.ts +56 -0
- package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
- package/dist/providers/HierarchyDnd/types.js +21 -0
- package/dist/providers/HierarchyDnd/types.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +8 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
- package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +37 -31
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
- package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
- package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/providers/Theme/index.d.ts +5 -2
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +109 -96
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Theme/shared.d.ts +3 -0
- package/dist/providers/Theme/shared.d.ts.map +1 -0
- package/dist/providers/Theme/shared.js +2 -0
- package/dist/providers/Theme/shared.js.map +1 -0
- package/dist/providers/UploadEdits/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.d.ts +2 -7
- package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.js +102 -42
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +23 -10
- package/dist/templates/Default/Wrapper/index.css +2 -1
- package/dist/templates/Default/Wrapper/index.d.ts +2 -0
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +12 -6
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +3 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +19 -15
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/api.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFormState.d.ts +2 -2
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/checkDependencies.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
- package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/index.d.ts +1 -1
- package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/index.js +1 -1
- package/dist/utilities/formatDocTitle/index.js.map +1 -1
- package/dist/utilities/formatFields.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.js +0 -5
- package/dist/utilities/formatMetadata.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getColumns.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDocPreferences.d.ts.map +1 -1
- package/dist/utilities/getDocumentData.d.ts.map +1 -1
- package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
- package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
- package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
- package/dist/utilities/getFilesFromClipboard.js +49 -0
- package/dist/utilities/getFilesFromClipboard.js.map +1 -0
- package/dist/utilities/getGlobalData.d.ts +2 -2
- package/dist/utilities/getGlobalData.d.ts.map +1 -1
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getIsLocked.d.ts.map +1 -1
- package/dist/utilities/getLanguageDir.d.ts +12 -0
- package/dist/utilities/getLanguageDir.d.ts.map +1 -0
- package/dist/utilities/getLanguageDir.js +12 -0
- package/dist/utilities/getLanguageDir.js.map +1 -0
- package/dist/utilities/getOffsetTop.d.ts.map +1 -1
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +1 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleGoBack.d.ts.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/handlePreview.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +32 -8
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +17 -37
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.d.ts +5 -5
- package/dist/utilities/handleTakeOver.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
- package/dist/utilities/hasSavePermission.d.ts.map +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/isClientUserObject.d.ts +2 -2
- package/dist/utilities/isClientUserObject.d.ts.map +1 -1
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
- package/dist/utilities/isEditing.d.ts.map +1 -1
- package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.js +9 -3
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/recentlyViewed.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
- package/dist/utilities/renderTable.d.ts +2 -2
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
- package/dist/utilities/scrollToID.d.ts.map +1 -1
- package/dist/utilities/selectiveCache.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +25 -7
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +50 -6
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +2 -2
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Document/getDocumentView.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/index.d.ts +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.css +61 -53
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +3 -2
- 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 +100 -105
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +186 -0
- package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
- package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
- package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
- package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
- package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
- package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
- package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
- package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +76 -62
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js +82 -108
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +5 -164
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +8 -2
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +20 -17
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.css +64 -36
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +8 -2
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.css +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +103 -24
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +3 -5
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.d.ts.map +1 -1
- package/dist/views/List/ListSelection/index.js +138 -122
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/createSerializableValue.d.ts.map +1 -1
- package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
- package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +7 -2
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.js +50 -10
- package/dist/views/List/handleHierarchy.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +132 -32
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +1 -16
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +61 -15
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
- package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +11 -0
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/page.d.ts.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
- package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +8 -2
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts +12 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +11 -3
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
- package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/fetchVersions.d.ts +4 -4
- package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
- package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +2 -2
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/WidgetCard/index.css +1 -1
- package/package.json +7 -11
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
- package/dist/elements/Nav/NavToggler/index.css +0 -12
- package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
- package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
- package/dist/elements/Nav/NavToggler/index.js +0 -91
- package/dist/elements/Nav/NavToggler/index.js.map +0 -1
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/scss/app.scss +0 -183
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
|
@@ -51,8 +51,10 @@ export const DocumentTitleProvider = ({
|
|
|
51
51
|
i18n
|
|
52
52
|
}));
|
|
53
53
|
}, [data, dateFormat, i18n, id, collectionSlug, docConfig, globalSlug]);
|
|
54
|
+
const isPlaceholder = title === i18n.t('general:untitled');
|
|
54
55
|
return /*#__PURE__*/_jsx(Context, {
|
|
55
56
|
value: {
|
|
57
|
+
isPlaceholder,
|
|
56
58
|
setDocumentTitle,
|
|
57
59
|
title
|
|
58
60
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createContext","use","useEffect","useState","formatDocTitle","useConfig","useDocumentInfo","useTranslation","Context","useDocumentTitle","DocumentTitleProvider","children","id","collectionSlug","data","docConfig","globalSlug","initialData","config","admin","dateFormat","i18n","title","setDocumentTitle","collectionConfig","undefined","fallback","toString","globalConfig","_jsx","value"],"sources":["../../../src/providers/DocumentTitle/index.tsx"],"sourcesContent":["import type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { createContext, use, useEffect, useState } from 'react'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useDocumentInfo } from '../DocumentInfo/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nexport type DocumentTitleContext = {\n setDocumentTitle: (title: string) => void\n title: string\n}\n\nconst Context = createContext({} as DocumentTitleContext)\n\nexport const useDocumentTitle = (): DocumentTitleContext => use(Context)\n\nexport const DocumentTitleProvider: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => {\n const { id, collectionSlug, data, docConfig, globalSlug, initialData } = useDocumentInfo()\n\n const {\n config: {\n admin: { dateFormat },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const [title, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig: collectionSlug ? (docConfig as ClientCollectionConfig) : undefined,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig: globalSlug ? (docConfig as ClientGlobalConfig) : undefined,\n i18n,\n }),\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig: collectionSlug ? (docConfig as ClientCollectionConfig) : undefined,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig: globalSlug ? (docConfig as ClientGlobalConfig) : undefined,\n i18n,\n }),\n )\n }, [data, dateFormat, i18n, id, collectionSlug, docConfig, globalSlug])\n\n return <Context value={{ setDocumentTitle, title }}>{children}</Context>\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAExD,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.js","names":["createContext","use","useEffect","useState","formatDocTitle","useConfig","useDocumentInfo","useTranslation","Context","useDocumentTitle","DocumentTitleProvider","children","id","collectionSlug","data","docConfig","globalSlug","initialData","config","admin","dateFormat","i18n","title","setDocumentTitle","collectionConfig","undefined","fallback","toString","globalConfig","isPlaceholder","t","_jsx","value"],"sources":["../../../src/providers/DocumentTitle/index.tsx"],"sourcesContent":["import type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { createContext, use, useEffect, useState } from 'react'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useDocumentInfo } from '../DocumentInfo/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nexport type DocumentTitleContext = {\n isPlaceholder: boolean\n setDocumentTitle: (title: string) => void\n title: string\n}\n\nconst Context = createContext({} as DocumentTitleContext)\n\nexport const useDocumentTitle = (): DocumentTitleContext => use(Context)\n\nexport const DocumentTitleProvider: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => {\n const { id, collectionSlug, data, docConfig, globalSlug, initialData } = useDocumentInfo()\n\n const {\n config: {\n admin: { dateFormat },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const [title, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig: collectionSlug ? (docConfig as ClientCollectionConfig) : undefined,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig: globalSlug ? (docConfig as ClientGlobalConfig) : undefined,\n i18n,\n }),\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig: collectionSlug ? (docConfig as ClientCollectionConfig) : undefined,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig: globalSlug ? (docConfig as ClientGlobalConfig) : undefined,\n i18n,\n }),\n )\n }, [data, dateFormat, i18n, id, collectionSlug, docConfig, globalSlug])\n\n const isPlaceholder = title === i18n.t('general:untitled')\n\n return <Context value={{ isPlaceholder, setDocumentTitle, title }}>{children}</Context>\n}\n"],"mappings":";AAEA,SAASA,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAExD,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAQ/B,MAAMC,OAAA,gBAAUR,aAAA,CAAc,CAAC;AAE/B,OAAO,MAAMS,gBAAA,GAAmBA,CAAA,KAA4BR,GAAA,CAAIO,OAAA;AAEhE,OAAO,MAAME,qBAAA,GAERA,CAAC;EAAEC;AAAQ,CAAE;EAChB,MAAM;IAAEC,EAAE;IAAEC,cAAc;IAAEC,IAAI;IAAEC,SAAS;IAAEC,UAAU;IAAEC;EAAW,CAAE,GAAGX,eAAA;EAEzE,MAAM;IACJY,MAAA,EAAQ;MACNC,KAAA,EAAO;QAAEC;MAAU;IAAE;EACtB,CACF,GAAGf,SAAA;EAEJ,MAAM;IAAEgB;EAAI,CAAE,GAAGd,cAAA;EAEjB,MAAM,CAACe,KAAA,EAAOC,gBAAA,CAAiB,GAAGpB,QAAA,CAAS,MACzCC,cAAA,CAAe;IACboB,gBAAA,EAAkBX,cAAA,GAAkBE,SAAA,GAAuCU,SAAA;IAC3EX,IAAA,EAAM;MAAE,IAAIG,WAAA,IAAe,CAAC,CAAC;MAAGL;IAAG;IACnCQ,UAAA;IACAM,QAAA,EAAUd,EAAA,EAAIe,QAAA;IACdC,YAAA,EAAcZ,UAAA,GAAcD,SAAA,GAAmCU,SAAA;IAC/DJ;EACF;EAGFnB,SAAA,CAAU;IACRqB,gBAAA,CACEnB,cAAA,CAAe;MACboB,gBAAA,EAAkBX,cAAA,GAAkBE,SAAA,GAAuCU,SAAA;MAC3EX,IAAA,EAAM;QAAE,GAAGA,IAAI;QAAEF;MAAG;MACpBQ,UAAA;MACAM,QAAA,EAAUd,EAAA,EAAIe,QAAA;MACdC,YAAA,EAAcZ,UAAA,GAAcD,SAAA,GAAmCU,SAAA;MAC/DJ;IACF;EAEJ,GAAG,CAACP,IAAA,EAAMM,UAAA,EAAYC,IAAA,EAAMT,EAAA,EAAIC,cAAA,EAAgBE,SAAA,EAAWC,UAAA,CAAW;EAEtE,MAAMa,aAAA,GAAgBP,KAAA,KAAUD,IAAA,CAAKS,CAAC,CAAC;EAEvC,oBAAOC,IAAA,CAACvB,OAAA;IAAQwB,KAAA,EAAO;MAAEH,aAAA;MAAeN,gBAAA;MAAkBD;IAAM;cAAIX;;AACtE","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @experimental This is an experimental API and may change at any time. Use at your own risk.
|
|
4
|
+
*/
|
|
5
|
+
export type EmbedContext = {
|
|
6
|
+
isEmbedded: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @experimental This component is experimental and may change or be removed in future releases. Use at your own risk.
|
|
10
|
+
*/
|
|
11
|
+
export declare const EmbedProvider: React.FC<{
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Initial embed value is read from the embed cookie in the root layout. The root layout
|
|
15
|
+
* cannot see search params, so the client reads the `?embed` query parameter below
|
|
16
|
+
* and it takes precedence over the cookie value.
|
|
17
|
+
*/
|
|
18
|
+
embed?: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* @experimental This is an experimental API and may change at any time. Use at your own risk.
|
|
22
|
+
*/
|
|
23
|
+
export declare const useEmbed: () => EmbedContext;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Embed/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAKtE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAyCD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAoBA,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAO,YAA8C,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import React, { createContext, use, useEffect, useState } from 'react';
|
|
6
|
+
import { useConfig } from '../Config/index.js';
|
|
7
|
+
import { useSearchParams } from '../RouterAdapter/index.js';
|
|
8
|
+
const initialContext = {
|
|
9
|
+
isEmbedded: false
|
|
10
|
+
};
|
|
11
|
+
const Context = /*#__PURE__*/createContext(undefined);
|
|
12
|
+
const hasEmbedCookie = cookieKey => document.cookie.split('; ').some(row => row.startsWith(`${cookieKey}=`) && row.split('=')[1] === 'true');
|
|
13
|
+
/**
|
|
14
|
+
* Writes a session-scoped, `Partitioned` (CHIPS) cookie so embed mode persists
|
|
15
|
+
* across navigation within the iframe.
|
|
16
|
+
*
|
|
17
|
+
* The cookie is keyed to both the iframe domain and the embedding top-level domain,
|
|
18
|
+
* so it is readable only on that one top-level domain.
|
|
19
|
+
*
|
|
20
|
+
* No `Expires`/`Max-Age` — it is a session cookie that clears when the browsing session ends.
|
|
21
|
+
*/
|
|
22
|
+
const setEmbedCookie = cookieKey => {
|
|
23
|
+
document.cookie = `${cookieKey}=true; path=/; SameSite=None; Secure; Partitioned`;
|
|
24
|
+
};
|
|
25
|
+
const deleteEmbedCookie = cookieKey => {
|
|
26
|
+
document.cookie = `${cookieKey}=; path=/; SameSite=None; Secure; Partitioned; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
|
|
27
|
+
};
|
|
28
|
+
const resolveEmbedParam = (embedParam, fallback) => {
|
|
29
|
+
switch (embedParam) {
|
|
30
|
+
case 'false':
|
|
31
|
+
return false;
|
|
32
|
+
case 'true':
|
|
33
|
+
return true;
|
|
34
|
+
default:
|
|
35
|
+
return fallback;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @experimental This component is experimental and may change or be removed in future releases. Use at your own risk.
|
|
40
|
+
*/
|
|
41
|
+
export const EmbedProvider = t0 => {
|
|
42
|
+
const $ = _c(10);
|
|
43
|
+
const {
|
|
44
|
+
children,
|
|
45
|
+
embed
|
|
46
|
+
} = t0;
|
|
47
|
+
const {
|
|
48
|
+
config
|
|
49
|
+
} = useConfig();
|
|
50
|
+
const embedCookieKey = `${config.cookiePrefix || "payload"}-embed`;
|
|
51
|
+
const embedParam = useSearchParams().get("embed")?.toLowerCase();
|
|
52
|
+
let t1;
|
|
53
|
+
if ($[0] !== embed || $[1] !== embedParam) {
|
|
54
|
+
t1 = () => resolveEmbedParam(embedParam, Boolean(embed));
|
|
55
|
+
$[0] = embed;
|
|
56
|
+
$[1] = embedParam;
|
|
57
|
+
$[2] = t1;
|
|
58
|
+
} else {
|
|
59
|
+
t1 = $[2];
|
|
60
|
+
}
|
|
61
|
+
const [isEmbedded, setIsEmbedded] = useState(t1);
|
|
62
|
+
let t2;
|
|
63
|
+
let t3;
|
|
64
|
+
if ($[3] !== embedCookieKey || $[4] !== embedParam) {
|
|
65
|
+
t2 = () => {
|
|
66
|
+
if (embedParam === "true") {
|
|
67
|
+
setEmbedCookie(embedCookieKey);
|
|
68
|
+
} else {
|
|
69
|
+
if (embedParam === "false") {
|
|
70
|
+
deleteEmbedCookie(embedCookieKey);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
setIsEmbedded(hasEmbedCookie(embedCookieKey));
|
|
74
|
+
};
|
|
75
|
+
t3 = [embedParam, embedCookieKey];
|
|
76
|
+
$[3] = embedCookieKey;
|
|
77
|
+
$[4] = embedParam;
|
|
78
|
+
$[5] = t2;
|
|
79
|
+
$[6] = t3;
|
|
80
|
+
} else {
|
|
81
|
+
t2 = $[5];
|
|
82
|
+
t3 = $[6];
|
|
83
|
+
}
|
|
84
|
+
useEffect(t2, t3);
|
|
85
|
+
let t4;
|
|
86
|
+
if ($[7] !== children || $[8] !== isEmbedded) {
|
|
87
|
+
t4 = _jsx(Context, {
|
|
88
|
+
value: {
|
|
89
|
+
isEmbedded
|
|
90
|
+
},
|
|
91
|
+
children
|
|
92
|
+
});
|
|
93
|
+
$[7] = children;
|
|
94
|
+
$[8] = isEmbedded;
|
|
95
|
+
$[9] = t4;
|
|
96
|
+
} else {
|
|
97
|
+
t4 = $[9];
|
|
98
|
+
}
|
|
99
|
+
return t4;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* @experimental This is an experimental API and may change at any time. Use at your own risk.
|
|
103
|
+
*/
|
|
104
|
+
export const useEmbed = () => use(Context) ?? initialContext;
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useEffect","useState","useConfig","useSearchParams","initialContext","isEmbedded","Context","undefined","hasEmbedCookie","cookieKey","document","cookie","split","some","row","startsWith","setEmbedCookie","deleteEmbedCookie","resolveEmbedParam","embedParam","fallback","EmbedProvider","t0","$","children","embed","config","embedCookieKey","cookiePrefix","get","toLowerCase","t1","Boolean","setIsEmbedded","t2","t3","t4","_jsx","value","useEmbed"],"sources":["../../../src/providers/Embed/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../RouterAdapter/index.js'\n\n/**\n * @experimental This is an experimental API and may change at any time. Use at your own risk.\n */\nexport type EmbedContext = {\n isEmbedded: boolean\n}\n\nconst initialContext: EmbedContext = {\n isEmbedded: false,\n}\n\nconst Context = createContext<EmbedContext | undefined>(undefined)\n\nconst hasEmbedCookie = (cookieKey: string): boolean =>\n document.cookie\n .split('; ')\n .some((row) => row.startsWith(`${cookieKey}=`) && row.split('=')[1] === 'true')\n\n/**\n * Writes a session-scoped, `Partitioned` (CHIPS) cookie so embed mode persists\n * across navigation within the iframe.\n *\n * The cookie is keyed to both the iframe domain and the embedding top-level domain,\n * so it is readable only on that one top-level domain.\n *\n * No `Expires`/`Max-Age` — it is a session cookie that clears when the browsing session ends.\n */\nconst setEmbedCookie = (cookieKey: string): void => {\n document.cookie = `${cookieKey}=true; path=/; SameSite=None; Secure; Partitioned`\n}\n\nconst deleteEmbedCookie = (cookieKey: string): void => {\n document.cookie = `${cookieKey}=; path=/; SameSite=None; Secure; Partitioned; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n}\n\nconst resolveEmbedParam = (embedParam: null | string, fallback: boolean): boolean => {\n switch (embedParam) {\n case 'false':\n return false\n case 'true':\n return true\n default:\n return fallback\n }\n}\n\n/**\n * @experimental This component is experimental and may change or be removed in future releases. Use at your own risk.\n */\nexport const EmbedProvider: React.FC<{\n children?: React.ReactNode\n /**\n * Initial embed value is read from the embed cookie in the root layout. The root layout\n * cannot see search params, so the client reads the `?embed` query parameter below\n * and it takes precedence over the cookie value.\n */\n embed?: boolean\n}> = ({ children, embed }) => {\n const { config } = useConfig()\n const embedCookieKey = `${config.cookiePrefix || 'payload'}-embed`\n const embedParam = useSearchParams().get('embed')?.toLowerCase()\n\n const [isEmbedded, setIsEmbedded] = useState<boolean>(() =>\n resolveEmbedParam(embedParam, Boolean(embed)),\n )\n\n useEffect(() => {\n // The query parameter takes precedence; otherwise fall back to the cookie value\n if (embedParam === 'true') {\n setEmbedCookie(embedCookieKey)\n } else if (embedParam === 'false') {\n deleteEmbedCookie(embedCookieKey)\n }\n setIsEmbedded(hasEmbedCookie(embedCookieKey))\n }, [embedParam, embedCookieKey])\n\n return <Context value={{ isEmbedded }}>{children}</Context>\n}\n\n/**\n * @experimental This is an experimental API and may change at any time. Use at your own risk.\n */\nexport const useEmbed = (): EmbedContext => use(Context) ?? initialContext\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAE/D,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAShC,MAAMC,cAAA,GAA+B;EACnCC,UAAA,EAAY;AACd;AAEA,MAAMC,OAAA,gBAAUR,aAAA,CAAwCS,SAAA;AAExD,MAAMC,cAAA,GAAkBC,SAAA,IACtBC,QAAA,CAASC,MAAM,CACZC,KAAK,CAAC,MACNC,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,UAAU,CAAC,GAAGN,SAAA,GAAY,KAAKK,GAAA,CAAIF,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK;AAE5E;;;;;;;;;AASA,MAAMI,cAAA,GAAkBP,SAAA;EACtBC,QAAA,CAASC,MAAM,GAAG,GAAGF,SAAA,mDAA4D;AACnF;AAEA,MAAMQ,iBAAA,GAAqBR,SAAA;EACzBC,QAAA,CAASC,MAAM,GAAG,GAAGF,SAAA,sFAA+F;AACtH;AAEA,MAAMS,iBAAA,GAAoBA,CAACC,UAAA,EAA2BC,QAAA;EACpD,QAAQD,UAAA;IACN,KAAK;MACH,OAAO;IACT,KAAK;MACH,OAAO;IACT;MACE,OAAOC,QAAA;EACX;AACF;AAEA;;;AAGA,OAAO,MAAMC,aAAA,GAQRC,EAAA;EAAA,MAAAC,CAAA,GAAA3B,EAAA;EAAC;IAAA4B,QAAA;IAAAC;EAAA,IAAAH,EAAmB;EACvB;IAAAI;EAAA,IAAmBxB,SAAA;EACnB,MAAAyB,cAAA,GAAuB,GAAGD,MAAA,CAAAE,YAAA,IAAuB,iBAAiB;EAClE,MAAAT,UAAA,GAAmBhB,eAAA,GAAA0B,GAAA,CAAsB,UAAAC,WAAA;EAAU,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAE,KAAA,IAAAF,CAAA,QAAAJ,UAAA;IAEGY,EAAA,GAAAA,CAAA,KACpDb,iBAAA,CAAkBC,UAAA,EAAYa,OAAA,CAAQP,KAAA;IAAAF,CAAA,MAAAE,KAAA;IAAAF,CAAA,MAAAJ,UAAA;IAAAI,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EADxC,OAAAlB,UAAA,EAAA4B,aAAA,IAAoChC,QAAA,CAAkB8B,EACd;EAAA,IAAAG,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAI,cAAA,IAAAJ,CAAA,QAAAJ,UAAA;IAG9Be,EAAA,GAAAA,CAAA;MAAA,IAEJf,UAAA,KAAe;QACjBH,cAAA,CAAeW,cAAA;MAAA;QAAA,IACNR,UAAA,KAAe;UACxBF,iBAAA,CAAkBU,cAAA;QAAA;MAAA;MAEpBM,aAAA,CAAczB,cAAA,CAAemB,cAAA;IAAA;IAC5BQ,EAAA,IAAChB,UAAA,EAAYQ,cAAA;IAAeJ,CAAA,MAAAI,cAAA;IAAAJ,CAAA,MAAAJ,UAAA;IAAAI,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;EAAA;IAAAD,EAAA,GAAAX,CAAA;IAAAY,EAAA,GAAAZ,CAAA;EAAA;EAR/BvB,SAAA,CAAUkC,EAQV,EAAGC,EAA4B;EAAA,IAAAC,EAAA;EAAA,IAAAb,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAlB,UAAA;IAExB+B,EAAA,GAAAC,IAAA,CAAA/B,OAAA;MAAAgC,KAAA;QAAAjC;MAAA;MAAAmB;IAAA,C;;;;;;;SAAAY,E;CACT;AAEA;;;AAGA,OAAO,MAAMG,QAAA,GAAWA,CAAA,KAAoBxC,GAAA,CAAIO,OAAA,KAAYF,cAAA","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type NonFieldError = {
|
|
2
|
+
data?: unknown;
|
|
3
|
+
message: string;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* A callback that a plugin can provide to intercept non-field form errors before
|
|
7
|
+
* Payload shows its default error toast. Return `true` to claim the error (the
|
|
8
|
+
* default toast is suppressed). Return `false` to let Payload handle it normally.
|
|
9
|
+
*
|
|
10
|
+
* Set via `<FormErrorHandlerContext value={handler}>` inside an
|
|
11
|
+
* `admin.components.providers` entry. The Form reads this automatically — no
|
|
12
|
+
* changes to collection config or the edit view are required.
|
|
13
|
+
*
|
|
14
|
+
* Multiple handlers can be chained by composing providers; the first one to
|
|
15
|
+
* return `true` wins.
|
|
16
|
+
*
|
|
17
|
+
* `retry` re-submits the form that produced the error, allowing the user to
|
|
18
|
+
* retry after resolving the underlying issue (e.g. deleting documents to free
|
|
19
|
+
* up quota).
|
|
20
|
+
*/
|
|
21
|
+
export type FormErrorHandler = (err: NonFieldError, retry: () => void) => boolean;
|
|
22
|
+
export declare const FormErrorHandlerContext: import("react").Context<FormErrorHandler>;
|
|
23
|
+
export declare const useFormErrorHandler: () => FormErrorHandler | undefined;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/FormErrorHandler/index.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,OAAO,CAAA;AAEjF,eAAO,MAAM,uBAAuB,2CAAyD,CAAA;AAE7F,eAAO,MAAM,mBAAmB,QAAO,gBAAgB,GAAG,SAAyC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createContext","use","FormErrorHandlerContext","undefined","useFormErrorHandler"],"sources":["../../../src/providers/FormErrorHandler/index.tsx"],"sourcesContent":["'use client'\nimport { createContext, use } from 'react'\n\nexport type NonFieldError = {\n data?: unknown\n message: string\n}\n\n/**\n * A callback that a plugin can provide to intercept non-field form errors before\n * Payload shows its default error toast. Return `true` to claim the error (the\n * default toast is suppressed). Return `false` to let Payload handle it normally.\n *\n * Set via `<FormErrorHandlerContext value={handler}>` inside an\n * `admin.components.providers` entry. The Form reads this automatically — no\n * changes to collection config or the edit view are required.\n *\n * Multiple handlers can be chained by composing providers; the first one to\n * return `true` wins.\n *\n * `retry` re-submits the form that produced the error, allowing the user to\n * retry after resolving the underlying issue (e.g. deleting documents to free\n * up quota).\n */\nexport type FormErrorHandler = (err: NonFieldError, retry: () => void) => boolean\n\nexport const FormErrorHandlerContext = createContext<FormErrorHandler | undefined>(undefined)\n\nexport const useFormErrorHandler = (): FormErrorHandler | undefined => use(FormErrorHandlerContext)\n"],"mappings":"AAAA;;AACA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AAyBnC,OAAO,MAAMC,uBAAA,gBAA0BF,aAAA,CAA4CG,SAAA;AAEnF,OAAO,MAAMC,mBAAA,GAAsBA,CAAA,KAAoCH,GAAA,CAAIC,uBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAEV,qBAAqB,EAGrB,sBAAsB,EAEvB,MAAM,YAAY,CAAA;AASnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE,OAAO,KAAK,EAEV,qBAAqB,EAGrB,sBAAsB,EAEvB,MAAM,YAAY,CAAA;AASnB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkb9D,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAA"}
|
|
@@ -105,13 +105,27 @@ export const HierarchyProvider = ({
|
|
|
105
105
|
} else {
|
|
106
106
|
const existingDocIds = new Set(existingEntry.docs.map(doc_0 => doc_0.id));
|
|
107
107
|
const newDocs = treeData.docs.filter(doc_1 => !existingDocIds.has(doc_1.id));
|
|
108
|
+
// Reconcile loadedCount/totalDocs against the deduped merge rather than
|
|
109
|
+
// blindly overwriting: a shallower fetch (e.g. fewer pages walked) must not
|
|
110
|
+
// regress loadedCount below what's already accumulated in docs, or downstream
|
|
111
|
+
// page-number math in Tree will refetch and duplicate an already-shown page.
|
|
112
|
+
const mergedLoadedParents = {
|
|
113
|
+
...existingEntry.loadedParents
|
|
114
|
+
};
|
|
115
|
+
for (const [parentKey, meta] of Object.entries(treeData.loadedParents)) {
|
|
116
|
+
const existingMeta = existingEntry.loadedParents[parentKey];
|
|
117
|
+
const loadedCount = Math.max(existingMeta?.loadedCount ?? 0, meta.loadedCount ?? 0);
|
|
118
|
+
const totalDocs = Math.max(existingMeta?.totalDocs ?? 0, meta.totalDocs ?? 0);
|
|
119
|
+
mergedLoadedParents[parentKey] = {
|
|
120
|
+
hasMore: loadedCount < totalDocs,
|
|
121
|
+
loadedCount,
|
|
122
|
+
totalDocs
|
|
123
|
+
};
|
|
124
|
+
}
|
|
108
125
|
newCache.set(slug, {
|
|
109
126
|
baseFilter: existingEntry.baseFilter,
|
|
110
127
|
docs: [...existingEntry.docs, ...newDocs],
|
|
111
|
-
loadedParents:
|
|
112
|
-
...existingEntry.loadedParents,
|
|
113
|
-
...treeData.loadedParents
|
|
114
|
-
}
|
|
128
|
+
loadedParents: mergedLoadedParents
|
|
115
129
|
});
|
|
116
130
|
}
|
|
117
131
|
return newCache;
|
|
@@ -160,29 +174,42 @@ export const HierarchyProvider = ({
|
|
|
160
174
|
return newMap_1;
|
|
161
175
|
});
|
|
162
176
|
}, [savePreferencesDebounced]);
|
|
177
|
+
const collapseAllForCollection = useCallback(slug_2 => {
|
|
178
|
+
setExpandedNodesByCollection(prev_3 => {
|
|
179
|
+
// Always produce a new Map, even when the collection's set is already empty. The tree
|
|
180
|
+
// may still be rendering server-provided nodes that only this state change can clear.
|
|
181
|
+
const newMap_2 = new Map(prev_3);
|
|
182
|
+
const newExpanded_0 = new Set();
|
|
183
|
+
newMap_2.set(slug_2, newExpanded_0);
|
|
184
|
+
savePreferencesDebounced(slug_2, {
|
|
185
|
+
expanded: newExpanded_0
|
|
186
|
+
});
|
|
187
|
+
return newMap_2;
|
|
188
|
+
});
|
|
189
|
+
}, [savePreferencesDebounced]);
|
|
163
190
|
const toggleNode = useCallback(id_0 => {
|
|
164
191
|
if (!collectionSlug) {
|
|
165
192
|
return;
|
|
166
193
|
}
|
|
167
194
|
toggleNodeForCollection(collectionSlug, id_0);
|
|
168
195
|
}, [collectionSlug, toggleNodeForCollection]);
|
|
169
|
-
const getExpandedNodesForCollection = useCallback(
|
|
170
|
-
return expandedNodesByCollection.get(
|
|
196
|
+
const getExpandedNodesForCollection = useCallback(slug_3 => {
|
|
197
|
+
return expandedNodesByCollection.get(slug_3) || new Set();
|
|
171
198
|
}, [expandedNodesByCollection]);
|
|
172
|
-
const getTreeDataForCollection = useCallback(
|
|
173
|
-
return treeCache.get(
|
|
199
|
+
const getTreeDataForCollection = useCallback(slug_4 => {
|
|
200
|
+
return treeCache.get(slug_4) || null;
|
|
174
201
|
}, [treeCache]);
|
|
175
202
|
const setSelectedFilters = useCallback(filters => {
|
|
176
203
|
if (!collectionSlug) {
|
|
177
204
|
return;
|
|
178
205
|
}
|
|
179
|
-
setSelectedFiltersByCollection(
|
|
180
|
-
const
|
|
181
|
-
|
|
206
|
+
setSelectedFiltersByCollection(prev_4 => {
|
|
207
|
+
const newMap_3 = new Map(prev_4);
|
|
208
|
+
newMap_3.set(collectionSlug, filters);
|
|
182
209
|
savePreferencesDebounced(collectionSlug, {
|
|
183
210
|
filters
|
|
184
211
|
});
|
|
185
|
-
return
|
|
212
|
+
return newMap_3;
|
|
186
213
|
});
|
|
187
214
|
}, [collectionSlug, savePreferencesDebounced]);
|
|
188
215
|
const selectParent = useCallback(id_1 => {
|
|
@@ -205,8 +232,8 @@ export const HierarchyProvider = ({
|
|
|
205
232
|
if (!cache_0) {
|
|
206
233
|
return;
|
|
207
234
|
}
|
|
208
|
-
const
|
|
209
|
-
const parentMeta = cache_0.loadedParents[
|
|
235
|
+
const parentKey_0 = parentId_0 === null ? 'root' : String(parentId_0);
|
|
236
|
+
const parentMeta = cache_0.loadedParents[parentKey_0];
|
|
210
237
|
if (!parentMeta || !parentMeta.hasMore) {
|
|
211
238
|
return;
|
|
212
239
|
}
|
|
@@ -257,8 +284,8 @@ export const HierarchyProvider = ({
|
|
|
257
284
|
}
|
|
258
285
|
const data_1 = await response.json();
|
|
259
286
|
const newDocs_0 = data_1.docs || [];
|
|
260
|
-
setTreeCache(
|
|
261
|
-
const newCache_0 = new Map(
|
|
287
|
+
setTreeCache(prev_5 => {
|
|
288
|
+
const newCache_0 = new Map(prev_5);
|
|
262
289
|
const existingEntry_0 = newCache_0.get(collectionSlug);
|
|
263
290
|
if (existingEntry_0) {
|
|
264
291
|
const existingDocIds_0 = new Set(existingEntry_0.docs.map(doc_3 => doc_3.id));
|
|
@@ -267,8 +294,9 @@ export const HierarchyProvider = ({
|
|
|
267
294
|
docs: [...existingEntry_0.docs, ...uniqueNewDocs],
|
|
268
295
|
loadedParents: {
|
|
269
296
|
...existingEntry_0.loadedParents,
|
|
270
|
-
[
|
|
297
|
+
[parentKey_0]: {
|
|
271
298
|
hasMore: data_1.hasNextPage || false,
|
|
299
|
+
loadedCount: currentChildren.length + uniqueNewDocs.length,
|
|
272
300
|
totalDocs: data_1.totalDocs || 0
|
|
273
301
|
}
|
|
274
302
|
}
|
|
@@ -297,15 +325,15 @@ export const HierarchyProvider = ({
|
|
|
297
325
|
setIsLoadingMore(false);
|
|
298
326
|
setLoadingNodeId(null);
|
|
299
327
|
}, []);
|
|
300
|
-
const refreshTree = useCallback(
|
|
301
|
-
setTreeCache(
|
|
302
|
-
const next = new Map(
|
|
303
|
-
next.delete(
|
|
328
|
+
const refreshTree = useCallback(slug_5 => {
|
|
329
|
+
setTreeCache(prev_6 => {
|
|
330
|
+
const next = new Map(prev_6);
|
|
331
|
+
next.delete(slug_5);
|
|
304
332
|
return next;
|
|
305
333
|
});
|
|
306
|
-
setTreeRefreshKeys(
|
|
307
|
-
const next_0 = new Map(
|
|
308
|
-
next_0.set(
|
|
334
|
+
setTreeRefreshKeys(prev_7 => {
|
|
335
|
+
const next_0 = new Map(prev_7);
|
|
336
|
+
next_0.set(slug_5, (next_0.get(slug_5) ?? 0) + 1);
|
|
309
337
|
return next_0;
|
|
310
338
|
});
|
|
311
339
|
}, []);
|
|
@@ -314,6 +342,7 @@ export const HierarchyProvider = ({
|
|
|
314
342
|
const value = {
|
|
315
343
|
allowedCollections,
|
|
316
344
|
baseFilter,
|
|
345
|
+
collapseAllForCollection,
|
|
317
346
|
collectionSlug,
|
|
318
347
|
expandedNodes,
|
|
319
348
|
getExpandedNodesForCollection,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","PREFERENCE_KEYS","qs","React","createContext","use","useCallback","useState","useDebouncedCallback","useConfig","usePreferences","useRouter","HierarchyContext","undefined","HierarchyProvider","children","setPreference","router","config","routes","admin","adminRoute","api","serverURL","baseFilter","setBaseFilter","collectionSlug","setCollectionSlug","parent","setParent","parentFieldName","setParentFieldName","treeLimit","setTreeLimit","typeFieldName","setTypeFieldName","useAsTitle","setUseAsTitle","allowedCollections","setAllowedCollections","treeCache","setTreeCache","Map","expandedNodesByCollection","setExpandedNodesByCollection","selectedFiltersByCollection","setSelectedFiltersByCollection","isLoadingMore","setIsLoadingMore","loadingNodeId","setLoadingNodeId","treeRefreshKeys","setTreeRefreshKeys","getNodeChildren","parentId","cache","get","docs","filter","doc","docParentId","String","hydrate","data","newAllowedCollections","newBaseFilter","slug","expandedNodes","newExpandedNodes","newParent","newParentFieldName","selectedFilters","newSelectedFilters","treeData","newTreeLimit","newTypeFieldName","newUseAsTitle","prev","newCache","existingEntry","set","existingDocIds","Set","map","id","newDocs","has","loadedParents","length","newMap","existingExpanded","mergedExpanded","savePreferencesDebounced","preferenceKey","HIERARCHY_TREE","currentExpanded","currentFilters","Array","from","expanded","filters","toggleNodeForCollection","newExpanded","delete","add","toggleNode","getExpandedNodesForCollection","getTreeDataForCollection","setSelectedFilters","selectParent","queryParam","url","path","push","refresh","loadMoreChildren","parentKey","parentMeta","hasMore","currentChildren","nextPage","Math","floor","where","or","exists","equals","queryString","stringify","limit","page","sort","addQueryPrefix","apiRoute","response","fetch","credentials","ok","Error","json","uniqueNewDocs","hasNextPage","totalDocs","reset","refreshTree","next","value","_jsx","useHierarchy","context"],"sources":["../../../src/providers/Hierarchy/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID, Where } from 'payload'\n\nimport { DEFAULT_HIERARCHY_TREE_LIMIT, formatAdminURL, PREFERENCE_KEYS } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useState } from 'react'\n\nimport type {\n AllowedCollection,\n HierarchyContextValue,\n HierarchyDocument,\n HierarchyHydrateData,\n HierarchyProviderProps,\n HierarchyTreeCacheEntry,\n} from './types.js'\n\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useRouter } from '../RouterAdapter/index.js'\n\nconst HierarchyContext = createContext<HierarchyContextValue | undefined>(undefined)\n\nexport const HierarchyProvider: React.FC<HierarchyProviderProps> = ({ children }) => {\n const { setPreference } = usePreferences()\n const router = useRouter()\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n } = useConfig()\n\n const [baseFilter, setBaseFilter] = useState<null | Where>(null)\n const [collectionSlug, setCollectionSlug] = useState<null | string>(null)\n const [parent, setParent] = useState<null | (Record<string, unknown> & TypeWithID)>(null)\n const [parentFieldName, setParentFieldName] = useState<string>('')\n const [treeLimit, setTreeLimit] = useState<number>(DEFAULT_HIERARCHY_TREE_LIMIT)\n const [typeFieldName, setTypeFieldName] = useState<null | string>(null)\n const [useAsTitle, setUseAsTitle] = useState<null | string>(null)\n const [allowedCollections, setAllowedCollections] = useState<AllowedCollection[] | null>(null)\n\n const [treeCache, setTreeCache] = useState<Map<string, HierarchyTreeCacheEntry>>(() => new Map())\n const [expandedNodesByCollection, setExpandedNodesByCollection] = useState<\n Map<string, Set<number | string>>\n >(() => new Map())\n const [selectedFiltersByCollection, setSelectedFiltersByCollection] = useState<\n Map<string, string[]>\n >(() => new Map())\n const [isLoadingMore, setIsLoadingMore] = useState<boolean>(false)\n const [loadingNodeId, setLoadingNodeId] = useState<null | number | string>(null)\n const [treeRefreshKeys, setTreeRefreshKeys] = useState<Map<string, number>>(() => new Map())\n\n const getNodeChildren = useCallback(\n (parentId: null | number | string): HierarchyDocument[] => {\n if (!collectionSlug) {\n return []\n }\n\n const cache = treeCache.get(collectionSlug)\n if (!cache) {\n return []\n }\n\n return cache.docs.filter((doc) => {\n const docParentId = doc[parentFieldName]\n if (parentId === null) {\n return docParentId === null || docParentId === undefined\n }\n return docParentId !== null && String(docParentId) === String(parentId)\n })\n },\n [collectionSlug, parentFieldName, treeCache],\n )\n\n const hydrate = useCallback((data: HierarchyHydrateData) => {\n const {\n allowedCollections: newAllowedCollections,\n baseFilter: newBaseFilter,\n collectionSlug: slug,\n expandedNodes: newExpandedNodes,\n parent: newParent,\n parentFieldName: newParentFieldName,\n selectedFilters: newSelectedFilters,\n treeData,\n treeLimit: newTreeLimit,\n typeFieldName: newTypeFieldName,\n useAsTitle: newUseAsTitle,\n } = data\n\n setCollectionSlug(slug)\n\n if (newBaseFilter !== undefined) {\n setBaseFilter(newBaseFilter ?? null)\n }\n\n if (newAllowedCollections) {\n setAllowedCollections(newAllowedCollections)\n }\n\n if (newParentFieldName) {\n setParentFieldName(newParentFieldName)\n }\n\n if (newTreeLimit !== undefined) {\n setTreeLimit(newTreeLimit)\n }\n\n if (newTypeFieldName !== undefined) {\n setTypeFieldName(newTypeFieldName)\n }\n\n if (newParent !== undefined) {\n setParent(newParent)\n }\n\n if (newUseAsTitle !== undefined) {\n setUseAsTitle(newUseAsTitle)\n }\n\n if (treeData) {\n setTreeCache((prev) => {\n const newCache = new Map(prev)\n const existingEntry = newCache.get(slug)\n\n // If baseFilter is provided, replace cache entirely (tenant changed)\n // Otherwise merge to support incremental loading\n if (newBaseFilter !== undefined || !existingEntry) {\n newCache.set(slug, { ...treeData, baseFilter: newBaseFilter ?? null })\n } else {\n const existingDocIds = new Set(existingEntry.docs.map((doc) => doc.id))\n const newDocs = treeData.docs.filter((doc) => !existingDocIds.has(doc.id))\n\n newCache.set(slug, {\n baseFilter: existingEntry.baseFilter,\n docs: [...existingEntry.docs, ...newDocs],\n loadedParents: {\n ...existingEntry.loadedParents,\n ...treeData.loadedParents,\n },\n })\n }\n\n return newCache\n })\n }\n\n if (newExpandedNodes && newExpandedNodes.length > 0) {\n setExpandedNodesByCollection((prev) => {\n const newMap = new Map(prev)\n const existingExpanded = newMap.get(slug) || new Set()\n const mergedExpanded = new Set([...existingExpanded, ...newExpandedNodes])\n newMap.set(slug, mergedExpanded)\n return newMap\n })\n }\n\n if (newSelectedFilters) {\n setSelectedFiltersByCollection((prev) => {\n const newMap = new Map(prev)\n newMap.set(slug, newSelectedFilters)\n return newMap\n })\n }\n }, [])\n\n const savePreferencesDebounced = useDebouncedCallback(\n async (slug: string, data: { expanded?: Set<number | string>; filters?: string[] }) => {\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${slug}`\n const currentExpanded = expandedNodesByCollection.get(slug) || new Set()\n const currentFilters = selectedFiltersByCollection.get(slug) || []\n\n await setPreference(preferenceKey, {\n expandedNodes: Array.from(data.expanded ?? currentExpanded),\n selectedFilters: data.filters ?? currentFilters,\n })\n },\n 500,\n )\n\n const toggleNodeForCollection = useCallback(\n (slug: string, id: number | string) => {\n setExpandedNodesByCollection((prev) => {\n const newMap = new Map(prev)\n const currentExpanded = newMap.get(slug) || new Set()\n const newExpanded = new Set(currentExpanded)\n\n if (newExpanded.has(id)) {\n newExpanded.delete(id)\n } else {\n newExpanded.add(id)\n }\n\n newMap.set(slug, newExpanded)\n savePreferencesDebounced(slug, { expanded: newExpanded })\n return newMap\n })\n },\n [savePreferencesDebounced],\n )\n\n const toggleNode = useCallback(\n (id: number | string) => {\n if (!collectionSlug) {\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [collectionSlug, toggleNodeForCollection],\n )\n\n const getExpandedNodesForCollection = useCallback(\n (slug: string): Set<number | string> => {\n return expandedNodesByCollection.get(slug) || new Set()\n },\n [expandedNodesByCollection],\n )\n\n const getTreeDataForCollection = useCallback(\n (slug: string) => {\n return treeCache.get(slug) || null\n },\n [treeCache],\n )\n\n const setSelectedFilters = useCallback(\n (filters: string[]) => {\n if (!collectionSlug) {\n return\n }\n\n setSelectedFiltersByCollection((prev) => {\n const newMap = new Map(prev)\n newMap.set(collectionSlug, filters)\n savePreferencesDebounced(collectionSlug, { filters })\n return newMap\n })\n },\n [collectionSlug, savePreferencesDebounced],\n )\n\n const selectParent = useCallback(\n (id: null | number | string) => {\n if (!collectionSlug) {\n return\n }\n\n const queryParam = parentFieldName || 'parent'\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${id !== null ? `?${queryParam}=${id}` : ''}`,\n })\n router.push(url)\n router.refresh()\n },\n [adminRoute, collectionSlug, parentFieldName, router],\n )\n\n const loadMoreChildren = useCallback(\n async (parentId: null | number | string): Promise<void> => {\n if (!collectionSlug || isLoadingMore) {\n return\n }\n\n const cache = treeCache.get(collectionSlug)\n if (!cache) {\n return\n }\n\n const parentKey = parentId === null ? 'root' : String(parentId)\n const parentMeta = cache.loadedParents[parentKey]\n if (!parentMeta || !parentMeta.hasMore) {\n return\n }\n\n setIsLoadingMore(true)\n setLoadingNodeId(parentId)\n\n try {\n const currentChildren = cache.docs.filter((doc) => {\n const docParentId = doc[parentFieldName]\n if (parentId === null) {\n return docParentId === null || docParentId === undefined\n }\n return docParentId !== null && String(docParentId) === String(parentId)\n })\n\n const nextPage = Math.floor(currentChildren.length / treeLimit) + 1\n\n const where =\n parentId === null\n ? {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n : { [parentFieldName]: { equals: parentId } }\n\n const queryString = qs.stringify(\n { limit: treeLimit, page: nextPage, sort: useAsTitle ?? 'id', where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch more children')\n }\n\n const data = await response.json()\n const newDocs = data.docs || []\n\n setTreeCache((prev) => {\n const newCache = new Map(prev)\n const existingEntry = newCache.get(collectionSlug)\n\n if (existingEntry) {\n const existingDocIds = new Set(existingEntry.docs.map((doc) => doc.id))\n const uniqueNewDocs = newDocs.filter((doc) => !existingDocIds.has(doc.id))\n\n newCache.set(collectionSlug, {\n docs: [...existingEntry.docs, ...uniqueNewDocs],\n loadedParents: {\n ...existingEntry.loadedParents,\n [parentKey]: {\n hasMore: data.hasNextPage || false,\n totalDocs: data.totalDocs || 0,\n },\n },\n })\n }\n\n return newCache\n })\n } catch {\n // Failed to load more children - silently fail\n } finally {\n setIsLoadingMore(false)\n setLoadingNodeId(null)\n }\n },\n [\n api,\n collectionSlug,\n isLoadingMore,\n parentFieldName,\n serverURL,\n treeCache,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const reset = useCallback(() => {\n setBaseFilter(null)\n setCollectionSlug(null)\n setParent(null)\n setParentFieldName('')\n setTreeLimit(DEFAULT_HIERARCHY_TREE_LIMIT)\n setTypeFieldName(null)\n setUseAsTitle(null)\n setTreeCache(new Map())\n setExpandedNodesByCollection(new Map())\n setSelectedFiltersByCollection(new Map())\n setIsLoadingMore(false)\n setLoadingNodeId(null)\n }, [])\n\n const refreshTree = useCallback((slug: string) => {\n setTreeCache((prev) => {\n const next = new Map(prev)\n next.delete(slug)\n return next\n })\n setTreeRefreshKeys((prev) => {\n const next = new Map(prev)\n next.set(slug, (next.get(slug) ?? 0) + 1)\n return next\n })\n }, [])\n\n const expandedNodes =\n collectionSlug && expandedNodesByCollection.has(collectionSlug)\n ? expandedNodesByCollection.get(collectionSlug)\n : new Set<number | string>()\n\n const selectedFilters =\n collectionSlug && selectedFiltersByCollection.has(collectionSlug)\n ? selectedFiltersByCollection.get(collectionSlug)\n : []\n\n const value: HierarchyContextValue = {\n allowedCollections,\n baseFilter,\n collectionSlug,\n expandedNodes,\n getExpandedNodesForCollection,\n getNodeChildren,\n getTreeDataForCollection,\n hydrate,\n isLoadingMore,\n loadingNodeId,\n loadMoreChildren,\n parent,\n parentFieldName,\n refreshTree,\n reset,\n selectedFilters,\n selectParent,\n setSelectedFilters,\n toggleNode,\n toggleNodeForCollection,\n treeLimit,\n treeRefreshKeys,\n typeFieldName,\n useAsTitle,\n }\n\n return <HierarchyContext value={value}>{children}</HierarchyContext>\n}\n\nexport const useHierarchy = (): HierarchyContextValue => {\n const context = use(HierarchyContext)\n if (!context) {\n throw new Error('useHierarchy must be used within HierarchyProvider')\n }\n return context\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,4BAA4B,EAAEC,cAAc,EAAEC,eAAe,QAAQ;AAC9E,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AAWjE,SAASC,oBAAoB,QAAQ;AACrC,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAE1B,MAAMC,gBAAA,gBAAmBR,aAAA,CAAiDS,SAAA;AAE1E,OAAO,MAAMC,iBAAA,GAAsDA,CAAC;EAAEC;AAAQ,CAAE;EAC9E,MAAM;IAAEC;EAAa,CAAE,GAAGN,cAAA;EAC1B,MAAMO,MAAA,GAASN,SAAA;EACf,MAAM;IACJO,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC;MAAG,CAAE;MAClCC;IAAS;EACV,CACF,GAAGd,SAAA;EAEJ,MAAM,CAACe,UAAA,EAAYC,aAAA,CAAc,GAAGlB,QAAA,CAAuB;EAC3D,MAAM,CAACmB,cAAA,EAAgBC,iBAAA,CAAkB,GAAGpB,QAAA,CAAwB;EACpE,MAAM,CAACqB,MAAA,EAAQC,SAAA,CAAU,GAAGtB,QAAA,CAAwD;EACpF,MAAM,CAACuB,eAAA,EAAiBC,kBAAA,CAAmB,GAAGxB,QAAA,CAAiB;EAC/D,MAAM,CAACyB,SAAA,EAAWC,YAAA,CAAa,GAAG1B,QAAA,CAAiBR,4BAAA;EACnD,MAAM,CAACmC,aAAA,EAAeC,gBAAA,CAAiB,GAAG5B,QAAA,CAAwB;EAClE,MAAM,CAAC6B,UAAA,EAAYC,aAAA,CAAc,GAAG9B,QAAA,CAAwB;EAC5D,MAAM,CAAC+B,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGhC,QAAA,CAAqC;EAEzF,MAAM,CAACiC,SAAA,EAAWC,YAAA,CAAa,GAAGlC,QAAA,CAA+C,MAAM,IAAImC,GAAA;EAC3F,MAAM,CAACC,yBAAA,EAA2BC,4BAAA,CAA6B,GAAGrC,QAAA,CAEhE,MAAM,IAAImC,GAAA;EACZ,MAAM,CAACG,2BAAA,EAA6BC,8BAAA,CAA+B,GAAGvC,QAAA,CAEpE,MAAM,IAAImC,GAAA;EACZ,MAAM,CAACK,aAAA,EAAeC,gBAAA,CAAiB,GAAGzC,QAAA,CAAkB;EAC5D,MAAM,CAAC0C,aAAA,EAAeC,gBAAA,CAAiB,GAAG3C,QAAA,CAAiC;EAC3E,MAAM,CAAC4C,eAAA,EAAiBC,kBAAA,CAAmB,GAAG7C,QAAA,CAA8B,MAAM,IAAImC,GAAA;EAEtF,MAAMW,eAAA,GAAkB/C,WAAA,CACrBgD,QAAA;IACC,IAAI,CAAC5B,cAAA,EAAgB;MACnB,OAAO,EAAE;IACX;IAEA,MAAM6B,KAAA,GAAQf,SAAA,CAAUgB,GAAG,CAAC9B,cAAA;IAC5B,IAAI,CAAC6B,KAAA,EAAO;MACV,OAAO,EAAE;IACX;IAEA,OAAOA,KAAA,CAAME,IAAI,CAACC,MAAM,CAAEC,GAAA;MACxB,MAAMC,WAAA,GAAcD,GAAG,CAAC7B,eAAA,CAAgB;MACxC,IAAIwB,QAAA,KAAa,MAAM;QACrB,OAAOM,WAAA,KAAgB,QAAQA,WAAA,KAAgB/C,SAAA;MACjD;MACA,OAAO+C,WAAA,KAAgB,QAAQC,MAAA,CAAOD,WAAA,MAAiBC,MAAA,CAAOP,QAAA;IAChE;EACF,GACA,CAAC5B,cAAA,EAAgBI,eAAA,EAAiBU,SAAA,CAAU;EAG9C,MAAMsB,OAAA,GAAUxD,WAAA,CAAayD,IAAA;IAC3B,MAAM;MACJzB,kBAAA,EAAoB0B,qBAAqB;MACzCxC,UAAA,EAAYyC,aAAa;MACzBvC,cAAA,EAAgBwC,IAAI;MACpBC,aAAA,EAAeC,gBAAgB;MAC/BxC,MAAA,EAAQyC,SAAS;MACjBvC,eAAA,EAAiBwC,kBAAkB;MACnCC,eAAA,EAAiBC,kBAAkB;MACnCC,QAAQ;MACRzC,SAAA,EAAW0C,YAAY;MACvBxC,aAAA,EAAeyC,gBAAgB;MAC/BvC,UAAA,EAAYwC;IAAa,CAC1B,GAAGb,IAAA;IAEJpC,iBAAA,CAAkBuC,IAAA;IAElB,IAAID,aAAA,KAAkBpD,SAAA,EAAW;MAC/BY,aAAA,CAAcwC,aAAA,IAAiB;IACjC;IAEA,IAAID,qBAAA,EAAuB;MACzBzB,qBAAA,CAAsByB,qBAAA;IACxB;IAEA,IAAIM,kBAAA,EAAoB;MACtBvC,kBAAA,CAAmBuC,kBAAA;IACrB;IAEA,IAAII,YAAA,KAAiB7D,SAAA,EAAW;MAC9BoB,YAAA,CAAayC,YAAA;IACf;IAEA,IAAIC,gBAAA,KAAqB9D,SAAA,EAAW;MAClCsB,gBAAA,CAAiBwC,gBAAA;IACnB;IAEA,IAAIN,SAAA,KAAcxD,SAAA,EAAW;MAC3BgB,SAAA,CAAUwC,SAAA;IACZ;IAEA,IAAIO,aAAA,KAAkB/D,SAAA,EAAW;MAC/BwB,aAAA,CAAcuC,aAAA;IAChB;IAEA,IAAIH,QAAA,EAAU;MACZhC,YAAA,CAAcoC,IAAA;QACZ,MAAMC,QAAA,GAAW,IAAIpC,GAAA,CAAImC,IAAA;QACzB,MAAME,aAAA,GAAgBD,QAAA,CAAStB,GAAG,CAACU,IAAA;QAEnC;QACA;QACA,IAAID,aAAA,KAAkBpD,SAAA,IAAa,CAACkE,aAAA,EAAe;UACjDD,QAAA,CAASE,GAAG,CAACd,IAAA,EAAM;YAAE,GAAGO,QAAQ;YAAEjD,UAAA,EAAYyC,aAAA,IAAiB;UAAK;QACtE,OAAO;UACL,MAAMgB,cAAA,GAAiB,IAAIC,GAAA,CAAIH,aAAA,CAActB,IAAI,CAAC0B,GAAG,CAAExB,KAAA,IAAQA,KAAA,CAAIyB,EAAE;UACrE,MAAMC,OAAA,GAAUZ,QAAA,CAAShB,IAAI,CAACC,MAAM,CAAEC,KAAA,IAAQ,CAACsB,cAAA,CAAeK,GAAG,CAAC3B,KAAA,CAAIyB,EAAE;UAExEN,QAAA,CAASE,GAAG,CAACd,IAAA,EAAM;YACjB1C,UAAA,EAAYuD,aAAA,CAAcvD,UAAU;YACpCiC,IAAA,EAAM,C,GAAIsB,aAAA,CAActB,IAAI,E,GAAK4B,OAAA,CAAQ;YACzCE,aAAA,EAAe;cACb,GAAGR,aAAA,CAAcQ,aAAa;cAC9B,GAAGd,QAAA,CAASc;YACd;UACF;QACF;QAEA,OAAOT,QAAA;MACT;IACF;IAEA,IAAIV,gBAAA,IAAoBA,gBAAA,CAAiBoB,MAAM,GAAG,GAAG;MACnD5C,4BAAA,CAA8BiC,MAAA;QAC5B,MAAMY,MAAA,GAAS,IAAI/C,GAAA,CAAImC,MAAA;QACvB,MAAMa,gBAAA,GAAmBD,MAAA,CAAOjC,GAAG,CAACU,IAAA,KAAS,IAAIgB,GAAA;QACjD,MAAMS,cAAA,GAAiB,IAAIT,GAAA,CAAI,C,GAAIQ,gBAAA,E,GAAqBtB,gBAAA,CAAiB;QACzEqB,MAAA,CAAOT,GAAG,CAACd,IAAA,EAAMyB,cAAA;QACjB,OAAOF,MAAA;MACT;IACF;IAEA,IAAIjB,kBAAA,EAAoB;MACtB1B,8BAAA,CAAgC+B,MAAA;QAC9B,MAAMY,QAAA,GAAS,IAAI/C,GAAA,CAAImC,MAAA;QACvBY,QAAA,CAAOT,GAAG,CAACd,IAAA,EAAMM,kBAAA;QACjB,OAAOiB,QAAA;MACT;IACF;EACF,GAAG,EAAE;EAEL,MAAMG,wBAAA,GAA2BpF,oBAAA,CAC/B,OAAO0D,MAAA,EAAcH,MAAA;IACnB,MAAM8B,aAAA,GAAgB,GAAG5F,eAAA,CAAgB6F,cAAc,IAAI5B,MAAA,EAAM;IACjE,MAAM6B,eAAA,GAAkBpD,yBAAA,CAA0Ba,GAAG,CAACU,MAAA,KAAS,IAAIgB,GAAA;IACnE,MAAMc,cAAA,GAAiBnD,2BAAA,CAA4BW,GAAG,CAACU,MAAA,KAAS,EAAE;IAElE,MAAMlD,aAAA,CAAc6E,aAAA,EAAe;MACjC1B,aAAA,EAAe8B,KAAA,CAAMC,IAAI,CAACnC,MAAA,CAAKoC,QAAQ,IAAIJ,eAAA;MAC3CxB,eAAA,EAAiBR,MAAA,CAAKqC,OAAO,IAAIJ;IACnC;EACF,GACA;EAGF,MAAMK,uBAAA,GAA0B/F,WAAA,CAC9B,CAAC4D,MAAA,EAAckB,EAAA;IACbxC,4BAAA,CAA8BiC,MAAA;MAC5B,MAAMY,QAAA,GAAS,IAAI/C,GAAA,CAAImC,MAAA;MACvB,MAAMkB,iBAAA,GAAkBN,QAAA,CAAOjC,GAAG,CAACU,MAAA,KAAS,IAAIgB,GAAA;MAChD,MAAMoB,WAAA,GAAc,IAAIpB,GAAA,CAAIa,iBAAA;MAE5B,IAAIO,WAAA,CAAYhB,GAAG,CAACF,EAAA,GAAK;QACvBkB,WAAA,CAAYC,MAAM,CAACnB,EAAA;MACrB,OAAO;QACLkB,WAAA,CAAYE,GAAG,CAACpB,EAAA;MAClB;MAEAK,QAAA,CAAOT,GAAG,CAACd,MAAA,EAAMoC,WAAA;MACjBV,wBAAA,CAAyB1B,MAAA,EAAM;QAAEiC,QAAA,EAAUG;MAAY;MACvD,OAAOb,QAAA;IACT;EACF,GACA,CAACG,wBAAA,CAAyB;EAG5B,MAAMa,UAAA,GAAanG,WAAA,CAChB8E,IAAA;IACC,IAAI,CAAC1D,cAAA,EAAgB;MACnB;IACF;IACA2E,uBAAA,CAAwB3E,cAAA,EAAgB0D,IAAA;EAC1C,GACA,CAAC1D,cAAA,EAAgB2E,uBAAA,CAAwB;EAG3C,MAAMK,6BAAA,GAAgCpG,WAAA,CACnC4D,MAAA;IACC,OAAOvB,yBAAA,CAA0Ba,GAAG,CAACU,MAAA,KAAS,IAAIgB,GAAA;EACpD,GACA,CAACvC,yBAAA,CAA0B;EAG7B,MAAMgE,wBAAA,GAA2BrG,WAAA,CAC9B4D,MAAA;IACC,OAAO1B,SAAA,CAAUgB,GAAG,CAACU,MAAA,KAAS;EAChC,GACA,CAAC1B,SAAA,CAAU;EAGb,MAAMoE,kBAAA,GAAqBtG,WAAA,CACxB8F,OAAA;IACC,IAAI,CAAC1E,cAAA,EAAgB;MACnB;IACF;IAEAoB,8BAAA,CAAgC+B,MAAA;MAC9B,MAAMY,QAAA,GAAS,IAAI/C,GAAA,CAAImC,MAAA;MACvBY,QAAA,CAAOT,GAAG,CAACtD,cAAA,EAAgB0E,OAAA;MAC3BR,wBAAA,CAAyBlE,cAAA,EAAgB;QAAE0E;MAAQ;MACnD,OAAOX,QAAA;IACT;EACF,GACA,CAAC/D,cAAA,EAAgBkE,wBAAA,CAAyB;EAG5C,MAAMiB,YAAA,GAAevG,WAAA,CAClB8E,IAAA;IACC,IAAI,CAAC1D,cAAA,EAAgB;MACnB;IACF;IAEA,MAAMoF,UAAA,GAAahF,eAAA,IAAmB;IACtC,MAAMiF,GAAA,GAAM/G,cAAA,CAAe;MACzBqB,UAAA;MACA2F,IAAA,EAAM,gBAAgBtF,cAAA,GAAiB0D,IAAA,KAAO,OAAO,IAAI0B,UAAA,IAAc1B,IAAA,EAAI,GAAG;IAChF;IACAnE,MAAA,CAAOgG,IAAI,CAACF,GAAA;IACZ9F,MAAA,CAAOiG,OAAO;EAChB,GACA,CAAC7F,UAAA,EAAYK,cAAA,EAAgBI,eAAA,EAAiBb,MAAA,CAAO;EAGvD,MAAMkG,gBAAA,GAAmB7G,WAAA,CACvB,MAAOgD,UAAA;IACL,IAAI,CAAC5B,cAAA,IAAkBqB,aAAA,EAAe;MACpC;IACF;IAEA,MAAMQ,OAAA,GAAQf,SAAA,CAAUgB,GAAG,CAAC9B,cAAA;IAC5B,IAAI,CAAC6B,OAAA,EAAO;MACV;IACF;IAEA,MAAM6D,SAAA,GAAY9D,UAAA,KAAa,OAAO,SAASO,MAAA,CAAOP,UAAA;IACtD,MAAM+D,UAAA,GAAa9D,OAAA,CAAMgC,aAAa,CAAC6B,SAAA,CAAU;IACjD,IAAI,CAACC,UAAA,IAAc,CAACA,UAAA,CAAWC,OAAO,EAAE;MACtC;IACF;IAEAtE,gBAAA,CAAiB;IACjBE,gBAAA,CAAiBI,UAAA;IAEjB,IAAI;MACF,MAAMiE,eAAA,GAAkBhE,OAAA,CAAME,IAAI,CAACC,MAAM,CAAEC,KAAA;QACzC,MAAMC,aAAA,GAAcD,KAAG,CAAC7B,eAAA,CAAgB;QACxC,IAAIwB,UAAA,KAAa,MAAM;UACrB,OAAOM,aAAA,KAAgB,QAAQA,aAAA,KAAgB/C,SAAA;QACjD;QACA,OAAO+C,aAAA,KAAgB,QAAQC,MAAA,CAAOD,aAAA,MAAiBC,MAAA,CAAOP,UAAA;MAChE;MAEA,MAAMkE,QAAA,GAAWC,IAAA,CAAKC,KAAK,CAACH,eAAA,CAAgB/B,MAAM,GAAGxD,SAAA,IAAa;MAElE,MAAM2F,KAAA,GACJrE,UAAA,KAAa,OACT;QACEsE,EAAA,EAAI,CACF;UAAE,CAAC9F,eAAA,GAAkB;YAAE+F,MAAA,EAAQ;UAAM;QAAE,GACvC;UAAE,CAAC/F,eAAA,GAAkB;YAAEgG,MAAA,EAAQ;UAAK;QAAE;MAE1C,IACA;QAAE,CAAChG,eAAA,GAAkB;UAAEgG,MAAA,EAAQxE;QAAS;MAAE;MAEhD,MAAMyE,WAAA,GAAc7H,EAAA,CAAG8H,SAAS,CAC9B;QAAEC,KAAA,EAAOjG,SAAA;QAAWkG,IAAA,EAAMV,QAAA;QAAUW,IAAA,EAAM/F,UAAA,IAAc;QAAMuF;MAAM,GACpE;QAAES,cAAA,EAAgB;MAAK;MAEzB,MAAMrB,KAAA,GAAM/G,cAAA,CAAe;QACzBqI,QAAA,EAAU/G,GAAA;QACV0F,IAAA,EAAM,IAAItF,cAAA,GAAiBqG,WAAA,EAAa;QACxCxG;MACF;MACA,MAAM+G,QAAA,GAAW,MAAMC,KAAA,CAAMxB,KAAA,EAAK;QAChCyB,WAAA,EAAa;MACf;MAEA,IAAI,CAACF,QAAA,CAASG,EAAE,EAAE;QAChB,MAAM,IAAIC,KAAA,CAAM;MAClB;MAEA,MAAM3E,MAAA,GAAO,MAAMuE,QAAA,CAASK,IAAI;MAChC,MAAMtD,SAAA,GAAUtB,MAAA,CAAKN,IAAI,IAAI,EAAE;MAE/BhB,YAAA,CAAcoC,MAAA;QACZ,MAAMC,UAAA,GAAW,IAAIpC,GAAA,CAAImC,MAAA;QACzB,MAAME,eAAA,GAAgBD,UAAA,CAAStB,GAAG,CAAC9B,cAAA;QAEnC,IAAIqD,eAAA,EAAe;UACjB,MAAME,gBAAA,GAAiB,IAAIC,GAAA,CAAIH,eAAA,CAActB,IAAI,CAAC0B,GAAG,CAAExB,KAAA,IAAQA,KAAA,CAAIyB,EAAE;UACrE,MAAMwD,aAAA,GAAgBvD,SAAA,CAAQ3B,MAAM,CAAEC,KAAA,IAAQ,CAACsB,gBAAA,CAAeK,GAAG,CAAC3B,KAAA,CAAIyB,EAAE;UAExEN,UAAA,CAASE,GAAG,CAACtD,cAAA,EAAgB;YAC3B+B,IAAA,EAAM,C,GAAIsB,eAAA,CAActB,IAAI,E,GAAKmF,aAAA,CAAc;YAC/CrD,aAAA,EAAe;cACb,GAAGR,eAAA,CAAcQ,aAAa;cAC9B,CAAC6B,SAAA,GAAY;gBACXE,OAAA,EAASvD,MAAA,CAAK8E,WAAW,IAAI;gBAC7BC,SAAA,EAAW/E,MAAA,CAAK+E,SAAS,IAAI;cAC/B;YACF;UACF;QACF;QAEA,OAAOhE,UAAA;MACT;IACF,EAAE,MAAM;MACN;IAAA,CACF,SAAU;MACR9B,gBAAA,CAAiB;MACjBE,gBAAA,CAAiB;IACnB;EACF,GACA,CACE5B,GAAA,EACAI,cAAA,EACAqB,aAAA,EACAjB,eAAA,EACAP,SAAA,EACAiB,SAAA,EACAR,SAAA,EACAI,UAAA,CACD;EAGH,MAAM2G,KAAA,GAAQzI,WAAA,CAAY;IACxBmB,aAAA,CAAc;IACdE,iBAAA,CAAkB;IAClBE,SAAA,CAAU;IACVE,kBAAA,CAAmB;IACnBE,YAAA,CAAalC,4BAAA;IACboC,gBAAA,CAAiB;IACjBE,aAAA,CAAc;IACdI,YAAA,CAAa,IAAIC,GAAA;IACjBE,4BAAA,CAA6B,IAAIF,GAAA;IACjCI,8BAAA,CAA+B,IAAIJ,GAAA;IACnCM,gBAAA,CAAiB;IACjBE,gBAAA,CAAiB;EACnB,GAAG,EAAE;EAEL,MAAM8F,WAAA,GAAc1I,WAAA,CAAa4D,MAAA;IAC/BzB,YAAA,CAAcoC,MAAA;MACZ,MAAMoE,IAAA,GAAO,IAAIvG,GAAA,CAAImC,MAAA;MACrBoE,IAAA,CAAK1C,MAAM,CAACrC,MAAA;MACZ,OAAO+E,IAAA;IACT;IACA7F,kBAAA,CAAoByB,MAAA;MAClB,MAAMoE,MAAA,GAAO,IAAIvG,GAAA,CAAImC,MAAA;MACrBoE,MAAA,CAAKjE,GAAG,CAACd,MAAA,EAAM,CAAC+E,MAAA,CAAKzF,GAAG,CAACU,MAAA,KAAS,KAAK;MACvC,OAAO+E,MAAA;IACT;EACF,GAAG,EAAE;EAEL,MAAM9E,aAAA,GACJzC,cAAA,IAAkBiB,yBAAA,CAA0B2C,GAAG,CAAC5D,cAAA,IAC5CiB,yBAAA,CAA0Ba,GAAG,CAAC9B,cAAA,IAC9B,IAAIwD,GAAA;EAEV,MAAMX,eAAA,GACJ7C,cAAA,IAAkBmB,2BAAA,CAA4ByC,GAAG,CAAC5D,cAAA,IAC9CmB,2BAAA,CAA4BW,GAAG,CAAC9B,cAAA,IAChC,EAAE;EAER,MAAMwH,KAAA,GAA+B;IACnC5G,kBAAA;IACAd,UAAA;IACAE,cAAA;IACAyC,aAAA;IACAuC,6BAAA;IACArD,eAAA;IACAsD,wBAAA;IACA7C,OAAA;IACAf,aAAA;IACAE,aAAA;IACAkE,gBAAA;IACAvF,MAAA;IACAE,eAAA;IACAkH,WAAA;IACAD,KAAA;IACAxE,eAAA;IACAsC,YAAA;IACAD,kBAAA;IACAH,UAAA;IACAJ,uBAAA;IACArE,SAAA;IACAmB,eAAA;IACAjB,aAAA;IACAE;EACF;EAEA,oBAAO+G,IAAA,CAACvI,gBAAA;IAAiBsI,KAAA,EAAOA,KAAA;cAAQnI;;AAC1C;AAEA,OAAO,MAAMqI,YAAA,GAAeA,CAAA;EAC1B,MAAMC,OAAA,GAAUhJ,GAAA,CAAIO,gBAAA;EACpB,IAAI,CAACyI,OAAA,EAAS;IACZ,MAAM,IAAIX,KAAA,CAAM;EAClB;EACA,OAAOW,OAAA;AACT","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_HIERARCHY_TREE_LIMIT","formatAdminURL","PREFERENCE_KEYS","qs","React","createContext","use","useCallback","useState","useDebouncedCallback","useConfig","usePreferences","useRouter","HierarchyContext","undefined","HierarchyProvider","children","setPreference","router","config","routes","admin","adminRoute","api","serverURL","baseFilter","setBaseFilter","collectionSlug","setCollectionSlug","parent","setParent","parentFieldName","setParentFieldName","treeLimit","setTreeLimit","typeFieldName","setTypeFieldName","useAsTitle","setUseAsTitle","allowedCollections","setAllowedCollections","treeCache","setTreeCache","Map","expandedNodesByCollection","setExpandedNodesByCollection","selectedFiltersByCollection","setSelectedFiltersByCollection","isLoadingMore","setIsLoadingMore","loadingNodeId","setLoadingNodeId","treeRefreshKeys","setTreeRefreshKeys","getNodeChildren","parentId","cache","get","docs","filter","doc","docParentId","String","hydrate","data","newAllowedCollections","newBaseFilter","slug","expandedNodes","newExpandedNodes","newParent","newParentFieldName","selectedFilters","newSelectedFilters","treeData","newTreeLimit","newTypeFieldName","newUseAsTitle","prev","newCache","existingEntry","set","existingDocIds","Set","map","id","newDocs","has","mergedLoadedParents","loadedParents","parentKey","meta","Object","entries","existingMeta","loadedCount","Math","max","totalDocs","hasMore","length","newMap","existingExpanded","mergedExpanded","savePreferencesDebounced","preferenceKey","HIERARCHY_TREE","currentExpanded","currentFilters","Array","from","expanded","filters","toggleNodeForCollection","newExpanded","delete","add","collapseAllForCollection","toggleNode","getExpandedNodesForCollection","getTreeDataForCollection","setSelectedFilters","selectParent","queryParam","url","path","push","refresh","loadMoreChildren","parentMeta","currentChildren","nextPage","floor","where","or","exists","equals","queryString","stringify","limit","page","sort","addQueryPrefix","apiRoute","response","fetch","credentials","ok","Error","json","uniqueNewDocs","hasNextPage","reset","refreshTree","next","value","_jsx","useHierarchy","context"],"sources":["../../../src/providers/Hierarchy/index.tsx"],"sourcesContent":["'use client'\n\nimport type { TypeWithID, Where } from 'payload'\n\nimport { DEFAULT_HIERARCHY_TREE_LIMIT, formatAdminURL, PREFERENCE_KEYS } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useState } from 'react'\n\nimport type {\n AllowedCollection,\n HierarchyContextValue,\n HierarchyDocument,\n HierarchyHydrateData,\n HierarchyProviderProps,\n HierarchyTreeCacheEntry,\n} from './types.js'\n\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useRouter } from '../RouterAdapter/index.js'\n\nconst HierarchyContext = createContext<HierarchyContextValue | undefined>(undefined)\n\nexport const HierarchyProvider: React.FC<HierarchyProviderProps> = ({ children }) => {\n const { setPreference } = usePreferences()\n const router = useRouter()\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n } = useConfig()\n\n const [baseFilter, setBaseFilter] = useState<null | Where>(null)\n const [collectionSlug, setCollectionSlug] = useState<null | string>(null)\n const [parent, setParent] = useState<null | (Record<string, unknown> & TypeWithID)>(null)\n const [parentFieldName, setParentFieldName] = useState<string>('')\n const [treeLimit, setTreeLimit] = useState<number>(DEFAULT_HIERARCHY_TREE_LIMIT)\n const [typeFieldName, setTypeFieldName] = useState<null | string>(null)\n const [useAsTitle, setUseAsTitle] = useState<null | string>(null)\n const [allowedCollections, setAllowedCollections] = useState<AllowedCollection[] | null>(null)\n\n const [treeCache, setTreeCache] = useState<Map<string, HierarchyTreeCacheEntry>>(() => new Map())\n const [expandedNodesByCollection, setExpandedNodesByCollection] = useState<\n Map<string, Set<number | string>>\n >(() => new Map())\n const [selectedFiltersByCollection, setSelectedFiltersByCollection] = useState<\n Map<string, string[]>\n >(() => new Map())\n const [isLoadingMore, setIsLoadingMore] = useState<boolean>(false)\n const [loadingNodeId, setLoadingNodeId] = useState<null | number | string>(null)\n const [treeRefreshKeys, setTreeRefreshKeys] = useState<Map<string, number>>(() => new Map())\n\n const getNodeChildren = useCallback(\n (parentId: null | number | string): HierarchyDocument[] => {\n if (!collectionSlug) {\n return []\n }\n\n const cache = treeCache.get(collectionSlug)\n if (!cache) {\n return []\n }\n\n return cache.docs.filter((doc) => {\n const docParentId = doc[parentFieldName]\n if (parentId === null) {\n return docParentId === null || docParentId === undefined\n }\n return docParentId !== null && String(docParentId) === String(parentId)\n })\n },\n [collectionSlug, parentFieldName, treeCache],\n )\n\n const hydrate = useCallback((data: HierarchyHydrateData) => {\n const {\n allowedCollections: newAllowedCollections,\n baseFilter: newBaseFilter,\n collectionSlug: slug,\n expandedNodes: newExpandedNodes,\n parent: newParent,\n parentFieldName: newParentFieldName,\n selectedFilters: newSelectedFilters,\n treeData,\n treeLimit: newTreeLimit,\n typeFieldName: newTypeFieldName,\n useAsTitle: newUseAsTitle,\n } = data\n\n setCollectionSlug(slug)\n\n if (newBaseFilter !== undefined) {\n setBaseFilter(newBaseFilter ?? null)\n }\n\n if (newAllowedCollections) {\n setAllowedCollections(newAllowedCollections)\n }\n\n if (newParentFieldName) {\n setParentFieldName(newParentFieldName)\n }\n\n if (newTreeLimit !== undefined) {\n setTreeLimit(newTreeLimit)\n }\n\n if (newTypeFieldName !== undefined) {\n setTypeFieldName(newTypeFieldName)\n }\n\n if (newParent !== undefined) {\n setParent(newParent)\n }\n\n if (newUseAsTitle !== undefined) {\n setUseAsTitle(newUseAsTitle)\n }\n\n if (treeData) {\n setTreeCache((prev) => {\n const newCache = new Map(prev)\n const existingEntry = newCache.get(slug)\n\n // If baseFilter is provided, replace cache entirely (tenant changed)\n // Otherwise merge to support incremental loading\n if (newBaseFilter !== undefined || !existingEntry) {\n newCache.set(slug, { ...treeData, baseFilter: newBaseFilter ?? null })\n } else {\n const existingDocIds = new Set(existingEntry.docs.map((doc) => doc.id))\n const newDocs = treeData.docs.filter((doc) => !existingDocIds.has(doc.id))\n\n // Reconcile loadedCount/totalDocs against the deduped merge rather than\n // blindly overwriting: a shallower fetch (e.g. fewer pages walked) must not\n // regress loadedCount below what's already accumulated in docs, or downstream\n // page-number math in Tree will refetch and duplicate an already-shown page.\n const mergedLoadedParents = { ...existingEntry.loadedParents }\n for (const [parentKey, meta] of Object.entries(treeData.loadedParents)) {\n const existingMeta = existingEntry.loadedParents[parentKey]\n const loadedCount = Math.max(existingMeta?.loadedCount ?? 0, meta.loadedCount ?? 0)\n const totalDocs = Math.max(existingMeta?.totalDocs ?? 0, meta.totalDocs ?? 0)\n mergedLoadedParents[parentKey] = {\n hasMore: loadedCount < totalDocs,\n loadedCount,\n totalDocs,\n }\n }\n\n newCache.set(slug, {\n baseFilter: existingEntry.baseFilter,\n docs: [...existingEntry.docs, ...newDocs],\n loadedParents: mergedLoadedParents,\n })\n }\n\n return newCache\n })\n }\n\n if (newExpandedNodes && newExpandedNodes.length > 0) {\n setExpandedNodesByCollection((prev) => {\n const newMap = new Map(prev)\n const existingExpanded = newMap.get(slug) || new Set()\n const mergedExpanded = new Set([...existingExpanded, ...newExpandedNodes])\n newMap.set(slug, mergedExpanded)\n return newMap\n })\n }\n\n if (newSelectedFilters) {\n setSelectedFiltersByCollection((prev) => {\n const newMap = new Map(prev)\n newMap.set(slug, newSelectedFilters)\n return newMap\n })\n }\n }, [])\n\n const savePreferencesDebounced = useDebouncedCallback(\n async (slug: string, data: { expanded?: Set<number | string>; filters?: string[] }) => {\n const preferenceKey = `${PREFERENCE_KEYS.HIERARCHY_TREE}-${slug}`\n const currentExpanded = expandedNodesByCollection.get(slug) || new Set()\n const currentFilters = selectedFiltersByCollection.get(slug) || []\n\n await setPreference(preferenceKey, {\n expandedNodes: Array.from(data.expanded ?? currentExpanded),\n selectedFilters: data.filters ?? currentFilters,\n })\n },\n 500,\n )\n\n const toggleNodeForCollection = useCallback(\n (slug: string, id: number | string) => {\n setExpandedNodesByCollection((prev) => {\n const newMap = new Map(prev)\n const currentExpanded = newMap.get(slug) || new Set()\n const newExpanded = new Set(currentExpanded)\n\n if (newExpanded.has(id)) {\n newExpanded.delete(id)\n } else {\n newExpanded.add(id)\n }\n\n newMap.set(slug, newExpanded)\n savePreferencesDebounced(slug, { expanded: newExpanded })\n return newMap\n })\n },\n [savePreferencesDebounced],\n )\n\n const collapseAllForCollection = useCallback(\n (slug: string) => {\n setExpandedNodesByCollection((prev) => {\n // Always produce a new Map, even when the collection's set is already empty. The tree\n // may still be rendering server-provided nodes that only this state change can clear.\n const newMap = new Map(prev)\n const newExpanded = new Set<number | string>()\n\n newMap.set(slug, newExpanded)\n savePreferencesDebounced(slug, { expanded: newExpanded })\n return newMap\n })\n },\n [savePreferencesDebounced],\n )\n\n const toggleNode = useCallback(\n (id: number | string) => {\n if (!collectionSlug) {\n return\n }\n toggleNodeForCollection(collectionSlug, id)\n },\n [collectionSlug, toggleNodeForCollection],\n )\n\n const getExpandedNodesForCollection = useCallback(\n (slug: string): Set<number | string> => {\n return expandedNodesByCollection.get(slug) || new Set()\n },\n [expandedNodesByCollection],\n )\n\n const getTreeDataForCollection = useCallback(\n (slug: string) => {\n return treeCache.get(slug) || null\n },\n [treeCache],\n )\n\n const setSelectedFilters = useCallback(\n (filters: string[]) => {\n if (!collectionSlug) {\n return\n }\n\n setSelectedFiltersByCollection((prev) => {\n const newMap = new Map(prev)\n newMap.set(collectionSlug, filters)\n savePreferencesDebounced(collectionSlug, { filters })\n return newMap\n })\n },\n [collectionSlug, savePreferencesDebounced],\n )\n\n const selectParent = useCallback(\n (id: null | number | string) => {\n if (!collectionSlug) {\n return\n }\n\n const queryParam = parentFieldName || 'parent'\n const url = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}${id !== null ? `?${queryParam}=${id}` : ''}`,\n })\n router.push(url)\n router.refresh()\n },\n [adminRoute, collectionSlug, parentFieldName, router],\n )\n\n const loadMoreChildren = useCallback(\n async (parentId: null | number | string): Promise<void> => {\n if (!collectionSlug || isLoadingMore) {\n return\n }\n\n const cache = treeCache.get(collectionSlug)\n if (!cache) {\n return\n }\n\n const parentKey = parentId === null ? 'root' : String(parentId)\n const parentMeta = cache.loadedParents[parentKey]\n if (!parentMeta || !parentMeta.hasMore) {\n return\n }\n\n setIsLoadingMore(true)\n setLoadingNodeId(parentId)\n\n try {\n const currentChildren = cache.docs.filter((doc) => {\n const docParentId = doc[parentFieldName]\n if (parentId === null) {\n return docParentId === null || docParentId === undefined\n }\n return docParentId !== null && String(docParentId) === String(parentId)\n })\n\n const nextPage = Math.floor(currentChildren.length / treeLimit) + 1\n\n const where =\n parentId === null\n ? {\n or: [\n { [parentFieldName]: { exists: false } },\n { [parentFieldName]: { equals: null } },\n ],\n }\n : { [parentFieldName]: { equals: parentId } }\n\n const queryString = qs.stringify(\n { limit: treeLimit, page: nextPage, sort: useAsTitle ?? 'id', where },\n { addQueryPrefix: true },\n )\n const url = formatAdminURL({\n apiRoute: api,\n path: `/${collectionSlug}${queryString}`,\n serverURL,\n })\n const response = await fetch(url, {\n credentials: 'include',\n })\n\n if (!response.ok) {\n throw new Error('Failed to fetch more children')\n }\n\n const data = await response.json()\n const newDocs = data.docs || []\n\n setTreeCache((prev) => {\n const newCache = new Map(prev)\n const existingEntry = newCache.get(collectionSlug)\n\n if (existingEntry) {\n const existingDocIds = new Set(existingEntry.docs.map((doc) => doc.id))\n const uniqueNewDocs = newDocs.filter((doc) => !existingDocIds.has(doc.id))\n\n newCache.set(collectionSlug, {\n docs: [...existingEntry.docs, ...uniqueNewDocs],\n loadedParents: {\n ...existingEntry.loadedParents,\n [parentKey]: {\n hasMore: data.hasNextPage || false,\n loadedCount: currentChildren.length + uniqueNewDocs.length,\n totalDocs: data.totalDocs || 0,\n },\n },\n })\n }\n\n return newCache\n })\n } catch {\n // Failed to load more children - silently fail\n } finally {\n setIsLoadingMore(false)\n setLoadingNodeId(null)\n }\n },\n [\n api,\n collectionSlug,\n isLoadingMore,\n parentFieldName,\n serverURL,\n treeCache,\n treeLimit,\n useAsTitle,\n ],\n )\n\n const reset = useCallback(() => {\n setBaseFilter(null)\n setCollectionSlug(null)\n setParent(null)\n setParentFieldName('')\n setTreeLimit(DEFAULT_HIERARCHY_TREE_LIMIT)\n setTypeFieldName(null)\n setUseAsTitle(null)\n setTreeCache(new Map())\n setExpandedNodesByCollection(new Map())\n setSelectedFiltersByCollection(new Map())\n setIsLoadingMore(false)\n setLoadingNodeId(null)\n }, [])\n\n const refreshTree = useCallback((slug: string) => {\n setTreeCache((prev) => {\n const next = new Map(prev)\n next.delete(slug)\n return next\n })\n setTreeRefreshKeys((prev) => {\n const next = new Map(prev)\n next.set(slug, (next.get(slug) ?? 0) + 1)\n return next\n })\n }, [])\n\n const expandedNodes =\n collectionSlug && expandedNodesByCollection.has(collectionSlug)\n ? expandedNodesByCollection.get(collectionSlug)\n : new Set<number | string>()\n\n const selectedFilters =\n collectionSlug && selectedFiltersByCollection.has(collectionSlug)\n ? selectedFiltersByCollection.get(collectionSlug)\n : []\n\n const value: HierarchyContextValue = {\n allowedCollections,\n baseFilter,\n collapseAllForCollection,\n collectionSlug,\n expandedNodes,\n getExpandedNodesForCollection,\n getNodeChildren,\n getTreeDataForCollection,\n hydrate,\n isLoadingMore,\n loadingNodeId,\n loadMoreChildren,\n parent,\n parentFieldName,\n refreshTree,\n reset,\n selectedFilters,\n selectParent,\n setSelectedFilters,\n toggleNode,\n toggleNodeForCollection,\n treeLimit,\n treeRefreshKeys,\n typeFieldName,\n useAsTitle,\n }\n\n return <HierarchyContext value={value}>{children}</HierarchyContext>\n}\n\nexport const useHierarchy = (): HierarchyContextValue => {\n const context = use(HierarchyContext)\n if (!context) {\n throw new Error('useHierarchy must be used within HierarchyProvider')\n }\n return context\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,6 +45,8 @@ export type HierarchyHydrateData = {
|
|
|
45
45
|
export type HierarchyContextValue = {
|
|
46
46
|
allowedCollections: AllowedCollection[] | null;
|
|
47
47
|
baseFilter: null | Where;
|
|
48
|
+
/** Collapse every expanded node for a specific collection (persists to preferences) */
|
|
49
|
+
collapseAllForCollection: (collectionSlug: string) => void;
|
|
48
50
|
collectionSlug: null | string;
|
|
49
51
|
expandedNodes: Set<number | string>;
|
|
50
52
|
/** Get expanded nodes for a specific collection (use this in tabs to avoid cross-tab state conflicts) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/Hierarchy/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/Hierarchy/types.ts"],"sourcesContent":["import type { PaginatedDocs, TypeWithID, Where } from 'payload'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n _hasChildren?: boolean\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeCacheEntry = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type AllowedCollection = { label: string; slug: string }\n\nexport type HierarchyHydrateData = {\n allowedCollections?: AllowedCollection[] | null\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes?: (number | string)[]\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent?: null | (Record<string, unknown> & TypeWithID)\n parentFieldName?: string\n /** Initial selected filters from preferences */\n selectedFilters?: string[]\n tableData?: PaginatedDocs\n treeData?: HierarchyInitialData\n treeLimit?: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName?: string\n useAsTitle?: string\n}\n\nexport type HierarchyContextValue = {\n allowedCollections: AllowedCollection[] | null\n baseFilter: null | Where\n collectionSlug: null | string\n expandedNodes: Set<number | string>\n /** Get expanded nodes for a specific collection (use this in tabs to avoid cross-tab state conflicts) */\n getExpandedNodesForCollection: (collectionSlug: string) => Set<number | string>\n getNodeChildren: (parentId: null | number | string) => HierarchyDocument[]\n /** Get tree data for a specific collection (returns null if not hydrated or cleared by refresh) */\n getTreeDataForCollection: (collectionSlug: string) => HierarchyInitialData | null\n hydrate: (data: HierarchyHydrateData) => void\n isLoadingMore: boolean\n loadingNodeId: null | number | string\n loadMoreChildren: (parentId: null | number | string) => Promise<void>\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent: null | (Record<string, unknown> & TypeWithID)\n parentFieldName: string\n /** Refresh the tree for a specific collection by clearing its cache and incrementing its key */\n refreshTree: (collectionSlug: string) => void\n reset: () => void\n /** Selected collection type filters for the sidebar tree */\n selectedFilters: string[]\n selectParent: (id: null | number | string) => void\n /** Update selected filters (persists to preferences) */\n setSelectedFilters: (filters: string[]) => void\n toggleNode: (id: number | string) => void\n /** Toggle node expansion for a specific collection (use this in tabs to avoid cross-tab state conflicts) */\n toggleNodeForCollection: (collectionSlug: string, id: number | string) => void\n treeLimit: number\n /** Per-collection keys that change when refreshTree(slug) is called */\n treeRefreshKeys: Map<string, number>\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName: null | string\n useAsTitle: null | string\n}\n\nexport type HierarchyProviderProps = {\n children: React.ReactNode\n}\n\nexport type HydrateHierarchyProviderProps = {\n allowedCollections?: AllowedCollection[] | null\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes?: (number | string)[]\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent?: null | (Record<string, unknown> & TypeWithID)\n parentFieldName?: string\n /** Initial selected filters from preferences */\n selectedFilters?: string[]\n tableData?: PaginatedDocs\n treeData?: HierarchyInitialData\n treeLimit?: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName?: string\n useAsTitle?: string\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/Hierarchy/types.ts"],"sourcesContent":["import type { PaginatedDocs, TypeWithID, Where } from 'payload'\n\nexport type HierarchyDocument = {\n [key: string]: unknown\n _hasChildren?: boolean\n} & TypeWithID\n\nexport type HierarchyInitialData = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type HierarchyTreeCacheEntry = {\n baseFilter?: null | Where\n docs: HierarchyDocument[]\n loadedParents: Record<string, { hasMore: boolean; loadedCount?: number; totalDocs: number }>\n}\n\nexport type AllowedCollection = { label: string; slug: string }\n\nexport type HierarchyHydrateData = {\n allowedCollections?: AllowedCollection[] | null\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes?: (number | string)[]\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent?: null | (Record<string, unknown> & TypeWithID)\n parentFieldName?: string\n /** Initial selected filters from preferences */\n selectedFilters?: string[]\n tableData?: PaginatedDocs\n treeData?: HierarchyInitialData\n treeLimit?: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName?: string\n useAsTitle?: string\n}\n\nexport type HierarchyContextValue = {\n allowedCollections: AllowedCollection[] | null\n baseFilter: null | Where\n /** Collapse every expanded node for a specific collection (persists to preferences) */\n collapseAllForCollection: (collectionSlug: string) => void\n collectionSlug: null | string\n expandedNodes: Set<number | string>\n /** Get expanded nodes for a specific collection (use this in tabs to avoid cross-tab state conflicts) */\n getExpandedNodesForCollection: (collectionSlug: string) => Set<number | string>\n getNodeChildren: (parentId: null | number | string) => HierarchyDocument[]\n /** Get tree data for a specific collection (returns null if not hydrated or cleared by refresh) */\n getTreeDataForCollection: (collectionSlug: string) => HierarchyInitialData | null\n hydrate: (data: HierarchyHydrateData) => void\n isLoadingMore: boolean\n loadingNodeId: null | number | string\n loadMoreChildren: (parentId: null | number | string) => Promise<void>\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent: null | (Record<string, unknown> & TypeWithID)\n parentFieldName: string\n /** Refresh the tree for a specific collection by clearing its cache and incrementing its key */\n refreshTree: (collectionSlug: string) => void\n reset: () => void\n /** Selected collection type filters for the sidebar tree */\n selectedFilters: string[]\n selectParent: (id: null | number | string) => void\n /** Update selected filters (persists to preferences) */\n setSelectedFilters: (filters: string[]) => void\n toggleNode: (id: number | string) => void\n /** Toggle node expansion for a specific collection (use this in tabs to avoid cross-tab state conflicts) */\n toggleNodeForCollection: (collectionSlug: string, id: number | string) => void\n treeLimit: number\n /** Per-collection keys that change when refreshTree(slug) is called */\n treeRefreshKeys: Map<string, number>\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName: null | string\n useAsTitle: null | string\n}\n\nexport type HierarchyProviderProps = {\n children: React.ReactNode\n}\n\nexport type HydrateHierarchyProviderProps = {\n allowedCollections?: AllowedCollection[] | null\n baseFilter?: null | Where\n collectionSlug: string\n expandedNodes?: (number | string)[]\n /** The full data of the current parent (for accessing id, collectionSpecific values, etc.) */\n parent?: null | (Record<string, unknown> & TypeWithID)\n parentFieldName?: string\n /** Initial selected filters from preferences */\n selectedFilters?: string[]\n tableData?: PaginatedDocs\n treeData?: HierarchyInitialData\n treeLimit?: number\n /** Field name for collection-specific restrictions (e.g., 'hierarchyType') */\n typeFieldName?: string\n useAsTitle?: string\n}\n"],"mappings":"AAiFA","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@layer payload-default {
|
|
2
|
+
/*
|
|
3
|
+
* The stack is sized to a single 40px tile; the staggered tiles behind it are out of flow, so they
|
|
4
|
+
* spill past this box without shifting the lead tile away from the cursor.
|
|
5
|
+
*/
|
|
6
|
+
.hierarchy-dnd__preview {
|
|
7
|
+
position: relative;
|
|
8
|
+
width: var(--spacer-6);
|
|
9
|
+
height: var(--spacer-6);
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
* Tiles fan down-and-right, first tile on top. Physical translate offsets are deliberate: the stack
|
|
15
|
+
* trails the pointer, which is not a document-flow direction.
|
|
16
|
+
*/
|
|
17
|
+
.hierarchy-dnd__preview-card {
|
|
18
|
+
position: absolute;
|
|
19
|
+
inset-block-start: 0;
|
|
20
|
+
inset-inline-start: 0;
|
|
21
|
+
border-radius: var(--radius-medium);
|
|
22
|
+
box-shadow:
|
|
23
|
+
0 0 0 var(--stroke-width-small) var(--color-border), var(--elevation-400-menu-panel);
|
|
24
|
+
/* Later tiles sit further back, so the lead tile is the one under the cursor. */
|
|
25
|
+
z-index: calc(3 - var(--preview-index));
|
|
26
|
+
transform: translate(
|
|
27
|
+
calc(var(--preview-index) * var(--spacer-1-5)),
|
|
28
|
+
calc(var(--preview-index) * var(--spacer-1-5))
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/*
|
|
33
|
+
* Total count, not the overflow: three tiles look the same whether five or fifty are moving, so the
|
|
34
|
+
* pill has to carry the whole number.
|
|
35
|
+
*/
|
|
36
|
+
.hierarchy-dnd__preview-count {
|
|
37
|
+
position: absolute;
|
|
38
|
+
z-index: 4;
|
|
39
|
+
inset-block-start: calc(var(--spacer-1-5) * -1);
|
|
40
|
+
inset-inline-end: calc(var(--spacer-1-5) * -1);
|
|
41
|
+
min-width: var(--spacer-4);
|
|
42
|
+
padding-block: var(--spacer-0);
|
|
43
|
+
padding-inline: var(--spacer-1);
|
|
44
|
+
border-radius: var(--radius-full);
|
|
45
|
+
background: var(--color-border-selected);
|
|
46
|
+
color: var(--color-text-onbrand);
|
|
47
|
+
font-size: var(--text-body-small-font-size);
|
|
48
|
+
line-height: var(--spacer-4);
|
|
49
|
+
text-align: center;
|
|
50
|
+
}
|
|
51
|
+
}
|