@galaxy-io/dls 1.6.1 → 2.0.1

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 (540) 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 +160 -124
  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 +33 -20
  46. package/dist/charts/ChartFrame.d.ts +71 -116
  47. package/dist/charts/ChartFrame.js +306 -97
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +37 -48
  51. package/dist/charts/ChartLegend.js +243 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +34 -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 +307 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +174 -121
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +159 -136
  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/chartSelection.d.ts +15 -0
  79. package/dist/charts/chartSelection.js +22 -0
  80. package/dist/charts/constants.d.ts +100 -256
  81. package/dist/charts/constants.js +109 -275
  82. package/dist/charts/heatmapGeometry.d.ts +95 -0
  83. package/dist/charts/heatmapGeometry.js +155 -0
  84. package/dist/charts/lineChartGeometry.d.ts +108 -58
  85. package/dist/charts/lineChartGeometry.js +120 -78
  86. package/dist/charts/pieChartGeometry.d.ts +66 -40
  87. package/dist/charts/pieChartGeometry.js +68 -38
  88. package/dist/charts/types.d.ts +206 -466
  89. package/dist/charts/types.js +55 -144
  90. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  91. package/dist/charts/useCartesianChartLayout.js +47 -32
  92. package/dist/charts/useChartDimensions.d.ts +19 -40
  93. package/dist/charts/useChartDimensions.js +40 -56
  94. package/dist/charts/useChartFormatters.d.ts +6 -15
  95. package/dist/charts/useChartFormatters.js +4 -9
  96. package/dist/charts/useChartInteraction.d.ts +69 -116
  97. package/dist/charts/useChartInteraction.js +148 -78
  98. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  99. package/dist/charts/useChartTooltipPosition.js +14 -5
  100. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  101. package/dist/charts/useSeriesColorResolver.js +19 -12
  102. package/dist/chips/Chip.d.ts +155 -44
  103. package/dist/chips/Chip.js +329 -155
  104. package/dist/chips/ChipGroup.d.ts +53 -0
  105. package/dist/chips/ChipGroup.js +98 -0
  106. package/dist/drawer/Drawer.d.ts +83 -17
  107. package/dist/drawer/Drawer.js +399 -65
  108. package/dist/dropdown/Dropdown.d.ts +80 -63
  109. package/dist/dropdown/Dropdown.js +127 -129
  110. package/dist/editor/CodeEditor.d.ts +119 -40
  111. package/dist/editor/CodeEditor.js +490 -400
  112. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  113. package/dist/editor/CodeEditorReactWidget.js +28 -21
  114. package/dist/feedback/Alert.d.ts +49 -0
  115. package/dist/feedback/Alert.js +172 -0
  116. package/dist/feedback/EmptyState.d.ts +39 -0
  117. package/dist/feedback/EmptyState.js +109 -0
  118. package/dist/feedback/ProgressBar.d.ts +125 -0
  119. package/dist/feedback/ProgressBar.js +183 -0
  120. package/dist/feedback/ProgressCircle.d.ts +99 -0
  121. package/dist/feedback/ProgressCircle.js +187 -0
  122. package/dist/feedback/Skeleton.d.ts +69 -0
  123. package/dist/feedback/Skeleton.js +130 -0
  124. package/dist/feedback/Spinner.d.ts +63 -0
  125. package/dist/feedback/Spinner.js +141 -0
  126. package/dist/fonts.css +70 -0
  127. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  128. package/dist/hooks/internal/useIsClient.js +14 -0
  129. package/dist/hooks/useClipboard.d.ts +19 -0
  130. package/dist/hooks/useClipboard.js +45 -0
  131. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  132. package/dist/hooks/useControlledOpenState.js +19 -0
  133. package/dist/hooks/useControlledState.d.ts +19 -0
  134. package/dist/hooks/useControlledState.js +22 -0
  135. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  136. package/dist/hooks/useDebouncedValue.js +33 -0
  137. package/dist/hooks/useDisclosure.d.ts +26 -0
  138. package/dist/hooks/useDisclosure.js +36 -0
  139. package/dist/hooks/useDismiss.d.ts +23 -27
  140. package/dist/hooks/useDismiss.js +39 -27
  141. package/dist/hooks/useElementClientSize.d.ts +10 -10
  142. package/dist/hooks/useElementClientSize.js +8 -11
  143. package/dist/hooks/useElementWidth.d.ts +6 -13
  144. package/dist/hooks/useElementWidth.js +6 -14
  145. package/dist/hooks/useField.d.ts +47 -0
  146. package/dist/hooks/useField.js +40 -0
  147. package/dist/hooks/useHotkey.d.ts +77 -0
  148. package/dist/hooks/useHotkey.js +246 -0
  149. package/dist/hooks/useIsMac.d.ts +12 -0
  150. package/dist/hooks/useIsMac.js +27 -0
  151. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  152. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  153. package/dist/hooks/useLocalStorage.d.ts +28 -0
  154. package/dist/hooks/useLocalStorage.js +145 -0
  155. package/dist/hooks/useMediaQuery.d.ts +11 -0
  156. package/dist/hooks/useMediaQuery.js +23 -0
  157. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  158. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  159. package/dist/hooks/useResize.d.ts +42 -62
  160. package/dist/hooks/useResize.js +43 -31
  161. package/dist/icons/Icon.d.ts +64 -37
  162. package/dist/icons/Icon.js +96 -37
  163. package/dist/icons/internal/IconSlot.d.ts +10 -0
  164. package/dist/icons/internal/IconSlot.js +32 -0
  165. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  166. package/dist/inputs/CheckboxGroup.js +183 -0
  167. package/dist/inputs/CheckboxInput.d.ts +98 -28
  168. package/dist/inputs/CheckboxInput.js +218 -88
  169. package/dist/inputs/ColorInput.d.ts +115 -29
  170. package/dist/inputs/ColorInput.js +748 -326
  171. package/dist/inputs/CopyInput.d.ts +49 -20
  172. package/dist/inputs/CopyInput.js +57 -49
  173. package/dist/inputs/CronInput.d.ts +94 -0
  174. package/dist/inputs/CronInput.js +618 -0
  175. package/dist/inputs/DateInput.d.ts +175 -28
  176. package/dist/inputs/DateInput.js +1109 -451
  177. package/dist/inputs/DurationInput.d.ts +101 -0
  178. package/dist/inputs/DurationInput.js +441 -0
  179. package/dist/inputs/Field.d.ts +75 -0
  180. package/dist/inputs/Field.js +247 -0
  181. package/dist/inputs/Fieldset.d.ts +53 -0
  182. package/dist/inputs/Fieldset.js +149 -0
  183. package/dist/inputs/FileInput.d.ts +110 -0
  184. package/dist/inputs/FileInput.js +476 -0
  185. package/dist/inputs/Input.d.ts +148 -187
  186. package/dist/inputs/Input.js +339 -259
  187. package/dist/inputs/KeyValueInput.d.ts +120 -0
  188. package/dist/inputs/KeyValueInput.js +383 -0
  189. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  190. package/dist/inputs/MultiSelectInput.js +175 -559
  191. package/dist/inputs/NumberInput.d.ts +65 -9
  192. package/dist/inputs/NumberInput.js +197 -40
  193. package/dist/inputs/PasswordInput.d.ts +17 -12
  194. package/dist/inputs/PasswordInput.js +33 -33
  195. package/dist/inputs/PinInput.d.ts +117 -0
  196. package/dist/inputs/PinInput.js +364 -0
  197. package/dist/inputs/RadioGroup.d.ts +115 -0
  198. package/dist/inputs/RadioGroup.js +179 -0
  199. package/dist/inputs/RadioInput.d.ts +87 -24
  200. package/dist/inputs/RadioInput.js +182 -95
  201. package/dist/inputs/SearchInput.d.ts +66 -0
  202. package/dist/inputs/SearchInput.js +156 -0
  203. package/dist/inputs/SelectInput.d.ts +195 -55
  204. package/dist/inputs/SelectInput.js +1308 -446
  205. package/dist/inputs/SliderInput.d.ts +150 -30
  206. package/dist/inputs/SliderInput.js +441 -186
  207. package/dist/inputs/SwitchInput.d.ts +109 -0
  208. package/dist/inputs/SwitchInput.js +248 -0
  209. package/dist/inputs/TagInput.d.ts +117 -0
  210. package/dist/inputs/TagInput.js +408 -0
  211. package/dist/inputs/TextAreaInput.d.ts +146 -44
  212. package/dist/inputs/TextAreaInput.js +298 -198
  213. package/dist/inputs/TextInput.d.ts +4 -13
  214. package/dist/inputs/TextInput.js +13 -48
  215. package/dist/inputs/ToggleInput.d.ts +120 -22
  216. package/dist/inputs/ToggleInput.js +262 -116
  217. package/dist/inputs/internal/bareField.d.ts +18 -0
  218. package/dist/inputs/internal/bareField.js +38 -0
  219. package/dist/inputs/internal/devWarn.d.ts +7 -0
  220. package/dist/inputs/internal/devWarn.js +30 -0
  221. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  222. package/dist/inputs/internal/fieldFrame.js +64 -0
  223. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  224. package/dist/inputs/internal/fieldWiring.js +38 -0
  225. package/dist/inputs/internal/innerButton.d.ts +2 -0
  226. package/dist/inputs/internal/innerButton.js +24 -0
  227. package/dist/inputs/internal/ownField.d.ts +45 -0
  228. package/dist/inputs/internal/ownField.js +58 -0
  229. package/dist/inputs/internal/predicates.d.ts +9 -0
  230. package/dist/inputs/internal/predicates.js +11 -0
  231. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  232. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  233. package/dist/json/JsonViewer.d.ts +62 -0
  234. package/dist/json/JsonViewer.js +483 -0
  235. package/dist/layout/Box.d.ts +87 -0
  236. package/dist/layout/Box.js +109 -0
  237. package/dist/layout/Divider.d.ts +25 -0
  238. package/dist/layout/Divider.js +70 -0
  239. package/dist/layout/Flex.d.ts +139 -0
  240. package/dist/layout/Flex.js +165 -0
  241. package/dist/layout/FlexItem.d.ts +72 -0
  242. package/dist/layout/FlexItem.js +84 -0
  243. package/dist/layout/Grid.d.ts +140 -0
  244. package/dist/layout/Grid.js +178 -0
  245. package/dist/layout/Portal.d.ts +29 -0
  246. package/dist/layout/Portal.js +27 -0
  247. package/dist/layout/ResizablePanels.d.ts +88 -0
  248. package/dist/layout/ResizablePanels.js +198 -0
  249. package/dist/layout/ResizeHandle.d.ts +48 -0
  250. package/dist/layout/ResizeHandle.js +143 -0
  251. package/dist/layout/ScrollArea.d.ts +30 -0
  252. package/dist/layout/ScrollArea.js +138 -0
  253. package/dist/links/Link.d.ts +101 -1
  254. package/dist/links/Link.js +166 -4
  255. package/dist/lists/BulletedList.d.ts +25 -7
  256. package/dist/lists/BulletedList.js +72 -27
  257. package/dist/lists/DescriptionList.d.ts +91 -0
  258. package/dist/lists/DescriptionList.js +147 -0
  259. package/dist/menu/ContextMenu.d.ts +64 -0
  260. package/dist/menu/ContextMenu.js +34 -0
  261. package/dist/menu/Menu.d.ts +280 -0
  262. package/dist/menu/Menu.js +1003 -0
  263. package/dist/modal/ConfirmDialog.d.ts +55 -0
  264. package/dist/modal/ConfirmDialog.js +151 -0
  265. package/dist/modal/Modal.d.ts +64 -14
  266. package/dist/modal/Modal.js +189 -48
  267. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  268. package/dist/navigation/Breadcrumbs.js +243 -0
  269. package/dist/navigation/CommandPalette.d.ts +83 -0
  270. package/dist/navigation/CommandPalette.js +509 -0
  271. package/dist/navigation/Pagination.d.ts +87 -0
  272. package/dist/navigation/Pagination.js +300 -0
  273. package/dist/navigation/SidebarNav.d.ts +107 -0
  274. package/dist/navigation/SidebarNav.js +341 -0
  275. package/dist/navigation/Stepper.d.ts +52 -0
  276. package/dist/navigation/Stepper.js +207 -0
  277. package/dist/navigation/Tabs.d.ts +113 -0
  278. package/dist/navigation/Tabs.js +543 -0
  279. package/dist/navigation/Topbar.d.ts +20 -0
  280. package/dist/navigation/Topbar.js +62 -0
  281. package/dist/overlay/OverlayProvider.d.ts +28 -32
  282. package/dist/overlay/OverlayProvider.js +42 -93
  283. package/dist/overlay/useOverlay.d.ts +88 -12
  284. package/dist/overlay/useOverlay.js +220 -43
  285. package/dist/overlays/Popover.d.ts +114 -0
  286. package/dist/overlays/Popover.js +389 -0
  287. package/dist/shapes/Circle.d.ts +84 -8
  288. package/dist/shapes/Circle.js +122 -20
  289. package/dist/shapes/Square.d.ts +84 -8
  290. package/dist/shapes/Square.js +123 -20
  291. package/dist/styles/mixins.d.ts +35 -0
  292. package/dist/styles/mixins.js +60 -0
  293. package/dist/styles.css +1 -202
  294. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  295. package/dist/table/InfiniteSpreadsheet.js +762 -225
  296. package/dist/table/InfiniteTable.d.ts +116 -14
  297. package/dist/table/InfiniteTable.js +287 -429
  298. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  299. package/dist/table/SpreadsheetCellEditor.js +163 -84
  300. package/dist/table/TableCore.d.ts +252 -0
  301. package/dist/table/TableCore.js +1082 -0
  302. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  303. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  304. package/dist/table/types.d.ts +66 -244
  305. package/dist/table/types.js +0 -51
  306. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  307. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  308. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  309. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  310. package/dist/table/useTableColumnLayout.d.ts +90 -25
  311. package/dist/table/useTableColumnLayout.js +255 -50
  312. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  313. package/dist/table/useTableKeyboardNavigation.js +95 -71
  314. package/dist/table/useTableRowSelection.d.ts +24 -25
  315. package/dist/table/useTableRowSelection.js +57 -84
  316. package/dist/table/useTableVirtualizer.d.ts +20 -0
  317. package/dist/table/useTableVirtualizer.js +48 -0
  318. package/dist/text/Bold.d.ts +5 -6
  319. package/dist/text/Bold.js +16 -15
  320. package/dist/text/Code.d.ts +5 -6
  321. package/dist/text/Code.js +16 -25
  322. package/dist/text/CodeBlock.d.ts +77 -0
  323. package/dist/text/CodeBlock.js +373 -0
  324. package/dist/text/EditableText.d.ts +55 -15
  325. package/dist/text/EditableText.js +153 -135
  326. package/dist/text/Ellipsis.d.ts +34 -8
  327. package/dist/text/Ellipsis.js +55 -23
  328. package/dist/text/Kbd.d.ts +72 -0
  329. package/dist/text/Kbd.js +284 -0
  330. package/dist/text/MarkdownText.d.ts +27 -10
  331. package/dist/text/MarkdownText.js +317 -300
  332. package/dist/text/RequiredMarker.d.ts +17 -5
  333. package/dist/text/RequiredMarker.js +34 -36
  334. package/dist/text/Selectable.d.ts +5 -6
  335. package/dist/text/Selectable.js +16 -13
  336. package/dist/text/Span.d.ts +82 -0
  337. package/dist/text/Span.js +115 -0
  338. package/dist/text/Text.d.ts +128 -41
  339. package/dist/text/Text.js +209 -76
  340. package/dist/theme/GalaxyProvider.d.ts +75 -0
  341. package/dist/theme/GalaxyProvider.js +223 -0
  342. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  343. package/dist/theme/ThemeSwitcher.js +94 -0
  344. package/dist/theme/enums.d.ts +118 -0
  345. package/dist/theme/enums.js +144 -0
  346. package/dist/theme/tokens/dark.d.ts +2 -0
  347. package/dist/theme/tokens/dark.js +275 -0
  348. package/dist/theme/tokens/generate.d.ts +15 -0
  349. package/dist/theme/tokens/generate.js +47 -0
  350. package/dist/theme/tokens/light.d.ts +2 -0
  351. package/dist/theme/tokens/light.js +274 -0
  352. package/dist/theme/tokens/palette.d.ts +14 -0
  353. package/dist/theme/tokens/palette.js +153 -0
  354. package/dist/theme/tokens/scales.d.ts +26 -0
  355. package/dist/theme/tokens/scales.js +154 -0
  356. package/dist/theme/tokens/t.d.ts +3 -0
  357. package/dist/theme/tokens/t.js +25 -0
  358. package/dist/theme/tokens/types.d.ts +189 -0
  359. package/dist/theme/tokens/types.js +0 -0
  360. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  361. package/dist/theme/useGalaxyTheme.js +36 -0
  362. package/dist/theme/useInverseScope.d.ts +18 -0
  363. package/dist/theme/useInverseScope.js +33 -0
  364. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  365. package/dist/three/GalaxyLogomark3D.js +134 -0
  366. package/dist/three/assets/galaxy-logomark.js +4 -0
  367. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  368. package/dist/three/galaxyLogomark3DScene.js +165 -0
  369. package/dist/timeline/Timeline.d.ts +120 -0
  370. package/dist/timeline/Timeline.js +301 -0
  371. package/dist/toast/Toast.d.ts +43 -19
  372. package/dist/toast/Toast.js +130 -89
  373. package/dist/toast/ToastProvider.d.ts +23 -23
  374. package/dist/toast/ToastProvider.js +298 -101
  375. package/dist/toast/ToastViewport.d.ts +12 -0
  376. package/dist/toast/ToastViewport.js +210 -0
  377. package/dist/toast/useToast.d.ts +139 -5
  378. package/dist/toast/useToast.js +15 -13
  379. package/dist/tokens.css +654 -0
  380. package/dist/tooltip/Tooltip.d.ts +64 -44
  381. package/dist/tooltip/Tooltip.js +280 -73
  382. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  383. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  384. package/dist/transform/Fade.d.ts +33 -11
  385. package/dist/transform/Fade.js +71 -19
  386. package/dist/transform/Flasher.d.ts +25 -0
  387. package/dist/transform/Flasher.js +39 -0
  388. package/dist/transform/Rotate.d.ts +24 -12
  389. package/dist/transform/Rotate.js +36 -22
  390. package/dist/transform/ScaleFade.d.ts +36 -11
  391. package/dist/transform/ScaleFade.js +86 -28
  392. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  393. package/dist/transform/internal/CollapseMotion.js +65 -0
  394. package/dist/tree/Tree.d.ts +85 -0
  395. package/dist/tree/Tree.js +387 -0
  396. package/dist/tree/treeRow.d.ts +39 -0
  397. package/dist/tree/treeRow.js +75 -0
  398. package/dist/utils/colors.d.ts +46 -13
  399. package/dist/utils/colors.js +92 -34
  400. package/dist/utils/css.d.ts +23 -0
  401. package/dist/utils/css.js +30 -0
  402. package/dist/utils/format.d.ts +58 -0
  403. package/dist/utils/format.js +220 -0
  404. package/dist/vite/index.d.ts +16 -0
  405. package/dist/vite/index.js +52 -0
  406. package/dist/widget/Widget.d.ts +164 -48
  407. package/dist/widget/Widget.js +335 -96
  408. package/dist/widget/WidgetGroup.d.ts +36 -0
  409. package/dist/widget/WidgetGroup.js +103 -0
  410. package/package.json +855 -157
  411. package/dist/accordion/Accordion.d.ts +0 -54
  412. package/dist/accordion/Accordion.js +0 -183
  413. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  415. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  416. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  417. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  419. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  420. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  421. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  423. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  424. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  425. package/dist/assets/models/galaxy-animation.js +0 -136666
  426. package/dist/assets/models/galaxy-logomark.js +0 -4
  427. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  428. package/dist/avatar/AvatarShimmer.js +0 -22
  429. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  430. package/dist/backgrounds/CellGridBackground.js +0 -44
  431. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  432. package/dist/backgrounds/CrossGridBackground.js +0 -49
  433. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  434. package/dist/backgrounds/DotGridBackground.js +0 -47
  435. package/dist/badge/Badge.d.ts +0 -42
  436. package/dist/badge/Badge.js +0 -99
  437. package/dist/charts/ChartEmptyState.d.ts +0 -17
  438. package/dist/charts/ChartEmptyState.js +0 -29
  439. package/dist/charts/ProgressBar.d.ts +0 -29
  440. package/dist/charts/ProgressBar.js +0 -65
  441. package/dist/charts/chartTheme.d.ts +0 -18
  442. package/dist/charts/chartTheme.js +0 -26
  443. package/dist/containers/FlexItem.d.ts +0 -50
  444. package/dist/containers/FlexItem.js +0 -91
  445. package/dist/containers/FlexWrapper.d.ts +0 -96
  446. package/dist/containers/FlexWrapper.js +0 -143
  447. package/dist/containers/GridWrapper.d.ts +0 -79
  448. package/dist/containers/GridWrapper.js +0 -125
  449. package/dist/containers/Spacing.d.ts +0 -23
  450. package/dist/containers/Spacing.js +0 -59
  451. package/dist/containers/Wrapper.d.ts +0 -26
  452. package/dist/containers/Wrapper.js +0 -54
  453. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  454. package/dist/dividers/HorizontalDivider.js +0 -39
  455. package/dist/dividers/VerticalDivider.d.ts +0 -6
  456. package/dist/dividers/VerticalDivider.js +0 -21
  457. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  458. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  459. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  460. package/dist/icons/GalaxyLogomark.js +0 -27
  461. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  462. package/dist/icons/GalaxyLogomark3D.js +0 -319
  463. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  464. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  465. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  466. package/dist/icons/GalaxyWordmark.js +0 -25
  467. package/dist/inputs/MultiTextInput.d.ts +0 -32
  468. package/dist/inputs/MultiTextInput.js +0 -180
  469. package/dist/inputs/SwitcherInput.d.ts +0 -30
  470. package/dist/inputs/SwitcherInput.js +0 -81
  471. package/dist/inputs/hooks.d.ts +0 -10
  472. package/dist/inputs/hooks.js +0 -22
  473. package/dist/overlay/constants.d.ts +0 -28
  474. package/dist/overlay/constants.js +0 -37
  475. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  476. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  477. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  478. package/dist/resizable/VerticalResizeHandle.js +0 -39
  479. package/dist/table/SpreadsheetCell.d.ts +0 -21
  480. package/dist/table/SpreadsheetCell.js +0 -71
  481. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  482. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  483. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  484. package/dist/table/SpreadsheetMenuItem.js +0 -33
  485. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  486. package/dist/table/SpreadsheetPrimitives.js +0 -105
  487. package/dist/table/SpreadsheetRow.d.ts +0 -33
  488. package/dist/table/SpreadsheetRow.js +0 -73
  489. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  490. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  491. package/dist/table/TableExpandCell.d.ts +0 -11
  492. package/dist/table/TableExpandCell.js +0 -24
  493. package/dist/table/TableExpandedRow.d.ts +0 -16
  494. package/dist/table/TableExpandedRow.js +0 -77
  495. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  496. package/dist/table/TableHeaderCellContent.js +0 -48
  497. package/dist/table/TablePrimitives.d.ts +0 -313
  498. package/dist/table/TablePrimitives.js +0 -302
  499. package/dist/table/TableSelectCell.d.ts +0 -18
  500. package/dist/table/TableSelectCell.js +0 -27
  501. package/dist/table/TableStatusRow.d.ts +0 -18
  502. package/dist/table/TableStatusRow.js +0 -50
  503. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  504. package/dist/table/useSpreadsheetEditing.js +0 -41
  505. package/dist/table/useTableColumnResize.d.ts +0 -38
  506. package/dist/table/useTableColumnResize.js +0 -155
  507. package/dist/table/useTableRowExpansion.d.ts +0 -24
  508. package/dist/table/useTableRowExpansion.js +0 -62
  509. package/dist/table/utils.d.ts +0 -50
  510. package/dist/table/utils.js +0 -78
  511. package/dist/text/HotKeys.d.ts +0 -30
  512. package/dist/text/HotKeys.js +0 -74
  513. package/dist/text/Paragraph.d.ts +0 -33
  514. package/dist/text/Paragraph.js +0 -83
  515. package/dist/text/TextShimmer.d.ts +0 -14
  516. package/dist/text/TextShimmer.js +0 -34
  517. package/dist/theme/GalaxyTheme.d.ts +0 -67
  518. package/dist/theme/GalaxyTheme.js +0 -119
  519. package/dist/theme/constants.d.ts +0 -8
  520. package/dist/theme/constants.js +0 -38
  521. package/dist/theme/index.d.ts +0 -6
  522. package/dist/theme/index.js +0 -7
  523. package/dist/theme/types.d.ts +0 -195
  524. package/dist/theme/types.js +0 -10
  525. package/dist/theme/typography.d.ts +0 -2
  526. package/dist/theme/typography.js +0 -73
  527. package/dist/theme/variants/dark.d.ts +0 -2
  528. package/dist/theme/variants/dark.js +0 -125
  529. package/dist/theme/variants/light.d.ts +0 -2
  530. package/dist/theme/variants/light.js +0 -125
  531. package/dist/toast/ToastContainer.d.ts +0 -10
  532. package/dist/toast/ToastContainer.js +0 -31
  533. package/dist/toast/ToastWrapper.d.ts +0 -6
  534. package/dist/toast/ToastWrapper.js +0 -27
  535. package/dist/transform/Flash.d.ts +0 -7
  536. package/dist/transform/Flash.js +0 -18
  537. package/dist/transform/Spin.d.ts +0 -14
  538. package/dist/transform/Spin.js +0 -25
  539. package/dist/utils/linaria.d.ts +0 -1
  540. package/dist/utils/linaria.js +0 -8
@@ -0,0 +1,244 @@
1
+ import { ChartCurve } from "./types.js";
2
+ import { buildLinePath } from "./lineChartGeometry.js";
3
+ import { layoutBars } from "./barChartGeometry.js";
4
+ /* empty css */
5
+ import { styled } from "@linaria/react";
6
+ import { forwardRef } from "react";
7
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { cx } from "@linaria/core";
9
+ //#region src/charts/Sparkline.tsx
10
+ /**
11
+ * Sparkline is a word-sized trend: a tiny line or row of bars with no axes, legend, tooltip or
12
+ * interaction, set beside the number it summarizes in a table cell, a list row, a `StatChart` or a
13
+ * sentence. It shows shape (rising, falling, spiky), not values; a chart to read values from is
14
+ * `LineChart` / `BarChart`.
15
+ *
16
+ * Color is CSS: `SPARKLINE_VARIANT_TO_CSS_MAP` (or `SPARKLINE_COLOR_TO_CSS_MAP` for a categorical
17
+ * `color`) sets `color` from `color.text.*` and the marks read
18
+ * `currentColor`, so `INHERIT` and `hex` share one path and a theme switch needs no re-render.
19
+ * Height is a control rung so it lines up with its row; width is four times
20
+ * the height unless `fillWidth`.
21
+ *
22
+ * Drawn in a fixed `0 0 100 100` viewBox with `preserveAspectRatio="none"` and a non-scaling
23
+ * stroke: no measurement, identical under SSR. Reuses LineChart's curve and the 1.x bar spacing.
24
+ * Needs the optional peer `d3-shape`.
25
+ */
26
+ /** Rung of the row the sparkline sits in. Height = control height; default width = 4 × height. */
27
+ var SparklineSize = /* @__PURE__ */ function(SparklineSize) {
28
+ /** 20px tall, 80px wide. */
29
+ SparklineSize["X_SMALL"] = "X_SMALL";
30
+ /** 24px tall, 96px wide. */
31
+ SparklineSize["SMALL"] = "SMALL";
32
+ /** 32px tall, 128px wide. The default. */
33
+ SparklineSize["MEDIUM"] = "MEDIUM";
34
+ /** 36px tall, 144px wide. */
35
+ SparklineSize["LARGE"] = "LARGE";
36
+ /** 40px tall, 160px wide. */
37
+ SparklineSize["X_LARGE"] = "X_LARGE";
38
+ return SparklineSize;
39
+ }({});
40
+ /** Color role (Constitution V-A color set; subset). */
41
+ var SparklineVariant = /* @__PURE__ */ function(SparklineVariant) {
42
+ /** `text.primary`. */
43
+ SparklineVariant["PRIMARY"] = "PRIMARY";
44
+ /** `text.secondary`. The default. */
45
+ SparklineVariant["SECONDARY"] = "SECONDARY";
46
+ /** `text.tertiary`. */
47
+ SparklineVariant["TERTIARY"] = "TERTIARY";
48
+ /** The parent's color (`currentColor`). */
49
+ SparklineVariant["INHERIT"] = "INHERIT";
50
+ /** Status: success, `text.success`. */
51
+ SparklineVariant["SUCCESS"] = "SUCCESS";
52
+ /** Status: warning, `text.warning`. */
53
+ SparklineVariant["WARNING"] = "WARNING";
54
+ /** Status: error, `text.error`. */
55
+ SparklineVariant["ERROR"] = "ERROR";
56
+ return SparklineVariant;
57
+ }({});
58
+ /** What the data is drawn as. A named second axis (Article V), not a variant. */
59
+ var SparklineMark = /* @__PURE__ */ function(SparklineMark) {
60
+ /** A 1.5px line. The default. */
61
+ SparklineMark["LINE"] = "LINE";
62
+ /** One bar per value, from a zero baseline. */
63
+ SparklineMark["BAR"] = "BAR";
64
+ return SparklineMark;
65
+ }({});
66
+ /**
67
+ * Px kept clear on every side of the drawing, so the line's round caps and its stroke at the top
68
+ * and bottom stay inside the root (half the stroke, rounded up to a whole pixel). Padding in real
69
+ * pixels, not viewBox units, because the viewBox stretches with the box.
70
+ */
71
+ /** Gap between bars: 1 viewBox unit per 100 (≈ 1px at the default width). */
72
+ var SPARKLINE_BAR_GAP = 1;
73
+ /**
74
+ * Phrasing content, so a sparkline is valid inside `Text`, a table cell or a `<label>`. The marks
75
+ * paint with `currentColor`; `forced-color-adjust: none` keeps the data marks in their color in
76
+ * high contrast (the Circle, Square and Beacon precedent).
77
+ */
78
+ var Root = /*#__PURE__*/ styled("span")({
79
+ name: "Root",
80
+ class: "gx-Sparkline-r1asbe5y",
81
+ propsAsIs: false
82
+ });
83
+ var Svg = /*#__PURE__*/ styled("svg")({
84
+ name: "Svg",
85
+ class: "gx-Sparkline-Svg-s9k8755",
86
+ propsAsIs: false
87
+ });
88
+ /** The line: the chart line weight however far the box is stretched. */
89
+ var SPARKLINE_LINE_CSS = "gx-Sparkline-SPARKLINE_LINE_CSS-s119f4ag";
90
+ /** Square bars (Decision 4). */
91
+ var SPARKLINE_BAR_CSS = "gx-Sparkline-SPARKLINE_BAR_CSS-srn2uxg";
92
+ /** The zero baseline when a bar domain crosses zero. */
93
+ var SPARKLINE_BASELINE_CSS = "gx-Sparkline-SPARKLINE_BASELINE_CSS-s1brjpq6";
94
+ var FILL_WIDTH_CSS = "gx-Sparkline-FILL_WIDTH_CSS-fvjsow7";
95
+ /** Height per rung (the control rungs). */
96
+ var SPARKLINE_SIZE_TO_CSS_MAP = {
97
+ ["X_SMALL"]: "gx-Sparkline-X_SMALL-xcnrk12",
98
+ ["SMALL"]: "gx-Sparkline-SMALL-s1060hmm",
99
+ ["MEDIUM"]: "gx-Sparkline-MEDIUM-m1rkkg41",
100
+ ["LARGE"]: "gx-Sparkline-LARGE-l1mfr8ta",
101
+ ["X_LARGE"]: "gx-Sparkline-X_LARGE-x1tuu0sq"
102
+ };
103
+ /** Sets `color`; the marks read it. */
104
+ var SPARKLINE_VARIANT_TO_CSS_MAP = {
105
+ ["PRIMARY"]: "gx-Sparkline-PRIMARY-p15j1694",
106
+ ["SECONDARY"]: "gx-Sparkline-SECONDARY-sqf29gm",
107
+ ["TERTIARY"]: "gx-Sparkline-TERTIARY-to15cvu",
108
+ ["INHERIT"]: "gx-Sparkline-INHERIT-iwafbc4",
109
+ ["SUCCESS"]: "gx-Sparkline-SUCCESS-s18oxn06",
110
+ ["WARNING"]: "gx-Sparkline-WARNING-w12wppjx",
111
+ ["ERROR"]: "gx-Sparkline-ERROR-e1vjlz3y"
112
+ };
113
+ /** Categorical `color`: `text.<family>`, the way a status variant renders. */
114
+ var SPARKLINE_COLOR_TO_CSS_MAP = {
115
+ red: "gx-Sparkline-red-r1g1xl1p",
116
+ orange: "gx-Sparkline-orange-o1jau8rz",
117
+ amber: "gx-Sparkline-amber-a1oe0nww",
118
+ yellow: "gx-Sparkline-yellow-y927tvl",
119
+ lime: "gx-Sparkline-lime-l17vquw4",
120
+ green: "gx-Sparkline-green-g1dzgnla",
121
+ emerald: "gx-Sparkline-emerald-e11hl6v6",
122
+ teal: "gx-Sparkline-teal-t1dtbnvn",
123
+ cyan: "gx-Sparkline-cyan-c1hj4qmv",
124
+ sky: "gx-Sparkline-sky-s157jvnt",
125
+ blue: "gx-Sparkline-blue-b14oiqli",
126
+ indigo: "gx-Sparkline-indigo-izvb5wf",
127
+ violet: "gx-Sparkline-violet-v1rblyi3",
128
+ purple: "gx-Sparkline-purple-p1lhbciw",
129
+ fuchsia: "gx-Sparkline-fuchsia-f1l7cy0y",
130
+ pink: "gx-Sparkline-pink-ppfz7ft",
131
+ rose: "gx-Sparkline-rose-r14stz7g"
132
+ };
133
+ /** Declared after the variant and color maps so `hex` wins over them. */
134
+ var HEX_CSS = "gx-Sparkline-HEX_CSS-h41c05i";
135
+ /** A finite reading, or `null` for a gap. */
136
+ var toReading = (value) => typeof value === "number" && Number.isFinite(value) ? value : null;
137
+ /** The vertical range: the override where given, else the mark's default from the readings. */
138
+ function resolveDomain(readings, mark, valueDomain) {
139
+ const smallest = Math.min(...readings);
140
+ const largest = Math.max(...readings);
141
+ const autoMin = mark === "BAR" ? Math.min(0, smallest) : smallest;
142
+ const autoMax = mark === "BAR" ? Math.max(0, largest) : largest;
143
+ return [toReading(valueDomain?.min) ?? autoMin, toReading(valueDomain?.max) ?? autoMax];
144
+ }
145
+ /** Value → viewBox y (clamped to the box; the root's padding keeps the stroke inside). A flat domain sits at mid-height. */
146
+ function toY(value, [min, max]) {
147
+ if (max <= min) return 50;
148
+ const y = (1 - (value - min) / (max - min)) * 100;
149
+ return Math.min(100, Math.max(0, y));
150
+ }
151
+ /** The line, split at gaps; a lone reading between gaps is a zero-length segment (a round dot). */
152
+ function renderLine(values, domain) {
153
+ const count = values.length;
154
+ const runs = [];
155
+ let run = [];
156
+ values.forEach((value, index) => {
157
+ if (value === null) {
158
+ if (run.length > 0) runs.push(run);
159
+ run = [];
160
+ return;
161
+ }
162
+ run.push({
163
+ x: count === 1 ? 50 : index / (count - 1) * 100,
164
+ y: toY(value, domain)
165
+ });
166
+ });
167
+ if (run.length > 0) runs.push(run);
168
+ const path = runs.map((points) => {
169
+ const [only] = points;
170
+ if (points.length === 1 && only !== void 0) return `M${only.x},${only.y}L${only.x},${only.y}`;
171
+ return buildLinePath(points, ChartCurve.SMOOTH);
172
+ }).join("");
173
+ return path === "" ? null : /* @__PURE__ */ jsx("path", {
174
+ className: SPARKLINE_LINE_CSS,
175
+ d: path
176
+ });
177
+ }
178
+ /** One square bar per reading from the zero baseline, plus the baseline when the domain crosses 0. */
179
+ function renderBars(values, domain) {
180
+ const slots = layoutBars(values.length, 100, SPARKLINE_BAR_GAP);
181
+ const zeroY = toY(Math.min(Math.max(0, domain[0]), domain[1]), domain);
182
+ const crossesZero = domain[0] < 0 && domain[1] > 0;
183
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [values.map((value, index) => {
184
+ const slot = slots[index];
185
+ if (value === null || slot === void 0) return null;
186
+ const y = toY(value, domain);
187
+ return /* @__PURE__ */ jsx("rect", {
188
+ className: SPARKLINE_BAR_CSS,
189
+ x: slot.x,
190
+ width: slot.width,
191
+ y: Math.min(y, zeroY),
192
+ height: Math.abs(zeroY - y)
193
+ }, index);
194
+ }), crossesZero && /* @__PURE__ */ jsx("line", {
195
+ className: SPARKLINE_BASELINE_CSS,
196
+ x1: 0,
197
+ x2: 100,
198
+ y1: zeroY,
199
+ y2: zeroY
200
+ })] });
201
+ }
202
+ /** A word-sized line or bar trend beside the number it summarizes. */
203
+ var Sparkline = forwardRef(function Sparkline({ data, mark = "LINE", variant = "SECONDARY", color, hex, size = "MEDIUM", fillWidth = false, valueDomain, ariaLabel, id, className, style, ...rest }, ref) {
204
+ const variables = {};
205
+ if (hex !== void 0) variables["--gx-sparkline-hex"] = hex;
206
+ const values = data.map(toReading);
207
+ const readings = values.filter((value) => value !== null);
208
+ let marks = null;
209
+ if (readings.length > 0) {
210
+ const domain = resolveDomain(readings, mark, valueDomain);
211
+ marks = mark === "BAR" ? renderBars(values, domain) : renderLine(values, domain);
212
+ }
213
+ const passedLabel = typeof rest["aria-label"] === "string" ? rest["aria-label"] : void 0;
214
+ const name = ariaLabel || passedLabel;
215
+ const accessibility = name ? {
216
+ role: "img",
217
+ "aria-label": name,
218
+ "aria-hidden": void 0
219
+ } : {
220
+ "aria-hidden": true,
221
+ "aria-label": void 0
222
+ };
223
+ return /* @__PURE__ */ jsx(Root, {
224
+ ...rest,
225
+ ...accessibility,
226
+ ref,
227
+ id,
228
+ className: cx(SPARKLINE_SIZE_TO_CSS_MAP[size], color !== void 0 ? SPARKLINE_COLOR_TO_CSS_MAP[color] : SPARKLINE_VARIANT_TO_CSS_MAP[variant], hex !== void 0 && HEX_CSS, fillWidth && FILL_WIDTH_CSS, className),
229
+ style: {
230
+ ...variables,
231
+ ...style
232
+ },
233
+ children: /* @__PURE__ */ jsx(Svg, {
234
+ viewBox: "0 0 100 100",
235
+ preserveAspectRatio: "none",
236
+ "aria-hidden": true,
237
+ focusable: "false",
238
+ children: marks
239
+ })
240
+ });
241
+ });
242
+ Sparkline.displayName = "Sparkline";
243
+ //#endregion
244
+ export { SparklineMark, SparklineSize, SparklineVariant, Sparkline as default };
@@ -1,24 +1,48 @@
1
- import type { ReactNode } from "react";
2
- /** Surface treatment of the stat tile. */
1
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
2
+ /** Tile fill (Constitution V surface set: containers). */
3
3
  export declare enum StatChartVariant {
4
+ /** The canvas fill, `background.base`. */
4
5
  BASE = "BASE",
6
+ /** A panel fill, `background.primary`. The default (1.x). */
5
7
  PRIMARY = "PRIMARY",
8
+ /** A raised fill, `background.secondary`. */
6
9
  SECONDARY = "SECONDARY",
10
+ /** The most elevated fill, `background.tertiary`. */
7
11
  TERTIARY = "TERTIARY"
8
12
  }
9
- export interface StatChartProps {
10
- /** What the number means. Rendered small and secondary above the value. */
13
+ export interface StatChartProps extends AriaAttributes {
14
+ /** What the number means. Small, tertiary, one line above the value. */
11
15
  label: string;
12
- /** The headline figure. A node, so it can carry a unit or a trend indicator. */
16
+ /** The headline figure. A string or number renders as `body_lg` medium with tabular numerals; pass a node for a value with a unit or a custom treatment. */
13
17
  value: ReactNode;
14
- /** @default StatChartVariant.PRIMARY */
18
+ /** One short line under the value: the comparison or context ("+4% vs last week"). */
19
+ description?: string;
20
+ /** At the end of the value row, vertically centered: a `Sparkline`, a `Chip`, a delta. */
21
+ trailing?: ReactNode;
22
+ /**
23
+ * Surface fill of the tile.
24
+ * @default StatChartVariant.PRIMARY
25
+ */
15
26
  variant?: StatChartVariant;
16
- /** Drop the hairline border — for tiles inside an already-bordered container. */
17
- noBorder?: boolean;
27
+ /**
28
+ * Adds the `0.5px` hairline. Use it for tiles on a page; leave it off inside an already-bordered container.
29
+ * @default false
30
+ */
31
+ hasBorder?: boolean;
32
+ /**
33
+ * Replaces `value` with a `Skeleton` line and hides `description` and `trailing`; the label stays. Sets `aria-busy`.
34
+ * @default false
35
+ */
36
+ isLoading?: boolean;
37
+ /** DOM id on the root. */
38
+ id?: string;
39
+ /** Any `data-*` attribute, forwarded to the root. */
40
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
41
+ /** Extra class on the root. */
42
+ className?: string;
43
+ /** Inline style on the root; only for setting CSS custom properties. */
44
+ style?: CSSProperties;
18
45
  }
19
- /**
20
- * A single-number stat tile — the KPI card. Fixed 140px minimum width so a row
21
- * of them lines up without you setting widths.
22
- */
23
- declare const StatChart: ({ label, value, variant, noBorder, }: StatChartProps) => import("react").JSX.Element;
46
+ /** A KPI tile: label, headline value, optional description and trailing trend. */
47
+ declare const StatChart: import("react").ForwardRefExoticComponent<StatChartProps & import("react").RefAttributes<HTMLElement>>;
24
48
  export default StatChart;
@@ -1,58 +1,105 @@
1
- import { withTheme } from "../theme/GalaxyTheme.js";
1
+ import Skeleton, { SkeletonSize, SkeletonVariant } from "../feedback/Skeleton.js";
2
+ import { Radius } from "../theme/enums.js";
2
3
  import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
3
- import FlexWrapper, { AlignItems, FlexDirection } from "../containers/FlexWrapper.js";
4
+ import Flex, { AlignItems, FlexDirection } from "../layout/Flex.js";
5
+ import Box, { BoxVariant } from "../layout/Box.js";
6
+ import FlexItem from "../layout/FlexItem.js";
4
7
  /* empty css */
5
- import { styled } from "@linaria/react";
6
- import { match } from "ts-pattern";
8
+ import { forwardRef } from "react";
7
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { cx } from "@linaria/core";
8
11
  //#region src/charts/StatChart.tsx
9
- /** Surface treatment of the stat tile. */
12
+ /**
13
+ * StatChart is the KPI tile: one number with its label, on a quiet surface, sized so a row of them
14
+ * lines up. A `label` ("Active users"), a `value` ("1,284"), an optional `description` under the
15
+ * value ("+4% vs last week") and an optional `trailing` slot at the end of the value row for a
16
+ * `Sparkline` or a `Chip`. The tile is a `Box`: `variant` picks its surface step and `hasBorder`
17
+ * adds the hairline. `isLoading` swaps the value for a `Skeleton` line of the same height.
18
+ *
19
+ * It draws no chart itself and imports no chart code (no d3). It is not a card with a header and
20
+ * actions (`Widget`) and not a list of label/value pairs (`DescriptionList`).
21
+ */
22
+ /** Tile fill (Constitution V surface set: containers). */
10
23
  var StatChartVariant = /* @__PURE__ */ function(StatChartVariant) {
24
+ /** The canvas fill, `background.base`. */
11
25
  StatChartVariant["BASE"] = "BASE";
26
+ /** A panel fill, `background.primary`. The default (1.x). */
12
27
  StatChartVariant["PRIMARY"] = "PRIMARY";
28
+ /** A raised fill, `background.secondary`. */
13
29
  StatChartVariant["SECONDARY"] = "SECONDARY";
30
+ /** The most elevated fill, `background.tertiary`. */
14
31
  StatChartVariant["TERTIARY"] = "TERTIARY";
15
32
  return StatChartVariant;
16
33
  }({});
17
- var _exp = () => ({ theme, $variant }) => match($variant).with("BASE", () => theme.color.background.base).with("PRIMARY", () => theme.color.background.primary).with("SECONDARY", () => theme.color.background.secondary).with("TERTIARY", () => theme.color.background.tertiary).exhaustive();
18
- var _exp2 = () => ({ theme, $noBorder }) => $noBorder ? "transparent" : theme.color.border.primary;
19
- var StatChartWrapper = withTheme(/*#__PURE__*/ styled("div")({
20
- name: "StatChartWrapper",
21
- class: "slaxlp8",
22
- propsAsIs: false,
23
- vars: {
24
- "slaxlp8-0": [_exp()],
25
- "slaxlp8-1": [_exp2()]
26
- }
27
- }));
28
- /**
29
- * A single-number stat tile — the KPI card. Fixed 140px minimum width so a row
30
- * of them lines up without you setting widths.
31
- */
32
- var StatChart = ({ label, value, variant = "PRIMARY", noBorder }) => {
33
- return /* @__PURE__ */ jsx(StatChartWrapper, {
34
- $variant: variant,
35
- $noBorder: noBorder,
36
- children: /* @__PURE__ */ jsxs(FlexWrapper, {
34
+ /** Identity by member name: `Box` owns the fill and the hairline. */
35
+ var STAT_CHART_VARIANT_TO_BOX_VARIANT_MAP = {
36
+ ["BASE"]: BoxVariant.BASE,
37
+ ["PRIMARY"]: BoxVariant.PRIMARY,
38
+ ["SECONDARY"]: BoxVariant.SECONDARY,
39
+ ["TERTIARY"]: BoxVariant.TERTIARY
40
+ };
41
+ /** Tiles in a `Flex` row keep their width; in a `Grid` they stretch to the track (1.x). */
42
+ var ROOT_CSS = "gx-StatChart-ROOT_CSS-rlaxlp8";
43
+ /** A string or number as the headline figure; a node as given. */
44
+ function renderValue(value) {
45
+ if (typeof value === "string" || typeof value === "number") return /* @__PURE__ */ jsx(Text, {
46
+ size: TextSize.BODY_LG,
47
+ weight: TextWeight.MEDIUM,
48
+ isTabular: true,
49
+ lineClamp: 1,
50
+ children: value
51
+ });
52
+ return value;
53
+ }
54
+ /** A KPI tile: label, headline value, optional description and trailing trend. */
55
+ var StatChart = forwardRef(function StatChart({ label, value, description, trailing, variant = "PRIMARY", hasBorder = false, isLoading = false, id, className, style, ...rest }, ref) {
56
+ return /* @__PURE__ */ jsx(Box, {
57
+ ...rest,
58
+ ...isLoading ? { "aria-busy": true } : {},
59
+ ref,
60
+ ...id === void 0 ? {} : { id },
61
+ variant: STAT_CHART_VARIANT_TO_BOX_VARIANT_MAP[variant],
62
+ hasBorder,
63
+ radius: Radius.LG,
64
+ padding: [12, 16],
65
+ minWidth: 140,
66
+ className: cx(ROOT_CSS, className),
67
+ ...style === void 0 ? {} : { style },
68
+ children: /* @__PURE__ */ jsxs(Flex, {
37
69
  direction: FlexDirection.COLUMN,
38
70
  gap: 8,
39
71
  minWidth: 0,
40
72
  children: [/* @__PURE__ */ jsx(Text, {
41
73
  size: TextSize.BODY_SM,
42
74
  variant: TextVariant.TERTIARY,
43
- isEllipsis: true,
75
+ lineClamp: 1,
44
76
  children: label
45
- }), /* @__PURE__ */ jsx(FlexWrapper, {
46
- alignItems: AlignItems.CENTER,
47
- gap: 6,
48
- children: typeof value === "string" ? /* @__PURE__ */ jsx(Text, {
49
- size: TextSize.BODY_LG,
50
- weight: TextWeight.MEDIUM,
51
- children: value
52
- }) : value
77
+ }), isLoading ? /* @__PURE__ */ jsx(Skeleton, {
78
+ variant: SkeletonVariant.TEXT,
79
+ size: SkeletonSize.LARGE
80
+ }) : /* @__PURE__ */ jsxs(Flex, {
81
+ direction: FlexDirection.COLUMN,
82
+ gap: 4,
83
+ minWidth: 0,
84
+ children: [/* @__PURE__ */ jsxs(Flex, {
85
+ alignItems: AlignItems.CENTER,
86
+ gap: 8,
87
+ minWidth: 0,
88
+ children: [/* @__PURE__ */ jsx(FlexItem, {
89
+ grow: 1,
90
+ minWidth: 0,
91
+ children: renderValue(value)
92
+ }), trailing]
93
+ }), description ? /* @__PURE__ */ jsx(Text, {
94
+ size: TextSize.BODY_SM,
95
+ variant: TextVariant.SECONDARY,
96
+ lineClamp: 1,
97
+ children: description
98
+ }) : null]
53
99
  })]
54
100
  })
55
101
  });
56
- };
102
+ });
103
+ StatChart.displayName = "StatChart";
57
104
  //#endregion
58
105
  export { StatChartVariant, StatChart as default };