@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
@@ -32,28 +32,17 @@
32
32
  *
33
33
  * @module models
34
34
  */
35
- export * from './Assignment.js';
36
35
  export * from './Base.js';
37
- export * from './Cell.js';
38
- export * from './CodeBlock.js';
39
- export * from './CodefeedBlocks.js';
40
36
  export * from './Common.js';
41
37
  export * from './Contact.js';
42
38
  export * from './ContactEvent.js';
43
39
  export * from './ContactIAMProvider.js';
44
40
  export * from './ContactTags.js';
45
- export * from './Content.js';
46
- export * from './Course.js';
47
41
  export * from './Credits.js';
48
42
  export * from './CreditsDTO.js';
49
- export * from './Dataset.js';
50
43
  export * from './Datasource.js';
51
44
  export * from './Dean.js';
52
- export * from './Document.js';
53
- export * from './Environment.js';
54
- export * from './EnvironmentDTO.js';
55
45
  export * from './Errors.js';
56
- export * from './Exercise.js';
57
46
  export * from './GrowthKPI.js';
58
47
  export * from './IAM.js';
59
48
  export * from './IAMProviderLinked.js';
@@ -64,38 +53,19 @@ export * from './IAMToken.js';
64
53
  export * from './Inbound.js';
65
54
  export * from './Instructor.js';
66
55
  export * from './Invite.js';
67
- export * from './Item.js';
68
- export * from './ItemDTO.js';
69
- export * from './ItemType.js';
70
56
  export * from './LandingRoles.js';
71
- export * from './Lesson.js';
72
- export * from './LexicalDTO.js';
73
- export * from './Library.js';
74
57
  export * from './Member.js';
75
- export * from './Notebook.js';
76
- export * from './NotebookDTO.js';
77
58
  export * from './Organization.js';
78
59
  export * from './OrganizationMember.js';
79
60
  export * from './Outbound.js';
80
- export * from './Page.js';
81
- export * from './PageTag.js';
82
61
  export * from './Profile.js';
83
62
  export * from './Role.js';
84
63
  export * from './RolesOrganization.js';
85
64
  export * from './RolesPlatform.js';
86
65
  export * from './RolesTeam.js';
87
- export * from './Runtime.js';
88
- export * from './RuntimeDTO.js';
89
- export * from './CodeSandboxSnapshot.js';
90
- export * from './CodeSandboxSnapshotDTO.js';
91
66
  export * from './School.js';
92
67
  export * from './Secret.js';
93
- export * from './Space.js';
94
- export * from './SpaceDTO.js';
95
- export * from './SpaceItem.js';
96
- export * from './SpaceMember.js';
97
68
  export * from './Student.js';
98
- export * from './StudentItem.js';
99
69
  export * from './Survey.js';
100
70
  export * from './Team.js';
101
71
  export * from './TeamMember.js';
@@ -1 +1,2 @@
1
1
  export * from './Routes';
2
+ export * from './publicPaths';
@@ -3,3 +3,4 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  export * from './Routes.js';
6
+ export * from './publicPaths.js';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Canonical, single source of truth for the public route prefixes that
3
+ * anonymous (logged-out) users are allowed to view.
4
+ *
5
+ * This list is shared across packages so the various auth gates stay in sync:
6
+ * - `useUser` (core) must NOT force a navigation to the login page on these.
7
+ * - The application router uses it to decide whether a route requires auth.
8
+ *
9
+ * Keep the entries as normalized prefixes (lowercase, no trailing slash).
10
+ */
11
+ export declare const PUBLIC_PATH_PREFIXES: readonly string[];
12
+ /**
13
+ * Normalize a pathname for prefix matching: strip the query string and hash,
14
+ * trim surrounding whitespace, lowercase, and remove any trailing slash.
15
+ * Always returns a leading-slash path (defaults to '/').
16
+ */
17
+ export declare const normalizePathname: (pathname: string) => string;
18
+ /**
19
+ * Whether the given pathname is under one of the public path prefixes and is
20
+ * therefore viewable by anonymous users without an authentication redirect.
21
+ */
22
+ export declare const isPublicPath: (pathname: string) => boolean;
23
+ export default isPublicPath;
@@ -0,0 +1,74 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /**
6
+ * Canonical, single source of truth for the public route prefixes that
7
+ * anonymous (logged-out) users are allowed to view.
8
+ *
9
+ * This list is shared across packages so the various auth gates stay in sync:
10
+ * - `useUser` (core) must NOT force a navigation to the login page on these.
11
+ * - The application router uses it to decide whether a route requires auth.
12
+ *
13
+ * Keep the entries as normalized prefixes (lowercase, no trailing slash).
14
+ */
15
+ export const PUBLIC_PATH_PREFIXES = [
16
+ '/about',
17
+ '/agents',
18
+ '/agentspecs',
19
+ '/blog',
20
+ '/careers',
21
+ '/community',
22
+ '/compare',
23
+ '/connect',
24
+ '/contact',
25
+ '/dataliens',
26
+ '/docs',
27
+ '/events',
28
+ '/features',
29
+ '/integrations',
30
+ '/join/confirm/user',
31
+ '/library',
32
+ '/outbounds/contacts/unsubscribe',
33
+ '/outbounds/invites/pages',
34
+ '/outbounds/invites/unsubscribe',
35
+ '/outbounds/users/unsubscribe',
36
+ '/partners',
37
+ '/password',
38
+ '/pricing',
39
+ '/privacy',
40
+ '/public',
41
+ '/releases',
42
+ '/reports',
43
+ '/research',
44
+ '/search',
45
+ '/settings/agentspecs',
46
+ '/signup/confirm/user',
47
+ '/support',
48
+ '/team',
49
+ '/terms',
50
+ '/testimonials',
51
+ '/trust',
52
+ '/tutorials',
53
+ '/usecases',
54
+ '/use-cases',
55
+ ];
56
+ /**
57
+ * Normalize a pathname for prefix matching: strip the query string and hash,
58
+ * trim surrounding whitespace, lowercase, and remove any trailing slash.
59
+ * Always returns a leading-slash path (defaults to '/').
60
+ */
61
+ export const normalizePathname = (pathname) => {
62
+ const path = (pathname || '').split('?')[0]?.split('#')[0] || '/';
63
+ const normalized = path.trim().toLowerCase().replace(/\/+$/, '');
64
+ return normalized || '/';
65
+ };
66
+ /**
67
+ * Whether the given pathname is under one of the public path prefixes and is
68
+ * therefore viewable by anonymous users without an authentication redirect.
69
+ */
70
+ export const isPublicPath = (pathname) => {
71
+ const normalized = normalizePathname(pathname);
72
+ return PUBLIC_PATH_PREFIXES.some(prefix => normalized === prefix || normalized.startsWith(`${prefix}/`));
73
+ };
74
+ export default isPublicPath;
@@ -1,13 +1,7 @@
1
1
  import { coreStore } from './substates/CoreState';
2
- import { cellStore } from './substates/CellState';
3
- import { documentStore } from './substates/DocumentState';
4
- import { gradeStore } from './substates/GradeState';
5
2
  import { iamStore } from './substates/IAMState';
6
- import { runtimesStore } from './substates/RuntimesState';
7
3
  import { layoutStore } from './substates/LayoutState';
8
- import { nbformatStore } from './substates/NbformatState';
9
4
  import { organizationStore } from './substates/OrganizationState';
10
- import { spaceStore } from './substates/SpaceState';
11
5
  import { surveysStore } from './substates/SurveysState';
12
6
  import { teamStore } from './substates/TeamState';
13
7
  export type DatalayerRunState = {
@@ -15,15 +9,9 @@ export type DatalayerRunState = {
15
9
  setVersion: (version: string) => void;
16
10
  isDev: boolean;
17
11
  core: typeof coreStore.getState;
18
- cell: typeof cellStore.getState;
19
- document: typeof documentStore.getState;
20
- grade: typeof gradeStore.getState;
21
12
  iam: typeof iamStore.getState;
22
- runtimes: typeof runtimesStore.getState;
23
13
  layout: typeof layoutStore.getState;
24
- nbformat: typeof nbformatStore.getState;
25
14
  organization: typeof organizationStore.getState;
26
- space: typeof spaceStore.getState;
27
15
  success: typeof surveysStore.getState;
28
16
  team: typeof teamStore.getState;
29
17
  };
@@ -5,15 +5,9 @@
5
5
  import { createStore } from 'zustand/vanilla';
6
6
  import { useStore } from 'zustand';
7
7
  import { coreStore } from './substates/CoreState.js';
8
- import { cellStore } from './substates/CellState.js';
9
- import { documentStore } from './substates/DocumentState.js';
10
- import { gradeStore } from './substates/GradeState.js';
11
8
  import { iamStore } from './substates/IAMState.js';
12
- import { runtimesStore } from './substates/RuntimesState.js';
13
9
  import { layoutStore } from './substates/LayoutState.js';
14
- import { nbformatStore } from './substates/NbformatState.js';
15
10
  import { organizationStore } from './substates/OrganizationState.js';
16
- import { spaceStore } from './substates/SpaceState.js';
17
11
  import { surveysStore } from './substates/SurveysState.js';
18
12
  import { teamStore } from './substates/TeamState.js';
19
13
  import { isDevDeployment } from '../utils/index.js';
@@ -26,15 +20,9 @@ export const runStore = createStore((set, get) => ({
26
20
  },
27
21
  isDev: isDevDeployment(),
28
22
  core: coreStore.getState,
29
- cell: cellStore.getState,
30
- document: documentStore.getState,
31
- grade: gradeStore.getState,
32
23
  iam: iamStore.getState,
33
- runtimes: runtimesStore.getState,
34
24
  layout: layoutStore.getState,
35
- nbformat: nbformatStore.getState,
36
25
  organization: organizationStore.getState,
37
- space: spaceStore.getState,
38
26
  success: surveysStore.getState,
39
27
  team: teamStore.getState,
40
28
  }));
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { createStore } from 'zustand/vanilla';
6
6
  import { useStore } from 'zustand';
7
- import { configLogger } from '../../utils/logger.js';
7
+ import { configLogger } from '../../utils/Logger.js';
8
8
  let loadConfigurationFromServer = true;
9
9
  let initialConfiguration = {
10
10
  runUrl: 'https://prod1.datalayer.run',
@@ -1,5 +1,16 @@
1
1
  import { ReactPortal } from 'react';
2
- import { IAnyOrganization, IAnySpace, IAnyTeam, ISpaceItem } from '../../models';
2
+ import { IAnyOrganization, IAnyTeam } from '../../models';
3
+ /**
4
+ * Structural placeholder for a space in the layout state. The concrete space
5
+ * models live in the runtime/content package (`@datalayer/agent-runtimes`);
6
+ * the core layout store keeps them loosely typed to avoid depending on the
7
+ * content models.
8
+ */
9
+ type IAnySpace = Record<string, any>;
10
+ /**
11
+ * Structural placeholder for a space item in the layout state. See IAnySpace.
12
+ */
13
+ type ISpaceItem = Record<string, any>;
3
14
  export type BannerDisplayVariant = 'danger' | 'info' | 'success' | 'warning';
4
15
  export type LeftSidebarVariant = 'codefeed' | 'course' | 'empty' | 'guess-account' | 'guess-space' | 'guess-spaces' | 'organization' | 'organization-space' | 'organization-spaces' | 'organizations' | 'public' | 'unchanged' | 'user' | 'user-space' | 'user-spaces';
5
16
  export type BackdropDisplay = {
@@ -1,14 +1,7 @@
1
- export * from './CellState';
2
1
  export * from './CoreState';
3
2
  export * from './DatasourceState';
4
- export * from './DocumentState';
5
- export * from './GradeState';
6
3
  export * from './IAMState';
7
- export * from './JupyterLabState';
8
4
  export * from './LayoutState';
9
- export * from './NbformatState';
10
5
  export * from './OrganizationState';
11
- export * from './RuntimesState';
12
- export * from './SpaceState';
13
6
  export * from './SurveysState';
14
7
  export * from './TeamState';
@@ -2,17 +2,10 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- export * from './CellState.js';
6
5
  export * from './CoreState.js';
7
6
  export * from './DatasourceState.js';
8
- export * from './DocumentState.js';
9
- export * from './GradeState.js';
10
7
  export * from './IAMState.js';
11
- export * from './JupyterLabState.js';
12
8
  export * from './LayoutState.js';
13
- export * from './NbformatState.js';
14
9
  export * from './OrganizationState.js';
15
- export * from './RuntimesState.js';
16
- export * from './SpaceState.js';
17
10
  export * from './SurveysState.js';
18
11
  export * from './TeamState.js';
@@ -6,6 +6,13 @@ export declare const timeSince: (date: Date) => string;
6
6
  * Examples: "just now", "15m ago", "3h ago", "2d ago", "4w ago", "1y ago".
7
7
  */
8
8
  export declare const formatRelativeTime: (value?: Date | string | number, now?: Date) => string | undefined;
9
+ /**
10
+ * Build a detailed datetime string suitable for tooltips.
11
+ *
12
+ * Example:
13
+ * "2026-06-08T16:15:32.531Z • Jun 8, 2026, 6:15:32 PM CEST (Europe/Paris)"
14
+ */
15
+ export declare const formatDateTimeDetails: (value?: Date | string | number) => string | undefined;
9
16
  /**
10
17
  * Format a duration in milliseconds into a human-readable string.
11
18
  *
package/lib/utils/Date.js CHANGED
@@ -76,24 +76,57 @@ export const formatRelativeTime = (value, now = new Date()) => {
76
76
  if (Number.isNaN(ts)) {
77
77
  return typeof value === 'string' ? value : undefined;
78
78
  }
79
- const diffMs = Math.max(0, now.getTime() - ts);
80
- const seconds = Math.floor(diffMs / 1000);
81
- if (seconds < 60)
82
- return 'just now';
83
- const minutes = Math.floor(seconds / 60);
79
+ const diffMs = ts - now.getTime();
80
+ const inFuture = diffMs > 0;
81
+ const absSeconds = Math.floor(Math.abs(diffMs) / 1000);
82
+ if (absSeconds < 30)
83
+ return inFuture ? 'in a few seconds' : 'just now';
84
+ const withDirection = (value, unit) => {
85
+ return inFuture ? `in ${value}${unit}` : `${value}${unit} ago`;
86
+ };
87
+ if (absSeconds < 60)
88
+ return withDirection(absSeconds, 's');
89
+ const minutes = Math.floor(absSeconds / 60);
84
90
  if (minutes < 60)
85
- return `${minutes}m ago`;
91
+ return withDirection(minutes, 'm');
86
92
  const hours = Math.floor(minutes / 60);
87
93
  if (hours < 24)
88
- return `${hours}h ago`;
94
+ return withDirection(hours, 'h');
89
95
  const days = Math.floor(hours / 24);
90
96
  if (days < 7)
91
- return `${days}d ago`;
97
+ return withDirection(days, 'd');
92
98
  const weeks = Math.floor(days / 7);
93
99
  if (weeks < 52)
94
- return `${weeks}w ago`;
100
+ return withDirection(weeks, 'w');
95
101
  const years = Math.floor(days / 365);
96
- return `${years}y ago`;
102
+ return withDirection(years, 'y');
103
+ };
104
+ /**
105
+ * Build a detailed datetime string suitable for tooltips.
106
+ *
107
+ * Example:
108
+ * "2026-06-08T16:15:32.531Z • Jun 8, 2026, 6:15:32 PM CEST (Europe/Paris)"
109
+ */
110
+ export const formatDateTimeDetails = (value) => {
111
+ if (value === undefined || value === null) {
112
+ return undefined;
113
+ }
114
+ const date = value instanceof Date
115
+ ? value
116
+ : typeof value === 'number'
117
+ ? new Date(value)
118
+ : new Date(value);
119
+ const ts = date.getTime();
120
+ if (Number.isNaN(ts)) {
121
+ return typeof value === 'string' ? value : undefined;
122
+ }
123
+ const iso = date.toISOString();
124
+ const zone = Intl.DateTimeFormat().resolvedOptions().timeZone || 'local';
125
+ const local = new Intl.DateTimeFormat(undefined, {
126
+ dateStyle: 'medium',
127
+ timeStyle: 'long',
128
+ }).format(date);
129
+ return `${iso} • ${local} (${zone})`;
97
130
  };
98
131
  /**
99
132
  * Format a duration in milliseconds into a human-readable string.
@@ -22,7 +22,9 @@ export function formatFriendlyHandle(handle) {
22
22
  ? 'GitHub'
23
23
  : provider === 'google'
24
24
  ? 'Google'
25
- : providerRaw || 'External';
25
+ : provider === 'linkedin'
26
+ ? 'LinkedIn'
27
+ : providerRaw || 'External';
26
28
  const identifier = restParts.join(':').trim();
27
29
  if (!identifier) {
28
30
  return providerLabel;
@@ -3,7 +3,6 @@ export * from './Avatar';
3
3
  export * from './Browser';
4
4
  export * from './cli';
5
5
  export * from './Cookie';
6
- export * from './Cells';
7
6
  export * from './Date';
8
7
  export * from './Download';
9
8
  export * from './DownloadFile';
@@ -15,6 +14,7 @@ export * from './Ids';
15
14
  export * from './Jwt';
16
15
  export * from './Jupyter';
17
16
  export * from './Lazy';
17
+ export * from './Logger';
18
18
  export * from './Msc';
19
19
  export * from './Name';
20
20
  export * from './Notebook';
@@ -7,7 +7,6 @@ export * from './Avatar.js';
7
7
  export * from './Browser.js';
8
8
  export * from './cli/index.js';
9
9
  export * from './Cookie.js';
10
- export * from './Cells.js';
11
10
  export * from './Date.js';
12
11
  export * from './Download.js';
13
12
  export * from './DownloadFile.js';
@@ -19,6 +18,7 @@ export * from './Ids.js';
19
18
  export * from './Jwt.js';
20
19
  export * from './Jupyter.js';
21
20
  export * from './Lazy.js';
21
+ export * from './Logger.js';
22
22
  export * from './Msc.js';
23
23
  export * from './Name.js';
24
24
  export * from './Notebook.js';
@@ -0,0 +1,8 @@
1
+ export type APIKeyEditProps = {
2
+ /** Route to navigate after delete. Defaults to '/settings/iam/api-keys'. */
3
+ apiKeysListRoute?: string;
4
+ /** Whether to render the local edit title header. Defaults to true. */
5
+ showTitle?: boolean;
6
+ };
7
+ export declare const APIKeyEdit: ({ apiKeysListRoute, showTitle, }?: APIKeyEditProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default APIKeyEdit;
@@ -10,20 +10,20 @@ import { Box } from '@datalayer/primer-addons';
10
10
  import { BoringAvatar } from '../../components/avatars/index.js';
11
11
  import { useCache, useNavigate, useToast } from '../../hooks/index.js';
12
12
  import { useRunStore } from '../../state/index.js';
13
- export const IAMTokenEdit = ({ tokensListRoute = '/settings/iam/tokens', } = {}) => {
14
- const { tokenId } = useParams();
13
+ export const APIKeyEdit = ({ apiKeysListRoute = '/settings/iam/api-keys', showTitle = true, } = {}) => {
14
+ const { tokenId: apiKeyId } = useParams();
15
15
  const runStore = useRunStore();
16
16
  const navigate = useNavigate();
17
17
  const { enqueueToast } = useToast();
18
- const { useUpdateToken, useToken, useDeleteToken } = useCache();
19
- const getTokenQuery = useToken(tokenId);
20
- const updateTokenMutation = useUpdateToken();
21
- const deleteTokenMutation = useDeleteToken();
22
- const [token, setToken] = useState();
18
+ const { useUpdateToken: useUpdateAPIKey, useToken: useAPIKey, useDeleteToken: useDeleteAPIKey, } = useCache();
19
+ const getAPIKeyQuery = useAPIKey(apiKeyId);
20
+ const updateAPIKeyMutation = useUpdateAPIKey();
21
+ const deleteAPIKeyMutation = useDeleteAPIKey();
22
+ const [apiKey, setAPIKey] = useState();
23
23
  const [formValues, setFormValues] = useState({
24
- name: token?.name,
24
+ name: apiKey?.name,
25
25
  nameConfirm: '',
26
- description: token?.description,
26
+ description: apiKey?.description,
27
27
  });
28
28
  const [validationResult, setValidationResult] = useState({
29
29
  name: undefined,
@@ -31,12 +31,12 @@ export const IAMTokenEdit = ({ tokensListRoute = '/settings/iam/tokens', } = {})
31
31
  description: undefined,
32
32
  });
33
33
  useEffect(() => {
34
- if (getTokenQuery.data) {
35
- const token = getTokenQuery.data;
36
- setToken(token);
37
- setFormValues({ ...token, nameConfirm: '' });
34
+ if (getAPIKeyQuery.data) {
35
+ const key = getAPIKeyQuery.data;
36
+ setAPIKey(key);
37
+ setFormValues({ ...key, nameConfirm: '' });
38
38
  }
39
- }, [getTokenQuery.data]);
39
+ }, [getAPIKeyQuery.data]);
40
40
  const nameNameChange = (event) => {
41
41
  setFormValues(prevFormValues => ({
42
42
  ...prevFormValues,
@@ -63,7 +63,7 @@ export const IAMTokenEdit = ({ tokensListRoute = '/settings/iam/tokens', } = {})
63
63
  : formValues.name.length > 2
64
64
  ? true
65
65
  : false,
66
- nameConfirm: formValues.nameConfirm === token?.name ? true : false,
66
+ nameConfirm: formValues.nameConfirm === apiKey?.name ? true : false,
67
67
  description: formValues.description === undefined
68
68
  ? undefined
69
69
  : formValues.description.length > 2
@@ -71,20 +71,20 @@ export const IAMTokenEdit = ({ tokensListRoute = '/settings/iam/tokens', } = {})
71
71
  : false,
72
72
  });
73
73
  }, [formValues]);
74
- const nameSubmit = async () => {
74
+ const submitAPIKey = async () => {
75
75
  runStore.layout().showBackdrop();
76
- const updatedToken = {
77
- ...token,
76
+ const updatedAPIKey = {
77
+ ...apiKey,
78
78
  name: formValues.name,
79
79
  description: formValues.description,
80
80
  };
81
- updateTokenMutation.mutate(updatedToken, {
81
+ updateAPIKeyMutation.mutate(updatedAPIKey, {
82
82
  onSuccess: (resp) => {
83
83
  if (resp.success) {
84
- enqueueToast('The token is successfully updated.', {
84
+ enqueueToast('The API key was updated successfully.', {
85
85
  variant: 'success',
86
86
  });
87
- setToken(updatedToken);
87
+ setAPIKey(updatedAPIKey);
88
88
  }
89
89
  },
90
90
  onSettled: () => {
@@ -92,31 +92,31 @@ export const IAMTokenEdit = ({ tokensListRoute = '/settings/iam/tokens', } = {})
92
92
  },
93
93
  });
94
94
  };
95
- const handleDelete = async () => {
96
- runStore.layout().showBackdrop('Deleting the token...');
97
- deleteTokenMutation.mutate(token.id, {
95
+ const deleteAPIKey = async () => {
96
+ runStore.layout().showBackdrop('Deleting the API key...');
97
+ deleteAPIKeyMutation.mutate(apiKey.id, {
98
98
  onSuccess: (resp) => {
99
99
  if (resp.success) {
100
- enqueueToast('The token is successfully deleted.', {
100
+ enqueueToast('The API key was deleted successfully.', {
101
101
  variant: 'success',
102
102
  });
103
- navigate(tokensListRoute);
103
+ navigate(apiKeysListRoute);
104
104
  }
105
105
  else {
106
- enqueueToast(resp.message || 'Failed to delete token.', {
106
+ enqueueToast(resp.message || 'Failed to delete API key.', {
107
107
  variant: 'error',
108
108
  });
109
109
  }
110
110
  },
111
111
  onError: () => {
112
- enqueueToast('Failed to delete token.', { variant: 'error' });
112
+ enqueueToast('Failed to delete API key.', { variant: 'error' });
113
113
  },
114
114
  onSettled: () => {
115
115
  runStore.layout().hideBackdrop();
116
116
  },
117
117
  });
118
118
  };
119
- return (_jsxs(_Fragment, { children: [_jsx(PageHeader, { children: _jsx(Heading, { sx: { fontSize: 3 }, children: "API Key" }) }), _jsxs(Box, { display: "flex", children: [_jsxs(Box, { children: [_jsx(BoringAvatar, { displayName: token?.name, size: 100, style: { paddingRight: 10 } }), _jsx(Text, { as: "h2", sx: { paddingTop: 3 }, children: token?.name }), _jsx(Box, { mt: 3, children: _jsx(Label, { size: "large", children: token?.variant }) })] }), _jsxs(Box, { ml: 10, children: [_jsxs(Box, { sx: { label: { marginTop: 2 } }, children: [_jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Name" }), _jsx(TextInput, { block: true, value: formValues.name, onChange: nameNameChange }), validationResult.name === false && (_jsx(FormControl.Validation, { variant: "error", children: "Name must have more than 2 characters." }))] }), _jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Description" }), _jsx(Textarea, { block: true, value: formValues.description, onChange: nameDescriptionChange, rows: 5 }), validationResult.description === false && (_jsx(FormControl.Validation, { variant: "error", children: "Description must have more than 2 characters." }))] }), _jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Expiration date" }), _jsx(TextInput, { block: true, value: token?.expirationDate.toLocaleDateString(), onChange: nameNameChange, disabled: true })] }), _jsx(Button, { variant: "primary", disabled: !validationResult.name || !validationResult.description, sx: { marginTop: 3 }, onClick: nameSubmit, children: "Update token" })] }), _jsxs(Box, { sx: { marginTop: 3 }, children: [_jsx(Heading, { as: "h2", sx: {
119
+ return (_jsxs(_Fragment, { children: [showTitle && (_jsx(PageHeader, { children: _jsx(Heading, { sx: { fontSize: 3 }, children: "API Key" }) })), _jsxs(Box, { display: "flex", children: [_jsxs(Box, { children: [_jsx(BoringAvatar, { displayName: apiKey?.name, size: 100, style: { paddingRight: 10 } }), _jsx(Text, { as: "h2", sx: { paddingTop: 3 }, children: apiKey?.name }), _jsx(Box, { mt: 3, children: _jsx(Label, { size: "large", children: apiKey?.variant }) })] }), _jsxs(Box, { ml: 10, children: [_jsxs(Box, { sx: { label: { marginTop: 2 } }, children: [_jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Name" }), _jsx(TextInput, { block: true, value: formValues.name, onChange: nameNameChange }), validationResult.name === false && (_jsx(FormControl.Validation, { variant: "error", children: "Name must have more than 2 characters." }))] }), _jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Description" }), _jsx(Textarea, { block: true, value: formValues.description, onChange: nameDescriptionChange, rows: 5 }), validationResult.description === false && (_jsx(FormControl.Validation, { variant: "error", children: "Description must have more than 2 characters." }))] }), _jsxs(FormControl, { children: [_jsx(FormControl.Label, { children: "Expiration date" }), _jsx(TextInput, { block: true, value: apiKey?.expirationDate.toLocaleDateString(), onChange: nameNameChange, disabled: true })] }), _jsx(Button, { variant: "primary", disabled: !validationResult.name || !validationResult.description, sx: { marginTop: 3 }, onClick: submitAPIKey, children: "Update API key" })] }), _jsxs(Box, { sx: { marginTop: 3 }, children: [_jsx(Heading, { as: "h2", sx: {
120
120
  fontSize: 4,
121
121
  fontWeight: 'normal',
122
122
  color: 'danger.fg',
@@ -130,6 +130,6 @@ export const IAMTokenEdit = ({ tokensListRoute = '/settings/iam/tokens', } = {})
130
130
  alignItems: 'center',
131
131
  justifyContent: 'space-between',
132
132
  gap: 3,
133
- }, children: [_jsxs(Box, { sx: { display: 'grid', gap: 1 }, children: [_jsx(Text, { sx: { fontSize: 1, fontWeight: 'bold', color: 'danger.fg' }, children: "Confirm the token name to delete" }), _jsx(FormControl, { children: _jsx(TextInput, { block: true, value: formValues.nameConfirm, onChange: nameConfirmChange }) }), _jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "This operation is not reversible." })] }), _jsx(Button, { variant: "danger", disabled: !validationResult.nameConfirm, onClick: handleDelete, children: "Delete token" })] })] })] })] })] }));
133
+ }, children: [_jsxs(Box, { sx: { display: 'grid', gap: 1 }, children: [_jsx(Text, { sx: { fontSize: 1, fontWeight: 'bold', color: 'danger.fg' }, children: "Confirm the API key name to delete" }), _jsx(FormControl, { children: _jsx(TextInput, { block: true, value: formValues.nameConfirm, onChange: nameConfirmChange }) }), _jsx(Text, { sx: { fontSize: 1, color: 'fg.muted' }, children: "This operation is not reversible." })] }), _jsx(Button, { variant: "danger", disabled: !validationResult.nameConfirm, onClick: deleteAPIKey, children: "Delete API key" })] })] })] })] })] }));
134
134
  };
135
- export default IAMTokenEdit;
135
+ export default APIKeyEdit;
@@ -0,0 +1,8 @@
1
+ export type APIKeyNewProps = {
2
+ /** Route to navigate when clicking "List my API keys". Defaults to '/settings/iam/api-keys'. */
3
+ apiKeysListRoute?: string;
4
+ /** Whether to render the "New API Key" title header in create mode. Defaults to true. */
5
+ showTitle?: boolean;
6
+ };
7
+ export declare const APIKeyNew: ({ apiKeysListRoute, showTitle, }?: APIKeyNewProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default APIKeyNew;