@galaxy-io/dls 1.6.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +160 -124
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +33 -20
  46. package/dist/charts/ChartFrame.d.ts +71 -116
  47. package/dist/charts/ChartFrame.js +306 -97
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +37 -48
  51. package/dist/charts/ChartLegend.js +243 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +34 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +307 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +174 -121
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +159 -136
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/chartSelection.d.ts +15 -0
  79. package/dist/charts/chartSelection.js +22 -0
  80. package/dist/charts/constants.d.ts +100 -256
  81. package/dist/charts/constants.js +109 -275
  82. package/dist/charts/heatmapGeometry.d.ts +95 -0
  83. package/dist/charts/heatmapGeometry.js +155 -0
  84. package/dist/charts/lineChartGeometry.d.ts +108 -58
  85. package/dist/charts/lineChartGeometry.js +120 -78
  86. package/dist/charts/pieChartGeometry.d.ts +66 -40
  87. package/dist/charts/pieChartGeometry.js +68 -38
  88. package/dist/charts/types.d.ts +206 -466
  89. package/dist/charts/types.js +55 -144
  90. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  91. package/dist/charts/useCartesianChartLayout.js +47 -32
  92. package/dist/charts/useChartDimensions.d.ts +19 -40
  93. package/dist/charts/useChartDimensions.js +40 -56
  94. package/dist/charts/useChartFormatters.d.ts +6 -15
  95. package/dist/charts/useChartFormatters.js +4 -9
  96. package/dist/charts/useChartInteraction.d.ts +69 -116
  97. package/dist/charts/useChartInteraction.js +148 -78
  98. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  99. package/dist/charts/useChartTooltipPosition.js +14 -5
  100. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  101. package/dist/charts/useSeriesColorResolver.js +19 -12
  102. package/dist/chips/Chip.d.ts +155 -44
  103. package/dist/chips/Chip.js +329 -155
  104. package/dist/chips/ChipGroup.d.ts +53 -0
  105. package/dist/chips/ChipGroup.js +98 -0
  106. package/dist/drawer/Drawer.d.ts +83 -17
  107. package/dist/drawer/Drawer.js +399 -65
  108. package/dist/dropdown/Dropdown.d.ts +80 -63
  109. package/dist/dropdown/Dropdown.js +127 -129
  110. package/dist/editor/CodeEditor.d.ts +119 -40
  111. package/dist/editor/CodeEditor.js +490 -400
  112. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  113. package/dist/editor/CodeEditorReactWidget.js +28 -21
  114. package/dist/feedback/Alert.d.ts +49 -0
  115. package/dist/feedback/Alert.js +172 -0
  116. package/dist/feedback/EmptyState.d.ts +39 -0
  117. package/dist/feedback/EmptyState.js +109 -0
  118. package/dist/feedback/ProgressBar.d.ts +125 -0
  119. package/dist/feedback/ProgressBar.js +183 -0
  120. package/dist/feedback/ProgressCircle.d.ts +99 -0
  121. package/dist/feedback/ProgressCircle.js +187 -0
  122. package/dist/feedback/Skeleton.d.ts +69 -0
  123. package/dist/feedback/Skeleton.js +130 -0
  124. package/dist/feedback/Spinner.d.ts +63 -0
  125. package/dist/feedback/Spinner.js +141 -0
  126. package/dist/fonts.css +70 -0
  127. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  128. package/dist/hooks/internal/useIsClient.js +14 -0
  129. package/dist/hooks/useClipboard.d.ts +19 -0
  130. package/dist/hooks/useClipboard.js +45 -0
  131. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  132. package/dist/hooks/useControlledOpenState.js +19 -0
  133. package/dist/hooks/useControlledState.d.ts +19 -0
  134. package/dist/hooks/useControlledState.js +22 -0
  135. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  136. package/dist/hooks/useDebouncedValue.js +33 -0
  137. package/dist/hooks/useDisclosure.d.ts +26 -0
  138. package/dist/hooks/useDisclosure.js +36 -0
  139. package/dist/hooks/useDismiss.d.ts +23 -27
  140. package/dist/hooks/useDismiss.js +39 -27
  141. package/dist/hooks/useElementClientSize.d.ts +10 -10
  142. package/dist/hooks/useElementClientSize.js +8 -11
  143. package/dist/hooks/useElementWidth.d.ts +6 -13
  144. package/dist/hooks/useElementWidth.js +6 -14
  145. package/dist/hooks/useField.d.ts +47 -0
  146. package/dist/hooks/useField.js +40 -0
  147. package/dist/hooks/useHotkey.d.ts +77 -0
  148. package/dist/hooks/useHotkey.js +246 -0
  149. package/dist/hooks/useIsMac.d.ts +12 -0
  150. package/dist/hooks/useIsMac.js +27 -0
  151. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  152. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  153. package/dist/hooks/useLocalStorage.d.ts +28 -0
  154. package/dist/hooks/useLocalStorage.js +145 -0
  155. package/dist/hooks/useMediaQuery.d.ts +11 -0
  156. package/dist/hooks/useMediaQuery.js +23 -0
  157. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  158. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  159. package/dist/hooks/useResize.d.ts +42 -62
  160. package/dist/hooks/useResize.js +43 -31
  161. package/dist/icons/Icon.d.ts +64 -37
  162. package/dist/icons/Icon.js +96 -37
  163. package/dist/icons/internal/IconSlot.d.ts +10 -0
  164. package/dist/icons/internal/IconSlot.js +32 -0
  165. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  166. package/dist/inputs/CheckboxGroup.js +183 -0
  167. package/dist/inputs/CheckboxInput.d.ts +98 -28
  168. package/dist/inputs/CheckboxInput.js +218 -88
  169. package/dist/inputs/ColorInput.d.ts +115 -29
  170. package/dist/inputs/ColorInput.js +748 -326
  171. package/dist/inputs/CopyInput.d.ts +49 -20
  172. package/dist/inputs/CopyInput.js +57 -49
  173. package/dist/inputs/CronInput.d.ts +94 -0
  174. package/dist/inputs/CronInput.js +618 -0
  175. package/dist/inputs/DateInput.d.ts +175 -28
  176. package/dist/inputs/DateInput.js +1109 -451
  177. package/dist/inputs/DurationInput.d.ts +101 -0
  178. package/dist/inputs/DurationInput.js +441 -0
  179. package/dist/inputs/Field.d.ts +75 -0
  180. package/dist/inputs/Field.js +247 -0
  181. package/dist/inputs/Fieldset.d.ts +53 -0
  182. package/dist/inputs/Fieldset.js +149 -0
  183. package/dist/inputs/FileInput.d.ts +110 -0
  184. package/dist/inputs/FileInput.js +476 -0
  185. package/dist/inputs/Input.d.ts +148 -187
  186. package/dist/inputs/Input.js +339 -259
  187. package/dist/inputs/KeyValueInput.d.ts +120 -0
  188. package/dist/inputs/KeyValueInput.js +383 -0
  189. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  190. package/dist/inputs/MultiSelectInput.js +175 -559
  191. package/dist/inputs/NumberInput.d.ts +65 -9
  192. package/dist/inputs/NumberInput.js +197 -40
  193. package/dist/inputs/PasswordInput.d.ts +17 -12
  194. package/dist/inputs/PasswordInput.js +33 -33
  195. package/dist/inputs/PinInput.d.ts +117 -0
  196. package/dist/inputs/PinInput.js +364 -0
  197. package/dist/inputs/RadioGroup.d.ts +115 -0
  198. package/dist/inputs/RadioGroup.js +179 -0
  199. package/dist/inputs/RadioInput.d.ts +87 -24
  200. package/dist/inputs/RadioInput.js +182 -95
  201. package/dist/inputs/SearchInput.d.ts +66 -0
  202. package/dist/inputs/SearchInput.js +156 -0
  203. package/dist/inputs/SelectInput.d.ts +195 -55
  204. package/dist/inputs/SelectInput.js +1308 -446
  205. package/dist/inputs/SliderInput.d.ts +150 -30
  206. package/dist/inputs/SliderInput.js +441 -186
  207. package/dist/inputs/SwitchInput.d.ts +109 -0
  208. package/dist/inputs/SwitchInput.js +248 -0
  209. package/dist/inputs/TagInput.d.ts +117 -0
  210. package/dist/inputs/TagInput.js +408 -0
  211. package/dist/inputs/TextAreaInput.d.ts +146 -44
  212. package/dist/inputs/TextAreaInput.js +298 -198
  213. package/dist/inputs/TextInput.d.ts +4 -13
  214. package/dist/inputs/TextInput.js +13 -48
  215. package/dist/inputs/ToggleInput.d.ts +120 -22
  216. package/dist/inputs/ToggleInput.js +262 -116
  217. package/dist/inputs/internal/bareField.d.ts +18 -0
  218. package/dist/inputs/internal/bareField.js +38 -0
  219. package/dist/inputs/internal/devWarn.d.ts +7 -0
  220. package/dist/inputs/internal/devWarn.js +30 -0
  221. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  222. package/dist/inputs/internal/fieldFrame.js +64 -0
  223. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  224. package/dist/inputs/internal/fieldWiring.js +38 -0
  225. package/dist/inputs/internal/innerButton.d.ts +2 -0
  226. package/dist/inputs/internal/innerButton.js +24 -0
  227. package/dist/inputs/internal/ownField.d.ts +45 -0
  228. package/dist/inputs/internal/ownField.js +58 -0
  229. package/dist/inputs/internal/predicates.d.ts +9 -0
  230. package/dist/inputs/internal/predicates.js +11 -0
  231. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  232. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  233. package/dist/json/JsonViewer.d.ts +62 -0
  234. package/dist/json/JsonViewer.js +483 -0
  235. package/dist/layout/Box.d.ts +87 -0
  236. package/dist/layout/Box.js +109 -0
  237. package/dist/layout/Divider.d.ts +25 -0
  238. package/dist/layout/Divider.js +70 -0
  239. package/dist/layout/Flex.d.ts +139 -0
  240. package/dist/layout/Flex.js +165 -0
  241. package/dist/layout/FlexItem.d.ts +72 -0
  242. package/dist/layout/FlexItem.js +84 -0
  243. package/dist/layout/Grid.d.ts +140 -0
  244. package/dist/layout/Grid.js +178 -0
  245. package/dist/layout/Portal.d.ts +29 -0
  246. package/dist/layout/Portal.js +27 -0
  247. package/dist/layout/ResizablePanels.d.ts +88 -0
  248. package/dist/layout/ResizablePanels.js +198 -0
  249. package/dist/layout/ResizeHandle.d.ts +48 -0
  250. package/dist/layout/ResizeHandle.js +143 -0
  251. package/dist/layout/ScrollArea.d.ts +30 -0
  252. package/dist/layout/ScrollArea.js +138 -0
  253. package/dist/links/Link.d.ts +101 -1
  254. package/dist/links/Link.js +166 -4
  255. package/dist/lists/BulletedList.d.ts +25 -7
  256. package/dist/lists/BulletedList.js +72 -27
  257. package/dist/lists/DescriptionList.d.ts +91 -0
  258. package/dist/lists/DescriptionList.js +147 -0
  259. package/dist/menu/ContextMenu.d.ts +64 -0
  260. package/dist/menu/ContextMenu.js +34 -0
  261. package/dist/menu/Menu.d.ts +280 -0
  262. package/dist/menu/Menu.js +1003 -0
  263. package/dist/modal/ConfirmDialog.d.ts +55 -0
  264. package/dist/modal/ConfirmDialog.js +151 -0
  265. package/dist/modal/Modal.d.ts +64 -14
  266. package/dist/modal/Modal.js +189 -48
  267. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  268. package/dist/navigation/Breadcrumbs.js +243 -0
  269. package/dist/navigation/CommandPalette.d.ts +83 -0
  270. package/dist/navigation/CommandPalette.js +509 -0
  271. package/dist/navigation/Pagination.d.ts +87 -0
  272. package/dist/navigation/Pagination.js +300 -0
  273. package/dist/navigation/SidebarNav.d.ts +107 -0
  274. package/dist/navigation/SidebarNav.js +341 -0
  275. package/dist/navigation/Stepper.d.ts +52 -0
  276. package/dist/navigation/Stepper.js +207 -0
  277. package/dist/navigation/Tabs.d.ts +113 -0
  278. package/dist/navigation/Tabs.js +543 -0
  279. package/dist/navigation/Topbar.d.ts +20 -0
  280. package/dist/navigation/Topbar.js +62 -0
  281. package/dist/overlay/OverlayProvider.d.ts +28 -32
  282. package/dist/overlay/OverlayProvider.js +42 -93
  283. package/dist/overlay/useOverlay.d.ts +88 -12
  284. package/dist/overlay/useOverlay.js +220 -43
  285. package/dist/overlays/Popover.d.ts +114 -0
  286. package/dist/overlays/Popover.js +389 -0
  287. package/dist/shapes/Circle.d.ts +84 -8
  288. package/dist/shapes/Circle.js +122 -20
  289. package/dist/shapes/Square.d.ts +84 -8
  290. package/dist/shapes/Square.js +123 -20
  291. package/dist/styles/mixins.d.ts +35 -0
  292. package/dist/styles/mixins.js +60 -0
  293. package/dist/styles.css +1 -202
  294. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  295. package/dist/table/InfiniteSpreadsheet.js +762 -225
  296. package/dist/table/InfiniteTable.d.ts +116 -14
  297. package/dist/table/InfiniteTable.js +287 -429
  298. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  299. package/dist/table/SpreadsheetCellEditor.js +163 -84
  300. package/dist/table/TableCore.d.ts +252 -0
  301. package/dist/table/TableCore.js +1082 -0
  302. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  303. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  304. package/dist/table/types.d.ts +66 -244
  305. package/dist/table/types.js +0 -51
  306. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  307. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  308. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  309. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  310. package/dist/table/useTableColumnLayout.d.ts +90 -25
  311. package/dist/table/useTableColumnLayout.js +255 -50
  312. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  313. package/dist/table/useTableKeyboardNavigation.js +95 -71
  314. package/dist/table/useTableRowSelection.d.ts +24 -25
  315. package/dist/table/useTableRowSelection.js +57 -84
  316. package/dist/table/useTableVirtualizer.d.ts +20 -0
  317. package/dist/table/useTableVirtualizer.js +48 -0
  318. package/dist/text/Bold.d.ts +5 -6
  319. package/dist/text/Bold.js +16 -15
  320. package/dist/text/Code.d.ts +5 -6
  321. package/dist/text/Code.js +16 -25
  322. package/dist/text/CodeBlock.d.ts +77 -0
  323. package/dist/text/CodeBlock.js +373 -0
  324. package/dist/text/EditableText.d.ts +55 -15
  325. package/dist/text/EditableText.js +153 -135
  326. package/dist/text/Ellipsis.d.ts +34 -8
  327. package/dist/text/Ellipsis.js +55 -23
  328. package/dist/text/Kbd.d.ts +72 -0
  329. package/dist/text/Kbd.js +284 -0
  330. package/dist/text/MarkdownText.d.ts +27 -10
  331. package/dist/text/MarkdownText.js +317 -300
  332. package/dist/text/RequiredMarker.d.ts +17 -5
  333. package/dist/text/RequiredMarker.js +34 -36
  334. package/dist/text/Selectable.d.ts +5 -6
  335. package/dist/text/Selectable.js +16 -13
  336. package/dist/text/Span.d.ts +82 -0
  337. package/dist/text/Span.js +115 -0
  338. package/dist/text/Text.d.ts +128 -41
  339. package/dist/text/Text.js +209 -76
  340. package/dist/theme/GalaxyProvider.d.ts +75 -0
  341. package/dist/theme/GalaxyProvider.js +223 -0
  342. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  343. package/dist/theme/ThemeSwitcher.js +94 -0
  344. package/dist/theme/enums.d.ts +118 -0
  345. package/dist/theme/enums.js +144 -0
  346. package/dist/theme/tokens/dark.d.ts +2 -0
  347. package/dist/theme/tokens/dark.js +275 -0
  348. package/dist/theme/tokens/generate.d.ts +15 -0
  349. package/dist/theme/tokens/generate.js +47 -0
  350. package/dist/theme/tokens/light.d.ts +2 -0
  351. package/dist/theme/tokens/light.js +274 -0
  352. package/dist/theme/tokens/palette.d.ts +14 -0
  353. package/dist/theme/tokens/palette.js +153 -0
  354. package/dist/theme/tokens/scales.d.ts +26 -0
  355. package/dist/theme/tokens/scales.js +154 -0
  356. package/dist/theme/tokens/t.d.ts +3 -0
  357. package/dist/theme/tokens/t.js +25 -0
  358. package/dist/theme/tokens/types.d.ts +189 -0
  359. package/dist/theme/tokens/types.js +0 -0
  360. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  361. package/dist/theme/useGalaxyTheme.js +36 -0
  362. package/dist/theme/useInverseScope.d.ts +18 -0
  363. package/dist/theme/useInverseScope.js +33 -0
  364. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  365. package/dist/three/GalaxyLogomark3D.js +134 -0
  366. package/dist/three/assets/galaxy-logomark.js +4 -0
  367. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  368. package/dist/three/galaxyLogomark3DScene.js +165 -0
  369. package/dist/timeline/Timeline.d.ts +120 -0
  370. package/dist/timeline/Timeline.js +301 -0
  371. package/dist/toast/Toast.d.ts +43 -19
  372. package/dist/toast/Toast.js +130 -89
  373. package/dist/toast/ToastProvider.d.ts +23 -23
  374. package/dist/toast/ToastProvider.js +298 -101
  375. package/dist/toast/ToastViewport.d.ts +12 -0
  376. package/dist/toast/ToastViewport.js +210 -0
  377. package/dist/toast/useToast.d.ts +139 -5
  378. package/dist/toast/useToast.js +15 -13
  379. package/dist/tokens.css +654 -0
  380. package/dist/tooltip/Tooltip.d.ts +64 -44
  381. package/dist/tooltip/Tooltip.js +280 -73
  382. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  383. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  384. package/dist/transform/Fade.d.ts +33 -11
  385. package/dist/transform/Fade.js +71 -19
  386. package/dist/transform/Flasher.d.ts +25 -0
  387. package/dist/transform/Flasher.js +39 -0
  388. package/dist/transform/Rotate.d.ts +24 -12
  389. package/dist/transform/Rotate.js +36 -22
  390. package/dist/transform/ScaleFade.d.ts +36 -11
  391. package/dist/transform/ScaleFade.js +86 -28
  392. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  393. package/dist/transform/internal/CollapseMotion.js +65 -0
  394. package/dist/tree/Tree.d.ts +85 -0
  395. package/dist/tree/Tree.js +387 -0
  396. package/dist/tree/treeRow.d.ts +39 -0
  397. package/dist/tree/treeRow.js +75 -0
  398. package/dist/utils/colors.d.ts +46 -13
  399. package/dist/utils/colors.js +92 -34
  400. package/dist/utils/css.d.ts +23 -0
  401. package/dist/utils/css.js +30 -0
  402. package/dist/utils/format.d.ts +58 -0
  403. package/dist/utils/format.js +220 -0
  404. package/dist/vite/index.d.ts +16 -0
  405. package/dist/vite/index.js +52 -0
  406. package/dist/widget/Widget.d.ts +164 -48
  407. package/dist/widget/Widget.js +335 -96
  408. package/dist/widget/WidgetGroup.d.ts +36 -0
  409. package/dist/widget/WidgetGroup.js +103 -0
  410. package/package.json +855 -157
  411. package/dist/accordion/Accordion.d.ts +0 -54
  412. package/dist/accordion/Accordion.js +0 -183
  413. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  415. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  416. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  417. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  419. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  420. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  421. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  423. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  424. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  425. package/dist/assets/models/galaxy-animation.js +0 -136666
  426. package/dist/assets/models/galaxy-logomark.js +0 -4
  427. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  428. package/dist/avatar/AvatarShimmer.js +0 -22
  429. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  430. package/dist/backgrounds/CellGridBackground.js +0 -44
  431. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  432. package/dist/backgrounds/CrossGridBackground.js +0 -49
  433. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  434. package/dist/backgrounds/DotGridBackground.js +0 -47
  435. package/dist/badge/Badge.d.ts +0 -42
  436. package/dist/badge/Badge.js +0 -99
  437. package/dist/charts/ChartEmptyState.d.ts +0 -17
  438. package/dist/charts/ChartEmptyState.js +0 -29
  439. package/dist/charts/ProgressBar.d.ts +0 -29
  440. package/dist/charts/ProgressBar.js +0 -65
  441. package/dist/charts/chartTheme.d.ts +0 -18
  442. package/dist/charts/chartTheme.js +0 -26
  443. package/dist/containers/FlexItem.d.ts +0 -50
  444. package/dist/containers/FlexItem.js +0 -91
  445. package/dist/containers/FlexWrapper.d.ts +0 -96
  446. package/dist/containers/FlexWrapper.js +0 -143
  447. package/dist/containers/GridWrapper.d.ts +0 -79
  448. package/dist/containers/GridWrapper.js +0 -125
  449. package/dist/containers/Spacing.d.ts +0 -23
  450. package/dist/containers/Spacing.js +0 -59
  451. package/dist/containers/Wrapper.d.ts +0 -26
  452. package/dist/containers/Wrapper.js +0 -54
  453. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  454. package/dist/dividers/HorizontalDivider.js +0 -39
  455. package/dist/dividers/VerticalDivider.d.ts +0 -6
  456. package/dist/dividers/VerticalDivider.js +0 -21
  457. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  458. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  459. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  460. package/dist/icons/GalaxyLogomark.js +0 -27
  461. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  462. package/dist/icons/GalaxyLogomark3D.js +0 -319
  463. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  464. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  465. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  466. package/dist/icons/GalaxyWordmark.js +0 -25
  467. package/dist/inputs/MultiTextInput.d.ts +0 -32
  468. package/dist/inputs/MultiTextInput.js +0 -180
  469. package/dist/inputs/SwitcherInput.d.ts +0 -30
  470. package/dist/inputs/SwitcherInput.js +0 -81
  471. package/dist/inputs/hooks.d.ts +0 -10
  472. package/dist/inputs/hooks.js +0 -22
  473. package/dist/overlay/constants.d.ts +0 -28
  474. package/dist/overlay/constants.js +0 -37
  475. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  476. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  477. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  478. package/dist/resizable/VerticalResizeHandle.js +0 -39
  479. package/dist/table/SpreadsheetCell.d.ts +0 -21
  480. package/dist/table/SpreadsheetCell.js +0 -71
  481. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  482. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  483. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  484. package/dist/table/SpreadsheetMenuItem.js +0 -33
  485. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  486. package/dist/table/SpreadsheetPrimitives.js +0 -105
  487. package/dist/table/SpreadsheetRow.d.ts +0 -33
  488. package/dist/table/SpreadsheetRow.js +0 -73
  489. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  490. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  491. package/dist/table/TableExpandCell.d.ts +0 -11
  492. package/dist/table/TableExpandCell.js +0 -24
  493. package/dist/table/TableExpandedRow.d.ts +0 -16
  494. package/dist/table/TableExpandedRow.js +0 -77
  495. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  496. package/dist/table/TableHeaderCellContent.js +0 -48
  497. package/dist/table/TablePrimitives.d.ts +0 -313
  498. package/dist/table/TablePrimitives.js +0 -302
  499. package/dist/table/TableSelectCell.d.ts +0 -18
  500. package/dist/table/TableSelectCell.js +0 -27
  501. package/dist/table/TableStatusRow.d.ts +0 -18
  502. package/dist/table/TableStatusRow.js +0 -50
  503. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  504. package/dist/table/useSpreadsheetEditing.js +0 -41
  505. package/dist/table/useTableColumnResize.d.ts +0 -38
  506. package/dist/table/useTableColumnResize.js +0 -155
  507. package/dist/table/useTableRowExpansion.d.ts +0 -24
  508. package/dist/table/useTableRowExpansion.js +0 -62
  509. package/dist/table/utils.d.ts +0 -50
  510. package/dist/table/utils.js +0 -78
  511. package/dist/text/HotKeys.d.ts +0 -30
  512. package/dist/text/HotKeys.js +0 -74
  513. package/dist/text/Paragraph.d.ts +0 -33
  514. package/dist/text/Paragraph.js +0 -83
  515. package/dist/text/TextShimmer.d.ts +0 -14
  516. package/dist/text/TextShimmer.js +0 -34
  517. package/dist/theme/GalaxyTheme.d.ts +0 -67
  518. package/dist/theme/GalaxyTheme.js +0 -119
  519. package/dist/theme/constants.d.ts +0 -8
  520. package/dist/theme/constants.js +0 -38
  521. package/dist/theme/index.d.ts +0 -6
  522. package/dist/theme/index.js +0 -7
  523. package/dist/theme/types.d.ts +0 -195
  524. package/dist/theme/types.js +0 -10
  525. package/dist/theme/typography.d.ts +0 -2
  526. package/dist/theme/typography.js +0 -73
  527. package/dist/theme/variants/dark.d.ts +0 -2
  528. package/dist/theme/variants/dark.js +0 -125
  529. package/dist/theme/variants/light.d.ts +0 -2
  530. package/dist/theme/variants/light.js +0 -125
  531. package/dist/toast/ToastContainer.d.ts +0 -10
  532. package/dist/toast/ToastContainer.js +0 -31
  533. package/dist/toast/ToastWrapper.d.ts +0 -6
  534. package/dist/toast/ToastWrapper.js +0 -27
  535. package/dist/transform/Flash.d.ts +0 -7
  536. package/dist/transform/Flash.js +0 -18
  537. package/dist/transform/Spin.d.ts +0 -14
  538. package/dist/transform/Spin.js +0 -25
  539. package/dist/utils/linaria.d.ts +0 -1
  540. package/dist/utils/linaria.js +0 -8
@@ -0,0 +1,373 @@
1
+ import { FontFamily } from "../theme/enums.js";
2
+ import Text, { TextSize, TextVariant } from "./Text.js";
3
+ import ScrollArea from "../layout/ScrollArea.js";
4
+ import { ButtonSize, ButtonVariant } from "../buttons/Button.js";
5
+ import CopyButton from "../buttons/CopyButton.js";
6
+ /* empty css */
7
+ import { styled } from "@linaria/react";
8
+ import { createElement, forwardRef, useEffect, useState } from "react";
9
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
+ import { cx } from "@linaria/core";
11
+ //#region src/text/CodeBlock.tsx
12
+ /**
13
+ * A read-only, multi-line code snippet: monospaced, optionally syntax-highlighted, with an
14
+ * optional header (the language or a file name, and a copy button), optional line numbers, and a
15
+ * diff mode that tints added and removed lines. Long lines scroll sideways; under a parent that
16
+ * caps the height (`Box maxHeight`), the header stays put and the code scrolls.
17
+ *
18
+ * Highlighting is lazy and optional: the server and the first client render show the code as
19
+ * plain text in its final layout; after mount the grammar loads (`react-syntax-highlighter`'s
20
+ * Prism build, one chunk per language, through dynamic `import()`) and only the colors change.
21
+ * Token colors are DLS text tokens on Prism's class names, so they follow the theme; no inline
22
+ * style from the library reaches the DOM. If the chunk fails to load, the block stays plain.
23
+ *
24
+ * Editing is `CodeEditor`; inline code in a sentence is `Code`; explorable JSON is `JsonViewer`.
25
+ */
26
+ /** Grammar used to highlight `content`. Values equal member names. */
27
+ var CodeBlockLanguage = /* @__PURE__ */ function(CodeBlockLanguage) {
28
+ /** No highlighting. */
29
+ CodeBlockLanguage["PLAIN"] = "PLAIN";
30
+ /** Shell scripts and commands. */
31
+ CodeBlockLanguage["BASH"] = "BASH";
32
+ /** CSS. */
33
+ CodeBlockLanguage["CSS"] = "CSS";
34
+ /** Go. */
35
+ CodeBlockLanguage["GO"] = "GO";
36
+ /** GraphQL. */
37
+ CodeBlockLanguage["GRAPHQL"] = "GRAPHQL";
38
+ /** HTML (and XML / SVG markup). */
39
+ CodeBlockLanguage["HTML"] = "HTML";
40
+ /** JavaScript. */
41
+ CodeBlockLanguage["JAVASCRIPT"] = "JAVASCRIPT";
42
+ /** JSON. */
43
+ CodeBlockLanguage["JSON"] = "JSON";
44
+ /** JavaScript with JSX. */
45
+ CodeBlockLanguage["JSX"] = "JSX";
46
+ /** Markdown. */
47
+ CodeBlockLanguage["MARKDOWN"] = "MARKDOWN";
48
+ /** Protocol Buffers. */
49
+ CodeBlockLanguage["PROTOBUF"] = "PROTOBUF";
50
+ /** Python. */
51
+ CodeBlockLanguage["PYTHON"] = "PYTHON";
52
+ /** Rust. */
53
+ CodeBlockLanguage["RUST"] = "RUST";
54
+ /** SQL. */
55
+ CodeBlockLanguage["SQL"] = "SQL";
56
+ /** TOML. */
57
+ CodeBlockLanguage["TOML"] = "TOML";
58
+ /** TypeScript with JSX. */
59
+ CodeBlockLanguage["TSX"] = "TSX";
60
+ /** TypeScript. */
61
+ CodeBlockLanguage["TYPESCRIPT"] = "TYPESCRIPT";
62
+ /** YAML. */
63
+ CodeBlockLanguage["YAML"] = "YAML";
64
+ return CodeBlockLanguage;
65
+ }({});
66
+ /** Header text per language (the `label` default). */
67
+ var CODE_BLOCK_LANGUAGE_TO_LABEL_MAP = {
68
+ ["PLAIN"]: "",
69
+ ["BASH"]: "Bash",
70
+ ["CSS"]: "CSS",
71
+ ["GO"]: "Go",
72
+ ["GRAPHQL"]: "GraphQL",
73
+ ["HTML"]: "HTML",
74
+ ["JAVASCRIPT"]: "JavaScript",
75
+ ["JSON"]: "JSON",
76
+ ["JSX"]: "JSX",
77
+ ["MARKDOWN"]: "Markdown",
78
+ ["PROTOBUF"]: "Protobuf",
79
+ ["PYTHON"]: "Python",
80
+ ["RUST"]: "Rust",
81
+ ["SQL"]: "SQL",
82
+ ["TOML"]: "TOML",
83
+ ["TSX"]: "TSX",
84
+ ["TYPESCRIPT"]: "TypeScript",
85
+ ["YAML"]: "YAML"
86
+ };
87
+ /**
88
+ * Prism grammar per language, each loader a static `import()` path so bundlers split one chunk
89
+ * per language. refractor grammars register the grammars they extend (`tsx` → `jsx`, `typescript`).
90
+ */
91
+ var CODE_BLOCK_LANGUAGE_TO_GRAMMAR_MAP = {
92
+ ["BASH"]: {
93
+ name: "bash",
94
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/bash")
95
+ },
96
+ ["CSS"]: {
97
+ name: "css",
98
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/css")
99
+ },
100
+ ["GO"]: {
101
+ name: "go",
102
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/go")
103
+ },
104
+ ["GRAPHQL"]: {
105
+ name: "graphql",
106
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/graphql")
107
+ },
108
+ ["HTML"]: {
109
+ name: "markup",
110
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/markup")
111
+ },
112
+ ["JAVASCRIPT"]: {
113
+ name: "javascript",
114
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/javascript")
115
+ },
116
+ ["JSON"]: {
117
+ name: "json",
118
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/json")
119
+ },
120
+ ["JSX"]: {
121
+ name: "jsx",
122
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/jsx")
123
+ },
124
+ ["MARKDOWN"]: {
125
+ name: "markdown",
126
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/markdown")
127
+ },
128
+ ["PROTOBUF"]: {
129
+ name: "protobuf",
130
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/protobuf")
131
+ },
132
+ ["PYTHON"]: {
133
+ name: "python",
134
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/python")
135
+ },
136
+ ["RUST"]: {
137
+ name: "rust",
138
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/rust")
139
+ },
140
+ ["SQL"]: {
141
+ name: "sql",
142
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/sql")
143
+ },
144
+ ["TOML"]: {
145
+ name: "toml",
146
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/toml")
147
+ },
148
+ ["TSX"]: {
149
+ name: "tsx",
150
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/tsx")
151
+ },
152
+ ["TYPESCRIPT"]: {
153
+ name: "typescript",
154
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/typescript")
155
+ },
156
+ ["YAML"]: {
157
+ name: "yaml",
158
+ load: () => import("react-syntax-highlighter/dist/esm/languages/prism/yaml")
159
+ }
160
+ };
161
+ /** The custom property carrying the gutter's digit count (a continuous value). */
162
+ var GUTTER_DIGITS_VARIABLE = "--gx-code-block-gutter-digits";
163
+ /** The 1.x code surface: tertiary fill, hairline, control radius. */
164
+ var Root = /*#__PURE__*/ styled("div")({
165
+ name: "Root",
166
+ class: "gx-CodeBlock-r400g91",
167
+ propsAsIs: false
168
+ });
169
+ /** The header: label left, copy button 4px from the right edge, centered in 32px. */
170
+ var HEADER_CSS = "gx-CodeBlock-HEADER_CSS-h1y08o3p";
171
+ /**
172
+ * The code area (ScrollArea's root) shrinks under a capped parent and scrolls. The root clips its
173
+ * content to the rounded surface, which would also clip the scrolling viewport's outside focus
174
+ * ring, so the ring is drawn 1px inside the viewport's edge instead (same color and width).
175
+ */
176
+ var BODY_CSS = "gx-CodeBlock-BODY_CSS-bumpqda";
177
+ var PRE_CSS = "gx-CodeBlock-PRE_CSS-p1cld4pp";
178
+ /** Every line's background spans the widest line while scrolling sideways. */
179
+ var CODE_CSS = "gx-CodeBlock-CODE_CSS-c1v9q63b";
180
+ /** Prism token colors: DLS hue `default` steps, keyed by Prism's class names. */
181
+ var TOKEN_CSS = "gx-CodeBlock-TOKEN_CSS-t9x52ij";
182
+ /** One line: a flex row, at least one line tall (an empty line keeps its height). */
183
+ var Line = /*#__PURE__*/ styled("span")({
184
+ name: "Line",
185
+ class: "gx-CodeBlock-Line-lzecpnt",
186
+ propsAsIs: false
187
+ });
188
+ /** The line-number gutter, as wide as the last number plus its padding (the reset makes boxes border-box). */
189
+ var Gutter = /*#__PURE__*/ styled("span")({
190
+ name: "Gutter",
191
+ class: "gx-CodeBlock-Gutter-gj8kkfg",
192
+ propsAsIs: false
193
+ });
194
+ /** The diff marker column (`+`, `-`, space). */
195
+ var Marker = /*#__PURE__*/ styled("span")({
196
+ name: "Marker",
197
+ class: "gx-CodeBlock-Marker-m19ulofm",
198
+ propsAsIs: false
199
+ });
200
+ var LineContent = /*#__PURE__*/ styled("span")({
201
+ name: "LineContent",
202
+ class: "gx-CodeBlock-LineContent-lni5o5",
203
+ propsAsIs: false
204
+ });
205
+ var CODE_BLOCK_DIFF_KIND_TO_CSS_MAP = {
206
+ ["ADDED"]: "gx-CodeBlock-ADDED-a1lizgyf",
207
+ ["REMOVED"]: "gx-CodeBlock-REMOVED-r1nfyd0u",
208
+ ["HUNK"]: "gx-CodeBlock-HUNK-havjzuv",
209
+ ["CONTEXT"]: "gx-CodeBlock-CONTEXT-c15du0rb"
210
+ };
211
+ /** Splits `content` into lines (one trailing newline dropped) and, in diff mode, their kinds. */
212
+ function toLines(content, isDiff) {
213
+ return (content.endsWith("\n") ? content.slice(0, -1) : content).split("\n").map((text) => {
214
+ if (!isDiff) return {
215
+ kind: "CONTEXT",
216
+ marker: "",
217
+ code: text
218
+ };
219
+ if (text.startsWith("@@") || text.startsWith("+++") || text.startsWith("---")) return {
220
+ kind: "HUNK",
221
+ marker: "",
222
+ code: text
223
+ };
224
+ const marker = text.charAt(0);
225
+ if (marker === "+") return {
226
+ kind: "ADDED",
227
+ marker,
228
+ code: text.slice(1)
229
+ };
230
+ if (marker === "-") return {
231
+ kind: "REMOVED",
232
+ marker,
233
+ code: text.slice(1)
234
+ };
235
+ if (marker === " ") return {
236
+ kind: "CONTEXT",
237
+ marker,
238
+ code: text.slice(1)
239
+ };
240
+ return {
241
+ kind: "CONTEXT",
242
+ marker: "",
243
+ code: text
244
+ };
245
+ });
246
+ }
247
+ /** Token spans of one row, without the row's line break (lines are block-level here). */
248
+ function toTokens(nodes, key) {
249
+ return (nodes ?? []).map((node, index) => {
250
+ const nodeKey = `${key}.${String(index)}`;
251
+ if (node.type === "text") return String(node.value ?? "").replace(/\n$/, "");
252
+ return createElement("span", {
253
+ key: nodeKey,
254
+ className: (node.properties?.className ?? []).map(String).join(" ")
255
+ }, toTokens(node.children, nodeKey));
256
+ });
257
+ }
258
+ /** The loaded highlighter, shared by every CodeBlock (filled lazily, never at module scope). */
259
+ var prismLightPromise;
260
+ /** Grammars already registered, per language. */
261
+ var loadedLanguages = /* @__PURE__ */ new Map();
262
+ /** Loads the highlighter and one grammar; resolves with the component, ready for that language. */
263
+ function loadHighlighter(language) {
264
+ const cached = loadedLanguages.get(language);
265
+ if (cached !== void 0) return cached;
266
+ prismLightPromise ??= import("react-syntax-highlighter/dist/esm/prism-light").then((module) => module.default);
267
+ const grammar = CODE_BLOCK_LANGUAGE_TO_GRAMMAR_MAP[language];
268
+ const promise = Promise.all([prismLightPromise, grammar.load()]).then(([PrismLight, module]) => {
269
+ PrismLight.registerLanguage(grammar.name, module.default);
270
+ return PrismLight;
271
+ });
272
+ promise.catch(() => loadedLanguages.delete(language));
273
+ loadedLanguages.set(language, promise);
274
+ return promise;
275
+ }
276
+ /** `PreTag` / `CodeTag` for the highlighter: CodeBlock keeps its own `pre` and `code`. */
277
+ function Passthrough({ children }) {
278
+ return /* @__PURE__ */ jsx(Fragment$1, { children });
279
+ }
280
+ /** Read-only code with lazy syntax highlighting, copy, line numbers and diff mode. */
281
+ var CodeBlock = forwardRef(function CodeBlock({ content, language = "PLAIN", label, canCopy = false, hasLineNumbers = false, isDiff = false, id, className, style, ...rest }, ref) {
282
+ const [highlighter, setHighlighter] = useState(null);
283
+ useEffect(() => {
284
+ if (language === "PLAIN") return;
285
+ let isCancelled = false;
286
+ loadHighlighter(language).then((Component) => {
287
+ if (!isCancelled) setHighlighter({
288
+ language,
289
+ Component
290
+ });
291
+ }, () => {});
292
+ return () => {
293
+ isCancelled = true;
294
+ };
295
+ }, [language]);
296
+ const lines = toLines(content, isDiff);
297
+ const resolvedLabel = label ?? CODE_BLOCK_LANGUAGE_TO_LABEL_MAP[language];
298
+ const hasHeader = resolvedLabel !== "" || canCopy;
299
+ const variables = { [GUTTER_DIGITS_VARIABLE]: String(String(lines.length).length) };
300
+ /** The lines, with token spans when `rows` (one hast row per line) are given. */
301
+ const renderLines = (rows) => lines.map((line, index) => {
302
+ const key = `l${String(index)}`;
303
+ const row = line.kind === "HUNK" ? void 0 : rows?.[index];
304
+ return /* @__PURE__ */ jsxs(Line, {
305
+ className: isDiff ? CODE_BLOCK_DIFF_KIND_TO_CSS_MAP[line.kind] : void 0,
306
+ children: [
307
+ hasLineNumbers && /* @__PURE__ */ jsx(Gutter, {
308
+ "aria-hidden": true,
309
+ children: index + 1
310
+ }),
311
+ isDiff && /* @__PURE__ */ jsx(Marker, { children: line.marker }),
312
+ /* @__PURE__ */ jsx(LineContent, { children: row === void 0 ? line.code : toTokens(row.children, key) })
313
+ ]
314
+ }, key);
315
+ });
316
+ const Highlighter = highlighter !== null && highlighter.language === language ? highlighter.Component : null;
317
+ const grammarName = language === "PLAIN" ? "" : CODE_BLOCK_LANGUAGE_TO_GRAMMAR_MAP[language].name;
318
+ return /* @__PURE__ */ jsxs(Root, {
319
+ ...rest,
320
+ ref,
321
+ id,
322
+ className,
323
+ style: {
324
+ ...variables,
325
+ ...style
326
+ },
327
+ children: [hasHeader && /* @__PURE__ */ jsxs("div", {
328
+ className: HEADER_CSS,
329
+ children: [/* @__PURE__ */ jsx(Text, {
330
+ as: "span",
331
+ family: FontFamily.MONO,
332
+ size: TextSize.BODY_SM,
333
+ variant: TextVariant.SECONDARY,
334
+ lineClamp: 1,
335
+ children: resolvedLabel
336
+ }), canCopy && /* @__PURE__ */ jsx(CopyButton, {
337
+ value: content,
338
+ ariaLabel: `Copy ${resolvedLabel || "code"}`,
339
+ size: ButtonSize.SMALL,
340
+ variant: ButtonVariant.TERTIARY
341
+ })]
342
+ }), /* @__PURE__ */ jsx(ScrollArea, {
343
+ canScrollHorizontally: true,
344
+ ariaLabel: resolvedLabel || "Code",
345
+ className: BODY_CSS,
346
+ children: /* @__PURE__ */ jsx(Text, {
347
+ as: "div",
348
+ family: FontFamily.MONO,
349
+ size: TextSize.BODY_MD,
350
+ variant: TextVariant.PRIMARY,
351
+ isSelectable: true,
352
+ children: /* @__PURE__ */ jsx("pre", {
353
+ className: PRE_CSS,
354
+ children: /* @__PURE__ */ jsx("code", {
355
+ className: cx(CODE_CSS, TOKEN_CSS),
356
+ children: Highlighter === null ? renderLines(null) : /* @__PURE__ */ jsx(Highlighter, {
357
+ language: grammarName,
358
+ useInlineStyles: false,
359
+ wrapLines: true,
360
+ PreTag: Passthrough,
361
+ CodeTag: Passthrough,
362
+ renderer: ({ rows }) => renderLines(rows),
363
+ children: lines.map((line) => line.kind === "HUNK" ? "" : line.code).join("\n")
364
+ })
365
+ })
366
+ })
367
+ })
368
+ })]
369
+ });
370
+ });
371
+ CodeBlock.displayName = "CodeBlock";
372
+ //#endregion
373
+ export { CodeBlockLanguage, CodeBlock as default };
@@ -1,16 +1,56 @@
1
- import { type TextProps } from "./Text";
2
- export type EditableTextProps = TextProps & {
3
- /** Current text. Also the value the field resets to on cancel. */
4
- label: string;
5
- /** Called with the new text when the edit is committed. */
6
- onSave: (text: string) => void;
7
- };
8
- /**
9
- * Click-to-edit text. Renders as `Text` until clicked, then swaps to an inline
10
- * input. Accepts every `TextProps` styling prop on top of its own.
11
- *
12
- * Holds the draft internally and only calls `onSave` on commit, so it works as
13
- * an uncontrolled field — `label` is the starting value, not a bound one.
14
- */
15
- declare const EditableText: ({ label, onSave, size, variant, weight, align, isMonospace, ...textProps }: EditableTextProps) => import("react").JSX.Element;
1
+ import { type AriaAttributes, type CSSProperties } from "react";
2
+ import { FontFamily } from "../theme/enums.js";
3
+ import { TextSize, TextWeight } from "./Text.js";
4
+ export interface EditableTextProps extends AriaAttributes {
5
+ /** Controlled committed text. */
6
+ value?: string;
7
+ /**
8
+ * Committed text while uncontrolled.
9
+ * @default ""
10
+ */
11
+ defaultValue?: string;
12
+ /** Called with the new text on commit (Enter or blur), only if it differs from the committed value. Not called on Escape. */
13
+ onChange?: (value: string) => void;
14
+ /** Names what is being edited ("Pipeline name"). The button reads "{ariaLabel}: {value}"; the field is labelled `ariaLabel`. */
15
+ ariaLabel: string;
16
+ /** Shown in the tertiary color while the value is empty, in both modes. */
17
+ placeholder?: string;
18
+ /**
19
+ * Type step, as on `Text`. Display and field use the same metrics.
20
+ * @default TextSize.BODY_MD
21
+ */
22
+ size?: TextSize;
23
+ /**
24
+ * Font weight, as on `Text`.
25
+ * @default TextWeight.REGULAR
26
+ */
27
+ weight?: TextWeight;
28
+ /**
29
+ * Type family, as on `Text`. `MONO` for identifiers.
30
+ * @default FontFamily.SANS
31
+ */
32
+ family?: FontFamily;
33
+ /** Maximum characters in the field. No limit when unset. */
34
+ maxLength?: number;
35
+ /**
36
+ * Render as non-editable text in the disabled color.
37
+ * @default false
38
+ */
39
+ isDisabled?: boolean;
40
+ /**
41
+ * Stretch to the parent's width. Without it, the control is as wide as its text.
42
+ * @default false
43
+ */
44
+ fillWidth?: boolean;
45
+ /** DOM id on the root `<span>`. */
46
+ id?: string;
47
+ /** Any `data-*` attribute, forwarded to the root `<span>`. */
48
+ [dataAttribute: `data-${string}`]: string | number | boolean | undefined;
49
+ /** Extra class on the root `<span>`. */
50
+ className?: string;
51
+ /** Inline style on the root `<span>`; only for setting CSS custom properties. */
52
+ style?: CSSProperties;
53
+ }
54
+ /** Inline text that turns into a same-type field on click and commits on Enter or blur. */
55
+ declare const EditableText: import("react").ForwardRefExoticComponent<EditableTextProps & import("react").RefAttributes<HTMLSpanElement>>;
16
56
  export default EditableText;