@datalayer/core 0.0.2 → 0.0.4
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/README.md +124 -2
- package/lib/App.css +47 -0
- package/lib/App.js +14 -2
- package/lib/__tests__/index.test.js +7 -6
- package/lib/api/{RunApi.d.ts → DatalayerApi.d.ts} +4 -4
- package/lib/api/{RunApi.js → DatalayerApi.js} +6 -11
- package/lib/api/index.d.ts +3 -2
- package/lib/api/index.js +3 -7
- package/lib/api/{runtimes → jupyter}/exec/Python.js +0 -5
- package/lib/api/{runtimes → jupyter}/exec/Snippets.js +0 -5
- package/lib/api/{runtimes → jupyter}/exec/index.js +0 -5
- package/lib/api/jupyter/index.d.ts +2 -0
- package/lib/api/jupyter/index.js +6 -0
- package/lib/api/{runtimes → jupyter}/kernelsHandler.d.ts +1 -1
- package/lib/api/{runtimes → jupyter}/kernelsHandler.js +1 -6
- package/lib/api/runtimes/actions.d.ts +102 -0
- package/lib/api/runtimes/{runtimesApi.js → actions.js} +47 -53
- package/lib/api/runtimes/{runtimesApi.d.ts → apis.d.ts} +8 -105
- package/lib/api/runtimes/apis.js +5 -0
- package/lib/api/runtimes/index.d.ts +2 -4
- package/lib/api/runtimes/index.js +2 -9
- package/lib/api/runtimes/settings.js +3 -8
- package/lib/api/runtimes/snapshots.d.ts +1 -1
- package/lib/api/runtimes/snapshots.js +8 -13
- package/lib/api/runtimes/utils.js +1 -9
- package/lib/assets/react.svg +1 -0
- package/lib/collaboration/DatalayerCollaboration.d.ts +9 -0
- package/lib/collaboration/DatalayerCollaboration.js +28 -0
- package/lib/collaboration/DatalayerCollaborationProvider.d.ts +54 -0
- package/lib/collaboration/DatalayerCollaborationProvider.js +162 -0
- package/lib/collaboration/index.d.ts +2 -0
- package/lib/collaboration/index.js +6 -0
- package/lib/components/avatars/BoringAvatar.d.ts +2 -3
- package/lib/components/avatars/BoringAvatar.js +14 -9
- package/lib/components/avatars/BoringAvatar.stories.d.ts +27 -0
- package/lib/components/avatars/BoringAvatar.stories.js +23 -0
- package/lib/components/avatars/UserProfileAvatar.js +2 -14
- package/lib/components/avatars/index.js +0 -5
- package/lib/components/banners/NoAutomationBanner.js +4 -9
- package/lib/components/banners/index.js +0 -5
- package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
- package/lib/components/buttons/DownloadCSVButton.js +1 -6
- package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
- package/lib/components/buttons/DownloadJsonButton.js +0 -5
- package/lib/components/buttons/LongActionButton.js +0 -5
- package/lib/components/buttons/UploadButton.js +1 -6
- package/lib/components/buttons/index.js +0 -5
- package/lib/components/checkout/StripeCheckout.d.ts +1 -1
- package/lib/components/checkout/StripeCheckout.js +6 -11
- package/lib/components/checkout/index.js +0 -5
- package/lib/components/confetti/ConfettiSuccess.js +1 -6
- package/lib/components/confetti/index.js +0 -5
- package/lib/components/context/OrganizationSelect.js +5 -10
- package/lib/components/context/SpaceSelect.js +7 -12
- package/lib/components/context/index.js +0 -5
- package/lib/components/display/AvatarSkeleton.js +1 -6
- package/lib/components/display/CenteredSpinner.js +4 -9
- package/lib/components/display/CodePreview.js +4 -9
- package/lib/components/display/DatalayerBox.js +13 -19
- package/lib/components/display/HorizontalCenter.d.ts +1 -1
- package/lib/components/display/HorizontalCenter.js +1 -1
- package/lib/components/display/JupyterDialog.js +17 -20
- package/lib/components/display/NavLink.d.ts +4 -2
- package/lib/components/display/NavLink.js +6 -9
- package/lib/components/display/NotebookSkeleton.js +2 -7
- package/lib/components/display/Placeholder.js +1 -6
- package/lib/components/display/ToTopBranded.js +1 -6
- package/lib/components/display/VisuallyHidden.js +0 -5
- package/lib/components/display/index.js +0 -5
- package/lib/components/echarts/EChartsReact.d.ts +1 -1
- package/lib/components/echarts/EChartsReact.js +7 -7
- package/lib/components/echarts/index.js +0 -5
- package/lib/components/flashes/FlashClosable.js +11 -16
- package/lib/components/flashes/FlashDisclaimer.js +2 -8
- package/lib/components/flashes/FlashGuest.js +3 -9
- package/lib/components/flashes/FlashSurveys.js +3 -9
- package/lib/components/flashes/FlashUnauthorized.js +2 -7
- package/lib/components/flashes/index.js +0 -5
- package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
- package/lib/components/flashes/surveys/Survey2025_1.js +62 -90
- package/lib/components/flashes/surveys/index.js +0 -5
- package/lib/components/iam/ExternalTokenSilentLogin.js +6 -9
- package/lib/components/iam/index.js +0 -5
- package/lib/components/icons/ArtifactIcon.d.ts +2 -2
- package/lib/components/icons/ArtifactIcon.js +39 -44
- package/lib/components/icons/index.js +0 -5
- package/lib/components/index.js +1 -6
- package/lib/components/labels/VisibilityLabel.js +2 -10
- package/lib/components/labels/index.js +0 -5
- package/lib/components/landings/StepBlock.d.ts +1 -1
- package/lib/components/landings/StepBlock.js +1 -6
- package/lib/components/landings/index.js +0 -5
- package/lib/components/navbar/NavigationVisbilityObserver.js +2 -7
- package/lib/components/navbar/SubdomainNavBar.js +46 -29
- package/lib/components/navbar/SubdomainNavBar.module.css +737 -0
- package/lib/components/navbar/index.js +0 -5
- package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
- package/lib/components/nbgrader/NbGradesDetails.js +5 -13
- package/lib/components/nbgrader/index.js +0 -5
- package/lib/components/notebooks/JupyterNotebook.js +5 -10
- package/lib/components/notebooks/JupyterNotebookToolbar.js +3 -8
- package/lib/components/notebooks/index.js +0 -5
- package/lib/components/primer/Helper.d.ts +1 -1
- package/lib/components/primer/Helper.js +5 -3
- package/lib/components/primer/Portals.d.ts +1 -1
- package/lib/components/primer/Portals.js +2 -7
- package/lib/components/primer/Styles.js +1 -6
- package/lib/components/primer/index.js +0 -5
- package/lib/components/progress/ConsumptionBar.js +2 -7
- package/lib/components/progress/CreditsIndicator.d.ts +1 -1
- package/lib/components/progress/CreditsIndicator.js +4 -13
- package/lib/components/progress/ProgressBar.js +0 -5
- package/lib/components/progress/ProgressRing.js +2 -2
- package/lib/components/progress/Timer.js +0 -5
- package/lib/components/progress/index.js +0 -5
- package/lib/components/runtimes/RuntimeCellVariables.js +9 -14
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +7 -12
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +1 -2
- package/lib/components/runtimes/RuntimeLauncherDialog.js +32 -40
- package/lib/components/runtimes/RuntimePickerBase.d.ts +1 -1
- package/lib/components/runtimes/RuntimePickerBase.js +42 -36
- package/lib/components/runtimes/RuntimePickerCell.js +9 -17
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +1 -2
- package/lib/components/runtimes/RuntimePickerNotebook.js +45 -50
- package/lib/components/runtimes/RuntimeReservationControl.js +10 -20
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +1 -1
- package/lib/components/runtimes/RuntimeSimplePicker.js +44 -52
- package/lib/components/runtimes/RuntimeUtils.d.ts +1 -1
- package/lib/components/runtimes/RuntimeUtils.js +22 -17
- package/lib/components/runtimes/RuntimeVariables.js +7 -12
- package/lib/components/runtimes/index.js +0 -5
- package/lib/components/screenshot/ScreenCapture.js +10 -19
- package/lib/components/screenshot/ScreenCaptureButton.d.ts +1 -1
- package/lib/components/screenshot/ScreenCaptureButton.js +14 -8
- package/lib/components/screenshot/index.js +0 -5
- package/lib/components/snapshots/RuntimeSnapshotMenu.js +19 -22
- package/lib/components/snapshots/index.js +0 -5
- package/lib/components/snippets/SnippetDialog.js +5 -10
- package/lib/components/snippets/index.js +0 -5
- package/lib/components/storage/ContentsBrowser.js +75 -63
- package/lib/components/storage/ContentsItems.js +10 -13
- package/lib/components/storage/index.js +0 -5
- package/lib/components/students/StudentItemStatus.d.ts +1 -1
- package/lib/components/students/StudentItemStatus.js +38 -21
- package/lib/components/students/index.js +0 -5
- package/lib/components/subnav/SubNav.d.ts +3 -3
- package/lib/components/subnav/SubNav.js +34 -24
- package/lib/components/subnav/SubNav.module.css +717 -0
- package/lib/components/subnav/index.js +0 -5
- package/lib/components/tables/DataTable.js +1 -9
- package/lib/components/tables/index.js +0 -5
- package/lib/components/text-reveal/TextRevealAnimation.js +7 -8
- package/lib/components/text-reveal/TextRevealAnimation.module.css +45 -0
- package/lib/components/text-reveal/index.js +0 -5
- package/lib/components/text-reveal/useTextRevealAnimationLines.js +0 -5
- package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
- package/lib/components/tokens/SpaceVariantToken.js +5 -10
- package/lib/components/tokens/index.js +0 -5
- package/lib/components/toolbars/AssignmentEditorToolbar.js +1 -8
- package/lib/components/toolbars/DocumentEditorToolbar.js +0 -5
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +1 -1
- package/lib/components/toolbars/NotebookEditorToolbar.js +0 -5
- package/lib/components/toolbars/index.js +0 -5
- package/lib/components/users/PeerIndicator.d.ts +1 -1
- package/lib/components/users/PeerIndicator.js +5 -10
- package/lib/components/users/index.js +0 -5
- package/lib/config/Configuration.d.ts +48 -0
- package/lib/config/Configuration.js +42 -5
- package/lib/config/index.js +0 -5
- package/lib/config/integrations/Loom.js +3 -8
- package/lib/config/integrations/index.js +0 -5
- package/lib/examples/CellExample.d.ts +6 -0
- package/lib/examples/CellExample.js +55 -0
- package/lib/examples/DatalayerNotebookExample.d.ts +16 -0
- package/lib/examples/DatalayerNotebookExample.js +75 -0
- package/lib/examples/NativeNavigationExample.d.ts +8 -0
- package/lib/examples/NativeNavigationExample.js +97 -0
- package/lib/examples/NotebookExample.d.ts +6 -0
- package/lib/examples/NotebookExample.js +24 -0
- package/lib/examples/NotebookMutationsKernel.d.ts +2 -0
- package/lib/examples/NotebookMutationsKernel.js +115 -0
- package/lib/examples/NotebookMutationsServiceManager.d.ts +2 -0
- package/lib/examples/NotebookMutationsServiceManager.js +107 -0
- package/lib/examples/ReactRouterExample.d.ts +6 -0
- package/lib/examples/ReactRouterExample.js +175 -0
- package/lib/examples/example-selector.d.ts +22 -0
- package/lib/examples/example-selector.js +45 -0
- package/lib/examples/index.d.ts +2 -0
- package/lib/examples/index.js +6 -0
- package/lib/examples/main.js +153 -0
- package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +101 -0
- package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
- package/lib/examples/notebooks/Lite.ipynb.json +128 -0
- package/lib/examples/notebooks/Matplotlib.ipynb.json +137 -0
- package/lib/examples/notebooks/NotebookExample1.ipynb.json +126 -0
- package/lib/examples/notebooks/NotebookExample2.ipynb.json +48 -0
- package/lib/examples/notebooks/NotebookOutputs.ipynb.json +49 -0
- package/lib/examples/notebooks/NotebookToCExample.ipynb.json +102 -0
- package/lib/examples/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
- package/lib/examples/notebooks/OutputIPyWidgetsExample.js +153 -0
- package/lib/examples/notebooks/PyGWalker.ipynb.json +55 -0
- package/lib/hooks/assets/OutputshotPlaceholders.d.ts +10 -10
- package/lib/hooks/assets/OutputshotPlaceholders.js +9 -14
- package/lib/hooks/assets/index.js +0 -5
- package/lib/hooks/index.d.ts +29 -28
- package/lib/hooks/index.js +29 -33
- package/lib/hooks/layouts/LayoutBackdrop.js +3 -11
- package/lib/hooks/layouts/LayoutScreenshot.css +58 -0
- package/lib/hooks/layouts/LayoutScreenshot.d.ts +1 -0
- package/lib/hooks/layouts/LayoutScreenshot.js +7 -11
- package/lib/hooks/layouts/index.js +0 -5
- package/lib/hooks/useAIAgents.d.ts +1 -1
- package/lib/hooks/useAIAgents.js +13 -18
- package/lib/hooks/useAuthorization.js +4 -10
- package/lib/hooks/useBackdrop.js +7 -12
- package/lib/hooks/useBackdropJupyterLab.d.ts +1 -1
- package/lib/hooks/useBackdropJupyterLab.js +4 -9
- package/lib/hooks/useCache.d.ts +8 -4
- package/lib/hooks/useCache.js +410 -361
- package/lib/hooks/useCellOutputshot.js +3 -11
- package/lib/hooks/useContainsFocus.js +2 -6
- package/lib/hooks/useDatalayer.d.ts +21 -0
- package/lib/hooks/{useRun.js → useDatalayer.js} +16 -18
- package/lib/hooks/useError.d.ts +1 -1
- package/lib/hooks/useError.js +2 -7
- package/lib/hooks/useExternalScript.js +4 -9
- package/lib/hooks/useFocusTrap.d.ts +1 -1
- package/lib/hooks/useFocusTrap.js +3 -7
- package/lib/hooks/useIAM.js +6 -12
- package/lib/hooks/useId.js +6 -11
- package/lib/hooks/useIsomorphicLayoutEffect.js +0 -5
- package/lib/hooks/useJupyterLabTheme.js +3 -6
- package/lib/hooks/useKeyboardEscape.js +0 -5
- package/lib/hooks/useLocation.d.ts +22 -0
- package/lib/hooks/useLocation.js +149 -0
- package/lib/hooks/useLocationHandles.d.ts +2 -2
- package/lib/hooks/useLocationHandles.js +6 -9
- package/lib/hooks/useNavigate.d.ts +5 -1
- package/lib/hooks/useNavigate.js +62 -12
- package/lib/hooks/useNotebookAIAgent.js +3 -6
- package/lib/hooks/useOnClickOutside.js +0 -5
- package/lib/hooks/useParams.d.ts +5 -0
- package/lib/hooks/useParams.js +152 -0
- package/lib/hooks/useRef.js +0 -5
- package/lib/hooks/useRuntimes.js +2 -7
- package/lib/hooks/useScreenshot.js +5 -10
- package/lib/hooks/useToast.js +21 -21
- package/lib/hooks/useUpload.js +9 -14
- package/lib/hooks/useUser.js +1 -1
- package/lib/hooks/useVisibilityObserver.js +0 -5
- package/lib/hooks/useWindowSize.js +0 -6
- package/lib/i18n/Labels.js +0 -5
- package/lib/i18n/index.js +0 -5
- package/lib/index.css +73 -0
- package/lib/index.d.ts +6 -3
- package/lib/index.js +7 -3
- package/lib/main.js +1 -2
- package/lib/mocks/components/FlashMock.js +4 -9
- package/lib/mocks/components/index.js +0 -5
- package/lib/mocks/hooks/index.d.ts +1 -1
- package/lib/mocks/hooks/index.js +1 -6
- package/lib/mocks/hooks/rests/index.js +0 -5
- package/lib/mocks/hooks/rests/rests.js +15 -23
- package/lib/mocks/hooks/useDatalayerMock.d.ts +6 -0
- package/lib/mocks/hooks/{useRunMock.js → useDatalayerMock.js} +9 -14
- package/lib/mocks/index.js +0 -5
- package/lib/mocks/jupyter/index.js +1 -6
- package/lib/mocks/models/CodeBlockMock.js +1 -6
- package/lib/mocks/models/CodelineMock.js +1 -6
- package/lib/mocks/models/CourseMock.d.ts +1 -1
- package/lib/mocks/models/CourseMock.js +10 -15
- package/lib/mocks/models/InviteMock.d.ts +1 -1
- package/lib/mocks/models/InviteMock.js +21 -11
- package/lib/mocks/models/JupyterLabUserMock.js +2 -2
- package/lib/mocks/models/OrganisationMock.d.ts +1 -1
- package/lib/mocks/models/OrganisationMock.js +11 -7
- package/lib/mocks/models/SchoolMock.d.ts +1 -1
- package/lib/mocks/models/SchoolMock.js +6 -6
- package/lib/mocks/models/SpaceMock.d.ts +1 -1
- package/lib/mocks/models/SpaceMock.js +9 -14
- package/lib/mocks/models/TeamMock.d.ts +1 -1
- package/lib/mocks/models/TeamMock.js +6 -6
- package/lib/mocks/models/UserMock.d.ts +1 -1
- package/lib/mocks/models/UserMock.js +4 -11
- package/lib/mocks/models/index.js +0 -5
- package/lib/mocks/views/ActionMenuMock.js +1 -6
- package/lib/mocks/views/ChartMock.js +3 -8
- package/lib/mocks/views/ChartMockOptions.js +24 -29
- package/lib/mocks/views/DashboardMock.js +74 -79
- package/lib/mocks/views/FormMock.js +1 -6
- package/lib/mocks/views/TableMock.js +1 -6
- package/lib/mocks/views/WipMock.js +0 -5
- package/lib/mocks/views/index.js +0 -5
- package/lib/models/Account.d.ts +2 -2
- package/lib/models/Assignment.d.ts +2 -2
- package/lib/models/Cell.d.ts +1 -1
- package/lib/models/CodeBlock.d.ts +1 -1
- package/lib/models/CodefeedBlocks.d.ts +2 -2
- package/lib/models/Contact.d.ts +1 -1
- package/lib/models/Contact.js +14 -19
- package/lib/models/ContactEvent.js +0 -5
- package/lib/models/ContactIAMProvider.js +2 -2
- package/lib/models/Course.d.ts +7 -7
- package/lib/models/Credits.js +0 -5
- package/lib/models/Dataset.d.ts +2 -2
- package/lib/models/Datasource.js +0 -5
- package/lib/models/Dean.d.ts +1 -1
- package/lib/models/Document.d.ts +1 -1
- package/lib/models/Environment.d.ts +2 -2
- package/lib/models/Errors.js +0 -5
- package/lib/models/Exercise.d.ts +1 -1
- package/lib/models/GrowthKPI.js +0 -5
- package/lib/models/IAMProviderLinked.js +1 -1
- package/lib/models/IAMProviderUsers.js +0 -5
- package/lib/models/IAMToken.js +0 -5
- package/lib/models/Inbound.js +0 -5
- package/lib/models/Instructor.d.ts +1 -1
- package/lib/models/Invite.d.ts +2 -2
- package/lib/models/Invite.js +1 -1
- package/lib/models/Item.d.ts +5 -5
- package/lib/models/LandingRoles.js +18 -23
- package/lib/models/Lesson.d.ts +1 -1
- package/lib/models/Member.d.ts +1 -1
- package/lib/models/Notebook.d.ts +1 -1
- package/lib/models/Organization.d.ts +4 -4
- package/lib/models/Organization.js +2 -7
- package/lib/models/OrganizationMember.d.ts +2 -2
- package/lib/models/Outbound.js +7 -12
- package/lib/models/Page.js +4 -2
- package/lib/models/PageTag.d.ts +2 -2
- package/lib/models/PageTag.js +56 -9
- package/lib/models/Profile.d.ts +1 -1
- package/lib/models/RolesOrganization.d.ts +1 -1
- package/lib/models/RolesOrganization.js +4 -17
- package/lib/models/RolesPlatform.d.ts +1 -1
- package/lib/models/RolesPlatform.js +12 -39
- package/lib/models/RolesTeam.d.ts +1 -1
- package/lib/models/RolesTeam.js +3 -15
- package/lib/models/Runtime.d.ts +59 -1
- package/lib/models/Runtime.js +11 -9
- package/lib/models/RuntimeSnapshot.js +1 -1
- package/lib/models/School.d.ts +4 -4
- package/lib/models/Secret.js +0 -5
- package/lib/models/Space.d.ts +5 -5
- package/lib/models/Space.js +3 -3
- package/lib/models/SpaceItem.d.ts +8 -8
- package/lib/models/SpaceMember.d.ts +2 -2
- package/lib/models/Student.d.ts +2 -2
- package/lib/models/StudentItem.d.ts +3 -3
- package/lib/models/Survey.js +0 -5
- package/lib/models/Team.d.ts +3 -3
- package/lib/models/Team.js +2 -7
- package/lib/models/TeamMember.d.ts +2 -2
- package/lib/models/URN.js +1 -6
- package/lib/models/User.d.ts +2 -2
- package/lib/models/User.js +7 -10
- package/lib/models/UserEvent.js +0 -5
- package/lib/models/UserOnboarding.d.ts +1 -1
- package/lib/models/UserOnboarding.js +7 -12
- package/lib/models/UserSettings.js +2 -7
- package/lib/models/index.d.ts +2 -2
- package/lib/models/index.js +2 -7
- package/lib/navigation/adapters/native.d.ts +11 -0
- package/lib/navigation/adapters/native.js +48 -0
- package/lib/navigation/adapters/nextjs.d.ts +9 -0
- package/lib/navigation/adapters/nextjs.js +35 -0
- package/lib/navigation/adapters/react-router.d.ts +4 -0
- package/lib/navigation/adapters/react-router.js +12 -0
- package/lib/navigation/components.d.ts +20 -0
- package/lib/navigation/components.js +36 -0
- package/lib/navigation/index.d.ts +4 -0
- package/lib/navigation/index.js +12 -0
- package/lib/routes/Routes.js +0 -5
- package/lib/routes/index.d.ts +1 -1
- package/lib/routes/index.js +1 -6
- package/lib/services/DatalayerServiceManager.d.ts +22 -0
- package/lib/services/DatalayerServiceManager.js +79 -0
- package/lib/services/index.d.ts +4 -0
- package/lib/services/index.js +7 -0
- package/lib/services/reconnectToRuntime.d.ts +32 -0
- package/lib/services/reconnectToRuntime.js +59 -0
- package/lib/state/State.d.ts +1 -1
- package/lib/state/State.js +1 -6
- package/lib/state/index.d.ts +1 -1
- package/lib/state/index.js +1 -6
- package/lib/state/storage/IAMStorage.js +14 -7
- package/lib/state/storage/index.d.ts +1 -1
- package/lib/state/storage/index.js +1 -6
- package/lib/state/substates/AIAgentState.js +4 -7
- package/lib/state/substates/CellState.js +6 -10
- package/lib/state/substates/CoreState.d.ts +1 -1
- package/lib/state/substates/CoreState.js +23 -20
- package/lib/state/substates/DatasourceState.js +1 -6
- package/lib/state/substates/DocumentState.js +0 -5
- package/lib/state/substates/GradeState.js +0 -5
- package/lib/state/substates/IAMState.d.ts +5 -1
- package/lib/state/substates/IAMState.js +88 -72
- package/lib/state/substates/JupyterLabState.js +1 -6
- package/lib/state/substates/LayoutState.d.ts +2 -2
- package/lib/state/substates/LayoutState.js +41 -28
- package/lib/state/substates/NbformatState.js +0 -5
- package/lib/state/substates/OrganizationState.js +1 -6
- package/lib/state/substates/RuntimesState.d.ts +2 -2
- package/lib/state/substates/RuntimesState.js +6 -10
- package/lib/state/substates/SpaceState.js +1 -6
- package/lib/state/substates/SurveysState.js +7 -12
- package/lib/state/substates/TeamState.js +1 -6
- package/lib/state/substates/index.js +0 -5
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +1 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +1 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +1 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +1 -0
- package/lib/stories/assets/youtube.svg +1 -0
- package/lib/stories/button.css +35 -0
- package/lib/stories/header.css +37 -0
- package/lib/stories/page.css +73 -0
- package/lib/test-setup.js +73 -1
- package/lib/theme/DatalayerTheme.js +1 -6
- package/lib/theme/DatalayerThemeProvider.js +17 -19
- package/lib/theme/Palette.js +1 -6
- package/lib/theme/index.js +0 -5
- package/lib/utils/Array.js +0 -5
- package/lib/utils/Avatar.js +2 -7
- package/lib/utils/Browser.js +6 -11
- package/lib/utils/Cells.d.ts +1 -1
- package/lib/utils/Cookie.js +1 -6
- package/lib/utils/Date.js +5 -10
- package/lib/utils/Download.js +5 -8
- package/lib/utils/DownloadFile.js +4 -7
- package/lib/utils/Env.js +2 -6
- package/lib/utils/File.js +0 -5
- package/lib/utils/Ids.js +0 -5
- package/lib/utils/Jupyter.js +0 -5
- package/lib/utils/Lazy.d.ts +1 -1
- package/lib/utils/Lazy.js +2 -8
- package/lib/utils/Name.js +10 -13
- package/lib/utils/Notebook.d.ts +1 -1
- package/lib/utils/Notebook.js +3 -3
- package/lib/utils/Number.js +13 -14
- package/lib/utils/Plots.d.ts +1 -1
- package/lib/utils/Plots.js +5 -5
- package/lib/utils/Random.js +0 -5
- package/lib/utils/Screenshot.js +1 -6
- package/lib/utils/Scroll.js +3 -7
- package/lib/utils/Sleep.js +1 -6
- package/lib/utils/Snapshot.js +2 -7
- package/lib/utils/String.js +2 -7
- package/lib/utils/Uri.js +2 -7
- package/lib/utils/Validator.js +0 -5
- package/lib/utils/WithSuspense.js +3 -11
- package/lib/utils/index.js +0 -5
- package/package.json +96 -30
- package/style/animation/Animation.module.css +174 -0
- package/style/base.css +64 -0
- package/style/index.css +6 -0
- package/lib/__tests__/App.test.js +0 -17
- package/lib/api/runtimes/models.d.ts +0 -59
- package/lib/api/runtimes/models.js +0 -11
- package/lib/hooks/useRun.d.ts +0 -21
- package/lib/mocks/hooks/useRunMock.d.ts +0 -6
- /package/lib/api/{runtimes → jupyter}/exec/Python.d.ts +0 -0
- /package/lib/api/{runtimes → jupyter}/exec/Snippets.d.ts +0 -0
- /package/lib/api/{runtimes → jupyter}/exec/index.d.ts +0 -0
- /package/lib/{__tests__/App.test.d.ts → examples/main.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
export { createDatalayerServiceManager } from './DatalayerServiceManager';
|
|
6
|
+
export { default as DatalayerServiceManager } from './DatalayerServiceManager';
|
|
7
|
+
export { reconnectToRuntime } from './reconnectToRuntime';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ServiceManager } from '@jupyterlab/services';
|
|
2
|
+
export interface RuntimeInfo {
|
|
3
|
+
runtimeId: string;
|
|
4
|
+
podName: string;
|
|
5
|
+
ingress: string;
|
|
6
|
+
token: string;
|
|
7
|
+
environmentName?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reconnects to an existing Datalayer runtime
|
|
11
|
+
*
|
|
12
|
+
* This function creates a ServiceManager that connects to an already
|
|
13
|
+
* allocated Jupyter server instance using stored runtime information.
|
|
14
|
+
*
|
|
15
|
+
* @param runtimeInfo - The stored runtime information
|
|
16
|
+
* @returns A configured ServiceManager instance
|
|
17
|
+
* @throws Error if the reconnection fails
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const runtimeInfo = {
|
|
22
|
+
* runtimeId: 'abc123',
|
|
23
|
+
* podName: 'jupyter-pod-xyz',
|
|
24
|
+
* ingress: 'https://jupyter.example.com',
|
|
25
|
+
* token: 'secret-token'
|
|
26
|
+
* };
|
|
27
|
+
* const serviceManager = await reconnectToRuntime(runtimeInfo);
|
|
28
|
+
* await serviceManager.ready;
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare const reconnectToRuntime: (runtimeInfo: RuntimeInfo) => Promise<ServiceManager.IManager>;
|
|
32
|
+
export default reconnectToRuntime;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { ServerConnection, ServiceManager } from '@jupyterlab/services';
|
|
6
|
+
/**
|
|
7
|
+
* Reconnects to an existing Datalayer runtime
|
|
8
|
+
*
|
|
9
|
+
* This function creates a ServiceManager that connects to an already
|
|
10
|
+
* allocated Jupyter server instance using stored runtime information.
|
|
11
|
+
*
|
|
12
|
+
* @param runtimeInfo - The stored runtime information
|
|
13
|
+
* @returns A configured ServiceManager instance
|
|
14
|
+
* @throws Error if the reconnection fails
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const runtimeInfo = {
|
|
19
|
+
* runtimeId: 'abc123',
|
|
20
|
+
* podName: 'jupyter-pod-xyz',
|
|
21
|
+
* ingress: 'https://jupyter.example.com',
|
|
22
|
+
* token: 'secret-token'
|
|
23
|
+
* };
|
|
24
|
+
* const serviceManager = await reconnectToRuntime(runtimeInfo);
|
|
25
|
+
* await serviceManager.ready;
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export const reconnectToRuntime = async (runtimeInfo) => {
|
|
29
|
+
try {
|
|
30
|
+
const serverSettings = ServerConnection.makeSettings({
|
|
31
|
+
baseUrl: runtimeInfo.ingress,
|
|
32
|
+
wsUrl: runtimeInfo.ingress.replace(/^http/, 'ws'),
|
|
33
|
+
token: runtimeInfo.token,
|
|
34
|
+
appendToken: true,
|
|
35
|
+
});
|
|
36
|
+
const serviceManager = new ServiceManager({ serverSettings });
|
|
37
|
+
// Store runtime info on the serviceManager instance for access
|
|
38
|
+
serviceManager.__datalayerRuntime = {
|
|
39
|
+
environmentName: runtimeInfo.environmentName || 'unknown',
|
|
40
|
+
credits: 0,
|
|
41
|
+
reservationId: runtimeInfo.runtimeId,
|
|
42
|
+
podName: runtimeInfo.podName,
|
|
43
|
+
ingress: runtimeInfo.ingress,
|
|
44
|
+
token: runtimeInfo.token,
|
|
45
|
+
createdAt: new Date().toISOString(),
|
|
46
|
+
};
|
|
47
|
+
console.log('Reconnected to existing runtime:', {
|
|
48
|
+
runtimeId: runtimeInfo.runtimeId,
|
|
49
|
+
podName: runtimeInfo.podName,
|
|
50
|
+
ingress: runtimeInfo.ingress,
|
|
51
|
+
});
|
|
52
|
+
return serviceManager;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('Error reconnecting to runtime:', error);
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
export default reconnectToRuntime;
|
package/lib/state/State.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export type DatalayerRunState = {
|
|
|
19
19
|
document: typeof documentStore.getState;
|
|
20
20
|
grade: typeof gradeStore.getState;
|
|
21
21
|
iam: typeof iamStore.getState;
|
|
22
|
-
|
|
22
|
+
runtimes: typeof runtimesStore.getState;
|
|
23
23
|
layout: typeof layoutStore.getState;
|
|
24
24
|
nbformat: typeof nbformatStore.getState;
|
|
25
25
|
organization: typeof organizationStore.getState;
|
package/lib/state/State.js
CHANGED
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
import { coreStore } from './substates/CoreState';
|
|
@@ -35,7 +30,7 @@ export const runStore = createStore((set, get) => ({
|
|
|
35
30
|
document: documentStore.getState,
|
|
36
31
|
grade: gradeStore.getState,
|
|
37
32
|
iam: iamStore.getState,
|
|
38
|
-
|
|
33
|
+
runtimes: runtimesStore.getState,
|
|
39
34
|
layout: layoutStore.getState,
|
|
40
35
|
nbformat: nbformatStore.getState,
|
|
41
36
|
organization: organizationStore.getState,
|
package/lib/state/index.d.ts
CHANGED
package/lib/state/index.js
CHANGED
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
|
-
export * from "./storage";
|
|
5
|
+
export * from './storage';
|
|
11
6
|
export * from './State';
|
|
12
7
|
export * from './substates';
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import jwt_decode from 'jwt-decode';
|
|
11
6
|
import { getCookie } from '../../utils';
|
|
12
7
|
import { ANONYMOUS_USER, ANONYMOUS_USER_TOKEN } from '../../models';
|
|
@@ -18,6 +13,9 @@ export const JWT_REFRESH_TOKEN_COOKIE_NAME = 'refresh_token';
|
|
|
18
13
|
* Return the user from the local storage.
|
|
19
14
|
*/
|
|
20
15
|
export const getStoredUser = () => {
|
|
16
|
+
if (typeof window === 'undefined') {
|
|
17
|
+
return ANONYMOUS_USER;
|
|
18
|
+
}
|
|
21
19
|
const user = window.localStorage.getItem(DATALAYER_IAM_USER_KEY);
|
|
22
20
|
if (user) {
|
|
23
21
|
try {
|
|
@@ -35,6 +33,9 @@ export const getStoredUser = () => {
|
|
|
35
33
|
* Set the user in the local storage.
|
|
36
34
|
*/
|
|
37
35
|
export const storeUser = (user) => {
|
|
36
|
+
if (typeof window === 'undefined') {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
38
39
|
if (user) {
|
|
39
40
|
window.localStorage.setItem(DATALAYER_IAM_USER_KEY, JSON.stringify(user));
|
|
40
41
|
}
|
|
@@ -46,6 +47,9 @@ export const storeUser = (user) => {
|
|
|
46
47
|
* Return the IAM token from the local storage.
|
|
47
48
|
*/
|
|
48
49
|
export const getStoredToken = () => {
|
|
50
|
+
if (typeof window === 'undefined') {
|
|
51
|
+
return ANONYMOUS_USER_TOKEN;
|
|
52
|
+
}
|
|
49
53
|
const token = window.localStorage.getItem(DATALAYER_IAM_TOKEN_KEY);
|
|
50
54
|
if (token) {
|
|
51
55
|
return token;
|
|
@@ -56,6 +60,9 @@ export const getStoredToken = () => {
|
|
|
56
60
|
* Set the IAM token in the local storage.
|
|
57
61
|
*/
|
|
58
62
|
export const storeToken = (token) => {
|
|
63
|
+
if (typeof window === 'undefined') {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
59
66
|
if (token) {
|
|
60
67
|
if (token !== ANONYMOUS_USER_TOKEN) {
|
|
61
68
|
try {
|
|
@@ -63,11 +70,11 @@ export const storeToken = (token) => {
|
|
|
63
70
|
console.debug('JWT Token', jwt);
|
|
64
71
|
}
|
|
65
72
|
catch (error) {
|
|
66
|
-
console.error(
|
|
73
|
+
console.error('Error while decoding JWT Token.', error);
|
|
67
74
|
throw error;
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
|
-
localStorage.setItem(DATALAYER_IAM_TOKEN_KEY, token);
|
|
77
|
+
window.localStorage.setItem(DATALAYER_IAM_TOKEN_KEY, token);
|
|
71
78
|
}
|
|
72
79
|
else {
|
|
73
80
|
window.localStorage.removeItem(DATALAYER_IAM_TOKEN_KEY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from './IAMStorage';
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
export const aiAgentStore = createStore(set => ({
|
|
@@ -23,7 +18,9 @@ export const aiAgentStore = createStore(set => ({
|
|
|
23
18
|
},
|
|
24
19
|
deleteAIAgent: (documentId) => {
|
|
25
20
|
set((state) => {
|
|
26
|
-
return {
|
|
21
|
+
return {
|
|
22
|
+
aiAgents: state.aiAgents.filter(a => a.documentId === documentId),
|
|
23
|
+
};
|
|
27
24
|
});
|
|
28
25
|
},
|
|
29
26
|
updateAIAgent: (documentId, runtimeId) => {
|
|
@@ -37,7 +34,7 @@ export const aiAgentStore = createStore(set => ({
|
|
|
37
34
|
return {};
|
|
38
35
|
}
|
|
39
36
|
});
|
|
40
|
-
}
|
|
37
|
+
},
|
|
41
38
|
}));
|
|
42
39
|
export function useAIAgentStore(selector) {
|
|
43
40
|
return useStore(aiAgentStore, selector);
|
|
@@ -2,22 +2,18 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
export const cellStore = createStore((set, get) => ({
|
|
13
8
|
cell: undefined,
|
|
14
9
|
create: (cell) => set((state) => ({ cell })),
|
|
15
10
|
update: (cell) => set((state) => ({
|
|
16
|
-
cell: cell
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
cell: cell
|
|
12
|
+
? {
|
|
13
|
+
...state.cell,
|
|
14
|
+
...cell,
|
|
15
|
+
}
|
|
16
|
+
: undefined,
|
|
21
17
|
})),
|
|
22
18
|
}));
|
|
23
19
|
export function useCellStore(selector) {
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
let loadConfigurationFromServer = true;
|
|
13
8
|
let initialConfiguration = {
|
|
9
|
+
runUrl: 'https://prod1.datalayer.run',
|
|
10
|
+
token: '',
|
|
11
|
+
credits: 0,
|
|
12
|
+
cpuEnvironment: 'python-cpu-env"',
|
|
13
|
+
gpuEnvironment: 'ai-env',
|
|
14
14
|
useMock: false,
|
|
15
15
|
whiteLabel: true,
|
|
16
16
|
loadConfigurationFromServer: true,
|
|
@@ -28,7 +28,7 @@ let initialConfiguration = {
|
|
|
28
28
|
category: 'Datalayer',
|
|
29
29
|
name: 'Datalayer Runtimes',
|
|
30
30
|
icon: 'https://raw.githubusercontent.com/datalayer/icons/main/svg/data1/jupyter-base.svg',
|
|
31
|
-
rank: 1
|
|
31
|
+
rank: 1,
|
|
32
32
|
},
|
|
33
33
|
brand: {
|
|
34
34
|
name: 'Datalayer',
|
|
@@ -41,22 +41,25 @@ let initialConfiguration = {
|
|
|
41
41
|
termsUrl: 'https://datalayer.app/terms',
|
|
42
42
|
pricingUrl: 'https://datalayer.app/pricing',
|
|
43
43
|
privacyUrl: 'https://datalayer.app/privacy',
|
|
44
|
-
}
|
|
44
|
+
},
|
|
45
45
|
};
|
|
46
46
|
// Try loading initial state from datalayer-config-data element
|
|
47
47
|
try {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
if (typeof document !== 'undefined') {
|
|
49
|
+
const rawConfig = document.getElementById('datalayer-config-data');
|
|
50
|
+
if (rawConfig?.innerText) {
|
|
51
|
+
const htmlOverridingConfiguration = JSON.parse(rawConfig?.innerText || '{}');
|
|
52
|
+
if (htmlOverridingConfiguration.loadConfigurationFromServer != undefined) {
|
|
53
|
+
loadConfigurationFromServer =
|
|
54
|
+
htmlOverridingConfiguration.loadConfigurationFromServer;
|
|
55
|
+
}
|
|
56
|
+
initialConfiguration = {
|
|
57
|
+
...initialConfiguration,
|
|
58
|
+
...htmlOverridingConfiguration,
|
|
59
|
+
};
|
|
60
|
+
console.log('Datalayer configuration loaded from HTML page', initialConfiguration);
|
|
61
|
+
window.document.title = `${initialConfiguration.brand.name} Ξ ${initialConfiguration.brand.about}`;
|
|
53
62
|
}
|
|
54
|
-
initialConfiguration = {
|
|
55
|
-
...initialConfiguration,
|
|
56
|
-
...htmlOverridingConfiguration,
|
|
57
|
-
};
|
|
58
|
-
console.log('Datalayer configuration loaded from HTML page', initialConfiguration);
|
|
59
|
-
window.document.title = `${initialConfiguration.brand.name} Ξ ${initialConfiguration.brand.about}`;
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
catch (error) {
|
|
@@ -72,8 +75,8 @@ export const coreStore = createStore((set, get) => ({
|
|
|
72
75
|
set(state => ({
|
|
73
76
|
configuration: {
|
|
74
77
|
...state.configuration,
|
|
75
|
-
...configuration
|
|
76
|
-
}
|
|
78
|
+
...configuration,
|
|
79
|
+
},
|
|
77
80
|
}));
|
|
78
81
|
},
|
|
79
82
|
version: '',
|
|
@@ -2,17 +2,12 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
export const datasourceStore = createStore((set, get) => ({
|
|
13
8
|
datasources: [],
|
|
14
9
|
updateDatasources: (datasources) => set((state) => ({
|
|
15
|
-
datasources
|
|
10
|
+
datasources,
|
|
16
11
|
})),
|
|
17
12
|
}));
|
|
18
13
|
export function useDatasourceStore(selector) {
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
export const documentStore = createStore((set, get) => ({
|
|
@@ -2,11 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
-
*
|
|
8
|
-
* Datalayer License
|
|
9
|
-
*/
|
|
10
5
|
import { createStore } from 'zustand/vanilla';
|
|
11
6
|
import { useStore } from 'zustand';
|
|
12
7
|
export const gradeStore = createStore((set, get) => ({
|
|
@@ -27,7 +27,7 @@ export type IIAMState = {
|
|
|
27
27
|
/**
|
|
28
28
|
* Mapping of IAM providers and the corresponding Authorization URL.
|
|
29
29
|
*/
|
|
30
|
-
iamProvidersAuthorizationURL: Record<IIAMProviderName, IAMProviderAuthorizationURL> |
|
|
30
|
+
iamProvidersAuthorizationURL: Record<IIAMProviderName, IAMProviderAuthorizationURL> | object;
|
|
31
31
|
/**
|
|
32
32
|
* User authenticated to Datalayer.
|
|
33
33
|
*/
|
|
@@ -40,6 +40,10 @@ export type IIAMState = {
|
|
|
40
40
|
* IAM service version
|
|
41
41
|
*/
|
|
42
42
|
version: string;
|
|
43
|
+
/**
|
|
44
|
+
* Flag to indicate if login is in progress
|
|
45
|
+
*/
|
|
46
|
+
isLoginInProgress?: boolean;
|
|
43
47
|
};
|
|
44
48
|
export type IAMState = IIAMState & {
|
|
45
49
|
addIAMProviderAuthorizationURL: (provider: IIAMProviderName, authorizationURL: IAMProviderAuthorizationURL) => void;
|