@datalayer/core 1.0.24 → 1.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/README.md +35 -24
  2. package/lib/api/constants.d.ts +3 -0
  3. package/lib/api/constants.js +3 -0
  4. package/lib/api/index.d.ts +0 -8
  5. package/lib/api/index.js +0 -8
  6. package/lib/cli-login.js +167 -0
  7. package/lib/client/base.d.ts +0 -3
  8. package/lib/client/base.js +0 -2
  9. package/lib/client/index.d.ts +10 -98
  10. package/lib/client/index.js +12 -21
  11. package/lib/components/avatars/UserAvatar.d.ts +16 -0
  12. package/lib/components/avatars/UserAvatar.js +47 -0
  13. package/lib/components/avatars/index.d.ts +1 -0
  14. package/lib/components/avatars/index.js +1 -0
  15. package/lib/components/billing/BillableAccountSelect.js +4 -0
  16. package/lib/components/billing/index.js +4 -0
  17. package/lib/components/checkout/StripeCheckout.js +48 -2
  18. package/lib/components/context/index.d.ts +0 -1
  19. package/lib/components/context/index.js +0 -1
  20. package/lib/components/display/DisplayHandle.d.ts +12 -0
  21. package/lib/components/display/DisplayHandle.js +11 -0
  22. package/lib/components/display/LiveRelativeTime.d.ts +1 -10
  23. package/lib/components/display/LiveRelativeTime.js +5 -16
  24. package/lib/components/display/index.d.ts +1 -0
  25. package/lib/components/display/index.js +1 -0
  26. package/lib/components/flashes/index.d.ts +0 -1
  27. package/lib/components/flashes/index.js +0 -1
  28. package/lib/components/index.d.ts +2 -0
  29. package/lib/components/index.js +2 -0
  30. package/lib/components/principal/Principal.d.ts +7 -0
  31. package/lib/components/principal/Principal.js +153 -16
  32. package/lib/components/principal/PrincipalAvatar.d.ts +1 -1
  33. package/lib/components/principal/PrincipalAvatar.js +4 -28
  34. package/lib/components/principal/PrincipalBadge.js +4 -4
  35. package/lib/components/principal/PrincipalDetailsOverlay.d.ts +4 -2
  36. package/lib/components/principal/PrincipalDetailsOverlay.js +27 -7
  37. package/lib/components/principal/PrincipalSwitcherMenu.js +76 -39
  38. package/lib/components/progress/index.d.ts +0 -1
  39. package/lib/components/progress/index.js +0 -1
  40. package/lib/components/sharing/ShareAccessComponent.d.ts +3 -2
  41. package/lib/components/sharing/ShareAccessComponent.js +180 -133
  42. package/lib/components/sharing/SharingEditor.js +4 -0
  43. package/lib/components/snippets/index.d.ts +1 -1
  44. package/lib/components/snippets/index.js +1 -1
  45. package/lib/components/students/StudentResultCircle.d.ts +21 -0
  46. package/lib/components/students/StudentResultCircle.js +59 -0
  47. package/lib/components/students/index.d.ts +1 -1
  48. package/lib/components/students/index.js +1 -1
  49. package/lib/components/time/LiveRelativeTime.d.ts +14 -0
  50. package/lib/components/time/LiveRelativeTime.js +43 -0
  51. package/lib/components/time/index.d.ts +1 -0
  52. package/lib/components/time/index.js +9 -0
  53. package/lib/components/timeline/Timeline.d.ts +20 -0
  54. package/lib/components/timeline/Timeline.js +90 -0
  55. package/lib/components/timeline/index.d.ts +1 -0
  56. package/lib/components/timeline/index.js +9 -0
  57. package/lib/components/tokens/index.d.ts +1 -1
  58. package/lib/components/tokens/index.js +1 -1
  59. package/lib/components/toolbars/index.d.ts +1 -3
  60. package/lib/components/toolbars/index.js +1 -3
  61. package/lib/hooks/cacheConverters.d.ts +21 -0
  62. package/lib/hooks/cacheConverters.js +110 -0
  63. package/lib/hooks/index.d.ts +0 -2
  64. package/lib/hooks/index.js +0 -2
  65. package/lib/hooks/useCache.d.ts +65 -36
  66. package/lib/hooks/useCache.js +424 -65
  67. package/lib/hooks/useDatalayer.js +3 -1
  68. package/lib/hooks/useIAM.js +1 -3
  69. package/lib/hooks/useLocationHandles.d.ts +3 -1
  70. package/lib/hooks/useLocationHandles.js +2 -1
  71. package/lib/hooks/usePrincipalStore.d.ts +2 -2
  72. package/lib/hooks/usePrincipalStore.js +97 -14
  73. package/lib/hooks/useProjectStore.d.ts +1 -1
  74. package/lib/hooks/useSelectedPrincipal.js +1 -1
  75. package/lib/hooks/useUser.js +19 -2
  76. package/lib/index.d.ts +1 -6
  77. package/lib/index.js +1 -13
  78. package/lib/main.js +3 -3
  79. package/lib/mocks/index.js +1 -1
  80. package/lib/mocks/models/index.d.ts +0 -1
  81. package/lib/mocks/models/index.js +0 -1
  82. package/lib/models/Datasource.d.ts +2 -2
  83. package/lib/models/IAM.d.ts +1 -1
  84. package/lib/models/IAMToken.d.ts +1 -1
  85. package/lib/models/School.d.ts +12 -3
  86. package/lib/models/Secret.d.ts +2 -2
  87. package/lib/models/Student.d.ts +13 -3
  88. package/lib/models/Usage.d.ts +11 -1
  89. package/lib/models/UserDTO.d.ts +2 -2
  90. package/lib/models/index.d.ts +0 -30
  91. package/lib/models/index.js +0 -30
  92. package/lib/routes/index.d.ts +1 -0
  93. package/lib/routes/index.js +1 -0
  94. package/lib/routes/publicPaths.d.ts +23 -0
  95. package/lib/routes/publicPaths.js +74 -0
  96. package/lib/state/State.d.ts +0 -12
  97. package/lib/state/State.js +0 -12
  98. package/lib/state/substates/CoreState.js +1 -1
  99. package/lib/state/substates/LayoutState.d.ts +12 -1
  100. package/lib/state/substates/index.d.ts +0 -7
  101. package/lib/state/substates/index.js +0 -7
  102. package/lib/utils/Date.d.ts +7 -0
  103. package/lib/utils/Date.js +43 -10
  104. package/lib/utils/Handles.js +3 -1
  105. package/lib/utils/index.d.ts +1 -1
  106. package/lib/utils/index.js +1 -1
  107. package/lib/views/api-keys/APIKeyEdit.d.ts +8 -0
  108. package/lib/views/{iam-tokens/IAMTokenEdit.js → api-keys/APIKeyEdit.js} +31 -31
  109. package/lib/views/api-keys/APIKeyNew.d.ts +8 -0
  110. package/lib/views/api-keys/APIKeyNew.js +143 -0
  111. package/lib/views/api-keys/APIKeys.d.ts +12 -0
  112. package/lib/views/api-keys/APIKeys.js +128 -0
  113. package/lib/views/api-keys/APIKeysStandalone.d.ts +2 -0
  114. package/lib/views/api-keys/APIKeysStandalone.js +117 -0
  115. package/lib/views/api-keys/index.d.ts +3 -0
  116. package/lib/{mocks/jupyter → views/api-keys}/index.js +3 -1
  117. package/lib/views/datasources/DatasourceDetail.d.ts +1 -1
  118. package/lib/views/datasources/DatasourceNew.d.ts +1 -1
  119. package/lib/views/datasources/Datasources.d.ts +1 -1
  120. package/lib/views/datasources/Datasources.js +12 -3
  121. package/lib/views/iam/SignInSimple.d.ts +37 -1
  122. package/lib/views/iam/SignInSimple.js +110 -12
  123. package/package.json +5 -3
  124. package/lib/App.css +0 -47
  125. package/lib/App.d.ts +0 -3
  126. package/lib/App.js +0 -21
  127. package/lib/api/runtimes/checkpoints.d.ts +0 -122
  128. package/lib/api/runtimes/checkpoints.js +0 -118
  129. package/lib/api/runtimes/environments.d.ts +0 -9
  130. package/lib/api/runtimes/environments.js +0 -29
  131. package/lib/api/runtimes/healthz.d.ts +0 -15
  132. package/lib/api/runtimes/healthz.js +0 -44
  133. package/lib/api/runtimes/index.d.ts +0 -12
  134. package/lib/api/runtimes/index.js +0 -16
  135. package/lib/api/runtimes/runtimes.d.ts +0 -138
  136. package/lib/api/runtimes/runtimes.js +0 -230
  137. package/lib/api/runtimes/snapshots.d.ts +0 -38
  138. package/lib/api/runtimes/snapshots.js +0 -82
  139. package/lib/api/spacer/documents.d.ts +0 -12
  140. package/lib/api/spacer/documents.js +0 -43
  141. package/lib/api/spacer/healthz.d.ts +0 -15
  142. package/lib/api/spacer/healthz.js +0 -44
  143. package/lib/api/spacer/index.d.ts +0 -15
  144. package/lib/api/spacer/index.js +0 -19
  145. package/lib/api/spacer/items.d.ts +0 -25
  146. package/lib/api/spacer/items.js +0 -55
  147. package/lib/api/spacer/lexicals.d.ts +0 -34
  148. package/lib/api/spacer/lexicals.js +0 -89
  149. package/lib/api/spacer/notebooks.d.ts +0 -34
  150. package/lib/api/spacer/notebooks.js +0 -89
  151. package/lib/api/spacer/spaces.d.ts +0 -84
  152. package/lib/api/spacer/spaces.js +0 -170
  153. package/lib/api/spacer/users.d.ts +0 -9
  154. package/lib/api/spacer/users.js +0 -29
  155. package/lib/client/mixins/RuntimesMixin.d.ts +0 -93
  156. package/lib/client/mixins/RuntimesMixin.js +0 -229
  157. package/lib/client/mixins/SpacerMixin.d.ts +0 -210
  158. package/lib/client/mixins/SpacerMixin.js +0 -615
  159. package/lib/client/utils/spacerUtils.d.ts +0 -18
  160. package/lib/client/utils/spacerUtils.js +0 -32
  161. package/lib/collaboration/DatalayerCollaboration.d.ts +0 -13
  162. package/lib/collaboration/DatalayerCollaboration.js +0 -28
  163. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +0 -60
  164. package/lib/collaboration/DatalayerCollaborationProvider.js +0 -163
  165. package/lib/collaboration/index.d.ts +0 -2
  166. package/lib/collaboration/index.js +0 -6
  167. package/lib/components/context/SpaceSelect.d.ts +0 -2
  168. package/lib/components/context/SpaceSelect.js +0 -42
  169. package/lib/components/flashes/FlashDisclaimer.d.ts +0 -2
  170. package/lib/components/flashes/FlashDisclaimer.js +0 -17
  171. package/lib/components/icons/ArtifactIcon.d.ts +0 -10
  172. package/lib/components/icons/ArtifactIcon.js +0 -58
  173. package/lib/components/icons/index.d.ts +0 -1
  174. package/lib/components/icons/index.js +0 -5
  175. package/lib/components/nbgrader/NbGradesDetails.d.ts +0 -5
  176. package/lib/components/nbgrader/NbGradesDetails.js +0 -14
  177. package/lib/components/nbgrader/index.d.ts +0 -1
  178. package/lib/components/nbgrader/index.js +0 -5
  179. package/lib/components/progress/CreditsIndicator.d.ts +0 -33
  180. package/lib/components/progress/CreditsIndicator.js +0 -23
  181. package/lib/components/runtimes/RuntimeCellVariables.d.ts +0 -39
  182. package/lib/components/runtimes/RuntimeCellVariables.js +0 -172
  183. package/lib/components/runtimes/RuntimeCellVariablesDialog.d.ts +0 -37
  184. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +0 -101
  185. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -57
  186. package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -275
  187. package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -69
  188. package/lib/components/runtimes/RuntimePickerBase.js +0 -122
  189. package/lib/components/runtimes/RuntimePickerCell.d.ts +0 -34
  190. package/lib/components/runtimes/RuntimePickerCell.js +0 -104
  191. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
  192. package/lib/components/runtimes/RuntimePickerNotebook.js +0 -232
  193. package/lib/components/runtimes/RuntimeReservationControl.d.ts +0 -47
  194. package/lib/components/runtimes/RuntimeReservationControl.js +0 -42
  195. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
  196. package/lib/components/runtimes/RuntimeSimplePicker.js +0 -155
  197. package/lib/components/runtimes/RuntimeTransfer.d.ts +0 -16
  198. package/lib/components/runtimes/RuntimeTransfer.js +0 -5
  199. package/lib/components/runtimes/RuntimeUtils.d.ts +0 -17
  200. package/lib/components/runtimes/RuntimeUtils.js +0 -178
  201. package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
  202. package/lib/components/runtimes/RuntimeVariables.js +0 -75
  203. package/lib/components/runtimes/index.d.ts +0 -11
  204. package/lib/components/runtimes/index.js +0 -15
  205. package/lib/components/snapshots/SandboxSnapshotMenu.d.ts +0 -33
  206. package/lib/components/snapshots/SandboxSnapshotMenu.js +0 -169
  207. package/lib/components/snapshots/index.d.ts +0 -1
  208. package/lib/components/snapshots/index.js +0 -5
  209. package/lib/components/snippets/SnippetDialog.d.ts +0 -42
  210. package/lib/components/snippets/SnippetDialog.js +0 -42
  211. package/lib/components/students/StudentItemStatus.d.ts +0 -7
  212. package/lib/components/students/StudentItemStatus.js +0 -66
  213. package/lib/components/tokens/SpaceVariantToken.d.ts +0 -5
  214. package/lib/components/tokens/SpaceVariantToken.js +0 -23
  215. package/lib/components/toolbars/AssignmentEditorToolbar.d.ts +0 -4
  216. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -18
  217. package/lib/components/toolbars/DocumentEditorToolbar.d.ts +0 -2
  218. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -12
  219. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +0 -29
  220. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -30
  221. package/lib/examples/CellExample.d.ts +0 -6
  222. package/lib/examples/CellExample.js +0 -20
  223. package/lib/examples/NotebookExample.d.ts +0 -6
  224. package/lib/examples/NotebookExample.js +0 -19
  225. package/lib/examples/lexical-theme.css +0 -436
  226. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +0 -101
  227. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +0 -112
  228. package/lib/examples/notebooks/Lite.ipynb.json +0 -128
  229. package/lib/examples/notebooks/Matplotlib.ipynb.json +0 -137
  230. package/lib/examples/notebooks/NotebookExample1.ipynb.json +0 -126
  231. package/lib/examples/notebooks/NotebookExample2.ipynb.json +0 -48
  232. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +0 -49
  233. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +0 -102
  234. package/lib/examples/notebooks/PyGWalker.ipynb.json +0 -55
  235. package/lib/hooks/useCellOutputshot.d.ts +0 -4
  236. package/lib/hooks/useCellOutputshot.js +0 -25
  237. package/lib/hooks/useProjects.d.ts +0 -628
  238. package/lib/hooks/useProjects.js +0 -190
  239. package/lib/hooks/useRuntimes.d.ts +0 -5
  240. package/lib/hooks/useRuntimes.js +0 -34
  241. package/lib/mocks/models/CourseMock.d.ts +0 -6
  242. package/lib/mocks/models/CourseMock.js +0 -29
  243. package/lib/mocks/models/SpaceMock.d.ts +0 -6
  244. package/lib/mocks/models/SpaceMock.js +0 -25
  245. package/lib/models/Assignment.d.ts +0 -7
  246. package/lib/models/Assignment.js +0 -5
  247. package/lib/models/Cell.d.ts +0 -8
  248. package/lib/models/Cell.js +0 -5
  249. package/lib/models/CodeBlock.d.ts +0 -10
  250. package/lib/models/CodeBlock.js +0 -5
  251. package/lib/models/CodeSandboxSnapshot.d.ts +0 -92
  252. package/lib/models/CodeSandboxSnapshot.js +0 -13
  253. package/lib/models/CodeSandboxSnapshotDTO.d.ts +0 -173
  254. package/lib/models/CodeSandboxSnapshotDTO.js +0 -139
  255. package/lib/models/CodefeedBlocks.d.ts +0 -7
  256. package/lib/models/CodefeedBlocks.js +0 -5
  257. package/lib/models/Content.d.ts +0 -5
  258. package/lib/models/Content.js +0 -5
  259. package/lib/models/Course.d.ts +0 -17
  260. package/lib/models/Course.js +0 -5
  261. package/lib/models/Dataset.d.ts +0 -16
  262. package/lib/models/Dataset.js +0 -5
  263. package/lib/models/Document.d.ts +0 -8
  264. package/lib/models/Document.js +0 -5
  265. package/lib/models/Environment.d.ts +0 -86
  266. package/lib/models/Environment.js +0 -5
  267. package/lib/models/EnvironmentDTO.d.ts +0 -125
  268. package/lib/models/EnvironmentDTO.js +0 -88
  269. package/lib/models/Exercise.d.ts +0 -16
  270. package/lib/models/Exercise.js +0 -5
  271. package/lib/models/Item.d.ts +0 -20
  272. package/lib/models/Item.js +0 -5
  273. package/lib/models/ItemDTO.d.ts +0 -74
  274. package/lib/models/ItemDTO.js +0 -186
  275. package/lib/models/ItemType.d.ts +0 -2
  276. package/lib/models/ItemType.js +0 -5
  277. package/lib/models/Lesson.d.ts +0 -5
  278. package/lib/models/Lesson.js +0 -5
  279. package/lib/models/LexicalDTO.d.ts +0 -155
  280. package/lib/models/LexicalDTO.js +0 -157
  281. package/lib/models/Library.d.ts +0 -10
  282. package/lib/models/Library.js +0 -5
  283. package/lib/models/Notebook.d.ts +0 -11
  284. package/lib/models/Notebook.js +0 -5
  285. package/lib/models/NotebookDTO.d.ts +0 -96
  286. package/lib/models/NotebookDTO.js +0 -153
  287. package/lib/models/Page.d.ts +0 -41
  288. package/lib/models/Page.js +0 -25
  289. package/lib/models/PageTag.d.ts +0 -19
  290. package/lib/models/PageTag.js +0 -94
  291. package/lib/models/ProjectDTO.d.ts +0 -89
  292. package/lib/models/ProjectDTO.js +0 -131
  293. package/lib/models/Runtime.d.ts +0 -123
  294. package/lib/models/Runtime.js +0 -18
  295. package/lib/models/RuntimeDTO.d.ts +0 -191
  296. package/lib/models/RuntimeDTO.js +0 -204
  297. package/lib/models/Space.d.ts +0 -35
  298. package/lib/models/Space.js +0 -66
  299. package/lib/models/SpaceDTO.d.ts +0 -334
  300. package/lib/models/SpaceDTO.js +0 -244
  301. package/lib/models/SpaceItem.d.ts +0 -10
  302. package/lib/models/SpaceItem.js +0 -5
  303. package/lib/models/SpaceMember.d.ts +0 -6
  304. package/lib/models/SpaceMember.js +0 -5
  305. package/lib/models/StudentItem.d.ts +0 -21
  306. package/lib/models/StudentItem.js +0 -5
  307. package/lib/services/DatalayerServiceManager.d.ts +0 -22
  308. package/lib/services/DatalayerServiceManager.js +0 -69
  309. package/lib/services/index.d.ts +0 -4
  310. package/lib/services/index.js +0 -7
  311. package/lib/services/reconnectToRuntime.d.ts +0 -32
  312. package/lib/services/reconnectToRuntime.js +0 -59
  313. package/lib/state/substates/CellState.d.ts +0 -12
  314. package/lib/state/substates/CellState.js +0 -22
  315. package/lib/state/substates/DocumentState.d.ts +0 -10
  316. package/lib/state/substates/DocumentState.js +0 -14
  317. package/lib/state/substates/GradeState.d.ts +0 -10
  318. package/lib/state/substates/GradeState.js +0 -14
  319. package/lib/state/substates/JupyterLabState.d.ts +0 -16
  320. package/lib/state/substates/JupyterLabState.js +0 -17
  321. package/lib/state/substates/NbformatState.d.ts +0 -13
  322. package/lib/state/substates/NbformatState.js +0 -16
  323. package/lib/state/substates/RuntimesState.d.ts +0 -79
  324. package/lib/state/substates/RuntimesState.js +0 -180
  325. package/lib/state/substates/SpaceState.d.ts +0 -11
  326. package/lib/state/substates/SpaceState.js +0 -16
  327. package/lib/stateful/index.d.ts +0 -2
  328. package/lib/stateful/index.js +0 -6
  329. package/lib/stateful/jupyter/exec/Python.d.ts +0 -5
  330. package/lib/stateful/jupyter/exec/Python.js +0 -100
  331. package/lib/stateful/jupyter/exec/Snippets.d.ts +0 -105
  332. package/lib/stateful/jupyter/exec/Snippets.js +0 -101
  333. package/lib/stateful/jupyter/exec/index.d.ts +0 -2
  334. package/lib/stateful/jupyter/exec/index.js +0 -6
  335. package/lib/stateful/jupyter/index.d.ts +0 -2
  336. package/lib/stateful/jupyter/index.js +0 -6
  337. package/lib/stateful/jupyter/kernelsHandler.d.ts +0 -8
  338. package/lib/stateful/jupyter/kernelsHandler.js +0 -39
  339. package/lib/stateful/runtimes/actions.d.ts +0 -102
  340. package/lib/stateful/runtimes/actions.js +0 -249
  341. package/lib/stateful/runtimes/apis.d.ts +0 -273
  342. package/lib/stateful/runtimes/apis.js +0 -5
  343. package/lib/stateful/runtimes/index.d.ts +0 -5
  344. package/lib/stateful/runtimes/index.js +0 -9
  345. package/lib/stateful/runtimes/settings.d.ts +0 -15
  346. package/lib/stateful/runtimes/settings.js +0 -31
  347. package/lib/stateful/runtimes/snapshots.d.ts +0 -25
  348. package/lib/stateful/runtimes/snapshots.js +0 -150
  349. package/lib/stateful/runtimes/utils.d.ts +0 -7
  350. package/lib/stateful/runtimes/utils.js +0 -14
  351. package/lib/utils/Cells.d.ts +0 -2
  352. package/lib/utils/Cells.js +0 -28
  353. package/lib/views/iam-tokens/IAMTokenEdit.d.ts +0 -6
  354. package/lib/views/iam-tokens/IAMTokenNew.d.ts +0 -8
  355. package/lib/views/iam-tokens/IAMTokenNew.js +0 -118
  356. package/lib/views/iam-tokens/IAMTokens.d.ts +0 -12
  357. package/lib/views/iam-tokens/IAMTokens.js +0 -87
  358. package/lib/views/iam-tokens/Tokens.d.ts +0 -2
  359. package/lib/views/iam-tokens/Tokens.js +0 -85
  360. package/lib/views/iam-tokens/index.d.ts +0 -3
  361. package/lib/views/iam-tokens/index.js +0 -7
  362. /package/lib/{mocks/jupyter/index.d.ts → cli-login.d.ts} +0 -0
  363. /package/lib/utils/{logger.d.ts → Logger.d.ts} +0 -0
  364. /package/lib/utils/{logger.js → Logger.js} +0 -0
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { FormControl, IconButton, Text, TextInput } from '@primer/react';
7
- import { Box } from '@datalayer/primer-addons';
8
- import { PlusIcon } from '@primer/octicons-react';
9
- import { Slider } from '@datalayer/primer-addons';
10
- /**
11
- * Maximal time reservable for a runtime in minutes.
12
- *
13
- * TODO this should be configurable
14
- */
15
- export const MAXIMAL_RUNTIME_TIME_RESERVATION_MINUTES = 24 * 60;
16
- /**
17
- * Runtime reservation control
18
- */
19
- export function RuntimeReservationControl(props) {
20
- const { addCredits, burningRate, disabled, error, label, max: maxProps, onTimeChange, time, } = props;
21
- const max = Math.max(1, Math.min(maxProps, MAXIMAL_RUNTIME_TIME_RESERVATION_MINUTES));
22
- const displayedTime = Number.isFinite(time)
23
- ? Math.min(max, Math.max(1, time))
24
- : 1;
25
- const handleTimeChange = (valueOrEvent) => {
26
- const rawValue = typeof valueOrEvent === 'number'
27
- ? valueOrEvent
28
- : parseFloat(valueOrEvent?.target?.value);
29
- if (Number.isFinite(rawValue)) {
30
- onTimeChange(Math.min(max, Math.max(1, rawValue)));
31
- }
32
- };
33
- // Temporary workaround to not show disabled components.
34
- const hidden = disabled;
35
- return !hidden ? (_jsxs(FormControl, { disabled: disabled, sx: { paddingBottom: 'var(--stack-padding-condensed)' }, children: [_jsx(FormControl.Label, { children: label }), _jsxs(Box, { style: {
36
- alignItems: 'center',
37
- display: 'grid',
38
- gridTemplateColumns: 'max-content 1fr max-content max-content',
39
- gridGap: 'var(--stack-gap-condensed)',
40
- width: '100%',
41
- }, children: [_jsx(Slider, { step: 1, min: 1, max: max, value: displayedTime, onChange: handleTimeChange, disabled: disabled, label: "", displayValue: false }), _jsx(TextInput, { type: "number", step: "1", min: "1", max: max, disabled: disabled, value: displayedTime.toFixed(2), onChange: handleTimeChange }), (max === 0 || max > Number.EPSILON) && (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["out of ", maxProps, " available minutes"] }), addCredits && (_jsx(IconButton, { icon: PlusIcon, "aria-label": "Add credits", onClick: () => addCredits() }))] }))] }), _jsxs(FormControl.Caption, { children: ["Maximum execution time that can be consumed by the runtime. It must be less than ", (MAXIMAL_RUNTIME_TIME_RESERVATION_MINUTES / 60).toFixed(0), ' ', "hours.", burningRate && (_jsxs(_Fragment, { children: [_jsx("br", {}), `With the current value, the runtime execution will consume at most ${(time * burningRate * 60).toFixed(2)} credits.`] }))] }), error && (_jsx(FormControl.Validation, { variant: "error", children: error }))] })) : (_jsx(_Fragment, {}));
42
- }
@@ -1,38 +0,0 @@
1
- import { Session } from '@jupyterlab/services';
2
- import { IRuntimeModel, type IRuntimeDesc } from '../../models';
3
- export interface IRuntimeAssignOptions {
4
- /**
5
- * Runtime description.
6
- */
7
- runtimeDesc?: IRuntimeDesc;
8
- /**
9
- * Runtime model to connect to.
10
- */
11
- runtimeModel?: IRuntimeModel;
12
- /**
13
- * Whether to transfer the state to the runtime model.
14
- */
15
- transferState?: boolean;
16
- }
17
- /**
18
- * Runtime picker component properties.
19
- */
20
- interface IRuntimeSimplePickerProps {
21
- /**
22
- * Runtime assignment callback.
23
- */
24
- assignRuntime: (options: IRuntimeAssignOptions) => Promise<void>;
25
- /**
26
- * Connection to the active runtime.
27
- */
28
- sessionConnection?: Session.ISessionConnection;
29
- /**
30
- * Whether browser runtime is available.
31
- */
32
- browserRuntimeAvailable?: boolean;
33
- }
34
- /**
35
- * Runtime simple picker component.
36
- */
37
- export declare function RuntimeSimplePicker(props: IRuntimeSimplePickerProps): JSX.Element;
38
- export {};
@@ -1,155 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { useCallback, useEffect, useState } from 'react';
7
- import { KernelIndicator, useJupyterReactStore, } from '@datalayer/jupyter-react';
8
- import { ISanitizer } from '@jupyterlab/apputils';
9
- import { IMarkdownParser } from '@jupyterlab/rendermime';
10
- import { ActionList, ActionMenu, Box, Button, Tooltip } from '@primer/react';
11
- import { CloudIcon, EyeIcon, UnfoldIcon } from '@primer/octicons-react';
12
- import { BrowserIcon, PlusIcon } from '@datalayer/icons-react';
13
- import { ArtifactIcon } from '../../components/icons/index.js';
14
- import { RuntimeLauncherDialog } from '../../components/runtimes/index.js';
15
- import { useRuntimesStore } from '../../state/index.js';
16
- /**
17
- * Cause to open the new runtime dialog.
18
- */
19
- var RuntimeDialogCause;
20
- (function (RuntimeDialogCause) {
21
- /**
22
- * Don't open.
23
- */
24
- RuntimeDialogCause[RuntimeDialogCause["None"] = 0] = "None";
25
- /**
26
- * Launch a new runtime.
27
- */
28
- RuntimeDialogCause[RuntimeDialogCause["New"] = 1] = "New";
29
- /**
30
- * Transfer the state from the current runtime to a new runtime.
31
- */
32
- RuntimeDialogCause[RuntimeDialogCause["Transfer"] = 2] = "Transfer";
33
- })(RuntimeDialogCause || (RuntimeDialogCause = {}));
34
- /**
35
- * Runtime simple picker component.
36
- */
37
- export function RuntimeSimplePicker(props) {
38
- const { assignRuntime, sessionConnection, browserRuntimeAvailable = true, } = props;
39
- const { runtimeModels, multiServiceManager } = useRuntimesStore();
40
- const jupyterReactStore = useJupyterReactStore();
41
- const jupyterLabAdapter = jupyterReactStore.jupyterLabAdapter;
42
- const [runtimeLocation, setRuntimeLocation] = useState();
43
- const [luminoServices, setLuminoServices] = useState({});
44
- const [dialogCause, setDialogCause] = useState(RuntimeDialogCause.None);
45
- const [status, setStatus] = useState('');
46
- useEffect(() => {
47
- if (sessionConnection) {
48
- function onStatusChanged(connection) {
49
- setStatus(`Runtime ${connection.kernel?.connectionStatus} - Status: ${connection.kernel?.status}`);
50
- }
51
- onStatusChanged(sessionConnection);
52
- sessionConnection?.statusChanged.connect(onStatusChanged);
53
- sessionConnection?.connectionStatusChanged.connect(onStatusChanged);
54
- return () => {
55
- sessionConnection?.statusChanged.disconnect(onStatusChanged);
56
- sessionConnection?.connectionStatusChanged.disconnect(onStatusChanged);
57
- };
58
- }
59
- else {
60
- setStatus('No kernel');
61
- }
62
- }, [sessionConnection]);
63
- const refreshRemoteKernels = useCallback(async () => {
64
- if (multiServiceManager?.remote?.runtimesManager) {
65
- await multiServiceManager.remote.runtimesManager.refresh();
66
- }
67
- }, [multiServiceManager?.remote?.runtimesManager]);
68
- const handleLaunchRemoteKernel = useCallback(() => {
69
- setDialogCause(RuntimeDialogCause.New);
70
- }, []);
71
- const handleCloseDialog = useCallback((runtimeDesc) => {
72
- if (runtimeDesc) {
73
- switch (dialogCause) {
74
- case RuntimeDialogCause.New:
75
- refreshRemoteKernels().then(() => {
76
- setRuntimeLocation('remote');
77
- assignRuntime({
78
- runtimeDesc,
79
- runtimeModel: multiServiceManager?.remote?.runtimesManager
80
- .get()
81
- .find(model => model.id === runtimeDesc.kernelId),
82
- });
83
- });
84
- break;
85
- case RuntimeDialogCause.Transfer:
86
- setRuntimeLocation('remote');
87
- assignRuntime({ runtimeDesc, transferState: true });
88
- break;
89
- }
90
- }
91
- setDialogCause(RuntimeDialogCause.None);
92
- }, [refreshRemoteKernels, multiServiceManager?.remote, dialogCause]);
93
- useEffect(() => {
94
- if (jupyterLabAdapter) {
95
- Promise.all([
96
- jupyterLabAdapter.jupyterLab.resolveOptionalService(IMarkdownParser),
97
- jupyterLabAdapter.jupyterLab.resolveOptionalService(ISanitizer),
98
- ]).then(services => {
99
- setLuminoServices({
100
- [IMarkdownParser.name]: services[0],
101
- [ISanitizer.name]: services[1],
102
- });
103
- });
104
- }
105
- else {
106
- setLuminoServices({});
107
- }
108
- }, [jupyterLabAdapter]);
109
- return (_jsxs(_Fragment, { children: [_jsxs(ActionMenu, { children: [_jsx(ActionMenu.Button, { leadingVisual: () => {
110
- switch (runtimeLocation) {
111
- case 'browser':
112
- return _jsx(BrowserIcon, {});
113
- case 'remote':
114
- return _jsx(CloudIcon, {});
115
- case undefined:
116
- return _jsx(EyeIcon, {});
117
- }
118
- return _jsx(ArtifactIcon, { type: "runtime" });
119
- }, trailingVisual: () => sessionConnection ? (_jsx(Box, { sx: { paddingTop: '5px' }, children: _jsx(KernelIndicator, { kernel: sessionConnection.kernel }) })) : (_jsx(_Fragment, {})), size: "small", variant: "invisible", children: _jsx(Tooltip, { text: status, direction: "s", children: _jsx(Button, { variant: "invisible", size: "small", children: sessionConnection?.kernel?.name ?? 'Runtimes' }) }) }), _jsx(ActionMenu.Overlay, { width: "medium", children: _jsxs(ActionList, { selectionVariant: "single", showDividers: true, children: [_jsxs(ActionList.Group, { children: [_jsxs(ActionList.Item, { selected: runtimeLocation === undefined &&
120
- sessionConnection === undefined, onSelect: () => {
121
- setRuntimeLocation(undefined);
122
- assignRuntime({ runtimeDesc: undefined });
123
- }, children: [_jsx(ActionList.LeadingVisual, { children: _jsx(EyeIcon, {}) }), "Viewer", _jsx(ActionList.Description, { variant: "block", children: "A simple Notebook Viewer without Runtime." })] }), browserRuntimeAvailable && (_jsxs(ActionList.Item, { selected: runtimeLocation === 'browser', onSelect: () => {
124
- setRuntimeLocation('browser');
125
- assignRuntime({
126
- runtimeDesc: {
127
- name: 'pyodide',
128
- location: 'browser',
129
- language: 'python',
130
- },
131
- });
132
- }, children: [_jsx(ActionList.LeadingVisual, { children: _jsx(BrowserIcon, {}) }), "Browser Runtime", _jsx(ActionList.Description, { variant: "block", children: "A Browser Runtime based on Pyodide." })] }))] }), runtimeModels.length > 0 && (_jsxs(ActionList.Group, { children: [_jsx(ActionList.GroupHeading, { children: "Cloud Runtimes" }), runtimeModels.map(kernelModel => {
133
- return (_jsxs(ActionList.Item, { selected: sessionConnection?.kernel?.id === kernelModel.id, onSelect: () => {
134
- setRuntimeLocation('remote');
135
- assignRuntime({
136
- runtimeDesc: {
137
- name: kernelModel.environment_name,
138
- language: '',
139
- location: 'remote',
140
- displayName: kernelModel.given_name,
141
- kernelId: kernelModel.id,
142
- burningRate: kernelModel.burning_rate,
143
- podName: kernelModel.pod_name,
144
- },
145
- runtimeModel: kernelModel,
146
- });
147
- }, children: [_jsx(ActionList.LeadingVisual, { children: _jsx(ArtifactIcon, { type: "runtime" }) }), kernelModel.given_name, _jsx(ActionList.Description, { variant: "block", children: kernelModel.environment_name })] }, kernelModel.id));
148
- })] })), _jsx(ActionList.Divider, {}), _jsxs(ActionList.Group, { children: [_jsxs(ActionList.Item, { selected: false, onSelect: handleLaunchRemoteKernel, children: [_jsx(ActionList.LeadingVisual, { children: _jsx(PlusIcon, {}) }), "Launch a new Runtime\u2026"] }), _jsxs(ActionList.Item, { disabled: runtimeLocation !== 'browser', selected: false, onSelect: () => {
149
- setDialogCause(RuntimeDialogCause.Transfer);
150
- }, title: "Transfer the state of the current Runtime to a new Remote Runtime.", children: [_jsx(ActionList.LeadingVisual, { children: _jsx(UnfoldIcon, {}) }), "Transfer state to a new Runtime\u2026"] })] })] }) })] }), multiServiceManager?.remote && dialogCause > 0 && (_jsx(RuntimeLauncherDialog, { dialogTitle: dialogCause === RuntimeDialogCause.Transfer
151
- ? 'Switch to a new Cloud Runtime'
152
- : undefined, manager: multiServiceManager.remote, onSubmit: handleCloseDialog, markdownParser: luminoServices[IMarkdownParser.name], sanitizer: luminoServices[ISanitizer.name], startRuntime: dialogCause === RuntimeDialogCause.Transfer
153
- ? 'defer'
154
- : dialogCause === RuntimeDialogCause.New }))] }));
155
- }
@@ -1,16 +0,0 @@
1
- import { type IRuntimeOptions } from '../../stateful/runtimes';
2
- export interface RuntimeTransfer {
3
- /**
4
- * Selected Kernel.
5
- */
6
- runtime: Partial<Omit<IRuntimeOptions, 'kernelType'> & {
7
- id: string;
8
- }> | null;
9
- /**
10
- * List of selected variables
11
- *
12
- * It may differ with the serialized variables if
13
- * some serialization failed.
14
- */
15
- selectedVariables: string[];
16
- }
@@ -1,5 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export {};
@@ -1,17 +0,0 @@
1
- import { SessionContext } from '@jupyterlab/apputils';
2
- import { ITranslator } from '@jupyterlab/translation';
3
- import { IMultiServiceManager } from '../../stateful/runtimes';
4
- import { IRuntimeDesc } from '../../models';
5
- export type IDatalayerRuntimeDesc = IRuntimeDesc & {
6
- gpu?: string;
7
- };
8
- /**
9
- * Create the grouped runtime descriptions.
10
- */
11
- export declare function getGroupedRuntimeDescs(multiServiceManager: IMultiServiceManager, kernelId?: string, translator?: ITranslator, filterKernels?: (desc: IDatalayerRuntimeDesc) => boolean, variant?: 'document' | 'cell'): {
12
- [g: string]: IDatalayerRuntimeDesc[];
13
- } | undefined;
14
- /**
15
- * Get the default kernel name given a selector.
16
- */
17
- export declare function getDefaultKernelName(selector: SessionContext.IKernelSearch): string | null;
@@ -1,178 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- import { PathExt } from '@jupyterlab/coreutils';
6
- import { nullTranslator } from '@jupyterlab/translation';
7
- const ASSIGN_NEW_RUNTIME_LABEL = 'Assign a new Runtime';
8
- const ASSIGN_EXISTING_REMOTE_RUNTIME_LABEL = 'Assign an existing Remote Runtime';
9
- const ASSIGN_EXISTING_RUNTIME_LABEL = 'Assign an existing Runtime';
10
- /**
11
- * Create the grouped runtime descriptions.
12
- */
13
- export function getGroupedRuntimeDescs(multiServiceManager, kernelId, translator, filterKernels = () => true, variant) {
14
- translator = translator ?? nullTranslator;
15
- const trans = translator.load('jupyterlab');
16
- const specs = multiServiceManager.local.kernelspecs.specs;
17
- const sessions = multiServiceManager.local.sessions.running();
18
- const kernels = {};
19
- // Add the sessions.
20
- const runningSessions = Array.from(sessions)
21
- .filter(session => session.kernel &&
22
- session.kernel.id !== kernelId &&
23
- specs.kernelspecs[session.kernel.name])
24
- .map(session => {
25
- const spec = specs.kernelspecs[session.kernel.name];
26
- return {
27
- kernelId: session.kernel.id,
28
- name: spec.name,
29
- language: spec.language,
30
- displayName: session.name || PathExt.basename(session.path),
31
- location: 'local',
32
- };
33
- })
34
- .concat(Array.from(multiServiceManager.browser?.sessions.running() ?? [])
35
- .filter(session => session.kernel && session.kernel.id !== kernelId)
36
- .map(session => {
37
- const spec = multiServiceManager.browser.kernelspecs.specs.kernelspecs[session.kernel.name];
38
- return {
39
- id: '', // TODO Assign a proper ID.
40
- kernelId: session.kernel.id,
41
- name: spec.name,
42
- language: spec.language,
43
- displayName: session.name || PathExt.basename(session.path),
44
- location: 'browser',
45
- };
46
- }))
47
- .filter(filterKernels);
48
- // Add the running runtimes.
49
- const listedAsSession = runningSessions.map(s => s.kernelId);
50
- const runningKernels = Array.from(multiServiceManager.local.kernels.running())
51
- .filter(k => !listedAsSession.includes(k.id))
52
- .map(k => {
53
- const spec = specs.kernelspecs[k.name];
54
- return {
55
- kernelId: k.id,
56
- name: spec.name,
57
- language: spec.language,
58
- displayName: spec.display_name,
59
- location: 'local',
60
- };
61
- })
62
- .concat((multiServiceManager.remote?.runtimesManager.get() ?? [])
63
- .filter(k => k.id && !listedAsSession.includes(k.id))
64
- .map(runtime => {
65
- const environment = multiServiceManager
66
- .remote.environments.get()
67
- .find(env => env.name === runtime.environment_name);
68
- return {
69
- kernelId: runtime.id,
70
- name: environment.name,
71
- language: environment.language,
72
- displayName: runtime.given_name ?? environment.title,
73
- location: 'remote',
74
- podName: runtime.pod_name,
75
- gpu: environment.resources?.['nvidia.com/gpu'],
76
- };
77
- }))
78
- .concat(Array.from(multiServiceManager.browser?.kernels.running() ?? [])
79
- .filter(k => !listedAsSession.includes(k.id))
80
- .map(k => {
81
- const spec = multiServiceManager.browser.kernelspecs.specs.kernelspecs[k.name];
82
- return {
83
- kernelId: k.id,
84
- name: spec.name,
85
- language: spec.language,
86
- displayName: spec.display_name,
87
- location: 'browser',
88
- };
89
- }))
90
- .filter(filterKernels);
91
- runningSessions.push(...runningKernels);
92
- if (runningSessions.length) {
93
- const key = variant === 'cell'
94
- ? ASSIGN_EXISTING_REMOTE_RUNTIME_LABEL
95
- : ASSIGN_EXISTING_RUNTIME_LABEL;
96
- kernels[key] = runningSessions;
97
- }
98
- // Environments.
99
- const environments = Object.values(specs.kernelspecs)
100
- .filter(spec => !!spec)
101
- .map(spec => ({
102
- name: spec.name,
103
- language: spec.language,
104
- displayName: spec.display_name,
105
- gpu: spec.resources?.['nvidia.com/gpu'],
106
- location: 'local',
107
- }))
108
- .filter(filterKernels);
109
- environments.push(...(multiServiceManager.remote?.environments
110
- .get()
111
- .map(spec => ({
112
- name: spec.name,
113
- language: spec.language,
114
- displayName: spec.title,
115
- location: 'remote',
116
- gpu: spec.resources?.['nvidia.com/gpu'],
117
- burningRate: spec.burning_rate,
118
- }))
119
- .filter(filterKernels) ?? []));
120
- environments.push(...Object.values(multiServiceManager.browser?.kernelspecs.specs?.kernelspecs ?? {})
121
- .filter(spec => !!spec)
122
- .map(spec => ({
123
- name: spec.name,
124
- language: spec.language,
125
- displayName: spec.display_name,
126
- location: 'browser',
127
- }))
128
- .filter(filterKernels));
129
- if (environments.length) {
130
- kernels[trans.__(ASSIGN_NEW_RUNTIME_LABEL)] = environments;
131
- }
132
- return kernels;
133
- }
134
- /**
135
- * Get the default kernel name given a selector.
136
- */
137
- export function getDefaultKernelName(selector) {
138
- const { specs, preference } = selector;
139
- const { name, language, canStart, autoStartDefault } = preference;
140
- if (!specs || canStart === false) {
141
- return null;
142
- }
143
- const defaultName = autoStartDefault ? specs.default : null;
144
- if (!name && !language) {
145
- return defaultName;
146
- }
147
- // Look for an exact match of a spec name.
148
- for (const specName in specs.kernelspecs) {
149
- if (specName === name) {
150
- return name;
151
- }
152
- }
153
- // Bail if there is no language.
154
- if (!language) {
155
- return defaultName;
156
- }
157
- // Check for a single kernel matching the language.
158
- const matches = [];
159
- for (const specName in specs.kernelspecs) {
160
- const kernelLanguage = specs.kernelspecs[specName]?.language;
161
- if (language === kernelLanguage) {
162
- matches.push(specName);
163
- }
164
- }
165
- if (matches.length === 1) {
166
- const specName = matches[0];
167
- console.warn('No exact match found for ' +
168
- specName +
169
- ', using runtime ' +
170
- specName +
171
- ' that matches ' +
172
- 'language=' +
173
- language);
174
- return specName;
175
- }
176
- // No matches found.
177
- return defaultName;
178
- }
@@ -1,38 +0,0 @@
1
- import { ReactElement } from 'react';
2
- import { ITranslator } from '@jupyterlab/translation';
3
- /**
4
- * {@link RuntimeVariables} properties
5
- */
6
- export interface IRuntimeVariablesProps {
7
- /**
8
- * Component class name
9
- */
10
- className?: string;
11
- /**
12
- * Available kernel variables
13
- *
14
- * Mapping (variable name, variable type)
15
- */
16
- kernelVariables?: {
17
- [name: string]: string;
18
- };
19
- /**
20
- * Kernel variables to be transferred.
21
- */
22
- selectedVariables: string[];
23
- setSelectVariable: (l: string[]) => void;
24
- /**
25
- * Whether to transfer the variable from the current
26
- * to the selected kernel or not.
27
- */
28
- transferVariables: boolean;
29
- setTransferVariable: (v: boolean) => void;
30
- /**
31
- * Application translator
32
- */
33
- translator?: ITranslator;
34
- }
35
- /**
36
- * Runtime variables selector component.
37
- */
38
- export declare function RuntimeVariables(props: IRuntimeVariablesProps): ReactElement;
@@ -1,75 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /*
3
- * Copyright (c) 2023-2025 Datalayer, Inc.
4
- * Distributed under the terms of the Modified BSD License.
5
- */
6
- import { useMemo } from 'react';
7
- import { IconButton, ToggleSwitch, FormControl } from '@primer/react';
8
- import { Box } from '@datalayer/primer-addons';
9
- import { Blankslate, DataTable, Table } from '@primer/react/experimental';
10
- import { nullTranslator } from '@jupyterlab/translation';
11
- import { checkIcon } from '@jupyterlab/ui-components';
12
- /**
13
- * Runtime variables selector component.
14
- */
15
- export function RuntimeVariables(props) {
16
- const { className, translator, selectedVariables, setSelectVariable, transferVariables, setTransferVariable, kernelVariables, } = props;
17
- const trans = useMemo(() => (translator ?? nullTranslator).load('jupyterlab'), [translator]);
18
- const nRows = Object.keys(kernelVariables ?? {}).length;
19
- // Sorting and actions does not play nice together :'(
20
- const columns = [
21
- {
22
- header: trans.__('Name'),
23
- field: 'name',
24
- rowHeader: true,
25
- },
26
- {
27
- header: trans.__('Type'),
28
- field: 'type',
29
- },
30
- {
31
- id: 'select',
32
- maxWidth: '70px',
33
- header: () => (_jsx(IconButton, { "aria-label": selectedVariables.length === nRows
34
- ? trans.__('Deselect all')
35
- : trans.__('Select all'), title: selectedVariables.length === nRows
36
- ? trans.__('Deselect all')
37
- : trans.__('Select all'), icon: selectedVariables.length === nRows
38
- ? checkIcon.react
39
- : () => _jsx("span", {}), variant: "default", size: "small", onClick: e => {
40
- e.preventDefault();
41
- if (selectedVariables.length === nRows) {
42
- setSelectVariable([]);
43
- }
44
- else {
45
- setSelectVariable(Object.keys(kernelVariables ?? {}));
46
- }
47
- } })),
48
- renderCell: (row) => {
49
- const isSelected = selectedVariables.includes(row.name);
50
- return (_jsx(IconButton, { "aria-label": isSelected
51
- ? trans.__('Deselect: %1', row.name)
52
- : trans.__('Select: %1', row.name), title: isSelected
53
- ? trans.__('Deselect: %1', row.name)
54
- : trans.__('Select: %1', row.name), icon: isSelected ? checkIcon.react : () => _jsx("span", {}), variant: "default", size: "small", onClick: e => {
55
- e.preventDefault();
56
- const index = selectedVariables.findIndex(v => v === row.name);
57
- if (index >= 0) {
58
- const copy = [...selectedVariables];
59
- copy.splice(index, 1);
60
- setSelectVariable(copy);
61
- }
62
- else {
63
- setSelectVariable([...selectedVariables, row.name]);
64
- }
65
- } }));
66
- },
67
- },
68
- ];
69
- return (_jsxs(Box, { className: className, sx: { paddingTop: '10px' }, children: [_jsxs(FormControl, { layout: "horizontal", children: [_jsx(FormControl.Label, { children: trans.__('Transfer variables') }), _jsx(ToggleSwitch, { checked: transferVariables, size: "small", onClick: e => {
70
- e.preventDefault();
71
- setTransferVariable(!transferVariables);
72
- }, "aria-labelledby": "kernel-toggle-variables" })] }), transferVariables && (_jsxs(Table.Container, { sx: { flex: '1 1 auto', marginTop: 3 }, children: [_jsx(Table.Subtitle, { as: "p", id: "dla-kernel-variables-subtitle", children: trans.__('The list of transferable runtime variables.') }), kernelVariables ? (Object.keys(kernelVariables ?? {}).length ? (_jsx(DataTable, { "aria-labelledby": "dla-kernel-variables", "aria-describedby": "dla-kernel-variables-subtitle", data: Object.entries(kernelVariables ?? {})
73
- .map(([name, type], id) => ({ id, name, type }))
74
- .sort((a, b) => (a.name > b.name ? 1 : -1)), columns: columns, cellPadding: "condensed" })) : (_jsx(Box, { sx: { gridArea: 'table' }, children: _jsx(Blankslate, { border: true, children: _jsx(Blankslate.Heading, { children: trans.__('No eligible variables.') }) }) }))) : (_jsx(Table.Skeleton, { "aria-labelledby": "dla-kernel-variables", "aria-describedby": "dla-kernel-variables-subtitle", columns: columns, rows: 5 }))] }))] }));
75
- }
@@ -1,11 +0,0 @@
1
- export * from './RuntimeCellVariables';
2
- export * from './RuntimeCellVariablesDialog';
3
- export * from './RuntimeLauncherDialog';
4
- export * from './RuntimePickerBase';
5
- export * from './RuntimePickerCell';
6
- export * from './RuntimePickerNotebook';
7
- export * from './RuntimeReservationControl';
8
- export * from './RuntimeSimplePicker';
9
- export * from './RuntimeTransfer';
10
- export * from './RuntimeUtils';
11
- export * from './RuntimeVariables';
@@ -1,15 +0,0 @@
1
- /*
2
- * Copyright (c) 2023-2025 Datalayer, Inc.
3
- * Distributed under the terms of the Modified BSD License.
4
- */
5
- export * from './RuntimeCellVariables.js';
6
- export * from './RuntimeCellVariablesDialog.js';
7
- export * from './RuntimeLauncherDialog.js';
8
- export * from './RuntimePickerBase.js';
9
- export * from './RuntimePickerCell.js';
10
- export * from './RuntimePickerNotebook.js';
11
- export * from './RuntimeReservationControl.js';
12
- export * from './RuntimeSimplePicker.js';
13
- export * from './RuntimeTransfer.js';
14
- export * from './RuntimeUtils.js';
15
- export * from './RuntimeVariables.js';
@@ -1,33 +0,0 @@
1
- import { type PropsWithChildren } from 'react';
2
- import { Kernel } from '@jupyterlab/services';
3
- import { IMultiServiceManager } from '../../stateful/runtimes';
4
- /**
5
- * Code Sandbox snapshot menu component properties
6
- */
7
- type ICodeSandboxSnapshotMenu = {
8
- /**
9
- * Application multi service manager.
10
- */
11
- multiServiceManager?: IMultiServiceManager;
12
- /**
13
- * Connection to the current kernel.
14
- *
15
- * It is needed only for browser kernels.
16
- */
17
- connection?: Kernel.IKernelConnection;
18
- /**
19
- * Pod name
20
- *
21
- * It is needed for remote kernels.
22
- */
23
- podName?: string;
24
- /**
25
- * Whether the menu is disabled.
26
- */
27
- disabled: boolean;
28
- };
29
- /**
30
- * Code Sandbox Snapshot menu component.
31
- */
32
- export declare function SandboxSnapshotMenu({ children, connection, podName, multiServiceManager, disabled, }: PropsWithChildren<ICodeSandboxSnapshotMenu>): JSX.Element;
33
- export {};