@langchain/macaw-components 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -0
  3. package/dist/_chunks/ErrorState-CmPX01HV.js +13361 -0
  4. package/dist/_chunks/ErrorState-CmPX01HV.js.map +1 -0
  5. package/dist/_chunks/LoadingIndicator-DgtU9aqD.js +80 -0
  6. package/dist/_chunks/LoadingIndicator-DgtU9aqD.js.map +1 -0
  7. package/dist/base.css +305 -0
  8. package/dist/catalog.json +1675 -0
  9. package/dist/components/Avatar/Avatar.d.ts +28 -0
  10. package/dist/components/Avatar/Avatar.js +47 -0
  11. package/dist/components/Avatar/Avatar.js.map +1 -0
  12. package/dist/components/Avatar/index.d.ts +2 -0
  13. package/dist/components/Avatar/index.js +2 -0
  14. package/dist/components/Badge/Badge.d.ts +25 -0
  15. package/dist/components/Badge/Badge.js +82 -0
  16. package/dist/components/Badge/Badge.js.map +1 -0
  17. package/dist/components/Badge/index.d.ts +2 -0
  18. package/dist/components/Badge/index.js +2 -0
  19. package/dist/components/Banner/Banner.d.ts +15 -0
  20. package/dist/components/Banner/Banner.js +102 -0
  21. package/dist/components/Banner/Banner.js.map +1 -0
  22. package/dist/components/Banner/index.d.ts +2 -0
  23. package/dist/components/Banner/index.js +2 -0
  24. package/dist/components/BarChart/AnimatedBar.d.ts +20 -0
  25. package/dist/components/BarChart/AnimatedBar.js +65 -0
  26. package/dist/components/BarChart/AnimatedBar.js.map +1 -0
  27. package/dist/components/BarChart/BarChart.d.ts +25 -0
  28. package/dist/components/BarChart/BarChart.js +248 -0
  29. package/dist/components/BarChart/BarChart.js.map +1 -0
  30. package/dist/components/BarChart/BarChart.types.d.ts +239 -0
  31. package/dist/components/BarChart/BarChart.types.js +0 -0
  32. package/dist/components/BarChart/BarChart.utils.d.ts +51 -0
  33. package/dist/components/BarChart/BarChart.utils.js +215 -0
  34. package/dist/components/BarChart/BarChart.utils.js.map +1 -0
  35. package/dist/components/BarChart/BarChartAxes.d.ts +22 -0
  36. package/dist/components/BarChart/BarChartAxes.js +144 -0
  37. package/dist/components/BarChart/BarChartAxes.js.map +1 -0
  38. package/dist/components/BarChart/BarChartGuides.d.ts +22 -0
  39. package/dist/components/BarChart/BarChartGuides.js +83 -0
  40. package/dist/components/BarChart/BarChartGuides.js.map +1 -0
  41. package/dist/components/BarChart/BarChartPlot.d.ts +40 -0
  42. package/dist/components/BarChart/BarChartPlot.js +262 -0
  43. package/dist/components/BarChart/BarChartPlot.js.map +1 -0
  44. package/dist/components/BarChart/constants.d.ts +21 -0
  45. package/dist/components/BarChart/constants.js +26 -0
  46. package/dist/components/BarChart/constants.js.map +1 -0
  47. package/dist/components/BarChart/index.d.ts +3 -0
  48. package/dist/components/BarChart/index.js +3 -0
  49. package/dist/components/Button/Button.d.ts +36 -0
  50. package/dist/components/Button/Button.js +99 -0
  51. package/dist/components/Button/Button.js.map +1 -0
  52. package/dist/components/Button/constants.d.ts +26 -0
  53. package/dist/components/Button/constants.js +31 -0
  54. package/dist/components/Button/constants.js.map +1 -0
  55. package/dist/components/Button/index.d.ts +2 -0
  56. package/dist/components/Button/index.js +2 -0
  57. package/dist/components/ButtonGroup/ButtonGroup.d.ts +30 -0
  58. package/dist/components/ButtonGroup/ButtonGroup.js +26 -0
  59. package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -0
  60. package/dist/components/ButtonGroup/index.d.ts +2 -0
  61. package/dist/components/ButtonGroup/index.js +2 -0
  62. package/dist/components/Card/Card.d.ts +10 -0
  63. package/dist/components/Card/Card.js +23 -0
  64. package/dist/components/Card/Card.js.map +1 -0
  65. package/dist/components/Card/index.d.ts +2 -0
  66. package/dist/components/Card/index.js +2 -0
  67. package/dist/components/ChartCard/ChartCard.d.ts +53 -0
  68. package/dist/components/ChartCard/ChartCard.js +172 -0
  69. package/dist/components/ChartCard/ChartCard.js.map +1 -0
  70. package/dist/components/ChartCard/ChartCardSkeleton.d.ts +7 -0
  71. package/dist/components/ChartCard/ChartCardSkeleton.js +61 -0
  72. package/dist/components/ChartCard/ChartCardSkeleton.js.map +1 -0
  73. package/dist/components/ChartCard/index.d.ts +4 -0
  74. package/dist/components/ChartCard/index.js +3 -0
  75. package/dist/components/ChartLegend/ChartLegend.d.ts +19 -0
  76. package/dist/components/ChartLegend/ChartLegend.js +195 -0
  77. package/dist/components/ChartLegend/ChartLegend.js.map +1 -0
  78. package/dist/components/ChartLegend/ChartLegendItemRenderer.d.ts +14 -0
  79. package/dist/components/ChartLegend/ChartLegendItemRenderer.js +90 -0
  80. package/dist/components/ChartLegend/ChartLegendItemRenderer.js.map +1 -0
  81. package/dist/components/ChartLegend/index.d.ts +3 -0
  82. package/dist/components/ChartLegend/index.js +3 -0
  83. package/dist/components/ChartLegend/useChartLegendActiveItem.d.ts +7 -0
  84. package/dist/components/ChartLegend/useChartLegendActiveItem.js +35 -0
  85. package/dist/components/ChartLegend/useChartLegendActiveItem.js.map +1 -0
  86. package/dist/components/ChartLegend/utils.d.ts +20 -0
  87. package/dist/components/ChartLegend/utils.js +33 -0
  88. package/dist/components/ChartLegend/utils.js.map +1 -0
  89. package/dist/components/ChartTooltip/ChartTooltip.d.ts +23 -0
  90. package/dist/components/ChartTooltip/ChartTooltip.js +83 -0
  91. package/dist/components/ChartTooltip/ChartTooltip.js.map +1 -0
  92. package/dist/components/ChartTooltip/index.d.ts +2 -0
  93. package/dist/components/ChartTooltip/index.js +2 -0
  94. package/dist/components/Checkbox/Checkbox.d.ts +58 -0
  95. package/dist/components/Checkbox/Checkbox.js +50 -0
  96. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  97. package/dist/components/Checkbox/constants.d.ts +28 -0
  98. package/dist/components/Checkbox/constants.js +57 -0
  99. package/dist/components/Checkbox/constants.js.map +1 -0
  100. package/dist/components/Checkbox/getCheckedState.d.ts +6 -0
  101. package/dist/components/Checkbox/getCheckedState.js +14 -0
  102. package/dist/components/Checkbox/getCheckedState.js.map +1 -0
  103. package/dist/components/Checkbox/index.d.ts +3 -0
  104. package/dist/components/Checkbox/index.js +3 -0
  105. package/dist/components/CircularProgress/CircularProgress.d.ts +54 -0
  106. package/dist/components/CircularProgress/CircularProgress.js +85 -0
  107. package/dist/components/CircularProgress/CircularProgress.js.map +1 -0
  108. package/dist/components/CircularProgress/index.d.ts +2 -0
  109. package/dist/components/CircularProgress/index.js +2 -0
  110. package/dist/components/Code/Code.utils.d.ts +24 -0
  111. package/dist/components/Code/Code.utils.js +160 -0
  112. package/dist/components/Code/Code.utils.js.map +1 -0
  113. package/dist/components/Code/CodeLite.d.ts +19 -0
  114. package/dist/components/Code/CodeLite.js +146 -0
  115. package/dist/components/Code/CodeLite.js.map +1 -0
  116. package/dist/components/Code/CodeLite.utils.d.ts +24 -0
  117. package/dist/components/Code/CodeLite.utils.js +273 -0
  118. package/dist/components/Code/CodeLite.utils.js.map +1 -0
  119. package/dist/components/Code/ImageReplacerExtension.d.ts +9 -0
  120. package/dist/components/Code/ImageReplacerExtension.js +227 -0
  121. package/dist/components/Code/ImageReplacerExtension.js.map +1 -0
  122. package/dist/components/Code/JsonHighlighterExtension.d.ts +4 -0
  123. package/dist/components/Code/JsonHighlighterExtension.js +172 -0
  124. package/dist/components/Code/JsonHighlighterExtension.js.map +1 -0
  125. package/dist/components/Code/constants.d.ts +6 -0
  126. package/dist/components/Code/constants.js +11 -0
  127. package/dist/components/Code/constants.js.map +1 -0
  128. package/dist/components/Code/index.d.ts +30 -0
  129. package/dist/components/Code/index.js +140 -0
  130. package/dist/components/Code/index.js.map +1 -0
  131. package/dist/components/Code/languages/json.d.ts +1 -0
  132. package/dist/components/Code/languages/json.js +7 -0
  133. package/dist/components/Code/languages/json.js.map +1 -0
  134. package/dist/components/Code/languages/languages.d.ts +7 -0
  135. package/dist/components/Code/languages/languages.js +12 -0
  136. package/dist/components/Code/languages/languages.js.map +1 -0
  137. package/dist/components/Code/languages/python.d.ts +1 -0
  138. package/dist/components/Code/languages/python.js +7 -0
  139. package/dist/components/Code/languages/python.js.map +1 -0
  140. package/dist/components/Code/languages/shell.d.ts +7 -0
  141. package/dist/components/Code/languages/shell.js +241 -0
  142. package/dist/components/Code/languages/shell.js.map +1 -0
  143. package/dist/components/Code/languages/typescript.d.ts +1 -0
  144. package/dist/components/Code/languages/typescript.js +7 -0
  145. package/dist/components/Code/languages/typescript.js.map +1 -0
  146. package/dist/components/Code/languages/yaml.d.ts +2 -0
  147. package/dist/components/Code/languages/yaml.js +44 -0
  148. package/dist/components/Code/languages/yaml.js.map +1 -0
  149. package/dist/components/Code/types.d.ts +8 -0
  150. package/dist/components/Code/types.js +0 -0
  151. package/dist/components/Code/utils.d.ts +4 -0
  152. package/dist/components/Code/utils.js +27 -0
  153. package/dist/components/Code/utils.js.map +1 -0
  154. package/dist/components/Command/Command.d.ts +78 -0
  155. package/dist/components/Command/Command.js +78 -0
  156. package/dist/components/Command/Command.js.map +1 -0
  157. package/dist/components/Command/CommandMenu.d.ts +65 -0
  158. package/dist/components/Command/CommandMenu.js +101 -0
  159. package/dist/components/Command/CommandMenu.js.map +1 -0
  160. package/dist/components/Command/index.d.ts +4 -0
  161. package/dist/components/Command/index.js +3 -0
  162. package/dist/components/ContextMenu/ContextMenu.d.ts +9 -0
  163. package/dist/components/ContextMenu/ContextMenu.js +43 -0
  164. package/dist/components/ContextMenu/ContextMenu.js.map +1 -0
  165. package/dist/components/ContextMenu/index.d.ts +1 -0
  166. package/dist/components/ContextMenu/index.js +2 -0
  167. package/dist/components/CopyButton/CopyButton.d.ts +24 -0
  168. package/dist/components/CopyButton/CopyButton.js +121 -0
  169. package/dist/components/CopyButton/CopyButton.js.map +1 -0
  170. package/dist/components/CopyButton/copyToClipboard.d.ts +1 -0
  171. package/dist/components/CopyButton/copyToClipboard.js +29 -0
  172. package/dist/components/CopyButton/copyToClipboard.js.map +1 -0
  173. package/dist/components/CopyButton/index.d.ts +4 -0
  174. package/dist/components/CopyButton/index.js +4 -0
  175. package/dist/components/CopyButton/useCopy.d.ts +10 -0
  176. package/dist/components/CopyButton/useCopy.js +46 -0
  177. package/dist/components/CopyButton/useCopy.js.map +1 -0
  178. package/dist/components/Dialog/index.d.ts +49 -0
  179. package/dist/components/Dialog/index.js +130 -0
  180. package/dist/components/Dialog/index.js.map +1 -0
  181. package/dist/components/Divider/Divider.d.ts +9 -0
  182. package/dist/components/Divider/Divider.js +27 -0
  183. package/dist/components/Divider/Divider.js.map +1 -0
  184. package/dist/components/Divider/index.d.ts +2 -0
  185. package/dist/components/Divider/index.js +2 -0
  186. package/dist/components/DonutChart/DonutChart.d.ts +101 -0
  187. package/dist/components/DonutChart/DonutChart.js +197 -0
  188. package/dist/components/DonutChart/DonutChart.js.map +1 -0
  189. package/dist/components/DonutChart/DonutChart.utils.d.ts +38 -0
  190. package/dist/components/DonutChart/DonutChart.utils.js +93 -0
  191. package/dist/components/DonutChart/DonutChart.utils.js.map +1 -0
  192. package/dist/components/DonutChart/constants.d.ts +7 -0
  193. package/dist/components/DonutChart/constants.js +12 -0
  194. package/dist/components/DonutChart/constants.js.map +1 -0
  195. package/dist/components/DonutChart/index.d.ts +4 -0
  196. package/dist/components/DonutChart/index.js +4 -0
  197. package/dist/components/DropdownMenu/DropdownMenu.d.ts +24 -0
  198. package/dist/components/DropdownMenu/DropdownMenu.js +149 -0
  199. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -0
  200. package/dist/components/DropdownMenu/index.d.ts +1 -0
  201. package/dist/components/DropdownMenu/index.js +2 -0
  202. package/dist/components/EmptyState/EmptyState.d.ts +26 -0
  203. package/dist/components/EmptyState/EmptyState.js +85 -0
  204. package/dist/components/EmptyState/EmptyState.js.map +1 -0
  205. package/dist/components/EmptyState/index.d.ts +2 -0
  206. package/dist/components/EmptyState/index.js +2 -0
  207. package/dist/components/ErrorBoundary.d.ts +35 -0
  208. package/dist/components/ErrorBoundary.js +41 -0
  209. package/dist/components/ErrorBoundary.js.map +1 -0
  210. package/dist/components/ErrorMessage/ErrorMessage.d.ts +17 -0
  211. package/dist/components/ErrorMessage/ErrorMessage.js +146 -0
  212. package/dist/components/ErrorMessage/ErrorMessage.js.map +1 -0
  213. package/dist/components/ErrorMessage/index.d.ts +2 -0
  214. package/dist/components/ErrorMessage/index.js +2 -0
  215. package/dist/components/ErrorState/ErrorState.d.ts +23 -0
  216. package/dist/components/ErrorState/ErrorState.js +2 -0
  217. package/dist/components/ErrorState/index.d.ts +2 -0
  218. package/dist/components/ErrorState/index.js +2 -0
  219. package/dist/components/GroupedTabs/GroupedTabs.d.ts +31 -0
  220. package/dist/components/GroupedTabs/GroupedTabs.js +92 -0
  221. package/dist/components/GroupedTabs/GroupedTabs.js.map +1 -0
  222. package/dist/components/GroupedTabs/index.d.ts +2 -0
  223. package/dist/components/GroupedTabs/index.js +2 -0
  224. package/dist/components/HoverCard.d.ts +4 -0
  225. package/dist/components/HoverCard.js +34 -0
  226. package/dist/components/HoverCard.js.map +1 -0
  227. package/dist/components/Icon/Icon.d.ts +25 -0
  228. package/dist/components/Icon/Icon.js +57 -0
  229. package/dist/components/Icon/Icon.js.map +1 -0
  230. package/dist/components/Icon/index.d.ts +2 -0
  231. package/dist/components/Icon/index.js +2 -0
  232. package/dist/components/IconButton/IconButton.d.ts +35 -0
  233. package/dist/components/IconButton/IconButton.js +73 -0
  234. package/dist/components/IconButton/IconButton.js.map +1 -0
  235. package/dist/components/IconButton/index.d.ts +2 -0
  236. package/dist/components/IconButton/index.js +2 -0
  237. package/dist/components/Input/Input.d.ts +72 -0
  238. package/dist/components/Input/Input.js +221 -0
  239. package/dist/components/Input/Input.js.map +1 -0
  240. package/dist/components/Input/index.d.ts +2 -0
  241. package/dist/components/Input/index.js +2 -0
  242. package/dist/components/Input/inputStyles.d.ts +28 -0
  243. package/dist/components/Input/inputStyles.js +45 -0
  244. package/dist/components/Input/inputStyles.js.map +1 -0
  245. package/dist/components/Kbd/Kbd.d.ts +15 -0
  246. package/dist/components/Kbd/Kbd.js +30 -0
  247. package/dist/components/Kbd/Kbd.js.map +1 -0
  248. package/dist/components/Kbd/index.d.ts +2 -0
  249. package/dist/components/Kbd/index.js +2 -0
  250. package/dist/components/LineChart/LineChart.d.ts +8 -0
  251. package/dist/components/LineChart/LineChart.js +194 -0
  252. package/dist/components/LineChart/LineChart.js.map +1 -0
  253. package/dist/components/LineChart/LineChart.types.d.ts +138 -0
  254. package/dist/components/LineChart/LineChart.types.js +0 -0
  255. package/dist/components/LineChart/LineChart.utils.d.ts +29 -0
  256. package/dist/components/LineChart/LineChart.utils.js +123 -0
  257. package/dist/components/LineChart/LineChart.utils.js.map +1 -0
  258. package/dist/components/LineChart/LineChartPlot.d.ts +43 -0
  259. package/dist/components/LineChart/LineChartPlot.js +306 -0
  260. package/dist/components/LineChart/LineChartPlot.js.map +1 -0
  261. package/dist/components/LineChart/constants.d.ts +3 -0
  262. package/dist/components/LineChart/constants.js +8 -0
  263. package/dist/components/LineChart/constants.js.map +1 -0
  264. package/dist/components/LineChart/index.d.ts +2 -0
  265. package/dist/components/LineChart/index.js +2 -0
  266. package/dist/components/LinearProgress/LinearProgress.d.ts +16 -0
  267. package/dist/components/LinearProgress/LinearProgress.js +42 -0
  268. package/dist/components/LinearProgress/LinearProgress.js.map +1 -0
  269. package/dist/components/LinearProgress/index.d.ts +2 -0
  270. package/dist/components/LinearProgress/index.js +2 -0
  271. package/dist/components/Link/Link.d.ts +30 -0
  272. package/dist/components/Link/Link.js +51 -0
  273. package/dist/components/Link/Link.js.map +1 -0
  274. package/dist/components/Link/index.d.ts +2 -0
  275. package/dist/components/Link/index.js +2 -0
  276. package/dist/components/Logo/index.d.ts +17 -0
  277. package/dist/components/Logo/index.js +705 -0
  278. package/dist/components/Logo/index.js.map +1 -0
  279. package/dist/components/MetricChart/MetricChart.d.ts +9 -0
  280. package/dist/components/MetricChart/MetricChart.js +42 -0
  281. package/dist/components/MetricChart/MetricChart.js.map +1 -0
  282. package/dist/components/MetricChart/formatters.d.ts +18 -0
  283. package/dist/components/MetricChart/formatters.js +34 -0
  284. package/dist/components/MetricChart/formatters.js.map +1 -0
  285. package/dist/components/MetricChart/index.d.ts +4 -0
  286. package/dist/components/MetricChart/index.js +3 -0
  287. package/dist/components/Pane/Pane.d.ts +29 -0
  288. package/dist/components/Pane/Pane.js +171 -0
  289. package/dist/components/Pane/Pane.js.map +1 -0
  290. package/dist/components/Pane/Pane.utils.d.ts +10 -0
  291. package/dist/components/Pane/Pane.utils.js +7 -0
  292. package/dist/components/Pane/Pane.utils.js.map +1 -0
  293. package/dist/components/Pane/index.d.ts +3 -0
  294. package/dist/components/Pane/index.js +3 -0
  295. package/dist/components/PlainTextEditor/hooks/useResizeTextEditor.d.ts +9 -0
  296. package/dist/components/PlainTextEditor/hooks/useResizeTextEditor.js +76 -0
  297. package/dist/components/PlainTextEditor/hooks/useResizeTextEditor.js.map +1 -0
  298. package/dist/components/PlainTextEditor/index.d.ts +18 -0
  299. package/dist/components/PlainTextEditor/index.js +71 -0
  300. package/dist/components/PlainTextEditor/index.js.map +1 -0
  301. package/dist/components/Popover/Popover.d.ts +13 -0
  302. package/dist/components/Popover/Popover.js +48 -0
  303. package/dist/components/Popover/Popover.js.map +1 -0
  304. package/dist/components/Popover/constants.d.ts +1 -0
  305. package/dist/components/Popover/constants.js +6 -0
  306. package/dist/components/Popover/constants.js.map +1 -0
  307. package/dist/components/Popover/index.d.ts +1 -0
  308. package/dist/components/Popover/index.js +2 -0
  309. package/dist/components/PortalSlot.d.ts +11 -0
  310. package/dist/components/PortalSlot.js +41 -0
  311. package/dist/components/PortalSlot.js.map +1 -0
  312. package/dist/components/ProgressBar/ProgressBar.d.ts +38 -0
  313. package/dist/components/ProgressBar/ProgressBar.js +82 -0
  314. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  315. package/dist/components/ProgressBar/index.d.ts +2 -0
  316. package/dist/components/ProgressBar/index.js +2 -0
  317. package/dist/components/RadioButton/RadioButton.d.ts +62 -0
  318. package/dist/components/RadioButton/RadioButton.js +38 -0
  319. package/dist/components/RadioButton/RadioButton.js.map +1 -0
  320. package/dist/components/RadioButton/constants.d.ts +30 -0
  321. package/dist/components/RadioButton/constants.js +55 -0
  322. package/dist/components/RadioButton/constants.js.map +1 -0
  323. package/dist/components/RadioButton/index.d.ts +2 -0
  324. package/dist/components/RadioButton/index.js +2 -0
  325. package/dist/components/RadioCard/RadioCard.d.ts +26 -0
  326. package/dist/components/RadioCard/RadioCard.js +43 -0
  327. package/dist/components/RadioCard/RadioCard.js.map +1 -0
  328. package/dist/components/RadioCard/index.d.ts +2 -0
  329. package/dist/components/RadioCard/index.js +2 -0
  330. package/dist/components/RadioGroup/RadioGroup.d.ts +5 -0
  331. package/dist/components/RadioGroup/RadioGroup.js +17 -0
  332. package/dist/components/RadioGroup/RadioGroup.js.map +1 -0
  333. package/dist/components/RadioGroup/RadioGroupItem.d.ts +5 -0
  334. package/dist/components/RadioGroup/RadioGroupItem.js +22 -0
  335. package/dist/components/RadioGroup/RadioGroupItem.js.map +1 -0
  336. package/dist/components/RadioGroup/index.d.ts +4 -0
  337. package/dist/components/RadioGroup/index.js +3 -0
  338. package/dist/components/Select/Select.d.ts +84 -0
  339. package/dist/components/Select/Select.js +120 -0
  340. package/dist/components/Select/Select.js.map +1 -0
  341. package/dist/components/Select/SelectPrimitive.d.ts +17 -0
  342. package/dist/components/Select/SelectPrimitive.js +126 -0
  343. package/dist/components/Select/SelectPrimitive.js.map +1 -0
  344. package/dist/components/Select/index.d.ts +4 -0
  345. package/dist/components/Select/index.js +3 -0
  346. package/dist/components/Skeleton/Skeleton.d.ts +13 -0
  347. package/dist/components/Skeleton/Skeleton.js +25 -0
  348. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  349. package/dist/components/Skeleton/index.d.ts +1 -0
  350. package/dist/components/Skeleton/index.js +2 -0
  351. package/dist/components/Slider/Slider.d.ts +33 -0
  352. package/dist/components/Slider/Slider.js +64 -0
  353. package/dist/components/Slider/Slider.js.map +1 -0
  354. package/dist/components/Slider/index.d.ts +2 -0
  355. package/dist/components/Slider/index.js +2 -0
  356. package/dist/components/SparkLineChart/SparkLineChart.d.ts +14 -0
  357. package/dist/components/SparkLineChart/SparkLineChart.js +112 -0
  358. package/dist/components/SparkLineChart/SparkLineChart.js.map +1 -0
  359. package/dist/components/SparkLineChart/index.d.ts +2 -0
  360. package/dist/components/SparkLineChart/index.js +2 -0
  361. package/dist/components/Spinner/Spinner.d.ts +12 -0
  362. package/dist/components/Spinner/Spinner.js +33 -0
  363. package/dist/components/Spinner/Spinner.js.map +1 -0
  364. package/dist/components/Spinner/index.d.ts +1 -0
  365. package/dist/components/Spinner/index.js +2 -0
  366. package/dist/components/SplitViewPane/SplitViewPane.d.ts +41 -0
  367. package/dist/components/SplitViewPane/SplitViewPane.js +314 -0
  368. package/dist/components/SplitViewPane/SplitViewPane.js.map +1 -0
  369. package/dist/components/SplitViewPane/SplitViewPaneHeader.d.ts +22 -0
  370. package/dist/components/SplitViewPane/SplitViewPaneHeader.js +105 -0
  371. package/dist/components/SplitViewPane/SplitViewPaneHeader.js.map +1 -0
  372. package/dist/components/SplitViewPane/index.d.ts +2 -0
  373. package/dist/components/SplitViewPane/index.js +3 -0
  374. package/dist/components/SplitViewPane/openPaneRegistry.d.ts +2 -0
  375. package/dist/components/SplitViewPane/openPaneRegistry.js +49 -0
  376. package/dist/components/SplitViewPane/openPaneRegistry.js.map +1 -0
  377. package/dist/components/Switch/Switch.d.ts +35 -0
  378. package/dist/components/Switch/Switch.js +65 -0
  379. package/dist/components/Switch/Switch.js.map +1 -0
  380. package/dist/components/Switch/index.d.ts +2 -0
  381. package/dist/components/Switch/index.js +2 -0
  382. package/dist/components/Tabs/index.d.ts +27 -0
  383. package/dist/components/Tabs/index.js +45 -0
  384. package/dist/components/Tabs/index.js.map +1 -0
  385. package/dist/components/Text/Text.d.ts +13 -0
  386. package/dist/components/Text/Text.js +58 -0
  387. package/dist/components/Text/Text.js.map +1 -0
  388. package/dist/components/Text/index.d.ts +2 -0
  389. package/dist/components/Text/index.js +2 -0
  390. package/dist/components/TextVirtualizer.d.ts +8 -0
  391. package/dist/components/TextVirtualizer.js +53 -0
  392. package/dist/components/TextVirtualizer.js.map +1 -0
  393. package/dist/components/TextWithLinks.d.ts +6 -0
  394. package/dist/components/TextWithLinks.js +61 -0
  395. package/dist/components/TextWithLinks.js.map +1 -0
  396. package/dist/components/Textarea/Textarea.d.ts +47 -0
  397. package/dist/components/Textarea/Textarea.js +150 -0
  398. package/dist/components/Textarea/Textarea.js.map +1 -0
  399. package/dist/components/Textarea/index.d.ts +2 -0
  400. package/dist/components/Textarea/index.js +2 -0
  401. package/dist/components/ThinkingState/LoadingIndicator.d.ts +19 -0
  402. package/dist/components/ThinkingState/LoadingIndicator.js +2 -0
  403. package/dist/components/ThinkingState/NOTICE +25 -0
  404. package/dist/components/ThinkingState/ThinkingState.d.ts +21 -0
  405. package/dist/components/ThinkingState/ThinkingState.js +42 -0
  406. package/dist/components/ThinkingState/ThinkingState.js.map +1 -0
  407. package/dist/components/ThinkingState/ThinkingStateTimer.d.ts +9 -0
  408. package/dist/components/ThinkingState/ThinkingStateTimer.js +43 -0
  409. package/dist/components/ThinkingState/ThinkingStateTimer.js.map +1 -0
  410. package/dist/components/ThinkingState/index.d.ts +4 -0
  411. package/dist/components/ThinkingState/index.js +3 -0
  412. package/dist/components/Toast/ToastContext.d.ts +5 -0
  413. package/dist/components/Toast/ToastContext.js +9 -0
  414. package/dist/components/Toast/ToastContext.js.map +1 -0
  415. package/dist/components/Toast/index.d.ts +13 -0
  416. package/dist/components/Toast/index.js +166 -0
  417. package/dist/components/Toast/index.js.map +1 -0
  418. package/dist/components/Toast/useToast.d.ts +3 -0
  419. package/dist/components/Toast/useToast.js +11 -0
  420. package/dist/components/Toast/useToast.js.map +1 -0
  421. package/dist/components/Tooltip/Tooltip.d.ts +19 -0
  422. package/dist/components/Tooltip/Tooltip.js +57 -0
  423. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  424. package/dist/components/Tooltip/index.d.ts +3 -0
  425. package/dist/components/Tooltip/index.js +3 -0
  426. package/dist/components/TopList/TopList.d.ts +3 -0
  427. package/dist/components/TopList/TopList.js +186 -0
  428. package/dist/components/TopList/TopList.js.map +1 -0
  429. package/dist/components/TopList/TopList.types.d.ts +34 -0
  430. package/dist/components/TopList/TopList.types.js +0 -0
  431. package/dist/components/TopList/TopList.utils.d.ts +3 -0
  432. package/dist/components/TopList/TopList.utils.js +16 -0
  433. package/dist/components/TopList/TopList.utils.js.map +1 -0
  434. package/dist/components/TopList/index.d.ts +2 -0
  435. package/dist/components/TopList/index.js +2 -0
  436. package/dist/components/Typeahead/Typeahead.d.ts +5 -0
  437. package/dist/components/Typeahead/Typeahead.js +305 -0
  438. package/dist/components/Typeahead/Typeahead.js.map +1 -0
  439. package/dist/components/Typeahead/Typeahead.types.d.ts +99 -0
  440. package/dist/components/Typeahead/Typeahead.types.js +0 -0
  441. package/dist/components/Typeahead/Typeahead.utils.d.ts +25 -0
  442. package/dist/components/Typeahead/Typeahead.utils.js +73 -0
  443. package/dist/components/Typeahead/Typeahead.utils.js.map +1 -0
  444. package/dist/components/Typeahead/TypeaheadParts.d.ts +25 -0
  445. package/dist/components/Typeahead/TypeaheadParts.js +109 -0
  446. package/dist/components/Typeahead/TypeaheadParts.js.map +1 -0
  447. package/dist/components/Typeahead/TypeaheadView.d.ts +81 -0
  448. package/dist/components/Typeahead/TypeaheadView.js +228 -0
  449. package/dist/components/Typeahead/TypeaheadView.js.map +1 -0
  450. package/dist/components/Typeahead/index.d.ts +2 -0
  451. package/dist/components/Typeahead/index.js +2 -0
  452. package/dist/components/Typeahead/useTypeaheadDomSync.d.ts +15 -0
  453. package/dist/components/Typeahead/useTypeaheadDomSync.js +43 -0
  454. package/dist/components/Typeahead/useTypeaheadDomSync.js.map +1 -0
  455. package/dist/components/Typeahead/useTypeaheadUncontrolledInput.d.ts +11 -0
  456. package/dist/components/Typeahead/useTypeaheadUncontrolledInput.js +32 -0
  457. package/dist/components/Typeahead/useTypeaheadUncontrolledInput.js.map +1 -0
  458. package/dist/components/UnsavedChangesDialog.d.ts +14 -0
  459. package/dist/components/UnsavedChangesDialog.js +67 -0
  460. package/dist/components/UnsavedChangesDialog.js.map +1 -0
  461. package/dist/components/index.d.ts +58 -0
  462. package/dist/components/index.js +35 -0
  463. package/dist/components.css +102 -0
  464. package/dist/contexts/ErrorReporterContext.d.ts +6 -0
  465. package/dist/contexts/ErrorReporterContext.js +7 -0
  466. package/dist/contexts/ErrorReporterContext.js.map +1 -0
  467. package/dist/hooks/AppThemeProvider.d.ts +8 -0
  468. package/dist/hooks/AppThemeProvider.js +52 -0
  469. package/dist/hooks/AppThemeProvider.js.map +1 -0
  470. package/dist/hooks/useColorScheme.d.ts +20 -0
  471. package/dist/hooks/useColorScheme.js +50 -0
  472. package/dist/hooks/useColorScheme.js.map +1 -0
  473. package/dist/icons/LongTailPhosphorIcons.d.ts +51 -0
  474. package/dist/icons/LongTailPhosphorIcons.js +102 -0
  475. package/dist/icons/LongTailPhosphorIcons.js.map +1 -0
  476. package/dist/icons/PaddedPhosphorIcons.d.ts +17 -0
  477. package/dist/icons/PaddedPhosphorIcons.js +55 -0
  478. package/dist/icons/PaddedPhosphorIcons.js.map +1 -0
  479. package/dist/icons/WeightedPhosphorIcons.d.ts +45 -0
  480. package/dist/icons/WeightedPhosphorIcons.js +96 -0
  481. package/dist/icons/WeightedPhosphorIcons.js.map +1 -0
  482. package/dist/icons/index.d.ts +2 -0
  483. package/dist/icons/index.js +4 -0
  484. package/dist/index.d.ts +1 -0
  485. package/dist/index.js +36 -0
  486. package/dist/styles.css +10 -0
  487. package/dist/utilities.css +2 -0
  488. package/dist/utils/VirtuosoCustomScrollParentContext/index.d.ts +7 -0
  489. package/dist/utils/VirtuosoCustomScrollParentContext/index.js +15 -0
  490. package/dist/utils/VirtuosoCustomScrollParentContext/index.js.map +1 -0
  491. package/dist/utils/VirtuosoCustomScrollParentContext/useScrollParent.d.ts +4 -0
  492. package/dist/utils/VirtuosoCustomScrollParentContext/useScrollParent.js +10 -0
  493. package/dist/utils/VirtuosoCustomScrollParentContext/useScrollParent.js.map +1 -0
  494. package/dist/utils/ZIndexContext.d.ts +5 -0
  495. package/dist/utils/ZIndexContext.js +13 -0
  496. package/dist/utils/ZIndexContext.js.map +1 -0
  497. package/dist/utils/animation.d.ts +37 -0
  498. package/dist/utils/animation.js +42 -0
  499. package/dist/utils/animation.js.map +1 -0
  500. package/dist/utils/chartAxisLayout.d.ts +6 -0
  501. package/dist/utils/chartAxisLayout.js +8 -0
  502. package/dist/utils/chartAxisLayout.js.map +1 -0
  503. package/dist/utils/chartColors.d.ts +38 -0
  504. package/dist/utils/chartColors.js +78 -0
  505. package/dist/utils/chartColors.js.map +1 -0
  506. package/dist/utils/chartConstants.d.ts +10 -0
  507. package/dist/utils/chartConstants.js +15 -0
  508. package/dist/utils/chartConstants.js.map +1 -0
  509. package/dist/utils/chartValues.d.ts +2 -0
  510. package/dist/utils/chartValues.js +36 -0
  511. package/dist/utils/chartValues.js.map +1 -0
  512. package/dist/utils/clamp.d.ts +2 -0
  513. package/dist/utils/clamp.js +7 -0
  514. package/dist/utils/clamp.js.map +1 -0
  515. package/dist/utils/cn.d.ts +2 -0
  516. package/dist/utils/cn.js +191 -0
  517. package/dist/utils/cn.js.map +1 -0
  518. package/dist/utils/componentSizes.d.ts +104 -0
  519. package/dist/utils/componentSizes.js +104 -0
  520. package/dist/utils/componentSizes.js.map +1 -0
  521. package/dist/utils/controlIconSizes.d.ts +10 -0
  522. package/dist/utils/controlIconSizes.js +32 -0
  523. package/dist/utils/controlIconSizes.js.map +1 -0
  524. package/dist/utils/csp-nonce.d.ts +11 -0
  525. package/dist/utils/csp-nonce.js +17 -0
  526. package/dist/utils/csp-nonce.js.map +1 -0
  527. package/dist/utils/get-closest-scroll-parent.d.ts +1 -0
  528. package/dist/utils/get-closest-scroll-parent.js +16 -0
  529. package/dist/utils/get-closest-scroll-parent.js.map +1 -0
  530. package/dist/utils/get-color-by-string.d.ts +1 -0
  531. package/dist/utils/get-color-by-string.js +10 -0
  532. package/dist/utils/get-color-by-string.js.map +1 -0
  533. package/dist/utils/getYAxisLeftMargin.d.ts +10 -0
  534. package/dist/utils/getYAxisLeftMargin.js +20 -0
  535. package/dist/utils/getYAxisLeftMargin.js.map +1 -0
  536. package/dist/utils/icon-types.d.ts +8 -0
  537. package/dist/utils/icon-types.js +0 -0
  538. package/dist/utils/lazy-codemirror-loader.d.ts +70 -0
  539. package/dist/utils/lazy-codemirror-loader.js +79 -0
  540. package/dist/utils/lazy-codemirror-loader.js.map +1 -0
  541. package/dist/utils/merge-refs.d.ts +2 -0
  542. package/dist/utils/merge-refs.js +13 -0
  543. package/dist/utils/merge-refs.js.map +1 -0
  544. package/dist/utils/parseTextLinks.d.ts +7 -0
  545. package/dist/utils/parseTextLinks.js +46 -0
  546. package/dist/utils/parseTextLinks.js.map +1 -0
  547. package/dist/utils/prettify-error-payload.d.ts +7 -0
  548. package/dist/utils/prettify-error-payload.js +188 -0
  549. package/dist/utils/prettify-error-payload.js.map +1 -0
  550. package/dist/utils/spacing.d.ts +30 -0
  551. package/dist/utils/spacing.js +34 -0
  552. package/dist/utils/spacing.js.map +1 -0
  553. package/dist/utils/useCodeMirror.d.ts +7 -0
  554. package/dist/utils/useCodeMirror.js +28 -0
  555. package/dist/utils/useCodeMirror.js.map +1 -0
  556. package/dist/utils/useZIndex.d.ts +52 -0
  557. package/dist/utils/useZIndex.js +62 -0
  558. package/dist/utils/useZIndex.js.map +1 -0
  559. package/dist/utils/zIndices.d.ts +42 -0
  560. package/dist/utils/zIndices.js +46 -0
  561. package/dist/utils/zIndices.js.map +1 -0
  562. package/docs/DESIGN.md +134 -0
  563. package/docs/STYLES.md +568 -0
  564. package/package.json +619 -0
  565. package/tailwind.preset.cjs +738 -0
  566. package/tailwind.preset.d.cts +5 -0
@@ -0,0 +1,28 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type VisualElementSize } from '../../utils/componentSizes.js';
3
+ type AvatarSize = VisualElementSize | 'lg' | 'xl';
4
+ type AvatarShape = 'circle' | 'square';
5
+ interface AvatarProps {
6
+ /** Outer box size: xxs=12px, xs=16px, sm=20px, md=24px, lg=36px, xl=48px. */
7
+ size?: AvatarSize;
8
+ shape?: AvatarShape;
9
+ /** Show a small notification dot in the top-right corner. */
10
+ badge?: boolean;
11
+ /** Wrap the avatar in a tooltip with this title. */
12
+ tooltip?: string;
13
+ /** Extra classes on the avatar box. Can override size/text/color via `twMerge`. */
14
+ className?: string;
15
+ /** Text used for the initial and, unless `color` is set, the color hash. */
16
+ label: string;
17
+ /** Renders an image instead of the initial when present. */
18
+ imageUrl?: string;
19
+ /** Overrides the color-from-string hash with an explicit gradient start color. */
20
+ color?: string;
21
+ /** Rendered instead of the initial when `label` is empty. */
22
+ fallbackIcon?: ReactNode;
23
+ /** Highlighted brand-fill state (e.g. the current user's own entry). */
24
+ active?: boolean;
25
+ }
26
+ declare const Avatar: import("react").ForwardRefExoticComponent<AvatarProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ export { Avatar };
28
+ export type { AvatarProps, AvatarSize };
@@ -0,0 +1,47 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { VISUAL_ELEMENT_SIZES } from "../../utils/componentSizes.js";
3
+ import { getColorByString } from "../../utils/get-color-by-string.js";
4
+ import { Tooltip } from "../Tooltip/Tooltip.js";
5
+ import { forwardRef } from "react";
6
+ import { sanitizeUrl } from "@braintree/sanitize-url";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region packages/components/src/components/Avatar/Avatar.tsx
9
+ var BOX_SIZE = {
10
+ xxs: VISUAL_ELEMENT_SIZES.xxs.className,
11
+ xs: VISUAL_ELEMENT_SIZES.xs.className,
12
+ sm: VISUAL_ELEMENT_SIZES.sm.className,
13
+ md: VISUAL_ELEMENT_SIZES.md.className,
14
+ lg: "size-9",
15
+ xl: "size-12"
16
+ };
17
+ var TEXT_SIZE = {
18
+ xxs: "text-[0.625rem] leading-none",
19
+ xs: "text-xxs",
20
+ sm: "text-xs",
21
+ md: "text-sm",
22
+ lg: "text-lg",
23
+ xl: "text-xl"
24
+ };
25
+ var Avatar = forwardRef(({ size = "md", shape = "square", badge, tooltip, className, label, imageUrl, color, fallbackIcon, active }, ref) => {
26
+ const startColor = color ?? getColorByString(label);
27
+ const rounding = shape === "circle" ? "rounded-full" : "rounded-sm";
28
+ const inner = /* @__PURE__ */ jsxs("div", {
29
+ ref,
30
+ className: cn("relative inline-flex shrink-0 cursor-default items-center justify-center text-center font-medium uppercase text-white/90 transition-all", rounding, BOX_SIZE[size], TEXT_SIZE[size], active && "bg-brand", className),
31
+ style: active ? void 0 : { backgroundImage: `linear-gradient(to bottom right, ${startColor}, #aaaaaa)` },
32
+ children: [imageUrl ? /* @__PURE__ */ jsx("div", {
33
+ className: cn("absolute inset-0 size-full bg-cover bg-center", rounding),
34
+ style: { backgroundImage: `url(${sanitizeUrl(imageUrl)})` }
35
+ }) : label ? /* @__PURE__ */ jsx("span", { children: label.charAt(0) }) : fallbackIcon ?? null, badge && /* @__PURE__ */ jsx("div", { className: cn("absolute rounded-full border-current bg-error-strong outline-transparent", size === "xxs" ? "-right-0.5 -top-0.5 size-1.5 border" : "-right-1 -top-1 size-3 border-2") })]
36
+ });
37
+ if (tooltip) return /* @__PURE__ */ jsx(Tooltip, {
38
+ title: tooltip,
39
+ children: inner
40
+ });
41
+ return inner;
42
+ });
43
+ Avatar.displayName = "Avatar";
44
+ //#endregion
45
+ export { Avatar };
46
+
47
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.js","names":[],"sources":["../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { sanitizeUrl } from '@braintree/sanitize-url';\n\nimport { cn } from '../../utils/cn';\nimport {\n VISUAL_ELEMENT_SIZES,\n type VisualElementSize,\n} from '../../utils/componentSizes';\nimport { getColorByString } from '../../utils/get-color-by-string';\nimport { Tooltip } from '../Tooltip';\n\ntype AvatarSize = VisualElementSize | 'lg' | 'xl';\ntype AvatarShape = 'circle' | 'square';\n\ninterface AvatarProps {\n /** Outer box size: xxs=12px, xs=16px, sm=20px, md=24px, lg=36px, xl=48px. */\n size?: AvatarSize;\n shape?: AvatarShape;\n /** Show a small notification dot in the top-right corner. */\n badge?: boolean;\n /** Wrap the avatar in a tooltip with this title. */\n tooltip?: string;\n /** Extra classes on the avatar box. Can override size/text/color via `twMerge`. */\n className?: string;\n /** Text used for the initial and, unless `color` is set, the color hash. */\n label: string;\n /** Renders an image instead of the initial when present. */\n imageUrl?: string;\n /** Overrides the color-from-string hash with an explicit gradient start color. */\n color?: string;\n /** Rendered instead of the initial when `label` is empty. */\n fallbackIcon?: ReactNode;\n /** Highlighted brand-fill state (e.g. the current user's own entry). */\n active?: boolean;\n}\n\n// The shared tiers use the visual-element scale. Identity-specific lg/xl tiers\n// remain larger so existing Avatar presentations retain their geometry.\nconst BOX_SIZE: Record<AvatarSize, string> = {\n xxs: VISUAL_ELEMENT_SIZES.xxs.className,\n xs: VISUAL_ELEMENT_SIZES.xs.className,\n sm: VISUAL_ELEMENT_SIZES.sm.className,\n md: VISUAL_ELEMENT_SIZES.md.className,\n lg: 'size-9',\n xl: 'size-12',\n};\n\nconst TEXT_SIZE: Record<AvatarSize, string> = {\n xxs: 'text-[0.625rem] leading-none',\n xs: 'text-xxs',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-lg',\n xl: 'text-xl',\n};\n\nconst Avatar = forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n size = 'md',\n shape = 'square',\n badge,\n tooltip,\n className,\n label,\n imageUrl,\n color,\n fallbackIcon,\n active,\n },\n ref\n ) => {\n const startColor = color ?? getColorByString(label);\n const rounding = shape === 'circle' ? 'rounded-full' : 'rounded-sm';\n\n const inner = (\n // The box is intentionally not `overflow-hidden` so the badge dot can\n // overflow the top-right corner. The image child clips itself instead.\n <div\n ref={ref}\n className={cn(\n 'relative inline-flex shrink-0 cursor-default items-center justify-center text-center font-medium uppercase text-white/90 transition-all',\n rounding,\n BOX_SIZE[size],\n TEXT_SIZE[size],\n active && 'bg-brand',\n className\n )}\n style={\n active\n ? undefined\n : {\n backgroundImage: `linear-gradient(to bottom right, ${startColor}, #aaaaaa)`,\n }\n }\n >\n {imageUrl ? (\n <div\n className={cn(\n 'absolute inset-0 size-full bg-cover bg-center',\n rounding\n )}\n style={{ backgroundImage: `url(${sanitizeUrl(imageUrl)})` }}\n />\n ) : label ? (\n <span>{label.charAt(0)}</span>\n ) : (\n (fallbackIcon ?? null)\n )}\n\n {badge && (\n <div\n className={cn(\n 'absolute rounded-full border-current bg-error-strong outline-transparent',\n size === 'xxs'\n ? '-right-0.5 -top-0.5 size-1.5 border'\n : '-right-1 -top-1 size-3 border-2'\n )}\n />\n )}\n </div>\n );\n\n if (tooltip) {\n return <Tooltip title={tooltip}>{inner}</Tooltip>;\n }\n\n return inner;\n }\n);\n\nAvatar.displayName = 'Avatar';\n\nexport { Avatar };\nexport type { AvatarProps, AvatarSize };\n"],"mappings":";;;;;;;;AAwCA,IAAM,WAAuC;CAC3C,KAAK,qBAAqB,IAAI;CAC9B,IAAI,qBAAqB,GAAG;CAC5B,IAAI,qBAAqB,GAAG;CAC5B,IAAI,qBAAqB,GAAG;CAC5B,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,YAAwC;CAC5C,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,SAAS,YAEX,EACE,OAAO,MACP,QAAQ,UACR,OACA,SACA,WACA,OACA,UACA,OACA,cACA,UAEF,QACG;CACH,MAAM,aAAa,SAAS,iBAAiB,KAAK;CAClD,MAAM,WAAW,UAAU,WAAW,iBAAiB;CAEvD,MAAM,QAGJ,qBAAC,OAAD;EACO;EACL,WAAW,GACT,2IACA,UACA,SAAS,OACT,UAAU,OACV,UAAU,YACV,SACF;EACA,OACE,SACI,KAAA,IACA,EACE,iBAAiB,oCAAoC,WAAW,YAClE;EAfR,UAAA,CAkBG,WACC,oBAAC,OAAD;GACE,WAAW,GACT,iDACA,QACF;GACA,OAAO,EAAE,iBAAiB,OAAO,YAAY,QAAQ,EAAE,GAAG;EAC3D,CAAA,IACC,QACF,oBAAC,QAAD,EAAA,UAAO,MAAM,OAAO,CAAC,EAAQ,CAAA,IAE5B,gBAAgB,MAGlB,SACC,oBAAC,OAAD,EACE,WAAW,GACT,4EACA,SAAS,QACL,wCACA,iCACN,EACD,CAAA,CAEA;;CAGP,IAAI,SACF,OAAO,oBAAC,SAAD;EAAS,OAAO;EAAU,UAAA;CAAe,CAAA;CAGlD,OAAO;AACT,CACF;AAEA,OAAO,cAAc"}
@@ -0,0 +1,2 @@
1
+ export { Avatar } from './Avatar.js';
2
+ export type { AvatarProps, AvatarSize } from './Avatar.js';
@@ -0,0 +1,2 @@
1
+ import { Avatar } from "./Avatar.js";
2
+ export { Avatar };
@@ -0,0 +1,25 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { IconComponent, IconWeight } from '../../utils/icon-types.js';
3
+ import { type TextProps } from '../Text/index.js';
4
+ interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
5
+ /** Badge style preset */
6
+ variant?: 'default' | 'manifestPreview';
7
+ rounded?: 'full' | 'none' | 'xs' | 'sm';
8
+ /** Badge color scheme */
9
+ color?: 'primary' | 'secondary' | 'success' | 'error' | 'warning' | 'special' | 'plain';
10
+ /** Text-label height. */
11
+ size?: 'xxs' | 'xs' | 'sm' | 'md';
12
+ /** Left decorator icon */
13
+ leftDecorator?: IconComponent;
14
+ /** Right decorator icon */
15
+ rightDecorator?: IconComponent;
16
+ /** Phosphor weight used for decorator icons. */
17
+ iconWeight?: IconWeight;
18
+ /** Badge content */
19
+ children?: string | ReactElement<SVGSVGElement>;
20
+ /** Font weight of text content */
21
+ textWeight?: TextProps['weight'];
22
+ }
23
+ declare const Badge: import("react").ForwardRefExoticComponent<BadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
24
+ export { Badge };
25
+ export type { BadgeProps };
@@ -0,0 +1,82 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { Text } from "../Text/Text.js";
3
+ import { forwardRef } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region packages/components/src/components/Badge/Badge.tsx
6
+ /** Exact outer heights: xxs/xs=16px, sm=20px, md=24px. */
7
+ var SIZE_BOX_CLASSES = {
8
+ xxs: "h-4 gap-space-1 px-space-1",
9
+ xs: "h-4 gap-space-1 px-space-1",
10
+ sm: "h-5 gap-space-1 px-space-1",
11
+ md: "h-6 gap-space-1 px-space-2"
12
+ };
13
+ var SIZE_TEXT_VARIANT = {
14
+ xxs: "xs",
15
+ xs: "xs",
16
+ sm: "sm",
17
+ md: "sm"
18
+ };
19
+ var SIZE_DEFAULT_WEIGHT = {
20
+ xxs: "normal",
21
+ xs: "medium",
22
+ sm: "medium",
23
+ md: "medium"
24
+ };
25
+ var SIZE_ICON_CLASSES = {
26
+ xxs: "size-3",
27
+ xs: "size-3",
28
+ sm: "size-3",
29
+ md: "size-4"
30
+ };
31
+ var Badge = forwardRef(({ variant = "default", color, size, rounded = "full", leftDecorator: LeftIcon, rightDecorator: RightIcon, iconWeight, className, children, textWeight, ...props }, ref) => {
32
+ const isString = typeof children === "string";
33
+ const isManifestPreview = variant === "manifestPreview";
34
+ const resolvedColor = color ?? (isManifestPreview ? "plain" : "secondary");
35
+ const resolvedSize = size ?? (isManifestPreview ? "sm" : "md");
36
+ const resolvedTextWeight = textWeight ?? SIZE_DEFAULT_WEIGHT[resolvedSize];
37
+ const baseStyles = cn("box-border inline-flex items-center justify-center border border-transparent", SIZE_BOX_CLASSES[resolvedSize], {
38
+ "rounded-xs": rounded === "xs" || rounded === "sm" || rounded === "none",
39
+ "rounded-full": rounded === "full",
40
+ border: resolvedColor === "plain"
41
+ });
42
+ const getColorStyles = () => {
43
+ switch (resolvedColor) {
44
+ case "primary": return "bg-brand-secondary text-brand-primary";
45
+ case "success": return "bg-success-secondary text-success-secondary";
46
+ case "error": return "bg-error-secondary text-error-secondary";
47
+ case "warning": return "bg-warning-secondary text-warning-secondary";
48
+ case "special": return "bg-ls-acid-50 text-ls-acid-700 dark:bg-ls-acid-200";
49
+ case "plain": return "bg-primary text-primary border-secondary";
50
+ default: return "bg-tertiary text-secondary";
51
+ }
52
+ };
53
+ return /* @__PURE__ */ jsxs("span", {
54
+ ref,
55
+ className: cn(baseStyles, getColorStyles(), isManifestPreview && "min-w-0 max-w-full overflow-hidden whitespace-nowrap [&>span]:truncate", isManifestPreview && color == null && "bg-transparent text-secondary", className),
56
+ ...props,
57
+ children: [
58
+ LeftIcon && /* @__PURE__ */ jsx(LeftIcon, {
59
+ "aria-hidden": true,
60
+ className: cn(SIZE_ICON_CLASSES[resolvedSize], "flex-shrink-0"),
61
+ weight: iconWeight
62
+ }),
63
+ isString ? /* @__PURE__ */ jsx(Text, {
64
+ as: "span",
65
+ variant: SIZE_TEXT_VARIANT[resolvedSize],
66
+ weight: resolvedTextWeight,
67
+ className: "tracking-tight",
68
+ children
69
+ }) : children,
70
+ RightIcon && /* @__PURE__ */ jsx(RightIcon, {
71
+ "aria-hidden": true,
72
+ className: cn(SIZE_ICON_CLASSES[resolvedSize], "flex-shrink-0"),
73
+ weight: iconWeight
74
+ })
75
+ ]
76
+ });
77
+ });
78
+ Badge.displayName = "Badge";
79
+ //#endregion
80
+ export { Badge };
81
+
82
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.js","names":[],"sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\n\nimport { cn } from '../../utils/cn';\nimport type { IconComponent, IconWeight } from '../../utils/icon-types';\nimport { Text, type TextProps } from '../Text';\n\n// Only allow string or SVG icon as children\ninterface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Badge style preset */\n variant?: 'default' | 'manifestPreview';\n rounded?: 'full' | 'none' | 'xs' | 'sm';\n /** Badge color scheme */\n color?:\n | 'primary'\n | 'secondary'\n | 'success'\n | 'error'\n | 'warning'\n | 'special'\n | 'plain';\n /** Text-label height. */\n size?: 'xxs' | 'xs' | 'sm' | 'md';\n /** Left decorator icon */\n leftDecorator?: IconComponent;\n\n /** Right decorator icon */\n rightDecorator?: IconComponent;\n\n /** Phosphor weight used for decorator icons. */\n iconWeight?: IconWeight;\n\n /** Badge content */\n children?: string | ReactElement<SVGSVGElement>;\n\n /** Font weight of text content */\n textWeight?: TextProps['weight'];\n}\n\ntype BadgeSize = NonNullable<BadgeProps['size']>;\n\n/** Exact outer heights: xxs/xs=16px, sm=20px, md=24px. */\nconst SIZE_BOX_CLASSES: Record<BadgeSize, string> = {\n xxs: 'h-4 gap-space-1 px-space-1',\n xs: 'h-4 gap-space-1 px-space-1',\n sm: 'h-5 gap-space-1 px-space-1',\n md: 'h-6 gap-space-1 px-space-2',\n};\n\nconst SIZE_TEXT_VARIANT: Record<BadgeSize, 'xs' | 'sm'> = {\n xxs: 'xs',\n xs: 'xs',\n sm: 'sm',\n md: 'sm',\n};\n\nconst SIZE_DEFAULT_WEIGHT: Record<\n BadgeSize,\n NonNullable<TextProps['weight']>\n> = {\n xxs: 'normal',\n xs: 'medium',\n sm: 'medium',\n md: 'medium',\n};\n\nconst SIZE_ICON_CLASSES: Record<BadgeSize, string> = {\n xxs: 'size-3',\n xs: 'size-3',\n sm: 'size-3',\n md: 'size-4',\n};\n\nconst Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n variant = 'default',\n color,\n size,\n rounded = 'full',\n leftDecorator: LeftIcon,\n rightDecorator: RightIcon,\n iconWeight,\n className,\n children,\n textWeight,\n ...props\n },\n ref\n ) => {\n const isString = typeof children === 'string';\n const isManifestPreview = variant === 'manifestPreview';\n const resolvedColor = color ?? (isManifestPreview ? 'plain' : 'secondary');\n const resolvedSize = size ?? (isManifestPreview ? 'sm' : 'md');\n const resolvedTextWeight = textWeight ?? SIZE_DEFAULT_WEIGHT[resolvedSize];\n const baseStyles = cn(\n 'box-border inline-flex items-center justify-center border border-transparent',\n SIZE_BOX_CLASSES[resolvedSize],\n {\n // TODO: we're only going to have 2 variants for the rounded prop. need to remove/rename the rounded prop\n 'rounded-xs':\n rounded === 'xs' || rounded === 'sm' || rounded === 'none',\n 'rounded-full': rounded === 'full',\n border: resolvedColor === 'plain',\n }\n );\n\n const getColorStyles = () => {\n switch (resolvedColor) {\n case 'primary':\n return 'bg-brand-secondary text-brand-primary';\n case 'success':\n return 'bg-success-secondary text-success-secondary';\n case 'error':\n return 'bg-error-secondary text-error-secondary';\n case 'warning':\n return 'bg-warning-secondary text-warning-secondary';\n case 'special':\n return 'bg-ls-acid-50 text-ls-acid-700 dark:bg-ls-acid-200';\n case 'plain':\n return 'bg-primary text-primary border-secondary';\n case 'secondary':\n default:\n return 'bg-tertiary text-secondary';\n }\n };\n\n return (\n <span\n ref={ref}\n className={cn(\n baseStyles,\n getColorStyles(),\n isManifestPreview &&\n 'min-w-0 max-w-full overflow-hidden whitespace-nowrap [&>span]:truncate',\n isManifestPreview && color == null && 'bg-transparent text-secondary',\n className\n )}\n {...props}\n >\n {LeftIcon && (\n <LeftIcon\n aria-hidden\n className={cn(SIZE_ICON_CLASSES[resolvedSize], 'flex-shrink-0')}\n weight={iconWeight}\n />\n )}\n {isString ? (\n <Text\n as=\"span\"\n variant={SIZE_TEXT_VARIANT[resolvedSize]}\n weight={resolvedTextWeight}\n className=\"tracking-tight\"\n >\n {children}\n </Text>\n ) : (\n children\n )}\n {RightIcon && (\n <RightIcon\n aria-hidden\n className={cn(SIZE_ICON_CLASSES[resolvedSize], 'flex-shrink-0')}\n weight={iconWeight}\n />\n )}\n </span>\n );\n }\n);\n\nBadge.displayName = 'Badge';\n\nexport { Badge };\nexport type { BadgeProps };\n"],"mappings":";;;;;;AA0CA,IAAM,mBAA8C;CAClD,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,oBAAoD;CACxD,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,sBAGF;CACF,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,oBAA+C;CACnD,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,QAAQ,YAEV,EACE,UAAU,WACV,OACA,MACA,UAAU,QACV,eAAe,UACf,gBAAgB,WAChB,YACA,WACA,UACA,YACA,GAAG,SAEL,QACG;CACH,MAAM,WAAW,OAAO,aAAa;CACrC,MAAM,oBAAoB,YAAY;CACtC,MAAM,gBAAgB,UAAU,oBAAoB,UAAU;CAC9D,MAAM,eAAe,SAAS,oBAAoB,OAAO;CACzD,MAAM,qBAAqB,cAAc,oBAAoB;CAC7D,MAAM,aAAa,GACjB,gFACA,iBAAiB,eACjB;EAEE,cACE,YAAY,QAAQ,YAAY,QAAQ,YAAY;EACtD,gBAAgB,YAAY;EAC5B,QAAQ,kBAAkB;CAC5B,CACF;CAEA,MAAM,uBAAuB;EAC3B,QAAQ,eAAR;GACE,KAAK,WACH,OAAO;GACT,KAAK,WACH,OAAO;GACT,KAAK,SACH,OAAO;GACT,KAAK,WACH,OAAO;GACT,KAAK,WACH,OAAO;GACT,KAAK,SACH,OAAO;GAET,SACE,OAAO;EACX;CACF;CAEA,OACE,qBAAC,QAAD;EACO;EACL,WAAW,GACT,YACA,eAAe,GACf,qBACE,0EACF,qBAAqB,SAAS,QAAQ,iCACtC,SACF;EACA,GAAI;EAVN,UAAA;GAYG,YACC,oBAAC,UAAD;IACE,eAAA;IACA,WAAW,GAAG,kBAAkB,eAAe,eAAe;IAC9D,QAAQ;GACT,CAAA;GAEF,WACC,oBAAC,MAAD;IACE,IAAG;IACH,SAAS,kBAAkB;IAC3B,QAAQ;IACR,WAAU;IAET;GACG,CAAA,IAEN;GAED,aACC,oBAAC,WAAD;IACE,eAAA;IACA,WAAW,GAAG,kBAAkB,eAAe,eAAe;IAC9D,QAAQ;GACT,CAAA;EAEC;;AAEV,CACF;AAEA,MAAM,cAAc"}
@@ -0,0 +1,2 @@
1
+ export { Badge } from './Badge.js';
2
+ export type { BadgeProps } from './Badge.js';
@@ -0,0 +1,2 @@
1
+ import { Badge } from "./Badge.js";
2
+ export { Badge };
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from 'react';
2
+ export type BannerIntent = 'warning' | 'info' | 'success' | 'error' | 'neutral';
3
+ export type BannerProps = {
4
+ title?: string;
5
+ children?: ReactNode;
6
+ dismissible?: boolean;
7
+ className?: string;
8
+ intent?: BannerIntent;
9
+ shadow?: boolean;
10
+ onDismiss?: () => void;
11
+ icon?: ReactNode;
12
+ action?: ReactNode;
13
+ flush?: boolean;
14
+ };
15
+ export declare const Banner: ({ title, children, dismissible, className, intent, shadow, onDismiss, icon, action, flush, }: BannerProps) => import("react").JSX.Element | null;
@@ -0,0 +1,102 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { Text } from "../Text/Text.js";
3
+ import { XIcon } from "../../icons/PaddedPhosphorIcons.js";
4
+ import { Icon } from "../Icon/Icon.js";
5
+ import { IconButton } from "../IconButton/IconButton.js";
6
+ import { useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { CheckCircleIcon } from "@phosphor-icons/react/dist/ssr/CheckCircle";
9
+ import { ExclamationMarkIcon } from "@phosphor-icons/react/dist/ssr/ExclamationMark";
10
+ import { InfoIcon } from "@phosphor-icons/react/dist/ssr/Info";
11
+ import { WarningIcon } from "@phosphor-icons/react/dist/ssr/Warning";
12
+ //#region packages/components/src/components/Banner/Banner.tsx
13
+ var Banner = ({ title, children, dismissible = false, className, intent = "warning", shadow = false, onDismiss, icon, action, flush = false }) => {
14
+ const [show, setShow] = useState(true);
15
+ const renderIcon = () => {
16
+ if (icon !== void 0) return icon;
17
+ switch (intent) {
18
+ case "warning": return /* @__PURE__ */ jsx(Icon, {
19
+ icon: WarningIcon,
20
+ weight: "fill",
21
+ size: "md",
22
+ className: "text-warning-secondary"
23
+ });
24
+ case "info": return /* @__PURE__ */ jsx(Icon, {
25
+ icon: InfoIcon,
26
+ weight: "fill",
27
+ size: "md",
28
+ className: "text-brand-100 dark:text-brand-600"
29
+ });
30
+ case "success": return /* @__PURE__ */ jsx(Icon, {
31
+ icon: CheckCircleIcon,
32
+ weight: "fill",
33
+ size: "md",
34
+ className: "text-success-secondary"
35
+ });
36
+ case "error": return /* @__PURE__ */ jsx(Icon, {
37
+ icon: ExclamationMarkIcon,
38
+ weight: "regular",
39
+ size: "md",
40
+ className: "text-error-secondary"
41
+ });
42
+ case "neutral": return /* @__PURE__ */ jsx(Icon, {
43
+ icon: InfoIcon,
44
+ weight: "fill",
45
+ size: "md",
46
+ className: "text-tertiary"
47
+ });
48
+ default: return null;
49
+ }
50
+ };
51
+ const titleElement = title == null ? null : /* @__PURE__ */ jsx(Text, {
52
+ as: "span",
53
+ variant: "sm",
54
+ weight: "medium",
55
+ color: "primary",
56
+ className: cn("whitespace-normal break-words", children != null && "mr-space-2"),
57
+ children: title
58
+ });
59
+ const contentElement = children == null ? null : typeof children === "string" ? /* @__PURE__ */ jsx(Text, {
60
+ as: "span",
61
+ variant: "sm",
62
+ weight: "normal",
63
+ color: "secondary",
64
+ className: "whitespace-normal break-words",
65
+ children
66
+ }) : children;
67
+ const iconElement = renderIcon();
68
+ const dismissButton = dismissible ? /* @__PURE__ */ jsx(IconButton, {
69
+ color: "secondary",
70
+ variant: "plain",
71
+ icon: XIcon,
72
+ label: "Close",
73
+ className: "shrink-0 self-center text-secondary hover:bg-transparent",
74
+ onClick: () => {
75
+ setShow(false);
76
+ onDismiss?.();
77
+ }
78
+ }) : null;
79
+ if (!show) return null;
80
+ return /* @__PURE__ */ jsxs("div", {
81
+ className: cn("m-0 flex items-center gap-space-2 border border-transparent px-space-4 py-space-3 text-sm", shadow && "shadow-lg", intent === "warning" && "bg-warning", intent === "info" && "bg-brand-subtle-gradient", intent === "success" && "bg-success", intent === "error" && "bg-error", intent === "neutral" && "bg-elevated", intent === "neutral" && !flush && "border-default", !flush && "rounded-md", className),
82
+ children: [
83
+ iconElement != null && /* @__PURE__ */ jsx("div", {
84
+ className: "mr-space-1 flex shrink-0 items-center",
85
+ children: iconElement
86
+ }),
87
+ /* @__PURE__ */ jsxs("div", {
88
+ className: "min-w-0 flex-1",
89
+ children: [titleElement, contentElement]
90
+ }),
91
+ action ? /* @__PURE__ */ jsx("div", {
92
+ className: "flex shrink-0 items-center",
93
+ children: action
94
+ }) : null,
95
+ dismissButton
96
+ ]
97
+ });
98
+ };
99
+ //#endregion
100
+ export { Banner };
101
+
102
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.js","names":[],"sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { useState } from 'react';\n\nimport { CheckCircleIcon } from '@phosphor-icons/react/dist/ssr/CheckCircle';\nimport { ExclamationMarkIcon } from '@phosphor-icons/react/dist/ssr/ExclamationMark';\nimport { InfoIcon } from '@phosphor-icons/react/dist/ssr/Info';\nimport { WarningIcon } from '@phosphor-icons/react/dist/ssr/Warning';\n\nimport { XIcon } from '../../icons/PaddedPhosphorIcons';\nimport { cn } from '../../utils/cn';\nimport { Icon } from '../Icon';\nimport { IconButton } from '../IconButton';\nimport { Text } from '../Text';\n\nexport type BannerIntent = 'warning' | 'info' | 'success' | 'error' | 'neutral';\n\nexport type BannerProps = {\n title?: string;\n children?: ReactNode;\n dismissible?: boolean;\n className?: string;\n intent?: BannerIntent;\n shadow?: boolean;\n onDismiss?: () => void;\n icon?: ReactNode;\n action?: ReactNode;\n flush?: boolean;\n};\n\nexport const Banner = ({\n title,\n children,\n dismissible = false,\n className,\n intent = 'warning',\n shadow = false,\n onDismiss,\n icon,\n action,\n flush = false,\n}: BannerProps) => {\n const [show, setShow] = useState(true);\n\n const renderIcon = () => {\n if (icon !== undefined) {\n return icon;\n }\n switch (intent) {\n case 'warning':\n return (\n <Icon\n icon={WarningIcon}\n weight=\"fill\"\n size=\"md\"\n className=\"text-warning-secondary\"\n />\n );\n case 'info':\n return (\n <Icon\n icon={InfoIcon}\n weight=\"fill\"\n size=\"md\"\n className=\"text-brand-100 dark:text-brand-600\"\n />\n );\n case 'success':\n return (\n <Icon\n icon={CheckCircleIcon}\n weight=\"fill\"\n size=\"md\"\n className=\"text-success-secondary\"\n />\n );\n case 'error':\n return (\n <Icon\n icon={ExclamationMarkIcon}\n weight=\"regular\"\n size=\"md\"\n className=\"text-error-secondary\"\n />\n );\n case 'neutral':\n return (\n <Icon\n icon={InfoIcon}\n weight=\"fill\"\n size=\"md\"\n className=\"text-tertiary\"\n />\n );\n default:\n return null;\n }\n };\n\n const titleElement =\n title == null ? null : (\n <Text\n as=\"span\"\n variant=\"sm\"\n weight=\"medium\"\n color=\"primary\"\n className={cn(\n 'whitespace-normal break-words',\n children != null && 'mr-space-2'\n )}\n >\n {title}\n </Text>\n );\n\n const contentElement =\n children == null ? null : typeof children === 'string' ? (\n <Text\n as=\"span\"\n variant=\"sm\"\n weight=\"normal\"\n color=\"secondary\"\n className=\"whitespace-normal break-words\"\n >\n {children}\n </Text>\n ) : (\n children\n );\n\n const iconElement = renderIcon();\n\n const dismissButton = dismissible ? (\n <IconButton\n color=\"secondary\"\n variant=\"plain\"\n icon={XIcon}\n label=\"Close\"\n className=\"shrink-0 self-center text-secondary hover:bg-transparent\"\n onClick={() => {\n setShow(false);\n onDismiss?.();\n }}\n />\n ) : null;\n\n if (!show) return null;\n return (\n <div\n className={cn(\n 'm-0 flex items-center gap-space-2 border border-transparent px-space-4 py-space-3 text-sm',\n shadow && 'shadow-lg',\n intent === 'warning' && 'bg-warning',\n intent === 'info' && 'bg-brand-subtle-gradient',\n intent === 'success' && 'bg-success',\n intent === 'error' && 'bg-error',\n intent === 'neutral' && 'bg-elevated',\n intent === 'neutral' && !flush && 'border-default',\n !flush && 'rounded-md',\n className\n )}\n >\n {iconElement != null && (\n <div className=\"mr-space-1 flex shrink-0 items-center\">\n {iconElement}\n </div>\n )}\n <div className=\"min-w-0 flex-1\">\n {titleElement}\n {contentElement}\n </div>\n {action ? (\n <div className=\"flex shrink-0 items-center\">{action}</div>\n ) : null}\n {dismissButton}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;AA6BA,IAAa,UAAU,EACrB,OACA,UACA,cAAc,OACd,WACA,SAAS,WACT,SAAS,OACT,WACA,MACA,QACA,QAAQ,YACS;CACjB,MAAM,CAAC,MAAM,WAAW,SAAS,IAAI;CAErC,MAAM,mBAAmB;EACvB,IAAI,SAAS,KAAA,GACX,OAAO;EAET,QAAQ,QAAR;GACE,KAAK,WACH,OACE,oBAAC,MAAD;IACE,MAAM;IACN,QAAO;IACP,MAAK;IACL,WAAU;GACX,CAAA;GAEL,KAAK,QACH,OACE,oBAAC,MAAD;IACE,MAAM;IACN,QAAO;IACP,MAAK;IACL,WAAU;GACX,CAAA;GAEL,KAAK,WACH,OACE,oBAAC,MAAD;IACE,MAAM;IACN,QAAO;IACP,MAAK;IACL,WAAU;GACX,CAAA;GAEL,KAAK,SACH,OACE,oBAAC,MAAD;IACE,MAAM;IACN,QAAO;IACP,MAAK;IACL,WAAU;GACX,CAAA;GAEL,KAAK,WACH,OACE,oBAAC,MAAD;IACE,MAAM;IACN,QAAO;IACP,MAAK;IACL,WAAU;GACX,CAAA;GAEL,SACE,OAAO;EACX;CACF;CAEA,MAAM,eACJ,SAAS,OAAO,OACd,oBAAC,MAAD;EACE,IAAG;EACH,SAAQ;EACR,QAAO;EACP,OAAM;EACN,WAAW,GACT,iCACA,YAAY,QAAQ,YACtB;EAEC,UAAA;CACG,CAAA;CAGV,MAAM,iBACJ,YAAY,OAAO,OAAO,OAAO,aAAa,WAC5C,oBAAC,MAAD;EACE,IAAG;EACH,SAAQ;EACR,QAAO;EACP,OAAM;EACN,WAAU;EAET;CACG,CAAA,IAEN;CAGJ,MAAM,cAAc,WAAW;CAE/B,MAAM,gBAAgB,cACpB,oBAAC,YAAD;EACE,OAAM;EACN,SAAQ;EACR,MAAM;EACN,OAAM;EACN,WAAU;EACV,eAAe;GACb,QAAQ,KAAK;GACb,YAAY;EACd;CACD,CAAA,IACC;CAEJ,IAAI,CAAC,MAAM,OAAO;CAClB,OACE,qBAAC,OAAD;EACE,WAAW,GACT,6FACA,UAAU,aACV,WAAW,aAAa,cACxB,WAAW,UAAU,4BACrB,WAAW,aAAa,cACxB,WAAW,WAAW,YACtB,WAAW,aAAa,eACxB,WAAW,aAAa,CAAC,SAAS,kBAClC,CAAC,SAAS,cACV,SACF;EAZF,UAAA;GAcG,eAAe,QACd,oBAAC,OAAD;IAAK,WAAU;IACZ,UAAA;GACE,CAAA;GAEP,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACG,cACA,cACE;;GACJ,SACC,oBAAC,OAAD;IAAK,WAAU;IAA8B,UAAA;GAAY,CAAA,IACvD;GACH;EACE;;AAET"}
@@ -0,0 +1,2 @@
1
+ export { Banner } from './Banner.js';
2
+ export type { BannerIntent, BannerProps } from './Banner.js';
@@ -0,0 +1,2 @@
1
+ import { Banner } from "./Banner.js";
2
+ export { Banner };
@@ -0,0 +1,20 @@
1
+ import type { FocusEvent, KeyboardEvent, PointerEvent } from 'react';
2
+ import { type SpringValue } from '@react-spring/web';
3
+ import type { BarChartInteractionBar, BarChartOrientation, BarChartRenderedBar } from './BarChart.types.js';
4
+ type AnimatedBarProps = {
5
+ bar: BarChartRenderedBar;
6
+ orientation: BarChartOrientation;
7
+ animationProgress: SpringValue<number>;
8
+ animationStart: number;
9
+ animationEnd: number;
10
+ /** Naming the bar is what makes it a keyboard target. */
11
+ ariaLabel?: string;
12
+ isDimmed: boolean;
13
+ onPointerMove?: (bar: BarChartInteractionBar, event: PointerEvent<SVGPathElement>) => void;
14
+ onPointerOut?: () => void;
15
+ onActivate?: (bar: BarChartInteractionBar, event: PointerEvent<SVGPathElement> | KeyboardEvent<SVGPathElement>) => void;
16
+ onFocus?: (bar: BarChartInteractionBar, event: FocusEvent<SVGPathElement>) => void;
17
+ onBlur?: (bar: BarChartInteractionBar, event: FocusEvent<SVGPathElement>) => void;
18
+ };
19
+ export declare const AnimatedBar: ({ bar, orientation, animationProgress, animationStart, animationEnd, ariaLabel, isDimmed, onPointerMove, onPointerOut, onActivate, onFocus, onBlur, }: AnimatedBarProps) => import("react").JSX.Element;
20
+ export {};
@@ -0,0 +1,65 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { CHART_DIMMED_OPACITY } from "../../utils/chartConstants.js";
3
+ import { clamp } from "../../utils/clamp.js";
4
+ import { getBarPath, toBarChartInteractionBar } from "./BarChart.utils.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { animated } from "@react-spring/web";
7
+ //#region packages/components/src/components/BarChart/AnimatedBar.tsx
8
+ var AnimatedBar = ({ bar, orientation, animationProgress, animationStart, animationEnd, ariaLabel, isDimmed, onPointerMove, onPointerOut, onActivate, onFocus, onBlur }) => {
9
+ const interactionBar = toBarChartInteractionBar(bar);
10
+ const isInteractive = onPointerMove != null || onPointerOut != null || onActivate != null;
11
+ const isButton = onActivate != null && ariaLabel != null;
12
+ const handlePointerUp = onActivate == null ? void 0 : (event) => {
13
+ if (event.button !== 0) return;
14
+ onActivate(interactionBar, event);
15
+ };
16
+ const handleKeyDown = onActivate == null ? void 0 : (event) => {
17
+ if (event.key !== "Enter" && event.key !== " ") return;
18
+ event.preventDefault();
19
+ onActivate(interactionBar, event);
20
+ };
21
+ const handlePointerDown = (event) => {
22
+ if (event.pointerType === "mouse" && event.currentTarget.hasAttribute("tabindex")) event.preventDefault();
23
+ };
24
+ return /* @__PURE__ */ jsx(animated.path, {
25
+ d: animationProgress.to((progress) => {
26
+ const revealPosition = animationStart + (animationEnd - animationStart) * progress;
27
+ let { x, y, width, height } = bar;
28
+ if (orientation === "vertical") {
29
+ if (animationEnd < animationStart) {
30
+ const visibleStart = clamp(revealPosition, y, y + height);
31
+ height = y + height - visibleStart;
32
+ y = visibleStart;
33
+ } else height = clamp(revealPosition, y, y + height) - y;
34
+ } else if (animationEnd < animationStart) {
35
+ const visibleStart = clamp(revealPosition, x, x + width);
36
+ width = x + width - visibleStart;
37
+ x = visibleStart;
38
+ } else width = clamp(revealPosition, x, x + width) - x;
39
+ return getBarPath({
40
+ x,
41
+ y,
42
+ width,
43
+ height
44
+ });
45
+ }),
46
+ fill: bar.color,
47
+ opacity: isDimmed ? bar.opacity * CHART_DIMMED_OPACITY : bar.opacity,
48
+ className: cn("transition-opacity duration-fast focus-visible:stroke-focus focus-visible:stroke-2 focus-visible:outline-none motion-reduce:transition-none", isInteractive && "cursor-pointer"),
49
+ "data-bar-id": bar.id,
50
+ tabIndex: ariaLabel == null ? void 0 : 0,
51
+ "aria-label": ariaLabel,
52
+ role: isButton ? "button" : void 0,
53
+ onPointerMove: onPointerMove == null ? void 0 : (event) => onPointerMove(interactionBar, event),
54
+ onPointerDown: handlePointerDown,
55
+ onPointerOut,
56
+ onPointerUp: handlePointerUp,
57
+ onKeyDown: handleKeyDown,
58
+ onFocus: onFocus == null ? void 0 : (event) => onFocus(interactionBar, event),
59
+ onBlur: onBlur == null ? void 0 : (event) => onBlur(interactionBar, event)
60
+ });
61
+ };
62
+ //#endregion
63
+ export { AnimatedBar };
64
+
65
+ //# sourceMappingURL=AnimatedBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedBar.js","names":[],"sources":["../../../src/components/BarChart/AnimatedBar.tsx"],"sourcesContent":["import type { FocusEvent, KeyboardEvent, PointerEvent } from 'react';\n\nimport { animated, type SpringValue } from '@react-spring/web';\n\nimport { CHART_DIMMED_OPACITY } from '../../utils/chartConstants';\nimport { clamp } from '../../utils/clamp';\nimport { cn } from '../../utils/cn';\nimport type {\n BarChartInteractionBar,\n BarChartOrientation,\n BarChartRenderedBar,\n} from './BarChart.types';\nimport { getBarPath, toBarChartInteractionBar } from './BarChart.utils';\n\ntype AnimatedBarProps = {\n bar: BarChartRenderedBar;\n orientation: BarChartOrientation;\n animationProgress: SpringValue<number>;\n animationStart: number;\n animationEnd: number;\n /** Naming the bar is what makes it a keyboard target. */\n ariaLabel?: string;\n isDimmed: boolean;\n onPointerMove?: (\n bar: BarChartInteractionBar,\n event: PointerEvent<SVGPathElement>\n ) => void;\n onPointerOut?: () => void;\n onActivate?: (\n bar: BarChartInteractionBar,\n event: PointerEvent<SVGPathElement> | KeyboardEvent<SVGPathElement>\n ) => void;\n onFocus?: (\n bar: BarChartInteractionBar,\n event: FocusEvent<SVGPathElement>\n ) => void;\n onBlur?: (\n bar: BarChartInteractionBar,\n event: FocusEvent<SVGPathElement>\n ) => void;\n};\n\nexport const AnimatedBar = ({\n bar,\n orientation,\n animationProgress,\n animationStart,\n animationEnd,\n ariaLabel,\n isDimmed,\n onPointerMove,\n onPointerOut,\n onActivate,\n onFocus,\n onBlur,\n}: AnimatedBarProps) => {\n const interactionBar = toBarChartInteractionBar(bar);\n const isInteractive =\n onPointerMove != null || onPointerOut != null || onActivate != null;\n // A nameless bar must not claim the button role: it would be an unfocusable\n // control with no accessible name.\n const isButton = onActivate != null && ariaLabel != null;\n const handlePointerUp =\n onActivate == null\n ? undefined\n : (event: PointerEvent<SVGPathElement>) => {\n if (event.button !== 0) return;\n onActivate(interactionBar, event);\n };\n const handleKeyDown =\n onActivate == null\n ? undefined\n : (event: KeyboardEvent<SVGPathElement>) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n onActivate(interactionBar, event);\n };\n const handlePointerDown = (event: PointerEvent<SVGPathElement>) => {\n // Chromium can match :focus-visible when a focusable SVG path is clicked.\n // Keep the focus indicator for keyboard navigation without showing it for\n // pointer interaction.\n if (\n event.pointerType === 'mouse' &&\n event.currentTarget.hasAttribute('tabindex')\n ) {\n event.preventDefault();\n }\n };\n\n return (\n <animated.path\n d={animationProgress.to((progress) => {\n const revealPosition =\n animationStart + (animationEnd - animationStart) * progress;\n let { x, y, width, height } = bar;\n\n if (orientation === 'vertical') {\n if (animationEnd < animationStart) {\n const visibleStart = clamp(revealPosition, y, y + height);\n height = y + height - visibleStart;\n y = visibleStart;\n } else {\n height = clamp(revealPosition, y, y + height) - y;\n }\n } else if (animationEnd < animationStart) {\n const visibleStart = clamp(revealPosition, x, x + width);\n width = x + width - visibleStart;\n x = visibleStart;\n } else {\n width = clamp(revealPosition, x, x + width) - x;\n }\n\n return getBarPath({ x, y, width, height });\n })}\n fill={bar.color}\n opacity={isDimmed ? bar.opacity * CHART_DIMMED_OPACITY : bar.opacity}\n className={cn(\n 'transition-opacity duration-fast focus-visible:stroke-focus focus-visible:stroke-2 focus-visible:outline-none motion-reduce:transition-none',\n isInteractive && 'cursor-pointer'\n )}\n data-bar-id={bar.id}\n tabIndex={ariaLabel == null ? undefined : 0}\n aria-label={ariaLabel}\n role={isButton ? 'button' : undefined}\n onPointerMove={\n onPointerMove == null\n ? undefined\n : (event) => onPointerMove(interactionBar, event)\n }\n onPointerDown={handlePointerDown}\n onPointerOut={onPointerOut}\n onPointerUp={handlePointerUp}\n onKeyDown={handleKeyDown}\n onFocus={\n onFocus == null ? undefined : (event) => onFocus(interactionBar, event)\n }\n onBlur={\n onBlur == null ? undefined : (event) => onBlur(interactionBar, event)\n }\n />\n );\n};\n"],"mappings":";;;;;;;AA0CA,IAAa,eAAe,EAC1B,KACA,aACA,mBACA,gBACA,cACA,WACA,UACA,eACA,cACA,YACA,SACA,aACsB;CACtB,MAAM,iBAAiB,yBAAyB,GAAG;CACnD,MAAM,gBACJ,iBAAiB,QAAQ,gBAAgB,QAAQ,cAAc;CAGjE,MAAM,WAAW,cAAc,QAAQ,aAAa;CACpD,MAAM,kBACJ,cAAc,OACV,KAAA,KACC,UAAwC;EACvC,IAAI,MAAM,WAAW,GAAG;EACxB,WAAW,gBAAgB,KAAK;CAClC;CACN,MAAM,gBACJ,cAAc,OACV,KAAA,KACC,UAAyC;EACxC,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;EAChD,MAAM,eAAe;EACrB,WAAW,gBAAgB,KAAK;CAClC;CACN,MAAM,qBAAqB,UAAwC;EAIjE,IACE,MAAM,gBAAgB,WACtB,MAAM,cAAc,aAAa,UAAU,GAE3C,MAAM,eAAe;CAEzB;CAEA,OACE,oBAAC,SAAS,MAAV;EACE,GAAG,kBAAkB,IAAI,aAAa;GACpC,MAAM,iBACJ,kBAAkB,eAAe,kBAAkB;GACrD,IAAI,EAAE,GAAG,GAAG,OAAO,WAAW;GAE9B,IAAI,gBAAgB,YAAY;IAC9B,IAAI,eAAe,gBAAgB;KACjC,MAAM,eAAe,MAAM,gBAAgB,GAAG,IAAI,MAAM;KACxD,SAAS,IAAI,SAAS;KACtB,IAAI;IACN,OACE,SAAS,MAAM,gBAAgB,GAAG,IAAI,MAAM,IAAI;GAEpD,OAAO,IAAI,eAAe,gBAAgB;IACxC,MAAM,eAAe,MAAM,gBAAgB,GAAG,IAAI,KAAK;IACvD,QAAQ,IAAI,QAAQ;IACpB,IAAI;GACN,OACE,QAAQ,MAAM,gBAAgB,GAAG,IAAI,KAAK,IAAI;GAGhD,OAAO,WAAW;IAAE;IAAG;IAAG;IAAO;GAAO,CAAC;EAC3C,CAAC;EACD,MAAM,IAAI;EACV,SAAS,WAAW,IAAI,UAAU,uBAAuB,IAAI;EAC7D,WAAW,GACT,+IACA,iBAAiB,gBACnB;EACA,eAAa,IAAI;EACjB,UAAU,aAAa,OAAO,KAAA,IAAY;EAC1C,cAAY;EACZ,MAAM,WAAW,WAAW,KAAA;EAC5B,eACE,iBAAiB,OACb,KAAA,KACC,UAAU,cAAc,gBAAgB,KAAK;EAEpD,eAAe;EACD;EACd,aAAa;EACb,WAAW;EACX,SACE,WAAW,OAAO,KAAA,KAAa,UAAU,QAAQ,gBAAgB,KAAK;EAExE,QACE,UAAU,OAAO,KAAA,KAAa,UAAU,OAAO,gBAAgB,KAAK;CAEvE,CAAA;AAEL"}
@@ -0,0 +1,25 @@
1
+ import type { BarChartProps } from './BarChart.types.js';
2
+ /**
3
+ * Responsive, presentational bars for categorical and time-bucket data. Supports
4
+ * vertical or horizontal orientation, grouped or signed stacks, multiple value
5
+ * axes, threshold bands, controlled legend filtering, selection and active
6
+ * states, keyboard targets, and consumer-owned SVG slots. Bars always use
7
+ * square corners in every orientation and mode.
8
+ *
9
+ * The component is deliberately presentational: consumers retain fetching,
10
+ * sorting, Top-K/Other aggregation, formatting, tooltip content, links, frozen
11
+ * interaction state, and the loading and empty states — pair it with
12
+ * `ChartCard`, `ChartTooltip`, and `EmptyState`. Reach for `slots` before asking
13
+ * for a new prop; each slot receives the resolved scales and geometry.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * <BarChart
18
+ * aria-label="Requests by environment"
19
+ * series={[{ id: 'prod', label: 'Production', data }]}
20
+ * selectedIds={selectedIds}
21
+ * legendProps={{ onItemClick: (item) => toggleId(item.id) }}
22
+ * />
23
+ * ```
24
+ */
25
+ export declare const BarChart: ({ series, categoryAxis, valueAxes, mode, orientation, selectedIds, grid, valueBands, activeCategory, activeGuideBarId, activeBarId, activeLegendItemId, selectionRange, categoryPadding, plotPadding, minimumPlotWidth, groupPadding, minimumBarSize, shouldAnimate, slots, isRendering, showLegend, legendProps, className, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, getBarAriaLabel, getCategoryAriaLabel, onDatumPointerDown, onDatumPointerMove, onDatumPointerOut, onDatumPointerUp, onDatumActivate, onDatumFocus, onDatumBlur, onBarPointerMove, onBarPointerOut, onBarActivate, onBarFocus, onBarBlur, ...rest }: BarChartProps) => import("react").JSX.Element;