@galaxy-io/dls 1.6.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/README.md +47 -50
  2. package/biome/index.json +74 -0
  3. package/biome/plugins/no-hex-literal.grit +20 -0
  4. package/biome/plugins/no-inline-style.grit +13 -0
  5. package/biome/plugins/no-margin.grit +9 -0
  6. package/biome/plugins/warn/no-hex-literal.grit +23 -0
  7. package/biome/plugins/warn/no-inline-style.grit +13 -0
  8. package/biome/plugins/warn/no-margin.grit +9 -0
  9. package/dist/a11y/FocusScope.d.ts +44 -0
  10. package/dist/a11y/FocusScope.js +229 -0
  11. package/dist/a11y/VisuallyHidden.d.ts +21 -0
  12. package/dist/a11y/VisuallyHidden.js +30 -0
  13. package/dist/avatar/Avatar.d.ts +56 -14
  14. package/dist/avatar/Avatar.js +250 -96
  15. package/dist/avatar/AvatarGroup.d.ts +43 -0
  16. package/dist/avatar/AvatarGroup.js +153 -0
  17. package/dist/backgrounds/GridBackground.d.ts +48 -0
  18. package/dist/backgrounds/GridBackground.js +146 -0
  19. package/dist/beacons/Beacon.d.ts +86 -22
  20. package/dist/beacons/Beacon.js +170 -47
  21. package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
  22. package/dist/brand/GalaxyFilamentWordmark.js +39 -0
  23. package/dist/brand/GalaxyLogomark.d.ts +26 -0
  24. package/dist/brand/GalaxyLogomark.js +41 -0
  25. package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
  26. package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
  27. package/dist/brand/GalaxyWordmark.d.ts +30 -0
  28. package/dist/brand/GalaxyWordmark.js +63 -0
  29. package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
  30. package/dist/brand/brandMark.d.ts +26 -0
  31. package/dist/brand/brandMark.js +35 -0
  32. package/dist/buttons/Button.d.ts +148 -59
  33. package/dist/buttons/Button.js +437 -227
  34. package/dist/buttons/ButtonGroup.d.ts +38 -0
  35. package/dist/buttons/ButtonGroup.js +68 -0
  36. package/dist/buttons/CopyButton.d.ts +77 -0
  37. package/dist/buttons/CopyButton.js +65 -0
  38. package/dist/charts/AreaChart.d.ts +49 -0
  39. package/dist/charts/AreaChart.js +31 -0
  40. package/dist/charts/BarChart.d.ts +54 -67
  41. package/dist/charts/BarChart.js +160 -124
  42. package/dist/charts/ChartAxis.d.ts +35 -40
  43. package/dist/charts/ChartAxis.js +114 -90
  44. package/dist/charts/ChartCategoryTargets.d.ts +12 -26
  45. package/dist/charts/ChartCategoryTargets.js +33 -20
  46. package/dist/charts/ChartFrame.d.ts +71 -116
  47. package/dist/charts/ChartFrame.js +306 -97
  48. package/dist/charts/ChartGroupProvider.d.ts +30 -41
  49. package/dist/charts/ChartGroupProvider.js +20 -7
  50. package/dist/charts/ChartLegend.d.ts +37 -48
  51. package/dist/charts/ChartLegend.js +243 -125
  52. package/dist/charts/ChartMarkTargets.d.ts +12 -28
  53. package/dist/charts/ChartMarkTargets.js +34 -20
  54. package/dist/charts/ChartPrimitives.d.ts +50 -305
  55. package/dist/charts/ChartPrimitives.js +65 -413
  56. package/dist/charts/ChartTooltip.d.ts +20 -26
  57. package/dist/charts/ChartTooltip.js +77 -40
  58. package/dist/charts/Heatmap.d.ts +35 -0
  59. package/dist/charts/Heatmap.js +307 -0
  60. package/dist/charts/LineChart.d.ts +54 -47
  61. package/dist/charts/LineChart.js +174 -121
  62. package/dist/charts/PieChart.d.ts +32 -53
  63. package/dist/charts/PieChart.js +159 -136
  64. package/dist/charts/Sparkline.d.ts +107 -0
  65. package/dist/charts/Sparkline.js +244 -0
  66. package/dist/charts/StatChart.d.ts +37 -13
  67. package/dist/charts/StatChart.js +82 -35
  68. package/dist/charts/barChartGeometry.d.ts +138 -86
  69. package/dist/charts/barChartGeometry.js +122 -101
  70. package/dist/charts/barChartLegend.d.ts +14 -18
  71. package/dist/charts/barChartLegend.js +18 -13
  72. package/dist/charts/chartFormat.d.ts +12 -18
  73. package/dist/charts/chartFormat.js +20 -52
  74. package/dist/charts/chartPalette.d.ts +33 -0
  75. package/dist/charts/chartPalette.js +68 -0
  76. package/dist/charts/chartScales.d.ts +41 -108
  77. package/dist/charts/chartScales.js +62 -128
  78. package/dist/charts/chartSelection.d.ts +15 -0
  79. package/dist/charts/chartSelection.js +22 -0
  80. package/dist/charts/constants.d.ts +100 -256
  81. package/dist/charts/constants.js +109 -275
  82. package/dist/charts/heatmapGeometry.d.ts +95 -0
  83. package/dist/charts/heatmapGeometry.js +155 -0
  84. package/dist/charts/lineChartGeometry.d.ts +108 -58
  85. package/dist/charts/lineChartGeometry.js +120 -78
  86. package/dist/charts/pieChartGeometry.d.ts +66 -40
  87. package/dist/charts/pieChartGeometry.js +68 -38
  88. package/dist/charts/types.d.ts +206 -466
  89. package/dist/charts/types.js +55 -144
  90. package/dist/charts/useCartesianChartLayout.d.ts +28 -59
  91. package/dist/charts/useCartesianChartLayout.js +47 -32
  92. package/dist/charts/useChartDimensions.d.ts +19 -40
  93. package/dist/charts/useChartDimensions.js +40 -56
  94. package/dist/charts/useChartFormatters.d.ts +6 -15
  95. package/dist/charts/useChartFormatters.js +4 -9
  96. package/dist/charts/useChartInteraction.d.ts +69 -116
  97. package/dist/charts/useChartInteraction.js +148 -78
  98. package/dist/charts/useChartTooltipPosition.d.ts +29 -39
  99. package/dist/charts/useChartTooltipPosition.js +14 -5
  100. package/dist/charts/useSeriesColorResolver.d.ts +11 -33
  101. package/dist/charts/useSeriesColorResolver.js +19 -12
  102. package/dist/chips/Chip.d.ts +155 -44
  103. package/dist/chips/Chip.js +329 -155
  104. package/dist/chips/ChipGroup.d.ts +53 -0
  105. package/dist/chips/ChipGroup.js +98 -0
  106. package/dist/drawer/Drawer.d.ts +83 -17
  107. package/dist/drawer/Drawer.js +399 -65
  108. package/dist/dropdown/Dropdown.d.ts +80 -63
  109. package/dist/dropdown/Dropdown.js +127 -129
  110. package/dist/editor/CodeEditor.d.ts +119 -40
  111. package/dist/editor/CodeEditor.js +490 -400
  112. package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
  113. package/dist/editor/CodeEditorReactWidget.js +28 -21
  114. package/dist/feedback/Alert.d.ts +49 -0
  115. package/dist/feedback/Alert.js +172 -0
  116. package/dist/feedback/EmptyState.d.ts +39 -0
  117. package/dist/feedback/EmptyState.js +109 -0
  118. package/dist/feedback/ProgressBar.d.ts +125 -0
  119. package/dist/feedback/ProgressBar.js +183 -0
  120. package/dist/feedback/ProgressCircle.d.ts +99 -0
  121. package/dist/feedback/ProgressCircle.js +187 -0
  122. package/dist/feedback/Skeleton.d.ts +69 -0
  123. package/dist/feedback/Skeleton.js +130 -0
  124. package/dist/feedback/Spinner.d.ts +63 -0
  125. package/dist/feedback/Spinner.js +141 -0
  126. package/dist/fonts.css +70 -0
  127. package/dist/hooks/internal/useIsClient.d.ts +2 -0
  128. package/dist/hooks/internal/useIsClient.js +14 -0
  129. package/dist/hooks/useClipboard.d.ts +19 -0
  130. package/dist/hooks/useClipboard.js +45 -0
  131. package/dist/hooks/useControlledOpenState.d.ts +21 -0
  132. package/dist/hooks/useControlledOpenState.js +19 -0
  133. package/dist/hooks/useControlledState.d.ts +19 -0
  134. package/dist/hooks/useControlledState.js +22 -0
  135. package/dist/hooks/useDebouncedValue.d.ts +14 -0
  136. package/dist/hooks/useDebouncedValue.js +33 -0
  137. package/dist/hooks/useDisclosure.d.ts +26 -0
  138. package/dist/hooks/useDisclosure.js +36 -0
  139. package/dist/hooks/useDismiss.d.ts +23 -27
  140. package/dist/hooks/useDismiss.js +39 -27
  141. package/dist/hooks/useElementClientSize.d.ts +10 -10
  142. package/dist/hooks/useElementClientSize.js +8 -11
  143. package/dist/hooks/useElementWidth.d.ts +6 -13
  144. package/dist/hooks/useElementWidth.js +6 -14
  145. package/dist/hooks/useField.d.ts +47 -0
  146. package/dist/hooks/useField.js +40 -0
  147. package/dist/hooks/useHotkey.d.ts +77 -0
  148. package/dist/hooks/useHotkey.js +246 -0
  149. package/dist/hooks/useIsMac.d.ts +12 -0
  150. package/dist/hooks/useIsMac.js +27 -0
  151. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
  152. package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
  153. package/dist/hooks/useLocalStorage.d.ts +28 -0
  154. package/dist/hooks/useLocalStorage.js +145 -0
  155. package/dist/hooks/useMediaQuery.d.ts +11 -0
  156. package/dist/hooks/useMediaQuery.js +23 -0
  157. package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
  158. package/dist/hooks/usePrefersReducedMotion.js +25 -0
  159. package/dist/hooks/useResize.d.ts +42 -62
  160. package/dist/hooks/useResize.js +43 -31
  161. package/dist/icons/Icon.d.ts +64 -37
  162. package/dist/icons/Icon.js +96 -37
  163. package/dist/icons/internal/IconSlot.d.ts +10 -0
  164. package/dist/icons/internal/IconSlot.js +32 -0
  165. package/dist/inputs/CheckboxGroup.d.ts +115 -0
  166. package/dist/inputs/CheckboxGroup.js +183 -0
  167. package/dist/inputs/CheckboxInput.d.ts +98 -28
  168. package/dist/inputs/CheckboxInput.js +218 -88
  169. package/dist/inputs/ColorInput.d.ts +115 -29
  170. package/dist/inputs/ColorInput.js +748 -326
  171. package/dist/inputs/CopyInput.d.ts +49 -20
  172. package/dist/inputs/CopyInput.js +57 -49
  173. package/dist/inputs/CronInput.d.ts +94 -0
  174. package/dist/inputs/CronInput.js +618 -0
  175. package/dist/inputs/DateInput.d.ts +175 -28
  176. package/dist/inputs/DateInput.js +1109 -451
  177. package/dist/inputs/DurationInput.d.ts +101 -0
  178. package/dist/inputs/DurationInput.js +441 -0
  179. package/dist/inputs/Field.d.ts +75 -0
  180. package/dist/inputs/Field.js +247 -0
  181. package/dist/inputs/Fieldset.d.ts +53 -0
  182. package/dist/inputs/Fieldset.js +149 -0
  183. package/dist/inputs/FileInput.d.ts +110 -0
  184. package/dist/inputs/FileInput.js +476 -0
  185. package/dist/inputs/Input.d.ts +148 -187
  186. package/dist/inputs/Input.js +339 -259
  187. package/dist/inputs/KeyValueInput.d.ts +120 -0
  188. package/dist/inputs/KeyValueInput.js +383 -0
  189. package/dist/inputs/MultiSelectInput.d.ts +165 -54
  190. package/dist/inputs/MultiSelectInput.js +175 -559
  191. package/dist/inputs/NumberInput.d.ts +65 -9
  192. package/dist/inputs/NumberInput.js +197 -40
  193. package/dist/inputs/PasswordInput.d.ts +17 -12
  194. package/dist/inputs/PasswordInput.js +33 -33
  195. package/dist/inputs/PinInput.d.ts +117 -0
  196. package/dist/inputs/PinInput.js +364 -0
  197. package/dist/inputs/RadioGroup.d.ts +115 -0
  198. package/dist/inputs/RadioGroup.js +179 -0
  199. package/dist/inputs/RadioInput.d.ts +87 -24
  200. package/dist/inputs/RadioInput.js +182 -95
  201. package/dist/inputs/SearchInput.d.ts +66 -0
  202. package/dist/inputs/SearchInput.js +156 -0
  203. package/dist/inputs/SelectInput.d.ts +195 -55
  204. package/dist/inputs/SelectInput.js +1308 -446
  205. package/dist/inputs/SliderInput.d.ts +150 -30
  206. package/dist/inputs/SliderInput.js +441 -186
  207. package/dist/inputs/SwitchInput.d.ts +109 -0
  208. package/dist/inputs/SwitchInput.js +248 -0
  209. package/dist/inputs/TagInput.d.ts +117 -0
  210. package/dist/inputs/TagInput.js +408 -0
  211. package/dist/inputs/TextAreaInput.d.ts +146 -44
  212. package/dist/inputs/TextAreaInput.js +298 -198
  213. package/dist/inputs/TextInput.d.ts +4 -13
  214. package/dist/inputs/TextInput.js +13 -48
  215. package/dist/inputs/ToggleInput.d.ts +120 -22
  216. package/dist/inputs/ToggleInput.js +262 -116
  217. package/dist/inputs/internal/bareField.d.ts +18 -0
  218. package/dist/inputs/internal/bareField.js +38 -0
  219. package/dist/inputs/internal/devWarn.d.ts +7 -0
  220. package/dist/inputs/internal/devWarn.js +30 -0
  221. package/dist/inputs/internal/fieldFrame.d.ts +34 -0
  222. package/dist/inputs/internal/fieldFrame.js +64 -0
  223. package/dist/inputs/internal/fieldWiring.d.ts +50 -0
  224. package/dist/inputs/internal/fieldWiring.js +38 -0
  225. package/dist/inputs/internal/innerButton.d.ts +2 -0
  226. package/dist/inputs/internal/innerButton.js +24 -0
  227. package/dist/inputs/internal/ownField.d.ts +45 -0
  228. package/dist/inputs/internal/ownField.js +58 -0
  229. package/dist/inputs/internal/predicates.d.ts +9 -0
  230. package/dist/inputs/internal/predicates.js +11 -0
  231. package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
  232. package/dist/inputs/internal/useComboboxPopover.js +92 -0
  233. package/dist/json/JsonViewer.d.ts +62 -0
  234. package/dist/json/JsonViewer.js +483 -0
  235. package/dist/layout/Box.d.ts +87 -0
  236. package/dist/layout/Box.js +109 -0
  237. package/dist/layout/Divider.d.ts +25 -0
  238. package/dist/layout/Divider.js +70 -0
  239. package/dist/layout/Flex.d.ts +139 -0
  240. package/dist/layout/Flex.js +165 -0
  241. package/dist/layout/FlexItem.d.ts +72 -0
  242. package/dist/layout/FlexItem.js +84 -0
  243. package/dist/layout/Grid.d.ts +140 -0
  244. package/dist/layout/Grid.js +178 -0
  245. package/dist/layout/Portal.d.ts +29 -0
  246. package/dist/layout/Portal.js +27 -0
  247. package/dist/layout/ResizablePanels.d.ts +88 -0
  248. package/dist/layout/ResizablePanels.js +198 -0
  249. package/dist/layout/ResizeHandle.d.ts +48 -0
  250. package/dist/layout/ResizeHandle.js +143 -0
  251. package/dist/layout/ScrollArea.d.ts +30 -0
  252. package/dist/layout/ScrollArea.js +138 -0
  253. package/dist/links/Link.d.ts +101 -1
  254. package/dist/links/Link.js +166 -4
  255. package/dist/lists/BulletedList.d.ts +25 -7
  256. package/dist/lists/BulletedList.js +72 -27
  257. package/dist/lists/DescriptionList.d.ts +91 -0
  258. package/dist/lists/DescriptionList.js +147 -0
  259. package/dist/menu/ContextMenu.d.ts +64 -0
  260. package/dist/menu/ContextMenu.js +34 -0
  261. package/dist/menu/Menu.d.ts +280 -0
  262. package/dist/menu/Menu.js +1003 -0
  263. package/dist/modal/ConfirmDialog.d.ts +55 -0
  264. package/dist/modal/ConfirmDialog.js +151 -0
  265. package/dist/modal/Modal.d.ts +64 -14
  266. package/dist/modal/Modal.js +189 -48
  267. package/dist/navigation/Breadcrumbs.d.ts +65 -0
  268. package/dist/navigation/Breadcrumbs.js +243 -0
  269. package/dist/navigation/CommandPalette.d.ts +83 -0
  270. package/dist/navigation/CommandPalette.js +509 -0
  271. package/dist/navigation/Pagination.d.ts +87 -0
  272. package/dist/navigation/Pagination.js +300 -0
  273. package/dist/navigation/SidebarNav.d.ts +107 -0
  274. package/dist/navigation/SidebarNav.js +341 -0
  275. package/dist/navigation/Stepper.d.ts +52 -0
  276. package/dist/navigation/Stepper.js +207 -0
  277. package/dist/navigation/Tabs.d.ts +113 -0
  278. package/dist/navigation/Tabs.js +543 -0
  279. package/dist/navigation/Topbar.d.ts +20 -0
  280. package/dist/navigation/Topbar.js +62 -0
  281. package/dist/overlay/OverlayProvider.d.ts +28 -32
  282. package/dist/overlay/OverlayProvider.js +42 -93
  283. package/dist/overlay/useOverlay.d.ts +88 -12
  284. package/dist/overlay/useOverlay.js +220 -43
  285. package/dist/overlays/Popover.d.ts +114 -0
  286. package/dist/overlays/Popover.js +389 -0
  287. package/dist/shapes/Circle.d.ts +84 -8
  288. package/dist/shapes/Circle.js +122 -20
  289. package/dist/shapes/Square.d.ts +84 -8
  290. package/dist/shapes/Square.js +123 -20
  291. package/dist/styles/mixins.d.ts +35 -0
  292. package/dist/styles/mixins.js +60 -0
  293. package/dist/styles.css +1 -202
  294. package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
  295. package/dist/table/InfiniteSpreadsheet.js +762 -225
  296. package/dist/table/InfiniteTable.d.ts +116 -14
  297. package/dist/table/InfiniteTable.js +287 -429
  298. package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
  299. package/dist/table/SpreadsheetCellEditor.js +163 -84
  300. package/dist/table/TableCore.d.ts +252 -0
  301. package/dist/table/TableCore.js +1082 -0
  302. package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
  303. package/dist/table/VirtualizedInfiniteTable.js +280 -219
  304. package/dist/table/types.d.ts +66 -244
  305. package/dist/table/types.js +0 -51
  306. package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
  307. package/dist/table/useInfiniteScrollSentinel.js +38 -30
  308. package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
  309. package/dist/table/useSpreadsheetCellNavigation.js +141 -0
  310. package/dist/table/useTableColumnLayout.d.ts +90 -25
  311. package/dist/table/useTableColumnLayout.js +255 -50
  312. package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
  313. package/dist/table/useTableKeyboardNavigation.js +95 -71
  314. package/dist/table/useTableRowSelection.d.ts +24 -25
  315. package/dist/table/useTableRowSelection.js +57 -84
  316. package/dist/table/useTableVirtualizer.d.ts +20 -0
  317. package/dist/table/useTableVirtualizer.js +48 -0
  318. package/dist/text/Bold.d.ts +5 -6
  319. package/dist/text/Bold.js +16 -15
  320. package/dist/text/Code.d.ts +5 -6
  321. package/dist/text/Code.js +16 -25
  322. package/dist/text/CodeBlock.d.ts +77 -0
  323. package/dist/text/CodeBlock.js +373 -0
  324. package/dist/text/EditableText.d.ts +55 -15
  325. package/dist/text/EditableText.js +153 -135
  326. package/dist/text/Ellipsis.d.ts +34 -8
  327. package/dist/text/Ellipsis.js +55 -23
  328. package/dist/text/Kbd.d.ts +72 -0
  329. package/dist/text/Kbd.js +284 -0
  330. package/dist/text/MarkdownText.d.ts +27 -10
  331. package/dist/text/MarkdownText.js +317 -300
  332. package/dist/text/RequiredMarker.d.ts +17 -5
  333. package/dist/text/RequiredMarker.js +34 -36
  334. package/dist/text/Selectable.d.ts +5 -6
  335. package/dist/text/Selectable.js +16 -13
  336. package/dist/text/Span.d.ts +82 -0
  337. package/dist/text/Span.js +115 -0
  338. package/dist/text/Text.d.ts +128 -41
  339. package/dist/text/Text.js +209 -76
  340. package/dist/theme/GalaxyProvider.d.ts +75 -0
  341. package/dist/theme/GalaxyProvider.js +223 -0
  342. package/dist/theme/ThemeSwitcher.d.ts +52 -0
  343. package/dist/theme/ThemeSwitcher.js +94 -0
  344. package/dist/theme/enums.d.ts +118 -0
  345. package/dist/theme/enums.js +144 -0
  346. package/dist/theme/tokens/dark.d.ts +2 -0
  347. package/dist/theme/tokens/dark.js +275 -0
  348. package/dist/theme/tokens/generate.d.ts +15 -0
  349. package/dist/theme/tokens/generate.js +47 -0
  350. package/dist/theme/tokens/light.d.ts +2 -0
  351. package/dist/theme/tokens/light.js +274 -0
  352. package/dist/theme/tokens/palette.d.ts +14 -0
  353. package/dist/theme/tokens/palette.js +153 -0
  354. package/dist/theme/tokens/scales.d.ts +26 -0
  355. package/dist/theme/tokens/scales.js +154 -0
  356. package/dist/theme/tokens/t.d.ts +3 -0
  357. package/dist/theme/tokens/t.js +25 -0
  358. package/dist/theme/tokens/types.d.ts +189 -0
  359. package/dist/theme/tokens/types.js +0 -0
  360. package/dist/theme/useGalaxyTheme.d.ts +46 -0
  361. package/dist/theme/useGalaxyTheme.js +36 -0
  362. package/dist/theme/useInverseScope.d.ts +18 -0
  363. package/dist/theme/useInverseScope.js +33 -0
  364. package/dist/three/GalaxyLogomark3D.d.ts +46 -0
  365. package/dist/three/GalaxyLogomark3D.js +134 -0
  366. package/dist/three/assets/galaxy-logomark.js +4 -0
  367. package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
  368. package/dist/three/galaxyLogomark3DScene.js +165 -0
  369. package/dist/timeline/Timeline.d.ts +120 -0
  370. package/dist/timeline/Timeline.js +301 -0
  371. package/dist/toast/Toast.d.ts +43 -19
  372. package/dist/toast/Toast.js +130 -89
  373. package/dist/toast/ToastProvider.d.ts +23 -23
  374. package/dist/toast/ToastProvider.js +298 -101
  375. package/dist/toast/ToastViewport.d.ts +12 -0
  376. package/dist/toast/ToastViewport.js +210 -0
  377. package/dist/toast/useToast.d.ts +139 -5
  378. package/dist/toast/useToast.js +15 -13
  379. package/dist/tokens.css +654 -0
  380. package/dist/tooltip/Tooltip.d.ts +64 -44
  381. package/dist/tooltip/Tooltip.js +280 -73
  382. package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
  383. package/dist/tooltip/internal/LazyTooltip.js +53 -0
  384. package/dist/transform/Fade.d.ts +33 -11
  385. package/dist/transform/Fade.js +71 -19
  386. package/dist/transform/Flasher.d.ts +25 -0
  387. package/dist/transform/Flasher.js +39 -0
  388. package/dist/transform/Rotate.d.ts +24 -12
  389. package/dist/transform/Rotate.js +36 -22
  390. package/dist/transform/ScaleFade.d.ts +36 -11
  391. package/dist/transform/ScaleFade.js +86 -28
  392. package/dist/transform/internal/CollapseMotion.d.ts +10 -0
  393. package/dist/transform/internal/CollapseMotion.js +65 -0
  394. package/dist/tree/Tree.d.ts +85 -0
  395. package/dist/tree/Tree.js +387 -0
  396. package/dist/tree/treeRow.d.ts +39 -0
  397. package/dist/tree/treeRow.js +75 -0
  398. package/dist/utils/colors.d.ts +46 -13
  399. package/dist/utils/colors.js +92 -34
  400. package/dist/utils/css.d.ts +23 -0
  401. package/dist/utils/css.js +30 -0
  402. package/dist/utils/format.d.ts +58 -0
  403. package/dist/utils/format.js +220 -0
  404. package/dist/vite/index.d.ts +16 -0
  405. package/dist/vite/index.js +52 -0
  406. package/dist/widget/Widget.d.ts +164 -48
  407. package/dist/widget/Widget.js +335 -96
  408. package/dist/widget/WidgetGroup.d.ts +36 -0
  409. package/dist/widget/WidgetGroup.js +103 -0
  410. package/package.json +855 -157
  411. package/dist/accordion/Accordion.d.ts +0 -54
  412. package/dist/accordion/Accordion.js +0 -183
  413. package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
  414. package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
  415. package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
  416. package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
  417. package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
  418. package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
  419. package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
  420. package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
  421. package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
  422. package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
  423. package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
  424. package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
  425. package/dist/assets/models/galaxy-animation.js +0 -136666
  426. package/dist/assets/models/galaxy-logomark.js +0 -4
  427. package/dist/avatar/AvatarShimmer.d.ts +0 -30
  428. package/dist/avatar/AvatarShimmer.js +0 -22
  429. package/dist/backgrounds/CellGridBackground.d.ts +0 -24
  430. package/dist/backgrounds/CellGridBackground.js +0 -44
  431. package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
  432. package/dist/backgrounds/CrossGridBackground.js +0 -49
  433. package/dist/backgrounds/DotGridBackground.d.ts +0 -24
  434. package/dist/backgrounds/DotGridBackground.js +0 -47
  435. package/dist/badge/Badge.d.ts +0 -42
  436. package/dist/badge/Badge.js +0 -99
  437. package/dist/charts/ChartEmptyState.d.ts +0 -17
  438. package/dist/charts/ChartEmptyState.js +0 -29
  439. package/dist/charts/ProgressBar.d.ts +0 -29
  440. package/dist/charts/ProgressBar.js +0 -65
  441. package/dist/charts/chartTheme.d.ts +0 -18
  442. package/dist/charts/chartTheme.js +0 -26
  443. package/dist/containers/FlexItem.d.ts +0 -50
  444. package/dist/containers/FlexItem.js +0 -91
  445. package/dist/containers/FlexWrapper.d.ts +0 -96
  446. package/dist/containers/FlexWrapper.js +0 -143
  447. package/dist/containers/GridWrapper.d.ts +0 -79
  448. package/dist/containers/GridWrapper.js +0 -125
  449. package/dist/containers/Spacing.d.ts +0 -23
  450. package/dist/containers/Spacing.js +0 -59
  451. package/dist/containers/Wrapper.d.ts +0 -26
  452. package/dist/containers/Wrapper.js +0 -54
  453. package/dist/dividers/HorizontalDivider.d.ts +0 -7
  454. package/dist/dividers/HorizontalDivider.js +0 -39
  455. package/dist/dividers/VerticalDivider.d.ts +0 -6
  456. package/dist/dividers/VerticalDivider.js +0 -21
  457. package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
  458. package/dist/icons/GalaxyFilamentWordmark.js +0 -25
  459. package/dist/icons/GalaxyLogomark.d.ts +0 -13
  460. package/dist/icons/GalaxyLogomark.js +0 -27
  461. package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
  462. package/dist/icons/GalaxyLogomark3D.js +0 -319
  463. package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
  464. package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
  465. package/dist/icons/GalaxyWordmark.d.ts +0 -11
  466. package/dist/icons/GalaxyWordmark.js +0 -25
  467. package/dist/inputs/MultiTextInput.d.ts +0 -32
  468. package/dist/inputs/MultiTextInput.js +0 -180
  469. package/dist/inputs/SwitcherInput.d.ts +0 -30
  470. package/dist/inputs/SwitcherInput.js +0 -81
  471. package/dist/inputs/hooks.d.ts +0 -10
  472. package/dist/inputs/hooks.js +0 -22
  473. package/dist/overlay/constants.d.ts +0 -28
  474. package/dist/overlay/constants.js +0 -37
  475. package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
  476. package/dist/resizable/HorizontalResizeHandle.js +0 -38
  477. package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
  478. package/dist/resizable/VerticalResizeHandle.js +0 -39
  479. package/dist/table/SpreadsheetCell.d.ts +0 -21
  480. package/dist/table/SpreadsheetCell.js +0 -71
  481. package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
  482. package/dist/table/SpreadsheetHeaderCell.js +0 -91
  483. package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
  484. package/dist/table/SpreadsheetMenuItem.js +0 -33
  485. package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
  486. package/dist/table/SpreadsheetPrimitives.js +0 -105
  487. package/dist/table/SpreadsheetRow.d.ts +0 -33
  488. package/dist/table/SpreadsheetRow.js +0 -73
  489. package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
  490. package/dist/table/SpreadsheetRowActionCell.js +0 -51
  491. package/dist/table/TableExpandCell.d.ts +0 -11
  492. package/dist/table/TableExpandCell.js +0 -24
  493. package/dist/table/TableExpandedRow.d.ts +0 -16
  494. package/dist/table/TableExpandedRow.js +0 -77
  495. package/dist/table/TableHeaderCellContent.d.ts +0 -30
  496. package/dist/table/TableHeaderCellContent.js +0 -48
  497. package/dist/table/TablePrimitives.d.ts +0 -313
  498. package/dist/table/TablePrimitives.js +0 -302
  499. package/dist/table/TableSelectCell.d.ts +0 -18
  500. package/dist/table/TableSelectCell.js +0 -27
  501. package/dist/table/TableStatusRow.d.ts +0 -18
  502. package/dist/table/TableStatusRow.js +0 -50
  503. package/dist/table/useSpreadsheetEditing.d.ts +0 -13
  504. package/dist/table/useSpreadsheetEditing.js +0 -41
  505. package/dist/table/useTableColumnResize.d.ts +0 -38
  506. package/dist/table/useTableColumnResize.js +0 -155
  507. package/dist/table/useTableRowExpansion.d.ts +0 -24
  508. package/dist/table/useTableRowExpansion.js +0 -62
  509. package/dist/table/utils.d.ts +0 -50
  510. package/dist/table/utils.js +0 -78
  511. package/dist/text/HotKeys.d.ts +0 -30
  512. package/dist/text/HotKeys.js +0 -74
  513. package/dist/text/Paragraph.d.ts +0 -33
  514. package/dist/text/Paragraph.js +0 -83
  515. package/dist/text/TextShimmer.d.ts +0 -14
  516. package/dist/text/TextShimmer.js +0 -34
  517. package/dist/theme/GalaxyTheme.d.ts +0 -67
  518. package/dist/theme/GalaxyTheme.js +0 -119
  519. package/dist/theme/constants.d.ts +0 -8
  520. package/dist/theme/constants.js +0 -38
  521. package/dist/theme/index.d.ts +0 -6
  522. package/dist/theme/index.js +0 -7
  523. package/dist/theme/types.d.ts +0 -195
  524. package/dist/theme/types.js +0 -10
  525. package/dist/theme/typography.d.ts +0 -2
  526. package/dist/theme/typography.js +0 -73
  527. package/dist/theme/variants/dark.d.ts +0 -2
  528. package/dist/theme/variants/dark.js +0 -125
  529. package/dist/theme/variants/light.d.ts +0 -2
  530. package/dist/theme/variants/light.js +0 -125
  531. package/dist/toast/ToastContainer.d.ts +0 -10
  532. package/dist/toast/ToastContainer.js +0 -31
  533. package/dist/toast/ToastWrapper.d.ts +0 -6
  534. package/dist/toast/ToastWrapper.js +0 -27
  535. package/dist/transform/Flash.d.ts +0 -7
  536. package/dist/transform/Flash.js +0 -18
  537. package/dist/transform/Spin.d.ts +0 -14
  538. package/dist/transform/Spin.js +0 -25
  539. package/dist/utils/linaria.d.ts +0 -1
  540. package/dist/utils/linaria.js +0 -8
@@ -1,319 +1,336 @@
1
- import { withTheme } from "../theme/GalaxyTheme.js";
2
- import Text, { TextSize, TextWeight } from "./Text.js";
1
+ import VisuallyHidden from "../a11y/VisuallyHidden.js";
2
+ import { FontFamily } from "../theme/enums.js";
3
+ import Text, { TextSize, TextVariant, TextWeight } from "./Text.js";
4
+ import Divider from "../layout/Divider.js";
5
+ import Icon, { IconVariant } from "../icons/Icon.js";
6
+ import Span from "./Span.js";
7
+ import Link, { LinkVariant } from "../links/Link.js";
8
+ import Bold from "./Bold.js";
9
+ import Code from "./Code.js";
10
+ import CodeBlock, { CodeBlockLanguage } from "./CodeBlock.js";
3
11
  /* empty css */
4
12
  import { styled } from "@linaria/react";
13
+ import { createContext, forwardRef, useContext, useMemo } from "react";
5
14
  import { jsx } from "react/jsx-runtime";
15
+ import { cx } from "@linaria/core";
16
+ import { CheckSquareIcon, SquareIcon } from "@phosphor-icons/react";
6
17
  import Markdown from "react-markdown";
7
18
  import rehypeRaw from "rehype-raw";
8
19
  import remarkGfm from "remark-gfm";
9
20
  //#region src/text/MarkdownText.tsx
10
- var _exp = () => ({ theme }) => theme.font.sans.family;
11
- var _exp2 = () => ({ theme }) => theme.font.sans.size.body_md;
12
- var _exp3 = () => ({ theme }) => theme.font.sans.height.heading_sm;
13
- var _exp4 = () => ({ theme }) => theme.color.text.primary;
14
- var StyledParagraph = withTheme(/*#__PURE__*/ styled("p")({
15
- name: "StyledParagraph",
16
- class: "sgj79p2",
17
- propsAsIs: false,
18
- vars: {
19
- "sgj79p2-0": [_exp()],
20
- "sgj79p2-1": [_exp2()],
21
- "sgj79p2-2": [_exp3()],
22
- "sgj79p2-3": [_exp4()]
23
- }
24
- }));
25
- var _exp5 = () => ({ theme }) => theme.color.background.tertiary;
26
- var _exp6 = () => ({ theme }) => theme.color.border.tertiary;
27
- var _exp7 = () => ({ theme }) => theme.font.mono.family;
28
- var _exp8 = () => ({ theme }) => theme.font.mono.size.body_md;
29
- var _exp9 = () => ({ theme }) => theme.font.mono.height.body_md;
30
- var _exp0 = () => ({ theme }) => theme.color.text.primary;
31
- var StyledPre = withTheme(/*#__PURE__*/ styled("pre")({
32
- name: "StyledPre",
33
- class: "s17hp2a6",
34
- propsAsIs: false,
35
- vars: {
36
- "s17hp2a6-0": [_exp5()],
37
- "s17hp2a6-1": [_exp6()],
38
- "s17hp2a6-2": [_exp7()],
39
- "s17hp2a6-3": [_exp8()],
40
- "s17hp2a6-4": [_exp9()],
41
- "s17hp2a6-5": [_exp0()]
42
- }
43
- }));
44
- var _exp1 = () => ({ theme }) => theme.color.background.tertiary;
45
- var _exp10 = () => ({ theme }) => theme.color.border.tertiary;
46
- var _exp11 = () => ({ theme }) => theme.font.mono.family;
47
- var _exp12 = () => ({ theme }) => theme.font.mono.size.body_sm;
48
- var _exp13 = () => ({ theme }) => theme.font.mono.height.body_sm;
49
- var _exp14 = () => ({ theme }) => theme.color.text.primary;
50
- var StyledInlineCode = withTheme(/*#__PURE__*/ styled("code")({
51
- name: "StyledInlineCode",
52
- class: "s1l8k0vu",
53
- propsAsIs: false,
54
- vars: {
55
- "s1l8k0vu-0": [_exp1()],
56
- "s1l8k0vu-1": [_exp10()],
57
- "s1l8k0vu-2": [_exp11()],
58
- "s1l8k0vu-3": [_exp12()],
59
- "s1l8k0vu-4": [_exp13()],
60
- "s1l8k0vu-5": [_exp14()]
61
- }
62
- }));
63
- var _exp15 = () => ({ theme }) => theme.color.border.tertiary;
64
- var _exp16 = () => ({ theme }) => theme.font.sans.family;
65
- var _exp17 = () => ({ theme }) => theme.font.sans.size.body_md;
66
- var _exp18 = () => ({ theme }) => theme.font.sans.height.body_lg;
67
- var _exp19 = () => ({ theme }) => theme.color.text.secondary;
68
- var StyledBlockquote = withTheme(/*#__PURE__*/ styled("blockquote")({
69
- name: "StyledBlockquote",
70
- class: "sa4is7y",
71
- propsAsIs: false,
72
- vars: {
73
- "sa4is7y-0": [_exp15()],
74
- "sa4is7y-1": [_exp16()],
75
- "sa4is7y-2": [_exp17()],
76
- "sa4is7y-3": [_exp18()],
77
- "sa4is7y-4": [_exp19()]
78
- }
79
- }));
80
- var _exp20 = () => ({ theme }) => theme.font.sans.family;
81
- var _exp21 = () => ({ theme }) => theme.font.sans.size.body_md;
82
- var _exp22 = () => ({ theme }) => theme.font.sans.height.heading_sm;
83
- var _exp23 = () => ({ theme }) => theme.color.text.primary;
84
- var _exp24 = () => ({ theme }) => theme.color.text.secondary;
85
- var StyledList = withTheme(/*#__PURE__*/ styled("ul")({
86
- name: "StyledList",
87
- class: "sif7uds",
88
- propsAsIs: false,
89
- vars: {
90
- "sif7uds-0": [_exp20()],
91
- "sif7uds-1": [_exp21()],
92
- "sif7uds-2": [_exp22()],
93
- "sif7uds-3": [_exp23()],
94
- "sif7uds-4": [_exp24()]
95
- }
96
- }));
97
- var _exp25 = () => ({ theme }) => theme.font.sans.family;
98
- var _exp26 = () => ({ theme }) => theme.font.sans.size.body_md;
99
- var _exp27 = () => ({ theme }) => theme.font.sans.height.heading_sm;
100
- var _exp28 = () => ({ theme }) => theme.color.text.primary;
101
- var _exp29 = () => ({ theme }) => theme.color.text.secondary;
102
- var _exp30 = () => ({ theme }) => theme.font.sans.weight.medium;
103
- var StyledOrderedList = withTheme(/*#__PURE__*/ styled("ol")({
104
- name: "StyledOrderedList",
105
- class: "spy4hi2",
106
- propsAsIs: false,
107
- vars: {
108
- "spy4hi2-0": [_exp25()],
109
- "spy4hi2-1": [_exp26()],
110
- "spy4hi2-2": [_exp27()],
111
- "spy4hi2-3": [_exp28()],
112
- "spy4hi2-4": [_exp29()],
113
- "spy4hi2-5": [_exp30()]
114
- }
115
- }));
116
- var _exp31 = () => ({ theme }) => theme.font.sans.weight.medium;
117
- var _exp32 = () => ({ theme }) => theme.color.text.primary;
118
- var StyledStrong = withTheme(/*#__PURE__*/ styled("strong")({
119
- name: "StyledStrong",
120
- class: "s6eo8rp",
121
- propsAsIs: false,
122
- vars: {
123
- "s6eo8rp-0": [_exp31()],
124
- "s6eo8rp-1": [_exp32()]
125
- }
126
- }));
127
- var _exp33 = () => ({ theme }) => theme.color.text.primary;
128
- var StyledEm = withTheme(/*#__PURE__*/ styled("em")({
129
- name: "StyledEm",
130
- class: "s1s7p3od",
131
- propsAsIs: false,
132
- vars: { "s1s7p3od-0": [_exp33()] }
133
- }));
134
- var _exp35 = () => ({ theme }) => theme.color.text.tertiary;
135
- var _exp36 = () => ({ theme }) => theme.color.text.primary;
136
- var StyledAnchor = withTheme(/*#__PURE__*/ styled("a")({
137
- name: "StyledAnchor",
138
- class: "s1ll404u",
139
- propsAsIs: false,
140
- vars: {
141
- "s1ll404u-0": [_exp36()],
142
- "s1ll404u-1": [_exp35()]
143
- }
144
- }));
145
- var _exp37 = () => ({ theme }) => theme.color.border.tertiary;
146
- var StyledTableWrapper = withTheme(/*#__PURE__*/ styled("div")({
147
- name: "StyledTableWrapper",
148
- class: "scwvhie",
149
- propsAsIs: false,
150
- vars: { "scwvhie-0": [_exp37()] }
151
- }));
152
- var _exp38 = () => ({ theme }) => theme.font.sans.family;
153
- var _exp39 = () => ({ theme }) => theme.font.sans.size.body_md;
154
- var _exp40 = () => ({ theme }) => theme.font.sans.height.heading_sm;
155
- var _exp41 = () => ({ theme }) => theme.color.text.primary;
156
- var StyledTable = withTheme(/*#__PURE__*/ styled("table")({
157
- name: "StyledTable",
158
- class: "svk1lh",
159
- propsAsIs: false,
160
- vars: {
161
- "svk1lh-0": [_exp38()],
162
- "svk1lh-1": [_exp39()],
163
- "svk1lh-2": [_exp40()],
164
- "svk1lh-3": [_exp41()]
165
- }
166
- }));
167
- var _exp42 = () => ({ theme }) => theme.color.border.secondary;
168
- var StyledThead = withTheme(/*#__PURE__*/ styled("thead")({
169
- name: "StyledThead",
170
- class: "ss1iwpz",
171
- propsAsIs: false,
172
- vars: { "ss1iwpz-0": [_exp42()] }
173
- }));
174
- var _exp43 = () => ({ theme }) => theme.font.sans.weight.medium;
175
- var _exp44 = () => ({ theme }) => theme.color.text.secondary;
176
- var StyledTh = withTheme(/*#__PURE__*/ styled("th")({
177
- name: "StyledTh",
178
- class: "shi85us",
179
- propsAsIs: false,
180
- vars: {
181
- "shi85us-0": [_exp43()],
182
- "shi85us-1": [_exp44()]
183
- }
184
- }));
185
- var _exp45 = () => ({ theme }) => theme.color.border.tertiary;
186
- var StyledTd = withTheme(/*#__PURE__*/ styled("td")({
187
- name: "StyledTd",
188
- class: "s10h6trl",
189
- propsAsIs: false,
190
- vars: { "s10h6trl-0": [_exp45()] }
191
- }));
192
- var StyledHeadingWrapper = /*#__PURE__*/ styled("div")({
193
- name: "StyledHeadingWrapper",
194
- class: "s1sfwhg3",
21
+ /**
22
+ * Renders a Markdown string (GitHub-flavored) as DLS typography: paragraphs and list items through
23
+ * `Text isProse` (line height 1.5), headings as real `h1`–`h6` through `Text`, inline code through
24
+ * `Code`, links through `Link`, fenced code through `CodeBlock` (with copy), rules through
25
+ * `Divider`, and tables and block quotes on hairlines. For app-authored or model-generated copy:
26
+ * chat answers, notes, documents, release notes.
27
+ *
28
+ * Raw HTML in `content` is dropped unless `shouldRenderHtml` is set (trusted content only).
29
+ * `react-markdown`'s default URL transform strips `javascript:` and other unsafe URLs either way.
30
+ * It renders; it does not edit or fetch. To lay out UI, use `Text` and `Flex`.
31
+ */
32
+ /** Heading steps (the 1.x steps). */
33
+ var MARKDOWN_TEXT_HEADING_TO_TEXT_SIZE_MAP = {
34
+ h1: TextSize.HEADING_LG,
35
+ h2: TextSize.HEADING_MD,
36
+ h3: TextSize.HEADING_SM,
37
+ h4: TextSize.BODY_LG,
38
+ h5: TextSize.BODY_MD,
39
+ h6: TextSize.BODY_SM
40
+ };
41
+ /** Body step per family: serif starts at its smallest real step (Article III-A.3). */
42
+ var MARKDOWN_TEXT_FAMILY_TO_BODY_SIZE_MAP = {
43
+ [FontFamily.SANS]: TextSize.BODY_MD,
44
+ [FontFamily.SERIF]: TextSize.BODY_LG
45
+ };
46
+ /** Fence info strings (lower-cased) to CodeBlock languages; anything else is `PLAIN`. */
47
+ var MARKDOWN_TEXT_FENCE_TO_LANGUAGE_MAP = {
48
+ sh: CodeBlockLanguage.BASH,
49
+ shell: CodeBlockLanguage.BASH,
50
+ bash: CodeBlockLanguage.BASH,
51
+ zsh: CodeBlockLanguage.BASH,
52
+ console: CodeBlockLanguage.BASH,
53
+ css: CodeBlockLanguage.CSS,
54
+ go: CodeBlockLanguage.GO,
55
+ golang: CodeBlockLanguage.GO,
56
+ graphql: CodeBlockLanguage.GRAPHQL,
57
+ gql: CodeBlockLanguage.GRAPHQL,
58
+ html: CodeBlockLanguage.HTML,
59
+ xml: CodeBlockLanguage.HTML,
60
+ svg: CodeBlockLanguage.HTML,
61
+ js: CodeBlockLanguage.JAVASCRIPT,
62
+ javascript: CodeBlockLanguage.JAVASCRIPT,
63
+ mjs: CodeBlockLanguage.JAVASCRIPT,
64
+ cjs: CodeBlockLanguage.JAVASCRIPT,
65
+ json: CodeBlockLanguage.JSON,
66
+ jsonc: CodeBlockLanguage.JSON,
67
+ json5: CodeBlockLanguage.JSON,
68
+ jsx: CodeBlockLanguage.JSX,
69
+ md: CodeBlockLanguage.MARKDOWN,
70
+ markdown: CodeBlockLanguage.MARKDOWN,
71
+ proto: CodeBlockLanguage.PROTOBUF,
72
+ protobuf: CodeBlockLanguage.PROTOBUF,
73
+ py: CodeBlockLanguage.PYTHON,
74
+ python: CodeBlockLanguage.PYTHON,
75
+ rs: CodeBlockLanguage.RUST,
76
+ rust: CodeBlockLanguage.RUST,
77
+ sql: CodeBlockLanguage.SQL,
78
+ postgres: CodeBlockLanguage.SQL,
79
+ postgresql: CodeBlockLanguage.SQL,
80
+ mysql: CodeBlockLanguage.SQL,
81
+ toml: CodeBlockLanguage.TOML,
82
+ tsx: CodeBlockLanguage.TSX,
83
+ ts: CodeBlockLanguage.TYPESCRIPT,
84
+ typescript: CodeBlockLanguage.TYPESCRIPT,
85
+ mts: CodeBlockLanguage.TYPESCRIPT,
86
+ cts: CodeBlockLanguage.TYPESCRIPT,
87
+ yaml: CodeBlockLanguage.YAML,
88
+ yml: CodeBlockLanguage.YAML
89
+ };
90
+ /** A `scheme://` URL opens in a new tab; relative, `#` and `mailto:` links stay. */
91
+ var ABSOLUTE_URL = /^[a-z][a-z0-9+.-]*:\/\//i;
92
+ /** Blocks are spaced by the root's gap; nothing has margins. */
93
+ var Root = /*#__PURE__*/ styled("div")({
94
+ name: "Root",
95
+ class: "gx-MarkdownText-rgj79p2",
195
96
  propsAsIs: false
196
97
  });
197
- var markdownComponents = {
198
- pre: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledPre, {
199
- ...props,
98
+ /** A heading sits 16px below the previous block and 8px above its own content. */
99
+ var HEADING_CSS = "gx-MarkdownText-HEADING_CSS-h17hp2a6";
100
+ var LIST_CSS = "gx-MarkdownText-LIST_CSS-l1l8k0vu";
101
+ var UNORDERED_CSS = "gx-MarkdownText-UNORDERED_CSS-ua4is7y";
102
+ var ORDERED_CSS = "gx-MarkdownText-ORDERED_CSS-oif7uds";
103
+ /** A task item: the checkbox glyph, then the copy; no bullet. */
104
+ var TASK_ITEM_CSS = "gx-MarkdownText-TASK_ITEM_CSS-tpy4hi2";
105
+ /** The task glyph's box: one prose line tall, so it sits on the first line. */
106
+ var TASK_GLYPH_CSS = "gx-MarkdownText-TASK_GLYPH_CSS-t6eo8rp";
107
+ var BLOCKQUOTE_CSS = "gx-MarkdownText-BLOCKQUOTE_CSS-b1s7p3od";
108
+ var IMAGE_CSS = "gx-MarkdownText-IMAGE_CSS-i1ll404u";
109
+ var TABLE_WRAPPER_CSS = "gx-MarkdownText-TABLE_WRAPPER_CSS-tcwvhie";
110
+ var TABLE_CSS = "gx-MarkdownText-TABLE_CSS-tvk1lh";
111
+ /** Cells on the 32px rung: 8px around a 16px UI line. */
112
+ var CELL_CSS = "gx-MarkdownText-CELL_CSS-cs1iwpz";
113
+ var CELL_ALIGN_TO_CSS_MAP = {
114
+ left: "gx-MarkdownText-left-lhi85us",
115
+ center: "gx-MarkdownText-center-c10h6trl",
116
+ right: "gx-MarkdownText-right-r1sfwhg3"
117
+ };
118
+ /** Whether the current block is inside a quote (quoted copy is secondary). */
119
+ var QuoteContext = createContext(false);
120
+ /** Concatenated text of a hast subtree. */
121
+ var textOf = (node) => node === void 0 ? "" : node.type === "text" ? node.value ?? "" : (node.children ?? []).map(textOf).join("");
122
+ /** The fence language of a `pre`'s `code` child, from its `language-xxx` class. */
123
+ function fenceLanguageOf(code) {
124
+ const classNames = code?.properties?.className;
125
+ const fence = (Array.isArray(classNames) ? classNames.map(String) : []).find((name) => name.startsWith("language-"))?.slice(9);
126
+ if (fence === void 0 || fence === "") return CodeBlockLanguage.PLAIN;
127
+ return MARKDOWN_TEXT_FENCE_TO_LANGUAGE_MAP[fence.toLowerCase()] ?? CodeBlockLanguage.PLAIN;
128
+ }
129
+ /** Picks the `id`, `aria-*` and `data-*` props react-markdown set on an element. */
130
+ function passthroughOf(props) {
131
+ const picked = {};
132
+ for (const [name, value] of Object.entries(props)) if (value !== void 0 && (name === "id" || name.startsWith("aria-") || name.startsWith("data-"))) picked[name] = value;
133
+ return picked;
134
+ }
135
+ var isCellAlign = (value) => value === "left" || value === "center" || value === "right";
136
+ /** GFM column alignment, from the cell's `style` (react-markdown) or its `align`. */
137
+ function cellAlignOf(style, node) {
138
+ const align = style?.textAlign ?? node?.properties?.align;
139
+ return isCellAlign(align) ? align : null;
140
+ }
141
+ /** A paragraph in the body step, secondary inside a quote. */
142
+ function Paragraph({ family, passthrough, children }) {
143
+ const isQuoted = useContext(QuoteContext);
144
+ return /* @__PURE__ */ jsx(Text, {
145
+ ...passthrough,
146
+ as: "p",
147
+ isProse: true,
148
+ family,
149
+ size: MARKDOWN_TEXT_FAMILY_TO_BODY_SIZE_MAP[family],
150
+ variant: isQuoted ? TextVariant.SECONDARY : TextVariant.PRIMARY,
200
151
  children
201
- }),
202
- code: ({ className, children, ...props }) => {
203
- if (className?.startsWith("language-")) return /* @__PURE__ */ jsx("code", {
204
- className,
205
- ...props,
152
+ });
153
+ }
154
+ /** A list item in the body step, secondary inside a quote; task items lay out their glyph. */
155
+ function ListItem({ family, className, passthrough, children }) {
156
+ const isQuoted = useContext(QuoteContext);
157
+ const isTask = className?.split(" ").includes("task-list-item") ?? false;
158
+ return /* @__PURE__ */ jsx(Text, {
159
+ ...passthrough,
160
+ as: "li",
161
+ isProse: true,
162
+ family,
163
+ size: MARKDOWN_TEXT_FAMILY_TO_BODY_SIZE_MAP[family],
164
+ variant: isQuoted ? TextVariant.SECONDARY : TextVariant.PRIMARY,
165
+ ...isTask ? { className: TASK_ITEM_CSS } : {},
166
+ children
167
+ });
168
+ }
169
+ /** A heading `h1`–`h6`; GFM's visually hidden footnote heading stays visually hidden. */
170
+ function createHeading(tag, family) {
171
+ return function MarkdownHeading({ className, children, node: _node, ...props }) {
172
+ const passthrough = passthroughOf(props);
173
+ if (className?.split(" ").includes("sr-only")) return /* @__PURE__ */ jsx(VisuallyHidden, {
174
+ ...passthrough,
175
+ as: tag,
206
176
  children
207
177
  });
208
- return /* @__PURE__ */ jsx(StyledInlineCode, {
209
- ...props,
178
+ return /* @__PURE__ */ jsx(Text, {
179
+ ...passthrough,
180
+ as: tag,
181
+ size: MARKDOWN_TEXT_HEADING_TO_TEXT_SIZE_MAP[tag],
182
+ weight: TextWeight.MEDIUM,
183
+ family,
184
+ isSelectable: true,
185
+ className: HEADING_CSS,
210
186
  children
211
187
  });
212
- },
213
- p: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledParagraph, {
214
- ...props,
215
- children
216
- }),
217
- h1: ({ children }) => /* @__PURE__ */ jsx(StyledHeadingWrapper, { children: /* @__PURE__ */ jsx(Text, {
218
- size: TextSize.HEADING_LG,
219
- weight: TextWeight.MEDIUM,
220
- isSelectable: true,
221
- children
222
- }) }),
223
- h2: ({ children }) => /* @__PURE__ */ jsx(StyledHeadingWrapper, { children: /* @__PURE__ */ jsx(Text, {
224
- size: TextSize.HEADING_MD,
225
- weight: TextWeight.MEDIUM,
226
- isSelectable: true,
227
- children
228
- }) }),
229
- h3: ({ children }) => /* @__PURE__ */ jsx(StyledHeadingWrapper, { children: /* @__PURE__ */ jsx(Text, {
230
- size: TextSize.HEADING_SM,
231
- weight: TextWeight.MEDIUM,
232
- isSelectable: true,
233
- children
234
- }) }),
235
- h4: ({ children }) => /* @__PURE__ */ jsx(StyledHeadingWrapper, { children: /* @__PURE__ */ jsx(Text, {
236
- size: TextSize.BODY_LG,
237
- weight: TextWeight.MEDIUM,
238
- isSelectable: true,
239
- children
240
- }) }),
241
- h5: ({ children }) => /* @__PURE__ */ jsx(StyledHeadingWrapper, { children: /* @__PURE__ */ jsx(Text, {
242
- weight: TextWeight.MEDIUM,
243
- isSelectable: true,
244
- children
245
- }) }),
246
- h6: ({ children }) => /* @__PURE__ */ jsx(StyledHeadingWrapper, { children: /* @__PURE__ */ jsx(Text, {
247
- size: TextSize.BODY_SM,
248
- weight: TextWeight.MEDIUM,
249
- isSelectable: true,
250
- children
251
- }) }),
252
- ul: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledList, {
253
- ...props,
254
- children
255
- }),
256
- ol: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledOrderedList, {
257
- ...props,
258
- children
259
- }),
260
- li: ({ children, ...props }) => /* @__PURE__ */ jsx("li", {
261
- ...props,
262
- children
263
- }),
264
- blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledBlockquote, {
265
- ...props,
266
- children
267
- }),
268
- a: ({ children, href, ...props }) => /* @__PURE__ */ jsx(StyledAnchor, {
269
- ...props,
270
- href,
271
- target: "_blank",
272
- rel: "noreferrer",
273
- children
274
- }),
275
- strong: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledStrong, {
276
- ...props,
277
- children
278
- }),
279
- em: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledEm, {
280
- ...props,
281
- children
282
- }),
283
- table: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledTableWrapper, { children: /* @__PURE__ */ jsx(StyledTable, {
284
- ...props,
285
- children
286
- }) }),
287
- thead: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledThead, {
288
- ...props,
289
- children
290
- }),
291
- th: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledTh, {
292
- ...props,
293
- children
294
- }),
295
- td: ({ children, ...props }) => /* @__PURE__ */ jsx(StyledTd, {
296
- ...props,
297
- children
298
- })
188
+ };
189
+ }
190
+ /** The DLS renderers for one prose family. */
191
+ function createMarkdownComponents(family) {
192
+ return {
193
+ p: ({ children, node: _node, ...props }) => /* @__PURE__ */ jsx(Paragraph, {
194
+ family,
195
+ passthrough: passthroughOf(props),
196
+ children
197
+ }),
198
+ h1: createHeading("h1", family),
199
+ h2: createHeading("h2", family),
200
+ h3: createHeading("h3", family),
201
+ h4: createHeading("h4", family),
202
+ h5: createHeading("h5", family),
203
+ h6: createHeading("h6", family),
204
+ ul: ({ className, children }) => /* @__PURE__ */ jsx("ul", {
205
+ className: cx(LIST_CSS, UNORDERED_CSS, className),
206
+ children
207
+ }),
208
+ ol: ({ className, start, children }) => /* @__PURE__ */ jsx("ol", {
209
+ className: cx(LIST_CSS, ORDERED_CSS, className),
210
+ start,
211
+ children
212
+ }),
213
+ li: ({ className, children, node: _node, ...props }) => /* @__PURE__ */ jsx(ListItem, {
214
+ family,
215
+ className,
216
+ passthrough: passthroughOf(props),
217
+ children
218
+ }),
219
+ input: ({ checked }) => /* @__PURE__ */ jsx("span", {
220
+ className: TASK_GLYPH_CSS,
221
+ children: /* @__PURE__ */ jsx(Icon, {
222
+ component: checked ? CheckSquareIcon : SquareIcon,
223
+ size: 16,
224
+ variant: IconVariant.SECONDARY,
225
+ ariaLabel: checked ? "Done" : "Not done"
226
+ })
227
+ }),
228
+ blockquote: ({ children }) => /* @__PURE__ */ jsx("blockquote", {
229
+ className: BLOCKQUOTE_CSS,
230
+ children: /* @__PURE__ */ jsx(QuoteContext.Provider, {
231
+ value: true,
232
+ children
233
+ })
234
+ }),
235
+ pre: ({ node }) => {
236
+ const code = node?.children?.find((child) => child.type === "element" && child.tagName === "code");
237
+ return /* @__PURE__ */ jsx(CodeBlock, {
238
+ content: textOf(code).replace(/\n$/, ""),
239
+ language: fenceLanguageOf(code),
240
+ canCopy: true
241
+ });
242
+ },
243
+ code: ({ children }) => /* @__PURE__ */ jsx(Code, { children }),
244
+ a: ({ href, children, node: _node, ...props }) => /* @__PURE__ */ jsx(Link, {
245
+ ...passthroughOf(props),
246
+ ...href === void 0 ? {} : { href },
247
+ variant: LinkVariant.NEUTRAL,
248
+ isExternal: href !== void 0 && ABSOLUTE_URL.test(href),
249
+ children
250
+ }),
251
+ strong: ({ children }) => /* @__PURE__ */ jsx(Bold, { children }),
252
+ em: ({ children }) => /* @__PURE__ */ jsx(Span, {
253
+ isItalic: true,
254
+ children
255
+ }),
256
+ del: ({ children }) => /* @__PURE__ */ jsx(Span, {
257
+ isStrikethrough: true,
258
+ children
259
+ }),
260
+ hr: () => /* @__PURE__ */ jsx(Divider, {}),
261
+ img: ({ src, alt, title }) => /* @__PURE__ */ jsx("img", {
262
+ className: IMAGE_CSS,
263
+ src,
264
+ alt: alt ?? "",
265
+ title,
266
+ loading: "lazy"
267
+ }),
268
+ table: ({ children }) => /* @__PURE__ */ jsx("div", {
269
+ className: TABLE_WRAPPER_CSS,
270
+ tabIndex: -1,
271
+ children: /* @__PURE__ */ jsx("table", {
272
+ className: TABLE_CSS,
273
+ children
274
+ })
275
+ }),
276
+ th: ({ style, node, children }) => {
277
+ const align = cellAlignOf(style, node);
278
+ return /* @__PURE__ */ jsx("th", {
279
+ className: cx(CELL_CSS, align && CELL_ALIGN_TO_CSS_MAP[align]),
280
+ children: /* @__PURE__ */ jsx(Text, {
281
+ as: "span",
282
+ size: TextSize.BODY_MD,
283
+ weight: TextWeight.MEDIUM,
284
+ variant: TextVariant.SECONDARY,
285
+ children
286
+ })
287
+ });
288
+ },
289
+ td: ({ style, node, children }) => {
290
+ const align = cellAlignOf(style, node);
291
+ return /* @__PURE__ */ jsx("td", {
292
+ className: cx(CELL_CSS, align && CELL_ALIGN_TO_CSS_MAP[align]),
293
+ children: /* @__PURE__ */ jsx(Text, {
294
+ as: "span",
295
+ size: TextSize.BODY_MD,
296
+ variant: TextVariant.PRIMARY,
297
+ isSelectable: true,
298
+ children
299
+ })
300
+ });
301
+ }
302
+ };
303
+ }
304
+ /** The renderers per family, built once at module load (no DOM access). */
305
+ var MARKDOWN_TEXT_FAMILY_TO_COMPONENTS_MAP = {
306
+ [FontFamily.SANS]: createMarkdownComponents(FontFamily.SANS),
307
+ [FontFamily.SERIF]: createMarkdownComponents(FontFamily.SERIF)
299
308
  };
300
- /**
301
- * Renders Markdown using DLS components — headings, lists, tables and code all
302
- * come out on theme tokens rather than browser defaults.
303
- *
304
- * Raw HTML in `content` is rendered, not escaped. Don't pass untrusted input.
305
- */
306
- var MarkdownText = ({ content, componentOverrides }) => {
307
- const components = componentOverrides ? {
308
- ...markdownComponents,
309
+ var REMARK_PLUGINS = [remarkGfm];
310
+ var REHYPE_PLUGINS_HTML = [rehypeRaw];
311
+ var REHYPE_PLUGINS_NONE = [];
312
+ /** Markdown as DLS typography: prose line height, real headings, CodeBlock fences, Link. */
313
+ var MarkdownText = forwardRef(function MarkdownText({ content, family = FontFamily.SANS, shouldRenderHtml = false, componentOverrides, id, className, style, ...rest }, ref) {
314
+ const base = MARKDOWN_TEXT_FAMILY_TO_COMPONENTS_MAP[family];
315
+ const components = useMemo(() => componentOverrides ? {
316
+ ...base,
309
317
  ...componentOverrides
310
- } : markdownComponents;
311
- return /* @__PURE__ */ jsx(Markdown, {
312
- remarkPlugins: [remarkGfm],
313
- rehypePlugins: [rehypeRaw],
314
- components,
315
- children: content
318
+ } : base, [base, componentOverrides]);
319
+ return /* @__PURE__ */ jsx(Root, {
320
+ ...rest,
321
+ ref,
322
+ id,
323
+ className,
324
+ style,
325
+ children: /* @__PURE__ */ jsx(Markdown, {
326
+ remarkPlugins: REMARK_PLUGINS,
327
+ rehypePlugins: shouldRenderHtml ? REHYPE_PLUGINS_HTML : REHYPE_PLUGINS_NONE,
328
+ skipHtml: !shouldRenderHtml,
329
+ components,
330
+ children: content
331
+ })
316
332
  });
317
- };
333
+ });
334
+ MarkdownText.displayName = "MarkdownText";
318
335
  //#endregion
319
336
  export { MarkdownText as default };