@datalayer/core 0.0.2 → 0.0.3

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 (329) hide show
  1. package/README.md +12 -1
  2. package/lib/App.css +47 -0
  3. package/lib/App.d.ts +1 -1
  4. package/lib/App.js +17 -5
  5. package/lib/__tests__/index.test.js +2 -1
  6. package/lib/api/{RunApi.d.ts → DatalayerApi.d.ts} +4 -4
  7. package/lib/api/{RunApi.js → DatalayerApi.js} +4 -9
  8. package/lib/api/index.d.ts +2 -1
  9. package/lib/api/index.js +2 -6
  10. package/lib/api/{runtimes → jupyter}/exec/Python.js +0 -5
  11. package/lib/api/{runtimes → jupyter}/exec/Snippets.js +0 -5
  12. package/lib/api/{runtimes → jupyter}/exec/index.js +0 -5
  13. package/lib/api/jupyter/index.d.ts +2 -0
  14. package/lib/api/jupyter/index.js +6 -0
  15. package/lib/api/{runtimes → jupyter}/kernelsHandler.d.ts +1 -1
  16. package/lib/api/{runtimes → jupyter}/kernelsHandler.js +1 -6
  17. package/lib/api/runtimes/actions.d.ts +102 -0
  18. package/lib/api/runtimes/{runtimesApi.js → actions.js} +26 -31
  19. package/lib/api/runtimes/{runtimesApi.d.ts → apis.d.ts} +8 -105
  20. package/lib/api/runtimes/apis.js +5 -0
  21. package/lib/api/runtimes/index.d.ts +2 -4
  22. package/lib/api/runtimes/index.js +2 -9
  23. package/lib/api/runtimes/settings.js +0 -5
  24. package/lib/api/runtimes/snapshots.js +0 -5
  25. package/lib/api/runtimes/utils.js +0 -5
  26. package/lib/assets/react.svg +1 -0
  27. package/lib/components/avatars/BoringAvatar.d.ts +1 -2
  28. package/lib/components/avatars/BoringAvatar.js +14 -9
  29. package/lib/components/avatars/BoringAvatar.stories.d.ts +27 -0
  30. package/lib/components/avatars/BoringAvatar.stories.js +23 -0
  31. package/lib/components/avatars/UserProfileAvatar.js +0 -5
  32. package/lib/components/avatars/index.js +0 -5
  33. package/lib/components/banners/NoAutomationBanner.js +0 -5
  34. package/lib/components/banners/index.js +0 -5
  35. package/lib/components/buttons/DownloadCSVButton.d.ts +1 -1
  36. package/lib/components/buttons/DownloadCSVButton.js +0 -5
  37. package/lib/components/buttons/DownloadJsonButton.d.ts +1 -1
  38. package/lib/components/buttons/DownloadJsonButton.js +0 -5
  39. package/lib/components/buttons/LongActionButton.js +0 -5
  40. package/lib/components/buttons/UploadButton.js +0 -5
  41. package/lib/components/buttons/index.js +0 -5
  42. package/lib/components/checkout/StripeCheckout.js +0 -5
  43. package/lib/components/checkout/index.js +0 -5
  44. package/lib/components/confetti/ConfettiSuccess.js +0 -5
  45. package/lib/components/confetti/index.js +0 -5
  46. package/lib/components/context/OrganizationSelect.js +0 -5
  47. package/lib/components/context/SpaceSelect.js +0 -5
  48. package/lib/components/context/index.js +0 -5
  49. package/lib/components/display/AvatarSkeleton.js +0 -5
  50. package/lib/components/display/CenteredSpinner.js +0 -5
  51. package/lib/components/display/CodePreview.js +0 -5
  52. package/lib/components/display/DatalayerBox.js +0 -5
  53. package/lib/components/display/JupyterDialog.js +0 -5
  54. package/lib/components/display/NavLink.js +0 -5
  55. package/lib/components/display/NotebookSkeleton.js +0 -5
  56. package/lib/components/display/Placeholder.js +0 -5
  57. package/lib/components/display/ToTopBranded.js +0 -5
  58. package/lib/components/display/VisuallyHidden.js +0 -5
  59. package/lib/components/display/index.js +0 -5
  60. package/lib/components/echarts/EChartsReact.js +6 -6
  61. package/lib/components/echarts/index.js +0 -5
  62. package/lib/components/flashes/FlashClosable.js +0 -5
  63. package/lib/components/flashes/FlashDisclaimer.js +0 -5
  64. package/lib/components/flashes/FlashGuest.js +0 -5
  65. package/lib/components/flashes/FlashSurveys.js +0 -5
  66. package/lib/components/flashes/FlashUnauthorized.js +0 -5
  67. package/lib/components/flashes/index.js +0 -5
  68. package/lib/components/flashes/surveys/Survey2025_1.js +0 -5
  69. package/lib/components/flashes/surveys/index.js +0 -5
  70. package/lib/components/iam/ExternalTokenSilentLogin.js +0 -5
  71. package/lib/components/iam/index.js +0 -5
  72. package/lib/components/icons/ArtifactIcon.js +0 -5
  73. package/lib/components/icons/index.js +0 -5
  74. package/lib/components/index.js +1 -6
  75. package/lib/components/labels/VisibilityLabel.js +0 -5
  76. package/lib/components/labels/index.js +0 -5
  77. package/lib/components/landings/StepBlock.js +0 -5
  78. package/lib/components/landings/index.js +0 -5
  79. package/lib/components/navbar/NavigationVisbilityObserver.js +0 -5
  80. package/lib/components/navbar/SubdomainNavBar.js +2 -7
  81. package/lib/components/navbar/SubdomainNavBar.module.css +718 -0
  82. package/lib/components/navbar/index.js +0 -5
  83. package/lib/components/nbgrader/NbGradesDetails.js +0 -5
  84. package/lib/components/nbgrader/index.js +0 -5
  85. package/lib/components/notebooks/JupyterNotebook.js +0 -5
  86. package/lib/components/notebooks/JupyterNotebookToolbar.js +0 -5
  87. package/lib/components/notebooks/index.js +0 -5
  88. package/lib/components/primer/Portals.js +0 -5
  89. package/lib/components/primer/Styles.js +0 -5
  90. package/lib/components/primer/index.js +0 -5
  91. package/lib/components/progress/ConsumptionBar.js +0 -5
  92. package/lib/components/progress/CreditsIndicator.js +0 -6
  93. package/lib/components/progress/ProgressBar.js +0 -5
  94. package/lib/components/progress/Timer.js +0 -5
  95. package/lib/components/progress/index.js +0 -5
  96. package/lib/components/runtimes/RuntimeCellVariables.js +0 -5
  97. package/lib/components/runtimes/RuntimeCellVariablesDialog.js +4 -9
  98. package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +1 -2
  99. package/lib/components/runtimes/RuntimeLauncherDialog.js +2 -6
  100. package/lib/components/runtimes/RuntimePickerBase.d.ts +1 -1
  101. package/lib/components/runtimes/RuntimePickerBase.js +0 -5
  102. package/lib/components/runtimes/RuntimePickerCell.js +0 -5
  103. package/lib/components/runtimes/RuntimePickerNotebook.d.ts +1 -2
  104. package/lib/components/runtimes/RuntimePickerNotebook.js +1 -6
  105. package/lib/components/runtimes/RuntimeReservationControl.js +0 -5
  106. package/lib/components/runtimes/RuntimeSimplePicker.d.ts +1 -1
  107. package/lib/components/runtimes/RuntimeSimplePicker.js +36 -41
  108. package/lib/components/runtimes/RuntimeUtils.d.ts +1 -1
  109. package/lib/components/runtimes/RuntimeUtils.js +0 -5
  110. package/lib/components/runtimes/RuntimeVariables.js +0 -5
  111. package/lib/components/runtimes/index.js +0 -5
  112. package/lib/components/screenshot/ScreenCapture.js +1 -6
  113. package/lib/components/screenshot/index.js +0 -5
  114. package/lib/components/snapshots/RuntimeSnapshotMenu.js +0 -5
  115. package/lib/components/snapshots/index.js +0 -5
  116. package/lib/components/snippets/SnippetDialog.js +0 -5
  117. package/lib/components/snippets/index.js +0 -5
  118. package/lib/components/storage/ContentsBrowser.js +12 -7
  119. package/lib/components/storage/ContentsItems.js +0 -5
  120. package/lib/components/storage/index.js +0 -5
  121. package/lib/components/students/StudentItemStatus.js +6 -8
  122. package/lib/components/students/index.js +0 -5
  123. package/lib/components/subnav/SubNav.d.ts +2 -2
  124. package/lib/components/subnav/SubNav.js +4 -9
  125. package/lib/components/subnav/SubNav.module.css +683 -0
  126. package/lib/components/subnav/index.js +0 -5
  127. package/lib/components/tables/DataTable.js +0 -5
  128. package/lib/components/tables/index.js +0 -5
  129. package/lib/components/text-reveal/TextRevealAnimation.js +0 -6
  130. package/lib/components/text-reveal/TextRevealAnimation.module.css +43 -0
  131. package/lib/components/text-reveal/index.js +0 -5
  132. package/lib/components/text-reveal/useTextRevealAnimationLines.js +0 -5
  133. package/lib/components/tokens/SpaceVariantToken.js +0 -5
  134. package/lib/components/tokens/index.js +0 -5
  135. package/lib/components/toolbars/AssignmentEditorToolbar.js +0 -5
  136. package/lib/components/toolbars/DocumentEditorToolbar.js +0 -5
  137. package/lib/components/toolbars/NotebookEditorToolbar.d.ts +1 -1
  138. package/lib/components/toolbars/NotebookEditorToolbar.js +0 -5
  139. package/lib/components/toolbars/index.js +0 -5
  140. package/lib/components/users/PeerIndicator.js +0 -5
  141. package/lib/components/users/index.js +0 -5
  142. package/lib/config/Configuration.js +0 -5
  143. package/lib/config/index.js +0 -5
  144. package/lib/config/integrations/Loom.js +0 -5
  145. package/lib/config/integrations/index.js +0 -5
  146. package/lib/examples/CellExample.d.ts +6 -0
  147. package/lib/examples/CellExample.js +24 -0
  148. package/lib/examples/NotebookExample.d.ts +8 -0
  149. package/lib/examples/NotebookExample.js +22 -0
  150. package/lib/examples/NotebookExample1.ipynb.json +136 -0
  151. package/lib/hooks/assets/OutputshotPlaceholders.js +0 -5
  152. package/lib/hooks/assets/index.js +0 -5
  153. package/lib/hooks/index.d.ts +1 -1
  154. package/lib/hooks/index.js +1 -6
  155. package/lib/hooks/layouts/LayoutBackdrop.js +0 -5
  156. package/lib/hooks/layouts/LayoutScreenshot.css +58 -0
  157. package/lib/hooks/layouts/LayoutScreenshot.d.ts +1 -0
  158. package/lib/hooks/layouts/LayoutScreenshot.js +1 -5
  159. package/lib/hooks/layouts/index.js +0 -5
  160. package/lib/hooks/useAIAgents.js +7 -12
  161. package/lib/hooks/useAuthorization.js +0 -6
  162. package/lib/hooks/useBackdrop.js +0 -5
  163. package/lib/hooks/useBackdropJupyterLab.js +0 -5
  164. package/lib/hooks/useCache.d.ts +2 -2
  165. package/lib/hooks/useCache.js +178 -183
  166. package/lib/hooks/useCellOutputshot.js +0 -5
  167. package/lib/hooks/useContainsFocus.js +0 -5
  168. package/lib/hooks/useDatalayer.d.ts +21 -0
  169. package/lib/hooks/{useRun.js → useDatalayer.js} +12 -16
  170. package/lib/hooks/useError.js +0 -5
  171. package/lib/hooks/useExternalScript.js +0 -5
  172. package/lib/hooks/useFocusTrap.d.ts +1 -1
  173. package/lib/hooks/useFocusTrap.js +1 -6
  174. package/lib/hooks/useIAM.js +2 -7
  175. package/lib/hooks/useId.js +3 -8
  176. package/lib/hooks/useIsomorphicLayoutEffect.js +0 -5
  177. package/lib/hooks/useJupyterLabTheme.js +0 -5
  178. package/lib/hooks/useKeyboardEscape.js +0 -5
  179. package/lib/hooks/useLocationHandles.js +0 -5
  180. package/lib/hooks/useNavigate.js +0 -5
  181. package/lib/hooks/useNotebookAIAgent.js +0 -5
  182. package/lib/hooks/useOnClickOutside.js +0 -5
  183. package/lib/hooks/useRef.js +0 -5
  184. package/lib/hooks/useRuntimes.js +0 -5
  185. package/lib/hooks/useScreenshot.js +0 -5
  186. package/lib/hooks/useToast.js +6 -8
  187. package/lib/hooks/useUpload.js +0 -5
  188. package/lib/hooks/useVisibilityObserver.js +0 -5
  189. package/lib/hooks/useWindowSize.js +0 -6
  190. package/lib/i18n/Labels.js +0 -5
  191. package/lib/i18n/index.js +0 -5
  192. package/lib/index.css +73 -0
  193. package/lib/main.js +1 -2
  194. package/lib/mocks/components/FlashMock.js +0 -5
  195. package/lib/mocks/components/index.js +0 -5
  196. package/lib/mocks/hooks/index.d.ts +1 -1
  197. package/lib/mocks/hooks/index.js +1 -6
  198. package/lib/mocks/hooks/rests/index.js +0 -5
  199. package/lib/mocks/hooks/rests/rests.js +0 -5
  200. package/lib/mocks/hooks/useDatalayerMock.d.ts +6 -0
  201. package/lib/mocks/hooks/{useRunMock.js → useDatalayerMock.js} +2 -7
  202. package/lib/mocks/index.js +0 -5
  203. package/lib/mocks/jupyter/index.js +1 -6
  204. package/lib/mocks/models/CodeBlockMock.js +0 -5
  205. package/lib/mocks/models/CodelineMock.js +0 -5
  206. package/lib/mocks/models/CourseMock.js +0 -5
  207. package/lib/mocks/models/InviteMock.js +0 -5
  208. package/lib/mocks/models/SpaceMock.js +0 -5
  209. package/lib/mocks/models/UserMock.js +0 -5
  210. package/lib/mocks/models/index.js +0 -5
  211. package/lib/mocks/views/ActionMenuMock.js +0 -5
  212. package/lib/mocks/views/ChartMock.js +0 -5
  213. package/lib/mocks/views/ChartMockOptions.js +0 -5
  214. package/lib/mocks/views/DashboardMock.js +0 -5
  215. package/lib/mocks/views/FormMock.js +0 -5
  216. package/lib/mocks/views/TableMock.js +0 -5
  217. package/lib/mocks/views/WipMock.js +0 -5
  218. package/lib/mocks/views/index.js +0 -5
  219. package/lib/models/Contact.js +0 -5
  220. package/lib/models/ContactEvent.js +0 -5
  221. package/lib/models/Credits.js +0 -5
  222. package/lib/models/Dataset.d.ts +1 -1
  223. package/lib/models/Datasource.js +0 -5
  224. package/lib/models/Errors.js +0 -5
  225. package/lib/models/GrowthKPI.js +0 -5
  226. package/lib/models/IAMProviderUsers.js +0 -5
  227. package/lib/models/IAMToken.js +0 -5
  228. package/lib/models/Inbound.js +0 -5
  229. package/lib/models/LandingRoles.js +0 -5
  230. package/lib/models/Organization.js +0 -5
  231. package/lib/models/Outbound.js +7 -12
  232. package/lib/models/PageTag.d.ts +1 -1
  233. package/lib/models/RolesOrganization.js +0 -5
  234. package/lib/models/RolesPlatform.js +0 -5
  235. package/lib/models/RolesTeam.js +0 -5
  236. package/lib/models/Runtime.d.ts +59 -1
  237. package/lib/models/Runtime.js +7 -5
  238. package/lib/models/Secret.js +0 -5
  239. package/lib/models/Survey.js +0 -5
  240. package/lib/models/Team.js +0 -5
  241. package/lib/models/URN.js +0 -5
  242. package/lib/models/User.js +2 -7
  243. package/lib/models/UserEvent.js +0 -5
  244. package/lib/models/UserOnboarding.js +0 -5
  245. package/lib/models/UserSettings.js +0 -5
  246. package/lib/models/index.js +0 -5
  247. package/lib/routes/Routes.js +0 -5
  248. package/lib/routes/index.js +0 -5
  249. package/lib/state/State.js +0 -5
  250. package/lib/state/index.js +0 -5
  251. package/lib/state/storage/IAMStorage.js +0 -5
  252. package/lib/state/storage/index.js +0 -5
  253. package/lib/state/substates/AIAgentState.js +0 -5
  254. package/lib/state/substates/CellState.js +0 -5
  255. package/lib/state/substates/CoreState.js +0 -5
  256. package/lib/state/substates/DatasourceState.js +0 -5
  257. package/lib/state/substates/DocumentState.js +0 -5
  258. package/lib/state/substates/GradeState.js +0 -5
  259. package/lib/state/substates/IAMState.d.ts +1 -1
  260. package/lib/state/substates/IAMState.js +15 -18
  261. package/lib/state/substates/JupyterLabState.js +0 -5
  262. package/lib/state/substates/NbformatState.js +0 -5
  263. package/lib/state/substates/OrganizationState.js +0 -5
  264. package/lib/state/substates/RuntimesState.d.ts +2 -2
  265. package/lib/state/substates/RuntimesState.js +0 -5
  266. package/lib/state/substates/SpaceState.js +0 -5
  267. package/lib/state/substates/SurveysState.js +3 -8
  268. package/lib/state/substates/TeamState.js +0 -5
  269. package/lib/state/substates/index.js +0 -5
  270. package/lib/stories/assets/accessibility.png +0 -0
  271. package/lib/stories/assets/accessibility.svg +1 -0
  272. package/lib/stories/assets/addon-library.png +0 -0
  273. package/lib/stories/assets/assets.png +0 -0
  274. package/lib/stories/assets/context.png +0 -0
  275. package/lib/stories/assets/discord.svg +1 -0
  276. package/lib/stories/assets/docs.png +0 -0
  277. package/lib/stories/assets/figma-plugin.png +0 -0
  278. package/lib/stories/assets/github.svg +1 -0
  279. package/lib/stories/assets/share.png +0 -0
  280. package/lib/stories/assets/styling.png +0 -0
  281. package/lib/stories/assets/testing.png +0 -0
  282. package/lib/stories/assets/theming.png +0 -0
  283. package/lib/stories/assets/tutorials.svg +1 -0
  284. package/lib/stories/assets/youtube.svg +1 -0
  285. package/lib/stories/button.css +35 -0
  286. package/lib/stories/header.css +37 -0
  287. package/lib/stories/page.css +73 -0
  288. package/lib/test-setup.js +51 -1
  289. package/lib/theme/DatalayerTheme.js +0 -5
  290. package/lib/theme/DatalayerThemeProvider.js +0 -5
  291. package/lib/theme/Palette.js +0 -5
  292. package/lib/theme/index.js +0 -5
  293. package/lib/utils/Array.js +0 -5
  294. package/lib/utils/Avatar.js +0 -5
  295. package/lib/utils/Browser.js +0 -5
  296. package/lib/utils/Cookie.js +0 -5
  297. package/lib/utils/Date.js +3 -8
  298. package/lib/utils/Download.js +0 -5
  299. package/lib/utils/DownloadFile.js +0 -5
  300. package/lib/utils/Env.js +0 -5
  301. package/lib/utils/File.js +0 -5
  302. package/lib/utils/Ids.js +0 -5
  303. package/lib/utils/Jupyter.js +0 -5
  304. package/lib/utils/Lazy.js +0 -6
  305. package/lib/utils/Name.js +0 -5
  306. package/lib/utils/Number.js +1 -6
  307. package/lib/utils/Plots.d.ts +1 -1
  308. package/lib/utils/Plots.js +1 -1
  309. package/lib/utils/Random.js +0 -5
  310. package/lib/utils/Screenshot.js +0 -5
  311. package/lib/utils/Scroll.js +3 -7
  312. package/lib/utils/Sleep.js +0 -5
  313. package/lib/utils/Snapshot.js +0 -5
  314. package/lib/utils/String.js +0 -5
  315. package/lib/utils/Uri.js +1 -6
  316. package/lib/utils/Validator.js +0 -5
  317. package/lib/utils/WithSuspense.js +0 -5
  318. package/lib/utils/index.js +0 -5
  319. package/package.json +58 -28
  320. package/style/animation/Animation.module.css +174 -0
  321. package/style/base.css +64 -0
  322. package/style/index.css +6 -0
  323. package/lib/api/runtimes/models.d.ts +0 -59
  324. package/lib/api/runtimes/models.js +0 -11
  325. package/lib/hooks/useRun.d.ts +0 -21
  326. package/lib/mocks/hooks/useRunMock.d.ts +0 -6
  327. /package/lib/api/{runtimes → jupyter}/exec/Python.d.ts +0 -0
  328. /package/lib/api/{runtimes → jupyter}/exec/Snippets.d.ts +0 -0
  329. /package/lib/api/{runtimes → jupyter}/exec/index.d.ts +0 -0
@@ -0,0 +1,718 @@
1
+ /*
2
+ * Copyright (c) 2023-2025 Datalayer, Inc.
3
+ * Distributed under the terms of the Modified BSD License.
4
+ */
5
+ /*
6
+ * Main styles for the subdomain navigation bar.
7
+ */
8
+ .SubdomainNavBar {
9
+ position: relative;
10
+ z-index: 90;
11
+ font-weight: 550;
12
+ background: var(--brand-SubdomainNavBar-canvas-default);
13
+ -webkit-backdrop-filter: blur(16px);
14
+ backdrop-filter: blur(16px);
15
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
16
+ transition: background-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default),
17
+ border-color var(--brand-animation-duration-fast) var(--brand-animation-easing-default);
18
+ height: 75px;
19
+ }
20
+
21
+ /*
22
+ * Outer container
23
+ */
24
+ .SubdomainNavBar-outer-container {
25
+ z-index: 90;
26
+ }
27
+
28
+ .SubdomainNavBar-outer-container--fixed {
29
+ position: fixed;
30
+ top: 0;
31
+ right: 0;
32
+ left: 0;
33
+ }
34
+
35
+ /*
36
+ * Inner container
37
+ */
38
+ .SubdomainNavBar-inner-container {
39
+ display: flex;
40
+ padding: 4px 28px;
41
+ }
42
+
43
+ .SubdomainNavBar-inner-container--centered {
44
+ max-width: 1280px;
45
+ margin: 0 auto;
46
+ }
47
+
48
+ @media screen and (min-width: 48rem) {
49
+ .SubdomainNavBar-inner-container {
50
+ padding: 4px 32px;
51
+ }
52
+ }
53
+
54
+ .SubdomainNavBar-inner-container--search-open {
55
+ animation: fade-out 150ms;
56
+ }
57
+
58
+ /*
59
+ * Logo and title area
60
+ */
61
+ .SubdomainNavBar-title-area {
62
+ display: inline-flex;
63
+ list-style-type: none;
64
+ align-items: center;
65
+ gap: 16px;
66
+ padding: 0;
67
+ margin: 0;
68
+ max-width: 340px;
69
+ color: var(--brand-color-text-default);
70
+ padding: var(--base-size-16) 0;
71
+ }
72
+
73
+ .SubdomainNavBar-logo-mark {
74
+ color: var(--brand-color-text-default);
75
+ position: relative;
76
+ }
77
+
78
+ .SubdomainNavBar-back-arrow {
79
+ position: absolute;
80
+ left: calc(-32px + 5px);
81
+ opacity: 0;
82
+ transition: opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast) ease;
83
+ transform: translateX(5px);
84
+ color: var(--brand-color-text-muted);
85
+ }
86
+
87
+ .SubdomainNavBar-logo-mark:hover .SubdomainNavBar-back-arrow {
88
+ opacity: 1;
89
+ transform: translateX(0);
90
+ }
91
+
92
+ .SubdomainNavBar-title-separator {
93
+ color: var(--brand-color-text-muted);
94
+ font-weight: var(--base-text-weight-semibold);
95
+ font-size: var(--base-size-32);
96
+ line-height: 29px;
97
+ }
98
+
99
+ .SubdomainNavBar-logo-mark svg {
100
+ width: 32px;
101
+ height: 32px;
102
+ }
103
+
104
+ .SubdomainNavBar-title {
105
+ font-family: var(--brand-heading-fontFamily);
106
+ font-weight: var(--base-text-weight-semibold);
107
+ font-size: var(--base-size-24);
108
+ line-height: var(--base-size-32);
109
+ color: var(--brand-color-text-default);
110
+ text-decoration: none;
111
+ padding-right: var(--base-size-16);
112
+ white-space: nowrap;
113
+ }
114
+
115
+ .SubdomainNavBar-title:hover {
116
+ text-decoration: none;
117
+ }
118
+
119
+ /*
120
+ * Primary navigation link area
121
+ */
122
+ .SubdomainNavBar-primary-nav {
123
+ display: inline-flex;
124
+ list-style-type: none;
125
+ align-items: center;
126
+ padding: 0;
127
+ margin: 0;
128
+ }
129
+
130
+ .SubdomainNavBar-primary-nav-list {
131
+ list-style-type: none;
132
+ }
133
+
134
+ @media screen and (max-width: 767px) {
135
+ .SubdomainNavBar-primary-nav-list {
136
+ display: none;
137
+ }
138
+
139
+ .SubdomainNavBar-primary-nav-list--invisible {
140
+ display: none;
141
+ }
142
+
143
+ .SubdomainNavBar-primary-nav-list--visible {
144
+ display: block;
145
+ margin: 0;
146
+ padding: 0;
147
+ }
148
+
149
+ .SubdomainNavBar-menu-wrapper {
150
+ display: flex;
151
+ flex-direction: column;
152
+ justify-content: space-between;
153
+ overflow-y: auto;
154
+ position: absolute;
155
+ top: 75px;
156
+ left: 0;
157
+ right: 0;
158
+ bottom: 0;
159
+ z-index: 2;
160
+ background-color: var(--brand-color-canvas-default);
161
+ width: 100vw;
162
+ height: calc(100vh - 75px);
163
+ animation: fade-in-down 500ms;
164
+ animation-timing-function: var(--brand-animation-easing-default);
165
+ }
166
+
167
+ .SubdomainNavBar-menu-wrapper--close {
168
+ display: none;
169
+ }
170
+ }
171
+
172
+ @media screen and (min-width: 48rem) {
173
+ .SubdomainNavBar-primary-nav-list {
174
+ display: flex;
175
+ align-items: center;
176
+ width: 100%;
177
+ max-width: 150px;
178
+ padding: 0;
179
+ margin: 0 24px 0 0;
180
+ /* overflow: hidden; */
181
+ }
182
+ }
183
+
184
+ @media screen and (min-width: 768px) {
185
+ .SubdomainNavBar-primary-nav-list {
186
+ max-width: 100px;
187
+ }
188
+ }
189
+
190
+ @media screen and (min-width: 850px) {
191
+ .SubdomainNavBar-primary-nav-list {
192
+ max-width: 200px;
193
+ }
194
+ }
195
+
196
+ @media screen and (min-width: 1024px) {
197
+ .SubdomainNavBar-primary-nav-list {
198
+ max-width: 300px;
199
+ }
200
+ }
201
+
202
+ @media screen and (min-width: 1280px) {
203
+ .SubdomainNavBar-primary-nav-list {
204
+ max-width: 520px;
205
+ margin-right: 80px;
206
+ }
207
+ }
208
+
209
+ .SubdomainNavBar-primary-nav-list-item {
210
+ white-space: nowrap;
211
+ }
212
+
213
+ @media screen and (max-width: 767px) {
214
+ .SubdomainNavBar-primary-nav-list-item {
215
+ animation-name: fade-in-down-staggered;
216
+ animation-duration: 500ms;
217
+ animation-delay: calc(var(--animation-order) * 80ms);
218
+ animation-fill-mode: both;
219
+ animation-timing-function: var(--brand-animation-easing-default);
220
+ }
221
+ }
222
+
223
+ @media screen and (min-width: 48rem) {
224
+ .SubdomainNavBar-primary-nav-list-item--visible {
225
+ order: 0;
226
+ visibility: visible;
227
+ opacity: 1;
228
+ }
229
+
230
+ .SubdomainNavBar-primary-nav-list-item--invisible {
231
+ order: 100;
232
+ visibility: hidden;
233
+ pointer-events: none;
234
+ }
235
+
236
+ .SubdomainNavBar-primary-nav-list-item--overflow {
237
+ order: 99;
238
+ position: relative;
239
+ right: 0;
240
+ }
241
+ }
242
+
243
+ .SubdomainNavBar-link {
244
+ position: relative;
245
+ display: flex;
246
+ flex-direction: row;
247
+ align-items: center;
248
+ gap: var(--base-size-8);
249
+ color: var(--brand-color-text-default);
250
+ font-family: var(--brand-heading-fontFamily);
251
+ font-weight: var(--base-text-weight-normal);
252
+ font-size: var(--base-size-20);
253
+ line-height: var(--base-size-20);
254
+ padding: var(--base-size-8) var(--base-size-16) var(--base-size-16) var(--base-size-28);
255
+ text-decoration: none;
256
+ }
257
+
258
+ .SubdomainNavBar-link:hover {
259
+ text-decoration: none;
260
+ }
261
+
262
+ .SubdomainNavBar-link-text {
263
+ position: relative;
264
+ }
265
+
266
+ @media screen and (max-width: 767px) {
267
+ .SubdomainNavBar-link:first-of-type {
268
+ padding-top: var(--base-size-24);
269
+ }
270
+
271
+ .SubdomainNavBar-link--title {
272
+ font-weight: var(--base-text-weight-bold);
273
+ }
274
+ }
275
+
276
+ @media screen and (min-width: 48rem) {
277
+ .SubdomainNavBar-link {
278
+ font-family: var(--brand-heading-fontFamily);
279
+ font-weight: var(--base-text-weight-semibold);
280
+ font-size: var(--base-size-16);
281
+ line-height: var(--base-size-16);
282
+ padding: var(--base-size-16) var(--base-size-24);
283
+ }
284
+
285
+ .SubdomainNavBar-link::after {
286
+ content: '';
287
+ position: absolute;
288
+ bottom: 10px;
289
+ left: 0;
290
+ width: 100%;
291
+ height: 2px;
292
+ background-color: var(--brand-SubdomainNavBar-border-nav-default);
293
+ opacity: 0;
294
+ transition: opacity var(--brand-animation-duration-fast), transform var(--brand-animation-duration-fast);
295
+ opacity: 1;
296
+ transform: scale(0);
297
+ transform-origin: center;
298
+ }
299
+
300
+ .SubdomainNavBar-link:hover::after,
301
+ .SubdomainNavBar-link:focus::after {
302
+ opacity: 1;
303
+ transform: translate3d(0, 0.2em, 0);
304
+ transform: scale(0.4);
305
+ }
306
+
307
+ .SubdomainNavBar-link:active::after {
308
+ background-color: var(--brand-SubdomainNavBar-border-nav-pressed);
309
+ transform: scale(0.6);
310
+ }
311
+
312
+ .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link {
313
+ transition: background-color var(--brand-animation-easing-default) 250ms;
314
+ background-color: var(--brand-SubdomainNavBar-canvas-overflow-default);
315
+ color: var(--brand-SubdomainNavBar-fg-overflow-default);
316
+ }
317
+
318
+ .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link::after {
319
+ display: none;
320
+ }
321
+
322
+ .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:hover {
323
+ background-color: var(--brand-SubdomainNavBar-canvas-overflow-hover);
324
+ }
325
+
326
+ .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus,
327
+ .SubdomainNavBar-overflow-menu-item .SubdomainNavBar-link:focus-visible {
328
+ box-shadow: inset 0px 0px 0px 2px var(--brand-color-focus);
329
+ outline: none;
330
+ }
331
+ }
332
+
333
+ .SubdomainNavBar-more-link {
334
+ display: none;
335
+ }
336
+
337
+ .SubdomainNavBar-more-link[aria-expanded='true']:hover::after,
338
+ .SubdomainNavBar-more-link[aria-expanded='true']:focus::after {
339
+ display: none;
340
+ }
341
+
342
+ @media screen and (min-width: 48rem) {
343
+ .SubdomainNavBar-more-link {
344
+ cursor: pointer;
345
+ appearance: none;
346
+ border: none;
347
+ background-color: transparent;
348
+ display: inline-flex;
349
+ align-items: center;
350
+ gap: var(--base-size-4);
351
+ }
352
+ }
353
+
354
+ .SubdomainNavBar-overflow-menu {
355
+ position: absolute;
356
+ right: 0;
357
+ top: var(--base-size-48);
358
+ background-color: var(--base-color-scale-white-0);
359
+ border-radius: var(--brand-borderRadius-large);
360
+ animation: fade-in-down 0.25s, enlarge-shadow 250ms forwards;
361
+ animation-timing-function: var(--brand-animation-easing-default);
362
+ box-shadow: 0px 8px 24px rgba(1, 4, 9, 0.15);
363
+ overflow: hidden;
364
+ }
365
+
366
+ .SubdomainNavBar-overflow-menu-list {
367
+ display: grid;
368
+ list-style-type: none;
369
+ padding: 0;
370
+ margin: 0;
371
+ width: max-content;
372
+ }
373
+
374
+ /*
375
+ * Toolbar actions area for search and mobile menu
376
+ */
377
+
378
+ .SubdomainNavBar-secondary-nav {
379
+ display: flex;
380
+ align-items: center;
381
+ margin-left: auto;
382
+ min-width: 0;
383
+ }
384
+ .SubdomainNavBar-search-trigger {
385
+ display: flex;
386
+ align-items: center;
387
+ }
388
+
389
+ .SubdomainNavBar-search-button,
390
+ .SubdomainNavBar-menu-button {
391
+ cursor: pointer;
392
+ appearance: none;
393
+ background-color: transparent;
394
+ border: var(--brand-borderWidth-thick) solid transparent;
395
+ color: var(--brand-color-text-default);
396
+ width: calc(48px - var(--brand-borderWidth-thick));
397
+ height: calc(48px - var(--brand-borderWidth-thick));
398
+ display: flex;
399
+ align-items: center;
400
+ justify-content: center;
401
+ transition: border 250ms var(--brand-animation-easing-default), box-shadow 250ms ease;
402
+ border-radius: var(--brand-borderRadius-medium);
403
+ box-shadow: 0 0 0 2px transparent;
404
+ }
405
+
406
+ .SubdomainNavBar-search-button svg,
407
+ .SubdomainNavBar-menu-button svg {
408
+ width: 24px;
409
+ height: 24px;
410
+ }
411
+
412
+ .SubdomainNavBar-menu-button {
413
+ display: inline-block;
414
+ align-self: center;
415
+ }
416
+
417
+ .SubdomainNavBar-menu-button-bar {
418
+ width: 22px;
419
+ height: 2px;
420
+ background-color: var(--brand-color-text-default);
421
+ margin: var(--base-size-4) auto;
422
+ border-radius: var(--brand-borderRadius-large);
423
+ display: block;
424
+ }
425
+
426
+ @media (prefers-reduced-motion: no-preference) {
427
+ .SubdomainNavBar-menu-button-bar {
428
+ transition-timing-function: var(--brand-animation-easing-default);
429
+ transition-duration: 500ms;
430
+ transition-property: opacity, transform;
431
+ }
432
+ }
433
+
434
+ .SubdomainNavBar-menu-button-bar:nth-of-type(1) {
435
+ transform-origin: bottom right;
436
+ }
437
+
438
+ .SubdomainNavBar-menu-button-bar:nth-of-type(3) {
439
+ transform-origin: top right;
440
+ }
441
+
442
+ .SubdomainNavBar-menu-button--close .SubdomainNavBar-menu-button-bar:nth-of-type(1) {
443
+ transform: rotate(-45deg) translateY(-3px);
444
+ }
445
+
446
+ .SubdomainNavBar-menu-button--close .SubdomainNavBar-menu-button-bar:nth-of-type(2) {
447
+ opacity: 0;
448
+ transform: scale(0);
449
+ }
450
+
451
+ .SubdomainNavBar-menu-button--close .SubdomainNavBar-menu-button-bar:nth-of-type(3) {
452
+ transform: rotate(45deg) translateY(3px);
453
+ }
454
+
455
+ @media screen and (min-width: 48rem) {
456
+ .SubdomainNavBar-search-button:hover,
457
+ .SubdomainNavBar-menu-button:hover {
458
+ border: var(--brand-borderWidth-thick) solid var(--brand-SubdomainNavBar-border-button-hover);
459
+ }
460
+
461
+ .SubdomainNavBar-search-button:active,
462
+ .SubdomainNavBar-menu-button:active {
463
+ box-shadow: 0 0 0 1px var(--brand-SubdomainNavBar-border-button-hover);
464
+ }
465
+
466
+ .SubdomainNavBar-mobile-menu-button {
467
+ display: none;
468
+ }
469
+
470
+ .SubdomainNavBar-search-dialog-control-area .SubdomainNavBar-search-button,
471
+ .SubdomainNavBar-search-dialog-control-area .SubdomainNavBar-menu-button {
472
+ display: inline-flex;
473
+ width: 48px;
474
+ }
475
+
476
+ .SubdomainNavBar-search-button {
477
+ margin: 0 var(--base-size-16) 0 auto;
478
+ }
479
+ }
480
+
481
+ .SubdomainNavBar-button-area {
482
+ display: inline-flex;
483
+ gap: var(--base-size-16);
484
+ align-items: center;
485
+ min-width: 0;
486
+ }
487
+
488
+ .SubdomainNavBar-button-area-inner {
489
+ display: flex;
490
+ gap: 16px;
491
+ min-width: 0;
492
+ }
493
+
494
+ @media screen and (max-width: 48rem) {
495
+ .SubdomainNavBar-button-area {
496
+ display: none;
497
+ }
498
+
499
+ .SubdomainNavBar-button-area--visible {
500
+ display: flex;
501
+ left: 0;
502
+ z-index: 99;
503
+ width: 100%;
504
+ height: auto;
505
+ animation-name: fade-in-down-staggered;
506
+ animation-duration: 500ms;
507
+ animation-delay: calc(10 * 80ms);
508
+ animation-fill-mode: both;
509
+ animation-timing-function: var(--brand-animation-easing-default);
510
+ }
511
+
512
+ .SubdomainNavBar-inner-container--search-open .SubdomainNavBar-button-area--visible {
513
+ display: none;
514
+ }
515
+
516
+ .SubdomainNavBar-button-area-inner {
517
+ width: 100%;
518
+ flex-direction: column;
519
+ margin: 24px;
520
+ min-width: 0;
521
+ }
522
+ }
523
+
524
+ .SubdomainNavBar-cta-button {
525
+ white-space: nowrap;
526
+ min-width: 0;
527
+ }
528
+
529
+ @media screen and (min-width: 1024px) {
530
+ .SubdomainNavBar-cta-button--secondary {
531
+ display: inline-flex;
532
+ }
533
+ }
534
+
535
+ /*
536
+ * Search dialog control area
537
+ */
538
+ .SubdomainNavBar-search-form {
539
+ display: flex;
540
+ width: 100%;
541
+ }
542
+
543
+ .SubdomainNavBar-search-dialog {
544
+ position: absolute;
545
+ z-index: 99;
546
+ }
547
+
548
+ @media screen and (max-width: 767px) {
549
+ .SubdomainNavBar-search-dialog {
550
+ top: 0;
551
+ left: 0;
552
+ right: 0;
553
+ background: var(--brand-SubdomainNavBar-canvas-search);
554
+ -webkit-backdrop-filter: blur(100px);
555
+ backdrop-filter: blur(100px);
556
+ height: 100vh;
557
+ width: 100vw;
558
+ animation: fade-in-down var(--brand-animation-duration-fast);
559
+ animation-timing-function: var(--brand-animation-easing-default);
560
+ }
561
+ }
562
+
563
+ @media screen and (min-width: 48rem) {
564
+ .SubdomainNavBar-search-dialog {
565
+ position: absolute;
566
+ top: 0;
567
+ bottom: 1px;
568
+ width: 100vw;
569
+ left: 0;
570
+ right: 0;
571
+ background-color: var(--brand-SubdomainNavBar-canvas-search);
572
+ }
573
+ }
574
+
575
+ .SubdomainNavBar-search-dialog .SubdomainNavBar-search-trigger .SubdomainNavBar-search-button {
576
+ margin-right: 0;
577
+ }
578
+
579
+ .SubdomainNavBar-search-dialog-control-area {
580
+ height: 74px;
581
+ background: var(--brand-SubdomainNavBar-canvas-default);
582
+ -webkit-backdrop-filter: blur(16px);
583
+ backdrop-filter: blur(16px);
584
+ padding: var(--base-size-12) var(--base-size-28);
585
+ display: flex;
586
+ align-items: center;
587
+ animation: fade-in-down 500ms;
588
+ gap: var(--base-size-4);
589
+ }
590
+
591
+ @media screen and (min-width: 48rem) {
592
+ .SubdomainNavBar-search-dialog-control-area {
593
+ max-width: 570px;
594
+ margin: 0 auto;
595
+ }
596
+ }
597
+
598
+ .SubdomainNavBar-search-text-input {
599
+ border-color: transparent;
600
+ }
601
+
602
+ .SubdomainNavBar-search-results-container {
603
+ animation: fade-in-down 500ms;
604
+ padding: var(--base-size-24);
605
+ background-color: var(--base-color-scale-white-0);
606
+ border-radius: var(--brand-borderRadius-large);
607
+ box-shadow: 0px 8px 24px rgba(1, 4, 9, 0.15);
608
+ max-height: 514px;
609
+ height: 70vh;
610
+ max-width: 570px;
611
+ margin: 0 auto;
612
+ width: 80%;
613
+ }
614
+
615
+ .SubdomainNavBar-search-results {
616
+ overflow-y: scroll;
617
+ list-style: none;
618
+ padding: 0 var(--base-size-24) 0 0;
619
+ margin: 0;
620
+ height: 90%;
621
+ }
622
+
623
+ .SubdomainNavBar-search-results-heading {
624
+ display: block;
625
+ font-weight: var(--brand-heading-weight-600);
626
+ font-size: var(--base-size-20);
627
+ line-height: var(--base-size-24);
628
+ margin-bottom: var(--base-size-20);
629
+ padding: 0 var(--base-size-8);
630
+ color: var(--base-color-scale-black-0);
631
+ }
632
+
633
+ .SubdomainNavBar-search-result-item {
634
+ padding: var(--base-size-16) var(--base-size-8);
635
+ border-bottom: solid var(--brand-borderWidth-thin, 1px)
636
+ var(--brand-SubdomainNavBar-search-results-border-default, #b7bfc7);
637
+ }
638
+
639
+ .SubdomainNavBar-search-result-item[aria-selected='true'] a {
640
+ outline: var(--brand-color-focus) auto var(--brand-borderWidth-thick);
641
+ }
642
+
643
+ .SubdomainNavBar-search-result-item-container {
644
+ letter-spacing: var(--brand-heading-letterSpacing-400);
645
+ font-size: var(--brand-text-size-400);
646
+ }
647
+
648
+ .SubdomainNavBar-search-result-item-container a {
649
+ display: block;
650
+ color: var(--base-color-scale-black-0);
651
+ text-decoration: none;
652
+ margin: 0 0 var(--base-size-12);
653
+ font-size: var(--base-size-16);
654
+ font-weight: var(--brand-heading-weight-400);
655
+ font-family: var(--brand-heading-fontFamily);
656
+ line-height: var(--brand-text-lineHeight-400);
657
+ }
658
+
659
+ .SubdomainNavBar-search-result-item-container a:hover {
660
+ text-decoration: none;
661
+ }
662
+
663
+ .SubdomainNavBar-search-result-item-desc {
664
+ color: var(--base-color-scale-black-0);
665
+ }
666
+
667
+ .SubdomainNavBar-skip-to-content {
668
+ position: fixed;
669
+ top: 75px;
670
+ border-radius: 0px;
671
+ width: 100vw;
672
+ z-index: 100;
673
+ }
674
+
675
+ /*
676
+ * Reusable animations
677
+ */
678
+ @keyframes fade-in-down {
679
+ 0% {
680
+ opacity: 0;
681
+ transform: translateY(-20px);
682
+ }
683
+ 100% {
684
+ opacity: 1;
685
+ transform: translateY(0);
686
+ }
687
+ }
688
+
689
+ @keyframes fade-out {
690
+ 0% {
691
+ opacity: 1;
692
+ }
693
+ 100% {
694
+ opacity: 0;
695
+ }
696
+ }
697
+
698
+ @keyframes enlarge-shadow {
699
+ 0% {
700
+ scale: 0.98;
701
+ box-shadow: 0px 8px 0 rgba(1, 4, 9, 0.15);
702
+ }
703
+ 100% {
704
+ scale: 1;
705
+ box-shadow: 0px 8px 24px rgba(1, 4, 9, 0.15);
706
+ }
707
+ }
708
+
709
+ @keyframes fade-in-down-staggered {
710
+ 0% {
711
+ opacity: 0;
712
+ transform: scale(0.6) translateY(-8px);
713
+ }
714
+
715
+ 100% {
716
+ opacity: 1;
717
+ }
718
+ }
@@ -2,10 +2,5 @@
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 './NavigationVisbilityObserver';
11
6
  export * from './SubdomainNavBar';