@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,30 @@
1
+ import type { MouseEventHandler } from 'react';
2
+ import type { ControlSize } from '../../utils/componentSizes.js';
3
+ type ButtonGroupSize = Exclude<ControlSize, 'lg'>;
4
+ interface ButtonGroupProps {
5
+ /** Button group color scheme to propagate to children */
6
+ color?: 'primary' | 'secondary';
7
+ /** Button group variant to propagate to children */
8
+ variant?: 'normal' | 'outlined' | 'plain';
9
+ /**
10
+ * Control height: xs=20px, sm=24px, md=32px. Cloned onto direct React children.
11
+ * Wrappers must forward it; otherwise set the same size on their inner controls.
12
+ */
13
+ size?: ButtonGroupSize;
14
+ /** Additional CSS classes */
15
+ className?: string;
16
+ /**
17
+ * Button or IconButton controls, optionally inside wrappers that render no
18
+ * extra DOM element. PopoverTrigger/DropdownMenuTrigger with asChild forward
19
+ * group props; Tooltip requires matching props on its inner control.
20
+ */
21
+ children: React.ReactNode;
22
+ onMouseEnter?: MouseEventHandler<HTMLDivElement>;
23
+ onMouseLeave?: MouseEventHandler<HTMLDivElement>;
24
+ }
25
+ declare function ButtonGroup({ color, variant, size, className, children, onMouseEnter, onMouseLeave, }: ButtonGroupProps): import("react").JSX.Element;
26
+ declare namespace ButtonGroup {
27
+ var displayName: string;
28
+ }
29
+ export { ButtonGroup };
30
+ export type { ButtonGroupProps };
@@ -0,0 +1,26 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { Children, cloneElement, isValidElement } from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region packages/components/src/components/ButtonGroup/ButtonGroup.tsx
5
+ function ButtonGroup({ color, variant, size, className, children, onMouseEnter, onMouseLeave }) {
6
+ const baseStyles = cn("inline-flex items-stretch", "[&>*:not(:first-child)]:border-l-0", "[&>*:not(:first-child):not(:last-child)]:rounded-none", "[&>*:first-child]:rounded-r-none", "[&>*:last-child]:rounded-l-none", "[&>*:only-child]:rounded", className);
7
+ const clonedChildren = Children.map(children, (child) => {
8
+ if (isValidElement(child)) return cloneElement(child, {
9
+ color,
10
+ size,
11
+ variant
12
+ });
13
+ return child;
14
+ });
15
+ return /* @__PURE__ */ jsx("div", {
16
+ className: baseStyles,
17
+ onMouseEnter,
18
+ onMouseLeave,
19
+ children: clonedChildren
20
+ });
21
+ }
22
+ ButtonGroup.displayName = "ButtonGroup";
23
+ //#endregion
24
+ export { ButtonGroup };
25
+
26
+ //# sourceMappingURL=ButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroup.js","names":[],"sources":["../../../src/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import type { MouseEventHandler } from 'react';\nimport { Children, cloneElement, isValidElement } from 'react';\n\nimport { cn } from '../../utils/cn';\nimport type { ControlSize } from '../../utils/componentSizes';\nimport type { ButtonProps } from '../Button';\nimport type { IconButtonProps } from '../IconButton';\n\ntype ButtonGroupSize = Exclude<ControlSize, 'lg'>;\n\ninterface ButtonGroupProps {\n /** Button group color scheme to propagate to children */\n color?: 'primary' | 'secondary';\n /** Button group variant to propagate to children */\n variant?: 'normal' | 'outlined' | 'plain';\n /**\n * Control height: xs=20px, sm=24px, md=32px. Cloned onto direct React children.\n * Wrappers must forward it; otherwise set the same size on their inner controls.\n */\n size?: ButtonGroupSize;\n /** Additional CSS classes */\n className?: string;\n /**\n * Button or IconButton controls, optionally inside wrappers that render no\n * extra DOM element. PopoverTrigger/DropdownMenuTrigger with asChild forward\n * group props; Tooltip requires matching props on its inner control.\n */\n children: React.ReactNode;\n onMouseEnter?: MouseEventHandler<HTMLDivElement>;\n onMouseLeave?: MouseEventHandler<HTMLDivElement>;\n}\n\nfunction ButtonGroup({\n color,\n variant,\n size,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n}: ButtonGroupProps) {\n const baseStyles = cn(\n 'inline-flex items-stretch',\n '[&>*:not(:first-child)]:border-l-0', // Remove left border on all but first child\n '[&>*:not(:first-child):not(:last-child)]:rounded-none', // Remove border radius on middle children\n '[&>*:first-child]:rounded-r-none', // Remove right border radius on first child\n '[&>*:last-child]:rounded-l-none', // Remove left border radius on last child\n '[&>*:only-child]:rounded', // Preserve border radius when only one child\n className\n );\n\n const clonedChildren = Children.map(children, (child) => {\n if (isValidElement<ButtonProps | IconButtonProps>(child)) {\n // Replace direct-child props, including with undefined. Wrappers control\n // forwarding; Radix asChild gives explicitly set inner props precedence.\n const props: Partial<ButtonProps & IconButtonProps> = {\n color,\n size,\n variant,\n };\n\n return cloneElement(child, props);\n }\n return child;\n });\n\n return (\n <div\n className={baseStyles}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {clonedChildren}\n </div>\n );\n}\n\nButtonGroup.displayName = 'ButtonGroup';\n\nexport { ButtonGroup };\nexport type { ButtonGroupProps };\n"],"mappings":";;;;AAgCA,SAAS,YAAY,EACnB,OACA,SACA,MACA,WACA,UACA,cACA,gBACmB;CACnB,MAAM,aAAa,GACjB,6BACA,sCACA,yDACA,oCACA,mCACA,4BACA,SACF;CAEA,MAAM,iBAAiB,SAAS,IAAI,WAAW,UAAU;EACvD,IAAI,eAA8C,KAAK,GASrD,OAAO,aAAa,OAAO;GALzB;GACA;GACA;EAGyB,CAAK;EAElC,OAAO;CACT,CAAC;CAED,OACE,oBAAC,OAAD;EACE,WAAW;EACG;EACA;EAEb,UAAA;CACE,CAAA;AAET;AAEA,YAAY,cAAc"}
@@ -0,0 +1,2 @@
1
+ export { ButtonGroup } from './ButtonGroup.js';
2
+ export type { ButtonGroupProps } from './ButtonGroup.js';
@@ -0,0 +1,2 @@
1
+ import { ButtonGroup } from "./ButtonGroup.js";
2
+ export { ButtonGroup };
@@ -0,0 +1,10 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ export type CardIntent = 'plain' | 'neutral' | 'info';
3
+ export interface CardProps extends HTMLAttributes<HTMLDivElement> {
4
+ intent?: CardIntent;
5
+ }
6
+ /**
7
+ * A content surface that standardizes card color, border, radius, and padding
8
+ * while leaving content and layout to the consuming feature.
9
+ */
10
+ export declare const Card: import("react").ForwardRefExoticComponent<CardProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,23 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { forwardRef } from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region packages/components/src/components/Card/Card.tsx
5
+ var intentClasses = {
6
+ plain: "border-muted bg-elevated",
7
+ neutral: "border-muted bg-surface-level-2",
8
+ info: "border-brand-subtle bg-brand-subtle"
9
+ };
10
+ /**
11
+ * A content surface that standardizes card color, border, radius, and padding
12
+ * while leaving content and layout to the consuming feature.
13
+ */
14
+ var Card = forwardRef(({ intent = "neutral", className, ...props }, ref) => /* @__PURE__ */ jsx("div", {
15
+ ref,
16
+ className: cn("rounded-lg border p-space-4", intentClasses[intent], className),
17
+ ...props
18
+ }));
19
+ Card.displayName = "Card";
20
+ //#endregion
21
+ export { Card };
22
+
23
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","names":[],"sources":["../../../src/components/Card/Card.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport type CardIntent = 'plain' | 'neutral' | 'info';\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n intent?: CardIntent;\n}\n\nconst intentClasses: Record<CardIntent, string> = {\n plain: 'border-muted bg-elevated',\n neutral: 'border-muted bg-surface-level-2',\n info: 'border-brand-subtle bg-brand-subtle',\n};\n\n/**\n * A content surface that standardizes card color, border, radius, and padding\n * while leaving content and layout to the consuming feature.\n */\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n ({ intent = 'neutral', className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'rounded-lg border p-space-4',\n intentClasses[intent],\n className\n )}\n {...props}\n />\n )\n);\n\nCard.displayName = 'Card';\n"],"mappings":";;;;AAUA,IAAM,gBAA4C;CAChD,OAAO;CACP,SAAS;CACT,MAAM;AACR;;;;;AAMA,IAAa,OAAO,YACjB,EAAE,SAAS,WAAW,WAAW,GAAG,SAAS,QAC5C,oBAAC,OAAD;CACO;CACL,WAAW,GACT,+BACA,cAAc,SACd,SACF;CACA,GAAI;AACL,CAAA,CAEL;AAEA,KAAK,cAAc"}
@@ -0,0 +1,2 @@
1
+ export { Card } from './Card.js';
2
+ export type { CardIntent, CardProps } from './Card.js';
@@ -0,0 +1,2 @@
1
+ import { Card } from "./Card.js";
2
+ export { Card };
@@ -0,0 +1,53 @@
1
+ import { type ButtonHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type ChartCardSkeletonVariant } from './ChartCardSkeleton.js';
3
+ export interface ChartCardActionButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'color'> {
4
+ /** Accessible label and tooltip text. */
5
+ label?: string;
6
+ }
7
+ export type ChartCardVariant = 'default' | 'full-width';
8
+ export type ChartCardState = 'ready' | 'loading' | 'error';
9
+ export interface ChartCardProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
10
+ /** Visible chart title rendered in the card header. */
11
+ title: ReactNode;
12
+ /**
13
+ * Optional secondary text rendered beneath the title. Truncated to a single
14
+ * line to match the title's overflow behavior.
15
+ */
16
+ description?: ReactNode;
17
+ /** Visual state of the card. Fetching and retry behavior remain external. */
18
+ state?: ChartCardState;
19
+ /** Chart-shaped loading state. Omit for the generic placeholder. */
20
+ skeletonVariant?: ChartCardSkeletonVariant;
21
+ /** Size the loading plot to match a compact or fixed-height chart. */
22
+ skeletonClassName?: string;
23
+ /** Layout state for the card. Full-width cards hide their move handle. */
24
+ variant?: ChartCardVariant;
25
+ /** Whether to show the chart's move handle. Requires dragHandleProps. */
26
+ isMovable?: boolean;
27
+ /**
28
+ * Props for the move handle. Pass the listeners and attributes from the
29
+ * dashboard's drag-and-drop implementation; the card owns only the visual
30
+ * affordance.
31
+ */
32
+ dragHandleProps?: ChartCardActionButtonProps;
33
+ /** Props for the optional expand button. Expansion state remains external. */
34
+ expandButtonProps?: ChartCardActionButtonProps;
35
+ /** Props for the optional close button. Closing behavior remains external. */
36
+ closeButtonProps?: ChartCardActionButtonProps;
37
+ /** Feature-owned controls rendered in the top-right header action area. */
38
+ headerActions?: ReactNode;
39
+ /**
40
+ * Feature-owned menu items rendered inside the card's overflow menu. The
41
+ * card supplies the trigger, positioning, and menu surface.
42
+ */
43
+ menuItems?: ReactNode;
44
+ /** Classes applied to the chart-and-legend content region. */
45
+ contentClassName?: string;
46
+ }
47
+ /**
48
+ * A lightweight, chart-library-agnostic container for dashboard
49
+ * visualizations. ChartCard standardizes the shell and header actions while
50
+ * leaving data fetching, chart rendering, drag behavior, and expansion
51
+ * behavior to the consuming feature.
52
+ */
53
+ export declare const ChartCard: import("react").ForwardRefExoticComponent<ChartCardProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,172 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { Text } from "../Text/Text.js";
3
+ import { DotsSixVerticalIcon, XCloseIcon } from "../../icons/PaddedPhosphorIcons.js";
4
+ import { IconButton } from "../IconButton/IconButton.js";
5
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from "../DropdownMenu/DropdownMenu.js";
6
+ import { EmptyState } from "../EmptyState/EmptyState.js";
7
+ import { Skeleton } from "../Skeleton/Skeleton.js";
8
+ import { ChartCardSkeleton } from "./ChartCardSkeleton.js";
9
+ import { forwardRef, useId } from "react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ import { WarningIcon } from "@phosphor-icons/react/dist/ssr/Warning";
12
+ import { ArrowsInSimpleIcon } from "@phosphor-icons/react/dist/ssr/ArrowsInSimple";
13
+ import { ArrowsOutSimpleIcon } from "@phosphor-icons/react/dist/ssr/ArrowsOutSimple";
14
+ import { DotsThreeVerticalIcon } from "@phosphor-icons/react/dist/ssr/DotsThreeVertical";
15
+ //#region packages/components/src/components/ChartCard/ChartCard.tsx
16
+ var ChartCardLoadingState = () => /* @__PURE__ */ jsxs("div", {
17
+ role: "status",
18
+ className: "flex min-h-[13.5rem] flex-1 flex-col gap-space-2",
19
+ children: [/* @__PURE__ */ jsxs("div", {
20
+ className: "relative min-h-0 flex-1",
21
+ children: [/* @__PURE__ */ jsx(Skeleton, { className: "size-full rounded-md" }), /* @__PURE__ */ jsx(Text, {
22
+ variant: "sm",
23
+ color: "placeholder",
24
+ className: "absolute inset-0 flex items-center justify-center",
25
+ children: "Loading..."
26
+ })]
27
+ }), /* @__PURE__ */ jsxs("div", {
28
+ "aria-hidden": "true",
29
+ className: "flex min-w-0 items-center gap-space-2",
30
+ children: [
31
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-20" }),
32
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-24" }),
33
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-40" }),
34
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-12" })
35
+ ]
36
+ })]
37
+ });
38
+ var ChartCardErrorState = () => /* @__PURE__ */ jsx("div", {
39
+ role: "alert",
40
+ className: "flex min-h-0 flex-1 rounded-md",
41
+ children: /* @__PURE__ */ jsx(EmptyState, {
42
+ icon: WarningIcon,
43
+ iconWeight: "fill",
44
+ title: "There was an error while loading the chart.",
45
+ description: "Refresh the page to try again.",
46
+ className: "flex-1",
47
+ size: "sm"
48
+ })
49
+ });
50
+ /**
51
+ * A lightweight, chart-library-agnostic container for dashboard
52
+ * visualizations. ChartCard standardizes the shell and header actions while
53
+ * leaving data fetching, chart rendering, drag behavior, and expansion
54
+ * behavior to the consuming feature.
55
+ */
56
+ var ChartCard = forwardRef(({ title, description, children, state = "ready", skeletonVariant, skeletonClassName, variant = "default", isMovable = false, dragHandleProps, expandButtonProps, closeButtonProps, headerActions, menuItems, className, contentClassName, "aria-labelledby": ariaLabelledBy, "aria-busy": ariaBusy, ...props }, ref) => {
57
+ const titleId = useId();
58
+ const isFullWidth = variant === "full-width";
59
+ const isLoading = state === "loading";
60
+ const showDragHandle = isMovable && dragHandleProps != null && !isFullWidth && !isLoading;
61
+ const { label: dragHandleLabel = "Move chart", className: dragHandleClassName, onClick: onDragHandleClick, ...dragButtonProps } = dragHandleProps ?? {};
62
+ const { label: expandButtonLabel = isFullWidth ? "Minimize chart" : "Expand chart", className: expandButtonClassName, onClick: onExpandClick, ...expandActionProps } = expandButtonProps ?? {};
63
+ const { label: closeButtonLabel = "Close chart", className: closeButtonClassName, onClick: onCloseClick, ...closeActionProps } = closeButtonProps ?? {};
64
+ return /* @__PURE__ */ jsxs("section", {
65
+ ref,
66
+ "aria-labelledby": ariaLabelledBy ?? titleId,
67
+ "aria-busy": ariaBusy ?? (isLoading || void 0),
68
+ className: cn("flex min-w-0 flex-col overflow-hidden border border-muted bg-surface-level-1", isFullWidth && "w-full", className),
69
+ ...props,
70
+ children: [/* @__PURE__ */ jsxs("div", {
71
+ className: "flex min-w-0 items-center justify-between gap-space-3 pl-space-3 pr-space-2 pt-space-2",
72
+ children: [/* @__PURE__ */ jsxs("div", {
73
+ className: "flex min-w-0 flex-1 items-center",
74
+ children: [showDragHandle && /* @__PURE__ */ jsx(IconButton, {
75
+ ...dragButtonProps,
76
+ icon: DotsSixVerticalIcon,
77
+ iconWeight: "regular",
78
+ label: dragHandleLabel,
79
+ size: "xs",
80
+ variant: "plain",
81
+ color: "secondary",
82
+ iconClassName: "size-4 text-icon-primary",
83
+ className: cn("cursor-grab touch-none active:cursor-grabbing", dragHandleClassName),
84
+ onClick: (event) => {
85
+ event.stopPropagation();
86
+ onDragHandleClick?.(event);
87
+ }
88
+ }), /* @__PURE__ */ jsxs("div", {
89
+ className: "flex min-w-0 flex-1 flex-col gap-space-1",
90
+ children: [/* @__PURE__ */ jsx(Text, {
91
+ id: titleId,
92
+ as: "h3",
93
+ variant: "sm",
94
+ weight: "semibold",
95
+ className: "min-w-0 truncate",
96
+ children: title
97
+ }), description != null && description !== "" && /* @__PURE__ */ jsx(Text, {
98
+ variant: "xs",
99
+ color: "quaternary",
100
+ className: "min-w-0 truncate",
101
+ children: description
102
+ })]
103
+ })]
104
+ }), !isLoading && /* @__PURE__ */ jsxs("div", {
105
+ className: cn("flex shrink-0 items-center", Boolean(headerActions) && "gap-space-1"),
106
+ children: [
107
+ !!headerActions && /* @__PURE__ */ jsx("div", {
108
+ className: "flex items-center pr-space-1",
109
+ children: headerActions
110
+ }),
111
+ expandButtonProps != null && /* @__PURE__ */ jsx(IconButton, {
112
+ ...expandActionProps,
113
+ icon: isFullWidth ? ArrowsInSimpleIcon : ArrowsOutSimpleIcon,
114
+ label: expandButtonLabel,
115
+ size: "xs",
116
+ variant: "plain",
117
+ color: "secondary",
118
+ iconClassName: "size-4 text-icon-primary",
119
+ className: expandButtonClassName,
120
+ onClick: (event) => {
121
+ event.stopPropagation();
122
+ onExpandClick?.(event);
123
+ }
124
+ }),
125
+ !!menuItems && /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
126
+ asChild: true,
127
+ children: /* @__PURE__ */ jsx(IconButton, {
128
+ icon: DotsThreeVerticalIcon,
129
+ iconWeight: "regular",
130
+ label: "More chart actions",
131
+ size: "xs",
132
+ variant: "plain",
133
+ color: "secondary",
134
+ iconClassName: "size-4 text-icon-primary",
135
+ onClick: (event) => event.stopPropagation()
136
+ })
137
+ }), /* @__PURE__ */ jsx(DropdownMenuContent, {
138
+ align: "end",
139
+ preventClickThrough: true,
140
+ onClick: (event) => event.stopPropagation(),
141
+ children: menuItems
142
+ })] }),
143
+ closeButtonProps != null && /* @__PURE__ */ jsx(IconButton, {
144
+ ...closeActionProps,
145
+ icon: XCloseIcon,
146
+ label: closeButtonLabel,
147
+ size: "xs",
148
+ variant: "plain",
149
+ color: "secondary",
150
+ iconClassName: "text-icon-primary",
151
+ className: closeButtonClassName,
152
+ onClick: (event) => {
153
+ event.stopPropagation();
154
+ onCloseClick?.(event);
155
+ }
156
+ })
157
+ ]
158
+ })]
159
+ }), /* @__PURE__ */ jsx("div", {
160
+ className: cn("flex min-h-0 flex-1 flex-col gap-space-2 px-space-3 py-space-2", contentClassName),
161
+ children: state === "loading" ? skeletonVariant ? /* @__PURE__ */ jsx(ChartCardSkeleton, {
162
+ variant: skeletonVariant,
163
+ className: skeletonClassName
164
+ }) : /* @__PURE__ */ jsx(ChartCardLoadingState, {}) : state === "error" ? /* @__PURE__ */ jsx(ChartCardErrorState, {}) : children
165
+ })]
166
+ });
167
+ });
168
+ ChartCard.displayName = "ChartCard";
169
+ //#endregion
170
+ export { ChartCard };
171
+
172
+ //# sourceMappingURL=ChartCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCard.js","names":[],"sources":["../../../src/components/ChartCard/ChartCard.tsx"],"sourcesContent":["import {\n forwardRef,\n useId,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\n\nimport { ArrowsInSimpleIcon } from '@phosphor-icons/react/dist/ssr/ArrowsInSimple';\nimport { ArrowsOutSimpleIcon } from '@phosphor-icons/react/dist/ssr/ArrowsOutSimple';\nimport { DotsThreeVerticalIcon } from '@phosphor-icons/react/dist/ssr/DotsThreeVertical';\nimport { WarningIcon } from '@phosphor-icons/react/dist/ssr/Warning';\n\nimport {\n DotsSixVerticalIcon,\n XCloseIcon,\n} from '../../icons/PaddedPhosphorIcons';\nimport { cn } from '../../utils/cn';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from '../DropdownMenu';\nimport { EmptyState } from '../EmptyState';\nimport { IconButton } from '../IconButton';\nimport { Skeleton } from '../Skeleton';\nimport { Text } from '../Text';\nimport {\n ChartCardSkeleton,\n type ChartCardSkeletonVariant,\n} from './ChartCardSkeleton';\n\nexport interface ChartCardActionButtonProps extends Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'children' | 'color'\n> {\n /** Accessible label and tooltip text. */\n label?: string;\n}\n\nexport type ChartCardVariant = 'default' | 'full-width';\n\nexport type ChartCardState = 'ready' | 'loading' | 'error';\n\nconst ChartCardLoadingState = () => (\n <div\n role=\"status\"\n className=\"flex min-h-[13.5rem] flex-1 flex-col gap-space-2\"\n >\n <div className=\"relative min-h-0 flex-1\">\n <Skeleton className=\"size-full rounded-md\" />\n <Text\n variant=\"sm\"\n color=\"placeholder\"\n className=\"absolute inset-0 flex items-center justify-center\"\n >\n Loading...\n </Text>\n </div>\n <div aria-hidden=\"true\" className=\"flex min-w-0 items-center gap-space-2\">\n <Skeleton className=\"h-4 w-20\" />\n <Skeleton className=\"h-4 w-24\" />\n <Skeleton className=\"h-4 w-40\" />\n <Skeleton className=\"h-4 w-12\" />\n </div>\n </div>\n);\n\nconst ChartCardErrorState = () => (\n <div role=\"alert\" className=\"flex min-h-0 flex-1 rounded-md\">\n <EmptyState\n icon={WarningIcon}\n iconWeight=\"fill\"\n title=\"There was an error while loading the chart.\"\n description=\"Refresh the page to try again.\"\n className=\"flex-1\"\n size=\"sm\"\n />\n </div>\n);\n\nexport interface ChartCardProps extends Omit<\n HTMLAttributes<HTMLElement>,\n 'title'\n> {\n /** Visible chart title rendered in the card header. */\n title: ReactNode;\n /**\n * Optional secondary text rendered beneath the title. Truncated to a single\n * line to match the title's overflow behavior.\n */\n description?: ReactNode;\n /** Visual state of the card. Fetching and retry behavior remain external. */\n state?: ChartCardState;\n /** Chart-shaped loading state. Omit for the generic placeholder. */\n skeletonVariant?: ChartCardSkeletonVariant;\n /** Size the loading plot to match a compact or fixed-height chart. */\n skeletonClassName?: string;\n /** Layout state for the card. Full-width cards hide their move handle. */\n variant?: ChartCardVariant;\n /** Whether to show the chart's move handle. Requires dragHandleProps. */\n isMovable?: boolean;\n /**\n * Props for the move handle. Pass the listeners and attributes from the\n * dashboard's drag-and-drop implementation; the card owns only the visual\n * affordance.\n */\n dragHandleProps?: ChartCardActionButtonProps;\n /** Props for the optional expand button. Expansion state remains external. */\n expandButtonProps?: ChartCardActionButtonProps;\n /** Props for the optional close button. Closing behavior remains external. */\n closeButtonProps?: ChartCardActionButtonProps;\n /** Feature-owned controls rendered in the top-right header action area. */\n headerActions?: ReactNode;\n /**\n * Feature-owned menu items rendered inside the card's overflow menu. The\n * card supplies the trigger, positioning, and menu surface.\n */\n menuItems?: ReactNode;\n /** Classes applied to the chart-and-legend content region. */\n contentClassName?: string;\n}\n\n/**\n * A lightweight, chart-library-agnostic container for dashboard\n * visualizations. ChartCard standardizes the shell and header actions while\n * leaving data fetching, chart rendering, drag behavior, and expansion\n * behavior to the consuming feature.\n */\nexport const ChartCard = forwardRef<HTMLElement, ChartCardProps>(\n (\n {\n title,\n description,\n children,\n state = 'ready',\n skeletonVariant,\n skeletonClassName,\n variant = 'default',\n isMovable = false,\n dragHandleProps,\n expandButtonProps,\n closeButtonProps,\n headerActions,\n menuItems,\n className,\n contentClassName,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-busy': ariaBusy,\n ...props\n },\n ref\n ) => {\n const titleId = useId();\n const isFullWidth = variant === 'full-width';\n const isLoading = state === 'loading';\n const showDragHandle =\n isMovable && dragHandleProps != null && !isFullWidth && !isLoading;\n\n const {\n label: dragHandleLabel = 'Move chart',\n className: dragHandleClassName,\n onClick: onDragHandleClick,\n ...dragButtonProps\n } = dragHandleProps ?? {};\n const {\n label: expandButtonLabel = isFullWidth\n ? 'Minimize chart'\n : 'Expand chart',\n className: expandButtonClassName,\n onClick: onExpandClick,\n ...expandActionProps\n } = expandButtonProps ?? {};\n const {\n label: closeButtonLabel = 'Close chart',\n className: closeButtonClassName,\n onClick: onCloseClick,\n ...closeActionProps\n } = closeButtonProps ?? {};\n\n return (\n <section\n ref={ref}\n aria-labelledby={ariaLabelledBy ?? titleId}\n aria-busy={ariaBusy ?? (isLoading || undefined)}\n className={cn(\n 'flex min-w-0 flex-col overflow-hidden border border-muted bg-surface-level-1',\n isFullWidth && 'w-full',\n className\n )}\n {...props}\n >\n <div className=\"flex min-w-0 items-center justify-between gap-space-3 pl-space-3 pr-space-2 pt-space-2\">\n <div className=\"flex min-w-0 flex-1 items-center\">\n {showDragHandle && (\n <IconButton\n {...dragButtonProps}\n icon={DotsSixVerticalIcon}\n iconWeight=\"regular\"\n label={dragHandleLabel}\n size=\"xs\"\n variant=\"plain\"\n color=\"secondary\"\n iconClassName=\"size-4 text-icon-primary\"\n className={cn(\n 'cursor-grab touch-none active:cursor-grabbing',\n dragHandleClassName\n )}\n onClick={(event) => {\n event.stopPropagation();\n onDragHandleClick?.(event);\n }}\n />\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-space-1\">\n <Text\n id={titleId}\n as=\"h3\"\n variant=\"sm\"\n weight=\"semibold\"\n className=\"min-w-0 truncate\"\n >\n {title}\n </Text>\n {description != null && description !== '' && (\n <Text\n variant=\"xs\"\n color=\"quaternary\"\n className=\"min-w-0 truncate\"\n >\n {description}\n </Text>\n )}\n </div>\n </div>\n\n {!isLoading && (\n <div\n className={cn(\n 'flex shrink-0 items-center',\n Boolean(headerActions) && 'gap-space-1'\n )}\n >\n {!!headerActions && (\n <div className=\"flex items-center pr-space-1\">\n {headerActions}\n </div>\n )}\n {expandButtonProps != null && (\n <IconButton\n {...expandActionProps}\n icon={isFullWidth ? ArrowsInSimpleIcon : ArrowsOutSimpleIcon}\n label={expandButtonLabel}\n size=\"xs\"\n variant=\"plain\"\n color=\"secondary\"\n iconClassName=\"size-4 text-icon-primary\"\n className={expandButtonClassName}\n onClick={(event) => {\n event.stopPropagation();\n onExpandClick?.(event);\n }}\n />\n )}\n {!!menuItems && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n icon={DotsThreeVerticalIcon}\n iconWeight=\"regular\"\n label=\"More chart actions\"\n size=\"xs\"\n variant=\"plain\"\n color=\"secondary\"\n iconClassName=\"size-4 text-icon-primary\"\n onClick={(event) => event.stopPropagation()}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n preventClickThrough\n onClick={(event) => event.stopPropagation()}\n >\n {menuItems}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n {closeButtonProps != null && (\n <IconButton\n {...closeActionProps}\n icon={XCloseIcon}\n label={closeButtonLabel}\n size=\"xs\"\n variant=\"plain\"\n color=\"secondary\"\n iconClassName=\"text-icon-primary\"\n className={closeButtonClassName}\n onClick={(event) => {\n event.stopPropagation();\n onCloseClick?.(event);\n }}\n />\n )}\n </div>\n )}\n </div>\n\n <div\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-space-2 px-space-3 py-space-2',\n contentClassName\n )}\n >\n {state === 'loading' ? (\n skeletonVariant ? (\n <ChartCardSkeleton\n variant={skeletonVariant}\n className={skeletonClassName}\n />\n ) : (\n <ChartCardLoadingState />\n )\n ) : state === 'error' ? (\n <ChartCardErrorState />\n ) : (\n children\n )}\n </div>\n </section>\n );\n }\n);\n\nChartCard.displayName = 'ChartCard';\n"],"mappings":";;;;;;;;;;;;;;;AA4CA,IAAM,8BACJ,qBAAC,OAAD;CACE,MAAK;CACL,WAAU;CAFZ,UAAA,CAIE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,oBAAC,UAAD,EAAU,WAAU,uBAAwB,CAAA,GAC5C,oBAAC,MAAD;GACE,SAAQ;GACR,OAAM;GACN,WAAU;GACX,UAAA;EAEK,CAAA,CACH;CACL,CAAA,GAAA,qBAAC,OAAD;EAAK,eAAY;EAAO,WAAU;EAAlC,UAAA;GACE,oBAAC,UAAD,EAAU,WAAU,WAAY,CAAA;GAChC,oBAAC,UAAD,EAAU,WAAU,WAAY,CAAA;GAChC,oBAAC,UAAD,EAAU,WAAU,WAAY,CAAA;GAChC,oBAAC,UAAD,EAAU,WAAU,WAAY,CAAA;EAC7B;CACF,CAAA,CAAA;;AAGP,IAAM,4BACJ,oBAAC,OAAD;CAAK,MAAK;CAAQ,WAAU;CAC1B,UAAA,oBAAC,YAAD;EACE,MAAM;EACN,YAAW;EACX,OAAM;EACN,aAAY;EACZ,WAAU;EACV,MAAK;CACN,CAAA;AACE,CAAA;;;;;;;AAmDP,IAAa,YAAY,YAErB,EACE,OACA,aACA,UACA,QAAQ,SACR,iBACA,mBACA,UAAU,WACV,YAAY,OACZ,iBACA,mBACA,kBACA,eACA,WACA,WACA,kBACA,mBAAmB,gBACnB,aAAa,UACb,GAAG,SAEL,QACG;CACH,MAAM,UAAU,MAAM;CACtB,MAAM,cAAc,YAAY;CAChC,MAAM,YAAY,UAAU;CAC5B,MAAM,iBACJ,aAAa,mBAAmB,QAAQ,CAAC,eAAe,CAAC;CAE3D,MAAM,EACJ,OAAO,kBAAkB,cACzB,WAAW,qBACX,SAAS,mBACT,GAAG,oBACD,mBAAmB,CAAC;CACxB,MAAM,EACJ,OAAO,oBAAoB,cACvB,mBACA,gBACJ,WAAW,uBACX,SAAS,eACT,GAAG,sBACD,qBAAqB,CAAC;CAC1B,MAAM,EACJ,OAAO,mBAAmB,eAC1B,WAAW,sBACX,SAAS,cACT,GAAG,qBACD,oBAAoB,CAAC;CAEzB,OACE,qBAAC,WAAD;EACO;EACL,mBAAiB,kBAAkB;EACnC,aAAW,aAAa,aAAa,KAAA;EACrC,WAAW,GACT,gFACA,eAAe,UACf,SACF;EACA,GAAI;EATN,UAAA,CAWE,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACE,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACG,kBACC,oBAAC,YAAD;KACE,GAAI;KACJ,MAAM;KACN,YAAW;KACX,OAAO;KACP,MAAK;KACL,SAAQ;KACR,OAAM;KACN,eAAc;KACd,WAAW,GACT,iDACA,mBACF;KACA,UAAU,UAAU;MAClB,MAAM,gBAAgB;MACtB,oBAAoB,KAAK;KAC3B;IACD,CAAA,GAEH,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,oBAAC,MAAD;MACE,IAAI;MACJ,IAAG;MACH,SAAQ;MACR,QAAO;MACP,WAAU;MAET,UAAA;KACG,CAAA,GACL,eAAe,QAAQ,gBAAgB,MACtC,oBAAC,MAAD;MACE,SAAQ;MACR,OAAM;MACN,WAAU;MAET,UAAA;KACG,CAAA,CAEL;IACF,CAAA,CAAA;GAEJ,CAAA,GAAA,CAAC,aACA,qBAAC,OAAD;IACE,WAAW,GACT,8BACA,QAAQ,aAAa,KAAK,aAC5B;IAJF,UAAA;KAMG,CAAC,CAAC,iBACD,oBAAC,OAAD;MAAK,WAAU;MACZ,UAAA;KACE,CAAA;KAEN,qBAAqB,QACpB,oBAAC,YAAD;MACE,GAAI;MACJ,MAAM,cAAc,qBAAqB;MACzC,OAAO;MACP,MAAK;MACL,SAAQ;MACR,OAAM;MACN,eAAc;MACd,WAAW;MACX,UAAU,UAAU;OAClB,MAAM,gBAAgB;OACtB,gBAAgB,KAAK;MACvB;KACD,CAAA;KAEF,CAAC,CAAC,aACD,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,qBAAD;MAAqB,SAAA;MACnB,UAAA,oBAAC,YAAD;OACE,MAAM;OACN,YAAW;OACX,OAAM;OACN,MAAK;OACL,SAAQ;OACR,OAAM;OACN,eAAc;OACd,UAAU,UAAU,MAAM,gBAAgB;MAC3C,CAAA;KACkB,CAAA,GACrB,oBAAC,qBAAD;MACE,OAAM;MACN,qBAAA;MACA,UAAU,UAAU,MAAM,gBAAgB;MAEzC,UAAA;KACkB,CAAA,CACT,EAAA,CAAA;KAEf,oBAAoB,QACnB,oBAAC,YAAD;MACE,GAAI;MACJ,MAAM;MACN,OAAO;MACP,MAAK;MACL,SAAQ;MACR,OAAM;MACN,eAAc;MACd,WAAW;MACX,UAAU,UAAU;OAClB,MAAM,gBAAgB;OACtB,eAAe,KAAK;MACtB;KACD,CAAA;IAEA;GAEJ,CAAA,CAAA;EAEL,CAAA,GAAA,oBAAC,OAAD;GACE,WAAW,GACT,kEACA,gBACF;GAEC,UAAA,UAAU,YACT,kBACE,oBAAC,mBAAD;IACE,SAAS;IACT,WAAW;GACZ,CAAA,IAED,oBAAC,uBAAD,CAAwB,CAAA,IAExB,UAAU,UACZ,oBAAC,qBAAD,CAAsB,CAAA,IAEtB;EAEC,CAAA,CACE;;AAEb,CACF;AAEA,UAAU,cAAc"}
@@ -0,0 +1,7 @@
1
+ import type { CSSProperties } from 'react';
2
+ export type ChartCardSkeletonVariant = 'bar' | 'line' | 'donut' | 'metric' | 'sparkline';
3
+ export declare const ChartCardSkeleton: ({ variant, className, style, }: {
4
+ variant: ChartCardSkeletonVariant;
5
+ className?: string;
6
+ style?: CSSProperties;
7
+ }) => import("react").JSX.Element;
@@ -0,0 +1,61 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { Skeleton } from "../Skeleton/Skeleton.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region packages/components/src/components/ChartCard/ChartCardSkeleton.tsx
5
+ var BAR_HEIGHTS = [
6
+ "35%",
7
+ "62%",
8
+ "48%",
9
+ "78%",
10
+ "55%",
11
+ "70%",
12
+ "42%"
13
+ ];
14
+ var LegendSkeleton = () => /* @__PURE__ */ jsxs("div", {
15
+ "aria-hidden": "true",
16
+ className: "flex min-w-0 items-center gap-space-2",
17
+ children: [
18
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-20 motion-reduce:animate-none" }),
19
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-24 motion-reduce:animate-none" }),
20
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-16 motion-reduce:animate-none" })
21
+ ]
22
+ });
23
+ var Plot = ({ children }) => /* @__PURE__ */ jsx("div", {
24
+ className: "relative min-h-0 flex-1 border-b border-l border-muted",
25
+ children: /* @__PURE__ */ jsx("div", {
26
+ className: "absolute inset-0 flex px-space-2",
27
+ children
28
+ })
29
+ });
30
+ var ChartCardSkeleton = ({ variant, className, style }) => /* @__PURE__ */ jsxs("div", {
31
+ role: "status",
32
+ "aria-label": "Loading chart",
33
+ style,
34
+ className: cn("flex min-h-[13.5rem] flex-1 flex-col gap-space-2", variant === "metric" && "min-h-0", className),
35
+ children: [
36
+ variant === "bar" && /* @__PURE__ */ jsx(Plot, { children: /* @__PURE__ */ jsx("div", {
37
+ className: "flex size-full items-end gap-space-2",
38
+ children: BAR_HEIGHTS.map((height, index) => /* @__PURE__ */ jsx(Skeleton, {
39
+ className: "min-w-0 flex-1 rounded-b-none rounded-t-md motion-reduce:animate-none",
40
+ style: { height }
41
+ }, index))
42
+ }) }),
43
+ (variant === "line" || variant === "sparkline") && /* @__PURE__ */ jsx(Plot, { children: /* @__PURE__ */ jsx(Skeleton, {
44
+ className: "size-full rounded-none motion-reduce:animate-none",
45
+ style: { clipPath: "polygon(0 63%, 20% 43%, 38% 56%, 60% 26%, 78% 40%, 100% 13%, 100% 17%, 78% 44%, 60% 30%, 38% 60%, 20% 47%, 0 67%)" }
46
+ }) }),
47
+ variant === "donut" && /* @__PURE__ */ jsx("div", {
48
+ className: "flex min-h-0 flex-1 items-center justify-center",
49
+ children: /* @__PURE__ */ jsx("div", { className: "size-32 animate-pulse rounded-full border-[1.5rem] border-muted motion-reduce:animate-none" })
50
+ }),
51
+ variant === "metric" && /* @__PURE__ */ jsxs("div", {
52
+ className: "flex min-h-0 flex-1 flex-col justify-center gap-space-2",
53
+ children: [/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-1/2 motion-reduce:animate-none" }), /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-2/3 motion-reduce:animate-none" })]
54
+ }),
55
+ variant !== "metric" && /* @__PURE__ */ jsx(LegendSkeleton, {})
56
+ ]
57
+ });
58
+ //#endregion
59
+ export { ChartCardSkeleton };
60
+
61
+ //# sourceMappingURL=ChartCardSkeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChartCardSkeleton.js","names":[],"sources":["../../../src/components/ChartCard/ChartCardSkeleton.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nimport { cn } from '../../utils/cn';\nimport { Skeleton } from '../Skeleton';\n\nexport type ChartCardSkeletonVariant =\n | 'bar'\n | 'line'\n | 'donut'\n | 'metric'\n | 'sparkline';\n\nconst BAR_HEIGHTS = ['35%', '62%', '48%', '78%', '55%', '70%', '42%'] as const;\n\nconst LegendSkeleton = () => (\n <div aria-hidden=\"true\" className=\"flex min-w-0 items-center gap-space-2\">\n <Skeleton className=\"h-4 w-20 motion-reduce:animate-none\" />\n <Skeleton className=\"h-4 w-24 motion-reduce:animate-none\" />\n <Skeleton className=\"h-4 w-16 motion-reduce:animate-none\" />\n </div>\n);\n\nconst Plot = ({ children }: { children: React.ReactNode }) => (\n <div className=\"relative min-h-0 flex-1 border-b border-l border-muted\">\n {/* Anchor percentage-sized marks to the plot even in auto-height cards. */}\n <div className=\"absolute inset-0 flex px-space-2\">{children}</div>\n </div>\n);\n\nexport const ChartCardSkeleton = ({\n variant,\n className,\n style,\n}: {\n variant: ChartCardSkeletonVariant;\n className?: string;\n style?: CSSProperties;\n}) => (\n <div\n role=\"status\"\n aria-label=\"Loading chart\"\n style={style}\n className={cn(\n 'flex min-h-[13.5rem] flex-1 flex-col gap-space-2',\n variant === 'metric' && 'min-h-0',\n className\n )}\n >\n {variant === 'bar' && (\n <Plot>\n <div className=\"flex size-full items-end gap-space-2\">\n {BAR_HEIGHTS.map((height, index) => (\n <Skeleton\n key={index}\n className=\"min-w-0 flex-1 rounded-b-none rounded-t-md motion-reduce:animate-none\"\n style={{ height }}\n />\n ))}\n </div>\n </Plot>\n )}\n {(variant === 'line' || variant === 'sparkline') && (\n <Plot>\n <Skeleton\n className=\"size-full rounded-none motion-reduce:animate-none\"\n style={{\n clipPath:\n 'polygon(0 63%, 20% 43%, 38% 56%, 60% 26%, 78% 40%, 100% 13%, 100% 17%, 78% 44%, 60% 30%, 38% 60%, 20% 47%, 0 67%)',\n }}\n />\n </Plot>\n )}\n {variant === 'donut' && (\n <div className=\"flex min-h-0 flex-1 items-center justify-center\">\n <div className=\"size-32 animate-pulse rounded-full border-[1.5rem] border-muted motion-reduce:animate-none\" />\n </div>\n )}\n {variant === 'metric' && (\n <div className=\"flex min-h-0 flex-1 flex-col justify-center gap-space-2\">\n <Skeleton className=\"h-9 w-1/2 motion-reduce:animate-none\" />\n <Skeleton className=\"h-4 w-2/3 motion-reduce:animate-none\" />\n </div>\n )}\n {variant !== 'metric' && <LegendSkeleton />}\n </div>\n);\n"],"mappings":";;;;AAYA,IAAM,cAAc;CAAC;CAAO;CAAO;CAAO;CAAO;CAAO;CAAO;AAAK;AAEpE,IAAM,uBACJ,qBAAC,OAAD;CAAK,eAAY;CAAO,WAAU;CAAlC,UAAA;EACE,oBAAC,UAAD,EAAU,WAAU,sCAAuC,CAAA;EAC3D,oBAAC,UAAD,EAAU,WAAU,sCAAuC,CAAA;EAC3D,oBAAC,UAAD,EAAU,WAAU,sCAAuC,CAAA;CACxD;;AAGP,IAAM,QAAQ,EAAE,eACd,oBAAC,OAAD;CAAK,WAAU;CAEb,UAAA,oBAAC,OAAD;EAAK,WAAU;EAAoC;CAAc,CAAA;AAC9D,CAAA;AAGP,IAAa,qBAAqB,EAChC,SACA,WACA,YAMA,qBAAC,OAAD;CACE,MAAK;CACL,cAAW;CACJ;CACP,WAAW,GACT,oDACA,YAAY,YAAY,WACxB,SACF;CARF,UAAA;EAUG,YAAY,SACX,oBAAC,MAAD,EAAA,UACE,oBAAC,OAAD;GAAK,WAAU;GACZ,UAAA,YAAY,KAAK,QAAQ,UACxB,oBAAC,UAAD;IAEE,WAAU;IACV,OAAO,EAAE,OAAO;GACjB,GAHM,KAGN,CACF;EACE,CAAA,EACD,CAAA;GAEN,YAAY,UAAU,YAAY,gBAClC,oBAAC,MAAD,EAAA,UACE,oBAAC,UAAD;GACE,WAAU;GACV,OAAO,EACL,UACE,oHACJ;EACD,CAAA,EACG,CAAA;EAEP,YAAY,WACX,oBAAC,OAAD;GAAK,WAAU;GACb,UAAA,oBAAC,OAAD,EAAK,WAAU,6FAA8F,CAAA;EAC1G,CAAA;EAEN,YAAY,YACX,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACE,oBAAC,UAAD,EAAU,WAAU,uCAAwC,CAAA,GAC5D,oBAAC,UAAD,EAAU,WAAU,uCAAwC,CAAA,CACzD;;EAEN,YAAY,YAAY,oBAAC,gBAAD,CAAiB,CAAA;CACvC"}
@@ -0,0 +1,4 @@
1
+ export { ChartCard } from './ChartCard.js';
2
+ export { ChartCardSkeleton } from './ChartCardSkeleton.js';
3
+ export type { ChartCardActionButtonProps, ChartCardProps, ChartCardState, ChartCardVariant, } from './ChartCard.js';
4
+ export type { ChartCardSkeletonVariant } from './ChartCardSkeleton.js';
@@ -0,0 +1,3 @@
1
+ import { ChartCardSkeleton } from "./ChartCardSkeleton.js";
2
+ import { ChartCard } from "./ChartCard.js";
3
+ export { ChartCard, ChartCardSkeleton };
@@ -0,0 +1,19 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ export type ChartLegendItem = {
3
+ id: string;
4
+ label: ReactNode;
5
+ value?: ReactNode;
6
+ secondaryValue?: ReactNode;
7
+ 'aria-label'?: string;
8
+ markerColor?: string;
9
+ marker?: ReactNode;
10
+ selected?: boolean;
11
+ };
12
+ export type ChartLegendProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {
13
+ items: readonly ChartLegendItem[];
14
+ layout?: 'inline' | 'list';
15
+ onItemClick?: (item: ChartLegendItem) => void;
16
+ /** Reports the legend item under the pointer or keyboard focus. */
17
+ onItemActiveChange?: (item: ChartLegendItem | null) => void;
18
+ };
19
+ export declare const ChartLegend: ({ layout, items, onItemActiveChange, ...props }: ChartLegendProps) => import("react").JSX.Element;