@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,78 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { Command as CommandPrimitive } from 'cmdk';
3
+ import type { InputSize, InputVariant } from '../Input/inputStyles.js';
4
+ export declare const Command: import("react").ForwardRefExoticComponent<Omit<{
5
+ children?: React.ReactNode;
6
+ } & Pick<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
7
+ ref?: React.Ref<HTMLDivElement>;
8
+ } & {
9
+ asChild?: boolean;
10
+ }, "key" | "asChild" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
11
+ label?: string;
12
+ shouldFilter?: boolean;
13
+ filter?: (value: string, search: string, keywords?: string[]) => number;
14
+ defaultValue?: string;
15
+ value?: string;
16
+ onValueChange?: (value: string) => void;
17
+ loop?: boolean;
18
+ disablePointerSelection?: boolean;
19
+ vimBindings?: boolean;
20
+ } & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
21
+ export interface CommandInputProps extends Omit<ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'size'> {
22
+ /** Left side decorator (icon or element) */
23
+ leftDecorator?: ReactNode;
24
+ /** Right side decorator (icon or element) */
25
+ rightDecorator?: ReactNode;
26
+ /** Size variant — uses shared Input styling */
27
+ size?: InputSize;
28
+ /** Visual variant — uses shared Input styling */
29
+ variant?: InputVariant;
30
+ }
31
+ export declare const CommandInput: import("react").ForwardRefExoticComponent<CommandInputProps & import("react").RefAttributes<HTMLInputElement>>;
32
+ export declare const CommandList: import("react").ForwardRefExoticComponent<Omit<{
33
+ children?: React.ReactNode;
34
+ } & Pick<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
35
+ ref?: React.Ref<HTMLDivElement>;
36
+ } & {
37
+ asChild?: boolean;
38
+ }, "key" | "asChild" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
39
+ label?: string;
40
+ } & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
41
+ export declare const CommandEmpty: import("react").ForwardRefExoticComponent<Omit<{
42
+ children?: React.ReactNode;
43
+ } & Pick<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
44
+ ref?: React.Ref<HTMLDivElement>;
45
+ } & {
46
+ asChild?: boolean;
47
+ }, "key" | "asChild" | keyof import("react").HTMLAttributes<HTMLDivElement>> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
48
+ export declare const CommandGroup: import("react").ForwardRefExoticComponent<Omit<{
49
+ children?: React.ReactNode;
50
+ } & Omit<Pick<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
51
+ ref?: React.Ref<HTMLDivElement>;
52
+ } & {
53
+ asChild?: boolean;
54
+ }, "key" | "asChild" | keyof import("react").HTMLAttributes<HTMLDivElement>>, "heading" | "value"> & {
55
+ heading?: React.ReactNode;
56
+ value?: string;
57
+ forceMount?: boolean;
58
+ } & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
59
+ export declare const CommandSeparator: import("react").ForwardRefExoticComponent<Omit<Pick<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
60
+ ref?: React.Ref<HTMLDivElement>;
61
+ } & {
62
+ asChild?: boolean;
63
+ }, "key" | "asChild" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
64
+ alwaysRender?: boolean;
65
+ } & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
66
+ export declare const CommandItem: import("react").ForwardRefExoticComponent<Omit<{
67
+ children?: React.ReactNode;
68
+ } & Omit<Pick<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
69
+ ref?: React.Ref<HTMLDivElement>;
70
+ } & {
71
+ asChild?: boolean;
72
+ }, "key" | "asChild" | keyof import("react").HTMLAttributes<HTMLDivElement>>, "onSelect" | "disabled" | "value"> & {
73
+ disabled?: boolean;
74
+ onSelect?: (value: string) => void;
75
+ value?: string;
76
+ keywords?: string[];
77
+ forceMount?: boolean;
78
+ } & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,78 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { getInputContainerClasses, getInputElementClasses } from "../Input/inputStyles.js";
3
+ import { forwardRef } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { Command as Command$1 } from "cmdk";
6
+ //#region packages/components/src/components/Command/Command.tsx
7
+ var Command = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Command$1, {
8
+ ref,
9
+ className: cn("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover", className),
10
+ ...props
11
+ }));
12
+ Command.displayName = Command$1.displayName;
13
+ var CommandInput = forwardRef(({ className, leftDecorator, rightDecorator, size = "lg", variant = "outlined", ...props }, ref) => {
14
+ const containerClasses = getInputContainerClasses({
15
+ size,
16
+ variant,
17
+ disabled: props.disabled,
18
+ className
19
+ });
20
+ const inputClasses = getInputElementClasses({
21
+ size,
22
+ disabled: props.disabled
23
+ });
24
+ return /* @__PURE__ */ jsxs("div", {
25
+ className: containerClasses,
26
+ "cmdk-input-wrapper": "",
27
+ children: [
28
+ leftDecorator && /* @__PURE__ */ jsx("div", {
29
+ className: "flex items-center text-tertiary",
30
+ children: leftDecorator
31
+ }),
32
+ /* @__PURE__ */ jsx(Command$1.Input, {
33
+ ref,
34
+ className: inputClasses,
35
+ ...props
36
+ }),
37
+ rightDecorator && /* @__PURE__ */ jsx("div", {
38
+ className: "flex items-center text-tertiary",
39
+ children: rightDecorator
40
+ })
41
+ ]
42
+ });
43
+ });
44
+ CommandInput.displayName = Command$1.Input.displayName;
45
+ var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Command$1.List, {
46
+ ref,
47
+ className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
48
+ ...props
49
+ }));
50
+ CommandList.displayName = Command$1.List.displayName;
51
+ var CommandEmpty = forwardRef((props, ref) => /* @__PURE__ */ jsx(Command$1.Empty, {
52
+ ref,
53
+ className: "py-space-5 text-center",
54
+ ...props
55
+ }));
56
+ CommandEmpty.displayName = Command$1.Empty.displayName;
57
+ var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Command$1.Group, {
58
+ ref,
59
+ className: cn("overflow-hidden", "[&_[cmdk-group-heading]]:px-space-2 [&_[cmdk-group-heading]]:py-space-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:text-tertiary", className),
60
+ ...props
61
+ }));
62
+ CommandGroup.displayName = Command$1.Group.displayName;
63
+ var CommandSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Command$1.Separator, {
64
+ ref,
65
+ className: cn("bg-border -mx-space-1 h-px", className),
66
+ ...props
67
+ }));
68
+ CommandSeparator.displayName = Command$1.Separator.displayName;
69
+ var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Command$1.Item, {
70
+ ref,
71
+ className: cn("relative flex cursor-pointer select-none items-center rounded-md px-space-2 py-1.5 outline-none hover:bg-secondary aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-selected:bg-secondary", className),
72
+ ...props
73
+ }));
74
+ CommandItem.displayName = Command$1.Item.displayName;
75
+ //#endregion
76
+ export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator };
77
+
78
+ //# sourceMappingURL=Command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Command.js","names":[],"sources":["../../../src/components/Command/Command.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ElementRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { cn } from '../../utils/cn';\nimport {\n DECORATOR_CLASSES,\n getInputContainerClasses,\n getInputElementClasses,\n} from '../Input/inputStyles';\nimport type { InputSize, InputVariant } from '../Input/inputStyles';\n\nexport const Command = forwardRef<\n ElementRef<typeof CommandPrimitive>,\n ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover',\n className\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\nexport interface CommandInputProps extends Omit<\n ComponentPropsWithoutRef<typeof CommandPrimitive.Input>,\n 'size'\n> {\n /** Left side decorator (icon or element) */\n leftDecorator?: ReactNode;\n /** Right side decorator (icon or element) */\n rightDecorator?: ReactNode;\n /** Size variant — uses shared Input styling */\n size?: InputSize;\n /** Visual variant — uses shared Input styling */\n variant?: InputVariant;\n}\n\nexport const CommandInput = forwardRef<\n ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(\n (\n {\n className,\n leftDecorator,\n rightDecorator,\n size = 'lg',\n variant = 'outlined',\n ...props\n },\n ref\n ) => {\n const containerClasses = getInputContainerClasses({\n size,\n variant,\n disabled: props.disabled,\n className,\n });\n\n const inputClasses = getInputElementClasses({\n size,\n disabled: props.disabled,\n });\n\n return (\n <div className={containerClasses} {...{ 'cmdk-input-wrapper': '' }}>\n {leftDecorator && (\n <div className={DECORATOR_CLASSES}>{leftDecorator}</div>\n )}\n <CommandPrimitive.Input ref={ref} className={inputClasses} {...props} />\n {rightDecorator && (\n <div className={DECORATOR_CLASSES}>{rightDecorator}</div>\n )}\n </div>\n );\n }\n);\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nexport const CommandList = forwardRef<\n ElementRef<typeof CommandPrimitive.List>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nexport const CommandEmpty = forwardRef<\n ElementRef<typeof CommandPrimitive.Empty>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-space-5 text-center\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nexport const CommandGroup = forwardRef<\n ElementRef<typeof CommandPrimitive.Group>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden',\n '[&_[cmdk-group-heading]]:px-space-2 [&_[cmdk-group-heading]]:py-space-2 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:text-tertiary',\n className\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nexport const CommandSeparator = forwardRef<\n ElementRef<typeof CommandPrimitive.Separator>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn('bg-border -mx-space-1 h-px', className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nexport const CommandItem = forwardRef<\n ElementRef<typeof CommandPrimitive.Item>,\n ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-pointer select-none items-center rounded-md px-space-2 py-1.5 outline-none hover:bg-secondary aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-selected:bg-secondary',\n className\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n"],"mappings":";;;;;;AAaA,IAAa,UAAU,YAGpB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,WAAD;CACO;CACL,WAAW,GACT,qEACA,SACF;CACA,GAAI;AACL,CAAA,CACF;AACD,QAAQ,cAAc,UAAiB;AAgBvC,IAAa,eAAe,YAKxB,EACE,WACA,eACA,gBACA,OAAO,MACP,UAAU,YACV,GAAG,SAEL,QACG;CACH,MAAM,mBAAmB,yBAAyB;EAChD;EACA;EACA,UAAU,MAAM;EAChB;CACF,CAAC;CAED,MAAM,eAAe,uBAAuB;EAC1C;EACA,UAAU,MAAM;CAClB,CAAC;CAED,OACE,qBAAC,OAAD;EAAK,WAAW;EAAwB,sBAAsB;EAA9D,UAAA;GACG,iBACC,oBAAC,OAAD;IAAK,WAAA;IAA+B,UAAA;GAAmB,CAAA;GAEzD,oBAAC,UAAiB,OAAlB;IAA6B;IAAK,WAAW;IAAc,GAAI;GAAQ,CAAA;GACtE,kBACC,oBAAC,OAAD;IAAK,WAAA;IAA+B,UAAA;GAAoB,CAAA;EAEvD;;AAET,CACF;AAEA,aAAa,cAAc,UAAiB,MAAM;AAElD,IAAa,cAAc,YAGxB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,UAAiB,MAAlB;CACO;CACL,WAAW,GAAG,mDAAmD,SAAS;CAC1E,GAAI;AACL,CAAA,CACF;AAED,YAAY,cAAc,UAAiB,KAAK;AAEhD,IAAa,eAAe,YAGzB,OAAO,QACR,oBAAC,UAAiB,OAAlB;CACO;CACL,WAAU;CACV,GAAI;AACL,CAAA,CACF;AAED,aAAa,cAAc,UAAiB,MAAM;AAElD,IAAa,eAAe,YAGzB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,UAAiB,OAAlB;CACO;CACL,WAAW,GACT,mBACA,6NACA,SACF;CACA,GAAI;AACL,CAAA,CACF;AAED,aAAa,cAAc,UAAiB,MAAM;AAElD,IAAa,mBAAmB,YAG7B,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,UAAiB,WAAlB;CACO;CACL,WAAW,GAAG,8BAA8B,SAAS;CACrD,GAAI;AACL,CAAA,CACF;AACD,iBAAiB,cAAc,UAAiB,UAAU;AAE1D,IAAa,cAAc,YAGxB,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,UAAiB,MAAlB;CACO;CACL,WAAW,GACT,4MACA,SACF;CACA,GAAI;AACL,CAAA,CACF;AAED,YAAY,cAAc,UAAiB,KAAK"}
@@ -0,0 +1,65 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { InputSize, InputVariant } from '../Input/inputStyles.js';
3
+ export interface CommandMenuItem {
4
+ /** Unique value used for selection and filtering */
5
+ value: string;
6
+ /** Display label (defaults to value if not provided) */
7
+ label?: string;
8
+ /** Secondary description text displayed below the label */
9
+ description?: string;
10
+ /** Element displayed on the right side of the item (e.g. badge, shortcut) */
11
+ rightDecorator?: ReactNode;
12
+ /** Whether this item is disabled */
13
+ disabled?: boolean;
14
+ /** Extra search terms for filtering */
15
+ keywords?: string[];
16
+ }
17
+ export interface CommandMenuGroup {
18
+ /** Optional heading displayed above the group */
19
+ heading?: string;
20
+ /** Items in this group */
21
+ items: CommandMenuItem[];
22
+ }
23
+ interface CommandMenuBaseProps {
24
+ /** Callback when an item is selected */
25
+ onSelect: (value: string) => void;
26
+ /** The currently selected value. When set, a check icon is shown next to the selected item. */
27
+ value?: string;
28
+ /** Placeholder text for the search input */
29
+ placeholder?: string;
30
+ /** Text shown when no items match the search */
31
+ emptyText?: string;
32
+ /** Hide the search input (default: false, search is visible) */
33
+ hideSearch?: boolean;
34
+ /** Show the leading selected-indicator slot in the default item layout (default: true). Set false for action menus that track no selection so labels sit flush-left. */
35
+ showSelectedIndicator?: boolean;
36
+ /** Disable client-side filtering by cmdk (default: false). Set true for server-side filtering. */
37
+ disableFilter?: boolean;
38
+ /** Callback when the search input value changes. Useful for server-side filtering. */
39
+ onSearchChange?: (query: string) => void;
40
+ /** Custom render function for each item */
41
+ renderItem?: (item: CommandMenuItem, isSelected: boolean) => ReactNode;
42
+ /** Size variant for the search input */
43
+ inputSize?: InputSize;
44
+ /** Visual variant for the search input */
45
+ inputVariant?: InputVariant;
46
+ /** Additional class name for the Command root */
47
+ className?: string;
48
+ /** Whether more items are currently being loaded */
49
+ loading?: boolean;
50
+ /** Number of skeleton rows to show while loading (default: 5) */
51
+ loadingRows?: number;
52
+ /** Callback when the user scrolls near the end of the list. Use for infinite loading. */
53
+ onEndReached?: () => void;
54
+ /** Distance in pixels from the bottom to trigger onEndReached (default: 50) */
55
+ endReachedThresholdPx?: number;
56
+ }
57
+ export type CommandMenuProps = CommandMenuBaseProps & ({
58
+ items: CommandMenuItem[];
59
+ groups?: never;
60
+ } | {
61
+ /** Grouped items with optional headings */ groups: CommandMenuGroup[];
62
+ items?: never;
63
+ });
64
+ export declare function CommandMenu({ items, groups, onSelect, value, placeholder, emptyText, hideSearch, showSelectedIndicator, disableFilter, onSearchChange, renderItem, inputSize, inputVariant, className, loading, loadingRows, onEndReached, endReachedThresholdPx, }: CommandMenuProps): import("react").JSX.Element;
65
+ export {};
@@ -0,0 +1,101 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { Text } from "../Text/Text.js";
3
+ import { Tooltip } from "../Tooltip/Tooltip.js";
4
+ import { CheckIcon } from "../../icons/PaddedPhosphorIcons.js";
5
+ import { Icon } from "../Icon/Icon.js";
6
+ import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from "./Command.js";
7
+ import { Fragment, useCallback, useEffect, useRef, useState } from "react";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ import { MagnifyingGlassIcon } from "@phosphor-icons/react/dist/ssr/MagnifyingGlass";
10
+ //#region packages/components/src/components/Command/CommandMenu.tsx
11
+ function TruncatedLabel({ text }) {
12
+ const textRef = useRef(null);
13
+ const [isTruncated, setIsTruncated] = useState(false);
14
+ useEffect(() => {
15
+ const el = textRef.current;
16
+ if (el) setIsTruncated(el.scrollWidth > el.clientWidth);
17
+ }, [text]);
18
+ return /* @__PURE__ */ jsx(Tooltip, {
19
+ title: isTruncated ? text : void 0,
20
+ children: /* @__PURE__ */ jsx(Text, {
21
+ ref: textRef,
22
+ as: "span",
23
+ className: "truncate",
24
+ children: text
25
+ })
26
+ });
27
+ }
28
+ function CommandMenu({ items, groups, onSelect, value, placeholder = "Search...", emptyText = "No results found.", hideSearch, showSelectedIndicator = true, disableFilter, onSearchChange, renderItem, inputSize = "sm", inputVariant = "plain", className, loading = false, loadingRows = 5, onEndReached, endReachedThresholdPx = 50 }) {
29
+ const handleScroll = useCallback((e) => {
30
+ if (!onEndReached) return;
31
+ const { scrollTop, scrollHeight, clientHeight } = e.currentTarget;
32
+ if (scrollHeight - scrollTop - clientHeight <= endReachedThresholdPx) onEndReached();
33
+ }, [onEndReached, endReachedThresholdPx]);
34
+ const renderItems = (menuItems) => menuItems.map((item) => {
35
+ const isSelected = item.value === value;
36
+ const label = item.label ?? item.value;
37
+ return /* @__PURE__ */ jsx(CommandItem, {
38
+ value: item.value,
39
+ keywords: item.label ? [item.label, ...item.keywords ?? []] : item.keywords,
40
+ disabled: item.disabled,
41
+ onSelect: () => onSelect(item.value),
42
+ className: "gap-space-2",
43
+ children: renderItem ? renderItem(item, isSelected) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
44
+ showSelectedIndicator && /* @__PURE__ */ jsx(Icon, {
45
+ icon: CheckIcon,
46
+ size: "md",
47
+ className: cn("shrink-0", isSelected ? "opacity-100" : "opacity-0")
48
+ }),
49
+ /* @__PURE__ */ jsxs("div", {
50
+ className: "flex min-w-0 flex-1 flex-col",
51
+ children: [/* @__PURE__ */ jsx(TruncatedLabel, { text: label }), item.description && /* @__PURE__ */ jsx(Text, {
52
+ as: "span",
53
+ variant: "xs",
54
+ className: "truncate text-tertiary",
55
+ children: item.description
56
+ })]
57
+ }),
58
+ item.rightDecorator && /* @__PURE__ */ jsx("div", {
59
+ className: "ml-auto shrink-0",
60
+ children: item.rightDecorator
61
+ })
62
+ ] })
63
+ }, item.value);
64
+ });
65
+ return /* @__PURE__ */ jsxs(Command, {
66
+ className: cn("flex flex-col gap-1.5 p-1.5", className),
67
+ shouldFilter: disableFilter ? false : void 0,
68
+ children: [!hideSearch && /* @__PURE__ */ jsx(CommandInput, {
69
+ placeholder,
70
+ size: inputSize,
71
+ variant: inputVariant,
72
+ leftDecorator: /* @__PURE__ */ jsx(MagnifyingGlassIcon, {
73
+ "aria-hidden": true,
74
+ size: 16,
75
+ weight: "regular"
76
+ }),
77
+ onValueChange: onSearchChange
78
+ }), /* @__PURE__ */ jsxs(CommandList, {
79
+ onScroll: handleScroll,
80
+ children: [
81
+ !loading && /* @__PURE__ */ jsx(CommandEmpty, { children: /* @__PURE__ */ jsx(Text, {
82
+ variant: "sm",
83
+ children: emptyText
84
+ }) }),
85
+ items && renderItems(items),
86
+ groups?.map((group, i) => /* @__PURE__ */ jsxs(Fragment, { children: [i > 0 && /* @__PURE__ */ jsx(CommandSeparator, {}), /* @__PURE__ */ jsx(CommandGroup, {
87
+ heading: group.heading,
88
+ children: renderItems(group.items)
89
+ })] }, group.heading ?? i)),
90
+ loading && /* @__PURE__ */ jsx("div", {
91
+ className: "flex flex-col gap-space-1 px-space-2 py-space-1",
92
+ children: Array.from({ length: loadingRows }, (_, i) => /* @__PURE__ */ jsx("div", { className: "h-7 animate-pulse rounded-md bg-tertiary" }, i))
93
+ })
94
+ ]
95
+ })]
96
+ });
97
+ }
98
+ //#endregion
99
+ export { CommandMenu };
100
+
101
+ //# sourceMappingURL=CommandMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandMenu.js","names":[],"sources":["../../../src/components/Command/CommandMenu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Fragment, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { MagnifyingGlassIcon } from '@phosphor-icons/react/dist/ssr/MagnifyingGlass';\n\nimport { CheckIcon } from '../../icons/PaddedPhosphorIcons';\nimport { cn } from '../../utils/cn';\nimport { Icon } from '../Icon';\nimport type { InputSize, InputVariant } from '../Input/inputStyles';\nimport { Text } from '../Text';\nimport { Tooltip } from '../Tooltip';\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n} from './Command';\n\nexport interface CommandMenuItem {\n /** Unique value used for selection and filtering */\n value: string;\n /** Display label (defaults to value if not provided) */\n label?: string;\n /** Secondary description text displayed below the label */\n description?: string;\n /** Element displayed on the right side of the item (e.g. badge, shortcut) */\n rightDecorator?: ReactNode;\n /** Whether this item is disabled */\n disabled?: boolean;\n /** Extra search terms for filtering */\n keywords?: string[];\n}\n\nexport interface CommandMenuGroup {\n /** Optional heading displayed above the group */\n heading?: string;\n /** Items in this group */\n items: CommandMenuItem[];\n}\n\ninterface CommandMenuBaseProps {\n /** Callback when an item is selected */\n onSelect: (value: string) => void;\n /** The currently selected value. When set, a check icon is shown next to the selected item. */\n value?: string;\n /** Placeholder text for the search input */\n placeholder?: string;\n /** Text shown when no items match the search */\n emptyText?: string;\n /** Hide the search input (default: false, search is visible) */\n hideSearch?: boolean;\n /** Show the leading selected-indicator slot in the default item layout (default: true). Set false for action menus that track no selection so labels sit flush-left. */\n showSelectedIndicator?: boolean;\n /** Disable client-side filtering by cmdk (default: false). Set true for server-side filtering. */\n disableFilter?: boolean;\n /** Callback when the search input value changes. Useful for server-side filtering. */\n onSearchChange?: (query: string) => void;\n /** Custom render function for each item */\n renderItem?: (item: CommandMenuItem, isSelected: boolean) => ReactNode;\n /** Size variant for the search input */\n inputSize?: InputSize;\n /** Visual variant for the search input */\n inputVariant?: InputVariant;\n /** Additional class name for the Command root */\n className?: string;\n /** Whether more items are currently being loaded */\n loading?: boolean;\n /** Number of skeleton rows to show while loading (default: 5) */\n loadingRows?: number;\n /** Callback when the user scrolls near the end of the list. Use for infinite loading. */\n onEndReached?: () => void;\n /** Distance in pixels from the bottom to trigger onEndReached (default: 50) */\n endReachedThresholdPx?: number;\n}\n\nexport type CommandMenuProps = CommandMenuBaseProps &\n (\n | { /** Flat list of items */ items: CommandMenuItem[]; groups?: never }\n | {\n /** Grouped items with optional headings */ groups: CommandMenuGroup[];\n items?: never;\n }\n );\n\nfunction TruncatedLabel({ text }: { text: string }) {\n const textRef = useRef<HTMLElement>(null);\n const [isTruncated, setIsTruncated] = useState(false);\n\n useEffect(() => {\n const el = textRef.current;\n if (el) {\n setIsTruncated(el.scrollWidth > el.clientWidth);\n }\n }, [text]);\n\n return (\n <Tooltip title={isTruncated ? text : undefined}>\n <Text ref={textRef} as=\"span\" className=\"truncate\">\n {text}\n </Text>\n </Tooltip>\n );\n}\n\nexport function CommandMenu({\n items,\n groups,\n onSelect,\n value,\n placeholder = 'Search...',\n emptyText = 'No results found.',\n hideSearch,\n showSelectedIndicator = true,\n disableFilter,\n onSearchChange,\n renderItem,\n inputSize = 'sm',\n inputVariant = 'plain',\n className,\n loading = false,\n loadingRows = 5,\n onEndReached,\n endReachedThresholdPx = 50,\n}: CommandMenuProps) {\n const handleScroll = useCallback(\n (e: React.UIEvent<HTMLDivElement>) => {\n if (!onEndReached) return;\n const { scrollTop, scrollHeight, clientHeight } = e.currentTarget;\n if (scrollHeight - scrollTop - clientHeight <= endReachedThresholdPx) {\n onEndReached();\n }\n },\n [onEndReached, endReachedThresholdPx]\n );\n\n const renderItems = (menuItems: CommandMenuItem[]) =>\n menuItems.map((item) => {\n const isSelected = item.value === value;\n const label = item.label ?? item.value;\n return (\n <CommandItem\n key={item.value}\n value={item.value}\n keywords={\n item.label ? [item.label, ...(item.keywords ?? [])] : item.keywords\n }\n disabled={item.disabled}\n onSelect={() => onSelect(item.value)}\n className=\"gap-space-2\"\n >\n {renderItem ? (\n renderItem(item, isSelected)\n ) : (\n <>\n {showSelectedIndicator && (\n <Icon\n icon={CheckIcon}\n size=\"md\"\n className={cn(\n 'shrink-0',\n isSelected ? 'opacity-100' : 'opacity-0'\n )}\n />\n )}\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <TruncatedLabel text={label} />\n {item.description && (\n <Text\n as=\"span\"\n variant=\"xs\"\n className=\"truncate text-tertiary\"\n >\n {item.description}\n </Text>\n )}\n </div>\n {item.rightDecorator && (\n <div className=\"ml-auto shrink-0\">{item.rightDecorator}</div>\n )}\n </>\n )}\n </CommandItem>\n );\n });\n\n return (\n <Command\n className={cn('flex flex-col gap-1.5 p-1.5', className)}\n shouldFilter={disableFilter ? false : undefined}\n >\n {!hideSearch && (\n <CommandInput\n placeholder={placeholder}\n size={inputSize}\n variant={inputVariant}\n leftDecorator={\n <MagnifyingGlassIcon aria-hidden size={16} weight=\"regular\" />\n }\n onValueChange={onSearchChange}\n />\n )}\n <CommandList onScroll={handleScroll}>\n {!loading && (\n <CommandEmpty>\n <Text variant=\"sm\">{emptyText}</Text>\n </CommandEmpty>\n )}\n {items && renderItems(items)}\n {groups?.map((group, i) => (\n <Fragment key={group.heading ?? i}>\n {i > 0 && <CommandSeparator />}\n <CommandGroup heading={group.heading}>\n {renderItems(group.items)}\n </CommandGroup>\n </Fragment>\n ))}\n {loading && (\n <div className=\"flex flex-col gap-space-1 px-space-2 py-space-1\">\n {Array.from({ length: loadingRows }, (_, i) => (\n <div\n key={i}\n className=\"h-7 animate-pulse rounded-md bg-tertiary\"\n />\n ))}\n </div>\n )}\n </CommandList>\n </Command>\n );\n}\n"],"mappings":";;;;;;;;;;AAuFA,SAAS,eAAe,EAAE,QAA0B;CAClD,MAAM,UAAU,OAAoB,IAAI;CACxC,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CAEpD,gBAAgB;EACd,MAAM,KAAK,QAAQ;EACnB,IAAI,IACF,eAAe,GAAG,cAAc,GAAG,WAAW;CAElD,GAAG,CAAC,IAAI,CAAC;CAET,OACE,oBAAC,SAAD;EAAS,OAAO,cAAc,OAAO,KAAA;EACnC,UAAA,oBAAC,MAAD;GAAM,KAAK;GAAS,IAAG;GAAO,WAAU;GACrC,UAAA;EACG,CAAA;CACC,CAAA;AAEb;AAEA,SAAgB,YAAY,EAC1B,OACA,QACA,UACA,OACA,cAAc,aACd,YAAY,qBACZ,YACA,wBAAwB,MACxB,eACA,gBACA,YACA,YAAY,MACZ,eAAe,SACf,WACA,UAAU,OACV,cAAc,GACd,cACA,wBAAwB,MACL;CACnB,MAAM,eAAe,aAClB,MAAqC;EACpC,IAAI,CAAC,cAAc;EACnB,MAAM,EAAE,WAAW,cAAc,iBAAiB,EAAE;EACpD,IAAI,eAAe,YAAY,gBAAgB,uBAC7C,aAAa;CAEjB,GACA,CAAC,cAAc,qBAAqB,CACtC;CAEA,MAAM,eAAe,cACnB,UAAU,KAAK,SAAS;EACtB,MAAM,aAAa,KAAK,UAAU;EAClC,MAAM,QAAQ,KAAK,SAAS,KAAK;EACjC,OACE,oBAAC,aAAD;GAEE,OAAO,KAAK;GACZ,UACE,KAAK,QAAQ,CAAC,KAAK,OAAO,GAAI,KAAK,YAAY,CAAC,CAAE,IAAI,KAAK;GAE7D,UAAU,KAAK;GACf,gBAAgB,SAAS,KAAK,KAAK;GACnC,WAAU;GAET,UAAA,aACC,WAAW,MAAM,UAAU,IAE3B,qBAAA,YAAA,EAAA,UAAA;IACG,yBACC,oBAAC,MAAD;KACE,MAAM;KACN,MAAK;KACL,WAAW,GACT,YACA,aAAa,gBAAgB,WAC/B;IACD,CAAA;IAEH,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACE,oBAAC,gBAAD,EAAgB,MAAM,MAAQ,CAAA,GAC7B,KAAK,eACJ,oBAAC,MAAD;MACE,IAAG;MACH,SAAQ;MACR,WAAU;MAET,UAAA,KAAK;KACF,CAAA,CAEL;;IACJ,KAAK,kBACJ,oBAAC,OAAD;KAAK,WAAU;KAAoB,UAAA,KAAK;IAAoB,CAAA;GAE9D,EAAA,CAAA;EAEO,GAxCN,KAAK,KAwCC;CAEjB,CAAC;CAEH,OACE,qBAAC,SAAD;EACE,WAAW,GAAG,+BAA+B,SAAS;EACtD,cAAc,gBAAgB,QAAQ,KAAA;EAFxC,UAAA,CAIG,CAAC,cACA,oBAAC,cAAD;GACe;GACb,MAAM;GACN,SAAS;GACT,eACE,oBAAC,qBAAD;IAAqB,eAAA;IAAY,MAAM;IAAI,QAAO;GAAW,CAAA;GAE/D,eAAe;EAChB,CAAA,GAEH,qBAAC,aAAD;GAAa,UAAU;GAAvB,UAAA;IACG,CAAC,WACA,oBAAC,cAAD,EAAA,UACE,oBAAC,MAAD;KAAM,SAAQ;KAAM,UAAA;IAAgB,CAAA,EACxB,CAAA;IAEf,SAAS,YAAY,KAAK;IAC1B,QAAQ,KAAK,OAAO,MACnB,qBAAC,UAAD,EAAA,UAAA,CACG,IAAI,KAAK,oBAAC,kBAAD,CAAmB,CAAA,GAC7B,oBAAC,cAAD;KAAc,SAAS,MAAM;KAC1B,UAAA,YAAY,MAAM,KAAK;IACZ,CAAA,CACN,EAAA,GALK,MAAM,WAAW,CAKtB,CACX;IACA,WACC,oBAAC,OAAD;KAAK,WAAU;KACZ,UAAA,MAAM,KAAK,EAAE,QAAQ,YAAY,IAAI,GAAG,MACvC,oBAAC,OAAD,EAEE,WAAU,2CACX,GAFM,CAEN,CACF;IACE,CAAA;GAEI;EACN,CAAA,CAAA;;AAEb"}
@@ -0,0 +1,4 @@
1
+ export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, } from './Command.js';
2
+ export type { CommandInputProps } from './Command.js';
3
+ export { CommandMenu } from './CommandMenu.js';
4
+ export type { CommandMenuGroup, CommandMenuItem, CommandMenuProps, } from './CommandMenu.js';
@@ -0,0 +1,3 @@
1
+ import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from "./Command.js";
2
+ import { CommandMenu } from "./CommandMenu.js";
3
+ export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandMenu, CommandSeparator };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
3
+ export declare const ContextMenu: React.FC<ContextMenuPrimitive.ContextMenuProps>;
4
+ export declare const ContextMenuTrigger: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>>;
5
+ export declare const ContextMenuContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ export declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
7
+ inset?: boolean;
8
+ } & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const ContextMenuSeparator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,43 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import zIndices from "../../utils/zIndices.js";
3
+ import { useZIndex } from "../../utils/useZIndex.js";
4
+ import { ZIndexProvider } from "../../utils/ZIndexContext.js";
5
+ import * as React$1 from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
8
+ //#region packages/components/src/components/ContextMenu/ContextMenu.tsx
9
+ var ContextMenu = ContextMenuPrimitive.Root;
10
+ var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
11
+ var ContextMenuContent = React$1.forwardRef(({ className, children, ...props }, ref) => {
12
+ const zIndex = useZIndex(zIndices.popover);
13
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Content, {
14
+ ref,
15
+ className: cn("min-w-[8rem] overflow-hidden rounded-md border border-default bg-elevated p-space-1 text-primary shadow-md", className),
16
+ ...props,
17
+ style: {
18
+ zIndex,
19
+ ...props.style
20
+ },
21
+ children: /* @__PURE__ */ jsx(ZIndexProvider, {
22
+ value: zIndex,
23
+ children
24
+ })
25
+ }) });
26
+ });
27
+ ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
28
+ var ContextMenuItem = React$1.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Item, {
29
+ ref,
30
+ className: cn("flex w-full cursor-default select-none items-center rounded-sm px-space-2 py-space-2 text-sm text-primary outline-none transition-colors focus:bg-elevated-hover data-[disabled]:pointer-events-none data-[highlighted]:bg-elevated-hover data-[disabled]:opacity-50", inset ? "pl-space-8" : void 0, className),
31
+ ...props
32
+ }));
33
+ ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
34
+ var ContextMenuSeparator = React$1.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Separator, {
35
+ ref,
36
+ className: cn("-mx-space-1 my-space-1 border-b border-subtle", className),
37
+ ...props
38
+ }));
39
+ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
40
+ //#endregion
41
+ export { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger };
42
+
43
+ //# sourceMappingURL=ContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenu.js","names":[],"sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport * as ContextMenuPrimitive from '@radix-ui/react-context-menu';\n\nimport { cn } from '../../utils/cn';\nimport { useZIndex } from '../../utils/useZIndex';\nimport { ZIndexProvider } from '../../utils/ZIndexContext';\nimport zIndices from '../../utils/zIndices';\n\nexport const ContextMenu = ContextMenuPrimitive.Root;\n\nexport const ContextMenuTrigger = ContextMenuPrimitive.Trigger;\n\nexport const ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, children, ...props }, ref) => {\n const zIndex = useZIndex(zIndices.popover);\n\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n ref={ref}\n className={cn(\n 'min-w-[8rem] overflow-hidden rounded-md border border-default bg-elevated p-space-1 text-primary shadow-md',\n className\n )}\n {...props}\n style={{ zIndex, ...props.style }}\n >\n <ZIndexProvider value={zIndex}>{children}</ZIndexProvider>\n </ContextMenuPrimitive.Content>\n </ContextMenuPrimitive.Portal>\n );\n});\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\nexport const ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'flex w-full cursor-default select-none items-center rounded-sm px-space-2 py-space-2 text-sm text-primary outline-none transition-colors focus:bg-elevated-hover data-[disabled]:pointer-events-none data-[highlighted]:bg-elevated-hover data-[disabled]:opacity-50',\n inset ? 'pl-space-8' : undefined,\n className\n )}\n {...props}\n />\n));\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\nexport const ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn('-mx-space-1 my-space-1 border-b border-subtle', className)}\n {...props}\n />\n));\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n"],"mappings":";;;;;;;;AASA,IAAa,cAAc,qBAAqB;AAEhD,IAAa,qBAAqB,qBAAqB;AAEvD,IAAa,qBAAqB,QAAM,YAGrC,EAAE,WAAW,UAAU,GAAG,SAAS,QAAQ;CAC5C,MAAM,SAAS,UAAU,SAAS,OAAO;CAEzC,OACE,oBAAC,qBAAqB,QAAtB,EAAA,UACE,oBAAC,qBAAqB,SAAtB;EACO;EACL,WAAW,GACT,8GACA,SACF;EACA,GAAI;EACJ,OAAO;GAAE;GAAQ,GAAG,MAAM;EAAM;EAEhC,UAAA,oBAAC,gBAAD;GAAgB,OAAO;GAAS;EAAyB,CAAA;CAC7B,CAAA,EACH,CAAA;AAEjC,CAAC;AACD,mBAAmB,cAAc,qBAAqB,QAAQ;AAE9D,IAAa,kBAAkB,QAAM,YAKlC,EAAE,WAAW,OAAO,GAAG,SAAS,QACjC,oBAAC,qBAAqB,MAAtB;CACO;CACL,WAAW,GACT,wQACA,QAAQ,eAAe,KAAA,GACvB,SACF;CACA,GAAI;AACL,CAAA,CACF;AACD,gBAAgB,cAAc,qBAAqB,KAAK;AAExD,IAAa,uBAAuB,QAAM,YAGvC,EAAE,WAAW,GAAG,SAAS,QAC1B,oBAAC,qBAAqB,WAAtB;CACO;CACL,WAAW,GAAG,iDAAiD,SAAS;CACxE,GAAI;AACL,CAAA,CACF;AACD,qBAAqB,cAAc,qBAAqB,UAAU"}
@@ -0,0 +1 @@
1
+ export { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger, } from './ContextMenu.js';
@@ -0,0 +1,2 @@
1
+ import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger } from "./ContextMenu.js";
2
+ export { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuSeparator, ContextMenuTrigger };
@@ -0,0 +1,24 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type IconButtonProps } from '../IconButton/index.js';
3
+ export interface CopyButtonProps {
4
+ copy: string;
5
+ variant?: 'full' | 'icon';
6
+ className?: string;
7
+ copyText?: string;
8
+ disabled?: boolean;
9
+ onCopy?: () => void;
10
+ }
11
+ export declare function CopyButton(props: CopyButtonProps): import("react").JSX.Element;
12
+ export interface CopyIconButtonProps {
13
+ copy: string;
14
+ className?: string;
15
+ iconClassName?: string;
16
+ copyText?: ReactNode;
17
+ label?: string;
18
+ disabled?: boolean;
19
+ color?: IconButtonProps['color'];
20
+ size?: IconButtonProps['size'];
21
+ variant?: IconButtonProps['variant'];
22
+ onCopy?: () => void;
23
+ }
24
+ export declare function CopyIconButton(props: CopyIconButtonProps): import("react").JSX.Element;
@@ -0,0 +1,121 @@
1
+ import { Text } from "../Text/Text.js";
2
+ import { CheckIcon } from "../../icons/PaddedPhosphorIcons.js";
3
+ import { IconButton } from "../IconButton/IconButton.js";
4
+ import { Button } from "../Button/Button.js";
5
+ import { useCopy } from "./useCopy.js";
6
+ import { useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { CopySimpleIcon } from "@phosphor-icons/react/dist/ssr/CopySimple";
9
+ //#region packages/components/src/components/CopyButton/CopyButton.tsx
10
+ function CopyButton(props) {
11
+ const { copied, onCopy } = useCopy({ copy: props.copy });
12
+ if (props.variant === "icon") return /* @__PURE__ */ jsx(CopyIconButton, {
13
+ copy: props.copy,
14
+ copyText: props.copyText,
15
+ className: props.className,
16
+ disabled: props.disabled,
17
+ onCopy: props.onCopy
18
+ });
19
+ const CopyStatusIcon = copied ? CheckIcon : CopySimpleIcon;
20
+ return /* @__PURE__ */ jsx(Button, {
21
+ size: "sm",
22
+ color: "secondary",
23
+ variant: "outlined",
24
+ "aria-label": copied ? "Copied" : props.copyText ?? "Copy",
25
+ onClick: (event) => {
26
+ event.stopPropagation();
27
+ onCopy();
28
+ props.onCopy?.();
29
+ },
30
+ className: props.className,
31
+ disabled: props.disabled,
32
+ children: /* @__PURE__ */ jsxs("span", {
33
+ className: "grid",
34
+ children: [
35
+ /* @__PURE__ */ jsxs(Text, {
36
+ as: "span",
37
+ variant: "sm",
38
+ weight: "normal",
39
+ className: "invisible col-start-1 row-start-1 flex items-center gap-1 whitespace-nowrap",
40
+ "aria-hidden": true,
41
+ children: [/* @__PURE__ */ jsx("span", {
42
+ "aria-hidden": true,
43
+ className: "inline-flex size-4 shrink-0",
44
+ children: /* @__PURE__ */ jsx(CopySimpleIcon, {
45
+ size: "100%",
46
+ weight: "regular"
47
+ })
48
+ }), props.copyText ?? "Copy"]
49
+ }),
50
+ /* @__PURE__ */ jsxs(Text, {
51
+ as: "span",
52
+ variant: "sm",
53
+ weight: "normal",
54
+ className: "invisible col-start-1 row-start-1 flex items-center gap-1 whitespace-nowrap",
55
+ "aria-hidden": true,
56
+ children: [/* @__PURE__ */ jsx("span", {
57
+ "aria-hidden": true,
58
+ className: "inline-flex size-4 shrink-0",
59
+ children: /* @__PURE__ */ jsx(CheckIcon, {
60
+ size: "100%",
61
+ weight: "regular"
62
+ })
63
+ }), "Copied"]
64
+ }),
65
+ /* @__PURE__ */ jsxs(Text, {
66
+ as: "span",
67
+ variant: "sm",
68
+ weight: "normal",
69
+ className: "col-start-1 row-start-1 flex items-center justify-center gap-1 whitespace-nowrap",
70
+ children: [/* @__PURE__ */ jsx("span", {
71
+ "aria-hidden": true,
72
+ className: "inline-flex size-4 shrink-0",
73
+ children: /* @__PURE__ */ jsx(CopyStatusIcon, {
74
+ size: "100%",
75
+ weight: "regular"
76
+ })
77
+ }), copied ? "Copied" : props.copyText ?? "Copy"]
78
+ })
79
+ ]
80
+ })
81
+ });
82
+ }
83
+ function getCopyLabel(copyText, label) {
84
+ if (label) return label;
85
+ return typeof copyText === "string" ? copyText : "Copy";
86
+ }
87
+ function CopyIconButton(props) {
88
+ const { copied, onCopy } = useCopy({ copy: props.copy });
89
+ const [tooltipOpen, setTooltipOpen] = useState(false);
90
+ const copyLabel = getCopyLabel(props.copyText, props.label);
91
+ const tooltipTitle = props.copyText ?? copyLabel;
92
+ return /* @__PURE__ */ jsx(IconButton, {
93
+ onClick: (e) => {
94
+ e.stopPropagation();
95
+ onCopy();
96
+ props.onCopy?.();
97
+ },
98
+ disabled: props.disabled,
99
+ icon: copied ? CheckIcon : CopySimpleIcon,
100
+ label: copied ? "Copied" : copyLabel,
101
+ tooltipProps: {
102
+ title: copied ? "Copied" : tooltipTitle,
103
+ side: "top",
104
+ open: tooltipOpen,
105
+ onOpenChange: (open) => {
106
+ if (open) setTooltipOpen(true);
107
+ }
108
+ },
109
+ variant: props.variant ?? "plain",
110
+ color: props.color ?? "secondary",
111
+ size: props.size ?? "sm",
112
+ className: props.className,
113
+ iconClassName: props.iconClassName,
114
+ onMouseLeave: () => setTooltipOpen(false),
115
+ onBlur: () => setTooltipOpen(false)
116
+ });
117
+ }
118
+ //#endregion
119
+ export { CopyButton, CopyIconButton };
120
+
121
+ //# sourceMappingURL=CopyButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButton.js","names":[],"sources":["../../../src/components/CopyButton/CopyButton.tsx"],"sourcesContent":["import { type ReactNode, useState } from 'react';\n\nimport { CopySimpleIcon } from '@phosphor-icons/react/dist/ssr/CopySimple';\n\nimport { CheckIcon } from '../../icons/PaddedPhosphorIcons';\nimport { Button } from '../Button';\nimport { IconButton, type IconButtonProps } from '../IconButton';\nimport { Text } from '../Text';\nimport { useCopy } from './useCopy';\n\nexport interface CopyButtonProps {\n copy: string;\n variant?: 'full' | 'icon';\n className?: string;\n copyText?: string;\n disabled?: boolean;\n onCopy?: () => void;\n}\n\nexport function CopyButton(props: CopyButtonProps) {\n const { copied, onCopy } = useCopy({ copy: props.copy });\n\n if (props.variant === 'icon') {\n return (\n <CopyIconButton\n copy={props.copy}\n copyText={props.copyText}\n className={props.className}\n disabled={props.disabled}\n onCopy={props.onCopy}\n />\n );\n }\n\n const CopyStatusIcon = copied ? CheckIcon : CopySimpleIcon;\n\n return (\n <Button\n size=\"sm\"\n color=\"secondary\"\n variant=\"outlined\"\n aria-label={copied ? 'Copied' : (props.copyText ?? 'Copy')}\n onClick={(event) => {\n event.stopPropagation();\n onCopy();\n props.onCopy?.();\n }}\n className={props.className}\n disabled={props.disabled}\n >\n <span className=\"grid\">\n {/* Both states rendered invisibly so the grid cell is always wide enough for either */}\n <Text\n as=\"span\"\n variant=\"sm\"\n weight=\"normal\"\n className=\"invisible col-start-1 row-start-1 flex items-center gap-1 whitespace-nowrap\"\n aria-hidden\n >\n <span aria-hidden className=\"inline-flex size-4 shrink-0\">\n <CopySimpleIcon size=\"100%\" weight=\"regular\" />\n </span>\n {props.copyText ?? 'Copy'}\n </Text>\n <Text\n as=\"span\"\n variant=\"sm\"\n weight=\"normal\"\n className=\"invisible col-start-1 row-start-1 flex items-center gap-1 whitespace-nowrap\"\n aria-hidden\n >\n <span aria-hidden className=\"inline-flex size-4 shrink-0\">\n <CheckIcon size=\"100%\" weight=\"regular\" />\n </span>\n Copied\n </Text>\n <Text\n as=\"span\"\n variant=\"sm\"\n weight=\"normal\"\n className=\"col-start-1 row-start-1 flex items-center justify-center gap-1 whitespace-nowrap\"\n >\n <span aria-hidden className=\"inline-flex size-4 shrink-0\">\n <CopyStatusIcon size=\"100%\" weight=\"regular\" />\n </span>\n {copied ? 'Copied' : (props.copyText ?? 'Copy')}\n </Text>\n </span>\n </Button>\n );\n}\n\nexport interface CopyIconButtonProps {\n copy: string;\n className?: string;\n iconClassName?: string;\n copyText?: ReactNode;\n label?: string;\n disabled?: boolean;\n color?: IconButtonProps['color'];\n size?: IconButtonProps['size'];\n variant?: IconButtonProps['variant'];\n onCopy?: () => void;\n}\n\nfunction getCopyLabel(copyText: ReactNode, label?: string) {\n if (label) return label;\n return typeof copyText === 'string' ? copyText : 'Copy';\n}\n\nexport function CopyIconButton(props: CopyIconButtonProps) {\n const { copied, onCopy } = useCopy({ copy: props.copy });\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const copyLabel = getCopyLabel(props.copyText, props.label);\n const tooltipTitle = props.copyText ?? copyLabel;\n\n return (\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n onCopy();\n props.onCopy?.();\n }}\n disabled={props.disabled}\n icon={copied ? CheckIcon : CopySimpleIcon}\n label={copied ? 'Copied' : copyLabel}\n tooltipProps={{\n title: copied ? 'Copied' : tooltipTitle,\n side: 'top',\n open: tooltipOpen,\n onOpenChange: (open) => {\n if (open) setTooltipOpen(true);\n },\n }}\n variant={props.variant ?? 'plain'}\n color={props.color ?? 'secondary'}\n size={props.size ?? 'sm'}\n className={props.className}\n iconClassName={props.iconClassName}\n onMouseLeave={() => setTooltipOpen(false)}\n onBlur={() => setTooltipOpen(false)}\n />\n );\n}\n"],"mappings":";;;;;;;;;AAmBA,SAAgB,WAAW,OAAwB;CACjD,MAAM,EAAE,QAAQ,WAAW,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;CAEvD,IAAI,MAAM,YAAY,QACpB,OACE,oBAAC,gBAAD;EACE,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,WAAW,MAAM;EACjB,UAAU,MAAM;EAChB,QAAQ,MAAM;CACf,CAAA;CAIL,MAAM,iBAAiB,SAAS,YAAY;CAE5C,OACE,oBAAC,QAAD;EACE,MAAK;EACL,OAAM;EACN,SAAQ;EACR,cAAY,SAAS,WAAY,MAAM,YAAY;EACnD,UAAU,UAAU;GAClB,MAAM,gBAAgB;GACtB,OAAO;GACP,MAAM,SAAS;EACjB;EACA,WAAW,MAAM;EACjB,UAAU,MAAM;EAEhB,UAAA,qBAAC,QAAD;GAAM,WAAU;GAAhB,UAAA;IAEE,qBAAC,MAAD;KACE,IAAG;KACH,SAAQ;KACR,QAAO;KACP,WAAU;KACV,eAAA;KALF,UAAA,CAOE,oBAAC,QAAD;MAAM,eAAA;MAAY,WAAU;MAC1B,UAAA,oBAAC,gBAAD;OAAgB,MAAK;OAAO,QAAO;MAAW,CAAA;KAC1C,CAAA,GACL,MAAM,YAAY,MACf;;IACN,qBAAC,MAAD;KACE,IAAG;KACH,SAAQ;KACR,QAAO;KACP,WAAU;KACV,eAAA;KALF,UAAA,CAOE,oBAAC,QAAD;MAAM,eAAA;MAAY,WAAU;MAC1B,UAAA,oBAAC,WAAD;OAAW,MAAK;OAAO,QAAO;MAAW,CAAA;KACrC,CAAA,GAAC,QAEH;;IACN,qBAAC,MAAD;KACE,IAAG;KACH,SAAQ;KACR,QAAO;KACP,WAAU;KAJZ,UAAA,CAME,oBAAC,QAAD;MAAM,eAAA;MAAY,WAAU;MAC1B,UAAA,oBAAC,gBAAD;OAAgB,MAAK;OAAO,QAAO;MAAW,CAAA;KAC1C,CAAA,GACL,SAAS,WAAY,MAAM,YAAY,MACpC;;GACF;;CACA,CAAA;AAEZ;AAeA,SAAS,aAAa,UAAqB,OAAgB;CACzD,IAAI,OAAO,OAAO;CAClB,OAAO,OAAO,aAAa,WAAW,WAAW;AACnD;AAEA,SAAgB,eAAe,OAA4B;CACzD,MAAM,EAAE,QAAQ,WAAW,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;CACvD,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CACpD,MAAM,YAAY,aAAa,MAAM,UAAU,MAAM,KAAK;CAC1D,MAAM,eAAe,MAAM,YAAY;CAEvC,OACE,oBAAC,YAAD;EACE,UAAU,MAAM;GACd,EAAE,gBAAgB;GAClB,OAAO;GACP,MAAM,SAAS;EACjB;EACA,UAAU,MAAM;EAChB,MAAM,SAAS,YAAY;EAC3B,OAAO,SAAS,WAAW;EAC3B,cAAc;GACZ,OAAO,SAAS,WAAW;GAC3B,MAAM;GACN,MAAM;GACN,eAAe,SAAS;IACtB,IAAI,MAAM,eAAe,IAAI;GAC/B;EACF;EACA,SAAS,MAAM,WAAW;EAC1B,OAAO,MAAM,SAAS;EACtB,MAAM,MAAM,QAAQ;EACpB,WAAW,MAAM;EACjB,eAAe,MAAM;EACrB,oBAAoB,eAAe,KAAK;EACxC,cAAc,eAAe,KAAK;CACnC,CAAA;AAEL"}
@@ -0,0 +1 @@
1
+ export declare function copyToClipboard(textToCopy: string | undefined): Promise<void>;