@payloadcms/ui 4.0.0-internal.934870d → 4.0.0-internal.970009e
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/css/preflight.css +21 -2
- 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/AppHeader/index.css +1 -1
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/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/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -34
- package/dist/elements/BulkUpload/FormsManager/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.d.ts.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +27 -19
- 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/DatePicker.js +6 -2
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +40 -25
- 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.css +13 -10
- 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.css +7 -7
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +125 -65
- 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/DocumentHeader/Tabs/tabs/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/FieldSelect/reduceFieldOptions.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.css +7 -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.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +10 -6
- 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 +32 -21
- 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/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +19 -3
- package/dist/elements/Popup/index.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/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +3 -0
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- 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.css +50 -7
- 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/File/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/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.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +6 -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/index.js.map +1 -1
- package/dist/elements/Table/useAriaSort.js.map +1 -1
- package/dist/elements/Tabs/index.css +4 -3
- 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-S7MOGZSR.js → CodeEditor-23ZGBN6S.js} +2 -2
- package/dist/exports/client/{DatePicker-POZJVQP4.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-2AY67NFV.js → chunk-ZP2PB6M4.js} +2 -2
- package/dist/exports/client/chunk-ZP2PB6M4.js.map +7 -0
- 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 +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- 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.css +3 -5
- 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 +17 -21
- 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 +19 -8
- 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/reduceToSerializableFields.d.ts +9 -4
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +34 -7
- package/dist/forms/Form/reduceToSerializableFields.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.css +2 -2
- 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/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/icons/Sidebar/index.d.ts.map +1 -1
- package/dist/icons/Sidebar/index.js +2 -0
- package/dist/icons/Sidebar/index.js.map +1 -1
- package/dist/icons/Table/index.css +5 -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/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +4 -15
- package/dist/layouts/Root/index.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.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +37 -25
- 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/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +34 -23
- package/dist/providers/ServerFunctions/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 +87 -3
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.css +0 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +32 -6
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts +8 -2
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +11 -1
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +2 -10
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +3 -7
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +2 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +4 -9
- 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.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +30 -21
- 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 +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +18 -5
- 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.css +26 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +28 -17
- 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} +6 -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} +24 -21
- 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 +21 -23
- package/dist/exports/client/chunk-2AY67NFV.js.map +0 -7
- package/dist/exports/client/chunk-Z42OBP5U.js +0 -27
- package/dist/exports/client/chunk-Z42OBP5U.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 -73
- 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 -122
- 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 -401
- package/dist/widgets/RecentlyViewed/index.client.js.map +0 -1
- package/dist/widgets/RecentlyViewed/index.css +0 -318
- 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 -45
- 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-S7MOGZSR.js.map → CodeEditor-23ZGBN6S.js.map} +0 -0
- /package/dist/exports/client/{DatePicker-POZJVQP4.js.map → DatePicker-AZBZPMY6.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RootProviders.js","names":["c","_c","DndContext","pointerWithin","ModalContainer","ModalProvider","ScrollInfoProvider","React","CloseModalOnRouteChange","DrawerStackProvider","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","AuthProvider","ClickOutsideProvider","ClientFunctionProvider","ConfigProvider","DocumentEventsProvider","EmbedProvider","HierarchyProvider","LocaleProvider","ModalAccessibility","PreferencesProvider","RouteCache","RouteTransitionProvider","ProgressBar","ServerFunctionsProvider","ThemeProvider","ToastContainer","TranslationProvider","UploadHandlersProvider","WindowInfoProvider","RootProviders","t0","$","children","data","RouterAdapter","serverFunction","clientConfig","config","dateFNSKey","fallbackLang","highContrastMode","isEmbedded","embed","isNavOpen","languageCode","languageOptions","locale","permissions","theme","translations","user","dndContextID","useId","t1","_jsxs","_Fragment","_jsx","cachingEnabled","process","env","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","initialIsOpen","collisionDetection","id"],"sources":["../../../src/layouts/Root/RootProviders.tsx"],"sourcesContent":["'use client'\nimport type { RouterAdapterComponent, ServerFunctionClient } from 'payload'\n\nimport { DndContext, pointerWithin } from '@dnd-kit/core'\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport React from 'react'\n\nimport type { RootLayoutData } from './getRootLayoutData.js'\n\nimport { CloseModalOnRouteChange } from '../../elements/CloseModalOnRouteChange/index.js'\nimport { DrawerStackProvider } from '../../elements/Drawer/index.js'\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { AuthProvider } from '../../providers/Auth/index.js'\nimport { ClickOutsideProvider } from '../../providers/ClickOutside/index.js'\nimport { ClientFunctionProvider } from '../../providers/ClientFunction/index.js'\nimport { ConfigProvider } from '../../providers/Config/index.js'\nimport { DocumentEventsProvider } from '../../providers/DocumentEvents/index.js'\nimport { EmbedProvider } from '../../providers/Embed/index.js'\nimport { HierarchyProvider } from '../../providers/Hierarchy/index.js'\nimport { LocaleProvider } from '../../providers/Locale/index.js'\nimport { ModalAccessibility } from '../../providers/ModalAccessibility/index.js'\nimport { PreferencesProvider } from '../../providers/Preferences/index.js'\nimport { RouteCache } from '../../providers/RouteCache/index.js'\nimport { RouteTransitionProvider } from '../../providers/RouteTransition/index.js'\nimport { ProgressBar } from '../../providers/RouteTransition/ProgressBar/index.js'\nimport { ServerFunctionsProvider } from '../../providers/ServerFunctions/index.js'\nimport { ThemeProvider } from '../../providers/Theme/index.js'\nimport { ToastContainer } from '../../providers/ToastContainer/index.js'\nimport { TranslationProvider } from '../../providers/Translation/index.js'\nimport { UploadHandlersProvider } from '../../providers/UploadHandlers/index.js'\nimport { WindowInfoProvider } from '../../providers/WindowInfo/index.js'\n\nexport type RootProviderProps = {\n readonly children: React.ReactNode\n readonly data: RootLayoutData\n readonly RouterAdapter: RouterAdapterComponent\n readonly serverFunction: ServerFunctionClient\n}\n\nexport const RootProviders: React.FC<RootProviderProps> = ({\n children,\n data,\n RouterAdapter,\n serverFunction,\n}) => {\n const {\n clientConfig: config,\n dateFNSKey,\n fallbackLang,\n highContrastMode,\n isEmbedded: embed,\n isNavOpen,\n languageCode,\n languageOptions,\n locale,\n permissions,\n theme,\n translations,\n user,\n } = data\n\n const dndContextID = React.useId()\n\n return (\n <>\n <ClickOutsideProvider>\n <RouteTransitionProvider>\n <RouterAdapter>\n <ServerFunctionsProvider serverFunction={serverFunction}>\n <RouteCache\n cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}\n >\n <ConfigProvider config={config}>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <ModalProvider\n classPrefix=\"payload\"\n transTime={0}\n zIndex=\"var(--z-modal)\"\n >\n <DrawerStackProvider>\n <ModalAccessibility />\n <CloseModalOnRouteChange />\n <AuthProvider permissions={permissions} user={user}>\n <PreferencesProvider>\n <HierarchyProvider>\n <ThemeProvider\n highContrastMode={highContrastMode}\n theme={theme}\n >\n <EmbedProvider embed={embed}>\n <LocaleProvider locale={locale}>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <NavProvider initialIsOpen={isNavOpen}>\n <UploadHandlersProvider>\n <DndContext\n collisionDetection={pointerWithin}\n // Provide stable ID to fix hydration issues: https://github.com/clauderic/dnd-kit/issues/926\n id={dndContextID}\n >\n <ProgressBar />\n {children}\n </DndContext>\n </UploadHandlersProvider>\n </NavProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </EmbedProvider>\n </ThemeProvider>\n </HierarchyProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n {/* AuthProvider can unmount its children during logout; keep pending toasts alive. */}\n <ToastContainer config={config} />\n </DrawerStackProvider>\n </ModalProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </ConfigProvider>\n </RouteCache>\n </ServerFunctionsProvider>\n </RouterAdapter>\n </RouteTransitionProvider>\n </ClickOutsideProvider>\n <div id=\"portal\" />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"RootProviders.js","names":["c","_c","DndContext","pointerWithin","ModalContainer","ModalProvider","ScrollInfoProvider","React","CloseModalOnRouteChange","DrawerStackProvider","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","AuthProvider","ClickOutsideProvider","ClientFunctionProvider","ConfigProvider","DocumentEventsProvider","EmbedProvider","HierarchyProvider","LocaleProvider","ModalAccessibility","ModalFocusProvider","PreferencesProvider","RouteCache","RouteTransitionProvider","ProgressBar","ServerFunctionsProvider","ThemeProvider","ToastContainer","TranslationProvider","UploadHandlersProvider","WindowInfoProvider","RootProviders","t0","$","children","data","RouterAdapter","serverFunction","clientConfig","config","dateFNSKey","fallbackLang","highContrastMode","isEmbedded","embed","isNavOpen","languageCode","languageOptions","locale","permissions","theme","translations","user","dndContextID","useId","t1","_jsxs","_Fragment","_jsx","cachingEnabled","process","env","NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","initialIsOpen","collisionDetection","id"],"sources":["../../../src/layouts/Root/RootProviders.tsx"],"sourcesContent":["'use client'\nimport type { RouterAdapterComponent, ServerFunctionClient } from 'payload'\n\nimport { DndContext, pointerWithin } from '@dnd-kit/core'\nimport { ModalContainer, ModalProvider } from '@faceless-ui/modal'\nimport { ScrollInfoProvider } from '@faceless-ui/scroll-info'\nimport React from 'react'\n\nimport type { RootLayoutData } from './getRootLayoutData.js'\n\nimport { CloseModalOnRouteChange } from '../../elements/CloseModalOnRouteChange/index.js'\nimport { DrawerStackProvider } from '../../elements/Drawer/index.js'\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { AuthProvider } from '../../providers/Auth/index.js'\nimport { ClickOutsideProvider } from '../../providers/ClickOutside/index.js'\nimport { ClientFunctionProvider } from '../../providers/ClientFunction/index.js'\nimport { ConfigProvider } from '../../providers/Config/index.js'\nimport { DocumentEventsProvider } from '../../providers/DocumentEvents/index.js'\nimport { EmbedProvider } from '../../providers/Embed/index.js'\nimport { HierarchyProvider } from '../../providers/Hierarchy/index.js'\nimport { LocaleProvider } from '../../providers/Locale/index.js'\nimport { ModalAccessibility } from '../../providers/ModalAccessibility/index.js'\nimport { ModalFocusProvider } from '../../providers/ModalFocus/index.js'\nimport { PreferencesProvider } from '../../providers/Preferences/index.js'\nimport { RouteCache } from '../../providers/RouteCache/index.js'\nimport { RouteTransitionProvider } from '../../providers/RouteTransition/index.js'\nimport { ProgressBar } from '../../providers/RouteTransition/ProgressBar/index.js'\nimport { ServerFunctionsProvider } from '../../providers/ServerFunctions/index.js'\nimport { ThemeProvider } from '../../providers/Theme/index.js'\nimport { ToastContainer } from '../../providers/ToastContainer/index.js'\nimport { TranslationProvider } from '../../providers/Translation/index.js'\nimport { UploadHandlersProvider } from '../../providers/UploadHandlers/index.js'\nimport { WindowInfoProvider } from '../../providers/WindowInfo/index.js'\n\nexport type RootProviderProps = {\n readonly children: React.ReactNode\n readonly data: RootLayoutData\n readonly RouterAdapter: RouterAdapterComponent\n readonly serverFunction: ServerFunctionClient\n}\n\nexport const RootProviders: React.FC<RootProviderProps> = ({\n children,\n data,\n RouterAdapter,\n serverFunction,\n}) => {\n const {\n clientConfig: config,\n dateFNSKey,\n fallbackLang,\n highContrastMode,\n isEmbedded: embed,\n isNavOpen,\n languageCode,\n languageOptions,\n locale,\n permissions,\n theme,\n translations,\n user,\n } = data\n\n const dndContextID = React.useId()\n\n return (\n <>\n <ClickOutsideProvider>\n <RouteTransitionProvider>\n <RouterAdapter>\n <ServerFunctionsProvider serverFunction={serverFunction}>\n <RouteCache\n cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}\n >\n <ConfigProvider config={config}>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <ModalProvider\n classPrefix=\"payload\"\n transTime={0}\n zIndex=\"var(--z-modal)\"\n >\n <ModalFocusProvider>\n <DrawerStackProvider>\n <ModalAccessibility />\n <CloseModalOnRouteChange />\n <AuthProvider permissions={permissions} user={user}>\n <PreferencesProvider>\n <HierarchyProvider>\n <ThemeProvider\n highContrastMode={highContrastMode}\n theme={theme}\n >\n <EmbedProvider embed={embed}>\n <LocaleProvider locale={locale}>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <NavProvider initialIsOpen={isNavOpen}>\n <UploadHandlersProvider>\n <DndContext\n collisionDetection={pointerWithin}\n // Provide stable ID to fix hydration issues: https://github.com/clauderic/dnd-kit/issues/926\n id={dndContextID}\n >\n <ProgressBar />\n {children}\n </DndContext>\n </UploadHandlersProvider>\n </NavProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </EmbedProvider>\n </ThemeProvider>\n </HierarchyProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n {/* AuthProvider can unmount its children during logout; keep pending toasts alive. */}\n <ToastContainer config={config} />\n </DrawerStackProvider>\n </ModalFocusProvider>\n </ModalProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </ConfigProvider>\n </RouteCache>\n </ServerFunctionsProvider>\n </RouterAdapter>\n </RouteTransitionProvider>\n </ClickOutsideProvider>\n <div id=\"portal\" />\n </>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,6 +55,6 @@ type RootLayoutProps = {
|
|
|
55
55
|
}>;
|
|
56
56
|
readonly serverFunction: ServerFunctionClient;
|
|
57
57
|
};
|
|
58
|
-
export declare const RootLayout: (
|
|
58
|
+
export declare const RootLayout: ({ additionalDependencyChecks, children, config: configPromise, fonts, head, htmlProps, importMap, initAdminContext, RouterAdapter, serverFunction, }: RootLayoutProps) => Promise<React.JSX.Element>;
|
|
59
59
|
export {};
|
|
60
60
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE/E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAKpG,OAAO,4BAA4B,CAAA;AAEnC,KAAK,IAAI,GAAG;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ;IACnB,WAAW;IACX,KAAK;CACN,CAAA;AAED,KAAK,eAAe,GAAG;IACrB;;;;OAIG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,qBAAqB,CAAA;IAC3D,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACvB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;IAC9D,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,CAAA;IAC7C;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAC/D,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,CAAA;AAED,eAAO,MAAM,UAAU,yJAWpB,eAAe,+BAoDjB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react';
|
|
3
3
|
// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference client bundle for proper client boundary in production
|
|
4
4
|
import { DocumentRoot, RootProviders } from '../../exports/client/index.js';
|
|
5
5
|
import { checkDependencies } from '../../utilities/checkDependencies.js';
|
|
@@ -12,20 +12,8 @@ export const metadata = {
|
|
|
12
12
|
description: 'Generated by Next.js',
|
|
13
13
|
title: 'Next.js'
|
|
14
14
|
};
|
|
15
|
-
export const RootLayout =
|
|
16
|
-
|
|
17
|
-
const content = /*#__PURE__*/_jsx(RootLayoutContent, {
|
|
18
|
-
...props
|
|
19
|
-
});
|
|
20
|
-
if (process.env.PAYLOAD_CACHE_COMPONENTS_ENABLED === 'true') {
|
|
21
|
-
return /*#__PURE__*/_jsx(Suspense, {
|
|
22
|
-
fallback: null,
|
|
23
|
-
children: content
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return content;
|
|
27
|
-
};
|
|
28
|
-
const RootLayoutContent = async ({
|
|
15
|
+
export const RootLayout = async ({
|
|
16
|
+
additionalDependencyChecks,
|
|
29
17
|
children,
|
|
30
18
|
config: configPromise,
|
|
31
19
|
fonts = [],
|
|
@@ -36,6 +24,7 @@ const RootLayoutContent = async ({
|
|
|
36
24
|
RouterAdapter,
|
|
37
25
|
serverFunction
|
|
38
26
|
}) => {
|
|
27
|
+
checkDependencies(additionalDependencyChecks);
|
|
39
28
|
const context = await initAdminContext({
|
|
40
29
|
configPromise,
|
|
41
30
|
importMap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","DocumentRoot","RootProviders","checkDependencies","getRootLayoutData","NestProviders","getViewportMeta","metadata","description","title","RootLayout","additionalDependencyChecks","children","config","configPromise","fonts","head","htmlProps","importMap","initAdminContext","RouterAdapter","serverFunction","context","key","cookies","permissions","req","user","payload","data","_jsx","dir","highContrastMode","languageCode","suppressHydrationWarning","theme","themeSource","viewport","headers","get","undefined","Array","isArray","admin","components","providers","length","serverProps","i18n","server"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport React from 'react'\n\nimport type { InitAdminContextFn } from '../../views/Root/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference client bundle for proper client boundary in production\nimport { DocumentRoot, RootProviders } from '../../exports/client/index.js'\nimport { checkDependencies, type CheckDependenciesArgs } from '../../utilities/checkDependencies.js'\nimport { getRootLayoutData } from './getRootLayoutData.js'\nimport { NestProviders } from './NestProviders.js'\nimport { getViewportMeta } from './viewport.js'\n// eslint-disable-next-line payload/no-imports-from-self -- Self-import ensures the consumer bundler resolves the full CSS chain\nimport '@payloadcms/ui/css/app.css'\n\ntype Font = {\n className?: string\n variable?: string\n}\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\ntype RootLayoutProps = {\n /**\n * Framework-specific peer-dependency version constraints, merged on top of the\n * universal React/react-dom checks. Each framework adapter supplies its own\n * (e.g. Next.js passes `{ dependencyVersions: { next: { version: '>=15.0.0' } } }`).\n */\n readonly additionalDependencyChecks?: CheckDependenciesArgs\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n /**\n * Fonts to apply to the admin `<html>` element. Each entry's\n * `variable ?? className` is appended to the `<html>` class list.\n * Framework-specific font loaders (e.g. `next/font`) are supplied by the caller.\n */\n readonly fonts?: Font[]\n /**\n * Custom content to render inside the admin panel's `<head>` element.\n *\n * Use this to inject scripts, meta tags, or links — for example, analytics\n * snippets via `next/script`, custom favicons, or preconnect hints.\n *\n * @example\n * ```tsx\n * import Script from 'next/script'\n *\n * <RootLayout\n * head={<Script src=\"https://example.com/analytics.js\" strategy=\"afterInteractive\" />}\n * {...rest}\n * />\n * ```\n */\n readonly head?: React.ReactNode\n readonly htmlProps?: React.HtmlHTMLAttributes<HTMLHtmlElement>\n readonly importMap: ImportMap\n readonly initAdminContext: InitAdminContextFn\n /**\n * Client router adapter. Caller supplies a framework-specific provider\n * (for Next.js use the `NextRouterAdapter` exported from `@payloadcms/next`).\n */\n readonly RouterAdapter: React.FC<{ children: React.ReactNode }>\n readonly serverFunction: ServerFunctionClient\n}\n\nexport const RootLayout = async ({\n additionalDependencyChecks,\n children,\n config: configPromise,\n fonts = [],\n head,\n htmlProps = {},\n importMap,\n initAdminContext,\n RouterAdapter,\n serverFunction,\n}: RootLayoutProps) => {\n checkDependencies(additionalDependencyChecks)\n\n const context = await initAdminContext({ configPromise, importMap, key: 'RootLayout' })\n\n const { cookies, permissions, req, user } = context\n\n const { config } = req.payload\n\n const data = await getRootLayoutData({\n cookies,\n importMap,\n permissions,\n req,\n user,\n })\n\n return (\n <DocumentRoot\n dir={data.dir}\n fonts={fonts}\n head={head}\n highContrastMode={data.highContrastMode}\n htmlProps={htmlProps}\n languageCode={data.languageCode}\n suppressHydrationWarning={data.suppressHydrationWarning}\n theme={data.theme}\n themeSource={data.themeSource}\n viewport={getViewportMeta(req.headers.get('user-agent') ?? undefined)}\n >\n <RootProviders data={data} RouterAdapter={RouterAdapter} serverFunction={serverFunction}>\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin.components.providers.length > 0 ? (\n <NestProviders\n importMap={req.payload.importMap}\n providers={config.admin.components.providers}\n serverProps={{\n i18n: req.i18n,\n payload: req.payload,\n permissions,\n server: req.server,\n user,\n }}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProviders>\n </DocumentRoot>\n )\n}\n"],"mappings":";AAEA,OAAOA,KAAA,MAAW;AAIlB;AACA,SAASC,YAAY,EAAEC,aAAa,QAAQ;AAC5C,SAASC,iBAAiB,QAAoC;AAC9D,SAASC,iBAAiB,QAAQ;AAClC,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,QAAQ;AAChC;AACA,OAAO;AAOP,OAAO,MAAMC,QAAA,GAAW;EACtBC,WAAA,EAAa;EACbC,KAAA,EAAO;AACT;AA6CA,OAAO,MAAMC,UAAA,GAAa,MAAAA,CAAO;EAC/BC,0BAA0B;EAC1BC,QAAQ;EACRC,MAAA,EAAQC,aAAa;EACrBC,KAAA,GAAQ,EAAE;EACVC,IAAI;EACJC,SAAA,GAAY,CAAC,CAAC;EACdC,SAAS;EACTC,gBAAgB;EAChBC,aAAa;EACbC;AAAc,CACE;EAChBlB,iBAAA,CAAkBQ,0BAAA;EAElB,MAAMW,OAAA,GAAU,MAAMH,gBAAA,CAAiB;IAAEL,aAAA;IAAeI,SAAA;IAAWK,GAAA,EAAK;EAAa;EAErF,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC,GAAG;IAAEC;EAAI,CAAE,GAAGL,OAAA;EAE5C,MAAM;IAAET;EAAM,CAAE,GAAGa,GAAA,CAAIE,OAAO;EAE9B,MAAMC,IAAA,GAAO,MAAMzB,iBAAA,CAAkB;IACnCoB,OAAA;IACAN,SAAA;IACAO,WAAA;IACAC,GAAA;IACAC;EACF;EAEA,oBACEG,IAAA,CAAC7B,YAAA;IACC8B,GAAA,EAAKF,IAAA,CAAKE,GAAG;IACbhB,KAAA,EAAOA,KAAA;IACPC,IAAA,EAAMA,IAAA;IACNgB,gBAAA,EAAkBH,IAAA,CAAKG,gBAAgB;IACvCf,SAAA,EAAWA,SAAA;IACXgB,YAAA,EAAcJ,IAAA,CAAKI,YAAY;IAC/BC,wBAAA,EAA0BL,IAAA,CAAKK,wBAAwB;IACvDC,KAAA,EAAON,IAAA,CAAKM,KAAK;IACjBC,WAAA,EAAaP,IAAA,CAAKO,WAAW;IAC7BC,QAAA,EAAU/B,eAAA,CAAgBoB,GAAA,CAAIY,OAAO,CAACC,GAAG,CAAC,iBAAiBC,SAAA;cAE3D,aAAAV,IAAA,CAAC5B,aAAA;MAAc2B,IAAA,EAAMA,IAAA;MAAMT,aAAA,EAAeA,aAAA;MAAeC,cAAA,EAAgBA,cAAA;gBACtEoB,KAAA,CAAMC,OAAO,CAAC7B,MAAA,CAAO8B,KAAK,EAAEC,UAAA,EAAYC,SAAA,KACzChC,MAAA,CAAO8B,KAAK,CAACC,UAAU,CAACC,SAAS,CAACC,MAAM,GAAG,iBACzChB,IAAA,CAACzB,aAAA;QACCa,SAAA,EAAWQ,GAAA,CAAIE,OAAO,CAACV,SAAS;QAChC2B,SAAA,EAAWhC,MAAA,CAAO8B,KAAK,CAACC,UAAU,CAACC,SAAS;QAC5CE,WAAA,EAAa;UACXC,IAAA,EAAMtB,GAAA,CAAIsB,IAAI;UACdpB,OAAA,EAASF,GAAA,CAAIE,OAAO;UACpBH,WAAA;UACAwB,MAAA,EAAQvB,GAAA,CAAIuB,MAAM;UAClBtB;QACF;kBAECf;WAGHA;;;AAKV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useEffect","useState","useEffectEvent","ActionsContext","Actions","setViewActions","useActions","ActionsProvider","t0","$","children","viewKey","viewActions","t1","resetViewActions","t2","t3","t4","_jsx","value"],"sources":["../../../src/providers/Actions/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, use, useEffect, useState } from 'react'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\n\ntype ActionsContextType = {\n Actions: {\n [key: string]: React.ReactNode\n }\n setViewActions: (actions: ActionsContextType['Actions']) => void\n}\n\nconst ActionsContext = createContext<ActionsContextType>({\n Actions: {},\n setViewActions: () => {},\n})\n\nexport const useActions = () => use(ActionsContext)\n\nexport const ActionsProvider: React.FC<{\n readonly Actions?: {\n [key: string]: React.ReactNode\n }\n readonly children: React.ReactNode\n readonly viewKey?: string\n}> = ({ Actions, children, viewKey }) => {\n const [viewActions, setViewActions] = useState(Actions)\n const resetViewActions = useEffectEvent(() => {\n setViewActions(Actions)\n })\n\n useEffect(() => {\n resetViewActions()\n }, [viewKey])\n\n return (\n <ActionsContext\n value={{\n Actions: {\n ...viewActions,\n ...Actions,\n },\n setViewActions,\n }}\n >\n {children}\n </ActionsContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAE/D,SAASC,cAAc,QAAQ;AAS/B,MAAMC,cAAA,gBAAiBL,aAAA,CAAkC;EACvDM,OAAA,EAAS,CAAC;EACVC,cAAA,EAAgBA,CAAA,MAAO;AACzB;AAEA,OAAO,MAAMC,UAAA,GAAaA,CAAA,KAAMP,GAAA,CAAII,cAAA;AAEpC,OAAO,MAAMI,eAAA,GAMRC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAQ,OAAA;IAAAM,QAAA;IAAAC;EAAA,IAAAH,EAA8B;EAClC,OAAAI,WAAA,EAAAP,cAAA,IAAsCJ,QAAA,CAASG,OAAA;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAL,OAAA;IACPS,EAAA,GAAAA,CAAA;MACtCR,cAAA,CAAeD,OAAA;IAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useEffect","useState","useEffectEvent","ActionsContext","Actions","setViewActions","useActions","ActionsProvider","t0","$","children","viewKey","viewActions","t1","resetViewActions","t2","t3","t4","_jsx","value"],"sources":["../../../src/providers/Actions/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { createContext, use, useEffect, useState } from 'react'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\n\ntype ActionsContextType = {\n Actions: {\n [key: string]: React.ReactNode\n }\n setViewActions: (actions: ActionsContextType['Actions']) => void\n}\n\nconst ActionsContext = createContext<ActionsContextType>({\n Actions: {},\n setViewActions: () => {},\n})\n\nexport const useActions = () => use(ActionsContext)\n\nexport const ActionsProvider: React.FC<{\n readonly Actions?: {\n [key: string]: React.ReactNode\n }\n readonly children: React.ReactNode\n readonly viewKey?: string\n}> = ({ Actions, children, viewKey }) => {\n const [viewActions, setViewActions] = useState(Actions)\n const resetViewActions = useEffectEvent(() => {\n setViewActions(Actions)\n })\n\n useEffect(() => {\n resetViewActions()\n }, [viewKey])\n\n return (\n <ActionsContext\n value={{\n Actions: {\n ...viewActions,\n ...Actions,\n },\n setViewActions,\n }}\n >\n {children}\n </ActionsContext>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAE/D,SAASC,cAAc,QAAQ;AAS/B,MAAMC,cAAA,gBAAiBL,aAAA,CAAkC;EACvDM,OAAA,EAAS,CAAC;EACVC,cAAA,EAAgBA,CAAA,MAAO;AACzB;AAEA,OAAO,MAAMC,UAAA,GAAaA,CAAA,KAAMP,GAAA,CAAII,cAAA;AAEpC,OAAO,MAAMI,eAAA,GAMRC,EAAA;EAAA,MAAAC,CAAA,GAAAb,EAAA;EAAC;IAAAQ,OAAA;IAAAM,QAAA;IAAAC;EAAA,IAAAH,EAA8B;EAClC,OAAAI,WAAA,EAAAP,cAAA,IAAsCJ,QAAA,CAASG,OAAA;EAAA,IAAAS,EAAA;EAAA,IAAAJ,CAAA,QAAAL,OAAA;IACPS,EAAA,GAAAA,CAAA;MACtCR,cAAA,CAAeD,OAAA;IAAA,CACjB;IAAAK,CAAA,MAAAL,OAAA;IAAAK,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAFA,MAAAK,gBAAA,GAAyBZ,cAAA,CAAeW,EAExC;EAAA,IAAAE,EAAA;EAAA,IAAAN,CAAA,QAAAK,gBAAA;IAEUC,EAAA,GAAAA,CAAA;MACRD,gBAAA;IAAA,CACF;IAAAL,CAAA,MAAAK,gBAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAA,IAAAO,EAAA;EAAA,IAAAP,CAAA,QAAAE,OAAA;IAAGK,EAAA,IAACL,OAAA,CAAQ;IAAAF,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAFZT,SAAA,CAAUe,EAEV,EAAGC,EAAS;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAL,OAAA,IAAAK,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAG,WAAA;IAGVK,EAAA,GAAAC,IAAA,CAACf,cAAA;MAAAgB,KAAA,EACQ;QAAAf,OAAA,EACI;UAAA,GACJQ,WAAW;UAAA,GACXR;QACL;QAAAC;MAEF;MAAAK;;;;;;;;;SAPFO,E;CAYJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","useAuth","formatCountdown","getActivityStatus","getActivityWindowStatus","getRefreshWindowStatus","AuthSessionDebug","t0","$","children","authSession","nowMs","setNowMs","useState","t1","t2","Symbol","for","updateCountdown","Date","now","interval","window","setInterval","clearInterval","useEffect","expiresInMs","Math","max","expiresAt","t3","activityStatus","undefined","activityWindowStatus","refreshWindowStatus","_jsxs","_Fragment","className","_jsx"],"sources":["../../../../src/providers/Auth/AuthSessionDebug/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useAuth } from '../index.js'\nimport {\n formatCountdown,\n getActivityStatus,\n getActivityWindowStatus,\n getRefreshWindowStatus,\n} from './utilities.js'\nimport './index.css'\n\ntype Props = {\n children?: React.ReactNode\n}\n\n/**\n * Displays the current auth session's expiration, refresh, and activity lifecycle.\n *\n * Register this component as an admin provider to render it on every admin page.\n */\nexport const AuthSessionDebug: React.FC<Props> = ({ children }) => {\n const { authSession } = useAuth()\n const [nowMs, setNowMs] = React.useState<number>()\n\n React.useEffect(() => {\n const updateCountdown = () => setNowMs(Date.now())\n\n updateCountdown()\n\n const interval = window.setInterval(updateCountdown, 1000)\n\n return () => window.clearInterval(interval)\n }, [])\n\n const expiresInMs = Math.max(0, (authSession?.expiresAt ?? 0) - (nowMs ?? 0))\n const activityStatus =\n authSession && nowMs !== undefined ? getActivityStatus({ authSession, nowMs }) : 'waiting'\n const activityWindowStatus =\n authSession && nowMs !== undefined\n ? getActivityWindowStatus({ activityStatus, authSession, nowMs })\n : ''\n const refreshWindowStatus =\n authSession && nowMs !== undefined ? getRefreshWindowStatus({ authSession, nowMs }) : ''\n\n return (\n <>\n {children}\n\n {authSession && nowMs !== undefined ? (\n <aside\n aria-label=\"Auth session countdown\"\n className=\"auth-session-debug\"\n data-auth-session-debug\n data-auth-session-expires-at={authSession.expiresAt}\n >\n <strong>Auth session</strong>\n <span>Access expires in: {formatCountdown(expiresInMs)}</span>\n <span>\n Refresh window: <span data-auth-session-refresh-window>{refreshWindowStatus}</span>\n </span>\n <span\n className={`auth-session-debug__activity auth-session-debug__activity--${activityStatus}`}\n >\n <span aria-hidden className=\"auth-session-debug__activity-indicator\" />\n Activity window: <span data-auth-session-activity>{activityWindowStatus}</span>\n </span>\n </aside>\n ) : null}\n </>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SACEC,eAAe,EACfC,iBAAiB,EACjBC,uBAAuB,EACvBC,sBAAsB,QACjB;AACP,OAAO;AAMP;;;;;AAKA,OAAO,MAAMC,gBAAA,GAAoCC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAC5D;IAAAG;EAAA,IAAwBT,OAAA;EACxB,OAAAU,KAAA,EAAAC,QAAA,IAA0BZ,KAAA,CAAAa,
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useAuth","formatCountdown","getActivityStatus","getActivityWindowStatus","getRefreshWindowStatus","AuthSessionDebug","t0","$","children","authSession","nowMs","setNowMs","useState","t1","t2","Symbol","for","updateCountdown","Date","now","interval","window","setInterval","clearInterval","useEffect","expiresInMs","Math","max","expiresAt","t3","activityStatus","undefined","activityWindowStatus","refreshWindowStatus","_jsxs","_Fragment","className","_jsx"],"sources":["../../../../src/providers/Auth/AuthSessionDebug/index.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useAuth } from '../index.js'\nimport {\n formatCountdown,\n getActivityStatus,\n getActivityWindowStatus,\n getRefreshWindowStatus,\n} from './utilities.js'\nimport './index.css'\n\ntype Props = {\n children?: React.ReactNode\n}\n\n/**\n * Displays the current auth session's expiration, refresh, and activity lifecycle.\n *\n * Register this component as an admin provider to render it on every admin page.\n */\nexport const AuthSessionDebug: React.FC<Props> = ({ children }) => {\n const { authSession } = useAuth()\n const [nowMs, setNowMs] = React.useState<number>()\n\n React.useEffect(() => {\n const updateCountdown = () => setNowMs(Date.now())\n\n updateCountdown()\n\n const interval = window.setInterval(updateCountdown, 1000)\n\n return () => window.clearInterval(interval)\n }, [])\n\n const expiresInMs = Math.max(0, (authSession?.expiresAt ?? 0) - (nowMs ?? 0))\n const activityStatus =\n authSession && nowMs !== undefined ? getActivityStatus({ authSession, nowMs }) : 'waiting'\n const activityWindowStatus =\n authSession && nowMs !== undefined\n ? getActivityWindowStatus({ activityStatus, authSession, nowMs })\n : ''\n const refreshWindowStatus =\n authSession && nowMs !== undefined ? getRefreshWindowStatus({ authSession, nowMs }) : ''\n\n return (\n <>\n {children}\n\n {authSession && nowMs !== undefined ? (\n <aside\n aria-label=\"Auth session countdown\"\n className=\"auth-session-debug\"\n data-auth-session-debug\n data-auth-session-expires-at={authSession.expiresAt}\n >\n <strong>Auth session</strong>\n <span>Access expires in: {formatCountdown(expiresInMs)}</span>\n <span>\n Refresh window: <span data-auth-session-refresh-window>{refreshWindowStatus}</span>\n </span>\n <span\n className={`auth-session-debug__activity auth-session-debug__activity--${activityStatus}`}\n >\n <span aria-hidden className=\"auth-session-debug__activity-indicator\" />\n Activity window: <span data-auth-session-activity>{activityWindowStatus}</span>\n </span>\n </aside>\n ) : null}\n </>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,OAAO,QAAQ;AACxB,SACEC,eAAe,EACfC,iBAAiB,EACjBC,uBAAuB,EACvBC,sBAAsB,QACjB;AACP,OAAO;AAMP;;;;;AAKA,OAAO,MAAMC,gBAAA,GAAoCC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAC5D;IAAAG;EAAA,IAAwBT,OAAA;EACxB,OAAAU,KAAA,EAAAC,QAAA,IAA0BZ,KAAA,CAAAa,QAAc;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAQ,MAAA,CAAAC,GAAA;IAExBH,EAAA,GAAAA,CAAA;MACd,MAAAI,eAAA,GAAwBA,CAAA,KAAMN,QAAA,CAASO,IAAA,CAAAC,GAAQ;MAE/CF,eAAA;MAEA,MAAAG,QAAA,GAAiBC,MAAA,CAAAC,WAAkB,CAACL,eAAA,EAAiB;MAAA,OAE9C,MAAMI,MAAA,CAAAE,aAAoB,CAACH,QAAA;IAAA,CACpC;IAAGN,EAAA,KAAE;IAAAP,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EARLR,KAAA,CAAAyB,SAAe,CAACX,EAQhB,EAAGC,EAAE;EAEL,MAAAW,WAAA,GAAoBC,IAAA,CAAAC,GAAQ,CAAC,GAAG,CAAClB,WAAA,EAAAmB,SAA0B,IAA1B,CAA0B,KAAMlB,KAAS,IAAT,CAAS;EAAA,IAAAmB,EAAA;EAAA,IAAAtB,CAAA,QAAAE,WAAA,IAAAF,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAkB,WAAA,IAAAlB,CAAA,QAAAG,KAAA;IAC1E,MAAAoB,cAAA,GACErB,WAAyB,IAAVC,KAAA,KAAUqB,SAAwD,GAA5C7B,iBAAA,CAAkB;MAAAO,WAAA;MAAAC;IAAqB,CAAK,IAAjF,SAAiF;IACnF,MAAAsB,oBAAA,GACEvB,WAAyB,IAAVC,KAAA,KAAUqB,SAErB,GADA5B,uBAAA,CAAwB;MAAA2B,cAAA;MAAArB,WAAA;MAAAC;IAAqC,CAC7D,IAFJ,EAEI;IACN,MAAAuB,mBAAA,GACExB,WAAyB,IAAVC,KAAA,KAAUqB,SAA6D,GAAjD3B,sBAAA,CAAuB;MAAAK,WAAA;MAAAC;IAAqB,CAAK,IAAtF,EAAsF;IAGtFmB,EAAA,GAAAK,KAAA,CAAAC,SAAA;MAAA3B,QAAA,E,CACGA,QAAA,EAEAC,WAAyB,IAAVC,KAAA,KAAUqB,SAmBtB,GAlBFG,KAAA,CAAC;QAAA,cACY;QAAAE,SAAA,EACD;QAAA,2BACa;QAAA,gCACO3B,WAAA,CAAAmB,SAAqB;QAAApB,QAAA,E,CAEnD6B,IAAA,CAAC;UAAA7B,QAAA,EAAO;YACR0B,KAAA,CAAC;UAAA1B,QAAA,E,CAAK,uBAAoBP,eAAA,CAAgBwB,WAAA;YAC1CS,KAAA,CAAC;UAAA1B,QAAA,E,CAAK,oBACY6B,IAAA,CAAC;YAAA,oCAAqC;YAAA7B,QAAA,EAAEyB;;YAE1DC,KAAA,CAAC;UAAAE,SAAA,EACY,8DAA8DN,cAAA,EAAgB;UAAAtB,QAAA,E,CAEzF6B,IAAA,CAAC;YAAA,eAAgB;YAAAD,SAAA,EAAW;cAA2C,qBACtDC,IAAA,CAAC;YAAA,8BAA+B;YAAA7B,QAAA,EAAEwB;;;OAGrD,IAnBH,IAmBG;;;;;;;;;;SAtBNH,E;CAyBJ","ignoreList":[]}
|
|
@@ -68,14 +68,14 @@ export function AuthProvider({
|
|
|
68
68
|
adminRoute,
|
|
69
69
|
path: ''
|
|
70
70
|
});
|
|
71
|
-
startRouteTransition(() => router.replace(formatAdminURL({
|
|
71
|
+
void startRouteTransition(() => router.replace(formatAdminURL({
|
|
72
72
|
adminRoute,
|
|
73
73
|
path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`
|
|
74
74
|
})));
|
|
75
75
|
closeAllModals();
|
|
76
76
|
}, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition]);
|
|
77
77
|
const redirectToLoginRoute = useCallback(() => {
|
|
78
|
-
startRouteTransition(() => router.replace(formatAdminURL({
|
|
78
|
+
void startRouteTransition(() => router.replace(formatAdminURL({
|
|
79
79
|
adminRoute,
|
|
80
80
|
path: loginRoute
|
|
81
81
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","usePathname","useRouter","useSearchParams","useRouteTransition","createAuthSessionRequests","TAB_SESSION_EVENT_TYPES","useTabSessionSync","useAuthSessionTimers","Context","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","searchParams","route","toString","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","login","loginRoute","userSlug","adminRoute","api","apiRoute","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","authSession","setAuthSession","setPermissions","fetchedUserOnMount","setFetchedUserOnMount","authRequests","userRef","useRef","isAuthenticated","Boolean","redirectToInactivityRoute","baseAdminRoute","path","replace","window","location","startsWith","encodeURIComponent","redirectToLoginRoute","onSessionActivity","currentAuthSession","activityRecorded","onSessionActivityRefresh","refreshSession","isActivityRefresh","onSessionExpiration","expirationMs","collection","current","tabSessionSync","broadcast","type","EXPIRED","expiredTokenAt","logOutSession","then","onSessionReminder","sessionTimers","scheduleRefresh","onActivity","onActivityRefresh","onExpire","onReminder","recordActivity","clearUserInMemory","undefined","clear","setLocalSession","session","exp","Number","isFinite","nextSessionTiming","setExpiration","token","refreshedToken","setUser","discardPendingResults","getTokenExpirationMs","getCurrentExpirationMs","onSessionExpired","onSessionLoggedOut","onSessionRefreshed","isLoggingOut","onTabSessionUnauthenticated","reconcileSession","options","result","fetchFullUserResult","status","refresh","acceptResult","invalidateWhenIdle","isResultStale","handledExpiration","handledUser","refreshStartedAt","Date","now","request","post","headers","language","json","REFRESHED","invalidateSession","e","error","message","refreshCookieAsync","logOut","clearSession","_","logoutEvent","LOGGED_OUT","logoutPublication","broadcastLogoutSettlement","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","isTabSessionEventStale","queue","isResponseStale","credentials","fetchFullUser","fetchFullUserEvent","fetchUserOnMount","prefillOnly","_jsx","value","refreshCookie","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { AuthenticatedUser, SanitizedPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { TabSessionReconciliationOptions } from './tabSessionSync/index.js'\nimport type { AuthContext, AuthSession, UserWithToken } from './types.js'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../RouterAdapter/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\nimport { createAuthSessionRequests } from './authSessionRequests.js'\nimport { TAB_SESSION_EVENT_TYPES } from './tabSessionSync/index.js'\nimport { useTabSessionSync } from './tabSessionSync/useTabSessionSync.js'\nimport { useAuthSessionTimers } from './useAuthSessionTimers.js'\n\nexport type { AuthContext, AuthSession, UserWithToken } from './types.js'\n\nconst Context = createContext({} as AuthContext)\n\ntype Props = {\n children: React.ReactNode\n permissions?: SanitizedPermissions\n user?: AuthenticatedUser | null\n}\n\ntype FetchFullUserResult =\n | {\n expirationMs?: number\n status: 'authenticated'\n user: AuthenticatedUser\n }\n | {\n status: 'indeterminate'\n }\n | {\n status: 'unauthenticated'\n }\n\ntype UserResponse = {\n exp?: number\n refreshedToken?: string\n token?: string\n user?: AuthenticatedUser | null\n}\n\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const pathname = usePathname()\n const router = useRouter()\n const searchParams = useSearchParams()\n const route = `${pathname}?${searchParams.toString()}`\n\n const { config } = useConfig()\n\n const {\n admin: {\n autoLogin,\n autoRefresh,\n routes: { inactivity: logoutInactivityRoute, login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const { startRouteTransition } = useRouteTransition()\n\n const [user, setUserInMemory] = useState<AuthenticatedUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [authSession, setAuthSession] = useState<AuthSession>()\n const [permissions, setPermissions] = useState<SanitizedPermissions>(initialPermissions)\n const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false)\n\n const [authRequests] = useState(createAuthSessionRequests)\n const userRef = React.useRef<AuthenticatedUser | null>(initialUser)\n\n const isAuthenticated = Boolean(user)\n\n const redirectToInactivityRoute = useCallback(() => {\n const baseAdminRoute = formatAdminURL({ adminRoute, path: '' })\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`,\n }),\n ),\n )\n\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition])\n\n const redirectToLoginRoute = useCallback(() => {\n startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n ),\n )\n\n closeAllModals()\n }, [adminRoute, closeAllModals, loginRoute, router, startRouteTransition])\n\n function onSessionActivity() {\n setAuthSession((currentAuthSession) => {\n if (!currentAuthSession || currentAuthSession.activityRecorded) {\n return currentAuthSession\n }\n\n return {\n ...currentAuthSession,\n activityRecorded: true,\n }\n })\n }\n\n function onSessionActivityRefresh() {\n void refreshSession({ isActivityRefresh: true })\n }\n\n function onSessionExpiration(expirationMs: number) {\n const collection = userRef.current?.collection\n\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.EXPIRED,\n expiredTokenAt: expirationMs,\n })\n void logOutSession({ collection }).then(redirectToInactivityRoute)\n }\n\n function onSessionReminder() {\n if (autoRefresh) {\n sessionTimers.scheduleRefresh()\n } else {\n openModal(stayLoggedInModalSlug)\n }\n }\n\n const sessionTimers = useAuthSessionTimers({\n isAuthenticated,\n onActivity: onSessionActivity,\n onActivityRefresh: onSessionActivityRefresh,\n onExpire: onSessionExpiration,\n onReminder: onSessionReminder,\n })\n\n useEffect(() => {\n sessionTimers.recordActivity('route')\n }, [route, sessionTimers])\n\n const clearUserInMemory = useCallback(() => {\n userRef.current = null\n setUserInMemory(null)\n setTokenInMemory(undefined)\n setAuthSession(undefined)\n sessionTimers.clear()\n }, [sessionTimers])\n\n const setLocalSession = useCallback(\n (session: null | UserResponse) => {\n if (session?.user) {\n const expirationMs =\n typeof session.exp === 'number' && Number.isFinite(session.exp)\n ? session.exp * 1000\n : undefined\n const nextSessionTiming =\n expirationMs !== undefined ? sessionTimers.setExpiration(expirationMs) : undefined\n\n userRef.current = session.user\n setUserInMemory(session.user)\n setTokenInMemory(session.token ?? session.refreshedToken)\n\n if (nextSessionTiming) {\n setAuthSession({\n ...nextSessionTiming,\n activityRecorded: false,\n })\n }\n } else {\n clearUserInMemory()\n }\n },\n [clearUserInMemory, sessionTimers],\n )\n\n const setUser = useCallback(\n (session: null | UserWithToken) => {\n authRequests.discardPendingResults()\n setLocalSession(session)\n },\n [authRequests, setLocalSession],\n )\n\n const tabSessionSync = useTabSessionSync({\n getTokenExpirationMs: sessionTimers.getCurrentExpirationMs,\n onSessionExpired: () => {\n const collection = userRef.current?.collection\n\n void logOutSession({ collection }).then(redirectToInactivityRoute)\n },\n onSessionLoggedOut: () => {\n const collection = userRef.current?.collection\n\n void logOutSession({ collection }).then(redirectToLoginRoute)\n },\n onSessionRefreshed: (session) => {\n if (!authRequests.isLoggingOut()) {\n authRequests.discardPendingResults()\n setLocalSession(session)\n }\n },\n onTabSessionUnauthenticated: () => {\n redirectToInactivityRoute()\n },\n reconcileSession: async (options) => {\n const result = await fetchFullUserResult(options)\n\n if (result.status === 'authenticated' && result.expirationMs !== undefined) {\n return {\n expirationMs: result.expirationMs,\n status: result.status,\n user: result.user,\n }\n }\n\n if (result.status === 'unauthenticated') {\n return result\n }\n\n return { status: 'indeterminate' }\n },\n })\n\n const refreshSession = useCallback(\n ({ isActivityRefresh }: { isActivityRefresh: boolean }): Promise<AuthenticatedUser | null> => {\n return authRequests.refresh(async ({ acceptResult, invalidateWhenIdle, isResultStale }) => {\n if (isResultStale()) {\n return null\n }\n\n const handledExpiration = sessionTimers.getCurrentExpirationMs()\n const handledUser = userRef.current\n\n try {\n const refreshStartedAt = Date.now()\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token${isActivityRefresh ? '?refresh' : ''}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (isResultStale()) {\n return null\n }\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n\n if (!acceptResult()) {\n return null\n }\n\n setLocalSession(json)\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.REFRESHED,\n refreshStartedAt,\n session: json,\n })\n return json.user\n }\n\n if (handledUser) {\n const invalidateSession = () => {\n if (handledExpiration !== undefined) {\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.EXPIRED,\n expiredTokenAt: handledExpiration,\n })\n }\n\n setLocalSession(null)\n redirectToInactivityRoute()\n }\n\n invalidateWhenIdle(invalidateSession)\n }\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n }\n\n return null\n })\n },\n [\n apiRoute,\n authRequests,\n tabSessionSync,\n i18n.language,\n redirectToInactivityRoute,\n sessionTimers,\n setLocalSession,\n userSlug,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n (): Promise<AuthenticatedUser | null> => refreshSession({ isActivityRefresh: false }),\n [refreshSession],\n )\n\n const logOutSession = useCallback(\n ({ collection }: { collection?: string }): Promise<void> => {\n return authRequests.logOut({\n clearSession: () => {\n authRequests.discardPendingResults()\n setLocalSession(null)\n },\n request: async () => {\n try {\n if (collection) {\n await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${collection}/logout`,\n }),\n )\n }\n } catch (_) {\n // Explicit logout always clears local state, even if server revocation fails.\n }\n },\n })\n },\n [apiRoute, authRequests, setLocalSession],\n )\n\n const logOut = useCallback(async () => {\n const logoutEvent = { type: TAB_SESSION_EVENT_TYPES.LOGGED_OUT } as const\n const logoutPublication = tabSessionSync.broadcast(logoutEvent)\n const collection = userRef.current?.collection\n\n await logOutSession({ collection })\n\n if (logoutPublication?.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {\n tabSessionSync.broadcastLogoutSettlement(logoutPublication)\n }\n\n return true\n }, [tabSessionSync, logOutSession])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/access${params}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: SanitizedPermissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [apiRoute, i18n],\n )\n\n const fetchFullUserResult = React.useCallback(\n ({\n isTabSessionEventStale,\n }: Partial<TabSessionReconciliationOptions> = {}): Promise<FetchFullUserResult> => {\n return authRequests.queue(async ({ acceptResult, isResultStale }) => {\n const isResponseStale = () => isResultStale() || Boolean(isTabSessionEventStale?.())\n\n if (isResponseStale()) {\n return { status: 'indeterminate' }\n }\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/me`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status !== 200) {\n return { status: 'indeterminate' }\n }\n\n const json: null | UserResponse = await request.json()\n\n if (isResponseStale()) {\n return { status: 'indeterminate' }\n }\n\n if (json?.user) {\n if (!acceptResult()) {\n return { status: 'indeterminate' }\n }\n\n setLocalSession(json)\n\n return {\n expirationMs:\n typeof json.exp === 'number' && Number.isFinite(json.exp)\n ? json.exp * 1000\n : sessionTimers.getCurrentExpirationMs(),\n status: 'authenticated',\n user: json.user,\n }\n }\n\n setLocalSession(null)\n\n return { status: 'unauthenticated' }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n\n return { status: 'indeterminate' }\n })\n },\n [apiRoute, authRequests, i18n.language, sessionTimers, setLocalSession, userSlug],\n )\n\n const fetchFullUser = React.useCallback(async (): Promise<AuthenticatedUser | null> => {\n const result = await fetchFullUserResult()\n\n return result.status === 'authenticated' ? result.user : null\n }, [fetchFullUserResult])\n\n const fetchFullUserEvent = useEffectEvent(fetchFullUser)\n\n useEffect(() => {\n async function fetchUserOnMount() {\n await fetchFullUserEvent()\n setFetchedUserOnMount(true)\n }\n\n void fetchUserOnMount()\n }, [])\n\n useEffect(() => {\n if (!user && autoLogin && !autoLogin.prefillOnly) {\n void fetchFullUserEvent()\n }\n }, [user, autoLogin])\n\n useEffect(\n () => () => {\n authRequests.discardPendingResults()\n },\n [authRequests],\n )\n\n if (!user && !fetchedUserOnMount) {\n return null\n }\n\n return (\n <Context\n value={{\n authSession,\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie: sessionTimers.scheduleRefresh,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useAuth = <T = AuthenticatedUser,>(): AuthContext<T> => use(Context) as AuthContext<T>\n"],"mappings":"AAAA;;;AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAC5E,SAASC,KAAK,QAAQ;AAKtB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,WAAW,EAAEC,SAAS,EAAEC,eAAe,QAAQ;AACxD,SAASC,kBAAkB,QAAQ;AACnC,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,uBAAuB,QAAQ;AACxC,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AAIrC,MAAMC,OAAA,gBAAUnB,aAAA,CAAc,CAAC;AA4B/B,OAAO,SAASoB,aAAa;EAC3BC,QAAQ;EACRC,WAAA,EAAaC,kBAAkB;EAC/BC,IAAA,EAAMC;AAAW,CACX;EACN,MAAMC,QAAA,GAAWf,WAAA;EACjB,MAAMgB,MAAA,GAASf,SAAA;EACf,MAAMgB,YAAA,GAAef,eAAA;EACrB,MAAMgB,KAAA,GAAQ,GAAGH,QAAA,IAAYE,YAAA,CAAaE,QAAQ,IAAI;EAEtD,MAAM;IAAEC;EAAM,CAAE,GAAGrB,SAAA;EAEnB,MAAM;IACJsB,KAAA,EAAO;MACLC,SAAS;MACTC,WAAW;MACXC,MAAA,EAAQ;QAAEC,UAAA,EAAYC,qBAAqB;QAAEC,KAAA,EAAOC;MAAU,CAAE;MAChEf,IAAA,EAAMgB;IAAQ,CACf;IACDL,MAAA,EAAQ;MAAEH,KAAA,EAAOS,UAAU;MAAEC,GAAA,EAAKC;IAAQ;EAAE,CAC7C,GAAGZ,MAAA;EAEJ,MAAM;IAAEa;EAAI,CAAE,GAAGpC,cAAA;EACjB,MAAM;IAAEqC,cAAc;IAAEC;EAAS,CAAE,GAAGlD,QAAA;EACtC,MAAM;IAAEmD;EAAoB,CAAE,GAAGjC,kBAAA;EAEjC,MAAM,CAACU,IAAA,EAAMwB,eAAA,CAAgB,GAAG5C,QAAA,CAAmCqB,WAAA;EACnE,MAAM,CAACwB,aAAA,EAAeC,gBAAA,CAAiB,GAAG9C,QAAA;EAC1C,MAAM,CAAC+C,WAAA,EAAaC,cAAA,CAAe,GAAGhD,QAAA;EACtC,MAAM,CAACkB,WAAA,EAAa+B,cAAA,CAAe,GAAGjD,QAAA,CAA+BmB,kBAAA;EACrE,MAAM,CAAC+B,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGnD,QAAA,CAAS;EAE7D,MAAM,CAACoD,YAAA,CAAa,GAAGpD,QAAA,CAASW,yBAAA;EAChC,MAAM0C,OAAA,GAAU1D,KAAA,CAAM2D,MAAM,CAA2BjC,WAAA;EAEvD,MAAMkC,eAAA,GAAkBC,OAAA,CAAQpC,IAAA;EAEhC,MAAMqC,yBAAA,GAA4B3D,WAAA,CAAY;IAC5C,MAAM4D,cAAA,GAAiBjE,cAAA,CAAe;MAAE4C,UAAA;MAAYsB,IAAA,EAAM;IAAG;IAC7DhB,oBAAA,CAAqB,MACnBpB,MAAA,CAAOqC,OAAO,CACZnE,cAAA,CAAe;MACb4C,UAAA;MACAsB,IAAA,EAAM,GAAG1B,qBAAA,GAAwB4B,MAAA,CAAOC,QAAQ,CAACxC,QAAQ,CAACyC,UAAU,CAACL,cAAA,IAAkB,aAAaM,kBAAA,CAAmBH,MAAA,CAAOC,QAAQ,CAACxC,QAAQ,GAAG,GAAG;IACvJ;IAIJmB,cAAA;EACF,GAAG,CAAClB,MAAA,EAAQc,UAAA,EAAYJ,qBAAA,EAAuBQ,cAAA,EAAgBE,oBAAA,CAAqB;EAEpF,MAAMsB,oBAAA,GAAuBnE,WAAA,CAAY;IACvC6C,oBAAA,CAAqB,MACnBpB,MAAA,CAAOqC,OAAO,CACZnE,cAAA,CAAe;MACb4C,UAAA;MACAsB,IAAA,EAAMxB;IACR;IAIJM,cAAA;EACF,GAAG,CAACJ,UAAA,EAAYI,cAAA,EAAgBN,UAAA,EAAYZ,MAAA,EAAQoB,oBAAA,CAAqB;EAEzE,SAASuB,kBAAA;IACPlB,cAAA,CAAgBmB,kBAAA;MACd,IAAI,CAACA,kBAAA,IAAsBA,kBAAA,CAAmBC,gBAAgB,EAAE;QAC9D,OAAOD,kBAAA;MACT;MAEA,OAAO;QACL,GAAGA,kBAAkB;QACrBC,gBAAA,EAAkB;MACpB;IACF;EACF;EAEA,SAASC,yBAAA;IACP,KAAKC,cAAA,CAAe;MAAEC,iBAAA,EAAmB;IAAK;EAChD;EAEA,SAASC,oBAAoBC,YAAoB;IAC/C,MAAMC,UAAA,GAAarB,OAAA,CAAQsB,OAAO,EAAED,UAAA;IAEpCE,cAAA,CAAeC,SAAS,CAAC;MACvBC,IAAA,EAAMlE,uBAAA,CAAwBmE,OAAO;MACrCC,cAAA,EAAgBP;IAClB;IACA,KAAKQ,aAAA,CAAc;MAAEP;IAAW,GAAGQ,IAAI,CAACzB,yBAAA;EAC1C;EAEA,SAAS0B,kBAAA;IACP,IAAIrD,WAAA,EAAa;MACfsD,aAAA,CAAcC,eAAe;IAC/B,OAAO;MACL3C,SAAA,CAAUxC,qBAAA;IACZ;EACF;EAEA,MAAMkF,aAAA,GAAgBtE,oBAAA,CAAqB;IACzCyC,eAAA;IACA+B,UAAA,EAAYpB,iBAAA;IACZqB,iBAAA,EAAmBlB,wBAAA;IACnBmB,QAAA,EAAUhB,mBAAA;IACViB,UAAA,EAAYN;EACd;EAEApF,SAAA,CAAU;IACRqF,aAAA,CAAcM,cAAc,CAAC;EAC/B,GAAG,CAACjE,KAAA,EAAO2D,aAAA,CAAc;EAEzB,MAAMO,iBAAA,GAAoB7F,WAAA,CAAY;IACpCuD,OAAA,CAAQsB,OAAO,GAAG;IAClB/B,eAAA,CAAgB;IAChBE,gBAAA,CAAiB8C,SAAA;IACjB5C,cAAA,CAAe4C,SAAA;IACfR,aAAA,CAAcS,KAAK;EACrB,GAAG,CAACT,aAAA,CAAc;EAElB,MAAMU,eAAA,GAAkBhG,WAAA,CACrBiG,OAAA;IACC,IAAIA,OAAA,EAAS3E,IAAA,EAAM;MACjB,MAAMqD,cAAA,GACJ,OAAOsB,OAAA,CAAQC,GAAG,KAAK,YAAYC,MAAA,CAAOC,QAAQ,CAACH,OAAA,CAAQC,GAAG,IAC1DD,OAAA,CAAQC,GAAG,GAAG,OACdJ,SAAA;MACN,MAAMO,iBAAA,GACJ1B,cAAA,KAAiBmB,SAAA,GAAYR,aAAA,CAAcgB,aAAa,CAAC3B,cAAA,IAAgBmB,SAAA;MAE3EvC,OAAA,CAAQsB,OAAO,GAAGoB,OAAA,CAAQ3E,IAAI;MAC9BwB,eAAA,CAAgBmD,OAAA,CAAQ3E,IAAI;MAC5B0B,gBAAA,CAAiBiD,OAAA,CAAQM,KAAK,IAAIN,OAAA,CAAQO,cAAc;MAExD,IAAIH,iBAAA,EAAmB;QACrBnD,cAAA,CAAe;UACb,GAAGmD,iBAAiB;UACpB/B,gBAAA,EAAkB;QACpB;MACF;IACF,OAAO;MACLuB,iBAAA;IACF;EACF,GACA,CAACA,iBAAA,EAAmBP,aAAA,CAAc;EAGpC,MAAMmB,OAAA,GAAUzG,WAAA,CACbiG,SAAA;IACC3C,YAAA,CAAaoD,qBAAqB;IAClCV,eAAA,CAAgBC,SAAA;EAClB,GACA,CAAC3C,YAAA,EAAc0C,eAAA,CAAgB;EAGjC,MAAMlB,cAAA,GAAiB/D,iBAAA,CAAkB;IACvC4F,oBAAA,EAAsBrB,aAAA,CAAcsB,sBAAsB;IAC1DC,gBAAA,EAAkBA,CAAA;MAChB,MAAMjC,YAAA,GAAarB,OAAA,CAAQsB,OAAO,EAAED,UAAA;MAEpC,KAAKO,aAAA,CAAc;QAAEP,UAAA,EAAAA;MAAW,GAAGQ,IAAI,CAACzB,yBAAA;IAC1C;IACAmD,kBAAA,EAAoBA,CAAA;MAClB,MAAMlC,YAAA,GAAarB,OAAA,CAAQsB,OAAO,EAAED,UAAA;MAEpC,KAAKO,aAAA,CAAc;QAAEP,UAAA,EAAAA;MAAW,GAAGQ,IAAI,CAACjB,oBAAA;IAC1C;IACA4C,kBAAA,EAAqBd,SAAA;MACnB,IAAI,CAAC3C,YAAA,CAAa0D,YAAY,IAAI;QAChC1D,YAAA,CAAaoD,qBAAqB;QAClCV,eAAA,CAAgBC,SAAA;MAClB;IACF;IACAgB,2BAAA,EAA6BA,CAAA;MAC3BtD,yBAAA;IACF;IACAuD,gBAAA,EAAkB,MAAOC,OAAA;MACvB,MAAMC,MAAA,GAAS,MAAMC,mBAAA,CAAoBF,OAAA;MAEzC,IAAIC,MAAA,CAAOE,MAAM,KAAK,mBAAmBF,MAAA,CAAOzC,YAAY,KAAKmB,SAAA,EAAW;QAC1E,OAAO;UACLnB,YAAA,EAAcyC,MAAA,CAAOzC,YAAY;UACjC2C,MAAA,EAAQF,MAAA,CAAOE,MAAM;UACrBhG,IAAA,EAAM8F,MAAA,CAAO9F;QACf;MACF;MAEA,IAAI8F,MAAA,CAAOE,MAAM,KAAK,mBAAmB;QACvC,OAAOF,MAAA;MACT;MAEA,OAAO;QAAEE,MAAA,EAAQ;MAAgB;IACnC;EACF;EAEA,MAAM9C,cAAA,GAAiBxE,WAAA,CACrB,CAAC;IAAEyE;EAAiB,CAAkC;IACpD,OAAOnB,YAAA,CAAaiE,OAAO,CAAC,OAAO;MAAEC,YAAY;MAAEC,kBAAkB;MAAEC;IAAa,CAAE;MACpF,IAAIA,aAAA,IAAiB;QACnB,OAAO;MACT;MAEA,MAAMC,iBAAA,GAAoBrC,aAAA,CAAcsB,sBAAsB;MAC9D,MAAMgB,WAAA,GAAcrE,OAAA,CAAQsB,OAAO;MAEnC,IAAI;QACF,MAAMgD,gBAAA,GAAmBC,IAAA,CAAKC,GAAG;QACjC,MAAMC,OAAA,GAAU,MAAMzH,QAAA,CAAS0H,IAAI,CACjCtI,cAAA,CAAe;UACb8C,QAAA;UACAoB,IAAA,EAAM,IAAIvB,QAAA,iBAAyBmC,iBAAA,GAAoB,aAAa;QACtE,IACA;UACEyD,OAAA,EAAS;YACP,mBAAmBxF,IAAA,CAAKyF;UAC1B;QACF;QAGF,IAAIT,aAAA,IAAiB;UACnB,OAAO;QACT;QAEA,IAAIM,OAAA,CAAQV,MAAM,KAAK,KAAK;UAC1B,MAAMc,IAAA,GAAsB,MAAMJ,OAAA,CAAQI,IAAI;UAE9C,IAAI,CAACZ,YAAA,IAAgB;YACnB,OAAO;UACT;UAEAxB,eAAA,CAAgBoC,IAAA;UAChBtD,cAAA,CAAeC,SAAS,CAAC;YACvBC,IAAA,EAAMlE,uBAAA,CAAwBuH,SAAS;YACvCR,gBAAA;YACA5B,OAAA,EAASmC;UACX;UACA,OAAOA,IAAA,CAAK9G,IAAI;QAClB;QAEA,IAAIsG,WAAA,EAAa;UACf,MAAMU,iBAAA,GAAoBA,CAAA;YACxB,IAAIX,iBAAA,KAAsB7B,SAAA,EAAW;cACnChB,cAAA,CAAeC,SAAS,CAAC;gBACvBC,IAAA,EAAMlE,uBAAA,CAAwBmE,OAAO;gBACrCC,cAAA,EAAgByC;cAClB;YACF;YAEA3B,eAAA,CAAgB;YAChBrC,yBAAA;UACF;UAEA8D,kBAAA,CAAmBa,iBAAA;QACrB;MACF,EAAE,OAAOC,CAAA,EAAG;QACVpI,KAAA,CAAMqI,KAAK,CAAC,4BAA4BD,CAAA,CAAEE,OAAO,EAAE;MACrD;MAEA,OAAO;IACT;EACF,GACA,CACEhG,QAAA,EACAa,YAAA,EACAwB,cAAA,EACApC,IAAA,CAAKyF,QAAQ,EACbxE,yBAAA,EACA2B,aAAA,EACAU,eAAA,EACA1D,QAAA,CACD;EAGH,MAAMoG,kBAAA,GAAqB1I,WAAA,CACzB,MAAyCwE,cAAA,CAAe;IAAEC,iBAAA,EAAmB;EAAM,IACnF,CAACD,cAAA,CAAe;EAGlB,MAAMW,aAAA,GAAgBnF,WAAA,CACpB,CAAC;IAAE4E,UAAU,EAAVA;EAAU,CAA2B;IACtC,OAAOtB,YAAA,CAAaqF,MAAM,CAAC;MACzBC,YAAA,EAAcA,CAAA;QACZtF,YAAA,CAAaoD,qBAAqB;QAClCV,eAAA,CAAgB;MAClB;MACAgC,OAAA,EAAS,MAAAA,CAAA;QACP,IAAI;UACF,IAAIpD,YAAA,EAAY;YACd,MAAMrE,QAAA,CAAS0H,IAAI,CACjBtI,cAAA,CAAe;cACb8C,QAAA;cACAoB,IAAA,EAAM,IAAIe,YAAA;YACZ;UAEJ;QACF,EAAE,OAAOiE,CAAA,EAAG;UACV;QAAA;MAEJ;IACF;EACF,GACA,CAACpG,QAAA,EAAUa,YAAA,EAAc0C,eAAA,CAAgB;EAG3C,MAAM2C,MAAA,GAAS3I,WAAA,CAAY;IACzB,MAAM8I,WAAA,GAAc;MAAE9D,IAAA,EAAMlE,uBAAA,CAAwBiI;IAAW;IAC/D,MAAMC,iBAAA,GAAoBlE,cAAA,CAAeC,SAAS,CAAC+D,WAAA;IACnD,MAAMlE,YAAA,GAAarB,OAAA,CAAQsB,OAAO,EAAED,UAAA;IAEpC,MAAMO,aAAA,CAAc;MAAEP,UAAA,EAAAA;IAAW;IAEjC,IAAIoE,iBAAA,EAAmBhE,IAAA,KAASlE,uBAAA,CAAwBiI,UAAU,EAAE;MAClEjE,cAAA,CAAemE,yBAAyB,CAACD,iBAAA;IAC3C;IAEA,OAAO;EACT,GAAG,CAAClE,cAAA,EAAgBK,aAAA,CAAc;EAElC,MAAM+D,kBAAA,GAAqBlJ,WAAA,CACzB,OAAO;IAAEmJ;EAAM,CAAuB,GAAG,CAAC,CAAC;IACzC,MAAMC,MAAA,GAASxJ,EAAA,CAAGyJ,SAAS,CACzB;MACEF;IACF,GACA;MACEG,cAAA,EAAgB;IAClB;IAGF,IAAI;MACF,MAAMtB,SAAA,GAAU,MAAMzH,QAAA,CAASgJ,GAAG,CAChC5J,cAAA,CAAe;QACb8C,QAAA;QACAoB,IAAA,EAAM,UAAUuF,MAAA;MAClB,IACA;QACElB,OAAA,EAAS;UACP,mBAAmBxF,IAAA,CAAKyF;QAC1B;MACF;MAGF,IAAIH,SAAA,CAAQV,MAAM,KAAK,KAAK;QAC1B,MAAMc,MAAA,GAA6B,MAAMJ,SAAA,CAAQI,IAAI;QACrDjF,cAAA,CAAeiF,MAAA;MACjB,OAAO;QACL,MAAM,IAAIoB,KAAA,CAAM,gDAAgDxB,SAAA,CAAQV,MAAM,EAAE;MAClF;IACF,EAAE,OAAOiB,GAAA,EAAG;MACVpI,KAAA,CAAMqI,KAAK,CAAC,kCAAkCD,GAAA,CAAEE,OAAO,EAAE;IAC3D;EACF,GACA,CAAChG,QAAA,EAAUC,IAAA,CAAK;EAGlB,MAAM2E,mBAAA,GAAsBxH,KAAA,CAAMG,WAAW,CAC3C,CAAC;IACCyJ;EAAsB,CACmB,GAAG,CAAC,CAAC;IAC9C,OAAOnG,YAAA,CAAaoG,KAAK,CAAC,OAAO;MAAElC,YAAY,EAAZA,cAAY;MAAEE,aAAa,EAAbA;IAAa,CAAE;MAC9D,MAAMiC,eAAA,GAAkBA,CAAA,KAAMjC,eAAA,MAAmBhE,OAAA,CAAQ+F,sBAAA;MAEzD,IAAIE,eAAA,IAAmB;QACrB,OAAO;UAAErC,MAAA,EAAQ;QAAgB;MACnC;MAEA,IAAI;QACF,MAAMU,SAAA,GAAU,MAAMzH,QAAA,CAASgJ,GAAG,CAChC5J,cAAA,CAAe;UACb8C,QAAA;UACAoB,IAAA,EAAM,IAAIvB,QAAA;QACZ,IACA;UACEsH,WAAA,EAAa;UACb1B,OAAA,EAAS;YACP,mBAAmBxF,IAAA,CAAKyF;UAC1B;QACF;QAGF,IAAIH,SAAA,CAAQV,MAAM,KAAK,KAAK;UAC1B,OAAO;YAAEA,MAAA,EAAQ;UAAgB;QACnC;QAEA,MAAMc,MAAA,GAA4B,MAAMJ,SAAA,CAAQI,IAAI;QAEpD,IAAIuB,eAAA,IAAmB;UACrB,OAAO;YAAErC,MAAA,EAAQ;UAAgB;QACnC;QAEA,IAAIc,MAAA,EAAM9G,IAAA,EAAM;UACd,IAAI,CAACkG,cAAA,IAAgB;YACnB,OAAO;cAAEF,MAAA,EAAQ;YAAgB;UACnC;UAEAtB,eAAA,CAAgBoC,MAAA;UAEhB,OAAO;YACLzD,YAAA,EACE,OAAOyD,MAAA,CAAKlC,GAAG,KAAK,YAAYC,MAAA,CAAOC,QAAQ,CAACgC,MAAA,CAAKlC,GAAG,IACpDkC,MAAA,CAAKlC,GAAG,GAAG,OACXZ,aAAA,CAAcsB,sBAAsB;YAC1CU,MAAA,EAAQ;YACRhG,IAAA,EAAM8G,MAAA,CAAK9G;UACb;QACF;QAEA0E,eAAA,CAAgB;QAEhB,OAAO;UAAEsB,MAAA,EAAQ;QAAkB;MACrC,EAAE,OAAOiB,GAAA,EAAG;QACVpI,KAAA,CAAMqI,KAAK,CAAC,yBAAyBD,GAAA,CAAEE,OAAO,EAAE;MAClD;MAEA,OAAO;QAAEnB,MAAA,EAAQ;MAAgB;IACnC;EACF,GACA,CAAC7E,QAAA,EAAUa,YAAA,EAAcZ,IAAA,CAAKyF,QAAQ,EAAE7C,aAAA,EAAeU,eAAA,EAAiB1D,QAAA,CAAS;EAGnF,MAAMuH,aAAA,GAAgBhK,KAAA,CAAMG,WAAW,CAAC;IACtC,MAAMoH,QAAA,GAAS,MAAMC,mBAAA;IAErB,OAAOD,QAAA,CAAOE,MAAM,KAAK,kBAAkBF,QAAA,CAAO9F,IAAI,GAAG;EAC3D,GAAG,CAAC+F,mBAAA,CAAoB;EAExB,MAAMyC,kBAAA,GAAqBzJ,cAAA,CAAewJ,aAAA;EAE1C5J,SAAA,CAAU;IACR,eAAe8J,iBAAA;MACb,MAAMD,kBAAA;MACNzG,qBAAA,CAAsB;IACxB;IAEA,KAAK0G,gBAAA;EACP,GAAG,EAAE;EAEL9J,SAAA,CAAU;IACR,IAAI,CAACqB,IAAA,IAAQS,SAAA,IAAa,CAACA,SAAA,CAAUiI,WAAW,EAAE;MAChD,KAAKF,kBAAA;IACP;EACF,GAAG,CAACxI,IAAA,EAAMS,SAAA,CAAU;EAEpB9B,SAAA,CACE,MAAM;IACJqD,YAAA,CAAaoD,qBAAqB;EACpC,GACA,CAACpD,YAAA,CAAa;EAGhB,IAAI,CAAChC,IAAA,IAAQ,CAAC8B,kBAAA,EAAoB;IAChC,OAAO;EACT;EAEA,oBACE6G,IAAA,CAAChJ,OAAA;IACCiJ,KAAA,EAAO;MACLjH,WAAA;MACA4G,aAAA;MACAlB,MAAA;MACAvH,WAAA;MACA+I,aAAA,EAAe7E,aAAA,CAAcC,eAAe;MAC5CmD,kBAAA;MACAQ,kBAAA;MACA/F,cAAA;MACAsD,OAAA;MACAF,KAAA,EAAOxD,aAAA;MACPzB;IACF;cAECH;;AAGP;AAEA,OAAO,MAAMiJ,OAAA,GAAUA,CAAA,KAA8CrK,GAAA,CAAIkB,OAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","formatAdminURL","qs","React","createContext","use","useCallback","useEffect","useState","toast","stayLoggedInModalSlug","useEffectEvent","useTranslation","requests","useConfig","usePathname","useRouter","useSearchParams","useRouteTransition","createAuthSessionRequests","TAB_SESSION_EVENT_TYPES","useTabSessionSync","useAuthSessionTimers","Context","AuthProvider","children","permissions","initialPermissions","user","initialUser","pathname","router","searchParams","route","toString","config","admin","autoLogin","autoRefresh","routes","inactivity","logoutInactivityRoute","login","loginRoute","userSlug","adminRoute","api","apiRoute","i18n","closeAllModals","openModal","startRouteTransition","setUserInMemory","tokenInMemory","setTokenInMemory","authSession","setAuthSession","setPermissions","fetchedUserOnMount","setFetchedUserOnMount","authRequests","userRef","useRef","isAuthenticated","Boolean","redirectToInactivityRoute","baseAdminRoute","path","replace","window","location","startsWith","encodeURIComponent","redirectToLoginRoute","onSessionActivity","currentAuthSession","activityRecorded","onSessionActivityRefresh","refreshSession","isActivityRefresh","onSessionExpiration","expirationMs","collection","current","tabSessionSync","broadcast","type","EXPIRED","expiredTokenAt","logOutSession","then","onSessionReminder","sessionTimers","scheduleRefresh","onActivity","onActivityRefresh","onExpire","onReminder","recordActivity","clearUserInMemory","undefined","clear","setLocalSession","session","exp","Number","isFinite","nextSessionTiming","setExpiration","token","refreshedToken","setUser","discardPendingResults","getTokenExpirationMs","getCurrentExpirationMs","onSessionExpired","onSessionLoggedOut","onSessionRefreshed","isLoggingOut","onTabSessionUnauthenticated","reconcileSession","options","result","fetchFullUserResult","status","refresh","acceptResult","invalidateWhenIdle","isResultStale","handledExpiration","handledUser","refreshStartedAt","Date","now","request","post","headers","language","json","REFRESHED","invalidateSession","e","error","message","refreshCookieAsync","logOut","clearSession","_","logoutEvent","LOGGED_OUT","logoutPublication","broadcastLogoutSettlement","refreshPermissions","locale","params","stringify","addQueryPrefix","get","Error","isTabSessionEventStale","queue","isResponseStale","credentials","fetchFullUser","fetchFullUserEvent","fetchUserOnMount","prefillOnly","_jsx","value","refreshCookie","useAuth"],"sources":["../../../src/providers/Auth/index.tsx"],"sourcesContent":["'use client'\nimport type { AuthenticatedUser, SanitizedPermissions } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, use, useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { TabSessionReconciliationOptions } from './tabSessionSync/index.js'\nimport type { AuthContext, AuthSession, UserWithToken } from './types.js'\n\nimport { stayLoggedInModalSlug } from '../../elements/StayLoggedIn/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../RouterAdapter/index.js'\nimport { useRouteTransition } from '../RouteTransition/index.js'\nimport { createAuthSessionRequests } from './authSessionRequests.js'\nimport { TAB_SESSION_EVENT_TYPES } from './tabSessionSync/index.js'\nimport { useTabSessionSync } from './tabSessionSync/useTabSessionSync.js'\nimport { useAuthSessionTimers } from './useAuthSessionTimers.js'\n\nexport type { AuthContext, AuthSession, UserWithToken } from './types.js'\n\nconst Context = createContext({} as AuthContext)\n\ntype Props = {\n children: React.ReactNode\n permissions?: SanitizedPermissions\n user?: AuthenticatedUser | null\n}\n\ntype FetchFullUserResult =\n | {\n expirationMs?: number\n status: 'authenticated'\n user: AuthenticatedUser\n }\n | {\n status: 'indeterminate'\n }\n | {\n status: 'unauthenticated'\n }\n\ntype UserResponse = {\n exp?: number\n refreshedToken?: string\n token?: string\n user?: AuthenticatedUser | null\n}\n\nexport function AuthProvider({\n children,\n permissions: initialPermissions,\n user: initialUser,\n}: Props) {\n const pathname = usePathname()\n const router = useRouter()\n const searchParams = useSearchParams()\n const route = `${pathname}?${searchParams.toString()}`\n\n const { config } = useConfig()\n\n const {\n admin: {\n autoLogin,\n autoRefresh,\n routes: { inactivity: logoutInactivityRoute, login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const { i18n } = useTranslation()\n const { closeAllModals, openModal } = useModal()\n const { startRouteTransition } = useRouteTransition()\n\n const [user, setUserInMemory] = useState<AuthenticatedUser | null>(initialUser)\n const [tokenInMemory, setTokenInMemory] = useState<string>()\n const [authSession, setAuthSession] = useState<AuthSession>()\n const [permissions, setPermissions] = useState<SanitizedPermissions>(initialPermissions)\n const [fetchedUserOnMount, setFetchedUserOnMount] = useState(false)\n\n const [authRequests] = useState(createAuthSessionRequests)\n const userRef = React.useRef<AuthenticatedUser | null>(initialUser)\n\n const isAuthenticated = Boolean(user)\n\n const redirectToInactivityRoute = useCallback(() => {\n const baseAdminRoute = formatAdminURL({ adminRoute, path: '' })\n void startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: `${logoutInactivityRoute}${window.location.pathname.startsWith(baseAdminRoute) ? `?redirect=${encodeURIComponent(window.location.pathname)}` : ''}`,\n }),\n ),\n )\n\n closeAllModals()\n }, [router, adminRoute, logoutInactivityRoute, closeAllModals, startRouteTransition])\n\n const redirectToLoginRoute = useCallback(() => {\n void startRouteTransition(() =>\n router.replace(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n ),\n )\n\n closeAllModals()\n }, [adminRoute, closeAllModals, loginRoute, router, startRouteTransition])\n\n function onSessionActivity() {\n setAuthSession((currentAuthSession) => {\n if (!currentAuthSession || currentAuthSession.activityRecorded) {\n return currentAuthSession\n }\n\n return {\n ...currentAuthSession,\n activityRecorded: true,\n }\n })\n }\n\n function onSessionActivityRefresh() {\n void refreshSession({ isActivityRefresh: true })\n }\n\n function onSessionExpiration(expirationMs: number) {\n const collection = userRef.current?.collection\n\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.EXPIRED,\n expiredTokenAt: expirationMs,\n })\n void logOutSession({ collection }).then(redirectToInactivityRoute)\n }\n\n function onSessionReminder() {\n if (autoRefresh) {\n sessionTimers.scheduleRefresh()\n } else {\n openModal(stayLoggedInModalSlug)\n }\n }\n\n const sessionTimers = useAuthSessionTimers({\n isAuthenticated,\n onActivity: onSessionActivity,\n onActivityRefresh: onSessionActivityRefresh,\n onExpire: onSessionExpiration,\n onReminder: onSessionReminder,\n })\n\n useEffect(() => {\n sessionTimers.recordActivity('route')\n }, [route, sessionTimers])\n\n const clearUserInMemory = useCallback(() => {\n userRef.current = null\n setUserInMemory(null)\n setTokenInMemory(undefined)\n setAuthSession(undefined)\n sessionTimers.clear()\n }, [sessionTimers])\n\n const setLocalSession = useCallback(\n (session: null | UserResponse) => {\n if (session?.user) {\n const expirationMs =\n typeof session.exp === 'number' && Number.isFinite(session.exp)\n ? session.exp * 1000\n : undefined\n const nextSessionTiming =\n expirationMs !== undefined ? sessionTimers.setExpiration(expirationMs) : undefined\n\n userRef.current = session.user\n setUserInMemory(session.user)\n setTokenInMemory(session.token ?? session.refreshedToken)\n\n if (nextSessionTiming) {\n setAuthSession({\n ...nextSessionTiming,\n activityRecorded: false,\n })\n }\n } else {\n clearUserInMemory()\n }\n },\n [clearUserInMemory, sessionTimers],\n )\n\n const setUser = useCallback(\n (session: null | UserWithToken) => {\n authRequests.discardPendingResults()\n setLocalSession(session)\n },\n [authRequests, setLocalSession],\n )\n\n const tabSessionSync = useTabSessionSync({\n getTokenExpirationMs: sessionTimers.getCurrentExpirationMs,\n onSessionExpired: () => {\n const collection = userRef.current?.collection\n\n void logOutSession({ collection }).then(redirectToInactivityRoute)\n },\n onSessionLoggedOut: () => {\n const collection = userRef.current?.collection\n\n void logOutSession({ collection }).then(redirectToLoginRoute)\n },\n onSessionRefreshed: (session) => {\n if (!authRequests.isLoggingOut()) {\n authRequests.discardPendingResults()\n setLocalSession(session)\n }\n },\n onTabSessionUnauthenticated: () => {\n redirectToInactivityRoute()\n },\n reconcileSession: async (options) => {\n const result = await fetchFullUserResult(options)\n\n if (result.status === 'authenticated' && result.expirationMs !== undefined) {\n return {\n expirationMs: result.expirationMs,\n status: result.status,\n user: result.user,\n }\n }\n\n if (result.status === 'unauthenticated') {\n return result\n }\n\n return { status: 'indeterminate' }\n },\n })\n\n const refreshSession = useCallback(\n ({ isActivityRefresh }: { isActivityRefresh: boolean }): Promise<AuthenticatedUser | null> => {\n return authRequests.refresh(async ({ acceptResult, invalidateWhenIdle, isResultStale }) => {\n if (isResultStale()) {\n return null\n }\n\n const handledExpiration = sessionTimers.getCurrentExpirationMs()\n const handledUser = userRef.current\n\n try {\n const refreshStartedAt = Date.now()\n const request = await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/refresh-token${isActivityRefresh ? '?refresh' : ''}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (isResultStale()) {\n return null\n }\n\n if (request.status === 200) {\n const json: UserWithToken = await request.json()\n\n if (!acceptResult()) {\n return null\n }\n\n setLocalSession(json)\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.REFRESHED,\n refreshStartedAt,\n session: json,\n })\n return json.user\n }\n\n if (handledUser) {\n const invalidateSession = () => {\n if (handledExpiration !== undefined) {\n tabSessionSync.broadcast({\n type: TAB_SESSION_EVENT_TYPES.EXPIRED,\n expiredTokenAt: handledExpiration,\n })\n }\n\n setLocalSession(null)\n redirectToInactivityRoute()\n }\n\n invalidateWhenIdle(invalidateSession)\n }\n } catch (e) {\n toast.error(`Refreshing token failed: ${e.message}`)\n }\n\n return null\n })\n },\n [\n apiRoute,\n authRequests,\n tabSessionSync,\n i18n.language,\n redirectToInactivityRoute,\n sessionTimers,\n setLocalSession,\n userSlug,\n ],\n )\n\n const refreshCookieAsync = useCallback(\n (): Promise<AuthenticatedUser | null> => refreshSession({ isActivityRefresh: false }),\n [refreshSession],\n )\n\n const logOutSession = useCallback(\n ({ collection }: { collection?: string }): Promise<void> => {\n return authRequests.logOut({\n clearSession: () => {\n authRequests.discardPendingResults()\n setLocalSession(null)\n },\n request: async () => {\n try {\n if (collection) {\n await requests.post(\n formatAdminURL({\n apiRoute,\n path: `/${collection}/logout`,\n }),\n )\n }\n } catch (_) {\n // Explicit logout always clears local state, even if server revocation fails.\n }\n },\n })\n },\n [apiRoute, authRequests, setLocalSession],\n )\n\n const logOut = useCallback(async () => {\n const logoutEvent = { type: TAB_SESSION_EVENT_TYPES.LOGGED_OUT } as const\n const logoutPublication = tabSessionSync.broadcast(logoutEvent)\n const collection = userRef.current?.collection\n\n await logOutSession({ collection })\n\n if (logoutPublication?.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {\n tabSessionSync.broadcastLogoutSettlement(logoutPublication)\n }\n\n return true\n }, [tabSessionSync, logOutSession])\n\n const refreshPermissions = useCallback(\n async ({ locale }: { locale?: string } = {}) => {\n const params = qs.stringify(\n {\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/access${params}`,\n }),\n {\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status === 200) {\n const json: SanitizedPermissions = await request.json()\n setPermissions(json)\n } else {\n throw new Error(`Fetching permissions failed with status code ${request.status}`)\n }\n } catch (e) {\n toast.error(`Refreshing permissions failed: ${e.message}`)\n }\n },\n [apiRoute, i18n],\n )\n\n const fetchFullUserResult = React.useCallback(\n ({\n isTabSessionEventStale,\n }: Partial<TabSessionReconciliationOptions> = {}): Promise<FetchFullUserResult> => {\n return authRequests.queue(async ({ acceptResult, isResultStale }) => {\n const isResponseStale = () => isResultStale() || Boolean(isTabSessionEventStale?.())\n\n if (isResponseStale()) {\n return { status: 'indeterminate' }\n }\n\n try {\n const request = await requests.get(\n formatAdminURL({\n apiRoute,\n path: `/${userSlug}/me`,\n }),\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (request.status !== 200) {\n return { status: 'indeterminate' }\n }\n\n const json: null | UserResponse = await request.json()\n\n if (isResponseStale()) {\n return { status: 'indeterminate' }\n }\n\n if (json?.user) {\n if (!acceptResult()) {\n return { status: 'indeterminate' }\n }\n\n setLocalSession(json)\n\n return {\n expirationMs:\n typeof json.exp === 'number' && Number.isFinite(json.exp)\n ? json.exp * 1000\n : sessionTimers.getCurrentExpirationMs(),\n status: 'authenticated',\n user: json.user,\n }\n }\n\n setLocalSession(null)\n\n return { status: 'unauthenticated' }\n } catch (e) {\n toast.error(`Fetching user failed: ${e.message}`)\n }\n\n return { status: 'indeterminate' }\n })\n },\n [apiRoute, authRequests, i18n.language, sessionTimers, setLocalSession, userSlug],\n )\n\n const fetchFullUser = React.useCallback(async (): Promise<AuthenticatedUser | null> => {\n const result = await fetchFullUserResult()\n\n return result.status === 'authenticated' ? result.user : null\n }, [fetchFullUserResult])\n\n const fetchFullUserEvent = useEffectEvent(fetchFullUser)\n\n useEffect(() => {\n async function fetchUserOnMount() {\n await fetchFullUserEvent()\n setFetchedUserOnMount(true)\n }\n\n void fetchUserOnMount()\n }, [])\n\n useEffect(() => {\n if (!user && autoLogin && !autoLogin.prefillOnly) {\n void fetchFullUserEvent()\n }\n }, [user, autoLogin])\n\n useEffect(\n () => () => {\n authRequests.discardPendingResults()\n },\n [authRequests],\n )\n\n if (!user && !fetchedUserOnMount) {\n return null\n }\n\n return (\n <Context\n value={{\n authSession,\n fetchFullUser,\n logOut,\n permissions,\n refreshCookie: sessionTimers.scheduleRefresh,\n refreshCookieAsync,\n refreshPermissions,\n setPermissions,\n setUser,\n token: tokenInMemory,\n user,\n }}\n >\n {children}\n </Context>\n )\n}\n\nexport const useAuth = <T = AuthenticatedUser,>(): AuthContext<T> => use(Context) as AuthContext<T>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTabSessionSync.js","names":["c","_c","useCallback","useEffect","useMemo","useRef","useState","createTabSessionSync","useTabSessionSync","options","$","sourceTabID","createTabID","optionsRef","tabSessionSyncRef","undefined","t0","t1","current","t2","t3","tabSessionSync","getTokenExpirationMs","onSessionExpired","expiredTokenAt","onSessionLoggedOut","onSessionRefreshed","session","onTabSessionUnauthenticated","reconcileSession","reconciliationOptions","cleanup","t4","Symbol","for","event","broadcast","t5","publication","broadcastLogoutSettlement","t6","globalThis","crypto","randomUUID","Date","now","Math","random"],"sources":["../../../../src/providers/Auth/tabSessionSync/useTabSessionSync.ts"],"sourcesContent":["'use client'\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type {\n TabSessionEvent,\n TabSessionLogoutPublication,\n TabSessionPublication,\n} from './index.js'\n\nimport { createTabSessionSync } from './index.js'\n\nexport type TabSessionSync = {\n /** Broadcasts a session lifecycle event to the other browser tabs. */\n broadcast: (event: TabSessionEvent) => TabSessionPublication | undefined\n /** Notifies storage-fallback tabs after the server-side logout request settles. */\n broadcastLogoutSettlement: (publication: TabSessionLogoutPublication) => void\n}\n\n/** Connects the Auth provider to one cross-tab session coordinator for the current browser tab. */\nexport function useTabSessionSync(\n options: Omit<Parameters<typeof createTabSessionSync>[0], 'sourceTabID'>,\n): TabSessionSync {\n const [sourceTabID] = useState(createTabID)\n const optionsRef = useRef(options)\n const tabSessionSyncRef = useRef<ReturnType<typeof createTabSessionSync>>(undefined)\n\n useEffect(() => {\n optionsRef.current = options\n }, [options])\n\n useEffect(() => {\n const tabSessionSync = createTabSessionSync({\n getTokenExpirationMs: () => optionsRef.current.getTokenExpirationMs(),\n onSessionExpired: (expiredTokenAt) => optionsRef.current.onSessionExpired(expiredTokenAt),\n onSessionLoggedOut: () => optionsRef.current.onSessionLoggedOut(),\n onSessionRefreshed: (session) => optionsRef.current.onSessionRefreshed(session),\n onTabSessionUnauthenticated: () => optionsRef.current.onTabSessionUnauthenticated(),\n reconcileSession: (reconciliationOptions) =>\n optionsRef.current.reconcileSession(reconciliationOptions),\n sourceTabID,\n })\n\n tabSessionSyncRef.current = tabSessionSync\n\n return () => {\n if (tabSessionSyncRef.current === tabSessionSync) {\n tabSessionSyncRef.current = undefined\n }\n\n tabSessionSync.cleanup()\n }\n }, [sourceTabID])\n\n const broadcast = useCallback(\n (event: TabSessionEvent) => tabSessionSyncRef.current?.broadcast(event),\n [],\n )\n const broadcastLogoutSettlement = useCallback((publication: TabSessionLogoutPublication) => {\n tabSessionSyncRef.current?.broadcastLogoutSettlement(publication)\n }, [])\n\n return useMemo(\n () => ({ broadcast, broadcastLogoutSettlement }),\n [broadcast, broadcastLogoutSettlement],\n )\n}\n\nfunction createTabID(): string {\n return globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAEA,SAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAQlE,SAASC,oBAAoB,QAAQ;AASrC;AACA,OAAO,SAAAC,kBAAAC,OAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAGL,OAAAU,WAAA,IAAsBL,QAAA,
|
|
1
|
+
{"version":3,"file":"useTabSessionSync.js","names":["c","_c","useCallback","useEffect","useMemo","useRef","useState","createTabSessionSync","useTabSessionSync","options","$","sourceTabID","createTabID","optionsRef","tabSessionSyncRef","undefined","t0","t1","current","t2","t3","tabSessionSync","getTokenExpirationMs","onSessionExpired","expiredTokenAt","onSessionLoggedOut","onSessionRefreshed","session","onTabSessionUnauthenticated","reconcileSession","reconciliationOptions","cleanup","t4","Symbol","for","event","broadcast","t5","publication","broadcastLogoutSettlement","t6","globalThis","crypto","randomUUID","Date","now","Math","random"],"sources":["../../../../src/providers/Auth/tabSessionSync/useTabSessionSync.ts"],"sourcesContent":["'use client'\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type {\n TabSessionEvent,\n TabSessionLogoutPublication,\n TabSessionPublication,\n} from './index.js'\n\nimport { createTabSessionSync } from './index.js'\n\nexport type TabSessionSync = {\n /** Broadcasts a session lifecycle event to the other browser tabs. */\n broadcast: (event: TabSessionEvent) => TabSessionPublication | undefined\n /** Notifies storage-fallback tabs after the server-side logout request settles. */\n broadcastLogoutSettlement: (publication: TabSessionLogoutPublication) => void\n}\n\n/** Connects the Auth provider to one cross-tab session coordinator for the current browser tab. */\nexport function useTabSessionSync(\n options: Omit<Parameters<typeof createTabSessionSync>[0], 'sourceTabID'>,\n): TabSessionSync {\n const [sourceTabID] = useState(createTabID)\n const optionsRef = useRef(options)\n const tabSessionSyncRef = useRef<ReturnType<typeof createTabSessionSync>>(undefined)\n\n useEffect(() => {\n optionsRef.current = options\n }, [options])\n\n useEffect(() => {\n const tabSessionSync = createTabSessionSync({\n getTokenExpirationMs: () => optionsRef.current.getTokenExpirationMs(),\n onSessionExpired: (expiredTokenAt) => optionsRef.current.onSessionExpired(expiredTokenAt),\n onSessionLoggedOut: () => optionsRef.current.onSessionLoggedOut(),\n onSessionRefreshed: (session) => optionsRef.current.onSessionRefreshed(session),\n onTabSessionUnauthenticated: () => optionsRef.current.onTabSessionUnauthenticated(),\n reconcileSession: (reconciliationOptions) =>\n optionsRef.current.reconcileSession(reconciliationOptions),\n sourceTabID,\n })\n\n tabSessionSyncRef.current = tabSessionSync\n\n return () => {\n if (tabSessionSyncRef.current === tabSessionSync) {\n tabSessionSyncRef.current = undefined\n }\n\n tabSessionSync.cleanup()\n }\n }, [sourceTabID])\n\n const broadcast = useCallback(\n (event: TabSessionEvent) => tabSessionSyncRef.current?.broadcast(event),\n [],\n )\n const broadcastLogoutSettlement = useCallback((publication: TabSessionLogoutPublication) => {\n tabSessionSyncRef.current?.broadcastLogoutSettlement(publication)\n }, [])\n\n return useMemo(\n () => ({ broadcast, broadcastLogoutSettlement }),\n [broadcast, broadcastLogoutSettlement],\n )\n}\n\nfunction createTabID(): string {\n return globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","ModifyClientFunctionContext","createContext","addClientFunction","removeClientFunction","ClientFunctionsContext","ClientFunctionProvider","t0","$","children","t1","Symbol","for","clientFunctions","setClientFunctions","useState","t2","args","state","newState","key","func","t3","args_0","state_0","newState_0","t4","_jsx","value","useAddClientFunction","use","useEffect","useClientFunctions"],"sources":["../../../src/providers/ClientFunction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\ntype ModifyClientFunctionContextType = {\n addClientFunction: (args: ModifyFunctionArgs) => void\n removeClientFunction: (args: ModifyFunctionArgs) => void\n}\ntype ClientFunctionsContextType = Record<string, any>\n\nconst ModifyClientFunctionContext = React.createContext<ModifyClientFunctionContextType>({\n addClientFunction: () => null,\n removeClientFunction: () => null,\n})\nconst ClientFunctionsContext = React.createContext<ClientFunctionsContextType>({})\n\ntype ModifyFunctionArgs = { func: any; key: string }\n\nexport const ClientFunctionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [clientFunctions, setClientFunctions] = React.useState({})\n\n const addClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n newState[args.key] = args.func\n return newState\n })\n }, [])\n\n const removeClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n delete newState[args.key]\n return newState\n })\n }, [])\n\n return (\n <ModifyClientFunctionContext\n value={{\n addClientFunction,\n removeClientFunction,\n }}\n >\n <ClientFunctionsContext value={clientFunctions}>{children}</ClientFunctionsContext>\n </ModifyClientFunctionContext>\n )\n}\n\nexport const useAddClientFunction = (key: string, func: any) => {\n const { addClientFunction, removeClientFunction } = React.use(ModifyClientFunctionContext)\n\n React.useEffect(() => {\n addClientFunction({\n func,\n key,\n })\n\n return () => {\n removeClientFunction({\n func,\n key,\n })\n }\n }, [func, key, addClientFunction, removeClientFunction])\n}\n\nexport const useClientFunctions = () => {\n return React.use(ClientFunctionsContext)\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAQlB,MAAMC,2BAAA,gBAA8BD,KAAA,CAAME,aAAa,CAAkC;EACvFC,iBAAA,EAAmBA,CAAA,KAAM;EACzBC,oBAAA,EAAsBA,CAAA,KAAM;AAC9B;AACA,MAAMC,sBAAA,gBAAyBL,KAAA,CAAME,aAAa,CAA6B,CAAC;AAIhF,OAAO,MAAMI,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAAA,IAAAG,EAAA;EAAA,IAAAF,CAAA,QAAAG,MAAA,CAAAC,GAAA;IAC7BF,EAAA;
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","ModifyClientFunctionContext","createContext","addClientFunction","removeClientFunction","ClientFunctionsContext","ClientFunctionProvider","t0","$","children","t1","Symbol","for","clientFunctions","setClientFunctions","useState","t2","args","state","newState","key","func","t3","args_0","state_0","newState_0","t4","_jsx","value","useAddClientFunction","use","useEffect","useClientFunctions"],"sources":["../../../src/providers/ClientFunction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\ntype ModifyClientFunctionContextType = {\n addClientFunction: (args: ModifyFunctionArgs) => void\n removeClientFunction: (args: ModifyFunctionArgs) => void\n}\ntype ClientFunctionsContextType = Record<string, any>\n\nconst ModifyClientFunctionContext = React.createContext<ModifyClientFunctionContextType>({\n addClientFunction: () => null,\n removeClientFunction: () => null,\n})\nconst ClientFunctionsContext = React.createContext<ClientFunctionsContextType>({})\n\ntype ModifyFunctionArgs = { func: any; key: string }\n\nexport const ClientFunctionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [clientFunctions, setClientFunctions] = React.useState({})\n\n const addClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n newState[args.key] = args.func\n return newState\n })\n }, [])\n\n const removeClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n delete newState[args.key]\n return newState\n })\n }, [])\n\n return (\n <ModifyClientFunctionContext\n value={{\n addClientFunction,\n removeClientFunction,\n }}\n >\n <ClientFunctionsContext value={clientFunctions}>{children}</ClientFunctionsContext>\n </ModifyClientFunctionContext>\n )\n}\n\nexport const useAddClientFunction = (key: string, func: any) => {\n const { addClientFunction, removeClientFunction } = React.use(ModifyClientFunctionContext)\n\n React.useEffect(() => {\n addClientFunction({\n func,\n key,\n })\n\n return () => {\n removeClientFunction({\n func,\n key,\n })\n }\n }, [func, key, addClientFunction, removeClientFunction])\n}\n\nexport const useClientFunctions = () => {\n return React.use(ClientFunctionsContext)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,19 +6,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
6
6
|
import React, { createContext, use, useCallback, useEffect, useMemo } from 'react';
|
|
7
7
|
import { useControllableState } from '../../hooks/useControllableState.js';
|
|
8
8
|
const RootConfigContext = /*#__PURE__*/createContext(undefined);
|
|
9
|
-
export const ConfigProvider =
|
|
10
|
-
|
|
11
|
-
config: configFromProps
|
|
12
|
-
}) => {
|
|
13
|
-
// Need to update local config state if config from props changes, for HMR.
|
|
14
|
-
// That way, config changes will be updated in the UI immediately without needing a refresh.
|
|
15
|
-
// useControllableState handles this for us.
|
|
16
|
-
const [config, setConfig] = useControllableState(configFromProps);
|
|
17
|
-
// Build lookup maps for collections and globals so we can do O(1) lookups by slug
|
|
9
|
+
export const ConfigProvider = t0 => {
|
|
10
|
+
const $ = _c(13);
|
|
18
11
|
const {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} =
|
|
12
|
+
children,
|
|
13
|
+
config: configFromProps
|
|
14
|
+
} = t0;
|
|
15
|
+
const [config, setConfig] = useControllableState(configFromProps);
|
|
16
|
+
let t1;
|
|
17
|
+
if ($[0] !== config.collections || $[1] !== config.globals) {
|
|
22
18
|
const collectionsBySlug = {};
|
|
23
19
|
const globalsBySlug = {};
|
|
24
20
|
for (const collection of config.collections) {
|
|
@@ -27,29 +23,66 @@ export const ConfigProvider = ({
|
|
|
27
23
|
for (const global of config.globals) {
|
|
28
24
|
globalsBySlug[global.slug] = global;
|
|
29
25
|
}
|
|
30
|
-
|
|
26
|
+
t1 = {
|
|
31
27
|
collectionsBySlug,
|
|
32
28
|
globalsBySlug
|
|
33
29
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
30
|
+
$[0] = config.collections;
|
|
31
|
+
$[1] = config.globals;
|
|
32
|
+
$[2] = t1;
|
|
33
|
+
} else {
|
|
34
|
+
t1 = $[2];
|
|
35
|
+
}
|
|
36
|
+
const {
|
|
37
|
+
collectionsBySlug: collectionsBySlug_0,
|
|
38
|
+
globalsBySlug: globalsBySlug_0
|
|
39
|
+
} = t1;
|
|
40
|
+
let t2;
|
|
41
|
+
if ($[3] !== collectionsBySlug_0 || $[4] !== globalsBySlug_0) {
|
|
42
|
+
t2 = args => {
|
|
43
|
+
if ("collectionSlug" in args && args.collectionSlug) {
|
|
44
|
+
return collectionsBySlug_0[args.collectionSlug] ?? null;
|
|
45
|
+
}
|
|
46
|
+
if ("globalSlug" in args && args.globalSlug) {
|
|
47
|
+
return globalsBySlug_0[args.globalSlug] ?? null;
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
};
|
|
51
|
+
$[3] = collectionsBySlug_0;
|
|
52
|
+
$[4] = globalsBySlug_0;
|
|
53
|
+
$[5] = t2;
|
|
54
|
+
} else {
|
|
55
|
+
t2 = $[5];
|
|
56
|
+
}
|
|
57
|
+
const getEntityConfig = t2;
|
|
58
|
+
let t3;
|
|
59
|
+
if ($[6] !== config || $[7] !== getEntityConfig || $[8] !== setConfig) {
|
|
60
|
+
t3 = {
|
|
61
|
+
config,
|
|
62
|
+
getEntityConfig,
|
|
63
|
+
setConfig
|
|
64
|
+
};
|
|
65
|
+
$[6] = config;
|
|
66
|
+
$[7] = getEntityConfig;
|
|
67
|
+
$[8] = setConfig;
|
|
68
|
+
$[9] = t3;
|
|
69
|
+
} else {
|
|
70
|
+
t3 = $[9];
|
|
71
|
+
}
|
|
72
|
+
const value = t3;
|
|
73
|
+
let t4;
|
|
74
|
+
if ($[10] !== children || $[11] !== value) {
|
|
75
|
+
t4 = _jsx(RootConfigContext, {
|
|
76
|
+
value,
|
|
77
|
+
children
|
|
78
|
+
});
|
|
79
|
+
$[10] = children;
|
|
80
|
+
$[11] = value;
|
|
81
|
+
$[12] = t4;
|
|
82
|
+
} else {
|
|
83
|
+
t4 = $[12];
|
|
84
|
+
}
|
|
85
|
+
return t4;
|
|
53
86
|
};
|
|
54
87
|
export const useConfig = () => use(RootConfigContext);
|
|
55
88
|
/**
|