@datalayer/jupyter-react 0.19.0 → 0.19.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 +1 -1
- package/lib/components/cell/Cell.d.ts +5 -0
- package/lib/components/cell/Cell.js +6 -5
- package/lib/components/cell/Cell.js.map +1 -1
- package/lib/examples/NotebookLocalServer.d.ts +1 -0
- package/lib/examples/NotebookLocalServer.js +28 -0
- package/lib/examples/NotebookLocalServer.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ As a React.js developer, you just write a few lines of code get a live notebook
|
|
|
34
34
|
<img alt="Jupyter React Slate" src="https://datalayer-jupyter-examples.s3.amazonaws.com/jupyter-react-snippet.png" />
|
|
35
35
|
</div>
|
|
36
36
|
|
|
37
|
-
The typedoc documentation is [available online](https://typedoc.datalayer.tech/datalayer/jupyter-react/0.
|
|
37
|
+
The typedoc documentation is [available online](https://typedoc.datalayer.tech/datalayer/jupyter-react/0.9.0/index.html).
|
|
38
38
|
|
|
39
39
|
Jupyter React can be used in any React.js application. Install the latest `@datalayer/jupyter-react` npm package and get inspired by the [examples](https://github.com/datalayer/jupyter-ui/tree/main/examples) in this repository.
|
|
40
40
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Kernel from '../../jupyter/kernel/Kernel';
|
|
1
2
|
export type ICellProps = {
|
|
2
3
|
/**
|
|
3
4
|
* Whether to execute directly the code cell or not.
|
|
@@ -23,6 +24,10 @@ export type ICellProps = {
|
|
|
23
24
|
* Cell type
|
|
24
25
|
*/
|
|
25
26
|
type: 'code' | 'markdown' | 'raw';
|
|
27
|
+
/**
|
|
28
|
+
* Custom kernel for the cell. Falls back to the defaultKernel if not provided.
|
|
29
|
+
*/
|
|
30
|
+
kernel?: Kernel;
|
|
26
31
|
};
|
|
27
32
|
export declare const Cell: {
|
|
28
33
|
(props: ICellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -13,7 +13,7 @@ import { Lumino } from '../lumino';
|
|
|
13
13
|
import { CellAdapter } from './CellAdapter';
|
|
14
14
|
import { useCellsStore } from './CellState';
|
|
15
15
|
export const Cell = (props) => {
|
|
16
|
-
const { autoStart, showToolbar, source = '', startDefaultKernel, type, } = props;
|
|
16
|
+
const { autoStart, showToolbar, source = '', startDefaultKernel, type, kernel: customKernel, } = props;
|
|
17
17
|
const { defaultKernel, serverSettings } = useJupyter({
|
|
18
18
|
startDefaultKernel,
|
|
19
19
|
});
|
|
@@ -43,14 +43,15 @@ export const Cell = (props) => {
|
|
|
43
43
|
});
|
|
44
44
|
};
|
|
45
45
|
useEffect(() => {
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
const kernelToUse = customKernel || defaultKernel;
|
|
47
|
+
if (id && serverSettings && kernelToUse) {
|
|
48
|
+
kernelToUse.ready.then(() => {
|
|
48
49
|
const adapter = new CellAdapter({
|
|
49
50
|
id,
|
|
50
51
|
type,
|
|
51
52
|
source,
|
|
52
53
|
serverSettings,
|
|
53
|
-
kernel:
|
|
54
|
+
kernel: kernelToUse,
|
|
54
55
|
boxOptions: { showToolbar }
|
|
55
56
|
});
|
|
56
57
|
cellsStore.setAdapter(id, adapter);
|
|
@@ -77,7 +78,7 @@ export const Cell = (props) => {
|
|
|
77
78
|
};
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
|
-
}, [source, defaultKernel, serverSettings]);
|
|
81
|
+
}, [source, defaultKernel, customKernel, serverSettings]);
|
|
81
82
|
return adapter ? (_jsx(Box, { sx: {
|
|
82
83
|
'& .dla-Jupyter-Cell': {
|
|
83
84
|
position: 'relative !important',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../../src/components/cell/Cell.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAgB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../../src/components/cell/Cell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*/
|
|
7
|
+
import { createRoot } from 'react-dom/client';
|
|
8
|
+
import { Text } from '@primer/react';
|
|
9
|
+
import { Jupyter, useJupyter } from '../jupyter';
|
|
10
|
+
import { JupyterReactTheme } from '../theme';
|
|
11
|
+
import { Notebook } from '../components/notebook/Notebook';
|
|
12
|
+
import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
|
|
13
|
+
import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
|
|
14
|
+
const NotebookJupyter = () => (_jsx(Jupyter, { jupyterServerUrl: "http://localhost:8686/api/jupyter-server", jupyterServerToken: "60c1661cc408f978c309d04157af55c9588ff9557c9380e4fb50785750703da6", startDefaultKernel: true, children: _jsx(Notebook, { path: "ipywidgets.ipynb", id: "notebook-jupyter-id", height: "calc(100vh - 250px)" // (Height - Toolbar Height).
|
|
15
|
+
, cellSidebarMargin: 60, CellSidebar: CellSidebarButton, Toolbar: NotebookToolbar }) }));
|
|
16
|
+
const NotebookJupyterReactTheme = () => {
|
|
17
|
+
useJupyter({
|
|
18
|
+
jupyterServerUrl: "http://localhost:8686/api/jupyter-server",
|
|
19
|
+
jupyterServerToken: "60c1661cc408f978c309d04157af55c9588ff9557c9380e4fb50785750703da6",
|
|
20
|
+
});
|
|
21
|
+
return (_jsx(JupyterReactTheme, { children: _jsx(Notebook, { startDefaultKernel: true, path: "ipywidgets.ipynb", id: "notebook-jupyter-react-themeid", height: "calc(100vh - 250px)" // (Height - Toolbar Height).
|
|
22
|
+
, cellSidebarMargin: 60, CellSidebar: CellSidebarButton, Toolbar: NotebookToolbar }) }));
|
|
23
|
+
};
|
|
24
|
+
const div = document.createElement('div');
|
|
25
|
+
document.body.appendChild(div);
|
|
26
|
+
const root = createRoot(div);
|
|
27
|
+
root.render(_jsxs(_Fragment, { children: [_jsx(Text, { as: "h1", children: "Local Jupyter Server (with a Jupyter Context)" }), _jsx(NotebookJupyter, {}), _jsx(Text, { as: "h1", children: "Local Jupyter Server (with a Jupyter React Theme)" }), _jsx(NotebookJupyterReactTheme, {})] }));
|
|
28
|
+
//# sourceMappingURL=NotebookLocalServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotebookLocalServer.js","sourceRoot":"","sources":["../../src/examples/NotebookLocalServer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAC5B,KAAC,OAAO,IACN,gBAAgB,EAAC,0CAA0C,EAC3D,kBAAkB,EAAC,kEAAkE,EACrF,kBAAkB,kBAElB,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAC,qBAAqB,EACxB,MAAM,EAAC,qBAAqB,CAAC,6BAA6B;UAC1D,iBAAiB,EAAE,EAAE,EACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACxB,GACM,CACX,CAAA;AAED,MAAM,yBAAyB,GAAG,GAAG,EAAE;IACrC,UAAU,CAAC;QACT,gBAAgB,EAAE,0CAA0C;QAC5D,kBAAkB,EAAE,kEAAkE;KACvF,CAAC,CAAA;IACF,OAAO,CACL,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,kBAAkB,QAClB,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAC,gCAAgC,EACnC,MAAM,EAAC,qBAAqB,CAAC,6BAA6B;cAC1D,iBAAiB,EAAE,EAAE,EACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AACJ,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AAE7B,IAAI,CAAC,MAAM,CACT,8BACE,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,8DAAqD,EAClE,KAAC,eAAe,KAAE,EAClB,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,kEAAyD,EACtE,KAAC,yBAAyB,KAAE,IAC3B,CACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datalayer/jupyter-react",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.2",
|
|
4
4
|
"description": "Jupyter React - React.js components 100% compatible with Jupyter.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
"prettier:check": "yarn prettier:base --check",
|
|
49
49
|
"start": "run-p -c 'start:*'",
|
|
50
50
|
"start:webpack": "webpack serve",
|
|
51
|
+
"start-noconfig": "cross-env NO_CONFIG=true webpack serve",
|
|
51
52
|
"start-local": "run-p -c 'start-local:*'",
|
|
52
53
|
"start-local:webpack": "cross-env LOCAL_JUPYTER_SERVER=true webpack serve",
|
|
53
54
|
"start-local:jupyter-server": "cd ./../.. && make start-jupyter-server",
|
|
@@ -65,7 +66,7 @@
|
|
|
65
66
|
},
|
|
66
67
|
"dependencies": {
|
|
67
68
|
"@codemirror/lang-python": "^6.0.1",
|
|
68
|
-
"@datalayer/primer-addons": "^0.3.
|
|
69
|
+
"@datalayer/primer-addons": "^0.3.2",
|
|
69
70
|
"@jupyter-widgets/base": "^6.0.0",
|
|
70
71
|
"@jupyter-widgets/controls": "^5.0.0",
|
|
71
72
|
"@jupyter-widgets/html-manager": "^1.0.0",
|
|
@@ -131,7 +132,7 @@
|
|
|
131
132
|
"@jupyterlite/server": "^0.4.0",
|
|
132
133
|
"@jupyterlite/server-extension": "^0.4.0",
|
|
133
134
|
"@lumino/default-theme": "^2.0.0",
|
|
134
|
-
"@primer/react": "^36.
|
|
135
|
+
"@primer/react": "^36.27.0",
|
|
135
136
|
"assert": "^2.0.0",
|
|
136
137
|
"bufferutil": "^4.0.8",
|
|
137
138
|
"codemirror": "^6.0.1",
|