@galaxy-io/dls 1.6.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +160 -124
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +33 -20
  46. package/dist/charts/ChartFrame.d.ts +71 -116
  47. package/dist/charts/ChartFrame.js +306 -97
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +37 -48
  51. package/dist/charts/ChartLegend.js +243 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +34 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +307 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +174 -121
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +159 -136
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/chartSelection.d.ts +15 -0
  79. package/dist/charts/chartSelection.js +22 -0
  80. package/dist/charts/constants.d.ts +100 -256
  81. package/dist/charts/constants.js +109 -275
  82. package/dist/charts/heatmapGeometry.d.ts +95 -0
  83. package/dist/charts/heatmapGeometry.js +155 -0
  84. package/dist/charts/lineChartGeometry.d.ts +108 -58
  85. package/dist/charts/lineChartGeometry.js +120 -78
  86. package/dist/charts/pieChartGeometry.d.ts +66 -40
  87. package/dist/charts/pieChartGeometry.js +68 -38
  88. package/dist/charts/types.d.ts +206 -466
  89. package/dist/charts/types.js +55 -144
  90. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  91. package/dist/charts/useCartesianChartLayout.js +47 -32
  92. package/dist/charts/useChartDimensions.d.ts +19 -40
  93. package/dist/charts/useChartDimensions.js +40 -56
  94. package/dist/charts/useChartFormatters.d.ts +6 -15
  95. package/dist/charts/useChartFormatters.js +4 -9
  96. package/dist/charts/useChartInteraction.d.ts +69 -116
  97. package/dist/charts/useChartInteraction.js +148 -78
  98. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  99. package/dist/charts/useChartTooltipPosition.js +14 -5
  100. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  101. package/dist/charts/useSeriesColorResolver.js +19 -12
  102. package/dist/chips/Chip.d.ts +155 -44
  103. package/dist/chips/Chip.js +329 -155
  104. package/dist/chips/ChipGroup.d.ts +53 -0
  105. package/dist/chips/ChipGroup.js +98 -0
  106. package/dist/drawer/Drawer.d.ts +83 -17
  107. package/dist/drawer/Drawer.js +399 -65
  108. package/dist/dropdown/Dropdown.d.ts +80 -63
  109. package/dist/dropdown/Dropdown.js +127 -129
  110. package/dist/editor/CodeEditor.d.ts +119 -40
  111. package/dist/editor/CodeEditor.js +490 -400
  112. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  113. package/dist/editor/CodeEditorReactWidget.js +28 -21
  114. package/dist/feedback/Alert.d.ts +49 -0
  115. package/dist/feedback/Alert.js +172 -0
  116. package/dist/feedback/EmptyState.d.ts +39 -0
  117. package/dist/feedback/EmptyState.js +109 -0
  118. package/dist/feedback/ProgressBar.d.ts +125 -0
  119. package/dist/feedback/ProgressBar.js +183 -0
  120. package/dist/feedback/ProgressCircle.d.ts +99 -0
  121. package/dist/feedback/ProgressCircle.js +187 -0
  122. package/dist/feedback/Skeleton.d.ts +69 -0
  123. package/dist/feedback/Skeleton.js +130 -0
  124. package/dist/feedback/Spinner.d.ts +63 -0
  125. package/dist/feedback/Spinner.js +141 -0
  126. package/dist/fonts.css +70 -0
  127. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  128. package/dist/hooks/internal/useIsClient.js +14 -0
  129. package/dist/hooks/useClipboard.d.ts +19 -0
  130. package/dist/hooks/useClipboard.js +45 -0
  131. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  132. package/dist/hooks/useControlledOpenState.js +19 -0
  133. package/dist/hooks/useControlledState.d.ts +19 -0
  134. package/dist/hooks/useControlledState.js +22 -0
  135. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  136. package/dist/hooks/useDebouncedValue.js +33 -0
  137. package/dist/hooks/useDisclosure.d.ts +26 -0
  138. package/dist/hooks/useDisclosure.js +36 -0
  139. package/dist/hooks/useDismiss.d.ts +23 -27
  140. package/dist/hooks/useDismiss.js +39 -27
  141. package/dist/hooks/useElementClientSize.d.ts +10 -10
  142. package/dist/hooks/useElementClientSize.js +8 -11
  143. package/dist/hooks/useElementWidth.d.ts +6 -13
  144. package/dist/hooks/useElementWidth.js +6 -14
  145. package/dist/hooks/useField.d.ts +47 -0
  146. package/dist/hooks/useField.js +40 -0
  147. package/dist/hooks/useHotkey.d.ts +77 -0
  148. package/dist/hooks/useHotkey.js +246 -0
  149. package/dist/hooks/useIsMac.d.ts +12 -0
  150. package/dist/hooks/useIsMac.js +27 -0
  151. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  152. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  153. package/dist/hooks/useLocalStorage.d.ts +28 -0
  154. package/dist/hooks/useLocalStorage.js +145 -0
  155. package/dist/hooks/useMediaQuery.d.ts +11 -0
  156. package/dist/hooks/useMediaQuery.js +23 -0
  157. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  158. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  159. package/dist/hooks/useResize.d.ts +42 -62
  160. package/dist/hooks/useResize.js +43 -31
  161. package/dist/icons/Icon.d.ts +64 -37
  162. package/dist/icons/Icon.js +96 -37
  163. package/dist/icons/internal/IconSlot.d.ts +10 -0
  164. package/dist/icons/internal/IconSlot.js +32 -0
  165. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  166. package/dist/inputs/CheckboxGroup.js +183 -0
  167. package/dist/inputs/CheckboxInput.d.ts +98 -28
  168. package/dist/inputs/CheckboxInput.js +218 -88
  169. package/dist/inputs/ColorInput.d.ts +115 -29
  170. package/dist/inputs/ColorInput.js +748 -326
  171. package/dist/inputs/CopyInput.d.ts +49 -20
  172. package/dist/inputs/CopyInput.js +57 -49
  173. package/dist/inputs/CronInput.d.ts +94 -0
  174. package/dist/inputs/CronInput.js +618 -0
  175. package/dist/inputs/DateInput.d.ts +175 -28
  176. package/dist/inputs/DateInput.js +1109 -451
  177. package/dist/inputs/DurationInput.d.ts +101 -0
  178. package/dist/inputs/DurationInput.js +441 -0
  179. package/dist/inputs/Field.d.ts +75 -0
  180. package/dist/inputs/Field.js +247 -0
  181. package/dist/inputs/Fieldset.d.ts +53 -0
  182. package/dist/inputs/Fieldset.js +149 -0
  183. package/dist/inputs/FileInput.d.ts +110 -0
  184. package/dist/inputs/FileInput.js +476 -0
  185. package/dist/inputs/Input.d.ts +148 -187
  186. package/dist/inputs/Input.js +339 -259
  187. package/dist/inputs/KeyValueInput.d.ts +120 -0
  188. package/dist/inputs/KeyValueInput.js +383 -0
  189. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  190. package/dist/inputs/MultiSelectInput.js +175 -559
  191. package/dist/inputs/NumberInput.d.ts +65 -9
  192. package/dist/inputs/NumberInput.js +197 -40
  193. package/dist/inputs/PasswordInput.d.ts +17 -12
  194. package/dist/inputs/PasswordInput.js +33 -33
  195. package/dist/inputs/PinInput.d.ts +117 -0
  196. package/dist/inputs/PinInput.js +364 -0
  197. package/dist/inputs/RadioGroup.d.ts +115 -0
  198. package/dist/inputs/RadioGroup.js +179 -0
  199. package/dist/inputs/RadioInput.d.ts +87 -24
  200. package/dist/inputs/RadioInput.js +182 -95
  201. package/dist/inputs/SearchInput.d.ts +66 -0
  202. package/dist/inputs/SearchInput.js +156 -0
  203. package/dist/inputs/SelectInput.d.ts +195 -55
  204. package/dist/inputs/SelectInput.js +1308 -446
  205. package/dist/inputs/SliderInput.d.ts +150 -30
  206. package/dist/inputs/SliderInput.js +441 -186
  207. package/dist/inputs/SwitchInput.d.ts +109 -0
  208. package/dist/inputs/SwitchInput.js +248 -0
  209. package/dist/inputs/TagInput.d.ts +117 -0
  210. package/dist/inputs/TagInput.js +408 -0
  211. package/dist/inputs/TextAreaInput.d.ts +146 -44
  212. package/dist/inputs/TextAreaInput.js +298 -198
  213. package/dist/inputs/TextInput.d.ts +4 -13
  214. package/dist/inputs/TextInput.js +13 -48
  215. package/dist/inputs/ToggleInput.d.ts +120 -22
  216. package/dist/inputs/ToggleInput.js +262 -116
  217. package/dist/inputs/internal/bareField.d.ts +18 -0
  218. package/dist/inputs/internal/bareField.js +38 -0
  219. package/dist/inputs/internal/devWarn.d.ts +7 -0
  220. package/dist/inputs/internal/devWarn.js +30 -0
  221. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  222. package/dist/inputs/internal/fieldFrame.js +64 -0
  223. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  224. package/dist/inputs/internal/fieldWiring.js +38 -0
  225. package/dist/inputs/internal/innerButton.d.ts +2 -0
  226. package/dist/inputs/internal/innerButton.js +24 -0
  227. package/dist/inputs/internal/ownField.d.ts +45 -0
  228. package/dist/inputs/internal/ownField.js +58 -0
  229. package/dist/inputs/internal/predicates.d.ts +9 -0
  230. package/dist/inputs/internal/predicates.js +11 -0
  231. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  232. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  233. package/dist/json/JsonViewer.d.ts +62 -0
  234. package/dist/json/JsonViewer.js +483 -0
  235. package/dist/layout/Box.d.ts +87 -0
  236. package/dist/layout/Box.js +109 -0
  237. package/dist/layout/Divider.d.ts +25 -0
  238. package/dist/layout/Divider.js +70 -0
  239. package/dist/layout/Flex.d.ts +139 -0
  240. package/dist/layout/Flex.js +165 -0
  241. package/dist/layout/FlexItem.d.ts +72 -0
  242. package/dist/layout/FlexItem.js +84 -0
  243. package/dist/layout/Grid.d.ts +140 -0
  244. package/dist/layout/Grid.js +178 -0
  245. package/dist/layout/Portal.d.ts +29 -0
  246. package/dist/layout/Portal.js +27 -0
  247. package/dist/layout/ResizablePanels.d.ts +88 -0
  248. package/dist/layout/ResizablePanels.js +198 -0
  249. package/dist/layout/ResizeHandle.d.ts +48 -0
  250. package/dist/layout/ResizeHandle.js +143 -0
  251. package/dist/layout/ScrollArea.d.ts +30 -0
  252. package/dist/layout/ScrollArea.js +138 -0
  253. package/dist/links/Link.d.ts +101 -1
  254. package/dist/links/Link.js +166 -4
  255. package/dist/lists/BulletedList.d.ts +25 -7
  256. package/dist/lists/BulletedList.js +72 -27
  257. package/dist/lists/DescriptionList.d.ts +91 -0
  258. package/dist/lists/DescriptionList.js +147 -0
  259. package/dist/menu/ContextMenu.d.ts +64 -0
  260. package/dist/menu/ContextMenu.js +34 -0
  261. package/dist/menu/Menu.d.ts +280 -0
  262. package/dist/menu/Menu.js +1003 -0
  263. package/dist/modal/ConfirmDialog.d.ts +55 -0
  264. package/dist/modal/ConfirmDialog.js +151 -0
  265. package/dist/modal/Modal.d.ts +64 -14
  266. package/dist/modal/Modal.js +189 -48
  267. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  268. package/dist/navigation/Breadcrumbs.js +243 -0
  269. package/dist/navigation/CommandPalette.d.ts +83 -0
  270. package/dist/navigation/CommandPalette.js +509 -0
  271. package/dist/navigation/Pagination.d.ts +87 -0
  272. package/dist/navigation/Pagination.js +300 -0
  273. package/dist/navigation/SidebarNav.d.ts +107 -0
  274. package/dist/navigation/SidebarNav.js +341 -0
  275. package/dist/navigation/Stepper.d.ts +52 -0
  276. package/dist/navigation/Stepper.js +207 -0
  277. package/dist/navigation/Tabs.d.ts +113 -0
  278. package/dist/navigation/Tabs.js +543 -0
  279. package/dist/navigation/Topbar.d.ts +20 -0
  280. package/dist/navigation/Topbar.js +62 -0
  281. package/dist/overlay/OverlayProvider.d.ts +28 -32
  282. package/dist/overlay/OverlayProvider.js +42 -93
  283. package/dist/overlay/useOverlay.d.ts +88 -12
  284. package/dist/overlay/useOverlay.js +220 -43
  285. package/dist/overlays/Popover.d.ts +114 -0
  286. package/dist/overlays/Popover.js +389 -0
  287. package/dist/shapes/Circle.d.ts +84 -8
  288. package/dist/shapes/Circle.js +122 -20
  289. package/dist/shapes/Square.d.ts +84 -8
  290. package/dist/shapes/Square.js +123 -20
  291. package/dist/styles/mixins.d.ts +35 -0
  292. package/dist/styles/mixins.js +60 -0
  293. package/dist/styles.css +1 -202
  294. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  295. package/dist/table/InfiniteSpreadsheet.js +762 -225
  296. package/dist/table/InfiniteTable.d.ts +116 -14
  297. package/dist/table/InfiniteTable.js +287 -429
  298. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  299. package/dist/table/SpreadsheetCellEditor.js +163 -84
  300. package/dist/table/TableCore.d.ts +252 -0
  301. package/dist/table/TableCore.js +1082 -0
  302. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  303. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  304. package/dist/table/types.d.ts +66 -244
  305. package/dist/table/types.js +0 -51
  306. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  307. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  308. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  309. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  310. package/dist/table/useTableColumnLayout.d.ts +90 -25
  311. package/dist/table/useTableColumnLayout.js +255 -50
  312. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  313. package/dist/table/useTableKeyboardNavigation.js +95 -71
  314. package/dist/table/useTableRowSelection.d.ts +24 -25
  315. package/dist/table/useTableRowSelection.js +57 -84
  316. package/dist/table/useTableVirtualizer.d.ts +20 -0
  317. package/dist/table/useTableVirtualizer.js +48 -0
  318. package/dist/text/Bold.d.ts +5 -6
  319. package/dist/text/Bold.js +16 -15
  320. package/dist/text/Code.d.ts +5 -6
  321. package/dist/text/Code.js +16 -25
  322. package/dist/text/CodeBlock.d.ts +77 -0
  323. package/dist/text/CodeBlock.js +373 -0
  324. package/dist/text/EditableText.d.ts +55 -15
  325. package/dist/text/EditableText.js +153 -135
  326. package/dist/text/Ellipsis.d.ts +34 -8
  327. package/dist/text/Ellipsis.js +55 -23
  328. package/dist/text/Kbd.d.ts +72 -0
  329. package/dist/text/Kbd.js +284 -0
  330. package/dist/text/MarkdownText.d.ts +27 -10
  331. package/dist/text/MarkdownText.js +317 -300
  332. package/dist/text/RequiredMarker.d.ts +17 -5
  333. package/dist/text/RequiredMarker.js +34 -36
  334. package/dist/text/Selectable.d.ts +5 -6
  335. package/dist/text/Selectable.js +16 -13
  336. package/dist/text/Span.d.ts +82 -0
  337. package/dist/text/Span.js +115 -0
  338. package/dist/text/Text.d.ts +128 -41
  339. package/dist/text/Text.js +209 -76
  340. package/dist/theme/GalaxyProvider.d.ts +75 -0
  341. package/dist/theme/GalaxyProvider.js +223 -0
  342. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  343. package/dist/theme/ThemeSwitcher.js +94 -0
  344. package/dist/theme/enums.d.ts +118 -0
  345. package/dist/theme/enums.js +144 -0
  346. package/dist/theme/tokens/dark.d.ts +2 -0
  347. package/dist/theme/tokens/dark.js +275 -0
  348. package/dist/theme/tokens/generate.d.ts +15 -0
  349. package/dist/theme/tokens/generate.js +47 -0
  350. package/dist/theme/tokens/light.d.ts +2 -0
  351. package/dist/theme/tokens/light.js +274 -0
  352. package/dist/theme/tokens/palette.d.ts +14 -0
  353. package/dist/theme/tokens/palette.js +153 -0
  354. package/dist/theme/tokens/scales.d.ts +26 -0
  355. package/dist/theme/tokens/scales.js +154 -0
  356. package/dist/theme/tokens/t.d.ts +3 -0
  357. package/dist/theme/tokens/t.js +25 -0
  358. package/dist/theme/tokens/types.d.ts +189 -0
  359. package/dist/theme/tokens/types.js +0 -0
  360. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  361. package/dist/theme/useGalaxyTheme.js +36 -0
  362. package/dist/theme/useInverseScope.d.ts +18 -0
  363. package/dist/theme/useInverseScope.js +33 -0
  364. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  365. package/dist/three/GalaxyLogomark3D.js +134 -0
  366. package/dist/three/assets/galaxy-logomark.js +4 -0
  367. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  368. package/dist/three/galaxyLogomark3DScene.js +165 -0
  369. package/dist/timeline/Timeline.d.ts +120 -0
  370. package/dist/timeline/Timeline.js +301 -0
  371. package/dist/toast/Toast.d.ts +43 -19
  372. package/dist/toast/Toast.js +130 -89
  373. package/dist/toast/ToastProvider.d.ts +23 -23
  374. package/dist/toast/ToastProvider.js +298 -101
  375. package/dist/toast/ToastViewport.d.ts +12 -0
  376. package/dist/toast/ToastViewport.js +210 -0
  377. package/dist/toast/useToast.d.ts +139 -5
  378. package/dist/toast/useToast.js +15 -13
  379. package/dist/tokens.css +654 -0
  380. package/dist/tooltip/Tooltip.d.ts +64 -44
  381. package/dist/tooltip/Tooltip.js +280 -73
  382. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  383. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  384. package/dist/transform/Fade.d.ts +33 -11
  385. package/dist/transform/Fade.js +71 -19
  386. package/dist/transform/Flasher.d.ts +25 -0
  387. package/dist/transform/Flasher.js +39 -0
  388. package/dist/transform/Rotate.d.ts +24 -12
  389. package/dist/transform/Rotate.js +36 -22
  390. package/dist/transform/ScaleFade.d.ts +36 -11
  391. package/dist/transform/ScaleFade.js +86 -28
  392. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  393. package/dist/transform/internal/CollapseMotion.js +65 -0
  394. package/dist/tree/Tree.d.ts +85 -0
  395. package/dist/tree/Tree.js +387 -0
  396. package/dist/tree/treeRow.d.ts +39 -0
  397. package/dist/tree/treeRow.js +75 -0
  398. package/dist/utils/colors.d.ts +46 -13
  399. package/dist/utils/colors.js +92 -34
  400. package/dist/utils/css.d.ts +23 -0
  401. package/dist/utils/css.js +30 -0
  402. package/dist/utils/format.d.ts +58 -0
  403. package/dist/utils/format.js +220 -0
  404. package/dist/vite/index.d.ts +16 -0
  405. package/dist/vite/index.js +52 -0
  406. package/dist/widget/Widget.d.ts +164 -48
  407. package/dist/widget/Widget.js +335 -96
  408. package/dist/widget/WidgetGroup.d.ts +36 -0
  409. package/dist/widget/WidgetGroup.js +103 -0
  410. package/package.json +855 -157
  411. package/dist/accordion/Accordion.d.ts +0 -54
  412. package/dist/accordion/Accordion.js +0 -183
  413. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  415. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  416. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  417. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  419. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  420. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  421. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  423. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  424. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  425. package/dist/assets/models/galaxy-animation.js +0 -136666
  426. package/dist/assets/models/galaxy-logomark.js +0 -4
  427. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  428. package/dist/avatar/AvatarShimmer.js +0 -22
  429. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  430. package/dist/backgrounds/CellGridBackground.js +0 -44
  431. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  432. package/dist/backgrounds/CrossGridBackground.js +0 -49
  433. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  434. package/dist/backgrounds/DotGridBackground.js +0 -47
  435. package/dist/badge/Badge.d.ts +0 -42
  436. package/dist/badge/Badge.js +0 -99
  437. package/dist/charts/ChartEmptyState.d.ts +0 -17
  438. package/dist/charts/ChartEmptyState.js +0 -29
  439. package/dist/charts/ProgressBar.d.ts +0 -29
  440. package/dist/charts/ProgressBar.js +0 -65
  441. package/dist/charts/chartTheme.d.ts +0 -18
  442. package/dist/charts/chartTheme.js +0 -26
  443. package/dist/containers/FlexItem.d.ts +0 -50
  444. package/dist/containers/FlexItem.js +0 -91
  445. package/dist/containers/FlexWrapper.d.ts +0 -96
  446. package/dist/containers/FlexWrapper.js +0 -143
  447. package/dist/containers/GridWrapper.d.ts +0 -79
  448. package/dist/containers/GridWrapper.js +0 -125
  449. package/dist/containers/Spacing.d.ts +0 -23
  450. package/dist/containers/Spacing.js +0 -59
  451. package/dist/containers/Wrapper.d.ts +0 -26
  452. package/dist/containers/Wrapper.js +0 -54
  453. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  454. package/dist/dividers/HorizontalDivider.js +0 -39
  455. package/dist/dividers/VerticalDivider.d.ts +0 -6
  456. package/dist/dividers/VerticalDivider.js +0 -21
  457. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  458. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  459. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  460. package/dist/icons/GalaxyLogomark.js +0 -27
  461. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  462. package/dist/icons/GalaxyLogomark3D.js +0 -319
  463. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  464. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  465. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  466. package/dist/icons/GalaxyWordmark.js +0 -25
  467. package/dist/inputs/MultiTextInput.d.ts +0 -32
  468. package/dist/inputs/MultiTextInput.js +0 -180
  469. package/dist/inputs/SwitcherInput.d.ts +0 -30
  470. package/dist/inputs/SwitcherInput.js +0 -81
  471. package/dist/inputs/hooks.d.ts +0 -10
  472. package/dist/inputs/hooks.js +0 -22
  473. package/dist/overlay/constants.d.ts +0 -28
  474. package/dist/overlay/constants.js +0 -37
  475. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  476. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  477. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  478. package/dist/resizable/VerticalResizeHandle.js +0 -39
  479. package/dist/table/SpreadsheetCell.d.ts +0 -21
  480. package/dist/table/SpreadsheetCell.js +0 -71
  481. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  482. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  483. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  484. package/dist/table/SpreadsheetMenuItem.js +0 -33
  485. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  486. package/dist/table/SpreadsheetPrimitives.js +0 -105
  487. package/dist/table/SpreadsheetRow.d.ts +0 -33
  488. package/dist/table/SpreadsheetRow.js +0 -73
  489. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  490. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  491. package/dist/table/TableExpandCell.d.ts +0 -11
  492. package/dist/table/TableExpandCell.js +0 -24
  493. package/dist/table/TableExpandedRow.d.ts +0 -16
  494. package/dist/table/TableExpandedRow.js +0 -77
  495. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  496. package/dist/table/TableHeaderCellContent.js +0 -48
  497. package/dist/table/TablePrimitives.d.ts +0 -313
  498. package/dist/table/TablePrimitives.js +0 -302
  499. package/dist/table/TableSelectCell.d.ts +0 -18
  500. package/dist/table/TableSelectCell.js +0 -27
  501. package/dist/table/TableStatusRow.d.ts +0 -18
  502. package/dist/table/TableStatusRow.js +0 -50
  503. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  504. package/dist/table/useSpreadsheetEditing.js +0 -41
  505. package/dist/table/useTableColumnResize.d.ts +0 -38
  506. package/dist/table/useTableColumnResize.js +0 -155
  507. package/dist/table/useTableRowExpansion.d.ts +0 -24
  508. package/dist/table/useTableRowExpansion.js +0 -62
  509. package/dist/table/utils.d.ts +0 -50
  510. package/dist/table/utils.js +0 -78
  511. package/dist/text/HotKeys.d.ts +0 -30
  512. package/dist/text/HotKeys.js +0 -74
  513. package/dist/text/Paragraph.d.ts +0 -33
  514. package/dist/text/Paragraph.js +0 -83
  515. package/dist/text/TextShimmer.d.ts +0 -14
  516. package/dist/text/TextShimmer.js +0 -34
  517. package/dist/theme/GalaxyTheme.d.ts +0 -67
  518. package/dist/theme/GalaxyTheme.js +0 -119
  519. package/dist/theme/constants.d.ts +0 -8
  520. package/dist/theme/constants.js +0 -38
  521. package/dist/theme/index.d.ts +0 -6
  522. package/dist/theme/index.js +0 -7
  523. package/dist/theme/types.d.ts +0 -195
  524. package/dist/theme/types.js +0 -10
  525. package/dist/theme/typography.d.ts +0 -2
  526. package/dist/theme/typography.js +0 -73
  527. package/dist/theme/variants/dark.d.ts +0 -2
  528. package/dist/theme/variants/dark.js +0 -125
  529. package/dist/theme/variants/light.d.ts +0 -2
  530. package/dist/theme/variants/light.js +0 -125
  531. package/dist/toast/ToastContainer.d.ts +0 -10
  532. package/dist/toast/ToastContainer.js +0 -31
  533. package/dist/toast/ToastWrapper.d.ts +0 -6
  534. package/dist/toast/ToastWrapper.js +0 -27
  535. package/dist/transform/Flash.d.ts +0 -7
  536. package/dist/transform/Flash.js +0 -18
  537. package/dist/transform/Spin.d.ts +0 -14
  538. package/dist/transform/Spin.js +0 -25
  539. package/dist/utils/linaria.d.ts +0 -1
  540. package/dist/utils/linaria.js +0 -8
@@ -0,0 +1,243 @@
1
+ import { Placement } from "../theme/enums.js";
2
+ import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
3
+ import Icon, { IconVariant } from "../icons/Icon.js";
4
+ import Button, { ButtonSize, ButtonVariant } from "../buttons/Button.js";
5
+ import Link, { LinkUnderline, LinkVariant } from "../links/Link.js";
6
+ import Menu, { MenuItem, MenuSize } from "../menu/Menu.js";
7
+ /* empty css */
8
+ import { styled } from "@linaria/react";
9
+ import { forwardRef } from "react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ import { cx } from "@linaria/core";
12
+ import { match } from "ts-pattern";
13
+ import { CaretRightIcon, DotsThreeIcon } from "@phosphor-icons/react";
14
+ //#region src/navigation/Breadcrumbs.tsx
15
+ /**
16
+ * Where the current page sits in the app's hierarchy, from the top level down (Workspace /
17
+ * Project / Pipeline / Run), with a way back up. Every crumb but the last is a link (rendered
18
+ * through a router component via `as`); the last is the current page, as plain text with
19
+ * `aria-current="page"`. Crumbs are joined by a quiet separator (a slash or a caret). A trail
20
+ * longer than `maxItems` collapses its middle into a "…" button that opens a `Menu` of the hidden
21
+ * crumbs, so the trail stays on one line; labels truncate with a tooltip when it is too wide.
22
+ *
23
+ * Not `Tabs` (peers, not ancestors), not `Stepper` (a sequence to move through), not a path input.
24
+ *
25
+ * SSR: the collapse is count-based, so server and client render the same trail. Nothing touches
26
+ * `window` or `document` at module scope.
27
+ */
28
+ /** Canonical rungs, subset; only the text step applies (a crumb has no control height). */
29
+ var BreadcrumbsSize = /* @__PURE__ */ function(BreadcrumbsSize) {
30
+ /** body_sm crumbs (12 / 16), 12px icons. Topbars and dense headers. */
31
+ BreadcrumbsSize["SMALL"] = "SMALL";
32
+ /** body_md crumbs (13 / 16), 14px icons. The default. */
33
+ BreadcrumbsSize["MEDIUM"] = "MEDIUM";
34
+ return BreadcrumbsSize;
35
+ }({});
36
+ /** The mark drawn between crumbs. */
37
+ var BreadcrumbsSeparator = /* @__PURE__ */ function(BreadcrumbsSeparator) {
38
+ /** A "/" in tertiary text. The default. */
39
+ BreadcrumbsSeparator["SLASH"] = "SLASH";
40
+ /** A `CaretRightIcon` in the tertiary icon color. */
41
+ BreadcrumbsSeparator["CARET"] = "CARET";
42
+ return BreadcrumbsSeparator;
43
+ }({});
44
+ /** The fewest crumbs a collapsed trail shows: the first, "…", the current page. */
45
+ var MIN_ITEMS = 3;
46
+ /** The characters a long current page keeps (the `8ch` in `CURRENT_LONG_CSS`). */
47
+ var CURRENT_KEPT_CHARACTERS = 8;
48
+ /** The default accessible name of the landmark. */
49
+ var DEFAULT_ARIA_LABEL = "Breadcrumb";
50
+ /** The landmark; the row is as tall as the `X_SMALL` "…" button, so collapsing never shifts it. */
51
+ var Root = /*#__PURE__*/ styled("nav")({
52
+ name: "Root",
53
+ class: "gx-Breadcrumbs-rdzrj0m",
54
+ propsAsIs: false
55
+ });
56
+ var List = /*#__PURE__*/ styled("ol")({
57
+ name: "List",
58
+ class: "gx-Breadcrumbs-List-lnd26k4",
59
+ propsAsIs: false
60
+ });
61
+ /** One list item: its separator (after the first) and the crumb. */
62
+ var Crumb = /*#__PURE__*/ styled("li")({
63
+ name: "Crumb",
64
+ class: "gx-Breadcrumbs-Crumb-c6ilfri",
65
+ propsAsIs: false
66
+ });
67
+ var SeparatorSlot = /*#__PURE__*/ styled("span")({
68
+ name: "SeparatorSlot",
69
+ class: "gx-Breadcrumbs-SeparatorSlot-sjgkhuc",
70
+ propsAsIs: false
71
+ });
72
+ var CrumbContent = /*#__PURE__*/ styled("span")({
73
+ name: "CrumbContent",
74
+ class: "gx-Breadcrumbs-CrumbContent-c1tsq0hr",
75
+ propsAsIs: false
76
+ });
77
+ var CurrentPage = /*#__PURE__*/ styled("span")({
78
+ name: "CurrentPage",
79
+ class: "gx-Breadcrumbs-CurrentPage-cnx9rpd",
80
+ propsAsIs: false
81
+ });
82
+ /** Gap per text step (custom property on `Root`). */
83
+ var BREADCRUMBS_SIZE_TO_CSS_MAP = {
84
+ ["SMALL"]: "gx-Breadcrumbs-SMALL-s1vtmzbd",
85
+ ["MEDIUM"]: "gx-Breadcrumbs-MEDIUM-m1isjdcl"
86
+ };
87
+ /** Each crumb's color comes from here; its text and icon inherit it. */
88
+ var CRUMB_KIND_TO_CSS_MAP = {
89
+ ["LINK"]: "gx-Breadcrumbs-LINK-l3mhh4t",
90
+ ["TEXT"]: "gx-Breadcrumbs-TEXT-td0y1an",
91
+ ["CURRENT"]: "gx-Breadcrumbs-CURRENT-c1oky86c",
92
+ ["ELLIPSIS"]: "gx-Breadcrumbs-ELLIPSIS-e3y6zao"
93
+ };
94
+ /**
95
+ * A current page longer than `CURRENT_KEPT_CHARACTERS` keeps about that many characters while
96
+ * ancestors give up width first.
97
+ */
98
+ var CURRENT_LONG_CSS = "gx-Breadcrumbs-CURRENT_LONG_CSS-ch05qd8";
99
+ /** A shorter current page never shrinks (a `ch` minimum would make it wider than its label). */
100
+ var CURRENT_SHORT_CSS = "gx-Breadcrumbs-CURRENT_SHORT_CSS-cm65n5z";
101
+ /** Lets the label inside a crumb link truncate. */
102
+ var CRUMB_LINK_CSS = "gx-Breadcrumbs-CRUMB_LINK_CSS-c9pfn9";
103
+ var BREADCRUMBS_SIZE_TO_TEXT_SIZE_MAP = {
104
+ ["SMALL"]: TextSize.BODY_SM,
105
+ ["MEDIUM"]: TextSize.BODY_MD
106
+ };
107
+ /** Crumb icon px per rung: one step below the rung's III-A.4 icon (Mitch, 2026-10-04). */
108
+ var BREADCRUMBS_SIZE_TO_ICON_PX_MAP = {
109
+ ["SMALL"]: 12,
110
+ ["MEDIUM"]: 14
111
+ };
112
+ /** The caret separator: 12px at both rungs, the collapsible Widget's caret. */
113
+ var BREADCRUMBS_SIZE_TO_SEPARATOR_ICON_PX_MAP = {
114
+ ["SMALL"]: 12,
115
+ ["MEDIUM"]: 12
116
+ };
117
+ var BREADCRUMBS_SIZE_TO_MENU_SIZE_MAP = {
118
+ ["SMALL"]: MenuSize.SMALL,
119
+ ["MEDIUM"]: MenuSize.MEDIUM
120
+ };
121
+ var BREADCRUMBS_SEPARATOR_TO_NODE_MAP = {
122
+ ["SLASH"]: (size) => /* @__PURE__ */ jsx(Text, {
123
+ as: "span",
124
+ size: BREADCRUMBS_SIZE_TO_TEXT_SIZE_MAP[size],
125
+ variant: TextVariant.TERTIARY,
126
+ children: "/"
127
+ }),
128
+ ["CARET"]: (size) => /* @__PURE__ */ jsx(Icon, {
129
+ component: CaretRightIcon,
130
+ size: BREADCRUMBS_SIZE_TO_SEPARATOR_ICON_PX_MAP[size],
131
+ variant: IconVariant.TERTIARY
132
+ })
133
+ };
134
+ /** The shown slots and the hidden crumbs for a trail and a limit. */
135
+ function collapse(items, maxItems) {
136
+ const limit = Math.max(MIN_ITEMS, Number.isNaN(maxItems) ? MIN_ITEMS : maxItems);
137
+ const last = items.length - 1;
138
+ const entryOf = (item, index) => {
139
+ const key = String(index);
140
+ if (index === last) return {
141
+ kind: "CURRENT",
142
+ item,
143
+ key
144
+ };
145
+ if (item.href !== void 0) return {
146
+ kind: "LINK",
147
+ item,
148
+ href: item.href,
149
+ key
150
+ };
151
+ return {
152
+ kind: "TEXT",
153
+ item,
154
+ key
155
+ };
156
+ };
157
+ if (items.length <= limit) return {
158
+ shown: items.map(entryOf),
159
+ hidden: []
160
+ };
161
+ const tailStart = items.length - (limit - 2);
162
+ const first = items[0];
163
+ return {
164
+ shown: [
165
+ ...first === void 0 ? [] : [entryOf(first, 0)],
166
+ {
167
+ kind: "ELLIPSIS",
168
+ key: "ellipsis"
169
+ },
170
+ ...items.slice(tailStart).map((item, offset) => entryOf(item, tailStart + offset))
171
+ ],
172
+ hidden: items.slice(1, tailStart).map((item, offset) => ({
173
+ item,
174
+ key: String(1 + offset)
175
+ }))
176
+ };
177
+ }
178
+ /** A trail of links up the app's hierarchy, ending at the current page. */
179
+ var Breadcrumbs = forwardRef(function Breadcrumbs({ items, separator = "SLASH", maxItems = 4, size = "MEDIUM", as, ariaLabel, id, className, style, ...rest }, ref) {
180
+ const { shown, hidden } = collapse(items, maxItems);
181
+ const name = ariaLabel || rest["aria-label"] || (rest["aria-labelledby"] ? void 0 : DEFAULT_ARIA_LABEL);
182
+ const asProps = as === void 0 ? {} : { as };
183
+ const contentOf = (item, isCurrent) => /* @__PURE__ */ jsxs(CrumbContent, { children: [item.icon !== void 0 && /* @__PURE__ */ jsx(Icon, {
184
+ component: item.icon,
185
+ size: BREADCRUMBS_SIZE_TO_ICON_PX_MAP[size],
186
+ variant: IconVariant.INHERIT
187
+ }), /* @__PURE__ */ jsx(Text, {
188
+ as: "span",
189
+ size: BREADCRUMBS_SIZE_TO_TEXT_SIZE_MAP[size],
190
+ weight: isCurrent ? TextWeight.MEDIUM : TextWeight.REGULAR,
191
+ variant: TextVariant.INHERIT,
192
+ lineClamp: 1,
193
+ shouldTooltipOnOverflow: true,
194
+ children: item.label
195
+ })] });
196
+ return /* @__PURE__ */ jsx(Root, {
197
+ ...rest,
198
+ ref,
199
+ "aria-label": name,
200
+ id,
201
+ className: cx(BREADCRUMBS_SIZE_TO_CSS_MAP[size], className),
202
+ style,
203
+ children: /* @__PURE__ */ jsx(List, { children: shown.map((entry, position) => /* @__PURE__ */ jsxs(Crumb, {
204
+ className: cx(CRUMB_KIND_TO_CSS_MAP[entry.kind], entry.kind === "CURRENT" && (entry.item.label.length > CURRENT_KEPT_CHARACTERS ? CURRENT_LONG_CSS : CURRENT_SHORT_CSS)),
205
+ children: [position > 0 && /* @__PURE__ */ jsx(SeparatorSlot, {
206
+ "aria-hidden": true,
207
+ children: BREADCRUMBS_SEPARATOR_TO_NODE_MAP[separator](size)
208
+ }), match(entry).with({ kind: "ELLIPSIS" }, () => /* @__PURE__ */ jsx(Menu, {
209
+ trigger: /* @__PURE__ */ jsx(Button, {
210
+ icon: DotsThreeIcon,
211
+ variant: ButtonVariant.TERTIARY,
212
+ size: ButtonSize.X_SMALL,
213
+ ariaLabel: "Show hidden breadcrumbs"
214
+ }),
215
+ size: BREADCRUMBS_SIZE_TO_MENU_SIZE_MAP[size],
216
+ placement: Placement.BOTTOM_START,
217
+ children: hidden.map(({ item, key }) => item.href !== void 0 ? /* @__PURE__ */ jsx(MenuItem, {
218
+ label: item.label,
219
+ ...item.icon === void 0 ? {} : { icon: item.icon },
220
+ href: item.href,
221
+ ...asProps
222
+ }, key) : /* @__PURE__ */ jsx(MenuItem, {
223
+ label: item.label,
224
+ ...item.icon === void 0 ? {} : { icon: item.icon },
225
+ isDisabled: true
226
+ }, key))
227
+ })).with({ kind: "LINK" }, ({ item, href }) => /* @__PURE__ */ jsx(Link, {
228
+ href,
229
+ ...asProps,
230
+ variant: LinkVariant.INHERIT,
231
+ underline: LinkUnderline.HOVER,
232
+ className: CRUMB_LINK_CSS,
233
+ children: contentOf(item, false)
234
+ })).with({ kind: "TEXT" }, ({ item }) => contentOf(item, false)).with({ kind: "CURRENT" }, ({ item }) => /* @__PURE__ */ jsx(CurrentPage, {
235
+ "aria-current": "page",
236
+ children: contentOf(item, true)
237
+ })).exhaustive()]
238
+ }, entry.key)) })
239
+ });
240
+ });
241
+ Breadcrumbs.displayName = "Breadcrumbs";
242
+ //#endregion
243
+ export { BreadcrumbsSeparator, BreadcrumbsSize, Breadcrumbs as default };
@@ -0,0 +1,83 @@
1
+ import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
2
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
3
+ /** One command in the palette. */
4
+ export interface CommandPaletteItem {
5
+ /** Stable id: the React key, and what recents remember. Unique within `items`. */
6
+ id: string;
7
+ /** Row text; also what the built-in filter matches. */
8
+ label: string;
9
+ /** Second line under the label, one line; the filter matches it too. */
10
+ description?: string;
11
+ /** Phosphor icon component before the label, sized and colored by the row. */
12
+ icon?: PhosphorIcon;
13
+ /** Anything else before the label (an `Avatar`, a `Beacon`). Must not be interactive. */
14
+ leading?: ReactNode;
15
+ /** Shortcut shown as `Kbd` caps at the end of the row, in `useHotkey` grammar. Display only. */
16
+ hotKeys?: string[];
17
+ /** Heading this command is listed under. Items without one come first, with no heading. */
18
+ group?: string;
19
+ /** Extra words the built-in filter matches ("settings" for "Preferences"). Not shown. */
20
+ keywords?: string[];
21
+ /** Shown in the disabled colors; skipped by the arrow keys and cannot be chosen. */
22
+ isDisabled?: boolean;
23
+ /** Runs when the command is chosen (Enter or click), after the palette starts closing. */
24
+ onSelect: () => void;
25
+ }
26
+ export interface CommandPaletteProps extends AriaAttributes {
27
+ /** The commands, in display order. Items that share a `group` are shown together under its heading. */
28
+ items: CommandPaletteItem[];
29
+ /** Controlled open state. When set, the palette calls `onOpenChange` and lets the caller decide. */
30
+ isOpen?: boolean;
31
+ /**
32
+ * Initial open state while uncontrolled.
33
+ * @default false
34
+ */
35
+ defaultIsOpen?: boolean;
36
+ /** Called with `false` on Escape, a backdrop click and a chosen command, and with the toggled state when the bound shortcut fires. */
37
+ onOpenChange?: (isOpen: boolean) => void;
38
+ /**
39
+ * Hint in the empty search field.
40
+ * @default "Type a command or search"
41
+ */
42
+ placeholder?: string;
43
+ /** Server search. Receives the term once typing pauses (150ms), at once on clear, and `""` when the palette closes with a term. Turns off built-in filtering: the app passes the matching `items`. */
44
+ onSearch?: (term: string) => void;
45
+ /**
46
+ * Shows a spinner in the search field while the app's search runs, and holds back `emptyMessage`. Typing stays possible.
47
+ * @default false
48
+ */
49
+ isLoading?: boolean;
50
+ /**
51
+ * Shown in place of the list when nothing matches.
52
+ * @default "No results"
53
+ */
54
+ emptyMessage?: string;
55
+ /** Remembers the last 5 chosen commands under this `localStorage` key and lists them first, under "Recent", while the search is empty. Off when omitted. */
56
+ storageKey?: string;
57
+ /**
58
+ * Shortcut that toggles the palette, in `useHotkey` grammar. Only bound with `shouldBindHotKey`.
59
+ * @default ["mod", "k"]
60
+ */
61
+ hotKeys?: string[];
62
+ /**
63
+ * Bind `hotKeys` with `useHotkey`, so the shortcut opens and closes the palette from anywhere, inside text fields too.
64
+ * @default false
65
+ */
66
+ shouldBindHotKey?: boolean;
67
+ /**
68
+ * Accessible name of the dialog.
69
+ * @default "Command palette"
70
+ */
71
+ ariaLabel?: string;
72
+ /** DOM id on the panel (`role="dialog"`). @default a `useId()` value */
73
+ id?: string;
74
+ /** Any `data-*` attribute, forwarded to the panel. */
75
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
76
+ /** Extra class on the panel. */
77
+ className?: string;
78
+ /** Inline style on the panel; only for setting CSS custom properties. */
79
+ style?: CSSProperties;
80
+ }
81
+ /** A modal search-and-run dialog over a list of commands. */
82
+ declare const CommandPalette: import("react").ForwardRefExoticComponent<CommandPaletteProps & import("react").RefAttributes<HTMLDivElement>>;
83
+ export default CommandPalette;