@payloadcms/ui 4.0.0-canary.2 → 4.0.0-canary.21
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/LICENSE.md +1 -1
- package/dist/css/app.css +121 -0
- package/dist/css/colors.css +6 -0
- package/dist/css/design-tokens.css +5 -0
- package/dist/css/elevations.css +4 -0
- package/dist/css/forms.css +6 -9
- package/dist/css/spacing.css +11 -3
- package/dist/css/theme.css +2 -1
- package/dist/css/utilities.css +3 -2
- package/dist/css/z-index.css +10 -0
- package/dist/elements/APIKeyInput/index.css +4 -4
- package/dist/elements/AddNewRelation/index.css +27 -28
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.css +2 -18
- package/dist/elements/AppHeader/index.d.ts +4 -2
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +18 -9
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +2 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +65 -24
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.css +4 -8
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts +1 -5
- package/dist/elements/BulkUpload/ActionsBar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +15 -22
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.css +14 -8
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -2
- package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +41 -36
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.css +158 -6
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts +5 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +134 -65
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +4 -4
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +16 -17
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/types.d.ts +2 -3
- package/dist/elements/BulkUpload/EditForm/types.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +80 -66
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +28 -10
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +66 -142
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +42 -175
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
- package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +15 -2
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.css +48 -0
- package/dist/elements/BulkUpload/index.d.ts +6 -5
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +42 -41
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +5 -0
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.css +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +18 -1
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/types.d.ts +3 -0
- package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
- package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/elements/CodeEditor/index.css +5 -5
- package/dist/elements/Collapsible/index.d.ts.map +1 -1
- package/dist/elements/Collapsible/index.js +2 -0
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.d.ts +12 -0
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -0
- package/dist/elements/{ColumnSelector/index.js → ColumnSelection/Popup.js} +28 -13
- package/dist/elements/ColumnSelection/Popup.js.map +1 -0
- package/dist/elements/ColumnSelection/index.d.ts +10 -0
- package/dist/elements/ColumnSelection/index.d.ts.map +1 -0
- package/dist/elements/{ColumnsButton → ColumnSelection}/index.js +23 -17
- package/dist/elements/ColumnSelection/index.js.map +1 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +10 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +1 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.js +21 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +1 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +87 -0
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +1 -0
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CopyLocaleData/index.js +1 -1
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.d.ts +1 -0
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +10 -8
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -2
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.d.ts.map +1 -1
- package/dist/elements/DatePicker/index.css +10 -10
- package/dist/elements/DatePicker/index.js +1 -1
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +16 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/Dialog/DialogHeader/index.d.ts +4 -0
- package/dist/elements/Dialog/DialogHeader/index.d.ts.map +1 -1
- package/dist/elements/Dialog/DialogHeader/index.js +45 -30
- package/dist/elements/Dialog/DialogHeader/index.js.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.d.ts +5 -0
- package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
- package/dist/elements/Dialog/DialogModal/index.js +58 -31
- package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
- package/dist/elements/Dialog/DialogTitle/index.css +9 -0
- package/dist/elements/Dialog/DialogTitle/index.d.ts +5 -0
- package/dist/elements/Dialog/DialogTitle/index.d.ts.map +1 -0
- package/dist/elements/Dialog/DialogTitle/index.js +10 -0
- package/dist/elements/Dialog/DialogTitle/index.js.map +1 -0
- package/dist/elements/Dialog/index.css +7 -1
- package/dist/elements/DocumentControls/index.css +7 -3
- package/dist/elements/DocumentControls/index.d.ts +2 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +13 -3
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts +2 -2
- package/dist/elements/DocumentDrawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +5 -3
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.css +14 -2
- package/dist/elements/DocumentFields/index.d.ts +5 -0
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +9 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts +12 -0
- package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.d.ts.map +1 -0
- package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js +28 -0
- package/dist/elements/DocumentHeader/DocumentHeaderRoot/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +2 -3
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +2 -2
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DragOverlayPreview/index.css +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.d.ts.map +1 -1
- package/dist/elements/Drawer/index.js +1 -0
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
- package/dist/elements/DrawerActionHeader/index.css +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -1
- package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.css +7 -1
- package/dist/elements/DrawerHeader/index.d.ts +10 -0
- package/dist/elements/DrawerHeader/index.d.ts.map +1 -0
- package/dist/elements/{BulkUpload/Header → DrawerHeader}/index.js +16 -11
- package/dist/elements/DrawerHeader/index.js.map +1 -0
- package/dist/elements/Dropzone/index.css +5 -13
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +2 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditUpload/index.css +97 -158
- package/dist/elements/EditUpload/index.d.ts +2 -1
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +209 -231
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EditUpload/{library.scss → library.css} +108 -46
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.css +27 -0
- package/dist/elements/FileDetails/FileMeta/index.d.ts +1 -1
- package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.css +139 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +2 -2
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.d.ts +1 -1
- package/dist/elements/FileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FileManager/FilePreview/AudioPreview/index.css +8 -0
- package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts +10 -0
- package/dist/elements/FileManager/FilePreview/AudioPreview/index.d.ts.map +1 -0
- package/dist/elements/FileManager/FilePreview/AudioPreview/index.js +24 -0
- package/dist/elements/FileManager/FilePreview/AudioPreview/index.js.map +1 -0
- package/dist/elements/FileManager/FilePreview/PdfPreview/index.css +9 -0
- package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts +12 -0
- package/dist/elements/FileManager/FilePreview/PdfPreview/index.d.ts.map +1 -0
- package/dist/elements/FileManager/FilePreview/PdfPreview/index.js +27 -0
- package/dist/elements/FileManager/FilePreview/PdfPreview/index.js.map +1 -0
- package/dist/elements/FileManager/FilePreview/VideoPreview/index.css +8 -0
- package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts +10 -0
- package/dist/elements/FileManager/FilePreview/VideoPreview/index.d.ts.map +1 -0
- package/dist/elements/FileManager/FilePreview/VideoPreview/index.js +24 -0
- package/dist/elements/FileManager/FilePreview/VideoPreview/index.js.map +1 -0
- package/dist/elements/FileManager/FilePreview/index.css +83 -0
- package/dist/elements/FileManager/FilePreview/index.d.ts +13 -0
- package/dist/elements/FileManager/FilePreview/index.d.ts.map +1 -0
- package/dist/elements/FileManager/FilePreview/index.js +140 -0
- package/dist/elements/FileManager/FilePreview/index.js.map +1 -0
- package/dist/elements/FileManager/FileToolbar/index.css +91 -0
- package/dist/elements/FileManager/FileToolbar/index.d.ts +14 -0
- package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -0
- package/dist/elements/FileManager/FileToolbar/index.js +109 -0
- package/dist/elements/FileManager/FileToolbar/index.js.map +1 -0
- package/dist/elements/FileManager/index.css +167 -0
- package/dist/elements/FileManager/index.d.ts +19 -0
- package/dist/elements/FileManager/index.d.ts.map +1 -0
- package/dist/elements/FileManager/index.js +435 -0
- package/dist/elements/FileManager/index.js.map +1 -0
- package/dist/elements/GroupBy/Popup.d.ts +21 -0
- package/dist/elements/GroupBy/Popup.d.ts.map +1 -0
- package/dist/elements/GroupBy/Popup.js +268 -0
- package/dist/elements/GroupBy/Popup.js.map +1 -0
- package/dist/elements/GroupBy/index.d.ts +12 -0
- package/dist/elements/GroupBy/index.d.ts.map +1 -0
- package/dist/elements/GroupBy/index.js +91 -0
- package/dist/elements/GroupBy/index.js.map +1 -0
- package/dist/elements/HTMLDiff/diff/index.d.ts.map +1 -1
- package/dist/elements/HTMLDiff/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +5 -3
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
- package/dist/elements/Hierarchy/DocHeaderButton/index.js +12 -12
- package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/index.client.js +14 -14
- package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/index.css +88 -0
- package/dist/elements/Hierarchy/Modal/index.d.ts +20 -0
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -0
- package/dist/elements/Hierarchy/{Drawer → Modal}/index.js +105 -81
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -0
- package/dist/elements/Hierarchy/{Drawer → Modal}/types.d.ts +22 -18
- package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -0
- package/dist/elements/Hierarchy/Modal/types.js.map +1 -0
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts +30 -0
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.d.ts.map +1 -0
- package/dist/elements/Hierarchy/{Drawer/useHierarchyDrawer.js → Modal/useHierarchyModal.js} +51 -50
- package/dist/elements/Hierarchy/Modal/useHierarchyModal.js.map +1 -0
- package/dist/elements/Hierarchy/MoveMany/index.d.ts +2 -2
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +9 -9
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts +1 -1
- package/dist/elements/Hierarchy/Tree/TreeFocusContext.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +38 -14
- package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js +37 -31
- package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.css +1 -1
- package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/index.js +18 -5
- package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/InputStepper/index.css +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/ListColumnSelectionButton/index.d.ts +11 -0
- package/dist/elements/ListColumnSelectionButton/index.d.ts.map +1 -0
- package/dist/elements/ListColumnSelectionButton/index.js +37 -0
- package/dist/elements/ListColumnSelectionButton/index.js.map +1 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +8 -9
- 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 +1 -1
- package/dist/elements/ListDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/elements/ListGroupByButton/index.d.ts +12 -0
- package/dist/elements/ListGroupByButton/index.d.ts.map +1 -0
- package/dist/elements/ListGroupByButton/index.js +55 -0
- package/dist/elements/ListGroupByButton/index.js.map +1 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +2 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +4 -4
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListWhereBuilder/index.d.ts +16 -0
- package/dist/elements/ListWhereBuilder/index.d.ts.map +1 -0
- package/dist/elements/ListWhereBuilder/index.js +62 -0
- package/dist/elements/ListWhereBuilder/index.js.map +1 -0
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +2 -2
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.css +5 -44
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +26 -43
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.css +6 -0
- package/dist/elements/LoadingOverlay/reducer.d.ts.map +1 -1
- package/dist/elements/Locked/index.css +0 -5
- package/dist/elements/Locked/index.d.ts +2 -2
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +38 -19
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.css +96 -0
- package/dist/elements/MiniCarousel/index.d.ts +15 -0
- package/dist/elements/MiniCarousel/index.d.ts.map +1 -0
- package/dist/elements/MiniCarousel/index.js +84 -0
- package/dist/elements/MiniCarousel/index.js.map +1 -0
- package/dist/elements/Nav/SettingsMenuButton/index.css +5 -0
- package/dist/elements/Nav/SettingsMenuButton/index.d.ts +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +0 -5
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/Nav/index.css +2 -7
- package/dist/elements/NavGroup/index.css +1 -2
- package/dist/elements/Pagination/index.css +5 -0
- package/dist/elements/Pagination/index.d.ts.map +1 -1
- package/dist/elements/Pagination/index.js +21 -21
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +5 -0
- package/dist/elements/Popup/PopupGroupLabel/index.css +8 -5
- package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
- package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +3 -0
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +7 -1
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +45 -12
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +148 -0
- package/dist/elements/PreviewSizes/index.d.ts +2 -2
- package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/elements/PreviewSizes/index.js +1 -1
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingScheduleWhere.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts +2 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.d.ts +2 -6
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +0 -38
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/{index.scss → index.css} +1 -3
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +77 -48
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +12 -21
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/Heading/index.css +52 -0
- package/dist/elements/QueryPresets/fields/Heading/index.d.ts +7 -0
- package/dist/elements/QueryPresets/fields/Heading/index.d.ts.map +1 -0
- package/dist/elements/QueryPresets/fields/Heading/index.js +31 -0
- package/dist/elements/QueryPresets/fields/Heading/index.js.map +1 -0
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +24 -23
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/fields.css +23 -0
- package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
- package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
- package/dist/elements/ReactSelect/DropdownIndicator/index.css +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +19 -12
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
- package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts +5 -0
- package/dist/elements/ReactSelect/getCaptureMenuScroll.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getCaptureMenuScroll.js +10 -0
- package/dist/elements/ReactSelect/getCaptureMenuScroll.js.map +1 -0
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts +6 -0
- package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getMenuListStyles.js +15 -0
- package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -0
- package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
- package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
- package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
- package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
- package/dist/elements/ReactSelect/index.css +10 -7
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +120 -177
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.d.ts +3 -2
- package/dist/elements/ReactSelect/types.d.ts.map +1 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.d.ts +2 -2
- package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +1 -2
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.css +1 -4
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +38 -5
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/clientOnly.d.ts +8 -0
- package/dist/elements/RenderServerComponent/clientOnly.d.ts.map +1 -0
- package/dist/elements/RenderServerComponent/clientOnly.js +56 -0
- package/dist/elements/RenderServerComponent/clientOnly.js.map +1 -0
- package/dist/elements/RenderTitle/index.css +4 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +18 -13
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/Search/ListSearchFilter/index.d.ts.map +1 -1
- package/dist/elements/Search/ListSearchFilter/index.js +1 -0
- package/dist/elements/Search/ListSearchFilter/index.js.map +1 -1
- package/dist/elements/Search/SearchInput/index.d.ts +2 -0
- package/dist/elements/Search/SearchInput/index.d.ts.map +1 -1
- package/dist/elements/Search/SearchInput/index.js +22 -19
- package/dist/elements/Search/SearchInput/index.js.map +1 -1
- package/dist/elements/SelectAll/index.css +3 -1
- package/dist/elements/SelectRow/index.d.ts +5 -4
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +10 -7
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarRow/index.css +0 -2
- package/dist/elements/SidebarToggle/index.css +0 -17
- package/dist/elements/SortColumn/index.css +1 -1
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +32 -13
- package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +19 -2
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/index.css +50 -4
- package/dist/elements/TableSection/index.css +0 -1
- package/dist/elements/Tabs/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.css +41 -0
- package/dist/elements/Thumbnail/index.d.ts +4 -4
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.css +1 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +5 -1
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.d.ts +1 -0
- package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +25 -9
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Toasts/index.css +5 -0
- package/dist/elements/Tooltip/index.css +15 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts +2 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.d.ts +2 -4
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +0 -38
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts +11 -0
- package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -0
- package/dist/elements/Upload/UploadFromURLModal/index.js +88 -0
- package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -0
- package/dist/elements/Upload/index.css +134 -50
- package/dist/elements/Upload/index.d.ts +3 -8
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +71 -92
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js +1 -1
- package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts +6 -2
- package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SettingsMenu/index.js +15 -10
- package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/SubMenuHeader/index.js +8 -9
- package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js +1 -1
- package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
- package/dist/elements/UserMenu/index.css +26 -1
- package/dist/elements/UserMenu/index.d.ts +3 -1
- package/dist/elements/UserMenu/index.d.ts.map +1 -1
- package/dist/elements/UserMenu/index.js +10 -6
- package/dist/elements/UserMenu/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +1 -0
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +17 -2
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/field-types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts +4 -3
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +71 -62
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +6 -5
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/index.d.ts +15 -6
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -86
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/rsc/index.d.ts +3 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +3 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/server.d.ts +3 -0
- package/dist/exports/server.d.ts.map +1 -0
- package/dist/exports/server.js +2 -0
- package/dist/exports/server.js.map +1 -0
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +97 -160
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +7 -4
- 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 +134 -195
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.css +1 -1
- package/dist/fields/Blocks/BlockSelector/index.css +2 -5
- package/dist/fields/Blocks/RowActions.d.ts +2 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +23 -20
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +1 -0
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +9 -6
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -0
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +32 -26
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +39 -75
- package/dist/fields/Checkbox/index.d.ts +1 -1
- package/dist/fields/Code/index.css +1 -1
- package/dist/fields/Code/index.d.ts +2 -2
- package/dist/fields/Collapsible/index.d.ts +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts +4 -0
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +37 -33
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -1
- package/dist/fields/Email/index.d.ts +1 -1
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/Group/index.css +4 -10
- package/dist/fields/Group/index.d.ts +2 -2
- package/dist/fields/JSON/index.d.ts +1 -1
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/Input.d.ts.map +1 -1
- package/dist/fields/Number/Input.js +62 -46
- package/dist/fields/Number/Input.js.map +1 -1
- package/dist/fields/Number/index.css +19 -0
- package/dist/fields/Number/index.d.ts +1 -1
- package/dist/fields/Number/types.d.ts +10 -0
- package/dist/fields/Number/types.d.ts.map +1 -1
- package/dist/fields/Number/types.js.map +1 -1
- package/dist/fields/Password/input.d.ts.map +1 -1
- package/dist/fields/Password/input.js +33 -29
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.d.ts +7 -3
- package/dist/fields/Password/types.d.ts.map +1 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.d.ts +1 -1
- package/dist/fields/RadioGroup/index.css +4 -5
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +36 -14
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
- package/dist/fields/Relationship/index.d.ts +1 -1
- package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +2 -2
- package/dist/fields/Relationship/types.d.ts +4 -0
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/Row/index.d.ts +1 -1
- package/dist/fields/Select/Input.d.ts +4 -0
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +45 -40
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts +7 -5
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +79 -113
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +1 -1
- package/dist/fields/Text/Input.d.ts.map +1 -1
- package/dist/fields/Text/Input.js +44 -37
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.d.ts +1 -1
- package/dist/fields/Text/types.d.ts +11 -2
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.d.ts.map +1 -1
- package/dist/fields/Textarea/Input.js +27 -23
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.css +1 -1
- package/dist/fields/Textarea/index.d.ts +1 -1
- package/dist/fields/Textarea/types.d.ts +4 -0
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +12 -11
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.css +19 -4
- package/dist/fields/Upload/index.js +1 -1
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +2 -0
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/mergeFieldStyles.d.ts +1 -1
- package/dist/fields/mergeFieldStyles.d.ts.map +1 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -1
- package/dist/forms/Form/errorMessages.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +12 -15
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.d.ts.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -1
- package/dist/forms/Form/rows.d.ts.map +1 -1
- package/dist/forms/Form/types.d.ts +3 -3
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +10 -0
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.css +17 -3
- package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +22 -6
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -2
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +2 -0
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +2 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/withCondition/index.d.ts +1 -1
- package/dist/forms/withCondition/index.d.ts.map +1 -1
- package/dist/graphics/Icon/index.js +1 -1
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.d.ts.map +1 -1
- package/dist/hooks/useDelay.d.ts.map +1 -1
- package/dist/hooks/useElementHeightVariable.d.ts +15 -0
- package/dist/hooks/useElementHeightVariable.d.ts.map +1 -0
- package/dist/hooks/useElementHeightVariable.js +53 -0
- package/dist/hooks/useElementHeightVariable.js.map +1 -0
- package/dist/hooks/useHotkey.d.ts.map +1 -1
- package/dist/hooks/useIntersect.d.ts.map +1 -1
- package/dist/hooks/usePopupWindow.d.ts +1 -1
- package/dist/hooks/usePopupWindow.d.ts.map +1 -1
- package/dist/hooks/useRelatedCollections.d.ts.map +1 -1
- package/dist/hooks/useResize.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/icons/Check/index.css +1 -2
- package/dist/icons/Check/index.js +1 -1
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Crop/index.css +5 -0
- package/dist/icons/Crop/index.d.ts +7 -0
- package/dist/icons/Crop/index.d.ts.map +1 -0
- package/dist/icons/Crop/index.js +24 -0
- package/dist/icons/Crop/index.js.map +1 -0
- package/dist/icons/Download/index.css +5 -0
- package/dist/icons/{ExternalLink → Download}/index.d.ts +1 -1
- package/dist/icons/Download/index.d.ts.map +1 -0
- package/dist/icons/Download/index.js +27 -0
- package/dist/icons/Download/index.js.map +1 -0
- package/dist/icons/{ExternalLink → NewTab}/index.css +1 -1
- package/dist/icons/NewTab/index.d.ts +7 -0
- package/dist/icons/NewTab/index.d.ts.map +1 -0
- package/dist/icons/NewTab/index.js +25 -0
- package/dist/icons/NewTab/index.js.map +1 -0
- package/dist/icons/Replace/index.css +5 -0
- package/dist/icons/Replace/index.d.ts +6 -0
- package/dist/icons/Replace/index.d.ts.map +1 -0
- package/dist/icons/Replace/index.js +20 -0
- package/dist/icons/Replace/index.js.map +1 -0
- package/dist/icons/Reset/index.css +5 -0
- package/dist/icons/Reset/index.d.ts +7 -0
- package/dist/icons/Reset/index.d.ts.map +1 -0
- package/dist/icons/Reset/index.js +25 -0
- package/dist/icons/Reset/index.js.map +1 -0
- package/dist/icons/Swap/index.js +1 -1
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/Warning/index.css +1 -7
- package/dist/icons/Warning/index.d.ts +1 -1
- package/dist/icons/Warning/index.d.ts.map +1 -1
- package/dist/icons/Warning/index.js +11 -16
- package/dist/icons/Warning/index.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 +15 -5
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/layouts/Root/index.spec.js +20 -0
- package/dist/layouts/Root/index.spec.js.map +1 -0
- package/dist/layouts/Root/viewport.d.ts +5 -0
- package/dist/layouts/Root/viewport.d.ts.map +1 -0
- package/dist/layouts/Root/viewport.js +17 -0
- package/dist/layouts/Root/viewport.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +5 -59
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +66 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/ClientFunction/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +6 -6
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.d.ts +1 -0
- package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.js +2 -0
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +24 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +8 -1
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.d.ts.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.d.ts.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.d.ts +1 -1
- package/dist/providers/LivePreview/sizeReducer.d.ts.map +1 -1
- package/dist/providers/Root/index.d.ts +3 -2
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +37 -31
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
- package/dist/providers/TableColumns/getInitialColumns.d.ts +1 -1
- package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -1
- package/dist/providers/Theme/index.d.ts +5 -2
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +109 -96
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Theme/shared.d.ts +3 -0
- package/dist/providers/Theme/shared.d.ts.map +1 -0
- package/dist/providers/Theme/shared.js +2 -0
- package/dist/providers/Theme/shared.js.map +1 -0
- package/dist/providers/ToastContainer/index.css +208 -0
- package/dist/providers/ToastContainer/index.d.ts +1 -0
- package/dist/providers/ToastContainer/index.d.ts.map +1 -1
- package/dist/providers/ToastContainer/index.js +19 -6
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.d.ts +2 -7
- package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
- package/dist/providers/UploadHandlers/index.js +102 -42
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +1382 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +58 -10
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/api.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFormState.d.ts +2 -2
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +1 -0
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/checkDependencies.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +1 -0
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/filterOutUploadFields.d.ts.map +1 -1
- package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/index.d.ts +1 -1
- package/dist/utilities/formatDocTitle/index.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/index.js +1 -1
- package/dist/utilities/formatDocTitle/index.js.map +1 -1
- package/dist/utilities/formatFields.d.ts.map +1 -1
- package/dist/utilities/formatMetadata.d.ts.map +1 -1
- package/dist/utilities/formatRelativeDate.d.ts +15 -0
- package/dist/utilities/formatRelativeDate.d.ts.map +1 -0
- package/dist/utilities/formatRelativeDate.js +62 -0
- package/dist/utilities/formatRelativeDate.js.map +1 -0
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getColumns.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDocPreferences.d.ts +2 -2
- package/dist/utilities/getDocPreferences.d.ts.map +1 -1
- package/dist/utilities/getDocPreferences.js.map +1 -1
- package/dist/utilities/getDocumentData.d.ts +2 -2
- package/dist/utilities/getDocumentData.d.ts.map +1 -1
- package/dist/utilities/getDocumentData.js.map +1 -1
- package/dist/utilities/getDocumentPermissions.d.ts.map +1 -1
- package/dist/utilities/getGlobalData.d.ts +2 -2
- package/dist/utilities/getGlobalData.d.ts.map +1 -1
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getHasScheduledPublish.d.ts +2 -2
- package/dist/utilities/getHasScheduledPublish.d.ts.map +1 -1
- package/dist/utilities/getHasScheduledPublish.js.map +1 -1
- package/dist/utilities/getIsLocked.d.ts +2 -2
- package/dist/utilities/getIsLocked.d.ts.map +1 -1
- package/dist/utilities/getIsLocked.js.map +1 -1
- package/dist/utilities/getLanguageDir.d.ts +12 -0
- package/dist/utilities/getLanguageDir.d.ts.map +1 -0
- package/dist/utilities/getLanguageDir.js +12 -0
- package/dist/utilities/getLanguageDir.js.map +1 -0
- package/dist/utilities/getOffsetTop.d.ts.map +1 -1
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/getRequestHighContrast.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts +1 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getRouteWithoutAdmin.d.ts.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.d.ts.map +1 -1
- package/dist/utilities/getVersions.d.ts +2 -2
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.d.ts +2 -2
- package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleBackToDashboard.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts +2 -2
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleGoBack.d.ts.map +1 -1
- package/dist/utilities/handleLivePreview.d.ts +1 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -1
- package/dist/utilities/handlePreview.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +32 -8
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +17 -37
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/handleStaleDataCheck.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.d.ts +5 -5
- package/dist/utilities/handleTakeOver.d.ts.map +1 -1
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -1
- package/dist/utilities/hasSavePermission.d.ts.map +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/isClientUserObject.d.ts +2 -2
- package/dist/utilities/isClientUserObject.d.ts.map +1 -1
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isCustomAdminView.d.ts.map +1 -1
- package/dist/utilities/isEditing.d.ts.map +1 -1
- package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.js +9 -3
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/recentlyViewed.d.ts +16 -0
- package/dist/utilities/recentlyViewed.d.ts.map +1 -0
- package/dist/utilities/recentlyViewed.js +21 -0
- package/dist/utilities/recentlyViewed.js.map +1 -0
- package/dist/utilities/recentlyViewed.spec.js +92 -0
- package/dist/utilities/recentlyViewed.spec.js.map +1 -0
- package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +1 -1
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
- package/dist/utilities/renderTable.d.ts +2 -2
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts +1 -1
- package/dist/utilities/resolveFilterOptions.d.ts.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.d.ts.map +1 -1
- package/dist/utilities/scrollToID.d.ts.map +1 -1
- package/dist/utilities/selectiveCache.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +18 -0
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -0
- package/dist/utilities/serverFunctionRegistry.js +43 -0
- package/dist/utilities/serverFunctionRegistry.js.map +1 -0
- package/dist/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/utilities/slugify.d.ts +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +50 -7
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -2
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.d.ts +2 -2
- package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/index.d.ts +2 -2
- package/dist/views/Account/Settings/index.d.ts.map +1 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/CollectionTrash/generateCollectionTrashMetadata.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +27 -23
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -8
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +5 -5
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +2 -2
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +2 -2
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.d.ts +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.d.ts.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Document/getDocumentView.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/index.d.ts +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +18 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/recordRecentlyViewed.d.ts +12 -0
- package/dist/views/Document/recordRecentlyViewed.d.ts.map +1 -0
- package/dist/views/Document/recordRecentlyViewed.js +40 -0
- package/dist/views/Document/recordRecentlyViewed.js.map +1 -0
- package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +47 -1
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.css +151 -6
- package/dist/views/Edit/index.d.ts +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +34 -31
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/HierarchyList/DocumentListSelection/index.js +4 -4
- package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +2 -2
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts +2 -2
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts +2 -2
- package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/TypeFilter/index.js +3 -0
- package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
- package/dist/views/HierarchyList/index.css +1 -1
- package/dist/views/HierarchyList/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/index.js +2 -6
- package/dist/views/HierarchyList/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.css +5 -0
- package/dist/views/List/ListSelection/index.js +4 -4
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/createSerializableValue.d.ts.map +1 -1
- package/dist/views/List/extractRelationshipDisplayValue.d.ts.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.d.ts.map +1 -1
- package/dist/views/List/generateListViewMetadata.d.ts.map +1 -1
- package/dist/views/List/handleGroupBy.d.ts.map +1 -1
- package/dist/views/List/handleHierarchy.d.ts +1 -1
- package/dist/views/List/handleHierarchy.d.ts.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +6 -6
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +4 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +9 -6
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
- package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts +14 -0
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +7 -5
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +18 -2
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/page.d.ts.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -1
- package/dist/views/Root/generatePageMetadata.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/index.d.ts +12 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +10 -3
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +1 -0
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/fetchVersions.d.ts +8 -8
- package/dist/views/Versions/fetchVersions.d.ts.map +1 -1
- package/dist/views/Versions/fetchVersions.js.map +1 -1
- package/dist/views/Versions/index.css +0 -4
- package/dist/views/Versions/types.d.ts +2 -2
- package/dist/views/Versions/types.d.ts.map +1 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts +20 -0
- package/dist/widgets/CollectionCards/getCollectionCardsData.d.ts.map +1 -0
- package/dist/widgets/CollectionCards/getCollectionCardsData.js +29 -0
- package/dist/widgets/CollectionCards/getCollectionCardsData.js.map +1 -0
- package/dist/widgets/CollectionCards/index.client.d.ts +5 -0
- package/dist/widgets/CollectionCards/index.client.d.ts.map +1 -0
- package/dist/widgets/CollectionCards/index.client.js +139 -0
- package/dist/widgets/CollectionCards/index.client.js.map +1 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -0
- package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -0
- package/dist/widgets/CollectionQuery/SortField/index.js +118 -0
- package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -0
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts +18 -0
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.d.ts.map +1 -0
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js +91 -0
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.js.map +1 -0
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +100 -0
- package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +1 -0
- package/dist/widgets/CollectionQuery/index.css +64 -0
- package/dist/widgets/CollectionQuery/index.d.ts +16 -0
- package/dist/widgets/CollectionQuery/index.d.ts.map +1 -0
- package/dist/widgets/CollectionQuery/index.js +328 -0
- package/dist/widgets/CollectionQuery/index.js.map +1 -0
- package/dist/widgets/RecentlyViewed/CollectionsField/index.css +14 -0
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +10 -0
- package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js +76 -0
- package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -0
- package/dist/widgets/RecentlyViewed/index.d.ts +10 -0
- package/dist/widgets/RecentlyViewed/index.d.ts.map +1 -0
- package/dist/widgets/RecentlyViewed/index.js +148 -0
- package/dist/widgets/RecentlyViewed/index.js.map +1 -0
- package/dist/widgets/WidgetCard/index.css +155 -0
- package/dist/widgets/WidgetCard/index.d.ts +19 -0
- package/dist/widgets/WidgetCard/index.d.ts.map +1 -0
- package/dist/widgets/WidgetCard/index.js +49 -0
- package/dist/widgets/WidgetCard/index.js.map +1 -0
- package/package.json +61 -15
- package/dist/elements/BulkUpload/Header/index.d.ts +0 -9
- package/dist/elements/BulkUpload/Header/index.d.ts.map +0 -1
- package/dist/elements/BulkUpload/Header/index.js.map +0 -1
- package/dist/elements/ColumnSelector/index.d.ts +0 -9
- package/dist/elements/ColumnSelector/index.d.ts.map +0 -1
- package/dist/elements/ColumnSelector/index.js.map +0 -1
- package/dist/elements/ColumnsButton/index.d.ts +0 -7
- package/dist/elements/ColumnsButton/index.d.ts.map +0 -1
- package/dist/elements/ColumnsButton/index.js.map +0 -1
- package/dist/elements/FileDetails/FileMeta/index.scss +0 -31
- package/dist/elements/FileDetails/StaticFileDetails/index.scss +0 -134
- package/dist/elements/GroupByBuilder/index.d.ts +0 -12
- package/dist/elements/GroupByBuilder/index.d.ts.map +0 -1
- package/dist/elements/GroupByBuilder/index.js +0 -164
- package/dist/elements/GroupByBuilder/index.js.map +0 -1
- package/dist/elements/GroupByBuilder/index.scss +0 -39
- package/dist/elements/GroupByControl/index.d.ts +0 -9
- package/dist/elements/GroupByControl/index.d.ts.map +0 -1
- package/dist/elements/GroupByControl/index.js +0 -254
- package/dist/elements/GroupByControl/index.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/fetchAncestorPath.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/index.css +0 -90
- package/dist/elements/Hierarchy/Drawer/index.d.ts +0 -20
- package/dist/elements/Hierarchy/Drawer/index.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/index.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/types.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/types.js.map +0 -1
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts +0 -30
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.d.ts.map +0 -1
- package/dist/elements/Hierarchy/Drawer/useHierarchyDrawer.js.map +0 -1
- package/dist/elements/Nav/NavToggler/index.css +0 -12
- package/dist/elements/Nav/NavToggler/index.d.ts +0 -9
- package/dist/elements/Nav/NavToggler/index.d.ts.map +0 -1
- package/dist/elements/Nav/NavToggler/index.js +0 -91
- package/dist/elements/Nav/NavToggler/index.js.map +0 -1
- package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
- package/dist/elements/PreviewSizes/index.scss +0 -147
- package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -17
- package/dist/elements/QueryPresets/fields/GroupByField/index.scss +0 -17
- package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/elements/Thumbnail/index.scss +0 -53
- package/dist/exports/client/CodeEditor-T3624SG3.js +0 -14
- package/dist/exports/client/CodeEditor-T3624SG3.js.map +0 -7
- package/dist/exports/client/DatePicker-6KF52Z3G.js +0 -14
- package/dist/exports/client/DatePicker-6KF52Z3G.js.map +0 -7
- package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
- package/dist/exports/client/chunk-7T64ULOM.js +0 -29
- package/dist/exports/client/chunk-7T64ULOM.js.map +0 -7
- package/dist/exports/client/chunk-DMFYTMX6.js +0 -27
- package/dist/exports/client/chunk-DMFYTMX6.js.map +0 -7
- package/dist/icons/ExternalLink/index.d.ts.map +0 -1
- package/dist/icons/ExternalLink/index.js +0 -26
- package/dist/icons/ExternalLink/index.js.map +0 -1
- package/dist/scss/app.scss +0 -177
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/toasts.scss +0 -146
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
- /package/dist/elements/{ColumnSelector/index.css → ColumnSelection/Popup.css} +0 -0
- /package/dist/elements/{GroupByControl/index.css → GroupBy/Popup.css} +0 -0
- /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.d.ts +0 -0
- /package/dist/elements/Hierarchy/{Drawer → Modal}/fetchAncestorPath.js +0 -0
- /package/dist/elements/Hierarchy/{Drawer → Modal}/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabSessionSync.d.ts","sourceRoot":"","sources":["../../../../src/providers/Auth/tabSessionSync/useTabSessionSync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,sEAAsE;IACtE,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,qBAAqB,GAAG,SAAS,CAAA;IACxE,mFAAmF;IACnF,yBAAyB,EAAE,CAAC,WAAW,EAAE,2BAA2B,KAAK,IAAI,CAAA;CAC9E,CAAA;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GACvE,cAAc,CA4ChB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { createTabSessionSync } from './index.js';
|
|
6
|
+
/** Connects the Auth provider to one cross-tab session coordinator for the current browser tab. */
|
|
7
|
+
export function useTabSessionSync(options) {
|
|
8
|
+
const $ = _c(9);
|
|
9
|
+
const [sourceTabID] = useState(createTabID);
|
|
10
|
+
const optionsRef = useRef(options);
|
|
11
|
+
const tabSessionSyncRef = useRef(undefined);
|
|
12
|
+
let t0;
|
|
13
|
+
let t1;
|
|
14
|
+
if ($[0] !== options) {
|
|
15
|
+
t0 = () => {
|
|
16
|
+
optionsRef.current = options;
|
|
17
|
+
};
|
|
18
|
+
t1 = [options];
|
|
19
|
+
$[0] = options;
|
|
20
|
+
$[1] = t0;
|
|
21
|
+
$[2] = t1;
|
|
22
|
+
} else {
|
|
23
|
+
t0 = $[1];
|
|
24
|
+
t1 = $[2];
|
|
25
|
+
}
|
|
26
|
+
useEffect(t0, t1);
|
|
27
|
+
let t2;
|
|
28
|
+
let t3;
|
|
29
|
+
if ($[3] !== sourceTabID) {
|
|
30
|
+
t2 = () => {
|
|
31
|
+
const tabSessionSync = createTabSessionSync({
|
|
32
|
+
getTokenExpirationMs: () => optionsRef.current.getTokenExpirationMs(),
|
|
33
|
+
onSessionExpired: expiredTokenAt => optionsRef.current.onSessionExpired(expiredTokenAt),
|
|
34
|
+
onSessionLoggedOut: () => optionsRef.current.onSessionLoggedOut(),
|
|
35
|
+
onSessionRefreshed: session => optionsRef.current.onSessionRefreshed(session),
|
|
36
|
+
onTabSessionUnauthenticated: () => optionsRef.current.onTabSessionUnauthenticated(),
|
|
37
|
+
reconcileSession: reconciliationOptions => optionsRef.current.reconcileSession(reconciliationOptions),
|
|
38
|
+
sourceTabID
|
|
39
|
+
});
|
|
40
|
+
tabSessionSyncRef.current = tabSessionSync;
|
|
41
|
+
return () => {
|
|
42
|
+
if (tabSessionSyncRef.current === tabSessionSync) {
|
|
43
|
+
tabSessionSyncRef.current = undefined;
|
|
44
|
+
}
|
|
45
|
+
tabSessionSync.cleanup();
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
t3 = [sourceTabID];
|
|
49
|
+
$[3] = sourceTabID;
|
|
50
|
+
$[4] = t2;
|
|
51
|
+
$[5] = t3;
|
|
52
|
+
} else {
|
|
53
|
+
t2 = $[4];
|
|
54
|
+
t3 = $[5];
|
|
55
|
+
}
|
|
56
|
+
useEffect(t2, t3);
|
|
57
|
+
let t4;
|
|
58
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
59
|
+
t4 = event => tabSessionSyncRef.current?.broadcast(event);
|
|
60
|
+
$[6] = t4;
|
|
61
|
+
} else {
|
|
62
|
+
t4 = $[6];
|
|
63
|
+
}
|
|
64
|
+
const broadcast = t4;
|
|
65
|
+
let t5;
|
|
66
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
67
|
+
t5 = publication => {
|
|
68
|
+
tabSessionSyncRef.current?.broadcastLogoutSettlement(publication);
|
|
69
|
+
};
|
|
70
|
+
$[7] = t5;
|
|
71
|
+
} else {
|
|
72
|
+
t5 = $[7];
|
|
73
|
+
}
|
|
74
|
+
const broadcastLogoutSettlement = t5;
|
|
75
|
+
let t6;
|
|
76
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
77
|
+
t6 = {
|
|
78
|
+
broadcast,
|
|
79
|
+
broadcastLogoutSettlement
|
|
80
|
+
};
|
|
81
|
+
$[8] = t6;
|
|
82
|
+
} else {
|
|
83
|
+
t6 = $[8];
|
|
84
|
+
}
|
|
85
|
+
return t6;
|
|
86
|
+
}
|
|
87
|
+
function createTabID() {
|
|
88
|
+
return globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=useTabSessionSync.js.map
|
|
@@ -0,0 +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,CAAAM,WAAS;EAC/B,MAAAC,UAAA,GAAmBR,MAAA,CAAOI,OAAA;EAC1B,MAAAK,iBAAA,GAA0BT,MAAA,CAAAU,SAAgD;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAD,OAAA;IAEhEO,EAAA,GAAAA,CAAA;MACRH,UAAA,CAAAK,OAAA,GAAqBT,OAAA;IAAA;IACpBQ,EAAA,IAACR,OAAA;IAAQC,CAAA,MAAAD,OAAA;IAAAC,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EAFZP,SAAA,CAAUa,EAEV,EAAGC,EAAS;EAAA,IAAAE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAV,CAAA,QAAAC,WAAA;IAEFQ,EAAA,GAAAA,CAAA;MACR,MAAAE,cAAA,GAAuBd,oBAAA;QAAAe,oBAAA,EAAAA,CAAA,KACOT,UAAA,CAAAK,OAAA,CAAAI,oBAAA,CAAuC;QAAAC,gBAAA,EAAAC,cAAA,IAC7BX,UAAA,CAAAK,OAAA,CAAAK,gBAAA,CAAoCC,cAAA;QAAAC,kBAAA,EAAAA,CAAA,KAChDZ,UAAA,CAAAK,OAAA,CAAAO,kBAAA,CAAqC;QAAAC,kBAAA,EAAAC,OAAA,IAC9Bd,UAAA,CAAAK,OAAA,CAAAQ,kBAAA,CAAsCC,OAAA;QAAAC,2BAAA,EAAAA,CAAA,KACpCf,UAAA,CAAAK,OAAA,CAAAU,2BAAA,CAA8C;QAAAC,gBAAA,EAAAC,qBAAA,IAE/EjB,UAAA,CAAAK,OAAA,CAAAW,gBAAA,CAAoCC,qBAAA;QAAAnB;MAAA,CAExC;MAEAG,iBAAA,CAAAI,OAAA,GAA4BG,cAAA;MAAA;QAAA,IAGtBP,iBAAA,CAAAI,OAAA,KAA8BG,cAAA;UAChCP,iBAAA,CAAAI,OAAA,GAAAH,SAAA;QAAA;QAGFM,cAAA,CAAAU,OAAA,CAAsB;MAAA;IAAA;IAEvBX,EAAA,IAACT,WAAA;IAAYD,CAAA,MAAAC,WAAA;IAAAD,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAU,EAAA;EAAA;IAAAD,EAAA,GAAAT,CAAA;IAAAU,EAAA,GAAAV,CAAA;EAAA;EArBhBP,SAAA,CAAUgB,EAqBV,EAAGC,EAAa;EAAA,IAAAY,EAAA;EAAA,IAAAtB,CAAA,QAAAuB,MAAA,CAAAC,GAAA;IAGdF,EAAA,GAAAG,KAAA,IAA4BrB,iBAAA,CAAAI,OAAA,EAAAkB,SAAA,CAAqCD,KAAA;IAAAzB,CAAA,MAAAsB,EAAA;EAAA;IAAAA,EAAA,GAAAtB,CAAA;EAAA;EADnE,MAAA0B,SAAA,GAAkBJ,EAEd;EAAA,IAAAK,EAAA;EAAA,IAAA3B,CAAA,QAAAuB,MAAA,CAAAC,GAAA;IAE0CG,EAAA,GAAAC,WAAA;MAC5CxB,iBAAA,CAAAI,OAAA,EAAAqB,yBAAA,CAAqDD,WAAA;IAAA;IACvD5B,CAAA,MAAA2B,EAAA;EAAA;IAAAA,EAAA,GAAA3B,CAAA;EAAA;EAFA,MAAA6B,yBAAA,GAAkCF,EAE7B;EAAA,IAAAG,EAAA;EAAA,IAAA9B,CAAA,QAAAuB,MAAA,CAAAC,GAAA;IAGIM,EAAA;MAAAJ,SAAA;MAAAG;IAAA;IAAuC7B,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAAA,OAAvC8B,EAAuC;AAAA;AAKlD,SAAS5B,YAAA;EACP,OAAO6B,UAAA,CAAWC,MAAM,EAAEC,UAAA,QAAkB,GAAGC,IAAA,CAAKC,GAAG,MAAMC,IAAA,CAAKC,MAAM,IAAI;AAC9E","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { TabSessionEvent, TabSessionLifecycleOrder, TabSessionMessage, TabSessionStorageNotification } from './types.js';
|
|
2
|
+
export declare const tabSessionSyncStorageKey = "payload:auth-session:tab-sync";
|
|
3
|
+
export declare const tabSessionSyncChannelName = "payload-auth-session-tab-sync";
|
|
4
|
+
export declare function isTabSessionMessage(value: unknown): value is TabSessionMessage;
|
|
5
|
+
export declare function isTabSessionStorageNotification(value: unknown): value is TabSessionStorageNotification;
|
|
6
|
+
export declare function parseTabSessionStorageNotification(event: StorageEvent): null | TabSessionStorageNotification;
|
|
7
|
+
/**
|
|
8
|
+
* Orders two lifecycle events from oldest to newest.
|
|
9
|
+
*
|
|
10
|
+
* A refresh is ordered from when it started rather than when its response was published. This
|
|
11
|
+
* prevents a refresh that began before a logout or expiration from restoring that older session.
|
|
12
|
+
*/
|
|
13
|
+
export declare function compareLifecycleOrders({ first, second, }: {
|
|
14
|
+
first: TabSessionLifecycleOrder;
|
|
15
|
+
second: TabSessionLifecycleOrder;
|
|
16
|
+
}): number;
|
|
17
|
+
export declare function getLifecycleOrder(event: {
|
|
18
|
+
sentAt: number;
|
|
19
|
+
sourceTabID: string;
|
|
20
|
+
} & TabSessionEvent): TabSessionLifecycleOrder;
|
|
21
|
+
export declare function createTabSessionMessage({ event, sentAt, sourceTabID, }: {
|
|
22
|
+
event: TabSessionEvent;
|
|
23
|
+
sentAt: number;
|
|
24
|
+
sourceTabID: string;
|
|
25
|
+
}): TabSessionMessage;
|
|
26
|
+
//# sourceMappingURL=utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../src/providers/Auth/tabSessionSync/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,YAAY,CAAA;AAInB,eAAO,MAAM,wBAAwB,kCAAkC,CAAA;AACvE,eAAO,MAAM,yBAAyB,kCAAkC,CAAA;AAExE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CA0C9E;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,6BAA6B,CAsCxC;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,YAAY,GAClB,IAAI,GAAG,6BAA6B,CActC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,EAAE,wBAAwB,CAAA;IAC/B,MAAM,EAAE,wBAAwB,CAAA;CACjC,GAAG,MAAM,CAoCT;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,GAC/D,wBAAwB,CAwB1B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,MAAM,EACN,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,iBAAiB,CAgBpB"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { TAB_SESSION_EVENT_TYPES } from './types.js';
|
|
2
|
+
export const tabSessionSyncStorageKey = 'payload:auth-session:tab-sync';
|
|
3
|
+
export const tabSessionSyncChannelName = 'payload-auth-session-tab-sync';
|
|
4
|
+
export function isTabSessionMessage(value) {
|
|
5
|
+
if (!value || typeof value !== 'object' || !('sourceTabID' in value) || typeof value.sourceTabID !== 'string' || !('sentAt' in value) || typeof value.sentAt !== 'number' || !Number.isFinite(value.sentAt) || !('type' in value)) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (value.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
if (value.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {
|
|
12
|
+
return 'expiredTokenAt' in value && typeof value.expiredTokenAt === 'number' && Number.isFinite(value.expiredTokenAt);
|
|
13
|
+
}
|
|
14
|
+
if (value.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {
|
|
15
|
+
return 'refreshStartedAt' in value && typeof value.refreshStartedAt === 'number' && Number.isFinite(value.refreshStartedAt) && 'session' in value && Boolean(value.session) && typeof value.session === 'object' && 'exp' in value.session && typeof value.session.exp === 'number' && Number.isFinite(value.session.exp) && 'user' in value.session;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
export function isTabSessionStorageNotification(value) {
|
|
20
|
+
if (!value || typeof value !== 'object' || !('affectedExpirationMs' in value) || typeof value.affectedExpirationMs !== 'number' || !Number.isFinite(value.affectedExpirationMs) || !('sentAt' in value) || typeof value.sentAt !== 'number' || !Number.isFinite(value.sentAt) || !('sourceTabID' in value) || typeof value.sourceTabID !== 'string' || !('type' in value) || !isTabSessionEventType(value.type) || 'isBroadcastChannelFallback' in value && value.isBroadcastChannelFallback !== true) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (value.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {
|
|
24
|
+
return !('settlesSentAt' in value);
|
|
25
|
+
}
|
|
26
|
+
if (value.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {
|
|
27
|
+
return !('settlesSentAt' in value) && 'refreshStartedAt' in value && typeof value.refreshStartedAt === 'number' && Number.isFinite(value.refreshStartedAt);
|
|
28
|
+
}
|
|
29
|
+
return value.affectedExpirationMs === 0 && 'settlesSentAt' in value && typeof value.settlesSentAt === 'number' && Number.isFinite(value.settlesSentAt);
|
|
30
|
+
}
|
|
31
|
+
export function parseTabSessionStorageNotification(event) {
|
|
32
|
+
if (event.key !== tabSessionSyncStorageKey || !event.newValue) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
const notification = JSON.parse(event.newValue);
|
|
37
|
+
return isTabSessionStorageNotification(notification) ? notification : null;
|
|
38
|
+
} catch {
|
|
39
|
+
// Ignore storage writes that do not belong to cross-tab session synchronization.
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Orders two lifecycle events from oldest to newest.
|
|
45
|
+
*
|
|
46
|
+
* A refresh is ordered from when it started rather than when its response was published. This
|
|
47
|
+
* prevents a refresh that began before a logout or expiration from restoring that older session.
|
|
48
|
+
*/
|
|
49
|
+
export function compareLifecycleOrders({
|
|
50
|
+
first,
|
|
51
|
+
second
|
|
52
|
+
}) {
|
|
53
|
+
const isFirstRefresh = first.type === TAB_SESSION_EVENT_TYPES.REFRESHED;
|
|
54
|
+
const isSecondRefresh = second.type === TAB_SESSION_EVENT_TYPES.REFRESHED;
|
|
55
|
+
if (isFirstRefresh !== isSecondRefresh) {
|
|
56
|
+
const firstOrderingFence = getLifecycleOrderingFence(first);
|
|
57
|
+
const secondOrderingFence = getLifecycleOrderingFence(second);
|
|
58
|
+
if (firstOrderingFence !== secondOrderingFence) {
|
|
59
|
+
return firstOrderingFence - secondOrderingFence;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const isFirstLogout = first.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT;
|
|
63
|
+
const isSecondLogout = second.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT;
|
|
64
|
+
if (isFirstLogout !== isSecondLogout) {
|
|
65
|
+
return isFirstLogout ? 1 : -1;
|
|
66
|
+
}
|
|
67
|
+
if (first.sentAt !== second.sentAt) {
|
|
68
|
+
return first.sentAt - second.sentAt;
|
|
69
|
+
}
|
|
70
|
+
if (first.affectedExpirationMs !== second.affectedExpirationMs) {
|
|
71
|
+
return first.affectedExpirationMs - second.affectedExpirationMs;
|
|
72
|
+
}
|
|
73
|
+
const firstPrecedence = getLifecyclePrecedence(first.type);
|
|
74
|
+
const secondPrecedence = getLifecyclePrecedence(second.type);
|
|
75
|
+
if (firstPrecedence !== secondPrecedence) {
|
|
76
|
+
return firstPrecedence - secondPrecedence;
|
|
77
|
+
}
|
|
78
|
+
return compareSourceTabIDs({
|
|
79
|
+
first: first.sourceTabID,
|
|
80
|
+
second: second.sourceTabID
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
export function getLifecycleOrder(event) {
|
|
84
|
+
const lifecycleMetadata = {
|
|
85
|
+
sentAt: event.sentAt,
|
|
86
|
+
sourceTabID: event.sourceTabID
|
|
87
|
+
};
|
|
88
|
+
if (event.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {
|
|
89
|
+
return {
|
|
90
|
+
type: event.type,
|
|
91
|
+
affectedExpirationMs: event.session.exp * 1000,
|
|
92
|
+
refreshStartedAt: event.refreshStartedAt,
|
|
93
|
+
...lifecycleMetadata
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (event.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {
|
|
97
|
+
return {
|
|
98
|
+
type: event.type,
|
|
99
|
+
affectedExpirationMs: event.expiredTokenAt,
|
|
100
|
+
...lifecycleMetadata
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
type: event.type,
|
|
105
|
+
affectedExpirationMs: 0,
|
|
106
|
+
...lifecycleMetadata
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export function createTabSessionMessage({
|
|
110
|
+
event,
|
|
111
|
+
sentAt,
|
|
112
|
+
sourceTabID
|
|
113
|
+
}) {
|
|
114
|
+
if (event.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {
|
|
115
|
+
return {
|
|
116
|
+
type: event.type,
|
|
117
|
+
refreshStartedAt: event.refreshStartedAt,
|
|
118
|
+
sentAt,
|
|
119
|
+
session: event.session,
|
|
120
|
+
sourceTabID
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
if (event.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {
|
|
124
|
+
return {
|
|
125
|
+
type: event.type,
|
|
126
|
+
expiredTokenAt: event.expiredTokenAt,
|
|
127
|
+
sentAt,
|
|
128
|
+
sourceTabID
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
type: event.type,
|
|
133
|
+
sentAt,
|
|
134
|
+
sourceTabID
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function compareSourceTabIDs({
|
|
138
|
+
first,
|
|
139
|
+
second
|
|
140
|
+
}) {
|
|
141
|
+
if (first === second) {
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
144
|
+
return first > second ? 1 : -1;
|
|
145
|
+
}
|
|
146
|
+
/** Returns the point in time when a lifecycle event began affecting the session. */
|
|
147
|
+
function getLifecycleOrderingFence(order) {
|
|
148
|
+
return order.type === TAB_SESSION_EVENT_TYPES.REFRESHED ? order.refreshStartedAt : order.sentAt;
|
|
149
|
+
}
|
|
150
|
+
function getLifecyclePrecedence(type) {
|
|
151
|
+
if (type === TAB_SESSION_EVENT_TYPES.EXPIRED) {
|
|
152
|
+
return 1;
|
|
153
|
+
}
|
|
154
|
+
return type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT ? 2 : 0;
|
|
155
|
+
}
|
|
156
|
+
function isTabSessionEventType(value) {
|
|
157
|
+
return Object.values(TAB_SESSION_EVENT_TYPES).some(eventType => eventType === value);
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.js","names":["TAB_SESSION_EVENT_TYPES","tabSessionSyncStorageKey","tabSessionSyncChannelName","isTabSessionMessage","value","sourceTabID","sentAt","Number","isFinite","type","LOGGED_OUT","EXPIRED","expiredTokenAt","REFRESHED","refreshStartedAt","Boolean","session","exp","isTabSessionStorageNotification","affectedExpirationMs","isTabSessionEventType","isBroadcastChannelFallback","settlesSentAt","parseTabSessionStorageNotification","event","key","newValue","notification","JSON","parse","compareLifecycleOrders","first","second","isFirstRefresh","isSecondRefresh","firstOrderingFence","getLifecycleOrderingFence","secondOrderingFence","isFirstLogout","isSecondLogout","firstPrecedence","getLifecyclePrecedence","secondPrecedence","compareSourceTabIDs","getLifecycleOrder","lifecycleMetadata","createTabSessionMessage","order","Object","values","some","eventType"],"sources":["../../../../src/providers/Auth/tabSessionSync/utilities.ts"],"sourcesContent":["import type {\n TabSessionEvent,\n TabSessionEventType,\n TabSessionLifecycleOrder,\n TabSessionMessage,\n TabSessionStorageNotification,\n} from './types.js'\n\nimport { TAB_SESSION_EVENT_TYPES } from './types.js'\n\nexport const tabSessionSyncStorageKey = 'payload:auth-session:tab-sync'\nexport const tabSessionSyncChannelName = 'payload-auth-session-tab-sync'\n\nexport function isTabSessionMessage(value: unknown): value is TabSessionMessage {\n if (\n !value ||\n typeof value !== 'object' ||\n !('sourceTabID' in value) ||\n typeof value.sourceTabID !== 'string' ||\n !('sentAt' in value) ||\n typeof value.sentAt !== 'number' ||\n !Number.isFinite(value.sentAt) ||\n !('type' in value)\n ) {\n return false\n }\n\n if (value.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {\n return true\n }\n\n if (value.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {\n return (\n 'expiredTokenAt' in value &&\n typeof value.expiredTokenAt === 'number' &&\n Number.isFinite(value.expiredTokenAt)\n )\n }\n\n if (value.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {\n return (\n 'refreshStartedAt' in value &&\n typeof value.refreshStartedAt === 'number' &&\n Number.isFinite(value.refreshStartedAt) &&\n 'session' in value &&\n Boolean(value.session) &&\n typeof value.session === 'object' &&\n 'exp' in value.session &&\n typeof value.session.exp === 'number' &&\n Number.isFinite(value.session.exp) &&\n 'user' in value.session\n )\n }\n\n return false\n}\n\nexport function isTabSessionStorageNotification(\n value: unknown,\n): value is TabSessionStorageNotification {\n if (\n !value ||\n typeof value !== 'object' ||\n !('affectedExpirationMs' in value) ||\n typeof value.affectedExpirationMs !== 'number' ||\n !Number.isFinite(value.affectedExpirationMs) ||\n !('sentAt' in value) ||\n typeof value.sentAt !== 'number' ||\n !Number.isFinite(value.sentAt) ||\n !('sourceTabID' in value) ||\n typeof value.sourceTabID !== 'string' ||\n !('type' in value) ||\n !isTabSessionEventType(value.type) ||\n ('isBroadcastChannelFallback' in value && value.isBroadcastChannelFallback !== true)\n ) {\n return false\n }\n\n if (value.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {\n return !('settlesSentAt' in value)\n }\n\n if (value.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {\n return (\n !('settlesSentAt' in value) &&\n 'refreshStartedAt' in value &&\n typeof value.refreshStartedAt === 'number' &&\n Number.isFinite(value.refreshStartedAt)\n )\n }\n\n return (\n value.affectedExpirationMs === 0 &&\n 'settlesSentAt' in value &&\n typeof value.settlesSentAt === 'number' &&\n Number.isFinite(value.settlesSentAt)\n )\n}\n\nexport function parseTabSessionStorageNotification(\n event: StorageEvent,\n): null | TabSessionStorageNotification {\n if (event.key !== tabSessionSyncStorageKey || !event.newValue) {\n return null\n }\n\n try {\n const notification: unknown = JSON.parse(event.newValue)\n\n return isTabSessionStorageNotification(notification) ? notification : null\n } catch {\n // Ignore storage writes that do not belong to cross-tab session synchronization.\n }\n\n return null\n}\n\n/**\n * Orders two lifecycle events from oldest to newest.\n *\n * A refresh is ordered from when it started rather than when its response was published. This\n * prevents a refresh that began before a logout or expiration from restoring that older session.\n */\nexport function compareLifecycleOrders({\n first,\n second,\n}: {\n first: TabSessionLifecycleOrder\n second: TabSessionLifecycleOrder\n}): number {\n const isFirstRefresh = first.type === TAB_SESSION_EVENT_TYPES.REFRESHED\n const isSecondRefresh = second.type === TAB_SESSION_EVENT_TYPES.REFRESHED\n\n if (isFirstRefresh !== isSecondRefresh) {\n const firstOrderingFence = getLifecycleOrderingFence(first)\n const secondOrderingFence = getLifecycleOrderingFence(second)\n\n if (firstOrderingFence !== secondOrderingFence) {\n return firstOrderingFence - secondOrderingFence\n }\n }\n\n const isFirstLogout = first.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT\n const isSecondLogout = second.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT\n\n if (isFirstLogout !== isSecondLogout) {\n return isFirstLogout ? 1 : -1\n }\n\n if (first.sentAt !== second.sentAt) {\n return first.sentAt - second.sentAt\n }\n\n if (first.affectedExpirationMs !== second.affectedExpirationMs) {\n return first.affectedExpirationMs - second.affectedExpirationMs\n }\n\n const firstPrecedence = getLifecyclePrecedence(first.type)\n const secondPrecedence = getLifecyclePrecedence(second.type)\n\n if (firstPrecedence !== secondPrecedence) {\n return firstPrecedence - secondPrecedence\n }\n\n return compareSourceTabIDs({ first: first.sourceTabID, second: second.sourceTabID })\n}\n\nexport function getLifecycleOrder(\n event: { sentAt: number; sourceTabID: string } & TabSessionEvent,\n): TabSessionLifecycleOrder {\n const lifecycleMetadata = {\n sentAt: event.sentAt,\n sourceTabID: event.sourceTabID,\n }\n\n if (event.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {\n return {\n type: event.type,\n affectedExpirationMs: event.session.exp * 1000,\n refreshStartedAt: event.refreshStartedAt,\n ...lifecycleMetadata,\n }\n }\n\n if (event.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {\n return {\n type: event.type,\n affectedExpirationMs: event.expiredTokenAt,\n ...lifecycleMetadata,\n }\n }\n\n return { type: event.type, affectedExpirationMs: 0, ...lifecycleMetadata }\n}\n\nexport function createTabSessionMessage({\n event,\n sentAt,\n sourceTabID,\n}: {\n event: TabSessionEvent\n sentAt: number\n sourceTabID: string\n}): TabSessionMessage {\n if (event.type === TAB_SESSION_EVENT_TYPES.REFRESHED) {\n return {\n type: event.type,\n refreshStartedAt: event.refreshStartedAt,\n sentAt,\n session: event.session,\n sourceTabID,\n }\n }\n\n if (event.type === TAB_SESSION_EVENT_TYPES.EXPIRED) {\n return { type: event.type, expiredTokenAt: event.expiredTokenAt, sentAt, sourceTabID }\n }\n\n return { type: event.type, sentAt, sourceTabID }\n}\n\nfunction compareSourceTabIDs({ first, second }: { first: string; second: string }): number {\n if (first === second) {\n return 0\n }\n\n return first > second ? 1 : -1\n}\n\n/** Returns the point in time when a lifecycle event began affecting the session. */\nfunction getLifecycleOrderingFence(order: TabSessionLifecycleOrder): number {\n return order.type === TAB_SESSION_EVENT_TYPES.REFRESHED ? order.refreshStartedAt : order.sentAt\n}\n\nfunction getLifecyclePrecedence(type: TabSessionEventType): number {\n if (type === TAB_SESSION_EVENT_TYPES.EXPIRED) {\n return 1\n }\n\n return type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT ? 2 : 0\n}\n\nfunction isTabSessionEventType(value: unknown): value is TabSessionEventType {\n return Object.values(TAB_SESSION_EVENT_TYPES).some((eventType) => eventType === value)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { AuthenticatedUser, SanitizedPermissions } from 'payload';
|
|
2
|
+
export type AuthSession = {
|
|
3
|
+
/** Whether qualifying activity has been recorded for the current token. */
|
|
4
|
+
readonly activityRecorded: boolean;
|
|
5
|
+
readonly activityTrackingStartsAt: number;
|
|
6
|
+
readonly expiresAt: number;
|
|
7
|
+
readonly refreshStartsAt: number;
|
|
8
|
+
readonly reminderStartsAt: number;
|
|
9
|
+
};
|
|
10
|
+
export type UserWithToken<T = AuthenticatedUser> = {
|
|
11
|
+
/** seconds until expiration */
|
|
12
|
+
exp: number;
|
|
13
|
+
refreshedToken?: string;
|
|
14
|
+
token?: string;
|
|
15
|
+
user: T;
|
|
16
|
+
};
|
|
17
|
+
export type AuthContext<T = AuthenticatedUser> = {
|
|
18
|
+
/** Lifecycle state for the current auth session. */
|
|
19
|
+
authSession?: AuthSession;
|
|
20
|
+
fetchFullUser: () => Promise<null | T>;
|
|
21
|
+
logOut: () => Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* These are the permissions for the current user from a global scope.
|
|
24
|
+
*
|
|
25
|
+
* When checking for permissions on document specific level, use the `useDocumentInfo` hook instead.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
*
|
|
29
|
+
* ```tsx
|
|
30
|
+
* import { useAuth } from 'payload/ui'
|
|
31
|
+
*
|
|
32
|
+
* const MyComponent: React.FC = () => {
|
|
33
|
+
* const { permissions } = useAuth()
|
|
34
|
+
*
|
|
35
|
+
* if (permissions?.collections?.myCollection?.create) {
|
|
36
|
+
* // user can create documents in 'myCollection'
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* return null
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* with useDocumentInfo:
|
|
44
|
+
*
|
|
45
|
+
* ```tsx
|
|
46
|
+
* import { useDocumentInfo } from 'payload/ui'
|
|
47
|
+
*
|
|
48
|
+
* const MyComponent: React.FC = () => {
|
|
49
|
+
* const { docPermissions } = useDocumentInfo()
|
|
50
|
+
* if (docPermissions?.create) {
|
|
51
|
+
* // user can create this document
|
|
52
|
+
* }
|
|
53
|
+
* return null
|
|
54
|
+
* } ```
|
|
55
|
+
*/
|
|
56
|
+
permissions?: SanitizedPermissions;
|
|
57
|
+
refreshCookie: (forceRefresh?: boolean) => void;
|
|
58
|
+
refreshCookieAsync: () => Promise<null | T>;
|
|
59
|
+
refreshPermissions: () => Promise<void>;
|
|
60
|
+
setPermissions: (permissions: SanitizedPermissions) => void;
|
|
61
|
+
setUser: (user: null | UserWithToken<T>) => void;
|
|
62
|
+
strategy?: string;
|
|
63
|
+
token?: string;
|
|
64
|
+
user?: null | T;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEtE,MAAM,MAAM,WAAW,GAAG;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,iBAAiB,IAAI;IACjD,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,CAAC,CAAA;CACR,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,iBAAiB,IAAI;IAC/C,oDAAoD;IACpD,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IAC3C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC3D,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAA;CAChB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/providers/Auth/types.ts"],"sourcesContent":["import type { AuthenticatedUser, SanitizedPermissions } from 'payload'\n\nexport type AuthSession = {\n /** Whether qualifying activity has been recorded for the current token. */\n readonly activityRecorded: boolean\n readonly activityTrackingStartsAt: number\n readonly expiresAt: number\n readonly refreshStartsAt: number\n readonly reminderStartsAt: number\n}\n\nexport type UserWithToken<T = AuthenticatedUser> = {\n /** seconds until expiration */\n exp: number\n refreshedToken?: string\n token?: string\n user: T\n}\n\nexport type AuthContext<T = AuthenticatedUser> = {\n /** Lifecycle state for the current auth session. */\n authSession?: AuthSession\n fetchFullUser: () => Promise<null | T>\n logOut: () => Promise<boolean>\n /**\n * These are the permissions for the current user from a global scope.\n *\n * When checking for permissions on document specific level, use the `useDocumentInfo` hook instead.\n *\n * @example\n *\n * ```tsx\n * import { useAuth } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { permissions } = useAuth()\n *\n * if (permissions?.collections?.myCollection?.create) {\n * // user can create documents in 'myCollection'\n * }\n *\n * return null\n * }\n * ```\n *\n * with useDocumentInfo:\n *\n * ```tsx\n * import { useDocumentInfo } from 'payload/ui'\n *\n * const MyComponent: React.FC = () => {\n * const { docPermissions } = useDocumentInfo()\n * if (docPermissions?.create) {\n * // user can create this document\n * }\n * return null\n * } ```\n */\n permissions?: SanitizedPermissions\n refreshCookie: (forceRefresh?: boolean) => void\n refreshCookieAsync: () => Promise<null | T>\n refreshPermissions: () => Promise<void>\n setPermissions: (permissions: SanitizedPermissions) => void\n setUser: (user: null | UserWithToken<T>) => void\n strategy?: string\n token?: string\n user?: null | T\n}\n"],"mappings":"AAmBA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SessionActivitySource } from './sessionActivity.js';
|
|
2
|
+
import type { AuthSessionTiming } from './sessionTiming.js';
|
|
3
|
+
export type AuthSessionTimers = {
|
|
4
|
+
clear: () => void;
|
|
5
|
+
getCurrentExpirationMs: () => number | undefined;
|
|
6
|
+
/** Records activity only while the activity tracking window is open. */
|
|
7
|
+
recordActivity: (source: SessionActivitySource) => boolean;
|
|
8
|
+
scheduleRefresh: (forceRefresh?: boolean) => void;
|
|
9
|
+
setExpiration: (expirationMs: number) => AuthSessionTiming | undefined;
|
|
10
|
+
};
|
|
11
|
+
export type UseAuthSessionTimersArgs = {
|
|
12
|
+
isAuthenticated: boolean;
|
|
13
|
+
onActivity: () => void;
|
|
14
|
+
onActivityRefresh: () => void;
|
|
15
|
+
onExpire: (expirationMs: number) => void;
|
|
16
|
+
onReminder: () => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Manages activity-aware refresh, expiration reminders, and logout timing for the current session.
|
|
20
|
+
*
|
|
21
|
+
* Activity inside the refresh window schedules a refresh. Earlier activity is remembered until the
|
|
22
|
+
* refresh-window checkpoint so the session can still be extended without requiring another
|
|
23
|
+
* activity event.
|
|
24
|
+
*/
|
|
25
|
+
export declare function useAuthSessionTimers({ isAuthenticated, onActivity, onActivityRefresh, onExpire, onReminder, }: UseAuthSessionTimersArgs): AuthSessionTimers;
|
|
26
|
+
//# sourceMappingURL=useAuthSessionTimers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuthSessionTimers.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/useAuthSessionTimers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAU3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,sBAAsB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAChD,wEAAwE;IACxE,cAAc,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAA;IAC1D,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAA;CACvE,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,GACX,EAAE,wBAAwB,GAAG,iBAAiB,CAqP9C"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
4
|
+
import { createSessionActivityTracker, registerSessionActivityListeners } from './sessionActivity.js';
|
|
5
|
+
import { getAuthSessionTiming } from './sessionTiming.js';
|
|
6
|
+
const maxTimeoutMs = 2_147_483_647 // ~24.8 days
|
|
7
|
+
;
|
|
8
|
+
/**
|
|
9
|
+
* Manages activity-aware refresh, expiration reminders, and logout timing for the current session.
|
|
10
|
+
*
|
|
11
|
+
* Activity inside the refresh window schedules a refresh. Earlier activity is remembered until the
|
|
12
|
+
* refresh-window checkpoint so the session can still be extended without requiring another
|
|
13
|
+
* activity event.
|
|
14
|
+
*/
|
|
15
|
+
export function useAuthSessionTimers({
|
|
16
|
+
isAuthenticated,
|
|
17
|
+
onActivity,
|
|
18
|
+
onActivityRefresh,
|
|
19
|
+
onExpire,
|
|
20
|
+
onReminder
|
|
21
|
+
}) {
|
|
22
|
+
const activityListenerCleanupRef = useRef(undefined);
|
|
23
|
+
const activityCheckpointTimeoutRef = useRef(null);
|
|
24
|
+
const forceLogOutTimeoutRef = useRef(null);
|
|
25
|
+
const hasActiveSessionRef = useRef(isAuthenticated);
|
|
26
|
+
const lastSessionActivityAtRef = useRef(undefined);
|
|
27
|
+
const scheduledRefreshTimeoutRef = useRef(null);
|
|
28
|
+
const reminderTimeoutRef = useRef(null);
|
|
29
|
+
const sessionTimingRef = useRef(undefined);
|
|
30
|
+
const tokenExpirationMsRef = useRef(undefined);
|
|
31
|
+
const callbacksRef = useRef({
|
|
32
|
+
onActivity,
|
|
33
|
+
onActivityRefresh,
|
|
34
|
+
onExpire,
|
|
35
|
+
onReminder
|
|
36
|
+
});
|
|
37
|
+
const scheduleRefresh = useCallback(forceRefresh => {
|
|
38
|
+
if (!hasActiveSessionRef.current) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const sessionTiming = sessionTimingRef.current;
|
|
42
|
+
if (forceRefresh || sessionTiming && Date.now() >= sessionTiming.refreshStartsAt) {
|
|
43
|
+
clearTimeout(scheduledRefreshTimeoutRef.current);
|
|
44
|
+
scheduledRefreshTimeoutRef.current = setTimeout(() => {
|
|
45
|
+
callbacksRef.current.onActivityRefresh();
|
|
46
|
+
}, 1000);
|
|
47
|
+
}
|
|
48
|
+
}, []);
|
|
49
|
+
const activityTracker = useMemo(() => createSessionActivityTracker({
|
|
50
|
+
onActivity: (_source, occurredAt) => {
|
|
51
|
+
const isFirstActivity = lastSessionActivityAtRef.current === undefined;
|
|
52
|
+
lastSessionActivityAtRef.current = occurredAt;
|
|
53
|
+
if (isFirstActivity) {
|
|
54
|
+
callbacksRef.current.onActivity();
|
|
55
|
+
}
|
|
56
|
+
scheduleRefresh();
|
|
57
|
+
}
|
|
58
|
+
}), [scheduleRefresh]);
|
|
59
|
+
const recordActivity = useCallback(source => {
|
|
60
|
+
const occurredAt_0 = Date.now();
|
|
61
|
+
const sessionTiming_0 = sessionTimingRef.current;
|
|
62
|
+
const isActivityWindowOpen = sessionTiming_0 && occurredAt_0 >= sessionTiming_0.activityTrackingStartsAt && occurredAt_0 < sessionTiming_0.reminderStartsAt;
|
|
63
|
+
if (!activityListenerCleanupRef.current || !isActivityWindowOpen) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return activityTracker.record(source);
|
|
67
|
+
}, [activityTracker]);
|
|
68
|
+
const addActivityListeners = useCallback(() => {
|
|
69
|
+
if (activityListenerCleanupRef.current) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
activityListenerCleanupRef.current = registerSessionActivityListeners({
|
|
73
|
+
markActivity: recordActivity,
|
|
74
|
+
window
|
|
75
|
+
});
|
|
76
|
+
}, [recordActivity]);
|
|
77
|
+
const removeActivityListeners = useCallback(() => {
|
|
78
|
+
const cleanup = activityListenerCleanupRef.current;
|
|
79
|
+
if (!cleanup) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
activityListenerCleanupRef.current = undefined;
|
|
83
|
+
cleanup();
|
|
84
|
+
}, []);
|
|
85
|
+
const resetSessionLifecycle = useCallback(() => {
|
|
86
|
+
clearTimeout(activityCheckpointTimeoutRef.current);
|
|
87
|
+
clearTimeout(forceLogOutTimeoutRef.current);
|
|
88
|
+
clearTimeout(reminderTimeoutRef.current);
|
|
89
|
+
clearTimeout(scheduledRefreshTimeoutRef.current);
|
|
90
|
+
removeActivityListeners();
|
|
91
|
+
activityTracker.reset();
|
|
92
|
+
lastSessionActivityAtRef.current = undefined;
|
|
93
|
+
}, [activityTracker, removeActivityListeners]);
|
|
94
|
+
const clear = useCallback(() => {
|
|
95
|
+
resetSessionLifecycle();
|
|
96
|
+
hasActiveSessionRef.current = false;
|
|
97
|
+
sessionTimingRef.current = undefined;
|
|
98
|
+
tokenExpirationMsRef.current = undefined;
|
|
99
|
+
}, [resetSessionLifecycle]);
|
|
100
|
+
const setExpiration = useCallback(expirationMs => {
|
|
101
|
+
if (!Number.isFinite(expirationMs)) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
resetSessionLifecycle();
|
|
105
|
+
tokenExpirationMsRef.current = expirationMs;
|
|
106
|
+
const sessionTiming_1 = getAuthSessionTiming({
|
|
107
|
+
expirationMs
|
|
108
|
+
});
|
|
109
|
+
sessionTimingRef.current = sessionTiming_1;
|
|
110
|
+
const scheduleReminder = () => {
|
|
111
|
+
if (tokenExpirationMsRef.current !== expirationMs) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const reminderStartsInMs = Math.max(sessionTiming_1.reminderStartsAt - Date.now(), 0);
|
|
115
|
+
reminderTimeoutRef.current = setTimeout(() => {
|
|
116
|
+
if (tokenExpirationMsRef.current !== expirationMs) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (Date.now() < sessionTiming_1.reminderStartsAt) {
|
|
120
|
+
scheduleReminder();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
clearTimeout(scheduledRefreshTimeoutRef.current);
|
|
124
|
+
removeActivityListeners();
|
|
125
|
+
if (Date.now() < sessionTiming_1.expiresAt) {
|
|
126
|
+
callbacksRef.current.onReminder();
|
|
127
|
+
}
|
|
128
|
+
}, Math.min(reminderStartsInMs, maxTimeoutMs));
|
|
129
|
+
};
|
|
130
|
+
const scheduleActivityCheckpoint = () => {
|
|
131
|
+
if (tokenExpirationMsRef.current !== expirationMs) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const refreshStartsInMs = Math.max(sessionTiming_1.refreshStartsAt - Date.now(), 0);
|
|
135
|
+
activityCheckpointTimeoutRef.current = setTimeout(() => {
|
|
136
|
+
if (tokenExpirationMsRef.current !== expirationMs) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const checkpointAt = Date.now();
|
|
140
|
+
if (checkpointAt < sessionTiming_1.refreshStartsAt) {
|
|
141
|
+
scheduleActivityCheckpoint();
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const lastActivityAt = lastSessionActivityAtRef.current;
|
|
145
|
+
const hasRecentActivity = lastActivityAt !== undefined && checkpointAt < sessionTiming_1.reminderStartsAt && lastActivityAt >= sessionTiming_1.activityTrackingStartsAt;
|
|
146
|
+
if (hasRecentActivity) {
|
|
147
|
+
scheduleRefresh(true);
|
|
148
|
+
}
|
|
149
|
+
}, Math.min(refreshStartsInMs, maxTimeoutMs));
|
|
150
|
+
};
|
|
151
|
+
const scheduleExpiration = () => {
|
|
152
|
+
if (tokenExpirationMsRef.current !== expirationMs) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const expiresInMs = Math.max(sessionTiming_1.expiresAt - Date.now(), 0);
|
|
156
|
+
forceLogOutTimeoutRef.current = setTimeout(() => {
|
|
157
|
+
if (tokenExpirationMsRef.current === expirationMs) {
|
|
158
|
+
if (Date.now() < sessionTiming_1.expiresAt) {
|
|
159
|
+
scheduleExpiration();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
hasActiveSessionRef.current = false;
|
|
163
|
+
removeActivityListeners();
|
|
164
|
+
callbacksRef.current.onExpire(expirationMs);
|
|
165
|
+
}
|
|
166
|
+
}, Math.min(expiresInMs, maxTimeoutMs));
|
|
167
|
+
};
|
|
168
|
+
hasActiveSessionRef.current = expirationMs > Date.now();
|
|
169
|
+
if (hasActiveSessionRef.current) {
|
|
170
|
+
addActivityListeners();
|
|
171
|
+
scheduleReminder();
|
|
172
|
+
scheduleActivityCheckpoint();
|
|
173
|
+
}
|
|
174
|
+
scheduleExpiration();
|
|
175
|
+
return sessionTiming_1;
|
|
176
|
+
}, [addActivityListeners, removeActivityListeners, resetSessionLifecycle, scheduleRefresh]);
|
|
177
|
+
const getCurrentExpirationMs = useCallback(() => tokenExpirationMsRef.current, []);
|
|
178
|
+
useEffect(() => {
|
|
179
|
+
callbacksRef.current = {
|
|
180
|
+
onActivity,
|
|
181
|
+
onActivityRefresh,
|
|
182
|
+
onExpire,
|
|
183
|
+
onReminder
|
|
184
|
+
};
|
|
185
|
+
}, [onActivity, onActivityRefresh, onExpire, onReminder]);
|
|
186
|
+
useEffect(() => {
|
|
187
|
+
hasActiveSessionRef.current = isAuthenticated;
|
|
188
|
+
if (!isAuthenticated) {
|
|
189
|
+
removeActivityListeners();
|
|
190
|
+
}
|
|
191
|
+
}, [isAuthenticated, removeActivityListeners]);
|
|
192
|
+
useEffect(() => {
|
|
193
|
+
return clear;
|
|
194
|
+
}, [clear]);
|
|
195
|
+
return useMemo(() => ({
|
|
196
|
+
clear,
|
|
197
|
+
getCurrentExpirationMs,
|
|
198
|
+
recordActivity,
|
|
199
|
+
scheduleRefresh,
|
|
200
|
+
setExpiration
|
|
201
|
+
}), [clear, getCurrentExpirationMs, recordActivity, scheduleRefresh, setExpiration]);
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=useAuthSessionTimers.js.map
|