@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,228 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ import { CONTROL_SIZES } from "../../utils/componentSizes.js";
3
+ import { Text } from "../Text/Text.js";
4
+ import { CaretDownIcon } from "../../icons/PaddedPhosphorIcons.js";
5
+ import { Icon } from "../Icon/Icon.js";
6
+ import { Popover, PopoverAnchor, PopoverContent } from "../Popover/Popover.js";
7
+ import { Command as Command$1, CommandEmpty, CommandItem, CommandList } from "../Command/Command.js";
8
+ import { CONTROL_ICON_SIZES } from "../../utils/controlIconSizes.js";
9
+ import { isTypeaheadOption } from "./Typeahead.utils.js";
10
+ import { TypeaheadClearButton, TypeaheadCreateOption, TypeaheadDefaultOption, TypeaheadDefaultTag } from "./TypeaheadParts.js";
11
+ import { useRef } from "react";
12
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
+ import { MagnifyingGlassIcon } from "@phosphor-icons/react/dist/ssr/MagnifyingGlass";
14
+ import { Command } from "cmdk";
15
+ //#region packages/components/src/components/Typeahead/TypeaheadView.tsx
16
+ var CONTROL_RADIUS_CLASSES = {
17
+ xs: "rounded-xs",
18
+ sm: "rounded-sm",
19
+ md: "rounded-md",
20
+ lg: "rounded-md"
21
+ };
22
+ var MULTIPLE_INPUT_HEIGHT_CLASSES = {
23
+ xs: "h-4",
24
+ sm: "h-5",
25
+ md: "h-6",
26
+ lg: "h-6"
27
+ };
28
+ var INPUT_TEXT_CLASSES = {
29
+ xs: "text-xxs leading-[1.15]",
30
+ sm: "text-xs leading-normal",
31
+ md: "text-sm leading-normal",
32
+ lg: "text-sm leading-normal"
33
+ };
34
+ function TypeaheadView({ root, state, ids, input, selection, list, createOption, popoverContentRef }) {
35
+ const controlRef = useRef(null);
36
+ const preventInputDismiss = (event) => {
37
+ if (open && event.target instanceof HTMLInputElement && event.target.getAttribute("role") === "combobox" && controlRef.current?.contains(event.target)) event.preventDefault();
38
+ };
39
+ const { ref: rootRef, handleBlur, dataTestId, className } = root;
40
+ const { size, disabled, isError, multiple, open, setOpen } = state;
41
+ const { commandLabel, resolvedInputId, listId, selectedSummaryId, inputAriaLabel } = ids;
42
+ const { value: inputValue, onValueChange: handleInputValueChange, onKeyDown: handleKeyDown, placeholder, leftDecorator, showPlaceholderWithValues, autoFocus, autoComplete, setNode: setInputNode, focus: focusInput } = input;
43
+ const { selectedValues, selectedKeys, getTagProps, renderTags, getLabel, getValue, showClearButton, clearValue, forcePopupIcon, selectedSummary } = selection;
44
+ const { ref: listRef, items, emptyText, emptyState, listFooter, hideEmptyList, optionIsDisabled, selectValue, renderOption } = list;
45
+ const hasValue = selectedValues.length > 0;
46
+ const visibleItems = open ? items : [];
47
+ const visibleShowCreateOption = open && createOption.show;
48
+ const showEmptyState = open && visibleItems.length === 0 && !visibleShowCreateOption && (emptyState != null || !hideEmptyList);
49
+ const controlHeightClass = multiple ? CONTROL_SIZES[size].minHeightClassName : CONTROL_SIZES[size].heightClassName;
50
+ const controlPaddingClass = size === "xs" || size === "sm" ? "px-space-2" : "px-space-3";
51
+ const renderedTags = multiple && (renderTags ? renderTags(selectedValues, getTagProps) : selectedValues.map((selected, index) => {
52
+ const tagProps = getTagProps({ index });
53
+ return /* @__PURE__ */ jsx(TypeaheadDefaultTag, {
54
+ selected,
55
+ index,
56
+ disabled,
57
+ size,
58
+ getLabel,
59
+ getValue,
60
+ onRemove: tagProps.onDelete
61
+ }, `${getValue(selected)}-${index}`);
62
+ }));
63
+ const inputField = /* @__PURE__ */ jsxs("div", {
64
+ className: cn("flex items-center gap-space-2", multiple ? "min-w-0 flex-1" : "flex-1", !multiple && (size === "xs" ? "min-w-12" : "min-w-16")),
65
+ children: [leftDecorator != null ? /* @__PURE__ */ jsx("div", {
66
+ className: "flex min-w-0 shrink items-center text-icon-tertiary",
67
+ children: leftDecorator
68
+ }) : !multiple && !hasValue ? /* @__PURE__ */ jsx(Icon, {
69
+ "aria-hidden": true,
70
+ icon: MagnifyingGlassIcon,
71
+ iconClassName: CONTROL_ICON_SIZES[size].iconClassName,
72
+ className: "text-icon-tertiary",
73
+ weight: "regular"
74
+ }) : null, /* @__PURE__ */ jsx(Command.Input, {
75
+ ref: setInputNode,
76
+ id: resolvedInputId,
77
+ value: inputValue,
78
+ onValueChange: handleInputValueChange,
79
+ onFocus: () => {
80
+ if (!disabled) setOpen(true);
81
+ },
82
+ onKeyDown: handleKeyDown,
83
+ placeholder: hasValue && multiple && !showPlaceholderWithValues ? void 0 : placeholder,
84
+ disabled,
85
+ autoFocus,
86
+ autoComplete,
87
+ role: "combobox",
88
+ "aria-expanded": open,
89
+ "aria-controls": listId,
90
+ "aria-autocomplete": "list",
91
+ "aria-haspopup": "listbox",
92
+ "aria-invalid": isError || void 0,
93
+ "aria-describedby": multiple ? selectedSummaryId : void 0,
94
+ "aria-label": inputAriaLabel,
95
+ className: cn("min-w-0 max-w-full border-none bg-transparent p-0 outline-none placeholder:text-placeholder", INPUT_TEXT_CLASSES[size], disabled && "cursor-not-allowed", multiple ? cn(MULTIPLE_INPUT_HEIGHT_CLASSES[size], "w-full") : "h-full w-full flex-1")
96
+ })]
97
+ });
98
+ const actionControls = /* @__PURE__ */ jsxs("div", {
99
+ className: cn("flex shrink-0 items-center gap-space-1 text-icon-tertiary", multiple ? "self-center" : "ml-auto"),
100
+ style: { marginInlineEnd: showClearButton && !forcePopupIcon ? CONTROL_ICON_SIZES[size].actionOffset : void 0 },
101
+ children: [showClearButton && /* @__PURE__ */ jsx(TypeaheadClearButton, {
102
+ size,
103
+ label: multiple ? "Clear selections" : "Clear selection",
104
+ onClick: (event) => {
105
+ event.stopPropagation();
106
+ clearValue();
107
+ }
108
+ }), forcePopupIcon && /* @__PURE__ */ jsx(Icon, {
109
+ "aria-hidden": true,
110
+ icon: CaretDownIcon,
111
+ iconClassName: CONTROL_ICON_SIZES[size].iconClassName,
112
+ className: cn("text-icon-tertiary transition-transform", open && "rotate-180"),
113
+ weight: "regular"
114
+ })]
115
+ });
116
+ return /* @__PURE__ */ jsx(Command$1, {
117
+ ref: rootRef,
118
+ shouldFilter: false,
119
+ label: commandLabel,
120
+ className: "overflow-visible bg-transparent",
121
+ children: /* @__PURE__ */ jsxs(Popover, {
122
+ open,
123
+ onOpenChange: setOpen,
124
+ children: [
125
+ /* @__PURE__ */ jsx(PopoverAnchor, {
126
+ asChild: true,
127
+ children: /* @__PURE__ */ jsx("div", {
128
+ ref: controlRef,
129
+ ...root.props,
130
+ "data-testid": dataTestId,
131
+ onBlur: handleBlur,
132
+ className: cn("w-full cursor-text border border-default bg-elevated text-primary transition-colors", multiple ? "flex flex-wrap items-center gap-space-1" : "flex items-center gap-space-1 overflow-hidden", "focus-within:border-focus focus-within:bg-elevated hover:bg-elevated-hover", controlHeightClass, multiple && {
133
+ "px-space-1 py-0": size === "xs",
134
+ "px-space-1 py-px": size === "sm",
135
+ "px-space-2 py-0.5": size === "md",
136
+ "px-space-3 py-space-1": size === "lg"
137
+ }, !multiple && controlPaddingClass, CONTROL_RADIUS_CLASSES[size], isError && "border-error focus-within:border-error", disabled && "cursor-not-allowed border-disabled bg-disabled text-disabled opacity-70", className),
138
+ onClick: (event) => {
139
+ root.props.onClick?.(event);
140
+ if (!disabled) {
141
+ focusInput();
142
+ setOpen(true);
143
+ }
144
+ },
145
+ children: multiple ? /* @__PURE__ */ jsxs(Fragment$1, { children: [renderedTags, /* @__PURE__ */ jsxs("div", {
146
+ className: "flex min-w-16 flex-1 items-center gap-space-1",
147
+ children: [inputField, actionControls]
148
+ })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [inputField, actionControls] })
149
+ })
150
+ }),
151
+ multiple && /* @__PURE__ */ jsx("span", {
152
+ id: selectedSummaryId,
153
+ className: "sr-only",
154
+ "aria-live": "polite",
155
+ "aria-atomic": "true",
156
+ children: selectedSummary
157
+ }),
158
+ /* @__PURE__ */ jsx(PopoverContent, {
159
+ ref: popoverContentRef,
160
+ hidden: !open,
161
+ className: cn("w-[var(--radix-popover-trigger-width)] min-w-48 max-w-[calc(100vw-1rem)] bg-elevated p-space-1 text-primary", !open && "hidden"),
162
+ align: "start",
163
+ sideOffset: 4,
164
+ forceMount: true,
165
+ onOpenAutoFocus: (event) => event.preventDefault(),
166
+ onCloseAutoFocus: (event) => event.preventDefault(),
167
+ onFocusOutside: preventInputDismiss,
168
+ onInteractOutside: preventInputDismiss,
169
+ children: /* @__PURE__ */ jsxs(CommandList, {
170
+ ref: listRef,
171
+ id: listId,
172
+ "aria-label": `${commandLabel} options`,
173
+ "aria-multiselectable": multiple ? true : void 0,
174
+ className: "max-h-[18.75rem]",
175
+ children: [
176
+ showEmptyState && /* @__PURE__ */ jsx(CommandEmpty, { children: emptyState ?? /* @__PURE__ */ jsx(Text, {
177
+ variant: "sm",
178
+ color: "secondary",
179
+ children: emptyText
180
+ }) }),
181
+ visibleItems.map((item) => {
182
+ const { option } = item;
183
+ const optionKey = getValue(option);
184
+ const optionLabel = getLabel(option);
185
+ const selected = selectedKeys.has(optionKey);
186
+ const optionDisabled = optionIsDisabled(item);
187
+ const optionState = {
188
+ selected,
189
+ disabled: optionDisabled,
190
+ inputValue
191
+ };
192
+ return /* @__PURE__ */ jsx(CommandItem, {
193
+ value: optionKey,
194
+ disabled: optionDisabled,
195
+ keywords: isTypeaheadOption(option) ? [optionLabel, ...option.keywords ?? []] : [optionLabel],
196
+ onSelect: () => selectValue(option),
197
+ "aria-checked": multiple ? selected : void 0,
198
+ className: cn("flex items-center gap-space-2 rounded-sm px-space-2 py-space-2 text-sm text-primary hover:bg-surface-level-2 aria-selected:bg-surface-level-2", optionDisabled && "text-disabled"),
199
+ children: renderOption && item.source === "option" ? renderOption(option, optionState) : /* @__PURE__ */ jsx(TypeaheadDefaultOption, {
200
+ option,
201
+ state: optionState,
202
+ getLabel
203
+ })
204
+ }, optionKey);
205
+ }),
206
+ visibleShowCreateOption && /* @__PURE__ */ jsx(CommandItem, {
207
+ value: `__typeahead_create__${createOption.inputValue}`,
208
+ keywords: [createOption.inputValue],
209
+ onSelect: createOption.onCreate,
210
+ "aria-label": createOption.inputValue ? `Add ${createOption.inputValue}` : "Add new",
211
+ className: "flex items-center gap-space-2 rounded-sm p-space-2 text-sm text-primary hover:bg-surface-level-2 aria-selected:bg-surface-level-2",
212
+ children: /* @__PURE__ */ jsx(TypeaheadCreateOption, {
213
+ inputValue: createOption.inputValue,
214
+ label: createOption.label
215
+ })
216
+ }),
217
+ listFooter
218
+ ]
219
+ })
220
+ })
221
+ ]
222
+ })
223
+ });
224
+ }
225
+ //#endregion
226
+ export { TypeaheadView };
227
+
228
+ //# sourceMappingURL=TypeaheadView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeaheadView.js","names":[],"sources":["../../../src/components/Typeahead/TypeaheadView.tsx"],"sourcesContent":["/* eslint-disable max-lines -- Keep the control, tag layout, and popover rendering together in this view. */\nimport type {\n FocusEvent,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n Ref,\n} from 'react';\nimport { useRef } from 'react';\n\nimport { Command as CommandPrimitive } from 'cmdk';\n\nimport { MagnifyingGlassIcon } from '@phosphor-icons/react/dist/ssr/MagnifyingGlass';\n\nimport { CaretDownIcon } from '../../icons/PaddedPhosphorIcons';\nimport { cn } from '../../utils/cn';\nimport { CONTROL_SIZES } from '../../utils/componentSizes';\nimport { CONTROL_ICON_SIZES } from '../../utils/controlIconSizes';\nimport { Command, CommandEmpty, CommandItem, CommandList } from '../Command';\nimport { Icon } from '../Icon';\nimport { Popover, PopoverAnchor, PopoverContent } from '../Popover';\nimport { Text } from '../Text';\nimport type {\n TypeaheadListItem,\n TypeaheadMultipleValue,\n TypeaheadRenderOptionState,\n TypeaheadSelectedValue,\n TypeaheadSize,\n TypeaheadTagProps,\n} from './Typeahead.types';\nimport { isTypeaheadOption } from './Typeahead.utils';\nimport {\n TypeaheadClearButton,\n TypeaheadCreateOption,\n TypeaheadDefaultOption,\n TypeaheadDefaultTag,\n} from './TypeaheadParts';\n\ninterface TypeaheadViewRootProps {\n ref: Ref<HTMLDivElement>;\n props: HTMLAttributes<HTMLDivElement>;\n handleBlur: (event: FocusEvent<HTMLDivElement>) => void;\n dataTestId?: string;\n className?: string;\n}\n\ninterface TypeaheadViewState {\n size: TypeaheadSize;\n disabled: boolean;\n isError: boolean;\n multiple?: boolean;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\ninterface TypeaheadViewIds {\n commandLabel: string;\n resolvedInputId: string;\n listId: string;\n selectedSummaryId: string;\n inputAriaLabel?: string;\n}\n\ninterface TypeaheadViewInputProps {\n value: string;\n onValueChange: (value: string) => void;\n onKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;\n placeholder: string;\n leftDecorator?: ReactNode;\n showPlaceholderWithValues: boolean;\n autoFocus?: boolean;\n autoComplete?: string;\n setNode: (node: HTMLInputElement | null) => void;\n focus: () => void;\n}\n\ninterface TypeaheadViewSelectionProps<TOption> {\n selectedValues: TypeaheadMultipleValue<TOption>;\n selectedKeys: Set<string>;\n getTagProps: (params: { index: number }) => TypeaheadTagProps;\n renderTags?: (\n value: TypeaheadMultipleValue<TOption>,\n getTagProps: (params: { index: number }) => TypeaheadTagProps\n ) => ReactNode;\n getLabel: (option: TypeaheadSelectedValue<TOption>) => string;\n getValue: (option: TypeaheadSelectedValue<TOption>) => string;\n showClearButton: boolean;\n clearValue: () => void;\n forcePopupIcon: boolean;\n selectedSummary?: string;\n}\n\ninterface TypeaheadViewListProps<TOption> {\n ref: Ref<HTMLDivElement>;\n items: TypeaheadListItem<TOption>[];\n emptyText: string;\n emptyState?: ReactNode;\n listFooter?: ReactNode;\n hideEmptyList: boolean;\n optionIsDisabled: (item: TypeaheadListItem<TOption>) => boolean;\n selectValue: (selected: TypeaheadSelectedValue<TOption>) => void;\n renderOption?: (\n option: TOption,\n state: TypeaheadRenderOptionState\n ) => ReactNode;\n}\n\ninterface TypeaheadViewCreateOptionProps {\n show: boolean;\n inputValue: string;\n label?: ReactNode;\n onCreate: () => void;\n}\n\ninterface TypeaheadViewProps<TOption> {\n root: TypeaheadViewRootProps;\n state: TypeaheadViewState;\n ids: TypeaheadViewIds;\n input: TypeaheadViewInputProps;\n selection: TypeaheadViewSelectionProps<TOption>;\n list: TypeaheadViewListProps<TOption>;\n createOption: TypeaheadViewCreateOptionProps;\n popoverContentRef: Ref<HTMLDivElement>;\n}\n\nconst CONTROL_RADIUS_CLASSES = {\n xs: 'rounded-xs',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-md',\n} as const satisfies Record<TypeaheadSize, string>;\n\nconst MULTIPLE_INPUT_HEIGHT_CLASSES = {\n xs: 'h-4',\n sm: 'h-5',\n md: 'h-6',\n lg: 'h-6',\n} as const satisfies Record<TypeaheadSize, string>;\n\nconst INPUT_TEXT_CLASSES = {\n xs: 'text-xxs leading-[1.15]',\n sm: 'text-xs leading-normal',\n md: 'text-sm leading-normal',\n lg: 'text-sm leading-normal',\n} as const satisfies Record<TypeaheadSize, string>;\n\nexport function TypeaheadView<TOption>({\n root,\n state,\n ids,\n input,\n selection,\n list,\n createOption,\n popoverContentRef,\n}: TypeaheadViewProps<TOption>) {\n const controlRef = useRef<HTMLDivElement | null>(null);\n const preventInputDismiss = (event: Event) => {\n if (\n open &&\n event.target instanceof HTMLInputElement &&\n event.target.getAttribute('role') === 'combobox' &&\n controlRef.current?.contains(event.target)\n ) {\n event.preventDefault();\n }\n };\n const { ref: rootRef, handleBlur, dataTestId, className } = root;\n const { size, disabled, isError, multiple, open, setOpen } = state;\n const {\n commandLabel,\n resolvedInputId,\n listId,\n selectedSummaryId,\n inputAriaLabel,\n } = ids;\n const {\n value: inputValue,\n onValueChange: handleInputValueChange,\n onKeyDown: handleKeyDown,\n placeholder,\n leftDecorator,\n showPlaceholderWithValues,\n autoFocus,\n autoComplete,\n setNode: setInputNode,\n focus: focusInput,\n } = input;\n const {\n selectedValues,\n selectedKeys,\n getTagProps,\n renderTags,\n getLabel,\n getValue,\n showClearButton,\n clearValue,\n forcePopupIcon,\n selectedSummary,\n } = selection;\n const {\n ref: listRef,\n items,\n emptyText,\n emptyState,\n listFooter,\n hideEmptyList,\n optionIsDisabled,\n selectValue,\n renderOption,\n } = list;\n const hasValue = selectedValues.length > 0;\n const visibleItems = open ? items : [];\n const visibleShowCreateOption = open && createOption.show;\n const showEmptyState =\n open &&\n visibleItems.length === 0 &&\n !visibleShowCreateOption &&\n (emptyState != null || !hideEmptyList);\n const controlHeightClass = multiple\n ? CONTROL_SIZES[size].minHeightClassName\n : CONTROL_SIZES[size].heightClassName;\n const controlPaddingClass =\n size === 'xs' || size === 'sm' ? 'px-space-2' : 'px-space-3';\n const renderedTags =\n multiple &&\n (renderTags\n ? renderTags(selectedValues, getTagProps)\n : selectedValues.map((selected, index) => {\n const tagProps = getTagProps({ index });\n return (\n <TypeaheadDefaultTag\n key={`${getValue(selected)}-${index}`}\n selected={selected}\n index={index}\n disabled={disabled}\n size={size}\n getLabel={getLabel}\n getValue={getValue}\n onRemove={tagProps.onDelete}\n />\n );\n }));\n const inputField = (\n <div\n className={cn(\n 'flex items-center gap-space-2',\n multiple ? 'min-w-0 flex-1' : 'flex-1',\n !multiple && (size === 'xs' ? 'min-w-12' : 'min-w-16')\n )}\n >\n {leftDecorator != null ? (\n <div className=\"flex min-w-0 shrink items-center text-icon-tertiary\">\n {leftDecorator}\n </div>\n ) : !multiple && !hasValue ? (\n <Icon\n aria-hidden\n icon={MagnifyingGlassIcon}\n iconClassName={CONTROL_ICON_SIZES[size].iconClassName}\n className=\"text-icon-tertiary\"\n weight=\"regular\"\n />\n ) : null}\n {/*\n cmdk rewrites some of these combobox attributes as the query changes, so\n useTypeaheadDomSync re-asserts them imperatively. Keep the two attribute\n sets in sync when editing either here or in that hook.\n */}\n <CommandPrimitive.Input\n ref={setInputNode}\n id={resolvedInputId}\n value={inputValue}\n onValueChange={handleInputValueChange}\n onFocus={() => {\n if (!disabled) {\n setOpen(true);\n }\n }}\n onKeyDown={handleKeyDown}\n placeholder={\n hasValue && multiple && !showPlaceholderWithValues\n ? undefined\n : placeholder\n }\n disabled={disabled}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={listId}\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-invalid={isError || undefined}\n aria-describedby={multiple ? selectedSummaryId : undefined}\n aria-label={inputAriaLabel}\n className={cn(\n 'min-w-0 max-w-full border-none bg-transparent p-0 outline-none placeholder:text-placeholder',\n INPUT_TEXT_CLASSES[size],\n disabled && 'cursor-not-allowed',\n multiple\n ? cn(MULTIPLE_INPUT_HEIGHT_CLASSES[size], 'w-full')\n : 'h-full w-full flex-1'\n )}\n />\n </div>\n );\n const actionControls = (\n <div\n className={cn(\n 'flex shrink-0 items-center gap-space-1 text-icon-tertiary',\n multiple ? 'self-center' : 'ml-auto'\n )}\n style={{\n marginInlineEnd:\n showClearButton && !forcePopupIcon\n ? CONTROL_ICON_SIZES[size].actionOffset\n : undefined,\n }}\n >\n {showClearButton && (\n <TypeaheadClearButton\n size={size}\n label={multiple ? 'Clear selections' : 'Clear selection'}\n onClick={(event) => {\n event.stopPropagation();\n clearValue();\n }}\n />\n )}\n {forcePopupIcon && (\n <Icon\n aria-hidden\n icon={CaretDownIcon}\n iconClassName={CONTROL_ICON_SIZES[size].iconClassName}\n className={cn(\n 'text-icon-tertiary transition-transform',\n open && 'rotate-180'\n )}\n weight=\"regular\"\n />\n )}\n </div>\n );\n\n return (\n <Command\n ref={rootRef}\n shouldFilter={false}\n label={commandLabel}\n className=\"overflow-visible bg-transparent\"\n >\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverAnchor asChild>\n <div\n ref={controlRef}\n {...root.props}\n data-testid={dataTestId}\n onBlur={handleBlur}\n className={cn(\n 'w-full cursor-text border border-default bg-elevated text-primary transition-colors',\n multiple\n ? 'flex flex-wrap items-center gap-space-1'\n : 'flex items-center gap-space-1 overflow-hidden',\n 'focus-within:border-focus focus-within:bg-elevated hover:bg-elevated-hover',\n controlHeightClass,\n multiple && {\n 'px-space-1 py-0': size === 'xs',\n 'px-space-1 py-px': size === 'sm',\n 'px-space-2 py-0.5': size === 'md',\n 'px-space-3 py-space-1': size === 'lg',\n },\n !multiple && controlPaddingClass,\n CONTROL_RADIUS_CLASSES[size],\n isError && 'border-error focus-within:border-error',\n disabled &&\n 'cursor-not-allowed border-disabled bg-disabled text-disabled opacity-70',\n className\n )}\n onClick={(event) => {\n root.props.onClick?.(event);\n if (!disabled) {\n focusInput();\n setOpen(true);\n }\n }}\n >\n {multiple ? (\n <>\n {renderedTags}\n <div className=\"flex min-w-16 flex-1 items-center gap-space-1\">\n {inputField}\n {actionControls}\n </div>\n </>\n ) : (\n <>\n {inputField}\n {actionControls}\n </>\n )}\n </div>\n </PopoverAnchor>\n\n {multiple && (\n <span\n id={selectedSummaryId}\n className=\"sr-only\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {selectedSummary}\n </span>\n )}\n\n <PopoverContent\n ref={popoverContentRef}\n hidden={!open}\n className={cn(\n 'w-[var(--radix-popover-trigger-width)] min-w-48 max-w-[calc(100vw-1rem)] bg-elevated p-space-1 text-primary',\n !open && 'hidden'\n )}\n align=\"start\"\n sideOffset={4}\n forceMount\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n onFocusOutside={preventInputDismiss}\n onInteractOutside={preventInputDismiss}\n >\n <CommandList\n ref={listRef}\n id={listId}\n aria-label={`${commandLabel} options`}\n aria-multiselectable={multiple ? true : undefined}\n className=\"max-h-[18.75rem]\"\n >\n {showEmptyState && (\n <CommandEmpty>\n {emptyState ?? (\n <Text variant=\"sm\" color=\"secondary\">\n {emptyText}\n </Text>\n )}\n </CommandEmpty>\n )}\n\n {visibleItems.map((item) => {\n const { option } = item;\n const optionKey = getValue(option);\n const optionLabel = getLabel(option);\n const selected = selectedKeys.has(optionKey);\n const optionDisabled = optionIsDisabled(item);\n const optionState = {\n selected,\n disabled: optionDisabled,\n inputValue,\n };\n\n return (\n <CommandItem\n key={optionKey}\n value={optionKey}\n disabled={optionDisabled}\n keywords={\n isTypeaheadOption(option)\n ? [optionLabel, ...(option.keywords ?? [])]\n : [optionLabel]\n }\n onSelect={() => selectValue(option)}\n aria-checked={multiple ? selected : undefined}\n className={cn(\n 'flex items-center gap-space-2 rounded-sm px-space-2 py-space-2 text-sm text-primary hover:bg-surface-level-2 aria-selected:bg-surface-level-2',\n optionDisabled && 'text-disabled'\n )}\n >\n {renderOption && item.source === 'option' ? (\n renderOption(option as TOption, optionState)\n ) : (\n <TypeaheadDefaultOption\n option={option}\n state={optionState}\n getLabel={getLabel}\n />\n )}\n </CommandItem>\n );\n })}\n\n {visibleShowCreateOption && (\n <CommandItem\n value={`__typeahead_create__${createOption.inputValue}`}\n keywords={[createOption.inputValue]}\n onSelect={createOption.onCreate}\n aria-label={\n createOption.inputValue\n ? `Add ${createOption.inputValue}`\n : 'Add new'\n }\n className=\"flex items-center gap-space-2 rounded-sm p-space-2 text-sm text-primary hover:bg-surface-level-2 aria-selected:bg-surface-level-2\"\n >\n <TypeaheadCreateOption\n inputValue={createOption.inputValue}\n label={createOption.label}\n />\n </CommandItem>\n )}\n\n {listFooter}\n </CommandList>\n </PopoverContent>\n </Popover>\n </Command>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Typeahead } from './Typeahead.js';
2
+ export type { TypeaheadFilterOptionsState, TypeaheadOption, TypeaheadProps, TypeaheadRenderOptionState, TypeaheadSize, TypeaheadTagProps, } from './Typeahead.types.js';
@@ -0,0 +1,2 @@
1
+ import { Typeahead } from "./Typeahead.js";
2
+ export { Typeahead };
@@ -0,0 +1,15 @@
1
+ import type { RefObject } from 'react';
2
+ export declare function useTypeaheadDomSync({ autoComplete, commandLabel, inputAriaLabel, inputRef, inputValue, isError, listId, listRef, multiple, open, resolvedInputId, selectedSummaryId, }: {
3
+ autoComplete?: string;
4
+ commandLabel: string;
5
+ inputAriaLabel?: string;
6
+ inputRef: RefObject<HTMLInputElement | null>;
7
+ inputValue: string;
8
+ isError: boolean;
9
+ listId: string;
10
+ listRef: RefObject<HTMLDivElement | null>;
11
+ multiple?: boolean;
12
+ open: boolean;
13
+ resolvedInputId: string;
14
+ selectedSummaryId: string;
15
+ }): void;
@@ -0,0 +1,43 @@
1
+ import { useEffect } from "react";
2
+ //#region packages/components/src/components/Typeahead/useTypeaheadDomSync.ts
3
+ function useTypeaheadDomSync({ autoComplete, commandLabel, inputAriaLabel, inputRef, inputValue, isError, listId, listRef, multiple, open, resolvedInputId, selectedSummaryId }) {
4
+ useEffect(() => {
5
+ const input = inputRef.current;
6
+ const list = listRef.current;
7
+ input?.setAttribute("id", resolvedInputId);
8
+ input?.setAttribute("aria-controls", listId);
9
+ input?.setAttribute("aria-expanded", String(open));
10
+ input?.setAttribute("aria-haspopup", "listbox");
11
+ input?.setAttribute("autocomplete", autoComplete ?? "off");
12
+ if (inputAriaLabel) input?.setAttribute("aria-label", inputAriaLabel);
13
+ else {
14
+ input?.removeAttribute("aria-label");
15
+ input?.removeAttribute("aria-labelledby");
16
+ }
17
+ if (isError) input?.setAttribute("aria-invalid", "true");
18
+ else input?.removeAttribute("aria-invalid");
19
+ if (multiple) input?.setAttribute("aria-describedby", selectedSummaryId);
20
+ else input?.removeAttribute("aria-describedby");
21
+ list?.setAttribute("id", listId);
22
+ list?.setAttribute("aria-label", `${commandLabel} options`);
23
+ if (multiple) list?.setAttribute("aria-multiselectable", "true");
24
+ else list?.removeAttribute("aria-multiselectable");
25
+ }, [
26
+ autoComplete,
27
+ commandLabel,
28
+ inputAriaLabel,
29
+ inputRef,
30
+ inputValue,
31
+ isError,
32
+ listId,
33
+ listRef,
34
+ multiple,
35
+ open,
36
+ resolvedInputId,
37
+ selectedSummaryId
38
+ ]);
39
+ }
40
+ //#endregion
41
+ export { useTypeaheadDomSync };
42
+
43
+ //# sourceMappingURL=useTypeaheadDomSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTypeaheadDomSync.js","names":[],"sources":["../../../src/components/Typeahead/useTypeaheadDomSync.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect } from 'react';\n\nexport function useTypeaheadDomSync({\n autoComplete,\n commandLabel,\n inputAriaLabel,\n inputRef,\n inputValue,\n isError,\n listId,\n listRef,\n multiple,\n open,\n resolvedInputId,\n selectedSummaryId,\n}: {\n autoComplete?: string;\n commandLabel: string;\n inputAriaLabel?: string;\n inputRef: RefObject<HTMLInputElement | null>;\n inputValue: string;\n isError: boolean;\n listId: string;\n listRef: RefObject<HTMLDivElement | null>;\n multiple?: boolean;\n open: boolean;\n resolvedInputId: string;\n selectedSummaryId: string;\n}) {\n useEffect(() => {\n // cmdk owns these DOM nodes and may rewrite combobox attributes as input changes.\n const input = inputRef.current;\n const list = listRef.current;\n\n input?.setAttribute('id', resolvedInputId);\n input?.setAttribute('aria-controls', listId);\n input?.setAttribute('aria-expanded', String(open));\n input?.setAttribute('aria-haspopup', 'listbox');\n input?.setAttribute('autocomplete', autoComplete ?? 'off');\n if (inputAriaLabel) {\n input?.setAttribute('aria-label', inputAriaLabel);\n } else {\n input?.removeAttribute('aria-label');\n input?.removeAttribute('aria-labelledby');\n }\n if (isError) {\n input?.setAttribute('aria-invalid', 'true');\n } else {\n input?.removeAttribute('aria-invalid');\n }\n if (multiple) {\n input?.setAttribute('aria-describedby', selectedSummaryId);\n } else {\n input?.removeAttribute('aria-describedby');\n }\n\n list?.setAttribute('id', listId);\n list?.setAttribute('aria-label', `${commandLabel} options`);\n if (multiple) {\n list?.setAttribute('aria-multiselectable', 'true');\n } else {\n list?.removeAttribute('aria-multiselectable');\n }\n }, [\n autoComplete,\n commandLabel,\n inputAriaLabel,\n inputRef,\n inputValue,\n isError,\n listId,\n listRef,\n multiple,\n open,\n resolvedInputId,\n selectedSummaryId,\n ]);\n}\n"],"mappings":";;AAGA,SAAgB,oBAAoB,EAClC,cACA,cACA,gBACA,UACA,YACA,SACA,QACA,SACA,UACA,MACA,iBACA,qBAcC;CACD,gBAAgB;EAEd,MAAM,QAAQ,SAAS;EACvB,MAAM,OAAO,QAAQ;EAErB,OAAO,aAAa,MAAM,eAAe;EACzC,OAAO,aAAa,iBAAiB,MAAM;EAC3C,OAAO,aAAa,iBAAiB,OAAO,IAAI,CAAC;EACjD,OAAO,aAAa,iBAAiB,SAAS;EAC9C,OAAO,aAAa,gBAAgB,gBAAgB,KAAK;EACzD,IAAI,gBACF,OAAO,aAAa,cAAc,cAAc;OAC3C;GACL,OAAO,gBAAgB,YAAY;GACnC,OAAO,gBAAgB,iBAAiB;EAC1C;EACA,IAAI,SACF,OAAO,aAAa,gBAAgB,MAAM;OAE1C,OAAO,gBAAgB,cAAc;EAEvC,IAAI,UACF,OAAO,aAAa,oBAAoB,iBAAiB;OAEzD,OAAO,gBAAgB,kBAAkB;EAG3C,MAAM,aAAa,MAAM,MAAM;EAC/B,MAAM,aAAa,cAAc,GAAG,aAAa,SAAS;EAC1D,IAAI,UACF,MAAM,aAAa,wBAAwB,MAAM;OAEjD,MAAM,gBAAgB,sBAAsB;CAEhD,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH"}
@@ -0,0 +1,11 @@
1
+ import type { TypeaheadMultipleValue, TypeaheadSelectedValue, TypeaheadSingleValue } from './Typeahead.types.js';
2
+ export declare function useTypeaheadUncontrolledInput<TOption>({ clearOnBlur, controlledInputValue, freeSolo, getLabel, multiple, open, setUncontrolledInputValue, value, }: {
3
+ clearOnBlur?: boolean;
4
+ controlledInputValue?: string;
5
+ freeSolo: boolean;
6
+ getLabel: (option: TypeaheadSelectedValue<TOption>) => string;
7
+ multiple?: boolean;
8
+ open: boolean;
9
+ setUncontrolledInputValue: (value: string) => void;
10
+ value: TypeaheadSingleValue<TOption> | TypeaheadMultipleValue<TOption>;
11
+ }): void;
@@ -0,0 +1,32 @@
1
+ import { useEffect } from "react";
2
+ //#region packages/components/src/components/Typeahead/useTypeaheadUncontrolledInput.ts
3
+ function useTypeaheadUncontrolledInput({ clearOnBlur, controlledInputValue, freeSolo, getLabel, multiple, open, setUncontrolledInputValue, value }) {
4
+ const singleValue = Array.isArray(value) ? null : value;
5
+ useEffect(() => {
6
+ if (controlledInputValue !== void 0 || multiple) return;
7
+ setUncontrolledInputValue(singleValue == null ? "" : getLabel(singleValue));
8
+ }, [
9
+ controlledInputValue,
10
+ getLabel,
11
+ multiple,
12
+ setUncontrolledInputValue,
13
+ singleValue
14
+ ]);
15
+ useEffect(() => {
16
+ if (open || controlledInputValue !== void 0) return;
17
+ if (clearOnBlur ?? !freeSolo) setUncontrolledInputValue(multiple || singleValue == null ? "" : getLabel(singleValue));
18
+ }, [
19
+ clearOnBlur,
20
+ controlledInputValue,
21
+ freeSolo,
22
+ getLabel,
23
+ multiple,
24
+ open,
25
+ setUncontrolledInputValue,
26
+ singleValue
27
+ ]);
28
+ }
29
+ //#endregion
30
+ export { useTypeaheadUncontrolledInput };
31
+
32
+ //# sourceMappingURL=useTypeaheadUncontrolledInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTypeaheadUncontrolledInput.js","names":[],"sources":["../../../src/components/Typeahead/useTypeaheadUncontrolledInput.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport type {\n TypeaheadMultipleValue,\n TypeaheadSelectedValue,\n TypeaheadSingleValue,\n} from './Typeahead.types';\n\nexport function useTypeaheadUncontrolledInput<TOption>({\n clearOnBlur,\n controlledInputValue,\n freeSolo,\n getLabel,\n multiple,\n open,\n setUncontrolledInputValue,\n value,\n}: {\n clearOnBlur?: boolean;\n controlledInputValue?: string;\n freeSolo: boolean;\n getLabel: (option: TypeaheadSelectedValue<TOption>) => string;\n multiple?: boolean;\n open: boolean;\n setUncontrolledInputValue: (value: string) => void;\n value: TypeaheadSingleValue<TOption> | TypeaheadMultipleValue<TOption>;\n}) {\n const singleValue: TypeaheadSingleValue<TOption> = Array.isArray(value)\n ? null\n : value;\n\n useEffect(() => {\n if (controlledInputValue !== undefined || multiple) return;\n setUncontrolledInputValue(singleValue == null ? '' : getLabel(singleValue));\n }, [\n controlledInputValue,\n getLabel,\n multiple,\n setUncontrolledInputValue,\n singleValue,\n ]);\n\n useEffect(() => {\n if (open || controlledInputValue !== undefined) return;\n if (clearOnBlur ?? !freeSolo) {\n setUncontrolledInputValue(\n multiple || singleValue == null ? '' : getLabel(singleValue)\n );\n }\n }, [\n clearOnBlur,\n controlledInputValue,\n freeSolo,\n getLabel,\n multiple,\n open,\n setUncontrolledInputValue,\n singleValue,\n ]);\n}\n"],"mappings":";;AAQA,SAAgB,8BAAuC,EACrD,aACA,sBACA,UACA,UACA,UACA,MACA,2BACA,SAUC;CACD,MAAM,cAA6C,MAAM,QAAQ,KAAK,IAClE,OACA;CAEJ,gBAAgB;EACd,IAAI,yBAAyB,KAAA,KAAa,UAAU;EACpD,0BAA0B,eAAe,OAAO,KAAK,SAAS,WAAW,CAAC;CAC5E,GAAG;EACD;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,gBAAgB;EACd,IAAI,QAAQ,yBAAyB,KAAA,GAAW;EAChD,IAAI,eAAe,CAAC,UAClB,0BACE,YAAY,eAAe,OAAO,KAAK,SAAS,WAAW,CAC7D;CAEJ,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH"}
@@ -0,0 +1,14 @@
1
+ import type { FC, ReactNode } from 'react';
2
+ type TProps = {
3
+ isOpen: boolean;
4
+ onClose: () => void;
5
+ onConfirm?: () => Promise<void> | void;
6
+ onDiscard?: () => void;
7
+ title: string;
8
+ description: string;
9
+ saveCopy?: string | ReactNode;
10
+ discardCopy?: string;
11
+ disabledSaveTooltip?: string;
12
+ };
13
+ declare const UnsavedChangesDialog: FC<TProps>;
14
+ export default UnsavedChangesDialog;
@@ -0,0 +1,67 @@
1
+ import { Text } from "./Text/Text.js";
2
+ import { Tooltip } from "./Tooltip/Tooltip.js";
3
+ import { Button } from "./Button/Button.js";
4
+ import { Dialog, DialogContent } from "./Dialog/index.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { FloppyDiskIcon } from "@phosphor-icons/react/dist/ssr/FloppyDisk";
7
+ import { WarningCircleIcon } from "@phosphor-icons/react/dist/ssr/WarningCircle";
8
+ //#region packages/components/src/components/UnsavedChangesDialog.tsx
9
+ var UnsavedChangesDialog = ({ isOpen, onClose, onConfirm, onDiscard, title, description, saveCopy = "Save", discardCopy = "Discard", disabledSaveTooltip }) => {
10
+ return /* @__PURE__ */ jsx(Dialog, {
11
+ open: isOpen,
12
+ onOpenChange: (open) => !open && onClose(),
13
+ children: /* @__PURE__ */ jsxs(DialogContent, {
14
+ className: "w-96 flex-col rounded-lg bg-background shadow-xl",
15
+ onEscapeKeyDown: (e) => {
16
+ e.preventDefault();
17
+ onClose();
18
+ },
19
+ title,
20
+ titleIcon: onConfirm ? FloppyDiskIcon : WarningCircleIcon,
21
+ titleIconIntent: onConfirm ? "info" : "warning",
22
+ showClose: false,
23
+ children: [/* @__PURE__ */ jsx(Text, {
24
+ variant: "sm",
25
+ color: "secondary",
26
+ children: description
27
+ }), /* @__PURE__ */ jsxs("div", {
28
+ className: "flex w-full flex-row justify-end gap-2",
29
+ children: [
30
+ /* @__PURE__ */ jsx(Button, {
31
+ "data-testid": "save-confirmation-modal-cancel-button",
32
+ size: "sm",
33
+ color: "secondary",
34
+ onClick: onClose,
35
+ children: "Cancel"
36
+ }),
37
+ onDiscard && /* @__PURE__ */ jsx(Button, {
38
+ size: "sm",
39
+ "data-testid": "save-confirmation-modal-discard-button",
40
+ color: "error",
41
+ variant: "outlined",
42
+ onClick: onDiscard,
43
+ children: discardCopy
44
+ }),
45
+ onConfirm && /* @__PURE__ */ jsx(Tooltip, {
46
+ title: disabledSaveTooltip,
47
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Button, {
48
+ size: "sm",
49
+ "data-testid": "save-confirmation-modal-save-button",
50
+ color: "primary",
51
+ disabled: !!disabledSaveTooltip,
52
+ onClick: async () => {
53
+ await onConfirm();
54
+ onClose();
55
+ },
56
+ children: saveCopy
57
+ }) })
58
+ })
59
+ ]
60
+ })]
61
+ })
62
+ });
63
+ };
64
+ //#endregion
65
+ export { UnsavedChangesDialog as default };
66
+
67
+ //# sourceMappingURL=UnsavedChangesDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnsavedChangesDialog.js","names":[],"sources":["../../src/components/UnsavedChangesDialog.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\n\nimport { FloppyDiskIcon } from '@phosphor-icons/react/dist/ssr/FloppyDisk';\nimport { WarningCircleIcon } from '@phosphor-icons/react/dist/ssr/WarningCircle';\n\nimport { Button } from './Button';\nimport { Dialog, DialogContent } from './Dialog';\nimport { Text } from './Text';\nimport { Tooltip } from './Tooltip';\n\ntype TProps = {\n isOpen: boolean;\n onClose: () => void;\n onConfirm?: () => Promise<void> | void;\n onDiscard?: () => void;\n title: string;\n description: string;\n saveCopy?: string | ReactNode;\n discardCopy?: string;\n disabledSaveTooltip?: string;\n};\n\nconst UnsavedChangesDialog: FC<TProps> = ({\n isOpen,\n onClose,\n onConfirm,\n onDiscard,\n title,\n description,\n saveCopy = 'Save',\n discardCopy = 'Discard',\n disabledSaveTooltip,\n}) => {\n return (\n <Dialog open={isOpen} onOpenChange={(open) => !open && onClose()}>\n <DialogContent\n className=\"w-96 flex-col rounded-lg bg-background shadow-xl\"\n onEscapeKeyDown={(e) => {\n e.preventDefault();\n onClose();\n }}\n title={title}\n titleIcon={onConfirm ? FloppyDiskIcon : WarningCircleIcon}\n titleIconIntent={onConfirm ? 'info' : 'warning'}\n showClose={false}\n >\n <Text variant=\"sm\" color=\"secondary\">\n {description}\n </Text>\n <div className=\"flex w-full flex-row justify-end gap-2\">\n <Button\n data-testid=\"save-confirmation-modal-cancel-button\"\n size=\"sm\"\n color=\"secondary\"\n onClick={onClose}\n >\n Cancel\n </Button>\n {onDiscard && (\n <Button\n size=\"sm\"\n data-testid=\"save-confirmation-modal-discard-button\"\n color=\"error\"\n variant=\"outlined\"\n onClick={onDiscard}\n >\n {discardCopy}\n </Button>\n )}\n\n {onConfirm && (\n <Tooltip title={disabledSaveTooltip}>\n <div>\n <Button\n size=\"sm\"\n data-testid=\"save-confirmation-modal-save-button\"\n color=\"primary\"\n disabled={!!disabledSaveTooltip}\n onClick={async () => {\n await onConfirm();\n onClose();\n }}\n >\n {saveCopy}\n </Button>\n </div>\n </Tooltip>\n )}\n </div>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default UnsavedChangesDialog;\n"],"mappings":";;;;;;;;AAsBA,IAAM,wBAAoC,EACxC,QACA,SACA,WACA,WACA,OACA,aACA,WAAW,QACX,cAAc,WACd,0BACI;CACJ,OACE,oBAAC,QAAD;EAAQ,MAAM;EAAQ,eAAe,SAAS,CAAC,QAAQ,QAAQ;EAC7D,UAAA,qBAAC,eAAD;GACE,WAAU;GACV,kBAAkB,MAAM;IACtB,EAAE,eAAe;IACjB,QAAQ;GACV;GACO;GACP,WAAW,YAAY,iBAAiB;GACxC,iBAAiB,YAAY,SAAS;GACtC,WAAW;GATb,UAAA,CAWE,oBAAC,MAAD;IAAM,SAAQ;IAAK,OAAM;IACtB,UAAA;GACG,CAAA,GACN,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA;KACE,oBAAC,QAAD;MACE,eAAY;MACZ,MAAK;MACL,OAAM;MACN,SAAS;MACV,UAAA;KAEO,CAAA;KACP,aACC,oBAAC,QAAD;MACE,MAAK;MACL,eAAY;MACZ,OAAM;MACN,SAAQ;MACR,SAAS;MAER,UAAA;KACK,CAAA;KAGT,aACC,oBAAC,SAAD;MAAS,OAAO;MACd,UAAA,oBAAC,OAAD,EAAA,UACE,oBAAC,QAAD;OACE,MAAK;OACL,eAAY;OACZ,OAAM;OACN,UAAU,CAAC,CAAC;OACZ,SAAS,YAAY;QACnB,MAAM,UAAU;QAChB,QAAQ;OACV;OAEC,UAAA;MACK,CAAA,EACL,CAAA;KACE,CAAA;IAER;GACQ,CAAA,CAAA;;CACT,CAAA;AAEZ"}
@@ -0,0 +1,58 @@
1
+ export { Button } from './Button/index.js';
2
+ export type { ButtonProps } from './Button/index.js';
3
+ export { ButtonGroup } from './ButtonGroup/index.js';
4
+ export type { ButtonGroupProps } from './ButtonGroup/index.js';
5
+ export { Card } from './Card/index.js';
6
+ export type { CardIntent, CardProps } from './Card/index.js';
7
+ export { Divider } from './Divider/index.js';
8
+ export type { DividerProps } from './Divider/index.js';
9
+ export { EmptyState } from './EmptyState/index.js';
10
+ export type { EmptyStateProps, EmptyStateSize, EmptyStateVariant, } from './EmptyState/index.js';
11
+ export { Avatar } from './Avatar/index.js';
12
+ export type { AvatarProps } from './Avatar/index.js';
13
+ export { ErrorState } from './ErrorState/index.js';
14
+ export type { ErrorStateProps } from './ErrorState/index.js';
15
+ export { Badge } from './Badge/index.js';
16
+ export type { BadgeProps } from './Badge/index.js';
17
+ export { Banner } from './Banner/Banner.js';
18
+ export type { BannerProps } from './Banner/Banner.js';
19
+ export { Checkbox, getCheckedState } from './Checkbox/index.js';
20
+ export type { CheckboxProps } from './Checkbox/index.js';
21
+ export { ChartTooltip, ChartTooltipBody, ChartTooltipHeader, ChartTooltipRow, } from './ChartTooltip/index.js';
22
+ export type { ChartTooltipBodyProps, ChartTooltipHeaderProps, ChartTooltipProps, ChartTooltipRowProps, } from './ChartTooltip/index.js';
23
+ export { RadioButton } from './RadioButton/index.js';
24
+ export type { RadioButtonProps } from './RadioButton/index.js';
25
+ export { RadioCard } from './RadioCard/RadioCard.js';
26
+ export type { RadioCardProps } from './RadioCard/RadioCard.js';
27
+ export { RadioGroup, RadioGroupItem } from './RadioGroup/index.js';
28
+ export type { RadioGroupProps, RadioGroupItemProps } from './RadioGroup/index.js';
29
+ export { Icon } from './Icon/index.js';
30
+ export type { IconComponent, IconProps } from './Icon/index.js';
31
+ export { IconButton } from './IconButton/index.js';
32
+ export type { IconButtonProps } from './IconButton/index.js';
33
+ export { Kbd, KbdGroup } from './Kbd/index.js';
34
+ export type { KbdProps, KbdGroupProps } from './Kbd/index.js';
35
+ export { Input } from './Input/index.js';
36
+ export type { InputIconAction, InputProps } from './Input/index.js';
37
+ export { Textarea } from './Textarea/index.js';
38
+ export type { TextareaProps } from './Textarea/index.js';
39
+ export { Link } from './Link/index.js';
40
+ export type { LinkProps } from './Link/index.js';
41
+ export { Text } from './Text/index.js';
42
+ export type { TextProps } from './Text/index.js';
43
+ export { Tooltip, TooltipProvider } from './Tooltip/index.js';
44
+ export type { TooltipProps } from './Tooltip/index.js';
45
+ export { GroupedTabs } from './GroupedTabs/GroupedTabs.js';
46
+ export type { GroupedTabOption, GroupedTabsProps, } from './GroupedTabs/GroupedTabs.js';
47
+ export { Spinner, SpinnerIcon } from './Spinner/index.js';
48
+ export { Skeleton, SkeletonRows, CircleSkeleton } from './Skeleton/index.js';
49
+ export { LinearProgress } from './LinearProgress/index.js';
50
+ export type { LinearProgressProps } from './LinearProgress/index.js';
51
+ export { formatMetricCurrency, formatMetricDate, formatMetricDuration, formatMetricNumber, formatMetricTime, MetricChart, } from './MetricChart/index.js';
52
+ export type { MetricChartProps, MetricChartSize, MetricCurrencyFormatOptions, MetricDateTimeFormatOptions, MetricDurationFormatOptions, MetricDurationUnit, MetricNumberFormatOptions, } from './MetricChart/index.js';
53
+ export { ProgressBar } from './ProgressBar/index.js';
54
+ export type { ProgressBarColor, ProgressBarLabelPosition, ProgressBarProps, ProgressBarSize, } from './ProgressBar/index.js';
55
+ export { Slider } from './Slider/index.js';
56
+ export type { SliderProps, SliderStepLabel } from './Slider/index.js';
57
+ export { Switch } from './Switch/index.js';
58
+ export type { SwitchProps } from './Switch/index.js';
@@ -0,0 +1,35 @@
1
+ import { Text } from "./Text/Text.js";
2
+ import { Tooltip } from "./Tooltip/Tooltip.js";
3
+ import { TooltipProvider } from "./Tooltip/index.js";
4
+ import { Avatar } from "./Avatar/Avatar.js";
5
+ import { Badge } from "./Badge/Badge.js";
6
+ import { Icon } from "./Icon/Icon.js";
7
+ import { Spinner, SpinnerIcon } from "./Spinner/Spinner.js";
8
+ import { IconButton } from "./IconButton/IconButton.js";
9
+ import { Banner } from "./Banner/Banner.js";
10
+ import { Button } from "./Button/Button.js";
11
+ import { ButtonGroup } from "./ButtonGroup/ButtonGroup.js";
12
+ import { Card } from "./Card/Card.js";
13
+ import { Link } from "./Link/Link.js";
14
+ import { EmptyState } from "./EmptyState/EmptyState.js";
15
+ import { CircleSkeleton, Skeleton, SkeletonRows } from "./Skeleton/Skeleton.js";
16
+ import { ChartTooltip, ChartTooltipBody, ChartTooltipHeader, ChartTooltipRow } from "./ChartTooltip/ChartTooltip.js";
17
+ import { Checkbox } from "./Checkbox/Checkbox.js";
18
+ import { getCheckedState } from "./Checkbox/getCheckedState.js";
19
+ import { Divider } from "./Divider/Divider.js";
20
+ import { t as ErrorState } from "../_chunks/ErrorState-CmPX01HV.js";
21
+ import { GroupedTabs } from "./GroupedTabs/GroupedTabs.js";
22
+ import { Input } from "./Input/Input.js";
23
+ import { Kbd, KbdGroup } from "./Kbd/Kbd.js";
24
+ import { LinearProgress } from "./LinearProgress/LinearProgress.js";
25
+ import { MetricChart } from "./MetricChart/MetricChart.js";
26
+ import { formatMetricCurrency, formatMetricDate, formatMetricDuration, formatMetricNumber, formatMetricTime } from "./MetricChart/formatters.js";
27
+ import { ProgressBar } from "./ProgressBar/ProgressBar.js";
28
+ import { RadioButton } from "./RadioButton/RadioButton.js";
29
+ import { RadioCard } from "./RadioCard/RadioCard.js";
30
+ import { RadioGroup } from "./RadioGroup/RadioGroup.js";
31
+ import { RadioGroupItem } from "./RadioGroup/RadioGroupItem.js";
32
+ import { Slider } from "./Slider/Slider.js";
33
+ import { Switch } from "./Switch/Switch.js";
34
+ import { Textarea } from "./Textarea/Textarea.js";
35
+ export { Avatar, Badge, Banner, Button, ButtonGroup, Card, ChartTooltip, ChartTooltipBody, ChartTooltipHeader, ChartTooltipRow, Checkbox, CircleSkeleton, Divider, EmptyState, ErrorState, GroupedTabs, Icon, IconButton, Input, Kbd, KbdGroup, LinearProgress, Link, MetricChart, ProgressBar, RadioButton, RadioCard, RadioGroup, RadioGroupItem, Skeleton, SkeletonRows, Slider, Spinner, SpinnerIcon, Switch, Text, Textarea, Tooltip, TooltipProvider, formatMetricCurrency, formatMetricDate, formatMetricDuration, formatMetricNumber, formatMetricTime, getCheckedState };