@datalayer/core 1.0.25 → 1.1.41
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 +14 -26
- package/lib/api/index.d.ts +0 -9
- package/lib/api/index.js +0 -9
- package/lib/cli-login.js +167 -0
- package/lib/client/base.d.ts +0 -3
- package/lib/client/base.js +0 -2
- package/lib/client/index.d.ts +10 -98
- package/lib/client/index.js +12 -21
- package/lib/components/avatars/UserAvatar.d.ts +16 -0
- package/lib/components/avatars/UserAvatar.js +47 -0
- package/lib/components/avatars/index.d.ts +1 -0
- package/lib/components/avatars/index.js +1 -0
- package/lib/components/billing/BillableAccountSelect.js +4 -0
- package/lib/components/billing/index.js +4 -0
- package/lib/components/context/index.d.ts +0 -1
- package/lib/components/context/index.js +0 -1
- package/lib/components/display/DisplayHandle.d.ts +12 -0
- package/lib/components/display/DisplayHandle.js +11 -0
- package/lib/components/display/LiveRelativeTime.js +4 -0
- package/lib/components/display/index.d.ts +1 -0
- package/lib/components/display/index.js +1 -0
- package/lib/components/flashes/index.d.ts +0 -1
- package/lib/components/flashes/index.js +0 -1
- package/lib/components/index.d.ts +0 -1
- package/lib/components/index.js +0 -1
- package/lib/components/principal/Principal.d.ts +7 -0
- package/lib/components/principal/Principal.js +153 -16
- package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
- package/lib/components/principal/PrincipalAvatar.js +4 -28
- package/lib/components/principal/PrincipalBadge.js +4 -4
- package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
- package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
- package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
- package/lib/components/progress/index.d.ts +0 -1
- package/lib/components/progress/index.js +0 -1
- package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
- package/lib/components/sharing/ShareAccessComponent.js +180 -133
- package/lib/components/sharing/SharingEditor.js +4 -0
- package/lib/components/snippets/index.d.ts +1 -1
- package/lib/components/snippets/index.js +1 -1
- package/lib/components/students/StudentResultCircle.d.ts +21 -0
- package/lib/components/students/StudentResultCircle.js +59 -0
- package/lib/components/students/index.d.ts +1 -1
- package/lib/components/students/index.js +1 -1
- package/lib/components/time/LiveRelativeTime.js +4 -0
- package/lib/components/time/index.js +4 -0
- package/lib/components/timeline/index.js +4 -0
- package/lib/components/tokens/index.d.ts +1 -1
- package/lib/components/tokens/index.js +1 -1
- package/lib/components/toolbars/index.d.ts +1 -3
- package/lib/components/toolbars/index.js +1 -3
- package/lib/hooks/cacheConverters.d.ts +21 -0
- package/lib/hooks/cacheConverters.js +110 -0
- package/lib/hooks/index.d.ts +0 -2
- package/lib/hooks/index.js +0 -2
- package/lib/hooks/useCache.d.ts +64 -35
- package/lib/hooks/useCache.js +407 -52
- package/lib/hooks/useDatalayer.js +3 -1
- package/lib/hooks/useIAM.js +1 -3
- package/lib/hooks/useLocationHandles.d.ts +3 -1
- package/lib/hooks/useLocationHandles.js +2 -1
- package/lib/hooks/usePrincipalStore.d.ts +2 -2
- package/lib/hooks/usePrincipalStore.js +97 -14
- package/lib/hooks/useSelectedPrincipal.js +1 -1
- package/lib/hooks/useUser.js +19 -2
- package/lib/index.d.ts +1 -6
- package/lib/index.js +1 -13
- package/lib/main.js +3 -3
- package/lib/mocks/index.js +1 -1
- package/lib/mocks/models/index.d.ts +0 -1
- package/lib/mocks/models/index.js +0 -1
- package/lib/models/Datasource.d.ts +2 -2
- package/lib/models/IAM.d.ts +1 -1
- package/lib/models/School.d.ts +12 -3
- package/lib/models/Secret.d.ts +2 -2
- package/lib/models/Student.d.ts +13 -3
- package/lib/models/Usage.d.ts +11 -1
- package/lib/models/UserDTO.d.ts +2 -2
- package/lib/models/index.d.ts +0 -30
- package/lib/models/index.js +0 -30
- package/lib/routes/index.d.ts +1 -0
- package/lib/routes/index.js +1 -0
- package/lib/routes/publicPaths.d.ts +23 -0
- package/lib/routes/publicPaths.js +74 -0
- package/lib/state/State.d.ts +0 -12
- package/lib/state/State.js +0 -12
- package/lib/state/substates/LayoutState.d.ts +12 -1
- package/lib/state/substates/index.d.ts +0 -7
- package/lib/state/substates/index.js +0 -7
- package/lib/utils/Handles.js +3 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -1
- package/lib/views/api-keys/APIKeys.js +12 -3
- package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
- package/lib/views/datasources/DatasourceNew.d.ts +1 -1
- package/lib/views/datasources/Datasources.d.ts +1 -1
- package/lib/views/datasources/Datasources.js +12 -3
- package/lib/views/iam/SignInSimple.d.ts +37 -1
- package/lib/views/iam/SignInSimple.js +110 -12
- package/package.json +5 -3
- package/lib/App.css +0 -47
- package/lib/App.d.ts +0 -3
- package/lib/App.js +0 -21
- package/lib/api/runtimes/checkpoints.d.ts +0 -122
- package/lib/api/runtimes/checkpoints.js +0 -118
- package/lib/api/runtimes/environments.d.ts +0 -9
- package/lib/api/runtimes/environments.js +0 -29
- package/lib/api/runtimes/healthz.d.ts +0 -15
- package/lib/api/runtimes/healthz.js +0 -44
- package/lib/api/runtimes/index.d.ts +0 -12
- package/lib/api/runtimes/index.js +0 -16
- package/lib/api/runtimes/runtimes.d.ts +0 -138
- package/lib/api/runtimes/runtimes.js +0 -230
- package/lib/api/runtimes/snapshots.d.ts +0 -38
- package/lib/api/runtimes/snapshots.js +0 -82
- package/lib/api/scheduler/index.d.ts +0 -6
- package/lib/api/scheduler/index.js +0 -10
- package/lib/api/scheduler/schedules.d.ts +0 -85
- package/lib/api/scheduler/schedules.js +0 -78
- package/lib/api/spacer/documents.d.ts +0 -12
- package/lib/api/spacer/documents.js +0 -43
- package/lib/api/spacer/healthz.d.ts +0 -15
- package/lib/api/spacer/healthz.js +0 -44
- package/lib/api/spacer/index.d.ts +0 -15
- package/lib/api/spacer/index.js +0 -19
- package/lib/api/spacer/items.d.ts +0 -25
- package/lib/api/spacer/items.js +0 -55
- package/lib/api/spacer/lexicals.d.ts +0 -34
- package/lib/api/spacer/lexicals.js +0 -89
- package/lib/api/spacer/notebooks.d.ts +0 -34
- package/lib/api/spacer/notebooks.js +0 -89
- package/lib/api/spacer/spaces.d.ts +0 -84
- package/lib/api/spacer/spaces.js +0 -170
- package/lib/api/spacer/users.d.ts +0 -9
- package/lib/api/spacer/users.js +0 -29
- package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
- package/lib/client/mixins/RuntimesMixin.js +0 -229
- package/lib/client/mixins/SpacerMixin.d.ts +0 -210
- package/lib/client/mixins/SpacerMixin.js +0 -615
- package/lib/client/utils/spacerUtils.d.ts +0 -18
- package/lib/client/utils/spacerUtils.js +0 -32
- package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
- package/lib/collaboration/DatalayerCollaboration.js +0 -28
- package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
- package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
- package/lib/collaboration/index.d.ts +0 -2
- package/lib/collaboration/index.js +0 -6
- package/lib/components/context/SpaceSelect.d.ts +0 -2
- package/lib/components/context/SpaceSelect.js +0 -42
- package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
- package/lib/components/flashes/FlashDisclaimer.js +0 -17
- package/lib/components/icons/ArtifactIcon.d.ts +0 -10
- package/lib/components/icons/ArtifactIcon.js +0 -58
- package/lib/components/icons/index.d.ts +0 -1
- package/lib/components/icons/index.js +0 -5
- package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
- package/lib/components/nbgrader/NbGradesDetails.js +0 -14
- package/lib/components/nbgrader/index.d.ts +0 -1
- package/lib/components/nbgrader/index.js +0 -5
- package/lib/components/progress/CreditsIndicator.d.ts +0 -33
- package/lib/components/progress/CreditsIndicator.js +0 -23
- package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
- package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
- package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
- package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
- package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
- package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
- package/lib/components/runtimes/RuntimePickerBase.js +0 -122
- package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
- package/lib/components/runtimes/RuntimePickerCell.js +0 -104
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
- package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
- package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
- package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
- package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
- package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
- package/lib/components/runtimes/RuntimeTransfer.js +0 -5
- package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
- package/lib/components/runtimes/RuntimeUtils.js +0 -178
- package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
- package/lib/components/runtimes/RuntimeVariables.js +0 -75
- package/lib/components/runtimes/index.d.ts +0 -11
- package/lib/components/runtimes/index.js +0 -15
- package/lib/components/scheduler/ScheduleMenu.d.ts +0 -54
- package/lib/components/scheduler/ScheduleMenu.js +0 -154
- package/lib/components/scheduler/index.d.ts +0 -1
- package/lib/components/scheduler/index.js +0 -5
- package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
- package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
- package/lib/components/snapshots/index.d.ts +0 -1
- package/lib/components/snapshots/index.js +0 -5
- package/lib/components/snippets/SnippetDialog.d.ts +0 -42
- package/lib/components/snippets/SnippetDialog.js +0 -42
- package/lib/components/students/StudentItemStatus.d.ts +0 -7
- package/lib/components/students/StudentItemStatus.js +0 -66
- package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
- package/lib/components/tokens/SpaceVariantToken.js +0 -23
- package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
- package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
- package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
- package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
- package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
- package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
- package/lib/examples/CellExample.d.ts +0 -6
- package/lib/examples/CellExample.js +0 -20
- package/lib/examples/NotebookExample.d.ts +0 -6
- package/lib/examples/NotebookExample.js +0 -19
- package/lib/examples/lexical-theme.css +0 -436
- package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
- package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
- package/lib/examples/notebooks/Lite.ipynb.json +0 -128
- package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
- package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
- package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
- package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
- package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
- package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
- package/lib/hooks/useCellOutputshot.d.ts +0 -4
- package/lib/hooks/useCellOutputshot.js +0 -25
- package/lib/hooks/useProjects.d.ts +0 -628
- package/lib/hooks/useProjects.js +0 -190
- package/lib/hooks/useRuntimes.d.ts +0 -5
- package/lib/hooks/useRuntimes.js +0 -34
- package/lib/mocks/jupyter/index.js +0 -5
- package/lib/mocks/models/CourseMock.d.ts +0 -6
- package/lib/mocks/models/CourseMock.js +0 -29
- package/lib/mocks/models/SpaceMock.d.ts +0 -6
- package/lib/mocks/models/SpaceMock.js +0 -25
- package/lib/models/Assignment.d.ts +0 -7
- package/lib/models/Assignment.js +0 -5
- package/lib/models/Cell.d.ts +0 -8
- package/lib/models/Cell.js +0 -5
- package/lib/models/CodeBlock.d.ts +0 -10
- package/lib/models/CodeBlock.js +0 -5
- package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
- package/lib/models/CodeSandboxSnapshot.js +0 -13
- package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
- package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
- package/lib/models/CodefeedBlocks.d.ts +0 -7
- package/lib/models/CodefeedBlocks.js +0 -5
- package/lib/models/Content.d.ts +0 -5
- package/lib/models/Content.js +0 -5
- package/lib/models/Course.d.ts +0 -17
- package/lib/models/Course.js +0 -5
- package/lib/models/Dataset.d.ts +0 -16
- package/lib/models/Dataset.js +0 -5
- package/lib/models/Document.d.ts +0 -8
- package/lib/models/Document.js +0 -5
- package/lib/models/Environment.d.ts +0 -86
- package/lib/models/Environment.js +0 -5
- package/lib/models/EnvironmentDTO.d.ts +0 -125
- package/lib/models/EnvironmentDTO.js +0 -88
- package/lib/models/Exercise.d.ts +0 -16
- package/lib/models/Exercise.js +0 -5
- package/lib/models/Item.d.ts +0 -20
- package/lib/models/Item.js +0 -5
- package/lib/models/ItemDTO.d.ts +0 -74
- package/lib/models/ItemDTO.js +0 -186
- package/lib/models/ItemType.d.ts +0 -2
- package/lib/models/ItemType.js +0 -5
- package/lib/models/Lesson.d.ts +0 -5
- package/lib/models/Lesson.js +0 -5
- package/lib/models/LexicalDTO.d.ts +0 -155
- package/lib/models/LexicalDTO.js +0 -157
- package/lib/models/Library.d.ts +0 -10
- package/lib/models/Library.js +0 -5
- package/lib/models/Notebook.d.ts +0 -11
- package/lib/models/Notebook.js +0 -5
- package/lib/models/NotebookDTO.d.ts +0 -96
- package/lib/models/NotebookDTO.js +0 -153
- package/lib/models/Page.d.ts +0 -41
- package/lib/models/Page.js +0 -25
- package/lib/models/PageTag.d.ts +0 -19
- package/lib/models/PageTag.js +0 -94
- package/lib/models/ProjectDTO.d.ts +0 -89
- package/lib/models/ProjectDTO.js +0 -131
- package/lib/models/Runtime.d.ts +0 -123
- package/lib/models/Runtime.js +0 -18
- package/lib/models/RuntimeDTO.d.ts +0 -191
- package/lib/models/RuntimeDTO.js +0 -204
- package/lib/models/Space.d.ts +0 -35
- package/lib/models/Space.js +0 -66
- package/lib/models/SpaceDTO.d.ts +0 -334
- package/lib/models/SpaceDTO.js +0 -244
- package/lib/models/SpaceItem.d.ts +0 -10
- package/lib/models/SpaceItem.js +0 -5
- package/lib/models/SpaceMember.d.ts +0 -6
- package/lib/models/SpaceMember.js +0 -5
- package/lib/models/StudentItem.d.ts +0 -21
- package/lib/models/StudentItem.js +0 -5
- package/lib/services/DatalayerServiceManager.d.ts +0 -22
- package/lib/services/DatalayerServiceManager.js +0 -69
- package/lib/services/index.d.ts +0 -4
- package/lib/services/index.js +0 -7
- package/lib/services/reconnectToRuntime.d.ts +0 -32
- package/lib/services/reconnectToRuntime.js +0 -59
- package/lib/state/substates/CellState.d.ts +0 -12
- package/lib/state/substates/CellState.js +0 -22
- package/lib/state/substates/DocumentState.d.ts +0 -10
- package/lib/state/substates/DocumentState.js +0 -14
- package/lib/state/substates/GradeState.d.ts +0 -10
- package/lib/state/substates/GradeState.js +0 -14
- package/lib/state/substates/JupyterLabState.d.ts +0 -16
- package/lib/state/substates/JupyterLabState.js +0 -17
- package/lib/state/substates/NbformatState.d.ts +0 -13
- package/lib/state/substates/NbformatState.js +0 -16
- package/lib/state/substates/RuntimesState.d.ts +0 -79
- package/lib/state/substates/RuntimesState.js +0 -180
- package/lib/state/substates/SpaceState.d.ts +0 -11
- package/lib/state/substates/SpaceState.js +0 -16
- package/lib/stateful/index.d.ts +0 -2
- package/lib/stateful/index.js +0 -6
- package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
- package/lib/stateful/jupyter/exec/Python.js +0 -100
- package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
- package/lib/stateful/jupyter/exec/Snippets.js +0 -101
- package/lib/stateful/jupyter/exec/index.d.ts +0 -2
- package/lib/stateful/jupyter/exec/index.js +0 -6
- package/lib/stateful/jupyter/index.d.ts +0 -2
- package/lib/stateful/jupyter/index.js +0 -6
- package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
- package/lib/stateful/jupyter/kernelsHandler.js +0 -39
- package/lib/stateful/runtimes/actions.d.ts +0 -102
- package/lib/stateful/runtimes/actions.js +0 -249
- package/lib/stateful/runtimes/apis.d.ts +0 -273
- package/lib/stateful/runtimes/apis.js +0 -5
- package/lib/stateful/runtimes/index.d.ts +0 -5
- package/lib/stateful/runtimes/index.js +0 -9
- package/lib/stateful/runtimes/settings.d.ts +0 -15
- package/lib/stateful/runtimes/settings.js +0 -31
- package/lib/stateful/runtimes/snapshots.d.ts +0 -25
- package/lib/stateful/runtimes/snapshots.js +0 -150
- package/lib/stateful/runtimes/utils.d.ts +0 -7
- package/lib/stateful/runtimes/utils.js +0 -14
- package/lib/utils/Cells.d.ts +0 -2
- package/lib/utils/Cells.js +0 -28
- /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
4
|
-
* Distributed under the terms of the Modified BSD License.
|
|
5
|
-
*/
|
|
6
|
-
import { NotebookCommandIds } from '@datalayer/jupyter-react';
|
|
7
|
-
import { Button } from '@primer/react';
|
|
8
|
-
import { PlayIcon, StopIcon } from '@primer/octicons-react';
|
|
9
|
-
import { useEffect, useState } from 'react';
|
|
10
|
-
/**
|
|
11
|
-
* Notebook editor toolbar
|
|
12
|
-
*/
|
|
13
|
-
export function NotebookEditorToolbar(props) {
|
|
14
|
-
const { commandRegistry, runtimeDesc, sessionConnection } = props;
|
|
15
|
-
const [kernelStatus, setKernelStatus] = useState();
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
const onStatusChanged = () => {
|
|
18
|
-
setKernelStatus(sessionConnection?.kernel?.status);
|
|
19
|
-
};
|
|
20
|
-
onStatusChanged();
|
|
21
|
-
sessionConnection?.statusChanged.connect(onStatusChanged);
|
|
22
|
-
sessionConnection?.connectionStatusChanged.connect(onStatusChanged);
|
|
23
|
-
return () => {
|
|
24
|
-
sessionConnection?.statusChanged.disconnect(onStatusChanged);
|
|
25
|
-
sessionConnection?.connectionStatusChanged.disconnect(onStatusChanged);
|
|
26
|
-
};
|
|
27
|
-
}, [sessionConnection]);
|
|
28
|
-
return (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "invisible", size: "small", leadingVisual: PlayIcon, disabled: !runtimeDesc?.location || kernelStatus === 'busy', onClick: (e) => commandRegistry?.execute(NotebookCommandIds.runAll), children: "Run all" }), _jsx(Button, { variant: "invisible", size: "small", leadingVisual: StopIcon, disabled: !runtimeDesc?.location || kernelStatus !== 'busy', onClick: (e) => commandRegistry?.execute(NotebookCommandIds.interrupt), children: "Interrupt" })] }));
|
|
29
|
-
}
|
|
30
|
-
export default NotebookEditorToolbar;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { JupyterReactTheme, Cell, KernelIndicator, useJupyter, useKernelsStore, useCellsStore, } from '@datalayer/jupyter-react';
|
|
3
|
-
import { Button, Label } from '@primer/react';
|
|
4
|
-
import { Box } from '@datalayer/primer-addons';
|
|
5
|
-
const CELL_ID = 'cell-example-1';
|
|
6
|
-
const DEFAULT_SOURCE = `from IPython.display import display
|
|
7
|
-
|
|
8
|
-
for i in range(10):
|
|
9
|
-
display('I am a long string which is repeatedly added to the dom in separated divs: %d' % i)`;
|
|
10
|
-
const CellExampleContent = (props) => {
|
|
11
|
-
// const { serviceManager } = props;
|
|
12
|
-
const { defaultKernel } = useJupyter({ startDefaultKernel: true });
|
|
13
|
-
const cellsStore = useCellsStore();
|
|
14
|
-
const kernelsStore = useKernelsStore();
|
|
15
|
-
return (_jsxs(Box, { p: 4, children: [_jsx(Box, { as: "h1", children: "A Jupyter Cell" }), _jsxs(Box, { children: ["Source: ", cellsStore.getSource(CELL_ID)] }), _jsxs(Box, { children: ["Outputs Count: ", cellsStore.getOutputsCount(CELL_ID)] }), _jsxs(Box, { children: ["Kernel State:", ' ', _jsx(Label, { children: defaultKernel && kernelsStore.getExecutionState(defaultKernel.id) })] }), _jsxs(Box, { children: ["Kernel Phase:", ' ', _jsx(Label, { children: defaultKernel && kernelsStore.getExecutionPhase(defaultKernel.id) })] }), _jsxs(Box, { display: "flex", children: [_jsx(Box, { children: "Kernel Indicator:" }), _jsx(Box, { ml: 3, children: _jsx(KernelIndicator, { kernel: defaultKernel && defaultKernel.connection }) })] }), _jsx(Box, { children: _jsx(Button, { onClick: () => cellsStore.execute(CELL_ID), children: "Run cell" }) }), _jsx(Cell, { source: DEFAULT_SOURCE, id: CELL_ID, kernel: defaultKernel })] }));
|
|
16
|
-
};
|
|
17
|
-
export const CellExample = (props) => {
|
|
18
|
-
return (_jsx(JupyterReactTheme, { children: _jsx(CellExampleContent, { ...props }) }));
|
|
19
|
-
};
|
|
20
|
-
export default CellExample;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ServiceManager } from '@jupyterlab/services';
|
|
2
|
-
type INotebookExampleProps = {
|
|
3
|
-
serviceManager?: ServiceManager.IManager;
|
|
4
|
-
};
|
|
5
|
-
export declare const NotebookExample: (props: INotebookExampleProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
export default NotebookExample;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, 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
|
-
import { useMemo } from 'react';
|
|
7
|
-
import { Box } from '@datalayer/primer-addons';
|
|
8
|
-
import { Notebook, NotebookToolbar, CellSidebarExtension, CellSidebarButton, } from '@datalayer/jupyter-react';
|
|
9
|
-
import nbformatExample from './notebooks/NotebookExample1.ipynb.json';
|
|
10
|
-
const NOTEBOOK_ID = 'notebook-example-1';
|
|
11
|
-
export const NotebookExample = (props) => {
|
|
12
|
-
const { serviceManager } = props;
|
|
13
|
-
const extensions = useMemo(() => [new CellSidebarExtension({ factory: CellSidebarButton })], []);
|
|
14
|
-
if (!serviceManager) {
|
|
15
|
-
return (_jsxs(Box, { as: "h1", children: ["A Jupyter Notebook", _jsx("div", { children: "Loading..." })] }));
|
|
16
|
-
}
|
|
17
|
-
return (_jsxs(_Fragment, { children: [_jsx(Box, { as: "h1", children: "A Jupyter Notebook" }), _jsx(Notebook, { id: NOTEBOOK_ID, nbformat: nbformatExample, serviceManager: serviceManager, startDefaultKernel: true, extensions: extensions, Toolbar: NotebookToolbar })] }));
|
|
18
|
-
};
|
|
19
|
-
export default NotebookExample;
|
|
@@ -1,436 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Lexical Editor Theme - Integrated with JupyterReactTheme
|
|
8
|
-
*
|
|
9
|
-
* This theme uses CSS variables from:
|
|
10
|
-
* - JupyterLab theme (--jp-* variables)
|
|
11
|
-
* - Primer design system (--bgColor-*, --fgColor-*, --borderColor-*, etc.)
|
|
12
|
-
* - Automatically adapts to light/dark mode via JupyterReactTheme
|
|
13
|
-
*
|
|
14
|
-
* Based on Lexical's theming guide: https://lexical.dev/docs/getting-started/theming
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/* ============================================
|
|
18
|
-
Text Formatting
|
|
19
|
-
============================================ */
|
|
20
|
-
|
|
21
|
-
.lexical-theme-bold {
|
|
22
|
-
font-weight: bold;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.lexical-theme-italic {
|
|
26
|
-
font-style: italic;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.lexical-theme-underline {
|
|
30
|
-
text-decoration: underline;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.lexical-theme-strikethrough {
|
|
34
|
-
text-decoration: line-through;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.lexical-theme-code {
|
|
38
|
-
background-color: var(--jp-layout-color2, var(--bgColor-neutral-muted));
|
|
39
|
-
border-radius: 3px;
|
|
40
|
-
padding: 2px 4px;
|
|
41
|
-
font-family: var(
|
|
42
|
-
--jp-code-font-family,
|
|
43
|
-
'Monaco',
|
|
44
|
-
'Menlo',
|
|
45
|
-
'Ubuntu Mono',
|
|
46
|
-
'Consolas',
|
|
47
|
-
monospace
|
|
48
|
-
);
|
|
49
|
-
font-size: var(--jp-code-font-size, 0.9em);
|
|
50
|
-
color: var(--jp-mirror-editor-keyword-color, var(--fgColor-accent));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.lexical-theme-subscript {
|
|
54
|
-
font-size: 0.8em;
|
|
55
|
-
vertical-align: sub;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.lexical-theme-superscript {
|
|
59
|
-
font-size: 0.8em;
|
|
60
|
-
vertical-align: super;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/* ============================================
|
|
64
|
-
Block Elements
|
|
65
|
-
============================================ */
|
|
66
|
-
|
|
67
|
-
.lexical-theme-paragraph {
|
|
68
|
-
margin: 0;
|
|
69
|
-
padding: 8px 0;
|
|
70
|
-
line-height: var(--jp-content-line-height, 1.6);
|
|
71
|
-
color: var(--jp-ui-font-color1, var(--fgColor-default));
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.lexical-theme-heading-h1 {
|
|
75
|
-
font-size: var(--jp-content-heading-font-size1, 2em);
|
|
76
|
-
font-weight: 600;
|
|
77
|
-
margin: 0.67em 0;
|
|
78
|
-
line-height: var(--jp-content-heading-line-height, 1.3);
|
|
79
|
-
color: var(--jp-ui-font-color0, var(--fgColor-default));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.lexical-theme-heading-h2 {
|
|
83
|
-
font-size: var(--jp-content-heading-font-size2, 1.5em);
|
|
84
|
-
font-weight: 600;
|
|
85
|
-
margin: 0.75em 0;
|
|
86
|
-
line-height: var(--jp-content-heading-line-height, 1.3);
|
|
87
|
-
color: var(--jp-ui-font-color0, var(--fgColor-default));
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.lexical-theme-heading-h3 {
|
|
91
|
-
font-size: var(--jp-content-heading-font-size3, 1.25em);
|
|
92
|
-
font-weight: 600;
|
|
93
|
-
margin: 0.83em 0;
|
|
94
|
-
line-height: var(--jp-content-heading-line-height, 1.3);
|
|
95
|
-
color: var(--jp-ui-font-color0, var(--fgColor-default));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.lexical-theme-heading-h4 {
|
|
99
|
-
font-size: var(--jp-content-heading-font-size4, 1.1em);
|
|
100
|
-
font-weight: 600;
|
|
101
|
-
margin: 1em 0;
|
|
102
|
-
line-height: var(--jp-content-heading-line-height, 1.3);
|
|
103
|
-
color: var(--jp-ui-font-color0, var(--fgColor-default));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.lexical-theme-heading-h5 {
|
|
107
|
-
font-size: var(--jp-content-heading-font-size5, 1em);
|
|
108
|
-
font-weight: 600;
|
|
109
|
-
margin: 1.33em 0;
|
|
110
|
-
line-height: var(--jp-content-heading-line-height, 1.3);
|
|
111
|
-
color: var(--jp-ui-font-color0, var(--fgColor-default));
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.lexical-theme-heading-h6 {
|
|
115
|
-
font-size: 0.875em;
|
|
116
|
-
font-weight: 600;
|
|
117
|
-
margin: 1.67em 0;
|
|
118
|
-
line-height: var(--jp-content-heading-line-height, 1.3);
|
|
119
|
-
color: var(--jp-ui-font-color1, var(--fgColor-muted));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.lexical-theme-quote {
|
|
123
|
-
margin: 16px 0;
|
|
124
|
-
padding: 8px 16px;
|
|
125
|
-
border-left: 4px solid
|
|
126
|
-
var(--jp-border-color2, var(--borderColor-accent-emphasis));
|
|
127
|
-
background-color: var(--jp-layout-color2, var(--bgColor-neutral-muted));
|
|
128
|
-
font-style: italic;
|
|
129
|
-
color: var(--jp-ui-font-color2, var(--fgColor-muted));
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/* ============================================
|
|
133
|
-
Lists
|
|
134
|
-
============================================ */
|
|
135
|
-
|
|
136
|
-
.lexical-theme-list-ul {
|
|
137
|
-
margin: 8px 0;
|
|
138
|
-
padding-left: 24px;
|
|
139
|
-
list-style-type: disc;
|
|
140
|
-
color: var(--jp-ui-font-color1, var(--fgColor-default));
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
.lexical-theme-list-ol {
|
|
144
|
-
margin: 8px 0;
|
|
145
|
-
padding-left: 24px;
|
|
146
|
-
list-style-type: decimal;
|
|
147
|
-
color: var(--jp-ui-font-color1, var(--fgColor-default));
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.lexical-theme-list-listitem {
|
|
151
|
-
margin: 4px 0;
|
|
152
|
-
line-height: var(--jp-content-line-height, 1.6);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.lexical-theme-list-nested-listitem {
|
|
156
|
-
list-style-type: none;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.lexical-theme-list-checklist {
|
|
160
|
-
padding-left: 4px;
|
|
161
|
-
list-style-type: none;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.lexical-theme-list-listitemChecked {
|
|
165
|
-
text-decoration: line-through;
|
|
166
|
-
opacity: 0.7;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.lexical-theme-list-listitemUnchecked {
|
|
170
|
-
text-decoration: none;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/* ============================================
|
|
174
|
-
Code Blocks
|
|
175
|
-
============================================ */
|
|
176
|
-
|
|
177
|
-
/* Code blocks styled like Jupyter cells */
|
|
178
|
-
code.lexical-theme-code-block,
|
|
179
|
-
code.lexical-theme-code-block[spellcheck],
|
|
180
|
-
code.lexical-theme-code-block[data-highlight-language] {
|
|
181
|
-
background-color: #f7f7f7 !important;
|
|
182
|
-
background: #f7f7f7 !important;
|
|
183
|
-
border: 1px solid #d3d3d3 !important;
|
|
184
|
-
border-radius: 6px !important;
|
|
185
|
-
border-left: 3px solid #0366d6 !important;
|
|
186
|
-
padding: 8px 16px 8px 70px !important;
|
|
187
|
-
margin: 16px 0 0 0 !important;
|
|
188
|
-
overflow-x: auto !important;
|
|
189
|
-
font-family: var(
|
|
190
|
-
--jp-code-font-family,
|
|
191
|
-
'Monaco',
|
|
192
|
-
'Menlo',
|
|
193
|
-
'Ubuntu Mono',
|
|
194
|
-
monospace
|
|
195
|
-
) !important;
|
|
196
|
-
font-size: 13px !important;
|
|
197
|
-
line-height: 1.6 !important;
|
|
198
|
-
color: #24292e !important;
|
|
199
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
|
|
200
|
-
display: block !important;
|
|
201
|
-
min-height: 50px !important;
|
|
202
|
-
position: relative !important;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/* Display line numbers from data-gutter attribute */
|
|
206
|
-
code.lexical-theme-code-block::before {
|
|
207
|
-
content: attr(data-gutter);
|
|
208
|
-
position: absolute !important;
|
|
209
|
-
left: 0 !important;
|
|
210
|
-
top: 0 !important;
|
|
211
|
-
bottom: 0 !important;
|
|
212
|
-
width: 50px !important;
|
|
213
|
-
padding: 8px 8px 8px 0 !important;
|
|
214
|
-
color: #999 !important;
|
|
215
|
-
text-align: right !important;
|
|
216
|
-
white-space: pre !important;
|
|
217
|
-
font-family: monospace !important;
|
|
218
|
-
font-size: 13px !important;
|
|
219
|
-
line-height: 1.6 !important;
|
|
220
|
-
background-color: #f7f7f7 !important;
|
|
221
|
-
border-right: 1px solid #e1e4e8 !important;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/* Force transparent background on all child elements */
|
|
225
|
-
code.lexical-theme-code-block *,
|
|
226
|
-
code.lexical-theme-code-block span,
|
|
227
|
-
code.lexical-theme-code-block span[class*='lexical-theme-code-token'],
|
|
228
|
-
code.lexical-theme-code-block span[data-lexical-text],
|
|
229
|
-
code.lexical-theme-code-block br {
|
|
230
|
-
background-color: transparent !important;
|
|
231
|
-
background: transparent !important;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
code.lexical-theme-code-block:hover {
|
|
235
|
-
border-color: #66afe9 !important;
|
|
236
|
-
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/* Code syntax highlighting tokens using JupyterLab CodeMirror colors */
|
|
240
|
-
.lexical-theme-code-tokenComment {
|
|
241
|
-
color: var(--jp-mirror-editor-comment-color, var(--fgColor-muted));
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
.lexical-theme-code-tokenPunctuation {
|
|
245
|
-
color: var(--jp-content-font-color1, var(--fgColor-default));
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
.lexical-theme-code-tokenProperty {
|
|
249
|
-
color: var(--jp-mirror-editor-attribute-color, var(--fgColor-accent));
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
.lexical-theme-code-tokenSelector {
|
|
253
|
-
color: var(--jp-mirror-editor-builtin-color, var(--fgColor-done));
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
.lexical-theme-code-tokenOperator {
|
|
257
|
-
color: var(--jp-mirror-editor-operator-color, var(--fgColor-danger));
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
.lexical-theme-code-tokenAttr {
|
|
261
|
-
color: var(--jp-mirror-editor-attribute-color, var(--fgColor-accent));
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
.lexical-theme-code-tokenVariable {
|
|
265
|
-
color: var(--jp-mirror-editor-variable-color, var(--fgColor-attention));
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
.lexical-theme-code-tokenFunction {
|
|
269
|
-
color: var(--jp-mirror-editor-def-color, var(--fgColor-done));
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
.lexical-theme-code-tokenKeyword {
|
|
273
|
-
color: var(--jp-mirror-editor-keyword-color, var(--fgColor-danger));
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
.lexical-theme-code-tokenString {
|
|
277
|
-
color: var(--jp-mirror-editor-string-color, var(--fgColor-success));
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
.lexical-theme-code-tokenNumber {
|
|
281
|
-
color: var(--jp-mirror-editor-number-color, var(--fgColor-accent));
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
.lexical-theme-code-tokenBoolean {
|
|
285
|
-
color: var(--jp-mirror-editor-number-color, var(--fgColor-accent));
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.lexical-theme-code-tokenRegex {
|
|
289
|
-
color: var(--jp-mirror-editor-string-color, var(--fgColor-success));
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/* ============================================
|
|
293
|
-
Links
|
|
294
|
-
============================================ */
|
|
295
|
-
|
|
296
|
-
.lexical-theme-link {
|
|
297
|
-
color: var(--jp-content-link-color, var(--fgColor-accent));
|
|
298
|
-
text-decoration: none;
|
|
299
|
-
cursor: pointer;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
.lexical-theme-link:hover {
|
|
303
|
-
text-decoration: underline;
|
|
304
|
-
color: var(--jp-content-link-color, var(--fgColor-accent));
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
.lexical-theme-autolink {
|
|
308
|
-
color: var(--jp-content-link-color, var(--fgColor-accent));
|
|
309
|
-
text-decoration: none;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
.lexical-theme-autolink:hover {
|
|
313
|
-
text-decoration: underline;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
/* ============================================
|
|
317
|
-
Tables
|
|
318
|
-
============================================ */
|
|
319
|
-
|
|
320
|
-
.lexical-theme-table {
|
|
321
|
-
border-collapse: collapse;
|
|
322
|
-
border: 1px solid var(--jp-border-color2, var(--borderColor-default));
|
|
323
|
-
margin: 16px 0;
|
|
324
|
-
width: 100%;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
.lexical-theme-tableCell {
|
|
328
|
-
border: 1px solid var(--jp-border-color2, var(--borderColor-default));
|
|
329
|
-
padding: 8px 12px;
|
|
330
|
-
min-width: 75px;
|
|
331
|
-
vertical-align: top;
|
|
332
|
-
color: var(--jp-ui-font-color1, var(--fgColor-default));
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
.lexical-theme-tableCellHeader {
|
|
336
|
-
background-color: var(--jp-layout-color2, var(--bgColor-neutral-muted));
|
|
337
|
-
border: 1px solid var(--jp-border-color2, var(--borderColor-default));
|
|
338
|
-
padding: 8px 12px;
|
|
339
|
-
font-weight: 600;
|
|
340
|
-
text-align: left;
|
|
341
|
-
color: var(--jp-ui-font-color0, var(--fgColor-default));
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/* ============================================
|
|
345
|
-
Special Nodes
|
|
346
|
-
============================================ */
|
|
347
|
-
|
|
348
|
-
.lexical-theme-hashtag {
|
|
349
|
-
color: var(--jp-brand-color1, var(--fgColor-accent));
|
|
350
|
-
background-color: var(--jp-layout-color2, var(--bgColor-accent-muted));
|
|
351
|
-
border-radius: 3px;
|
|
352
|
-
padding: 2px 4px;
|
|
353
|
-
cursor: pointer;
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
.lexical-theme-image {
|
|
357
|
-
max-width: 100%;
|
|
358
|
-
height: auto;
|
|
359
|
-
margin: 16px 0;
|
|
360
|
-
border-radius: var(--jp-border-radius, 6px);
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
.lexical-theme-hr {
|
|
364
|
-
border: none;
|
|
365
|
-
border-top: 2px solid var(--jp-border-color2, var(--borderColor-default));
|
|
366
|
-
margin: 24px 0;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
.lexical-theme-mark {
|
|
370
|
-
background-color: var(--jp-warn-color3, rgba(255, 212, 0, 0.4));
|
|
371
|
-
padding: 2px 0;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
/* ============================================
|
|
375
|
-
Jupyter-specific Nodes
|
|
376
|
-
============================================ */
|
|
377
|
-
|
|
378
|
-
/* Jupyter cells are styled by the jupyter-lexical components themselves.
|
|
379
|
-
Do not add theme CSS here as it conflicts with the component's internal styling.
|
|
380
|
-
The JupyterCellNode, JupyterInputNode, and JupyterOutputNode components
|
|
381
|
-
handle their own styling and theming. */
|
|
382
|
-
|
|
383
|
-
/* ============================================
|
|
384
|
-
Editor Container Styles
|
|
385
|
-
============================================ */
|
|
386
|
-
|
|
387
|
-
.lexical-editor-content {
|
|
388
|
-
min-height: 450px;
|
|
389
|
-
outline: none;
|
|
390
|
-
padding: 16px;
|
|
391
|
-
font-family: var(
|
|
392
|
-
--jp-ui-font-family,
|
|
393
|
-
-apple-system,
|
|
394
|
-
BlinkMacSystemFont,
|
|
395
|
-
'Segoe UI',
|
|
396
|
-
Helvetica,
|
|
397
|
-
Arial,
|
|
398
|
-
sans-serif
|
|
399
|
-
);
|
|
400
|
-
font-size: var(--jp-ui-font-size1, 16px);
|
|
401
|
-
line-height: var(--jp-content-line-height, 1.6);
|
|
402
|
-
color: var(--jp-ui-font-color1, var(--fgColor-default));
|
|
403
|
-
background-color: var(--jp-layout-color1, var(--bgColor-default));
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
.lexical-editor-content:focus {
|
|
407
|
-
outline: none;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
.lexical-editor-inner {
|
|
411
|
-
position: relative;
|
|
412
|
-
background-color: var(--jp-layout-color1, var(--bgColor-default));
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
/* ============================================
|
|
416
|
-
Placeholder
|
|
417
|
-
============================================ */
|
|
418
|
-
|
|
419
|
-
.lexical-theme-placeholder {
|
|
420
|
-
color: var(--jp-ui-font-color3, var(--fgColor-muted));
|
|
421
|
-
overflow: hidden;
|
|
422
|
-
position: absolute;
|
|
423
|
-
text-overflow: ellipsis;
|
|
424
|
-
top: 16px;
|
|
425
|
-
left: 16px;
|
|
426
|
-
font-size: var(--jp-ui-font-size1, 16px);
|
|
427
|
-
user-select: none;
|
|
428
|
-
pointer-events: none;
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
/* ============================================
|
|
432
|
-
Dark Mode Adjustments
|
|
433
|
-
============================================ */
|
|
434
|
-
|
|
435
|
-
/* Dark mode is handled automatically via CSS variables from JupyterReactTheme */
|
|
436
|
-
/* The --jp-* and Primer variables change based on colormode */
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"cells": [
|
|
3
|
-
{
|
|
4
|
-
"cell_type": "code",
|
|
5
|
-
"execution_count": 1,
|
|
6
|
-
"id": "3a86eccf-352d-480d-b1b0-4cf355921be9",
|
|
7
|
-
"metadata": {},
|
|
8
|
-
"outputs": [
|
|
9
|
-
{
|
|
10
|
-
"data": {
|
|
11
|
-
"application/vnd.jupyter.widget-view+json": {
|
|
12
|
-
"model_id": "c686864a5ad44793b53c9cf1b112fafe",
|
|
13
|
-
"version_major": 2,
|
|
14
|
-
"version_minor": 0
|
|
15
|
-
},
|
|
16
|
-
"text/plain": []
|
|
17
|
-
},
|
|
18
|
-
"metadata": {},
|
|
19
|
-
"output_type": "display_data"
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"source": ["import ipywidgets as widgets\n", "widgets.IntSlider()"]
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"cell_type": "code",
|
|
26
|
-
"execution_count": 8,
|
|
27
|
-
"id": "f347e0ac-7614-4643-8fed-e6b5dfb67bcd",
|
|
28
|
-
"metadata": {},
|
|
29
|
-
"outputs": [
|
|
30
|
-
{
|
|
31
|
-
"data": {
|
|
32
|
-
"application/vnd.jupyter.widget-view+json": {
|
|
33
|
-
"model_id": "e361a274319a4715ae5cfc8104c87224",
|
|
34
|
-
"version_major": 2,
|
|
35
|
-
"version_minor": 0
|
|
36
|
-
},
|
|
37
|
-
"text/plain": ["FloatText(value=0.0)"]
|
|
38
|
-
},
|
|
39
|
-
"metadata": {},
|
|
40
|
-
"output_type": "display_data"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"data": {
|
|
44
|
-
"application/vnd.jupyter.widget-view+json": {
|
|
45
|
-
"model_id": "859ac1871f56461fa8f2c97e6e18c4c4",
|
|
46
|
-
"version_major": 2,
|
|
47
|
-
"version_minor": 0
|
|
48
|
-
},
|
|
49
|
-
"text/plain": ["FloatSlider(value=0.0)"]
|
|
50
|
-
},
|
|
51
|
-
"metadata": {},
|
|
52
|
-
"output_type": "display_data"
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"source": [
|
|
56
|
-
"from IPython.display import display\n",
|
|
57
|
-
"a = widgets.FloatText()\n",
|
|
58
|
-
"b = widgets.FloatSlider()\n",
|
|
59
|
-
"display(a,b)\n",
|
|
60
|
-
"mylink = widgets.jslink((a, 'value'), (b, 'value'))"
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"cell_type": "code",
|
|
65
|
-
"execution_count": 7,
|
|
66
|
-
"id": "07f52271-ccae-476d-83b9-715c96168c7c",
|
|
67
|
-
"metadata": {},
|
|
68
|
-
"outputs": [],
|
|
69
|
-
"source": ["mylink.unlink()"]
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"cell_type": "code",
|
|
73
|
-
"execution_count": null,
|
|
74
|
-
"id": "81b15288-063d-412d-99db-c73453e18565",
|
|
75
|
-
"metadata": {},
|
|
76
|
-
"outputs": [],
|
|
77
|
-
"source": []
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
"metadata": {
|
|
81
|
-
"kernelspec": {
|
|
82
|
-
"display_name": "Python 3 (ipykernel)",
|
|
83
|
-
"language": "python",
|
|
84
|
-
"name": "python3"
|
|
85
|
-
},
|
|
86
|
-
"language_info": {
|
|
87
|
-
"codemirror_mode": {
|
|
88
|
-
"name": "ipython",
|
|
89
|
-
"version": 3
|
|
90
|
-
},
|
|
91
|
-
"file_extension": ".py",
|
|
92
|
-
"mimetype": "text/x-python",
|
|
93
|
-
"name": "python",
|
|
94
|
-
"nbconvert_exporter": "python",
|
|
95
|
-
"pygments_lexer": "ipython3",
|
|
96
|
-
"version": "3.11.4"
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
"nbformat": 4,
|
|
100
|
-
"nbformat_minor": 5
|
|
101
|
-
}
|