@galaxy-io/dls 1.6.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +136 -116
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +32 -20
  46. package/dist/charts/ChartFrame.d.ts +69 -116
  47. package/dist/charts/ChartFrame.js +253 -119
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +27 -48
  51. package/dist/charts/ChartLegend.js +206 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +33 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +295 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +159 -117
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +149 -135
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/constants.d.ts +96 -256
  79. package/dist/charts/constants.js +105 -275
  80. package/dist/charts/heatmapGeometry.d.ts +95 -0
  81. package/dist/charts/heatmapGeometry.js +155 -0
  82. package/dist/charts/lineChartGeometry.d.ts +108 -58
  83. package/dist/charts/lineChartGeometry.js +120 -78
  84. package/dist/charts/pieChartGeometry.d.ts +66 -40
  85. package/dist/charts/pieChartGeometry.js +68 -38
  86. package/dist/charts/types.d.ts +197 -466
  87. package/dist/charts/types.js +55 -144
  88. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  89. package/dist/charts/useCartesianChartLayout.js +47 -32
  90. package/dist/charts/useChartDimensions.d.ts +19 -40
  91. package/dist/charts/useChartDimensions.js +40 -56
  92. package/dist/charts/useChartFormatters.d.ts +6 -15
  93. package/dist/charts/useChartFormatters.js +4 -9
  94. package/dist/charts/useChartInteraction.d.ts +47 -116
  95. package/dist/charts/useChartInteraction.js +95 -71
  96. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  97. package/dist/charts/useChartTooltipPosition.js +14 -5
  98. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  99. package/dist/charts/useSeriesColorResolver.js +19 -12
  100. package/dist/chips/Chip.d.ts +155 -44
  101. package/dist/chips/Chip.js +329 -155
  102. package/dist/chips/ChipGroup.d.ts +53 -0
  103. package/dist/chips/ChipGroup.js +98 -0
  104. package/dist/drawer/Drawer.d.ts +81 -17
  105. package/dist/drawer/Drawer.js +370 -65
  106. package/dist/dropdown/Dropdown.d.ts +80 -63
  107. package/dist/dropdown/Dropdown.js +127 -129
  108. package/dist/editor/CodeEditor.d.ts +119 -40
  109. package/dist/editor/CodeEditor.js +490 -400
  110. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  111. package/dist/editor/CodeEditorReactWidget.js +28 -21
  112. package/dist/feedback/Alert.d.ts +49 -0
  113. package/dist/feedback/Alert.js +172 -0
  114. package/dist/feedback/EmptyState.d.ts +39 -0
  115. package/dist/feedback/EmptyState.js +109 -0
  116. package/dist/feedback/ProgressBar.d.ts +125 -0
  117. package/dist/feedback/ProgressBar.js +183 -0
  118. package/dist/feedback/ProgressCircle.d.ts +99 -0
  119. package/dist/feedback/ProgressCircle.js +187 -0
  120. package/dist/feedback/Skeleton.d.ts +69 -0
  121. package/dist/feedback/Skeleton.js +130 -0
  122. package/dist/feedback/Spinner.d.ts +63 -0
  123. package/dist/feedback/Spinner.js +141 -0
  124. package/dist/fonts.css +70 -0
  125. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  126. package/dist/hooks/internal/useIsClient.js +14 -0
  127. package/dist/hooks/useClipboard.d.ts +19 -0
  128. package/dist/hooks/useClipboard.js +45 -0
  129. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  130. package/dist/hooks/useControlledOpenState.js +19 -0
  131. package/dist/hooks/useControlledState.d.ts +19 -0
  132. package/dist/hooks/useControlledState.js +22 -0
  133. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  134. package/dist/hooks/useDebouncedValue.js +33 -0
  135. package/dist/hooks/useDisclosure.d.ts +26 -0
  136. package/dist/hooks/useDisclosure.js +36 -0
  137. package/dist/hooks/useDismiss.d.ts +23 -27
  138. package/dist/hooks/useDismiss.js +39 -27
  139. package/dist/hooks/useElementClientSize.d.ts +10 -10
  140. package/dist/hooks/useElementClientSize.js +8 -11
  141. package/dist/hooks/useElementWidth.d.ts +6 -13
  142. package/dist/hooks/useElementWidth.js +6 -14
  143. package/dist/hooks/useField.d.ts +47 -0
  144. package/dist/hooks/useField.js +40 -0
  145. package/dist/hooks/useHotkey.d.ts +77 -0
  146. package/dist/hooks/useHotkey.js +246 -0
  147. package/dist/hooks/useIsMac.d.ts +12 -0
  148. package/dist/hooks/useIsMac.js +27 -0
  149. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  150. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  151. package/dist/hooks/useLocalStorage.d.ts +28 -0
  152. package/dist/hooks/useLocalStorage.js +145 -0
  153. package/dist/hooks/useMediaQuery.d.ts +11 -0
  154. package/dist/hooks/useMediaQuery.js +23 -0
  155. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  156. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  157. package/dist/hooks/useResize.d.ts +42 -62
  158. package/dist/hooks/useResize.js +43 -31
  159. package/dist/icons/Icon.d.ts +64 -37
  160. package/dist/icons/Icon.js +96 -37
  161. package/dist/icons/internal/IconSlot.d.ts +10 -0
  162. package/dist/icons/internal/IconSlot.js +32 -0
  163. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  164. package/dist/inputs/CheckboxGroup.js +183 -0
  165. package/dist/inputs/CheckboxInput.d.ts +98 -28
  166. package/dist/inputs/CheckboxInput.js +218 -88
  167. package/dist/inputs/ColorInput.d.ts +115 -29
  168. package/dist/inputs/ColorInput.js +748 -326
  169. package/dist/inputs/CopyInput.d.ts +49 -20
  170. package/dist/inputs/CopyInput.js +57 -49
  171. package/dist/inputs/CronInput.d.ts +94 -0
  172. package/dist/inputs/CronInput.js +618 -0
  173. package/dist/inputs/DateInput.d.ts +175 -28
  174. package/dist/inputs/DateInput.js +1109 -451
  175. package/dist/inputs/DurationInput.d.ts +101 -0
  176. package/dist/inputs/DurationInput.js +441 -0
  177. package/dist/inputs/Field.d.ts +75 -0
  178. package/dist/inputs/Field.js +247 -0
  179. package/dist/inputs/Fieldset.d.ts +53 -0
  180. package/dist/inputs/Fieldset.js +149 -0
  181. package/dist/inputs/FileInput.d.ts +110 -0
  182. package/dist/inputs/FileInput.js +476 -0
  183. package/dist/inputs/Input.d.ts +148 -187
  184. package/dist/inputs/Input.js +339 -259
  185. package/dist/inputs/KeyValueInput.d.ts +120 -0
  186. package/dist/inputs/KeyValueInput.js +383 -0
  187. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  188. package/dist/inputs/MultiSelectInput.js +175 -559
  189. package/dist/inputs/NumberInput.d.ts +65 -9
  190. package/dist/inputs/NumberInput.js +197 -40
  191. package/dist/inputs/PasswordInput.d.ts +17 -12
  192. package/dist/inputs/PasswordInput.js +33 -33
  193. package/dist/inputs/PinInput.d.ts +117 -0
  194. package/dist/inputs/PinInput.js +364 -0
  195. package/dist/inputs/RadioGroup.d.ts +115 -0
  196. package/dist/inputs/RadioGroup.js +179 -0
  197. package/dist/inputs/RadioInput.d.ts +87 -24
  198. package/dist/inputs/RadioInput.js +182 -95
  199. package/dist/inputs/SearchInput.d.ts +66 -0
  200. package/dist/inputs/SearchInput.js +156 -0
  201. package/dist/inputs/SelectInput.d.ts +195 -55
  202. package/dist/inputs/SelectInput.js +1308 -446
  203. package/dist/inputs/SliderInput.d.ts +150 -30
  204. package/dist/inputs/SliderInput.js +441 -186
  205. package/dist/inputs/SwitchInput.d.ts +109 -0
  206. package/dist/inputs/SwitchInput.js +248 -0
  207. package/dist/inputs/TagInput.d.ts +117 -0
  208. package/dist/inputs/TagInput.js +408 -0
  209. package/dist/inputs/TextAreaInput.d.ts +146 -44
  210. package/dist/inputs/TextAreaInput.js +292 -198
  211. package/dist/inputs/TextInput.d.ts +4 -13
  212. package/dist/inputs/TextInput.js +13 -48
  213. package/dist/inputs/ToggleInput.d.ts +120 -22
  214. package/dist/inputs/ToggleInput.js +262 -116
  215. package/dist/inputs/internal/bareField.d.ts +18 -0
  216. package/dist/inputs/internal/bareField.js +38 -0
  217. package/dist/inputs/internal/devWarn.d.ts +7 -0
  218. package/dist/inputs/internal/devWarn.js +30 -0
  219. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  220. package/dist/inputs/internal/fieldFrame.js +64 -0
  221. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  222. package/dist/inputs/internal/fieldWiring.js +38 -0
  223. package/dist/inputs/internal/innerButton.d.ts +2 -0
  224. package/dist/inputs/internal/innerButton.js +24 -0
  225. package/dist/inputs/internal/ownField.d.ts +45 -0
  226. package/dist/inputs/internal/ownField.js +58 -0
  227. package/dist/inputs/internal/predicates.d.ts +9 -0
  228. package/dist/inputs/internal/predicates.js +11 -0
  229. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  230. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  231. package/dist/json/JsonViewer.d.ts +62 -0
  232. package/dist/json/JsonViewer.js +483 -0
  233. package/dist/layout/Box.d.ts +87 -0
  234. package/dist/layout/Box.js +109 -0
  235. package/dist/layout/Divider.d.ts +25 -0
  236. package/dist/layout/Divider.js +70 -0
  237. package/dist/layout/Flex.d.ts +139 -0
  238. package/dist/layout/Flex.js +165 -0
  239. package/dist/layout/FlexItem.d.ts +72 -0
  240. package/dist/layout/FlexItem.js +84 -0
  241. package/dist/layout/Grid.d.ts +140 -0
  242. package/dist/layout/Grid.js +178 -0
  243. package/dist/layout/Portal.d.ts +29 -0
  244. package/dist/layout/Portal.js +27 -0
  245. package/dist/layout/ResizablePanels.d.ts +88 -0
  246. package/dist/layout/ResizablePanels.js +198 -0
  247. package/dist/layout/ResizeHandle.d.ts +48 -0
  248. package/dist/layout/ResizeHandle.js +143 -0
  249. package/dist/layout/ScrollArea.d.ts +30 -0
  250. package/dist/layout/ScrollArea.js +138 -0
  251. package/dist/links/Link.d.ts +101 -1
  252. package/dist/links/Link.js +166 -4
  253. package/dist/lists/BulletedList.d.ts +25 -7
  254. package/dist/lists/BulletedList.js +72 -27
  255. package/dist/lists/DescriptionList.d.ts +91 -0
  256. package/dist/lists/DescriptionList.js +147 -0
  257. package/dist/menu/ContextMenu.d.ts +64 -0
  258. package/dist/menu/ContextMenu.js +34 -0
  259. package/dist/menu/Menu.d.ts +280 -0
  260. package/dist/menu/Menu.js +1003 -0
  261. package/dist/modal/ConfirmDialog.d.ts +55 -0
  262. package/dist/modal/ConfirmDialog.js +151 -0
  263. package/dist/modal/Modal.d.ts +64 -14
  264. package/dist/modal/Modal.js +189 -48
  265. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  266. package/dist/navigation/Breadcrumbs.js +243 -0
  267. package/dist/navigation/CommandPalette.d.ts +83 -0
  268. package/dist/navigation/CommandPalette.js +509 -0
  269. package/dist/navigation/Pagination.d.ts +87 -0
  270. package/dist/navigation/Pagination.js +300 -0
  271. package/dist/navigation/SidebarNav.d.ts +107 -0
  272. package/dist/navigation/SidebarNav.js +341 -0
  273. package/dist/navigation/Stepper.d.ts +52 -0
  274. package/dist/navigation/Stepper.js +207 -0
  275. package/dist/navigation/Tabs.d.ts +113 -0
  276. package/dist/navigation/Tabs.js +543 -0
  277. package/dist/navigation/Topbar.d.ts +20 -0
  278. package/dist/navigation/Topbar.js +62 -0
  279. package/dist/overlay/OverlayProvider.d.ts +28 -32
  280. package/dist/overlay/OverlayProvider.js +42 -93
  281. package/dist/overlay/useOverlay.d.ts +88 -12
  282. package/dist/overlay/useOverlay.js +220 -43
  283. package/dist/overlays/Popover.d.ts +114 -0
  284. package/dist/overlays/Popover.js +389 -0
  285. package/dist/shapes/Circle.d.ts +84 -8
  286. package/dist/shapes/Circle.js +122 -20
  287. package/dist/shapes/Square.d.ts +84 -8
  288. package/dist/shapes/Square.js +123 -20
  289. package/dist/styles/mixins.d.ts +35 -0
  290. package/dist/styles/mixins.js +60 -0
  291. package/dist/styles.css +1 -202
  292. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  293. package/dist/table/InfiniteSpreadsheet.js +762 -225
  294. package/dist/table/InfiniteTable.d.ts +116 -14
  295. package/dist/table/InfiniteTable.js +287 -429
  296. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  297. package/dist/table/SpreadsheetCellEditor.js +163 -84
  298. package/dist/table/TableCore.d.ts +252 -0
  299. package/dist/table/TableCore.js +1077 -0
  300. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  301. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  302. package/dist/table/types.d.ts +66 -244
  303. package/dist/table/types.js +0 -51
  304. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  305. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  306. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  307. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  308. package/dist/table/useTableColumnLayout.d.ts +90 -25
  309. package/dist/table/useTableColumnLayout.js +255 -50
  310. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  311. package/dist/table/useTableKeyboardNavigation.js +95 -71
  312. package/dist/table/useTableRowSelection.d.ts +24 -25
  313. package/dist/table/useTableRowSelection.js +57 -84
  314. package/dist/table/useTableVirtualizer.d.ts +20 -0
  315. package/dist/table/useTableVirtualizer.js +48 -0
  316. package/dist/text/Bold.d.ts +5 -6
  317. package/dist/text/Bold.js +16 -15
  318. package/dist/text/Code.d.ts +5 -6
  319. package/dist/text/Code.js +16 -25
  320. package/dist/text/CodeBlock.d.ts +77 -0
  321. package/dist/text/CodeBlock.js +373 -0
  322. package/dist/text/EditableText.d.ts +55 -15
  323. package/dist/text/EditableText.js +153 -135
  324. package/dist/text/Ellipsis.d.ts +34 -8
  325. package/dist/text/Ellipsis.js +55 -23
  326. package/dist/text/Kbd.d.ts +72 -0
  327. package/dist/text/Kbd.js +284 -0
  328. package/dist/text/MarkdownText.d.ts +27 -10
  329. package/dist/text/MarkdownText.js +317 -300
  330. package/dist/text/RequiredMarker.d.ts +17 -5
  331. package/dist/text/RequiredMarker.js +34 -36
  332. package/dist/text/Selectable.d.ts +5 -6
  333. package/dist/text/Selectable.js +16 -13
  334. package/dist/text/Span.d.ts +82 -0
  335. package/dist/text/Span.js +115 -0
  336. package/dist/text/Text.d.ts +128 -41
  337. package/dist/text/Text.js +209 -76
  338. package/dist/theme/GalaxyProvider.d.ts +75 -0
  339. package/dist/theme/GalaxyProvider.js +223 -0
  340. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  341. package/dist/theme/ThemeSwitcher.js +94 -0
  342. package/dist/theme/enums.d.ts +118 -0
  343. package/dist/theme/enums.js +144 -0
  344. package/dist/theme/tokens/dark.d.ts +2 -0
  345. package/dist/theme/tokens/dark.js +275 -0
  346. package/dist/theme/tokens/generate.d.ts +15 -0
  347. package/dist/theme/tokens/generate.js +47 -0
  348. package/dist/theme/tokens/light.d.ts +2 -0
  349. package/dist/theme/tokens/light.js +274 -0
  350. package/dist/theme/tokens/palette.d.ts +14 -0
  351. package/dist/theme/tokens/palette.js +153 -0
  352. package/dist/theme/tokens/scales.d.ts +26 -0
  353. package/dist/theme/tokens/scales.js +154 -0
  354. package/dist/theme/tokens/t.d.ts +3 -0
  355. package/dist/theme/tokens/t.js +25 -0
  356. package/dist/theme/tokens/types.d.ts +189 -0
  357. package/dist/theme/tokens/types.js +0 -0
  358. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  359. package/dist/theme/useGalaxyTheme.js +36 -0
  360. package/dist/theme/useInverseScope.d.ts +18 -0
  361. package/dist/theme/useInverseScope.js +33 -0
  362. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  363. package/dist/three/GalaxyLogomark3D.js +134 -0
  364. package/dist/three/assets/galaxy-logomark.js +4 -0
  365. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  366. package/dist/three/galaxyLogomark3DScene.js +165 -0
  367. package/dist/timeline/Timeline.d.ts +99 -0
  368. package/dist/timeline/Timeline.js +269 -0
  369. package/dist/toast/Toast.d.ts +43 -19
  370. package/dist/toast/Toast.js +130 -89
  371. package/dist/toast/ToastProvider.d.ts +23 -23
  372. package/dist/toast/ToastProvider.js +298 -101
  373. package/dist/toast/ToastViewport.d.ts +12 -0
  374. package/dist/toast/ToastViewport.js +210 -0
  375. package/dist/toast/useToast.d.ts +139 -5
  376. package/dist/toast/useToast.js +15 -13
  377. package/dist/tokens.css +654 -0
  378. package/dist/tooltip/Tooltip.d.ts +64 -44
  379. package/dist/tooltip/Tooltip.js +280 -73
  380. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  381. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  382. package/dist/transform/Fade.d.ts +33 -11
  383. package/dist/transform/Fade.js +71 -19
  384. package/dist/transform/Flasher.d.ts +25 -0
  385. package/dist/transform/Flasher.js +39 -0
  386. package/dist/transform/Rotate.d.ts +24 -12
  387. package/dist/transform/Rotate.js +36 -22
  388. package/dist/transform/ScaleFade.d.ts +36 -11
  389. package/dist/transform/ScaleFade.js +86 -28
  390. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  391. package/dist/transform/internal/CollapseMotion.js +65 -0
  392. package/dist/tree/Tree.d.ts +85 -0
  393. package/dist/tree/Tree.js +387 -0
  394. package/dist/tree/treeRow.d.ts +39 -0
  395. package/dist/tree/treeRow.js +75 -0
  396. package/dist/utils/colors.d.ts +46 -13
  397. package/dist/utils/colors.js +92 -34
  398. package/dist/utils/css.d.ts +23 -0
  399. package/dist/utils/css.js +30 -0
  400. package/dist/utils/format.d.ts +58 -0
  401. package/dist/utils/format.js +220 -0
  402. package/dist/vite/index.d.ts +16 -0
  403. package/dist/vite/index.js +52 -0
  404. package/dist/widget/Widget.d.ts +164 -48
  405. package/dist/widget/Widget.js +335 -96
  406. package/dist/widget/WidgetGroup.d.ts +36 -0
  407. package/dist/widget/WidgetGroup.js +103 -0
  408. package/package.json +851 -157
  409. package/dist/accordion/Accordion.d.ts +0 -54
  410. package/dist/accordion/Accordion.js +0 -183
  411. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  412. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  413. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  415. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  416. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  417. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  419. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  420. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  421. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  423. package/dist/assets/models/galaxy-animation.js +0 -136666
  424. package/dist/assets/models/galaxy-logomark.js +0 -4
  425. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  426. package/dist/avatar/AvatarShimmer.js +0 -22
  427. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  428. package/dist/backgrounds/CellGridBackground.js +0 -44
  429. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  430. package/dist/backgrounds/CrossGridBackground.js +0 -49
  431. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  432. package/dist/backgrounds/DotGridBackground.js +0 -47
  433. package/dist/badge/Badge.d.ts +0 -42
  434. package/dist/badge/Badge.js +0 -99
  435. package/dist/charts/ChartEmptyState.d.ts +0 -17
  436. package/dist/charts/ChartEmptyState.js +0 -29
  437. package/dist/charts/ProgressBar.d.ts +0 -29
  438. package/dist/charts/ProgressBar.js +0 -65
  439. package/dist/charts/chartTheme.d.ts +0 -18
  440. package/dist/charts/chartTheme.js +0 -26
  441. package/dist/containers/FlexItem.d.ts +0 -50
  442. package/dist/containers/FlexItem.js +0 -91
  443. package/dist/containers/FlexWrapper.d.ts +0 -96
  444. package/dist/containers/FlexWrapper.js +0 -143
  445. package/dist/containers/GridWrapper.d.ts +0 -79
  446. package/dist/containers/GridWrapper.js +0 -125
  447. package/dist/containers/Spacing.d.ts +0 -23
  448. package/dist/containers/Spacing.js +0 -59
  449. package/dist/containers/Wrapper.d.ts +0 -26
  450. package/dist/containers/Wrapper.js +0 -54
  451. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  452. package/dist/dividers/HorizontalDivider.js +0 -39
  453. package/dist/dividers/VerticalDivider.d.ts +0 -6
  454. package/dist/dividers/VerticalDivider.js +0 -21
  455. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  456. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  457. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  458. package/dist/icons/GalaxyLogomark.js +0 -27
  459. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  460. package/dist/icons/GalaxyLogomark3D.js +0 -319
  461. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  462. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  463. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  464. package/dist/icons/GalaxyWordmark.js +0 -25
  465. package/dist/inputs/MultiTextInput.d.ts +0 -32
  466. package/dist/inputs/MultiTextInput.js +0 -180
  467. package/dist/inputs/SwitcherInput.d.ts +0 -30
  468. package/dist/inputs/SwitcherInput.js +0 -81
  469. package/dist/inputs/hooks.d.ts +0 -10
  470. package/dist/inputs/hooks.js +0 -22
  471. package/dist/overlay/constants.d.ts +0 -28
  472. package/dist/overlay/constants.js +0 -37
  473. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  474. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  475. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  476. package/dist/resizable/VerticalResizeHandle.js +0 -39
  477. package/dist/table/SpreadsheetCell.d.ts +0 -21
  478. package/dist/table/SpreadsheetCell.js +0 -71
  479. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  480. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  481. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  482. package/dist/table/SpreadsheetMenuItem.js +0 -33
  483. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  484. package/dist/table/SpreadsheetPrimitives.js +0 -105
  485. package/dist/table/SpreadsheetRow.d.ts +0 -33
  486. package/dist/table/SpreadsheetRow.js +0 -73
  487. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  488. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  489. package/dist/table/TableExpandCell.d.ts +0 -11
  490. package/dist/table/TableExpandCell.js +0 -24
  491. package/dist/table/TableExpandedRow.d.ts +0 -16
  492. package/dist/table/TableExpandedRow.js +0 -77
  493. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  494. package/dist/table/TableHeaderCellContent.js +0 -48
  495. package/dist/table/TablePrimitives.d.ts +0 -313
  496. package/dist/table/TablePrimitives.js +0 -302
  497. package/dist/table/TableSelectCell.d.ts +0 -18
  498. package/dist/table/TableSelectCell.js +0 -27
  499. package/dist/table/TableStatusRow.d.ts +0 -18
  500. package/dist/table/TableStatusRow.js +0 -50
  501. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  502. package/dist/table/useSpreadsheetEditing.js +0 -41
  503. package/dist/table/useTableColumnResize.d.ts +0 -38
  504. package/dist/table/useTableColumnResize.js +0 -155
  505. package/dist/table/useTableRowExpansion.d.ts +0 -24
  506. package/dist/table/useTableRowExpansion.js +0 -62
  507. package/dist/table/utils.d.ts +0 -50
  508. package/dist/table/utils.js +0 -78
  509. package/dist/text/HotKeys.d.ts +0 -30
  510. package/dist/text/HotKeys.js +0 -74
  511. package/dist/text/Paragraph.d.ts +0 -33
  512. package/dist/text/Paragraph.js +0 -83
  513. package/dist/text/TextShimmer.d.ts +0 -14
  514. package/dist/text/TextShimmer.js +0 -34
  515. package/dist/theme/GalaxyTheme.d.ts +0 -67
  516. package/dist/theme/GalaxyTheme.js +0 -119
  517. package/dist/theme/constants.d.ts +0 -8
  518. package/dist/theme/constants.js +0 -38
  519. package/dist/theme/index.d.ts +0 -6
  520. package/dist/theme/index.js +0 -7
  521. package/dist/theme/types.d.ts +0 -195
  522. package/dist/theme/types.js +0 -10
  523. package/dist/theme/typography.d.ts +0 -2
  524. package/dist/theme/typography.js +0 -73
  525. package/dist/theme/variants/dark.d.ts +0 -2
  526. package/dist/theme/variants/dark.js +0 -125
  527. package/dist/theme/variants/light.d.ts +0 -2
  528. package/dist/theme/variants/light.js +0 -125
  529. package/dist/toast/ToastContainer.d.ts +0 -10
  530. package/dist/toast/ToastContainer.js +0 -31
  531. package/dist/toast/ToastWrapper.d.ts +0 -6
  532. package/dist/toast/ToastWrapper.js +0 -27
  533. package/dist/transform/Flash.d.ts +0 -7
  534. package/dist/transform/Flash.js +0 -18
  535. package/dist/transform/Spin.d.ts +0 -14
  536. package/dist/transform/Spin.js +0 -25
  537. package/dist/utils/linaria.d.ts +0 -1
  538. package/dist/utils/linaria.js +0 -8
@@ -1,189 +1,203 @@
1
- import FlexWrapper, { AlignItems, FlexDirection, JustifyContent } from "../containers/FlexWrapper.js";
1
+ import Text, { TextSize, TextWeight } from "../text/Text.js";
2
2
  import { ChartKind, ChartLegendPlacement, ChartTargetShape } from "./types.js";
3
- import { PIE_CHART_MARGIN, PIE_MIN_SLICE_SHARE } from "./constants.js";
4
- import { useSeriesColorResolver } from "./useSeriesColorResolver.js";
3
+ import { CHART_ARC_CSS, CHART_MARK_STATE_TO_CSS_MAP } from "./ChartPrimitives.js";
4
+ import { RADIAL_PLOT_INSET } from "./constants.js";
5
+ import { ChartLegendSwatch } from "./ChartLegend.js";
5
6
  import { ChartTooltipVerticalAlign } from "./useChartTooltipPosition.js";
6
- import { useChartInteraction } from "./useChartInteraction.js";
7
- import { useChartFormatters } from "./useChartFormatters.js";
7
+ import { ChartFrame } from "./ChartFrame.js";
8
+ import { formatNumber, formatPercent } from "../utils/format.js";
8
9
  import { useChartDimensions } from "./useChartDimensions.js";
9
- import { buildPieChartGeometry } from "./pieChartGeometry.js";
10
- import { ChartArcPath, ChartCenterBox } from "./ChartPrimitives.js";
11
- import ChartFrame from "./ChartFrame.js";
12
- import { useCallback, useMemo, useRef } from "react";
10
+ import { useChartFormatters } from "./useChartFormatters.js";
11
+ import { useChartInteraction } from "./useChartInteraction.js";
12
+ import { useSeriesColorResolver } from "./useSeriesColorResolver.js";
13
+ import { PIE_MIN_SLICE_SHARE, buildPieChartGeometry, resolvePieChartSlices } from "./pieChartGeometry.js";
14
+ /* empty css */
15
+ import { styled } from "@linaria/react";
16
+ import { forwardRef, useCallback, useMemo, useRef } from "react";
13
17
  import { jsx } from "react/jsx-runtime";
18
+ import { cx } from "@linaria/core";
14
19
  //#region src/charts/PieChart.tsx
15
20
  /**
16
- * Pie and donut chart.
21
+ * PieChart shows how a whole splits into a few parts, as a donut (the default) or a solid pie.
22
+ * Slices are named in the `series` record and colored from `ChartPalette`;
23
+ * slices under `minSliceShare` fold into one neutral "Other" slice so every remaining arc is
24
+ * readable and hittable. The donut hole holds `children` (a total, a headline figure). The legend
25
+ * sits beside the plot. Hover and keyboard work per slice; a click or Enter reports the slice. It
26
+ * never joins `ChartGroupProvider` sync (it has no category axis).
17
27
  *
18
- * Unlike the cartesian charts there is no category axis to hit-test against, so
19
- * each arc is its own target. Small slices are folded into an "Other" bucket by
20
- * default, which keeps every remaining arc large enough to actually hit.
28
+ * The chart fills its parent (2:1 when the parent has no definite height). Needs the optional
29
+ * peers `d3-scale` and `d3-shape`.
21
30
  */
22
- var PieChart = ({ series, slices, width, height, fillWidth, fillHeight, aspectRatio, margin, innerRadiusRatio, padAngle, cornerRadius, minSliceShare = PIE_MIN_SLICE_SHARE, aggregatedLabel, centerContent, onSelect, selection, valueUnit, valueFormatter, labelFormatter, showLegend = true, legendMaxItems, noTooltip = false, tooltipRenderer, tooltipMaxItems, isLoading = false, contentWhenEmpty, ariaLabel, ariaDescription }) => {
23
- const containerRef = useRef(null);
31
+ var DEFAULT_PLACEHOLDER = "No data available";
32
+ var DEFAULT_AGGREGATED_LABEL = "Other";
33
+ var PLOT_INSETS = {
34
+ top: RADIAL_PLOT_INSET,
35
+ right: RADIAL_PLOT_INSET,
36
+ bottom: RADIAL_PLOT_INSET,
37
+ left: RADIAL_PLOT_INSET
38
+ };
39
+ /** The plot box takes the root's full height (the side-legend row centers its items). */
40
+ var PLOT_CSS = "gx-PieChart-PLOT_CSS-p1ez9f1";
41
+ /** Beside a legend the plot box is square (its height), so the legend sits next to the circle. */
42
+ var SQUARE_PLOT_CSS = "gx-PieChart-SQUARE_PLOT_CSS-smxszqr";
43
+ /** The donut hole's content box: the inscribed square of the hole, centered on the pie. */
44
+ var CenterBox = /*#__PURE__*/ styled("div")({
45
+ name: "CenterBox",
46
+ class: "gx-PieChart-CenterBox-c158myaw",
47
+ propsAsIs: false
48
+ });
49
+ function PieChartInner(props, ref) {
50
+ const { series, slices, isSolid = false, minSliceShare = PIE_MIN_SLICE_SHARE, aggregatedLabel = DEFAULT_AGGREGATED_LABEL, children, valueFormatter, hasLegend = true, hasTooltip = true, renderTooltip, isLoading = false, placeholder = DEFAULT_PLACEHOLDER, onSelect, selection, ariaLabel, id, className, style, ...rest } = props;
51
+ const plotRef = useRef(null);
24
52
  const colors = useSeriesColorResolver(series);
25
- const dimensions = useChartDimensions({
26
- containerRef,
27
- width: showLegend && width !== void 0 && height !== void 0 ? Math.min(width, height) : width,
28
- height,
29
- fillWidth,
30
- fillHeight,
31
- aspectRatio,
32
- margin,
33
- defaultMargin: PIE_CHART_MARGIN
34
- });
35
- const { plotWidth, plotHeight } = dimensions;
36
- const { formatValue, formatLabel } = useChartFormatters({
37
- valueFormatter,
38
- valueUnit,
39
- labelFormatter
40
- });
41
- const getSliceLabel = useCallback((sliceKey) => series[sliceKey]?.label ?? sliceKey, [series]);
42
- const getSliceColor = useCallback((sliceKey) => series[sliceKey]?.color, [series]);
43
- const resolveColor = useCallback(({ sliceKey, explicit }) => sliceKey === null ? colors.neutral : colors.resolve(sliceKey, explicit), [colors]);
44
- const geometry = useMemo(() => buildPieChartGeometry({
53
+ const dimensions = useChartDimensions(plotRef, PLOT_INSETS);
54
+ const { plotWidth, plotHeight, insets } = dimensions;
55
+ const { formatValue } = useChartFormatters(valueFormatter);
56
+ const resolveColor = useCallback((sliceKey) => sliceKey === null ? colors.neutral : colors.resolve(sliceKey), [colors]);
57
+ const getSliceLabel = useCallback((key) => series[key]?.label ?? key, [series]);
58
+ const resolvedSlices = useMemo(() => resolvePieChartSlices({
45
59
  slices,
46
- plotWidth,
47
- plotHeight,
48
- innerRadiusRatio,
49
- padAngle,
50
- cornerRadius,
51
60
  minSliceShare,
52
61
  aggregatedLabel,
53
62
  resolveColor,
54
- getSliceColor,
55
63
  getSliceLabel
56
64
  }), [
57
65
  slices,
58
- plotWidth,
59
- plotHeight,
60
- innerRadiusRatio,
61
- padAngle,
62
- cornerRadius,
63
66
  minSliceShare,
64
67
  aggregatedLabel,
65
68
  resolveColor,
66
- getSliceColor,
67
69
  getSliceLabel
68
70
  ]);
69
- const isEmpty = geometry.arcs.length === 0;
70
- const legendItems = useMemo(() => geometry.arcs.map((chartArc) => ({
71
- key: chartArc.id,
72
- label: formatLabel(chartArc.label),
73
- color: chartArc.color
74
- })), [geometry.arcs, formatLabel]);
75
- const legendKeys = useMemo(() => legendItems.map((item) => item.key), [legendItems]);
71
+ const geometry = useMemo(() => buildPieChartGeometry({
72
+ slices: resolvedSlices,
73
+ plotWidth,
74
+ plotHeight,
75
+ isSolid
76
+ }), [
77
+ resolvedSlices,
78
+ plotWidth,
79
+ plotHeight,
80
+ isSolid
81
+ ]);
82
+ const isEmpty = !slices.some((slice) => Number.isFinite(slice.value) && slice.value > 0);
83
+ const legendItems = useMemo(() => resolvedSlices.map((item) => ({
84
+ key: item.id,
85
+ label: item.label,
86
+ ...item.color.palette !== void 0 && { palette: item.color.palette },
87
+ ...item.color.hex !== void 0 && { hex: item.color.hex }
88
+ })), [resolvedSlices]);
89
+ const arcKeys = useMemo(() => legendItems.map((item) => item.key), [legendItems]);
76
90
  const interaction = useChartInteraction({
77
- categoryCount: geometry.arcs.length,
78
- seriesKeys: legendKeys,
79
- categoryKeys: legendKeys,
91
+ categoryCount: resolvedSlices.length,
92
+ seriesKeys: arcKeys,
93
+ categoryKeys: arcKeys,
80
94
  enableGroupSync: false,
81
95
  selection,
82
- isDisabled: noTooltip || isLoading || isEmpty,
96
+ isDisabled: !(hasTooltip || onSelect) || isLoading || isEmpty,
83
97
  isLoading
84
98
  });
85
99
  const buildCategoryTooltip = useCallback((index) => {
86
- const chartArc = geometry.arcs[index];
87
- if (!chartArc) return null;
100
+ const item = geometry.arcs[index];
101
+ if (!item) return null;
88
102
  return {
89
- label: formatLabel(chartArc.label),
103
+ label: item.label,
90
104
  rows: [{
91
- key: chartArc.id,
92
- label: `${Math.round(chartArc.share * 1e3) / 10}% of total`,
93
- value: chartArc.value,
94
- formattedValue: formatValue(chartArc.value),
95
- color: chartArc.color
105
+ key: item.id,
106
+ label: item.label,
107
+ value: item.value,
108
+ formattedValue: `${formatValue(item.value)} · ${formatPercent(item.share)}`,
109
+ color: item.color.color
96
110
  }],
97
- anchorX: chartArc.anchorX,
98
- anchorY: chartArc.anchorY
111
+ anchorX: item.anchorX,
112
+ anchorY: item.anchorY
99
113
  };
100
- }, [
101
- geometry.arcs,
102
- formatValue,
103
- formatLabel
104
- ]);
105
- /**
106
- * Targets reuse each arc's own `d`, drawn again transparent above the marks.
107
- *
108
- * The arcs themselves stay pure marks: hit testing then works identically on
109
- * all three charts, instead of the pie hit-testing its visible arcs directly.
110
- */
111
- const categoryTargets = useMemo(() => geometry.arcs.map((chartArc) => ({
112
- key: chartArc.id,
114
+ }, [geometry.arcs, formatValue]);
115
+ const describeCategory = useCallback((index) => {
116
+ const item = resolvedSlices[index];
117
+ if (!item) return "";
118
+ const share = formatNumber(item.share * 100, { precision: 1 });
119
+ return `${item.label}. ${formatValue(item.value)}, ${share} percent.`;
120
+ }, [resolvedSlices, formatValue]);
121
+ const categoryTargets = useMemo(() => geometry.arcs.map((item) => ({
122
+ key: item.id,
113
123
  shape: ChartTargetShape.PATH,
114
- d: chartArc.path
124
+ d: item.path
115
125
  })), [geometry.arcs]);
116
- const handleCategorySelect = useCallback((index) => {
117
- const chartArc = geometry.arcs[index];
118
- if (!chartArc || !onSelect) return;
119
- const key = chartArc.id;
126
+ const handleSelect = useCallback((index) => {
127
+ const item = resolvedSlices[index];
128
+ if (!item || !onSelect) return;
120
129
  onSelect({
121
130
  categoryIndex: index,
122
- categoryKey: chartArc.id,
123
- seriesKey: key,
124
- value: chartArc.value
131
+ categoryKey: item.id,
132
+ seriesKey: item.id,
133
+ value: item.value
125
134
  });
126
- }, [geometry.arcs, onSelect]);
127
- const showCenter = centerContent && (innerRadiusRatio ?? .62) > 0;
135
+ }, [resolvedSlices, onSelect]);
136
+ const passedAriaLabel = typeof rest["aria-label"] === "string" ? rest["aria-label"] : void 0;
137
+ const resolvedAriaLabel = ariaLabel ?? passedAriaLabel ?? `${isSolid ? "Pie" : "Donut"} chart, ${resolvedSlices.length} slices`;
138
+ const hasCenter = !isSolid && children !== void 0 && children !== null && !isEmpty;
139
+ const centerSize = Math.max(0, geometry.innerRadius * Math.SQRT2);
140
+ const center = hasCenter ? /* @__PURE__ */ jsx(CenterBox, {
141
+ style: {
142
+ "--gx-pie-center-x": `${insets.left + geometry.centerX}px`,
143
+ "--gx-pie-center-y": `${insets.top + geometry.centerY}px`,
144
+ "--gx-pie-center-size": `${centerSize}px`
145
+ },
146
+ children: typeof children === "string" || typeof children === "number" ? /* @__PURE__ */ jsx(Text, {
147
+ size: TextSize.HEADING_MD,
148
+ weight: TextWeight.MEDIUM,
149
+ isTabular: true,
150
+ children
151
+ }) : children
152
+ }) : null;
153
+ const centerTransform = `translate(${geometry.centerX}, ${geometry.centerY})`;
128
154
  return /* @__PURE__ */ jsx(ChartFrame, {
129
- containerRef,
155
+ rootRef: ref,
156
+ plotRef,
157
+ id,
158
+ className,
159
+ style,
160
+ rest,
130
161
  dimensions,
131
- fillWidth,
132
- fillHeight,
133
162
  interaction,
134
163
  kind: ChartKind.PIE,
135
- categoryCount: geometry.arcs.length,
136
- ariaLabel,
137
- ariaDescription,
138
- noTooltip,
164
+ categoryCount: resolvedSlices.length,
165
+ ariaLabel: resolvedAriaLabel,
166
+ aspectRatio: 2,
167
+ plotOverlay: center,
168
+ plotClassName: cx(PLOT_CSS, hasLegend && SQUARE_PLOT_CSS),
169
+ describeCategory,
170
+ hasTooltip,
139
171
  buildCategoryTooltip,
140
- tooltipRenderer,
141
- tooltipMaxItems,
172
+ renderTooltip,
142
173
  categoryTargets,
143
- onCategorySelect: onSelect && handleCategorySelect,
144
- categoryTargetsTransform: `translate(${geometry.centerX}, ${geometry.centerY})`,
174
+ targetsTransform: centerTransform,
175
+ onCategorySelect: onSelect && handleSelect,
145
176
  placeAwayFromX: geometry.centerX,
146
177
  verticalAlign: ChartTooltipVerticalAlign.CENTERED,
147
178
  isEmpty,
148
179
  isLoading,
149
- contentWhenEmpty,
150
- showLegend,
180
+ placeholder,
181
+ hasLegend,
151
182
  legendItems,
152
- legendMaxItems,
153
183
  legendPlacement: ChartLegendPlacement.RIGHT,
154
- plotOverlay: showCenter && !isEmpty ? /* @__PURE__ */ jsx(ChartDonutCenter, {
155
- centerX: dimensions.margin.left + geometry.centerX,
156
- centerY: dimensions.margin.top + geometry.centerY,
157
- diameter: geometry.innerRadius * 2,
158
- children: centerContent
159
- }) : null,
184
+ legendSwatch: ChartLegendSwatch.SQUARE,
160
185
  children: /* @__PURE__ */ jsx("g", {
161
- transform: `translate(${geometry.centerX}, ${geometry.centerY})`,
162
- children: geometry.arcs.map((chartArc, index) => /* @__PURE__ */ jsx(ChartArcPath, {
163
- d: chartArc.path,
164
- fill: chartArc.color,
165
- "data-state": interaction.getMarkState({
186
+ transform: centerTransform,
187
+ children: geometry.arcs.map((item, index) => /* @__PURE__ */ jsx("path", {
188
+ d: item.path,
189
+ className: cx(CHART_ARC_CSS, CHART_MARK_STATE_TO_CSS_MAP[interaction.getMarkState({
166
190
  categoryIndex: index,
167
- seriesKey: chartArc.id
168
- })
169
- }, chartArc.id))
191
+ seriesKey: item.id
192
+ })]),
193
+ style: { "--gx-chart-mark-color": item.color.color }
194
+ }, item.id))
170
195
  })
171
196
  });
172
- };
173
- /** Positions arbitrary content inside the donut hole. */
174
- var ChartDonutCenter = ({ centerX, centerY, diameter, children }) => /* @__PURE__ */ jsx(ChartCenterBox, {
175
- $centerX: centerX,
176
- $centerY: centerY,
177
- $diameter: diameter,
178
- children: /* @__PURE__ */ jsx(FlexWrapper, {
179
- direction: FlexDirection.COLUMN,
180
- justifyContent: JustifyContent.CENTER,
181
- alignItems: AlignItems.CENTER,
182
- gap: 2,
183
- fillWidth: true,
184
- fillHeight: true,
185
- children
186
- })
187
- });
197
+ }
198
+ var PieChartForwarded = forwardRef(PieChartInner);
199
+ PieChartForwarded.displayName = "PieChart";
200
+ /** A donut (or solid pie) of a few parts of one whole. */
201
+ var PieChart = PieChartForwarded;
188
202
  //#endregion
189
203
  export { PieChart as default };
@@ -0,0 +1,107 @@
1
+ import { type AriaAttributes, type CSSProperties } from "react";
2
+ import type { Hex, PaletteColor } from "../theme/tokens/types.js";
3
+ import { type ChartValueDomain } from "./types.js";
4
+ /** Rung of the row the sparkline sits in. Height = control height; default width = 4 × height. */
5
+ export declare enum SparklineSize {
6
+ /** 20px tall, 80px wide. */
7
+ X_SMALL = "X_SMALL",
8
+ /** 24px tall, 96px wide. */
9
+ SMALL = "SMALL",
10
+ /** 32px tall, 128px wide. The default. */
11
+ MEDIUM = "MEDIUM",
12
+ /** 36px tall, 144px wide. */
13
+ LARGE = "LARGE",
14
+ /** 40px tall, 160px wide. */
15
+ X_LARGE = "X_LARGE"
16
+ }
17
+ /** Color role (Constitution V-A color set; subset). */
18
+ export declare enum SparklineVariant {
19
+ /** `text.primary`. */
20
+ PRIMARY = "PRIMARY",
21
+ /** `text.secondary`. The default. */
22
+ SECONDARY = "SECONDARY",
23
+ /** `text.tertiary`. */
24
+ TERTIARY = "TERTIARY",
25
+ /** The parent's color (`currentColor`). */
26
+ INHERIT = "INHERIT",
27
+ /** Status: success, `text.success`. */
28
+ SUCCESS = "SUCCESS",
29
+ /** Status: warning, `text.warning`. */
30
+ WARNING = "WARNING",
31
+ /** Status: error, `text.error`. */
32
+ ERROR = "ERROR"
33
+ }
34
+ /** What the data is drawn as. A named second axis (Article V), not a variant. */
35
+ export declare enum SparklineMark {
36
+ /** A 1.5px line. The default. */
37
+ LINE = "LINE",
38
+ /** One bar per value, from a zero baseline. */
39
+ BAR = "BAR"
40
+ }
41
+ interface SparklineBaseProps extends AriaAttributes {
42
+ /** Values in order, left to right. `null` breaks the line (or leaves a bar slot empty). */
43
+ data: (number | null)[];
44
+ /**
45
+ * Draw a line or a row of bars.
46
+ * @default SparklineMark.LINE
47
+ */
48
+ mark?: SparklineMark;
49
+ /** Raw color for a data-driven color. Discouraged: it does not follow the theme. Overrides `variant` and `color`. */
50
+ hex?: Hex;
51
+ /**
52
+ * Height of the control rung it sits beside (20 / 24 / 32 / 36 / 40px); width is four times the height unless `fillWidth`.
53
+ * @default SparklineSize.MEDIUM
54
+ */
55
+ size?: SparklineSize;
56
+ /**
57
+ * Stretch to the parent's width instead of the 4:1 default.
58
+ * @default false
59
+ */
60
+ fillWidth?: boolean;
61
+ /**
62
+ * Fix the vertical range so sparklines in a column compare.
63
+ * @default line: [smallest, largest]; bar: [min(0, smallest), max(0, largest)]
64
+ */
65
+ valueDomain?: Partial<Pick<ChartValueDomain, "min" | "max">>;
66
+ /** Accessible name that states the trend ("Signups, last 30 days, rising"). Without it the sparkline is decorative (`aria-hidden`). */
67
+ ariaLabel?: string;
68
+ /** DOM id on the root `<span>`. */
69
+ id?: string;
70
+ /** Any `data-*` attribute, forwarded to the root `<span>`. */
71
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
72
+ /** Extra class on the root `<span>`. */
73
+ className?: string;
74
+ /** Inline style on the root `<span>`; only for setting CSS custom properties. Merged after `--gx-sparkline-hex`. */
75
+ style?: CSSProperties;
76
+ }
77
+ /** A sparkline colored by meaning (`variant`), or the default `SECONDARY`. */
78
+ interface SparklineVariantProps {
79
+ /**
80
+ * Color role: a neutral step or a status, following the theme. `INHERIT` takes the parent's
81
+ * text color. Not with `color`.
82
+ * @default SparklineVariant.SECONDARY
83
+ */
84
+ variant?: SparklineVariant;
85
+ /** Categorical palette family. Not with `variant`. */
86
+ color?: undefined;
87
+ }
88
+ /** A sparkline colored by category (`color`). */
89
+ interface SparklineColorProps {
90
+ /**
91
+ * Color role: a neutral step or a status, following the theme. `INHERIT` takes the parent's
92
+ * text color. Not with `color`.
93
+ * @default SparklineVariant.SECONDARY
94
+ */
95
+ variant?: undefined;
96
+ /**
97
+ * Categorical palette family (`"blue"`, `"violet"`, …): the marks take `text.<family>`, the way
98
+ * a status variant renders. For a series' category color; meanings take `variant`. Not with
99
+ * `variant`.
100
+ */
101
+ color: PaletteColor;
102
+ }
103
+ /** Sparkline props. Passing both `variant` and `color` is a type error. */
104
+ export type SparklineProps = SparklineBaseProps & (SparklineVariantProps | SparklineColorProps);
105
+ /** A word-sized line or bar trend beside the number it summarizes. */
106
+ declare const Sparkline: import("react").ForwardRefExoticComponent<SparklineProps & import("react").RefAttributes<HTMLSpanElement>>;
107
+ export default Sparkline;