@galaxy-io/dls 1.6.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +136 -116
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +32 -20
  46. package/dist/charts/ChartFrame.d.ts +69 -116
  47. package/dist/charts/ChartFrame.js +253 -119
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +27 -48
  51. package/dist/charts/ChartLegend.js +206 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +33 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +295 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +159 -117
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +149 -135
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/constants.d.ts +96 -256
  79. package/dist/charts/constants.js +105 -275
  80. package/dist/charts/heatmapGeometry.d.ts +95 -0
  81. package/dist/charts/heatmapGeometry.js +155 -0
  82. package/dist/charts/lineChartGeometry.d.ts +108 -58
  83. package/dist/charts/lineChartGeometry.js +120 -78
  84. package/dist/charts/pieChartGeometry.d.ts +66 -40
  85. package/dist/charts/pieChartGeometry.js +68 -38
  86. package/dist/charts/types.d.ts +197 -466
  87. package/dist/charts/types.js +55 -144
  88. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  89. package/dist/charts/useCartesianChartLayout.js +47 -32
  90. package/dist/charts/useChartDimensions.d.ts +19 -40
  91. package/dist/charts/useChartDimensions.js +40 -56
  92. package/dist/charts/useChartFormatters.d.ts +6 -15
  93. package/dist/charts/useChartFormatters.js +4 -9
  94. package/dist/charts/useChartInteraction.d.ts +47 -116
  95. package/dist/charts/useChartInteraction.js +95 -71
  96. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  97. package/dist/charts/useChartTooltipPosition.js +14 -5
  98. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  99. package/dist/charts/useSeriesColorResolver.js +19 -12
  100. package/dist/chips/Chip.d.ts +155 -44
  101. package/dist/chips/Chip.js +329 -155
  102. package/dist/chips/ChipGroup.d.ts +53 -0
  103. package/dist/chips/ChipGroup.js +98 -0
  104. package/dist/drawer/Drawer.d.ts +81 -17
  105. package/dist/drawer/Drawer.js +370 -65
  106. package/dist/dropdown/Dropdown.d.ts +80 -63
  107. package/dist/dropdown/Dropdown.js +127 -129
  108. package/dist/editor/CodeEditor.d.ts +119 -40
  109. package/dist/editor/CodeEditor.js +490 -400
  110. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  111. package/dist/editor/CodeEditorReactWidget.js +28 -21
  112. package/dist/feedback/Alert.d.ts +49 -0
  113. package/dist/feedback/Alert.js +172 -0
  114. package/dist/feedback/EmptyState.d.ts +39 -0
  115. package/dist/feedback/EmptyState.js +109 -0
  116. package/dist/feedback/ProgressBar.d.ts +125 -0
  117. package/dist/feedback/ProgressBar.js +183 -0
  118. package/dist/feedback/ProgressCircle.d.ts +99 -0
  119. package/dist/feedback/ProgressCircle.js +187 -0
  120. package/dist/feedback/Skeleton.d.ts +69 -0
  121. package/dist/feedback/Skeleton.js +130 -0
  122. package/dist/feedback/Spinner.d.ts +63 -0
  123. package/dist/feedback/Spinner.js +141 -0
  124. package/dist/fonts.css +70 -0
  125. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  126. package/dist/hooks/internal/useIsClient.js +14 -0
  127. package/dist/hooks/useClipboard.d.ts +19 -0
  128. package/dist/hooks/useClipboard.js +45 -0
  129. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  130. package/dist/hooks/useControlledOpenState.js +19 -0
  131. package/dist/hooks/useControlledState.d.ts +19 -0
  132. package/dist/hooks/useControlledState.js +22 -0
  133. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  134. package/dist/hooks/useDebouncedValue.js +33 -0
  135. package/dist/hooks/useDisclosure.d.ts +26 -0
  136. package/dist/hooks/useDisclosure.js +36 -0
  137. package/dist/hooks/useDismiss.d.ts +23 -27
  138. package/dist/hooks/useDismiss.js +39 -27
  139. package/dist/hooks/useElementClientSize.d.ts +10 -10
  140. package/dist/hooks/useElementClientSize.js +8 -11
  141. package/dist/hooks/useElementWidth.d.ts +6 -13
  142. package/dist/hooks/useElementWidth.js +6 -14
  143. package/dist/hooks/useField.d.ts +47 -0
  144. package/dist/hooks/useField.js +40 -0
  145. package/dist/hooks/useHotkey.d.ts +77 -0
  146. package/dist/hooks/useHotkey.js +246 -0
  147. package/dist/hooks/useIsMac.d.ts +12 -0
  148. package/dist/hooks/useIsMac.js +27 -0
  149. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  150. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  151. package/dist/hooks/useLocalStorage.d.ts +28 -0
  152. package/dist/hooks/useLocalStorage.js +145 -0
  153. package/dist/hooks/useMediaQuery.d.ts +11 -0
  154. package/dist/hooks/useMediaQuery.js +23 -0
  155. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  156. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  157. package/dist/hooks/useResize.d.ts +42 -62
  158. package/dist/hooks/useResize.js +43 -31
  159. package/dist/icons/Icon.d.ts +64 -37
  160. package/dist/icons/Icon.js +96 -37
  161. package/dist/icons/internal/IconSlot.d.ts +10 -0
  162. package/dist/icons/internal/IconSlot.js +32 -0
  163. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  164. package/dist/inputs/CheckboxGroup.js +183 -0
  165. package/dist/inputs/CheckboxInput.d.ts +98 -28
  166. package/dist/inputs/CheckboxInput.js +218 -88
  167. package/dist/inputs/ColorInput.d.ts +115 -29
  168. package/dist/inputs/ColorInput.js +748 -326
  169. package/dist/inputs/CopyInput.d.ts +49 -20
  170. package/dist/inputs/CopyInput.js +57 -49
  171. package/dist/inputs/CronInput.d.ts +94 -0
  172. package/dist/inputs/CronInput.js +618 -0
  173. package/dist/inputs/DateInput.d.ts +175 -28
  174. package/dist/inputs/DateInput.js +1109 -451
  175. package/dist/inputs/DurationInput.d.ts +101 -0
  176. package/dist/inputs/DurationInput.js +441 -0
  177. package/dist/inputs/Field.d.ts +75 -0
  178. package/dist/inputs/Field.js +247 -0
  179. package/dist/inputs/Fieldset.d.ts +53 -0
  180. package/dist/inputs/Fieldset.js +149 -0
  181. package/dist/inputs/FileInput.d.ts +110 -0
  182. package/dist/inputs/FileInput.js +476 -0
  183. package/dist/inputs/Input.d.ts +148 -187
  184. package/dist/inputs/Input.js +339 -259
  185. package/dist/inputs/KeyValueInput.d.ts +120 -0
  186. package/dist/inputs/KeyValueInput.js +383 -0
  187. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  188. package/dist/inputs/MultiSelectInput.js +175 -559
  189. package/dist/inputs/NumberInput.d.ts +65 -9
  190. package/dist/inputs/NumberInput.js +197 -40
  191. package/dist/inputs/PasswordInput.d.ts +17 -12
  192. package/dist/inputs/PasswordInput.js +33 -33
  193. package/dist/inputs/PinInput.d.ts +117 -0
  194. package/dist/inputs/PinInput.js +364 -0
  195. package/dist/inputs/RadioGroup.d.ts +115 -0
  196. package/dist/inputs/RadioGroup.js +179 -0
  197. package/dist/inputs/RadioInput.d.ts +87 -24
  198. package/dist/inputs/RadioInput.js +182 -95
  199. package/dist/inputs/SearchInput.d.ts +66 -0
  200. package/dist/inputs/SearchInput.js +156 -0
  201. package/dist/inputs/SelectInput.d.ts +195 -55
  202. package/dist/inputs/SelectInput.js +1308 -446
  203. package/dist/inputs/SliderInput.d.ts +150 -30
  204. package/dist/inputs/SliderInput.js +441 -186
  205. package/dist/inputs/SwitchInput.d.ts +109 -0
  206. package/dist/inputs/SwitchInput.js +248 -0
  207. package/dist/inputs/TagInput.d.ts +117 -0
  208. package/dist/inputs/TagInput.js +408 -0
  209. package/dist/inputs/TextAreaInput.d.ts +146 -44
  210. package/dist/inputs/TextAreaInput.js +292 -198
  211. package/dist/inputs/TextInput.d.ts +4 -13
  212. package/dist/inputs/TextInput.js +13 -48
  213. package/dist/inputs/ToggleInput.d.ts +120 -22
  214. package/dist/inputs/ToggleInput.js +262 -116
  215. package/dist/inputs/internal/bareField.d.ts +18 -0
  216. package/dist/inputs/internal/bareField.js +38 -0
  217. package/dist/inputs/internal/devWarn.d.ts +7 -0
  218. package/dist/inputs/internal/devWarn.js +30 -0
  219. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  220. package/dist/inputs/internal/fieldFrame.js +64 -0
  221. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  222. package/dist/inputs/internal/fieldWiring.js +38 -0
  223. package/dist/inputs/internal/innerButton.d.ts +2 -0
  224. package/dist/inputs/internal/innerButton.js +24 -0
  225. package/dist/inputs/internal/ownField.d.ts +45 -0
  226. package/dist/inputs/internal/ownField.js +58 -0
  227. package/dist/inputs/internal/predicates.d.ts +9 -0
  228. package/dist/inputs/internal/predicates.js +11 -0
  229. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  230. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  231. package/dist/json/JsonViewer.d.ts +62 -0
  232. package/dist/json/JsonViewer.js +483 -0
  233. package/dist/layout/Box.d.ts +87 -0
  234. package/dist/layout/Box.js +109 -0
  235. package/dist/layout/Divider.d.ts +25 -0
  236. package/dist/layout/Divider.js +70 -0
  237. package/dist/layout/Flex.d.ts +139 -0
  238. package/dist/layout/Flex.js +165 -0
  239. package/dist/layout/FlexItem.d.ts +72 -0
  240. package/dist/layout/FlexItem.js +84 -0
  241. package/dist/layout/Grid.d.ts +140 -0
  242. package/dist/layout/Grid.js +178 -0
  243. package/dist/layout/Portal.d.ts +29 -0
  244. package/dist/layout/Portal.js +27 -0
  245. package/dist/layout/ResizablePanels.d.ts +88 -0
  246. package/dist/layout/ResizablePanels.js +198 -0
  247. package/dist/layout/ResizeHandle.d.ts +48 -0
  248. package/dist/layout/ResizeHandle.js +143 -0
  249. package/dist/layout/ScrollArea.d.ts +30 -0
  250. package/dist/layout/ScrollArea.js +138 -0
  251. package/dist/links/Link.d.ts +101 -1
  252. package/dist/links/Link.js +166 -4
  253. package/dist/lists/BulletedList.d.ts +25 -7
  254. package/dist/lists/BulletedList.js +72 -27
  255. package/dist/lists/DescriptionList.d.ts +91 -0
  256. package/dist/lists/DescriptionList.js +147 -0
  257. package/dist/menu/ContextMenu.d.ts +64 -0
  258. package/dist/menu/ContextMenu.js +34 -0
  259. package/dist/menu/Menu.d.ts +280 -0
  260. package/dist/menu/Menu.js +1003 -0
  261. package/dist/modal/ConfirmDialog.d.ts +55 -0
  262. package/dist/modal/ConfirmDialog.js +151 -0
  263. package/dist/modal/Modal.d.ts +64 -14
  264. package/dist/modal/Modal.js +189 -48
  265. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  266. package/dist/navigation/Breadcrumbs.js +243 -0
  267. package/dist/navigation/CommandPalette.d.ts +83 -0
  268. package/dist/navigation/CommandPalette.js +509 -0
  269. package/dist/navigation/Pagination.d.ts +87 -0
  270. package/dist/navigation/Pagination.js +300 -0
  271. package/dist/navigation/SidebarNav.d.ts +107 -0
  272. package/dist/navigation/SidebarNav.js +341 -0
  273. package/dist/navigation/Stepper.d.ts +52 -0
  274. package/dist/navigation/Stepper.js +207 -0
  275. package/dist/navigation/Tabs.d.ts +113 -0
  276. package/dist/navigation/Tabs.js +543 -0
  277. package/dist/navigation/Topbar.d.ts +20 -0
  278. package/dist/navigation/Topbar.js +62 -0
  279. package/dist/overlay/OverlayProvider.d.ts +28 -32
  280. package/dist/overlay/OverlayProvider.js +42 -93
  281. package/dist/overlay/useOverlay.d.ts +88 -12
  282. package/dist/overlay/useOverlay.js +220 -43
  283. package/dist/overlays/Popover.d.ts +114 -0
  284. package/dist/overlays/Popover.js +389 -0
  285. package/dist/shapes/Circle.d.ts +84 -8
  286. package/dist/shapes/Circle.js +122 -20
  287. package/dist/shapes/Square.d.ts +84 -8
  288. package/dist/shapes/Square.js +123 -20
  289. package/dist/styles/mixins.d.ts +35 -0
  290. package/dist/styles/mixins.js +60 -0
  291. package/dist/styles.css +1 -202
  292. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  293. package/dist/table/InfiniteSpreadsheet.js +762 -225
  294. package/dist/table/InfiniteTable.d.ts +116 -14
  295. package/dist/table/InfiniteTable.js +287 -429
  296. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  297. package/dist/table/SpreadsheetCellEditor.js +163 -84
  298. package/dist/table/TableCore.d.ts +252 -0
  299. package/dist/table/TableCore.js +1077 -0
  300. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  301. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  302. package/dist/table/types.d.ts +66 -244
  303. package/dist/table/types.js +0 -51
  304. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  305. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  306. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  307. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  308. package/dist/table/useTableColumnLayout.d.ts +90 -25
  309. package/dist/table/useTableColumnLayout.js +255 -50
  310. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  311. package/dist/table/useTableKeyboardNavigation.js +95 -71
  312. package/dist/table/useTableRowSelection.d.ts +24 -25
  313. package/dist/table/useTableRowSelection.js +57 -84
  314. package/dist/table/useTableVirtualizer.d.ts +20 -0
  315. package/dist/table/useTableVirtualizer.js +48 -0
  316. package/dist/text/Bold.d.ts +5 -6
  317. package/dist/text/Bold.js +16 -15
  318. package/dist/text/Code.d.ts +5 -6
  319. package/dist/text/Code.js +16 -25
  320. package/dist/text/CodeBlock.d.ts +77 -0
  321. package/dist/text/CodeBlock.js +373 -0
  322. package/dist/text/EditableText.d.ts +55 -15
  323. package/dist/text/EditableText.js +153 -135
  324. package/dist/text/Ellipsis.d.ts +34 -8
  325. package/dist/text/Ellipsis.js +55 -23
  326. package/dist/text/Kbd.d.ts +72 -0
  327. package/dist/text/Kbd.js +284 -0
  328. package/dist/text/MarkdownText.d.ts +27 -10
  329. package/dist/text/MarkdownText.js +317 -300
  330. package/dist/text/RequiredMarker.d.ts +17 -5
  331. package/dist/text/RequiredMarker.js +34 -36
  332. package/dist/text/Selectable.d.ts +5 -6
  333. package/dist/text/Selectable.js +16 -13
  334. package/dist/text/Span.d.ts +82 -0
  335. package/dist/text/Span.js +115 -0
  336. package/dist/text/Text.d.ts +128 -41
  337. package/dist/text/Text.js +209 -76
  338. package/dist/theme/GalaxyProvider.d.ts +75 -0
  339. package/dist/theme/GalaxyProvider.js +223 -0
  340. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  341. package/dist/theme/ThemeSwitcher.js +94 -0
  342. package/dist/theme/enums.d.ts +118 -0
  343. package/dist/theme/enums.js +144 -0
  344. package/dist/theme/tokens/dark.d.ts +2 -0
  345. package/dist/theme/tokens/dark.js +275 -0
  346. package/dist/theme/tokens/generate.d.ts +15 -0
  347. package/dist/theme/tokens/generate.js +47 -0
  348. package/dist/theme/tokens/light.d.ts +2 -0
  349. package/dist/theme/tokens/light.js +274 -0
  350. package/dist/theme/tokens/palette.d.ts +14 -0
  351. package/dist/theme/tokens/palette.js +153 -0
  352. package/dist/theme/tokens/scales.d.ts +26 -0
  353. package/dist/theme/tokens/scales.js +154 -0
  354. package/dist/theme/tokens/t.d.ts +3 -0
  355. package/dist/theme/tokens/t.js +25 -0
  356. package/dist/theme/tokens/types.d.ts +189 -0
  357. package/dist/theme/tokens/types.js +0 -0
  358. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  359. package/dist/theme/useGalaxyTheme.js +36 -0
  360. package/dist/theme/useInverseScope.d.ts +18 -0
  361. package/dist/theme/useInverseScope.js +33 -0
  362. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  363. package/dist/three/GalaxyLogomark3D.js +134 -0
  364. package/dist/three/assets/galaxy-logomark.js +4 -0
  365. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  366. package/dist/three/galaxyLogomark3DScene.js +165 -0
  367. package/dist/timeline/Timeline.d.ts +99 -0
  368. package/dist/timeline/Timeline.js +269 -0
  369. package/dist/toast/Toast.d.ts +43 -19
  370. package/dist/toast/Toast.js +130 -89
  371. package/dist/toast/ToastProvider.d.ts +23 -23
  372. package/dist/toast/ToastProvider.js +298 -101
  373. package/dist/toast/ToastViewport.d.ts +12 -0
  374. package/dist/toast/ToastViewport.js +210 -0
  375. package/dist/toast/useToast.d.ts +139 -5
  376. package/dist/toast/useToast.js +15 -13
  377. package/dist/tokens.css +654 -0
  378. package/dist/tooltip/Tooltip.d.ts +64 -44
  379. package/dist/tooltip/Tooltip.js +280 -73
  380. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  381. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  382. package/dist/transform/Fade.d.ts +33 -11
  383. package/dist/transform/Fade.js +71 -19
  384. package/dist/transform/Flasher.d.ts +25 -0
  385. package/dist/transform/Flasher.js +39 -0
  386. package/dist/transform/Rotate.d.ts +24 -12
  387. package/dist/transform/Rotate.js +36 -22
  388. package/dist/transform/ScaleFade.d.ts +36 -11
  389. package/dist/transform/ScaleFade.js +86 -28
  390. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  391. package/dist/transform/internal/CollapseMotion.js +65 -0
  392. package/dist/tree/Tree.d.ts +85 -0
  393. package/dist/tree/Tree.js +387 -0
  394. package/dist/tree/treeRow.d.ts +39 -0
  395. package/dist/tree/treeRow.js +75 -0
  396. package/dist/utils/colors.d.ts +46 -13
  397. package/dist/utils/colors.js +92 -34
  398. package/dist/utils/css.d.ts +23 -0
  399. package/dist/utils/css.js +30 -0
  400. package/dist/utils/format.d.ts +58 -0
  401. package/dist/utils/format.js +220 -0
  402. package/dist/vite/index.d.ts +16 -0
  403. package/dist/vite/index.js +52 -0
  404. package/dist/widget/Widget.d.ts +164 -48
  405. package/dist/widget/Widget.js +335 -96
  406. package/dist/widget/WidgetGroup.d.ts +36 -0
  407. package/dist/widget/WidgetGroup.js +103 -0
  408. package/package.json +851 -157
  409. package/dist/accordion/Accordion.d.ts +0 -54
  410. package/dist/accordion/Accordion.js +0 -183
  411. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  412. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  413. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  415. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  416. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  417. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  419. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  420. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  421. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  423. package/dist/assets/models/galaxy-animation.js +0 -136666
  424. package/dist/assets/models/galaxy-logomark.js +0 -4
  425. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  426. package/dist/avatar/AvatarShimmer.js +0 -22
  427. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  428. package/dist/backgrounds/CellGridBackground.js +0 -44
  429. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  430. package/dist/backgrounds/CrossGridBackground.js +0 -49
  431. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  432. package/dist/backgrounds/DotGridBackground.js +0 -47
  433. package/dist/badge/Badge.d.ts +0 -42
  434. package/dist/badge/Badge.js +0 -99
  435. package/dist/charts/ChartEmptyState.d.ts +0 -17
  436. package/dist/charts/ChartEmptyState.js +0 -29
  437. package/dist/charts/ProgressBar.d.ts +0 -29
  438. package/dist/charts/ProgressBar.js +0 -65
  439. package/dist/charts/chartTheme.d.ts +0 -18
  440. package/dist/charts/chartTheme.js +0 -26
  441. package/dist/containers/FlexItem.d.ts +0 -50
  442. package/dist/containers/FlexItem.js +0 -91
  443. package/dist/containers/FlexWrapper.d.ts +0 -96
  444. package/dist/containers/FlexWrapper.js +0 -143
  445. package/dist/containers/GridWrapper.d.ts +0 -79
  446. package/dist/containers/GridWrapper.js +0 -125
  447. package/dist/containers/Spacing.d.ts +0 -23
  448. package/dist/containers/Spacing.js +0 -59
  449. package/dist/containers/Wrapper.d.ts +0 -26
  450. package/dist/containers/Wrapper.js +0 -54
  451. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  452. package/dist/dividers/HorizontalDivider.js +0 -39
  453. package/dist/dividers/VerticalDivider.d.ts +0 -6
  454. package/dist/dividers/VerticalDivider.js +0 -21
  455. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  456. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  457. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  458. package/dist/icons/GalaxyLogomark.js +0 -27
  459. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  460. package/dist/icons/GalaxyLogomark3D.js +0 -319
  461. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  462. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  463. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  464. package/dist/icons/GalaxyWordmark.js +0 -25
  465. package/dist/inputs/MultiTextInput.d.ts +0 -32
  466. package/dist/inputs/MultiTextInput.js +0 -180
  467. package/dist/inputs/SwitcherInput.d.ts +0 -30
  468. package/dist/inputs/SwitcherInput.js +0 -81
  469. package/dist/inputs/hooks.d.ts +0 -10
  470. package/dist/inputs/hooks.js +0 -22
  471. package/dist/overlay/constants.d.ts +0 -28
  472. package/dist/overlay/constants.js +0 -37
  473. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  474. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  475. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  476. package/dist/resizable/VerticalResizeHandle.js +0 -39
  477. package/dist/table/SpreadsheetCell.d.ts +0 -21
  478. package/dist/table/SpreadsheetCell.js +0 -71
  479. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  480. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  481. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  482. package/dist/table/SpreadsheetMenuItem.js +0 -33
  483. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  484. package/dist/table/SpreadsheetPrimitives.js +0 -105
  485. package/dist/table/SpreadsheetRow.d.ts +0 -33
  486. package/dist/table/SpreadsheetRow.js +0 -73
  487. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  488. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  489. package/dist/table/TableExpandCell.d.ts +0 -11
  490. package/dist/table/TableExpandCell.js +0 -24
  491. package/dist/table/TableExpandedRow.d.ts +0 -16
  492. package/dist/table/TableExpandedRow.js +0 -77
  493. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  494. package/dist/table/TableHeaderCellContent.js +0 -48
  495. package/dist/table/TablePrimitives.d.ts +0 -313
  496. package/dist/table/TablePrimitives.js +0 -302
  497. package/dist/table/TableSelectCell.d.ts +0 -18
  498. package/dist/table/TableSelectCell.js +0 -27
  499. package/dist/table/TableStatusRow.d.ts +0 -18
  500. package/dist/table/TableStatusRow.js +0 -50
  501. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  502. package/dist/table/useSpreadsheetEditing.js +0 -41
  503. package/dist/table/useTableColumnResize.d.ts +0 -38
  504. package/dist/table/useTableColumnResize.js +0 -155
  505. package/dist/table/useTableRowExpansion.d.ts +0 -24
  506. package/dist/table/useTableRowExpansion.js +0 -62
  507. package/dist/table/utils.d.ts +0 -50
  508. package/dist/table/utils.js +0 -78
  509. package/dist/text/HotKeys.d.ts +0 -30
  510. package/dist/text/HotKeys.js +0 -74
  511. package/dist/text/Paragraph.d.ts +0 -33
  512. package/dist/text/Paragraph.js +0 -83
  513. package/dist/text/TextShimmer.d.ts +0 -14
  514. package/dist/text/TextShimmer.js +0 -34
  515. package/dist/theme/GalaxyTheme.d.ts +0 -67
  516. package/dist/theme/GalaxyTheme.js +0 -119
  517. package/dist/theme/constants.d.ts +0 -8
  518. package/dist/theme/constants.js +0 -38
  519. package/dist/theme/index.d.ts +0 -6
  520. package/dist/theme/index.js +0 -7
  521. package/dist/theme/types.d.ts +0 -195
  522. package/dist/theme/types.js +0 -10
  523. package/dist/theme/typography.d.ts +0 -2
  524. package/dist/theme/typography.js +0 -73
  525. package/dist/theme/variants/dark.d.ts +0 -2
  526. package/dist/theme/variants/dark.js +0 -125
  527. package/dist/theme/variants/light.d.ts +0 -2
  528. package/dist/theme/variants/light.js +0 -125
  529. package/dist/toast/ToastContainer.d.ts +0 -10
  530. package/dist/toast/ToastContainer.js +0 -31
  531. package/dist/toast/ToastWrapper.d.ts +0 -6
  532. package/dist/toast/ToastWrapper.js +0 -27
  533. package/dist/transform/Flash.d.ts +0 -7
  534. package/dist/transform/Flash.js +0 -18
  535. package/dist/transform/Spin.d.ts +0 -14
  536. package/dist/transform/Spin.js +0 -25
  537. package/dist/utils/linaria.d.ts +0 -1
  538. package/dist/utils/linaria.js +0 -8
@@ -0,0 +1,300 @@
1
+ import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
2
+ import { Placement } from "../theme/enums.js";
3
+ import Text, { TextSize, TextVariant } from "../text/Text.js";
4
+ import { useControlledState } from "../hooks/useControlledState.js";
5
+ import Icon, { IconVariant } from "../icons/Icon.js";
6
+ import Button, { ButtonSize, ButtonVariant } from "../buttons/Button.js";
7
+ import { formatNumber } from "../utils/format.js";
8
+ import SelectInput, { SelectInputSize } from "../inputs/SelectInput.js";
9
+ /* empty css */
10
+ import { styled } from "@linaria/react";
11
+ import { forwardRef, useCallback, useId, useRef } from "react";
12
+ import { jsx, jsxs } from "react/jsx-runtime";
13
+ import { cx } from "@linaria/core";
14
+ import { CaretLeftIcon, CaretRightIcon } from "@phosphor-icons/react";
15
+ //#region src/navigation/Pagination.tsx
16
+ /**
17
+ * The control under a paged list or table that moves between pages: previous and next buttons
18
+ * around a short window of page numbers, with an optional "1–25 of 312" summary and an optional
19
+ * rows-per-page select. The app owns the data: it passes the item `total` and the `pageSize`, and
20
+ * Pagination reports the page the user picks (`onChange`) and the size they pick
21
+ * (`onPageSizeChange`). It does not fetch, slice or route. `isCompact` replaces the page numbers
22
+ * with "3 of 13" for narrow toolbars.
23
+ *
24
+ * Not "Load more" (a `Button`), not `Tabs` (sibling views), not `Breadcrumbs` (parent pages).
25
+ *
26
+ * SSR: the page window is pure; nothing touches `window` or `document` at module scope.
27
+ */
28
+ /** Canonical rungs; Pagination supports all five (the rung of every button and the select). */
29
+ var PaginationSize = /* @__PURE__ */ function(PaginationSize) {
30
+ /** 20px controls, caption text. */
31
+ PaginationSize["X_SMALL"] = "X_SMALL";
32
+ /** 24px controls, body_sm text. The usual size in a table footer or a Topbar. */
33
+ PaginationSize["SMALL"] = "SMALL";
34
+ /** 32px controls, body_md text. The default. */
35
+ PaginationSize["MEDIUM"] = "MEDIUM";
36
+ /** 36px controls, body_lg text. */
37
+ PaginationSize["LARGE"] = "LARGE";
38
+ /** 40px controls, body_lg text. */
39
+ PaginationSize["X_LARGE"] = "X_LARGE";
40
+ return PaginationSize;
41
+ }({});
42
+ /** Pages shown in full up to this count; past it the window is always seven slots. */
43
+ var WINDOW_SLOTS = 7;
44
+ /** The default `nav` name. */
45
+ var DEFAULT_ARIA_LABEL = "Pagination";
46
+ var Root = /*#__PURE__*/ styled("nav")({
47
+ name: "Root",
48
+ class: "gx-Pagination-r9u33u3",
49
+ propsAsIs: false
50
+ });
51
+ var Controls = /*#__PURE__*/ styled("div")({
52
+ name: "Controls",
53
+ class: "gx-Pagination-Controls-c1ffm52h",
54
+ propsAsIs: false
55
+ });
56
+ var PageSize = /*#__PURE__*/ styled("div")({
57
+ name: "PageSize",
58
+ class: "gx-Pagination-PageSize-p1uj1xow",
59
+ propsAsIs: false
60
+ });
61
+ var Pages = /*#__PURE__*/ styled("ul")({
62
+ name: "Pages",
63
+ class: "gx-Pagination-Pages-p1ytmnqd",
64
+ propsAsIs: false
65
+ });
66
+ /** The summary at the start, the controls at the end. */
67
+ var FILL_WIDTH_CSS = "gx-Pagination-FILL_WIDTH_CSS-f1bfyy52";
68
+ /** 96px: a four-digit size and its caret at every rung (SelectInput's own default is 200px). */
69
+ var PAGE_SIZE_SELECT_CSS = "gx-Pagination-PAGE_SIZE_SELECT_CSS-p16nmdqk";
70
+ /** Previous / next: a square of the button's rung around a smaller caret (TableCore's expand button). */
71
+ var CARET_BUTTON_CSS = "gx-Pagination-CARET_BUTTON_CSS-c8xq1jo";
72
+ /** The previous / next caret: 12px, 10px on the 20px and 24px rungs (the collapsible Widget's caret). */
73
+ var PAGINATION_SIZE_TO_CARET_PX_MAP = {
74
+ ["X_SMALL"]: 10,
75
+ ["SMALL"]: 10,
76
+ ["MEDIUM"]: 12,
77
+ ["LARGE"]: 12,
78
+ ["X_LARGE"]: 12
79
+ };
80
+ var PAGINATION_SIZE_TO_BUTTON_SIZE_MAP = {
81
+ ["X_SMALL"]: ButtonSize.X_SMALL,
82
+ ["SMALL"]: ButtonSize.SMALL,
83
+ ["MEDIUM"]: ButtonSize.MEDIUM,
84
+ ["LARGE"]: ButtonSize.LARGE,
85
+ ["X_LARGE"]: ButtonSize.X_LARGE
86
+ };
87
+ var PAGINATION_SIZE_TO_SELECT_INPUT_SIZE_MAP = {
88
+ ["X_SMALL"]: SelectInputSize.X_SMALL,
89
+ ["SMALL"]: SelectInputSize.SMALL,
90
+ ["MEDIUM"]: SelectInputSize.MEDIUM,
91
+ ["LARGE"]: SelectInputSize.LARGE,
92
+ ["X_LARGE"]: SelectInputSize.X_LARGE
93
+ };
94
+ var PAGINATION_SIZE_TO_TEXT_SIZE_MAP = {
95
+ ["X_SMALL"]: TextSize.CAPTION,
96
+ ["SMALL"]: TextSize.BODY_SM,
97
+ ["MEDIUM"]: TextSize.BODY_MD,
98
+ ["LARGE"]: TextSize.BODY_LG,
99
+ ["X_LARGE"]: TextSize.BODY_LG
100
+ };
101
+ /** The page window: every page up to seven, else seven slots with one or two ellipses. */
102
+ function getPaginationSlots(page, pageCount) {
103
+ const pages = (from, to) => Array.from({ length: to - from + 1 }, (_, index) => ({
104
+ kind: "page",
105
+ page: from + index
106
+ }));
107
+ if (pageCount <= WINDOW_SLOTS) return pages(1, pageCount);
108
+ if (page <= 4) return [
109
+ ...pages(1, 5),
110
+ {
111
+ kind: "ellipsis",
112
+ key: "end-ellipsis"
113
+ },
114
+ ...pages(pageCount, pageCount)
115
+ ];
116
+ if (page >= pageCount - 3) return [
117
+ ...pages(1, 1),
118
+ {
119
+ kind: "ellipsis",
120
+ key: "start-ellipsis"
121
+ },
122
+ ...pages(pageCount - 4, pageCount)
123
+ ];
124
+ return [
125
+ ...pages(1, 1),
126
+ {
127
+ kind: "ellipsis",
128
+ key: "start-ellipsis"
129
+ },
130
+ ...pages(page - 1, page + 1),
131
+ {
132
+ kind: "ellipsis",
133
+ key: "end-ellipsis"
134
+ },
135
+ ...pages(pageCount, pageCount)
136
+ ];
137
+ }
138
+ /** A whole number at least `min`; non-finite reads as `fallback`. */
139
+ function wholeAtLeast(value, min, fallback) {
140
+ return Number.isFinite(value) ? Math.max(min, Math.floor(value)) : fallback;
141
+ }
142
+ /** Moves between the pages of a list or table, with an optional summary and page-size select. */
143
+ var Pagination = forwardRef(function Pagination({ total, value, defaultValue = 1, onChange, pageSize: pageSizeProp = 25, pageSizeOptions, onPageSizeChange, hasSummary = false, isCompact = false, size = "MEDIUM", isDisabled = false, fillWidth = false, ariaLabel, id, className, style, ...rest }, ref) {
144
+ const pageSize = wholeAtLeast(pageSizeProp, 1, 1);
145
+ const itemCount = wholeAtLeast(total, 0, 0);
146
+ const pageCount = Math.max(1, Math.ceil(itemCount / pageSize));
147
+ const [rawPage, setPage] = useControlledState({
148
+ value,
149
+ defaultValue,
150
+ onChange
151
+ });
152
+ const page = Math.min(pageCount, wholeAtLeast(rawPage, 1, 1));
153
+ const textSize = PAGINATION_SIZE_TO_TEXT_SIZE_MAP[size];
154
+ const buttonSize = PAGINATION_SIZE_TO_BUTTON_SIZE_MAP[size];
155
+ const pageSizeLabelId = useId();
156
+ const pendingFocus = useRef(null);
157
+ const pageButtons = useRef(/* @__PURE__ */ new Map());
158
+ const previousButton = useRef(null);
159
+ const nextButton = useRef(null);
160
+ useIsomorphicLayoutEffect(() => {
161
+ const target = pendingFocus.current;
162
+ if (target === null) return;
163
+ pendingFocus.current = null;
164
+ (target === "previous" ? previousButton.current : target === "next" ? nextButton.current : pageButtons.current.get(page))?.focus();
165
+ });
166
+ const goTo = (next) => {
167
+ if (next === page || next < 1 || next > pageCount) return;
168
+ setPage(next);
169
+ };
170
+ /** An arrow press; at the edge, focus goes to the current page (or the other arrow when compact). */
171
+ const step = (delta) => {
172
+ const next = page + delta;
173
+ if (next < 1 || next > pageCount) return;
174
+ if (next === 1 || next === pageCount) pendingFocus.current = isCompact ? delta === 1 ? "previous" : "next" : "current";
175
+ goTo(next);
176
+ };
177
+ const sizeOptions = (() => {
178
+ if (pageSizeOptions === void 0) return [];
179
+ return (pageSizeOptions.includes(pageSize) ? pageSizeOptions : [...pageSizeOptions, pageSize].sort((a, b) => a - b)).map((option) => ({
180
+ id: String(option),
181
+ label: formatNumber(option)
182
+ }));
183
+ })();
184
+ const handlePageSizeChange = useCallback((selected) => {
185
+ if (selected === null) return;
186
+ const next = Number(selected);
187
+ if (!Number.isFinite(next) || next === pageSize) return;
188
+ onPageSizeChange?.(next);
189
+ const nextPage = Math.floor((page - 1) * pageSize / next) + 1;
190
+ if (nextPage !== page) setPage(nextPage);
191
+ }, [
192
+ onPageSizeChange,
193
+ page,
194
+ pageSize,
195
+ setPage
196
+ ]);
197
+ const from = (page - 1) * pageSize + 1;
198
+ const to = Math.min(page * pageSize, itemCount);
199
+ const summary = itemCount === 0 ? "No results" : `${formatNumber(from)}–${formatNumber(to)} of ${formatNumber(itemCount)}`;
200
+ const name = ariaLabel || rest["aria-label"] || (rest["aria-labelledby"] ? void 0 : DEFAULT_ARIA_LABEL);
201
+ const setPageButton = (pageNumber) => (element) => {
202
+ if (element === null) pageButtons.current.delete(pageNumber);
203
+ else pageButtons.current.set(pageNumber, element);
204
+ };
205
+ return /* @__PURE__ */ jsxs(Root, {
206
+ ...rest,
207
+ ref,
208
+ id,
209
+ "aria-label": name,
210
+ className: cx(fillWidth && FILL_WIDTH_CSS, className),
211
+ style,
212
+ children: [hasSummary && /* @__PURE__ */ jsx(Text, {
213
+ as: "span",
214
+ size: textSize,
215
+ variant: TextVariant.SECONDARY,
216
+ isTabular: itemCount > 0,
217
+ "aria-live": "polite",
218
+ "aria-atomic": "true",
219
+ children: summary
220
+ }), /* @__PURE__ */ jsxs(Controls, { children: [pageSizeOptions !== void 0 && /* @__PURE__ */ jsxs(PageSize, { children: [/* @__PURE__ */ jsx(Text, {
221
+ as: "span",
222
+ id: pageSizeLabelId,
223
+ size: textSize,
224
+ variant: TextVariant.SECONDARY,
225
+ children: "Rows per page"
226
+ }), /* @__PURE__ */ jsx(SelectInput, {
227
+ options: sizeOptions,
228
+ value: String(pageSize),
229
+ onChange: handlePageSizeChange,
230
+ size: PAGINATION_SIZE_TO_SELECT_INPUT_SIZE_MAP[size],
231
+ isDisabled,
232
+ "aria-labelledby": pageSizeLabelId,
233
+ placement: Placement.BOTTOM_END,
234
+ className: PAGE_SIZE_SELECT_CSS
235
+ })] }), /* @__PURE__ */ jsxs(Pages, {
236
+ role: "list",
237
+ children: [
238
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Button, {
239
+ ref: (element) => {
240
+ previousButton.current = element;
241
+ },
242
+ leading: /* @__PURE__ */ jsx(Icon, {
243
+ component: CaretLeftIcon,
244
+ size: PAGINATION_SIZE_TO_CARET_PX_MAP[size],
245
+ variant: IconVariant.INHERIT
246
+ }),
247
+ ariaLabel: "Previous page",
248
+ variant: ButtonVariant.TERTIARY,
249
+ size: buttonSize,
250
+ isDisabled: isDisabled || page === 1,
251
+ onClick: () => step(-1),
252
+ className: CARET_BUTTON_CSS
253
+ }) }),
254
+ isCompact ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Text, {
255
+ as: "span",
256
+ size: textSize,
257
+ isTabular: true,
258
+ "aria-live": "polite",
259
+ "aria-atomic": "true",
260
+ children: `${formatNumber(page)} of ${formatNumber(pageCount)}`
261
+ }) }) : getPaginationSlots(page, pageCount).map((slot) => slot.kind === "page" ? /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Button, {
262
+ ref: setPageButton(slot.page),
263
+ label: formatNumber(slot.page),
264
+ variant: slot.page === page ? ButtonVariant.SECONDARY : ButtonVariant.TERTIARY,
265
+ size: buttonSize,
266
+ isDisabled,
267
+ "aria-current": slot.page === page ? "page" : void 0,
268
+ onClick: () => goTo(slot.page)
269
+ }) }, slot.page) : /* @__PURE__ */ jsx("li", {
270
+ "aria-hidden": "true",
271
+ children: /* @__PURE__ */ jsx(Text, {
272
+ as: "span",
273
+ size: textSize,
274
+ variant: TextVariant.TERTIARY,
275
+ children: "…"
276
+ })
277
+ }, slot.key)),
278
+ /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Button, {
279
+ ref: (element) => {
280
+ nextButton.current = element;
281
+ },
282
+ leading: /* @__PURE__ */ jsx(Icon, {
283
+ component: CaretRightIcon,
284
+ size: PAGINATION_SIZE_TO_CARET_PX_MAP[size],
285
+ variant: IconVariant.INHERIT
286
+ }),
287
+ ariaLabel: "Next page",
288
+ variant: ButtonVariant.TERTIARY,
289
+ size: buttonSize,
290
+ isDisabled: isDisabled || page === pageCount,
291
+ onClick: () => step(1),
292
+ className: CARET_BUTTON_CSS
293
+ }) })
294
+ ]
295
+ })] })]
296
+ });
297
+ });
298
+ Pagination.displayName = "Pagination";
299
+ //#endregion
300
+ export { PaginationSize, Pagination as default };
@@ -0,0 +1,107 @@
1
+ import { type Icon as PhosphorIcon } from "@phosphor-icons/react";
2
+ import { type AriaAttributes, type CSSProperties, type ElementType, type MouseEvent, type ReactNode } from "react";
3
+ export interface SidebarNavProps extends AriaAttributes {
4
+ /** The destinations: `NavItem`s and `NavGroup`s, in display order. Scrolls when taller than the column. */
5
+ children?: ReactNode;
6
+ /** Content of the 48px row at the top: the brand mark or a workspace switcher. In collapsed mode, pass a compact version (the logomark alone). */
7
+ header?: ReactNode;
8
+ /** Content pinned under the list: the account row, `NavItem`s such as Settings, the collapse toggle. */
9
+ footer?: ReactNode;
10
+ /**
11
+ * Icon rail: items show only their icon (labels and counts move into tooltips), group labels become dividers. Give the parent a 48px width.
12
+ * @default false
13
+ */
14
+ isCollapsed?: boolean;
15
+ /**
16
+ * Name of the `<nav>` landmark (announced "Main navigation").
17
+ * @default Main
18
+ */
19
+ ariaLabel?: string;
20
+ /** DOM id of the `<nav>`. */
21
+ id?: string;
22
+ /** Any `data-*` attribute, forwarded to the `<nav>`. */
23
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
24
+ /** Extra class on the `<nav>`. */
25
+ className?: string;
26
+ /** Inline style on the `<nav>`; only for setting CSS custom properties. */
27
+ style?: CSSProperties;
28
+ }
29
+ export interface NavItemProps extends AriaAttributes {
30
+ /** Visible text; truncates to one line. In collapsed mode it is visually hidden (still the accessible name) and shown in the tooltip. */
31
+ label: string;
32
+ /** Phosphor icon component (`HouseIcon`, not `<HouseIcon />`), 14px. In collapsed mode an item without one shows its label's first letter. */
33
+ icon?: PhosphorIcon;
34
+ /** Destination. Renders an `<a>` (or `as`). Without it the item is a `<button>`. */
35
+ href?: string;
36
+ /**
37
+ * Router link component that renders the anchor when `href` is set. It receives `href` and must forward its `ref`. Ignored without `href`.
38
+ * @default "a"
39
+ */
40
+ as?: ElementType;
41
+ /**
42
+ * With `href`: opens in a new tab (`target="_blank"`, `rel="noopener noreferrer"`) and adds a trailing arrow plus visually hidden "(opens in a new tab)".
43
+ * @default false
44
+ */
45
+ isExternal?: boolean;
46
+ /** Called on activation (a button item's action, or analytics on a link). Not called while disabled. */
47
+ onClick?: (event: MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => void;
48
+ /**
49
+ * The current page: `aria-current="page"`, the active fill and a `text.primary` icon. Derive it from the route, not local state.
50
+ * @default false
51
+ */
52
+ isActive?: boolean;
53
+ /**
54
+ * Not activatable: no `href`, disabled color, `aria-disabled`. Stays focusable so its `tooltip` can say why.
55
+ * @default false
56
+ */
57
+ isDisabled?: boolean;
58
+ /** Badge after the label (a `SMALL` `Chip count`; `99+` past 99). Values of 0 or less are hidden. In collapsed mode it moves into the tooltip and the accessible name. */
59
+ count?: number;
60
+ /** Content after the label and count: a "Beta" `Chip`, a `Kbd`. Must not be interactive. Hidden in collapsed mode. */
61
+ trailing?: ReactNode;
62
+ /** Tooltip on the item, placed to the right. In collapsed mode it replaces the default tooltip (the label and count). */
63
+ tooltip?: string | ReactNode;
64
+ /** DOM id of the link or button. */
65
+ id?: string;
66
+ /** Any `data-*` attribute, forwarded to the link or button. */
67
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
68
+ /** Extra class on the link or button. */
69
+ className?: string;
70
+ /** Inline style on the link or button; only for setting CSS custom properties. */
71
+ style?: CSSProperties;
72
+ }
73
+ export interface NavGroupProps extends AriaAttributes {
74
+ /** Section heading, small uppercase tertiary text. Names the section's list. In collapsed mode it becomes a divider (still the list's accessible name). */
75
+ label: string;
76
+ /** The section's `NavItem`s. */
77
+ children?: ReactNode;
78
+ /**
79
+ * The heading becomes a toggle with a caret that folds the section.
80
+ * @default false
81
+ */
82
+ isCollapsible?: boolean;
83
+ /** Controlled open state of a collapsible section. Pass it with `onOpenChange`. */
84
+ isOpen?: boolean;
85
+ /**
86
+ * Initial open state of a collapsible section while uncontrolled. Pass `defaultIsOpen` for sections that start open.
87
+ * @default false
88
+ */
89
+ defaultIsOpen?: boolean;
90
+ /** Called with the next state when the heading of a collapsible section is pressed. */
91
+ onOpenChange?: (isOpen: boolean) => void;
92
+ /** DOM id of the section's `<li>`. */
93
+ id?: string;
94
+ /** Any `data-*` attribute, forwarded to the section's `<li>`. */
95
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
96
+ /** Extra class on the section's `<li>`. */
97
+ className?: string;
98
+ /** Inline style on the section's `<li>`; only for setting CSS custom properties. */
99
+ style?: CSSProperties;
100
+ }
101
+ /** The primary navigation column: header, scrolling list of items and sections, footer. */
102
+ declare const SidebarNav: import("react").ForwardRefExoticComponent<SidebarNavProps & import("react").RefAttributes<HTMLElement>>;
103
+ /** One destination: a link (`href`) or a button, with an icon, a label, a count and an active state. */
104
+ export declare const NavItem: import("react").ForwardRefExoticComponent<NavItemProps & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
105
+ /** A labelled section of items; with `isCollapsible` its heading folds it. */
106
+ export declare const NavGroup: import("react").ForwardRefExoticComponent<NavGroupProps & import("react").RefAttributes<HTMLLIElement>>;
107
+ export default SidebarNav;