@datalayer/core 0.0.1 → 0.0.2
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 +176 -7
- package/lib/App.d.ts +3 -0
- package/lib/App.js +4 -0
- package/lib/__tests__/App.test.d.ts +1 -0
- package/lib/__tests__/App.test.js +17 -0
- package/lib/__tests__/hooks.test.d.ts +1 -0
- package/lib/__tests__/hooks.test.js +19 -0
- package/lib/__tests__/index.test.d.ts +1 -0
- package/lib/__tests__/index.test.js +26 -0
- package/lib/__tests__/integration.test.d.ts +1 -0
- package/lib/__tests__/integration.test.js +57 -0
- package/lib/__tests__/utils.test.d.ts +1 -0
- package/lib/__tests__/utils.test.js +59 -0
- package/lib/api/RunApi.d.ts +75 -0
- package/lib/api/RunApi.js +150 -0
- package/lib/api/index.d.ts +2 -0
- package/lib/api/index.js +11 -0
- package/lib/api/runtimes/exec/Python.d.ts +5 -0
- package/lib/api/runtimes/exec/Python.js +105 -0
- package/lib/api/runtimes/exec/Snippets.d.ts +145 -0
- package/lib/api/runtimes/exec/Snippets.js +125 -0
- package/lib/api/runtimes/exec/index.d.ts +2 -0
- package/lib/api/runtimes/exec/index.js +11 -0
- package/lib/api/runtimes/index.d.ts +7 -0
- package/lib/api/runtimes/index.js +16 -0
- package/lib/api/runtimes/kernelsHandler.d.ts +8 -0
- package/lib/api/runtimes/kernelsHandler.js +44 -0
- package/lib/api/runtimes/models.d.ts +59 -0
- package/lib/api/runtimes/models.js +11 -0
- package/lib/api/runtimes/runtimesApi.d.ts +370 -0
- package/lib/api/runtimes/runtimesApi.js +269 -0
- package/lib/api/runtimes/settings.d.ts +15 -0
- package/lib/api/runtimes/settings.js +36 -0
- package/lib/api/runtimes/snapshots.d.ts +25 -0
- package/lib/api/runtimes/snapshots.js +155 -0
- package/lib/api/runtimes/utils.d.ts +7 -0
- package/lib/api/runtimes/utils.js +22 -0
- package/lib/components/avatars/BoringAvatar.d.ts +20 -0
- package/lib/components/avatars/BoringAvatar.js +39 -0
- package/lib/components/avatars/UserProfileAvatar.d.ts +13 -0
- package/lib/components/avatars/UserProfileAvatar.js +37 -0
- package/lib/components/avatars/index.d.ts +2 -0
- package/lib/components/avatars/index.js +11 -0
- package/lib/components/banners/NoAutomationBanner.d.ts +2 -0
- package/lib/components/banners/NoAutomationBanner.js +18 -0
- package/lib/components/banners/index.d.ts +1 -0
- package/lib/components/banners/index.js +10 -0
- package/lib/components/buttons/DownloadCSVButton.d.ts +13 -0
- package/lib/components/buttons/DownloadCSVButton.js +21 -0
- package/lib/components/buttons/DownloadJsonButton.d.ts +16 -0
- package/lib/components/buttons/DownloadJsonButton.js +23 -0
- package/lib/components/buttons/LongActionButton.d.ts +28 -0
- package/lib/components/buttons/LongActionButton.js +29 -0
- package/lib/components/buttons/UploadButton.d.ts +37 -0
- package/lib/components/buttons/UploadButton.js +48 -0
- package/lib/components/buttons/VariantType.d.ts +1 -0
- package/lib/components/buttons/VariantType.js +5 -0
- package/lib/components/buttons/index.d.ts +5 -0
- package/lib/components/buttons/index.js +14 -0
- package/lib/components/checkout/StripeCheckout.d.ts +32 -0
- package/lib/components/checkout/StripeCheckout.js +100 -0
- package/lib/components/checkout/index.d.ts +1 -0
- package/lib/components/checkout/index.js +10 -0
- package/lib/components/confetti/ConfettiSuccess.d.ts +2 -0
- package/lib/components/confetti/ConfettiSuccess.js +17 -0
- package/lib/components/confetti/index.d.ts +1 -0
- package/lib/components/confetti/index.js +10 -0
- package/lib/components/context/OrganizationSelect.d.ts +2 -0
- package/lib/components/context/OrganizationSelect.js +40 -0
- package/lib/components/context/SpaceSelect.d.ts +2 -0
- package/lib/components/context/SpaceSelect.js +48 -0
- package/lib/components/context/index.d.ts +2 -0
- package/lib/components/context/index.js +11 -0
- package/lib/components/display/AvatarSkeleton.d.ts +5 -0
- package/lib/components/display/AvatarSkeleton.js +16 -0
- package/lib/components/display/CenteredSpinner.d.ts +14 -0
- package/lib/components/display/CenteredSpinner.js +25 -0
- package/lib/components/display/CodePreview.d.ts +4 -0
- package/lib/components/display/CodePreview.js +20 -0
- package/lib/components/display/DatalayerBox.d.ts +8 -0
- package/lib/components/display/DatalayerBox.js +33 -0
- package/lib/components/display/HorizontalCenter.d.ts +9 -0
- package/lib/components/display/HorizontalCenter.js +14 -0
- package/lib/components/display/JupyterDialog.d.ts +69 -0
- package/lib/components/display/JupyterDialog.js +120 -0
- package/lib/components/display/Markdown.d.ts +23 -0
- package/lib/components/display/Markdown.js +20 -0
- package/lib/components/display/NavLink.d.ts +9 -0
- package/lib/components/display/NavLink.js +22 -0
- package/lib/components/display/NotebookSkeleton.d.ts +2 -0
- package/lib/components/display/NotebookSkeleton.js +16 -0
- package/lib/components/display/Placeholder.d.ts +2 -0
- package/lib/components/display/Placeholder.js +14 -0
- package/lib/components/display/ToTopBranded.d.ts +2 -0
- package/lib/components/display/ToTopBranded.js +16 -0
- package/lib/components/display/VisuallyHidden.d.ts +5 -0
- package/lib/components/display/VisuallyHidden.js +29 -0
- package/lib/components/display/index.d.ts +12 -0
- package/lib/components/display/index.js +21 -0
- package/lib/components/echarts/EChartsReact.d.ts +11 -0
- package/lib/components/echarts/EChartsReact.js +53 -0
- package/lib/components/echarts/index.d.ts +1 -0
- package/lib/components/echarts/index.js +10 -0
- package/lib/components/flashes/FlashClosable.d.ts +22 -0
- package/lib/components/flashes/FlashClosable.js +69 -0
- package/lib/components/flashes/FlashDisclaimer.d.ts +2 -0
- package/lib/components/flashes/FlashDisclaimer.js +23 -0
- package/lib/components/flashes/FlashGuest.d.ts +2 -0
- package/lib/components/flashes/FlashGuest.js +35 -0
- package/lib/components/flashes/FlashSurveys.d.ts +6 -0
- package/lib/components/flashes/FlashSurveys.js +41 -0
- package/lib/components/flashes/FlashUnauthorized.d.ts +2 -0
- package/lib/components/flashes/FlashUnauthorized.js +23 -0
- package/lib/components/flashes/index.d.ts +6 -0
- package/lib/components/flashes/index.js +15 -0
- package/lib/components/flashes/surveys/Survey2025_1.d.ts +3 -0
- package/lib/components/flashes/surveys/Survey2025_1.js +134 -0
- package/lib/components/flashes/surveys/SurveyProps.d.ts +6 -0
- package/lib/components/flashes/surveys/SurveyProps.js +5 -0
- package/lib/components/flashes/surveys/index.d.ts +2 -0
- package/lib/components/flashes/surveys/index.js +11 -0
- package/lib/components/iam/ExternalTokenSilentLogin.d.ts +5 -0
- package/lib/components/iam/ExternalTokenSilentLogin.js +38 -0
- package/lib/components/iam/index.d.ts +1 -0
- package/lib/components/iam/index.js +10 -0
- package/lib/components/icons/ArtifactIcon.d.ts +10 -0
- package/lib/components/icons/ArtifactIcon.js +63 -0
- package/lib/components/icons/index.d.ts +1 -0
- package/lib/components/icons/index.js +10 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +10 -0
- package/lib/components/labels/VisibilityLabel.d.ts +4 -0
- package/lib/components/labels/VisibilityLabel.js +22 -0
- package/lib/components/labels/index.d.ts +1 -0
- package/lib/components/labels/index.js +10 -0
- package/lib/components/landings/StepBlock.d.ts +11 -0
- package/lib/components/landings/StepBlock.js +17 -0
- package/lib/components/landings/index.d.ts +1 -0
- package/lib/components/landings/index.js +10 -0
- package/lib/components/navbar/NavigationVisbilityObserver.d.ts +5 -0
- package/lib/components/navbar/NavigationVisbilityObserver.js +63 -0
- package/lib/components/navbar/SubdomainNavBar.d.ts +81 -0
- package/lib/components/navbar/SubdomainNavBar.js +240 -0
- package/lib/components/navbar/index.d.ts +2 -0
- package/lib/components/navbar/index.js +11 -0
- package/lib/components/nbgrader/NbGradesDetails.d.ts +5 -0
- package/lib/components/nbgrader/NbGradesDetails.js +22 -0
- package/lib/components/nbgrader/index.d.ts +1 -0
- package/lib/components/nbgrader/index.js +10 -0
- package/lib/components/notebooks/JupyterNotebook.d.ts +12 -0
- package/lib/components/notebooks/JupyterNotebook.js +41 -0
- package/lib/components/notebooks/JupyterNotebookToolbar.d.ts +2 -0
- package/lib/components/notebooks/JupyterNotebookToolbar.js +44 -0
- package/lib/components/notebooks/index.d.ts +2 -0
- package/lib/components/notebooks/index.js +11 -0
- package/lib/components/primer/Helper.d.ts +32 -0
- package/lib/components/primer/Helper.js +19 -0
- package/lib/components/primer/Portals.d.ts +9 -0
- package/lib/components/primer/Portals.js +31 -0
- package/lib/components/primer/Styles.d.ts +2 -0
- package/lib/components/primer/Styles.js +16 -0
- package/lib/components/primer/index.d.ts +2 -0
- package/lib/components/primer/index.js +11 -0
- package/lib/components/progress/ConsumptionBar.d.ts +40 -0
- package/lib/components/progress/ConsumptionBar.js +54 -0
- package/lib/components/progress/CreditsIndicator.d.ts +27 -0
- package/lib/components/progress/CreditsIndicator.js +30 -0
- package/lib/components/progress/ProgressBar.d.ts +2 -0
- package/lib/components/progress/ProgressBar.js +26 -0
- package/lib/components/progress/ProgressRing.d.ts +36 -0
- package/lib/components/progress/ProgressRing.js +31 -0
- package/lib/components/progress/Timer.d.ts +9 -0
- package/lib/components/progress/Timer.js +33 -0
- package/lib/components/progress/index.d.ts +5 -0
- package/lib/components/progress/index.js +14 -0
- package/lib/components/runtimes/RuntimeCellVariables.d.ts +39 -0
- package/lib/components/runtimes/RuntimeCellVariables.js +177 -0
- package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +37 -0
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +106 -0
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +54 -0
- package/lib/components/runtimes/RuntimeLauncherDialog.js +254 -0
- package/lib/components/runtimes/RuntimePickerBase.d.ts +69 -0
- package/lib/components/runtimes/RuntimePickerBase.js +114 -0
- package/lib/components/runtimes/RuntimePickerCell.d.ts +34 -0
- package/lib/components/runtimes/RuntimePickerCell.js +111 -0
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +43 -0
- package/lib/components/runtimes/RuntimePickerNotebook.js +173 -0
- package/lib/components/runtimes/RuntimeReservationControl.d.ts +47 -0
- package/lib/components/runtimes/RuntimeReservationControl.js +43 -0
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +34 -0
- package/lib/components/runtimes/RuntimeSimplePicker.js +161 -0
- package/lib/components/runtimes/RuntimeTransfer.d.ts +16 -0
- package/lib/components/runtimes/RuntimeTransfer.js +5 -0
- package/lib/components/runtimes/RuntimeUtils.d.ts +17 -0
- package/lib/components/runtimes/RuntimeUtils.js +173 -0
- package/lib/components/runtimes/RuntimeVariables.d.ts +38 -0
- package/lib/components/runtimes/RuntimeVariables.js +80 -0
- package/lib/components/runtimes/index.d.ts +11 -0
- package/lib/components/runtimes/index.js +20 -0
- package/lib/components/screenshot/ScreenCapture.d.ts +38 -0
- package/lib/components/screenshot/ScreenCapture.js +179 -0
- package/lib/components/screenshot/ScreenCaptureButton.d.ts +3 -0
- package/lib/components/screenshot/ScreenCaptureButton.js +21 -0
- package/lib/components/screenshot/index.d.ts +2 -0
- package/lib/components/screenshot/index.js +11 -0
- package/lib/components/snapshots/RuntimeSnapshotMenu.d.ts +36 -0
- package/lib/components/snapshots/RuntimeSnapshotMenu.js +169 -0
- package/lib/components/snapshots/index.d.ts +1 -0
- package/lib/components/snapshots/index.js +10 -0
- package/lib/components/snippets/SnippetDialog.d.ts +42 -0
- package/lib/components/snippets/SnippetDialog.js +47 -0
- package/lib/components/snippets/index.d.ts +1 -0
- package/lib/components/snippets/index.js +10 -0
- package/lib/components/storage/ContentsBrowser.d.ts +32 -0
- package/lib/components/storage/ContentsBrowser.js +250 -0
- package/lib/components/storage/ContentsItems.d.ts +58 -0
- package/lib/components/storage/ContentsItems.js +83 -0
- package/lib/components/storage/index.d.ts +2 -0
- package/lib/components/storage/index.js +11 -0
- package/lib/components/students/StudentItemStatus.d.ts +7 -0
- package/lib/components/students/StudentItemStatus.js +49 -0
- package/lib/components/students/index.d.ts +1 -0
- package/lib/components/students/index.js +10 -0
- package/lib/components/subnav/SubNav.d.ts +84 -0
- package/lib/components/subnav/SubNav.js +270 -0
- package/lib/components/subnav/index.d.ts +1 -0
- package/lib/components/subnav/index.js +10 -0
- package/lib/components/tables/DataTable.d.ts +5 -0
- package/lib/components/tables/DataTable.js +24 -0
- package/lib/components/tables/index.d.ts +1 -0
- package/lib/components/tables/index.js +10 -0
- package/lib/components/text-reveal/TextRevealAnimation.d.ts +6 -0
- package/lib/components/text-reveal/TextRevealAnimation.js +55 -0
- package/lib/components/text-reveal/index.d.ts +1 -0
- package/lib/components/text-reveal/index.js +10 -0
- package/lib/components/text-reveal/useTextRevealAnimationLines.d.ts +4 -0
- package/lib/components/text-reveal/useTextRevealAnimationLines.js +52 -0
- package/lib/components/tokens/SpaceVariantToken.d.ts +5 -0
- package/lib/components/tokens/SpaceVariantToken.js +25 -0
- package/lib/components/tokens/index.d.ts +1 -0
- package/lib/components/tokens/index.js +10 -0
- package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +4 -0
- package/lib/components/toolbars/AssignmentEditorToolbar.js +23 -0
- package/lib/components/toolbars/DocumentEditorToolbar.d.ts +2 -0
- package/lib/components/toolbars/DocumentEditorToolbar.js +17 -0
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +29 -0
- package/lib/components/toolbars/NotebookEditorToolbar.js +35 -0
- package/lib/components/toolbars/index.d.ts +3 -0
- package/lib/components/toolbars/index.js +12 -0
- package/lib/components/users/PeerIndicator.d.ts +18 -0
- package/lib/components/users/PeerIndicator.js +105 -0
- package/lib/components/users/index.d.ts +1 -0
- package/lib/components/users/index.js +10 -0
- package/lib/config/Configuration.d.ts +111 -0
- package/lib/config/Configuration.js +30 -0
- package/lib/config/index.d.ts +2 -0
- package/lib/config/index.js +11 -0
- package/lib/config/integrations/Loom.d.ts +1 -0
- package/lib/config/integrations/Loom.js +21 -0
- package/lib/config/integrations/index.d.ts +1 -0
- package/lib/config/integrations/index.js +10 -0
- package/lib/hooks/assets/OutputshotPlaceholders.d.ts +19 -0
- package/lib/hooks/assets/OutputshotPlaceholders.js +28 -0
- package/lib/hooks/assets/index.d.ts +1 -0
- package/lib/hooks/assets/index.js +10 -0
- package/lib/hooks/index.d.ts +28 -0
- package/lib/hooks/index.js +38 -0
- package/lib/hooks/layouts/LayoutBackdrop.d.ts +2 -0
- package/lib/hooks/layouts/LayoutBackdrop.js +35 -0
- package/lib/hooks/layouts/LayoutScreenshot.d.ts +2 -0
- package/lib/hooks/layouts/LayoutScreenshot.js +48 -0
- package/lib/hooks/layouts/index.d.ts +2 -0
- package/lib/hooks/layouts/index.js +11 -0
- package/lib/hooks/useAIAgents.d.ts +13 -0
- package/lib/hooks/useAIAgents.js +77 -0
- package/lib/hooks/useAuthorization.d.ts +19 -0
- package/lib/hooks/useAuthorization.js +130 -0
- package/lib/hooks/useBackdrop.d.ts +28 -0
- package/lib/hooks/useBackdrop.js +105 -0
- package/lib/hooks/useBackdropJupyterLab.d.ts +15 -0
- package/lib/hooks/useBackdropJupyterLab.js +56 -0
- package/lib/hooks/useCache.d.ts +306 -0
- package/lib/hooks/useCache.js +3103 -0
- package/lib/hooks/useCellOutputshot.d.ts +4 -0
- package/lib/hooks/useCellOutputshot.js +33 -0
- package/lib/hooks/useContainsFocus.d.ts +9 -0
- package/lib/hooks/useContainsFocus.js +48 -0
- package/lib/hooks/useError.d.ts +9 -0
- package/lib/hooks/useError.js +31 -0
- package/lib/hooks/useExternalScript.d.ts +2 -0
- package/lib/hooks/useExternalScript.js +22 -0
- package/lib/hooks/useFocusTrap.d.ts +30 -0
- package/lib/hooks/useFocusTrap.js +53 -0
- package/lib/hooks/useIAM.d.ts +14 -0
- package/lib/hooks/useIAM.js +98 -0
- package/lib/hooks/useId.d.ts +19 -0
- package/lib/hooks/useId.js +105 -0
- package/lib/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
- package/lib/hooks/useIsomorphicLayoutEffect.js +16 -0
- package/lib/hooks/useJupyterLabTheme.d.ts +6 -0
- package/lib/hooks/useJupyterLabTheme.js +29 -0
- package/lib/hooks/useKeyboardEscape.d.ts +1 -0
- package/lib/hooks/useKeyboardEscape.js +23 -0
- package/lib/hooks/useLocationHandles.d.ts +10 -0
- package/lib/hooks/useLocationHandles.js +27 -0
- package/lib/hooks/useNavigate.d.ts +2 -0
- package/lib/hooks/useNavigate.js +29 -0
- package/lib/hooks/useNotebookAIAgent.d.ts +8 -0
- package/lib/hooks/useNotebookAIAgent.js +59 -0
- package/lib/hooks/useOnClickOutside.d.ts +1 -0
- package/lib/hooks/useOnClickOutside.js +34 -0
- package/lib/hooks/useRef.d.ts +10 -0
- package/lib/hooks/useRef.js +22 -0
- package/lib/hooks/useRun.d.ts +21 -0
- package/lib/hooks/useRun.js +85 -0
- package/lib/hooks/useRuntimes.d.ts +5 -0
- package/lib/hooks/useRuntimes.js +39 -0
- package/lib/hooks/useScreenshot.d.ts +21 -0
- package/lib/hooks/useScreenshot.js +65 -0
- package/lib/hooks/useToast.d.ts +42 -0
- package/lib/hooks/useToast.js +143 -0
- package/lib/hooks/useUpload.d.ts +7 -0
- package/lib/hooks/useUpload.js +51 -0
- package/lib/hooks/useUser.d.ts +3 -0
- package/lib/hooks/useUser.js +22 -0
- package/lib/hooks/useVisibilityObserver.d.ts +5 -0
- package/lib/hooks/useVisibilityObserver.js +47 -0
- package/lib/hooks/useWindowSize.d.ts +21 -0
- package/lib/hooks/useWindowSize.js +80 -0
- package/lib/i18n/Labels.d.ts +1 -0
- package/lib/i18n/Labels.js +10 -0
- package/lib/i18n/index.d.ts +1 -0
- package/lib/i18n/index.js +10 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +6 -0
- package/lib/main.d.ts +1 -0
- package/lib/main.js +4 -0
- package/lib/mocks/components/FlashMock.d.ts +2 -0
- package/lib/mocks/components/FlashMock.js +18 -0
- package/lib/mocks/components/index.d.ts +1 -0
- package/lib/mocks/components/index.js +10 -0
- package/lib/mocks/hooks/index.d.ts +1 -0
- package/lib/mocks/hooks/index.js +10 -0
- package/lib/mocks/hooks/rests/index.d.ts +1 -0
- package/lib/mocks/hooks/rests/index.js +10 -0
- package/lib/mocks/hooks/rests/rests.d.ts +22 -0
- package/lib/mocks/hooks/rests/rests.js +37 -0
- package/lib/mocks/hooks/useRunMock.d.ts +6 -0
- package/lib/mocks/hooks/useRunMock.js +83 -0
- package/lib/mocks/index.d.ts +4 -0
- package/lib/mocks/index.js +14 -0
- package/lib/mocks/jupyter/index.d.ts +1 -0
- package/lib/mocks/jupyter/index.js +10 -0
- package/lib/mocks/models/CodeBlockMock.d.ts +1 -0
- package/lib/mocks/models/CodeBlockMock.js +10 -0
- package/lib/mocks/models/CodelineMock.d.ts +1 -0
- package/lib/mocks/models/CodelineMock.js +10 -0
- package/lib/mocks/models/CourseMock.d.ts +6 -0
- package/lib/mocks/models/CourseMock.js +34 -0
- package/lib/mocks/models/InviteMock.d.ts +6 -0
- package/lib/mocks/models/InviteMock.js +27 -0
- package/lib/mocks/models/JupyterLabUserMock.d.ts +2 -0
- package/lib/mocks/models/JupyterLabUserMock.js +17 -0
- package/lib/mocks/models/OrganisationMock.d.ts +5 -0
- package/lib/mocks/models/OrganisationMock.js +24 -0
- package/lib/mocks/models/SchoolMock.d.ts +6 -0
- package/lib/mocks/models/SchoolMock.js +25 -0
- package/lib/mocks/models/SpaceMock.d.ts +6 -0
- package/lib/mocks/models/SpaceMock.js +30 -0
- package/lib/mocks/models/TeamMock.d.ts +5 -0
- package/lib/mocks/models/TeamMock.js +26 -0
- package/lib/mocks/models/UserMock.d.ts +2 -0
- package/lib/mocks/models/UserMock.js +34 -0
- package/lib/mocks/models/index.d.ts +9 -0
- package/lib/mocks/models/index.js +18 -0
- package/lib/mocks/views/ActionMenuMock.d.ts +5 -0
- package/lib/mocks/views/ActionMenuMock.js +17 -0
- package/lib/mocks/views/ChartMock.d.ts +5 -0
- package/lib/mocks/views/ChartMock.js +20 -0
- package/lib/mocks/views/ChartMockOptions.d.ts +92 -0
- package/lib/mocks/views/ChartMockOptions.js +107 -0
- package/lib/mocks/views/DashboardMock.d.ts +2 -0
- package/lib/mocks/views/DashboardMock.js +123 -0
- package/lib/mocks/views/FormMock.d.ts +5 -0
- package/lib/mocks/views/FormMock.js +33 -0
- package/lib/mocks/views/TableMock.d.ts +5 -0
- package/lib/mocks/views/TableMock.js +160 -0
- package/lib/mocks/views/WipMock.d.ts +5 -0
- package/lib/mocks/views/WipMock.js +17 -0
- package/lib/mocks/views/index.d.ts +7 -0
- package/lib/mocks/views/index.js +16 -0
- package/lib/models/AIAgent.d.ts +17 -0
- package/lib/models/AIAgent.js +5 -0
- package/lib/models/Account.d.ts +4 -0
- package/lib/models/Account.js +5 -0
- package/lib/models/Assignment.d.ts +7 -0
- package/lib/models/Assignment.js +5 -0
- package/lib/models/Base.d.ts +16 -0
- package/lib/models/Base.js +5 -0
- package/lib/models/Cell.d.ts +8 -0
- package/lib/models/Cell.js +5 -0
- package/lib/models/CodeBlock.d.ts +10 -0
- package/lib/models/CodeBlock.js +5 -0
- package/lib/models/CodefeedBlocks.d.ts +7 -0
- package/lib/models/CodefeedBlocks.js +5 -0
- package/lib/models/Contact.d.ts +73 -0
- package/lib/models/Contact.js +95 -0
- package/lib/models/ContactEvent.d.ts +10 -0
- package/lib/models/ContactEvent.js +19 -0
- package/lib/models/ContactIAMProvider.d.ts +12 -0
- package/lib/models/ContactIAMProvider.js +20 -0
- package/lib/models/ContactTags.d.ts +23 -0
- package/lib/models/ContactTags.js +73 -0
- package/lib/models/Content.d.ts +5 -0
- package/lib/models/Content.js +5 -0
- package/lib/models/Course.d.ts +17 -0
- package/lib/models/Course.js +5 -0
- package/lib/models/Credits.d.ts +76 -0
- package/lib/models/Credits.js +16 -0
- package/lib/models/Dataset.d.ts +16 -0
- package/lib/models/Dataset.js +5 -0
- package/lib/models/Datasource.d.ts +11 -0
- package/lib/models/Datasource.js +19 -0
- package/lib/models/Dean.d.ts +3 -0
- package/lib/models/Dean.js +5 -0
- package/lib/models/Document.d.ts +8 -0
- package/lib/models/Document.js +5 -0
- package/lib/models/Environment.d.ts +82 -0
- package/lib/models/Environment.js +5 -0
- package/lib/models/Errors.d.ts +6 -0
- package/lib/models/Errors.js +18 -0
- package/lib/models/Exercise.d.ts +16 -0
- package/lib/models/Exercise.js +5 -0
- package/lib/models/GrowthKPI.d.ts +5 -0
- package/lib/models/GrowthKPI.js +14 -0
- package/lib/models/IAMProviderLinked.d.ts +9 -0
- package/lib/models/IAMProviderLinked.js +13 -0
- package/lib/models/IAMProviderPost.d.ts +8 -0
- package/lib/models/IAMProviderPost.js +22 -0
- package/lib/models/IAMProviderUsers.d.ts +49 -0
- package/lib/models/IAMProviderUsers.js +34 -0
- package/lib/models/IAMProvidersSpecs.d.ts +22 -0
- package/lib/models/IAMProvidersSpecs.js +72 -0
- package/lib/models/IAMToken.d.ts +11 -0
- package/lib/models/IAMToken.js +19 -0
- package/lib/models/Inbound.d.ts +25 -0
- package/lib/models/Inbound.js +34 -0
- package/lib/models/Instructor.d.ts +3 -0
- package/lib/models/Instructor.js +5 -0
- package/lib/models/Invite.d.ts +14 -0
- package/lib/models/Invite.js +24 -0
- package/lib/models/Item.d.ts +20 -0
- package/lib/models/Item.js +5 -0
- package/lib/models/ItemType.d.ts +2 -0
- package/lib/models/ItemType.js +5 -0
- package/lib/models/LandingRoles.d.ts +3 -0
- package/lib/models/LandingRoles.js +32 -0
- package/lib/models/Lesson.d.ts +5 -0
- package/lib/models/Lesson.js +5 -0
- package/lib/models/Library.d.ts +10 -0
- package/lib/models/Library.js +5 -0
- package/lib/models/Member.d.ts +3 -0
- package/lib/models/Member.js +5 -0
- package/lib/models/Notebook.d.ts +11 -0
- package/lib/models/Notebook.js +5 -0
- package/lib/models/Organization.d.ts +27 -0
- package/lib/models/Organization.js +41 -0
- package/lib/models/OrganizationMember.d.ts +6 -0
- package/lib/models/OrganizationMember.js +5 -0
- package/lib/models/Outbound.d.ts +41 -0
- package/lib/models/Outbound.js +50 -0
- package/lib/models/Page.d.ts +36 -0
- package/lib/models/Page.js +23 -0
- package/lib/models/PageTag.d.ts +19 -0
- package/lib/models/PageTag.js +26 -0
- package/lib/models/Profile.d.ts +1 -0
- package/lib/models/Profile.js +5 -0
- package/lib/models/Role.d.ts +9 -0
- package/lib/models/Role.js +5 -0
- package/lib/models/RolesOrganization.d.ts +9 -0
- package/lib/models/RolesOrganization.js +63 -0
- package/lib/models/RolesPlatform.d.ts +16 -0
- package/lib/models/RolesPlatform.js +147 -0
- package/lib/models/RolesTeam.d.ts +7 -0
- package/lib/models/RolesTeam.js +39 -0
- package/lib/models/Runtime.d.ts +65 -0
- package/lib/models/Runtime.js +16 -0
- package/lib/models/RuntimeSnapshot.d.ts +92 -0
- package/lib/models/RuntimeSnapshot.js +13 -0
- package/lib/models/School.d.ts +11 -0
- package/lib/models/School.js +5 -0
- package/lib/models/Secret.d.ts +10 -0
- package/lib/models/Secret.js +18 -0
- package/lib/models/Space.d.ts +34 -0
- package/lib/models/Space.js +39 -0
- package/lib/models/SpaceItem.d.ts +10 -0
- package/lib/models/SpaceItem.js +5 -0
- package/lib/models/SpaceMember.d.ts +6 -0
- package/lib/models/SpaceMember.js +5 -0
- package/lib/models/Student.d.ts +6 -0
- package/lib/models/Student.js +5 -0
- package/lib/models/StudentItem.d.ts +21 -0
- package/lib/models/StudentItem.js +5 -0
- package/lib/models/Survey.d.ts +20 -0
- package/lib/models/Survey.js +19 -0
- package/lib/models/Team.d.ts +22 -0
- package/lib/models/Team.js +37 -0
- package/lib/models/TeamMember.d.ts +6 -0
- package/lib/models/TeamMember.js +5 -0
- package/lib/models/URN.d.ts +63 -0
- package/lib/models/URN.js +45 -0
- package/lib/models/Usage.d.ts +46 -0
- package/lib/models/Usage.js +21 -0
- package/lib/models/User.d.ts +71 -0
- package/lib/models/User.js +103 -0
- package/lib/models/UserEvent.d.ts +10 -0
- package/lib/models/UserEvent.js +19 -0
- package/lib/models/UserOnboarding.d.ts +14 -0
- package/lib/models/UserOnboarding.js +24 -0
- package/lib/models/UserSettings.d.ts +16 -0
- package/lib/models/UserSettings.js +32 -0
- package/lib/models/WaitingListFormData.d.ts +6 -0
- package/lib/models/WaitingListFormData.js +5 -0
- package/lib/models/index.d.ts +65 -0
- package/lib/models/index.js +74 -0
- package/lib/routes/Routes.d.ts +3 -0
- package/lib/routes/Routes.js +12 -0
- package/lib/routes/index.d.ts +1 -0
- package/lib/routes/index.js +10 -0
- package/lib/state/State.d.ts +33 -0
- package/lib/state/State.js +49 -0
- package/lib/state/index.d.ts +3 -0
- package/lib/state/index.js +12 -0
- package/lib/state/storage/IAMStorage.d.ts +33 -0
- package/lib/state/storage/IAMStorage.js +81 -0
- package/lib/state/storage/index.d.ts +1 -0
- package/lib/state/storage/index.js +10 -0
- package/lib/state/substates/AIAgentState.d.ts +11 -0
- package/lib/state/substates/AIAgentState.js +45 -0
- package/lib/state/substates/CellState.d.ts +12 -0
- package/lib/state/substates/CellState.js +26 -0
- package/lib/state/substates/CoreState.d.ts +25 -0
- package/lib/state/substates/CoreState.js +93 -0
- package/lib/state/substates/DatasourceState.d.ts +11 -0
- package/lib/state/substates/DatasourceState.js +21 -0
- package/lib/state/substates/DocumentState.d.ts +10 -0
- package/lib/state/substates/DocumentState.js +19 -0
- package/lib/state/substates/GradeState.d.ts +10 -0
- package/lib/state/substates/GradeState.js +19 -0
- package/lib/state/substates/IAMState.d.ts +75 -0
- package/lib/state/substates/IAMState.js +294 -0
- package/lib/state/substates/JupyterLabState.d.ts +16 -0
- package/lib/state/substates/JupyterLabState.js +22 -0
- package/lib/state/substates/LayoutState.d.ts +62 -0
- package/lib/state/substates/LayoutState.js +74 -0
- package/lib/state/substates/NbformatState.d.ts +13 -0
- package/lib/state/substates/NbformatState.js +21 -0
- package/lib/state/substates/OrganizationState.d.ts +11 -0
- package/lib/state/substates/OrganizationState.js +21 -0
- package/lib/state/substates/RuntimesState.d.ts +88 -0
- package/lib/state/substates/RuntimesState.js +183 -0
- package/lib/state/substates/SpaceState.d.ts +11 -0
- package/lib/state/substates/SpaceState.js +21 -0
- package/lib/state/substates/SurveysState.d.ts +14 -0
- package/lib/state/substates/SurveysState.js +103 -0
- package/lib/state/substates/TeamState.d.ts +11 -0
- package/lib/state/substates/TeamState.js +22 -0
- package/lib/state/substates/index.d.ts +15 -0
- package/lib/state/substates/index.js +24 -0
- package/lib/test-setup.d.ts +1 -0
- package/lib/test-setup.js +7 -0
- package/lib/theme/DatalayerTheme.d.ts +37 -0
- package/lib/theme/DatalayerTheme.js +67 -0
- package/lib/theme/DatalayerThemeProvider.d.ts +17 -0
- package/lib/theme/DatalayerThemeProvider.js +74 -0
- package/lib/theme/Palette.d.ts +5 -0
- package/lib/theme/Palette.js +27 -0
- package/lib/theme/index.d.ts +3 -0
- package/lib/theme/index.js +12 -0
- package/lib/utils/Array.d.ts +2 -0
- package/lib/utils/Array.js +21 -0
- package/lib/utils/Avatar.d.ts +9 -0
- package/lib/utils/Avatar.js +39 -0
- package/lib/utils/Browser.d.ts +3 -0
- package/lib/utils/Browser.js +68 -0
- package/lib/utils/Cells.d.ts +2 -0
- package/lib/utils/Cells.js +28 -0
- package/lib/utils/Cookie.d.ts +12 -0
- package/lib/utils/Cookie.js +53 -0
- package/lib/utils/Date.d.ts +2 -0
- package/lib/utils/Date.js +65 -0
- package/lib/utils/Download.d.ts +3 -0
- package/lib/utils/Download.js +53 -0
- package/lib/utils/DownloadFile.d.ts +10 -0
- package/lib/utils/DownloadFile.js +41 -0
- package/lib/utils/Env.d.ts +1 -0
- package/lib/utils/Env.js +12 -0
- package/lib/utils/File.d.ts +7 -0
- package/lib/utils/File.js +21 -0
- package/lib/utils/Format.d.ts +17 -0
- package/lib/utils/Format.js +54 -0
- package/lib/utils/Ids.d.ts +2 -0
- package/lib/utils/Ids.js +17 -0
- package/lib/utils/Jupyter.d.ts +1 -0
- package/lib/utils/Jupyter.js +17 -0
- package/lib/utils/Lazy.d.ts +8 -0
- package/lib/utils/Lazy.js +29 -0
- package/lib/utils/Msc.d.ts +16 -0
- package/lib/utils/Msc.js +28 -0
- package/lib/utils/Name.d.ts +7 -0
- package/lib/utils/Name.js +39 -0
- package/lib/utils/Notebook.d.ts +19 -0
- package/lib/utils/Notebook.js +37 -0
- package/lib/utils/Number.d.ts +1 -0
- package/lib/utils/Number.js +26 -0
- package/lib/utils/Plots.d.ts +16 -0
- package/lib/utils/Plots.js +56 -0
- package/lib/utils/Random.d.ts +1 -0
- package/lib/utils/Random.js +12 -0
- package/lib/utils/Screenshot.d.ts +1 -0
- package/lib/utils/Screenshot.js +32 -0
- package/lib/utils/Scroll.d.ts +2 -0
- package/lib/utils/Scroll.js +36 -0
- package/lib/utils/Sleep.d.ts +2 -0
- package/lib/utils/Sleep.js +13 -0
- package/lib/utils/Snapshot.d.ts +7 -0
- package/lib/utils/Snapshot.js +26 -0
- package/lib/utils/String.d.ts +1 -0
- package/lib/utils/String.js +18 -0
- package/lib/utils/Uri.d.ts +2 -0
- package/lib/utils/Uri.js +31 -0
- package/lib/utils/Validator.d.ts +12 -0
- package/lib/utils/Validator.js +49 -0
- package/lib/utils/WithSuspense.d.ts +2 -0
- package/lib/utils/WithSuspense.js +26 -0
- package/lib/utils/index.d.ts +26 -0
- package/lib/utils/index.js +36 -0
- package/package.json +43 -4
- package/style/base.css +0 -5
- package/style/index.css +0 -7
- package/style/index.js +0 -7
package/lib/utils/Msc.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Utility function to format strings
|
|
7
|
+
*/
|
|
8
|
+
export const formatString = (input) => {
|
|
9
|
+
return input.trim().toLowerCase();
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Utility function to add numbers
|
|
13
|
+
*/
|
|
14
|
+
export const addNumbers = (a, b) => {
|
|
15
|
+
return a + b;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Utility function to check if a value is defined
|
|
19
|
+
*/
|
|
20
|
+
export const isDefined = (value) => {
|
|
21
|
+
return value !== undefined && value !== null;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Utility function to delay execution
|
|
25
|
+
*/
|
|
26
|
+
export const delay = (ms) => {
|
|
27
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
28
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const asDisplayName: (givenName: string, familyName: string) => string;
|
|
2
|
+
export declare const nameAsInitials: (name: string) => string;
|
|
3
|
+
export declare const namesAsInitials: (firstName: string, lastName: string) => string;
|
|
4
|
+
/**
|
|
5
|
+
* Convert first and last names to a friendly name.
|
|
6
|
+
*/
|
|
7
|
+
export declare const toFriendlyName: (firstName?: string, lastName?: string) => string;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
export const asDisplayName = (givenName, familyName) => {
|
|
11
|
+
return givenName ?
|
|
12
|
+
familyName ?
|
|
13
|
+
(givenName + ' ' + familyName) : givenName
|
|
14
|
+
:
|
|
15
|
+
familyName ?? '';
|
|
16
|
+
};
|
|
17
|
+
export const nameAsInitials = (name) => {
|
|
18
|
+
return name
|
|
19
|
+
.replace(/\s+/, ' ')
|
|
20
|
+
.split(' ')
|
|
21
|
+
.slice(0, 2)
|
|
22
|
+
.map((v) => v && v[0].toUpperCase())
|
|
23
|
+
.join('');
|
|
24
|
+
};
|
|
25
|
+
export const namesAsInitials = (firstName, lastName) => {
|
|
26
|
+
return ((firstName || ' ').charAt(0) + (lastName || ' ').charAt(0)).toLocaleUpperCase().trim();
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Convert first and last names to a friendly name.
|
|
30
|
+
*/
|
|
31
|
+
export const toFriendlyName = (firstName, lastName) => {
|
|
32
|
+
if (firstName) {
|
|
33
|
+
return firstName;
|
|
34
|
+
}
|
|
35
|
+
if (lastName) {
|
|
36
|
+
return lastName;
|
|
37
|
+
}
|
|
38
|
+
return "";
|
|
39
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JupyterLab } from '@jupyterlab/application';
|
|
2
|
+
/**
|
|
3
|
+
* Create a notebook
|
|
4
|
+
*
|
|
5
|
+
* @param app JupyterLab application
|
|
6
|
+
* @param name Notebook name
|
|
7
|
+
* @param url Notebook content URL
|
|
8
|
+
*/
|
|
9
|
+
export declare const createNotebook: ({ app, name, url, options }: {
|
|
10
|
+
app: JupyterLab;
|
|
11
|
+
name?: string;
|
|
12
|
+
url?: string;
|
|
13
|
+
options?: {
|
|
14
|
+
cwd?: string;
|
|
15
|
+
kernelId?: string;
|
|
16
|
+
kernelName?: string;
|
|
17
|
+
};
|
|
18
|
+
}) => Promise<void>;
|
|
19
|
+
export declare const createNotebookVariant: (app: JupyterLab, name: string, url: string) => Promise<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a notebook
|
|
7
|
+
*
|
|
8
|
+
* @param app JupyterLab application
|
|
9
|
+
* @param name Notebook name
|
|
10
|
+
* @param url Notebook content URL
|
|
11
|
+
*/
|
|
12
|
+
export const createNotebook = async ({ app, name, url, options }) => {
|
|
13
|
+
const notebook = await app.commands.execute('notebook:create-new', options);
|
|
14
|
+
/*
|
|
15
|
+
if (name) {
|
|
16
|
+
notebook.context.rename(name + '.ipynb');
|
|
17
|
+
}
|
|
18
|
+
*/
|
|
19
|
+
if (url) {
|
|
20
|
+
const nbmodel = await fetch(url);
|
|
21
|
+
const nbmodelText = await nbmodel.text();
|
|
22
|
+
const text = nbmodelText.replaceAll('\n', `
|
|
23
|
+
`);
|
|
24
|
+
notebook.context.model.fromJSON({
|
|
25
|
+
...JSON.parse(text)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const createNotebookVariant = async (app, name, url) => {
|
|
30
|
+
const notebook = await app.commands.execute('notebook:create-new', { cwd: '/' });
|
|
31
|
+
notebook.context.rename(name + '.ipynb');
|
|
32
|
+
const nbmodel = await fetch(url);
|
|
33
|
+
const text = (await nbmodel.text()).replaceAll('\\n', '');
|
|
34
|
+
notebook.context.model.fromJSON({
|
|
35
|
+
...JSON.parse(text)
|
|
36
|
+
});
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function numberFormatter(num: number, digits?: number): string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
const LOOKUP_VALUE_SYMBOL = [
|
|
11
|
+
{ value: 1, symbol: "" },
|
|
12
|
+
{ value: 1e3, symbol: "K" },
|
|
13
|
+
{ value: 1e6, symbol: "M" },
|
|
14
|
+
{ value: 1e9, symbol: "G" },
|
|
15
|
+
{ value: 1e12, symbol: "T" },
|
|
16
|
+
{ value: 1e15, symbol: "P" },
|
|
17
|
+
{ value: 1e18, symbol: "E" },
|
|
18
|
+
];
|
|
19
|
+
// https://stackoverflow.com/questions/9461621/format-a-number-as-2-5k-if-a-thousand-or-more-otherwise-900
|
|
20
|
+
export function numberFormatter(num, digits = 1) {
|
|
21
|
+
const rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
|
|
22
|
+
var item = LOOKUP_VALUE_SYMBOL.slice().reverse().find(function (item) {
|
|
23
|
+
return num >= item.value;
|
|
24
|
+
});
|
|
25
|
+
return item ? (num / item.value).toFixed(digits).replace(rx, "$1") + item.symbol : "0";
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IUsage } from '../models';
|
|
2
|
+
/**
|
|
3
|
+
* Compute the data for plotting the usage histogram.
|
|
4
|
+
*
|
|
5
|
+
* @param usages Usages
|
|
6
|
+
* @param interval Histogram interval
|
|
7
|
+
* @param range Range with month in 1-based scale
|
|
8
|
+
* @returns Histogram data {x: [], y: []}
|
|
9
|
+
*/
|
|
10
|
+
export declare function createHistogram(usages: IUsage[], interval: number, range: {
|
|
11
|
+
month: number;
|
|
12
|
+
year: number;
|
|
13
|
+
}): {
|
|
14
|
+
x: string[];
|
|
15
|
+
y: number[];
|
|
16
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { getDate, getDaysInMonth, getMonth, isSameMonth, isSameYear } from 'date-fns';
|
|
6
|
+
/**
|
|
7
|
+
* Compute the data for plotting the usage histogram.
|
|
8
|
+
*
|
|
9
|
+
* @param usages Usages
|
|
10
|
+
* @param interval Histogram interval
|
|
11
|
+
* @param range Range with month in 1-based scale
|
|
12
|
+
* @returns Histogram data {x: [], y: []}
|
|
13
|
+
*/
|
|
14
|
+
export function createHistogram(usages, interval, range) {
|
|
15
|
+
const referenceDate = new Date(range.year, range.month - 1);
|
|
16
|
+
const now = Date.now();
|
|
17
|
+
const credits = usages
|
|
18
|
+
.filter(c => interval === 0
|
|
19
|
+
? isSameMonth(c.startDate, referenceDate)
|
|
20
|
+
: isSameYear(c.startDate, referenceDate))
|
|
21
|
+
.map(c => {
|
|
22
|
+
const start = c.startDate;
|
|
23
|
+
const end = c.endDate?.getTime() ?? now;
|
|
24
|
+
return {
|
|
25
|
+
credits: typeof c.credits === 'number'
|
|
26
|
+
? c.credits
|
|
27
|
+
: ((end - start.getTime()) * c.burningRate) / 1000,
|
|
28
|
+
// getDate is 1-based but getMonth is 0-based
|
|
29
|
+
category: interval === 0 ? getDate(start) - 1 : getMonth(start)
|
|
30
|
+
};
|
|
31
|
+
})
|
|
32
|
+
.reduce((agg, d) => {
|
|
33
|
+
agg[d.category] += d.credits;
|
|
34
|
+
return agg;
|
|
35
|
+
}, new Array(interval === 0 ? getDaysInMonth(referenceDate) : 12).fill(0))
|
|
36
|
+
.map(c => Math.round(c));
|
|
37
|
+
return {
|
|
38
|
+
x: interval === 0
|
|
39
|
+
? credits.map((_, i) => `${i + 1}`)
|
|
40
|
+
: [
|
|
41
|
+
'Jan',
|
|
42
|
+
'Feb',
|
|
43
|
+
'Mar',
|
|
44
|
+
'Apr',
|
|
45
|
+
'May',
|
|
46
|
+
'Jun',
|
|
47
|
+
'Jul',
|
|
48
|
+
'Aug',
|
|
49
|
+
'Sep',
|
|
50
|
+
'Oct',
|
|
51
|
+
'Nov',
|
|
52
|
+
'Dec'
|
|
53
|
+
],
|
|
54
|
+
y: credits
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getRandomInt(max: number): number;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
export function getRandomInt(max) {
|
|
11
|
+
return Math.floor(Math.random() * max);
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const takeHTMLNodeScreenshot: (node: HTMLDivElement) => Promise<string>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
import html2canvas from 'html2canvas';
|
|
11
|
+
export const takeHTMLNodeScreenshot = async (node) => {
|
|
12
|
+
const sc = html2canvas(node, {
|
|
13
|
+
width: node.getBoundingClientRect().width,
|
|
14
|
+
height: node.getBoundingClientRect().height,
|
|
15
|
+
});
|
|
16
|
+
return sc.then((canvas) => {
|
|
17
|
+
const croppedCanvas = document.createElement('canvas');
|
|
18
|
+
const croppedCanvasContext = croppedCanvas.getContext('2d');
|
|
19
|
+
const top = 0;
|
|
20
|
+
const left = 0;
|
|
21
|
+
const width = canvas.width;
|
|
22
|
+
const height = canvas.height;
|
|
23
|
+
croppedCanvas.width = width;
|
|
24
|
+
croppedCanvas.height = height;
|
|
25
|
+
croppedCanvasContext?.drawImage(canvas, left, top, width, height, left, top, width, height);
|
|
26
|
+
// const type = 'image/jpeg';
|
|
27
|
+
const type = 'image/png';
|
|
28
|
+
const quality = 1;
|
|
29
|
+
const outputshotData = croppedCanvas.toDataURL(type, quality);
|
|
30
|
+
return outputshotData;
|
|
31
|
+
});
|
|
32
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
const easeInOutQuad = (t, b, c, d) => {
|
|
11
|
+
t /= d / 2;
|
|
12
|
+
if (t < 1)
|
|
13
|
+
return (c / 2) * t * t + b;
|
|
14
|
+
t--;
|
|
15
|
+
return (-c / 2) * (t * (t - 2) - 1) + b;
|
|
16
|
+
};
|
|
17
|
+
const scrollGo = (element, target, to, duration) => {
|
|
18
|
+
var start = element.scrollTop, change = to - start, currentTime = 0, increment = 20;
|
|
19
|
+
const animateScroll = () => {
|
|
20
|
+
currentTime += increment;
|
|
21
|
+
const scrollTop = easeInOutQuad(currentTime, start, change, duration);
|
|
22
|
+
element.scrollTop = scrollTop;
|
|
23
|
+
if (currentTime < duration) {
|
|
24
|
+
setTimeout(animateScroll, increment);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
window.location.hash = target;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
animateScroll();
|
|
31
|
+
};
|
|
32
|
+
const smoothScroll = (target) => {
|
|
33
|
+
var targetScroll = document.getElementById(target);
|
|
34
|
+
scrollGo(document.body, target, targetScroll?.offsetTop, 1250);
|
|
35
|
+
};
|
|
36
|
+
export default smoothScroll;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
export const sleep = async (ms) => {
|
|
11
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
12
|
+
};
|
|
13
|
+
export default sleep;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
import { adjectives, animals, uniqueNamesGenerator } from 'unique-names-generator';
|
|
11
|
+
/**
|
|
12
|
+
* Kernel snapshot description configuration.
|
|
13
|
+
*/
|
|
14
|
+
const KERNEL_SNAPSHOT_DESCRIPTION_CONFIGURATION = {
|
|
15
|
+
dictionaries: [adjectives, animals],
|
|
16
|
+
separator: '-'
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Create an unique human readable kernel snapshot name.
|
|
20
|
+
*
|
|
21
|
+
* @param suffix Name prefix
|
|
22
|
+
* @returns The kernel snapshot name
|
|
23
|
+
*/
|
|
24
|
+
export function createRuntimeSnapshotName(suffix) {
|
|
25
|
+
return `${uniqueNamesGenerator(KERNEL_SNAPSHOT_DESCRIPTION_CONFIGURATION)}-${suffix}`;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const strip: (s: string | undefined, max?: number) => string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
export const strip = (s, max = 50) => {
|
|
11
|
+
if (!s) {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
if (s.length > max) {
|
|
15
|
+
return s.substring(0, max) + "…";
|
|
16
|
+
}
|
|
17
|
+
return s;
|
|
18
|
+
};
|
package/lib/utils/Uri.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
export const currentUri = () => {
|
|
11
|
+
return window.location.protocol + "//" + window.location.host;
|
|
12
|
+
};
|
|
13
|
+
// https://stackoverflow.com/questions/12168909/blob-from-dataurl
|
|
14
|
+
export const dataURItoBlob = (dataURI) => {
|
|
15
|
+
// Convert base64 to raw binary data held in a string.
|
|
16
|
+
// Doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this.
|
|
17
|
+
const byteString = atob(dataURI.split(',')[1]);
|
|
18
|
+
// Separate out the mime component.
|
|
19
|
+
const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
|
|
20
|
+
// Write the bytes of the string to an ArrayBuffer.
|
|
21
|
+
const ab = new ArrayBuffer(byteString.length);
|
|
22
|
+
// Create a view into the buffer.
|
|
23
|
+
const ia = new Uint8Array(ab);
|
|
24
|
+
// Set the bytes of the buffer to the correct values.
|
|
25
|
+
for (var i = 0; i < byteString.length; i++) {
|
|
26
|
+
ia[i] = byteString.charCodeAt(i);
|
|
27
|
+
}
|
|
28
|
+
// Write the ArrayBuffer to a blob, and you're done.
|
|
29
|
+
const blob = new Blob([ab], { type: mimeString });
|
|
30
|
+
return blob;
|
|
31
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const isValidEmail: (value?: string) => boolean;
|
|
2
|
+
/**
|
|
3
|
+
* Verify if a string has a given length or not.
|
|
4
|
+
*/
|
|
5
|
+
export declare const validateLength: (value: string | undefined, minLength: number) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Check the password complexity
|
|
8
|
+
* @param password Password to validate
|
|
9
|
+
* @returns Whether the password various criteria
|
|
10
|
+
*/
|
|
11
|
+
export declare function isValidPassword(password: string): boolean;
|
|
12
|
+
export declare function isValidUrl(url: string): boolean;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
const EMAIL_REGEX = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
11
|
+
export const isValidEmail = (value) => {
|
|
12
|
+
if (!value) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (EMAIL_REGEX.test(value)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Verify if a string has a given length or not.
|
|
22
|
+
*/
|
|
23
|
+
export const validateLength = (value, minLength) => {
|
|
24
|
+
if (!value) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (value.length >= minLength) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
};
|
|
32
|
+
const PASSWORD_REGEX = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[[\]!"$%&/()=?@~`\\.';:+=^*#_-])[A-Za-z\d[\]!"$%&/()=?@~`\\.';:+=^*#_-]{8,64}$/;
|
|
33
|
+
/**
|
|
34
|
+
* Check the password complexity
|
|
35
|
+
* @param password Password to validate
|
|
36
|
+
* @returns Whether the password various criteria
|
|
37
|
+
*/
|
|
38
|
+
export function isValidPassword(password) {
|
|
39
|
+
return PASSWORD_REGEX.test(password);
|
|
40
|
+
}
|
|
41
|
+
export function isValidUrl(url) {
|
|
42
|
+
try {
|
|
43
|
+
new URL(url);
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
+
* Distributed under the terms of the Modified BSD License.
|
|
5
|
+
*/
|
|
6
|
+
/*
|
|
7
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
8
|
+
*
|
|
9
|
+
* Datalayer License
|
|
10
|
+
*/
|
|
11
|
+
import { Suspense } from "react";
|
|
12
|
+
import { SkeletonBox } from "@primer/react/experimental";
|
|
13
|
+
const Loading = (props) => {
|
|
14
|
+
const { skeleton } = props;
|
|
15
|
+
return (skeleton ?
|
|
16
|
+
_jsx(_Fragment, { children: _jsx(SkeletonBox, { height: "100px" }) })
|
|
17
|
+
:
|
|
18
|
+
_jsx(_Fragment, {}));
|
|
19
|
+
};
|
|
20
|
+
export const WithSuspense = (Component, preload = true, skeleton = false) => (props) => {
|
|
21
|
+
if (preload) {
|
|
22
|
+
Component.preload();
|
|
23
|
+
}
|
|
24
|
+
return (_jsx(Suspense, { fallback: _jsx(Loading, { skeleton: skeleton }), children: _jsx(Component, { ...props }) }));
|
|
25
|
+
};
|
|
26
|
+
export default WithSuspense;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export * from './Array';
|
|
2
|
+
export * from './Avatar';
|
|
3
|
+
export * from './Browser';
|
|
4
|
+
export * from './Cookie';
|
|
5
|
+
export * from './Cells';
|
|
6
|
+
export * from './Date';
|
|
7
|
+
export * from './Download';
|
|
8
|
+
export * from './DownloadFile';
|
|
9
|
+
export * from './Env';
|
|
10
|
+
export * from './File';
|
|
11
|
+
export * from './Format';
|
|
12
|
+
export * from './Ids';
|
|
13
|
+
export * from './Jupyter';
|
|
14
|
+
export * from './Lazy';
|
|
15
|
+
export * from './Msc';
|
|
16
|
+
export * from './Name';
|
|
17
|
+
export * from './Notebook';
|
|
18
|
+
export * from './Number';
|
|
19
|
+
export * from './Plots';
|
|
20
|
+
export * from './Random';
|
|
21
|
+
export * from './Sleep';
|
|
22
|
+
export * from './Snapshot';
|
|
23
|
+
export * from './String';
|
|
24
|
+
export * from './Uri';
|
|
25
|
+
export * from './Validator';
|
|
26
|
+
export * from './WithSuspense';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2021-2024 Datalayer, Inc.
|
|
7
|
+
*
|
|
8
|
+
* Datalayer License
|
|
9
|
+
*/
|
|
10
|
+
export * from './Array';
|
|
11
|
+
export * from './Avatar';
|
|
12
|
+
export * from './Browser';
|
|
13
|
+
export * from './Cookie';
|
|
14
|
+
export * from './Cells';
|
|
15
|
+
export * from './Date';
|
|
16
|
+
export * from './Download';
|
|
17
|
+
export * from './DownloadFile';
|
|
18
|
+
export * from './Env';
|
|
19
|
+
export * from './File';
|
|
20
|
+
export * from './Format';
|
|
21
|
+
export * from './Ids';
|
|
22
|
+
export * from './Jupyter';
|
|
23
|
+
export * from './Lazy';
|
|
24
|
+
export * from './Msc';
|
|
25
|
+
export * from './Name';
|
|
26
|
+
export * from './Notebook';
|
|
27
|
+
export * from './Number';
|
|
28
|
+
export * from './Plots';
|
|
29
|
+
export * from './Random';
|
|
30
|
+
// export * from './Screenshot'; Do not export html2canvas for now.
|
|
31
|
+
export * from './Sleep';
|
|
32
|
+
export * from './Snapshot';
|
|
33
|
+
export * from './String';
|
|
34
|
+
export * from './Uri';
|
|
35
|
+
export * from './Validator';
|
|
36
|
+
export * from './WithSuspense';
|