@payloadcms/ui 4.0.0-beta.3 → 4.0.0-beta.5
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 +2 -2
- package/dist/css/colors.css +65 -0
- package/dist/elements/APIKeyInput/index.js +22 -23
- package/dist/elements/APIKeyInput/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +17 -19
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +39 -30
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +234 -142
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +29 -21
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +63 -23
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/BulkUpload/useUploadCollectionOptions.js.map +1 -1
- package/dist/elements/Button/index.css +3 -3
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +2 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.d.ts +1 -0
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CardGrid/index.css +0 -1
- package/dist/elements/Chip/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +213 -88
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +95 -56
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CollapseAllToggle/index.js +47 -32
- package/dist/elements/CollapseAllToggle/index.js.map +1 -1
- package/dist/elements/Collapsible/index.css +15 -4
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +46 -38
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +37 -14
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.css +4 -0
- package/dist/elements/ColumnSelection/Popup.js +10 -2
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/ColumnSelection/index.js.map +1 -1
- package/dist/elements/CommandPalette/index.css +8 -0
- package/dist/elements/ConfirmationModal/index.d.ts +3 -0
- package/dist/elements/ConfirmationModal/index.d.ts.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +2 -0
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +45 -43
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/index.css +5 -0
- package/dist/elements/DatePicker/useDatePickerKeyboard.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.css +4 -0
- package/dist/elements/DefaultListViewTabs/index.js +47 -37
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DelayedSpinner/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +1 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/Dialog/DialogCancel/index.js.map +1 -1
- package/dist/elements/Dialog/DialogConfirm/index.js.map +1 -1
- package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/DocumentCard/index.d.ts +2 -0
- package/dist/elements/DocumentCard/index.d.ts.map +1 -1
- package/dist/elements/DocumentCard/index.js +2 -0
- package/dist/elements/DocumentCard/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +125 -64
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +80 -34
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.css +4 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js +1 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentStaleData/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js +2 -0
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +10 -7
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +2 -0
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +104 -170
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.d.ts +1 -0
- package/dist/elements/DraggableSortable/types.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts +14 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.d.ts.map +1 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js +99 -0
- package/dist/elements/DraggableSortable/useRowAccessibility.js.map +1 -0
- package/dist/elements/Drawer/index.js +138 -81
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +177 -62
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +1 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +7 -1
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.d.ts +1 -0
- package/dist/elements/FieldDiffLabel/index.d.ts.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +2 -0
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +23 -14
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -1
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +21 -21
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupBy/Popup.js.map +1 -1
- package/dist/elements/GroupBy/index.js +120 -66
- package/dist/elements/GroupBy/index.js.map +1 -1
- package/dist/elements/HTMLDiff/colors.css +7 -0
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +51 -42
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/EditButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/HydrateProvider/index.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js +25 -18
- package/dist/elements/Hierarchy/Search/HierarchySearchResultItem.js.map +1 -1
- package/dist/elements/Hierarchy/Search/HierarchySearchResults.js.map +1 -1
- package/dist/elements/Hierarchy/Search/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +10 -5
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -1
- package/dist/elements/HierarchyTypeField/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/HydratePreferences/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/InputStepper/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +186 -105
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LLMInstructionsDescription/index.js.map +1 -1
- package/dist/elements/LLMInstructionsMenuItem/index.js.map +1 -1
- package/dist/elements/LayoutToggle/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +1 -1
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListColumnSelectionButton/index.js.map +1 -1
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts +3 -2
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListGroupByButton/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerConfirmSelectionButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +11 -12
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListWhereBuilder/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +6 -1
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/LoadMoreRow/index.js.map +1 -1
- package/dist/elements/Loading/index.js +62 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +93 -49
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +133 -108
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +54 -37
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.js +102 -38
- package/dist/elements/MiniCarousel/index.js.map +1 -1
- package/dist/elements/Modal/index.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +13 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +13 -14
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/TabError/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 +31 -20
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.css +5 -0
- package/dist/elements/NavGroup/index.css +27 -3
- package/dist/elements/NavGroup/index.js +31 -38
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.css +1 -0
- package/dist/elements/NoListResults/index.js +1 -1
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +10 -11
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +36 -37
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Popup/SubmenuScope.d.ts +3 -5
- package/dist/elements/Popup/SubmenuScope.d.ts.map +1 -1
- package/dist/elements/Popup/SubmenuScope.js +10 -54
- package/dist/elements/Popup/SubmenuScope.js.map +1 -1
- package/dist/elements/Popup/index.css +15 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +88 -33
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/Popup/useSubmenuPointerIntent.d.ts +16 -4
- package/dist/elements/Popup/useSubmenuPointerIntent.d.ts.map +1 -1
- package/dist/elements/Popup/useSubmenuPointerIntent.js +68 -27
- package/dist/elements/Popup/useSubmenuPointerIntent.js.map +1 -1
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +141 -70
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +16 -8
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +1 -0
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +1 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +32 -24
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +194 -100
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +78 -29
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +19 -9
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +38 -29
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.css +4 -0
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +1 -1
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +1 -1
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +111 -39
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SegmentedControl/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +31 -21
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.js.map +1 -1
- package/dist/elements/SkipToContent/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Spinner/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/Switch/index.css +2 -2
- package/dist/elements/Switch/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +28 -9
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +80 -27
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +9 -10
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +21 -32
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Status/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/GridNavigation/useGridNavigation.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/TableIdentity.js +32 -16
- package/dist/elements/Table/TableIdentity.js.map +1 -1
- package/dist/elements/Table/useAriaSort.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +133 -53
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +113 -54
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +1 -1
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +32 -24
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -1
- package/dist/elements/Upload/useUploadFromUrl.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +2 -1
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +1 -0
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/exports/client/{CodeEditor-I6PL55BF.js → CodeEditor-23ZGBN6S.js} +2 -2
- package/dist/exports/client/{DatePicker-RFCB5VGD.js → DatePicker-AZBZPMY6.js} +2 -2
- package/dist/exports/client/chunk-EXVR6BZK.js +27 -0
- package/dist/exports/client/chunk-EXVR6BZK.js.map +7 -0
- package/dist/exports/client/{chunk-AVJIZPR3.js → chunk-SMBFG6XU.js} +1 -1
- package/dist/exports/client/{chunk-AVJIZPR3.js.map → chunk-SMBFG6XU.js.map} +1 -1
- package/dist/exports/client/{chunk-O2RR6XEH.js → chunk-ZP2PB6M4.js} +2 -2
- package/dist/exports/client/{chunk-O2RR6XEH.js.map → chunk-ZP2PB6M4.js.map} +1 -1
- package/dist/exports/client/index.d.ts +2 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +27 -27
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -1
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -1
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js.map +2 -2
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +207 -99
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +521 -308
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +224 -136
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +114 -74
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +75 -55
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.css +4 -0
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +1 -0
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.css +3 -3
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +3 -2
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +114 -73
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +215 -121
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +29 -21
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +75 -46
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Hidden/index.js +23 -15
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +3 -2
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/Input.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +46 -27
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +35 -35
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +14 -14
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +216 -111
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +9 -11
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Select/Input.js +26 -10
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +158 -77
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.css +11 -15
- package/dist/fields/Tabs/index.js +120 -112
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +2 -2
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +172 -95
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +2 -1
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +58 -28
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +97 -55
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +16 -7
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/index.css +9 -0
- package/dist/fields/Upload/index.js +101 -63
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/shared/useRowFocus.js.map +1 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -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 +27 -8
- package/dist/forms/Form/index.js.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/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +3 -2
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +58 -18
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/Submit/index.js +12 -13
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +32 -17
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +27 -18
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useElementHeightVariable.js.map +1 -1
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePointerSafeArea.d.ts +29 -0
- package/dist/hooks/usePointerSafeArea.d.ts.map +1 -0
- package/dist/hooks/usePointerSafeArea.js +232 -0
- package/dist/hooks/usePointerSafeArea.js.map +1 -0
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
- package/dist/hooks/useThrottledEffect.js +21 -24
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/layouts/Root/RootProviders.d.ts.map +1 -1
- package/dist/layouts/Root/RootProviders.js +31 -28
- package/dist/layouts/Root/RootProviders.js.map +1 -1
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -1
- package/dist/providers/Auth/index.js +2 -2
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -1
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +65 -32
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/Embed/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +5 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +6 -1
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/ModalAccessibility/index.js.map +1 -1
- package/dist/providers/ModalFocus/index.d.ts +15 -0
- package/dist/providers/ModalFocus/index.d.ts.map +1 -0
- package/dist/providers/ModalFocus/index.js +70 -0
- package/dist/providers/ModalFocus/index.js.map +1 -0
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.d.ts +3 -2
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +78 -105
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/RouterAdapter/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/index.js +18 -35
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +66 -1
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +2 -2
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +1 -0
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +17 -17
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/ToggleHighContrast/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +106 -27
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- 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 +373 -151
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +2 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -1
- package/dist/views/Document/generateEditViewMetadata.js.map +1 -1
- package/dist/views/Document/index.js +1 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -1
- package/dist/views/Edit/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Auth/index.js +13 -11
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +27 -16
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +45 -41
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js +8 -9
- package/dist/views/HierarchyList/HierarchyTable/DateCell.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/RelatedNameCell.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.js +2 -2
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/DocumentGrid/index.js.map +1 -1
- package/dist/views/List/GroupedDocumentGrid/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +321 -181
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js +9 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +41 -29
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +19 -19
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +176 -77
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +113 -33
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/VersionDrawerCreatedAtCell/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +9 -11
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +2 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.css +28 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts +16 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js +98 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/PinDocumentPicker/index.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.css +70 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts +13 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js +81 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.d.ts → Activity/Tabs/PinnedDocuments/preferences.d.ts} +6 -9
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/pinnedPreferences.js → Activity/Tabs/PinnedDocuments/preferences.js} +3 -22
- package/dist/widgets/Activity/Tabs/PinnedDocuments/preferences.js.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts +39 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js +83 -0
- package/dist/widgets/Activity/Tabs/PinnedDocuments/usePinnedDocuments.js.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts +9 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.d.ts.map +1 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js +23 -0
- package/dist/widgets/Activity/Tabs/RecentDocuments/index.js.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.css +61 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts +15 -0
- package/dist/widgets/Activity/components/DocumentList/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/DocumentList/index.js +56 -0
- package/dist/widgets/Activity/components/DocumentList/index.js.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.css +47 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts +12 -0
- package/dist/widgets/Activity/components/EmptyState/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/EmptyState/index.js +37 -0
- package/dist/widgets/Activity/components/EmptyState/index.js.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.css +42 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts +20 -0
- package/dist/widgets/Activity/components/Pagination/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/Pagination/index.js +125 -0
- package/dist/widgets/Activity/components/Pagination/index.js.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.css +24 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts +8 -0
- package/dist/widgets/Activity/components/StatusPill/index.d.ts.map +1 -0
- package/dist/widgets/Activity/components/StatusPill/index.js +18 -0
- package/dist/widgets/Activity/components/StatusPill/index.js.map +1 -0
- package/dist/widgets/Activity/index.client.d.ts +15 -0
- package/dist/widgets/Activity/index.client.d.ts.map +1 -0
- package/dist/widgets/Activity/index.client.js +186 -0
- package/dist/widgets/Activity/index.client.js.map +1 -0
- package/dist/widgets/Activity/index.css +320 -0
- package/dist/widgets/Activity/index.d.ts +13 -0
- package/dist/widgets/Activity/index.d.ts.map +1 -0
- package/dist/widgets/Activity/index.js +100 -0
- package/dist/widgets/Activity/index.js.map +1 -0
- package/dist/widgets/{RecentlyViewed/index.client.d.ts → Activity/types.d.ts} +5 -13
- package/dist/widgets/Activity/types.d.ts.map +1 -0
- package/dist/widgets/Activity/types.js +2 -0
- package/dist/widgets/Activity/types.js.map +1 -0
- package/dist/widgets/Activity/utils/cache.d.ts +33 -0
- package/dist/widgets/Activity/utils/cache.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/cache.js +72 -0
- package/dist/widgets/Activity/utils/cache.js.map +1 -0
- package/dist/widgets/Activity/utils/constants.d.ts +5 -0
- package/dist/widgets/Activity/utils/constants.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/constants.js +4 -0
- package/dist/widgets/Activity/utils/constants.js.map +1 -0
- package/dist/widgets/Activity/utils/documents.d.ts +11 -0
- package/dist/widgets/Activity/utils/documents.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/documents.js +38 -0
- package/dist/widgets/Activity/utils/documents.js.map +1 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts +20 -0
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.d.ts.map +1 -0
- package/dist/widgets/{RecentlyViewed/getDocuments.js → Activity/utils/getActivityWidgetDocs.js} +18 -19
- package/dist/widgets/Activity/utils/getActivityWidgetDocs.js.map +1 -0
- package/dist/widgets/Activity/utils/state.d.ts +44 -0
- package/dist/widgets/Activity/utils/state.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/state.js +80 -0
- package/dist/widgets/Activity/utils/state.js.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts +35 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js +141 -0
- package/dist/widgets/Activity/utils/useActivityDocuments.js.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts +11 -0
- package/dist/widgets/Activity/utils/usePageSize.d.ts.map +1 -0
- package/dist/widgets/Activity/utils/usePageSize.js +35 -0
- package/dist/widgets/Activity/utils/usePageSize.js.map +1 -0
- package/dist/widgets/CollectionCards/index.client.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.client.js +3 -0
- package/dist/widgets/CollectionCards/index.client.js.map +1 -1
- package/dist/widgets/CollectionCards/index.d.ts +3 -0
- package/dist/widgets/CollectionCards/index.d.ts.map +1 -1
- package/dist/widgets/CollectionCards/index.js +3 -0
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/SortField/index.js +181 -73
- package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
- package/dist/widgets/CollectionQuery/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/index.d.ts.map +1 -1
- package/dist/widgets/CollectionQuery/index.js +3 -0
- package/dist/widgets/CollectionQuery/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/CollectionsField/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/CollectionsField/index.js +65 -14
- package/dist/widgets/UploadDropzone/CollectionsField/index.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.client.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.client.js +3 -0
- package/dist/widgets/UploadDropzone/index.client.js.map +1 -1
- package/dist/widgets/UploadDropzone/index.d.ts +3 -0
- package/dist/widgets/UploadDropzone/index.d.ts.map +1 -1
- package/dist/widgets/UploadDropzone/index.js +3 -0
- package/dist/widgets/UploadDropzone/index.js.map +1 -1
- package/dist/widgets/Welcome/index.d.ts +3 -0
- package/dist/widgets/Welcome/index.d.ts.map +1 -1
- package/dist/widgets/Welcome/index.js +3 -0
- package/dist/widgets/Welcome/index.js.map +1 -1
- package/dist/widgets/WidgetCard/index.css +0 -20
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.css +2 -2
- package/dist/widgets/{RecentlyViewed/CollectionsField → shared/CollectionFilter}/index.d.ts +3 -1
- package/dist/widgets/shared/CollectionFilter/index.d.ts.map +1 -0
- package/dist/widgets/shared/CollectionFilter/index.js +170 -0
- package/dist/widgets/shared/CollectionFilter/index.js.map +1 -0
- package/package.json +10 -12
- package/dist/exports/client/chunk-R7M6BG75.js +0 -27
- package/dist/exports/client/chunk-R7M6BG75.js.map +0 -7
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +0 -102
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.css +0 -41
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts +0 -19
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js +0 -121
- package/dist/widgets/RecentlyViewed/PinDocumentPicker/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts +0 -20
- package/dist/widgets/RecentlyViewed/getDocuments.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/getDocuments.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.client.js +0 -409
- package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.css +0 -352
- package/dist/widgets/RecentlyViewed/index.d.ts +0 -10
- package/dist/widgets/RecentlyViewed/index.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/index.js +0 -47
- package/dist/widgets/RecentlyViewed/index.js.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/pinnedPreferences.js.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.d.ts +0 -8
- package/dist/widgets/RecentlyViewed/recents.d.ts.map +0 -1
- package/dist/widgets/RecentlyViewed/recents.js +0 -19
- package/dist/widgets/RecentlyViewed/recents.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-I6PL55BF.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-RFCB5VGD.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react';
|
|
6
5
|
/**
|
|
@@ -19,117 +18,97 @@ import React, { startTransition, useCallback, useEffect, useOptimistic, useRef }
|
|
|
19
18
|
* </RouteTransitionProvider>
|
|
20
19
|
* )
|
|
21
20
|
*/
|
|
22
|
-
export const RouteTransitionProvider =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
children
|
|
26
|
-
} = t0;
|
|
21
|
+
export const RouteTransitionProvider = ({
|
|
22
|
+
children
|
|
23
|
+
}) => {
|
|
27
24
|
const [isOptimisticallyTransitioning, setIsOptimisticallyTransitioning] = useOptimistic(false);
|
|
28
25
|
const [activeRouteTransitionHolds, setActiveRouteTransitionHolds] = React.useState(0);
|
|
26
|
+
const routeTransitionHolds = useRef(new Set());
|
|
29
27
|
const [transitionProgress, setTransitionProgress] = React.useState(0);
|
|
30
28
|
const isTransitioning = isOptimisticallyTransitioning || activeRouteTransitionHolds > 0;
|
|
31
29
|
const transitionProgressRef = useRef(transitionProgress);
|
|
32
30
|
const timerID = useRef(null);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
31
|
+
const initiateProgress = useCallback(() => {
|
|
32
|
+
timerID.current = setInterval(() => {
|
|
33
|
+
// randomly update progress using an exponential curve
|
|
34
|
+
// cap the progress to ensure it never fully reaches completion
|
|
35
|
+
// accelerate quickly then decelerate slowly
|
|
36
|
+
const maxProgress = 0.93;
|
|
37
|
+
const jumpFactor = 0.2 // lower to reduce jumps in progress
|
|
38
|
+
;
|
|
39
|
+
const growthFactor = 0.75 // adjust to control acceleration
|
|
40
|
+
;
|
|
41
|
+
const slowdownFactor = 0.75 // adjust to control deceleration
|
|
42
|
+
;
|
|
43
|
+
const newProgress = transitionProgressRef.current + (maxProgress - transitionProgressRef.current) * Math.random() * jumpFactor * Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor);
|
|
44
|
+
setTransitionProgress(newProgress);
|
|
45
|
+
transitionProgressRef.current = newProgress;
|
|
46
|
+
}, 250); // every n ms, update progress
|
|
47
|
+
}, []);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
setTransitionProgress(0);
|
|
50
|
+
transitionProgressRef.current = 0;
|
|
51
|
+
if (isTransitioning) {
|
|
52
|
+
initiateProgress();
|
|
53
|
+
} else {
|
|
54
|
+
if (timerID.current) {
|
|
55
|
+
clearInterval(timerID.current);
|
|
59
56
|
}
|
|
57
|
+
}
|
|
58
|
+
}, [isTransitioning, initiateProgress]);
|
|
59
|
+
const waitForHoldsToRelease = useCallback(async () => {
|
|
60
|
+
while (routeTransitionHolds.current.size > 0) {
|
|
61
|
+
await Promise.all(routeTransitionHolds.current);
|
|
62
|
+
}
|
|
63
|
+
}, []);
|
|
64
|
+
const startRouteTransition = useCallback(callback => {
|
|
65
|
+
const runAction = async () => {
|
|
66
|
+
setIsOptimisticallyTransitioning(true);
|
|
67
|
+
await callback?.();
|
|
68
|
+
await waitForHoldsToRelease();
|
|
60
69
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
t2 = $[2];
|
|
67
|
-
t3 = $[3];
|
|
68
|
-
}
|
|
69
|
-
useEffect(t2, t3);
|
|
70
|
-
let t4;
|
|
71
|
-
if ($[4] !== setIsOptimisticallyTransitioning) {
|
|
72
|
-
t4 = callback => {
|
|
73
|
-
startTransition(() => {
|
|
74
|
-
setIsOptimisticallyTransitioning(true);
|
|
75
|
-
if (typeof callback === "function") {
|
|
76
|
-
callback();
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
$[4] = setIsOptimisticallyTransitioning;
|
|
81
|
-
$[5] = t4;
|
|
82
|
-
} else {
|
|
83
|
-
t4 = $[5];
|
|
84
|
-
}
|
|
85
|
-
const startRouteTransition = t4;
|
|
86
|
-
let t5;
|
|
87
|
-
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
88
|
-
t5 = () => {
|
|
89
|
-
let hasReleased = false;
|
|
90
|
-
setActiveRouteTransitionHolds(_temp);
|
|
91
|
-
return () => {
|
|
92
|
-
if (hasReleased) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
hasReleased = true;
|
|
96
|
-
setActiveRouteTransitionHolds(_temp2);
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
$[6] = t5;
|
|
100
|
-
} else {
|
|
101
|
-
t5 = $[6];
|
|
102
|
-
}
|
|
103
|
-
const holdRouteTransition = t5;
|
|
104
|
-
let t6;
|
|
105
|
-
if ($[7] !== children || $[8] !== isTransitioning || $[9] !== startRouteTransition || $[10] !== transitionProgress) {
|
|
106
|
-
t6 = _jsx(RouteTransitionContext, {
|
|
107
|
-
value: {
|
|
108
|
-
holdRouteTransition,
|
|
109
|
-
isTransitioning,
|
|
110
|
-
startRouteTransition,
|
|
111
|
-
transitionProgress
|
|
112
|
-
},
|
|
113
|
-
children
|
|
70
|
+
// React runs the scope synchronously but does not return its promise.
|
|
71
|
+
let action = Promise.resolve();
|
|
72
|
+
startTransition(() => {
|
|
73
|
+
action = runAction();
|
|
74
|
+
return action;
|
|
114
75
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
76
|
+
return action;
|
|
77
|
+
}, [setIsOptimisticallyTransitioning, waitForHoldsToRelease]);
|
|
78
|
+
const holdRouteTransition = useCallback(() => {
|
|
79
|
+
let hasReleased = false;
|
|
80
|
+
let resolveHold;
|
|
81
|
+
const hold = new Promise(resolve => {
|
|
82
|
+
resolveHold = resolve;
|
|
83
|
+
});
|
|
84
|
+
routeTransitionHolds.current.add(hold);
|
|
85
|
+
setActiveRouteTransitionHolds(count => count + 1);
|
|
86
|
+
return () => {
|
|
87
|
+
if (hasReleased) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
hasReleased = true;
|
|
91
|
+
routeTransitionHolds.current.delete(hold);
|
|
92
|
+
resolveHold();
|
|
93
|
+
setActiveRouteTransitionHolds(count_0 => Math.max(0, count_0 - 1));
|
|
94
|
+
};
|
|
95
|
+
}, []);
|
|
96
|
+
return /*#__PURE__*/_jsx(RouteTransitionContext, {
|
|
97
|
+
value: {
|
|
98
|
+
holdRouteTransition,
|
|
99
|
+
isTransitioning,
|
|
100
|
+
startRouteTransition,
|
|
101
|
+
transitionProgress
|
|
102
|
+
},
|
|
103
|
+
children: children
|
|
104
|
+
});
|
|
124
105
|
};
|
|
125
106
|
const RouteTransitionContext = /*#__PURE__*/React.createContext({
|
|
126
107
|
holdRouteTransition: () => () => undefined,
|
|
127
108
|
isTransitioning: false,
|
|
128
109
|
// Default implementation: just call the callback directly (no transition animation)
|
|
129
|
-
startRouteTransition: callback => {
|
|
130
|
-
|
|
131
|
-
callback();
|
|
132
|
-
}
|
|
110
|
+
startRouteTransition: async callback => {
|
|
111
|
+
await callback?.();
|
|
133
112
|
},
|
|
134
113
|
transitionProgress: 0
|
|
135
114
|
});
|
|
@@ -147,17 +126,11 @@ const RouteTransitionContext = /*#__PURE__*/React.createContext({
|
|
|
147
126
|
* const { startRouteTransition } = useRouteTransition()
|
|
148
127
|
*
|
|
149
128
|
* const redirectSomewhere = useCallback(() => {
|
|
150
|
-
* startRouteTransition(() => router.push('/somewhere'))
|
|
129
|
+
* void startRouteTransition(() => router.push('/somewhere'))
|
|
151
130
|
* }, [startRouteTransition, router])
|
|
152
131
|
*
|
|
153
132
|
* // ...
|
|
154
133
|
* }
|
|
155
134
|
*/
|
|
156
135
|
export const useRouteTransition = () => React.use(RouteTransitionContext);
|
|
157
|
-
function _temp(count) {
|
|
158
|
-
return count + 1;
|
|
159
|
-
}
|
|
160
|
-
function _temp2(count_0) {
|
|
161
|
-
return Math.max(0, count_0 - 1);
|
|
162
|
-
}
|
|
163
136
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","startTransition","useCallback","useEffect","useOptimistic","useRef","RouteTransitionProvider","children","isOptimisticallyTransitioning","setIsOptimisticallyTransitioning","activeRouteTransitionHolds","setActiveRouteTransitionHolds","useState","routeTransitionHolds","Set","transitionProgress","setTransitionProgress","isTransitioning","transitionProgressRef","timerID","initiateProgress","current","setInterval","maxProgress","jumpFactor","growthFactor","slowdownFactor","newProgress","Math","random","pow","log","clearInterval","waitForHoldsToRelease","size","Promise","all","startRouteTransition","callback","runAction","action","resolve","holdRouteTransition","hasReleased","resolveHold","hold","add","count","delete","max","_jsx","RouteTransitionContext","value","createContext","undefined","useRouteTransition","use"],"sources":["../../../src/providers/RouteTransition/index.tsx"],"sourcesContent":["'use client'\nimport React, { startTransition, useCallback, useEffect, useOptimistic, useRef } from 'react'\n\n/**\n * Route transitions are useful in showing immediate visual feedback to the user when navigating between pages. This is especially useful on slow networks when navigating to data heavy or process intensive pages.\n * To use route transitions, place the `RouteTransitionProvider` at the root of your application, outside of the `ProgressBar` component.\n * To trigger a route transition, use the `Link` component from `@payloadcms/ui`,\n * or wrap a callback function with the `startRouteTransition` method.\n * To gain access to the `RouteTransitionContext`, call the `useRouteTransition` hook in your component.\n * @returns A context provider with methods and state for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * import { RouteTransitionProvider, ProgressBar, Link } from '@payloadcms/ui'\n * const App = () => (\n * <RouteTransitionProvider>\n * <ProgressBar />\n * <Link href=\"/somewhere\">Go Somewhere</Link>\n * </RouteTransitionProvider>\n * )\n */\nexport const RouteTransitionProvider: React.FC<RouteTransitionProps> = ({ children }) => {\n const [isOptimisticallyTransitioning, setIsOptimisticallyTransitioning] = useOptimistic(false)\n const [activeRouteTransitionHolds, setActiveRouteTransitionHolds] = React.useState(0)\n const routeTransitionHolds = useRef(new Set<Promise<void>>())\n const [transitionProgress, setTransitionProgress] = React.useState<number>(0)\n const isTransitioning = isOptimisticallyTransitioning || activeRouteTransitionHolds > 0\n\n const transitionProgressRef = useRef(transitionProgress)\n\n const timerID = useRef(null)\n\n const initiateProgress = useCallback(() => {\n timerID.current = setInterval(() => {\n // randomly update progress using an exponential curve\n // cap the progress to ensure it never fully reaches completion\n // accelerate quickly then decelerate slowly\n const maxProgress = 0.93\n const jumpFactor = 0.2 // lower to reduce jumps in progress\n const growthFactor = 0.75 // adjust to control acceleration\n const slowdownFactor = 0.75 // adjust to control deceleration\n\n const newProgress =\n transitionProgressRef.current +\n (maxProgress - transitionProgressRef.current) *\n Math.random() *\n jumpFactor *\n Math.pow(Math.log(1 + (1 - transitionProgressRef.current) * growthFactor), slowdownFactor)\n\n setTransitionProgress(newProgress)\n transitionProgressRef.current = newProgress\n }, 250) // every n ms, update progress\n }, [])\n\n useEffect(() => {\n setTransitionProgress(0)\n transitionProgressRef.current = 0\n\n if (isTransitioning) {\n initiateProgress()\n } else {\n if (timerID.current) {\n clearInterval(timerID.current)\n }\n }\n }, [isTransitioning, initiateProgress])\n\n const waitForHoldsToRelease = useCallback(async () => {\n while (routeTransitionHolds.current.size > 0) {\n await Promise.all(routeTransitionHolds.current)\n }\n }, [])\n\n const startRouteTransition: StartRouteTransition = useCallback(\n (callback?: () => unknown) => {\n const runAction = async () => {\n setIsOptimisticallyTransitioning(true)\n\n await callback?.()\n await waitForHoldsToRelease()\n }\n\n // React runs the scope synchronously but does not return its promise.\n let action = Promise.resolve()\n\n startTransition(() => {\n action = runAction()\n return action\n })\n\n return action\n },\n [setIsOptimisticallyTransitioning, waitForHoldsToRelease],\n )\n\n const holdRouteTransition = useCallback(() => {\n let hasReleased = false\n let resolveHold: () => void\n const hold = new Promise<void>((resolve) => {\n resolveHold = resolve\n })\n\n routeTransitionHolds.current.add(hold)\n setActiveRouteTransitionHolds((count) => count + 1)\n\n return () => {\n if (hasReleased) {\n return\n }\n\n hasReleased = true\n routeTransitionHolds.current.delete(hold)\n resolveHold()\n setActiveRouteTransitionHolds((count) => Math.max(0, count - 1))\n }\n }, [])\n\n return (\n <RouteTransitionContext\n value={{\n holdRouteTransition,\n isTransitioning,\n startRouteTransition,\n transitionProgress,\n }}\n >\n {children}\n </RouteTransitionContext>\n )\n}\n\ntype RouteTransitionProps = {\n children: React.ReactNode\n}\n\ntype StartRouteTransition = (callback?: () => unknown) => Promise<void>\n\ntype RouteTransitionContextValue = {\n /** Keeps the transition active until the returned release function is called. */\n holdRouteTransition: () => () => void\n isTransitioning: boolean\n /** Resolves after the callback and active route transition holds complete. */\n startRouteTransition: StartRouteTransition\n transitionProgress: number\n}\n\nconst RouteTransitionContext = React.createContext<RouteTransitionContextValue>({\n holdRouteTransition: () => () => undefined,\n isTransitioning: false,\n // Default implementation: just call the callback directly (no transition animation)\n startRouteTransition: async (callback) => {\n await callback?.()\n },\n transitionProgress: 0,\n})\n\n/**\n * Use this hook to access the `RouteTransitionContext` provided by the `RouteTransitionProvider`.\n * To start a transition, fire the `startRouteTransition` method with a provided callback to run while the transition takes place.\n * @returns The `RouteTransitionContext` needed for transitioning between routes, including `isTransitioning`, `startRouteTransition`, and `transitionProgress`.\n * @example\n * 'use client'\n * import React, { useCallback } from 'react'\n * import { useTransition, useRouter } from '@payloadcms/ui'\n *\n * const MyComponent: React.FC = () => {\n * const router = useRouter()\n * const { startRouteTransition } = useRouteTransition()\n *\n * const redirectSomewhere = useCallback(() => {\n * void startRouteTransition(() => router.push('/somewhere'))\n * }, [startRouteTransition, router])\n *\n * // ...\n * }\n */\nexport const useRouteTransition = () => React.use(RouteTransitionContext)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","createContext","use","RouterAdapterContext","useRouterAdapterContext","ctx","Error","useRouter","router","usePathname","pathname","useSearchParams","searchParams","useParams","params","PayloadLink","ref","props","Link","LinkComponent","_jsx"],"sources":["../../../src/providers/RouterAdapter/index.tsx"],"sourcesContent":["'use client'\nimport type { LinkAdapterProps, RouterAdapterRouter } from 'payload'\n\nimport React, { createContext, use } from 'react'\n\nexport type RouterAdapterContextValue = {\n Link: React.ComponentType<LinkAdapterProps>\n params: Record<string, string | string[]>\n pathname: string\n router: RouterAdapterRouter\n searchParams: URLSearchParams\n}\n\n/**\n * The RouterAdapter context. Framework adapters populate this by rendering a\n * provider component that calls framework-specific hooks (e.g. next/navigation)\n * and passes the values here. This avoids calling dynamic hooks from props,\n * which would violate React compiler rules.\n */\nexport const RouterAdapterContext = createContext<null | RouterAdapterContextValue>(null)\n\nfunction useRouterAdapterContext(): RouterAdapterContextValue {\n const ctx = use(RouterAdapterContext)\n if (!ctx) {\n throw new Error(\n 'useRouter/usePathname/useSearchParams/useParams must be used within a RouterAdapterProvider',\n )\n }\n return ctx\n}\n\nexport function useRouter(): RouterAdapterRouter {\n return useRouterAdapterContext().router\n}\n\nexport function usePathname(): string {\n return useRouterAdapterContext().pathname\n}\n\nexport function useSearchParams(): URLSearchParams {\n return useRouterAdapterContext().searchParams\n}\n\nexport function useParams(): Record<string, string | string[]> {\n return useRouterAdapterContext().params\n}\n\nexport const PayloadLink: React.FC<{ ref?: React.Ref<HTMLAnchorElement> } & LinkAdapterProps> = ({\n ref,\n ...props\n}: { ref?: React.RefObject<HTMLAnchorElement | null> } & LinkAdapterProps) => {\n const { Link: LinkComponent } = useRouterAdapterContext()\n return <LinkComponent {...props} ref={ref} />\n}\n\nexport type { LinkAdapterProps, RouterAdapterRouter }\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAU1C;;;;;;AAMA,OAAO,MAAMC,oBAAA,gBAAuBF,aAAA,CAAgD;AAEpF,SAASG,wBAAA;EACP,MAAMC,GAAA,GAAMH,GAAA,CAAIC,oBAAA;EAChB,IAAI,CAACE,GAAA,EAAK;IACR,MAAM,IAAIC,KAAA,CACR;EAEJ;EACA,OAAOD,GAAA;AACT;AAEA,OAAO,SAAAE,UAAA;EAAA,OACEH,uBAAA,GAAAI,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","createContext","use","RouterAdapterContext","useRouterAdapterContext","ctx","Error","useRouter","router","usePathname","pathname","useSearchParams","searchParams","useParams","params","PayloadLink","ref","props","Link","LinkComponent","_jsx"],"sources":["../../../src/providers/RouterAdapter/index.tsx"],"sourcesContent":["'use client'\nimport type { LinkAdapterProps, RouterAdapterRouter } from 'payload'\n\nimport React, { createContext, use } from 'react'\n\nexport type RouterAdapterContextValue = {\n Link: React.ComponentType<LinkAdapterProps>\n params: Record<string, string | string[]>\n pathname: string\n router: RouterAdapterRouter\n searchParams: URLSearchParams\n}\n\n/**\n * The RouterAdapter context. Framework adapters populate this by rendering a\n * provider component that calls framework-specific hooks (e.g. next/navigation)\n * and passes the values here. This avoids calling dynamic hooks from props,\n * which would violate React compiler rules.\n */\nexport const RouterAdapterContext = createContext<null | RouterAdapterContextValue>(null)\n\nfunction useRouterAdapterContext(): RouterAdapterContextValue {\n const ctx = use(RouterAdapterContext)\n if (!ctx) {\n throw new Error(\n 'useRouter/usePathname/useSearchParams/useParams must be used within a RouterAdapterProvider',\n )\n }\n return ctx\n}\n\nexport function useRouter(): RouterAdapterRouter {\n return useRouterAdapterContext().router\n}\n\nexport function usePathname(): string {\n return useRouterAdapterContext().pathname\n}\n\nexport function useSearchParams(): URLSearchParams {\n return useRouterAdapterContext().searchParams\n}\n\nexport function useParams(): Record<string, string | string[]> {\n return useRouterAdapterContext().params\n}\n\nexport const PayloadLink: React.FC<{ ref?: React.Ref<HTMLAnchorElement> } & LinkAdapterProps> = ({\n ref,\n ...props\n}: { ref?: React.RefObject<HTMLAnchorElement | null> } & LinkAdapterProps) => {\n const { Link: LinkComponent } = useRouterAdapterContext()\n return <LinkComponent {...props} ref={ref} />\n}\n\nexport type { LinkAdapterProps, RouterAdapterRouter }\n"],"mappings":"AAAA;;;AAGA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAU1C;;;;;;AAMA,OAAO,MAAMC,oBAAA,gBAAuBF,aAAA,CAAgD;AAEpF,SAASG,wBAAA;EACP,MAAMC,GAAA,GAAMH,GAAA,CAAIC,oBAAA;EAChB,IAAI,CAACE,GAAA,EAAK;IACR,MAAM,IAAIC,KAAA,CACR;EAEJ;EACA,OAAOD,GAAA;AACT;AAEA,OAAO,SAAAE,UAAA;EAAA,OACEH,uBAAA,GAAAI,MAAgC;AAAA;AAGzC,OAAO,SAAAC,YAAA;EAAA,OACEL,uBAAA,GAAAM,QAAkC;AAAA;AAG3C,OAAO,SAAAC,gBAAA;EAAA,OACEP,uBAAA,GAAAQ,YAAsC;AAAA;AAG/C,OAAO,SAAAC,UAAA;EAAA,OACET,uBAAA,GAAAU,MAAgC;AAAA;AAGzC,OAAO,MAAMC,WAAA,GAAmFA,CAAC;EAC/FC,GAAG;EACH,GAAGC;AAAA,CACoE;EACvE,MAAM;IAAEC,IAAA,EAAMC;EAAa,CAAE,GAAGf,uBAAA;EAChC,oBAAOgB,IAAA,CAACD,aAAA;IAAe,GAAGF,KAAK;IAAED,GAAA,EAAKA;;AACxC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","use","RenderDefaultCell","t0","$","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","t1","propsToPass","link","className","t2","t3","collectionSlug","rowColl","rowData","doc","onClick","_jsx","value","children"],"sources":["../../../../src/providers/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../../elements/Table/DefaultCell/index.js'\nimport { useTableColumns } from '../../../providers/TableColumns/index.js'\nimport './index.css'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null => React.use(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug && clientProps.link !== false) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n })\n }\n }\n }\n\n return (\n <CellPropsContext value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,gBAAA,gBAAmBL,KAAA,CAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,YAAA,GAAeA,CAAA,KAAwCP,KAAA,CAAMQ,GAAG,CAACH,gBAAA;AAE9E,OAAO,MAAMI,iBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,WAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA4C;EAChD;IAAAK,UAAA;IAAAC;EAAA,IAAiCf,oBAAA;EACjC;IAAAgB;EAAA,IAA+Bd,eAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAM,kBAAA,IAAAN,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,QAAA;IAE/B,MAAAG,WAAA;MAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useListDrawerContext","DefaultCell","useTableColumns","baseClass","CellPropsContext","createContext","useCellProps","use","RenderDefaultCell","t0","$","clientProps","columnIndex","isLinkedColumn","drawerSlug","onSelect","LinkedCellOverride","t1","propsToPass","link","className","t2","t3","collectionSlug","rowColl","rowData","doc","onClick","_jsx","value","children"],"sources":["../../../../src/providers/TableColumns/RenderDefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nimport { useListDrawerContext } from '../../../elements/ListDrawer/Provider.js'\nimport { DefaultCell } from '../../../elements/Table/DefaultCell/index.js'\nimport { useTableColumns } from '../../../providers/TableColumns/index.js'\nimport './index.css'\n\nconst baseClass = 'default-cell'\n\nconst CellPropsContext = React.createContext<DefaultCellComponentProps | null>(null)\n\nexport const useCellProps = (): DefaultCellComponentProps | null => React.use(CellPropsContext)\n\nexport const RenderDefaultCell: React.FC<{\n clientProps: DefaultCellComponentProps\n columnIndex: number\n enableRowSelections?: boolean\n isLinkedColumn?: boolean\n}> = ({ clientProps, columnIndex, isLinkedColumn }) => {\n const { drawerSlug, onSelect } = useListDrawerContext()\n const { LinkedCellOverride } = useTableColumns()\n\n const propsToPass: DefaultCellComponentProps = {\n ...clientProps,\n columnIndex,\n }\n\n if (isLinkedColumn && drawerSlug && clientProps.link !== false) {\n propsToPass.className = `${baseClass}__first-cell`\n propsToPass.link = false\n propsToPass.onClick = ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n doc: rowData,\n })\n }\n }\n }\n\n return (\n <CellPropsContext value={propsToPass}>\n {isLinkedColumn && LinkedCellOverride ? LinkedCellOverride : <DefaultCell {...propsToPass} />}\n </CellPropsContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,oBAAoB,QAAQ;AACrC,SAASC,WAAW,QAAQ;AAC5B,SAASC,eAAe,QAAQ;AAChC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,gBAAA,gBAAmBL,KAAA,CAAMM,aAAa,CAAmC;AAE/E,OAAO,MAAMC,YAAA,GAAeA,CAAA,KAAwCP,KAAA,CAAMQ,GAAG,CAACH,gBAAA;AAE9E,OAAO,MAAMI,iBAAA,GAKRC,EAAA;EAAA,MAAAC,CAAA,GAAAZ,EAAA;EAAC;IAAAa,WAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAJ,EAA4C;EAChD;IAAAK,UAAA;IAAAC;EAAA,IAAiCf,oBAAA;EACjC;IAAAgB;EAAA,IAA+Bd,eAAA;EAAA,IAAAe,EAAA;EAAA,IAAAP,CAAA,QAAAM,kBAAA,IAAAN,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAI,UAAA,IAAAJ,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAK,QAAA;IAE/B,MAAAG,WAAA,GAA+C;MAAA,GAC1CP,WAAW;MAAAC;IAEhB;IAEA,IAAIC,cAAkB,IAAlBC,UAAqD,IAArBH,WAAA,CAAAQ,IAAgB,KAAK;MACvDD,WAAA,CAAAE,SAAA,GAAwB,GAAGjB,SAAA,cAAN;MACrBe,WAAA,CAAAC,IAAA,GAAmB,KAAH;MAAA,IAAAE,EAAA;MAAA,IAAAX,CAAA,QAAAK,QAAA;QACMM,EAAA,GAAAC,EAAA;UAAC;YAAAC,cAAA,EAAAC,OAAA;YAAAC;UAAA,IAAAH,EAAoC;UACzD,IAAI,OAAOP,QAAA,KAAa;YACtBA,QAAA,CAAS;cAAAQ,cAAA,EACSC,OAAA;cAAAE,GAAA,EACXD;YACP;UAAA;QACF,CACF;QAAAf,CAAA,MAAAK,QAAA;QAAAL,CAAA,MAAAW,EAAA;MAAA;QAAAA,EAAA,GAAAX,CAAA;MAAA;MAPAQ,WAAA,CAAAS,OAAA,GAAsBN,EAAH;IAAA;IAWnBJ,EAAA,GAAAW,IAAA,CAACxB,gBAAA;MAAAyB,KAAA,EAAwBX,WAAA;MAAAY,QAAA,EACtBjB,cAAkB,IAAlBG,kB,GAAAA,kB,GAA4DY,IAAA,CAAC3B,WAAA;QAAA,GAAgBiB;;;;;;;;;;;;;SADhFD,E;CAIJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/index.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/TableColumns/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAiB,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAO1E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuGpE,CAAA"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { transformColumnsToSearchParams } from 'payload/shared';
|
|
5
|
-
import React, {
|
|
5
|
+
import React, { useCallback, useRef } from 'react';
|
|
6
6
|
import { useConfig } from '../../providers/Config/index.js';
|
|
7
7
|
import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
8
|
+
import { useRouteTransition } from '../RouteTransition/index.js';
|
|
8
9
|
import { TableColumnContext } from './context.js';
|
|
9
10
|
export { useTableColumns } from './context.js';
|
|
10
11
|
export const TableColumnsProvider = ({
|
|
@@ -20,6 +21,9 @@ export const TableColumnsProvider = ({
|
|
|
20
21
|
query: currentQuery,
|
|
21
22
|
refineListData
|
|
22
23
|
} = useListQuery();
|
|
24
|
+
const {
|
|
25
|
+
startRouteTransition
|
|
26
|
+
} = useRouteTransition();
|
|
23
27
|
const {
|
|
24
28
|
admin: {
|
|
25
29
|
defaultColumns
|
|
@@ -27,19 +31,16 @@ export const TableColumnsProvider = ({
|
|
|
27
31
|
} = getEntityConfig({
|
|
28
32
|
collectionSlug
|
|
29
33
|
});
|
|
30
|
-
const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps
|
|
31
|
-
// Sync optimistic state when props change (e.g., after preset reset)
|
|
32
|
-
const prevPropsRef = useRef(columnStateFromProps);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
if (columnStateFromProps !== prevPropsRef.current) {
|
|
35
|
-
prevPropsRef.current = columnStateFromProps;
|
|
36
|
-
// Force optimistic state to sync with new props by triggering a transition
|
|
37
|
-
startTransition(() => {
|
|
38
|
-
setOptimisticColumnState(columnStateFromProps);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}, [columnStateFromProps, setOptimisticColumnState]);
|
|
34
|
+
const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps);
|
|
42
35
|
const contextRef = useRef({});
|
|
36
|
+
const setColumns = useCallback(async newColumns => {
|
|
37
|
+
await startRouteTransition(async () => {
|
|
38
|
+
setOptimisticColumnState(newColumns);
|
|
39
|
+
await refineListData({
|
|
40
|
+
columns: transformColumnsToSearchParams(newColumns)
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}, [refineListData, setOptimisticColumnState, startRouteTransition]);
|
|
43
44
|
const toggleColumn = useCallback(async column => {
|
|
44
45
|
const currentColumns = columnState || [];
|
|
45
46
|
const columnIndex = currentColumns.findIndex(col => col.accessor === column);
|
|
@@ -56,13 +57,8 @@ export const TableColumnsProvider = ({
|
|
|
56
57
|
}
|
|
57
58
|
return col_0;
|
|
58
59
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
});
|
|
62
|
-
await refineListData({
|
|
63
|
-
columns: transformColumnsToSearchParams(newColumnState)
|
|
64
|
-
});
|
|
65
|
-
}, [refineListData, columnState, setOptimisticColumnState]);
|
|
60
|
+
await setColumns(newColumnState);
|
|
61
|
+
}, [columnState, setColumns]);
|
|
66
62
|
const moveColumn = useCallback(async args => {
|
|
67
63
|
const {
|
|
68
64
|
fromIndex,
|
|
@@ -71,13 +67,8 @@ export const TableColumnsProvider = ({
|
|
|
71
67
|
const newColumnState_0 = [...(columnState || [])];
|
|
72
68
|
const [columnToMove] = newColumnState_0.splice(fromIndex, 1);
|
|
73
69
|
newColumnState_0.splice(toIndex, 0, columnToMove);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
await refineListData({
|
|
78
|
-
columns: transformColumnsToSearchParams(newColumnState_0)
|
|
79
|
-
});
|
|
80
|
-
}, [columnState, refineListData, setOptimisticColumnState]);
|
|
70
|
+
await setColumns(newColumnState_0);
|
|
71
|
+
}, [columnState, setColumns]);
|
|
81
72
|
const setActiveColumns = useCallback(async columns => {
|
|
82
73
|
const newColumnState_1 = currentQuery.columns;
|
|
83
74
|
columns.forEach(colName => {
|
|
@@ -96,14 +87,6 @@ export const TableColumnsProvider = ({
|
|
|
96
87
|
columns: defaultColumns || []
|
|
97
88
|
});
|
|
98
89
|
}, [defaultColumns, refineListData]);
|
|
99
|
-
const setColumns = useCallback(async newColumns => {
|
|
100
|
-
startTransition(() => {
|
|
101
|
-
setOptimisticColumnState(newColumns);
|
|
102
|
-
});
|
|
103
|
-
await refineListData({
|
|
104
|
-
columns: transformColumnsToSearchParams(newColumns)
|
|
105
|
-
});
|
|
106
|
-
}, [refineListData, setOptimisticColumnState]);
|
|
107
90
|
return /*#__PURE__*/_jsx(TableColumnContext, {
|
|
108
91
|
value: {
|
|
109
92
|
columns: columnState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["transformColumnsToSearchParams","React","
|
|
1
|
+
{"version":3,"file":"index.js","names":["transformColumnsToSearchParams","React","useCallback","useRef","useConfig","useListQuery","useRouteTransition","TableColumnContext","useTableColumns","TableColumnsProvider","children","collectionSlug","columnState","columnStateFromProps","LinkedCellOverride","getEntityConfig","query","currentQuery","refineListData","startRouteTransition","admin","defaultColumns","setOptimisticColumnState","useOptimistic","contextRef","setColumns","newColumns","columns","toggleColumn","column","currentColumns","columnIndex","findIndex","col","accessor","newColumnState","map","active","moveColumn","args","fromIndex","toIndex","columnToMove","splice","setActiveColumns","forEach","colName","colIndex","c","undefined","slice","resetColumnsState","_jsx","value","current"],"sources":["../../../src/providers/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport { type Column } from 'payload'\nimport { transformColumnsToSearchParams } from 'payload/shared'\nimport React, { useCallback, useRef } from 'react'\n\nimport type { ITableColumns, TableColumnsProviderProps } from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\nimport { TableColumnContext } from './context.js'\n\nexport { useTableColumns } from './context.js'\n\nexport const TableColumnsProvider: React.FC<TableColumnsProviderProps> = ({\n children,\n collectionSlug,\n columnState: columnStateFromProps,\n LinkedCellOverride,\n}) => {\n const { getEntityConfig } = useConfig()\n const { query: currentQuery, refineListData } = useListQuery()\n const { startRouteTransition } = useRouteTransition()\n\n const { admin: { defaultColumns } = {} } = getEntityConfig({\n collectionSlug,\n })\n\n const [columnState, setOptimisticColumnState] = React.useOptimistic(columnStateFromProps)\n\n const contextRef = useRef({} as ITableColumns)\n\n const setColumns = useCallback(\n async (newColumns: Column[]) => {\n await startRouteTransition(async () => {\n setOptimisticColumnState(newColumns)\n\n await refineListData({\n columns: transformColumnsToSearchParams(newColumns),\n })\n })\n },\n [refineListData, setOptimisticColumnState, startRouteTransition],\n )\n\n const toggleColumn = useCallback(\n async (column: string) => {\n const currentColumns = columnState || []\n const columnIndex = currentColumns.findIndex((col) => col.accessor === column)\n\n if (columnIndex === -1) {\n return\n }\n\n // Toggle the column's active state in place, preserving its position\n const newColumnState = currentColumns.map((col) => {\n if (col.accessor === column) {\n return { ...col, active: !col.active }\n }\n return col\n })\n\n await setColumns(newColumnState)\n },\n [columnState, setColumns],\n )\n\n const moveColumn = useCallback(\n async (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n const newColumnState = [...(columnState || [])]\n const [columnToMove] = newColumnState.splice(fromIndex, 1)\n newColumnState.splice(toIndex, 0, columnToMove)\n\n await setColumns(newColumnState)\n },\n [columnState, setColumns],\n )\n\n const setActiveColumns = useCallback(\n async (columns: string[]) => {\n const newColumnState = currentQuery.columns\n\n columns.forEach((colName) => {\n const colIndex = newColumnState.findIndex((c) => colName === c)\n\n // ensure the name does not begin with a `-` which denotes an inactive column\n if (colIndex !== undefined && newColumnState[colIndex][0] === '-') {\n newColumnState[colIndex] = colName.slice(1)\n }\n })\n\n await refineListData({ columns: newColumnState })\n },\n [currentQuery, refineListData],\n )\n\n const resetColumnsState = React.useCallback(async () => {\n await refineListData({ columns: defaultColumns || [] })\n }, [defaultColumns, refineListData])\n\n return (\n <TableColumnContext\n value={{\n columns: columnState,\n LinkedCellOverride,\n moveColumn,\n resetColumnsState,\n setActiveColumns,\n setColumns,\n toggleColumn,\n ...contextRef.current,\n }}\n >\n {children}\n </TableColumnContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useState","useConfig","useSearchParams","defaultTheme","initialContext","autoMode","highContrastMode","setHighContrastMode","setTheme","theme","Context","undefined","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","detectTheme","cookieKey","fromCookie","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","isAutoMode","detectHighContrastMode","isHighContrast","removeAttribute","isValidThemeParam","value","ThemeProvider","t0","$","children","initialHighContrastMode","themeOverride","outerContext","isScoped","config","preselectedTheme","admin","themeCookieKey","cookiePrefix","contrastCookieKey","themeParam","get","toLowerCase","setThemeState","setAutoMode","setHighContrastModeState","t1","themeToSet","options","scoped","resolvedTheme","t2","options_0","String","t3","t4","t5","t6","t7","detectedTheme","t8","t9","t10","t11","t12","_jsx","useTheme"],"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../RouterAdapter/index.js'\nimport { defaultTheme, type Theme } from './shared.js'\n\nexport { defaultTheme, type Theme }\n\nexport type ThemeContext = {\n autoMode: boolean\n highContrastMode: boolean\n setHighContrastMode: (isHighContrast: boolean, options?: { scoped?: boolean }) => void\n setTheme: (theme: 'auto' | Theme, options?: { scoped?: boolean }) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n highContrastMode: false,\n setHighContrastMode: () => null,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext<ThemeContext | undefined>(undefined)\n\nfunction setCookie(cname: string, cvalue: string, exdays: number) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst detectTheme = (cookieKey: string): { isAutoMode: boolean; theme: Theme } => {\n const fromCookie = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n const theme: Theme =\n fromCookie === 'light' || fromCookie === 'dark'\n ? fromCookie\n : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { isAutoMode: fromCookie !== 'light' && fromCookie !== 'dark', theme }\n}\n\nconst detectHighContrastMode = (cookieKey: string): boolean => {\n const fromCookie =\n window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1] ?? null\n\n const isHighContrast =\n fromCookie === 'true'\n ? true\n : fromCookie === 'false'\n ? false\n : !!(window.matchMedia && window.matchMedia('(prefers-contrast: more)').matches)\n\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n\n return isHighContrast\n}\n\nconst isValidThemeParam = (value: null | string): value is 'auto' | Theme =>\n value === 'auto' || value === 'light' || value === 'dark'\n\n/**\n * Provides theme context to its children.\n *\n * At the root (no parent ThemeProvider): reads/writes cookies, responds to\n * OS preference, owns setTheme and setHighContrastMode.\n *\n * When nested inside another ThemeProvider (e.g. inside a Popup): acts as a\n * scoped visual the `theme` prop sets the local theme, but setThemeoverride\n * and setHighContrastMode bubble up through each level to the root provider so\n * mutations always affect the global user preference.\n *\n * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and\n * persists it to the theme cookie using the same mechanism as manual theme selection.\n */\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n highContrastMode?: boolean\n theme?: Theme\n}> = ({ children, highContrastMode: initialHighContrastMode, theme: themeOverride }) => {\n const outerContext = use(Context)\n const isScoped = outerContext !== undefined\n\n const { config } = useConfig()\n const preselectedTheme = config.admin.theme\n const themeCookieKey = `${config.cookiePrefix || 'payload'}-theme`\n const contrastCookieKey = `${config.cookiePrefix || 'payload'}-high-contrast-mode`\n\n const themeParam = useSearchParams().get('theme')?.toLowerCase()\n\n const [theme, setThemeState] = useState<Theme>(themeOverride ?? defaultTheme)\n const [autoMode, setAutoMode] = useState<boolean>(!isScoped)\n const [highContrastMode, setHighContrastModeState] = useState<boolean>(\n isScoped ? (outerContext.highContrastMode ?? false) : (initialHighContrastMode ?? false),\n )\n\n // Setters bubble up to the root provider by default. Pass { scoped: true }\n // to update only the local (scoped) theme without affecting global state.\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setTheme(themeToSet, options)\n return\n }\n const resolvedTheme: Theme =\n themeToSet === 'auto'\n ? window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : themeToSet\n\n setThemeState(resolvedTheme)\n setAutoMode(themeToSet === 'auto')\n\n if (!isScoped) {\n setCookie(themeCookieKey, themeToSet, themeToSet === 'auto' ? -1 : 365)\n document.documentElement.setAttribute('data-theme', resolvedTheme)\n }\n },\n [isScoped, outerContext, themeCookieKey],\n )\n\n const setHighContrastMode = useCallback(\n (isHighContrast: boolean, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setHighContrastMode(isHighContrast, options)\n return\n }\n setHighContrastModeState(isHighContrast)\n if (!isScoped) {\n setCookie(contrastCookieKey, String(isHighContrast), 365)\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n }\n },\n [isScoped, outerContext, contrastCookieKey],\n )\n\n // Keep highContrastMode in sync with the outer provider when scoped.\n useEffect(() => {\n if (isScoped) {\n setHighContrastModeState(outerContext.highContrastMode)\n }\n }, [isScoped, outerContext?.highContrastMode])\n\n // Resolve the root theme: a valid `?theme` param wins (applied via setTheme so\n // it persists to the theme cookie exactly like a manual selection; otherwise\n // fall back to the cookie or OS preference.\n useEffect(() => {\n if (isScoped || preselectedTheme !== 'all') {\n return\n }\n if (isValidThemeParam(themeParam)) {\n setTheme(themeParam)\n return\n }\n const { isAutoMode, theme: detectedTheme } = detectTheme(themeCookieKey)\n setThemeState(detectedTheme)\n setAutoMode(isAutoMode)\n }, [isScoped, preselectedTheme, themeCookieKey, themeParam, setTheme])\n\n useEffect(() => {\n if (isScoped) {\n return\n }\n setHighContrastModeState(detectHighContrastMode(contrastCookieKey))\n }, [isScoped, contrastCookieKey])\n\n return (\n <Context\n value={{\n autoMode: isScoped ? outerContext.autoMode : autoMode,\n highContrastMode,\n setHighContrastMode,\n setTheme,\n theme: isScoped ? outerContext.theme : theme,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTheme = (): ThemeContext => use(Context) ?? initialContext\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","useEffect","useState","useConfig","useSearchParams","defaultTheme","initialContext","autoMode","highContrastMode","setHighContrastMode","setTheme","theme","Context","undefined","setCookie","cname","cvalue","exdays","d","Date","setTime","getTime","expires","toUTCString","document","cookie","detectTheme","cookieKey","fromCookie","window","split","find","row","startsWith","matchMedia","matches","documentElement","setAttribute","isAutoMode","detectHighContrastMode","isHighContrast","removeAttribute","isValidThemeParam","value","ThemeProvider","t0","$","children","initialHighContrastMode","themeOverride","outerContext","isScoped","config","preselectedTheme","admin","themeCookieKey","cookiePrefix","contrastCookieKey","themeParam","get","toLowerCase","setThemeState","setAutoMode","setHighContrastModeState","t1","themeToSet","options","scoped","resolvedTheme","t2","options_0","String","t3","t4","t5","t6","t7","detectedTheme","t8","t9","t10","t11","t12","_jsx","useTheme"],"sources":["../../../src/providers/Theme/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\nimport { useSearchParams } from '../RouterAdapter/index.js'\nimport { defaultTheme, type Theme } from './shared.js'\n\nexport { defaultTheme, type Theme }\n\nexport type ThemeContext = {\n autoMode: boolean\n highContrastMode: boolean\n setHighContrastMode: (isHighContrast: boolean, options?: { scoped?: boolean }) => void\n setTheme: (theme: 'auto' | Theme, options?: { scoped?: boolean }) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n highContrastMode: false,\n setHighContrastMode: () => null,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext<ThemeContext | undefined>(undefined)\n\nfunction setCookie(cname: string, cvalue: string, exdays: number) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst detectTheme = (cookieKey: string): { isAutoMode: boolean; theme: Theme } => {\n const fromCookie = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n const theme: Theme =\n fromCookie === 'light' || fromCookie === 'dark'\n ? fromCookie\n : window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { isAutoMode: fromCookie !== 'light' && fromCookie !== 'dark', theme }\n}\n\nconst detectHighContrastMode = (cookieKey: string): boolean => {\n const fromCookie =\n window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1] ?? null\n\n const isHighContrast =\n fromCookie === 'true'\n ? true\n : fromCookie === 'false'\n ? false\n : !!(window.matchMedia && window.matchMedia('(prefers-contrast: more)').matches)\n\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n\n return isHighContrast\n}\n\nconst isValidThemeParam = (value: null | string): value is 'auto' | Theme =>\n value === 'auto' || value === 'light' || value === 'dark'\n\n/**\n * Provides theme context to its children.\n *\n * At the root (no parent ThemeProvider): reads/writes cookies, responds to\n * OS preference, owns setTheme and setHighContrastMode.\n *\n * When nested inside another ThemeProvider (e.g. inside a Popup): acts as a\n * scoped visual the `theme` prop sets the local theme, but setThemeoverride\n * and setHighContrastMode bubble up through each level to the root provider so\n * mutations always affect the global user preference.\n *\n * The ThemeProvider also reads the `?theme=light|dark|auto` query parameter and\n * persists it to the theme cookie using the same mechanism as manual theme selection.\n */\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n highContrastMode?: boolean\n theme?: Theme\n}> = ({ children, highContrastMode: initialHighContrastMode, theme: themeOverride }) => {\n const outerContext = use(Context)\n const isScoped = outerContext !== undefined\n\n const { config } = useConfig()\n const preselectedTheme = config.admin.theme\n const themeCookieKey = `${config.cookiePrefix || 'payload'}-theme`\n const contrastCookieKey = `${config.cookiePrefix || 'payload'}-high-contrast-mode`\n\n const themeParam = useSearchParams().get('theme')?.toLowerCase()\n\n const [theme, setThemeState] = useState<Theme>(themeOverride ?? defaultTheme)\n const [autoMode, setAutoMode] = useState<boolean>(!isScoped)\n const [highContrastMode, setHighContrastModeState] = useState<boolean>(\n isScoped ? (outerContext.highContrastMode ?? false) : (initialHighContrastMode ?? false),\n )\n\n // Setters bubble up to the root provider by default. Pass { scoped: true }\n // to update only the local (scoped) theme without affecting global state.\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setTheme(themeToSet, options)\n return\n }\n const resolvedTheme: Theme =\n themeToSet === 'auto'\n ? window.matchMedia?.('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n : themeToSet\n\n setThemeState(resolvedTheme)\n setAutoMode(themeToSet === 'auto')\n\n if (!isScoped) {\n setCookie(themeCookieKey, themeToSet, themeToSet === 'auto' ? -1 : 365)\n document.documentElement.setAttribute('data-theme', resolvedTheme)\n }\n },\n [isScoped, outerContext, themeCookieKey],\n )\n\n const setHighContrastMode = useCallback(\n (isHighContrast: boolean, options?: { scoped?: boolean }) => {\n if (isScoped && !options?.scoped) {\n outerContext.setHighContrastMode(isHighContrast, options)\n return\n }\n setHighContrastModeState(isHighContrast)\n if (!isScoped) {\n setCookie(contrastCookieKey, String(isHighContrast), 365)\n if (isHighContrast) {\n document.documentElement.setAttribute('data-enhanced-contrast', '')\n } else {\n document.documentElement.removeAttribute('data-enhanced-contrast')\n }\n }\n },\n [isScoped, outerContext, contrastCookieKey],\n )\n\n // Keep highContrastMode in sync with the outer provider when scoped.\n useEffect(() => {\n if (isScoped) {\n setHighContrastModeState(outerContext.highContrastMode)\n }\n }, [isScoped, outerContext?.highContrastMode])\n\n // Resolve the root theme: a valid `?theme` param wins (applied via setTheme so\n // it persists to the theme cookie exactly like a manual selection; otherwise\n // fall back to the cookie or OS preference.\n useEffect(() => {\n if (isScoped || preselectedTheme !== 'all') {\n return\n }\n if (isValidThemeParam(themeParam)) {\n setTheme(themeParam)\n return\n }\n const { isAutoMode, theme: detectedTheme } = detectTheme(themeCookieKey)\n setThemeState(detectedTheme)\n setAutoMode(isAutoMode)\n }, [isScoped, preselectedTheme, themeCookieKey, themeParam, setTheme])\n\n useEffect(() => {\n if (isScoped) {\n return\n }\n setHighContrastModeState(detectHighContrastMode(contrastCookieKey))\n }, [isScoped, contrastCookieKey])\n\n return (\n <Context\n value={{\n autoMode: isScoped ? outerContext.autoMode : autoMode,\n highContrastMode,\n setHighContrastMode,\n setTheme,\n theme: isScoped ? outerContext.theme : theme,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useTheme = (): ThemeContext => use(Context) ?? initialContext\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useLayoutEffect","useState","createPortal","Toaster","CheckIcon","InfoIcon","WarningIcon","XIcon","getActiveModal","ToastContainer","t0","$","config","admin","t1","toast","t2","undefined","duration","expand","limit","position","modalState","portalContainer","setPortalContainer","setCloseIconRef","_temp","t3","t4","Symbol","for","container","document","createElement","body","appendChild","remove","t5","t6","updateContainer","activeModal","destination","parentElement","observer","MutationObserver","observe","attributeFilter","attributes","childList","subtree","disconnect","_jsx","className","closeButton","dir","gap","icons","close","ref","style","display","children","size","info","success","offset","bottom","right","width","theme","toastOptions","classNames","content","error","icon","title","warning","unstyled","visibleToasts","element","closest","setAttribute"],"sources":["../../../src/providers/ToastContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useLayoutEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { Toaster } from 'sonner'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { InfoIcon } from '../../icons/Info/index.js'\nimport { WarningIcon } from '../../icons/Warning/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { getActiveModal } from '../../utilities/getActiveModal.js'\nimport './index.css'\n\nexport const ToastContainer: React.FC<{\n config: ClientConfig\n}> = ({ config }) => {\n const { admin: { toast: { duration, expand, limit, position } = {} } = {} } = config\n\n const { modalState } = useModal()\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null)\n const setCloseIconRef = useCallback((element: HTMLSpanElement | null) => {\n element?.closest('[data-close-button]')?.setAttribute('aria-live', 'off')\n }, [])\n\n useLayoutEffect(() => {\n const container = document.createElement('div')\n\n document.body.appendChild(container)\n setPortalContainer(container)\n return () => container.remove()\n }, [])\n\n useLayoutEffect(() => {\n if (!portalContainer) {\n return\n }\n const updateContainer = () => {\n const activeModal = getActiveModal({ modalState })\n const destination = activeModal ?? document.body\n\n // Move the portal host, preserving Sonner's mounted state and pending notifications.\n if (portalContainer.parentElement !== destination) {\n destination.appendChild(portalContainer)\n }\n }\n\n updateContainer()\n const observer = new MutationObserver(updateContainer)\n\n observer.observe(document.body, {\n attributeFilter: ['open'],\n attributes: true,\n childList: true,\n subtree: true,\n })\n return () => observer.disconnect()\n }, [modalState, portalContainer])\n\n if (!portalContainer) {\n return null\n }\n\n return createPortal(\n <Toaster\n className=\"payload-toast-container\"\n closeButton\n // @ts-expect-error - Sonner's `dir` prop is typed as `Direction`, but passing \"undefined\" opts out of RTL/LTR handling\n dir=\"undefined\"\n duration={duration ?? 6000}\n expand={expand ?? false}\n gap={8}\n icons={{\n close: (\n <span aria-hidden=\"true\" ref={setCloseIconRef} style={{ display: 'contents' }}>\n <XIcon size={24} />\n </span>\n ),\n error: <WarningIcon />,\n info: <InfoIcon />,\n success: <CheckIcon size={24} />,\n warning: <WarningIcon />,\n }}\n offset={{\n bottom: 'var(--spacer-6)',\n right: 'var(--spacer-6)',\n }}\n position={position ?? 'bottom-right'}\n style={{\n width: '280px',\n }}\n theme=\"dark\"\n toastOptions={{\n classNames: {\n closeButton: 'payload-toast-close-button',\n content: 'toast-content',\n error: 'toast-error',\n icon: 'toast-icon',\n info: 'toast-info',\n success: 'toast-success',\n title: 'toast-title',\n toast: 'payload-toast-item',\n warning: 'toast-warning',\n },\n unstyled: true,\n }}\n visibleToasts={limit ?? 5}\n />,\n portalContainer,\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,WAAW,EAAEC,eAAe,EAAEC,QAAQ,QAAQ;AAC9D,SAASC,YAAY,QAAQ;AAC7B,SAASC,OAAO,QAAQ;AAExB,SAASC,SAAS,QAAQ;AAC1B,SAASC,QAAQ,QAAQ;AACzB,SAASC,WAAW,QAAQ;AAC5B,SAASC,KAAK,QAAQ;AACtB,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,OAAO,MAAMC,cAAA,GAERC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB;EAAA,IAAAF,EAAU;EACd;IAAAG,KAAA,EAAAC;EAAA,IAA8EF,MAAA;EAA/D;IAAAG,KAAA,EAAAC;EAAA,IAAAF,EAA0D,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useCallback","useLayoutEffect","useState","createPortal","Toaster","CheckIcon","InfoIcon","WarningIcon","XIcon","getActiveModal","ToastContainer","t0","$","config","admin","t1","toast","t2","undefined","duration","expand","limit","position","modalState","portalContainer","setPortalContainer","setCloseIconRef","_temp","t3","t4","Symbol","for","container","document","createElement","body","appendChild","remove","t5","t6","updateContainer","activeModal","destination","parentElement","observer","MutationObserver","observe","attributeFilter","attributes","childList","subtree","disconnect","_jsx","className","closeButton","dir","gap","icons","close","ref","style","display","children","size","info","success","offset","bottom","right","width","theme","toastOptions","classNames","content","error","icon","title","warning","unstyled","visibleToasts","element","closest","setAttribute"],"sources":["../../../src/providers/ToastContainer/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientConfig } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useLayoutEffect, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { Toaster } from 'sonner'\n\nimport { CheckIcon } from '../../icons/Check/index.js'\nimport { InfoIcon } from '../../icons/Info/index.js'\nimport { WarningIcon } from '../../icons/Warning/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { getActiveModal } from '../../utilities/getActiveModal.js'\nimport './index.css'\n\nexport const ToastContainer: React.FC<{\n config: ClientConfig\n}> = ({ config }) => {\n const { admin: { toast: { duration, expand, limit, position } = {} } = {} } = config\n\n const { modalState } = useModal()\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null)\n const setCloseIconRef = useCallback((element: HTMLSpanElement | null) => {\n element?.closest('[data-close-button]')?.setAttribute('aria-live', 'off')\n }, [])\n\n useLayoutEffect(() => {\n const container = document.createElement('div')\n\n document.body.appendChild(container)\n setPortalContainer(container)\n return () => container.remove()\n }, [])\n\n useLayoutEffect(() => {\n if (!portalContainer) {\n return\n }\n const updateContainer = () => {\n const activeModal = getActiveModal({ modalState })\n const destination = activeModal ?? document.body\n\n // Move the portal host, preserving Sonner's mounted state and pending notifications.\n if (portalContainer.parentElement !== destination) {\n destination.appendChild(portalContainer)\n }\n }\n\n updateContainer()\n const observer = new MutationObserver(updateContainer)\n\n observer.observe(document.body, {\n attributeFilter: ['open'],\n attributes: true,\n childList: true,\n subtree: true,\n })\n return () => observer.disconnect()\n }, [modalState, portalContainer])\n\n if (!portalContainer) {\n return null\n }\n\n return createPortal(\n <Toaster\n className=\"payload-toast-container\"\n closeButton\n // @ts-expect-error - Sonner's `dir` prop is typed as `Direction`, but passing \"undefined\" opts out of RTL/LTR handling\n dir=\"undefined\"\n duration={duration ?? 6000}\n expand={expand ?? false}\n gap={8}\n icons={{\n close: (\n <span aria-hidden=\"true\" ref={setCloseIconRef} style={{ display: 'contents' }}>\n <XIcon size={24} />\n </span>\n ),\n error: <WarningIcon />,\n info: <InfoIcon />,\n success: <CheckIcon size={24} />,\n warning: <WarningIcon />,\n }}\n offset={{\n bottom: 'var(--spacer-6)',\n right: 'var(--spacer-6)',\n }}\n position={position ?? 'bottom-right'}\n style={{\n width: '280px',\n }}\n theme=\"dark\"\n toastOptions={{\n classNames: {\n closeButton: 'payload-toast-close-button',\n content: 'toast-content',\n error: 'toast-error',\n icon: 'toast-icon',\n info: 'toast-info',\n success: 'toast-success',\n title: 'toast-title',\n toast: 'payload-toast-item',\n warning: 'toast-warning',\n },\n unstyled: true,\n }}\n visibleToasts={limit ?? 5}\n />,\n portalContainer,\n )\n}\n"],"mappings":"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","ignoreList":[]}
|