@datalayer/jupyter-react 0.19.3 → 0.19.5

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 (168) hide show
  1. package/lib/app/tabs/components/NotebookComponent.js +3 -2
  2. package/lib/app/tabs/components/NotebookComponent.js.map +1 -1
  3. package/lib/components/cell/CellCommands.d.ts +1 -1
  4. package/lib/components/cell/CellCommands.js +7 -7
  5. package/lib/components/cell/CellCommands.js.map +1 -1
  6. package/lib/components/notebook/BaseNotebook.d.ts +148 -0
  7. package/lib/components/notebook/BaseNotebook.js +732 -0
  8. package/lib/components/notebook/BaseNotebook.js.map +1 -0
  9. package/lib/components/notebook/Notebook.css +13 -0
  10. package/lib/components/notebook/Notebook.d.ts +14 -16
  11. package/lib/components/notebook/Notebook.js +143 -65
  12. package/lib/components/notebook/Notebook.js.map +1 -1
  13. package/lib/components/notebook/NotebookAdapter.d.ts +7 -9
  14. package/lib/components/notebook/NotebookAdapter.js +18 -22
  15. package/lib/components/notebook/NotebookAdapter.js.map +1 -1
  16. package/lib/components/notebook/NotebookCommands.d.ts +14 -4
  17. package/lib/components/notebook/NotebookCommands.js +230 -156
  18. package/lib/components/notebook/NotebookCommands.js.map +1 -1
  19. package/lib/components/notebook/NotebookState.js +6 -6
  20. package/lib/components/notebook/NotebookState.js.map +1 -1
  21. package/lib/components/notebook/SimpleNotebook.d.ts +40 -0
  22. package/lib/components/notebook/SimpleNotebook.js +73 -0
  23. package/lib/components/notebook/SimpleNotebook.js.map +1 -0
  24. package/lib/components/notebook/cell/metadata/CellMetadataEditor.d.ts +14 -6
  25. package/lib/components/notebook/cell/metadata/CellMetadataEditor.js +35 -37
  26. package/lib/components/notebook/cell/metadata/CellMetadataEditor.js.map +1 -1
  27. package/lib/components/notebook/cell/metadata/NbGraderCells.d.ts +2 -2
  28. package/lib/components/notebook/cell/metadata/NbGraderCells.js +2 -2
  29. package/lib/components/notebook/cell/metadata/NbGraderCells.js.map +1 -1
  30. package/lib/components/notebook/cell/sidebar/CellSidebar.d.ts +28 -2
  31. package/lib/components/notebook/cell/sidebar/CellSidebar.js +64 -78
  32. package/lib/components/notebook/cell/sidebar/CellSidebar.js.map +1 -1
  33. package/lib/components/notebook/cell/sidebar/CellSidebarButton.d.ts +3 -2
  34. package/lib/components/notebook/cell/sidebar/CellSidebarButton.js +57 -72
  35. package/lib/components/notebook/cell/sidebar/CellSidebarButton.js.map +1 -1
  36. package/lib/components/notebook/cell/sidebar/CellSidebarRun.d.ts +3 -2
  37. package/lib/components/notebook/cell/sidebar/CellSidebarRun.js +14 -29
  38. package/lib/components/notebook/cell/sidebar/CellSidebarRun.js.map +1 -1
  39. package/lib/components/notebook/cell/sidebar/extension.d.ts +31 -0
  40. package/lib/components/notebook/cell/sidebar/extension.js +121 -0
  41. package/lib/components/notebook/cell/sidebar/extension.js.map +1 -0
  42. package/lib/components/notebook/cell/sidebar/index.d.ts +1 -1
  43. package/lib/components/notebook/cell/sidebar/index.js +1 -1
  44. package/lib/components/notebook/cell/sidebar/index.js.map +1 -1
  45. package/lib/components/notebook/content/JupyterReactContentFactory.d.ts +1 -12
  46. package/lib/components/notebook/content/JupyterReactContentFactory.js +4 -22
  47. package/lib/components/notebook/content/JupyterReactContentFactory.js.map +1 -1
  48. package/lib/components/notebook/index.d.ts +2 -0
  49. package/lib/components/notebook/index.js +2 -0
  50. package/lib/components/notebook/index.js.map +1 -1
  51. package/lib/components/utils/Loader.d.ts +4 -0
  52. package/lib/components/utils/Loader.js +23 -0
  53. package/lib/components/utils/Loader.js.map +1 -0
  54. package/lib/components/utils/SpinnerCentered.d.ts +2 -1
  55. package/lib/components/utils/SpinnerCentered.js +2 -2
  56. package/lib/components/utils/SpinnerCentered.js.map +1 -1
  57. package/lib/components/utils/index.d.ts +1 -0
  58. package/lib/components/utils/index.js +1 -0
  59. package/lib/components/utils/index.js.map +1 -1
  60. package/lib/examples/Bokeh.js +8 -4
  61. package/lib/examples/Bokeh.js.map +1 -1
  62. package/lib/examples/Bqplot.js +8 -4
  63. package/lib/examples/Bqplot.js.map +1 -1
  64. package/lib/examples/Dashboard.js +8 -9
  65. package/lib/examples/Dashboard.js.map +1 -1
  66. package/lib/examples/Deno.js +8 -4
  67. package/lib/examples/Deno.js.map +1 -1
  68. package/lib/examples/GeoJson.js +10 -5
  69. package/lib/examples/GeoJson.js.map +1 -1
  70. package/lib/examples/IPyLeaflet.js +8 -4
  71. package/lib/examples/IPyLeaflet.js.map +1 -1
  72. package/lib/examples/IPyReact.js +8 -4
  73. package/lib/examples/IPyReact.js.map +1 -1
  74. package/lib/examples/IPyWidgets.js +8 -9
  75. package/lib/examples/IPyWidgets.js.map +1 -1
  76. package/lib/examples/IPyWidgetsState.js +8 -9
  77. package/lib/examples/IPyWidgetsState.js.map +1 -1
  78. package/lib/examples/JupyterContext.js +20 -22
  79. package/lib/examples/JupyterContext.js.map +1 -1
  80. package/lib/examples/Matplotlib.js +8 -9
  81. package/lib/examples/Matplotlib.js.map +1 -1
  82. package/lib/examples/Notebook.js +4 -3
  83. package/lib/examples/Notebook.js.map +1 -1
  84. package/lib/examples/NotebookCellSidebar.js +4 -8
  85. package/lib/examples/NotebookCellSidebar.js.map +1 -1
  86. package/lib/examples/NotebookCellToolbar.js +11 -12
  87. package/lib/examples/NotebookCellToolbar.js.map +1 -1
  88. package/lib/examples/NotebookCollaborative.js +6 -3
  89. package/lib/examples/NotebookCollaborative.js.map +1 -1
  90. package/lib/examples/NotebookColormode.js +6 -10
  91. package/lib/examples/NotebookColormode.js.map +1 -1
  92. package/lib/examples/NotebookExtension.js +11 -12
  93. package/lib/examples/NotebookExtension.js.map +1 -1
  94. package/lib/examples/NotebookExternalContent.js +10 -12
  95. package/lib/examples/NotebookExternalContent.js.map +1 -1
  96. package/lib/examples/NotebookInit.js +5 -4
  97. package/lib/examples/NotebookInit.js.map +1 -1
  98. package/lib/examples/NotebookKernelChange.js +7 -6
  99. package/lib/examples/NotebookKernelChange.js.map +1 -1
  100. package/lib/examples/NotebookLess.js +8 -12
  101. package/lib/examples/NotebookLess.js.map +1 -1
  102. package/lib/examples/NotebookLite.js +5 -10
  103. package/lib/examples/NotebookLite.js.map +1 -1
  104. package/lib/examples/NotebookLiteContext.js +9 -10
  105. package/lib/examples/NotebookLiteContext.js.map +1 -1
  106. package/lib/examples/NotebookLocalServer.js +10 -7
  107. package/lib/examples/NotebookLocalServer.js.map +1 -1
  108. package/lib/examples/NotebookNbformat.js +8 -9
  109. package/lib/examples/NotebookNbformat.js.map +1 -1
  110. package/lib/examples/NotebookNbformatChange.js +9 -11
  111. package/lib/examples/NotebookNbformatChange.js.map +1 -1
  112. package/lib/examples/NotebookNoContext.js +4 -3
  113. package/lib/examples/NotebookNoContext.js.map +1 -1
  114. package/lib/examples/NotebookNoPrimer.js +5 -4
  115. package/lib/examples/NotebookNoPrimer.js.map +1 -1
  116. package/lib/examples/NotebookOnSessionConnection.js +7 -11
  117. package/lib/examples/NotebookOnSessionConnection.js.map +1 -1
  118. package/lib/examples/NotebookPath.js +4 -3
  119. package/lib/examples/NotebookPath.js.map +1 -1
  120. package/lib/examples/NotebookPathChange.js +9 -6
  121. package/lib/examples/NotebookPathChange.js.map +1 -1
  122. package/lib/examples/NotebookReadonly.js +6 -4
  123. package/lib/examples/NotebookReadonly.js.map +1 -1
  124. package/lib/examples/NotebookServiceManager.js +10 -14
  125. package/lib/examples/NotebookServiceManager.js.map +1 -1
  126. package/lib/examples/NotebookSkeleton.js +5 -4
  127. package/lib/examples/NotebookSkeleton.js.map +1 -1
  128. package/lib/examples/NotebookTheme.js +6 -10
  129. package/lib/examples/NotebookTheme.js.map +1 -1
  130. package/lib/examples/NotebookThemeColormode.js +6 -10
  131. package/lib/examples/NotebookThemeColormode.js.map +1 -1
  132. package/lib/examples/NotebookURL.js +4 -3
  133. package/lib/examples/NotebookURL.js.map +1 -1
  134. package/lib/examples/NotebookUnmount.js +7 -11
  135. package/lib/examples/NotebookUnmount.js.map +1 -1
  136. package/lib/examples/ObservableHQ.js +8 -4
  137. package/lib/examples/ObservableHQ.js.map +1 -1
  138. package/lib/examples/Panel.js +6 -3
  139. package/lib/examples/Panel.js.map +1 -1
  140. package/lib/examples/Plotly.js +8 -4
  141. package/lib/examples/Plotly.js.map +1 -1
  142. package/lib/examples/PyGWalker.js +8 -9
  143. package/lib/examples/PyGWalker.js.map +1 -1
  144. package/lib/examples/Vega.js +5 -4
  145. package/lib/examples/Vega.js.map +1 -1
  146. package/lib/examples/extensions/celltoolbar/CellToolbarExtension.d.ts +1 -1
  147. package/lib/examples/extensions/celltoolbar/CellToolbarExtension.js +6 -2
  148. package/lib/examples/extensions/celltoolbar/CellToolbarExtension.js.map +1 -1
  149. package/lib/examples/extensions/exectime/ExecTimeExtension.d.ts +1 -1
  150. package/lib/examples/extensions/exectime/ExecTimeExtension.js +1 -1
  151. package/lib/examples/extensions/exectime/ExecTimeExtension.js.map +1 -1
  152. package/lib/examples/sidebars/CellSidebarSource.js +56 -73
  153. package/lib/examples/sidebars/CellSidebarSource.js.map +1 -1
  154. package/lib/examples/toolbars/NotebookToolbarAutoSave.js +3 -3
  155. package/lib/examples/toolbars/NotebookToolbarAutoSave.js.map +1 -1
  156. package/lib/jupyter/collaboration/DatalayerCollaboration.d.ts +7 -2
  157. package/lib/jupyter/collaboration/DatalayerCollaboration.js +24 -1
  158. package/lib/jupyter/collaboration/DatalayerCollaboration.js.map +1 -1
  159. package/lib/jupyter/collaboration/JupyterCollaboration.d.ts +2 -2
  160. package/lib/jupyter/collaboration/JupyterCollaboration.js +3 -3
  161. package/lib/jupyter/collaboration/JupyterCollaboration.js.map +1 -1
  162. package/lib/utils/Utils.d.ts +6 -0
  163. package/lib/utils/Utils.js +9 -1
  164. package/lib/utils/Utils.js.map +1 -1
  165. package/package.json +1 -1
  166. package/lib/components/notebook/cell/sidebar/CellSidebarWidget.d.ts +0 -16
  167. package/lib/components/notebook/cell/sidebar/CellSidebarWidget.js +0 -37
  168. package/lib/components/notebook/cell/sidebar/CellSidebarWidget.js.map +0 -1
@@ -1,25 +1,20 @@
1
1
  import { jsx as _jsx, 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 { useState } from 'react';
9
2
  import { Box, Text } from '@primer/react';
3
+ import { useMemo, useState } from 'react';
4
+ import { createRoot } from 'react-dom/client';
5
+ import { CellSidebarExtension, KernelIndicator, Notebook } from '../components';
10
6
  import { JupyterReactTheme } from '../theme';
11
- import { Notebook, KernelIndicator } from '../components';
12
7
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
13
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
14
8
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
15
9
  const NotebookLite = () => {
16
10
  const [session, setSession] = useState();
11
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
17
12
  const onSessionConnection = (session) => {
18
13
  console.log('Received a Kernel Session.', session?.id, session?.kernel?.clientId);
19
14
  setSession(session);
20
15
  };
21
16
  return (_jsxs(JupyterReactTheme, { children: [_jsx(Box, { as: "h1", children: "A Jupyter Notebook with a Lite Kernel" }), _jsxs(Box, { display: "flex", children: [_jsx(Box, { children: _jsx(Text, { children: "Kernel Indicator" }) }), _jsx(Box, { ml: 3, children: _jsx(KernelIndicator, { kernel: session?.kernel }) })] }), _jsx(Notebook, { startDefaultKernel: true, lite: true, nbformat: nbformat, id: "notebook-lite-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
22
- , onSessionConnection: onSessionConnection, cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar })] }));
17
+ , onSessionConnection: onSessionConnection, extensions: extensions, Toolbar: NotebookToolbar })] }));
23
18
  };
24
19
  const div = document.createElement('div');
25
20
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookLite.js","sourceRoot":"","sources":["../../src/examples/NotebookLite.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAA8B,CAAC;IACrE,MAAM,mBAAmB,GAAwB,CAAC,OAA+C,EAAE,EAAE;QACnG,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClF,UAAU,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,CAAA;IACD,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,GAAG,IAAC,EAAE,EAAC,IAAI,sDAA4C,EACxD,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,aACjB,KAAC,GAAG,cAAC,KAAC,IAAI,mCAAwB,GAAM,EACxC,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,KAAC,eAAe,IAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GACvC,IACF,EACN,KAAC,QAAQ,IACP,kBAAkB,EAAE,IAAI,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,kBAAkB,EACrB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACxB,IACgB,CACrB,CAAA;AACH,CAAC,CAAC;AAEF,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,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookLite.js","sourceRoot":"","sources":["../../src/examples/NotebookLite.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAA8B,CAAC;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,MAAM,mBAAmB,GAAwB,CAC/C,OAA+C,EAC/C,EAAE;QACF,OAAO,CAAC,GAAG,CACT,4BAA4B,EAC5B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,MAAM,EAAE,QAAQ,CAC1B,CAAC;QACF,UAAU,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,GAAG,IAAC,EAAE,EAAC,IAAI,sDAA4C,EACxD,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,aACjB,KAAC,GAAG,cACF,KAAC,IAAI,mCAAwB,GACzB,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,KAAC,eAAe,IAAC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAI,GACxC,IACF,EACN,KAAC,QAAQ,IACP,kBAAkB,EAAE,IAAI,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,kBAAkB,EACrB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,eAAe,GACxB,IACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC"}
@@ -1,18 +1,17 @@
1
1
  import { jsx as _jsx, 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
2
  import { Box } from '@primer/react';
9
- import { Jupyter } from '../jupyter/Jupyter';
3
+ import { useMemo } from 'react';
4
+ import { createRoot } from 'react-dom/client';
5
+ import { CellSidebarExtension } from '../components';
10
6
  import { Notebook } from '../components/notebook/Notebook';
7
+ import { Jupyter } from '../jupyter/Jupyter';
11
8
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
12
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
13
9
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
14
- const NotebookLite = () => (_jsxs(Jupyter, { lite: true, children: [_jsx(Box, { as: "h1", children: "A Jupyter Notebook with a Lite Kernel (with a Jupyter Context)" }), _jsx(Notebook, { nbformat: nbformat, id: "notebook-lite-context-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
15
- , cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar })] }));
10
+ const NotebookLite = () => {
11
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
12
+ return (_jsxs(Jupyter, { lite: true, children: [_jsx(Box, { as: "h1", children: "A Jupyter Notebook with a Lite Kernel (with a Jupyter Context)" }), _jsx(Notebook, { nbformat: nbformat, id: "notebook-lite-context-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
13
+ , extensions: extensions, Toolbar: NotebookToolbar })] }));
14
+ };
16
15
  const div = document.createElement('div');
17
16
  document.body.appendChild(div);
18
17
  const root = createRoot(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookLiteContext.js","sourceRoot":"","sources":["../../src/examples/NotebookLiteContext.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CACzB,MAAC,OAAO,IAAC,IAAI,mBACX,KAAC,GAAG,IAAC,EAAE,EAAC,IAAI,+EAAqE,EACjF,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,0BAA0B,EAC7B,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;cAC3D,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACxB,IACM,CACX,CAAC;AAEF,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,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookLiteContext.js","sourceRoot":"","sources":["../../src/examples/NotebookLiteContext.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,CACL,MAAC,OAAO,IAAC,IAAI,mBACX,KAAC,GAAG,IAAC,EAAE,EAAC,IAAI,+EAEN,EACN,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,0BAA0B,EAC7B,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,eAAe,GACxB,IACM,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC"}
@@ -4,22 +4,25 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
4
4
  *
5
5
  * MIT License
6
6
  */
7
- import { createRoot } from 'react-dom/client';
8
7
  import { Text } from '@primer/react';
8
+ import { useMemo } from 'react';
9
+ import { createRoot } from 'react-dom/client';
10
+ import { CellSidebarExtension } from '../components';
11
+ import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
12
+ import { Notebook } from '../components/notebook/Notebook';
9
13
  import { Jupyter, useJupyter } from '../jupyter';
10
14
  import { JupyterReactTheme } from '../theme';
11
- import { Notebook } from '../components/notebook/Notebook';
12
15
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
13
- import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
14
16
  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 }) }));
17
+ , extensions: [new CellSidebarExtension({ factory: CellSidebarButton })], Toolbar: NotebookToolbar }) }));
16
18
  const NotebookJupyterReactTheme = () => {
17
19
  useJupyter({
18
- jupyterServerUrl: "http://localhost:8686/api/jupyter-server",
19
- jupyterServerToken: "60c1661cc408f978c309d04157af55c9588ff9557c9380e4fb50785750703da6",
20
+ jupyterServerUrl: 'http://localhost:8686/api/jupyter-server',
21
+ jupyterServerToken: '60c1661cc408f978c309d04157af55c9588ff9557c9380e4fb50785750703da6',
20
22
  });
23
+ const extensions = useMemo(() => [new CellSidebarExtension({ factory: CellSidebarButton })], []);
21
24
  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 }) }));
25
+ , extensions: extensions, Toolbar: NotebookToolbar }) }));
23
26
  };
24
27
  const div = document.createElement('div');
25
28
  document.body.appendChild(div);
@@ -1 +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"}
1
+ {"version":3,"file":"NotebookLocalServer.js","sourceRoot":"","sources":["../../src/examples/NotebookLocalServer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,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,UAAU,EAAE,CAAC,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EACtE,OAAO,EAAE,eAAe,GACxB,GACM,CACX,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAG,EAAE;IACrC,UAAU,CAAC;QACT,gBAAgB,EAAE,0CAA0C;QAC5D,kBAAkB,EAChB,kEAAkE;KACrE,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAChE,EAAE,CACH,CAAC;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,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,KAAG,EACnB,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,kEAAyD,EACtE,KAAC,yBAAyB,KAAG,IAC5B,CACJ,CAAC"}
@@ -1,17 +1,16 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2021-2023 Datalayer, Inc.
4
- *
5
- * MIT License
6
- */
7
2
  import { createRoot } from 'react-dom/client';
8
- import { JupyterReactTheme } from '../theme/JupyterReactTheme';
9
3
  import { Notebook } from '../components/notebook/Notebook';
4
+ import { JupyterReactTheme } from '../theme/JupyterReactTheme';
10
5
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
11
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
6
+ import { useMemo } from 'react';
7
+ import { CellSidebarExtension } from '../components';
12
8
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
13
- const NotebookNbformat = () => (_jsx(JupyterReactTheme, { children: _jsx(Notebook, { nbformat: nbformat, id: "notebook-nbformat-id", startDefaultKernel: true, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
14
- , cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar }) }));
9
+ const NotebookNbformat = () => {
10
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
11
+ return (_jsx(JupyterReactTheme, { children: _jsx(Notebook, { nbformat: nbformat, id: "notebook-nbformat-id", startDefaultKernel: true, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
12
+ , extensions: extensions, Toolbar: NotebookToolbar }) }));
13
+ };
15
14
  const div = document.createElement('div');
16
15
  document.body.appendChild(div);
17
16
  const root = createRoot(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookNbformat.js","sourceRoot":"","sources":["../../src/examples/NotebookNbformat.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAC7B,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,sBAAsB,EACzB,kBAAkB,EAAE,IAAI,EACxB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AAEF,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,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookNbformat.js","sourceRoot":"","sources":["../../src/examples/NotebookNbformat.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,CACL,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,sBAAsB,EACzB,kBAAkB,EAAE,IAAI,EACxB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;cAC3D,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC"}
@@ -1,27 +1,25 @@
1
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 { useState } from 'react';
8
- import { createRoot } from 'react-dom/client';
9
2
  import { Box, Button, ButtonGroup } from '@primer/react';
10
- import { JupyterReactTheme } from '../theme/JupyterReactTheme';
3
+ import { useMemo, useState } from 'react';
4
+ import { createRoot } from 'react-dom/client';
5
+ import { CellSidebarExtension } from '../components';
11
6
  import { Notebook } from '../components/notebook/Notebook';
12
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
13
7
  import useNotebookStore from '../components/notebook/NotebookState';
8
+ import { JupyterReactTheme } from '../theme/JupyterReactTheme';
14
9
  import nbformat1 from './notebooks/NotebookExample1.ipynb.json';
15
10
  import nbformat2 from './notebooks/NotebookExample2.ipynb.json';
16
11
  const NOTEBOOK_ID = 'notebook-model-change-id';
17
12
  const NotebookNbformatChange = () => {
18
13
  const notebookStore = useNotebookStore();
19
14
  const [nbformat, setNbformat] = useState(nbformat1);
15
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
20
16
  const changeNbformat = () => {
21
- console.log('Notebook Nbformat from store', notebookStore.notebooks.get(NOTEBOOK_ID)?.model?.toJSON());
17
+ console.log('Notebook Nbformat from store', notebookStore.notebooks
18
+ .get(NOTEBOOK_ID)
19
+ ?.model?.toJSON());
22
20
  nbformat === nbformat1 ? setNbformat(nbformat2) : setNbformat(nbformat1);
23
21
  };
24
- return (_jsxs(_Fragment, { children: [_jsx(Box, { display: "flex", children: _jsx(ButtonGroup, { children: _jsx(Button, { variant: "default", size: "small", onClick: changeNbformat, children: "Change Nbformat" }) }) }), _jsx(Notebook, { id: NOTEBOOK_ID, nbformat: nbformat, height: "700px", CellSidebar: CellSidebar })] }));
22
+ return (_jsxs(_Fragment, { children: [_jsx(Box, { display: "flex", children: _jsx(ButtonGroup, { children: _jsx(Button, { variant: "default", size: "small", onClick: changeNbformat, children: "Change Nbformat" }) }) }), _jsx(Notebook, { id: NOTEBOOK_ID, nbformat: nbformat, height: "700px", extensions: extensions })] }));
25
23
  };
26
24
  const div = document.createElement('div');
27
25
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookNbformatChange.js","sourceRoot":"","sources":["../../src/examples/NotebookNbformatChange.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAEhE,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,OAAO,CAAC,GAAG,CACT,8BAA8B,EAC9B,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsB,CAC9E,CAAC;QACF,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,OAAO,CACL,8BACE,KAAC,GAAG,IAAC,OAAO,EAAC,MAAM,YACjB,KAAC,WAAW,cACV,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,cAAc,gCAErD,GACG,GACV,EACN,KAAC,QAAQ,IACP,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAC,OAAO,EACd,WAAW,EAAE,WAAW,GACxB,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,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,KAAC,iBAAiB,cAChB,KAAC,sBAAsB,KAAG,GACR,CACrB,CAAC"}
1
+ {"version":3,"file":"NotebookNbformatChange.js","sourceRoot":"","sources":["../../src/examples/NotebookNbformatChange.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAEhE,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,OAAO,CAAC,GAAG,CACT,8BAA8B,EAC9B,aAAa,CAAC,SAAS;aACpB,GAAG,CAAC,WAAW,CAAC;YACjB,EAAE,KAAK,EAAE,MAAM,EAAsB,CACxC,CAAC;QACF,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,OAAO,CACL,8BACE,KAAC,GAAG,IAAC,OAAO,EAAC,MAAM,YACjB,KAAC,WAAW,cACV,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,cAAc,gCAErD,GACG,GACV,EACN,KAAC,QAAQ,IACP,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAC,OAAO,EACd,UAAU,EAAE,UAAU,GACtB,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,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,KAAC,iBAAiB,cAChB,KAAC,sBAAsB,KAAG,GACR,CACrB,CAAC"}
@@ -5,15 +5,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  * MIT License
6
6
  */
7
7
  import { createRoot } from 'react-dom/client';
8
- import { JupyterReactTheme } from '../theme/JupyterReactTheme';
8
+ import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
9
9
  import { Notebook } from '../components/notebook/Notebook';
10
+ import { JupyterReactTheme } from '../theme/JupyterReactTheme';
10
11
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
11
- import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
12
+ import { CellSidebarExtension } from '../components';
12
13
  const NOTEBOOK_ID = 'notebook-id';
13
14
  const div = document.createElement('div');
14
15
  document.body.appendChild(div);
15
16
  const root = createRoot(div);
16
17
  const colormode = 'light';
17
18
  root.render(_jsx(JupyterReactTheme, { colormode: colormode, children: _jsx(Notebook, { path: "ipywidgets.ipynb", id: NOTEBOOK_ID, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
18
- , cellSidebarMargin: 60, CellSidebar: CellSidebarButton, Toolbar: NotebookToolbar }) }));
19
+ , extensions: [new CellSidebarExtension({ factory: CellSidebarButton })], Toolbar: NotebookToolbar }) }));
19
20
  //# sourceMappingURL=NotebookNoContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookNoContext.js","sourceRoot":"","sources":["../../src/examples/NotebookNoContext.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,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,WAAW,GAAG,aAAa,CAAC;AAElC,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,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B,IAAI,CAAC,MAAM,CACT,KAAC,iBAAiB,IAAC,SAAS,EAAE,SAAS,YACrC,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,iBAAiB,EAAE,EAAE,EACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC"}
1
+ {"version":3,"file":"NotebookNoContext.js","sourceRoot":"","sources":["../../src/examples/NotebookNoContext.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,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,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B,IAAI,CAAC,MAAM,CACT,KAAC,iBAAiB,IAAC,SAAS,EAAE,SAAS,YACrC,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,UAAU,EAAE,CAAC,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EACtE,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC"}
@@ -5,14 +5,15 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
5
5
  * MIT License
6
6
  */
7
7
  import { createRoot } from 'react-dom/client';
8
- import { Notebook } from '../components/notebook/Notebook';
9
- import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
8
+ import { CellSidebarExtension } from '../components';
10
9
  import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
10
+ import { Notebook } from '../components/notebook/Notebook';
11
11
  import { JupyterLabCss } from '../theme';
12
+ import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
12
13
  const NOTEBOOK_ID = 'notebook-id';
13
14
  const div = document.createElement('div');
14
15
  document.body.appendChild(div);
15
16
  const root = createRoot(div);
16
- root.render(_jsxs(_Fragment, { children: [_jsx(JupyterLabCss, { colormode: 'dark' }), _jsx(Notebook, { path: "ipywidgets.ipynb", id: NOTEBOOK_ID, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
17
- , cellSidebarMargin: 60, CellSidebar: CellSidebarButton, Toolbar: NotebookToolbar })] }));
17
+ root.render(_jsxs(_Fragment, { children: [_jsx(JupyterLabCss, { colormode: "dark" }), _jsx(Notebook, { path: "ipywidgets.ipynb", id: NOTEBOOK_ID, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
18
+ , extensions: [new CellSidebarExtension({ factory: CellSidebarButton })], Toolbar: NotebookToolbar })] }));
18
19
  //# sourceMappingURL=NotebookNoPrimer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookNoPrimer.js","sourceRoot":"","sources":["../../src/examples/NotebookNoPrimer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,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,aAAa,IAAC,SAAS,EAAC,MAAM,GAAG,EAClC,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;cAC3D,iBAAiB,EAAE,EAAE,EACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACxB,IACD,CACJ,CAAC"}
1
+ {"version":3,"file":"NotebookNoPrimer.js","sourceRoot":"","sources":["../../src/examples/NotebookNoPrimer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,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,aAAa,IAAC,SAAS,EAAC,MAAM,GAAG,EAClC,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;cAC3D,UAAU,EAAE,CAAC,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EACtE,OAAO,EAAE,eAAe,GACxB,IACD,CACJ,CAAC"}
@@ -1,19 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2021-2023 Datalayer, Inc.
4
- *
5
- * MIT License
6
- */
7
- import { useState } from 'react';
2
+ import { Box, Label, Text } from '@primer/react';
3
+ import { useMemo, useState } from 'react';
8
4
  import { createRoot } from 'react-dom/client';
9
- import { Box, Text, Label } from '@primer/react';
10
- import { JupyterReactTheme } from '../theme';
5
+ import { CellSidebarExtension, KernelDetective, Notebook, NotebookToolbar, } from '../components';
11
6
  import { useJupyter } from '../jupyter';
12
- import { Notebook, NotebookToolbar, CellSidebar, KernelDetective } from '../components';
7
+ import { JupyterReactTheme } from '../theme';
13
8
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
14
9
  const NotebookOnSessionConnection = () => {
15
10
  const { serviceManager } = useJupyter();
16
11
  const [sessions, setSessions] = useState([]);
12
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
17
13
  const onSessionConnection = (session) => {
18
14
  console.log('Received a Kernel Session.', session?.id, session?.kernel?.clientId);
19
15
  if (session) {
@@ -21,9 +17,9 @@ const NotebookOnSessionConnection = () => {
21
17
  }
22
18
  };
23
19
  return (_jsxs(JupyterReactTheme, { children: [_jsx(Box, { as: "h1", children: "A Jupyter Notebook listening to Kernel Sessions" }), _jsx(KernelDetective, { serviceManager: serviceManager }), _jsx(Box, { children: _jsx(Text, { as: "h3", children: "Kernel Sessions" }) }), _jsx(Box, { children: sessions.map(session => {
24
- return (_jsx(Box, { children: _jsxs(Text, { children: [_jsx(Label, { children: "Session" }), " ", session.name, " ", session.id, " ", _jsx(Label, { children: "Kernel" }), " clientId ", session.kernel?.clientId, " - id ", session.kernel?.id] }) }, session.id));
20
+ return (_jsx(Box, { children: _jsxs(Text, { children: [_jsx(Label, { children: "Session" }), " ", session.name, " ", session.id, ' ', _jsx(Label, { children: "Kernel" }), " clientId ", session.kernel?.clientId, " - id", ' ', session.kernel?.id] }) }, session.id));
25
21
  }) }), _jsx(Notebook, { nbformat: nbformat, id: "notebook-on-kernel-connection-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
26
- , onSessionConnection: onSessionConnection, startDefaultKernel: true, cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar })] }));
22
+ , onSessionConnection: onSessionConnection, startDefaultKernel: true, extensions: extensions, Toolbar: NotebookToolbar })] }));
27
23
  };
28
24
  const div = document.createElement('div');
29
25
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookOnSessionConnection.js","sourceRoot":"","sources":["../../src/examples/NotebookOnSessionConnection.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAExF,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,2BAA2B,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAoC,EAAE,CAAC,CAAC;IAChF,MAAM,mBAAmB,GAAwB,CAAC,OAA+C,EAAE,EAAE;QACnG,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,OAAO,EAAE;YACX,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SACvC;IACH,CAAC,CAAA;IACD,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,GAAG,IAAC,EAAE,EAAC,IAAI,gEAAsD,EAClE,KAAC,eAAe,IAAC,cAAc,EAAE,cAAc,GAAG,EAClD,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,gCAAuB,GAChC,EACN,KAAC,GAAG,cACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACtB,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,eAAC,KAAC,KAAK,0BAAgB,OAAE,OAAO,CAAC,IAAI,OAAG,OAAO,CAAC,EAAE,OAAE,KAAC,KAAK,yBAAe,gBAAW,OAAO,CAAC,MAAM,EAAE,QAAQ,YAAQ,OAAO,CAAC,MAAM,EAAE,EAAE,IAAQ,IAD3I,OAAO,CAAC,EAAE,CAEd,CACP,CAAA;gBACH,CAAC,CAAC,GACE,EACN,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,kCAAkC,EACrC,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,IAAI,EACxB,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACxB,IACgB,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,CAAC,KAAC,2BAA2B,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookOnSessionConnection.js","sourceRoot":"","sources":["../../src/examples/NotebookOnSessionConnection.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,2BAA2B,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,EAAE,CACH,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,MAAM,mBAAmB,GAAwB,CAC/C,OAA+C,EAC/C,EAAE;QACF,OAAO,CAAC,GAAG,CACT,4BAA4B,EAC5B,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,MAAM,EAAE,QAAQ,CAC1B,CAAC;QACF,IAAI,OAAO,EAAE;YACX,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SACvC;IACH,CAAC,CAAC;IACF,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,GAAG,IAAC,EAAE,EAAC,IAAI,gEAAsD,EAClE,KAAC,eAAe,IAAC,cAAc,EAAE,cAAc,GAAI,EACnD,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,gCAAuB,GAChC,EACN,KAAC,GAAG,cACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBACtB,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,eACH,KAAC,KAAK,0BAAgB,OAAE,OAAO,CAAC,IAAI,OAAG,OAAO,CAAC,EAAE,EAAE,GAAG,EACtD,KAAC,KAAK,yBAAe,gBAAW,OAAO,CAAC,MAAM,EAAE,QAAQ,WAAO,GAAG,EACjE,OAAO,CAAC,MAAM,EAAE,EAAE,IACd,IALC,OAAO,CAAC,EAAE,CAMd,CACP,CAAC;gBACJ,CAAC,CAAC,GACE,EACN,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,kCAAkC,EACrC,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,IAAI,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,eAAe,GACxB,IACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,2BAA2B,KAAG,CAAC,CAAC"}
@@ -5,13 +5,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  * MIT License
6
6
  */
7
7
  import { createRoot } from 'react-dom/client';
8
- import { JupyterReactTheme } from '../theme/JupyterReactTheme';
8
+ import { CellSidebarExtension } from '../components';
9
+ import CellSidebarButton from '../components/notebook/cell/sidebar/CellSidebarButton';
9
10
  import { Notebook } from '../components/notebook/Notebook';
11
+ import { JupyterReactTheme } from '../theme/JupyterReactTheme';
10
12
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
11
- import CellSidebarButton from '../components/notebook/cell/sidebar/CellSidebarButton';
12
13
  const NOTEBOOK_ID = 'notebook-id';
13
14
  const NotebookPath = () => (_jsx(JupyterReactTheme, { children: _jsx(Notebook, { path: "ipywidgets.ipynb", id: NOTEBOOK_ID, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
14
- , cellSidebarMargin: 60, CellSidebar: CellSidebarButton, Toolbar: NotebookToolbar }) }));
15
+ , extensions: [new CellSidebarExtension({ factory: CellSidebarButton })], Toolbar: NotebookToolbar }) }));
15
16
  const div = document.createElement('div');
16
17
  document.body.appendChild(div);
17
18
  const root = createRoot(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookPath.js","sourceRoot":"","sources":["../../src/examples/NotebookPath.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,iBAAiB,MAAM,uDAAuD,CAAC;AAEtF,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CACzB,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,iBAAiB,EAAE,EAAE,EACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AAEF,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,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookPath.js","sourceRoot":"","sources":["../../src/examples/NotebookPath.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,iBAAiB,MAAM,uDAAuD,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CACzB,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,UAAU,EAAE,CAAC,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EACtE,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AAEF,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,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC"}
@@ -4,19 +4,22 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  *
5
5
  * MIT License
6
6
  */
7
- import { useState } from 'react';
8
- import { createRoot } from 'react-dom/client';
9
7
  import { Box, Button, Text } from '@primer/react';
10
- import { JupyterReactTheme } from '../theme/JupyterReactTheme';
8
+ import { useMemo, useState } from 'react';
9
+ import { createRoot } from 'react-dom/client';
10
+ import { CellSidebarExtension } from '../components';
11
11
  import { Notebook } from '../components/notebook/Notebook';
12
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
12
+ import { JupyterReactTheme } from '../theme/JupyterReactTheme';
13
13
  const PATH_1 = 'ipywidgets.ipynb';
14
14
  const PATH_2 = 'matplotlib.ipynb';
15
15
  const NotebookPathChange = () => {
16
16
  const [path, setPath] = useState(PATH_1);
17
- const changePath = () => { path === PATH_1 ? setPath(PATH_2) : setPath(PATH_1); };
17
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
18
+ const changePath = () => {
19
+ path === PATH_1 ? setPath(PATH_2) : setPath(PATH_1);
20
+ };
18
21
  return (_jsxs(JupyterReactTheme, { children: [_jsx(Box, { display: "flex", children: _jsx(Button, { variant: "default", size: "small", onClick: changePath, children: "Change Notebook Path" }) }), _jsx(Box, { mt: 2, children: _jsx(Text, { as: "span", sx: { color: 'fg.onEmphasis', bg: 'neutral.emphasis', p: 2 }, children: path }) }), _jsx(Notebook, { path: path, id: "notebook-path-change-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
19
- , CellSidebar: CellSidebar })] }));
22
+ , extensions: extensions })] }));
20
23
  };
21
24
  const div = document.createElement('div');
22
25
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookPathChange.js","sourceRoot":"","sources":["../../src/examples/NotebookPathChange.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,GAAG,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC;IACjF,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,GAAG,IAAC,OAAO,EAAC,MAAM,YACjB,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,UAAU,qCAEjD,GACL,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,KAAC,IAAI,IACH,EAAE,EAAC,MAAM,EACT,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,YAE3D,IAAI,GACA,GACH,EACN,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,EAAE,EAAC,yBAAyB,EAC5B,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,WAAW,EAAE,WAAW,GACxB,IACgB,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,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookPathChange.js","sourceRoot":"","sources":["../../src/examples/NotebookPathChange.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,MAAM,GAAG,kBAAkB,CAAC;AAElC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,OAAO,CACL,MAAC,iBAAiB,eAChB,KAAC,GAAG,IAAC,OAAO,EAAC,MAAM,YACjB,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,UAAU,qCAEjD,GACL,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,KAAC,IAAI,IACH,EAAE,EAAC,MAAM,EACT,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,YAE3D,IAAI,GACA,GACH,EACN,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,EAAE,EAAC,yBAAyB,EAC5B,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,UAAU,EAAE,UAAU,GACtB,IACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC"}
@@ -4,15 +4,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  *
5
5
  * MIT License
6
6
  */
7
+ import { useMemo } from 'react';
7
8
  import { createRoot } from 'react-dom/client';
8
- import { JupyterReactTheme } from '../theme/JupyterReactTheme';
9
+ import { CellSidebarExtension } from '../components';
9
10
  import { Notebook } from '../components/notebook/Notebook';
11
+ import { JupyterReactTheme } from '../theme/JupyterReactTheme';
10
12
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
11
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
12
13
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
13
14
  const NotebookReadonly = () => {
14
- return (_jsx(JupyterReactTheme, { children: _jsx(Notebook, { readonly: true, nbformat: nbformat, id: "notebook-model-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
15
- , cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar }) }));
15
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
16
+ return (_jsx(JupyterReactTheme, { children: _jsx(Notebook, { readonly: true, nbformat: nbformat, extensions: extensions, id: "notebook-model-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
17
+ , Toolbar: NotebookToolbar }) }));
16
18
  };
17
19
  const div = document.createElement('div');
18
20
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookReadonly.js","sourceRoot":"","sources":["../../src/examples/NotebookReadonly.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,OAAO,CACL,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,QAAQ,QACR,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAC,mBAAmB,EACtB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;cAC3D,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,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,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookReadonly.js","sourceRoot":"","sources":["../../src/examples/NotebookReadonly.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,CACL,KAAC,iBAAiB,cAChB,KAAC,QAAQ,IACP,QAAQ,QACR,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAC,mBAAmB,EACtB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;cAC3D,OAAO,EAAE,eAAe,GACxB,GACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC"}
@@ -1,24 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2021-2023 Datalayer, Inc.
4
- *
5
- * MIT License
6
- */
7
- import { useState } from 'react';
8
- import { createRoot } from 'react-dom/client';
9
2
  import { ServiceManager } from '@jupyterlab/services';
10
- import { Button, Box } from '@primer/react';
11
- import { JupyterReactTheme } from '../theme';
12
- import { createServerSettings } from '../jupyter/JupyterContext';
13
- import { getJupyterServerUrl, getJupyterServerToken, ServiceManagerLess } from '../jupyter';
3
+ import { Box, Button } from '@primer/react';
4
+ import { useMemo, useState } from 'react';
5
+ import { createRoot } from 'react-dom/client';
6
+ import { CellSidebarExtension } from '../components';
14
7
  import { Notebook } from '../components/notebook/Notebook';
8
+ import { getJupyterServerToken, getJupyterServerUrl, ServiceManagerLess, } from '../jupyter';
9
+ import { createServerSettings } from '../jupyter/JupyterContext';
10
+ import { JupyterReactTheme } from '../theme';
15
11
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
16
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
17
12
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
18
13
  const NotebookServiceManager = () => {
19
14
  const [serverless, setServerless] = useState(true);
20
15
  const [readonly, setReadonly] = useState(true);
21
16
  const [serviceManager, setServiceManager] = useState(new ServiceManagerLess());
17
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
22
18
  const changeServiceManager = () => {
23
19
  if (serverless) {
24
20
  setServerless(false);
@@ -34,8 +30,8 @@ const NotebookServiceManager = () => {
34
30
  setServiceManager(serviceManager);
35
31
  }
36
32
  };
37
- return (_jsxs(JupyterReactTheme, { children: [_jsxs(Box, { display: "flex", children: [_jsx(Box, { children: _jsx(Button, { onClick: e => changeServiceManager(), children: "Change the Service Manager" }) }), _jsxs(Box, { ml: 3, children: ["Token: ", serviceManager.serverSettings.token] })] }), _jsx(Notebook, { nbformat: nbformat, serviceManager: serviceManager, serverless: serverless, readonly: readonly, id: "notebook-model-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
38
- , cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar })] }));
33
+ return (_jsxs(JupyterReactTheme, { children: [_jsxs(Box, { display: "flex", children: [_jsx(Box, { children: _jsx(Button, { onClick: e => changeServiceManager(), children: "Change the Service Manager" }) }), _jsxs(Box, { ml: 3, children: ["Token: ", serviceManager.serverSettings.token] })] }), _jsx(Notebook, { extensions: extensions, nbformat: nbformat, serviceManager: serviceManager, serverless: serverless, readonly: readonly, id: "notebook-model-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
34
+ , Toolbar: NotebookToolbar })] }));
39
35
  };
40
36
  const div = document.createElement('div');
41
37
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookServiceManager.js","sourceRoot":"","sources":["../../src/examples/NotebookServiceManager.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAG,GAAG,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IAC/E,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,UAAU,EAAE;YACd,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,cAAc,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC5F,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAC9D,iBAAiB,CAAC,cAAqB,CAAC,CAAC;SAC1C;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,iBAAiB,CAAC,cAAc,CAAC,CAAC;SACnC;IACH,CAAC,CAAC;IACF,OAAO,CACL,MAAC,iBAAiB,eAChB,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,aACjB,KAAC,GAAG,cACF,KAAC,MAAM,IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,EAAE,2CAEnC,GACL,EACN,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,wBACA,cAAc,CAAC,cAAc,CAAC,KAAK,IACvC,IACF,EACN,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAC,mBAAmB,EACtB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACxB,IACgB,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,CAAC,KAAC,sBAAsB,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookServiceManager.js","sourceRoot":"","sources":["../../src/examples/NotebookServiceManager.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAClD,IAAI,kBAAkB,EAAE,CACzB,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,UAAU,EAAE;YACd,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,cAAc,GAAG,oBAAoB,CACzC,mBAAmB,EAAE,EACrB,qBAAqB,EAAE,CACxB,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAC9D,iBAAiB,CAAC,cAAqB,CAAC,CAAC;SAC1C;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,cAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAChD,iBAAiB,CAAC,cAAc,CAAC,CAAC;SACnC;IACH,CAAC,CAAC;IACF,OAAO,CACL,MAAC,iBAAiB,eAChB,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,aACjB,KAAC,GAAG,cACF,KAAC,MAAM,IAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,EAAE,2CAEnC,GACL,EACN,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,wBAAU,cAAc,CAAC,cAAc,CAAC,KAAK,IAAO,IAC1D,EACN,KAAC,QAAQ,IACP,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAA4B,EACtC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAC,mBAAmB,EACtB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;kBAC3D,OAAO,EAAE,eAAe,GACxB,IACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,sBAAsB,KAAG,CAAC,CAAC"}
@@ -4,16 +4,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  *
5
5
  * MIT License
6
6
  */
7
- import { createRoot } from 'react-dom/client';
8
7
  import { ContentLoader } from '@datalayer/primer-addons';
9
- import { Jupyter } from '../jupyter/Jupyter';
8
+ import { createRoot } from 'react-dom/client';
9
+ import { CellSidebarExtension } from '../components';
10
+ import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
10
11
  import { Notebook } from '../components/notebook/Notebook';
12
+ import { Jupyter } from '../jupyter/Jupyter';
11
13
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
12
- import { CellSidebarButton } from '../components/notebook/cell/sidebar/CellSidebarButton';
13
14
  const NOTEBOOK_ID = 'notebook-id';
14
15
  const div = document.createElement('div');
15
16
  document.body.appendChild(div);
16
17
  const root = createRoot(div);
17
18
  root.render(_jsx(Jupyter, { skeleton: _jsx(ContentLoader, { count: 3 }), children: _jsx(Notebook, { path: "ipywidgets.ipynb", id: NOTEBOOK_ID, height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
18
- , cellSidebarMargin: 60, CellSidebar: CellSidebarButton, Toolbar: NotebookToolbar }) }));
19
+ , extensions: [new CellSidebarExtension({ factory: CellSidebarButton })], Toolbar: NotebookToolbar }) }));
19
20
  //# sourceMappingURL=NotebookSkeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookSkeleton.js","sourceRoot":"","sources":["../../src/examples/NotebookSkeleton.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,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,WAAW,GAAG,aAAa,CAAC;AAElC,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,KAAC,OAAO,IAAC,QAAQ,EAAE,KAAC,aAAa,IAAC,KAAK,EAAE,CAAC,GAAI,YAC5C,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,iBAAiB,EAAE,EAAE,EACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,eAAe,GACxB,GACM,CACX,CAAC"}
1
+ {"version":3,"file":"NotebookSkeleton.js","sourceRoot":"","sources":["../../src/examples/NotebookSkeleton.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,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,KAAC,OAAO,IAAC,QAAQ,EAAE,KAAC,aAAa,IAAC,KAAK,EAAE,CAAC,GAAI,YAC5C,KAAC,QAAQ,IACP,IAAI,EAAC,kBAAkB,EACvB,EAAE,EAAE,WAAW,EACf,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;UAC3D,UAAU,EAAE,CAAC,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EACtE,OAAO,EAAE,eAAe,GACxB,GACM,CACX,CAAC"}
@@ -1,21 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2021-2023 Datalayer, Inc.
4
- *
5
- * MIT License
6
- */
7
- import { useCallback, useEffect, useState } from 'react';
8
- import { createRoot } from 'react-dom/client';
9
2
  import { Text, ToggleSwitch, theme as primerTheme } from '@primer/react';
3
+ import { useCallback, useEffect, useMemo, useState } from 'react';
4
+ import { createRoot } from 'react-dom/client';
5
+ import { CellSidebarExtension } from '../components';
6
+ import { Notebook } from '../components/notebook/Notebook';
10
7
  import { Jupyter } from '../jupyter/Jupyter';
11
8
  import { jupyterTheme } from '../theme/JupyterPrimerTheme';
12
- import { Notebook } from '../components/notebook/Notebook';
13
9
  import { NotebookToolbar } from './../components/notebook/toolbar/NotebookToolbar';
14
- import { CellSidebar } from '../components/notebook/cell/sidebar/CellSidebar';
15
10
  import nbformat from './notebooks/NotebookExample1.ipynb.json';
16
11
  const NotebookTheme = () => {
17
12
  const [theme, setTheme] = useState(jupyterTheme);
18
13
  const [isOn, setIsOn] = useState(false);
14
+ const extensions = useMemo(() => [new CellSidebarExtension()], []);
19
15
  const onClick = useCallback(() => {
20
16
  setIsOn(!isOn);
21
17
  }, [isOn]);
@@ -31,7 +27,7 @@ const NotebookTheme = () => {
31
27
  setIsOn(on);
32
28
  }, []);
33
29
  return (_jsx(_Fragment, { children: _jsxs(Jupyter, { theme: theme, children: [_jsx(Text, { fontSize: 2, fontWeight: "bold", id: "switch-label", display: "block", mb: 1, children: "Primer Theme" }), _jsx(ToggleSwitch, { size: "small", onClick: onClick, onChange: handleSwitchChange, checked: isOn, statusLabelPosition: "end", "aria-labelledby": "switch-label" }), _jsx(Notebook, { nbformat: nbformat, id: "notebook-model-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
34
- , cellSidebarMargin: 120, CellSidebar: CellSidebar, Toolbar: NotebookToolbar })] }) }));
30
+ , extensions: extensions, Toolbar: NotebookToolbar })] }) }));
35
31
  };
36
32
  const div = document.createElement('div');
37
33
  document.body.appendChild(div);
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookTheme.js","sourceRoot":"","sources":["../../src/examples/NotebookTheme.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,QAAQ,CAAC,WAAW,CAAC,CAAC;SACvB;aAAM;YACL,QAAQ,CAAC,YAAY,CAAC,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,EAAW,EAAE,EAAE;QACrD,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,4BACE,MAAC,OAAO,IAAC,KAAK,EAAE,KAAK,aACnB,KAAC,IAAI,IACH,QAAQ,EAAE,CAAC,EACX,UAAU,EAAC,MAAM,EACjB,EAAE,EAAC,cAAc,EACjB,OAAO,EAAC,OAAO,EACf,EAAE,EAAE,CAAC,6BAGA,EACP,KAAC,YAAY,IACX,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,IAAI,EACb,mBAAmB,EAAC,KAAK,qBACT,cAAc,GAC9B,EACF,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,mBAAmB,EACtB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;sBAC3D,iBAAiB,EAAE,GAAG,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,eAAe,GACxB,IACM,GACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,aAAa,KAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"NotebookTheme.js","sourceRoot":"","sources":["../../src/examples/NotebookTheme.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,YAAY,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE;YACR,QAAQ,CAAC,WAAW,CAAC,CAAC;SACvB;aAAM;YACL,QAAQ,CAAC,YAAY,CAAC,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,EAAW,EAAE,EAAE;QACrD,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,4BACE,MAAC,OAAO,IAAC,KAAK,EAAE,KAAK,aACnB,KAAC,IAAI,IACH,QAAQ,EAAE,CAAC,EACX,UAAU,EAAC,MAAM,EACjB,EAAE,EAAC,cAAc,EACjB,OAAO,EAAC,OAAO,EACf,EAAE,EAAE,CAAC,6BAGA,EACP,KAAC,YAAY,IACX,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,IAAI,EACb,mBAAmB,EAAC,KAAK,qBACT,cAAc,GAC9B,EACF,KAAC,QAAQ,IACP,QAAQ,EAAE,QAA4B,EACtC,EAAE,EAAC,mBAAmB,EACtB,MAAM,EAAC,sBAAsB,CAAC,6BAA6B;sBAC3D,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,eAAe,GACxB,IACM,GACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,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,CAAC,KAAC,aAAa,KAAG,CAAC,CAAC"}