@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,8 +1,20 @@
1
- import { TextSize } from "./Text";
2
- export interface RequiredMarkerProps {
3
- /** Match the size of the label it sits beside. @default TextSize.BODY_MD */
1
+ import { type AriaAttributes, type CSSProperties } from "react";
2
+ import { TextSize } from "./Text.js";
3
+ export interface RequiredMarkerProps extends Omit<AriaAttributes, "aria-hidden"> {
4
+ /**
5
+ * Type step, to match the label it sits beside when it is not inside that label's `Text`.
6
+ * @default inherit
7
+ */
4
8
  size?: TextSize;
9
+ /** DOM id on the span. */
10
+ id?: string;
11
+ /** Any `data-*` attribute, forwarded to the span. */
12
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
13
+ /** Extra class on the span. */
14
+ className?: string;
15
+ /** Inline style on the span; only for setting CSS custom properties. */
16
+ style?: CSSProperties;
5
17
  }
6
- /** The red asterisk marking a required field. Inputs render it from `isRequired`. */
7
- declare const RequiredMarker: ({ size }: RequiredMarkerProps) => import("react").JSX.Element;
18
+ /** The required-field asterisk: an error-colored, `aria-hidden` `Span`. */
19
+ declare const RequiredMarker: import("react").ForwardRefExoticComponent<RequiredMarkerProps & import("react").RefAttributes<HTMLSpanElement>>;
8
20
  export default RequiredMarker;
@@ -1,45 +1,43 @@
1
- import { withTheme } from "../theme/GalaxyTheme.js";
2
1
  import { TextSize } from "./Text.js";
2
+ import Span, { SpanVariant } from "./Span.js";
3
3
  /* empty css */
4
- import { styled } from "@linaria/react";
5
- import { match } from "ts-pattern";
4
+ import { forwardRef } from "react";
6
5
  import { jsx } from "react/jsx-runtime";
6
+ import { cx } from "@linaria/core";
7
7
  //#region src/text/RequiredMarker.tsx
8
- var _exp = () => ({ theme }) => theme.color.text.error;
9
- var _exp2 = () => ({ theme, $size }) => {
10
- return match($size).with(TextSize.CAPTION, () => theme.font.sans.size.caption).with(TextSize.BODY_SM, () => theme.font.sans.size.body_sm).with(TextSize.BODY_MD, () => theme.font.sans.size.body_md).with(TextSize.BODY_LG, () => theme.font.sans.size.body_lg).with(TextSize.HEADING_SM, () => theme.font.sans.size.heading_sm).with(TextSize.HEADING_MD, () => theme.font.sans.size.heading_md).with(TextSize.HEADING_LG, () => theme.font.sans.size.heading_lg).exhaustive();
8
+ /**
9
+ * The error-colored asterisk that marks a required field. `Field` and the input labels render it
10
+ * from `isRequired`; it is decorative (`aria-hidden`), because the control itself carries
11
+ * `aria-required`. It renders `<Span variant={SpanVariant.ERROR} aria-hidden>*</Span>`, so by
12
+ * default it inherits the step, family and line height of the label it sits in.
13
+ *
14
+ * `size` pins a type step for a marker that is not inside the label's `Text` (a sibling in a flex
15
+ * row): one `css` block per `TextSize` sets the sans size, line height and letter spacing, the
16
+ * metrics a `Text` at that step would set.
17
+ */
18
+ /** Each step's sans metrics, the ones a `Text` at that step sets. */
19
+ var REQUIRED_MARKER_SIZE_TO_CSS_MAP = {
20
+ [TextSize.CAPTION]: "gx-RequiredMarker-TextSize_CAPTION-t1i18c6k",
21
+ [TextSize.BODY_SM]: "gx-RequiredMarker-TextSize_BODY_SM-t7cpomi",
22
+ [TextSize.BODY_MD]: "gx-RequiredMarker-TextSize_BODY_MD-tn5ssu7",
23
+ [TextSize.BODY_LG]: "gx-RequiredMarker-TextSize_BODY_LG-t1qgg3cj",
24
+ [TextSize.HEADING_SM]: "gx-RequiredMarker-TextSize_HEADING_SM-t10554bd",
25
+ [TextSize.HEADING_MD]: "gx-RequiredMarker-TextSize_HEADING_MD-tlsuch8",
26
+ [TextSize.HEADING_LG]: "gx-RequiredMarker-TextSize_HEADING_LG-t1jb9q24",
27
+ [TextSize.DISPLAY_SM]: "gx-RequiredMarker-TextSize_DISPLAY_SM-t1d9y719",
28
+ [TextSize.DISPLAY_LG]: "gx-RequiredMarker-TextSize_DISPLAY_LG-t48ng2a"
11
29
  };
12
- var _exp3 = () => ({ theme, $size }) => {
13
- return match($size).with(TextSize.CAPTION, () => theme.font.sans.weight.medium).with(TextSize.BODY_SM, () => theme.font.sans.weight.medium).with(TextSize.BODY_MD, () => theme.font.sans.weight.medium).with(TextSize.BODY_LG, () => theme.font.sans.weight.medium).with(TextSize.HEADING_SM, () => theme.font.sans.weight.medium).with(TextSize.HEADING_MD, () => theme.font.sans.weight.medium).with(TextSize.HEADING_LG, () => theme.font.sans.weight.medium).exhaustive();
14
- };
15
- var _exp4 = () => ({ theme, $size }) => {
16
- return match($size).with(TextSize.CAPTION, () => theme.font.sans.height.caption).with(TextSize.BODY_SM, () => theme.font.sans.height.body_sm).with(TextSize.BODY_MD, () => theme.font.sans.height.body_md).with(TextSize.BODY_LG, () => theme.font.sans.height.body_lg).with(TextSize.HEADING_SM, () => theme.font.sans.height.heading_sm).with(TextSize.HEADING_MD, () => theme.font.sans.height.heading_md).with(TextSize.HEADING_LG, () => theme.font.sans.height.heading_lg).exhaustive();
17
- };
18
- var _exp5 = () => ({ theme, $size }) => {
19
- return match($size).with(TextSize.CAPTION, () => theme.font.sans.spacing.caption).with(TextSize.BODY_SM, () => theme.font.sans.spacing.body_sm).with(TextSize.BODY_MD, () => theme.font.sans.spacing.body_md).with(TextSize.BODY_LG, () => theme.font.sans.spacing.body_lg).with(TextSize.HEADING_SM, () => theme.font.sans.spacing.heading_sm).with(TextSize.HEADING_MD, () => theme.font.sans.spacing.heading_md).with(TextSize.HEADING_LG, () => theme.font.sans.spacing.heading_lg).exhaustive();
20
- };
21
- var _exp6 = () => ({ $size }) => {
22
- return match($size).with(TextSize.CAPTION, () => "0.5px").with(TextSize.BODY_SM, () => "1px").with(TextSize.BODY_MD, () => "1px").with(TextSize.BODY_LG, () => "1px").with(TextSize.HEADING_SM, () => "2px").with(TextSize.HEADING_MD, () => "2px").with(TextSize.HEADING_LG, () => "2px").exhaustive();
23
- };
24
- var StyledRequiredMarker = withTheme(/*#__PURE__*/ styled("span")({
25
- name: "StyledRequiredMarker",
26
- class: "s1i18c6k",
27
- propsAsIs: false,
28
- vars: {
29
- "s1i18c6k-0": [_exp()],
30
- "s1i18c6k-1": [_exp2()],
31
- "s1i18c6k-2": [_exp3()],
32
- "s1i18c6k-3": [_exp4()],
33
- "s1i18c6k-4": [_exp5()],
34
- "s1i18c6k-5": [_exp6()]
35
- }
36
- }));
37
- /** The red asterisk marking a required field. Inputs render it from `isRequired`. */
38
- var RequiredMarker = ({ size = TextSize.BODY_MD }) => {
39
- return /* @__PURE__ */ jsx(StyledRequiredMarker, {
40
- $size: size,
30
+ /** The required-field asterisk: an error-colored, `aria-hidden` `Span`. */
31
+ var RequiredMarker = forwardRef(function RequiredMarker({ size, className, ...rest }, ref) {
32
+ return /* @__PURE__ */ jsx(Span, {
33
+ ...rest,
34
+ ref,
35
+ variant: SpanVariant.ERROR,
36
+ "aria-hidden": true,
37
+ className: cx(size !== void 0 && REQUIRED_MARKER_SIZE_TO_CSS_MAP[size], className),
41
38
  children: "*"
42
39
  });
43
- };
40
+ });
41
+ RequiredMarker.displayName = "RequiredMarker";
44
42
  //#endregion
45
43
  export { RequiredMarker as default };
@@ -1,7 +1,6 @@
1
- import type { PropsWithChildren } from "react";
2
- /**
3
- * Makes its children selectable. DLS text is `user-select: none` by default so
4
- * UI chrome doesn't highlight — wrap the parts a user should be able to copy.
5
- */
6
- declare const Selectable: ({ children }: PropsWithChildren) => import("react").JSX.Element;
1
+ import { type SpanProps } from "./Span.js";
2
+ /** `Span` props without `isSelectable`: a `Selectable` is always selectable. */
3
+ export type SelectableProps = Omit<SpanProps, "isSelectable">;
4
+ /** User-selectable inline text inside a `Text`; a `Span` preset. */
5
+ declare const Selectable: import("react").ForwardRefExoticComponent<SelectableProps & import("react").RefAttributes<HTMLSpanElement>>;
7
6
  export default Selectable;
@@ -1,19 +1,22 @@
1
- import { withTheme } from "../theme/GalaxyTheme.js";
2
- /* empty css */
3
- import { styled } from "@linaria/react";
1
+ import Span from "./Span.js";
2
+ import { forwardRef } from "react";
4
3
  import { jsx } from "react/jsx-runtime";
5
4
  //#region src/text/Selectable.tsx
6
- var StyledSelectable = withTheme(/*#__PURE__*/ styled("span")({
7
- name: "StyledSelectable",
8
- class: "sfziwh",
9
- propsAsIs: false
10
- }));
11
5
  /**
12
- * Makes its children selectable. DLS text is `user-select: none` by default so
13
- * UI chrome doesn't highlight — wrap the parts a user should be able to copy.
6
+ * Copyable part of a string inside a `Text`. DLS UI copy is not user-selectable by default so
7
+ * chrome does not highlight on drag; wrap the values a user should be able to copy (a domain, an
8
+ * id, an email). A thin preset over `Span`: `<Span isSelectable>`. It takes every other `Span` prop
9
+ * and inherits size, family, line height and color from the enclosing `Text`. No own styles, no
10
+ * own enums.
14
11
  */
15
- var Selectable = ({ children }) => {
16
- return /* @__PURE__ */ jsx(StyledSelectable, { children });
17
- };
12
+ /** User-selectable inline text inside a `Text`; a `Span` preset. */
13
+ var Selectable = forwardRef(function Selectable(props, ref) {
14
+ return /* @__PURE__ */ jsx(Span, {
15
+ isSelectable: true,
16
+ ...props,
17
+ ref
18
+ });
19
+ });
20
+ Selectable.displayName = "Selectable";
18
21
  //#endregion
19
22
  export { Selectable as default };
@@ -0,0 +1,82 @@
1
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
2
+ import { FontFamily } from "../theme/enums.js";
3
+ import type { Hex } from "../theme/tokens/types.js";
4
+ import { TextVariant, TextWeight } from "./Text.js";
5
+ /** Color role of the span (color set, Constitution V-A). Same members as `TextVariant`. */
6
+ export declare enum SpanVariant {
7
+ /** Primary copy, `text.primary`. */
8
+ PRIMARY = "PRIMARY",
9
+ /** Supporting copy, `text.secondary`. */
10
+ SECONDARY = "SECONDARY",
11
+ /** Hints and metadata, `text.tertiary`. */
12
+ TERTIARY = "TERTIARY",
13
+ /** Disabled controls, `text.disabled`. */
14
+ DISABLED = "DISABLED",
15
+ /** The parent's color. The default: a Span is colorless unless asked. */
16
+ INHERIT = "INHERIT",
17
+ /** Status: success, `text.success`. */
18
+ SUCCESS = "SUCCESS",
19
+ /** Status: warning, `text.warning`. */
20
+ WARNING = "WARNING",
21
+ /** Status: error, `text.error`. */
22
+ ERROR = "ERROR"
23
+ }
24
+ /** Identity map, so composites that hold a `SpanVariant` can hand it to a `Text` explicitly. */
25
+ export declare const SPAN_VARIANT_TO_TEXT_VARIANT_MAP: Record<SpanVariant, TextVariant>;
26
+ export interface SpanProps extends AriaAttributes {
27
+ /** The inline copy. */
28
+ children?: ReactNode;
29
+ /**
30
+ * Color role. `INHERIT` keeps the enclosing `Text`'s color.
31
+ * @default SpanVariant.INHERIT
32
+ */
33
+ variant?: SpanVariant;
34
+ /**
35
+ * Font weight.
36
+ * @default inherit
37
+ */
38
+ weight?: TextWeight;
39
+ /**
40
+ * Type family, at the enclosing `Text`'s step (mono ~0.92×, same line height).
41
+ * @default inherit
42
+ */
43
+ family?: FontFamily;
44
+ /**
45
+ * Italic.
46
+ * @default false
47
+ */
48
+ isItalic?: boolean;
49
+ /**
50
+ * Underline.
51
+ * @default false
52
+ */
53
+ isUnderlined?: boolean;
54
+ /**
55
+ * Strike through.
56
+ * @default false
57
+ */
58
+ isStrikethrough?: boolean;
59
+ /**
60
+ * Let the user select this part of the text, inside non-selectable UI copy.
61
+ * @default false
62
+ */
63
+ isSelectable?: boolean;
64
+ /**
65
+ * Inline code: mono, hairline border, `background.tertiary`, small radius, `2px 4px` padding.
66
+ * @default false
67
+ */
68
+ isCode?: boolean;
69
+ /** Raw color override that bypasses `variant`. Discouraged: prefer a `variant`. */
70
+ hex?: Hex;
71
+ /** DOM id on the span. */
72
+ id?: string;
73
+ /** Any `data-*` attribute, forwarded to the span. */
74
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
75
+ /** Extra class on the span. */
76
+ className?: string;
77
+ /** Inline style on the span; only for setting CSS custom properties. */
78
+ style?: CSSProperties;
79
+ }
80
+ /** Inline formatting inside a `Text`: inherits everything, sets only what it is given. */
81
+ declare const Span: import("react").ForwardRefExoticComponent<SpanProps & import("react").RefAttributes<HTMLSpanElement>>;
82
+ export default Span;
@@ -0,0 +1,115 @@
1
+ import { FontFamily } from "../theme/enums.js";
2
+ import { TextVariant, TextWeight } from "./Text.js";
3
+ /* empty css */
4
+ import { styled } from "@linaria/react";
5
+ import { forwardRef } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { cx } from "@linaria/core";
8
+ //#region src/text/Span.tsx
9
+ /**
10
+ * The inline primitive: formatting for part of a string inside a `Text`. It inherits size, family,
11
+ * line height and color from the enclosing `Text` and sets only what it is given, so
12
+ * `<Span weight={TextWeight.MEDIUM}>` changes the weight and nothing else. `Bold`, `Code` and
13
+ * `Selectable` are presets over it.
14
+ *
15
+ * Family without a size: the parent `Text` writes every family's metrics for its step into
16
+ * `--gx-text-{size,spacing,weight}-<family>` custom properties, and they inherit. A Span `family`
17
+ * block switches `font-family` and reads its own family's set, so a mono Span sits at the mono
18
+ * size of the surrounding step (~0.92×) inside the parent's line box (its own `line-height: 1` keeps
19
+ * the inline box within the parent's strut). Outside a `Text` the variables are unset and the
20
+ * properties fall back to inheritance.
21
+ *
22
+ * `hex` is set as the `--gx-span-hex` custom property in `style`, read by a block switched on only
23
+ * when the prop is set (the Text / Box pattern), so a nested Span never inherits it.
24
+ */
25
+ /** Color role of the span (color set, Constitution V-A). Same members as `TextVariant`. */
26
+ var SpanVariant = /* @__PURE__ */ function(SpanVariant) {
27
+ /** Primary copy, `text.primary`. */
28
+ SpanVariant["PRIMARY"] = "PRIMARY";
29
+ /** Supporting copy, `text.secondary`. */
30
+ SpanVariant["SECONDARY"] = "SECONDARY";
31
+ /** Hints and metadata, `text.tertiary`. */
32
+ SpanVariant["TERTIARY"] = "TERTIARY";
33
+ /** Disabled controls, `text.disabled`. */
34
+ SpanVariant["DISABLED"] = "DISABLED";
35
+ /** The parent's color. The default: a Span is colorless unless asked. */
36
+ SpanVariant["INHERIT"] = "INHERIT";
37
+ /** Status: success, `text.success`. */
38
+ SpanVariant["SUCCESS"] = "SUCCESS";
39
+ /** Status: warning, `text.warning`. */
40
+ SpanVariant["WARNING"] = "WARNING";
41
+ /** Status: error, `text.error`. */
42
+ SpanVariant["ERROR"] = "ERROR";
43
+ return SpanVariant;
44
+ }({});
45
+ /** Identity map, so composites that hold a `SpanVariant` can hand it to a `Text` explicitly. */
46
+ var SPAN_VARIANT_TO_TEXT_VARIANT_MAP = {
47
+ ["PRIMARY"]: TextVariant.PRIMARY,
48
+ ["SECONDARY"]: TextVariant.SECONDARY,
49
+ ["TERTIARY"]: TextVariant.TERTIARY,
50
+ ["DISABLED"]: TextVariant.DISABLED,
51
+ ["INHERIT"]: TextVariant.INHERIT,
52
+ ["SUCCESS"]: TextVariant.SUCCESS,
53
+ ["WARNING"]: TextVariant.WARNING,
54
+ ["ERROR"]: TextVariant.ERROR
55
+ };
56
+ var Root = /*#__PURE__*/ styled("span")({
57
+ name: "Root",
58
+ class: "gx-Span-rp97lli",
59
+ propsAsIs: false
60
+ });
61
+ var SPAN_VARIANT_TO_CSS_MAP = {
62
+ ["PRIMARY"]: "gx-Span-PRIMARY-ps14jmn",
63
+ ["SECONDARY"]: "gx-Span-SECONDARY-s1d090fq",
64
+ ["TERTIARY"]: "gx-Span-TERTIARY-t1oflpcs",
65
+ ["DISABLED"]: "gx-Span-DISABLED-d1yqjdqx",
66
+ ["INHERIT"]: "gx-Span-INHERIT-i1ljah1l",
67
+ ["SUCCESS"]: "gx-Span-SUCCESS-s1kzpu3q",
68
+ ["WARNING"]: "gx-Span-WARNING-w1hao9l7",
69
+ ["ERROR"]: "gx-Span-ERROR-efkxsej"
70
+ };
71
+ var SPAN_WEIGHT_TO_CSS_MAP = {
72
+ [TextWeight.REGULAR]: "gx-Span-TextWeight_REGULAR-t19uha7a",
73
+ [TextWeight.MEDIUM]: "gx-Span-TextWeight_MEDIUM-tje29vu"
74
+ };
75
+ /**
76
+ * The family stack, and the family's own size, letter spacing and weight at the enclosing `Text`'s
77
+ * step. A different font at a different size sits offset from the parent's strut, so an inherited
78
+ * line height would grow the line box by a fraction of a pixel (16 → 16.5). `line-height: 1` keeps
79
+ * the Span's inline box inside the parent's strut: the line box stays the parent's line height
80
+ * (the UI step or prose's 1.5) on integer pixels, and the mono baseline still matches the sans one.
81
+ */
82
+ var SPAN_FAMILY_TO_CSS_MAP = {
83
+ [FontFamily.SANS]: "gx-Span-FontFamily_SANS-f187d8ku",
84
+ [FontFamily.MONO]: "gx-Span-FontFamily_MONO-f1yg5gcw",
85
+ [FontFamily.SERIF]: "gx-Span-FontFamily_SERIF-fcyj3bj"
86
+ };
87
+ var ITALIC_CSS = "gx-Span-ITALIC_CSS-iy5z42n";
88
+ var UNDERLINED_CSS = "gx-Span-UNDERLINED_CSS-ucet0jj";
89
+ var STRIKETHROUGH_CSS = "gx-Span-STRIKETHROUGH_CSS-s1qzbtve";
90
+ var UNDERLINED_STRIKETHROUGH_CSS = "gx-Span-UNDERLINED_STRIKETHROUGH_CSS-u6ud0qv";
91
+ var SELECTABLE_CSS = "gx-Span-SELECTABLE_CSS-s1sv685f";
92
+ /** The 1.x `Code` look. Mono comes from the family block (`isCode` defaults `family` to mono). */
93
+ var CODE_CSS = "gx-Span-CODE_CSS-c1acyl4p";
94
+ /** Declared after the variant map so `hex` wins over it. */
95
+ var HEX_CSS = "gx-Span-HEX_CSS-h2m0mhq";
96
+ /** Inline formatting inside a `Text`: inherits everything, sets only what it is given. */
97
+ var Span = forwardRef(function Span({ children, variant = "INHERIT", weight, family: familyProp, isItalic = false, isUnderlined = false, isStrikethrough = false, isSelectable = false, isCode = false, hex, id, className, style, ...rest }, ref) {
98
+ const family = familyProp ?? (isCode ? FontFamily.MONO : void 0);
99
+ const variables = {};
100
+ if (hex !== void 0) variables["--gx-span-hex"] = hex;
101
+ return /* @__PURE__ */ jsx(Root, {
102
+ ...rest,
103
+ ref,
104
+ id,
105
+ className: cx(SPAN_VARIANT_TO_CSS_MAP[variant], weight !== void 0 && SPAN_WEIGHT_TO_CSS_MAP[weight], family !== void 0 && SPAN_FAMILY_TO_CSS_MAP[family], isItalic && ITALIC_CSS, isUnderlined && isStrikethrough ? UNDERLINED_STRIKETHROUGH_CSS : isUnderlined && UNDERLINED_CSS || isStrikethrough && STRIKETHROUGH_CSS, isSelectable && SELECTABLE_CSS, isCode && CODE_CSS, hex !== void 0 && HEX_CSS, className),
106
+ style: {
107
+ ...variables,
108
+ ...style
109
+ },
110
+ children
111
+ });
112
+ });
113
+ Span.displayName = "Span";
114
+ //#endregion
115
+ export { SPAN_VARIANT_TO_TEXT_VARIANT_MAP, SpanVariant, Span as default };
@@ -1,66 +1,153 @@
1
- import type { CSSProperties, PropsWithChildren } from "react";
2
- /** Text color role. Resolves to a `theme.color.text.*` token in both themes. */
1
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
2
+ import { FontFamily } from "../theme/enums.js";
3
+ import type { Hex } from "../theme/tokens/types.js";
4
+ /** Color role of the text (color set, Constitution V-A). */
3
5
  export declare enum TextVariant {
6
+ /** Primary copy, `text.primary`. */
4
7
  PRIMARY = "PRIMARY",
5
- PRIMARY_ALT = "PRIMARY_ALT",
8
+ /** Supporting copy, `text.secondary`. */
6
9
  SECONDARY = "SECONDARY",
7
- SECONDARY_ALT = "SECONDARY_ALT",
10
+ /** Hints and metadata, `text.tertiary`. */
8
11
  TERTIARY = "TERTIARY",
9
- TERTIARY_ALT = "TERTIARY_ALT",
12
+ /** Disabled controls, `text.disabled`. */
13
+ DISABLED = "DISABLED",
14
+ /** The parent's color (used inside Button and other colored controls). */
15
+ INHERIT = "INHERIT",
16
+ /** Status: success, `text.success`. */
10
17
  SUCCESS = "SUCCESS",
18
+ /** Status: warning, `text.warning`. */
11
19
  WARNING = "WARNING",
12
- ERROR = "ERROR",
13
- PINK = "PINK",
14
- ORANGE = "ORANGE",
15
- YELLOW = "YELLOW",
16
- LIME = "LIME",
17
- BLUE = "BLUE",
18
- TEAL = "TEAL",
19
- PURPLE = "PURPLE",
20
- DISABLED = "DISABLED"
20
+ /** Status: error, `text.error`. */
21
+ ERROR = "ERROR"
21
22
  }
22
- /** Type scale step. Sets font-size, line-height and letter-spacing together. */
23
+ /** Type-scale step. Sets font size, line height and letter spacing together (Constitution III-A). */
23
24
  export declare enum TextSize {
25
+ /** 10px on a 12px line. */
24
26
  CAPTION = "CAPTION",
27
+ /** 12px on a 16px line. */
25
28
  BODY_SM = "BODY_SM",
29
+ /** 13px on a 16px line. The default. */
26
30
  BODY_MD = "BODY_MD",
31
+ /** 14px on a 20px line. */
27
32
  BODY_LG = "BODY_LG",
33
+ /** 16px on a 20px line. */
28
34
  HEADING_SM = "HEADING_SM",
35
+ /** 20px on a 24px line. */
29
36
  HEADING_MD = "HEADING_MD",
30
- HEADING_LG = "HEADING_LG"
37
+ /** 24px on a 28px line. */
38
+ HEADING_LG = "HEADING_LG",
39
+ /** 32px on a 40px line. */
40
+ DISPLAY_SM = "DISPLAY_SM",
41
+ /** 40px on a 48px line. */
42
+ DISPLAY_LG = "DISPLAY_LG"
31
43
  }
32
- /** Font weight. Two steps by design — hierarchy comes from size, not weight. */
44
+ /** Font weight. Two steps by design: hierarchy comes from size, not weight. */
33
45
  export declare enum TextWeight {
46
+ /** 400. */
34
47
  REGULAR = "REGULAR",
48
+ /** 500. */
35
49
  MEDIUM = "MEDIUM"
36
50
  }
37
- export interface TextProps {
38
- /** Color role. @default TextVariant.PRIMARY */
51
+ /** Case transform. */
52
+ export declare enum TextTransform {
53
+ /** As written. */
54
+ NONE = "NONE",
55
+ /** All caps with added tracking, for small labels. */
56
+ UPPERCASE = "UPPERCASE"
57
+ }
58
+ /** The elements `Text` may render. */
59
+ export type TextElement = "p" | "span" | "div" | "label" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "legend" | "li";
60
+ export interface TextProps extends AriaAttributes {
61
+ /** The copy. */
62
+ children?: ReactNode;
63
+ /**
64
+ * Element to render. Style is unaffected; use `h1`…`h6` for heading semantics.
65
+ * @default "p"
66
+ */
67
+ as?: TextElement;
68
+ /**
69
+ * Color role. `INHERIT` takes the parent's color (used inside Button).
70
+ * @default TextVariant.PRIMARY
71
+ */
39
72
  variant?: TextVariant;
40
- /** Type scale step. @default TextSize.BODY_MD */
73
+ /**
74
+ * Type step: sets size, line height and letter spacing together.
75
+ * @default TextSize.BODY_MD
76
+ */
41
77
  size?: TextSize;
42
- /** @default TextWeight.REGULAR */
78
+ /**
79
+ * Font weight.
80
+ * @default TextWeight.REGULAR
81
+ */
43
82
  weight?: TextWeight;
44
- /** @default "left" */
45
- align?: CSSProperties["textAlign"];
46
- /** Cursor over the text. Inherits from the parent when unset. */
47
- cursor?: CSSProperties["cursor"];
48
- /** Raw color that bypasses `variant`. Escape hatch — prefer `variant`. */
49
- hex?: string;
50
- /** Render in the mono family (Berkeley Mono) instead of sans. */
51
- isMonospace?: boolean;
52
- /** Let the user select the text. Off by default so UI chrome isn't selectable. */
53
- isSelectable?: boolean;
83
+ /**
84
+ * Type family: sans for UI, mono for data, serif for editorial copy.
85
+ * @default FontFamily.SANS
86
+ */
87
+ family?: FontFamily;
88
+ /**
89
+ * Horizontal alignment.
90
+ * @default "left"
91
+ */
92
+ align?: "left" | "center" | "right";
93
+ /**
94
+ * Case transform. `UPPERCASE` adds tracking for small labels.
95
+ * @default TextTransform.NONE
96
+ */
97
+ transform?: TextTransform;
98
+ /** Truncate to N lines with an ellipsis. `1` = single-line truncation. Needs a width-bounded parent. */
99
+ lineClamp?: number;
100
+ /**
101
+ * When clamped and overflowing, hover shows the full text.
102
+ * @default false
103
+ */
104
+ shouldTooltipOnOverflow?: boolean;
105
+ /**
106
+ * Prose line height (1.5) and natural wrapping for long-form copy.
107
+ * @default false
108
+ */
109
+ isProse?: boolean;
110
+ /**
111
+ * Tabular (fixed-width) numerals.
112
+ * @default family === FontFamily.MONO
113
+ */
114
+ isTabular?: boolean;
115
+ /**
116
+ * Italic.
117
+ * @default false
118
+ */
119
+ isItalic?: boolean;
120
+ /**
121
+ * Underline.
122
+ * @default false
123
+ */
54
124
  isUnderlined?: boolean;
55
- /** Truncate to one line with an ellipsis. Needs a width-bounded parent. */
56
- isEllipsis?: boolean;
125
+ /**
126
+ * Strike through.
127
+ * @default false
128
+ */
129
+ isStrikethrough?: boolean;
130
+ /**
131
+ * Let the user select the text. Off for UI chrome; on by default when `isProse`.
132
+ * @default isProse
133
+ */
134
+ isSelectable?: boolean;
135
+ /** Raw color override that bypasses `variant`. Discouraged: prefer a `variant`. */
136
+ hex?: Hex;
137
+ /**
138
+ * Cursor over the text.
139
+ * @default inherit
140
+ */
141
+ cursor?: CSSProperties["cursor"];
142
+ /** DOM id on the root element. */
143
+ id?: string;
144
+ /** Any `data-*` attribute, forwarded to the root element. */
145
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
146
+ /** Extra class on the root element. */
147
+ className?: string;
148
+ /** Inline style on the root element; only for setting CSS custom properties. */
149
+ style?: CSSProperties;
57
150
  }
58
- /**
59
- * The text primitive. Every string in a Galaxy UI renders through it, so color,
60
- * size and weight always resolve from theme tokens rather than raw CSS.
61
- *
62
- * Renders a `<p>`. For inline treatments nest `Bold`, `Code`, `Selectable` or
63
- * `HotKeys` inside it rather than reaching for a raw tag.
64
- */
65
- declare const Text: ({ children, size, variant, weight, align, cursor, isMonospace, isSelectable, isUnderlined, isEllipsis, hex, }: PropsWithChildren<TextProps>) => import("react").JSX.Element;
151
+ /** The text primitive: a color role, a type step, a weight and a family, all from tokens. */
152
+ declare const Text: import("react").ForwardRefExoticComponent<TextProps & import("react").RefAttributes<HTMLElement>>;
66
153
  export default Text;