@datalayer/jupyter-react 0.0.9 → 0.0.12

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 (183) 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 +3 -2
  9. package/lib/components/cell/Cell.js +35 -28
  10. package/lib/components/cell/Cell.js.map +1 -1
  11. package/lib/components/cell/CellAdapter.d.ts +2 -1
  12. package/lib/components/cell/CellAdapter.js +11 -12
  13. package/lib/components/cell/CellAdapter.js.map +1 -1
  14. package/lib/components/cell/CellState.d.ts +1 -1
  15. package/lib/components/cell/CellState.js +11 -11
  16. package/lib/components/cell/CellState.js.map +1 -1
  17. package/lib/components/codemirror/CodeMirrorEditor.d.ts +14 -0
  18. package/lib/components/codemirror/CodeMirrorEditor.js +110 -0
  19. package/lib/components/codemirror/CodeMirrorEditor.js.map +1 -0
  20. package/lib/components/codemirror/CodeMirrorTheme.d.ts +3 -0
  21. package/lib/components/codemirror/CodeMirrorTheme.js +21 -0
  22. package/lib/components/codemirror/CodeMirrorTheme.js.map +1 -0
  23. package/lib/components/commands/Commands.d.ts +1 -1
  24. package/lib/components/commands/Commands.js +1 -1
  25. package/lib/components/commands/Commands.js.map +1 -1
  26. package/lib/components/commands/CommandsState.d.ts +1 -1
  27. package/lib/components/commands/CommandsState.js +7 -7
  28. package/lib/components/commands/CommandsState.js.map +1 -1
  29. package/lib/components/console/{ConsoleAdapter.css → Console.css} +4 -0
  30. package/lib/components/console/Console.d.ts +2 -1
  31. package/lib/components/console/Console.js +10 -4
  32. package/lib/components/console/Console.js.map +1 -1
  33. package/lib/components/console/ConsoleAdapter.d.ts +4 -2
  34. package/lib/components/console/ConsoleAdapter.js +63 -65
  35. package/lib/components/console/ConsoleAdapter.js.map +1 -1
  36. package/lib/components/console/ConsoleState.d.ts +1 -1
  37. package/lib/components/console/ConsoleState.js +8 -8
  38. package/lib/components/console/ConsoleState.js.map +1 -1
  39. package/lib/components/dialog/Dialog.d.ts +1 -1
  40. package/lib/components/dialog/Dialog.js +1 -1
  41. package/lib/components/dialog/Dialog.js.map +1 -1
  42. package/lib/components/filebrowser/FileBrowser.d.ts +1 -1
  43. package/lib/components/filebrowser/FileBrowser.js +1 -1
  44. package/lib/components/filebrowser/FileBrowser.js.map +1 -1
  45. package/lib/components/filebrowser/FileBrowserState.d.ts +1 -1
  46. package/lib/components/filebrowser/FileBrowserState.js +7 -7
  47. package/lib/components/filebrowser/FileBrowserState.js.map +1 -1
  48. package/lib/components/ipywidgets/IpyWidgetsComponent.d.ts +2 -2
  49. package/lib/components/ipywidgets/IpyWidgetsComponent.js +3 -3
  50. package/lib/components/ipywidgets/IpyWidgetsComponent.js.map +1 -1
  51. package/lib/components/notebook/Notebook.css +2 -26
  52. package/lib/components/notebook/Notebook.d.ts +17 -6
  53. package/lib/components/notebook/Notebook.js +111 -50
  54. package/lib/components/notebook/Notebook.js.map +1 -1
  55. package/lib/components/notebook/NotebookAdapter.d.ts +28 -16
  56. package/lib/components/notebook/NotebookAdapter.js +177 -70
  57. package/lib/components/notebook/NotebookAdapter.js.map +1 -1
  58. package/lib/components/notebook/NotebookCommands.d.ts +10 -5
  59. package/lib/components/notebook/NotebookCommands.js +228 -217
  60. package/lib/components/notebook/NotebookCommands.js.map +1 -1
  61. package/lib/components/notebook/NotebookState.d.ts +38 -18
  62. package/lib/components/notebook/NotebookState.js +104 -37
  63. package/lib/components/notebook/NotebookState.js.map +1 -1
  64. package/lib/components/notebook/cell/metadata/CellMetadataEditor.d.ts +7 -0
  65. package/lib/components/notebook/cell/metadata/CellMetadataEditor.js +43 -0
  66. package/lib/components/notebook/cell/metadata/CellMetadataEditor.js.map +1 -0
  67. package/lib/components/notebook/cell/metadata/NbGraderCells.d.ts +12 -0
  68. package/lib/components/notebook/cell/metadata/NbGraderCells.js +138 -0
  69. package/lib/components/notebook/cell/metadata/NbGraderCells.js.map +1 -0
  70. package/lib/components/notebook/{content/NotebookInputPrompt.d.ts → cell/prompt/InputPrompt.d.ts} +5 -8
  71. package/lib/components/notebook/{content/NotebookInputPrompt.js → cell/prompt/InputPrompt.js} +10 -8
  72. package/lib/components/notebook/cell/prompt/InputPrompt.js.map +1 -0
  73. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.d.ts +3 -0
  74. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js +63 -0
  75. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js.map +1 -0
  76. package/lib/components/notebook/cell/sidebar/CellSidebarRun.d.ts +3 -0
  77. package/lib/components/notebook/cell/sidebar/CellSidebarRun.js +38 -0
  78. package/lib/components/notebook/cell/sidebar/CellSidebarRun.js.map +1 -0
  79. package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.d.ts +19 -0
  80. package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.js +22 -0
  81. package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.js.map +1 -0
  82. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.d.ts +16 -0
  83. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js +25 -0
  84. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js.map +1 -0
  85. package/lib/components/notebook/{render → marked}/marked.d.ts +0 -0
  86. package/lib/components/notebook/{render → marked}/marked.js +3 -3
  87. package/lib/components/notebook/marked/marked.js.map +1 -0
  88. package/lib/components/notebook/model/CustomNotebookModelFactory.d.ts +9 -0
  89. package/lib/components/notebook/model/CustomNotebookModelFactory.js +14 -0
  90. package/lib/components/notebook/model/CustomNotebookModelFactory.js.map +1 -0
  91. package/lib/components/outputs/Output.css +8 -0
  92. package/lib/components/outputs/Output.d.ts +12 -3
  93. package/lib/components/outputs/Output.js +88 -18
  94. package/lib/components/outputs/Output.js.map +1 -1
  95. package/lib/components/outputs/OutputAdapter.d.ts +4 -5
  96. package/lib/components/outputs/OutputAdapter.js +19 -8
  97. package/lib/components/outputs/OutputAdapter.js.map +1 -1
  98. package/lib/components/outputs/OutputState.d.ts +51 -12
  99. package/lib/components/outputs/OutputState.js +109 -17
  100. package/lib/components/outputs/OutputState.js.map +1 -1
  101. package/lib/components/outputs/OutputToolbar.d.ts +12 -0
  102. package/lib/components/outputs/OutputToolbar.js +42 -0
  103. package/lib/components/outputs/OutputToolbar.js.map +1 -0
  104. package/lib/components/settings/Settings.d.ts +1 -1
  105. package/lib/components/settings/Settings.js +1 -1
  106. package/lib/components/settings/Settings.js.map +1 -1
  107. package/lib/components/settings/SettingsState.d.ts +1 -1
  108. package/lib/components/settings/SettingsState.js +7 -7
  109. package/lib/components/settings/SettingsState.js.map +1 -1
  110. package/lib/components/terminal/TerminalState.d.ts +1 -1
  111. package/lib/components/terminal/TerminalState.js +5 -5
  112. package/lib/components/terminal/TerminalState.js.map +1 -1
  113. package/lib/index.d.ts +42 -22
  114. package/lib/index.js +44 -22
  115. package/lib/index.js.map +1 -1
  116. package/lib/jupyter/Jupyter.d.ts +10 -2
  117. package/lib/jupyter/Jupyter.js +11 -16
  118. package/lib/jupyter/Jupyter.js.map +1 -1
  119. package/lib/jupyter/{AuthError.d.ts → JupyterAuthError.d.ts} +2 -2
  120. package/lib/jupyter/JupyterAuthError.js +8 -0
  121. package/lib/jupyter/JupyterAuthError.js.map +1 -0
  122. package/lib/jupyter/JupyterConfig.d.ts +2 -1
  123. package/lib/jupyter/JupyterConfig.js +35 -11
  124. package/lib/jupyter/JupyterConfig.js.map +1 -1
  125. package/lib/jupyter/JupyterContext.d.ts +6 -1
  126. package/lib/jupyter/JupyterContext.js +49 -15
  127. package/lib/jupyter/JupyterContext.js.map +1 -1
  128. package/lib/jupyter/{Handlers.d.ts → JupyterHandlers.d.ts} +1 -1
  129. package/lib/jupyter/{Handlers.js → JupyterHandlers.js} +4 -4
  130. package/lib/jupyter/JupyterHandlers.js.map +1 -0
  131. package/lib/jupyter/ipywidgets/IPyWidgetsAttached.d.ts +1 -1
  132. package/lib/jupyter/ipywidgets/IPyWidgetsAttached.js +2 -2
  133. package/lib/jupyter/ipywidgets/IpyWidgetsManager.d.ts +1 -1
  134. package/lib/jupyter/ipywidgets/IpyWidgetsManager.js +1 -1
  135. package/lib/jupyter/ipywidgets/IpyWidgetsManager.js.map +1 -1
  136. package/lib/jupyter/lite/LiteServer.d.ts +2 -0
  137. package/lib/jupyter/lite/LiteServer.js +87 -0
  138. package/lib/jupyter/lite/LiteServer.js.map +1 -0
  139. package/lib/jupyter/lumino/LuminoAttached.d.ts +2 -8
  140. package/lib/jupyter/lumino/LuminoAttached.js +17 -19
  141. package/lib/jupyter/lumino/LuminoAttached.js.map +1 -1
  142. package/lib/jupyter/lumino/LuminoDetached.d.ts +1 -1
  143. package/lib/jupyter/lumino/LuminoDetached.js +1 -1
  144. package/lib/jupyter/lumino/LuminoDetached.js.map +1 -1
  145. package/lib/jupyter/lumino/LuminoNotebook.d.ts +5 -0
  146. package/lib/jupyter/lumino/LuminoNotebook.js +28 -0
  147. package/lib/jupyter/lumino/LuminoNotebook.js.map +1 -0
  148. package/lib/jupyter/services/kernel/Kernel.js +4 -4
  149. package/lib/jupyter/services/kernel/Kernel.js.map +1 -1
  150. package/lib/state/State.d.ts +2 -2
  151. package/lib/state/State.js +4 -4
  152. package/lib/state/State.js.map +1 -1
  153. package/lib/state/Store.d.ts +3 -1
  154. package/lib/state/Store.js +19 -23
  155. package/lib/state/Store.js.map +1 -1
  156. package/lib/utils/Ids.d.ts +2 -0
  157. package/lib/utils/Ids.js +11 -0
  158. package/lib/utils/Ids.js.map +1 -0
  159. package/package.json +41 -39
  160. package/lib/components/editor/CodeMirrorEditor.d.ts +0 -7
  161. package/lib/components/editor/CodeMirrorEditor.js +0 -62
  162. package/lib/components/editor/CodeMirrorEditor.js.map +0 -1
  163. package/lib/components/filebrowser/FileBrowserTree.d.ts +0 -2
  164. package/lib/components/filebrowser/FileBrowserTree.js +0 -60
  165. package/lib/components/filebrowser/FileBrowserTree.js.map +0 -1
  166. package/lib/components/notebook/content/CellSidebar.d.ts +0 -8
  167. package/lib/components/notebook/content/CellSidebar.js +0 -23
  168. package/lib/components/notebook/content/CellSidebar.js.map +0 -1
  169. package/lib/components/notebook/content/ContentFactoryWithSidebar.d.ts +0 -14
  170. package/lib/components/notebook/content/ContentFactoryWithSidebar.js +0 -20
  171. package/lib/components/notebook/content/ContentFactoryWithSidebar.js.map +0 -1
  172. package/lib/components/notebook/content/NotebookInputPrompt.js.map +0 -1
  173. package/lib/components/notebook/render/marked.js.map +0 -1
  174. package/lib/components/outputs/OutputAdapter.css +0 -3
  175. package/lib/jupyter/AuthError.js +0 -8
  176. package/lib/jupyter/AuthError.js.map +0 -1
  177. package/lib/jupyter/Handlers.js.map +0 -1
  178. package/lib/state/init/Init.d.ts +0 -3
  179. package/lib/state/init/Init.js +0 -12
  180. package/lib/state/init/Init.js.map +0 -1
  181. package/lib/state/init/InitState.d.ts +0 -19
  182. package/lib/state/init/InitState.js +0 -48
  183. package/lib/state/init/InitState.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { PageConfig } from '@jupyterlab/coreutils';
2
+ import { ThemeProvider, BaseStyles } from "@primer/react";
3
3
  import { ErrorBoundary } from 'react-error-boundary';
4
- import injectableStore from '../state/Store';
5
4
  import { JupyterContextProvider } from './JupyterContext';
6
- import { loadJupyterConfig, getJupyterServerHttpUrl, getJupyterServerWsUrl, getJupyterToken } from './JupyterConfig';
5
+ import { getJupyterServerHttpUrl, getJupyterServerWsUrl, loadJupyterConfig } from './JupyterConfig';
6
+ import injectableStore from '../state/Store';
7
7
  /**
8
8
  * The component to be used as fallback in case of error.
9
9
  */
@@ -17,19 +17,14 @@ const ErrorFallback = ({ error, resetErrorBoundary }) => {
17
17
  * are available.
18
18
  */
19
19
  export const Jupyter = (props) => {
20
- loadJupyterConfig();
21
- const baseUrl = props.jupyterServerHttpUrl || getJupyterServerHttpUrl();
22
- PageConfig.setOption('baseUrl', baseUrl);
23
- PageConfig.setOption('collaborative', String(props.collaborative || false));
24
- PageConfig.setOption('mathjaxUrl', 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js');
25
- PageConfig.setOption('mathjaxConfig', 'TeX-AMS_CHTML-full,Safe');
26
- PageConfig.setOption('terminalsAvailable', String(props.terminals || false));
27
- PageConfig.setOption('token', props.jupyterToken || getJupyterToken());
28
- const wsUrl = props.jupyterServerWsUrl || getJupyterServerWsUrl();
29
- PageConfig.setOption('wsUrl', wsUrl);
30
- return (_jsx(ErrorBoundary, Object.assign({ FallbackComponent: ErrorFallback, onReset: () => {
31
- console.log('The reset button has been clicked...');
32
- } }, { children: _jsx(JupyterContextProvider, Object.assign({ variant: "default", baseUrl: baseUrl, wsUrl: wsUrl, injectableStore: props.injectableStore || injectableStore }, { children: props.children }), void 0) }), void 0));
20
+ const { lite } = props;
21
+ loadJupyterConfig(props);
22
+ return (_jsx(ErrorBoundary, Object.assign({ FallbackComponent: ErrorFallback }, { children: _jsx(ThemeProvider, { children: _jsx(BaseStyles, { children: _jsx(JupyterContextProvider, Object.assign({ lite: lite, baseUrl: getJupyterServerHttpUrl(), wsUrl: getJupyterServerWsUrl(), injectableStore: props.injectableStore || injectableStore, variant: "default" }, { children: props.children }), void 0) }, void 0) }, void 0) }), void 0));
23
+ };
24
+ Jupyter.defaultProps = {
25
+ lite: false,
26
+ collaborative: false,
27
+ terminals: false,
33
28
  };
34
29
  export default Jupyter;
35
30
  //# sourceMappingURL=Jupyter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,eAAe,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAiBrH;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,kBAAkB,EAAM,EAAE,EAAE;IACzD,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,iBACf,8DAAkC;YAClC,wBAAM,KAAK,CAAC,OAAO,WAAO,aAItB,CACP,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,iBAAiB,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,IAAI,uBAAuB,EAAE,CAAA;IACvE,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzC,UAAU,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC;IAC5E,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,iEAAiE,CAAC,CAAC;IACtG,UAAU,CAAC,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;IACjE,UAAU,CAAC,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7E,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,IAAI,qBAAqB,EAAE,CAAC;IAClE,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CACL,KAAC,aAAa,kBACZ,iBAAiB,EAAE,aAAa,EAChC,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC,gBAED,KAAC,sBAAsB,kBACrB,OAAO,EAAC,SAAS,EACjB,OAAO,EAAI,OAAO,EAClB,KAAK,EAAI,KAAK,EACd,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,eAAe,gBAEvD,KAAK,CAAC,QAAQ,YACO,YACX,CACjB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,eAAe,MAAM,gBAAgB,CAAC;AAkB7C;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,kBAAkB,EAAM,EAAE,EAAE;IACzD,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,iBACf,8DAAkC;YAClC,wBAAM,KAAK,CAAC,OAAO,WAAO,aAItB,CACP,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,CACL,KAAC,aAAa,kBACZ,iBAAiB,EAAE,aAAa,gBAGhC,KAAC,aAAa,cACZ,KAAC,UAAU,cACT,KAAC,sBAAsB,kBACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,EAAE,EAClC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,eAAe,EACzD,OAAO,EAAC,SAAS,gBAEf,KAAK,CAAC,QAAQ,YACO,WACd,WACC,YACF,CACjB,CAAA;AACH,CAAC,CAAA;AAED,OAAO,CAAC,YAAY,GAAG;IACrB,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED,eAAe,OAAO,CAAC"}
@@ -2,6 +2,6 @@
2
2
  * Error class in case of Authentication or
3
3
  * Authorization exception.
4
4
  */
5
- declare class AuthError extends Error {
5
+ declare class JupyterAuthError extends Error {
6
6
  }
7
- export default AuthError;
7
+ export default JupyterAuthError;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Error class in case of Authentication or
3
+ * Authorization exception.
4
+ */
5
+ class JupyterAuthError extends Error {
6
+ }
7
+ export default JupyterAuthError;
8
+ //# sourceMappingURL=JupyterAuthError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JupyterAuthError.js","sourceRoot":"","sources":["../../src/jupyter/JupyterAuthError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,gBAAiB,SAAQ,KAAK;CAAG;AAEvC,eAAe,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { JupyterProps } from './Jupyter';
1
2
  /**
2
3
  * Type of the Jupyter configuration.
3
4
  */
@@ -34,4 +35,4 @@ export declare const getJupyterToken: () => string;
34
35
  * Method to load the Jupyter configuration from the
35
36
  * host HTML page.
36
37
  */
37
- export declare const loadJupyterConfig: () => void;
38
+ export declare const loadJupyterConfig: (props: JupyterProps) => IJupyterConfig;
@@ -1,3 +1,4 @@
1
+ import { PageConfig } from '@jupyterlab/coreutils/lib/pageconfig';
1
2
  /**
2
3
  * The default Jupyter configuration.
3
4
  */
@@ -40,20 +41,43 @@ export const getJupyterToken = () => config.jupyterToken;
40
41
  * Method to load the Jupyter configuration from the
41
42
  * host HTML page.
42
43
  */
43
- export const loadJupyterConfig = () => {
44
- let config = Object.create({});
44
+ export const loadJupyterConfig = (props) => {
45
+ const { lite, jupyterServerHttpUrl, jupyterServerWsUrl, collaborative, terminals, jupyterToken } = props;
45
46
  const htmlConfig = document.getElementById('datalayer-config-data');
46
47
  if (htmlConfig) {
47
48
  config = JSON.parse(htmlConfig.textContent || '');
48
- if (config['jupyterServerHttpUrl']) {
49
- setJupyterServerHttpUrl(config['jupyterServerHttpUrl']);
50
- }
51
- if (config['jupyterServerWsUrl']) {
52
- setJupyterServerWsUrl(config['jupyterServerWsUrl']);
53
- }
54
- if (config['jupyterToken']) {
55
- setJupyterToken(config['jupyterToken']);
56
- }
57
49
  }
50
+ if (lite) {
51
+ setJupyterServerHttpUrl(location.protocol + '//' + location.host);
52
+ }
53
+ else if (config.jupyterServerHttpUrl) {
54
+ setJupyterServerHttpUrl(config.jupyterServerHttpUrl);
55
+ }
56
+ else {
57
+ setJupyterServerHttpUrl(jupyterServerHttpUrl || location.protocol + '//' + location.host + "/api/jupyter");
58
+ }
59
+ if (lite) {
60
+ setJupyterServerWsUrl(location.protocol === "https" ? "wss://" + location.host : "ws://" + location.host);
61
+ }
62
+ else if (config.jupyterServerWsUrl) {
63
+ setJupyterServerWsUrl(config.jupyterServerWsUrl);
64
+ }
65
+ else {
66
+ setJupyterServerWsUrl(jupyterServerWsUrl || location.protocol.replace('http', 'ws') + '//' + location.host + "/api/jupyter");
67
+ }
68
+ if (config.jupyterToken) {
69
+ setJupyterToken(config.jupyterToken);
70
+ }
71
+ else {
72
+ setJupyterToken(jupyterToken || '');
73
+ }
74
+ PageConfig.setOption('baseUrl', getJupyterServerHttpUrl());
75
+ PageConfig.setOption('wsUrl', getJupyterServerWsUrl());
76
+ PageConfig.setOption('token', getJupyterToken());
77
+ PageConfig.setOption('collaborative', String(collaborative || false));
78
+ PageConfig.setOption('terminalsAvailable', String(terminals || false));
79
+ PageConfig.setOption('mathjaxUrl', 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js');
80
+ PageConfig.setOption('mathjaxConfig', 'TeX-AMS_CHTML-full,Safe');
81
+ return config;
58
82
  };
59
83
  //# sourceMappingURL=JupyterConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JupyterConfig.js","sourceRoot":"","sources":["../../src/jupyter/JupyterConfig.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,IAAI,MAAM,GAAmB;IAC3B,oBAAoB,EAAE,EAAE;IACxB,kBAAkB,EAAE,EAAE;IACtB,YAAY,EAAE,EAAE;CACjB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,oBAA4B,EAAE,EAAE;IACtE,MAAM,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;AACrD,CAAC,CAAA;AACD;;GAEG;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;AAE1E;;GAEG;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,kBAA0B,EAAE,EAAE;IACnE,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AACjD,CAAC,CAAA;AACD;;GAEG;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC;AAEtE;;GAEG;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,EAAE;IACvD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;AACrC,CAAC,CAAA;AACD;;GAEG;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACpE,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAE/C,CAAA;QACD,IAAI,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAChC,uBAAuB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAAE;YAC9B,qBAAqB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;SACvD;QACD,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;YACxB,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;SAC3C;KACF;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"JupyterConfig.js","sourceRoot":"","sources":["../../src/jupyter/JupyterConfig.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import React from "react";
2
+ import { ServiceManager, ServerConnection } from '@jupyterlab/services';
2
3
  /**
3
4
  * The type for the Jupyter context.
4
5
  */
5
6
  export declare type JupyterContextType = {
7
+ lite: boolean;
8
+ serverSettings?: ServerConnection.ISettings;
9
+ serviceManager?: ServiceManager;
6
10
  variant: string;
7
11
  setVariant: (value: string) => void;
8
12
  baseUrl: string;
@@ -13,7 +17,7 @@ export declare type JupyterContextType = {
13
17
  * The instance for the Jupyter context.
14
18
  */
15
19
  export declare const JupyterContext: React.Context<JupyterContextType | undefined>;
16
- export declare function useJupyter(): JupyterContextType;
20
+ export declare const useJupyter: () => JupyterContextType;
17
21
  /**
18
22
  * The type for the Jupyter context consumer.
19
23
  */
@@ -28,6 +32,7 @@ export declare const ensureJupyterAuth: () => Promise<boolean>;
28
32
  */
29
33
  export declare const JupyterContextProvider: React.FC<{
30
34
  children: React.ReactNode;
35
+ lite: boolean;
31
36
  variant: string;
32
37
  baseUrl: string;
33
38
  wsUrl: string;
@@ -1,18 +1,20 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
2
  import { useState, useEffect, useContext, createContext } from "react";
3
3
  import { Provider as ReduxProvider } from "react-redux";
4
+ import { ServiceManager, ServerConnection } from '@jupyterlab/services';
4
5
  import { getJupyterServerHttpUrl } from './JupyterConfig';
5
- import { requestAPI } from './Handlers';
6
+ import { requestAPI } from './JupyterHandlers';
7
+ import { startLiteServer } from './../jupyter/lite/LiteServer';
6
8
  /**
7
9
  * The instance for the Jupyter context.
8
10
  */
9
11
  export const JupyterContext = createContext(undefined);
10
- export function useJupyter() {
12
+ export const useJupyter = () => {
11
13
  const context = useContext(JupyterContext);
12
14
  if (!context)
13
- throw new Error("useContext must be inside a Provider with a value.");
15
+ throw new Error("useContext must be inside a provider with a value.");
14
16
  return context;
15
- }
17
+ };
16
18
  /**
17
19
  * The type for the Jupyter context consumer.
18
20
  */
@@ -38,27 +40,59 @@ export const ensureJupyterAuth = () => {
38
40
  return false;
39
41
  });
40
42
  };
43
+ const headers = new Headers({
44
+ "Cache-Control": "no-cache, no-store, must-revalidate",
45
+ "Pragma": "no-cache",
46
+ "Expires": "0",
47
+ });
41
48
  /**
42
49
  * The Jupyter context provider.
43
50
  */
44
- export const JupyterContextProvider = ({ children, variant, baseUrl, wsUrl, injectableStore }) => {
45
- const [, setVariant] = useState('');
51
+ export const JupyterContextProvider = ({ children, lite, variant, baseUrl, wsUrl, injectableStore }) => {
52
+ const [_, setVariant] = useState('default');
53
+ const [serverSettings, setServerSettings] = useState();
54
+ const [serviceManager, setServiceManager] = useState();
46
55
  useEffect(() => {
47
- ensureJupyterAuth().then(isAuth => {
48
- if (!isAuth) {
49
- const loginUrl = getJupyterServerHttpUrl() + '/login?next=' + window.location;
50
- console.log('Redirecting to jupyter login url: ', loginUrl);
51
- window.location.replace(loginUrl);
52
- }
53
- });
56
+ if (lite) {
57
+ startLiteServer().then((serviceManager) => {
58
+ setServiceManager(serviceManager);
59
+ });
60
+ }
61
+ else {
62
+ ensureJupyterAuth().then(isAuth => {
63
+ if (isAuth) {
64
+ const serverSettings = ServerConnection.makeSettings({
65
+ baseUrl,
66
+ wsUrl,
67
+ appendToken: true,
68
+ init: {
69
+ credentials: "include",
70
+ mode: 'cors',
71
+ headers,
72
+ }
73
+ });
74
+ setServerSettings(serverSettings);
75
+ const serviceManager = new ServiceManager({ serverSettings });
76
+ setServiceManager(serviceManager);
77
+ }
78
+ else {
79
+ const loginUrl = getJupyterServerHttpUrl() + '/login?next=' + window.location;
80
+ console.warn('Redirecting to jupyter login url', loginUrl);
81
+ window.location.replace(loginUrl);
82
+ }
83
+ });
84
+ }
54
85
  setVariant(variant);
55
- }, [variant]);
86
+ }, [lite, variant]);
56
87
  return (_jsx(ReduxProvider, Object.assign({ store: injectableStore }, { children: _jsx(JupyterProvider, Object.assign({ value: {
88
+ lite,
89
+ serverSettings,
90
+ serviceManager,
57
91
  variant,
58
92
  setVariant,
59
93
  baseUrl,
60
94
  wsUrl,
61
- injectableStore
95
+ injectableStore,
62
96
  } }, { children: children }), void 0) }), void 0));
63
97
  };
64
98
  //# sourceMappingURL=JupyterContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAaxC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAEvF,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC,QAAQ,CAAC;AAE9D;;GAEG;AACF,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAqB,EAAE;IACtD,OAAO,UAAU,CACf,KAAK,EACL,EAAE,EACF;QACE,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,MAAM;KACb,CACF;SACA,IAAI,CAAC,IAAI,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAA;AAaD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAM9B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAuB,EAAE,EAAE;IACnF,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpC,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAChC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,QAAQ,GAAG,uBAAuB,EAAE,GAAG,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAA;gBAC7E,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACnC;QACH,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,CACL,KAAC,aAAa,kBAAC,KAAK,EAAE,eAAe,gBACnC,KAAC,eAAe,kBAAC,KAAK,EAAE;gBACtB,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,KAAK;gBACL,eAAe;aACd,gBACC,QAAQ,YACM,YACJ,CACjB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Call the API extension
2
+ * Call the Jupyter server API.
3
3
  *
4
4
  * @param endPoint API REST end point for the extension
5
5
  * @param init Initial values for the request
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { URLExt } from '@jupyterlab/coreutils';
11
11
  import { ServerConnection } from '@jupyterlab/services';
12
- import AuthError from './AuthError';
12
+ import JupyterAuthError from './JupyterAuthError';
13
13
  /**
14
- * Call the API extension
14
+ * Call the Jupyter server API.
15
15
  *
16
16
  * @param endPoint API REST end point for the extension
17
17
  * @param init Initial values for the request
@@ -26,7 +26,7 @@ export function requestAPI(namespace = '', endPoint = '', init = {}) {
26
26
  try {
27
27
  response = yield ServerConnection.makeRequest(requestUrl, init, settings);
28
28
  if (response.status === 403) {
29
- throw new AuthError();
29
+ throw new JupyterAuthError();
30
30
  }
31
31
  }
32
32
  catch (error) {
@@ -47,4 +47,4 @@ export function requestAPI(namespace = '', endPoint = '', init = {}) {
47
47
  return data;
48
48
  });
49
49
  }
50
- //# sourceMappingURL=Handlers.js.map
50
+ //# sourceMappingURL=JupyterHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JupyterHandlers.js","sourceRoot":"","sources":["../../src/jupyter/JupyterHandlers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAgB,UAAU,CAC9B,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,EAAE,EACb,OAAoB,EAAE;;QAEtB,mCAAmC;QACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,QAAQ,CAAC,OAAO,EAChB,SAAS,EACT,QAAQ,CACT,CAAC;QACF,IAAI,QAAkB,CAAC;QACvB,IAAI;YACF,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,MAAM,IAAI,gBAAgB,EAAE,CAAC;aAC9B;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAChD;QACD,IAAI,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;aACtD;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAAA"}
@@ -3,6 +3,6 @@
3
3
  * Widget being mounted in the React.js tree.
4
4
  */
5
5
  declare const IPyWidgetsAttached: (props: {
6
- widget: any;
6
+ Widget: any;
7
7
  }) => import("@emotion/react/jsx-runtime").JSX.Element;
8
8
  export default IPyWidgetsAttached;
@@ -4,10 +4,10 @@ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
4
4
  * Widget being mounted in the React.js tree.
5
5
  */
6
6
  const IPyWidgetsAttached = (props) => {
7
- const { widget } = props;
7
+ const { Widget } = props;
8
8
  return _jsx("div", { ref: ref => {
9
9
  if (ref) {
10
- new widget(ref);
10
+ new Widget(ref);
11
11
  }
12
12
  } }, void 0);
13
13
  };
@@ -1,6 +1,6 @@
1
1
  import { ManagerBase } from '@jupyter-widgets/base-manager';
2
2
  import '@jupyter-widgets/controls/css/widgets.css';
3
- declare class IpyWidgetManager extends ManagerBase {
3
+ export declare class IpyWidgetManager extends ManagerBase {
4
4
  private el;
5
5
  constructor(el: any);
6
6
  loadClass(className: string, moduleName: string, moduleVersion: string): Promise<any>;
@@ -12,7 +12,7 @@ import { ManagerBase } from '@jupyter-widgets/base-manager';
12
12
  import * as base from '@jupyter-widgets/base';
13
13
  import * as controls from '@jupyter-widgets/controls';
14
14
  import '@jupyter-widgets/controls/css/widgets.css';
15
- class IpyWidgetManager extends ManagerBase {
15
+ export class IpyWidgetManager extends ManagerBase {
16
16
  constructor(el) {
17
17
  super();
18
18
  this.el = el;
@@ -1 +1 @@
1
- {"version":3,"file":"IpyWidgetsManager.js","sourceRoot":"","sources":["../../../src/jupyter/ipywidgets/IpyWidgetsManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,2CAA2C,CAAC;AAEnD,MAAM,gBAAiB,SAAQ,WAAW;IAExC,YAAY,EAAO;QACjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACK,SAAS,CAAC,SAAiB,EAAE,UAAkB,EAAE,aAAqB;;YAC1E,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;gBAC1C,IAAI,UAAU,KAAK,2BAA2B,EAAE;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACnB;qBAAM,IAAI,UAAU,KAAK,uBAAuB,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,QAAQ,GAAG,UAAU,GAAQ;wBAC/B,IAAI,QAAQ,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,QAAQ,EAAE;4BACZ,OAAO,CAAC,GAAG,CACT,gCAAgC,UAAU,IAAI,aAAa,EAAE,CAC9D,CAAC;4BACD,MAAc,CAAC,OAAO,CACrB;gCACE,gCAAgC,UAAU,IAAI,aAAa,gBAAgB;6BAC5E,EACD,OAAO,EACP,MAAM,CACP,CAAC;yBACH;6BAAM;4BACL,MAAM,GAAG,CAAC;yBACX;oBACH,CAAC,CAAC;oBACD,MAAc,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;iBAClE;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;gBAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;oBACrB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;iBAC1B;qBAAM;oBACL,OAAO,OAAO,CAAC,MAAM,CACnB,SAAS,SAAS,wBAAwB,UAAU,IAAI,aAAa,EAAE,CACxE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACK,YAAY,CAAC,IAAS;;YAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;gBAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,cAAc;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,YAAY;QACV,OAAO,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"IpyWidgetsManager.js","sourceRoot":"","sources":["../../../src/jupyter/ipywidgets/IpyWidgetsManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,2CAA2C,CAAC;AAEnD,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAE/C,YAAY,EAAO;QACjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACK,SAAS,CAAC,SAAiB,EAAE,UAAkB,EAAE,aAAqB;;YAC1E,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;gBAC1C,IAAI,UAAU,KAAK,2BAA2B,EAAE;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACnB;qBAAM,IAAI,UAAU,KAAK,uBAAuB,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,QAAQ,GAAG,UAAU,GAAQ;wBAC/B,IAAI,QAAQ,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,QAAQ,EAAE;4BACZ,OAAO,CAAC,GAAG,CACT,gCAAgC,UAAU,IAAI,aAAa,EAAE,CAC9D,CAAC;4BACD,MAAc,CAAC,OAAO,CACrB;gCACE,gCAAgC,UAAU,IAAI,aAAa,gBAAgB;6BAC5E,EACD,OAAO,EACP,MAAM,CACP,CAAC;yBACH;6BAAM;4BACL,MAAM,GAAG,CAAC;yBACX;oBACH,CAAC,CAAC;oBACD,MAAc,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;iBAClE;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;gBAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;oBACrB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;iBAC1B;qBAAM;oBACL,OAAO,OAAO,CAAC,MAAM,CACnB,SAAS,SAAS,wBAAwB,UAAU,IAAI,aAAa,EAAE,CACxE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACK,YAAY,CAAC,IAAS;;YAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;gBAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,cAAc;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,YAAY;QACV,OAAO,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ServiceManager } from '@jupyterlab/services';
2
+ export declare function startLiteServer(): Promise<ServiceManager>;
@@ -0,0 +1,87 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { JupyterLiteServer } from '@jupyterlite/server';
11
+ import { PageConfig } from '@jupyterlab/coreutils';
12
+ const serverExtensions = [
13
+ // import('@jupyterlite/javascript-kernel-extension'),
14
+ import('@datalayer/jupyterlite-ipykernel-extension'),
15
+ import('@datalayer/jupyterlite-server-extension')
16
+ ];
17
+ // custom list of disabled plugins.
18
+ const disabled = [
19
+ '@jupyterlab/apputils-extension:workspaces',
20
+ '@jupyterlab/application-extension:logo',
21
+ '@jupyterlab/application-extension:main',
22
+ '@jupyterlab/application-extension:tree-resolver',
23
+ '@jupyterlab/apputils-extension:resolver',
24
+ '@jupyterlab/docmanager-extension:download',
25
+ '@jupyterlab/filebrowser-extension:download',
26
+ '@jupyterlab/filebrowser-extension:share-file',
27
+ '@jupyterlab/help-extension:about',
28
+ /*
29
+ '@jupyterlite/server-extension:contents',
30
+ '@jupyterlite/server-extension:contents-routes',
31
+ '@jupyterlite/server-extension:emscripten-filesystem',
32
+ '@jupyterlite/server-extension:licenses',
33
+ '@jupyterlite/server-extension:licenses-routes',
34
+ '@jupyterlite/server-extension:localforage-memory-storage',
35
+ '@jupyterlite/server-extension:localforage',
36
+ '@jupyterlite/server-extension:nbconvert-routes',
37
+ '@jupyterlite/server-extension:service-worker',
38
+ '@jupyterlite/server-extension:settings',
39
+ '@jupyterlite/server-extension:settings-routes',
40
+ '@jupyterlite/server-extension:translation',
41
+ '@jupyterlite/server-extension:translation-routes',
42
+ */
43
+ ];
44
+ export function startLiteServer() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const litePluginsToRegister = [];
47
+ /**
48
+ * Iterate over active plugins in an extension.
49
+ */
50
+ function* activePlugins(extension) {
51
+ // Handle commonjs or es2015 modules.
52
+ let exports;
53
+ if (extension.hasOwnProperty('__esModule')) {
54
+ exports = extension.default;
55
+ }
56
+ else {
57
+ // CommonJS exports.
58
+ exports = extension;
59
+ }
60
+ let plugins = Array.isArray(exports) ? exports : [exports];
61
+ for (let plugin of plugins) {
62
+ if (PageConfig.Extension.isDisabled(plugin.id) ||
63
+ disabled.includes(plugin.id) ||
64
+ disabled.includes(plugin.id.split(':')[0])) {
65
+ continue;
66
+ }
67
+ yield plugin;
68
+ }
69
+ }
70
+ // Add the base serverlite extensions.
71
+ const baseServerExtensions = yield Promise.all(serverExtensions);
72
+ baseServerExtensions.forEach(p => {
73
+ for (let plugin of activePlugins(p)) {
74
+ litePluginsToRegister.push(plugin);
75
+ }
76
+ });
77
+ // Create the in-browser JupyterLite Server.
78
+ const jupyterLiteServer = new JupyterLiteServer({});
79
+ jupyterLiteServer.registerPluginModules(litePluginsToRegister);
80
+ // Start the server.
81
+ yield jupyterLiteServer.start();
82
+ // Retrieve the custom service manager from the server app.
83
+ const { serviceManager } = jupyterLiteServer;
84
+ return serviceManager;
85
+ });
86
+ }
87
+ //# sourceMappingURL=LiteServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiteServer.js","sourceRoot":"","sources":["../../../src/jupyter/lite/LiteServer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,MAAM,gBAAgB,GAAG;IACzB,uDAAuD;IACrD,MAAM,CAAC,4CAA4C,CAAC;IACpD,MAAM,CAAC,yCAAyC,CAAC;CAClD,CAAC;AAEF,mCAAmC;AACnC,MAAM,QAAQ,GAAG;IACf,2CAA2C;IAC3C,wCAAwC;IACxC,wCAAwC;IACxC,iDAAiD;IACjD,yCAAyC;IACzC,2CAA2C;IAC3C,4CAA4C;IAC5C,8CAA8C;IAC9C,kCAAkC;IACpC;;;;;;;;;;;;;;MAcE;CACD,CAAC;AAEF,MAAM,UAAgB,eAAe;;QAEnC,MAAM,qBAAqB,GAAU,EAAE,CAAC;QAExC;;WAEG;QACH,QAAQ,CAAC,CAAC,aAAa,CAAC,SAAc;YACpC,qCAAqC;YACrC,IAAI,OAAO,CAAC;YACZ,IAAI,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;aAC7B;iBAAM;gBACL,oBAAoB;gBACpB,OAAO,GAAG,SAAS,CAAC;aACrB;YAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,IACE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C;oBACA,SAAS;iBACV;gBACD,MAAM,MAAM,CAAC;aACd;QACH,CAAC;QACD,sCAAsC;QACtC,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC/B,KAAK,IAAI,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;gBACnC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QACH,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,EAAS,CAAC,CAAC;QAC3D,iBAAiB,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAC/D,oBAAoB;QACpB,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAChC,2DAA2D;QAC3D,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC;QAC7C,OAAO,cAAc,CAAC;IACxB,CAAC;CAAA"}
@@ -1,9 +1,3 @@
1
- import React from 'react';
2
- /**
3
- * The LuminoAttached class allows to render a Lumino
4
- * Widget being mounted in the React.js tree.
5
- */
6
- declare class LuminoAttached extends React.Component<any> {
7
- render(): import("@emotion/react/jsx-runtime").JSX.Element;
8
- }
1
+ import { PropsWithChildren } from 'react';
2
+ export declare const LuminoAttached: (props: PropsWithChildren<any>) => import("@emotion/react/jsx-runtime").JSX.Element;
9
3
  export default LuminoAttached;
@@ -1,23 +1,21 @@
1
1
  import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import React from 'react';
2
+ import { useRef, useEffect } from 'react';
3
3
  import { Widget } from '@lumino/widgets';
4
- /**
5
- * The LuminoAttached class allows to render a Lumino
6
- * Widget being mounted in the React.js tree.
7
- */
8
- class LuminoAttached extends React.Component {
9
- render() {
10
- return _jsx("div", { ref: ref => {
11
- if (ref) {
12
- const widget = this.props.children;
13
- if (widget.isAttached) {
14
- // Widget is already attached, skipping...
15
- return;
16
- }
17
- Widget.attach(this.props.children, ref);
18
- }
19
- } }, void 0);
20
- }
21
- }
4
+ export const LuminoAttached = (props) => {
5
+ const ref = useRef(null);
6
+ const { children } = props;
7
+ useEffect(() => {
8
+ Widget.attach(children, ref.current);
9
+ return () => {
10
+ try {
11
+ Widget.detach(children);
12
+ }
13
+ catch (e) {
14
+ console.warn('Exception while detaching Lumino widget.', e);
15
+ }
16
+ };
17
+ }, []);
18
+ return _jsx("div", { ref: ref }, void 0);
19
+ };
22
20
  export default LuminoAttached;
23
21
  //# sourceMappingURL=LuminoAttached.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LuminoAttached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoAttached.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;GAGG;AACH,MAAM,cAAe,SAAQ,KAAK,CAAC,SAAc;IAC/C,MAAM;QACJ,OAAO,cAAK,GAAG,EAAE,GAAG,CAAC,EAAE;gBACrB,IAAI,GAAG,EAAE;oBACP,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAkB,CAAC;oBAC7C,IAAI,MAAM,CAAC,UAAU,EAAE;wBACrB,0CAA0C;wBAC1C,OAAO;qBACR;oBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAkB,EAAE,GAAkB,CAAC,CAAC;iBAClE;YACH,CAAC,WAAG,CAAC;IACP,CAAC;CACF;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"LuminoAttached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoAttached.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA6B,EAAE,EAAE;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,MAAM,CAAC,QAAe,EAAE,GAAG,CAAC,OAAQ,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,IAAI;gBACF,MAAM,CAAC,MAAM,CAAC,QAAe,CAAC,CAAC;aAChC;YAAC,OAAM,CAAC,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;aAC7D;QACH,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,cAAK,GAAG,EAAE,GAAG,WAAG,CAAA;AACzB,CAAC,CAAA;AAED,eAAe,cAAc,CAAC"}
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  * The LuminoDetached class allows to render a Lumino
4
4
  * Widget not being mounted in the React.js tree.
5
5
  */
6
- declare class LuminoDetached extends React.Component {
6
+ export declare class LuminoDetached extends React.Component {
7
7
  render(): import("@emotion/react/jsx-runtime").JSX.Element;
8
8
  }
9
9
  export default LuminoDetached;
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  * The LuminoDetached class allows to render a Lumino
5
5
  * Widget not being mounted in the React.js tree.
6
6
  */
7
- class LuminoDetached extends React.Component {
7
+ export class LuminoDetached extends React.Component {
8
8
  render() {
9
9
  return _jsx("div", { ref: ref => { } }, void 0);
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LuminoDetached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoDetached.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,MAAM,cAAe,SAAQ,KAAK,CAAC,SAAS;IAC1C,MAAM;QACJ,OAAO,cAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAE,CAAC,WAAQ,CAAC;IACrC,CAAC;CACF;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"LuminoDetached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoDetached.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAAS;IACjD,MAAM;QACJ,OAAO,cAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAE,CAAC,WAAQ,CAAC;IACrC,CAAC;CACF;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ import NotebookAdapter from "../../components/notebook/NotebookAdapter";
2
+ export declare const LuminoNotebook: (props: {
3
+ adapter: NotebookAdapter;
4
+ }) => import("@emotion/react/jsx-runtime").JSX.Element;
5
+ export default LuminoNotebook;
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import { useRef, useEffect } from 'react';
3
+ import { Widget } from '@lumino/widgets';
4
+ export const LuminoNotebook = (props) => {
5
+ const { adapter } = props;
6
+ const panel = adapter.panel;
7
+ const ref = useRef(null);
8
+ useEffect(() => {
9
+ if (!panel) {
10
+ return;
11
+ }
12
+ Widget.attach(panel, ref.current);
13
+ return () => {
14
+ if (panel.isAttached) {
15
+ try {
16
+ Widget.detach(panel);
17
+ }
18
+ catch (e) {
19
+ console.warn('Exception while detaching Lumino widget.', e);
20
+ }
21
+ }
22
+ adapter.dispose();
23
+ };
24
+ }, [adapter.uid]);
25
+ return _jsx("div", { ref: ref }, void 0);
26
+ };
27
+ export default LuminoNotebook;
28
+ //# sourceMappingURL=LuminoNotebook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LuminoNotebook.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoNotebook.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAkC,EAAE,EAAE;IACnE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,KAAK,CAAC,UAAU,EAAE;gBACpB,IAAI;oBACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACtB;gBAAC,OAAM,CAAC,EAAE;oBACT,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;iBAC7D;aACF;YACD,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClB,OAAO,cAAK,GAAG,EAAE,GAAG,WAAG,CAAA;AACzB,CAAC,CAAA;AAED,eAAe,cAAc,CAAC"}