@galaxy-io/dls 1.6.1 → 2.0.0

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 (538) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +136 -116
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +32 -20
  46. package/dist/charts/ChartFrame.d.ts +69 -116
  47. package/dist/charts/ChartFrame.js +253 -119
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +27 -48
  51. package/dist/charts/ChartLegend.js +206 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +33 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +295 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +159 -117
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +149 -135
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/constants.d.ts +96 -256
  79. package/dist/charts/constants.js +105 -275
  80. package/dist/charts/heatmapGeometry.d.ts +95 -0
  81. package/dist/charts/heatmapGeometry.js +155 -0
  82. package/dist/charts/lineChartGeometry.d.ts +108 -58
  83. package/dist/charts/lineChartGeometry.js +120 -78
  84. package/dist/charts/pieChartGeometry.d.ts +66 -40
  85. package/dist/charts/pieChartGeometry.js +68 -38
  86. package/dist/charts/types.d.ts +197 -466
  87. package/dist/charts/types.js +55 -144
  88. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  89. package/dist/charts/useCartesianChartLayout.js +47 -32
  90. package/dist/charts/useChartDimensions.d.ts +19 -40
  91. package/dist/charts/useChartDimensions.js +40 -56
  92. package/dist/charts/useChartFormatters.d.ts +6 -15
  93. package/dist/charts/useChartFormatters.js +4 -9
  94. package/dist/charts/useChartInteraction.d.ts +47 -116
  95. package/dist/charts/useChartInteraction.js +95 -71
  96. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  97. package/dist/charts/useChartTooltipPosition.js +14 -5
  98. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  99. package/dist/charts/useSeriesColorResolver.js +19 -12
  100. package/dist/chips/Chip.d.ts +155 -44
  101. package/dist/chips/Chip.js +329 -155
  102. package/dist/chips/ChipGroup.d.ts +53 -0
  103. package/dist/chips/ChipGroup.js +98 -0
  104. package/dist/drawer/Drawer.d.ts +81 -17
  105. package/dist/drawer/Drawer.js +370 -65
  106. package/dist/dropdown/Dropdown.d.ts +80 -63
  107. package/dist/dropdown/Dropdown.js +127 -129
  108. package/dist/editor/CodeEditor.d.ts +119 -40
  109. package/dist/editor/CodeEditor.js +490 -400
  110. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  111. package/dist/editor/CodeEditorReactWidget.js +28 -21
  112. package/dist/feedback/Alert.d.ts +49 -0
  113. package/dist/feedback/Alert.js +172 -0
  114. package/dist/feedback/EmptyState.d.ts +39 -0
  115. package/dist/feedback/EmptyState.js +109 -0
  116. package/dist/feedback/ProgressBar.d.ts +125 -0
  117. package/dist/feedback/ProgressBar.js +183 -0
  118. package/dist/feedback/ProgressCircle.d.ts +99 -0
  119. package/dist/feedback/ProgressCircle.js +187 -0
  120. package/dist/feedback/Skeleton.d.ts +69 -0
  121. package/dist/feedback/Skeleton.js +130 -0
  122. package/dist/feedback/Spinner.d.ts +63 -0
  123. package/dist/feedback/Spinner.js +141 -0
  124. package/dist/fonts.css +70 -0
  125. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  126. package/dist/hooks/internal/useIsClient.js +14 -0
  127. package/dist/hooks/useClipboard.d.ts +19 -0
  128. package/dist/hooks/useClipboard.js +45 -0
  129. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  130. package/dist/hooks/useControlledOpenState.js +19 -0
  131. package/dist/hooks/useControlledState.d.ts +19 -0
  132. package/dist/hooks/useControlledState.js +22 -0
  133. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  134. package/dist/hooks/useDebouncedValue.js +33 -0
  135. package/dist/hooks/useDisclosure.d.ts +26 -0
  136. package/dist/hooks/useDisclosure.js +36 -0
  137. package/dist/hooks/useDismiss.d.ts +23 -27
  138. package/dist/hooks/useDismiss.js +39 -27
  139. package/dist/hooks/useElementClientSize.d.ts +10 -10
  140. package/dist/hooks/useElementClientSize.js +8 -11
  141. package/dist/hooks/useElementWidth.d.ts +6 -13
  142. package/dist/hooks/useElementWidth.js +6 -14
  143. package/dist/hooks/useField.d.ts +47 -0
  144. package/dist/hooks/useField.js +40 -0
  145. package/dist/hooks/useHotkey.d.ts +77 -0
  146. package/dist/hooks/useHotkey.js +246 -0
  147. package/dist/hooks/useIsMac.d.ts +12 -0
  148. package/dist/hooks/useIsMac.js +27 -0
  149. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  150. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  151. package/dist/hooks/useLocalStorage.d.ts +28 -0
  152. package/dist/hooks/useLocalStorage.js +145 -0
  153. package/dist/hooks/useMediaQuery.d.ts +11 -0
  154. package/dist/hooks/useMediaQuery.js +23 -0
  155. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  156. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  157. package/dist/hooks/useResize.d.ts +42 -62
  158. package/dist/hooks/useResize.js +43 -31
  159. package/dist/icons/Icon.d.ts +64 -37
  160. package/dist/icons/Icon.js +96 -37
  161. package/dist/icons/internal/IconSlot.d.ts +10 -0
  162. package/dist/icons/internal/IconSlot.js +32 -0
  163. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  164. package/dist/inputs/CheckboxGroup.js +183 -0
  165. package/dist/inputs/CheckboxInput.d.ts +98 -28
  166. package/dist/inputs/CheckboxInput.js +218 -88
  167. package/dist/inputs/ColorInput.d.ts +115 -29
  168. package/dist/inputs/ColorInput.js +748 -326
  169. package/dist/inputs/CopyInput.d.ts +49 -20
  170. package/dist/inputs/CopyInput.js +57 -49
  171. package/dist/inputs/CronInput.d.ts +94 -0
  172. package/dist/inputs/CronInput.js +618 -0
  173. package/dist/inputs/DateInput.d.ts +175 -28
  174. package/dist/inputs/DateInput.js +1109 -451
  175. package/dist/inputs/DurationInput.d.ts +101 -0
  176. package/dist/inputs/DurationInput.js +441 -0
  177. package/dist/inputs/Field.d.ts +75 -0
  178. package/dist/inputs/Field.js +247 -0
  179. package/dist/inputs/Fieldset.d.ts +53 -0
  180. package/dist/inputs/Fieldset.js +149 -0
  181. package/dist/inputs/FileInput.d.ts +110 -0
  182. package/dist/inputs/FileInput.js +476 -0
  183. package/dist/inputs/Input.d.ts +148 -187
  184. package/dist/inputs/Input.js +339 -259
  185. package/dist/inputs/KeyValueInput.d.ts +120 -0
  186. package/dist/inputs/KeyValueInput.js +383 -0
  187. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  188. package/dist/inputs/MultiSelectInput.js +175 -559
  189. package/dist/inputs/NumberInput.d.ts +65 -9
  190. package/dist/inputs/NumberInput.js +197 -40
  191. package/dist/inputs/PasswordInput.d.ts +17 -12
  192. package/dist/inputs/PasswordInput.js +33 -33
  193. package/dist/inputs/PinInput.d.ts +117 -0
  194. package/dist/inputs/PinInput.js +364 -0
  195. package/dist/inputs/RadioGroup.d.ts +115 -0
  196. package/dist/inputs/RadioGroup.js +179 -0
  197. package/dist/inputs/RadioInput.d.ts +87 -24
  198. package/dist/inputs/RadioInput.js +182 -95
  199. package/dist/inputs/SearchInput.d.ts +66 -0
  200. package/dist/inputs/SearchInput.js +156 -0
  201. package/dist/inputs/SelectInput.d.ts +195 -55
  202. package/dist/inputs/SelectInput.js +1308 -446
  203. package/dist/inputs/SliderInput.d.ts +150 -30
  204. package/dist/inputs/SliderInput.js +441 -186
  205. package/dist/inputs/SwitchInput.d.ts +109 -0
  206. package/dist/inputs/SwitchInput.js +248 -0
  207. package/dist/inputs/TagInput.d.ts +117 -0
  208. package/dist/inputs/TagInput.js +408 -0
  209. package/dist/inputs/TextAreaInput.d.ts +146 -44
  210. package/dist/inputs/TextAreaInput.js +292 -198
  211. package/dist/inputs/TextInput.d.ts +4 -13
  212. package/dist/inputs/TextInput.js +13 -48
  213. package/dist/inputs/ToggleInput.d.ts +120 -22
  214. package/dist/inputs/ToggleInput.js +262 -116
  215. package/dist/inputs/internal/bareField.d.ts +18 -0
  216. package/dist/inputs/internal/bareField.js +38 -0
  217. package/dist/inputs/internal/devWarn.d.ts +7 -0
  218. package/dist/inputs/internal/devWarn.js +30 -0
  219. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  220. package/dist/inputs/internal/fieldFrame.js +64 -0
  221. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  222. package/dist/inputs/internal/fieldWiring.js +38 -0
  223. package/dist/inputs/internal/innerButton.d.ts +2 -0
  224. package/dist/inputs/internal/innerButton.js +24 -0
  225. package/dist/inputs/internal/ownField.d.ts +45 -0
  226. package/dist/inputs/internal/ownField.js +58 -0
  227. package/dist/inputs/internal/predicates.d.ts +9 -0
  228. package/dist/inputs/internal/predicates.js +11 -0
  229. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  230. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  231. package/dist/json/JsonViewer.d.ts +62 -0
  232. package/dist/json/JsonViewer.js +483 -0
  233. package/dist/layout/Box.d.ts +87 -0
  234. package/dist/layout/Box.js +109 -0
  235. package/dist/layout/Divider.d.ts +25 -0
  236. package/dist/layout/Divider.js +70 -0
  237. package/dist/layout/Flex.d.ts +139 -0
  238. package/dist/layout/Flex.js +165 -0
  239. package/dist/layout/FlexItem.d.ts +72 -0
  240. package/dist/layout/FlexItem.js +84 -0
  241. package/dist/layout/Grid.d.ts +140 -0
  242. package/dist/layout/Grid.js +178 -0
  243. package/dist/layout/Portal.d.ts +29 -0
  244. package/dist/layout/Portal.js +27 -0
  245. package/dist/layout/ResizablePanels.d.ts +88 -0
  246. package/dist/layout/ResizablePanels.js +198 -0
  247. package/dist/layout/ResizeHandle.d.ts +48 -0
  248. package/dist/layout/ResizeHandle.js +143 -0
  249. package/dist/layout/ScrollArea.d.ts +30 -0
  250. package/dist/layout/ScrollArea.js +138 -0
  251. package/dist/links/Link.d.ts +101 -1
  252. package/dist/links/Link.js +166 -4
  253. package/dist/lists/BulletedList.d.ts +25 -7
  254. package/dist/lists/BulletedList.js +72 -27
  255. package/dist/lists/DescriptionList.d.ts +91 -0
  256. package/dist/lists/DescriptionList.js +147 -0
  257. package/dist/menu/ContextMenu.d.ts +64 -0
  258. package/dist/menu/ContextMenu.js +34 -0
  259. package/dist/menu/Menu.d.ts +280 -0
  260. package/dist/menu/Menu.js +1003 -0
  261. package/dist/modal/ConfirmDialog.d.ts +55 -0
  262. package/dist/modal/ConfirmDialog.js +151 -0
  263. package/dist/modal/Modal.d.ts +64 -14
  264. package/dist/modal/Modal.js +189 -48
  265. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  266. package/dist/navigation/Breadcrumbs.js +243 -0
  267. package/dist/navigation/CommandPalette.d.ts +83 -0
  268. package/dist/navigation/CommandPalette.js +509 -0
  269. package/dist/navigation/Pagination.d.ts +87 -0
  270. package/dist/navigation/Pagination.js +300 -0
  271. package/dist/navigation/SidebarNav.d.ts +107 -0
  272. package/dist/navigation/SidebarNav.js +341 -0
  273. package/dist/navigation/Stepper.d.ts +52 -0
  274. package/dist/navigation/Stepper.js +207 -0
  275. package/dist/navigation/Tabs.d.ts +113 -0
  276. package/dist/navigation/Tabs.js +543 -0
  277. package/dist/navigation/Topbar.d.ts +20 -0
  278. package/dist/navigation/Topbar.js +62 -0
  279. package/dist/overlay/OverlayProvider.d.ts +28 -32
  280. package/dist/overlay/OverlayProvider.js +42 -93
  281. package/dist/overlay/useOverlay.d.ts +88 -12
  282. package/dist/overlay/useOverlay.js +220 -43
  283. package/dist/overlays/Popover.d.ts +114 -0
  284. package/dist/overlays/Popover.js +389 -0
  285. package/dist/shapes/Circle.d.ts +84 -8
  286. package/dist/shapes/Circle.js +122 -20
  287. package/dist/shapes/Square.d.ts +84 -8
  288. package/dist/shapes/Square.js +123 -20
  289. package/dist/styles/mixins.d.ts +35 -0
  290. package/dist/styles/mixins.js +60 -0
  291. package/dist/styles.css +1 -202
  292. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  293. package/dist/table/InfiniteSpreadsheet.js +762 -225
  294. package/dist/table/InfiniteTable.d.ts +116 -14
  295. package/dist/table/InfiniteTable.js +287 -429
  296. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  297. package/dist/table/SpreadsheetCellEditor.js +163 -84
  298. package/dist/table/TableCore.d.ts +252 -0
  299. package/dist/table/TableCore.js +1077 -0
  300. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  301. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  302. package/dist/table/types.d.ts +66 -244
  303. package/dist/table/types.js +0 -51
  304. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  305. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  306. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  307. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  308. package/dist/table/useTableColumnLayout.d.ts +90 -25
  309. package/dist/table/useTableColumnLayout.js +255 -50
  310. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  311. package/dist/table/useTableKeyboardNavigation.js +95 -71
  312. package/dist/table/useTableRowSelection.d.ts +24 -25
  313. package/dist/table/useTableRowSelection.js +57 -84
  314. package/dist/table/useTableVirtualizer.d.ts +20 -0
  315. package/dist/table/useTableVirtualizer.js +48 -0
  316. package/dist/text/Bold.d.ts +5 -6
  317. package/dist/text/Bold.js +16 -15
  318. package/dist/text/Code.d.ts +5 -6
  319. package/dist/text/Code.js +16 -25
  320. package/dist/text/CodeBlock.d.ts +77 -0
  321. package/dist/text/CodeBlock.js +373 -0
  322. package/dist/text/EditableText.d.ts +55 -15
  323. package/dist/text/EditableText.js +153 -135
  324. package/dist/text/Ellipsis.d.ts +34 -8
  325. package/dist/text/Ellipsis.js +55 -23
  326. package/dist/text/Kbd.d.ts +72 -0
  327. package/dist/text/Kbd.js +284 -0
  328. package/dist/text/MarkdownText.d.ts +27 -10
  329. package/dist/text/MarkdownText.js +317 -300
  330. package/dist/text/RequiredMarker.d.ts +17 -5
  331. package/dist/text/RequiredMarker.js +34 -36
  332. package/dist/text/Selectable.d.ts +5 -6
  333. package/dist/text/Selectable.js +16 -13
  334. package/dist/text/Span.d.ts +82 -0
  335. package/dist/text/Span.js +115 -0
  336. package/dist/text/Text.d.ts +128 -41
  337. package/dist/text/Text.js +209 -76
  338. package/dist/theme/GalaxyProvider.d.ts +75 -0
  339. package/dist/theme/GalaxyProvider.js +223 -0
  340. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  341. package/dist/theme/ThemeSwitcher.js +94 -0
  342. package/dist/theme/enums.d.ts +118 -0
  343. package/dist/theme/enums.js +144 -0
  344. package/dist/theme/tokens/dark.d.ts +2 -0
  345. package/dist/theme/tokens/dark.js +275 -0
  346. package/dist/theme/tokens/generate.d.ts +15 -0
  347. package/dist/theme/tokens/generate.js +47 -0
  348. package/dist/theme/tokens/light.d.ts +2 -0
  349. package/dist/theme/tokens/light.js +274 -0
  350. package/dist/theme/tokens/palette.d.ts +14 -0
  351. package/dist/theme/tokens/palette.js +153 -0
  352. package/dist/theme/tokens/scales.d.ts +26 -0
  353. package/dist/theme/tokens/scales.js +154 -0
  354. package/dist/theme/tokens/t.d.ts +3 -0
  355. package/dist/theme/tokens/t.js +25 -0
  356. package/dist/theme/tokens/types.d.ts +189 -0
  357. package/dist/theme/tokens/types.js +0 -0
  358. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  359. package/dist/theme/useGalaxyTheme.js +36 -0
  360. package/dist/theme/useInverseScope.d.ts +18 -0
  361. package/dist/theme/useInverseScope.js +33 -0
  362. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  363. package/dist/three/GalaxyLogomark3D.js +134 -0
  364. package/dist/three/assets/galaxy-logomark.js +4 -0
  365. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  366. package/dist/three/galaxyLogomark3DScene.js +165 -0
  367. package/dist/timeline/Timeline.d.ts +99 -0
  368. package/dist/timeline/Timeline.js +269 -0
  369. package/dist/toast/Toast.d.ts +43 -19
  370. package/dist/toast/Toast.js +130 -89
  371. package/dist/toast/ToastProvider.d.ts +23 -23
  372. package/dist/toast/ToastProvider.js +298 -101
  373. package/dist/toast/ToastViewport.d.ts +12 -0
  374. package/dist/toast/ToastViewport.js +210 -0
  375. package/dist/toast/useToast.d.ts +139 -5
  376. package/dist/toast/useToast.js +15 -13
  377. package/dist/tokens.css +654 -0
  378. package/dist/tooltip/Tooltip.d.ts +64 -44
  379. package/dist/tooltip/Tooltip.js +280 -73
  380. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  381. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  382. package/dist/transform/Fade.d.ts +33 -11
  383. package/dist/transform/Fade.js +71 -19
  384. package/dist/transform/Flasher.d.ts +25 -0
  385. package/dist/transform/Flasher.js +39 -0
  386. package/dist/transform/Rotate.d.ts +24 -12
  387. package/dist/transform/Rotate.js +36 -22
  388. package/dist/transform/ScaleFade.d.ts +36 -11
  389. package/dist/transform/ScaleFade.js +86 -28
  390. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  391. package/dist/transform/internal/CollapseMotion.js +65 -0
  392. package/dist/tree/Tree.d.ts +85 -0
  393. package/dist/tree/Tree.js +387 -0
  394. package/dist/tree/treeRow.d.ts +39 -0
  395. package/dist/tree/treeRow.js +75 -0
  396. package/dist/utils/colors.d.ts +46 -13
  397. package/dist/utils/colors.js +92 -34
  398. package/dist/utils/css.d.ts +23 -0
  399. package/dist/utils/css.js +30 -0
  400. package/dist/utils/format.d.ts +58 -0
  401. package/dist/utils/format.js +220 -0
  402. package/dist/vite/index.d.ts +16 -0
  403. package/dist/vite/index.js +52 -0
  404. package/dist/widget/Widget.d.ts +164 -48
  405. package/dist/widget/Widget.js +335 -96
  406. package/dist/widget/WidgetGroup.d.ts +36 -0
  407. package/dist/widget/WidgetGroup.js +103 -0
  408. package/package.json +851 -157
  409. package/dist/accordion/Accordion.d.ts +0 -54
  410. package/dist/accordion/Accordion.js +0 -183
  411. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  412. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  413. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  415. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  416. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  417. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  419. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  420. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  421. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  423. package/dist/assets/models/galaxy-animation.js +0 -136666
  424. package/dist/assets/models/galaxy-logomark.js +0 -4
  425. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  426. package/dist/avatar/AvatarShimmer.js +0 -22
  427. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  428. package/dist/backgrounds/CellGridBackground.js +0 -44
  429. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  430. package/dist/backgrounds/CrossGridBackground.js +0 -49
  431. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  432. package/dist/backgrounds/DotGridBackground.js +0 -47
  433. package/dist/badge/Badge.d.ts +0 -42
  434. package/dist/badge/Badge.js +0 -99
  435. package/dist/charts/ChartEmptyState.d.ts +0 -17
  436. package/dist/charts/ChartEmptyState.js +0 -29
  437. package/dist/charts/ProgressBar.d.ts +0 -29
  438. package/dist/charts/ProgressBar.js +0 -65
  439. package/dist/charts/chartTheme.d.ts +0 -18
  440. package/dist/charts/chartTheme.js +0 -26
  441. package/dist/containers/FlexItem.d.ts +0 -50
  442. package/dist/containers/FlexItem.js +0 -91
  443. package/dist/containers/FlexWrapper.d.ts +0 -96
  444. package/dist/containers/FlexWrapper.js +0 -143
  445. package/dist/containers/GridWrapper.d.ts +0 -79
  446. package/dist/containers/GridWrapper.js +0 -125
  447. package/dist/containers/Spacing.d.ts +0 -23
  448. package/dist/containers/Spacing.js +0 -59
  449. package/dist/containers/Wrapper.d.ts +0 -26
  450. package/dist/containers/Wrapper.js +0 -54
  451. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  452. package/dist/dividers/HorizontalDivider.js +0 -39
  453. package/dist/dividers/VerticalDivider.d.ts +0 -6
  454. package/dist/dividers/VerticalDivider.js +0 -21
  455. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  456. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  457. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  458. package/dist/icons/GalaxyLogomark.js +0 -27
  459. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  460. package/dist/icons/GalaxyLogomark3D.js +0 -319
  461. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  462. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  463. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  464. package/dist/icons/GalaxyWordmark.js +0 -25
  465. package/dist/inputs/MultiTextInput.d.ts +0 -32
  466. package/dist/inputs/MultiTextInput.js +0 -180
  467. package/dist/inputs/SwitcherInput.d.ts +0 -30
  468. package/dist/inputs/SwitcherInput.js +0 -81
  469. package/dist/inputs/hooks.d.ts +0 -10
  470. package/dist/inputs/hooks.js +0 -22
  471. package/dist/overlay/constants.d.ts +0 -28
  472. package/dist/overlay/constants.js +0 -37
  473. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  474. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  475. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  476. package/dist/resizable/VerticalResizeHandle.js +0 -39
  477. package/dist/table/SpreadsheetCell.d.ts +0 -21
  478. package/dist/table/SpreadsheetCell.js +0 -71
  479. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  480. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  481. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  482. package/dist/table/SpreadsheetMenuItem.js +0 -33
  483. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  484. package/dist/table/SpreadsheetPrimitives.js +0 -105
  485. package/dist/table/SpreadsheetRow.d.ts +0 -33
  486. package/dist/table/SpreadsheetRow.js +0 -73
  487. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  488. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  489. package/dist/table/TableExpandCell.d.ts +0 -11
  490. package/dist/table/TableExpandCell.js +0 -24
  491. package/dist/table/TableExpandedRow.d.ts +0 -16
  492. package/dist/table/TableExpandedRow.js +0 -77
  493. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  494. package/dist/table/TableHeaderCellContent.js +0 -48
  495. package/dist/table/TablePrimitives.d.ts +0 -313
  496. package/dist/table/TablePrimitives.js +0 -302
  497. package/dist/table/TableSelectCell.d.ts +0 -18
  498. package/dist/table/TableSelectCell.js +0 -27
  499. package/dist/table/TableStatusRow.d.ts +0 -18
  500. package/dist/table/TableStatusRow.js +0 -50
  501. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  502. package/dist/table/useSpreadsheetEditing.js +0 -41
  503. package/dist/table/useTableColumnResize.d.ts +0 -38
  504. package/dist/table/useTableColumnResize.js +0 -155
  505. package/dist/table/useTableRowExpansion.d.ts +0 -24
  506. package/dist/table/useTableRowExpansion.js +0 -62
  507. package/dist/table/utils.d.ts +0 -50
  508. package/dist/table/utils.js +0 -78
  509. package/dist/text/HotKeys.d.ts +0 -30
  510. package/dist/text/HotKeys.js +0 -74
  511. package/dist/text/Paragraph.d.ts +0 -33
  512. package/dist/text/Paragraph.js +0 -83
  513. package/dist/text/TextShimmer.d.ts +0 -14
  514. package/dist/text/TextShimmer.js +0 -34
  515. package/dist/theme/GalaxyTheme.d.ts +0 -67
  516. package/dist/theme/GalaxyTheme.js +0 -119
  517. package/dist/theme/constants.d.ts +0 -8
  518. package/dist/theme/constants.js +0 -38
  519. package/dist/theme/index.d.ts +0 -6
  520. package/dist/theme/index.js +0 -7
  521. package/dist/theme/types.d.ts +0 -195
  522. package/dist/theme/types.js +0 -10
  523. package/dist/theme/typography.d.ts +0 -2
  524. package/dist/theme/typography.js +0 -73
  525. package/dist/theme/variants/dark.d.ts +0 -2
  526. package/dist/theme/variants/dark.js +0 -125
  527. package/dist/theme/variants/light.d.ts +0 -2
  528. package/dist/theme/variants/light.js +0 -125
  529. package/dist/toast/ToastContainer.d.ts +0 -10
  530. package/dist/toast/ToastContainer.js +0 -31
  531. package/dist/toast/ToastWrapper.d.ts +0 -6
  532. package/dist/toast/ToastWrapper.js +0 -27
  533. package/dist/transform/Flash.d.ts +0 -7
  534. package/dist/transform/Flash.js +0 -18
  535. package/dist/transform/Spin.d.ts +0 -14
  536. package/dist/transform/Spin.js +0 -25
  537. package/dist/utils/linaria.d.ts +0 -1
  538. package/dist/utils/linaria.js +0 -8
@@ -0,0 +1,27 @@
1
+ /** @internal What the scene draws; the component passes its props and the resolved color. */
2
+ export interface GalaxyLogomark3DSceneOptions {
3
+ /** Canvas width and height in CSS px. */
4
+ size: number;
5
+ /** Material color as a resolved hex (`solid.primary.background` or `background.base`). */
6
+ color: string;
7
+ /** Spin around the vertical axis at `speed`. */
8
+ isAutoRotate: boolean;
9
+ /** Drag to orbit (no zoom, no pan). */
10
+ isInteractive: boolean;
11
+ /** Double flip on random axes when the pointer enters. */
12
+ isHoverable: boolean;
13
+ /** Auto-rotation rate in rad/s; the flip lasts `0.5 / speed` s. */
14
+ speed: number;
15
+ }
16
+ /** @internal A mounted scene. */
17
+ export interface GalaxyLogomark3DScene {
18
+ /** Applies new options without rebuilding the scene. */
19
+ update(options: GalaxyLogomark3DSceneOptions): void;
20
+ /** Stops the loop and frees every GPU resource and listener. */
21
+ dispose(): void;
22
+ }
23
+ /**
24
+ * @internal Renders the Galaxy logomark into `canvas` and keeps it moving until `dispose()`.
25
+ * Calls `onFirstFrame` once, after the first frame is drawn.
26
+ */
27
+ export declare function mountGalaxyLogomark3DScene(canvas: HTMLCanvasElement, options: GalaxyLogomark3DSceneOptions, onFirstFrame: () => void): GalaxyLogomark3DScene;
@@ -0,0 +1,165 @@
1
+ import galaxy_logomark_default from "./assets/galaxy-logomark.js";
2
+ import { ACESFilmicToneMapping, AmbientLight, Box3, DirectionalLight, Group, MathUtils, Mesh, MeshPhysicalMaterial, PMREMGenerator, PerspectiveCamera, Scene, Vector3, WebGLRenderer } from "three";
3
+ import { OrbitControls } from "three/addons/controls/OrbitControls.js";
4
+ import { RoomEnvironment } from "three/addons/environments/RoomEnvironment.js";
5
+ import { OBJLoader } from "three/addons/loaders/OBJLoader.js";
6
+ //#region src/three/galaxyLogomark3DScene.ts
7
+ /**
8
+ * @internal The three.js scene behind `GalaxyLogomark3D`; not documented API. The component loads
9
+ * this module with a dynamic `import()` after mount, so three.js and the ~2.4 MB model stay out of
10
+ * every other module's graph and out of build-time evaluation. A port of the 1.x
11
+ * react-three-fiber scene with its default look: one glossy physical material, the simple
12
+ * three-light rig, a procedural `RoomEnvironment` (no CDN fetch), drag-to-orbit only.
13
+ */
14
+ /** The 1.x mesh scale: the resting mark spans ≈ 76% of the canvas at the 1.x camera. */
15
+ var MESH_SCALE = .088;
16
+ /** Reflection strength of the room environment on the material (1.x default, tuned in Storybook). */
17
+ var ENV_MAP_INTENSITY = 1.5;
18
+ /** Ease-out-quart, the 1.x flip curve. */
19
+ var easeOutQuart = (progress) => 1 - (1 - progress) ** 4;
20
+ /** Eases an angle 10% of the way to rest by the shortest way, snapping to 0 once invisible. */
21
+ var settle = (angle) => {
22
+ const next = MathUtils.lerp(wrapAngle(angle), 0, .1);
23
+ return Math.abs(next) < 1e-4 ? 0 : next;
24
+ };
25
+ /** The same angle in [-π, π). */
26
+ var wrapAngle = (angle) => MathUtils.euclideanModulo(angle + Math.PI, Math.PI * 2) - Math.PI;
27
+ /** -1, 0 or 1. */
28
+ var randomAxis = () => Math.floor(Math.random() * 3) - 1;
29
+ /**
30
+ * @internal Renders the Galaxy logomark into `canvas` and keeps it moving until `dispose()`.
31
+ * Calls `onFirstFrame` once, after the first frame is drawn.
32
+ */
33
+ function mountGalaxyLogomark3DScene(canvas, options, onFirstFrame) {
34
+ let current = options;
35
+ const renderer = new WebGLRenderer({
36
+ canvas,
37
+ alpha: true,
38
+ antialias: true
39
+ });
40
+ renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
41
+ renderer.setSize(current.size, current.size, false);
42
+ renderer.setClearAlpha(0);
43
+ renderer.toneMapping = ACESFilmicToneMapping;
44
+ const camera = new PerspectiveCamera(45, 1, .1, 100);
45
+ camera.position.set(0, 0, 4);
46
+ const scene = new Scene();
47
+ scene.add(new AmbientLight(void 0, .5));
48
+ const keyLight = new DirectionalLight(void 0, 1);
49
+ keyLight.position.set(10, 10, 5);
50
+ scene.add(keyLight);
51
+ const fillLight = new DirectionalLight(void 0, .5);
52
+ fillLight.position.set(-10, -10, -5);
53
+ scene.add(fillLight);
54
+ const pmremGenerator = new PMREMGenerator(renderer);
55
+ const roomEnvironment = new RoomEnvironment();
56
+ const environmentTexture = pmremGenerator.fromScene(roomEnvironment, .04).texture;
57
+ roomEnvironment.dispose();
58
+ scene.environment = environmentTexture;
59
+ const material = new MeshPhysicalMaterial({
60
+ color: current.color,
61
+ sheenColor: current.color,
62
+ metalness: 0,
63
+ roughness: 0,
64
+ transmission: 0,
65
+ thickness: 0,
66
+ ior: 1,
67
+ clearcoat: 0,
68
+ clearcoatRoughness: 0,
69
+ sheen: 1,
70
+ sheenRoughness: 0,
71
+ envMapIntensity: ENV_MAP_INTENSITY
72
+ });
73
+ const model = new OBJLoader().parse(galaxy_logomark_default);
74
+ model.traverse((child) => {
75
+ if (child instanceof Mesh) child.material = material;
76
+ });
77
+ model.position.sub(new Box3().setFromObject(model).getCenter(new Vector3()));
78
+ const group = new Group();
79
+ group.scale.setScalar(MESH_SCALE);
80
+ group.add(model);
81
+ scene.add(group);
82
+ const controls = new OrbitControls(camera, canvas);
83
+ controls.enableRotate = true;
84
+ controls.enableZoom = false;
85
+ controls.enablePan = false;
86
+ const setInteractive = (isInteractive) => {
87
+ controls.enabled = isInteractive;
88
+ if (isInteractive) controls.connect(canvas);
89
+ else controls.disconnect();
90
+ };
91
+ if (!current.isInteractive) setInteractive(false);
92
+ const startTime = performance.now();
93
+ const elapsedSeconds = () => (performance.now() - startTime) / 1e3;
94
+ let flipStart = null;
95
+ let flipAxes = {
96
+ x: 0,
97
+ y: 1,
98
+ z: 0
99
+ };
100
+ const onPointerEnter = () => {
101
+ if (!current.isHoverable) return;
102
+ let axes = {
103
+ x: randomAxis(),
104
+ y: randomAxis(),
105
+ z: randomAxis()
106
+ };
107
+ while (axes.x === 0 && axes.y === 0 && axes.z === 0) axes = {
108
+ x: randomAxis(),
109
+ y: randomAxis(),
110
+ z: randomAxis()
111
+ };
112
+ flipAxes = axes;
113
+ flipStart = elapsedSeconds();
114
+ };
115
+ canvas.addEventListener("pointerenter", onPointerEnter);
116
+ let hasDrawn = false;
117
+ let frame = 0;
118
+ const tick = () => {
119
+ frame = requestAnimationFrame(tick);
120
+ const elapsed = elapsedSeconds();
121
+ const flipDuration = .5 / current.speed;
122
+ const { rotation } = group;
123
+ if (flipStart !== null && elapsed - flipStart < flipDuration) {
124
+ const turn = easeOutQuart((elapsed - flipStart) / flipDuration) * Math.PI * 4;
125
+ rotation.set(turn * flipAxes.x, turn * flipAxes.y, turn * flipAxes.z);
126
+ } else {
127
+ flipStart = null;
128
+ rotation.x = settle(rotation.x);
129
+ rotation.z = settle(rotation.z);
130
+ rotation.y = current.isAutoRotate ? elapsed * current.speed : settle(rotation.y);
131
+ }
132
+ renderer.render(scene, camera);
133
+ if (!hasDrawn) {
134
+ hasDrawn = true;
135
+ onFirstFrame();
136
+ }
137
+ };
138
+ frame = requestAnimationFrame(tick);
139
+ return {
140
+ update(next) {
141
+ if (next.size !== current.size) renderer.setSize(next.size, next.size, false);
142
+ if (next.color !== current.color) {
143
+ material.color.set(next.color);
144
+ material.sheenColor.set(next.color);
145
+ }
146
+ if (next.isInteractive !== current.isInteractive) setInteractive(next.isInteractive);
147
+ current = next;
148
+ },
149
+ dispose() {
150
+ cancelAnimationFrame(frame);
151
+ canvas.removeEventListener("pointerenter", onPointerEnter);
152
+ controls.dispose();
153
+ model.traverse((child) => {
154
+ if (child instanceof Mesh) child.geometry.dispose();
155
+ });
156
+ material.dispose();
157
+ environmentTexture.dispose();
158
+ pmremGenerator.dispose();
159
+ renderer.dispose();
160
+ renderer.forceContextLoss();
161
+ }
162
+ };
163
+ }
164
+ //#endregion
165
+ export { mountGalaxyLogomark3DScene };
@@ -0,0 +1,99 @@
1
+ import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
2
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
3
+ import type { PaletteColor } from "../theme/tokens/types.js";
4
+ /** Canonical rungs (subset); the member names the type step of the event text. */
5
+ export declare enum TimelineSize {
6
+ /** body_sm text, 16px box, 4px dot, 10px icon, 12px between events. */
7
+ SMALL = "SMALL",
8
+ /** body_md text, 20px box, 4px dot, 12px icon, 16px between events. The default. */
9
+ MEDIUM = "MEDIUM",
10
+ /** body_lg text, 24px box, 6px dot, 14px icon, 24px between events. */
11
+ LARGE = "LARGE"
12
+ }
13
+ /** Marker color of one item (Constitution V-A color set; the Timeline item is listed in that column). */
14
+ export declare enum TimelineVariant {
15
+ /** `text.primary` marker in a `border.primary` box. */
16
+ PRIMARY = "PRIMARY",
17
+ /** `text.secondary` marker in a `border.primary` box. The default. */
18
+ SECONDARY = "SECONDARY",
19
+ /** `text.tertiary` marker in a `border.primary` box. */
20
+ TERTIARY = "TERTIARY",
21
+ /** `text.disabled` marker in a `border.disabled` box: a skipped or cancelled step. */
22
+ DISABLED = "DISABLED",
23
+ /** `currentColor` of the item (`text.primary`) in a `border.primary` box. */
24
+ INHERIT = "INHERIT",
25
+ /** `text.success` marker in a `border.success` box. */
26
+ SUCCESS = "SUCCESS",
27
+ /** `text.warning` marker in a `border.warning` box. */
28
+ WARNING = "WARNING",
29
+ /** `text.error` marker in a `border.error` box. */
30
+ ERROR = "ERROR"
31
+ }
32
+ /** The fields of an event other than its marker color. */
33
+ interface TimelineItemBase {
34
+ /** Stable identity of the event, used as the React key. Not rendered. */
35
+ id: string;
36
+ /** What happened, in a few words ("Run started"). Primary text; wraps when long. */
37
+ label: string;
38
+ /** Detail under the label, in secondary text ("12,480 rows loaded into contacts"). */
39
+ description?: string;
40
+ /** When it happened, already formatted by the app ("14:02", "2 min ago"). Shown at the end of the label line. */
41
+ time?: string;
42
+ /** Machine-readable form of `time` (ISO 8601). When set, `time` renders inside `<time dateTime>`. */
43
+ dateTime?: string;
44
+ /** Marker icon, a Phosphor component (`CheckIcon`, not `<CheckIcon />`). Without it the marker is a dot. */
45
+ icon?: PhosphorIcon;
46
+ /**
47
+ * The event is in progress: a dot marker pulses and the item gets `aria-current="step"`.
48
+ * @default false
49
+ */
50
+ isActive?: boolean;
51
+ /** Content under the description: links, chips, a button, a code block. */
52
+ footer?: ReactNode;
53
+ }
54
+ /** An event whose marker is colored by meaning (`variant`), or the default `SECONDARY`. */
55
+ interface TimelineItemVariantProps {
56
+ /**
57
+ * Marker color role: a neutral step or a status. Not with `color`.
58
+ * @default TimelineVariant.SECONDARY
59
+ */
60
+ variant?: TimelineVariant;
61
+ /** Categorical palette family. Not with `variant`. */
62
+ color?: undefined;
63
+ }
64
+ /** An event whose marker is colored by category (`color`). */
65
+ interface TimelineItemColorProps {
66
+ /**
67
+ * Marker color role: a neutral step or a status. Not with `color`.
68
+ * @default TimelineVariant.SECONDARY
69
+ */
70
+ variant?: undefined;
71
+ /**
72
+ * Categorical palette family (`"blue"`, `"violet"`, …): the dot or icon takes `text.<family>`
73
+ * and the box `border.<family>`, the way a status variant renders. For an event's category (a source, a team); meanings take
74
+ * `variant`. Not with `variant`.
75
+ */
76
+ color: PaletteColor;
77
+ }
78
+ /** One event on the timeline. Passing both `variant` and `color` is a type error. */
79
+ export type TimelineItem = TimelineItemBase & (TimelineItemVariantProps | TimelineItemColorProps);
80
+ export interface TimelineProps extends AriaAttributes {
81
+ /** The events, in the order to show. */
82
+ items: TimelineItem[];
83
+ /**
84
+ * Type step of the label, time and description (`body_sm` / `body_md` / `body_lg`), the marker box (16 / 20 / 24px) and the space between events.
85
+ * @default TimelineSize.MEDIUM
86
+ */
87
+ size?: TimelineSize;
88
+ /** DOM id on the root `<ol>`. */
89
+ id?: string;
90
+ /** Any `data-*` attribute, forwarded to the root `<ol>`. */
91
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
92
+ /** Extra class on the root `<ol>`. */
93
+ className?: string;
94
+ /** Inline style on the root `<ol>`; only for setting CSS custom properties. */
95
+ style?: CSSProperties;
96
+ }
97
+ /** A vertical list of events with boxed dot or icon markers on a hairline rail. */
98
+ declare const Timeline: import("react").ForwardRefExoticComponent<TimelineProps & import("react").RefAttributes<HTMLOListElement>>;
99
+ export default Timeline;
@@ -0,0 +1,269 @@
1
+ import Text, { TextSize, TextVariant } from "../text/Text.js";
2
+ import Beacon, { BeaconSize, BeaconVariant } from "../beacons/Beacon.js";
3
+ import Icon, { IconVariant } from "../icons/Icon.js";
4
+ /* empty css */
5
+ import { styled } from "@linaria/react";
6
+ import { forwardRef } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { cx } from "@linaria/core";
9
+ //#region src/timeline/Timeline.tsx
10
+ /**
11
+ * A sequence of events in time order, top to bottom: a pipeline run's history, a sync's steps, an
12
+ * audit trail, an activity feed. Each item is a marker on a vertical rail (a `Beacon` dot, or an
13
+ * `Icon` when `icon` is set, inside a small square hairline box with no fill), a one-line label
14
+ * centered on the box, an optional time at the end of the label line, an optional description and
15
+ * an optional footer. A 0.5px rail runs from the bottom edge of each box to the top edge of the
16
+ * next, whatever the item's height. Only the marker takes the item's color-set `variant` (a
17
+ * meaning) or categorical `color` (a palette family): the dot or icon its text color, the box its
18
+ * border color. The words stay primary and secondary.
19
+ *
20
+ * Read-only: it does not order, group, fetch or format anything. An ordered list (`<ol>`, kept a
21
+ * list in Safari with `role="list"` because the package reset removes list styling); the rail is
22
+ * decorative. Not a `Stepper`, a table, or a chart over a time axis.
23
+ */
24
+ /** Canonical rungs (subset); the member names the type step of the event text. */
25
+ var TimelineSize = /* @__PURE__ */ function(TimelineSize) {
26
+ /** body_sm text, 16px box, 4px dot, 10px icon, 12px between events. */
27
+ TimelineSize["SMALL"] = "SMALL";
28
+ /** body_md text, 20px box, 4px dot, 12px icon, 16px between events. The default. */
29
+ TimelineSize["MEDIUM"] = "MEDIUM";
30
+ /** body_lg text, 24px box, 6px dot, 14px icon, 24px between events. */
31
+ TimelineSize["LARGE"] = "LARGE";
32
+ return TimelineSize;
33
+ }({});
34
+ /** Marker color of one item (Constitution V-A color set; the Timeline item is listed in that column). */
35
+ var TimelineVariant = /* @__PURE__ */ function(TimelineVariant) {
36
+ /** `text.primary` marker in a `border.primary` box. */
37
+ TimelineVariant["PRIMARY"] = "PRIMARY";
38
+ /** `text.secondary` marker in a `border.primary` box. The default. */
39
+ TimelineVariant["SECONDARY"] = "SECONDARY";
40
+ /** `text.tertiary` marker in a `border.primary` box. */
41
+ TimelineVariant["TERTIARY"] = "TERTIARY";
42
+ /** `text.disabled` marker in a `border.disabled` box: a skipped or cancelled step. */
43
+ TimelineVariant["DISABLED"] = "DISABLED";
44
+ /** `currentColor` of the item (`text.primary`) in a `border.primary` box. */
45
+ TimelineVariant["INHERIT"] = "INHERIT";
46
+ /** `text.success` marker in a `border.success` box. */
47
+ TimelineVariant["SUCCESS"] = "SUCCESS";
48
+ /** `text.warning` marker in a `border.warning` box. */
49
+ TimelineVariant["WARNING"] = "WARNING";
50
+ /** `text.error` marker in a `border.error` box. */
51
+ TimelineVariant["ERROR"] = "ERROR";
52
+ return TimelineVariant;
53
+ }({});
54
+ /** The ordered list of events. */
55
+ var Root = /*#__PURE__*/ styled("ol")({
56
+ name: "Root",
57
+ class: "gx-Timeline-rzjag0b",
58
+ propsAsIs: false
59
+ });
60
+ /**
61
+ * One event: the rail column and the body column in one grid row, so the rail stretches to the
62
+ * event's full height (its content plus the space before the next event) with no measurement.
63
+ */
64
+ var Item = /*#__PURE__*/ styled("li")({
65
+ name: "Item",
66
+ class: "gx-Timeline-Item-ihxmlb4",
67
+ propsAsIs: false
68
+ });
69
+ /**
70
+ * The marker box, then the connector: the connector fills from the box's bottom edge to the item's
71
+ * bottom edge, which is the next item's top edge and so the top of the next box. No gap, no overlap.
72
+ */
73
+ var Rail = /*#__PURE__*/ styled("span")({
74
+ name: "Rail",
75
+ class: "gx-Timeline-Rail-rfxm9ra",
76
+ propsAsIs: false
77
+ });
78
+ /**
79
+ * A square hairline box holding the dot or icon: no fill, the item's border color (the
80
+ * neutral \`border.primary\`, a status border or a palette family's border).
81
+ */
82
+ var Marker = /*#__PURE__*/ styled("span")({
83
+ name: "Marker",
84
+ class: "gx-Timeline-Marker-m11eshsv",
85
+ propsAsIs: false
86
+ });
87
+ /** The 0.5px hairline from the bottom of this box to the top of the next one. */
88
+ var Connector = /*#__PURE__*/ styled("span")({
89
+ name: "Connector",
90
+ class: "gx-Timeline-Connector-c1u5y4o2",
91
+ propsAsIs: false
92
+ });
93
+ /**
94
+ * Label line, description and footer. The top padding centers the first line on the box; the space
95
+ * between events is bottom padding here, so the connector crosses it.
96
+ */
97
+ var Body = /*#__PURE__*/ styled("div")({
98
+ name: "Body",
99
+ class: "gx-Timeline-Body-b132ryei",
100
+ propsAsIs: false
101
+ });
102
+ /** The label wraps; the time stays at the end of the first line. */
103
+ var Heading = /*#__PURE__*/ styled("div")({
104
+ name: "Heading",
105
+ class: "gx-Timeline-Heading-h1j1o23c",
106
+ propsAsIs: false
107
+ });
108
+ /**
109
+ * Links, chips, a button, a code block. Inline items keep their size and wrap; block content (a
110
+ * `CodeBlock`, a `JsonViewer`) takes the whole row, so code and JSON fill the body's width.
111
+ */
112
+ var Footer = /*#__PURE__*/ styled("div")({
113
+ name: "Footer",
114
+ class: "gx-Timeline-Footer-f6c9753",
115
+ propsAsIs: false
116
+ });
117
+ /**
118
+ * The time in the second column, on one line. A flex box, so a `<time>` wrapper has no line strut
119
+ * of its own (the inherited font size) and shares the label's baseline at every size.
120
+ */
121
+ var TIME_CSS = "gx-Timeline-TIME_CSS-t1fj1oub";
122
+ /** Line height, marker box (16 / 20 / 24px), column gap and event spacing per rung. */
123
+ var TIMELINE_SIZE_TO_CSS_MAP = {
124
+ ["SMALL"]: "gx-Timeline-SMALL-s1whgn5t",
125
+ ["MEDIUM"]: "gx-Timeline-MEDIUM-m1j9kdi1",
126
+ ["LARGE"]: "gx-Timeline-LARGE-leakmyp"
127
+ };
128
+ /** The event text's type step. */
129
+ var TIMELINE_SIZE_TO_TEXT_SIZE_MAP = {
130
+ ["SMALL"]: TextSize.BODY_SM,
131
+ ["MEDIUM"]: TextSize.BODY_MD,
132
+ ["LARGE"]: TextSize.BODY_LG
133
+ };
134
+ /** The rung's icon size, in px, inside the 16 / 20 / 24px box. */
135
+ var TIMELINE_SIZE_TO_ICON_PX_MAP = {
136
+ ["SMALL"]: 10,
137
+ ["MEDIUM"]: 12,
138
+ ["LARGE"]: 14
139
+ };
140
+ /** The dot's rung, one step below the text so it sits quietly in the smaller box. */
141
+ var TIMELINE_SIZE_TO_BEACON_SIZE_MAP = {
142
+ ["SMALL"]: BeaconSize.X_SMALL,
143
+ ["MEDIUM"]: BeaconSize.SMALL,
144
+ ["LARGE"]: BeaconSize.MEDIUM
145
+ };
146
+ /** Identity: the item variant is the dot's. */
147
+ var TIMELINE_VARIANT_TO_BEACON_VARIANT_MAP = {
148
+ ["PRIMARY"]: BeaconVariant.PRIMARY,
149
+ ["SECONDARY"]: BeaconVariant.SECONDARY,
150
+ ["TERTIARY"]: BeaconVariant.TERTIARY,
151
+ ["DISABLED"]: BeaconVariant.DISABLED,
152
+ ["INHERIT"]: BeaconVariant.INHERIT,
153
+ ["SUCCESS"]: BeaconVariant.SUCCESS,
154
+ ["WARNING"]: BeaconVariant.WARNING,
155
+ ["ERROR"]: BeaconVariant.ERROR
156
+ };
157
+ /** Identity: the item variant is the icon's. */
158
+ var TIMELINE_VARIANT_TO_ICON_VARIANT_MAP = {
159
+ ["PRIMARY"]: IconVariant.PRIMARY,
160
+ ["SECONDARY"]: IconVariant.SECONDARY,
161
+ ["TERTIARY"]: IconVariant.TERTIARY,
162
+ ["DISABLED"]: IconVariant.DISABLED,
163
+ ["INHERIT"]: IconVariant.INHERIT,
164
+ ["SUCCESS"]: IconVariant.SUCCESS,
165
+ ["WARNING"]: IconVariant.WARNING,
166
+ ["ERROR"]: IconVariant.ERROR
167
+ };
168
+ /** The marker box's hairline per variant: neutral roles keep `border.primary`; statuses take theirs. */
169
+ var TIMELINE_VARIANT_TO_BORDER_CSS_MAP = {
170
+ ["PRIMARY"]: "gx-Timeline-PRIMARY-p1vcatjx",
171
+ ["SECONDARY"]: "gx-Timeline-SECONDARY-s1195fxg",
172
+ ["TERTIARY"]: "gx-Timeline-TERTIARY-t1oqbau9",
173
+ ["DISABLED"]: "gx-Timeline-DISABLED-d11wi4d2",
174
+ ["INHERIT"]: "gx-Timeline-INHERIT-i1r53y3e",
175
+ ["SUCCESS"]: "gx-Timeline-SUCCESS-s61v3n7",
176
+ ["WARNING"]: "gx-Timeline-WARNING-w1tjq5mm",
177
+ ["ERROR"]: "gx-Timeline-ERROR-ea735oo"
178
+ };
179
+ /**
180
+ * Categorical `color` on the marker: `text.<family>`, which an icon marker (`IconVariant.INHERIT`)
181
+ * takes, and `border.<family>` on the box.
182
+ */
183
+ var TIMELINE_COLOR_TO_CSS_MAP = {
184
+ red: "gx-Timeline-red-r1ayi32k",
185
+ orange: "gx-Timeline-orange-o155vzhv",
186
+ amber: "gx-Timeline-amber-atnc6wm",
187
+ yellow: "gx-Timeline-yellow-y1q3p1vl",
188
+ lime: "gx-Timeline-lime-l1khc5e9",
189
+ green: "gx-Timeline-green-gob0jun",
190
+ emerald: "gx-Timeline-emerald-ecpz10x",
191
+ teal: "gx-Timeline-teal-t1arc1uv",
192
+ cyan: "gx-Timeline-cyan-c1x7dvj6",
193
+ sky: "gx-Timeline-sky-s1fx1m3c",
194
+ blue: "gx-Timeline-blue-b1gy5gqm",
195
+ indigo: "gx-Timeline-indigo-ityv4re",
196
+ violet: "gx-Timeline-violet-v1506u15",
197
+ purple: "gx-Timeline-purple-p2f8n55",
198
+ fuchsia: "gx-Timeline-fuchsia-f1bza0tc",
199
+ pink: "gx-Timeline-pink-p1vbt6lr",
200
+ rose: "gx-Timeline-rose-rjtm0e"
201
+ };
202
+ /** A vertical list of events with boxed dot or icon markers on a hairline rail. */
203
+ var Timeline = forwardRef(function Timeline({ items, size = "MEDIUM", className, style, ...rest }, ref) {
204
+ const textSize = TIMELINE_SIZE_TO_TEXT_SIZE_MAP[size];
205
+ return /* @__PURE__ */ jsx(Root, {
206
+ ...rest,
207
+ ref,
208
+ role: "list",
209
+ className: cx(TIMELINE_SIZE_TO_CSS_MAP[size], className),
210
+ style,
211
+ children: items.map((item, index) => {
212
+ const { color } = item;
213
+ const variant = item.variant ?? "SECONDARY";
214
+ const hasTime = Boolean(item.time);
215
+ return /* @__PURE__ */ jsxs(Item, {
216
+ "aria-current": item.isActive === true ? "step" : void 0,
217
+ children: [/* @__PURE__ */ jsxs(Rail, {
218
+ "aria-hidden": true,
219
+ children: [/* @__PURE__ */ jsx(Marker, {
220
+ className: color !== void 0 ? TIMELINE_COLOR_TO_CSS_MAP[color] : TIMELINE_VARIANT_TO_BORDER_CSS_MAP[variant],
221
+ children: item.icon === void 0 ? /* @__PURE__ */ jsx(Beacon, {
222
+ size: TIMELINE_SIZE_TO_BEACON_SIZE_MAP[size],
223
+ ...color !== void 0 ? { color } : { variant: TIMELINE_VARIANT_TO_BEACON_VARIANT_MAP[variant] },
224
+ isPulse: item.isActive === true
225
+ }) : /* @__PURE__ */ jsx(Icon, {
226
+ component: item.icon,
227
+ size: TIMELINE_SIZE_TO_ICON_PX_MAP[size],
228
+ variant: color !== void 0 ? IconVariant.INHERIT : TIMELINE_VARIANT_TO_ICON_VARIANT_MAP[variant]
229
+ })
230
+ }), index < items.length - 1 && /* @__PURE__ */ jsx(Connector, {})]
231
+ }), /* @__PURE__ */ jsxs(Body, { children: [
232
+ /* @__PURE__ */ jsxs(Heading, { children: [/* @__PURE__ */ jsx(Text, {
233
+ as: "span",
234
+ size: textSize,
235
+ variant: TextVariant.PRIMARY,
236
+ children: item.label
237
+ }), hasTime && (item.dateTime ? /* @__PURE__ */ jsx("time", {
238
+ dateTime: item.dateTime,
239
+ className: TIME_CSS,
240
+ children: /* @__PURE__ */ jsx(Text, {
241
+ as: "span",
242
+ size: textSize,
243
+ variant: TextVariant.SECONDARY,
244
+ isTabular: true,
245
+ children: item.time
246
+ })
247
+ }) : /* @__PURE__ */ jsx(Text, {
248
+ as: "span",
249
+ size: textSize,
250
+ variant: TextVariant.SECONDARY,
251
+ isTabular: true,
252
+ className: TIME_CSS,
253
+ children: item.time
254
+ }))] }),
255
+ Boolean(item.description) && /* @__PURE__ */ jsx(Text, {
256
+ as: "p",
257
+ size: textSize,
258
+ variant: TextVariant.SECONDARY,
259
+ children: item.description
260
+ }),
261
+ item.footer !== void 0 && item.footer !== null && /* @__PURE__ */ jsx(Footer, { children: item.footer })
262
+ ] })]
263
+ }, item.id);
264
+ })
265
+ });
266
+ });
267
+ Timeline.displayName = "Timeline";
268
+ //#endregion
269
+ export { TimelineSize, TimelineVariant, Timeline as default };
@@ -1,29 +1,53 @@
1
- import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
2
- import { ButtonProps } from "../buttons/Button";
3
- /** Severity. Sets the border tint and the default icon. */
1
+ import { type Icon as PhosphorIcon } from "@phosphor-icons/react";
2
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
3
+ /** Severity (Constitution V-A color set, subset; the same members as `AlertVariant`). */
4
4
  export declare enum ToastVariant {
5
+ /** A neutral note (the default): `border.secondary`, an info glyph in `text.secondary`. */
5
6
  PRIMARY = "PRIMARY",
7
+ /** Done: `border.success`, a check glyph. */
6
8
  SUCCESS = "SUCCESS",
9
+ /** Needs attention: `border.warning`, a warning glyph. */
7
10
  WARNING = "WARNING",
11
+ /** Failed: `border.error`, a warning-circle glyph; announced assertively. */
8
12
  ERROR = "ERROR"
9
13
  }
10
- export interface ToastProps {
11
- /** @default ToastVariant.PRIMARY */
14
+ /** The one action a toast offers. */
15
+ export interface ToastAction {
16
+ /** Button text ("Undo", "View", "Retry"). */
17
+ label: string;
18
+ /** Runs when the button is pressed. Inside the provider the toast is then dismissed. */
19
+ onClick: () => void;
20
+ }
21
+ export interface ToastProps extends AriaAttributes {
22
+ /**
23
+ * Severity: sets the hairline tint, the icon and how urgently it is announced.
24
+ * @default ToastVariant.PRIMARY
25
+ */
12
26
  variant?: ToastVariant;
13
- /** Overrides the icon the variant would pick. Pass the component, not an element. */
27
+ /** The message ("Source saved"). One short line, medium weight. */
28
+ header: string;
29
+ /** Supporting text under the header. Rendered in a `Text`, so inline `Span`, `Code` and `Link` inherit its size and color. */
30
+ description?: ReactNode;
31
+ /** Replaces the variant's default icon. Pass the component, not an element. */
14
32
  icon?: PhosphorIcon;
15
- /** Headline. A string is wrapped in `Text`; a node renders as-is. */
16
- header: string | React.ReactNode;
17
- /** Supporting line under the header. */
18
- subheader: string | React.ReactNode;
19
- /** Buttons in a row along the bottom. Each entry is full `ButtonProps`. */
20
- actions?: ButtonProps[];
21
- /** Adds a dismiss ×. `ToastProvider` supplies this — don't set it by hand. */
22
- onClose?: () => void;
33
+ /** One action button under the text ("Undo", "View"). Choosing it runs `onClick`; inside the provider it also dismisses the toast. */
34
+ action?: ToastAction;
35
+ /**
36
+ * Shows a `Spinner` in place of the icon while the work it reports runs. Inside the provider a loading toast does not time out.
37
+ * @default false
38
+ */
39
+ isLoading?: boolean;
40
+ /** Shows the × button and is called when it is pressed. The provider passes it. */
41
+ onDismiss?: () => void;
42
+ /** DOM id on the root `<div>`. */
43
+ id?: string;
44
+ /** Any `data-*` attribute, forwarded to the root `<div>`. */
45
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
46
+ /** Extra class on the root `<div>`. */
47
+ className?: string;
48
+ /** Inline style on the root `<div>`; only for setting CSS custom properties. */
49
+ style?: CSSProperties;
23
50
  }
24
- /**
25
- * The toast card itself. You rarely render this directly — call `showToast`
26
- * from `useToast()` and let `ToastProvider` mount, stack and time it out.
27
- */
28
- declare const Toast: ({ variant, icon, header, subheader, actions, onClose, }: ToastProps) => import("react").JSX.Element;
51
+ /** A toast card: severity icon, header, description, one action and a dismiss button. */
52
+ declare const Toast: import("react").ForwardRefExoticComponent<ToastProps & import("react").RefAttributes<HTMLDivElement>>;
29
53
  export default Toast;