@datalayer/core 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/README.md +114 -3
  2. package/lib/App.css +2 -2
  3. package/lib/App.d.ts +1 -1
  4. package/lib/App.js +9 -9
  5. package/lib/__tests__/index.test.js +5 -5
  6. package/lib/api/DatalayerApi.d.ts +1 -1
  7. package/lib/api/DatalayerApi.js +3 -3
  8. package/lib/api/index.d.ts +3 -3
  9. package/lib/api/index.js +3 -3
  10. package/lib/api/runtimes/actions.js +22 -23
  11. package/lib/api/runtimes/settings.js +3 -3
  12. package/lib/api/runtimes/snapshots.d.ts +1 -1
  13. package/lib/api/runtimes/snapshots.js +8 -8
  14. package/lib/api/runtimes/utils.js +1 -4
  15. package/lib/collaboration/DatalayerCollaboration.d.ts +9 -0
  16. package/lib/collaboration/DatalayerCollaboration.js +28 -0
  17. package/lib/collaboration/DatalayerCollaborationProvider.d.ts +54 -0
  18. package/lib/collaboration/DatalayerCollaborationProvider.js +162 -0
  19. package/lib/collaboration/index.d.ts +2 -0
  20. package/lib/collaboration/index.js +6 -0
  21. package/lib/components/avatars/BoringAvatar.d.ts +1 -1
  22. package/lib/components/avatars/BoringAvatar.js +2 -2
  23. package/lib/components/avatars/UserProfileAvatar.js +2 -9
  24. package/lib/components/banners/NoAutomationBanner.js +4 -4
  25. package/lib/components/buttons/DownloadCSVButton.js +1 -1
  26. package/lib/components/buttons/UploadButton.js +1 -1
  27. package/lib/components/checkout/StripeCheckout.d.ts +1 -1
  28. package/lib/components/checkout/StripeCheckout.js +6 -6
  29. package/lib/components/confetti/ConfettiSuccess.js +1 -1
  30. package/lib/components/context/OrganizationSelect.js +5 -5
  31. package/lib/components/context/SpaceSelect.js +7 -7
  32. package/lib/components/display/AvatarSkeleton.js +1 -1
  33. package/lib/components/display/CenteredSpinner.js +4 -4
  34. package/lib/components/display/CodePreview.js +4 -4
  35. package/lib/components/display/DatalayerBox.js +13 -14
  36. package/lib/components/display/HorizontalCenter.d.ts +1 -1
  37. package/lib/components/display/HorizontalCenter.js +1 -1
  38. package/lib/components/display/JupyterDialog.js +17 -15
  39. package/lib/components/display/NavLink.d.ts +4 -2
  40. package/lib/components/display/NavLink.js +6 -4
  41. package/lib/components/display/NotebookSkeleton.js +2 -2
  42. package/lib/components/display/Placeholder.js +1 -1
  43. package/lib/components/display/ToTopBranded.js +1 -1
  44. package/lib/components/echarts/EChartsReact.d.ts +1 -1
  45. package/lib/components/echarts/EChartsReact.js +1 -1
  46. package/lib/components/flashes/FlashClosable.js +11 -11
  47. package/lib/components/flashes/FlashDisclaimer.js +2 -3
  48. package/lib/components/flashes/FlashGuest.js +3 -4
  49. package/lib/components/flashes/FlashSurveys.js +3 -4
  50. package/lib/components/flashes/FlashUnauthorized.js +2 -2
  51. package/lib/components/flashes/surveys/Survey2025_1.d.ts +1 -1
  52. package/lib/components/flashes/surveys/Survey2025_1.js +62 -85
  53. package/lib/components/iam/ExternalTokenSilentLogin.js +6 -4
  54. package/lib/components/icons/ArtifactIcon.d.ts +2 -2
  55. package/lib/components/icons/ArtifactIcon.js +39 -39
  56. package/lib/components/labels/VisibilityLabel.js +2 -5
  57. package/lib/components/landings/StepBlock.d.ts +1 -1
  58. package/lib/components/landings/StepBlock.js +1 -1
  59. package/lib/components/navbar/NavigationVisbilityObserver.js +2 -2
  60. package/lib/components/navbar/SubdomainNavBar.js +45 -23
  61. package/lib/components/navbar/SubdomainNavBar.module.css +33 -14
  62. package/lib/components/nbgrader/NbGradesDetails.d.ts +1 -1
  63. package/lib/components/nbgrader/NbGradesDetails.js +5 -8
  64. package/lib/components/notebooks/JupyterNotebook.js +5 -5
  65. package/lib/components/notebooks/JupyterNotebookToolbar.js +3 -3
  66. package/lib/components/primer/Helper.d.ts +1 -1
  67. package/lib/components/primer/Helper.js +5 -3
  68. package/lib/components/primer/Portals.d.ts +1 -1
  69. package/lib/components/primer/Portals.js +2 -2
  70. package/lib/components/primer/Styles.js +1 -1
  71. package/lib/components/progress/ConsumptionBar.js +2 -2
  72. package/lib/components/progress/CreditsIndicator.d.ts +1 -1
  73. package/lib/components/progress/CreditsIndicator.js +4 -7
  74. package/lib/components/progress/ProgressRing.js +2 -2
  75. package/lib/components/runtimes/RuntimeCellVariables.js +9 -9
  76. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +3 -3
  77. package/lib/components/runtimes/RuntimeLauncherDialog.js +30 -34
  78. package/lib/components/runtimes/RuntimePickerBase.js +42 -31
  79. package/lib/components/runtimes/RuntimePickerCell.js +9 -12
  80. package/lib/components/runtimes/RuntimePickerNotebook.js +44 -44
  81. package/lib/components/runtimes/RuntimeReservationControl.js +10 -15
  82. package/lib/components/runtimes/RuntimeSimplePicker.js +9 -12
  83. package/lib/components/runtimes/RuntimeUtils.js +22 -12
  84. package/lib/components/runtimes/RuntimeVariables.js +7 -7
  85. package/lib/components/screenshot/ScreenCapture.js +9 -13
  86. package/lib/components/screenshot/ScreenCaptureButton.d.ts +1 -1
  87. package/lib/components/screenshot/ScreenCaptureButton.js +14 -8
  88. package/lib/components/snapshots/RuntimeSnapshotMenu.js +19 -17
  89. package/lib/components/snippets/SnippetDialog.js +5 -5
  90. package/lib/components/storage/ContentsBrowser.js +63 -56
  91. package/lib/components/storage/ContentsItems.js +10 -8
  92. package/lib/components/students/StudentItemStatus.d.ts +1 -1
  93. package/lib/components/students/StudentItemStatus.js +35 -16
  94. package/lib/components/subnav/SubNav.d.ts +1 -1
  95. package/lib/components/subnav/SubNav.js +30 -15
  96. package/lib/components/subnav/SubNav.module.css +55 -21
  97. package/lib/components/tables/DataTable.js +1 -4
  98. package/lib/components/text-reveal/TextRevealAnimation.js +7 -2
  99. package/lib/components/text-reveal/TextRevealAnimation.module.css +4 -2
  100. package/lib/components/tokens/SpaceVariantToken.d.ts +1 -1
  101. package/lib/components/tokens/SpaceVariantToken.js +5 -5
  102. package/lib/components/toolbars/AssignmentEditorToolbar.js +1 -3
  103. package/lib/components/users/PeerIndicator.d.ts +1 -1
  104. package/lib/components/users/PeerIndicator.js +5 -5
  105. package/lib/config/Configuration.d.ts +48 -0
  106. package/lib/config/Configuration.js +42 -0
  107. package/lib/config/integrations/Loom.js +3 -3
  108. package/lib/examples/CellExample.d.ts +2 -2
  109. package/lib/examples/CellExample.js +34 -3
  110. package/lib/examples/DatalayerNotebookExample.d.ts +16 -0
  111. package/lib/examples/DatalayerNotebookExample.js +75 -0
  112. package/lib/examples/NativeNavigationExample.d.ts +8 -0
  113. package/lib/examples/NativeNavigationExample.js +97 -0
  114. package/lib/examples/NotebookExample.d.ts +1 -3
  115. package/lib/examples/NotebookExample.js +9 -7
  116. package/lib/examples/NotebookMutationsKernel.d.ts +2 -0
  117. package/lib/examples/NotebookMutationsKernel.js +115 -0
  118. package/lib/examples/NotebookMutationsServiceManager.d.ts +2 -0
  119. package/lib/examples/NotebookMutationsServiceManager.js +107 -0
  120. package/lib/examples/ReactRouterExample.d.ts +6 -0
  121. package/lib/examples/ReactRouterExample.js +175 -0
  122. package/lib/examples/example-selector.d.ts +22 -0
  123. package/lib/examples/example-selector.js +45 -0
  124. package/lib/examples/index.d.ts +2 -0
  125. package/lib/examples/index.js +6 -0
  126. package/lib/examples/main.js +153 -0
  127. package/lib/examples/notebooks/IPyWidgetsExample.ipynb.json +101 -0
  128. package/lib/examples/notebooks/IPyWidgetsExampleWithState.ipynb.json +112 -0
  129. package/lib/examples/{NotebookExample1.ipynb.json → notebooks/Lite.ipynb.json} +45 -53
  130. package/lib/examples/notebooks/Matplotlib.ipynb.json +137 -0
  131. package/lib/examples/notebooks/NotebookExample1.ipynb.json +126 -0
  132. package/lib/examples/notebooks/NotebookExample2.ipynb.json +48 -0
  133. package/lib/examples/notebooks/NotebookOutputs.ipynb.json +49 -0
  134. package/lib/examples/notebooks/NotebookToCExample.ipynb.json +102 -0
  135. package/lib/examples/notebooks/OutputIPyWidgetsExample.d.ts +145 -0
  136. package/lib/examples/notebooks/OutputIPyWidgetsExample.js +153 -0
  137. package/lib/examples/notebooks/PyGWalker.ipynb.json +55 -0
  138. package/lib/hooks/assets/OutputshotPlaceholders.d.ts +10 -10
  139. package/lib/hooks/assets/OutputshotPlaceholders.js +10 -10
  140. package/lib/hooks/index.d.ts +29 -28
  141. package/lib/hooks/index.js +29 -28
  142. package/lib/hooks/layouts/LayoutBackdrop.js +3 -6
  143. package/lib/hooks/layouts/LayoutScreenshot.css +1 -1
  144. package/lib/hooks/layouts/LayoutScreenshot.js +6 -6
  145. package/lib/hooks/useAIAgents.d.ts +1 -1
  146. package/lib/hooks/useAIAgents.js +6 -6
  147. package/lib/hooks/useAuthorization.js +4 -4
  148. package/lib/hooks/useBackdrop.js +7 -7
  149. package/lib/hooks/useBackdropJupyterLab.d.ts +1 -1
  150. package/lib/hooks/useBackdropJupyterLab.js +4 -4
  151. package/lib/hooks/useCache.d.ts +6 -2
  152. package/lib/hooks/useCache.js +233 -179
  153. package/lib/hooks/useCellOutputshot.js +3 -6
  154. package/lib/hooks/useContainsFocus.js +2 -1
  155. package/lib/hooks/useDatalayer.js +5 -3
  156. package/lib/hooks/useError.d.ts +1 -1
  157. package/lib/hooks/useError.js +2 -2
  158. package/lib/hooks/useExternalScript.js +4 -4
  159. package/lib/hooks/useFocusTrap.js +2 -1
  160. package/lib/hooks/useIAM.js +4 -5
  161. package/lib/hooks/useId.js +3 -3
  162. package/lib/hooks/useJupyterLabTheme.js +3 -1
  163. package/lib/hooks/useLocation.d.ts +22 -0
  164. package/lib/hooks/useLocation.js +149 -0
  165. package/lib/hooks/useLocationHandles.d.ts +2 -2
  166. package/lib/hooks/useLocationHandles.js +6 -4
  167. package/lib/hooks/useNavigate.d.ts +5 -1
  168. package/lib/hooks/useNavigate.js +62 -7
  169. package/lib/hooks/useNotebookAIAgent.js +3 -1
  170. package/lib/hooks/useParams.d.ts +5 -0
  171. package/lib/hooks/useParams.js +112 -0
  172. package/lib/hooks/useRuntimes.js +2 -2
  173. package/lib/hooks/useScreenshot.js +5 -5
  174. package/lib/hooks/useToast.js +15 -13
  175. package/lib/hooks/useUpload.js +9 -9
  176. package/lib/hooks/useUser.js +1 -1
  177. package/lib/index.css +1 -1
  178. package/lib/index.d.ts +6 -3
  179. package/lib/index.js +7 -3
  180. package/lib/mocks/components/FlashMock.js +4 -4
  181. package/lib/mocks/hooks/rests/rests.js +15 -18
  182. package/lib/mocks/hooks/useDatalayerMock.d.ts +2 -2
  183. package/lib/mocks/hooks/useDatalayerMock.js +7 -7
  184. package/lib/mocks/models/CodeBlockMock.js +1 -1
  185. package/lib/mocks/models/CodelineMock.js +1 -1
  186. package/lib/mocks/models/CourseMock.d.ts +1 -1
  187. package/lib/mocks/models/CourseMock.js +10 -10
  188. package/lib/mocks/models/InviteMock.d.ts +1 -1
  189. package/lib/mocks/models/InviteMock.js +21 -6
  190. package/lib/mocks/models/JupyterLabUserMock.js +2 -2
  191. package/lib/mocks/models/OrganisationMock.d.ts +1 -1
  192. package/lib/mocks/models/OrganisationMock.js +11 -7
  193. package/lib/mocks/models/SchoolMock.d.ts +1 -1
  194. package/lib/mocks/models/SchoolMock.js +6 -6
  195. package/lib/mocks/models/SpaceMock.d.ts +1 -1
  196. package/lib/mocks/models/SpaceMock.js +9 -9
  197. package/lib/mocks/models/TeamMock.d.ts +1 -1
  198. package/lib/mocks/models/TeamMock.js +6 -6
  199. package/lib/mocks/models/UserMock.d.ts +1 -1
  200. package/lib/mocks/models/UserMock.js +4 -6
  201. package/lib/mocks/views/ActionMenuMock.js +1 -1
  202. package/lib/mocks/views/ChartMock.js +3 -3
  203. package/lib/mocks/views/ChartMockOptions.js +24 -24
  204. package/lib/mocks/views/DashboardMock.js +74 -74
  205. package/lib/mocks/views/FormMock.js +1 -1
  206. package/lib/mocks/views/TableMock.js +1 -1
  207. package/lib/models/Account.d.ts +2 -2
  208. package/lib/models/Assignment.d.ts +2 -2
  209. package/lib/models/Cell.d.ts +1 -1
  210. package/lib/models/CodeBlock.d.ts +1 -1
  211. package/lib/models/CodefeedBlocks.d.ts +2 -2
  212. package/lib/models/Contact.d.ts +1 -1
  213. package/lib/models/Contact.js +14 -14
  214. package/lib/models/ContactIAMProvider.js +2 -2
  215. package/lib/models/Course.d.ts +7 -7
  216. package/lib/models/Dataset.d.ts +1 -1
  217. package/lib/models/Dean.d.ts +1 -1
  218. package/lib/models/Document.d.ts +1 -1
  219. package/lib/models/Environment.d.ts +2 -2
  220. package/lib/models/Exercise.d.ts +1 -1
  221. package/lib/models/IAMProviderLinked.js +1 -1
  222. package/lib/models/Instructor.d.ts +1 -1
  223. package/lib/models/Invite.d.ts +2 -2
  224. package/lib/models/Invite.js +1 -1
  225. package/lib/models/Item.d.ts +5 -5
  226. package/lib/models/LandingRoles.js +18 -18
  227. package/lib/models/Lesson.d.ts +1 -1
  228. package/lib/models/Member.d.ts +1 -1
  229. package/lib/models/Notebook.d.ts +1 -1
  230. package/lib/models/Organization.d.ts +4 -4
  231. package/lib/models/Organization.js +2 -2
  232. package/lib/models/OrganizationMember.d.ts +2 -2
  233. package/lib/models/Page.js +4 -2
  234. package/lib/models/PageTag.d.ts +1 -1
  235. package/lib/models/PageTag.js +56 -9
  236. package/lib/models/Profile.d.ts +1 -1
  237. package/lib/models/RolesOrganization.d.ts +1 -1
  238. package/lib/models/RolesOrganization.js +4 -12
  239. package/lib/models/RolesPlatform.d.ts +1 -1
  240. package/lib/models/RolesPlatform.js +12 -34
  241. package/lib/models/RolesTeam.d.ts +1 -1
  242. package/lib/models/RolesTeam.js +3 -10
  243. package/lib/models/Runtime.js +4 -4
  244. package/lib/models/RuntimeSnapshot.js +1 -1
  245. package/lib/models/School.d.ts +4 -4
  246. package/lib/models/Space.d.ts +5 -5
  247. package/lib/models/Space.js +3 -3
  248. package/lib/models/SpaceItem.d.ts +8 -8
  249. package/lib/models/SpaceMember.d.ts +2 -2
  250. package/lib/models/Student.d.ts +2 -2
  251. package/lib/models/StudentItem.d.ts +3 -3
  252. package/lib/models/Team.d.ts +3 -3
  253. package/lib/models/Team.js +2 -2
  254. package/lib/models/TeamMember.d.ts +2 -2
  255. package/lib/models/URN.js +1 -1
  256. package/lib/models/User.d.ts +2 -2
  257. package/lib/models/User.js +5 -3
  258. package/lib/models/UserOnboarding.d.ts +1 -1
  259. package/lib/models/UserOnboarding.js +7 -7
  260. package/lib/models/UserSettings.js +2 -2
  261. package/lib/models/index.d.ts +2 -2
  262. package/lib/models/index.js +2 -2
  263. package/lib/navigation/adapters/native.d.ts +11 -0
  264. package/lib/navigation/adapters/native.js +48 -0
  265. package/lib/navigation/adapters/nextjs.d.ts +9 -0
  266. package/lib/navigation/adapters/nextjs.js +35 -0
  267. package/lib/navigation/adapters/react-router.d.ts +4 -0
  268. package/lib/navigation/adapters/react-router.js +12 -0
  269. package/lib/navigation/components.d.ts +20 -0
  270. package/lib/navigation/components.js +36 -0
  271. package/lib/navigation/index.d.ts +4 -0
  272. package/lib/navigation/index.js +12 -0
  273. package/lib/routes/index.d.ts +1 -1
  274. package/lib/routes/index.js +1 -1
  275. package/lib/services/DatalayerServiceManager.d.ts +22 -0
  276. package/lib/services/DatalayerServiceManager.js +69 -0
  277. package/lib/services/index.d.ts +4 -0
  278. package/lib/services/index.js +7 -0
  279. package/lib/services/reconnectToRuntime.d.ts +32 -0
  280. package/lib/services/reconnectToRuntime.js +59 -0
  281. package/lib/state/State.d.ts +1 -1
  282. package/lib/state/State.js +1 -1
  283. package/lib/state/index.d.ts +1 -1
  284. package/lib/state/index.js +1 -1
  285. package/lib/state/storage/IAMStorage.js +14 -2
  286. package/lib/state/storage/index.d.ts +1 -1
  287. package/lib/state/storage/index.js +1 -1
  288. package/lib/state/substates/AIAgentState.js +4 -2
  289. package/lib/state/substates/CellState.js +6 -5
  290. package/lib/state/substates/CoreState.d.ts +1 -1
  291. package/lib/state/substates/CoreState.js +26 -17
  292. package/lib/state/substates/DatasourceState.js +1 -1
  293. package/lib/state/substates/IAMState.d.ts +4 -0
  294. package/lib/state/substates/IAMState.js +39 -23
  295. package/lib/state/substates/JupyterLabState.js +1 -1
  296. package/lib/state/substates/LayoutState.d.ts +2 -2
  297. package/lib/state/substates/LayoutState.js +41 -28
  298. package/lib/state/substates/OrganizationState.js +1 -1
  299. package/lib/state/substates/RuntimesState.js +11 -6
  300. package/lib/state/substates/SpaceState.js +1 -1
  301. package/lib/state/substates/SurveysState.js +4 -4
  302. package/lib/state/substates/TeamState.js +1 -1
  303. package/lib/test-setup.js +25 -3
  304. package/lib/theme/DatalayerTheme.js +1 -1
  305. package/lib/theme/DatalayerThemeProvider.js +17 -14
  306. package/lib/theme/Palette.js +1 -1
  307. package/lib/utils/Avatar.js +2 -2
  308. package/lib/utils/Browser.js +6 -6
  309. package/lib/utils/Cells.d.ts +1 -1
  310. package/lib/utils/Cookie.js +1 -1
  311. package/lib/utils/Date.js +2 -2
  312. package/lib/utils/Download.js +5 -3
  313. package/lib/utils/DownloadFile.js +4 -2
  314. package/lib/utils/Env.js +2 -1
  315. package/lib/utils/Lazy.d.ts +1 -1
  316. package/lib/utils/Lazy.js +2 -2
  317. package/lib/utils/Name.js +10 -8
  318. package/lib/utils/Notebook.d.ts +1 -1
  319. package/lib/utils/Notebook.js +3 -3
  320. package/lib/utils/Number.js +13 -9
  321. package/lib/utils/Plots.js +4 -4
  322. package/lib/utils/Screenshot.js +1 -1
  323. package/lib/utils/Sleep.js +1 -1
  324. package/lib/utils/Snapshot.js +2 -2
  325. package/lib/utils/String.js +2 -2
  326. package/lib/utils/Uri.js +1 -1
  327. package/lib/utils/WithSuspense.js +3 -6
  328. package/lib/utils/logger.d.ts +16 -0
  329. package/lib/utils/logger.js +52 -0
  330. package/package.json +49 -5
  331. package/lib/__tests__/App.test.js +0 -17
  332. /package/lib/{__tests__/App.test.d.ts → examples/main.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- import { ITeam } from "./Team";
2
- import { ISchool } from "./School";
3
- import { IOrganizationMember } from "./OrganizationMember";
1
+ import { ITeam } from './Team';
2
+ import { ISchool } from './School';
3
+ import { IOrganizationMember } from './OrganizationMember';
4
4
  /**
5
5
  * Convert the raw user object to {@link IOrganization}.
6
6
  *
@@ -21,7 +21,7 @@ export type IBaseOrganization = {
21
21
  setMembers: (members: IOrganizationMember[]) => void;
22
22
  };
23
23
  export type IOrganization = IBaseOrganization & {
24
- type: "organization";
24
+ type: 'organization';
25
25
  teams: ITeam[];
26
26
  };
27
27
  export default IOrganization;
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { asArray } from "../utils";
6
- import { asUser } from "./User";
5
+ import { asArray } from '../utils';
6
+ import { asUser } from './User';
7
7
  /**
8
8
  * Convert the raw user object to {@link IOrganization}.
9
9
  *
@@ -1,5 +1,5 @@
1
- import { Member } from "./Member";
2
- import { IOrganization } from "./Organization";
1
+ import { Member } from './Member';
2
+ import { IOrganization } from './Organization';
3
3
  export type IOrganizationMember = Member & {
4
4
  organization?: IOrganization;
5
5
  };
@@ -14,10 +14,12 @@ export const asPage = (s) => {
14
14
  theme: s.theme_s,
15
15
  nbformat: s.nbformat_s ? JSON.parse(s.nbformat_s) : undefined,
16
16
  screenCapture: s.screen_capture_s,
17
- tags: (s.tags_ss ?? []),
17
+ tags: s.tags_ss ?? [],
18
18
  creator: s.creator ? asUser(s.creator) : undefined,
19
19
  creatorId: s.creator_uid,
20
- kernelSnapshot: s.kernel_snapshot ? asRuntimeSnapshot(s.kernel_snapshot) : undefined,
20
+ kernelSnapshot: s.kernel_snapshot
21
+ ? asRuntimeSnapshot(s.kernel_snapshot)
22
+ : undefined,
21
23
  kernelSnapshotId: s.kernel_snapshot_uid,
22
24
  };
23
25
  };
@@ -1,6 +1,6 @@
1
1
  import { CardIconColors } from '@primer/react-brand';
2
2
  import { Icon } from '@primer/octicons-react';
3
- type CardIconColorsType = typeof CardIconColors[number];
3
+ type CardIconColorsType = (typeof CardIconColors)[number];
4
4
  export type PageTagMetadata = {
5
5
  fillColor: React.CSSProperties['backgroundColor'];
6
6
  };
@@ -3,15 +3,62 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  import { CopilotIcon, ZapIcon } from '@primer/octicons-react';
6
- export const PAGE_TAGE_NONE = { id: '0', text: undefined, Icon: CopilotIcon, color: 'pink' };
7
- const PAGE_TAGE_AI = { id: '1', text: 'ai', Icon: CopilotIcon, color: 'pink' };
8
- const PAGE_TAGE_DEEP_LEARNING = { id: '2', text: 'deep-learning', Icon: ZapIcon, color: 'blue' };
9
- const PAGE_TAGE_EXAMPLE = { id: '3', text: 'example', Icon: CopilotIcon, color: 'lime' };
10
- const PAGE_TAGE_LLM = { id: '4', text: 'llm', Icon: CopilotIcon, color: 'coral' };
11
- const PAGE_TAGE_PYTHON = { id: '5', text: 'python', Icon: CopilotIcon, color: 'gray', metadata: { fillColor: 'var(--base-color-green-0)' } };
12
- const PAGE_TAGE_PYTORCH = { id: '6', text: 'pytorch', Icon: CopilotIcon, color: 'green' };
13
- const PAGE_TAGE_SPATIAL = { id: '7', text: 'spatial', Icon: CopilotIcon, color: 'lemon' };
14
- const PAGE_TAGE_TUTORIAL = { id: '8', text: 'tutorial', Icon: CopilotIcon, color: 'orange', metadata: { fillColor: 'yellow' } };
6
+ export const PAGE_TAGE_NONE = {
7
+ id: '0',
8
+ text: undefined,
9
+ Icon: CopilotIcon,
10
+ color: 'pink',
11
+ };
12
+ const PAGE_TAGE_AI = {
13
+ id: '1',
14
+ text: 'ai',
15
+ Icon: CopilotIcon,
16
+ color: 'pink',
17
+ };
18
+ const PAGE_TAGE_DEEP_LEARNING = {
19
+ id: '2',
20
+ text: 'deep-learning',
21
+ Icon: ZapIcon,
22
+ color: 'blue',
23
+ };
24
+ const PAGE_TAGE_EXAMPLE = {
25
+ id: '3',
26
+ text: 'example',
27
+ Icon: CopilotIcon,
28
+ color: 'lime',
29
+ };
30
+ const PAGE_TAGE_LLM = {
31
+ id: '4',
32
+ text: 'llm',
33
+ Icon: CopilotIcon,
34
+ color: 'coral',
35
+ };
36
+ const PAGE_TAGE_PYTHON = {
37
+ id: '5',
38
+ text: 'python',
39
+ Icon: CopilotIcon,
40
+ color: 'gray',
41
+ metadata: { fillColor: 'var(--base-color-green-0)' },
42
+ };
43
+ const PAGE_TAGE_PYTORCH = {
44
+ id: '6',
45
+ text: 'pytorch',
46
+ Icon: CopilotIcon,
47
+ color: 'green',
48
+ };
49
+ const PAGE_TAGE_SPATIAL = {
50
+ id: '7',
51
+ text: 'spatial',
52
+ Icon: CopilotIcon,
53
+ color: 'lemon',
54
+ };
55
+ const PAGE_TAGE_TUTORIAL = {
56
+ id: '8',
57
+ text: 'tutorial',
58
+ Icon: CopilotIcon,
59
+ color: 'orange',
60
+ metadata: { fillColor: 'yellow' },
61
+ };
15
62
  export const PAGE_TAGS = [
16
63
  PAGE_TAGE_AI,
17
64
  PAGE_TAGE_DEEP_LEARNING,
@@ -1 +1 @@
1
- export type IProfileType = "user" | "organization" | undefined;
1
+ export type IProfileType = 'user' | 'organization' | undefined;
@@ -1,4 +1,4 @@
1
- import { IRole } from "./Role";
1
+ import { IRole } from './Role';
2
2
  export declare class OrganizationRoles {
3
3
  private constructor();
4
4
  static readonly Member: IRole;
@@ -3,18 +3,10 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  import { AlienIcon } from '@datalayer/icons-react';
6
- const ORGANIZATION_MEMBER_PERMSSIONS = [
7
- "invite_users",
8
- ];
9
- const ORGANIZATION_SECURITY_AUDITOR_PERMSSIONS = [
10
- "view_landings",
11
- ];
12
- const ORGANIZATION_USAGE_REVIEWER_PERMSSIONS = [
13
- "view_users",
14
- ];
15
- const ORGANIZATION_ADMIN_PERMSSIONS = ORGANIZATION_MEMBER_PERMSSIONS.concat(...[
16
- "manage_users",
17
- ]);
6
+ const ORGANIZATION_MEMBER_PERMSSIONS = ['invite_users'];
7
+ const ORGANIZATION_SECURITY_AUDITOR_PERMSSIONS = ['view_landings'];
8
+ const ORGANIZATION_USAGE_REVIEWER_PERMSSIONS = ['view_users'];
9
+ const ORGANIZATION_ADMIN_PERMSSIONS = ORGANIZATION_MEMBER_PERMSSIONS.concat(...['manage_users']);
18
10
  export class OrganizationRoles {
19
11
  constructor() { }
20
12
  static Member = {
@@ -1,4 +1,4 @@
1
- import { IRole } from "./Role";
1
+ import { IRole } from './Role';
2
2
  export declare class PlatformRoles {
3
3
  private constructor();
4
4
  static readonly Anonymous: IRole;
@@ -2,40 +2,18 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { AlienIcon, UserIcon, PersonIcon, PassportControlIcon } from '@datalayer/icons-react';
6
- const PLATFORM_ANONYMOUS_PERMSSIONS = [
7
- "view_landings",
8
- ];
9
- const PLATFORM_SECURITY_AUDITOR_PERMSSIONS = [
10
- "view_landings",
11
- ];
12
- const PLATFORM_USAGE_REVIEWER_PERMSSIONS = [
13
- "view_landings",
14
- ];
15
- const PLATFORM_FEATURES_PREVIEWER_PERMSSIONS = [
16
- "view_landings",
17
- ];
18
- const PLATFORM_GUEST_PERMSSIONS = PLATFORM_ANONYMOUS_PERMSSIONS.concat(...[
19
- "view_users",
20
- ]);
21
- const PLATFORM_MEMBER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
22
- "invite_users",
23
- ]);
24
- const PLATFORM_SUPPORT_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
25
- "invite_users",
26
- ]);
27
- const PLATFORM_GROWTH_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
28
- "invite_users",
29
- ]);
30
- const PLATFORM_SUCCESS_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...[
31
- "invite_users",
32
- ]);
33
- const PLATFORM_IAM_TOKEN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...[
34
- "invite_users",
35
- ]);
36
- const PLATFORM_ADMIN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...[
37
- "manage_users",
38
- ]);
5
+ import { AlienIcon, UserIcon, PersonIcon, PassportControlIcon, } from '@datalayer/icons-react';
6
+ const PLATFORM_ANONYMOUS_PERMSSIONS = ['view_landings'];
7
+ const PLATFORM_SECURITY_AUDITOR_PERMSSIONS = ['view_landings'];
8
+ const PLATFORM_USAGE_REVIEWER_PERMSSIONS = ['view_landings'];
9
+ const PLATFORM_FEATURES_PREVIEWER_PERMSSIONS = ['view_landings'];
10
+ const PLATFORM_GUEST_PERMSSIONS = PLATFORM_ANONYMOUS_PERMSSIONS.concat(...['view_users']);
11
+ const PLATFORM_MEMBER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
12
+ const PLATFORM_SUPPORT_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
13
+ const PLATFORM_GROWTH_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
14
+ const PLATFORM_SUCCESS_MANAGER_PERMSSIONS = PLATFORM_GUEST_PERMSSIONS.concat(...['invite_users']);
15
+ const PLATFORM_IAM_TOKEN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...['invite_users']);
16
+ const PLATFORM_ADMIN_PERMSSIONS = PLATFORM_MEMBER_PERMSSIONS.concat(...['manage_users']);
39
17
  export class PlatformRoles {
40
18
  constructor() { }
41
19
  static Anonymous = {
@@ -1,4 +1,4 @@
1
- import { IRole } from "./Role";
1
+ import { IRole } from './Role';
2
2
  export declare class TeamRoles {
3
3
  private constructor();
4
4
  static readonly Member: IRole;
@@ -3,12 +3,8 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  import { AlienIcon } from '@datalayer/icons-react';
6
- const TEAM_MEMBER_PERMSSIONS = [
7
- "view_team",
8
- ];
9
- const TEAM_OWNER_PERMSSIONS = TEAM_MEMBER_PERMSSIONS.concat(...[
10
- "assign_team_user",
11
- ]);
6
+ const TEAM_MEMBER_PERMSSIONS = ['view_team'];
7
+ const TEAM_OWNER_PERMSSIONS = TEAM_MEMBER_PERMSSIONS.concat(...['assign_team_user']);
12
8
  export class TeamRoles {
13
9
  constructor() { }
14
10
  static Member = {
@@ -27,8 +23,5 @@ export class TeamRoles {
27
23
  permissions: TEAM_OWNER_PERMSSIONS,
28
24
  icon: AlienIcon,
29
25
  };
30
- static ALL_ROLES = [
31
- TeamRoles.Member,
32
- TeamRoles.Owner,
33
- ];
26
+ static ALL_ROLES = [TeamRoles.Member, TeamRoles.Owner];
34
27
  }
@@ -4,10 +4,10 @@
4
4
  */
5
5
  export const BACKWARDS_COMPATIBLE_KERNEL_TYPES_MAP = {
6
6
  // Backwards compatible mapping.
7
- 'default': 'notebook',
8
- 'snippet': 'cell',
9
- 'notebook': 'notebook',
10
- 'cell': 'cell',
7
+ default: 'notebook',
8
+ snippet: 'cell',
9
+ notebook: 'notebook',
10
+ cell: 'cell',
11
11
  };
12
12
  /**
13
13
  * Error thrown when a runtime has been created
@@ -8,6 +8,6 @@ export function asRuntimeSnapshot(s) {
8
8
  ...others,
9
9
  id: uid,
10
10
  updatedAt: new Date(updated_at),
11
- formatVersion: format_version
11
+ formatVersion: format_version,
12
12
  };
13
13
  }
@@ -1,7 +1,7 @@
1
- import { IDean } from "./Dean";
2
- import { IStudent } from "./Student";
3
- import { ICourse } from "./Course";
4
- import { IBaseOrganization } from "./Organization";
1
+ import { IDean } from './Dean';
2
+ import { IStudent } from './Student';
3
+ import { ICourse } from './Course';
4
+ import { IBaseOrganization } from './Organization';
5
5
  export type ISchool = IBaseOrganization & {
6
6
  type: 'school';
7
7
  dean?: IDean;
@@ -1,8 +1,8 @@
1
- import { SpaceMember } from "./SpaceMember";
2
- import { ISpaceItem } from "./SpaceItem";
3
- import { ICourse as ICourse } from "./Course";
4
- import { IOrganization } from "./Organization";
5
- import { IUser } from "./User";
1
+ import { SpaceMember } from './SpaceMember';
2
+ import { ISpaceItem } from './SpaceItem';
3
+ import { ICourse as ICourse } from './Course';
4
+ import { IOrganization } from './Organization';
5
+ import { IUser } from './User';
6
6
  /**
7
7
  * Convert the raw space object to {@link ISpace}.
8
8
  *
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { asUser } from "./User";
6
- import { asArray } from "../utils";
5
+ import { asUser } from './User';
6
+ import { asArray } from '../utils';
7
7
  import { newUserMock } from './../mocks/models';
8
8
  /**
9
9
  * Convert the raw space object to {@link ISpace}.
@@ -33,7 +33,7 @@ export const asSpace = (raw_space) => {
33
33
  owner,
34
34
  organization: {
35
35
  handle: raw_space.handle_s,
36
- }
36
+ },
37
37
  };
38
38
  return space;
39
39
  };
@@ -1,10 +1,10 @@
1
- import { INotebook } from "./Notebook";
2
- import { IDocument } from "./Document";
3
- import { ICell } from "./Cell";
4
- import { IDataset } from "./Dataset";
5
- import { IEnvironment } from "./Environment";
6
- import { ILesson } from "./Lesson";
7
- import { IExercise } from "./Exercise";
8
- import { IAssignment } from "./Assignment";
1
+ import { INotebook } from './Notebook';
2
+ import { IDocument } from './Document';
3
+ import { ICell } from './Cell';
4
+ import { IDataset } from './Dataset';
5
+ import { IEnvironment } from './Environment';
6
+ import { ILesson } from './Lesson';
7
+ import { IExercise } from './Exercise';
8
+ import { IAssignment } from './Assignment';
9
9
  export type ISpaceItem = IDataset | INotebook | ICell | IEnvironment | ILesson | IExercise | IAssignment | IDocument;
10
10
  export default ISpaceItem;
@@ -1,5 +1,5 @@
1
- import { Member } from "./Member";
2
- import { ISpace } from "./Space";
1
+ import { Member } from './Member';
2
+ import { ISpace } from './Space';
3
3
  export type SpaceMember = Member & {
4
4
  space?: ISpace;
5
5
  };
@@ -1,5 +1,5 @@
1
- import { IUser } from "./User";
2
- import { IStudentItem } from "./StudentItem";
1
+ import { IUser } from './User';
2
+ import { IStudentItem } from './StudentItem';
3
3
  export type IStudent = IUser & {
4
4
  studentItems?: Map<string, IStudentItem>;
5
5
  };
@@ -1,6 +1,6 @@
1
- import { IItemType } from "./ItemType";
2
- import { IStudent } from "./Student";
3
- import { ISpaceItem } from "./SpaceItem";
1
+ import { IItemType } from './ItemType';
2
+ import { IStudent } from './Student';
3
+ import { ISpaceItem } from './SpaceItem';
4
4
  export type IStudentItem = {
5
5
  id: string;
6
6
  type: 'student_item';
@@ -1,5 +1,5 @@
1
- import { TeamMember } from "./TeamMember";
2
- import IOrganization from "./Organization";
1
+ import { TeamMember } from './TeamMember';
2
+ import IOrganization from './Organization';
3
3
  export type IAnyTeam = ITeam;
4
4
  export declare function asTeam(t: any, organizationId: string): ITeam;
5
5
  export type IBaseTeam = {
@@ -16,7 +16,7 @@ export type IBaseTeam = {
16
16
  };
17
17
  export type ITeam = IBaseTeam & {
18
18
  type: 'team';
19
- organization: Pick<IOrganization, "id">;
19
+ organization: Pick<IOrganization, 'id'>;
20
20
  members: TeamMember[];
21
21
  };
22
22
  export default ITeam;
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- import { asArray } from "../utils";
6
- import { asUser } from "./User";
5
+ import { asArray } from '../utils';
6
+ import { asUser } from './User';
7
7
  export function asTeam(t, organizationId) {
8
8
  let members = new Array();
9
9
  if (t.members) {
@@ -1,5 +1,5 @@
1
- import { Member } from "./Member";
2
- import { ITeam } from "./Team";
1
+ import { Member } from './Member';
2
+ import { ITeam } from './Team';
3
3
  export type TeamMember = Member & {
4
4
  team?: ITeam;
5
5
  };
package/lib/models/URN.js CHANGED
@@ -11,7 +11,7 @@ export class URN {
11
11
  _uid;
12
12
  // private _path: string;
13
13
  constructor(urn) {
14
- const parts = urn.split(":");
14
+ const parts = urn.split(':');
15
15
  this._partition = parts[1];
16
16
  this._service = parts[2];
17
17
  this._region = parts[3];
@@ -1,5 +1,5 @@
1
- import { IInvite } from "./Invite";
2
- import { IIAMProviderLinked } from "./IAMProviderLinked";
1
+ import { IInvite } from './Invite';
2
+ import { IIAMProviderLinked } from './IAMProviderLinked';
3
3
  import { IUserOnboarding } from './UserOnboarding';
4
4
  import { IUserSettings } from './UserSettings';
5
5
  import { IUserEvent } from './UserEvent';
@@ -3,7 +3,7 @@
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
5
  import { asDisplayName, namesAsInitials } from '../utils';
6
- import { asIAMProviderLinked } from "./IAMProviderLinked";
6
+ import { asIAMProviderLinked } from './IAMProviderLinked';
7
7
  import { BOOTSTRAP_USER_ONBOARDING } from './UserOnboarding';
8
8
  import { UserSettings } from './UserSettings';
9
9
  import { asUserEvent } from './UserEvent';
@@ -56,7 +56,7 @@ export class User {
56
56
  this.lastName = u.last_name_t;
57
57
  this.initials = namesAsInitials(u.first_name_t, u.last_name_t);
58
58
  const displayName = asDisplayName(u.first_name_t, u.last_name_t);
59
- this.displayName = displayName === "" ? u.handle_s : displayName;
59
+ this.displayName = displayName === '' ? u.handle_s : displayName;
60
60
  this.avatarUrl = u.avatar_url_s;
61
61
  this.origin = u.origin_s;
62
62
  this.joinDate = u.join_ts_dt ? new Date(u.join_ts_dt) : undefined;
@@ -74,7 +74,9 @@ export class User {
74
74
  this.settings = new UserSettings(u.settings ?? {});
75
75
  this.unsubscribedFromOutbounds = u.unsubscribed_from_outbounds_b ?? false;
76
76
  this.mfaUrl = u.mfa_url_s;
77
- this.onboarding = u.onboarding_s ? JSON.parse(u.onboarding_s) : BOOTSTRAP_USER_ONBOARDING;
77
+ this.onboarding = u.onboarding_s
78
+ ? JSON.parse(u.onboarding_s)
79
+ : BOOTSTRAP_USER_ONBOARDING;
78
80
  this.linkedContactId = u.linked_contact_uid;
79
81
  let events = u.events ?? [];
80
82
  if (!Array.isArray(events)) {
@@ -1,7 +1,7 @@
1
1
  export declare const WELCOME_RUNTIME_TOUR_NAME = "welcome-runtime";
2
2
  export declare const BOOTSTRAP_USER_ONBOARDING: IUserOnboarding;
3
3
  export type IOnboardingPosition = 'top' | 'bottom' | 'invisible' | 'sidebar';
4
- export type ITourStatus = "idle" | "ready" | "waiting" | "running" | "paused" | "skipped" | "finished" | "error";
4
+ export type ITourStatus = 'idle' | 'ready' | 'waiting' | 'running' | 'paused' | 'skipped' | 'finished' | 'error';
5
5
  export type ITour = {
6
6
  status: ITourStatus;
7
7
  };
@@ -2,18 +2,18 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- export const WELCOME_RUNTIME_TOUR_NAME = "welcome-runtime";
5
+ export const WELCOME_RUNTIME_TOUR_NAME = 'welcome-runtime';
6
6
  export const BOOTSTRAP_USER_ONBOARDING = {
7
7
  clients: {
8
- "Platform": 0,
9
- "JupyterLab": 0,
10
- "CLI": 0,
11
- "VSCode": 0,
8
+ Platform: 0,
9
+ JupyterLab: 0,
10
+ CLI: 0,
11
+ VSCode: 0,
12
12
  },
13
13
  position: 'top',
14
14
  tours: {
15
- "welcome-runtime": {
16
- status: "ready",
15
+ 'welcome-runtime': {
16
+ status: 'ready',
17
17
  },
18
18
  },
19
19
  };
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) 2023-2025 Datalayer, Inc.
3
3
  * Distributed under the terms of the Modified BSD License.
4
4
  */
5
- export const AI_AGENTS_URL_KEY = "aiagents_url_s";
6
- export const CAN_INVITE_URL_KEY = "can_invite_b";
5
+ export const AI_AGENTS_URL_KEY = 'aiagents_url_s';
6
+ export const CAN_INVITE_URL_KEY = 'can_invite_b';
7
7
  export class UserSettings {
8
8
  _aiAgentsUrl;
9
9
  _canInvite;
@@ -5,8 +5,8 @@ export * from './Cell';
5
5
  export * from './CodeBlock';
6
6
  export * from './CodefeedBlocks';
7
7
  export * from './Contact';
8
- export * from "./ContactEvent";
9
- export * from "./ContactIAMProvider";
8
+ export * from './ContactEvent';
9
+ export * from './ContactIAMProvider';
10
10
  export * from './ContactTags';
11
11
  export * from './Content';
12
12
  export * from './Course';
@@ -9,8 +9,8 @@ export * from './Cell';
9
9
  export * from './CodeBlock';
10
10
  export * from './CodefeedBlocks';
11
11
  export * from './Contact';
12
- export * from "./ContactEvent";
13
- export * from "./ContactIAMProvider";
12
+ export * from './ContactEvent';
13
+ export * from './ContactIAMProvider';
14
14
  export * from './ContactTags';
15
15
  export * from './Content';
16
16
  export * from './Course';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Create native browser navigation function
3
+ */
4
+ export declare const createNativeNavigate: () => (to: string, options?: any) => void;
5
+ /**
6
+ * Simple native adapter for backward compatibility
7
+ */
8
+ export declare const createNativeAdapter: () => {
9
+ name: string;
10
+ isAvailable: () => boolean;
11
+ };
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ // Global event emitter for navigation changes
6
+ const navigationListeners = new Set();
7
+ const notifyNavigationChange = () => {
8
+ navigationListeners.forEach(listener => listener());
9
+ };
10
+ /**
11
+ * Create native browser navigation function
12
+ */
13
+ export const createNativeNavigate = () => {
14
+ return (to, options) => {
15
+ if (typeof window === 'undefined')
16
+ return;
17
+ // Parse the URL
18
+ const url = new URL(to, window.location.href);
19
+ // Use options if provided, otherwise default to empty object
20
+ const navOptions = options || {};
21
+ const state = navOptions.state || null;
22
+ if (navOptions.replace) {
23
+ window.history.replaceState(state, '', url.href);
24
+ // Dispatch custom event for location hooks
25
+ window.dispatchEvent(new Event('replacestate'));
26
+ }
27
+ else {
28
+ window.history.pushState(state, '', url.href);
29
+ // Dispatch custom event for location hooks
30
+ window.dispatchEvent(new Event('pushstate'));
31
+ }
32
+ // Notify all listeners of the navigation
33
+ notifyNavigationChange();
34
+ // Handle scrolling
35
+ if (navOptions.scroll !== false) {
36
+ window.scrollTo(0, 0);
37
+ }
38
+ };
39
+ };
40
+ /**
41
+ * Simple native adapter for backward compatibility
42
+ */
43
+ export const createNativeAdapter = () => {
44
+ return {
45
+ name: 'native',
46
+ isAvailable: () => typeof window !== 'undefined' && !!window.history && !!window.location,
47
+ };
48
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Check if we're in a Next.js environment
3
+ */
4
+ export declare const isNextJsEnvironment: () => boolean;
5
+ export declare const useParamsNext: any;
6
+ export declare const useSearchParamsNext: any;
7
+ export declare const useRouterNext: any;
8
+ export declare const usePathnameNext: any;
9
+ export declare const useRouterNextPages: any;