@datalayer/core 0.0.2 → 0.0.4

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 (474) hide show
  1. package/README.md +124 -2
  2. package/lib/App.css +47 -0
  3. package/lib/App.js +14 -2
  4. package/lib/__tests__/index.test.js +7 -6
  5. package/lib/api/{RunApi.d.ts → DatalayerApi.d.ts} +4 -4
  6. package/lib/api/{RunApi.js → DatalayerApi.js} +6 -11
  7. package/lib/api/index.d.ts +3 -2
  8. package/lib/api/index.js +3 -7
  9. package/lib/api/{runtimes → jupyter}/exec/Python.js +0 -5
  10. package/lib/api/{runtimes → jupyter}/exec/Snippets.js +0 -5
  11. package/lib/api/{runtimes → jupyter}/exec/index.js +0 -5
  12. package/lib/api/jupyter/index.d.ts +2 -0
  13. package/lib/api/jupyter/index.js +6 -0
  14. package/lib/api/{runtimes → jupyter}/kernelsHandler.d.ts +1 -1
  15. package/lib/api/{runtimes → jupyter}/kernelsHandler.js +1 -6
  16. package/lib/api/runtimes/actions.d.ts +102 -0
  17. package/lib/api/runtimes/{runtimesApi.js → actions.js} +47 -53
  18. package/lib/api/runtimes/{runtimesApi.d.ts → apis.d.ts} +8 -105
  19. package/lib/api/runtimes/apis.js +5 -0
  20. package/lib/api/runtimes/index.d.ts +2 -4
  21. package/lib/api/runtimes/index.js +2 -9
  22. package/lib/api/runtimes/settings.js +3 -8
  23. package/lib/api/runtimes/snapshots.d.ts +1 -1
  24. package/lib/api/runtimes/snapshots.js +8 -13
  25. package/lib/api/runtimes/utils.js +1 -9
  26. package/lib/assets/react.svg +1 -0
  27. package/lib/collaboration/DatalayerCollaboration.d.ts +9 -0
  28. package/lib/collaboration/DatalayerCollaboration.js +28 -0
  29. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +54 -0
  30. package/lib/collaboration/DatalayerCollaborationProvider.js +162 -0
  31. package/lib/collaboration/index.d.ts +2 -0
  32. package/lib/collaboration/index.js +6 -0
  33. package/lib/components/avatars/BoringAvatar.d.ts +2 -3
  34. package/lib/components/avatars/BoringAvatar.js +14 -9
  35. package/lib/components/avatars/BoringAvatar.stories.d.ts +27 -0
  36. package/lib/components/avatars/BoringAvatar.stories.js +23 -0
  37. package/lib/components/avatars/UserProfileAvatar.js +2 -14
  38. package/lib/components/avatars/index.js +0 -5
  39. package/lib/components/banners/NoAutomationBanner.js +4 -9
  40. package/lib/components/banners/index.js +0 -5
  41. package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
  42. package/lib/components/buttons/DownloadCSVButton.js +1 -6
  43. package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
  44. package/lib/components/buttons/DownloadJsonButton.js +0 -5
  45. package/lib/components/buttons/LongActionButton.js +0 -5
  46. package/lib/components/buttons/UploadButton.js +1 -6
  47. package/lib/components/buttons/index.js +0 -5
  48. package/lib/components/checkout/StripeCheckout.d.ts +1 -1
  49. package/lib/components/checkout/StripeCheckout.js +6 -11
  50. package/lib/components/checkout/index.js +0 -5
  51. package/lib/components/confetti/ConfettiSuccess.js +1 -6
  52. package/lib/components/confetti/index.js +0 -5
  53. package/lib/components/context/OrganizationSelect.js +5 -10
  54. package/lib/components/context/SpaceSelect.js +7 -12
  55. package/lib/components/context/index.js +0 -5
  56. package/lib/components/display/AvatarSkeleton.js +1 -6
  57. package/lib/components/display/CenteredSpinner.js +4 -9
  58. package/lib/components/display/CodePreview.js +4 -9
  59. package/lib/components/display/DatalayerBox.js +13 -19
  60. package/lib/components/display/HorizontalCenter.d.ts +1 -1
  61. package/lib/components/display/HorizontalCenter.js +1 -1
  62. package/lib/components/display/JupyterDialog.js +17 -20
  63. package/lib/components/display/NavLink.d.ts +4 -2
  64. package/lib/components/display/NavLink.js +6 -9
  65. package/lib/components/display/NotebookSkeleton.js +2 -7
  66. package/lib/components/display/Placeholder.js +1 -6
  67. package/lib/components/display/ToTopBranded.js +1 -6
  68. package/lib/components/display/VisuallyHidden.js +0 -5
  69. package/lib/components/display/index.js +0 -5
  70. package/lib/components/echarts/EChartsReact.d.ts +1 -1
  71. package/lib/components/echarts/EChartsReact.js +7 -7
  72. package/lib/components/echarts/index.js +0 -5
  73. package/lib/components/flashes/FlashClosable.js +11 -16
  74. package/lib/components/flashes/FlashDisclaimer.js +2 -8
  75. package/lib/components/flashes/FlashGuest.js +3 -9
  76. package/lib/components/flashes/FlashSurveys.js +3 -9
  77. package/lib/components/flashes/FlashUnauthorized.js +2 -7
  78. package/lib/components/flashes/index.js +0 -5
  79. package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
  80. package/lib/components/flashes/surveys/Survey2025_1.js +62 -90
  81. package/lib/components/flashes/surveys/index.js +0 -5
  82. package/lib/components/iam/ExternalTokenSilentLogin.js +6 -9
  83. package/lib/components/iam/index.js +0 -5
  84. package/lib/components/icons/ArtifactIcon.d.ts +2 -2
  85. package/lib/components/icons/ArtifactIcon.js +39 -44
  86. package/lib/components/icons/index.js +0 -5
  87. package/lib/components/index.js +1 -6
  88. package/lib/components/labels/VisibilityLabel.js +2 -10
  89. package/lib/components/labels/index.js +0 -5
  90. package/lib/components/landings/StepBlock.d.ts +1 -1
  91. package/lib/components/landings/StepBlock.js +1 -6
  92. package/lib/components/landings/index.js +0 -5
  93. package/lib/components/navbar/NavigationVisbilityObserver.js +2 -7
  94. package/lib/components/navbar/SubdomainNavBar.js +46 -29
  95. package/lib/components/navbar/SubdomainNavBar.module.css +737 -0
  96. package/lib/components/navbar/index.js +0 -5
  97. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  98. package/lib/components/nbgrader/NbGradesDetails.js +5 -13
  99. package/lib/components/nbgrader/index.js +0 -5
  100. package/lib/components/notebooks/JupyterNotebook.js +5 -10
  101. package/lib/components/notebooks/JupyterNotebookToolbar.js +3 -8
  102. package/lib/components/notebooks/index.js +0 -5
  103. package/lib/components/primer/Helper.d.ts +1 -1
  104. package/lib/components/primer/Helper.js +5 -3
  105. package/lib/components/primer/Portals.d.ts +1 -1
  106. package/lib/components/primer/Portals.js +2 -7
  107. package/lib/components/primer/Styles.js +1 -6
  108. package/lib/components/primer/index.js +0 -5
  109. package/lib/components/progress/ConsumptionBar.js +2 -7
  110. package/lib/components/progress/CreditsIndicator.d.ts +1 -1
  111. package/lib/components/progress/CreditsIndicator.js +4 -13
  112. package/lib/components/progress/ProgressBar.js +0 -5
  113. package/lib/components/progress/ProgressRing.js +2 -2
  114. package/lib/components/progress/Timer.js +0 -5
  115. package/lib/components/progress/index.js +0 -5
  116. package/lib/components/runtimes/RuntimeCellVariables.js +9 -14
  117. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +7 -12
  118. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +1 -2
  119. package/lib/components/runtimes/RuntimeLauncherDialog.js +32 -40
  120. package/lib/components/runtimes/RuntimePickerBase.d.ts +1 -1
  121. package/lib/components/runtimes/RuntimePickerBase.js +42 -36
  122. package/lib/components/runtimes/RuntimePickerCell.js +9 -17
  123. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +1 -2
  124. package/lib/components/runtimes/RuntimePickerNotebook.js +45 -50
  125. package/lib/components/runtimes/RuntimeReservationControl.js +10 -20
  126. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +1 -1
  127. package/lib/components/runtimes/RuntimeSimplePicker.js +44 -52
  128. package/lib/components/runtimes/RuntimeUtils.d.ts +1 -1
  129. package/lib/components/runtimes/RuntimeUtils.js +22 -17
  130. package/lib/components/runtimes/RuntimeVariables.js +7 -12
  131. package/lib/components/runtimes/index.js +0 -5
  132. package/lib/components/screenshot/ScreenCapture.js +10 -19
  133. package/lib/components/screenshot/ScreenCaptureButton.d.ts +1 -1
  134. package/lib/components/screenshot/ScreenCaptureButton.js +14 -8
  135. package/lib/components/screenshot/index.js +0 -5
  136. package/lib/components/snapshots/RuntimeSnapshotMenu.js +19 -22
  137. package/lib/components/snapshots/index.js +0 -5
  138. package/lib/components/snippets/SnippetDialog.js +5 -10
  139. package/lib/components/snippets/index.js +0 -5
  140. package/lib/components/storage/ContentsBrowser.js +75 -63
  141. package/lib/components/storage/ContentsItems.js +10 -13
  142. package/lib/components/storage/index.js +0 -5
  143. package/lib/components/students/StudentItemStatus.d.ts +1 -1
  144. package/lib/components/students/StudentItemStatus.js +38 -21
  145. package/lib/components/students/index.js +0 -5
  146. package/lib/components/subnav/SubNav.d.ts +3 -3
  147. package/lib/components/subnav/SubNav.js +34 -24
  148. package/lib/components/subnav/SubNav.module.css +717 -0
  149. package/lib/components/subnav/index.js +0 -5
  150. package/lib/components/tables/DataTable.js +1 -9
  151. package/lib/components/tables/index.js +0 -5
  152. package/lib/components/text-reveal/TextRevealAnimation.js +7 -8
  153. package/lib/components/text-reveal/TextRevealAnimation.module.css +45 -0
  154. package/lib/components/text-reveal/index.js +0 -5
  155. package/lib/components/text-reveal/useTextRevealAnimationLines.js +0 -5
  156. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  157. package/lib/components/tokens/SpaceVariantToken.js +5 -10
  158. package/lib/components/tokens/index.js +0 -5
  159. package/lib/components/toolbars/AssignmentEditorToolbar.js +1 -8
  160. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -5
  161. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +1 -1
  162. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -5
  163. package/lib/components/toolbars/index.js +0 -5
  164. package/lib/components/users/PeerIndicator.d.ts +1 -1
  165. package/lib/components/users/PeerIndicator.js +5 -10
  166. package/lib/components/users/index.js +0 -5
  167. package/lib/config/Configuration.d.ts +48 -0
  168. package/lib/config/Configuration.js +42 -5
  169. package/lib/config/index.js +0 -5
  170. package/lib/config/integrations/Loom.js +3 -8
  171. package/lib/config/integrations/index.js +0 -5
  172. package/lib/examples/CellExample.d.ts +6 -0
  173. package/lib/examples/CellExample.js +55 -0
  174. package/lib/examples/DatalayerNotebookExample.d.ts +16 -0
  175. package/lib/examples/DatalayerNotebookExample.js +75 -0
  176. package/lib/examples/NativeNavigationExample.d.ts +8 -0
  177. package/lib/examples/NativeNavigationExample.js +97 -0
  178. package/lib/examples/NotebookExample.d.ts +6 -0
  179. package/lib/examples/NotebookExample.js +24 -0
  180. package/lib/examples/NotebookMutationsKernel.d.ts +2 -0
  181. package/lib/examples/NotebookMutationsKernel.js +115 -0
  182. package/lib/examples/NotebookMutationsServiceManager.d.ts +2 -0
  183. package/lib/examples/NotebookMutationsServiceManager.js +107 -0
  184. package/lib/examples/ReactRouterExample.d.ts +6 -0
  185. package/lib/examples/ReactRouterExample.js +175 -0
  186. package/lib/examples/example-selector.d.ts +22 -0
  187. package/lib/examples/example-selector.js +45 -0
  188. package/lib/examples/index.d.ts +2 -0
  189. package/lib/examples/index.js +6 -0
  190. package/lib/examples/main.js +153 -0
  191. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +101 -0
  192. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
  193. package/lib/examples/notebooks/Lite.ipynb.json +128 -0
  194. package/lib/examples/notebooks/Matplotlib.ipynb.json +137 -0
  195. package/lib/examples/notebooks/NotebookExample1.ipynb.json +126 -0
  196. package/lib/examples/notebooks/NotebookExample2.ipynb.json +48 -0
  197. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +49 -0
  198. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +102 -0
  199. package/lib/examples/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
  200. package/lib/examples/notebooks/OutputIPyWidgetsExample.js +153 -0
  201. package/lib/examples/notebooks/PyGWalker.ipynb.json +55 -0
  202. package/lib/hooks/assets/OutputshotPlaceholders.d.ts +10 -10
  203. package/lib/hooks/assets/OutputshotPlaceholders.js +9 -14
  204. package/lib/hooks/assets/index.js +0 -5
  205. package/lib/hooks/index.d.ts +29 -28
  206. package/lib/hooks/index.js +29 -33
  207. package/lib/hooks/layouts/LayoutBackdrop.js +3 -11
  208. package/lib/hooks/layouts/LayoutScreenshot.css +58 -0
  209. package/lib/hooks/layouts/LayoutScreenshot.d.ts +1 -0
  210. package/lib/hooks/layouts/LayoutScreenshot.js +7 -11
  211. package/lib/hooks/layouts/index.js +0 -5
  212. package/lib/hooks/useAIAgents.d.ts +1 -1
  213. package/lib/hooks/useAIAgents.js +13 -18
  214. package/lib/hooks/useAuthorization.js +4 -10
  215. package/lib/hooks/useBackdrop.js +7 -12
  216. package/lib/hooks/useBackdropJupyterLab.d.ts +1 -1
  217. package/lib/hooks/useBackdropJupyterLab.js +4 -9
  218. package/lib/hooks/useCache.d.ts +8 -4
  219. package/lib/hooks/useCache.js +410 -361
  220. package/lib/hooks/useCellOutputshot.js +3 -11
  221. package/lib/hooks/useContainsFocus.js +2 -6
  222. package/lib/hooks/useDatalayer.d.ts +21 -0
  223. package/lib/hooks/{useRun.js → useDatalayer.js} +16 -18
  224. package/lib/hooks/useError.d.ts +1 -1
  225. package/lib/hooks/useError.js +2 -7
  226. package/lib/hooks/useExternalScript.js +4 -9
  227. package/lib/hooks/useFocusTrap.d.ts +1 -1
  228. package/lib/hooks/useFocusTrap.js +3 -7
  229. package/lib/hooks/useIAM.js +6 -12
  230. package/lib/hooks/useId.js +6 -11
  231. package/lib/hooks/useIsomorphicLayoutEffect.js +0 -5
  232. package/lib/hooks/useJupyterLabTheme.js +3 -6
  233. package/lib/hooks/useKeyboardEscape.js +0 -5
  234. package/lib/hooks/useLocation.d.ts +22 -0
  235. package/lib/hooks/useLocation.js +149 -0
  236. package/lib/hooks/useLocationHandles.d.ts +2 -2
  237. package/lib/hooks/useLocationHandles.js +6 -9
  238. package/lib/hooks/useNavigate.d.ts +5 -1
  239. package/lib/hooks/useNavigate.js +62 -12
  240. package/lib/hooks/useNotebookAIAgent.js +3 -6
  241. package/lib/hooks/useOnClickOutside.js +0 -5
  242. package/lib/hooks/useParams.d.ts +5 -0
  243. package/lib/hooks/useParams.js +152 -0
  244. package/lib/hooks/useRef.js +0 -5
  245. package/lib/hooks/useRuntimes.js +2 -7
  246. package/lib/hooks/useScreenshot.js +5 -10
  247. package/lib/hooks/useToast.js +21 -21
  248. package/lib/hooks/useUpload.js +9 -14
  249. package/lib/hooks/useUser.js +1 -1
  250. package/lib/hooks/useVisibilityObserver.js +0 -5
  251. package/lib/hooks/useWindowSize.js +0 -6
  252. package/lib/i18n/Labels.js +0 -5
  253. package/lib/i18n/index.js +0 -5
  254. package/lib/index.css +73 -0
  255. package/lib/index.d.ts +6 -3
  256. package/lib/index.js +7 -3
  257. package/lib/main.js +1 -2
  258. package/lib/mocks/components/FlashMock.js +4 -9
  259. package/lib/mocks/components/index.js +0 -5
  260. package/lib/mocks/hooks/index.d.ts +1 -1
  261. package/lib/mocks/hooks/index.js +1 -6
  262. package/lib/mocks/hooks/rests/index.js +0 -5
  263. package/lib/mocks/hooks/rests/rests.js +15 -23
  264. package/lib/mocks/hooks/useDatalayerMock.d.ts +6 -0
  265. package/lib/mocks/hooks/{useRunMock.js → useDatalayerMock.js} +9 -14
  266. package/lib/mocks/index.js +0 -5
  267. package/lib/mocks/jupyter/index.js +1 -6
  268. package/lib/mocks/models/CodeBlockMock.js +1 -6
  269. package/lib/mocks/models/CodelineMock.js +1 -6
  270. package/lib/mocks/models/CourseMock.d.ts +1 -1
  271. package/lib/mocks/models/CourseMock.js +10 -15
  272. package/lib/mocks/models/InviteMock.d.ts +1 -1
  273. package/lib/mocks/models/InviteMock.js +21 -11
  274. package/lib/mocks/models/JupyterLabUserMock.js +2 -2
  275. package/lib/mocks/models/OrganisationMock.d.ts +1 -1
  276. package/lib/mocks/models/OrganisationMock.js +11 -7
  277. package/lib/mocks/models/SchoolMock.d.ts +1 -1
  278. package/lib/mocks/models/SchoolMock.js +6 -6
  279. package/lib/mocks/models/SpaceMock.d.ts +1 -1
  280. package/lib/mocks/models/SpaceMock.js +9 -14
  281. package/lib/mocks/models/TeamMock.d.ts +1 -1
  282. package/lib/mocks/models/TeamMock.js +6 -6
  283. package/lib/mocks/models/UserMock.d.ts +1 -1
  284. package/lib/mocks/models/UserMock.js +4 -11
  285. package/lib/mocks/models/index.js +0 -5
  286. package/lib/mocks/views/ActionMenuMock.js +1 -6
  287. package/lib/mocks/views/ChartMock.js +3 -8
  288. package/lib/mocks/views/ChartMockOptions.js +24 -29
  289. package/lib/mocks/views/DashboardMock.js +74 -79
  290. package/lib/mocks/views/FormMock.js +1 -6
  291. package/lib/mocks/views/TableMock.js +1 -6
  292. package/lib/mocks/views/WipMock.js +0 -5
  293. package/lib/mocks/views/index.js +0 -5
  294. package/lib/models/Account.d.ts +2 -2
  295. package/lib/models/Assignment.d.ts +2 -2
  296. package/lib/models/Cell.d.ts +1 -1
  297. package/lib/models/CodeBlock.d.ts +1 -1
  298. package/lib/models/CodefeedBlocks.d.ts +2 -2
  299. package/lib/models/Contact.d.ts +1 -1
  300. package/lib/models/Contact.js +14 -19
  301. package/lib/models/ContactEvent.js +0 -5
  302. package/lib/models/ContactIAMProvider.js +2 -2
  303. package/lib/models/Course.d.ts +7 -7
  304. package/lib/models/Credits.js +0 -5
  305. package/lib/models/Dataset.d.ts +2 -2
  306. package/lib/models/Datasource.js +0 -5
  307. package/lib/models/Dean.d.ts +1 -1
  308. package/lib/models/Document.d.ts +1 -1
  309. package/lib/models/Environment.d.ts +2 -2
  310. package/lib/models/Errors.js +0 -5
  311. package/lib/models/Exercise.d.ts +1 -1
  312. package/lib/models/GrowthKPI.js +0 -5
  313. package/lib/models/IAMProviderLinked.js +1 -1
  314. package/lib/models/IAMProviderUsers.js +0 -5
  315. package/lib/models/IAMToken.js +0 -5
  316. package/lib/models/Inbound.js +0 -5
  317. package/lib/models/Instructor.d.ts +1 -1
  318. package/lib/models/Invite.d.ts +2 -2
  319. package/lib/models/Invite.js +1 -1
  320. package/lib/models/Item.d.ts +5 -5
  321. package/lib/models/LandingRoles.js +18 -23
  322. package/lib/models/Lesson.d.ts +1 -1
  323. package/lib/models/Member.d.ts +1 -1
  324. package/lib/models/Notebook.d.ts +1 -1
  325. package/lib/models/Organization.d.ts +4 -4
  326. package/lib/models/Organization.js +2 -7
  327. package/lib/models/OrganizationMember.d.ts +2 -2
  328. package/lib/models/Outbound.js +7 -12
  329. package/lib/models/Page.js +4 -2
  330. package/lib/models/PageTag.d.ts +2 -2
  331. package/lib/models/PageTag.js +56 -9
  332. package/lib/models/Profile.d.ts +1 -1
  333. package/lib/models/RolesOrganization.d.ts +1 -1
  334. package/lib/models/RolesOrganization.js +4 -17
  335. package/lib/models/RolesPlatform.d.ts +1 -1
  336. package/lib/models/RolesPlatform.js +12 -39
  337. package/lib/models/RolesTeam.d.ts +1 -1
  338. package/lib/models/RolesTeam.js +3 -15
  339. package/lib/models/Runtime.d.ts +59 -1
  340. package/lib/models/Runtime.js +11 -9
  341. package/lib/models/RuntimeSnapshot.js +1 -1
  342. package/lib/models/School.d.ts +4 -4
  343. package/lib/models/Secret.js +0 -5
  344. package/lib/models/Space.d.ts +5 -5
  345. package/lib/models/Space.js +3 -3
  346. package/lib/models/SpaceItem.d.ts +8 -8
  347. package/lib/models/SpaceMember.d.ts +2 -2
  348. package/lib/models/Student.d.ts +2 -2
  349. package/lib/models/StudentItem.d.ts +3 -3
  350. package/lib/models/Survey.js +0 -5
  351. package/lib/models/Team.d.ts +3 -3
  352. package/lib/models/Team.js +2 -7
  353. package/lib/models/TeamMember.d.ts +2 -2
  354. package/lib/models/URN.js +1 -6
  355. package/lib/models/User.d.ts +2 -2
  356. package/lib/models/User.js +7 -10
  357. package/lib/models/UserEvent.js +0 -5
  358. package/lib/models/UserOnboarding.d.ts +1 -1
  359. package/lib/models/UserOnboarding.js +7 -12
  360. package/lib/models/UserSettings.js +2 -7
  361. package/lib/models/index.d.ts +2 -2
  362. package/lib/models/index.js +2 -7
  363. package/lib/navigation/adapters/native.d.ts +11 -0
  364. package/lib/navigation/adapters/native.js +48 -0
  365. package/lib/navigation/adapters/nextjs.d.ts +9 -0
  366. package/lib/navigation/adapters/nextjs.js +35 -0
  367. package/lib/navigation/adapters/react-router.d.ts +4 -0
  368. package/lib/navigation/adapters/react-router.js +12 -0
  369. package/lib/navigation/components.d.ts +20 -0
  370. package/lib/navigation/components.js +36 -0
  371. package/lib/navigation/index.d.ts +4 -0
  372. package/lib/navigation/index.js +12 -0
  373. package/lib/routes/Routes.js +0 -5
  374. package/lib/routes/index.d.ts +1 -1
  375. package/lib/routes/index.js +1 -6
  376. package/lib/services/DatalayerServiceManager.d.ts +22 -0
  377. package/lib/services/DatalayerServiceManager.js +79 -0
  378. package/lib/services/index.d.ts +4 -0
  379. package/lib/services/index.js +7 -0
  380. package/lib/services/reconnectToRuntime.d.ts +32 -0
  381. package/lib/services/reconnectToRuntime.js +59 -0
  382. package/lib/state/State.d.ts +1 -1
  383. package/lib/state/State.js +1 -6
  384. package/lib/state/index.d.ts +1 -1
  385. package/lib/state/index.js +1 -6
  386. package/lib/state/storage/IAMStorage.js +14 -7
  387. package/lib/state/storage/index.d.ts +1 -1
  388. package/lib/state/storage/index.js +1 -6
  389. package/lib/state/substates/AIAgentState.js +4 -7
  390. package/lib/state/substates/CellState.js +6 -10
  391. package/lib/state/substates/CoreState.d.ts +1 -1
  392. package/lib/state/substates/CoreState.js +23 -20
  393. package/lib/state/substates/DatasourceState.js +1 -6
  394. package/lib/state/substates/DocumentState.js +0 -5
  395. package/lib/state/substates/GradeState.js +0 -5
  396. package/lib/state/substates/IAMState.d.ts +5 -1
  397. package/lib/state/substates/IAMState.js +88 -72
  398. package/lib/state/substates/JupyterLabState.js +1 -6
  399. package/lib/state/substates/LayoutState.d.ts +2 -2
  400. package/lib/state/substates/LayoutState.js +41 -28
  401. package/lib/state/substates/NbformatState.js +0 -5
  402. package/lib/state/substates/OrganizationState.js +1 -6
  403. package/lib/state/substates/RuntimesState.d.ts +2 -2
  404. package/lib/state/substates/RuntimesState.js +6 -10
  405. package/lib/state/substates/SpaceState.js +1 -6
  406. package/lib/state/substates/SurveysState.js +7 -12
  407. package/lib/state/substates/TeamState.js +1 -6
  408. package/lib/state/substates/index.js +0 -5
  409. package/lib/stories/assets/accessibility.png +0 -0
  410. package/lib/stories/assets/accessibility.svg +1 -0
  411. package/lib/stories/assets/addon-library.png +0 -0
  412. package/lib/stories/assets/assets.png +0 -0
  413. package/lib/stories/assets/context.png +0 -0
  414. package/lib/stories/assets/discord.svg +1 -0
  415. package/lib/stories/assets/docs.png +0 -0
  416. package/lib/stories/assets/figma-plugin.png +0 -0
  417. package/lib/stories/assets/github.svg +1 -0
  418. package/lib/stories/assets/share.png +0 -0
  419. package/lib/stories/assets/styling.png +0 -0
  420. package/lib/stories/assets/testing.png +0 -0
  421. package/lib/stories/assets/theming.png +0 -0
  422. package/lib/stories/assets/tutorials.svg +1 -0
  423. package/lib/stories/assets/youtube.svg +1 -0
  424. package/lib/stories/button.css +35 -0
  425. package/lib/stories/header.css +37 -0
  426. package/lib/stories/page.css +73 -0
  427. package/lib/test-setup.js +73 -1
  428. package/lib/theme/DatalayerTheme.js +1 -6
  429. package/lib/theme/DatalayerThemeProvider.js +17 -19
  430. package/lib/theme/Palette.js +1 -6
  431. package/lib/theme/index.js +0 -5
  432. package/lib/utils/Array.js +0 -5
  433. package/lib/utils/Avatar.js +2 -7
  434. package/lib/utils/Browser.js +6 -11
  435. package/lib/utils/Cells.d.ts +1 -1
  436. package/lib/utils/Cookie.js +1 -6
  437. package/lib/utils/Date.js +5 -10
  438. package/lib/utils/Download.js +5 -8
  439. package/lib/utils/DownloadFile.js +4 -7
  440. package/lib/utils/Env.js +2 -6
  441. package/lib/utils/File.js +0 -5
  442. package/lib/utils/Ids.js +0 -5
  443. package/lib/utils/Jupyter.js +0 -5
  444. package/lib/utils/Lazy.d.ts +1 -1
  445. package/lib/utils/Lazy.js +2 -8
  446. package/lib/utils/Name.js +10 -13
  447. package/lib/utils/Notebook.d.ts +1 -1
  448. package/lib/utils/Notebook.js +3 -3
  449. package/lib/utils/Number.js +13 -14
  450. package/lib/utils/Plots.d.ts +1 -1
  451. package/lib/utils/Plots.js +5 -5
  452. package/lib/utils/Random.js +0 -5
  453. package/lib/utils/Screenshot.js +1 -6
  454. package/lib/utils/Scroll.js +3 -7
  455. package/lib/utils/Sleep.js +1 -6
  456. package/lib/utils/Snapshot.js +2 -7
  457. package/lib/utils/String.js +2 -7
  458. package/lib/utils/Uri.js +2 -7
  459. package/lib/utils/Validator.js +0 -5
  460. package/lib/utils/WithSuspense.js +3 -11
  461. package/lib/utils/index.js +0 -5
  462. package/package.json +96 -30
  463. package/style/animation/Animation.module.css +174 -0
  464. package/style/base.css +64 -0
  465. package/style/index.css +6 -0
  466. package/lib/__tests__/App.test.js +0 -17
  467. package/lib/api/runtimes/models.d.ts +0 -59
  468. package/lib/api/runtimes/models.js +0 -11
  469. package/lib/hooks/useRun.d.ts +0 -21
  470. package/lib/mocks/hooks/useRunMock.d.ts +0 -6
  471. /package/lib/api/{runtimes → jupyter}/exec/Python.d.ts +0 -0
  472. /package/lib/api/{runtimes → jupyter}/exec/Snippets.d.ts +0 -0
  473. /package/lib/api/{runtimes → jupyter}/exec/index.d.ts +0 -0
  474. /package/lib/{__tests__/App.test.d.ts → examples/main.d.ts} +0 -0
package/lib/utils/Name.js CHANGED
@@ -2,28 +2,25 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const asDisplayName = (givenName, familyName) => {
11
- return givenName ?
12
- familyName ?
13
- (givenName + ' ' + familyName) : givenName
14
- :
15
- familyName ?? '';
6
+ return givenName
7
+ ? familyName
8
+ ? givenName + ' ' + familyName
9
+ : givenName
10
+ : (familyName ?? '');
16
11
  };
17
12
  export const nameAsInitials = (name) => {
18
13
  return name
19
14
  .replace(/\s+/, ' ')
20
15
  .split(' ')
21
16
  .slice(0, 2)
22
- .map((v) => v && v[0].toUpperCase())
17
+ .map(v => v && v[0].toUpperCase())
23
18
  .join('');
24
19
  };
25
20
  export const namesAsInitials = (firstName, lastName) => {
26
- return ((firstName || ' ').charAt(0) + (lastName || ' ').charAt(0)).toLocaleUpperCase().trim();
21
+ return ((firstName || ' ').charAt(0) + (lastName || ' ').charAt(0))
22
+ .toLocaleUpperCase()
23
+ .trim();
27
24
  };
28
25
  /**
29
26
  * Convert first and last names to a friendly name.
@@ -35,5 +32,5 @@ export const toFriendlyName = (firstName, lastName) => {
35
32
  if (lastName) {
36
33
  return lastName;
37
34
  }
38
- return "";
35
+ return '';
39
36
  };
@@ -6,7 +6,7 @@ import { JupyterLab } from '@jupyterlab/application';
6
6
  * @param name Notebook name
7
7
  * @param url Notebook content URL
8
8
  */
9
- export declare const createNotebook: ({ app, name, url, options }: {
9
+ export declare const createNotebook: ({ app, name, url, options, }: {
10
10
  app: JupyterLab;
11
11
  name?: string;
12
12
  url?: string;
@@ -9,7 +9,7 @@
9
9
  * @param name Notebook name
10
10
  * @param url Notebook content URL
11
11
  */
12
- export const createNotebook = async ({ app, name, url, options }) => {
12
+ export const createNotebook = async ({ app, name, url, options, }) => {
13
13
  const notebook = await app.commands.execute('notebook:create-new', options);
14
14
  /*
15
15
  if (name) {
@@ -22,7 +22,7 @@ export const createNotebook = async ({ app, name, url, options }) => {
22
22
  const text = nbmodelText.replaceAll('\n', `
23
23
  `);
24
24
  notebook.context.model.fromJSON({
25
- ...JSON.parse(text)
25
+ ...JSON.parse(text),
26
26
  });
27
27
  }
28
28
  };
@@ -32,6 +32,6 @@ export const createNotebookVariant = async (app, name, url) => {
32
32
  const nbmodel = await fetch(url);
33
33
  const text = (await nbmodel.text()).replaceAll('\\n', '');
34
34
  notebook.context.model.fromJSON({
35
- ...JSON.parse(text)
35
+ ...JSON.parse(text),
36
36
  });
37
37
  };
@@ -2,25 +2,24 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  const LOOKUP_VALUE_SYMBOL = [
11
- { value: 1, symbol: "" },
12
- { value: 1e3, symbol: "K" },
13
- { value: 1e6, symbol: "M" },
14
- { value: 1e9, symbol: "G" },
15
- { value: 1e12, symbol: "T" },
16
- { value: 1e15, symbol: "P" },
17
- { value: 1e18, symbol: "E" },
6
+ { value: 1, symbol: '' },
7
+ { value: 1e3, symbol: 'K' },
8
+ { value: 1e6, symbol: 'M' },
9
+ { value: 1e9, symbol: 'G' },
10
+ { value: 1e12, symbol: 'T' },
11
+ { value: 1e15, symbol: 'P' },
12
+ { value: 1e18, symbol: 'E' },
18
13
  ];
19
14
  // https://stackoverflow.com/questions/9461621/format-a-number-as-2-5k-if-a-thousand-or-more-otherwise-900
20
15
  export function numberFormatter(num, digits = 1) {
21
16
  const rx = /\.0+$|(\.[0-9]*[1-9])0+$/;
22
- var item = LOOKUP_VALUE_SYMBOL.slice().reverse().find(function (item) {
17
+ const item = LOOKUP_VALUE_SYMBOL.slice()
18
+ .reverse()
19
+ .find(function (item) {
23
20
  return num >= item.value;
24
21
  });
25
- return item ? (num / item.value).toFixed(digits).replace(rx, "$1") + item.symbol : "0";
22
+ return item
23
+ ? (num / item.value).toFixed(digits).replace(rx, '$1') + item.symbol
24
+ : '0';
26
25
  }
@@ -5,7 +5,7 @@ import type { IUsage } from '../models';
5
5
  * @param usages Usages
6
6
  * @param interval Histogram interval
7
7
  * @param range Range with month in 1-based scale
8
- * @returns Histogram data {x: [], y: []}
8
+ * @returns Histogram data {x: [], y: []}
9
9
  */
10
10
  export declare function createHistogram(usages: IUsage[], interval: number, range: {
11
11
  month: number;
@@ -2,14 +2,14 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { getDate, getDaysInMonth, getMonth, isSameMonth, isSameYear } from 'date-fns';
5
+ import { getDate, getDaysInMonth, getMonth, isSameMonth, isSameYear, } from 'date-fns';
6
6
  /**
7
7
  * Compute the data for plotting the usage histogram.
8
8
  *
9
9
  * @param usages Usages
10
10
  * @param interval Histogram interval
11
11
  * @param range Range with month in 1-based scale
12
- * @returns Histogram data {x: [], y: []}
12
+ * @returns Histogram data {x: [], y: []}
13
13
  */
14
14
  export function createHistogram(usages, interval, range) {
15
15
  const referenceDate = new Date(range.year, range.month - 1);
@@ -26,7 +26,7 @@ export function createHistogram(usages, interval, range) {
26
26
  ? c.credits
27
27
  : ((end - start.getTime()) * c.burningRate) / 1000,
28
28
  // getDate is 1-based but getMonth is 0-based
29
- category: interval === 0 ? getDate(start) - 1 : getMonth(start)
29
+ category: interval === 0 ? getDate(start) - 1 : getMonth(start),
30
30
  };
31
31
  })
32
32
  .reduce((agg, d) => {
@@ -49,8 +49,8 @@ export function createHistogram(usages, interval, range) {
49
49
  'Sep',
50
50
  'Oct',
51
51
  'Nov',
52
- 'Dec'
52
+ 'Dec',
53
53
  ],
54
- y: credits
54
+ y: credits,
55
55
  };
56
56
  }
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export function getRandomInt(max) {
11
6
  return Math.floor(Math.random() * max);
12
7
  }
@@ -2,18 +2,13 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  import html2canvas from 'html2canvas';
11
6
  export const takeHTMLNodeScreenshot = async (node) => {
12
7
  const sc = html2canvas(node, {
13
8
  width: node.getBoundingClientRect().width,
14
9
  height: node.getBoundingClientRect().height,
15
10
  });
16
- return sc.then((canvas) => {
11
+ return sc.then(canvas => {
17
12
  const croppedCanvas = document.createElement('canvas');
18
13
  const croppedCanvasContext = croppedCanvas.getContext('2d');
19
14
  const top = 0;
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  const easeInOutQuad = (t, b, c, d) => {
11
6
  t /= d / 2;
12
7
  if (t < 1)
@@ -15,7 +10,8 @@ const easeInOutQuad = (t, b, c, d) => {
15
10
  return (-c / 2) * (t * (t - 2) - 1) + b;
16
11
  };
17
12
  const scrollGo = (element, target, to, duration) => {
18
- var start = element.scrollTop, change = to - start, currentTime = 0, increment = 20;
13
+ const start = element.scrollTop, change = to - start, increment = 20;
14
+ let currentTime = 0;
19
15
  const animateScroll = () => {
20
16
  currentTime += increment;
21
17
  const scrollTop = easeInOutQuad(currentTime, start, change, duration);
@@ -30,7 +26,7 @@ const scrollGo = (element, target, to, duration) => {
30
26
  animateScroll();
31
27
  };
32
28
  const smoothScroll = (target) => {
33
- var targetScroll = document.getElementById(target);
29
+ const targetScroll = document.getElementById(target);
34
30
  scrollGo(document.body, target, targetScroll?.offsetTop, 1250);
35
31
  };
36
32
  export default smoothScroll;
@@ -2,12 +2,7 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const sleep = async (ms) => {
11
- return new Promise((resolve) => setTimeout(resolve, ms));
6
+ return new Promise(resolve => setTimeout(resolve, ms));
12
7
  };
13
8
  export default sleep;
@@ -2,18 +2,13 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
- import { adjectives, animals, uniqueNamesGenerator } from 'unique-names-generator';
5
+ import { adjectives, animals, uniqueNamesGenerator, } from 'unique-names-generator';
11
6
  /**
12
7
  * Kernel snapshot description configuration.
13
8
  */
14
9
  const KERNEL_SNAPSHOT_DESCRIPTION_CONFIGURATION = {
15
10
  dictionaries: [adjectives, animals],
16
- separator: '-'
11
+ separator: '-',
17
12
  };
18
13
  /**
19
14
  * Create an unique human readable kernel snapshot name.
@@ -2,17 +2,12 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const strip = (s, max = 50) => {
11
6
  if (!s) {
12
- return "";
7
+ return '';
13
8
  }
14
9
  if (s.length > max) {
15
- return s.substring(0, max) + "";
10
+ return s.substring(0, max) + '';
16
11
  }
17
12
  return s;
18
13
  };
package/lib/utils/Uri.js CHANGED
@@ -2,13 +2,8 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export const currentUri = () => {
11
- return window.location.protocol + "//" + window.location.host;
6
+ return window.location.protocol + '//' + window.location.host;
12
7
  };
13
8
  // https://stackoverflow.com/questions/12168909/blob-from-dataurl
14
9
  export const dataURItoBlob = (dataURI) => {
@@ -22,7 +17,7 @@ export const dataURItoBlob = (dataURI) => {
22
17
  // Create a view into the buffer.
23
18
  const ia = new Uint8Array(ab);
24
19
  // Set the bytes of the buffer to the correct values.
25
- for (var i = 0; i < byteString.length; i++) {
20
+ for (let i = 0; i < byteString.length; i++) {
26
21
  ia[i] = byteString.charCodeAt(i);
27
22
  }
28
23
  // Write the ArrayBuffer to a blob, and you're done.
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  const EMAIL_REGEX = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
11
6
  export const isValidEmail = (value) => {
12
7
  if (!value) {
@@ -3,19 +3,11 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  * Copyright (c) 2023-2025 Datalayer, Inc.
4
4
  * Distributed under the terms of the Modified BSD License.
5
5
  */
6
- /*
7
- * Copyright (c) 2021-2024 Datalayer, Inc.
8
- *
9
- * Datalayer License
10
- */
11
- import { Suspense } from "react";
12
- import { SkeletonBox } from "@primer/react/experimental";
6
+ import { Suspense } from 'react';
7
+ import { SkeletonBox } from '@primer/react/experimental';
13
8
  const Loading = (props) => {
14
9
  const { skeleton } = props;
15
- return (skeleton ?
16
- _jsx(_Fragment, { children: _jsx(SkeletonBox, { height: "100px" }) })
17
- :
18
- _jsx(_Fragment, {}));
10
+ return skeleton ? (_jsx(_Fragment, { children: _jsx(SkeletonBox, { height: "100px" }) })) : (_jsx(_Fragment, {}));
19
11
  };
20
12
  export const WithSuspense = (Component, preload = true, skeleton = false) => (props) => {
21
13
  if (preload) {
@@ -2,11 +2,6 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- /*
6
- * Copyright (c) 2021-2024 Datalayer, Inc.
7
- *
8
- * Datalayer License
9
- */
10
5
  export * from './Array';
11
6
  export * from './Avatar';
12
7
  export * from './Browser';
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@datalayer/core",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
+ "workspaces": [
6
+ ".",
7
+ "examples/*"
8
+ ],
5
9
  "author": {
6
10
  "name": "Datalayer",
7
11
  "email": "info@datalayer.io"
@@ -41,9 +45,15 @@
41
45
  },
42
46
  "scripts": {
43
47
  "dev": "vite",
44
- "build": "tsc -b && vite build",
45
- "build:lib": "tsc -b",
46
- "lint": "eslint .",
48
+ "build": "gulp resources-to-lib && tsc -b && vite build",
49
+ "build:lib": "gulp resources-to-lib && tsc -b",
50
+ "lint": "eslint . --quiet && npm run lint --workspace=nextjs-notebook-example",
51
+ "lint:fix": "eslint . --fix && npm run lint:fix --workspace=nextjs-notebook-example",
52
+ "format": "prettier --write \"{src,examples}/**/*.{js,jsx,ts,tsx,css,json,md,mjs}\" && npm run format --workspace=nextjs-notebook-example",
53
+ "format:check": "prettier --check \"{src,examples}/**/*.{js,jsx,ts,tsx,css,json,md,mjs}\" && npm run format:check --workspace=nextjs-notebook-example",
54
+ "type-check": "tsc --noEmit && npm run type-check --workspace=nextjs-notebook-example",
55
+ "check": "npm run format:check && npm run lint && npm run type-check",
56
+ "check:fix": "npm run format && npm run lint:fix && npm run type-check",
47
57
  "preview": "vite preview",
48
58
  "start": "vite",
49
59
  "clean": "rimraf lib tsconfig.tsbuildinfo",
@@ -55,53 +65,100 @@
55
65
  "storybook": "storybook dev -p 6006",
56
66
  "build-storybook": "storybook build",
57
67
  "typedoc": "typedoc --options typedoc.json --out docs/docs/typescript_api",
58
- "watch:lib": "tsc -b -w"
68
+ "watch:lib": "run-p 'watch:lib:*'",
69
+ "watch:lib:res": "gulp resources-to-lib-watch",
70
+ "watch:lib:src": "tsc -b -w",
71
+ "example": "vite --config vite.examples.config.ts",
72
+ "example:nextjs": "npm run dev --workspace=nextjs-notebook-example",
73
+ "prepare": "husky"
59
74
  },
60
75
  "dependencies": {
61
- "@jupyterlab/services": "^7.0.0",
62
- "@jupyterlab/coreutils": "^6.0.0",
63
- "react": "^19.1.0",
64
- "react-dom": "^19.1.0",
65
- "zustand": "^4.4.1"
66
- },
67
- "peerDependencies": {
68
76
  "@datalayer/icons-react": "^1.0.6",
69
- "@datalayer/jupyter-react": "^1.0.5",
77
+ "@datalayer/jupyter-react": "^1.1.0",
78
+ "@datalayer/primer-addons": "^1.0.3",
79
+ "@datalayer/primer-rjsf": "^1.0.1",
80
+ "@jupyterlab/coreutils": "^6.0.0",
81
+ "@jupyterlab/services": "^7.0.0",
82
+ "@jupyterlite/javascript-kernel-extension": "^0.3.0",
83
+ "@primer/brand-primitives": "^0.51.0",
84
+ "@primer/css": "^21.5.1",
70
85
  "@primer/octicons-react": "^19.15.1",
71
86
  "@primer/primitives": "^10.5.0",
72
87
  "@primer/react": "^37.19.0",
73
- "@datalayer/primer-addons": "^1.0.3",
74
- "@datalayer/primer-rjsf": "^1.0.1"
88
+ "@primer/react-brand": "^0.51.0",
89
+ "@stripe/react-stripe-js": "^2.7.1",
90
+ "axios": "^1.7.7",
91
+ "boring-avatars": "^2.0.1",
92
+ "buffer": "^6.0.3",
93
+ "date-fns": "^2.29.3",
94
+ "echarts": "^5.5.0",
95
+ "echarts-for-react": "^3.0.2",
96
+ "fuse.js": "^7.0.0",
97
+ "html2canvas": "^1.4.1",
98
+ "jwt-decode": "^2.2.0",
99
+ "localforage": "^1.10.0",
100
+ "marked": "^4.0.10",
101
+ "mock-socket": "^9.3.1",
102
+ "react": "18.3.1",
103
+ "react-confetti": "^6.4.0",
104
+ "react-dom": "18.3.1",
105
+ "tus-js-client": "^4.2.3",
106
+ "ulid": "^2.3.0",
107
+ "unique-names-generator": "^4.7.1",
108
+ "usehooks-ts": "^2.9.1",
109
+ "validator": "^13.7.0",
110
+ "zustand": "^4.4.1"
111
+ },
112
+ "peerDependencies": {
113
+ "react-router-dom": "^6.0.0"
114
+ },
115
+ "peerDependenciesMeta": {
116
+ "react-router-dom": {
117
+ "optional": true
118
+ }
75
119
  },
76
120
  "devDependencies": {
77
- "@chromatic-com/storybook": "^4.0.1",
121
+ "@chromatic-com/storybook": "^4.1.0",
78
122
  "@eslint/js": "^9.29.0",
79
- "@storybook/addon-a11y": "^9.0.15",
80
- "@storybook/addon-docs": "^9.0.15",
81
- "@storybook/addon-onboarding": "^9.0.15",
82
- "@storybook/addon-vitest": "^9.0.15",
83
- "@storybook/builder-vite": "^9.0.15",
84
- "@storybook/react-vite": "^9.0.15",
123
+ "react-router-dom": "^6.22.3",
124
+ "@storybook/addon-a11y": "^9.1.1",
125
+ "@storybook/addon-docs": "^9.1.1",
126
+ "@storybook/addon-onboarding": "^9.1.1",
127
+ "@storybook/addon-vitest": "^9.1.1",
128
+ "@storybook/builder-vite": "^9.1.1",
129
+ "@storybook/react-vite": "^9.1.1",
85
130
  "@types/node": "^20.11.0",
86
- "@types/react": "^19.1.8",
87
- "@types/react-dom": "^19.1.6",
131
+ "@types/react": "18.3.20",
132
+ "@types/react-dom": "18.3.6",
88
133
  "@vitejs/plugin-react": "^4.5.2",
89
134
  "@vitest/browser": "^3.2.4",
90
135
  "@vitest/coverage-v8": "^3.2.4",
91
136
  "crypto-browserify": "^3.12.1",
92
137
  "eslint": "^9.29.0",
138
+ "eslint-config-prettier": "^10.1.8",
139
+ "eslint-plugin-prettier": "^5.5.4",
140
+ "eslint-plugin-react": "^7.37.5",
93
141
  "eslint-plugin-react-hooks": "^5.2.0",
94
142
  "eslint-plugin-react-refresh": "^0.4.20",
95
- "eslint-plugin-storybook": "^9.0.15",
143
+ "eslint-plugin-storybook": "^9.1.1",
96
144
  "globals": "^16.2.0",
145
+ "gulp": "^4.0.2",
146
+ "gulp-append-prepend": "^1.0.8",
147
+ "gulp-filter": "^6.0.0",
148
+ "gulp-watch": "^5.0.1",
149
+ "husky": "^9.1.7",
97
150
  "jsdom": "^26.0.0",
151
+ "lint-staged": "^16.1.5",
152
+ "npm-run-all": "^4.1.5",
98
153
  "playwright": "^1.53.2",
154
+ "prettier": "^3.6.2",
99
155
  "rimraf": "^6.0.1",
100
- "storybook": "^9.0.15",
156
+ "storybook": "^9.1.1",
101
157
  "typedoc-plugin-markdown": "^4.0.0",
102
158
  "typescript": "^5.8.3",
103
159
  "typescript-eslint": "^8.34.1",
104
160
  "vite": "^7.0.0",
161
+ "vite-plugin-treat-umd-as-commonjs": "^0.1.4",
105
162
  "vitest": "^3.2.4"
106
163
  },
107
164
  "overrides": {
@@ -112,11 +169,20 @@
112
169
  "@microsoft/fast-react-wrapper": "0.3.24",
113
170
  "@microsoft/fast-web-utilities": "5.4.1",
114
171
  "@microsoft/load-themed-styles": "1.10.295",
115
- "@types/react": "^19.1.8",
116
- "@types/react-dom": "^19.1.6",
172
+ "@types/react": "18.3.20",
173
+ "@types/react-dom": "18.3.6",
117
174
  "pyodide": "0.28.0",
118
- "react": "^19.1.0",
119
- "react-dom": "^19.1.0",
175
+ "react": "18.3.1",
176
+ "react-dom": "18.3.1",
120
177
  "typescript": "^5.8.3"
178
+ },
179
+ "lint-staged": {
180
+ "src/**/*.{js,jsx,ts,tsx}": [
181
+ "prettier --write",
182
+ "eslint --fix"
183
+ ],
184
+ "src/**/*.{css,json,md}": [
185
+ "prettier --write"
186
+ ]
121
187
  }
122
188
  }