@datalayer/jupyter-react 0.0.8 → 0.0.11

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.
Files changed (216) hide show
  1. package/lib/JupyterExample.d.ts +1 -0
  2. package/lib/JupyterExample.js +56 -0
  3. package/lib/JupyterExample.js.map +1 -0
  4. package/lib/JupyterLiteExample.d.ts +1 -0
  5. package/lib/JupyterLiteExample.js +10 -0
  6. package/lib/JupyterLiteExample.js.map +1 -0
  7. package/lib/components/cell/Cell.css +12 -3
  8. package/lib/components/cell/Cell.d.ts +16 -0
  9. package/lib/components/cell/Cell.js +56 -0
  10. package/lib/components/cell/Cell.js.map +1 -0
  11. package/lib/components/cell/CellAdapter.d.ts +15 -0
  12. package/lib/components/cell/CellAdapter.js +133 -0
  13. package/lib/components/cell/CellAdapter.js.map +1 -0
  14. package/lib/components/cell/CellCommands.d.ts +6 -0
  15. package/lib/components/cell/CellCommands.js +38 -0
  16. package/lib/components/cell/CellCommands.js.map +1 -0
  17. package/lib/components/cell/CellState.d.ts +22 -0
  18. package/lib/components/cell/CellState.js +46 -0
  19. package/lib/components/cell/CellState.js.map +1 -0
  20. package/lib/components/codemirror/CodeMirrorEditor.d.ts +14 -0
  21. package/lib/components/codemirror/CodeMirrorEditor.js +110 -0
  22. package/lib/components/codemirror/CodeMirrorEditor.js.map +1 -0
  23. package/lib/components/codemirror/CodeMirrorTheme.d.ts +3 -0
  24. package/lib/components/codemirror/CodeMirrorTheme.js +21 -0
  25. package/lib/components/codemirror/CodeMirrorTheme.js.map +1 -0
  26. package/lib/components/commands/Commands.d.ts +2 -0
  27. package/lib/components/commands/Commands.js +9 -0
  28. package/lib/components/commands/Commands.js.map +1 -0
  29. package/lib/components/commands/CommandsAdapter.d.ts +9 -0
  30. package/lib/components/commands/CommandsAdapter.js +36 -0
  31. package/lib/components/commands/CommandsAdapter.js.map +1 -0
  32. package/lib/components/commands/CommandsState.d.ts +15 -0
  33. package/lib/components/commands/CommandsState.js +30 -0
  34. package/lib/components/commands/CommandsState.js.map +1 -0
  35. package/lib/components/console/{ConsoleAdapter.css → Console.css} +4 -0
  36. package/lib/components/console/Console.d.ts +3 -0
  37. package/lib/components/console/Console.js +15 -0
  38. package/lib/components/console/Console.js.map +1 -0
  39. package/lib/components/console/ConsoleAdapter.d.ts +13 -0
  40. package/lib/components/console/ConsoleAdapter.js +84 -0
  41. package/lib/components/console/ConsoleAdapter.js.map +1 -0
  42. package/lib/components/console/ConsoleState.d.ts +15 -0
  43. package/lib/components/console/ConsoleState.js +30 -0
  44. package/lib/components/console/ConsoleState.js.map +1 -0
  45. package/lib/components/dialog/Dialog.d.ts +2 -0
  46. package/lib/components/dialog/Dialog.js +13 -0
  47. package/lib/components/dialog/Dialog.js.map +1 -0
  48. package/lib/components/dialog/DialogAdapter.d.ts +10 -0
  49. package/lib/components/dialog/DialogAdapter.js +19 -0
  50. package/lib/components/dialog/DialogAdapter.js.map +1 -0
  51. package/lib/components/filebrowser/FileBrowser.d.ts +2 -0
  52. package/lib/components/filebrowser/FileBrowser.js +9 -0
  53. package/lib/components/filebrowser/FileBrowser.js.map +1 -0
  54. package/lib/components/filebrowser/FileBrowserAdapter.d.ts +13 -0
  55. package/lib/components/filebrowser/FileBrowserAdapter.js +267 -0
  56. package/lib/components/filebrowser/FileBrowserAdapter.js.map +1 -0
  57. package/lib/components/filebrowser/FileBrowserState.d.ts +15 -0
  58. package/lib/components/filebrowser/FileBrowserState.js +30 -0
  59. package/lib/components/filebrowser/FileBrowserState.js.map +1 -0
  60. package/lib/components/ipywidgets/IpyWidgetsComponent.d.ts +5 -0
  61. package/lib/components/ipywidgets/IpyWidgetsComponent.js +9 -0
  62. package/lib/components/ipywidgets/IpyWidgetsComponent.js.map +1 -0
  63. package/lib/components/notebook/Notebook.css +2 -26
  64. package/lib/components/notebook/Notebook.d.ts +36 -0
  65. package/lib/components/notebook/Notebook.js +138 -0
  66. package/lib/components/notebook/Notebook.js.map +1 -0
  67. package/lib/components/notebook/NotebookAdapter.d.ts +38 -0
  68. package/lib/components/notebook/NotebookAdapter.js +301 -0
  69. package/lib/components/notebook/NotebookAdapter.js.map +1 -0
  70. package/lib/components/notebook/NotebookCommands.d.ts +43 -0
  71. package/lib/components/notebook/NotebookCommands.js +380 -0
  72. package/lib/components/notebook/NotebookCommands.js.map +1 -0
  73. package/lib/components/notebook/NotebookState.d.ts +69 -0
  74. package/lib/components/notebook/NotebookState.js +184 -0
  75. package/lib/components/notebook/NotebookState.js.map +1 -0
  76. package/lib/components/notebook/cell/metadata/CellMetadataEditor.d.ts +7 -0
  77. package/lib/components/notebook/cell/metadata/CellMetadataEditor.js +43 -0
  78. package/lib/components/notebook/cell/metadata/CellMetadataEditor.js.map +1 -0
  79. package/lib/components/notebook/cell/metadata/NbGraderCells.d.ts +12 -0
  80. package/lib/components/notebook/cell/metadata/NbGraderCells.js +138 -0
  81. package/lib/components/notebook/cell/metadata/NbGraderCells.js.map +1 -0
  82. package/lib/components/notebook/cell/prompt/InputPrompt.d.ts +18 -0
  83. package/lib/components/notebook/cell/prompt/InputPrompt.js +69 -0
  84. package/lib/components/notebook/cell/prompt/InputPrompt.js.map +1 -0
  85. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.d.ts +3 -0
  86. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js +63 -0
  87. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js.map +1 -0
  88. package/lib/components/notebook/cell/sidebar/CellSidebarRun.d.ts +3 -0
  89. package/lib/components/notebook/cell/sidebar/CellSidebarRun.js +38 -0
  90. package/lib/components/notebook/cell/sidebar/CellSidebarRun.js.map +1 -0
  91. package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.d.ts +19 -0
  92. package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.js +22 -0
  93. package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.js.map +1 -0
  94. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.d.ts +16 -0
  95. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js +25 -0
  96. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js.map +1 -0
  97. package/lib/components/notebook/marked/marked.d.ts +3 -0
  98. package/lib/components/notebook/marked/marked.js +72 -0
  99. package/lib/components/notebook/marked/marked.js.map +1 -0
  100. package/lib/components/notebook/model/CustomNotebookModelFactory.d.ts +9 -0
  101. package/lib/components/notebook/model/CustomNotebookModelFactory.js +14 -0
  102. package/lib/components/notebook/model/CustomNotebookModelFactory.js.map +1 -0
  103. package/lib/components/outputs/Output.css +8 -0
  104. package/lib/components/outputs/Output.d.ts +25 -0
  105. package/lib/components/outputs/Output.js +126 -0
  106. package/lib/components/outputs/Output.js.map +1 -0
  107. package/lib/components/outputs/OutputAdapter.d.ts +19 -0
  108. package/lib/components/outputs/OutputAdapter.js +81 -0
  109. package/lib/components/outputs/OutputAdapter.js.map +1 -0
  110. package/lib/components/outputs/OutputState.d.ts +54 -0
  111. package/lib/components/outputs/OutputState.js +122 -0
  112. package/lib/components/outputs/OutputState.js.map +1 -0
  113. package/lib/components/outputs/OutputToolbar.d.ts +12 -0
  114. package/lib/components/outputs/OutputToolbar.js +42 -0
  115. package/lib/components/outputs/OutputToolbar.js.map +1 -0
  116. package/lib/components/settings/Settings.d.ts +2 -0
  117. package/lib/components/settings/Settings.js +9 -0
  118. package/lib/components/settings/Settings.js.map +1 -0
  119. package/lib/components/settings/SettingsAdapter.d.ts +10 -0
  120. package/lib/components/settings/SettingsAdapter.js +16 -0
  121. package/lib/components/settings/SettingsAdapter.js.map +1 -0
  122. package/lib/components/settings/SettingsState.d.ts +15 -0
  123. package/lib/components/settings/SettingsState.js +30 -0
  124. package/lib/components/settings/SettingsState.js.map +1 -0
  125. package/lib/components/terminal/Terminal.d.ts +2 -0
  126. package/lib/components/terminal/Terminal.js +16 -0
  127. package/lib/components/terminal/Terminal.js.map +1 -0
  128. package/lib/components/terminal/TerminalAdapter.d.ts +13 -0
  129. package/lib/components/terminal/TerminalAdapter.js +28 -0
  130. package/lib/components/terminal/TerminalAdapter.js.map +1 -0
  131. package/lib/components/terminal/TerminalState.d.ts +15 -0
  132. package/lib/components/terminal/TerminalState.js +38 -0
  133. package/lib/components/terminal/TerminalState.js.map +1 -0
  134. package/lib/index.d.ts +43 -0
  135. package/lib/index.js +58 -0
  136. package/lib/index.js.map +1 -0
  137. package/lib/jupyter/Jupyter.d.ts +31 -0
  138. package/lib/jupyter/Jupyter.js +30 -0
  139. package/lib/jupyter/Jupyter.js.map +1 -0
  140. package/lib/jupyter/JupyterAuthError.d.ts +7 -0
  141. package/lib/jupyter/JupyterAuthError.js +8 -0
  142. package/lib/jupyter/JupyterAuthError.js.map +1 -0
  143. package/lib/jupyter/JupyterConfig.d.ts +38 -0
  144. package/lib/jupyter/JupyterConfig.js +83 -0
  145. package/lib/jupyter/JupyterConfig.js.map +1 -0
  146. package/lib/jupyter/JupyterContext.d.ts +39 -0
  147. package/lib/jupyter/JupyterContext.js +89 -0
  148. package/lib/jupyter/JupyterContext.js.map +1 -0
  149. package/lib/jupyter/JupyterHandlers.d.ts +8 -0
  150. package/lib/jupyter/JupyterHandlers.js +50 -0
  151. package/lib/jupyter/JupyterHandlers.js.map +1 -0
  152. package/lib/jupyter/ipywidgets/IPyWidgetsAttached.d.ts +8 -0
  153. package/lib/jupyter/ipywidgets/IPyWidgetsAttached.js +15 -0
  154. package/lib/jupyter/ipywidgets/IPyWidgetsAttached.js.map +1 -0
  155. package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.d.ts +18 -0
  156. package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.js +76 -0
  157. package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.js.map +1 -0
  158. package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.d.ts +15 -0
  159. package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.js +178 -0
  160. package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.js.map +1 -0
  161. package/lib/jupyter/ipywidgets/IpyWidgetsManager.d.ts +11 -0
  162. package/lib/jupyter/ipywidgets/IpyWidgetsManager.js +71 -0
  163. package/lib/jupyter/ipywidgets/IpyWidgetsManager.js.map +1 -0
  164. package/lib/jupyter/ipywidgets/plotly/Figure.d.ts +587 -0
  165. package/lib/jupyter/ipywidgets/plotly/Figure.js +1697 -0
  166. package/lib/jupyter/ipywidgets/plotly/Figure.js.map +1 -0
  167. package/lib/jupyter/ipywidgets/plotly/JupyterlabPlugin.d.ts +5 -0
  168. package/lib/jupyter/ipywidgets/plotly/JupyterlabPlugin.js +12 -0
  169. package/lib/jupyter/ipywidgets/plotly/JupyterlabPlugin.js.map +1 -0
  170. package/lib/jupyter/ipywidgets/plotly/Version.d.ts +8 -0
  171. package/lib/jupyter/ipywidgets/plotly/Version.js +16 -0
  172. package/lib/jupyter/ipywidgets/plotly/Version.js.map +1 -0
  173. package/lib/jupyter/ipywidgets/plotly/index.d.ts +2 -0
  174. package/lib/jupyter/ipywidgets/plotly/index.js +4 -0
  175. package/lib/jupyter/ipywidgets/plotly/index.js.map +1 -0
  176. package/lib/jupyter/lite/LiteServer.d.ts +2 -0
  177. package/lib/jupyter/lite/LiteServer.js +87 -0
  178. package/lib/jupyter/lite/LiteServer.js.map +1 -0
  179. package/lib/jupyter/lumino/LuminoAttached.d.ts +3 -0
  180. package/lib/jupyter/lumino/LuminoAttached.js +21 -0
  181. package/lib/jupyter/lumino/LuminoAttached.js.map +1 -0
  182. package/lib/jupyter/lumino/LuminoDetached.d.ts +9 -0
  183. package/lib/jupyter/lumino/LuminoDetached.js +13 -0
  184. package/lib/jupyter/lumino/LuminoDetached.js.map +1 -0
  185. package/lib/jupyter/lumino/LuminoNotebook.d.ts +5 -0
  186. package/lib/jupyter/lumino/LuminoNotebook.js +28 -0
  187. package/lib/jupyter/lumino/LuminoNotebook.js.map +1 -0
  188. package/lib/jupyter/lumino/LuminoObservable.d.ts +6 -0
  189. package/lib/jupyter/lumino/LuminoObservable.js +16 -0
  190. package/lib/jupyter/lumino/LuminoObservable.js.map +1 -0
  191. package/lib/jupyter/lumino/LuminoReactPortal.d.ts +180 -0
  192. package/lib/jupyter/lumino/LuminoReactPortal.js +195 -0
  193. package/lib/jupyter/lumino/LuminoReactPortal.js.map +1 -0
  194. package/lib/jupyter/lumino/LuminoRedux.d.ts +8 -0
  195. package/lib/jupyter/lumino/LuminoRedux.js +2 -0
  196. package/lib/jupyter/lumino/LuminoRedux.js.map +1 -0
  197. package/lib/jupyter/services/Services.d.ts +16 -0
  198. package/lib/jupyter/services/Services.js +41 -0
  199. package/lib/jupyter/services/Services.js.map +1 -0
  200. package/lib/jupyter/services/kernel/Kernel.d.ts +15 -0
  201. package/lib/jupyter/services/kernel/Kernel.js +65 -0
  202. package/lib/jupyter/services/kernel/Kernel.js.map +1 -0
  203. package/lib/jupyter/services/kernel/KernelModel.d.ts +18 -0
  204. package/lib/jupyter/services/kernel/KernelModel.js +52 -0
  205. package/lib/jupyter/services/kernel/KernelModel.js.map +1 -0
  206. package/lib/state/State.d.ts +14 -0
  207. package/lib/state/State.js +32 -0
  208. package/lib/state/State.js.map +1 -0
  209. package/lib/state/Store.d.ts +6 -0
  210. package/lib/state/Store.js +35 -0
  211. package/lib/state/Store.js.map +1 -0
  212. package/lib/utils/Ids.d.ts +2 -0
  213. package/lib/utils/Ids.js +11 -0
  214. package/lib/utils/Ids.js.map +1 -0
  215. package/package.json +41 -39
  216. package/lib/components/outputs/OutputAdapter.css +0 -3
@@ -0,0 +1,9 @@
1
+ import { INotebookModel, NotebookModelFactory } from "@jupyterlab/notebook";
2
+ import { IModelDB } from "@jupyterlab/observables";
3
+ export declare class CustomNotebookModelFactory extends NotebookModelFactory {
4
+ /** @override */
5
+ constructor(options: NotebookModelFactory.IOptions);
6
+ /** @override */
7
+ createNew(languagePreference?: string, modelDB?: IModelDB, isInitialized?: boolean): INotebookModel;
8
+ }
9
+ export default CustomNotebookModelFactory;
@@ -0,0 +1,14 @@
1
+ import { NotebookModelFactory } from "@jupyterlab/notebook";
2
+ export class CustomNotebookModelFactory extends NotebookModelFactory {
3
+ /** @override */
4
+ constructor(options) {
5
+ super(options);
6
+ }
7
+ /** @override */
8
+ createNew(languagePreference, modelDB, isInitialized) {
9
+ const model = super.createNew(languagePreference, modelDB, isInitialized);
10
+ return model;
11
+ }
12
+ }
13
+ export default CustomNotebookModelFactory;
14
+ //# sourceMappingURL=CustomNotebookModelFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomNotebookModelFactory.js","sourceRoot":"","sources":["../../../../src/components/notebook/model/CustomNotebookModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IAElE,gBAAgB;IAChB,YAAY,OAAsC;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,SAAS,CACP,kBAA2B,EAC3B,OAAkB,EAClB,aAAuB;QAEvB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ .jp-RenderedJSON {
2
+ height: auto;
3
+ }
4
+ /*
5
+ .jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
6
+ background: rgba(244, 67, 54, 0.28);
7
+ }
8
+ */
@@ -0,0 +1,25 @@
1
+ import * as nbformat from '@jupyterlab/nbformat';
2
+ import Kernel from './../../jupyter/services/kernel/Kernel';
3
+ import '@lumino/default-theme/style/index.css';
4
+ import './Output.css';
5
+ export declare type IOutputProps = {
6
+ initialOutput?: [nbformat.IOutput];
7
+ kernel: Kernel;
8
+ autoRun: boolean;
9
+ disableRun: boolean;
10
+ showEditor: boolean;
11
+ code: string;
12
+ codePre?: string;
13
+ clearTrigger: number;
14
+ sourceId: string;
15
+ receipt?: string;
16
+ store?: any;
17
+ executeTrigger: number;
18
+ toolbarPosition: 'up' | 'middle' | 'none';
19
+ insertText?: (payload?: any) => string;
20
+ };
21
+ export declare const Output: {
22
+ (props: IOutputProps): import("@emotion/react/jsx-runtime").JSX.Element;
23
+ defaultProps: Partial<IOutputProps>;
24
+ };
25
+ export default Output;
@@ -0,0 +1,126 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
+ import { useState, useMemo, useEffect } from 'react';
3
+ import { useDispatch } from 'react-redux';
4
+ import Stack from '@mui/material/Stack';
5
+ import LinearProgress from '@mui/material/LinearProgress';
6
+ import { OutputAreaModel } from '@jupyterlab/outputarea';
7
+ import OutputAdapter from './OutputAdapter';
8
+ import { selectExecute, outputActions, outputReducer } from './OutputState';
9
+ import LuminoAttached from './../../jupyter/lumino/LuminoAttached';
10
+ import CodeMirrorEditor from '././../codemirror/CodeMirrorEditor';
11
+ import injectableStore from '../../state/Store';
12
+ import '@lumino/default-theme/style/index.css';
13
+ /*
14
+ import "@jupyterlab/outputarea/style/index.css";
15
+ import '@jupyterlab/json-extension/style/index.css';
16
+ import "@jupyterlab/theme-light-extension/style/theme.css";
17
+ import "@@jupyter-widgets/base/css/index.css";
18
+ import "@jupyter-widgets/controls/css/widgets-base.css";
19
+ */
20
+ import './Output.css';
21
+ const KernelRunning = () => (_jsx(Stack, Object.assign({ sx: { width: '100%', color: 'grey.500' }, spacing: 2 }, { children: _jsx(LinearProgress, { color: "primary" }, void 0) }), void 0));
22
+ export const Output = (props) => {
23
+ const { initialOutput, autoRun, code, kernel, showEditor, clearTrigger, executeTrigger, sourceId, receipt, disableRun, insertText, toolbarPosition, codePre } = props;
24
+ const [kernelStatus, setKernelStatus] = useState('unknown');
25
+ const store = props.store || injectableStore;
26
+ useMemo(() => {
27
+ store.inject('outputs', outputReducer);
28
+ }, []);
29
+ const dispatch = useDispatch();
30
+ useEffect(() => {
31
+ kernel.getJupyterKernel().then((kernelConnection) => {
32
+ setKernelStatus(kernelConnection.status);
33
+ kernelConnection.statusChanged.connect((kernelConnection, status) => {
34
+ setKernelStatus(status);
35
+ });
36
+ });
37
+ return () => {
38
+ // kernel.getJupyterKernel().then(k => k.shutdown().then(() => console.log(`Kernel ${k.clientId} is terminated.`)));
39
+ };
40
+ }, []);
41
+ const [model] = useState(new OutputAreaModel({
42
+ trusted: true,
43
+ values: initialOutput,
44
+ }));
45
+ const outputAdapter = useMemo(() => {
46
+ const outputAdapter = new OutputAdapter(kernel.getJupyterKernel(), model, {});
47
+ if (receipt) {
48
+ outputAdapter.outputArea.model.changed.connect((sender, change) => {
49
+ if (change.type === 'add') {
50
+ change.newValues.map(val => {
51
+ if (val && val.data) {
52
+ // const out = val.data['application/vnd.jupyter.stdout'];
53
+ const out = val.data['text/html'];
54
+ if (out) {
55
+ if (out.indexOf(receipt) > -1) {
56
+ dispatch(outputActions.grade({
57
+ sourceId,
58
+ success: true,
59
+ }));
60
+ }
61
+ }
62
+ }
63
+ });
64
+ }
65
+ });
66
+ }
67
+ return outputAdapter;
68
+ }, [sourceId]);
69
+ const executeRequest = selectExecute(sourceId);
70
+ useEffect(() => {
71
+ if (executeRequest) {
72
+ outputAdapter.execute(executeRequest.source);
73
+ }
74
+ }, [executeRequest]);
75
+ useEffect(() => {
76
+ if (autoRun) {
77
+ outputAdapter.execute(code);
78
+ }
79
+ }, [executeTrigger]);
80
+ useEffect(() => {
81
+ if (showEditor) {
82
+ outputAdapter.clearOutput();
83
+ }
84
+ }, [clearTrigger]);
85
+ return (_jsxs(_Fragment, { children: [showEditor &&
86
+ _jsx("div", Object.assign({ css: {
87
+ '& .cm-editor': {
88
+ borderRadius: '5px',
89
+ },
90
+ } }, { children: _jsx(CodeMirrorEditor, { autoRun: autoRun, code: code, codePre: codePre, kernel: kernel, outputAdapter: outputAdapter, sourceId: sourceId, disableRun: disableRun, insertText: insertText, toolbarPosition: toolbarPosition }, void 0) }), void 0),
91
+ (kernelStatus !== 'idle') && _jsx(KernelRunning, {}, void 0),
92
+ _jsx("div", Object.assign({ css: {
93
+ '& .jp-OutputPrompt': {
94
+ display: 'none',
95
+ },
96
+ '& .jp-OutputArea': {
97
+ fontSize: '10px',
98
+ },
99
+ '& pre': {
100
+ fontSize: '12px',
101
+ wordBreak: 'break-all',
102
+ wordWrap: 'break-word',
103
+ whiteSpace: 'pre-wrap',
104
+ },
105
+ } }, { children: _jsx(LuminoAttached, { children: outputAdapter.panel }, void 0) }), void 0)] }, void 0));
106
+ };
107
+ Output.defaultProps = {
108
+ initialOutput: [
109
+ {
110
+ "output_type": "execute_result",
111
+ "data": {
112
+ "text/html": [
113
+ "<h3>I am the default output... 👉 Run the snippet to update me... 👀</h3>"
114
+ ]
115
+ },
116
+ "execution_count": 0,
117
+ "metadata": {},
118
+ }
119
+ ],
120
+ disableRun: false,
121
+ toolbarPosition: 'up',
122
+ executeTrigger: 0,
123
+ clearTrigger: 0,
124
+ };
125
+ export default Output;
126
+ //# sourceMappingURL=Output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../src/components/outputs/Output.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { OutputArea, OutputAreaModel } from '@jupyterlab/outputarea';
2
+ import { Kernel } from '@jupyterlab/services';
3
+ export declare class OutputAdapter {
4
+ private _kernelConnectionPromise?;
5
+ private _renderers;
6
+ private _outputArea;
7
+ private _msgLoading;
8
+ private _rendermime;
9
+ private _iPyWidgetsClassicManager;
10
+ constructor(kernel: Promise<Kernel.IKernelConnection>, model: OutputAreaModel, options?: any);
11
+ get outputArea(): OutputArea;
12
+ private renderCell;
13
+ execute(code: string): void;
14
+ interrupt(): void;
15
+ clearOutput(): void;
16
+ private render;
17
+ get panel(): OutputArea;
18
+ }
19
+ export default OutputAdapter;
@@ -0,0 +1,81 @@
1
+ import { OutputArea } from '@jupyterlab/outputarea';
2
+ import { RenderMimeRegistry, standardRendererFactories } from '@jupyterlab/rendermime';
3
+ import { rendererFactory as jsonRendererFactory } from '@jupyterlab/json-extension';
4
+ import { rendererFactory as javascriptRendererFactory } from '@jupyterlab/javascript-extension';
5
+ import { requireLoader } from "@jupyter-widgets/html-manager";
6
+ import { WIDGET_MIMETYPE, WidgetRenderer } from "@jupyter-widgets/html-manager/lib/output_renderers";
7
+ import { IPyWidgetsClassicManager } from "./../../jupyter/ipywidgets/IPyWidgetsClassicManager";
8
+ // import { activateWidgetExtension } from "./../../jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin";
9
+ // import { activatePlotlyWidgetExtension } from "./../../jupyter/ipywidgets/plotly/JupyterlabPlugin";
10
+ export class OutputAdapter {
11
+ constructor(kernel, model, options = {}) {
12
+ this._kernelConnectionPromise = kernel;
13
+ this._msgLoading = options.msgLoading || 'Loading...';
14
+ this._iPyWidgetsClassicManager = new IPyWidgetsClassicManager({ loader: requireLoader });
15
+ this._renderers = standardRendererFactories.filter(factory => factory.mimeTypes[0] !== 'text/javascript');
16
+ this._renderers.push(jsonRendererFactory);
17
+ this._renderers.push(javascriptRendererFactory);
18
+ this._rendermime = new RenderMimeRegistry({
19
+ initialFactories: this._renderers,
20
+ });
21
+ this._outputArea = new OutputArea({
22
+ model: model,
23
+ rendermime: this._rendermime,
24
+ });
25
+ this._rendermime.addFactory({
26
+ safe: false,
27
+ mimeTypes: [WIDGET_MIMETYPE],
28
+ createRenderer: (options) => new WidgetRenderer(options, this._iPyWidgetsClassicManager),
29
+ }, 0);
30
+ // const widgetRegistry = activateWidgetExtension(this._rendermime, null, null, null);
31
+ // activatePlotlyWidgetExtension(widgetRegistry);
32
+ if (this._kernelConnectionPromise) {
33
+ this._kernelConnectionPromise.then((kernelConnection) => {
34
+ this._iPyWidgetsClassicManager.registerWithKernel(kernelConnection);
35
+ });
36
+ }
37
+ if (!options.noAutoInit) {
38
+ this.renderCell(model);
39
+ }
40
+ }
41
+ get outputArea() {
42
+ return this._outputArea;
43
+ }
44
+ renderCell(model) {
45
+ this._outputArea = new OutputArea({
46
+ model: model,
47
+ rendermime: this._rendermime,
48
+ });
49
+ }
50
+ execute(code) {
51
+ if (this._kernelConnectionPromise) {
52
+ this._outputArea.model.clear();
53
+ this.render(code);
54
+ return;
55
+ }
56
+ }
57
+ interrupt() {
58
+ this._kernelConnectionPromise.then((kernelConnection) => {
59
+ kernelConnection.interrupt();
60
+ });
61
+ }
62
+ clearOutput() {
63
+ this._outputArea.model.clear();
64
+ }
65
+ render(code) {
66
+ this._kernelConnectionPromise.then((kernelConnection) => {
67
+ this._outputArea.future = kernelConnection.requestExecute({ code });
68
+ });
69
+ this._outputArea.model.add({
70
+ output_type: 'stream',
71
+ name: 'loading',
72
+ text: this._msgLoading,
73
+ });
74
+ this._outputArea.model.clear(true);
75
+ }
76
+ get panel() {
77
+ return this._outputArea;
78
+ }
79
+ }
80
+ export default OutputAdapter;
81
+ //# sourceMappingURL=OutputAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputAdapter.js","sourceRoot":"","sources":["../../../src/components/outputs/OutputAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ declare namespace OutputState {
2
+ type ISource = {
3
+ sourceId: string;
4
+ source: string;
5
+ increment?: number;
6
+ };
7
+ type IDataset = {
8
+ sourceId: string;
9
+ dataset: any;
10
+ increment?: number;
11
+ };
12
+ type IExecute = {
13
+ sourceId: string;
14
+ source: string;
15
+ increment?: number;
16
+ };
17
+ type IGrade = {
18
+ sourceId: string;
19
+ success: boolean;
20
+ increment?: number;
21
+ };
22
+ }
23
+ export declare type IOutputState = {
24
+ source?: OutputState.ISource;
25
+ dataset?: OutputState.IDataset;
26
+ setSource?: OutputState.ISource;
27
+ execute?: OutputState.IExecute;
28
+ grade?: OutputState.IGrade;
29
+ };
30
+ export interface IOutputsState {
31
+ outputs: Map<string, IOutputState>;
32
+ }
33
+ export declare const outputInitialState: IOutputsState;
34
+ export declare const selectJupyterSource: (id: string) => OutputState.ISource | undefined;
35
+ export declare const selectJupyterSetSource: (id: string) => OutputState.ISource | undefined;
36
+ export declare const selectDataset: (id: string) => OutputState.IDataset | undefined;
37
+ export declare const selectExecute: (id: string) => OutputState.IExecute | undefined;
38
+ export declare const selectGrade: (id: string) => OutputState.IGrade | undefined;
39
+ export declare enum OutputActionType {
40
+ SOURCE = "output/SOURCE",
41
+ DATASET = "output/DATASET",
42
+ EXECUTE = "output/EXECUTE",
43
+ SET_SOURCE = "output/SET_SOURCE",
44
+ GRADE = "output/GRADE"
45
+ }
46
+ export declare const outputActions: {
47
+ source: import("typescript-fsa").ActionCreator<OutputState.ISource>;
48
+ dataset: import("typescript-fsa").ActionCreator<OutputState.IDataset>;
49
+ execute: import("typescript-fsa").ActionCreator<OutputState.IExecute>;
50
+ setSource: import("typescript-fsa").ActionCreator<OutputState.IExecute>;
51
+ grade: import("typescript-fsa").ActionCreator<OutputState.IGrade>;
52
+ };
53
+ export declare const outputReducer: import("typescript-fsa-reducers").ReducerBuilder<IOutputsState, IOutputsState>;
54
+ export {};
@@ -0,0 +1,122 @@
1
+ import { useSelector } from "react-redux";
2
+ import actionCreatorFactory from "typescript-fsa";
3
+ import { reducerWithInitialState } from "typescript-fsa-reducers";
4
+ export const outputInitialState = {
5
+ outputs: new Map(),
6
+ };
7
+ /* Selectors */
8
+ export const selectJupyterSource = (id) => useSelector((state) => {
9
+ var _a;
10
+ if (state.outputs) {
11
+ return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.source;
12
+ }
13
+ return undefined;
14
+ });
15
+ export const selectJupyterSetSource = (id) => useSelector((state) => {
16
+ var _a;
17
+ if (state.outputs) {
18
+ return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.setSource;
19
+ }
20
+ return undefined;
21
+ });
22
+ export const selectDataset = (id) => useSelector((state) => {
23
+ var _a;
24
+ if (state.outputs) {
25
+ return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.dataset;
26
+ }
27
+ return undefined;
28
+ });
29
+ export const selectExecute = (id) => useSelector((state) => {
30
+ var _a;
31
+ if (state.outputs) {
32
+ return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.execute;
33
+ }
34
+ return undefined;
35
+ });
36
+ export const selectGrade = (id) => useSelector((state) => {
37
+ var _a;
38
+ if (state.outputs) {
39
+ return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.grade;
40
+ }
41
+ return undefined;
42
+ });
43
+ /* Actions */
44
+ export var OutputActionType;
45
+ (function (OutputActionType) {
46
+ OutputActionType["SOURCE"] = "output/SOURCE";
47
+ OutputActionType["DATASET"] = "output/DATASET";
48
+ OutputActionType["EXECUTE"] = "output/EXECUTE";
49
+ OutputActionType["SET_SOURCE"] = "output/SET_SOURCE";
50
+ OutputActionType["GRADE"] = "output/GRADE";
51
+ })(OutputActionType || (OutputActionType = {}));
52
+ const actionCreator = actionCreatorFactory('jupyterOutput');
53
+ export const outputActions = {
54
+ source: actionCreator(OutputActionType.SOURCE),
55
+ dataset: actionCreator(OutputActionType.DATASET),
56
+ execute: actionCreator(OutputActionType.EXECUTE),
57
+ setSource: actionCreator(OutputActionType.SET_SOURCE),
58
+ grade: actionCreator(OutputActionType.GRADE),
59
+ };
60
+ /* Reducers */
61
+ export const outputReducer = reducerWithInitialState(outputInitialState)
62
+ .case(outputActions.source, (state, source) => {
63
+ const sourceId = source.sourceId;
64
+ const outputs = state.outputs;
65
+ const s = outputs.get(sourceId);
66
+ if (s) {
67
+ s.source = source;
68
+ }
69
+ else {
70
+ outputs.set(sourceId, { source });
71
+ }
72
+ return Object.assign(Object.assign({}, state), { outputs });
73
+ })
74
+ .case(outputActions.dataset, (state, dataset) => {
75
+ const sourceId = dataset.sourceId;
76
+ const outputs = state.outputs;
77
+ const d = outputs.get(dataset.sourceId);
78
+ if (d) {
79
+ d.dataset = dataset;
80
+ }
81
+ else {
82
+ outputs.set(sourceId, { dataset });
83
+ }
84
+ return Object.assign(Object.assign({}, state), { outputs });
85
+ })
86
+ .case(outputActions.execute, (state, execute) => {
87
+ const sourceId = execute.sourceId;
88
+ const outputs = state.outputs;
89
+ const e = outputs.get(sourceId);
90
+ if (e) {
91
+ e.execute = execute;
92
+ }
93
+ else {
94
+ outputs.set(sourceId, { execute });
95
+ }
96
+ return Object.assign(Object.assign({}, state), { outputs });
97
+ })
98
+ .case(outputActions.setSource, (state, setSource) => {
99
+ const sourceId = setSource.sourceId;
100
+ const outputs = state.outputs;
101
+ const s = outputs.get(sourceId);
102
+ if (s) {
103
+ s.setSource = setSource;
104
+ }
105
+ else {
106
+ outputs.set(sourceId, { setSource });
107
+ }
108
+ return Object.assign(Object.assign({}, state), { outputs });
109
+ })
110
+ .case(outputActions.grade, (state, grade) => {
111
+ const sourceId = grade.sourceId;
112
+ const outputs = state.outputs;
113
+ const g = outputs.get(sourceId);
114
+ if (g) {
115
+ g.grade = grade;
116
+ }
117
+ else {
118
+ outputs.set(sourceId, { grade });
119
+ }
120
+ return Object.assign(Object.assign({}, state), { outputs });
121
+ });
122
+ //# sourceMappingURL=OutputState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputState.js","sourceRoot":"","sources":["../../../src/components/outputs/OutputState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { EditorView } from 'codemirror';
2
+ import OutputAdapter from './OutputAdapter';
3
+ import Kernel from './../../jupyter/services/kernel/Kernel';
4
+ declare type Props = {
5
+ editorView?: EditorView;
6
+ codePre?: string;
7
+ kernel: Kernel;
8
+ outputAdapter: OutputAdapter;
9
+ executeCode: (editorView?: EditorView, code?: string) => void;
10
+ };
11
+ export declare const OutputToolbar: (props: Props) => import("@emotion/react/jsx-runtime").JSX.Element;
12
+ export default OutputToolbar;
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
+ import { useEffect, useState, useMemo } from 'react';
3
+ import { useTheme, ActionMenu, ActionList, IconButton, Box } from '@primer/react';
4
+ import { KebabHorizontalIcon, ArrowRightIcon, StopIcon, PaintbrushIcon } from '@primer/octicons-react';
5
+ const OutputToolbarMenu = (props) => {
6
+ const { executeCode, outputAdapter, editorView } = props;
7
+ return (_jsxs(ActionMenu, { children: [_jsx(ActionMenu.Anchor, { children: _jsx(IconButton, { icon: KebabHorizontalIcon, variant: "invisible" }, void 0) }, void 0),
8
+ _jsx(ActionMenu.Overlay, { children: _jsxs(ActionList, { children: [_jsxs(ActionList.Item, Object.assign({ onSelect: e => { e.preventDefault(); executeCode(editorView); } }, { children: [_jsx(ActionList.LeadingVisual, { children: _jsx(ArrowRightIcon, {}, void 0) }, void 0),
9
+ _jsx(ActionList.TrailingVisual, { children: "\u21E7 \u21B5" }, void 0), "Run code"] }), void 0),
10
+ _jsxs(ActionList.Item, Object.assign({ onSelect: e => { e.preventDefault(); outputAdapter.interrupt(); } }, { children: [_jsx(ActionList.LeadingVisual, { children: _jsx(StopIcon, {}, void 0) }, void 0), "Interrupt kernel"] }), void 0),
11
+ _jsxs(ActionList.Item, Object.assign({ variant: "danger", onClick: e => { e.preventDefault(); outputAdapter.clearOutput(); } }, { children: [_jsx(ActionList.LeadingVisual, { children: _jsx(PaintbrushIcon, {}, void 0) }, void 0), "Clear outputs"] }), void 0)] }, void 0) }, void 0)] }, void 0));
12
+ };
13
+ const KernelStatus = ({ color }) => (_jsx(Box, { sx: { backgroundColor: color, width: '14px', height: '14px', borderRadius: 3 } }, void 0));
14
+ export const OutputToolbar = (props) => {
15
+ const { executeCode, editorView, kernel, codePre } = props;
16
+ const { theme } = useTheme();
17
+ const okColor = useMemo(() => theme === null || theme === void 0 ? void 0 : theme.colorSchemes.light.colors.success.muted, []);
18
+ const nokColor = useMemo(() => theme === null || theme === void 0 ? void 0 : theme.colorSchemes.light.colors.severe.muted, []);
19
+ const [kernelStatus, setKernelStatus] = useState('unknown');
20
+ useEffect(() => {
21
+ kernel.getJupyterKernel().then((kernelConnection) => {
22
+ if (codePre) {
23
+ executeCode(editorView, codePre);
24
+ }
25
+ setKernelStatus(kernelConnection.status);
26
+ kernelConnection.statusChanged.connect((kernelConnection, status) => {
27
+ setKernelStatus(status);
28
+ });
29
+ });
30
+ }, []);
31
+ const getKernelStatusColor = (status) => {
32
+ if (status === "idle") {
33
+ return okColor;
34
+ }
35
+ return nokColor;
36
+ };
37
+ return (_jsxs(Box, Object.assign({ display: "flex" }, { children: [_jsx(Box, { flexGrow: 1 }, void 0),
38
+ _jsx(Box, Object.assign({ sx: { paddingTop: '6px' } }, { children: _jsx(KernelStatus, { color: getKernelStatusColor(kernelStatus) }, void 0) }), void 0),
39
+ _jsx(Box, { children: _jsx(OutputToolbarMenu, Object.assign({}, props), void 0) }, void 0)] }), void 0));
40
+ };
41
+ export default OutputToolbar;
42
+ //# sourceMappingURL=OutputToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputToolbar.js","sourceRoot":"","sources":["../../../src/components/outputs/OutputToolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const Settings: () => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export default Settings;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
2
+ import SettingsAdapter from './SettingsAdapter';
3
+ import LuminoAttached from '../../jupyter/lumino/LuminoAttached';
4
+ export const Settings = () => {
5
+ const settingsAdapter = new SettingsAdapter();
6
+ return _jsx(_Fragment, { children: _jsx(LuminoAttached, { children: settingsAdapter.panel }, void 0) }, void 0);
7
+ };
8
+ export default Settings;
9
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../../src/components/settings/Settings.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,OAAO,4BACL,KAAC,cAAc,cAAE,eAAe,CAAC,KAAK,WAAkB,WACvD,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { DockPanel } from '@lumino/widgets';
2
+ import '@jupyterlab/theme-light-extension/style/theme.css';
3
+ import '@jupyterlab/theme-light-extension/style/variables.css';
4
+ import './SettingsAdapter.css';
5
+ declare class SettingsAdapter {
6
+ private settingsPanel;
7
+ constructor();
8
+ get panel(): DockPanel;
9
+ }
10
+ export default SettingsAdapter;
@@ -0,0 +1,16 @@
1
+ import { DockPanel } from '@lumino/widgets';
2
+ import '@jupyterlab/theme-light-extension/style/theme.css';
3
+ import '@jupyterlab/theme-light-extension/style/variables.css';
4
+ import './SettingsAdapter.css';
5
+ class SettingsAdapter {
6
+ constructor() {
7
+ this.settingsPanel = new DockPanel();
8
+ this.settingsPanel.id = 'dla-jlab-settings';
9
+ this.settingsPanel.spacing = 0;
10
+ }
11
+ get panel() {
12
+ return this.settingsPanel;
13
+ }
14
+ }
15
+ export default SettingsAdapter;
16
+ //# sourceMappingURL=SettingsAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsAdapter.js","sourceRoot":"","sources":["../../../src/components/settings/SettingsAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,mDAAmD,CAAC;AAC3D,OAAO,uDAAuD,CAAC;AAE/D,OAAO,uBAAuB,CAAC;AAE/B,MAAM,eAAe;IAGnB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,mBAAmB,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CAEF;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare type ISettings = number;
2
+ export interface ISettingsState {
3
+ outputs: ISettings;
4
+ }
5
+ export declare const settingsInitialState: ISettingsState;
6
+ export declare const selectSettings: () => ISettingsState;
7
+ export declare enum SettingsActionType {
8
+ OUTPUTS = "settings/OUTPUTS",
9
+ EXECUTE = "settings/EXECUTE"
10
+ }
11
+ export declare const settingsActions: {
12
+ outputs: import("typescript-fsa").ActionCreator<number>;
13
+ execute: import("typescript-fsa").ActionCreator<void>;
14
+ };
15
+ export declare const settingsReducer: import("typescript-fsa-reducers").ReducerBuilder<ISettingsState, ISettingsState>;