@galaxy-io/dls 1.6.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +160 -124
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +33 -20
  46. package/dist/charts/ChartFrame.d.ts +71 -116
  47. package/dist/charts/ChartFrame.js +306 -97
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +37 -48
  51. package/dist/charts/ChartLegend.js +243 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +34 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +307 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +174 -121
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +159 -136
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/chartSelection.d.ts +15 -0
  79. package/dist/charts/chartSelection.js +22 -0
  80. package/dist/charts/constants.d.ts +100 -256
  81. package/dist/charts/constants.js +109 -275
  82. package/dist/charts/heatmapGeometry.d.ts +95 -0
  83. package/dist/charts/heatmapGeometry.js +155 -0
  84. package/dist/charts/lineChartGeometry.d.ts +108 -58
  85. package/dist/charts/lineChartGeometry.js +120 -78
  86. package/dist/charts/pieChartGeometry.d.ts +66 -40
  87. package/dist/charts/pieChartGeometry.js +68 -38
  88. package/dist/charts/types.d.ts +206 -466
  89. package/dist/charts/types.js +55 -144
  90. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  91. package/dist/charts/useCartesianChartLayout.js +47 -32
  92. package/dist/charts/useChartDimensions.d.ts +19 -40
  93. package/dist/charts/useChartDimensions.js +40 -56
  94. package/dist/charts/useChartFormatters.d.ts +6 -15
  95. package/dist/charts/useChartFormatters.js +4 -9
  96. package/dist/charts/useChartInteraction.d.ts +69 -116
  97. package/dist/charts/useChartInteraction.js +148 -78
  98. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  99. package/dist/charts/useChartTooltipPosition.js +14 -5
  100. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  101. package/dist/charts/useSeriesColorResolver.js +19 -12
  102. package/dist/chips/Chip.d.ts +155 -44
  103. package/dist/chips/Chip.js +329 -155
  104. package/dist/chips/ChipGroup.d.ts +53 -0
  105. package/dist/chips/ChipGroup.js +98 -0
  106. package/dist/drawer/Drawer.d.ts +83 -17
  107. package/dist/drawer/Drawer.js +399 -65
  108. package/dist/dropdown/Dropdown.d.ts +80 -63
  109. package/dist/dropdown/Dropdown.js +127 -129
  110. package/dist/editor/CodeEditor.d.ts +119 -40
  111. package/dist/editor/CodeEditor.js +490 -400
  112. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  113. package/dist/editor/CodeEditorReactWidget.js +28 -21
  114. package/dist/feedback/Alert.d.ts +49 -0
  115. package/dist/feedback/Alert.js +172 -0
  116. package/dist/feedback/EmptyState.d.ts +39 -0
  117. package/dist/feedback/EmptyState.js +109 -0
  118. package/dist/feedback/ProgressBar.d.ts +125 -0
  119. package/dist/feedback/ProgressBar.js +183 -0
  120. package/dist/feedback/ProgressCircle.d.ts +99 -0
  121. package/dist/feedback/ProgressCircle.js +187 -0
  122. package/dist/feedback/Skeleton.d.ts +69 -0
  123. package/dist/feedback/Skeleton.js +130 -0
  124. package/dist/feedback/Spinner.d.ts +63 -0
  125. package/dist/feedback/Spinner.js +141 -0
  126. package/dist/fonts.css +70 -0
  127. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  128. package/dist/hooks/internal/useIsClient.js +14 -0
  129. package/dist/hooks/useClipboard.d.ts +19 -0
  130. package/dist/hooks/useClipboard.js +45 -0
  131. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  132. package/dist/hooks/useControlledOpenState.js +19 -0
  133. package/dist/hooks/useControlledState.d.ts +19 -0
  134. package/dist/hooks/useControlledState.js +22 -0
  135. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  136. package/dist/hooks/useDebouncedValue.js +33 -0
  137. package/dist/hooks/useDisclosure.d.ts +26 -0
  138. package/dist/hooks/useDisclosure.js +36 -0
  139. package/dist/hooks/useDismiss.d.ts +23 -27
  140. package/dist/hooks/useDismiss.js +39 -27
  141. package/dist/hooks/useElementClientSize.d.ts +10 -10
  142. package/dist/hooks/useElementClientSize.js +8 -11
  143. package/dist/hooks/useElementWidth.d.ts +6 -13
  144. package/dist/hooks/useElementWidth.js +6 -14
  145. package/dist/hooks/useField.d.ts +47 -0
  146. package/dist/hooks/useField.js +40 -0
  147. package/dist/hooks/useHotkey.d.ts +77 -0
  148. package/dist/hooks/useHotkey.js +246 -0
  149. package/dist/hooks/useIsMac.d.ts +12 -0
  150. package/dist/hooks/useIsMac.js +27 -0
  151. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  152. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  153. package/dist/hooks/useLocalStorage.d.ts +28 -0
  154. package/dist/hooks/useLocalStorage.js +145 -0
  155. package/dist/hooks/useMediaQuery.d.ts +11 -0
  156. package/dist/hooks/useMediaQuery.js +23 -0
  157. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  158. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  159. package/dist/hooks/useResize.d.ts +42 -62
  160. package/dist/hooks/useResize.js +43 -31
  161. package/dist/icons/Icon.d.ts +64 -37
  162. package/dist/icons/Icon.js +96 -37
  163. package/dist/icons/internal/IconSlot.d.ts +10 -0
  164. package/dist/icons/internal/IconSlot.js +32 -0
  165. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  166. package/dist/inputs/CheckboxGroup.js +183 -0
  167. package/dist/inputs/CheckboxInput.d.ts +98 -28
  168. package/dist/inputs/CheckboxInput.js +218 -88
  169. package/dist/inputs/ColorInput.d.ts +115 -29
  170. package/dist/inputs/ColorInput.js +748 -326
  171. package/dist/inputs/CopyInput.d.ts +49 -20
  172. package/dist/inputs/CopyInput.js +57 -49
  173. package/dist/inputs/CronInput.d.ts +94 -0
  174. package/dist/inputs/CronInput.js +618 -0
  175. package/dist/inputs/DateInput.d.ts +175 -28
  176. package/dist/inputs/DateInput.js +1109 -451
  177. package/dist/inputs/DurationInput.d.ts +101 -0
  178. package/dist/inputs/DurationInput.js +441 -0
  179. package/dist/inputs/Field.d.ts +75 -0
  180. package/dist/inputs/Field.js +247 -0
  181. package/dist/inputs/Fieldset.d.ts +53 -0
  182. package/dist/inputs/Fieldset.js +149 -0
  183. package/dist/inputs/FileInput.d.ts +110 -0
  184. package/dist/inputs/FileInput.js +476 -0
  185. package/dist/inputs/Input.d.ts +148 -187
  186. package/dist/inputs/Input.js +339 -259
  187. package/dist/inputs/KeyValueInput.d.ts +120 -0
  188. package/dist/inputs/KeyValueInput.js +383 -0
  189. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  190. package/dist/inputs/MultiSelectInput.js +175 -559
  191. package/dist/inputs/NumberInput.d.ts +65 -9
  192. package/dist/inputs/NumberInput.js +197 -40
  193. package/dist/inputs/PasswordInput.d.ts +17 -12
  194. package/dist/inputs/PasswordInput.js +33 -33
  195. package/dist/inputs/PinInput.d.ts +117 -0
  196. package/dist/inputs/PinInput.js +364 -0
  197. package/dist/inputs/RadioGroup.d.ts +115 -0
  198. package/dist/inputs/RadioGroup.js +179 -0
  199. package/dist/inputs/RadioInput.d.ts +87 -24
  200. package/dist/inputs/RadioInput.js +182 -95
  201. package/dist/inputs/SearchInput.d.ts +66 -0
  202. package/dist/inputs/SearchInput.js +156 -0
  203. package/dist/inputs/SelectInput.d.ts +195 -55
  204. package/dist/inputs/SelectInput.js +1308 -446
  205. package/dist/inputs/SliderInput.d.ts +150 -30
  206. package/dist/inputs/SliderInput.js +441 -186
  207. package/dist/inputs/SwitchInput.d.ts +109 -0
  208. package/dist/inputs/SwitchInput.js +248 -0
  209. package/dist/inputs/TagInput.d.ts +117 -0
  210. package/dist/inputs/TagInput.js +408 -0
  211. package/dist/inputs/TextAreaInput.d.ts +146 -44
  212. package/dist/inputs/TextAreaInput.js +298 -198
  213. package/dist/inputs/TextInput.d.ts +4 -13
  214. package/dist/inputs/TextInput.js +13 -48
  215. package/dist/inputs/ToggleInput.d.ts +120 -22
  216. package/dist/inputs/ToggleInput.js +262 -116
  217. package/dist/inputs/internal/bareField.d.ts +18 -0
  218. package/dist/inputs/internal/bareField.js +38 -0
  219. package/dist/inputs/internal/devWarn.d.ts +7 -0
  220. package/dist/inputs/internal/devWarn.js +30 -0
  221. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  222. package/dist/inputs/internal/fieldFrame.js +64 -0
  223. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  224. package/dist/inputs/internal/fieldWiring.js +38 -0
  225. package/dist/inputs/internal/innerButton.d.ts +2 -0
  226. package/dist/inputs/internal/innerButton.js +24 -0
  227. package/dist/inputs/internal/ownField.d.ts +45 -0
  228. package/dist/inputs/internal/ownField.js +58 -0
  229. package/dist/inputs/internal/predicates.d.ts +9 -0
  230. package/dist/inputs/internal/predicates.js +11 -0
  231. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  232. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  233. package/dist/json/JsonViewer.d.ts +62 -0
  234. package/dist/json/JsonViewer.js +483 -0
  235. package/dist/layout/Box.d.ts +87 -0
  236. package/dist/layout/Box.js +109 -0
  237. package/dist/layout/Divider.d.ts +25 -0
  238. package/dist/layout/Divider.js +70 -0
  239. package/dist/layout/Flex.d.ts +139 -0
  240. package/dist/layout/Flex.js +165 -0
  241. package/dist/layout/FlexItem.d.ts +72 -0
  242. package/dist/layout/FlexItem.js +84 -0
  243. package/dist/layout/Grid.d.ts +140 -0
  244. package/dist/layout/Grid.js +178 -0
  245. package/dist/layout/Portal.d.ts +29 -0
  246. package/dist/layout/Portal.js +27 -0
  247. package/dist/layout/ResizablePanels.d.ts +88 -0
  248. package/dist/layout/ResizablePanels.js +198 -0
  249. package/dist/layout/ResizeHandle.d.ts +48 -0
  250. package/dist/layout/ResizeHandle.js +143 -0
  251. package/dist/layout/ScrollArea.d.ts +30 -0
  252. package/dist/layout/ScrollArea.js +138 -0
  253. package/dist/links/Link.d.ts +101 -1
  254. package/dist/links/Link.js +166 -4
  255. package/dist/lists/BulletedList.d.ts +25 -7
  256. package/dist/lists/BulletedList.js +72 -27
  257. package/dist/lists/DescriptionList.d.ts +91 -0
  258. package/dist/lists/DescriptionList.js +147 -0
  259. package/dist/menu/ContextMenu.d.ts +64 -0
  260. package/dist/menu/ContextMenu.js +34 -0
  261. package/dist/menu/Menu.d.ts +280 -0
  262. package/dist/menu/Menu.js +1003 -0
  263. package/dist/modal/ConfirmDialog.d.ts +55 -0
  264. package/dist/modal/ConfirmDialog.js +151 -0
  265. package/dist/modal/Modal.d.ts +64 -14
  266. package/dist/modal/Modal.js +189 -48
  267. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  268. package/dist/navigation/Breadcrumbs.js +243 -0
  269. package/dist/navigation/CommandPalette.d.ts +83 -0
  270. package/dist/navigation/CommandPalette.js +509 -0
  271. package/dist/navigation/Pagination.d.ts +87 -0
  272. package/dist/navigation/Pagination.js +300 -0
  273. package/dist/navigation/SidebarNav.d.ts +107 -0
  274. package/dist/navigation/SidebarNav.js +341 -0
  275. package/dist/navigation/Stepper.d.ts +52 -0
  276. package/dist/navigation/Stepper.js +207 -0
  277. package/dist/navigation/Tabs.d.ts +113 -0
  278. package/dist/navigation/Tabs.js +543 -0
  279. package/dist/navigation/Topbar.d.ts +20 -0
  280. package/dist/navigation/Topbar.js +62 -0
  281. package/dist/overlay/OverlayProvider.d.ts +28 -32
  282. package/dist/overlay/OverlayProvider.js +42 -93
  283. package/dist/overlay/useOverlay.d.ts +88 -12
  284. package/dist/overlay/useOverlay.js +220 -43
  285. package/dist/overlays/Popover.d.ts +114 -0
  286. package/dist/overlays/Popover.js +389 -0
  287. package/dist/shapes/Circle.d.ts +84 -8
  288. package/dist/shapes/Circle.js +122 -20
  289. package/dist/shapes/Square.d.ts +84 -8
  290. package/dist/shapes/Square.js +123 -20
  291. package/dist/styles/mixins.d.ts +35 -0
  292. package/dist/styles/mixins.js +60 -0
  293. package/dist/styles.css +1 -202
  294. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  295. package/dist/table/InfiniteSpreadsheet.js +762 -225
  296. package/dist/table/InfiniteTable.d.ts +116 -14
  297. package/dist/table/InfiniteTable.js +287 -429
  298. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  299. package/dist/table/SpreadsheetCellEditor.js +163 -84
  300. package/dist/table/TableCore.d.ts +252 -0
  301. package/dist/table/TableCore.js +1082 -0
  302. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  303. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  304. package/dist/table/types.d.ts +66 -244
  305. package/dist/table/types.js +0 -51
  306. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  307. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  308. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  309. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  310. package/dist/table/useTableColumnLayout.d.ts +90 -25
  311. package/dist/table/useTableColumnLayout.js +255 -50
  312. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  313. package/dist/table/useTableKeyboardNavigation.js +95 -71
  314. package/dist/table/useTableRowSelection.d.ts +24 -25
  315. package/dist/table/useTableRowSelection.js +57 -84
  316. package/dist/table/useTableVirtualizer.d.ts +20 -0
  317. package/dist/table/useTableVirtualizer.js +48 -0
  318. package/dist/text/Bold.d.ts +5 -6
  319. package/dist/text/Bold.js +16 -15
  320. package/dist/text/Code.d.ts +5 -6
  321. package/dist/text/Code.js +16 -25
  322. package/dist/text/CodeBlock.d.ts +77 -0
  323. package/dist/text/CodeBlock.js +373 -0
  324. package/dist/text/EditableText.d.ts +55 -15
  325. package/dist/text/EditableText.js +153 -135
  326. package/dist/text/Ellipsis.d.ts +34 -8
  327. package/dist/text/Ellipsis.js +55 -23
  328. package/dist/text/Kbd.d.ts +72 -0
  329. package/dist/text/Kbd.js +284 -0
  330. package/dist/text/MarkdownText.d.ts +27 -10
  331. package/dist/text/MarkdownText.js +317 -300
  332. package/dist/text/RequiredMarker.d.ts +17 -5
  333. package/dist/text/RequiredMarker.js +34 -36
  334. package/dist/text/Selectable.d.ts +5 -6
  335. package/dist/text/Selectable.js +16 -13
  336. package/dist/text/Span.d.ts +82 -0
  337. package/dist/text/Span.js +115 -0
  338. package/dist/text/Text.d.ts +128 -41
  339. package/dist/text/Text.js +209 -76
  340. package/dist/theme/GalaxyProvider.d.ts +75 -0
  341. package/dist/theme/GalaxyProvider.js +223 -0
  342. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  343. package/dist/theme/ThemeSwitcher.js +94 -0
  344. package/dist/theme/enums.d.ts +118 -0
  345. package/dist/theme/enums.js +144 -0
  346. package/dist/theme/tokens/dark.d.ts +2 -0
  347. package/dist/theme/tokens/dark.js +275 -0
  348. package/dist/theme/tokens/generate.d.ts +15 -0
  349. package/dist/theme/tokens/generate.js +47 -0
  350. package/dist/theme/tokens/light.d.ts +2 -0
  351. package/dist/theme/tokens/light.js +274 -0
  352. package/dist/theme/tokens/palette.d.ts +14 -0
  353. package/dist/theme/tokens/palette.js +153 -0
  354. package/dist/theme/tokens/scales.d.ts +26 -0
  355. package/dist/theme/tokens/scales.js +154 -0
  356. package/dist/theme/tokens/t.d.ts +3 -0
  357. package/dist/theme/tokens/t.js +25 -0
  358. package/dist/theme/tokens/types.d.ts +189 -0
  359. package/dist/theme/tokens/types.js +0 -0
  360. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  361. package/dist/theme/useGalaxyTheme.js +36 -0
  362. package/dist/theme/useInverseScope.d.ts +18 -0
  363. package/dist/theme/useInverseScope.js +33 -0
  364. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  365. package/dist/three/GalaxyLogomark3D.js +134 -0
  366. package/dist/three/assets/galaxy-logomark.js +4 -0
  367. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  368. package/dist/three/galaxyLogomark3DScene.js +165 -0
  369. package/dist/timeline/Timeline.d.ts +120 -0
  370. package/dist/timeline/Timeline.js +301 -0
  371. package/dist/toast/Toast.d.ts +43 -19
  372. package/dist/toast/Toast.js +130 -89
  373. package/dist/toast/ToastProvider.d.ts +23 -23
  374. package/dist/toast/ToastProvider.js +298 -101
  375. package/dist/toast/ToastViewport.d.ts +12 -0
  376. package/dist/toast/ToastViewport.js +210 -0
  377. package/dist/toast/useToast.d.ts +139 -5
  378. package/dist/toast/useToast.js +15 -13
  379. package/dist/tokens.css +654 -0
  380. package/dist/tooltip/Tooltip.d.ts +64 -44
  381. package/dist/tooltip/Tooltip.js +280 -73
  382. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  383. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  384. package/dist/transform/Fade.d.ts +33 -11
  385. package/dist/transform/Fade.js +71 -19
  386. package/dist/transform/Flasher.d.ts +25 -0
  387. package/dist/transform/Flasher.js +39 -0
  388. package/dist/transform/Rotate.d.ts +24 -12
  389. package/dist/transform/Rotate.js +36 -22
  390. package/dist/transform/ScaleFade.d.ts +36 -11
  391. package/dist/transform/ScaleFade.js +86 -28
  392. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  393. package/dist/transform/internal/CollapseMotion.js +65 -0
  394. package/dist/tree/Tree.d.ts +85 -0
  395. package/dist/tree/Tree.js +387 -0
  396. package/dist/tree/treeRow.d.ts +39 -0
  397. package/dist/tree/treeRow.js +75 -0
  398. package/dist/utils/colors.d.ts +46 -13
  399. package/dist/utils/colors.js +92 -34
  400. package/dist/utils/css.d.ts +23 -0
  401. package/dist/utils/css.js +30 -0
  402. package/dist/utils/format.d.ts +58 -0
  403. package/dist/utils/format.js +220 -0
  404. package/dist/vite/index.d.ts +16 -0
  405. package/dist/vite/index.js +52 -0
  406. package/dist/widget/Widget.d.ts +164 -48
  407. package/dist/widget/Widget.js +335 -96
  408. package/dist/widget/WidgetGroup.d.ts +36 -0
  409. package/dist/widget/WidgetGroup.js +103 -0
  410. package/package.json +855 -157
  411. package/dist/accordion/Accordion.d.ts +0 -54
  412. package/dist/accordion/Accordion.js +0 -183
  413. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  415. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  416. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  417. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  419. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  420. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  421. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  423. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  424. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  425. package/dist/assets/models/galaxy-animation.js +0 -136666
  426. package/dist/assets/models/galaxy-logomark.js +0 -4
  427. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  428. package/dist/avatar/AvatarShimmer.js +0 -22
  429. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  430. package/dist/backgrounds/CellGridBackground.js +0 -44
  431. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  432. package/dist/backgrounds/CrossGridBackground.js +0 -49
  433. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  434. package/dist/backgrounds/DotGridBackground.js +0 -47
  435. package/dist/badge/Badge.d.ts +0 -42
  436. package/dist/badge/Badge.js +0 -99
  437. package/dist/charts/ChartEmptyState.d.ts +0 -17
  438. package/dist/charts/ChartEmptyState.js +0 -29
  439. package/dist/charts/ProgressBar.d.ts +0 -29
  440. package/dist/charts/ProgressBar.js +0 -65
  441. package/dist/charts/chartTheme.d.ts +0 -18
  442. package/dist/charts/chartTheme.js +0 -26
  443. package/dist/containers/FlexItem.d.ts +0 -50
  444. package/dist/containers/FlexItem.js +0 -91
  445. package/dist/containers/FlexWrapper.d.ts +0 -96
  446. package/dist/containers/FlexWrapper.js +0 -143
  447. package/dist/containers/GridWrapper.d.ts +0 -79
  448. package/dist/containers/GridWrapper.js +0 -125
  449. package/dist/containers/Spacing.d.ts +0 -23
  450. package/dist/containers/Spacing.js +0 -59
  451. package/dist/containers/Wrapper.d.ts +0 -26
  452. package/dist/containers/Wrapper.js +0 -54
  453. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  454. package/dist/dividers/HorizontalDivider.js +0 -39
  455. package/dist/dividers/VerticalDivider.d.ts +0 -6
  456. package/dist/dividers/VerticalDivider.js +0 -21
  457. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  458. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  459. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  460. package/dist/icons/GalaxyLogomark.js +0 -27
  461. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  462. package/dist/icons/GalaxyLogomark3D.js +0 -319
  463. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  464. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  465. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  466. package/dist/icons/GalaxyWordmark.js +0 -25
  467. package/dist/inputs/MultiTextInput.d.ts +0 -32
  468. package/dist/inputs/MultiTextInput.js +0 -180
  469. package/dist/inputs/SwitcherInput.d.ts +0 -30
  470. package/dist/inputs/SwitcherInput.js +0 -81
  471. package/dist/inputs/hooks.d.ts +0 -10
  472. package/dist/inputs/hooks.js +0 -22
  473. package/dist/overlay/constants.d.ts +0 -28
  474. package/dist/overlay/constants.js +0 -37
  475. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  476. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  477. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  478. package/dist/resizable/VerticalResizeHandle.js +0 -39
  479. package/dist/table/SpreadsheetCell.d.ts +0 -21
  480. package/dist/table/SpreadsheetCell.js +0 -71
  481. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  482. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  483. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  484. package/dist/table/SpreadsheetMenuItem.js +0 -33
  485. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  486. package/dist/table/SpreadsheetPrimitives.js +0 -105
  487. package/dist/table/SpreadsheetRow.d.ts +0 -33
  488. package/dist/table/SpreadsheetRow.js +0 -73
  489. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  490. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  491. package/dist/table/TableExpandCell.d.ts +0 -11
  492. package/dist/table/TableExpandCell.js +0 -24
  493. package/dist/table/TableExpandedRow.d.ts +0 -16
  494. package/dist/table/TableExpandedRow.js +0 -77
  495. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  496. package/dist/table/TableHeaderCellContent.js +0 -48
  497. package/dist/table/TablePrimitives.d.ts +0 -313
  498. package/dist/table/TablePrimitives.js +0 -302
  499. package/dist/table/TableSelectCell.d.ts +0 -18
  500. package/dist/table/TableSelectCell.js +0 -27
  501. package/dist/table/TableStatusRow.d.ts +0 -18
  502. package/dist/table/TableStatusRow.js +0 -50
  503. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  504. package/dist/table/useSpreadsheetEditing.js +0 -41
  505. package/dist/table/useTableColumnResize.d.ts +0 -38
  506. package/dist/table/useTableColumnResize.js +0 -155
  507. package/dist/table/useTableRowExpansion.d.ts +0 -24
  508. package/dist/table/useTableRowExpansion.js +0 -62
  509. package/dist/table/utils.d.ts +0 -50
  510. package/dist/table/utils.js +0 -78
  511. package/dist/text/HotKeys.d.ts +0 -30
  512. package/dist/text/HotKeys.js +0 -74
  513. package/dist/text/Paragraph.d.ts +0 -33
  514. package/dist/text/Paragraph.js +0 -83
  515. package/dist/text/TextShimmer.d.ts +0 -14
  516. package/dist/text/TextShimmer.js +0 -34
  517. package/dist/theme/GalaxyTheme.d.ts +0 -67
  518. package/dist/theme/GalaxyTheme.js +0 -119
  519. package/dist/theme/constants.d.ts +0 -8
  520. package/dist/theme/constants.js +0 -38
  521. package/dist/theme/index.d.ts +0 -6
  522. package/dist/theme/index.js +0 -7
  523. package/dist/theme/types.d.ts +0 -195
  524. package/dist/theme/types.js +0 -10
  525. package/dist/theme/typography.d.ts +0 -2
  526. package/dist/theme/typography.js +0 -73
  527. package/dist/theme/variants/dark.d.ts +0 -2
  528. package/dist/theme/variants/dark.js +0 -125
  529. package/dist/theme/variants/light.d.ts +0 -2
  530. package/dist/theme/variants/light.js +0 -125
  531. package/dist/toast/ToastContainer.d.ts +0 -10
  532. package/dist/toast/ToastContainer.js +0 -31
  533. package/dist/toast/ToastWrapper.d.ts +0 -6
  534. package/dist/toast/ToastWrapper.js +0 -27
  535. package/dist/transform/Flash.d.ts +0 -7
  536. package/dist/transform/Flash.js +0 -18
  537. package/dist/transform/Spin.d.ts +0 -14
  538. package/dist/transform/Spin.js +0 -25
  539. package/dist/utils/linaria.d.ts +0 -1
  540. package/dist/utils/linaria.js +0 -8
@@ -1,35 +1,38 @@
1
- import { ReactNode } from "react";
1
+ /**
2
+ * Base class for CodeMirror widgets that render React content inline (a `Chip` for a template
3
+ * variable, a status mark beside a line). Part of the opt-in `@galaxy-io/dls/editor/*` subpath.
4
+ */
2
5
  import { WidgetType } from "@codemirror/view";
6
+ import type { ReactNode } from "react";
3
7
  /**
4
- * Abstract base class for rendering React components inside CodeMirror widgets.
8
+ * Abstract base class for rendering React content inside a CodeMirror widget decoration.
9
+ * Subclasses implement `render()` and, as CodeMirror requires, `eq(other)`.
5
10
  *
6
- * This class enables embedding React components as inline decorations in CodeMirror editors.
7
- * Subclasses must implement the `render()` method to return the React content to display.
11
+ * The content renders in its **own React root**: React context (a `Field`, the theme context,
12
+ * overlay roots) does not reach it, while DLS tokens do, because its DOM sits inside the themed
13
+ * page. Token-only components (`Chip`, `Text`, `Icon`, `Kbd`) work; components that need a
14
+ * provider context should not be rendered in a widget.
8
15
  *
9
16
  * @example
10
- * ```tsx
11
- * class MyWidget extends CodeEditorReactWidget {
12
- * constructor(readonly label: string) {
17
+ * class VariableWidget extends CodeEditorReactWidget {
18
+ * constructor(readonly name: string) {
13
19
  * super();
14
20
  * }
15
- *
16
21
  * render(): ReactNode {
17
- * return <MyComponent label={this.label} />;
22
+ * return <Chip label={this.name} size={ChipSize.X_SMALL} />;
18
23
  * }
19
- *
20
- * eq(other: CodeEditorReactWidget): boolean {
21
- * return other instanceof CodeEditorReactWidget && this.label === other.label;
24
+ * eq(other: VariableWidget): boolean {
25
+ * return other instanceof VariableWidget && other.name === this.name;
22
26
  * }
23
27
  * }
24
- * ```
25
28
  */
26
29
  export declare abstract class CodeEditorReactWidget extends WidgetType {
30
+ /** The React root rendering this widget, while it is mounted. */
27
31
  private root;
28
- /**
29
- * Returns the React content to render in the widget.
30
- * Implement this method in subclasses to define the widget's appearance.
31
- */
32
+ /** The React content the widget shows. */
32
33
  abstract render(): ReactNode;
34
+ /** Creates the inline container and renders `render()` into a new React root. */
33
35
  toDOM(): HTMLElement;
36
+ /** Unmounts the React root on the next task, so it never unmounts during a React render. */
34
37
  destroy(): void;
35
38
  }
@@ -1,46 +1,53 @@
1
- import { createRoot } from "react-dom/client";
1
+ /* empty css */
2
+ import { cx } from "@linaria/core";
2
3
  import { WidgetType } from "@codemirror/view";
4
+ import { createRoot } from "react-dom/client";
3
5
  //#region src/editor/CodeEditorReactWidget.tsx
4
6
  /**
5
- * Abstract base class for rendering React components inside CodeMirror widgets.
7
+ * Base class for CodeMirror widgets that render React content inline (a `Chip` for a template
8
+ * variable, a status mark beside a line). Part of the opt-in `@galaxy-io/dls/editor/*` subpath.
9
+ */
10
+ /** The widget's inline container: flows with the text on its baseline. */
11
+ var WIDGET_CSS = "gx-CodeEditorReactWidget-WIDGET_CSS-w1qncrl1";
12
+ /**
13
+ * Abstract base class for rendering React content inside a CodeMirror widget decoration.
14
+ * Subclasses implement `render()` and, as CodeMirror requires, `eq(other)`.
6
15
  *
7
- * This class enables embedding React components as inline decorations in CodeMirror editors.
8
- * Subclasses must implement the `render()` method to return the React content to display.
16
+ * The content renders in its **own React root**: React context (a `Field`, the theme context,
17
+ * overlay roots) does not reach it, while DLS tokens do, because its DOM sits inside the themed
18
+ * page. Token-only components (`Chip`, `Text`, `Icon`, `Kbd`) work; components that need a
19
+ * provider context should not be rendered in a widget.
9
20
  *
10
21
  * @example
11
- * ```tsx
12
- * class MyWidget extends CodeEditorReactWidget {
13
- * constructor(readonly label: string) {
22
+ * class VariableWidget extends CodeEditorReactWidget {
23
+ * constructor(readonly name: string) {
14
24
  * super();
15
25
  * }
16
- *
17
26
  * render(): ReactNode {
18
- * return <MyComponent label={this.label} />;
27
+ * return <Chip label={this.name} size={ChipSize.X_SMALL} />;
19
28
  * }
20
- *
21
- * eq(other: CodeEditorReactWidget): boolean {
22
- * return other instanceof CodeEditorReactWidget && this.label === other.label;
29
+ * eq(other: VariableWidget): boolean {
30
+ * return other instanceof VariableWidget && other.name === this.name;
23
31
  * }
24
32
  * }
25
- * ```
26
33
  */
27
34
  var CodeEditorReactWidget = class extends WidgetType {
35
+ /** The React root rendering this widget, while it is mounted. */
28
36
  root = null;
37
+ /** Creates the inline container and renders `render()` into a new React root. */
29
38
  toDOM() {
30
39
  const container = document.createElement("span");
31
- container.className = "cm-react-widget";
32
- container.style.display = "inline-flex";
33
- container.style.verticalAlign = "baseline";
40
+ container.className = cx("cm-react-widget", WIDGET_CSS);
34
41
  this.root = createRoot(container);
35
42
  this.root.render(this.render());
36
43
  return container;
37
44
  }
45
+ /** Unmounts the React root on the next task, so it never unmounts during a React render. */
38
46
  destroy() {
39
- if (this.root) {
40
- const rootToUnmount = this.root;
41
- setTimeout(() => rootToUnmount.unmount(), 0);
42
- this.root = null;
43
- }
47
+ const rootToUnmount = this.root;
48
+ if (rootToUnmount === null) return;
49
+ this.root = null;
50
+ setTimeout(() => rootToUnmount.unmount(), 0);
44
51
  }
45
52
  };
46
53
  //#endregion
@@ -0,0 +1,49 @@
1
+ import { type Icon as PhosphorIcon } from "@phosphor-icons/react";
2
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
3
+ /** Severity (Constitution V-A color set, subset; Alert is listed in that column). */
4
+ export declare enum AlertVariant {
5
+ /** Neutral note: `background.secondary` surface, `InfoIcon` in `text.secondary`. The default. */
6
+ PRIMARY = "PRIMARY",
7
+ /** Done, healthy: success surface, `CheckCircleIcon`. */
8
+ SUCCESS = "SUCCESS",
9
+ /** Needs attention soon: warning surface, `WarningIcon`. */
10
+ WARNING = "WARNING",
11
+ /** Broken, blocked: error surface, `WarningCircleIcon`, `role="alert"`. */
12
+ ERROR = "ERROR"
13
+ }
14
+ export interface AlertProps extends AriaAttributes {
15
+ /**
16
+ * Severity: sets the surface tint, the border, the icon and the ARIA role.
17
+ * @default AlertVariant.PRIMARY
18
+ */
19
+ variant?: AlertVariant;
20
+ /** Short headline ("Schema drift detected"). Medium weight; above the body inline, before it in a banner. */
21
+ header?: string;
22
+ /** The message. Rendered in a `Text`, so inline `Span`, `Code` and `Link` inherit its size and color. */
23
+ children?: ReactNode;
24
+ /**
25
+ * Replaces the variant's default icon. Pass the component (`PlugsIcon`), not an element.
26
+ * @default the variant's icon
27
+ */
28
+ icon?: PhosphorIcon;
29
+ /** The way out: one `ButtonVariant.PRIMARY` button at `ButtonSize.SMALL`, any second action `TERTIARY`. A row under the body inline; trailing in a banner. */
30
+ actions?: ReactNode;
31
+ /** Shows a dismiss button and is called when it is pressed. The host unmounts the Alert. */
32
+ onDismiss?: () => void;
33
+ /**
34
+ * Full-width strip across the top of a page or panel: square corners, bottom hairline only, one line.
35
+ * @default false
36
+ */
37
+ isBanner?: boolean;
38
+ /** DOM id on the root `<div>`. */
39
+ id?: string;
40
+ /** Any `data-*` attribute, forwarded to the root `<div>`. */
41
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
42
+ /** Extra class on the root `<div>`. */
43
+ className?: string;
44
+ /** Inline style on the root `<div>`; only for setting CSS custom properties. */
45
+ style?: CSSProperties;
46
+ }
47
+ /** A tinted, bordered message with a severity icon, optional header, actions and dismiss. */
48
+ declare const Alert: import("react").ForwardRefExoticComponent<AlertProps & import("react").RefAttributes<HTMLDivElement>>;
49
+ export default Alert;
@@ -0,0 +1,172 @@
1
+ import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
2
+ import Icon, { IconVariant, IconWeight } from "../icons/Icon.js";
3
+ import Button, { ButtonSize, ButtonVariant } from "../buttons/Button.js";
4
+ /* empty css */
5
+ import { styled } from "@linaria/react";
6
+ import { forwardRef } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { cx } from "@linaria/core";
9
+ import { CheckCircleIcon, InfoIcon, WarningCircleIcon, WarningIcon, XIcon } from "@phosphor-icons/react";
10
+ //#region src/feedback/Alert.tsx
11
+ /**
12
+ * A message about the thing on screen that the reader should stop and read: a schema that
13
+ * drifted, a run that failed, a limit that is close. It stays until the condition goes away or
14
+ * the reader dismisses it; the host mounts it while the condition holds and unmounts it on
15
+ * `onDismiss`. Not transient (`Toast`), not the state of one row (a labeled `Beacon`), not a modal
16
+ * confirmation (`ConfirmDialog`).
17
+ *
18
+ * Severity (`variant`) is carried by a quiet `background.<status>` surface, a hairline border and a filled
19
+ * status icon whose accessible name says the severity; the header and body stay in the neutral
20
+ * text hierarchy. `ERROR` is `role="alert"` (assertive); every other variant is `role="status"`.
21
+ * A live region announces content that arrives after it is in the DOM, so mount the Alert when
22
+ * the condition becomes true rather than rendering it hidden and revealing it.
23
+ *
24
+ * Inline it is a rounded panel; `isBanner` makes it a full-width strip across the top of a page
25
+ * or panel (square corners, bottom hairline only, one line). No motion of its own: wrap it in
26
+ * `Fade` (or the app's own height animation) for an animated dismiss.
27
+ */
28
+ /** Severity (Constitution V-A color set, subset; Alert is listed in that column). */
29
+ var AlertVariant = /* @__PURE__ */ function(AlertVariant) {
30
+ /** Neutral note: `background.secondary` surface, `InfoIcon` in `text.secondary`. The default. */
31
+ AlertVariant["PRIMARY"] = "PRIMARY";
32
+ /** Done, healthy: success surface, `CheckCircleIcon`. */
33
+ AlertVariant["SUCCESS"] = "SUCCESS";
34
+ /** Needs attention soon: warning surface, `WarningIcon`. */
35
+ AlertVariant["WARNING"] = "WARNING";
36
+ /** Broken, blocked: error surface, `WarningCircleIcon`, `role="alert"`. */
37
+ AlertVariant["ERROR"] = "ERROR";
38
+ return AlertVariant;
39
+ }({});
40
+ /**
41
+ * A block-level flex row that fills its parent's width. The transparent `0.5px` hairline gives
42
+ * every variant the same box; the variant map colors it.
43
+ */
44
+ var Root = /*#__PURE__*/ styled("div")({
45
+ name: "Root",
46
+ class: "gx-Alert-r1k8hd3a",
47
+ propsAsIs: false
48
+ });
49
+ /** One `body_md` line tall, so the 16px icon and the first text line share a center. */
50
+ var IconSlot = /*#__PURE__*/ styled("span")({
51
+ name: "IconSlot",
52
+ class: "gx-Alert-IconSlot-i1jg85na",
53
+ propsAsIs: false
54
+ });
55
+ /**
56
+ * One `body_md` line tall; the 20px `X_SMALL` dismiss button centers on the first line and
57
+ * overflows the slot by 2px into the root padding (visible, not clipped).
58
+ */
59
+ var DismissSlot = /*#__PURE__*/ styled("span")({
60
+ name: "DismissSlot",
61
+ class: "gx-Alert-DismissSlot-d179rxg0",
62
+ propsAsIs: false
63
+ });
64
+ /** Header, body and (inline) actions. Long words wrap, so the dismiss button is never pushed out. */
65
+ var Content = /*#__PURE__*/ styled("div")({
66
+ name: "Content",
67
+ class: "gx-Alert-Content-c1r3eyf8",
68
+ propsAsIs: false
69
+ });
70
+ /** The actions row: 8px under the body inline (with `Content`'s 4px gap). */
71
+ var Actions = /*#__PURE__*/ styled("div")({
72
+ name: "Actions",
73
+ class: "gx-Alert-Actions-accxkmh",
74
+ propsAsIs: false
75
+ });
76
+ /** Surface tint and hairline color per severity. */
77
+ var ALERT_VARIANT_TO_CSS_MAP = {
78
+ ["PRIMARY"]: "gx-Alert-PRIMARY-p1jph1ch",
79
+ ["SUCCESS"]: "gx-Alert-SUCCESS-smmodrk",
80
+ ["WARNING"]: "gx-Alert-WARNING-w6btz5r",
81
+ ["ERROR"]: "gx-Alert-ERROR-e1rogvwo"
82
+ };
83
+ /** Default glyph per severity. `ERROR` differs in shape from `WARNING`, so severity is never color-only. */
84
+ var ALERT_VARIANT_TO_ICON_MAP = {
85
+ ["PRIMARY"]: InfoIcon,
86
+ ["SUCCESS"]: CheckCircleIcon,
87
+ ["WARNING"]: WarningIcon,
88
+ ["ERROR"]: WarningCircleIcon
89
+ };
90
+ /** Icon color role per severity. */
91
+ var ALERT_VARIANT_TO_ICON_VARIANT_MAP = {
92
+ ["PRIMARY"]: IconVariant.SECONDARY,
93
+ ["SUCCESS"]: IconVariant.SUCCESS,
94
+ ["WARNING"]: IconVariant.WARNING,
95
+ ["ERROR"]: IconVariant.ERROR
96
+ };
97
+ /** Live-region role per severity: only `ERROR` is assertive. */
98
+ var ALERT_VARIANT_TO_ROLE_MAP = {
99
+ ["PRIMARY"]: "status",
100
+ ["SUCCESS"]: "status",
101
+ ["WARNING"]: "status",
102
+ ["ERROR"]: "alert"
103
+ };
104
+ /** The icon's accessible name: the severity in one word. */
105
+ var ALERT_VARIANT_TO_SEVERITY_LABEL_MAP = {
106
+ ["PRIMARY"]: "Note",
107
+ ["SUCCESS"]: "Success",
108
+ ["WARNING"]: "Warning",
109
+ ["ERROR"]: "Error"
110
+ };
111
+ /** Banner: square corners, bottom hairline only, centered one-line row. */
112
+ var BANNER_CSS = "gx-Alert-BANNER_CSS-br7k6o5";
113
+ /** Banner: the header and body read as one line, wrapping when narrow. */
114
+ var BANNER_CONTENT_CSS = "gx-Alert-BANNER_CONTENT_CSS-b11mdnwt";
115
+ /** Banner: the actions trail and never shrink. */
116
+ var BANNER_ACTIONS_CSS = "gx-Alert-BANNER_ACTIONS_CSS-by507ww";
117
+ /** A tinted, bordered message with a severity icon, optional header, actions and dismiss. */
118
+ var Alert = forwardRef(function Alert({ variant = "PRIMARY", header, children, icon, actions, onDismiss, isBanner = false, id, className, style, ...rest }, ref) {
119
+ const hasHeader = header !== void 0 && header !== "";
120
+ const hasBody = children !== void 0 && children !== null && children !== false;
121
+ const actionsRow = actions !== void 0 && actions !== null && actions !== false && /* @__PURE__ */ jsx(Actions, {
122
+ className: cx(isBanner && BANNER_ACTIONS_CSS),
123
+ children: actions
124
+ });
125
+ return /* @__PURE__ */ jsxs(Root, {
126
+ role: ALERT_VARIANT_TO_ROLE_MAP[variant],
127
+ ...rest,
128
+ ref,
129
+ id,
130
+ className: cx(ALERT_VARIANT_TO_CSS_MAP[variant], isBanner && BANNER_CSS, className),
131
+ style,
132
+ children: [
133
+ /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(Icon, {
134
+ component: icon ?? ALERT_VARIANT_TO_ICON_MAP[variant],
135
+ size: 16,
136
+ weight: IconWeight.FILL,
137
+ variant: ALERT_VARIANT_TO_ICON_VARIANT_MAP[variant],
138
+ ariaLabel: ALERT_VARIANT_TO_SEVERITY_LABEL_MAP[variant]
139
+ }) }),
140
+ /* @__PURE__ */ jsxs(Content, {
141
+ className: cx(isBanner && BANNER_CONTENT_CSS),
142
+ children: [
143
+ hasHeader && /* @__PURE__ */ jsx(Text, {
144
+ as: "p",
145
+ size: TextSize.BODY_MD,
146
+ weight: TextWeight.MEDIUM,
147
+ variant: TextVariant.PRIMARY,
148
+ children: header
149
+ }),
150
+ hasBody && /* @__PURE__ */ jsx(Text, {
151
+ as: "div",
152
+ size: TextSize.BODY_MD,
153
+ variant: TextVariant.SECONDARY,
154
+ children
155
+ }),
156
+ !isBanner && actionsRow
157
+ ]
158
+ }),
159
+ isBanner && actionsRow,
160
+ onDismiss !== void 0 && /* @__PURE__ */ jsx(DismissSlot, { children: /* @__PURE__ */ jsx(Button, {
161
+ icon: XIcon,
162
+ variant: ButtonVariant.TERTIARY,
163
+ size: ButtonSize.X_SMALL,
164
+ ariaLabel: "Dismiss",
165
+ onClick: () => onDismiss()
166
+ }) })
167
+ ]
168
+ });
169
+ });
170
+ Alert.displayName = "Alert";
171
+ //#endregion
172
+ export { AlertVariant, Alert as default };
@@ -0,0 +1,39 @@
1
+ import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
2
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
3
+ /** Where the empty state sits (canonical rungs, subset). */
4
+ export declare enum EmptyStateSize {
5
+ /** Inside a table cell, a chart, a menu or a small card: 24px tile, body_md header. */
6
+ SMALL = "SMALL",
7
+ /** Inside a panel, a Widget body or a table body. The default: 32px tile, body_lg header. */
8
+ MEDIUM = "MEDIUM",
9
+ /** A whole page or main region: 40px tile, heading_sm header. */
10
+ LARGE = "LARGE"
11
+ }
12
+ export interface EmptyStateProps extends AriaAttributes {
13
+ /** One line that says what would be here ("No runs yet", "No results for “orders”"). Medium weight. */
14
+ header: string;
15
+ /** Why it is empty or what to do next. Up to three short lines; wraps at about 48 characters. */
16
+ description?: string;
17
+ /** Phosphor icon component (`TrayIcon`, not `<TrayIcon />`) shown in a small tile above the header. */
18
+ icon?: PhosphorIcon;
19
+ /** The way out: usually one `PRIMARY` and one `SECONDARY` `Button` (or a `Link`), in that order. Use `ButtonSize.SMALL` at `SMALL`, `MEDIUM` otherwise. */
20
+ actions?: ReactNode;
21
+ /**
22
+ * Where it sits: a cell, chart or menu (`SMALL`), a panel or card (`MEDIUM`), or a whole page (`LARGE`). Scales the tile, the type and the padding.
23
+ * @default EmptyStateSize.MEDIUM
24
+ */
25
+ size?: EmptyStateSize;
26
+ /** Pass `"status"` when the empty state replaces results after a user action, so it is announced. */
27
+ role?: "status";
28
+ /** DOM id on the root `<div>`. */
29
+ id?: string;
30
+ /** Any `data-*` attribute, forwarded to the root `<div>`. */
31
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
32
+ /** Extra class on the root `<div>`. */
33
+ className?: string;
34
+ /** Inline style on the root `<div>`; only for setting CSS custom properties. */
35
+ style?: CSSProperties;
36
+ }
37
+ /** A centered icon, header, description and actions for a region with nothing to show. */
38
+ declare const EmptyState: import("react").ForwardRefExoticComponent<EmptyStateProps & import("react").RefAttributes<HTMLDivElement>>;
39
+ export default EmptyState;
@@ -0,0 +1,109 @@
1
+ import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
2
+ import Icon, { IconVariant } from "../icons/Icon.js";
3
+ /* empty css */
4
+ import { styled } from "@linaria/react";
5
+ import { forwardRef } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { cx } from "@linaria/core";
8
+ //#region src/feedback/EmptyState.tsx
9
+ /**
10
+ * What a region shows when it has nothing to show: no runs yet, no search results, no data in a
11
+ * chart. A centered stack of an optional icon in a small tile, a one-line `header`, a
12
+ * `description`, and `actions` that put something there. Three sizes for a cell or chart, a
13
+ * panel, and a page. It has no border or surface of its own: it sits inside the region that is
14
+ * empty (a `Widget`, a table body, a page).
15
+ *
16
+ * Not an error (`Alert`), not a loading placeholder (`Skeleton` / `Spinner`). Static content: the
17
+ * host passes `role="status"` when the empty state appears because of something the user did.
18
+ */
19
+ /** Where the empty state sits (canonical rungs, subset). */
20
+ var EmptyStateSize = /* @__PURE__ */ function(EmptyStateSize) {
21
+ /** Inside a table cell, a chart, a menu or a small card: 24px tile, body_md header. */
22
+ EmptyStateSize["SMALL"] = "SMALL";
23
+ /** Inside a panel, a Widget body or a table body. The default: 32px tile, body_lg header. */
24
+ EmptyStateSize["MEDIUM"] = "MEDIUM";
25
+ /** A whole page or main region: 40px tile, heading_sm header. */
26
+ EmptyStateSize["LARGE"] = "LARGE";
27
+ return EmptyStateSize;
28
+ }({});
29
+ /** Fills its parent's width and centers its stack. No background, border or radius. */
30
+ var Root = /*#__PURE__*/ styled("div")({
31
+ name: "Root",
32
+ class: "gx-EmptyState-r1siz0my",
33
+ propsAsIs: false
34
+ });
35
+ /** A control-sized square on the quietest raised step. */
36
+ var Tile = /*#__PURE__*/ styled("div")({
37
+ name: "Tile",
38
+ class: "gx-EmptyState-Tile-t2lzt2i",
39
+ propsAsIs: false
40
+ });
41
+ var Copy = /*#__PURE__*/ styled("div")({
42
+ name: "Copy",
43
+ class: "gx-EmptyState-Copy-c1cew7lm",
44
+ propsAsIs: false
45
+ });
46
+ var Actions = /*#__PURE__*/ styled("div")({
47
+ name: "Actions",
48
+ class: "gx-EmptyState-Actions-az10ltv",
49
+ propsAsIs: false
50
+ });
51
+ /** A measure, not a spacing value: two-line descriptions stay two lines at body_md. */
52
+ var DESCRIPTION_CSS = "gx-EmptyState-DESCRIPTION_CSS-d1ao7sbo";
53
+ /** Padding, stack gap and tile size per placement. */
54
+ var EMPTY_STATE_SIZE_TO_CSS_MAP = {
55
+ ["SMALL"]: "gx-EmptyState-SMALL-sa0wxkf",
56
+ ["MEDIUM"]: "gx-EmptyState-MEDIUM-mgybc7l",
57
+ ["LARGE"]: "gx-EmptyState-LARGE-l4781xg"
58
+ };
59
+ /** The tile's icon: the rung pair of its control square (24/14, 32/16, 40/18). */
60
+ var EMPTY_STATE_SIZE_TO_ICON_PX_MAP = {
61
+ ["SMALL"]: 14,
62
+ ["MEDIUM"]: 16,
63
+ ["LARGE"]: 18
64
+ };
65
+ var EMPTY_STATE_SIZE_TO_HEADER_SIZE_MAP = {
66
+ ["SMALL"]: TextSize.BODY_MD,
67
+ ["MEDIUM"]: TextSize.BODY_LG,
68
+ ["LARGE"]: TextSize.HEADING_SM
69
+ };
70
+ var EMPTY_STATE_SIZE_TO_DESCRIPTION_SIZE_MAP = {
71
+ ["SMALL"]: TextSize.BODY_SM,
72
+ ["MEDIUM"]: TextSize.BODY_MD,
73
+ ["LARGE"]: TextSize.BODY_MD
74
+ };
75
+ /** A centered icon, header, description and actions for a region with nothing to show. */
76
+ var EmptyState = forwardRef(function EmptyState({ header, description, icon, actions, size = "MEDIUM", className, ...rest }, ref) {
77
+ return /* @__PURE__ */ jsxs(Root, {
78
+ ...rest,
79
+ ref,
80
+ className: cx(EMPTY_STATE_SIZE_TO_CSS_MAP[size], className),
81
+ children: [
82
+ icon && /* @__PURE__ */ jsx(Tile, { children: /* @__PURE__ */ jsx(Icon, {
83
+ component: icon,
84
+ size: EMPTY_STATE_SIZE_TO_ICON_PX_MAP[size],
85
+ variant: IconVariant.SECONDARY
86
+ }) }),
87
+ /* @__PURE__ */ jsxs(Copy, { children: [/* @__PURE__ */ jsx(Text, {
88
+ as: "p",
89
+ size: EMPTY_STATE_SIZE_TO_HEADER_SIZE_MAP[size],
90
+ weight: TextWeight.MEDIUM,
91
+ variant: TextVariant.PRIMARY,
92
+ align: "center",
93
+ children: header
94
+ }), description && /* @__PURE__ */ jsx(Text, {
95
+ as: "p",
96
+ size: EMPTY_STATE_SIZE_TO_DESCRIPTION_SIZE_MAP[size],
97
+ variant: TextVariant.SECONDARY,
98
+ align: "center",
99
+ isProse: true,
100
+ className: DESCRIPTION_CSS,
101
+ children: description
102
+ })] }),
103
+ actions && /* @__PURE__ */ jsx(Actions, { children: actions })
104
+ ]
105
+ });
106
+ });
107
+ EmptyState.displayName = "EmptyState";
108
+ //#endregion
109
+ export { EmptyStateSize, EmptyState as default };
@@ -0,0 +1,125 @@
1
+ import { type AriaAttributes, type CSSProperties } from "react";
2
+ import type { PaletteColor } from "../theme/tokens/types.js";
3
+ /** Canonical rungs; the member names the rung of the text the bar sits with. */
4
+ export declare enum ProgressBarSize {
5
+ /** 2px track, caption label. */
6
+ X_SMALL = "X_SMALL",
7
+ /** 4px track, body_sm label. */
8
+ SMALL = "SMALL",
9
+ /** 4px track, body_md label. The default (1.x `height` 4). */
10
+ MEDIUM = "MEDIUM",
11
+ /** 6px track, body_lg label. */
12
+ LARGE = "LARGE",
13
+ /** 8px track, body_lg label. */
14
+ X_LARGE = "X_LARGE"
15
+ }
16
+ /** Fill color (Constitution V-A color set, subset; the same members as `ProgressCircleVariant`). */
17
+ export declare enum ProgressBarVariant {
18
+ /** `text.primary`. The default. */
19
+ PRIMARY = "PRIMARY",
20
+ /** `text.secondary`. */
21
+ SECONDARY = "SECONDARY",
22
+ /** `text.tertiary`. */
23
+ TERTIARY = "TERTIARY",
24
+ /** `text.success`: healthy, on track, complete. */
25
+ SUCCESS = "SUCCESS",
26
+ /** `text.warning`: at risk, nearing a limit. */
27
+ WARNING = "WARNING",
28
+ /** `text.error`: failing, over a limit. */
29
+ ERROR = "ERROR"
30
+ }
31
+ /** The axes (everything except the value pair, the name pair and the passthrough). */
32
+ interface ProgressBarBaseProps extends AriaAttributes {
33
+ /**
34
+ * Track thickness (2 / 4 / 4 / 6 / 8px) and the type step of `label` and the value (`caption` / `body_sm` / `body_md` / `body_lg` / `body_lg`).
35
+ * @default ProgressBarSize.MEDIUM
36
+ */
37
+ size?: ProgressBarSize;
38
+ }
39
+ /** A bar colored by meaning (`variant`), or the default `PRIMARY`. */
40
+ interface ProgressBarVariantProps {
41
+ /**
42
+ * Color of the fill: a neutral step, or a status when the progress means something (healthy, at risk, failing). Not with `color`.
43
+ * @default ProgressBarVariant.PRIMARY
44
+ */
45
+ variant?: ProgressBarVariant;
46
+ /** Categorical palette family. Not with `variant`. */
47
+ color?: undefined;
48
+ }
49
+ /** A bar colored by category (`color`). */
50
+ interface ProgressBarColorProps {
51
+ /**
52
+ * Color of the fill: a neutral step, or a status when the progress means something (healthy, at risk, failing). Not with `color`.
53
+ * @default ProgressBarVariant.PRIMARY
54
+ */
55
+ variant?: undefined;
56
+ /**
57
+ * Categorical palette family (`"blue"`, `"violet"`, …): the fill takes `text.<family>`, the way
58
+ * a status variant renders. For a category's color (a source type, a team); meanings take
59
+ * `variant`. Not with `variant`.
60
+ */
61
+ color: PaletteColor;
62
+ }
63
+ /** The passthrough, kept last so `className` and `style` close the props table. */
64
+ interface ProgressBarPassthroughProps {
65
+ /** DOM id on the root `<div>`. */
66
+ id?: string;
67
+ /** Any `data-*` attribute, forwarded to the root `<div>`. */
68
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
69
+ /** Extra class on the root `<div>`. */
70
+ className?: string;
71
+ /** Inline style on the root `<div>`; only for setting CSS custom properties. Merged after `--gx-progress-bar-value`. */
72
+ style?: CSSProperties;
73
+ }
74
+ /** A determinate bar: `value` is required. */
75
+ interface ProgressBarDeterminateProps {
76
+ /** Progress from 0 to 100 (required unless `isIndeterminate`). Clamped to that range; `NaN` counts as 0. */
77
+ value: number;
78
+ /**
79
+ * The total is not known yet: a segment sweeps along the track and no value is reported. `value` is not accepted with it.
80
+ * @default false
81
+ */
82
+ isIndeterminate?: false;
83
+ /**
84
+ * Shows the formatted percentage ("40%") at the end of the label line. Determinate bars only.
85
+ * @default false
86
+ */
87
+ shouldShowValue?: boolean;
88
+ }
89
+ /** An indeterminate bar: no `value` and no shown value. */
90
+ interface ProgressBarIndeterminateProps {
91
+ /** Progress from 0 to 100 (required unless `isIndeterminate`). Clamped to that range; `NaN` counts as 0. */
92
+ value?: undefined;
93
+ /**
94
+ * The total is not known yet: a segment sweeps along the track and no value is reported. `value` is not accepted with it.
95
+ * @default false
96
+ */
97
+ isIndeterminate: true;
98
+ /**
99
+ * Shows the formatted percentage ("40%") at the end of the label line. Determinate bars only.
100
+ * @default false
101
+ */
102
+ shouldShowValue?: false;
103
+ }
104
+ /** A visible label, which is also the accessible name. */
105
+ interface ProgressBarLabelledProps {
106
+ /** Visible text above the bar, at the start ("Syncing contacts"). It is also the progress bar's accessible name. */
107
+ label: string;
108
+ /** Accessible name when there is no visible `label` ("Sync progress"). The type requires `label` or `ariaLabel`. */
109
+ ariaLabel?: string;
110
+ }
111
+ /** No visible label: the accessible name is required. */
112
+ interface ProgressBarUnlabelledProps {
113
+ /** Visible text above the bar, at the start ("Syncing contacts"). It is also the progress bar's accessible name. */
114
+ label?: undefined;
115
+ /** Accessible name when there is no visible `label` ("Sync progress"). The type requires `label` or `ariaLabel`. */
116
+ ariaLabel: string;
117
+ }
118
+ /**
119
+ * ProgressBar props. `value` is required unless `isIndeterminate`; `label` or `ariaLabel` is
120
+ * required; `variant` and `color` are exclusive.
121
+ */
122
+ export type ProgressBarProps = ProgressBarBaseProps & (ProgressBarVariantProps | ProgressBarColorProps) & (ProgressBarDeterminateProps | ProgressBarIndeterminateProps) & (ProgressBarLabelledProps | ProgressBarUnlabelledProps) & ProgressBarPassthroughProps;
123
+ /** A horizontal progress bar with an optional label line. */
124
+ declare const ProgressBar: import("react").ForwardRefExoticComponent<ProgressBarProps & import("react").RefAttributes<HTMLDivElement>>;
125
+ export default ProgressBar;