@galaxy-io/dls 1.6.0 → 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 -27
  468. package/dist/inputs/SwitcherInput.js +0 -64
  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,38 @@
1
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
2
+ import { Orientation } from "../theme/enums.js";
3
+ export interface ButtonGroupProps extends Omit<AriaAttributes, "aria-label"> {
4
+ /**
5
+ * The buttons: `Button`, `CopyButton`, or another Button preset, all of one `size`. Falsy
6
+ * children are skipped.
7
+ */
8
+ children?: ReactNode;
9
+ /**
10
+ * Join the buttons into one segmented control: no gap, square inner corners, one hairline at
11
+ * each seam.
12
+ * @default false
13
+ */
14
+ isAttached?: boolean;
15
+ /**
16
+ * Lay the buttons out in a row or a column.
17
+ * @default Orientation.HORIZONTAL
18
+ */
19
+ orientation?: Orientation;
20
+ /**
21
+ * Stretch the group to the parent's width. In a row, the buttons share the width equally.
22
+ * @default false
23
+ */
24
+ fillWidth?: boolean;
25
+ /** Accessible name of the group, such as "Text formatting". Set it when the set has a meaning beyond its buttons' own names. */
26
+ ariaLabel?: string;
27
+ /** DOM id on the root. */
28
+ id?: string;
29
+ /** Any `data-*` attribute, forwarded to the root. */
30
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
31
+ /** Extra class on the root. */
32
+ className?: string;
33
+ /** Inline style on the root; only for setting CSS custom properties. */
34
+ style?: CSSProperties;
35
+ }
36
+ /** A set of related buttons, spaced or attached into one segmented control. */
37
+ declare const ButtonGroup: import("react").ForwardRefExoticComponent<ButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
38
+ export default ButtonGroup;
@@ -0,0 +1,68 @@
1
+ import { Orientation } from "../theme/enums.js";
2
+ /* empty css */
3
+ import { styled } from "@linaria/react";
4
+ import { forwardRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { cx } from "@linaria/core";
7
+ //#region src/buttons/ButtonGroup.tsx
8
+ /**
9
+ * Puts a set of related buttons in one row (or column) and names them as a group
10
+ * (`role="group"`). By default the buttons sit `space[8]` apart. With `isAttached` they join into
11
+ * one segmented control: no gap, square inner corners, and one shared hairline at each seam (each
12
+ * later child's leading border is removed), so only the outer corners stay round.
13
+ *
14
+ * ButtonGroup holds no value and pushes nothing into its children: each child is an ordinary
15
+ * `Button` (or a preset such as `CopyButton`) with its own `size`, `variant` and `isDisabled`. It
16
+ * adds no wrapper around a child, so every child's root element is a direct child of the group.
17
+ * The child rules are written at (0,2,0) specificity, so they win over Button's single-class root
18
+ * rules whatever the stylesheet order.
19
+ *
20
+ * Not a single choice among options (`ToggleInput`), not a toolbar with arrow keys, and not a
21
+ * split button (`Button dropdown`, Dropdown row).
22
+ */
23
+ /** Static rules. `isolation: isolate` keeps the focused child's `z-index: 1` inside the group. */
24
+ var Root = /*#__PURE__*/ styled("div")({
25
+ name: "Root",
26
+ class: "gx-ButtonGroup-r1i5m4j6",
27
+ propsAsIs: false
28
+ });
29
+ /** Row or column. In a column the buttons stretch to the widest child's width. */
30
+ var BUTTON_GROUP_ORIENTATION_TO_CSS_MAP = {
31
+ [Orientation.HORIZONTAL]: "gx-ButtonGroup-Orientation_HORIZONTAL-okrb96p",
32
+ [Orientation.VERTICAL]: "gx-ButtonGroup-Orientation_VERTICAL-o1imubde"
33
+ };
34
+ /** Not attached: a fixed gap (a different spacing is a `Flex`). */
35
+ var DETACHED_CSS = "gx-ButtonGroup-DETACHED_CSS-d1l4w5po";
36
+ /**
37
+ * Attached: every child after the first loses its leading border and leading corners, every
38
+ * child before the last loses its trailing corners, so each seam is one hairline (the previous
39
+ * child's trailing border). The focused child is lifted so its focus ring is never painted over
40
+ * by the next sibling. The `0` values and the local `z-index: 1` are literals, not scale steps.
41
+ */
42
+ var BUTTON_GROUP_ORIENTATION_TO_ATTACHED_CSS_MAP = {
43
+ [Orientation.HORIZONTAL]: "gx-ButtonGroup-Orientation_HORIZONTAL-o1a8lwt0",
44
+ [Orientation.VERTICAL]: "gx-ButtonGroup-Orientation_VERTICAL-o1p86yuh"
45
+ };
46
+ /** `fillWidth`: the group takes the parent's width. */
47
+ var FILL_WIDTH_CSS = "gx-ButtonGroup-FILL_WIDTH_CSS-f1n78ece";
48
+ /** `fillWidth` in a row: the buttons share the width equally and their labels truncate. */
49
+ var BUTTON_GROUP_ORIENTATION_TO_FILL_WIDTH_CSS_MAP = {
50
+ [Orientation.HORIZONTAL]: "gx-ButtonGroup-Orientation_HORIZONTAL-o12vzedd",
51
+ [Orientation.VERTICAL]: ""
52
+ };
53
+ /** A set of related buttons, spaced or attached into one segmented control. */
54
+ var ButtonGroup = forwardRef(function ButtonGroup({ children, isAttached = false, orientation = Orientation.HORIZONTAL, fillWidth = false, ariaLabel, id, className, style, ...rest }, ref) {
55
+ return /* @__PURE__ */ jsx(Root, {
56
+ ...rest,
57
+ ref,
58
+ id,
59
+ role: "group",
60
+ "aria-label": ariaLabel ?? rest["aria-label"],
61
+ className: cx(BUTTON_GROUP_ORIENTATION_TO_CSS_MAP[orientation], isAttached ? BUTTON_GROUP_ORIENTATION_TO_ATTACHED_CSS_MAP[orientation] : DETACHED_CSS, fillWidth && FILL_WIDTH_CSS, fillWidth && BUTTON_GROUP_ORIENTATION_TO_FILL_WIDTH_CSS_MAP[orientation], className),
62
+ style,
63
+ children
64
+ });
65
+ });
66
+ ButtonGroup.displayName = "ButtonGroup";
67
+ //#endregion
68
+ export { ButtonGroup as default };
@@ -0,0 +1,77 @@
1
+ import { type AriaAttributes, type CSSProperties, type FocusEventHandler, type MouseEvent, type MouseEventHandler } from "react";
2
+ import { ButtonSize, ButtonVariant } from "./Button.js";
3
+ /** Every CopyButton prop except the accessible-name pair (`label` / `ariaLabel`). */
4
+ export interface CopyButtonBaseProps extends AriaAttributes {
5
+ /** The text written to the clipboard on press. */
6
+ value: string;
7
+ /**
8
+ * Button mode: solid, bordered, transparent, or muted fill. Copying is never destructive, so
9
+ * `ERROR` is a type error.
10
+ * @default ButtonVariant.TERTIARY
11
+ */
12
+ variant?: Exclude<ButtonVariant, ButtonVariant.ERROR>;
13
+ /**
14
+ * Button rung: 20 / 24 / 32 / 36 / 40px tall.
15
+ * @default ButtonSize.MEDIUM
16
+ */
17
+ size?: ButtonSize;
18
+ /**
19
+ * Blocks the copy, shows Button's disabled look, and disables the hint.
20
+ * @default false
21
+ */
22
+ isDisabled?: boolean;
23
+ /**
24
+ * Stretch to the parent's width. Content stays centered.
25
+ * @default false
26
+ */
27
+ fillWidth?: boolean;
28
+ /**
29
+ * Called on press, right after the copy starts (it does not wait for the clipboard). Call
30
+ * `event.stopPropagation()` here to keep a surrounding clickable row from also firing.
31
+ */
32
+ onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
33
+ /** Focus passthrough to the button. */
34
+ onFocus?: FocusEventHandler<HTMLButtonElement>;
35
+ /** Blur passthrough to the button. */
36
+ onBlur?: FocusEventHandler<HTMLButtonElement>;
37
+ /** Pointer-enter passthrough to the button. */
38
+ onMouseEnter?: MouseEventHandler<HTMLButtonElement>;
39
+ /** Pointer-leave passthrough to the button. */
40
+ onMouseLeave?: MouseEventHandler<HTMLButtonElement>;
41
+ /** DOM id on the button. */
42
+ id?: string;
43
+ /** Any `data-*` attribute, forwarded to the button. */
44
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
45
+ /** Extra class on the button. */
46
+ className?: string;
47
+ /** Inline style on the button; only for setting CSS custom properties. */
48
+ style?: CSSProperties;
49
+ }
50
+ /** A visible label, optionally with an accessible name that starts with it. */
51
+ interface CopyButtonLabelledProps {
52
+ /**
53
+ * Visible text after the copy icon ("Copy link"). It does not change to "Copied"; the tooltip
54
+ * confirms. Omit it for an icon-only button and set `ariaLabel` instead.
55
+ */
56
+ label: string;
57
+ /** Accessible name. With a `label`, it must start with the visible label text. */
58
+ ariaLabel?: string;
59
+ }
60
+ /** No visible label: the accessible name is required. */
61
+ interface CopyButtonUnlabelledProps {
62
+ /**
63
+ * Visible text after the copy icon ("Copy link"). It does not change to "Copied"; the tooltip
64
+ * confirms. Omit it for an icon-only button and set `ariaLabel` instead.
65
+ */
66
+ label?: undefined;
67
+ /**
68
+ * Accessible name, required without a `label`; it also fills the hover hint. Name what is
69
+ * copied ("Copy API key").
70
+ */
71
+ ariaLabel: string;
72
+ }
73
+ /** CopyButton props. Without a `label`, `ariaLabel` is required by the type. */
74
+ export type CopyButtonProps = CopyButtonBaseProps & (CopyButtonLabelledProps | CopyButtonUnlabelledProps);
75
+ /** Copies `value` on press, swaps the icon to a check, and confirms with "Copied". */
76
+ declare const CopyButton: import("react").ForwardRefExoticComponent<CopyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
77
+ export default CopyButton;
@@ -0,0 +1,65 @@
1
+ import VisuallyHidden from "../a11y/VisuallyHidden.js";
2
+ import Portal from "../layout/Portal.js";
3
+ import Tooltip from "../tooltip/Tooltip.js";
4
+ import Button, { ButtonSize, ButtonVariant } from "./Button.js";
5
+ import { useClipboard } from "../hooks/useClipboard.js";
6
+ import { forwardRef, useState } from "react";
7
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { CheckIcon, CopyIcon } from "@phosphor-icons/react";
9
+ //#region src/buttons/CopyButton.tsx
10
+ /**
11
+ * Copies one string to the clipboard when pressed and confirms it: the copy icon turns into a
12
+ * check and a "Copied" tooltip shows for the `useClipboard` timeout (1.5s), while a polite live
13
+ * region announces "Copied" to screen readers. When the clipboard API is missing or refuses,
14
+ * nothing changes: CopyButton never claims a copy that did not happen.
15
+ *
16
+ * A preset over `Button` (as `Bold` and `Code` are over `Span`): it renders a real `Button` with
17
+ * the icon, the click handler and a controlled `Tooltip` filled in, and takes Button's own
18
+ * `ButtonSize` and `ButtonVariant` (import them from `buttons/Button`). It has no styles of its
19
+ * own. The tooltip bubble and the live region render through `Portal`, so CopyButton's only DOM
20
+ * node in place is the `<button>` (a valid `ButtonGroup` child).
21
+ *
22
+ * A read-only field with a copy button is `CopyInput`, which composes `TextInput` and this.
23
+ */
24
+ /** The confirmation text in the tooltip and the live region (fixed English, as Button's "(opens in a new tab)"). */
25
+ var COPIED_LABEL = "Copied";
26
+ /** Copies `value` on press, swaps the icon to a check, and confirms with "Copied". */
27
+ var CopyButton = forwardRef(function CopyButton(props, ref) {
28
+ const { value, label, ariaLabel, variant = ButtonVariant.TERTIARY, size = ButtonSize.MEDIUM, isDisabled = false, fillWidth = false, onClick, ...rest } = props;
29
+ const { copy, hasCopied } = useClipboard();
30
+ const [isHintOpen, setIsHintOpen] = useState(false);
31
+ const nameProps = props.label !== void 0 ? {
32
+ label: props.label,
33
+ ...props.ariaLabel === void 0 ? {} : { ariaLabel: props.ariaLabel }
34
+ } : { ariaLabel: props.ariaLabel };
35
+ const handleClick = (event) => {
36
+ copy(value);
37
+ onClick?.(event);
38
+ };
39
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Tooltip, {
40
+ body: hasCopied ? COPIED_LABEL : label === void 0 ? ariaLabel : "",
41
+ isOpen: hasCopied || isHintOpen,
42
+ onOpenChange: setIsHintOpen,
43
+ isDisabled,
44
+ "aria-hidden": true,
45
+ children: /* @__PURE__ */ jsx(Button, {
46
+ ...rest,
47
+ ...nameProps,
48
+ ref,
49
+ icon: hasCopied ? CheckIcon : CopyIcon,
50
+ variant,
51
+ size,
52
+ isDisabled,
53
+ fillWidth,
54
+ type: "button",
55
+ onClick: handleClick
56
+ })
57
+ }), /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(VisuallyHidden, {
58
+ "aria-live": "polite",
59
+ "aria-atomic": "true",
60
+ children: hasCopied ? COPIED_LABEL : ""
61
+ }) })] });
62
+ });
63
+ CopyButton.displayName = "CopyButton";
64
+ //#endregion
65
+ export { CopyButton as default };
@@ -0,0 +1,49 @@
1
+ /**
2
+ * AreaChart plots series as filled areas over a categorical x-axis: volume over time, or, with
3
+ * `isStacked`, how a total splits into parts over time. Each area is a flat, translucent fill
4
+ * with its line on top, colored from `ChartPalette`. A `null` reading breaks
5
+ * that area's top edge; in a stack it contributes 0, so the total stays a total.
6
+ *
7
+ * A preset over LineChart's engine (`LineChartRoot`): hover, keyboard, tooltip, cursor,
8
+ * selection, gaps and `ChartGroupProvider` sync behave exactly as on LineChart. The chart fills
9
+ * its parent (2:1 when the parent has no definite height). Needs the optional peers `d3-scale`
10
+ * and `d3-shape`.
11
+ */
12
+ import { type ReactElement, type RefAttributes } from "react";
13
+ import { type LineChartPointDatum } from "./LineChart.js";
14
+ import { type BaseCartesianChartProps, type ChartCurve, type ChartSeriesStyles } from "./types.js";
15
+ /** One area. Same shape as a line, without the dash (an area is never a forecast). */
16
+ export interface AreaChartAreaDatum<TMetric extends string> {
17
+ /** Which metric this area draws; a key of `series`. */
18
+ metric: TMetric;
19
+ /** Points in category order; `y: null` is a gap. */
20
+ points: LineChartPointDatum[];
21
+ }
22
+ /** AreaChart's own props; the shared chart props follow (`BaseCartesianChartProps`). */
23
+ interface AreaChartOwnProps<TMetric extends string> {
24
+ /** Label and color for every metric, keyed by metric. `TMetric` is inferred from these keys only. */
25
+ series: ChartSeriesStyles<TMetric>;
26
+ /** One entry per area, drawn in array order (the first is at the back, or at the bottom of the stack). Areas may be sparse. */
27
+ areas: AreaChartAreaDatum<NoInfer<TMetric>>[];
28
+ /** Category order along the x-axis. Pass it whenever areas are sparse. @default the union of every area's `x`, first-seen order */
29
+ categories?: string[];
30
+ /**
31
+ * How the top edge of each area is drawn.
32
+ * @default ChartCurve.SMOOTH
33
+ */
34
+ curve?: ChartCurve;
35
+ /**
36
+ * Stack the areas so the top edge is the running total; off, areas overlap from the zero baseline.
37
+ * @default false
38
+ */
39
+ isStacked?: boolean;
40
+ }
41
+ export type AreaChartProps<TMetric extends string> = AreaChartOwnProps<TMetric> & BaseCartesianChartProps<NoInfer<TMetric>>;
42
+ /**
43
+ * The public, generic call signature (`TMetric` inferred from `series`). Never called: it only
44
+ * types the default export. An arrow function so react-docgen-typescript reads the props.
45
+ */
46
+ declare const AREA_CHART_SIGNATURE: <TMetric extends string>(_props: AreaChartProps<TMetric> & RefAttributes<HTMLDivElement>) => ReactElement | null;
47
+ /** Filled series over a categorical x-axis, overlapping or stacked. */
48
+ declare const AreaChart: typeof AREA_CHART_SIGNATURE;
49
+ export default AreaChart;
@@ -0,0 +1,31 @@
1
+ import { ChartKind } from "./types.js";
2
+ import { LineChartFill, LineChartRoot } from "./LineChart.js";
3
+ import { forwardRef } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/charts/AreaChart.tsx
6
+ /**
7
+ * AreaChart plots series as filled areas over a categorical x-axis: volume over time, or, with
8
+ * `isStacked`, how a total splits into parts over time. Each area is a flat, translucent fill
9
+ * with its line on top, colored from `ChartPalette`. A `null` reading breaks
10
+ * that area's top edge; in a stack it contributes 0, so the total stays a total.
11
+ *
12
+ * A preset over LineChart's engine (`LineChartRoot`): hover, keyboard, tooltip, cursor,
13
+ * selection, gaps and `ChartGroupProvider` sync behave exactly as on LineChart. The chart fills
14
+ * its parent (2:1 when the parent has no definite height). Needs the optional peers `d3-scale`
15
+ * and `d3-shape`.
16
+ */
17
+ var AreaChartInner = forwardRef(function AreaChart({ areas, isStacked = false, ...rest }, ref) {
18
+ return /* @__PURE__ */ jsx(LineChartRoot, {
19
+ ...rest,
20
+ ref,
21
+ lines: areas,
22
+ fill: LineChartFill.AREA,
23
+ isStacked,
24
+ kind: ChartKind.AREA
25
+ });
26
+ });
27
+ AreaChartInner.displayName = "AreaChart";
28
+ /** Filled series over a categorical x-axis, overlapping or stacked. */
29
+ var AreaChart = AreaChartInner;
30
+ //#endregion
31
+ export { AreaChart as default };
@@ -1,77 +1,64 @@
1
- import { BarChartNormalization } from "./types";
2
- import type { BarChartGroupDatum, BaseCartesianChartProps, ChartSelectionEvent, ChartSelectionInput, ChartSeriesStyles, ChartSize } from "./types";
3
- export type BarChartProps<TMetric extends string, TComponentKey extends string = string> = BaseCartesianChartProps & ChartSize & {
4
- /**
5
- * Presentation for every metric, keyed by metric.
6
- *
7
- * `TMetric` is inferred from these keys and from nowhere else — every data
8
- * prop below wraps it in `NoInfer` — which is what turns a mistyped metric
9
- * into a compile error instead of a silently missing bar.
10
- */
1
+ import { type ReactElement, type RefAttributes } from "react";
2
+ import type { Hex } from "../theme/tokens/types.js";
3
+ import { type BaseCartesianChartProps, type ChartPalette, type ChartSeriesStyles } from "./types.js";
4
+ /** How bar values are scaled before drawing. Not a grouped/stacked switch: that comes from the data. */
5
+ export declare enum BarChartNormalization {
6
+ /** Plot raw values. The default. */
7
+ NONE = "NONE",
8
+ /** Scale each bar's components to fill the axis: a 100% stacked chart. */
9
+ PERCENT = "PERCENT"
10
+ }
11
+ /** One stacked segment of a bar. A bar with a single component is a plain, unstacked bar. */
12
+ export interface BarChartComponentDatum<TComponentKey extends string = string> {
13
+ /** Identifies this segment; unique within its bar. Names it in the legend when bars are stacked. */
14
+ key: TComponentKey;
15
+ /** Name shown in the tooltip and, when bars are stacked, the legend. */
16
+ label: string;
17
+ /** Segment magnitude. Negative values stack below the zero baseline. */
18
+ value: number;
19
+ /** Palette slot; defaults to the component's position in the automatic order. */
20
+ color?: ChartPalette;
21
+ /** Raw color. Discouraged: it does not follow the theme. Wins over `color`. */
22
+ hex?: Hex;
23
+ }
24
+ /** One bar in a group: a stack of components for one metric. */
25
+ export interface BarChartBarDatum<TMetric extends string, TComponentKey extends string = string> {
26
+ /** Which metric this bar draws; a key of `series`. */
27
+ metric: TMetric;
28
+ /** Segments, stacked in array order outward from the baseline. */
29
+ components: BarChartComponentDatum<TComponentKey>[];
30
+ }
31
+ /** One category on the x-axis, holding one bar per metric. */
32
+ export interface BarChartGroupDatum<TMetric extends string, TComponentKey extends string = string> {
33
+ /** Category label under the group; also the raw key that selection and sync match on. */
34
+ label: string;
35
+ /** Bars, left to right in array order. */
36
+ bars: BarChartBarDatum<TMetric, TComponentKey>[];
37
+ }
38
+ /** BarChart's own props; the shared chart props follow (`BaseCartesianChartProps`). */
39
+ interface BarChartOwnProps<TMetric extends string, TComponentKey extends string> {
40
+ /** Label and color for every metric, keyed by metric. `TMetric` is inferred from these keys only. */
11
41
  series: ChartSeriesStyles<TMetric>;
12
- /** Categories along the x-axis, left to right. */
42
+ /** Categories left to right; each holds one bar per metric, each bar a stack of components. */
13
43
  groups: BarChartGroupDatum<NoInfer<TMetric>, NoInfer<TComponentKey>>[];
14
- /** @default BarChartNormalization.NONE */
44
+ /**
45
+ * `PERCENT` scales every bar to fill the axis (a 100% stacked chart); the tooltip still shows raw values.
46
+ * @default BarChartNormalization.NONE
47
+ */
15
48
  normalization?: BarChartNormalization;
16
- /** Tint the active category's full band, marking the hover position even
17
- * where there is no data. @default true */
18
- showCursor?: boolean;
19
49
  /**
20
- * Floor, in px, for how short a *stack segment* may render — so a series
21
- * that is a rounding error next to its neighbours still leaves a visible
22
- * mark instead of disappearing. `0`, the default, draws segments at their
23
- * true size.
24
- *
25
- * Opt-in because it is a lie, and a small one is worth being deliberate
26
- * about: the pixels a sliver gains are taken from the other segments in the
27
- * same stack, in proportion to how much slack each has. The stack's total
28
- * height, its cap position and every value in the tooltip stay exactly
29
- * right — only the split between segments shifts, by at most a couple of
30
- * pixels per rescued sliver. Reach for it when presence/absence is the
31
- * thing being read (an error series, a small cohort); leave it off when the
32
- * chart is being read for proportion.
33
- *
34
- * Ignored on unstacked bars, which already have a 2px floor — there is no
35
- * neighbour to take from, so it costs nothing there. Ignored, too, when a
36
- * stack is so crowded that honouring it would pin every segment to the
37
- * minimum: at that point the bar would stop describing its data, and the
38
- * chart is better off saying so. Fold the tail into an "Other" component
39
- * instead.
40
- *
50
+ * Smallest rendered height, in px, of a stack segment, taken from its neighbors so the stack's total stays exact. Use it when presence matters more than proportion.
41
51
  * @default 0
42
52
  */
43
53
  minSegmentLength?: number;
44
- /**
45
- * Fires when a bar segment or a category is clicked. Supplying it is what
46
- * makes the plot clickable.
47
- *
48
- * A click resolves to the finest thing under the pointer: a segment reports
49
- * its own key and value, while the gutters, the plot above a short bar and
50
- * the hairline seams between segments fall back to the category alone.
51
- *
52
- * `seriesKey` follows the same rule the legend and the mute axis do —
53
- * components when the chart is stacked, metrics when it is not — so all
54
- * three always name the same dimension.
55
- */
56
- onSelect?: (event: ChartSelectionEvent<NoInfer<TMetric> | NoInfer<TComponentKey>>) => void;
57
- /**
58
- * Which marks read as selected. Matching bars hold full strength, the rest
59
- * recede, and each selected category takes a persistent band — the hover
60
- * tint one step firmer, held rather than previewed.
61
- *
62
- * Presentational and never written by the chart: the state belongs to
63
- * whatever the selection is filtering, so the two cannot drift apart. Feed
64
- * an {@link onSelect} event straight back, or describe a broader set —
65
- * `{ seriesKey: "failed" }` selects every failure on the axis.
66
- */
67
- selection?: ChartSelectionInput<NoInfer<TMetric> | NoInfer<TComponentKey>>;
68
- };
54
+ }
55
+ export type BarChartProps<TMetric extends string, TComponentKey extends string = string> = BarChartOwnProps<TMetric, TComponentKey> & BaseCartesianChartProps<NoInfer<TMetric> | NoInfer<TComponentKey>>;
69
56
  /**
70
- * Bar chart with a three-level data model.
71
- *
72
- * Grouping and stacking are properties of the data rather than a mode: several
73
- * `bars` in a group render side by side, several `components` in a bar stack,
74
- * and a chart doing both at once needs no extra configuration.
57
+ * The public, generic call signature (`TMetric` inferred from `series`; `TComponentKey` given
58
+ * explicitly to type component keys). Never called: it only types the default export. An arrow
59
+ * function so react-docgen-typescript reads the props.
75
60
  */
76
- declare const BarChart: <TMetric extends string, TComponentKey extends string = string>({ series, groups, width, height, fillWidth, fillHeight, aspectRatio, margin, normalization, showCursor, minSegmentLength, onSelect, selection, valueUnit, valueFormatter, labelFormatter, valueDomain, categoryLabelMode, categoryAxisTitle, valueAxisTitle, showGrid, showLegend, legendMaxItems, noTooltip, tooltipRenderer, tooltipMaxItems, isLoading, contentWhenEmpty, ariaLabel, ariaDescription, }: BarChartProps<TMetric, TComponentKey>) => import("react").JSX.Element;
61
+ declare const BAR_CHART_SIGNATURE: <TMetric extends string, TComponentKey extends string = string>(_props: BarChartProps<TMetric, TComponentKey> & RefAttributes<HTMLDivElement>) => ReactElement | null;
62
+ /** Vertical bars over a categorical x-axis: grouped, stacked, or both. */
63
+ declare const BarChart: typeof BAR_CHART_SIGNATURE;
77
64
  export default BarChart;