@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,23 @@
|
|
|
1
|
+
export type SessionActivitySource = 'focus' | 'keydown' | 'mousemove' | 'route';
|
|
2
|
+
export type MarkSessionActivity = (source: SessionActivitySource) => boolean;
|
|
3
|
+
export type SessionActivityTracker = {
|
|
4
|
+
record: MarkSessionActivity;
|
|
5
|
+
reset: () => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const sessionActivityThrottleMs = 5000;
|
|
8
|
+
/**
|
|
9
|
+
* Coalesces browser and route activity into periodic session activity.
|
|
10
|
+
*
|
|
11
|
+
* The tracker reports whether the activity was accepted. Activity inside the throttle
|
|
12
|
+
* interval is ignored and does not call `onActivity`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createSessionActivityTracker({ now, onActivity, throttleMs, }: {
|
|
15
|
+
now?: () => number;
|
|
16
|
+
onActivity: (source: SessionActivitySource, occurredAt: number) => void;
|
|
17
|
+
throttleMs?: number;
|
|
18
|
+
}): SessionActivityTracker;
|
|
19
|
+
export declare function registerSessionActivityListeners({ markActivity, window, }: {
|
|
20
|
+
markActivity: MarkSessionActivity;
|
|
21
|
+
window: Window;
|
|
22
|
+
}): () => void;
|
|
23
|
+
//# sourceMappingURL=sessionActivity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionActivity.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/sessionActivity.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAE/E,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAA;AAE5E,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,yBAAyB,OAAQ,CAAA;AAE9C;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,GAAc,EACd,UAAU,EACV,UAAsC,GACvC,EAAE;IACD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACvE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,sBAAsB,CAoBzB;AAED,wBAAgB,gCAAgC,CAAC,EAC/C,YAAY,EACZ,MAAM,GACP,EAAE;IACD,YAAY,EAAE,mBAAmB,CAAA;IACjC,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,IAAI,CAeb"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export const sessionActivityThrottleMs = 5_000;
|
|
2
|
+
/**
|
|
3
|
+
* Coalesces browser and route activity into periodic session activity.
|
|
4
|
+
*
|
|
5
|
+
* The tracker reports whether the activity was accepted. Activity inside the throttle
|
|
6
|
+
* interval is ignored and does not call `onActivity`.
|
|
7
|
+
*/
|
|
8
|
+
export function createSessionActivityTracker({
|
|
9
|
+
now = Date.now,
|
|
10
|
+
onActivity,
|
|
11
|
+
throttleMs = sessionActivityThrottleMs
|
|
12
|
+
}) {
|
|
13
|
+
let lastActivityAt;
|
|
14
|
+
return {
|
|
15
|
+
record: source => {
|
|
16
|
+
const occurredAt = now();
|
|
17
|
+
if (lastActivityAt !== undefined && occurredAt - lastActivityAt < throttleMs) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
lastActivityAt = occurredAt;
|
|
21
|
+
onActivity(source, occurredAt);
|
|
22
|
+
return true;
|
|
23
|
+
},
|
|
24
|
+
reset: () => {
|
|
25
|
+
lastActivityAt = undefined;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function registerSessionActivityListeners({
|
|
30
|
+
markActivity,
|
|
31
|
+
window
|
|
32
|
+
}) {
|
|
33
|
+
const focusListener = () => markActivity('focus');
|
|
34
|
+
const keydownListener = () => markActivity('keydown');
|
|
35
|
+
const mousemoveListener = () => markActivity('mousemove');
|
|
36
|
+
const mousemoveListenerOptions = {
|
|
37
|
+
capture: true,
|
|
38
|
+
passive: true
|
|
39
|
+
};
|
|
40
|
+
window.addEventListener('focus', focusListener, true);
|
|
41
|
+
window.addEventListener('keydown', keydownListener, true);
|
|
42
|
+
window.addEventListener('mousemove', mousemoveListener, mousemoveListenerOptions);
|
|
43
|
+
return () => {
|
|
44
|
+
window.removeEventListener('focus', focusListener, true);
|
|
45
|
+
window.removeEventListener('keydown', keydownListener, true);
|
|
46
|
+
window.removeEventListener('mousemove', mousemoveListener, mousemoveListenerOptions);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=sessionActivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionActivity.js","names":["sessionActivityThrottleMs","createSessionActivityTracker","now","Date","onActivity","throttleMs","lastActivityAt","record","source","occurredAt","undefined","reset","registerSessionActivityListeners","markActivity","window","focusListener","keydownListener","mousemoveListener","mousemoveListenerOptions","capture","passive","addEventListener","removeEventListener"],"sources":["../../../src/providers/Auth/sessionActivity.ts"],"sourcesContent":["export type SessionActivitySource = 'focus' | 'keydown' | 'mousemove' | 'route'\n\nexport type MarkSessionActivity = (source: SessionActivitySource) => boolean\n\nexport type SessionActivityTracker = {\n record: MarkSessionActivity\n reset: () => void\n}\n\nexport const sessionActivityThrottleMs = 5_000\n\n/**\n * Coalesces browser and route activity into periodic session activity.\n *\n * The tracker reports whether the activity was accepted. Activity inside the throttle\n * interval is ignored and does not call `onActivity`.\n */\nexport function createSessionActivityTracker({\n now = Date.now,\n onActivity,\n throttleMs = sessionActivityThrottleMs,\n}: {\n now?: () => number\n onActivity: (source: SessionActivitySource, occurredAt: number) => void\n throttleMs?: number\n}): SessionActivityTracker {\n let lastActivityAt: number | undefined\n\n return {\n record: (source) => {\n const occurredAt = now()\n\n if (lastActivityAt !== undefined && occurredAt - lastActivityAt < throttleMs) {\n return false\n }\n\n lastActivityAt = occurredAt\n onActivity(source, occurredAt)\n\n return true\n },\n reset: () => {\n lastActivityAt = undefined\n },\n }\n}\n\nexport function registerSessionActivityListeners({\n markActivity,\n window,\n}: {\n markActivity: MarkSessionActivity\n window: Window\n}): () => void {\n const focusListener = () => markActivity('focus')\n const keydownListener = () => markActivity('keydown')\n const mousemoveListener = () => markActivity('mousemove')\n const mousemoveListenerOptions = { capture: true, passive: true }\n\n window.addEventListener('focus', focusListener, true)\n window.addEventListener('keydown', keydownListener, true)\n window.addEventListener('mousemove', mousemoveListener, mousemoveListenerOptions)\n\n return () => {\n window.removeEventListener('focus', focusListener, true)\n window.removeEventListener('keydown', keydownListener, true)\n window.removeEventListener('mousemove', mousemoveListener, mousemoveListenerOptions)\n }\n}\n"],"mappings":"AASA,OAAO,MAAMA,yBAAA,GAA4B;AAEzC;;;;;;AAMA,OAAO,SAASC,6BAA6B;EAC3CC,GAAA,GAAMC,IAAA,CAAKD,GAAG;EACdE,UAAU;EACVC,UAAA,GAAaL;AAAyB,CAKvC;EACC,IAAIM,cAAA;EAEJ,OAAO;IACLC,MAAA,EAASC,MAAA;MACP,MAAMC,UAAA,GAAaP,GAAA;MAEnB,IAAII,cAAA,KAAmBI,SAAA,IAAaD,UAAA,GAAaH,cAAA,GAAiBD,UAAA,EAAY;QAC5E,OAAO;MACT;MAEAC,cAAA,GAAiBG,UAAA;MACjBL,UAAA,CAAWI,MAAA,EAAQC,UAAA;MAEnB,OAAO;IACT;IACAE,KAAA,EAAOA,CAAA;MACLL,cAAA,GAAiBI,SAAA;IACnB;EACF;AACF;AAEA,OAAO,SAASE,iCAAiC;EAC/CC,YAAY;EACZC;AAAM,CAIP;EACC,MAAMC,aAAA,GAAgBA,CAAA,KAAMF,YAAA,CAAa;EACzC,MAAMG,eAAA,GAAkBA,CAAA,KAAMH,YAAA,CAAa;EAC3C,MAAMI,iBAAA,GAAoBA,CAAA,KAAMJ,YAAA,CAAa;EAC7C,MAAMK,wBAAA,GAA2B;IAAEC,OAAA,EAAS;IAAMC,OAAA,EAAS;EAAK;EAEhEN,MAAA,CAAOO,gBAAgB,CAAC,SAASN,aAAA,EAAe;EAChDD,MAAA,CAAOO,gBAAgB,CAAC,WAAWL,eAAA,EAAiB;EACpDF,MAAA,CAAOO,gBAAgB,CAAC,aAAaJ,iBAAA,EAAmBC,wBAAA;EAExD,OAAO;IACLJ,MAAA,CAAOQ,mBAAmB,CAAC,SAASP,aAAA,EAAe;IACnDD,MAAA,CAAOQ,mBAAmB,CAAC,WAAWN,eAAA,EAAiB;IACvDF,MAAA,CAAOQ,mBAAmB,CAAC,aAAaL,iBAAA,EAAmBC,wBAAA;EAC7D;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// @vitest-environment jsdom
|
|
2
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
3
|
+
import { createSessionActivityTracker, registerSessionActivityListeners, sessionActivityThrottleMs } from './sessionActivity.js';
|
|
4
|
+
describe('createSessionActivityTracker', () => {
|
|
5
|
+
it('should throttle activity for five seconds', () => {
|
|
6
|
+
expect(sessionActivityThrottleMs).toBe(5_000);
|
|
7
|
+
let now = 100;
|
|
8
|
+
const onActivity = vi.fn();
|
|
9
|
+
const activityTracker = createSessionActivityTracker({
|
|
10
|
+
now: () => now,
|
|
11
|
+
onActivity
|
|
12
|
+
});
|
|
13
|
+
expect(activityTracker.record('mousemove')).toBe(true);
|
|
14
|
+
expect(onActivity).toHaveBeenCalledWith('mousemove', 100);
|
|
15
|
+
now += sessionActivityThrottleMs - 1;
|
|
16
|
+
expect(activityTracker.record('focus')).toBe(false);
|
|
17
|
+
expect(onActivity).toHaveBeenCalledTimes(1);
|
|
18
|
+
activityTracker.reset();
|
|
19
|
+
expect(activityTracker.record('focus')).toBe(true);
|
|
20
|
+
expect(onActivity).toHaveBeenCalledTimes(2);
|
|
21
|
+
now += 1;
|
|
22
|
+
expect(activityTracker.record('focus')).toBe(false);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('registerSessionActivityListeners', () => {
|
|
26
|
+
it('should register and remove focus, keyboard, and mouse movement listeners', () => {
|
|
27
|
+
const markActivity = vi.fn();
|
|
28
|
+
const cleanup = registerSessionActivityListeners({
|
|
29
|
+
markActivity,
|
|
30
|
+
window
|
|
31
|
+
});
|
|
32
|
+
window.dispatchEvent(new Event('focus'));
|
|
33
|
+
window.dispatchEvent(new KeyboardEvent('keydown'));
|
|
34
|
+
window.dispatchEvent(new MouseEvent('mousemove'));
|
|
35
|
+
expect(markActivity.mock.calls).toEqual([['focus'], ['keydown'], ['mousemove']]);
|
|
36
|
+
cleanup();
|
|
37
|
+
markActivity.mockClear();
|
|
38
|
+
window.dispatchEvent(new Event('focus'));
|
|
39
|
+
window.dispatchEvent(new KeyboardEvent('keydown'));
|
|
40
|
+
window.dispatchEvent(new MouseEvent('mousemove'));
|
|
41
|
+
expect(markActivity).not.toHaveBeenCalled();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=sessionActivity.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionActivity.spec.js","names":["describe","expect","it","vi","createSessionActivityTracker","registerSessionActivityListeners","sessionActivityThrottleMs","toBe","now","onActivity","fn","activityTracker","record","toHaveBeenCalledWith","toHaveBeenCalledTimes","reset","markActivity","cleanup","window","dispatchEvent","Event","KeyboardEvent","MouseEvent","mock","calls","toEqual","mockClear","not","toHaveBeenCalled"],"sources":["../../../src/providers/Auth/sessionActivity.spec.ts"],"sourcesContent":["// @vitest-environment jsdom\nimport { describe, expect, it, vi } from 'vitest'\n\nimport {\n createSessionActivityTracker,\n registerSessionActivityListeners,\n sessionActivityThrottleMs,\n} from './sessionActivity.js'\n\ndescribe('createSessionActivityTracker', () => {\n it('should throttle activity for five seconds', () => {\n expect(sessionActivityThrottleMs).toBe(5_000)\n\n let now = 100\n const onActivity = vi.fn()\n const activityTracker = createSessionActivityTracker({\n now: () => now,\n onActivity,\n })\n\n expect(activityTracker.record('mousemove')).toBe(true)\n expect(onActivity).toHaveBeenCalledWith('mousemove', 100)\n\n now += sessionActivityThrottleMs - 1\n\n expect(activityTracker.record('focus')).toBe(false)\n expect(onActivity).toHaveBeenCalledTimes(1)\n\n activityTracker.reset()\n\n expect(activityTracker.record('focus')).toBe(true)\n expect(onActivity).toHaveBeenCalledTimes(2)\n\n now += 1\n\n expect(activityTracker.record('focus')).toBe(false)\n })\n})\n\ndescribe('registerSessionActivityListeners', () => {\n it('should register and remove focus, keyboard, and mouse movement listeners', () => {\n const markActivity = vi.fn()\n\n const cleanup = registerSessionActivityListeners({\n markActivity,\n window,\n })\n\n window.dispatchEvent(new Event('focus'))\n window.dispatchEvent(new KeyboardEvent('keydown'))\n window.dispatchEvent(new MouseEvent('mousemove'))\n\n expect(markActivity.mock.calls).toEqual([['focus'], ['keydown'], ['mousemove']])\n\n cleanup()\n markActivity.mockClear()\n\n window.dispatchEvent(new Event('focus'))\n window.dispatchEvent(new KeyboardEvent('keydown'))\n window.dispatchEvent(new MouseEvent('mousemove'))\n\n expect(markActivity).not.toHaveBeenCalled()\n })\n})\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ;AAEzC,SACEC,4BAA4B,EAC5BC,gCAAgC,EAChCC,yBAAyB,QACpB;AAEPN,QAAA,CAAS,gCAAgC;EACvCE,EAAA,CAAG,6CAA6C;IAC9CD,MAAA,CAAOK,yBAAA,EAA2BC,IAAI,CAAC;IAEvC,IAAIC,GAAA,GAAM;IACV,MAAMC,UAAA,GAAaN,EAAA,CAAGO,EAAE;IACxB,MAAMC,eAAA,GAAkBP,4BAAA,CAA6B;MACnDI,GAAA,EAAKA,CAAA,KAAMA,GAAA;MACXC;IACF;IAEAR,MAAA,CAAOU,eAAA,CAAgBC,MAAM,CAAC,cAAcL,IAAI,CAAC;IACjDN,MAAA,CAAOQ,UAAA,EAAYI,oBAAoB,CAAC,aAAa;IAErDL,GAAA,IAAOF,yBAAA,GAA4B;IAEnCL,MAAA,CAAOU,eAAA,CAAgBC,MAAM,CAAC,UAAUL,IAAI,CAAC;IAC7CN,MAAA,CAAOQ,UAAA,EAAYK,qBAAqB,CAAC;IAEzCH,eAAA,CAAgBI,KAAK;IAErBd,MAAA,CAAOU,eAAA,CAAgBC,MAAM,CAAC,UAAUL,IAAI,CAAC;IAC7CN,MAAA,CAAOQ,UAAA,EAAYK,qBAAqB,CAAC;IAEzCN,GAAA,IAAO;IAEPP,MAAA,CAAOU,eAAA,CAAgBC,MAAM,CAAC,UAAUL,IAAI,CAAC;EAC/C;AACF;AAEAP,QAAA,CAAS,oCAAoC;EAC3CE,EAAA,CAAG,4EAA4E;IAC7E,MAAMc,YAAA,GAAeb,EAAA,CAAGO,EAAE;IAE1B,MAAMO,OAAA,GAAUZ,gCAAA,CAAiC;MAC/CW,YAAA;MACAE;IACF;IAEAA,MAAA,CAAOC,aAAa,CAAC,IAAIC,KAAA,CAAM;IAC/BF,MAAA,CAAOC,aAAa,CAAC,IAAIE,aAAA,CAAc;IACvCH,MAAA,CAAOC,aAAa,CAAC,IAAIG,UAAA,CAAW;IAEpCrB,MAAA,CAAOe,YAAA,CAAaO,IAAI,CAACC,KAAK,EAAEC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC;IAE/ER,OAAA;IACAD,YAAA,CAAaU,SAAS;IAEtBR,MAAA,CAAOC,aAAa,CAAC,IAAIC,KAAA,CAAM;IAC/BF,MAAA,CAAOC,aAAa,CAAC,IAAIE,aAAA,CAAc;IACvCH,MAAA,CAAOC,aAAa,CAAC,IAAIG,UAAA,CAAW;IAEpCrB,MAAA,CAAOe,YAAA,EAAcW,GAAG,CAACC,gBAAgB;EAC3C;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AuthSession } from './types.js';
|
|
2
|
+
export type AuthSessionTiming = Omit<AuthSession, 'activityRecorded'>;
|
|
3
|
+
export type GetAuthSessionTimingArgs = {
|
|
4
|
+
expirationMs: number;
|
|
5
|
+
nowMs?: number;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Returns the fixed lifecycle boundaries for a token expiration.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAuthSessionTiming({ expirationMs, nowMs, }: GetAuthSessionTimingArgs): AuthSessionTiming;
|
|
11
|
+
//# sourceMappingURL=sessionTiming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionTiming.d.ts","sourceRoot":"","sources":["../../../src/providers/Auth/sessionTiming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;AAErE,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,KAAkB,GACnB,EAAE,wBAAwB,GAAG,iBAAiB,CAY9C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the fixed lifecycle boundaries for a token expiration.
|
|
3
|
+
*/export function getAuthSessionTiming({
|
|
4
|
+
expirationMs,
|
|
5
|
+
nowMs = Date.now()
|
|
6
|
+
}) {
|
|
7
|
+
const expiresInMs = Math.max(0, expirationMs - nowMs);
|
|
8
|
+
const reminderWindowMs = Math.min(60_000, expiresInMs / 2);
|
|
9
|
+
const refreshWindowMs = reminderWindowMs * 2;
|
|
10
|
+
const activityTrackingWindowMs = refreshWindowMs * 2;
|
|
11
|
+
return Object.freeze({
|
|
12
|
+
activityTrackingStartsAt: Math.max(expirationMs - activityTrackingWindowMs, nowMs),
|
|
13
|
+
expiresAt: expirationMs,
|
|
14
|
+
refreshStartsAt: Math.max(expirationMs - refreshWindowMs, nowMs),
|
|
15
|
+
reminderStartsAt: Math.max(expirationMs - reminderWindowMs, nowMs)
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sessionTiming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionTiming.js","names":["getAuthSessionTiming","expirationMs","nowMs","Date","now","expiresInMs","Math","max","reminderWindowMs","min","refreshWindowMs","activityTrackingWindowMs","Object","freeze","activityTrackingStartsAt","expiresAt","refreshStartsAt","reminderStartsAt"],"sources":["../../../src/providers/Auth/sessionTiming.ts"],"sourcesContent":["import type { AuthSession } from './types.js'\n\nexport type AuthSessionTiming = Omit<AuthSession, 'activityRecorded'>\n\nexport type GetAuthSessionTimingArgs = {\n expirationMs: number\n nowMs?: number\n}\n\n/**\n * Returns the fixed lifecycle boundaries for a token expiration.\n */\nexport function getAuthSessionTiming({\n expirationMs,\n nowMs = Date.now(),\n}: GetAuthSessionTimingArgs): AuthSessionTiming {\n const expiresInMs = Math.max(0, expirationMs - nowMs)\n const reminderWindowMs = Math.min(60_000, expiresInMs / 2)\n const refreshWindowMs = reminderWindowMs * 2\n const activityTrackingWindowMs = refreshWindowMs * 2\n\n return Object.freeze({\n activityTrackingStartsAt: Math.max(expirationMs - activityTrackingWindowMs, nowMs),\n expiresAt: expirationMs,\n refreshStartsAt: Math.max(expirationMs - refreshWindowMs, nowMs),\n reminderStartsAt: Math.max(expirationMs - reminderWindowMs, nowMs),\n })\n}\n"],"mappings":"AASA;;GAGA,OAAO,SAASA,qBAAqB;EACnCC,YAAY;EACZC,KAAA,GAAQC,IAAA,CAAKC,GAAG;AAAE,CACO;EACzB,MAAMC,WAAA,GAAcC,IAAA,CAAKC,GAAG,CAAC,GAAGN,YAAA,GAAeC,KAAA;EAC/C,MAAMM,gBAAA,GAAmBF,IAAA,CAAKG,GAAG,CAAC,QAAQJ,WAAA,GAAc;EACxD,MAAMK,eAAA,GAAkBF,gBAAA,GAAmB;EAC3C,MAAMG,wBAAA,GAA2BD,eAAA,GAAkB;EAEnD,OAAOE,MAAA,CAAOC,MAAM,CAAC;IACnBC,wBAAA,EAA0BR,IAAA,CAAKC,GAAG,CAACN,YAAA,GAAeU,wBAAA,EAA0BT,KAAA;IAC5Ea,SAAA,EAAWd,YAAA;IACXe,eAAA,EAAiBV,IAAA,CAAKC,GAAG,CAACN,YAAA,GAAeS,eAAA,EAAiBR,KAAA;IAC1De,gBAAA,EAAkBX,IAAA,CAAKC,GAAG,CAACN,YAAA,GAAeO,gBAAA,EAAkBN,KAAA;EAC9D;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CreateTabSessionSyncArgs, TabSessionEvent, TabSessionLogoutPublication, TabSessionPublication } from './types.js';
|
|
2
|
+
export type { CreateTabSessionSyncArgs, TabSessionEvent, TabSessionEventType, TabSessionLogoutPublication, TabSessionMessage, TabSessionPublication, TabSessionReconciliationOptions, TabSessionReconciliationResult, } from './types.js';
|
|
3
|
+
export { TAB_SESSION_EVENT_TYPES } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Coordinates authentication session state across browser tabs.
|
|
6
|
+
*
|
|
7
|
+
* BroadcastChannel carries complete session events when available. Transient localStorage
|
|
8
|
+
* notifications carry lifecycle metadata only and allow tabs to reconcile through
|
|
9
|
+
* `reconcileSession` when BroadcastChannel is unavailable. Lifecycle ordering prevents older async
|
|
10
|
+
* work from replacing a newer session state.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createTabSessionSync({ getTokenExpirationMs, now, onSessionExpired, onSessionLoggedOut, onSessionRefreshed, onTabSessionUnauthenticated, reconcileSession, sourceTabID, }: CreateTabSessionSyncArgs): {
|
|
13
|
+
broadcast: (event: TabSessionEvent) => TabSessionPublication;
|
|
14
|
+
broadcastLogoutSettlement: (publication: TabSessionLogoutPublication) => void;
|
|
15
|
+
cleanup: () => void;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/Auth/tabSessionSync/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAKxB,eAAe,EAEf,2BAA2B,EAC3B,qBAAqB,EAGtB,MAAM,YAAY,CAAA;AAanB,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,oBAAoB,EACpB,GAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,GACZ,EAAE,wBAAwB,GAAG;IAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,qBAAqB,CAAA;IAC5D,yBAAyB,EAAE,CAAC,WAAW,EAAE,2BAA2B,KAAK,IAAI,CAAA;IAC7E,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CA8PA"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { TAB_SESSION_EVENT_TYPES } from './types.js';
|
|
2
|
+
import { compareLifecycleOrders, createTabSessionMessage, getLifecycleOrder, isTabSessionMessage, parseTabSessionStorageNotification, tabSessionSyncChannelName, tabSessionSyncStorageKey } from './utilities.js';
|
|
3
|
+
export { TAB_SESSION_EVENT_TYPES } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Coordinates authentication session state across browser tabs.
|
|
6
|
+
*
|
|
7
|
+
* BroadcastChannel carries complete session events when available. Transient localStorage
|
|
8
|
+
* notifications carry lifecycle metadata only and allow tabs to reconcile through
|
|
9
|
+
* `reconcileSession` when BroadcastChannel is unavailable. Lifecycle ordering prevents older async
|
|
10
|
+
* work from replacing a newer session state.
|
|
11
|
+
*/
|
|
12
|
+
export function createTabSessionSync({
|
|
13
|
+
getTokenExpirationMs,
|
|
14
|
+
now = Date.now,
|
|
15
|
+
onSessionExpired,
|
|
16
|
+
onSessionLoggedOut,
|
|
17
|
+
onSessionRefreshed,
|
|
18
|
+
onTabSessionUnauthenticated,
|
|
19
|
+
reconcileSession,
|
|
20
|
+
sourceTabID
|
|
21
|
+
}) {
|
|
22
|
+
let channel;
|
|
23
|
+
let isActive = true;
|
|
24
|
+
let isStorageListenerInstalled = false;
|
|
25
|
+
let latestLifecycleOrder;
|
|
26
|
+
let pendingStorageLifecycleOrder;
|
|
27
|
+
const onExpiredSession = ({
|
|
28
|
+
lifecycleOrder,
|
|
29
|
+
message
|
|
30
|
+
}) => {
|
|
31
|
+
const localExpirationMs = getTokenExpirationMs();
|
|
32
|
+
if (localExpirationMs === undefined || localExpirationMs <= message.expiredTokenAt) {
|
|
33
|
+
pendingStorageLifecycleOrder = undefined;
|
|
34
|
+
latestLifecycleOrder = lifecycleOrder;
|
|
35
|
+
onSessionExpired(message.expiredTokenAt);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const onLoggedOutSession = ({
|
|
39
|
+
lifecycleOrder
|
|
40
|
+
}) => {
|
|
41
|
+
pendingStorageLifecycleOrder = undefined;
|
|
42
|
+
latestLifecycleOrder = lifecycleOrder;
|
|
43
|
+
onSessionLoggedOut();
|
|
44
|
+
};
|
|
45
|
+
const onRefreshedSession = ({
|
|
46
|
+
lifecycleOrder,
|
|
47
|
+
message
|
|
48
|
+
}) => {
|
|
49
|
+
pendingStorageLifecycleOrder = undefined;
|
|
50
|
+
latestLifecycleOrder = lifecycleOrder;
|
|
51
|
+
onSessionRefreshed(message.session);
|
|
52
|
+
};
|
|
53
|
+
const handleChannelMessage = ({
|
|
54
|
+
data
|
|
55
|
+
}) => {
|
|
56
|
+
if (!isTabSessionMessage(data) || data.sourceTabID === sourceTabID) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const lifecycleOrder = getLifecycleOrder(data);
|
|
60
|
+
const lifecycleComparison = latestLifecycleOrder ? compareLifecycleOrders({
|
|
61
|
+
first: lifecycleOrder,
|
|
62
|
+
second: latestLifecycleOrder
|
|
63
|
+
}) : undefined;
|
|
64
|
+
const resolvesPendingStorageBarrier = lifecycleComparison === 0 && pendingStorageLifecycleOrder === latestLifecycleOrder;
|
|
65
|
+
if (lifecycleComparison !== undefined && (lifecycleComparison < 0 || lifecycleComparison === 0 && !resolvesPendingStorageBarrier)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
switch (data.type) {
|
|
69
|
+
case TAB_SESSION_EVENT_TYPES.EXPIRED:
|
|
70
|
+
onExpiredSession({
|
|
71
|
+
lifecycleOrder,
|
|
72
|
+
message: data
|
|
73
|
+
});
|
|
74
|
+
break;
|
|
75
|
+
case TAB_SESSION_EVENT_TYPES.LOGGED_OUT:
|
|
76
|
+
onLoggedOutSession({
|
|
77
|
+
lifecycleOrder
|
|
78
|
+
});
|
|
79
|
+
break;
|
|
80
|
+
case TAB_SESSION_EVENT_TYPES.REFRESHED:
|
|
81
|
+
onRefreshedSession({
|
|
82
|
+
lifecycleOrder,
|
|
83
|
+
message: data
|
|
84
|
+
});
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const reconcileStorageSession = ({
|
|
89
|
+
notification
|
|
90
|
+
}) => {
|
|
91
|
+
const isTabSessionEventStale = () => !isActive || latestLifecycleOrder !== notification;
|
|
92
|
+
void reconcileSession({
|
|
93
|
+
isTabSessionEventStale
|
|
94
|
+
}).then(result => {
|
|
95
|
+
if (!isTabSessionEventStale()) {
|
|
96
|
+
if (result.status === 'authenticated') {
|
|
97
|
+
pendingStorageLifecycleOrder = undefined;
|
|
98
|
+
latestLifecycleOrder = {
|
|
99
|
+
type: TAB_SESSION_EVENT_TYPES.REFRESHED,
|
|
100
|
+
affectedExpirationMs: result.expirationMs,
|
|
101
|
+
refreshStartedAt: notification.type === TAB_SESSION_EVENT_TYPES.REFRESHED ? notification.refreshStartedAt : notification.sentAt,
|
|
102
|
+
sentAt: notification.sentAt,
|
|
103
|
+
sourceTabID: notification.sourceTabID
|
|
104
|
+
};
|
|
105
|
+
} else if (result.status === 'unauthenticated') {
|
|
106
|
+
pendingStorageLifecycleOrder = undefined;
|
|
107
|
+
latestLifecycleOrder = {
|
|
108
|
+
type: TAB_SESSION_EVENT_TYPES.LOGGED_OUT,
|
|
109
|
+
affectedExpirationMs: 0,
|
|
110
|
+
sentAt: notification.sentAt,
|
|
111
|
+
sourceTabID: notification.sourceTabID
|
|
112
|
+
};
|
|
113
|
+
onTabSessionUnauthenticated();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}).catch(() => undefined);
|
|
117
|
+
};
|
|
118
|
+
const handleStorageNotification = event => {
|
|
119
|
+
const notification = parseTabSessionStorageNotification(event);
|
|
120
|
+
if (!notification || notification.sourceTabID === sourceTabID) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (channel && !notification.isBroadcastChannelFallback) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (latestLifecycleOrder && compareLifecycleOrders({
|
|
127
|
+
first: notification,
|
|
128
|
+
second: latestLifecycleOrder
|
|
129
|
+
}) <= 0) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
pendingStorageLifecycleOrder = notification;
|
|
133
|
+
latestLifecycleOrder = notification;
|
|
134
|
+
if (notification.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {
|
|
135
|
+
onLoggedOutSession({
|
|
136
|
+
lifecycleOrder: notification
|
|
137
|
+
});
|
|
138
|
+
} else {
|
|
139
|
+
reconcileStorageSession({
|
|
140
|
+
notification
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
function closeChannel(channelToClose) {
|
|
145
|
+
if (!channelToClose) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
channelToClose.removeEventListener('message', handleChannelMessage);
|
|
150
|
+
} catch {
|
|
151
|
+
// Cross-tab synchronization cleanup is best-effort.
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
channelToClose.close();
|
|
155
|
+
} catch {
|
|
156
|
+
// Cross-tab synchronization cleanup is best-effort.
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function attachStorageListener() {
|
|
160
|
+
if (isStorageListenerInstalled) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
window.addEventListener('storage', handleStorageNotification);
|
|
165
|
+
isStorageListenerInstalled = true;
|
|
166
|
+
} catch {
|
|
167
|
+
// Local authentication must continue when storage events are unavailable.
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
function downgradeToStorage() {
|
|
171
|
+
closeChannel(channel);
|
|
172
|
+
channel = undefined;
|
|
173
|
+
attachStorageListener();
|
|
174
|
+
}
|
|
175
|
+
function getNextLifecycleTimestamp() {
|
|
176
|
+
const currentTime = now();
|
|
177
|
+
const latestSentAt = latestLifecycleOrder?.sentAt ?? Number.NEGATIVE_INFINITY;
|
|
178
|
+
return currentTime > latestSentAt ? currentTime : latestSentAt + 1;
|
|
179
|
+
}
|
|
180
|
+
const writeStorageNotification = ({
|
|
181
|
+
notification
|
|
182
|
+
}) => {
|
|
183
|
+
const storageNotification = channel ? notification : {
|
|
184
|
+
...notification,
|
|
185
|
+
isBroadcastChannelFallback: true
|
|
186
|
+
};
|
|
187
|
+
try {
|
|
188
|
+
localStorage.setItem(tabSessionSyncStorageKey, JSON.stringify(storageNotification));
|
|
189
|
+
} catch {
|
|
190
|
+
// Local authentication must continue when storage is unavailable.
|
|
191
|
+
}
|
|
192
|
+
try {
|
|
193
|
+
localStorage.removeItem(tabSessionSyncStorageKey);
|
|
194
|
+
} catch {
|
|
195
|
+
// Local authentication must continue when storage is unavailable.
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
if (typeof BroadcastChannel === 'function') {
|
|
199
|
+
let nextChannel;
|
|
200
|
+
try {
|
|
201
|
+
nextChannel = new BroadcastChannel(tabSessionSyncChannelName);
|
|
202
|
+
nextChannel.addEventListener('message', handleChannelMessage);
|
|
203
|
+
channel = nextChannel;
|
|
204
|
+
} catch {
|
|
205
|
+
closeChannel(nextChannel);
|
|
206
|
+
channel = undefined;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
attachStorageListener();
|
|
210
|
+
return {
|
|
211
|
+
broadcast: event => {
|
|
212
|
+
const sentAt = getNextLifecycleTimestamp();
|
|
213
|
+
const message = createTabSessionMessage({
|
|
214
|
+
event,
|
|
215
|
+
sentAt,
|
|
216
|
+
sourceTabID
|
|
217
|
+
});
|
|
218
|
+
const lifecycleOrder = getLifecycleOrder(message);
|
|
219
|
+
pendingStorageLifecycleOrder = undefined;
|
|
220
|
+
latestLifecycleOrder = lifecycleOrder;
|
|
221
|
+
if (channel) {
|
|
222
|
+
try {
|
|
223
|
+
channel.postMessage(message);
|
|
224
|
+
} catch {
|
|
225
|
+
downgradeToStorage();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (lifecycleOrder.type !== TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {
|
|
229
|
+
writeStorageNotification({
|
|
230
|
+
notification: lifecycleOrder
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
return lifecycleOrder;
|
|
234
|
+
},
|
|
235
|
+
broadcastLogoutSettlement: publication => {
|
|
236
|
+
const notification = {
|
|
237
|
+
...publication,
|
|
238
|
+
sentAt: getNextLifecycleTimestamp(),
|
|
239
|
+
settlesSentAt: publication.sentAt
|
|
240
|
+
};
|
|
241
|
+
pendingStorageLifecycleOrder = undefined;
|
|
242
|
+
latestLifecycleOrder = notification;
|
|
243
|
+
writeStorageNotification({
|
|
244
|
+
notification
|
|
245
|
+
});
|
|
246
|
+
},
|
|
247
|
+
cleanup: () => {
|
|
248
|
+
isActive = false;
|
|
249
|
+
pendingStorageLifecycleOrder = undefined;
|
|
250
|
+
closeChannel(channel);
|
|
251
|
+
channel = undefined;
|
|
252
|
+
if (isStorageListenerInstalled) {
|
|
253
|
+
try {
|
|
254
|
+
window.removeEventListener('storage', handleStorageNotification);
|
|
255
|
+
} catch {
|
|
256
|
+
// Cross-tab synchronization cleanup is best-effort.
|
|
257
|
+
}
|
|
258
|
+
isStorageListenerInstalled = false;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["TAB_SESSION_EVENT_TYPES","compareLifecycleOrders","createTabSessionMessage","getLifecycleOrder","isTabSessionMessage","parseTabSessionStorageNotification","tabSessionSyncChannelName","tabSessionSyncStorageKey","createTabSessionSync","getTokenExpirationMs","now","Date","onSessionExpired","onSessionLoggedOut","onSessionRefreshed","onTabSessionUnauthenticated","reconcileSession","sourceTabID","channel","isActive","isStorageListenerInstalled","latestLifecycleOrder","pendingStorageLifecycleOrder","onExpiredSession","lifecycleOrder","message","localExpirationMs","undefined","expiredTokenAt","onLoggedOutSession","onRefreshedSession","session","handleChannelMessage","data","lifecycleComparison","first","second","resolvesPendingStorageBarrier","type","EXPIRED","LOGGED_OUT","REFRESHED","reconcileStorageSession","notification","isTabSessionEventStale","then","result","status","affectedExpirationMs","expirationMs","refreshStartedAt","sentAt","catch","handleStorageNotification","event","isBroadcastChannelFallback","closeChannel","channelToClose","removeEventListener","close","attachStorageListener","window","addEventListener","downgradeToStorage","getNextLifecycleTimestamp","currentTime","latestSentAt","Number","NEGATIVE_INFINITY","writeStorageNotification","storageNotification","localStorage","setItem","JSON","stringify","removeItem","BroadcastChannel","nextChannel","broadcast","postMessage","broadcastLogoutSettlement","publication","settlesSentAt","cleanup"],"sources":["../../../../src/providers/Auth/tabSessionSync/index.ts"],"sourcesContent":["import type {\n CreateTabSessionSyncArgs,\n OnExpiredSession,\n OnLoggedOutSession,\n OnRefreshedSession,\n ReconcileStorageSession,\n TabSessionEvent,\n TabSessionLifecycleOrder,\n TabSessionLogoutPublication,\n TabSessionPublication,\n TabSessionStorageNotification,\n WriteStorageNotification,\n} from './types.js'\n\nimport { TAB_SESSION_EVENT_TYPES } from './types.js'\nimport {\n compareLifecycleOrders,\n createTabSessionMessage,\n getLifecycleOrder,\n isTabSessionMessage,\n parseTabSessionStorageNotification,\n tabSessionSyncChannelName,\n tabSessionSyncStorageKey,\n} from './utilities.js'\n\nexport type {\n CreateTabSessionSyncArgs,\n TabSessionEvent,\n TabSessionEventType,\n TabSessionLogoutPublication,\n TabSessionMessage,\n TabSessionPublication,\n TabSessionReconciliationOptions,\n TabSessionReconciliationResult,\n} from './types.js'\n\nexport { TAB_SESSION_EVENT_TYPES } from './types.js'\n\n/**\n * Coordinates authentication session state across browser tabs.\n *\n * BroadcastChannel carries complete session events when available. Transient localStorage\n * notifications carry lifecycle metadata only and allow tabs to reconcile through\n * `reconcileSession` when BroadcastChannel is unavailable. Lifecycle ordering prevents older async\n * work from replacing a newer session state.\n */\nexport function createTabSessionSync({\n getTokenExpirationMs,\n now = Date.now,\n onSessionExpired,\n onSessionLoggedOut,\n onSessionRefreshed,\n onTabSessionUnauthenticated,\n reconcileSession,\n sourceTabID,\n}: CreateTabSessionSyncArgs): {\n broadcast: (event: TabSessionEvent) => TabSessionPublication\n broadcastLogoutSettlement: (publication: TabSessionLogoutPublication) => void\n cleanup: () => void\n} {\n let channel: BroadcastChannel | undefined\n let isActive = true\n let isStorageListenerInstalled = false\n let latestLifecycleOrder: TabSessionLifecycleOrder | undefined\n let pendingStorageLifecycleOrder: TabSessionLifecycleOrder | undefined\n\n const onExpiredSession: OnExpiredSession = ({ lifecycleOrder, message }) => {\n const localExpirationMs = getTokenExpirationMs()\n\n if (localExpirationMs === undefined || localExpirationMs <= message.expiredTokenAt) {\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = lifecycleOrder\n onSessionExpired(message.expiredTokenAt)\n }\n }\n\n const onLoggedOutSession: OnLoggedOutSession = ({ lifecycleOrder }) => {\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = lifecycleOrder\n onSessionLoggedOut()\n }\n\n const onRefreshedSession: OnRefreshedSession = ({ lifecycleOrder, message }) => {\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = lifecycleOrder\n onSessionRefreshed(message.session)\n }\n\n const handleChannelMessage = ({ data }: MessageEvent<unknown>) => {\n if (!isTabSessionMessage(data) || data.sourceTabID === sourceTabID) {\n return\n }\n\n const lifecycleOrder = getLifecycleOrder(data)\n const lifecycleComparison = latestLifecycleOrder\n ? compareLifecycleOrders({ first: lifecycleOrder, second: latestLifecycleOrder })\n : undefined\n const resolvesPendingStorageBarrier =\n lifecycleComparison === 0 && pendingStorageLifecycleOrder === latestLifecycleOrder\n\n if (\n lifecycleComparison !== undefined &&\n (lifecycleComparison < 0 || (lifecycleComparison === 0 && !resolvesPendingStorageBarrier))\n ) {\n return\n }\n\n switch (data.type) {\n case TAB_SESSION_EVENT_TYPES.EXPIRED:\n onExpiredSession({ lifecycleOrder, message: data })\n break\n\n case TAB_SESSION_EVENT_TYPES.LOGGED_OUT:\n onLoggedOutSession({ lifecycleOrder })\n break\n\n case TAB_SESSION_EVENT_TYPES.REFRESHED:\n onRefreshedSession({ lifecycleOrder, message: data })\n break\n }\n }\n\n const reconcileStorageSession: ReconcileStorageSession = ({ notification }) => {\n const isTabSessionEventStale = () => !isActive || latestLifecycleOrder !== notification\n\n void reconcileSession({ isTabSessionEventStale })\n .then((result) => {\n if (!isTabSessionEventStale()) {\n if (result.status === 'authenticated') {\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = {\n type: TAB_SESSION_EVENT_TYPES.REFRESHED,\n affectedExpirationMs: result.expirationMs,\n refreshStartedAt:\n notification.type === TAB_SESSION_EVENT_TYPES.REFRESHED\n ? notification.refreshStartedAt\n : notification.sentAt,\n sentAt: notification.sentAt,\n sourceTabID: notification.sourceTabID,\n }\n } else if (result.status === 'unauthenticated') {\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = {\n type: TAB_SESSION_EVENT_TYPES.LOGGED_OUT,\n affectedExpirationMs: 0,\n sentAt: notification.sentAt,\n sourceTabID: notification.sourceTabID,\n }\n\n onTabSessionUnauthenticated()\n }\n }\n })\n .catch(() => undefined)\n }\n\n const handleStorageNotification = (event: StorageEvent) => {\n const notification = parseTabSessionStorageNotification(event)\n\n if (!notification || notification.sourceTabID === sourceTabID) {\n return\n }\n\n if (channel && !notification.isBroadcastChannelFallback) {\n return\n }\n\n if (\n latestLifecycleOrder &&\n compareLifecycleOrders({ first: notification, second: latestLifecycleOrder }) <= 0\n ) {\n return\n }\n\n pendingStorageLifecycleOrder = notification\n latestLifecycleOrder = notification\n\n if (notification.type === TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {\n onLoggedOutSession({ lifecycleOrder: notification })\n } else {\n reconcileStorageSession({ notification })\n }\n }\n\n function closeChannel(channelToClose: BroadcastChannel | undefined): void {\n if (!channelToClose) {\n return\n }\n\n try {\n channelToClose.removeEventListener('message', handleChannelMessage)\n } catch {\n // Cross-tab synchronization cleanup is best-effort.\n }\n\n try {\n channelToClose.close()\n } catch {\n // Cross-tab synchronization cleanup is best-effort.\n }\n }\n\n function attachStorageListener(): void {\n if (isStorageListenerInstalled) {\n return\n }\n\n try {\n window.addEventListener('storage', handleStorageNotification)\n isStorageListenerInstalled = true\n } catch {\n // Local authentication must continue when storage events are unavailable.\n }\n }\n\n function downgradeToStorage(): void {\n closeChannel(channel)\n channel = undefined\n attachStorageListener()\n }\n\n function getNextLifecycleTimestamp(): number {\n const currentTime = now()\n const latestSentAt = latestLifecycleOrder?.sentAt ?? Number.NEGATIVE_INFINITY\n\n return currentTime > latestSentAt ? currentTime : latestSentAt + 1\n }\n\n const writeStorageNotification: WriteStorageNotification = ({ notification }) => {\n const storageNotification: TabSessionStorageNotification = channel\n ? notification\n : { ...notification, isBroadcastChannelFallback: true }\n\n try {\n localStorage.setItem(tabSessionSyncStorageKey, JSON.stringify(storageNotification))\n } catch {\n // Local authentication must continue when storage is unavailable.\n }\n\n try {\n localStorage.removeItem(tabSessionSyncStorageKey)\n } catch {\n // Local authentication must continue when storage is unavailable.\n }\n }\n\n if (typeof BroadcastChannel === 'function') {\n let nextChannel: BroadcastChannel | undefined\n\n try {\n nextChannel = new BroadcastChannel(tabSessionSyncChannelName)\n\n nextChannel.addEventListener('message', handleChannelMessage)\n channel = nextChannel\n } catch {\n closeChannel(nextChannel)\n channel = undefined\n }\n }\n\n attachStorageListener()\n\n return {\n broadcast: (event) => {\n const sentAt = getNextLifecycleTimestamp()\n const message = createTabSessionMessage({ event, sentAt, sourceTabID })\n const lifecycleOrder = getLifecycleOrder(message)\n\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = lifecycleOrder\n\n if (channel) {\n try {\n channel.postMessage(message)\n } catch {\n downgradeToStorage()\n }\n }\n\n if (lifecycleOrder.type !== TAB_SESSION_EVENT_TYPES.LOGGED_OUT) {\n writeStorageNotification({ notification: lifecycleOrder })\n }\n\n return lifecycleOrder\n },\n broadcastLogoutSettlement: (publication) => {\n const notification: TabSessionStorageNotification = {\n ...publication,\n sentAt: getNextLifecycleTimestamp(),\n settlesSentAt: publication.sentAt,\n }\n\n pendingStorageLifecycleOrder = undefined\n latestLifecycleOrder = notification\n writeStorageNotification({ notification })\n },\n cleanup: () => {\n isActive = false\n pendingStorageLifecycleOrder = undefined\n closeChannel(channel)\n channel = undefined\n\n if (isStorageListenerInstalled) {\n try {\n window.removeEventListener('storage', handleStorageNotification)\n } catch {\n // Cross-tab synchronization cleanup is best-effort.\n }\n\n isStorageListenerInstalled = false\n }\n },\n }\n}\n"],"mappings":"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","ignoreList":[]}
|