@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,140 @@
1
+ import { type AriaAttributes, type CSSProperties, type ElementType, type ReactNode } from "react";
2
+ import type { Space, SpaceShorthand } from "../theme/enums.js";
3
+ /** Block-axis alignment of each item inside its own grid area (`align-items`). */
4
+ export declare enum GridAlignItems {
5
+ /** Pack each item at the start of its area. */
6
+ START = "START",
7
+ /** Center each item in its area. */
8
+ CENTER = "CENTER",
9
+ /** Pack each item at the end of its area. */
10
+ END = "END",
11
+ /** Stretch each item to fill its area. */
12
+ STRETCH = "STRETCH"
13
+ }
14
+ /** Inline-axis alignment of each item inside its own grid area (`justify-items`). */
15
+ export declare enum GridJustifyItems {
16
+ /** Pack each item at the start of its area. */
17
+ START = "START",
18
+ /** Center each item in its area. */
19
+ CENTER = "CENTER",
20
+ /** Pack each item at the end of its area. */
21
+ END = "END",
22
+ /** Stretch each item to fill its area. */
23
+ STRETCH = "STRETCH"
24
+ }
25
+ /** Inline-axis distribution of the tracks when they are narrower than the grid (`justify-content`). */
26
+ export declare enum GridJustifyContent {
27
+ /** Pack the tracks at the inline start. */
28
+ START = "START",
29
+ /** Center the tracks. */
30
+ CENTER = "CENTER",
31
+ /** Pack the tracks at the inline end. */
32
+ END = "END",
33
+ /** First and last track at the edges, equal space between. */
34
+ SPACE_BETWEEN = "SPACE_BETWEEN",
35
+ /** Equal space around each track (half-size at the edges). */
36
+ SPACE_AROUND = "SPACE_AROUND",
37
+ /** Equal space between tracks and at the edges. */
38
+ SPACE_EVENLY = "SPACE_EVENLY",
39
+ /** Grow `auto` tracks to fill the grid. */
40
+ STRETCH = "STRETCH"
41
+ }
42
+ /** Block-axis distribution of the tracks when they are shorter than the grid (`align-content`). */
43
+ export declare enum GridAlignContent {
44
+ /** Pack the tracks at the block start. */
45
+ START = "START",
46
+ /** Center the tracks. */
47
+ CENTER = "CENTER",
48
+ /** Pack the tracks at the block end. */
49
+ END = "END",
50
+ /** First and last track at the edges, equal space between. */
51
+ SPACE_BETWEEN = "SPACE_BETWEEN",
52
+ /** Equal space around each track (half-size at the edges). */
53
+ SPACE_AROUND = "SPACE_AROUND",
54
+ /** Equal space between tracks and at the edges. */
55
+ SPACE_EVENLY = "SPACE_EVENLY",
56
+ /** Grow `auto` tracks to fill the grid. */
57
+ STRETCH = "STRETCH"
58
+ }
59
+ export interface GridProps extends AriaAttributes {
60
+ /** Content of the grid: its items. */
61
+ children?: ReactNode;
62
+ /**
63
+ * Column tracks. A number is that many equal tracks (`repeat(n, minmax(0, 1fr))`); a string is
64
+ * used as-is (`"200px 1fr"`).
65
+ * @default 1
66
+ */
67
+ columns?: number | string;
68
+ /**
69
+ * Row tracks. A number is that many equal tracks (`repeat(n, minmax(0, 1fr))`); a string is used
70
+ * as-is. Unset, rows are implicit and sized to their content.
71
+ */
72
+ rows?: number | string;
73
+ /**
74
+ * Named areas (`grid-template-areas`), one string per row: `["header header", "nav main"]`.
75
+ * Items join an area through their own `grid-area`.
76
+ */
77
+ areas?: string[];
78
+ /** Space between tracks from the space scale: one value, or `[row, column]`. */
79
+ gap?: Space | [Space, Space];
80
+ /**
81
+ * Block-axis alignment of each item in its area.
82
+ * @default GridAlignItems.STRETCH
83
+ */
84
+ alignItems?: GridAlignItems;
85
+ /**
86
+ * Inline-axis alignment of each item in its area.
87
+ * @default GridJustifyItems.STRETCH
88
+ */
89
+ justifyItems?: GridJustifyItems;
90
+ /**
91
+ * Block-axis distribution of the tracks when they are shorter than the grid.
92
+ * @default GridAlignContent.START
93
+ */
94
+ alignContent?: GridAlignContent;
95
+ /**
96
+ * Inline-axis distribution of the tracks when they are narrower than the grid.
97
+ * @default GridJustifyContent.START
98
+ */
99
+ justifyContent?: GridJustifyContent;
100
+ /** Padding from the space scale: one value, or 2–4 in CSS shorthand order (`[12, 16]`). */
101
+ padding?: SpaceShorthand;
102
+ /** CSS `width`. A number is px. `fillWidth` wins over it. */
103
+ width?: number | string;
104
+ /** CSS `height`. A number is px. Use `"100%"` to fill the parent (1.x `fillHeight`). */
105
+ height?: number | string;
106
+ /** CSS `min-width`. A number is px. */
107
+ minWidth?: number | string;
108
+ /** CSS `max-width`. A number is px. */
109
+ maxWidth?: number | string;
110
+ /** CSS `min-height`. A number is px. */
111
+ minHeight?: number | string;
112
+ /** CSS `max-height`. A number is px. */
113
+ maxHeight?: number | string;
114
+ /**
115
+ * Stretch to the parent's full width (`width: 100%`). Wins over `width`.
116
+ * @default false
117
+ */
118
+ fillWidth?: boolean;
119
+ /**
120
+ * CSS `overflow`.
121
+ * @default "visible"
122
+ */
123
+ overflow?: CSSProperties["overflow"];
124
+ /**
125
+ * Element or component to render (`"section"`, `"ul"`, `"dl"`).
126
+ * @default "div"
127
+ */
128
+ as?: ElementType;
129
+ /** DOM id on the root element. */
130
+ id?: string;
131
+ /** Any `data-*` attribute, forwarded to the root element. */
132
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
133
+ /** Extra class on the root element. */
134
+ className?: string;
135
+ /** Inline style on the root element; only for setting CSS custom properties. */
136
+ style?: CSSProperties;
137
+ }
138
+ /** The CSS grid layout primitive: tracks, areas, alignment, `gap`, `padding` and sizing. */
139
+ declare const Grid: import("react").ForwardRefExoticComponent<GridProps & import("react").RefAttributes<HTMLElement>>;
140
+ export default Grid;
@@ -0,0 +1,178 @@
1
+ import { gapToCss, getCssSizeValue, spaceToCss } from "../utils/css.js";
2
+ /* empty css */
3
+ import { styled } from "@linaria/react";
4
+ import { forwardRef } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { cx } from "@linaria/core";
7
+ //#region src/layout/Grid.tsx
8
+ /**
9
+ * The CSS grid layout primitive: a `display: grid` element with tracks, areas, alignment and
10
+ * sizing as props. Replaces 1.x `GridWrapper`. Spacing is `gap` and `padding` from the space
11
+ * scale; there is no `margin` (Constitution II.5).
12
+ *
13
+ * The four alignment axes are enums, each a `Record` of `css` blocks. Continuous values (tracks,
14
+ * areas, `gap`, `padding`, sizes, `overflow`) are set as `--gx-grid-*` custom properties on the
15
+ * root, and a block that reads each one is switched on only when its prop is set. So a nested
16
+ * `Grid` never inherits its parent's values, and nothing extra reaches a custom `as` component
17
+ * (Linaria forwards `$`-props to one). Same pattern as `Flex` and `Box`.
18
+ */
19
+ /** Block-axis alignment of each item inside its own grid area (`align-items`). */
20
+ var GridAlignItems = /* @__PURE__ */ function(GridAlignItems) {
21
+ /** Pack each item at the start of its area. */
22
+ GridAlignItems["START"] = "START";
23
+ /** Center each item in its area. */
24
+ GridAlignItems["CENTER"] = "CENTER";
25
+ /** Pack each item at the end of its area. */
26
+ GridAlignItems["END"] = "END";
27
+ /** Stretch each item to fill its area. */
28
+ GridAlignItems["STRETCH"] = "STRETCH";
29
+ return GridAlignItems;
30
+ }({});
31
+ /** Inline-axis alignment of each item inside its own grid area (`justify-items`). */
32
+ var GridJustifyItems = /* @__PURE__ */ function(GridJustifyItems) {
33
+ /** Pack each item at the start of its area. */
34
+ GridJustifyItems["START"] = "START";
35
+ /** Center each item in its area. */
36
+ GridJustifyItems["CENTER"] = "CENTER";
37
+ /** Pack each item at the end of its area. */
38
+ GridJustifyItems["END"] = "END";
39
+ /** Stretch each item to fill its area. */
40
+ GridJustifyItems["STRETCH"] = "STRETCH";
41
+ return GridJustifyItems;
42
+ }({});
43
+ /** Inline-axis distribution of the tracks when they are narrower than the grid (`justify-content`). */
44
+ var GridJustifyContent = /* @__PURE__ */ function(GridJustifyContent) {
45
+ /** Pack the tracks at the inline start. */
46
+ GridJustifyContent["START"] = "START";
47
+ /** Center the tracks. */
48
+ GridJustifyContent["CENTER"] = "CENTER";
49
+ /** Pack the tracks at the inline end. */
50
+ GridJustifyContent["END"] = "END";
51
+ /** First and last track at the edges, equal space between. */
52
+ GridJustifyContent["SPACE_BETWEEN"] = "SPACE_BETWEEN";
53
+ /** Equal space around each track (half-size at the edges). */
54
+ GridJustifyContent["SPACE_AROUND"] = "SPACE_AROUND";
55
+ /** Equal space between tracks and at the edges. */
56
+ GridJustifyContent["SPACE_EVENLY"] = "SPACE_EVENLY";
57
+ /** Grow `auto` tracks to fill the grid. */
58
+ GridJustifyContent["STRETCH"] = "STRETCH";
59
+ return GridJustifyContent;
60
+ }({});
61
+ /** Block-axis distribution of the tracks when they are shorter than the grid (`align-content`). */
62
+ var GridAlignContent = /* @__PURE__ */ function(GridAlignContent) {
63
+ /** Pack the tracks at the block start. */
64
+ GridAlignContent["START"] = "START";
65
+ /** Center the tracks. */
66
+ GridAlignContent["CENTER"] = "CENTER";
67
+ /** Pack the tracks at the block end. */
68
+ GridAlignContent["END"] = "END";
69
+ /** First and last track at the edges, equal space between. */
70
+ GridAlignContent["SPACE_BETWEEN"] = "SPACE_BETWEEN";
71
+ /** Equal space around each track (half-size at the edges). */
72
+ GridAlignContent["SPACE_AROUND"] = "SPACE_AROUND";
73
+ /** Equal space between tracks and at the edges. */
74
+ GridAlignContent["SPACE_EVENLY"] = "SPACE_EVENLY";
75
+ /** Grow `auto` tracks to fill the grid. */
76
+ GridAlignContent["STRETCH"] = "STRETCH";
77
+ return GridAlignContent;
78
+ }({});
79
+ var Root = /*#__PURE__*/ styled("div")({
80
+ name: "Root",
81
+ class: "gx-Grid-rkbfhvt",
82
+ propsAsIs: false
83
+ });
84
+ var GRID_ALIGN_ITEMS_TO_CSS_MAP = {
85
+ ["START"]: "gx-Grid-START-s1893hgf",
86
+ ["CENTER"]: "gx-Grid-CENTER-ch9ax48",
87
+ ["END"]: "gx-Grid-END-epvlyzq",
88
+ ["STRETCH"]: "gx-Grid-STRETCH-ssf1p0g"
89
+ };
90
+ var GRID_JUSTIFY_ITEMS_TO_CSS_MAP = {
91
+ ["START"]: "gx-Grid-START-slmg0j4",
92
+ ["CENTER"]: "gx-Grid-CENTER-c19tdltw",
93
+ ["END"]: "gx-Grid-END-e11pnn7d",
94
+ ["STRETCH"]: "gx-Grid-STRETCH-s1gt0lci"
95
+ };
96
+ var GRID_ALIGN_CONTENT_TO_CSS_MAP = {
97
+ ["START"]: "gx-Grid-START-sbisc1x",
98
+ ["CENTER"]: "gx-Grid-CENTER-c199j9z9",
99
+ ["END"]: "gx-Grid-END-e1hb8jsc",
100
+ ["SPACE_BETWEEN"]: "gx-Grid-SPACE_BETWEEN-sgin4su",
101
+ ["SPACE_AROUND"]: "gx-Grid-SPACE_AROUND-sytg8ql",
102
+ ["SPACE_EVENLY"]: "gx-Grid-SPACE_EVENLY-sohzvpe",
103
+ ["STRETCH"]: "gx-Grid-STRETCH-s139n4pb"
104
+ };
105
+ var GRID_JUSTIFY_CONTENT_TO_CSS_MAP = {
106
+ ["START"]: "gx-Grid-START-slcmno0",
107
+ ["CENTER"]: "gx-Grid-CENTER-cqkb4g8",
108
+ ["END"]: "gx-Grid-END-e1wdz102",
109
+ ["SPACE_BETWEEN"]: "gx-Grid-SPACE_BETWEEN-s8fdlfb",
110
+ ["SPACE_AROUND"]: "gx-Grid-SPACE_AROUND-s1rtxpr5",
111
+ ["SPACE_EVENLY"]: "gx-Grid-SPACE_EVENLY-s1qrmtgh",
112
+ ["STRETCH"]: "gx-Grid-STRETCH-s1j87zqz"
113
+ };
114
+ var FILL_WIDTH_CSS = "gx-Grid-FILL_WIDTH_CSS-foxewdq";
115
+ /** Each block reads the `--gx-grid-<property>` custom property the component sets beside it. */
116
+ var GRID_CSS_PROPERTY_TO_CSS_MAP = {
117
+ "grid-template-columns": "gx-Grid-grid-template-columns-gpojuj0",
118
+ "grid-template-rows": "gx-Grid-grid-template-rows-gaxyr7p",
119
+ "grid-template-areas": "gx-Grid-grid-template-areas-g1dxyfzv",
120
+ gap: "gx-Grid-gap-g1w5z5h1",
121
+ padding: "gx-Grid-padding-p1icr3de",
122
+ width: "gx-Grid-width-w1w6zgma",
123
+ height: "gx-Grid-height-h17wto8a",
124
+ "min-width": "gx-Grid-min-width-m1l1yba3",
125
+ "max-width": "gx-Grid-max-width-m65i8tr",
126
+ "min-height": "gx-Grid-min-height-m1c4ixrp",
127
+ "max-height": "gx-Grid-max-height-m1a2u3k1",
128
+ overflow: "gx-Grid-overflow-o1666kxy"
129
+ };
130
+ /** A length prop as CSS (number → px), or `undefined` when unset. */
131
+ var toLength = (value) => value === void 0 ? void 0 : getCssSizeValue(value);
132
+ /** A track prop as CSS: a number is that many equal tracks, a string is used as-is. */
133
+ var toTracks = (value) => {
134
+ if (value === void 0) return void 0;
135
+ return typeof value === "number" ? `repeat(${value}, minmax(0, 1fr))` : value;
136
+ };
137
+ /** `areas` as `grid-template-areas`: each row string quoted, rows space-separated. */
138
+ var toAreas = (value) => value === void 0 || value.length === 0 ? void 0 : value.map((row) => `"${row}"`).join(" ");
139
+ /** The CSS grid layout primitive: tracks, areas, alignment, `gap`, `padding` and sizing. */
140
+ var Grid = forwardRef(function Grid({ children, columns = 1, rows, areas, gap, alignItems = "STRETCH", justifyItems = "STRETCH", alignContent = "START", justifyContent = "START", padding, width, height, minWidth, maxWidth, minHeight, maxHeight, fillWidth = false, overflow, as = "div", id, className, style, ...rest }, ref) {
141
+ const values = {
142
+ "grid-template-columns": toTracks(columns),
143
+ "grid-template-rows": toTracks(rows),
144
+ "grid-template-areas": toAreas(areas),
145
+ gap: gap === void 0 ? void 0 : gapToCss(gap),
146
+ padding: padding === void 0 ? void 0 : spaceToCss(padding),
147
+ width: fillWidth ? void 0 : toLength(width),
148
+ height: toLength(height),
149
+ "min-width": toLength(minWidth),
150
+ "max-width": toLength(maxWidth),
151
+ "min-height": toLength(minHeight),
152
+ "max-height": toLength(maxHeight),
153
+ overflow
154
+ };
155
+ const classNames = [];
156
+ const variables = {};
157
+ for (const property of Object.keys(values)) {
158
+ const value = values[property];
159
+ if (value === void 0) continue;
160
+ classNames.push(GRID_CSS_PROPERTY_TO_CSS_MAP[property]);
161
+ variables[`--gx-grid-${property}`] = value;
162
+ }
163
+ return /* @__PURE__ */ jsx(Root, {
164
+ ...rest,
165
+ as,
166
+ ref,
167
+ id,
168
+ className: cx(GRID_ALIGN_ITEMS_TO_CSS_MAP[alignItems], GRID_JUSTIFY_ITEMS_TO_CSS_MAP[justifyItems], GRID_ALIGN_CONTENT_TO_CSS_MAP[alignContent], GRID_JUSTIFY_CONTENT_TO_CSS_MAP[justifyContent], fillWidth && FILL_WIDTH_CSS, ...classNames, className),
169
+ style: {
170
+ ...variables,
171
+ ...style
172
+ },
173
+ children
174
+ });
175
+ });
176
+ Grid.displayName = "Grid";
177
+ //#endregion
178
+ export { GridAlignContent, GridAlignItems, GridJustifyContent, GridJustifyItems, Grid as default };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Renders its children into another DOM node — the nearest `GalaxyProvider`'s `portalContainer`,
3
+ * else `document.body` — while they stay where they are in the React tree, so context and events
4
+ * still flow through their React parent. Modal, Drawer, Popover, Tooltip and Toast render through it.
5
+ *
6
+ * SSR: renders nothing on the server and during hydration, then mounts on the client. Nothing here
7
+ * touches `document` at module scope.
8
+ */
9
+ import { type ReactNode } from "react";
10
+ export interface PortalProps {
11
+ /** What to render in the mount node. */
12
+ children?: ReactNode;
13
+ /**
14
+ * Override the mount node. `null` renders nothing until the node exists (a ref set in state).
15
+ * @default the provider's `portalContainer`, else `document.body`
16
+ */
17
+ container?: HTMLElement | null;
18
+ /**
19
+ * Render the children inline, where `Portal` sits, instead of portaling them.
20
+ * @default false
21
+ */
22
+ isDisabled?: boolean;
23
+ }
24
+ /** Renders `children` into the provider's `portalContainer` (or `container`, or `document.body`). */
25
+ declare function Portal({ children, container, isDisabled }: PortalProps): import("react").JSX.Element | null;
26
+ declare namespace Portal {
27
+ var displayName: string;
28
+ }
29
+ export default Portal;
@@ -0,0 +1,27 @@
1
+ import { useIsClient } from "../hooks/internal/useIsClient.js";
2
+ import { PortalContainerContext } from "../theme/useGalaxyTheme.js";
3
+ import { useContext } from "react";
4
+ import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
5
+ import { createPortal } from "react-dom";
6
+ //#region src/layout/Portal.tsx
7
+ /**
8
+ * Renders its children into another DOM node — the nearest `GalaxyProvider`'s `portalContainer`,
9
+ * else `document.body` — while they stay where they are in the React tree, so context and events
10
+ * still flow through their React parent. Modal, Drawer, Popover, Tooltip and Toast render through it.
11
+ *
12
+ * SSR: renders nothing on the server and during hydration, then mounts on the client. Nothing here
13
+ * touches `document` at module scope.
14
+ */
15
+ /** Renders `children` into the provider's `portalContainer` (or `container`, or `document.body`). */
16
+ function Portal({ children, container, isDisabled = false }) {
17
+ const providerContainer = useContext(PortalContainerContext);
18
+ const isClient = useIsClient();
19
+ if (isDisabled) return /* @__PURE__ */ jsx(Fragment$1, { children });
20
+ if (!isClient) return null;
21
+ const target = container !== void 0 ? container : providerContainer;
22
+ const mountNode = target === void 0 ? document.body : target;
23
+ return mountNode === null ? null : createPortal(children, mountNode);
24
+ }
25
+ Portal.displayName = "Portal";
26
+ //#endregion
27
+ export { Portal as default };
@@ -0,0 +1,88 @@
1
+ import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
2
+ import { Orientation } from "../theme/enums.js";
3
+ export interface ResizablePanelsProps extends AriaAttributes {
4
+ /** `ResizablePanel` elements, in order. `null` / `false` children are skipped, so a panel can be shown conditionally. Other children are not rendered. */
5
+ children: ReactNode;
6
+ /**
7
+ * Axis the panels are laid out along. `HORIZONTAL` places them side by side (vertical handles, sizes are widths); `VERTICAL` stacks them (horizontal handles, sizes are heights).
8
+ * @default Orientation.HORIZONTAL
9
+ */
10
+ orientation?: Orientation;
11
+ /** Persists each uncontrolled panel's size in `localStorage` under this key, by panel `id`. Off when omitted. */
12
+ storageKey?: string;
13
+ /** DOM id on the root `<div>`. */
14
+ id?: string;
15
+ /** Any `data-*` attribute, forwarded to the root `<div>`. */
16
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
17
+ /** Extra class on the root `<div>`. */
18
+ className?: string;
19
+ /** Inline style on the root `<div>`; only for setting CSS custom properties. */
20
+ style?: CSSProperties;
21
+ }
22
+ /** Props every panel takes, sized or fluid. */
23
+ interface ResizablePanelBaseProps extends AriaAttributes {
24
+ /** DOM id of the panel, the target of its handle's `aria-controls`, and its key in `storageKey`. Unique on the page. */
25
+ id: string;
26
+ /** The panel's content. It scrolls when it overflows. */
27
+ children?: ReactNode;
28
+ /**
29
+ * Smallest size in pixels. On the fluid panel, the room it keeps when the others grow.
30
+ * @default 0
31
+ */
32
+ min?: number;
33
+ /** Any `data-*` attribute, forwarded to the panel `<div>`. */
34
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
35
+ /** Extra class on the panel `<div>`. */
36
+ className?: string;
37
+ /** Inline style on the panel `<div>`; only for setting CSS custom properties. */
38
+ style?: CSSProperties;
39
+ }
40
+ /** A controlled sized panel: its size is `value`; it must be named. */
41
+ interface ResizablePanelControlledProps {
42
+ /** Controlled size in pixels (width or height, by `orientation`). Pass it with `onChange`. */
43
+ value: number;
44
+ /** Initial size in pixels while uncontrolled. A panel with neither `value` nor `defaultValue` is the fluid panel and takes the remaining space. */
45
+ defaultValue?: undefined;
46
+ /** Called with the new size, clamped and rounded, while its handle is dragged or keyed. */
47
+ onChange?: (value: number) => void;
48
+ /**
49
+ * Largest size in pixels. Also capped so the fluid panel keeps its `min`. Ignored on the fluid panel.
50
+ * @default Infinity
51
+ */
52
+ max?: number;
53
+ /** Names the panel as a region ("Logs") and its handle ("Resize Logs"). Required on a sized panel. */
54
+ ariaLabel: string;
55
+ }
56
+ /** An uncontrolled sized panel: it starts at `defaultValue`; it must be named. */
57
+ interface ResizablePanelUncontrolledProps {
58
+ /** Controlled size in pixels (width or height, by `orientation`). Pass it with `onChange`. */
59
+ value?: undefined;
60
+ /** Initial size in pixels while uncontrolled. A panel with neither `value` nor `defaultValue` is the fluid panel and takes the remaining space. */
61
+ defaultValue: number;
62
+ /** Called with the new size, clamped and rounded, while its handle is dragged or keyed. */
63
+ onChange?: (value: number) => void;
64
+ /** Largest size in pixels. Also capped so the fluid panel keeps its `min`. Ignored on the fluid panel. */
65
+ max?: number;
66
+ /** Names the panel as a region ("Logs") and its handle ("Resize Logs"). Required on a sized panel. */
67
+ ariaLabel: string;
68
+ }
69
+ /** The fluid panel: no size of its own; it takes the remaining space. */
70
+ interface ResizablePanelFluidProps {
71
+ /** Controlled size in pixels (width or height, by `orientation`). Pass it with `onChange`. */
72
+ value?: undefined;
73
+ /** Initial size in pixels while uncontrolled. A panel with neither `value` nor `defaultValue` is the fluid panel and takes the remaining space. */
74
+ defaultValue?: undefined;
75
+ /** Called with the new size, clamped and rounded, while its handle is dragged or keyed. */
76
+ onChange?: undefined;
77
+ /** Largest size in pixels. Also capped so the fluid panel keeps its `min`. Ignored on the fluid panel. */
78
+ max?: undefined;
79
+ /** Names the panel as a region ("Logs") and its handle ("Resize Logs"). Required on a sized panel. */
80
+ ariaLabel?: string;
81
+ }
82
+ /** `ResizablePanel` props: a sized panel (`value` or `defaultValue`, named by `ariaLabel`) or the fluid one. */
83
+ export type ResizablePanelProps = ResizablePanelBaseProps & (ResizablePanelControlledProps | ResizablePanelUncontrolledProps | ResizablePanelFluidProps);
84
+ /** A split layout of `ResizablePanel`s with a `ResizeHandle` between each sized–fluid pair. */
85
+ declare const ResizablePanels: import("react").ForwardRefExoticComponent<ResizablePanelsProps & import("react").RefAttributes<HTMLDivElement>>;
86
+ /** One panel of a `ResizablePanels` group: sized (`value` / `defaultValue`) or fluid. */
87
+ export declare const ResizablePanel: import("react").ForwardRefExoticComponent<ResizablePanelProps & import("react").RefAttributes<HTMLDivElement>>;
88
+ export default ResizablePanels;
@@ -0,0 +1,198 @@
1
+ import { Orientation } from "../theme/enums.js";
2
+ import { SPACE } from "../theme/tokens/scales.js";
3
+ import { useElementClientSize } from "../hooks/useElementClientSize.js";
4
+ import ResizeHandle from "./ResizeHandle.js";
5
+ import { useLocalStorage } from "../hooks/useLocalStorage.js";
6
+ /* empty css */
7
+ import { styled } from "@linaria/react";
8
+ import { Children, createContext, forwardRef, isValidElement, useContext, useRef, useState } from "react";
9
+ import { jsx } from "react/jsx-runtime";
10
+ import { cx } from "@linaria/core";
11
+ import { useMergeRefs } from "@floating-ui/react";
12
+ //#region src/layout/ResizablePanels.tsx
13
+ /**
14
+ * A split layout: two or more `ResizablePanel`s side by side (or stacked) with a `ResizeHandle`
15
+ * between each pair, so the user can change how much room each one gets by pointer or keyboard.
16
+ * One panel is fluid and takes whatever space is left; every other panel has a size in pixels, a
17
+ * `min` and a `max`, and a handle on the side that faces the fluid panel. With `storageKey` the
18
+ * sizes the user chose survive reloads.
19
+ *
20
+ * Pass `ResizablePanel`s as direct children (Fragments are not flattened); `null` / `false`
21
+ * children are skipped, so a panel can be shown conditionally. A panel with neither `value` nor
22
+ * `defaultValue` is the fluid one; with none, the last panel is.
23
+ */
24
+ var ResizablePanelsContext = createContext(null);
25
+ /** The storage key while `storageKey` is unset; it lives in a per-instance memory adapter. */
26
+ var RESIZABLE_PANELS_NO_STORAGE_KEY = "gx-resizable-panels:off";
27
+ /** A handle's thickness: the `space[8]` token, in pixels (ResizeHandle's strip). */
28
+ var HANDLE_THICKNESS_PX = Number.parseFloat(SPACE[8]);
29
+ /** A row of panels needs vertical bars; a stack needs horizontal ones (logic, not CSS). */
30
+ var RESIZABLE_PANELS_ORIENTATION_TO_HANDLE_ORIENTATION_MAP = {
31
+ [Orientation.HORIZONTAL]: Orientation.VERTICAL,
32
+ [Orientation.VERTICAL]: Orientation.HORIZONTAL
33
+ };
34
+ /** A per-instance in-memory storage, used while `storageKey` is not set. */
35
+ function createMemoryStorage() {
36
+ const values = /* @__PURE__ */ new Map();
37
+ return {
38
+ getItem: (key) => values.get(key) ?? null,
39
+ setItem: (key, value) => {
40
+ values.set(key, value);
41
+ },
42
+ removeItem: (key) => {
43
+ values.delete(key);
44
+ }
45
+ };
46
+ }
47
+ var Root = /*#__PURE__*/ styled("div")({
48
+ name: "Root",
49
+ class: "gx-ResizablePanels-rov2pu6",
50
+ propsAsIs: false
51
+ });
52
+ /** Every panel scrolls its own content; no padding or surface (content brings its own). */
53
+ var Panel = /*#__PURE__*/ styled("div")({
54
+ name: "Panel",
55
+ class: "gx-ResizablePanels-Panel-piht8m9",
56
+ propsAsIs: false
57
+ });
58
+ var RESIZABLE_PANELS_ORIENTATION_TO_CSS_MAP = {
59
+ [Orientation.HORIZONTAL]: "gx-ResizablePanels-Orientation_HORIZONTAL-o1hgxsmq",
60
+ [Orientation.VERTICAL]: "gx-ResizablePanels-Orientation_VERTICAL-ow20qci"
61
+ };
62
+ /** `min` applies on the layout axis. */
63
+ var RESIZABLE_PANEL_ORIENTATION_TO_CSS_MAP = {
64
+ [Orientation.HORIZONTAL]: "gx-ResizablePanels-Orientation_HORIZONTAL-ot38enr",
65
+ [Orientation.VERTICAL]: "gx-ResizablePanels-Orientation_VERTICAL-o1ev9pzd"
66
+ };
67
+ /** A sized panel may shrink below its size (toward `min`) when the container is too small. */
68
+ var SIZED_CSS = "gx-ResizablePanels-SIZED_CSS-s16ojr42";
69
+ /** The fluid panel takes the remaining space. */
70
+ var FLUID_CSS = "gx-ResizablePanels-FLUID_CSS-f1k6jei3";
71
+ /** Rounds and keeps `value` within `[min, max]`. */
72
+ function clamp(value, min, max) {
73
+ return Math.min(Math.max(Math.round(value), min), max);
74
+ }
75
+ function isPanelElement(node) {
76
+ return isValidElement(node) && node.type === ResizablePanel;
77
+ }
78
+ /** A split layout of `ResizablePanel`s with a `ResizeHandle` between each sized–fluid pair. */
79
+ var ResizablePanels = forwardRef(function ResizablePanels({ children, orientation = Orientation.HORIZONTAL, storageKey, className, style, ...rest }, ref) {
80
+ const rootRef = useRef(null);
81
+ const mergedRef = useMergeRefs([rootRef, ref]);
82
+ const rootSize = useElementClientSize(rootRef);
83
+ const available = orientation === Orientation.HORIZONTAL ? rootSize.width : rootSize.height;
84
+ const [memoryStorage] = useState(createMemoryStorage);
85
+ const [stored, setStored] = useLocalStorage(storageKey ?? RESIZABLE_PANELS_NO_STORAGE_KEY, {}, { storage: storageKey === void 0 ? memoryStorage : void 0 });
86
+ const elements = Children.toArray(children).filter(isPanelElement);
87
+ const hasDeclaredFluid = elements.some((element) => element.props.value === void 0 && element.props.defaultValue === void 0);
88
+ const panels = elements.map((element, index) => {
89
+ const { props } = element;
90
+ const isFluid = hasDeclaredFluid ? props.value === void 0 && props.defaultValue === void 0 : index === elements.length - 1;
91
+ const min = props.min ?? 0;
92
+ const max = isFluid ? Number.POSITIVE_INFINITY : props.max ?? Number.POSITIVE_INFINITY;
93
+ return {
94
+ element,
95
+ props,
96
+ isFluid,
97
+ min,
98
+ max: Math.max(min, max)
99
+ };
100
+ });
101
+ /** The size a sized panel renders at: `value`, else its stored size, else `defaultValue`. */
102
+ const sizeOf = (panel) => {
103
+ const { value, defaultValue, id } = panel.props;
104
+ const storedSize = stored[id];
105
+ return clamp(value ?? (typeof storedSize === "number" && Number.isFinite(storedSize) ? storedSize : defaultValue) ?? panel.min, panel.min, panel.max);
106
+ };
107
+ const setSize = (panel, next) => {
108
+ const { value, onChange, id } = panel.props;
109
+ if (value === void 0) setStored((previous) => ({
110
+ ...previous,
111
+ [id]: next
112
+ }));
113
+ onChange?.(next);
114
+ };
115
+ const firstFluidIndex = panels.findIndex((panel) => panel.isFluid);
116
+ const handleTargets = panels.map((panel, index) => {
117
+ if (index === 0) return void 0;
118
+ const before = panels[index - 1];
119
+ if (before !== void 0 && !before.isFluid && index - 1 < firstFluidIndex) return index - 1;
120
+ if (!panel.isFluid) return index;
121
+ });
122
+ const handleCount = handleTargets.filter((target) => target !== void 0).length;
123
+ /** A handle's `max`: the panel's own, capped so every fluid panel keeps its `min`. */
124
+ const dynamicMaxOf = (target) => {
125
+ if (available === void 0) return target.max;
126
+ let room = available - handleCount * HANDLE_THICKNESS_PX;
127
+ for (const panel of panels) {
128
+ if (panel === target) continue;
129
+ room -= panel.isFluid ? panel.min : sizeOf(panel);
130
+ }
131
+ return Math.max(target.min, Math.min(target.max, Math.floor(room)));
132
+ };
133
+ const layoutById = new Map(panels.map((panel) => [panel.props.id, {
134
+ size: panel.isFluid ? void 0 : sizeOf(panel),
135
+ min: panel.min,
136
+ isFluid: panel.isFluid
137
+ }]));
138
+ const contextValue = {
139
+ orientation,
140
+ getLayout: (id) => layoutById.get(id)
141
+ };
142
+ const content = [];
143
+ panels.forEach((panel, index) => {
144
+ const targetIndex = handleTargets[index];
145
+ const target = targetIndex === void 0 ? void 0 : panels[targetIndex];
146
+ if (target !== void 0) {
147
+ const max = dynamicMaxOf(target);
148
+ content.push(/* @__PURE__ */ jsx(ResizeHandle, {
149
+ orientation: RESIZABLE_PANELS_ORIENTATION_TO_HANDLE_ORIENTATION_MAP[orientation],
150
+ isReversed: targetIndex === index,
151
+ value: Math.min(sizeOf(target), max),
152
+ onChange: (next) => setSize(target, next),
153
+ min: target.min,
154
+ max,
155
+ ariaLabel: `Resize ${target.props.ariaLabel ?? target.props.id}`,
156
+ "aria-controls": target.props.id
157
+ }, `handle:${panel.props.id}`));
158
+ }
159
+ content.push(panel.element);
160
+ });
161
+ return /* @__PURE__ */ jsx(Root, {
162
+ ...rest,
163
+ ref: mergedRef,
164
+ className: cx(RESIZABLE_PANELS_ORIENTATION_TO_CSS_MAP[orientation], className),
165
+ style,
166
+ children: /* @__PURE__ */ jsx(ResizablePanelsContext.Provider, {
167
+ value: contextValue,
168
+ children: content
169
+ })
170
+ });
171
+ });
172
+ ResizablePanels.displayName = "ResizablePanels";
173
+ /** One panel of a `ResizablePanels` group: sized (`value` / `defaultValue`) or fluid. */
174
+ var ResizablePanel = forwardRef(function ResizablePanel({ id, children, value: _value, defaultValue: _defaultValue, onChange: _onChange, min = 0, max: _max, ariaLabel, className, style, ...rest }, ref) {
175
+ const group = useContext(ResizablePanelsContext);
176
+ const orientation = group?.orientation ?? Orientation.HORIZONTAL;
177
+ const layout = group?.getLayout(id);
178
+ const isFluid = layout?.isFluid ?? true;
179
+ const name = ariaLabel ?? rest["aria-label"];
180
+ const variables = { "--gx-resizable-panel-min": `${layout?.min ?? min}px` };
181
+ if (layout?.size !== void 0) variables["--gx-resizable-panel-size"] = `${layout.size}px`;
182
+ return /* @__PURE__ */ jsx(Panel, {
183
+ ...rest,
184
+ ref,
185
+ id,
186
+ role: name ? "region" : void 0,
187
+ "aria-label": name,
188
+ className: cx(RESIZABLE_PANEL_ORIENTATION_TO_CSS_MAP[orientation], isFluid ? FLUID_CSS : SIZED_CSS, className),
189
+ style: {
190
+ ...style,
191
+ ...variables
192
+ },
193
+ children
194
+ });
195
+ });
196
+ ResizablePanel.displayName = "ResizablePanel";
197
+ //#endregion
198
+ export { ResizablePanel, ResizablePanels as default };