@galaxy-io/dls 1.6.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +136 -116
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +32 -20
  46. package/dist/charts/ChartFrame.d.ts +69 -116
  47. package/dist/charts/ChartFrame.js +253 -119
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +27 -48
  51. package/dist/charts/ChartLegend.js +206 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +33 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +295 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +159 -117
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +149 -135
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/constants.d.ts +96 -256
  79. package/dist/charts/constants.js +105 -275
  80. package/dist/charts/heatmapGeometry.d.ts +95 -0
  81. package/dist/charts/heatmapGeometry.js +155 -0
  82. package/dist/charts/lineChartGeometry.d.ts +108 -58
  83. package/dist/charts/lineChartGeometry.js +120 -78
  84. package/dist/charts/pieChartGeometry.d.ts +66 -40
  85. package/dist/charts/pieChartGeometry.js +68 -38
  86. package/dist/charts/types.d.ts +197 -466
  87. package/dist/charts/types.js +55 -144
  88. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  89. package/dist/charts/useCartesianChartLayout.js +47 -32
  90. package/dist/charts/useChartDimensions.d.ts +19 -40
  91. package/dist/charts/useChartDimensions.js +40 -56
  92. package/dist/charts/useChartFormatters.d.ts +6 -15
  93. package/dist/charts/useChartFormatters.js +4 -9
  94. package/dist/charts/useChartInteraction.d.ts +47 -116
  95. package/dist/charts/useChartInteraction.js +95 -71
  96. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  97. package/dist/charts/useChartTooltipPosition.js +14 -5
  98. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  99. package/dist/charts/useSeriesColorResolver.js +19 -12
  100. package/dist/chips/Chip.d.ts +155 -44
  101. package/dist/chips/Chip.js +329 -155
  102. package/dist/chips/ChipGroup.d.ts +53 -0
  103. package/dist/chips/ChipGroup.js +98 -0
  104. package/dist/drawer/Drawer.d.ts +81 -17
  105. package/dist/drawer/Drawer.js +370 -65
  106. package/dist/dropdown/Dropdown.d.ts +80 -63
  107. package/dist/dropdown/Dropdown.js +127 -129
  108. package/dist/editor/CodeEditor.d.ts +119 -40
  109. package/dist/editor/CodeEditor.js +490 -400
  110. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  111. package/dist/editor/CodeEditorReactWidget.js +28 -21
  112. package/dist/feedback/Alert.d.ts +49 -0
  113. package/dist/feedback/Alert.js +172 -0
  114. package/dist/feedback/EmptyState.d.ts +39 -0
  115. package/dist/feedback/EmptyState.js +109 -0
  116. package/dist/feedback/ProgressBar.d.ts +125 -0
  117. package/dist/feedback/ProgressBar.js +183 -0
  118. package/dist/feedback/ProgressCircle.d.ts +99 -0
  119. package/dist/feedback/ProgressCircle.js +187 -0
  120. package/dist/feedback/Skeleton.d.ts +69 -0
  121. package/dist/feedback/Skeleton.js +130 -0
  122. package/dist/feedback/Spinner.d.ts +63 -0
  123. package/dist/feedback/Spinner.js +141 -0
  124. package/dist/fonts.css +70 -0
  125. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  126. package/dist/hooks/internal/useIsClient.js +14 -0
  127. package/dist/hooks/useClipboard.d.ts +19 -0
  128. package/dist/hooks/useClipboard.js +45 -0
  129. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  130. package/dist/hooks/useControlledOpenState.js +19 -0
  131. package/dist/hooks/useControlledState.d.ts +19 -0
  132. package/dist/hooks/useControlledState.js +22 -0
  133. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  134. package/dist/hooks/useDebouncedValue.js +33 -0
  135. package/dist/hooks/useDisclosure.d.ts +26 -0
  136. package/dist/hooks/useDisclosure.js +36 -0
  137. package/dist/hooks/useDismiss.d.ts +23 -27
  138. package/dist/hooks/useDismiss.js +39 -27
  139. package/dist/hooks/useElementClientSize.d.ts +10 -10
  140. package/dist/hooks/useElementClientSize.js +8 -11
  141. package/dist/hooks/useElementWidth.d.ts +6 -13
  142. package/dist/hooks/useElementWidth.js +6 -14
  143. package/dist/hooks/useField.d.ts +47 -0
  144. package/dist/hooks/useField.js +40 -0
  145. package/dist/hooks/useHotkey.d.ts +77 -0
  146. package/dist/hooks/useHotkey.js +246 -0
  147. package/dist/hooks/useIsMac.d.ts +12 -0
  148. package/dist/hooks/useIsMac.js +27 -0
  149. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  150. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  151. package/dist/hooks/useLocalStorage.d.ts +28 -0
  152. package/dist/hooks/useLocalStorage.js +145 -0
  153. package/dist/hooks/useMediaQuery.d.ts +11 -0
  154. package/dist/hooks/useMediaQuery.js +23 -0
  155. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  156. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  157. package/dist/hooks/useResize.d.ts +42 -62
  158. package/dist/hooks/useResize.js +43 -31
  159. package/dist/icons/Icon.d.ts +64 -37
  160. package/dist/icons/Icon.js +96 -37
  161. package/dist/icons/internal/IconSlot.d.ts +10 -0
  162. package/dist/icons/internal/IconSlot.js +32 -0
  163. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  164. package/dist/inputs/CheckboxGroup.js +183 -0
  165. package/dist/inputs/CheckboxInput.d.ts +98 -28
  166. package/dist/inputs/CheckboxInput.js +218 -88
  167. package/dist/inputs/ColorInput.d.ts +115 -29
  168. package/dist/inputs/ColorInput.js +748 -326
  169. package/dist/inputs/CopyInput.d.ts +49 -20
  170. package/dist/inputs/CopyInput.js +57 -49
  171. package/dist/inputs/CronInput.d.ts +94 -0
  172. package/dist/inputs/CronInput.js +618 -0
  173. package/dist/inputs/DateInput.d.ts +175 -28
  174. package/dist/inputs/DateInput.js +1109 -451
  175. package/dist/inputs/DurationInput.d.ts +101 -0
  176. package/dist/inputs/DurationInput.js +441 -0
  177. package/dist/inputs/Field.d.ts +75 -0
  178. package/dist/inputs/Field.js +247 -0
  179. package/dist/inputs/Fieldset.d.ts +53 -0
  180. package/dist/inputs/Fieldset.js +149 -0
  181. package/dist/inputs/FileInput.d.ts +110 -0
  182. package/dist/inputs/FileInput.js +476 -0
  183. package/dist/inputs/Input.d.ts +148 -187
  184. package/dist/inputs/Input.js +339 -259
  185. package/dist/inputs/KeyValueInput.d.ts +120 -0
  186. package/dist/inputs/KeyValueInput.js +383 -0
  187. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  188. package/dist/inputs/MultiSelectInput.js +175 -559
  189. package/dist/inputs/NumberInput.d.ts +65 -9
  190. package/dist/inputs/NumberInput.js +197 -40
  191. package/dist/inputs/PasswordInput.d.ts +17 -12
  192. package/dist/inputs/PasswordInput.js +33 -33
  193. package/dist/inputs/PinInput.d.ts +117 -0
  194. package/dist/inputs/PinInput.js +364 -0
  195. package/dist/inputs/RadioGroup.d.ts +115 -0
  196. package/dist/inputs/RadioGroup.js +179 -0
  197. package/dist/inputs/RadioInput.d.ts +87 -24
  198. package/dist/inputs/RadioInput.js +182 -95
  199. package/dist/inputs/SearchInput.d.ts +66 -0
  200. package/dist/inputs/SearchInput.js +156 -0
  201. package/dist/inputs/SelectInput.d.ts +195 -55
  202. package/dist/inputs/SelectInput.js +1308 -446
  203. package/dist/inputs/SliderInput.d.ts +150 -30
  204. package/dist/inputs/SliderInput.js +441 -186
  205. package/dist/inputs/SwitchInput.d.ts +109 -0
  206. package/dist/inputs/SwitchInput.js +248 -0
  207. package/dist/inputs/TagInput.d.ts +117 -0
  208. package/dist/inputs/TagInput.js +408 -0
  209. package/dist/inputs/TextAreaInput.d.ts +146 -44
  210. package/dist/inputs/TextAreaInput.js +292 -198
  211. package/dist/inputs/TextInput.d.ts +4 -13
  212. package/dist/inputs/TextInput.js +13 -48
  213. package/dist/inputs/ToggleInput.d.ts +120 -22
  214. package/dist/inputs/ToggleInput.js +262 -116
  215. package/dist/inputs/internal/bareField.d.ts +18 -0
  216. package/dist/inputs/internal/bareField.js +38 -0
  217. package/dist/inputs/internal/devWarn.d.ts +7 -0
  218. package/dist/inputs/internal/devWarn.js +30 -0
  219. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  220. package/dist/inputs/internal/fieldFrame.js +64 -0
  221. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  222. package/dist/inputs/internal/fieldWiring.js +38 -0
  223. package/dist/inputs/internal/innerButton.d.ts +2 -0
  224. package/dist/inputs/internal/innerButton.js +24 -0
  225. package/dist/inputs/internal/ownField.d.ts +45 -0
  226. package/dist/inputs/internal/ownField.js +58 -0
  227. package/dist/inputs/internal/predicates.d.ts +9 -0
  228. package/dist/inputs/internal/predicates.js +11 -0
  229. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  230. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  231. package/dist/json/JsonViewer.d.ts +62 -0
  232. package/dist/json/JsonViewer.js +483 -0
  233. package/dist/layout/Box.d.ts +87 -0
  234. package/dist/layout/Box.js +109 -0
  235. package/dist/layout/Divider.d.ts +25 -0
  236. package/dist/layout/Divider.js +70 -0
  237. package/dist/layout/Flex.d.ts +139 -0
  238. package/dist/layout/Flex.js +165 -0
  239. package/dist/layout/FlexItem.d.ts +72 -0
  240. package/dist/layout/FlexItem.js +84 -0
  241. package/dist/layout/Grid.d.ts +140 -0
  242. package/dist/layout/Grid.js +178 -0
  243. package/dist/layout/Portal.d.ts +29 -0
  244. package/dist/layout/Portal.js +27 -0
  245. package/dist/layout/ResizablePanels.d.ts +88 -0
  246. package/dist/layout/ResizablePanels.js +198 -0
  247. package/dist/layout/ResizeHandle.d.ts +48 -0
  248. package/dist/layout/ResizeHandle.js +143 -0
  249. package/dist/layout/ScrollArea.d.ts +30 -0
  250. package/dist/layout/ScrollArea.js +138 -0
  251. package/dist/links/Link.d.ts +101 -1
  252. package/dist/links/Link.js +166 -4
  253. package/dist/lists/BulletedList.d.ts +25 -7
  254. package/dist/lists/BulletedList.js +72 -27
  255. package/dist/lists/DescriptionList.d.ts +91 -0
  256. package/dist/lists/DescriptionList.js +147 -0
  257. package/dist/menu/ContextMenu.d.ts +64 -0
  258. package/dist/menu/ContextMenu.js +34 -0
  259. package/dist/menu/Menu.d.ts +280 -0
  260. package/dist/menu/Menu.js +1003 -0
  261. package/dist/modal/ConfirmDialog.d.ts +55 -0
  262. package/dist/modal/ConfirmDialog.js +151 -0
  263. package/dist/modal/Modal.d.ts +64 -14
  264. package/dist/modal/Modal.js +189 -48
  265. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  266. package/dist/navigation/Breadcrumbs.js +243 -0
  267. package/dist/navigation/CommandPalette.d.ts +83 -0
  268. package/dist/navigation/CommandPalette.js +509 -0
  269. package/dist/navigation/Pagination.d.ts +87 -0
  270. package/dist/navigation/Pagination.js +300 -0
  271. package/dist/navigation/SidebarNav.d.ts +107 -0
  272. package/dist/navigation/SidebarNav.js +341 -0
  273. package/dist/navigation/Stepper.d.ts +52 -0
  274. package/dist/navigation/Stepper.js +207 -0
  275. package/dist/navigation/Tabs.d.ts +113 -0
  276. package/dist/navigation/Tabs.js +543 -0
  277. package/dist/navigation/Topbar.d.ts +20 -0
  278. package/dist/navigation/Topbar.js +62 -0
  279. package/dist/overlay/OverlayProvider.d.ts +28 -32
  280. package/dist/overlay/OverlayProvider.js +42 -93
  281. package/dist/overlay/useOverlay.d.ts +88 -12
  282. package/dist/overlay/useOverlay.js +220 -43
  283. package/dist/overlays/Popover.d.ts +114 -0
  284. package/dist/overlays/Popover.js +389 -0
  285. package/dist/shapes/Circle.d.ts +84 -8
  286. package/dist/shapes/Circle.js +122 -20
  287. package/dist/shapes/Square.d.ts +84 -8
  288. package/dist/shapes/Square.js +123 -20
  289. package/dist/styles/mixins.d.ts +35 -0
  290. package/dist/styles/mixins.js +60 -0
  291. package/dist/styles.css +1 -202
  292. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  293. package/dist/table/InfiniteSpreadsheet.js +762 -225
  294. package/dist/table/InfiniteTable.d.ts +116 -14
  295. package/dist/table/InfiniteTable.js +287 -429
  296. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  297. package/dist/table/SpreadsheetCellEditor.js +163 -84
  298. package/dist/table/TableCore.d.ts +252 -0
  299. package/dist/table/TableCore.js +1077 -0
  300. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  301. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  302. package/dist/table/types.d.ts +66 -244
  303. package/dist/table/types.js +0 -51
  304. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  305. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  306. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  307. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  308. package/dist/table/useTableColumnLayout.d.ts +90 -25
  309. package/dist/table/useTableColumnLayout.js +255 -50
  310. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  311. package/dist/table/useTableKeyboardNavigation.js +95 -71
  312. package/dist/table/useTableRowSelection.d.ts +24 -25
  313. package/dist/table/useTableRowSelection.js +57 -84
  314. package/dist/table/useTableVirtualizer.d.ts +20 -0
  315. package/dist/table/useTableVirtualizer.js +48 -0
  316. package/dist/text/Bold.d.ts +5 -6
  317. package/dist/text/Bold.js +16 -15
  318. package/dist/text/Code.d.ts +5 -6
  319. package/dist/text/Code.js +16 -25
  320. package/dist/text/CodeBlock.d.ts +77 -0
  321. package/dist/text/CodeBlock.js +373 -0
  322. package/dist/text/EditableText.d.ts +55 -15
  323. package/dist/text/EditableText.js +153 -135
  324. package/dist/text/Ellipsis.d.ts +34 -8
  325. package/dist/text/Ellipsis.js +55 -23
  326. package/dist/text/Kbd.d.ts +72 -0
  327. package/dist/text/Kbd.js +284 -0
  328. package/dist/text/MarkdownText.d.ts +27 -10
  329. package/dist/text/MarkdownText.js +317 -300
  330. package/dist/text/RequiredMarker.d.ts +17 -5
  331. package/dist/text/RequiredMarker.js +34 -36
  332. package/dist/text/Selectable.d.ts +5 -6
  333. package/dist/text/Selectable.js +16 -13
  334. package/dist/text/Span.d.ts +82 -0
  335. package/dist/text/Span.js +115 -0
  336. package/dist/text/Text.d.ts +128 -41
  337. package/dist/text/Text.js +209 -76
  338. package/dist/theme/GalaxyProvider.d.ts +75 -0
  339. package/dist/theme/GalaxyProvider.js +223 -0
  340. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  341. package/dist/theme/ThemeSwitcher.js +94 -0
  342. package/dist/theme/enums.d.ts +118 -0
  343. package/dist/theme/enums.js +144 -0
  344. package/dist/theme/tokens/dark.d.ts +2 -0
  345. package/dist/theme/tokens/dark.js +275 -0
  346. package/dist/theme/tokens/generate.d.ts +15 -0
  347. package/dist/theme/tokens/generate.js +47 -0
  348. package/dist/theme/tokens/light.d.ts +2 -0
  349. package/dist/theme/tokens/light.js +274 -0
  350. package/dist/theme/tokens/palette.d.ts +14 -0
  351. package/dist/theme/tokens/palette.js +153 -0
  352. package/dist/theme/tokens/scales.d.ts +26 -0
  353. package/dist/theme/tokens/scales.js +154 -0
  354. package/dist/theme/tokens/t.d.ts +3 -0
  355. package/dist/theme/tokens/t.js +25 -0
  356. package/dist/theme/tokens/types.d.ts +189 -0
  357. package/dist/theme/tokens/types.js +0 -0
  358. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  359. package/dist/theme/useGalaxyTheme.js +36 -0
  360. package/dist/theme/useInverseScope.d.ts +18 -0
  361. package/dist/theme/useInverseScope.js +33 -0
  362. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  363. package/dist/three/GalaxyLogomark3D.js +134 -0
  364. package/dist/three/assets/galaxy-logomark.js +4 -0
  365. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  366. package/dist/three/galaxyLogomark3DScene.js +165 -0
  367. package/dist/timeline/Timeline.d.ts +99 -0
  368. package/dist/timeline/Timeline.js +269 -0
  369. package/dist/toast/Toast.d.ts +43 -19
  370. package/dist/toast/Toast.js +130 -89
  371. package/dist/toast/ToastProvider.d.ts +23 -23
  372. package/dist/toast/ToastProvider.js +298 -101
  373. package/dist/toast/ToastViewport.d.ts +12 -0
  374. package/dist/toast/ToastViewport.js +210 -0
  375. package/dist/toast/useToast.d.ts +139 -5
  376. package/dist/toast/useToast.js +15 -13
  377. package/dist/tokens.css +654 -0
  378. package/dist/tooltip/Tooltip.d.ts +64 -44
  379. package/dist/tooltip/Tooltip.js +280 -73
  380. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  381. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  382. package/dist/transform/Fade.d.ts +33 -11
  383. package/dist/transform/Fade.js +71 -19
  384. package/dist/transform/Flasher.d.ts +25 -0
  385. package/dist/transform/Flasher.js +39 -0
  386. package/dist/transform/Rotate.d.ts +24 -12
  387. package/dist/transform/Rotate.js +36 -22
  388. package/dist/transform/ScaleFade.d.ts +36 -11
  389. package/dist/transform/ScaleFade.js +86 -28
  390. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  391. package/dist/transform/internal/CollapseMotion.js +65 -0
  392. package/dist/tree/Tree.d.ts +85 -0
  393. package/dist/tree/Tree.js +387 -0
  394. package/dist/tree/treeRow.d.ts +39 -0
  395. package/dist/tree/treeRow.js +75 -0
  396. package/dist/utils/colors.d.ts +46 -13
  397. package/dist/utils/colors.js +92 -34
  398. package/dist/utils/css.d.ts +23 -0
  399. package/dist/utils/css.js +30 -0
  400. package/dist/utils/format.d.ts +58 -0
  401. package/dist/utils/format.js +220 -0
  402. package/dist/vite/index.d.ts +16 -0
  403. package/dist/vite/index.js +52 -0
  404. package/dist/widget/Widget.d.ts +164 -48
  405. package/dist/widget/Widget.js +335 -96
  406. package/dist/widget/WidgetGroup.d.ts +36 -0
  407. package/dist/widget/WidgetGroup.js +103 -0
  408. package/package.json +851 -157
  409. package/dist/accordion/Accordion.d.ts +0 -54
  410. package/dist/accordion/Accordion.js +0 -183
  411. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  412. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  413. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  415. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  416. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  417. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  419. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  420. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  421. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  423. package/dist/assets/models/galaxy-animation.js +0 -136666
  424. package/dist/assets/models/galaxy-logomark.js +0 -4
  425. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  426. package/dist/avatar/AvatarShimmer.js +0 -22
  427. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  428. package/dist/backgrounds/CellGridBackground.js +0 -44
  429. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  430. package/dist/backgrounds/CrossGridBackground.js +0 -49
  431. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  432. package/dist/backgrounds/DotGridBackground.js +0 -47
  433. package/dist/badge/Badge.d.ts +0 -42
  434. package/dist/badge/Badge.js +0 -99
  435. package/dist/charts/ChartEmptyState.d.ts +0 -17
  436. package/dist/charts/ChartEmptyState.js +0 -29
  437. package/dist/charts/ProgressBar.d.ts +0 -29
  438. package/dist/charts/ProgressBar.js +0 -65
  439. package/dist/charts/chartTheme.d.ts +0 -18
  440. package/dist/charts/chartTheme.js +0 -26
  441. package/dist/containers/FlexItem.d.ts +0 -50
  442. package/dist/containers/FlexItem.js +0 -91
  443. package/dist/containers/FlexWrapper.d.ts +0 -96
  444. package/dist/containers/FlexWrapper.js +0 -143
  445. package/dist/containers/GridWrapper.d.ts +0 -79
  446. package/dist/containers/GridWrapper.js +0 -125
  447. package/dist/containers/Spacing.d.ts +0 -23
  448. package/dist/containers/Spacing.js +0 -59
  449. package/dist/containers/Wrapper.d.ts +0 -26
  450. package/dist/containers/Wrapper.js +0 -54
  451. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  452. package/dist/dividers/HorizontalDivider.js +0 -39
  453. package/dist/dividers/VerticalDivider.d.ts +0 -6
  454. package/dist/dividers/VerticalDivider.js +0 -21
  455. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  456. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  457. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  458. package/dist/icons/GalaxyLogomark.js +0 -27
  459. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  460. package/dist/icons/GalaxyLogomark3D.js +0 -319
  461. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  462. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  463. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  464. package/dist/icons/GalaxyWordmark.js +0 -25
  465. package/dist/inputs/MultiTextInput.d.ts +0 -32
  466. package/dist/inputs/MultiTextInput.js +0 -180
  467. package/dist/inputs/SwitcherInput.d.ts +0 -27
  468. package/dist/inputs/SwitcherInput.js +0 -64
  469. package/dist/inputs/hooks.d.ts +0 -10
  470. package/dist/inputs/hooks.js +0 -22
  471. package/dist/overlay/constants.d.ts +0 -28
  472. package/dist/overlay/constants.js +0 -37
  473. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  474. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  475. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  476. package/dist/resizable/VerticalResizeHandle.js +0 -39
  477. package/dist/table/SpreadsheetCell.d.ts +0 -21
  478. package/dist/table/SpreadsheetCell.js +0 -71
  479. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  480. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  481. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  482. package/dist/table/SpreadsheetMenuItem.js +0 -33
  483. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  484. package/dist/table/SpreadsheetPrimitives.js +0 -105
  485. package/dist/table/SpreadsheetRow.d.ts +0 -33
  486. package/dist/table/SpreadsheetRow.js +0 -73
  487. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  488. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  489. package/dist/table/TableExpandCell.d.ts +0 -11
  490. package/dist/table/TableExpandCell.js +0 -24
  491. package/dist/table/TableExpandedRow.d.ts +0 -16
  492. package/dist/table/TableExpandedRow.js +0 -77
  493. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  494. package/dist/table/TableHeaderCellContent.js +0 -48
  495. package/dist/table/TablePrimitives.d.ts +0 -313
  496. package/dist/table/TablePrimitives.js +0 -302
  497. package/dist/table/TableSelectCell.d.ts +0 -18
  498. package/dist/table/TableSelectCell.js +0 -27
  499. package/dist/table/TableStatusRow.d.ts +0 -18
  500. package/dist/table/TableStatusRow.js +0 -50
  501. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  502. package/dist/table/useSpreadsheetEditing.js +0 -41
  503. package/dist/table/useTableColumnResize.d.ts +0 -38
  504. package/dist/table/useTableColumnResize.js +0 -155
  505. package/dist/table/useTableRowExpansion.d.ts +0 -24
  506. package/dist/table/useTableRowExpansion.js +0 -62
  507. package/dist/table/utils.d.ts +0 -50
  508. package/dist/table/utils.js +0 -78
  509. package/dist/text/HotKeys.d.ts +0 -30
  510. package/dist/text/HotKeys.js +0 -74
  511. package/dist/text/Paragraph.d.ts +0 -33
  512. package/dist/text/Paragraph.js +0 -83
  513. package/dist/text/TextShimmer.d.ts +0 -14
  514. package/dist/text/TextShimmer.js +0 -34
  515. package/dist/theme/GalaxyTheme.d.ts +0 -67
  516. package/dist/theme/GalaxyTheme.js +0 -119
  517. package/dist/theme/constants.d.ts +0 -8
  518. package/dist/theme/constants.js +0 -38
  519. package/dist/theme/index.d.ts +0 -6
  520. package/dist/theme/index.js +0 -7
  521. package/dist/theme/types.d.ts +0 -195
  522. package/dist/theme/types.js +0 -10
  523. package/dist/theme/typography.d.ts +0 -2
  524. package/dist/theme/typography.js +0 -73
  525. package/dist/theme/variants/dark.d.ts +0 -2
  526. package/dist/theme/variants/dark.js +0 -125
  527. package/dist/theme/variants/light.d.ts +0 -2
  528. package/dist/theme/variants/light.js +0 -125
  529. package/dist/toast/ToastContainer.d.ts +0 -10
  530. package/dist/toast/ToastContainer.js +0 -31
  531. package/dist/toast/ToastWrapper.d.ts +0 -6
  532. package/dist/toast/ToastWrapper.js +0 -27
  533. package/dist/transform/Flash.d.ts +0 -7
  534. package/dist/transform/Flash.js +0 -18
  535. package/dist/transform/Spin.d.ts +0 -14
  536. package/dist/transform/Spin.js +0 -25
  537. package/dist/utils/linaria.d.ts +0 -1
  538. package/dist/utils/linaria.js +0 -8
@@ -1,188 +1,362 @@
1
- import { withTheme } from "../theme/GalaxyTheme.js";
1
+ import Skeleton, { SkeletonSize, SkeletonVariant } from "../feedback/Skeleton.js";
2
2
  import Text, { TextSize, TextVariant } from "../text/Text.js";
3
- import FlexItem from "../containers/FlexItem.js";
3
+ import Tooltip from "../tooltip/Tooltip.js";
4
+ import Beacon, { BeaconSize, BeaconVariant } from "../beacons/Beacon.js";
4
5
  import Icon, { IconVariant } from "../icons/Icon.js";
5
- import FlexWrapper from "../containers/FlexWrapper.js";
6
- import TextShimmer from "../text/TextShimmer.js";
7
- import Ellipsis from "../text/Ellipsis.js";
8
- import AvatarShimmer from "../avatar/AvatarShimmer.js";
9
6
  /* empty css */
10
7
  import { styled } from "@linaria/react";
11
- import { match } from "ts-pattern";
8
+ import { forwardRef } from "react";
12
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
+ import { cx } from "@linaria/core";
13
11
  import { XIcon } from "@phosphor-icons/react";
14
12
  //#region src/chips/Chip.tsx
15
- /** Chip color. Tints the background, border and label together. */
13
+ /**
14
+ * A compact, tinted label for one short value: a tag, a category, a type, a filter, a role, or a
15
+ * count. `variant` is a meaning from the canonical color set and `color` a categorical palette
16
+ * family (one or the other), so a chip says "warehouse", "beta" or "3 unread" in a color that
17
+ * follows the theme. It can carry a leading mark (a status dot, an
18
+ * icon, an avatar), show a `count` (the 1.x `Badge`), be dismissed with a trailing × button, and
19
+ * become a toggle button when it has `onClick` (a filter chip).
20
+ *
21
+ * Structure: a `<span>` root carries the fill, border, radius and height; inside it a body (a
22
+ * `<span>`, or a `<button>` with `onClick`) holds the marks, the label and the count, and an
23
+ * optional × `<button>` follows it. The body and the × are siblings, so a clickable, dismissible
24
+ * chip has two tab stops and no nested interactives.
25
+ *
26
+ * Color is CSS: the variant (or `color`) map sets `color` and the `--gx-chip-fill` /
27
+ * `--gx-chip-border` custom properties on the root, and the label, count, dot and × inherit `currentColor`, so `hex`,
28
+ * `INHERIT` and the disabled look share one path and a theme switch needs no re-render.
29
+ *
30
+ * Not a live status (a labeled `Beacon`), not an action (`Button`), not a list with overflow (`ChipGroup`),
31
+ * not a tag input (`TagInput`).
32
+ */
33
+ /** Canonical rungs; the member names the control rung the chip sits in. */
34
+ var ChipSize = /* @__PURE__ */ function(ChipSize) {
35
+ /** 16px tall, `caption` text, 10px icon. */
36
+ ChipSize["X_SMALL"] = "X_SMALL";
37
+ /** 20px tall, `body_sm` text, 12px icon (1.x `SMALL` 18px; 1.x Badge `SMALL` 16px). */
38
+ ChipSize["SMALL"] = "SMALL";
39
+ /** 24px tall, `body_md` text, 14px icon. The default (1.x `MEDIUM` 20px). */
40
+ ChipSize["MEDIUM"] = "MEDIUM";
41
+ /** 28px tall, `body_lg` text, 16px icon (1.x `LARGE` 24px). */
42
+ ChipSize["LARGE"] = "LARGE";
43
+ /** 32px tall, `body_lg` text, 16px icon. */
44
+ ChipSize["X_LARGE"] = "X_LARGE";
45
+ return ChipSize;
46
+ }({});
47
+ /**
48
+ * Color role (Constitution V-A color set; meaning only): tints the fill, the text and the border
49
+ * together. Categories take `color` instead.
50
+ */
16
51
  var ChipVariant = /* @__PURE__ */ function(ChipVariant) {
52
+ /** `background.primary` fill, `text.primary`. */
17
53
  ChipVariant["PRIMARY"] = "PRIMARY";
18
- ChipVariant["PRIMARY_ALT"] = "PRIMARY_ALT";
54
+ /** `background.secondary` fill, `text.primary`. The default (1.x default). */
19
55
  ChipVariant["SECONDARY"] = "SECONDARY";
56
+ /** `background.tertiary` fill, `text.primary`. */
20
57
  ChipVariant["TERTIARY"] = "TERTIARY";
58
+ /** `background.secondary` fill, `text.disabled`. */
59
+ ChipVariant["DISABLED"] = "DISABLED";
60
+ /** The parent's `currentColor`, with a fill and border mixed from it. */
61
+ ChipVariant["INHERIT"] = "INHERIT";
62
+ /** Status: success fill and text. */
21
63
  ChipVariant["SUCCESS"] = "SUCCESS";
64
+ /** Status: warning fill and text. */
22
65
  ChipVariant["WARNING"] = "WARNING";
66
+ /** Status: error fill and text. */
23
67
  ChipVariant["ERROR"] = "ERROR";
24
- ChipVariant["PINK"] = "PINK";
25
- ChipVariant["ORANGE"] = "ORANGE";
26
- ChipVariant["YELLOW"] = "YELLOW";
27
- ChipVariant["LIME"] = "LIME";
28
- ChipVariant["BLUE"] = "BLUE";
29
- ChipVariant["PURPLE"] = "PURPLE";
30
- ChipVariant["TEAL"] = "TEAL";
31
68
  return ChipVariant;
32
69
  }({});
33
- /** Chip height. Also drives label and icon size. */
34
- var ChipSize = /* @__PURE__ */ function(ChipSize) {
35
- ChipSize["SMALL"] = "SMALL";
36
- ChipSize["MEDIUM"] = "MEDIUM";
37
- ChipSize["LARGE"] = "LARGE";
38
- return ChipSize;
39
- }({});
40
- var _exp = () => ({ $isClickable }) => $isClickable ? "pointer" : "inherit";
41
- var _exp2 = () => ({ $size }) => {
42
- return match($size).with("SMALL", () => "18px").with("MEDIUM", () => "20px").with("LARGE", () => "24px").exhaustive();
70
+ /**
71
+ * The fill, border, radius and height. The transparent hairline gives every chip the same box
72
+ * with or without `hasBorder`, and becomes visible in forced colors.
73
+ */
74
+ var Root = /*#__PURE__*/ styled("span")({
75
+ name: "Root",
76
+ class: "gx-Chip-rhdcix9",
77
+ propsAsIs: false
78
+ });
79
+ /** Holds the dot, `leading`, the icon, the label and the count, in that order. Only the label shrinks. */
80
+ var Body = /*#__PURE__*/ styled("span")({
81
+ name: "Body",
82
+ class: "gx-Chip-Body-b1792b5d",
83
+ propsAsIs: false
84
+ });
85
+ /** The `leading` slot: never squeezed. */
86
+ var LeadingSlot = /*#__PURE__*/ styled("span")({
87
+ name: "LeadingSlot",
88
+ class: "gx-Chip-LeadingSlot-larvjas",
89
+ propsAsIs: false
90
+ });
91
+ /**
92
+ * The trailing × button. It rests at 64% of the chip's color and goes full strength on hover and
93
+ * keyboard focus. `INTERACTIVE_RESET` comes first so the rules after it win.
94
+ */
95
+ var Dismiss = /*#__PURE__*/ styled("button")({
96
+ name: "Dismiss",
97
+ class: "gx-Chip-Dismiss-drtsg2v",
98
+ propsAsIs: false
99
+ });
100
+ /**
101
+ * The body as a `<button>` (with `onClick`): the reset, then the body rules it clears, the focus
102
+ * ring, and the hover and press paint. The paint is on the body only, so hovering the × does not
103
+ * light it up. `aria-disabled` is a state attribute, not a variant selector.
104
+ */
105
+ var INTERACTIVE_BODY_CSS = "gx-Chip-INTERACTIVE_BODY_CSS-i10wo102";
106
+ /**
107
+ * No label (icon-only or count-only): the inset narrows to the gap, so a single icon or digit
108
+ * fits inside `min-width` and the chip is a square (a circle with `isPill`) at every rung.
109
+ * Declared after the interactive body, which re-sets the padding.
110
+ */
111
+ var UNLABELLED_BODY_CSS = "gx-Chip-UNLABELLED_BODY_CSS-uw0i2x";
112
+ /** With `onDismiss`: the × supplies the end padding and the end corners. Declared after the interactive body. */
113
+ var DISMISSIBLE_BODY_CSS = "gx-Chip-DISMISSIBLE_BODY_CSS-d1umqpnl";
114
+ /** `isDisabled` on the body button and the ×. */
115
+ var DISABLED_CURSOR_CSS = "gx-Chip-DISABLED_CURSOR_CSS-d1tlslh5";
116
+ /** `isLoading` on the body button. */
117
+ var LOADING_CURSOR_CSS = "gx-Chip-LOADING_CURSOR_CSS-l17p62o9";
118
+ /** A mark (icon, count) that never shrinks; only the label does. */
119
+ var NO_SHRINK_CSS = "gx-Chip-NO_SHRINK_CSS-n113l4kw";
120
+ /**
121
+ * Loading: the Skeleton placeholder lays its hidden children out exactly as the body does (same
122
+ * gap, centered), so the chip keeps its width. Doubled class so it wins over Skeleton's own
123
+ * `display` at any stylesheet order.
124
+ */
125
+ var SKELETON_GROUP_CSS = "gx-Chip-SKELETON_GROUP_CSS-s19yp9be";
126
+ /** The marks group while loading never shrinks. */
127
+ var SKELETON_MARKS_CSS = "gx-Chip-SKELETON_MARKS_CSS-s16e2y3o";
128
+ /** The text group while loading may shrink, like the label. */
129
+ var SKELETON_TEXT_CSS = "gx-Chip-SKELETON_TEXT_CSS-s1ryzn2p";
130
+ /**
131
+ * Height and `min-width` (equal, so a one-digit count or an icon-only chip is a square, or a
132
+ * circle with `isPill`) and the padding and gap the body and × read. Each height is the rung's
133
+ * line height plus an even inset, so text and icons land on whole pixels.
134
+ */
135
+ var CHIP_SIZE_TO_CSS_MAP = {
136
+ ["X_SMALL"]: "gx-Chip-X_SMALL-x655h5d",
137
+ ["SMALL"]: "gx-Chip-SMALL-s19l6inr",
138
+ ["MEDIUM"]: "gx-Chip-MEDIUM-mya1ucz",
139
+ ["LARGE"]: "gx-Chip-LARGE-ldd03ku",
140
+ ["X_LARGE"]: "gx-Chip-X_LARGE-xxrjjby"
43
141
  };
44
- var _exp3 = () => ({ $size }) => {
45
- return match($size).with("SMALL", () => "0 5px").with("MEDIUM", () => "0 6px").with("LARGE", () => "0 8px").exhaustive();
142
+ /** Sets `color` on the root and the fill and border custom properties per color role. */
143
+ var CHIP_VARIANT_TO_CSS_MAP = {
144
+ ["PRIMARY"]: "gx-Chip-PRIMARY-p1ydunl3",
145
+ ["SECONDARY"]: "gx-Chip-SECONDARY-s1g96kbw",
146
+ ["TERTIARY"]: "gx-Chip-TERTIARY-t10q6vgd",
147
+ ["DISABLED"]: "gx-Chip-DISABLED-d1vwq9sr",
148
+ ["INHERIT"]: "gx-Chip-INHERIT-i1pttgxr",
149
+ ["SUCCESS"]: "gx-Chip-SUCCESS-sxbabla",
150
+ ["WARNING"]: "gx-Chip-WARNING-wmla4eg",
151
+ ["ERROR"]: "gx-Chip-ERROR-ey90mc4"
46
152
  };
47
- var _exp4 = () => ({ theme, $variant, $noBackground }) => {
48
- if ($noBackground) return "transparent";
49
- return match($variant).with("PRIMARY", () => theme.color.background.primary).with("PRIMARY_ALT", () => theme.color.background.primaryAlt).with("SECONDARY", () => theme.color.background.secondary).with("TERTIARY", () => theme.color.background.tertiary).with("SUCCESS", () => theme.color.background.success).with("WARNING", () => theme.color.background.warning).with("ERROR", () => theme.color.background.error).with("PINK", () => theme.color.background.pink).with("ORANGE", () => theme.color.background.orange).with("YELLOW", () => theme.color.background.yellow).with("LIME", () => theme.color.background.lime).with("BLUE", () => theme.color.background.blue).with("PURPLE", () => theme.color.background.purple).with("TEAL", () => theme.color.background.teal).exhaustive();
153
+ /** Categorical `color`: the family's text, fill and border, as a status variant renders. */
154
+ var CHIP_COLOR_TO_CSS_MAP = {
155
+ red: "gx-Chip-red-r1buqu4j",
156
+ orange: "gx-Chip-orange-o1xofe8u",
157
+ amber: "gx-Chip-amber-alle9kf",
158
+ yellow: "gx-Chip-yellow-yvehr9v",
159
+ lime: "gx-Chip-lime-l6qjmz2",
160
+ green: "gx-Chip-green-gtd4jog",
161
+ emerald: "gx-Chip-emerald-evlk44e",
162
+ teal: "gx-Chip-teal-t1pq316v",
163
+ cyan: "gx-Chip-cyan-cm0lqld",
164
+ sky: "gx-Chip-sky-syyt7c0",
165
+ blue: "gx-Chip-blue-b11ah2de",
166
+ indigo: "gx-Chip-indigo-izbiez9",
167
+ violet: "gx-Chip-violet-v9o9u3v",
168
+ purple: "gx-Chip-purple-p1ec95in",
169
+ fuchsia: "gx-Chip-fuchsia-fptfyqj",
170
+ pink: "gx-Chip-pink-p1fzme42",
171
+ rose: "gx-Chip-rose-riztats"
50
172
  };
51
- var _exp5 = () => ({ $isPill }) => $isPill ? "200px" : "4px";
52
- var StyledChip = withTheme(/*#__PURE__*/ styled("div")({
53
- name: "StyledChip",
54
- class: "shdcix9",
55
- propsAsIs: false,
56
- vars: {
57
- "shdcix9-0": [_exp()],
58
- "shdcix9-1": [_exp2()],
59
- "shdcix9-2": [_exp3()],
60
- "shdcix9-3": [_exp4()],
61
- "shdcix9-4": [_exp5()]
62
- }
63
- }));
64
- var CHIP_SIZE_TO_SHIMMER_HEIGHT = {
65
- ["SMALL"]: 10,
66
- ["MEDIUM"]: 12,
67
- ["LARGE"]: 14
173
+ /** `hex`: declared after the variant and color maps so it wins over them. */
174
+ var HEX_CSS = "gx-Chip-HEX_CSS-h1g78mhs";
175
+ var HAS_BORDER_CSS = "gx-Chip-HAS_BORDER_CSS-h1t4qqih";
176
+ /** Declared after `HAS_BORDER_CSS`, so selection wins. */
177
+ var SELECTED_CSS = "gx-Chip-SELECTED_CSS-s1na9n10";
178
+ var PILL_CSS = "gx-Chip-PILL_CSS-py859dk";
179
+ /** Label and count type step per rung (Constitution III-A.4). */
180
+ var CHIP_SIZE_TO_TEXT_SIZE_MAP = {
181
+ ["X_SMALL"]: TextSize.CAPTION,
182
+ ["SMALL"]: TextSize.BODY_SM,
183
+ ["MEDIUM"]: TextSize.BODY_MD,
184
+ ["LARGE"]: TextSize.BODY_LG,
185
+ ["X_LARGE"]: TextSize.BODY_LG
186
+ };
187
+ /** Icon px per rung; even, so the icon centers on whole pixels in the chip's height. */
188
+ var CHIP_SIZE_TO_ICON_PX_MAP = {
189
+ ["X_SMALL"]: 10,
190
+ ["SMALL"]: 12,
191
+ ["MEDIUM"]: 14,
192
+ ["LARGE"]: 16,
193
+ ["X_LARGE"]: 16
68
194
  };
69
- var CHIP_SIZE_TO_SHIMMER_WIDTH = {
70
- ["SMALL"]: 14,
71
- ["MEDIUM"]: 18,
72
- ["LARGE"]: 22
195
+ /** Identity: BeaconSize names the text step the dot sits beside, which is the chip's own. */
196
+ var CHIP_SIZE_TO_BEACON_SIZE_MAP = {
197
+ ["X_SMALL"]: BeaconSize.X_SMALL,
198
+ ["SMALL"]: BeaconSize.SMALL,
199
+ ["MEDIUM"]: BeaconSize.MEDIUM,
200
+ ["LARGE"]: BeaconSize.LARGE,
201
+ ["X_LARGE"]: BeaconSize.X_LARGE
73
202
  };
74
- var CHIP_SIZE_TO_ICON_SIZE = {
75
- ["SMALL"]: 10,
76
- ["MEDIUM"]: 12,
77
- ["LARGE"]: 14
203
+ /** Identity (the Skeleton host contract); wrapper mode ignores `size`. */
204
+ var CHIP_SIZE_TO_SKELETON_SIZE_MAP = {
205
+ ["X_SMALL"]: SkeletonSize.X_SMALL,
206
+ ["SMALL"]: SkeletonSize.SMALL,
207
+ ["MEDIUM"]: SkeletonSize.MEDIUM,
208
+ ["LARGE"]: SkeletonSize.LARGE,
209
+ ["X_LARGE"]: SkeletonSize.X_LARGE
78
210
  };
79
- var CHIP_VARIANT_TO_ICON_VARIANT = {
211
+ /** A neutral chip's icon is one step quieter than its label (1.x); every other role inherits. */
212
+ var CHIP_VARIANT_TO_ICON_VARIANT_MAP = {
80
213
  ["PRIMARY"]: IconVariant.PRIMARY,
81
- ["PRIMARY_ALT"]: IconVariant.PRIMARY_ALT,
82
214
  ["SECONDARY"]: IconVariant.SECONDARY,
83
215
  ["TERTIARY"]: IconVariant.TERTIARY,
84
- ["SUCCESS"]: IconVariant.SUCCESS,
85
- ["WARNING"]: IconVariant.WARNING,
86
- ["ERROR"]: IconVariant.ERROR,
87
- ["PINK"]: IconVariant.PINK,
88
- ["ORANGE"]: IconVariant.ORANGE,
89
- ["YELLOW"]: IconVariant.YELLOW,
90
- ["LIME"]: IconVariant.LIME,
91
- ["BLUE"]: IconVariant.BLUE,
92
- ["PURPLE"]: IconVariant.PURPLE,
93
- ["TEAL"]: IconVariant.TEAL
216
+ ["DISABLED"]: IconVariant.INHERIT,
217
+ ["INHERIT"]: IconVariant.INHERIT,
218
+ ["SUCCESS"]: IconVariant.INHERIT,
219
+ ["WARNING"]: IconVariant.INHERIT,
220
+ ["ERROR"]: IconVariant.INHERIT
94
221
  };
95
- var CHIP_VARIANT_TO_TEXT_VARIANT = {
96
- ["PRIMARY"]: TextVariant.PRIMARY,
97
- ["PRIMARY_ALT"]: TextVariant.PRIMARY_ALT,
98
- ["SECONDARY"]: TextVariant.PRIMARY,
99
- ["TERTIARY"]: TextVariant.PRIMARY,
100
- ["SUCCESS"]: TextVariant.SUCCESS,
101
- ["WARNING"]: TextVariant.WARNING,
102
- ["ERROR"]: TextVariant.ERROR,
103
- ["PINK"]: TextVariant.PINK,
104
- ["ORANGE"]: TextVariant.ORANGE,
105
- ["YELLOW"]: TextVariant.YELLOW,
106
- ["LIME"]: TextVariant.LIME,
107
- ["BLUE"]: TextVariant.BLUE,
108
- ["PURPLE"]: TextVariant.PURPLE,
109
- ["TEAL"]: TextVariant.TEAL
110
- };
111
- var CHIP_SIZE_TO_TEXT_SIZE = {
112
- ["SMALL"]: TextSize.BODY_SM,
113
- ["MEDIUM"]: TextSize.BODY_MD,
114
- ["LARGE"]: TextSize.BODY_LG
115
- };
116
- /**
117
- * A compact tag for a value, filter, or status.
118
- *
119
- * Renders `null` when neither `label` nor `icon` is set. Adding `onDismiss`
120
- * appends a × button; adding `onClick` makes the whole chip clickable.
121
- */
122
- var Chip = ({ label, variant = "SECONDARY", size = "MEDIUM", svg, icon, onDismiss, onClick, isPill, noBackground, isLoading, isEllipsis, isActive }) => {
123
- if (!label && !icon) return null;
124
- if (isLoading) return /* @__PURE__ */ jsxs(StyledChip, {
125
- $variant: variant,
126
- $size: size,
127
- $isPill: isPill,
128
- $isClickable: false,
129
- $noBackground: noBackground,
130
- $isActive: isActive,
131
- children: [(icon || svg) && /* @__PURE__ */ jsx(FlexItem, {
132
- shrink: 0,
133
- grow: 0,
134
- children: /* @__PURE__ */ jsx(AvatarShimmer, { size: CHIP_SIZE_TO_ICON_SIZE[size] })
135
- }), /* @__PURE__ */ jsx(FlexItem, {
136
- shrink: 0,
137
- grow: 0,
138
- children: /* @__PURE__ */ jsx(TextShimmer, {
139
- height: CHIP_SIZE_TO_SHIMMER_HEIGHT[size],
140
- width: CHIP_SIZE_TO_SHIMMER_WIDTH[size]
141
- })
142
- })]
143
- });
144
- return /* @__PURE__ */ jsxs(StyledChip, {
145
- $variant: variant,
146
- $size: size,
147
- $isPill: isPill,
148
- $isClickable: !!onClick,
149
- $noBackground: noBackground,
150
- $isActive: isActive,
151
- onClick,
222
+ /** True when a `tooltip` value would open (the Tooltip empty-body rule). */
223
+ function hasContent(node) {
224
+ return node !== void 0 && node !== null && node !== false && node !== "";
225
+ }
226
+ /** A compact, tinted label for one short value: a tag, a category, a filter, or a count. */
227
+ var Chip = forwardRef(function Chip({ label, icon, leading, hasDot = false, count, max = 99, variant = "SECONDARY", color, size = "MEDIUM", hex, isPill = false, hasBorder = false, isSelected, isDisabled = false, isLoading = false, tooltip, onClick, onDismiss, ariaLabel, id, className, style, ...rest }, ref) {
228
+ const hasLabel = label !== void 0 && label !== "";
229
+ const flooredCount = count === void 0 ? 0 : Math.floor(count);
230
+ const hasCount = flooredCount > 0;
231
+ const hasLeading = leading !== void 0 && leading !== null && leading !== false;
232
+ const hasMarks = hasDot || hasLeading || icon !== void 0;
233
+ if (!hasLabel && !hasCount && !hasMarks) return null;
234
+ const isInteractive = onClick !== void 0;
235
+ const isDismissible = onDismiss !== void 0;
236
+ const hasTooltip = hasContent(tooltip);
237
+ const isBlocked = isDisabled || isLoading;
238
+ const isNativeDisabled = isDisabled && !isLoading && !hasTooltip;
239
+ const ariaRest = {};
240
+ const rootRest = {};
241
+ for (const [key, value] of Object.entries(rest)) if (isInteractive && key.startsWith("aria-")) ariaRest[key] = value;
242
+ else rootRest[key] = value;
243
+ const blockedProps = {};
244
+ if (isNativeDisabled) blockedProps.disabled = true;
245
+ else if (isBlocked) blockedProps["aria-disabled"] = true;
246
+ if (isLoading) blockedProps["aria-busy"] = true;
247
+ const handleClick = (event) => {
248
+ if (isBlocked) {
249
+ event.preventDefault();
250
+ return;
251
+ }
252
+ onClick?.(event);
253
+ };
254
+ const handleDismiss = (event) => {
255
+ if (isBlocked) {
256
+ event.preventDefault();
257
+ return;
258
+ }
259
+ onDismiss?.();
260
+ };
261
+ const bodyProps = {};
262
+ if (!isInteractive && ariaLabel !== void 0) {
263
+ bodyProps.role = "img";
264
+ bodyProps["aria-label"] = ariaLabel;
265
+ }
266
+ if (isInteractive) {
267
+ const computedAria = {};
268
+ const name = ariaLabel ?? (isLoading && hasLabel ? label : void 0);
269
+ if (name !== void 0) computedAria["aria-label"] = name;
270
+ if (isSelected !== void 0) computedAria["aria-pressed"] = isSelected;
271
+ Object.assign(bodyProps, computedAria, ariaRest, blockedProps, {
272
+ as: "button",
273
+ type: "button",
274
+ onClick: handleClick
275
+ });
276
+ }
277
+ const hasColor = color !== void 0 && !isDisabled;
278
+ const shownVariant = isDisabled ? "DISABLED" : variant;
279
+ const hasHex = hex !== void 0 && !isDisabled;
280
+ const iconVariant = isDisabled ? IconVariant.DISABLED : hasHex || hasColor ? IconVariant.INHERIT : CHIP_VARIANT_TO_ICON_VARIANT_MAP[variant];
281
+ const iconPx = CHIP_SIZE_TO_ICON_PX_MAP[size];
282
+ const textSize = CHIP_SIZE_TO_TEXT_SIZE_MAP[size];
283
+ const skeletonSize = CHIP_SIZE_TO_SKELETON_SIZE_MAP[size];
284
+ const shownCount = flooredCount > Math.floor(max) ? `${Math.floor(max)}+` : String(flooredCount);
285
+ const variables = {};
286
+ if (hasHex) variables["--gx-chip-hex"] = hex;
287
+ const marks = hasMarks && /* @__PURE__ */ jsxs(Skeleton, {
288
+ variant: SkeletonVariant.CIRCLE,
289
+ size: skeletonSize,
290
+ isLoading,
291
+ className: cx(SKELETON_GROUP_CSS, SKELETON_MARKS_CSS),
152
292
  children: [
153
- icon && /* @__PURE__ */ jsx(FlexItem, {
154
- shrink: 0,
155
- grow: 0,
156
- children: /* @__PURE__ */ jsx(Icon, {
157
- component: icon,
158
- size: CHIP_SIZE_TO_ICON_SIZE[size],
159
- variant: CHIP_VARIANT_TO_ICON_VARIANT[variant]
160
- })
161
- }),
162
- svg && /* @__PURE__ */ jsx(FlexItem, {
163
- shrink: 0,
164
- grow: 0,
165
- children: svg
166
- }),
167
- label && /* @__PURE__ */ jsx(FlexItem, {
168
- shrink: 0,
169
- grow: 0,
170
- children: /* @__PURE__ */ jsxs(Text, {
171
- variant: CHIP_VARIANT_TO_TEXT_VARIANT[variant],
172
- size: CHIP_SIZE_TO_TEXT_SIZE[size],
173
- children: [label, isEllipsis && /* @__PURE__ */ jsx(Ellipsis, { isPulse: true })]
174
- })
293
+ hasDot && /* @__PURE__ */ jsx(Beacon, {
294
+ size: CHIP_SIZE_TO_BEACON_SIZE_MAP[size],
295
+ variant: BeaconVariant.INHERIT
175
296
  }),
176
- onDismiss && /* @__PURE__ */ jsx(FlexWrapper, {
177
- onClick: onDismiss,
178
- children: /* @__PURE__ */ jsx(Icon, {
179
- component: XIcon,
180
- size: 12,
181
- variant: IconVariant.TERTIARY
182
- })
297
+ hasLeading && /* @__PURE__ */ jsx(LeadingSlot, { children: leading }),
298
+ icon !== void 0 && /* @__PURE__ */ jsx(Icon, {
299
+ component: icon,
300
+ size: iconPx,
301
+ variant: iconVariant,
302
+ className: NO_SHRINK_CSS
183
303
  })
184
304
  ]
185
305
  });
186
- };
306
+ const copy = (hasLabel || hasCount) && /* @__PURE__ */ jsxs(Skeleton, {
307
+ variant: SkeletonVariant.TEXT,
308
+ size: skeletonSize,
309
+ isLoading,
310
+ className: cx(SKELETON_GROUP_CSS, SKELETON_TEXT_CSS),
311
+ children: [hasLabel && /* @__PURE__ */ jsx(Text, {
312
+ as: "span",
313
+ size: textSize,
314
+ variant: TextVariant.INHERIT,
315
+ lineClamp: 1,
316
+ shouldTooltipOnOverflow: !hasTooltip,
317
+ children: label
318
+ }), hasCount && /* @__PURE__ */ jsx(Text, {
319
+ as: "span",
320
+ size: textSize,
321
+ variant: TextVariant.INHERIT,
322
+ isTabular: true,
323
+ className: NO_SHRINK_CSS,
324
+ children: shownCount
325
+ })]
326
+ });
327
+ const dismissName = hasLabel ? label : ariaLabel;
328
+ const body = /* @__PURE__ */ jsxs(Body, {
329
+ ...bodyProps,
330
+ className: cx(isInteractive && INTERACTIVE_BODY_CSS, !hasLabel && UNLABELLED_BODY_CSS, isDismissible && DISMISSIBLE_BODY_CSS, isInteractive && isDisabled && DISABLED_CURSOR_CSS, isInteractive && isLoading && LOADING_CURSOR_CSS),
331
+ children: [marks, copy]
332
+ });
333
+ return /* @__PURE__ */ jsxs(Root, {
334
+ ...rootRest,
335
+ ref,
336
+ id,
337
+ className: cx(CHIP_SIZE_TO_CSS_MAP[size], hasColor ? CHIP_COLOR_TO_CSS_MAP[color] : CHIP_VARIANT_TO_CSS_MAP[shownVariant], hasHex && HEX_CSS, hasBorder && HAS_BORDER_CSS, isSelected === true && SELECTED_CSS, isPill && PILL_CSS, className),
338
+ style: {
339
+ ...variables,
340
+ ...style
341
+ },
342
+ children: [hasTooltip || tooltip === "" ? /* @__PURE__ */ jsx(Tooltip, {
343
+ body: hasTooltip ? tooltip : "",
344
+ isDisabled: !hasTooltip,
345
+ children: body
346
+ }) : body, isDismissible && /* @__PURE__ */ jsx(Dismiss, {
347
+ ...blockedProps,
348
+ type: "button",
349
+ "aria-label": dismissName === void 0 ? "Remove" : `Remove ${dismissName}`,
350
+ onClick: handleDismiss,
351
+ className: cx(isBlocked && DISABLED_CURSOR_CSS),
352
+ children: /* @__PURE__ */ jsx(Icon, {
353
+ component: XIcon,
354
+ size: iconPx,
355
+ variant: IconVariant.INHERIT
356
+ })
357
+ })]
358
+ });
359
+ });
360
+ Chip.displayName = "Chip";
187
361
  //#endregion
188
362
  export { ChipSize, ChipVariant, Chip as default };
@@ -0,0 +1,53 @@
1
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
2
+ /** Canonical rungs; the member names the rung of the chips in the group. */
3
+ export declare enum ChipGroupSize {
4
+ /** `ChipSize.X_SMALL` toggle (16px), 4px gap. */
5
+ X_SMALL = "X_SMALL",
6
+ /** `ChipSize.SMALL` toggle (20px), 4px gap. */
7
+ SMALL = "SMALL",
8
+ /** `ChipSize.MEDIUM` toggle (24px), 4px gap. The default. */
9
+ MEDIUM = "MEDIUM",
10
+ /** `ChipSize.LARGE` toggle (28px), 8px gap. */
11
+ LARGE = "LARGE",
12
+ /** `ChipSize.X_LARGE` toggle (32px), 8px gap. */
13
+ X_LARGE = "X_LARGE"
14
+ }
15
+ export interface ChipGroupProps extends AriaAttributes {
16
+ /**
17
+ * The chips: `Chip` elements or Chip presets. Falsy children are skipped and not counted. Every
18
+ * child should be the same size as the group.
19
+ */
20
+ children?: ReactNode;
21
+ /**
22
+ * Show at most this many children, then a `+N` chip for the rest. Floored; below 0 counts as 0.
23
+ * Omit to always show all.
24
+ */
25
+ max?: number;
26
+ /**
27
+ * The rung of the `+N` / "Show less" chip and of the gap. Match it to the children's `ChipSize`.
28
+ * @default ChipGroupSize.MEDIUM
29
+ */
30
+ size?: ChipGroupSize;
31
+ /** Controlled show-all state. When set, the group calls `onOpenChange` and lets the caller decide. */
32
+ isOpen?: boolean;
33
+ /**
34
+ * Initial show-all state while uncontrolled.
35
+ * @default false
36
+ */
37
+ defaultIsOpen?: boolean;
38
+ /** Called with the requested state when the `+N` or "Show less" chip is pressed. */
39
+ onOpenChange?: (isOpen: boolean) => void;
40
+ /** Accessible name of the group (`aria-label`), such as "Tags". */
41
+ ariaLabel?: string;
42
+ /** DOM id on the root; also the toggle chip's `aria-controls` target. @default a `useId()` value */
43
+ id?: string;
44
+ /** Any `data-*` attribute, forwarded to the root `<div>`. */
45
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
46
+ /** Extra class on the root `<div>`. */
47
+ className?: string;
48
+ /** Inline style on the root `<div>`; only for setting CSS custom properties. */
49
+ style?: CSSProperties;
50
+ }
51
+ /** A wrapping row of related chips, with an optional `+N` / "Show less" toggle past `max`. */
52
+ declare const ChipGroup: import("react").ForwardRefExoticComponent<ChipGroupProps & import("react").RefAttributes<HTMLDivElement>>;
53
+ export default ChipGroup;