@chatsdk-dev/ui 0.1.2 → 0.2.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 (562) hide show
  1. package/dist/atoms/accordion.d.ts +4 -4
  2. package/dist/atoms/accordion.d.ts.map +1 -1
  3. package/dist/atoms/alert-dialog.d.ts +22 -14
  4. package/dist/atoms/alert-dialog.d.ts.map +1 -1
  5. package/dist/atoms/alert-dialog.js +13 -8
  6. package/dist/atoms/alert.d.ts +4 -4
  7. package/dist/atoms/alert.d.ts.map +1 -1
  8. package/dist/atoms/attachment.d.ts +24 -0
  9. package/dist/atoms/attachment.d.ts.map +1 -0
  10. package/dist/atoms/attachment.js +76 -0
  11. package/dist/atoms/avatar.d.ts +6 -6
  12. package/dist/atoms/avatar.d.ts.map +1 -1
  13. package/dist/atoms/badge.d.ts +1 -1
  14. package/dist/atoms/bubble.d.ts +17 -0
  15. package/dist/atoms/bubble.d.ts.map +1 -0
  16. package/dist/atoms/bubble.js +59 -0
  17. package/dist/atoms/button-group.d.ts +2 -2
  18. package/dist/atoms/button-group.d.ts.map +1 -1
  19. package/dist/atoms/button-loader.d.ts +2 -2
  20. package/dist/atoms/button-loader.d.ts.map +1 -1
  21. package/dist/atoms/button.d.ts +2 -2
  22. package/dist/atoms/button.d.ts.map +1 -1
  23. package/dist/atoms/button.js +2 -1
  24. package/dist/atoms/card.d.ts +7 -7
  25. package/dist/atoms/card.d.ts.map +1 -1
  26. package/dist/atoms/carousel.d.ts +5 -5
  27. package/dist/atoms/carousel.d.ts.map +1 -1
  28. package/dist/atoms/carousel.js +1 -0
  29. package/dist/atoms/collapsible.d.ts +3 -3
  30. package/dist/atoms/collapsible.d.ts.map +1 -1
  31. package/dist/atoms/command.d.ts +9 -9
  32. package/dist/atoms/command.d.ts.map +1 -1
  33. package/dist/atoms/container.d.ts +1 -1
  34. package/dist/atoms/container.d.ts.map +1 -1
  35. package/dist/atoms/dialog.d.ts +10 -10
  36. package/dist/atoms/dialog.d.ts.map +1 -1
  37. package/dist/atoms/dialog.js +4 -2
  38. package/dist/atoms/dots-loader.d.ts +1 -1
  39. package/dist/atoms/dots-loader.d.ts.map +1 -1
  40. package/dist/atoms/drawer.d.ts +10 -10
  41. package/dist/atoms/drawer.d.ts.map +1 -1
  42. package/dist/atoms/drawer.js +6 -4
  43. package/dist/atoms/dropdown-menu.d.ts +15 -15
  44. package/dist/atoms/dropdown-menu.d.ts.map +1 -1
  45. package/dist/atoms/dropdown-menu.js +8 -5
  46. package/dist/atoms/empty.d.ts +6 -6
  47. package/dist/atoms/empty.d.ts.map +1 -1
  48. package/dist/atoms/field.d.ts +10 -10
  49. package/dist/atoms/field.d.ts.map +1 -1
  50. package/dist/atoms/form.d.ts +6 -6
  51. package/dist/atoms/form.d.ts.map +1 -1
  52. package/dist/atoms/form.js +4 -2
  53. package/dist/atoms/header.d.ts +1 -1
  54. package/dist/atoms/header.d.ts.map +1 -1
  55. package/dist/atoms/hover-card.d.ts +3 -3
  56. package/dist/atoms/hover-card.d.ts.map +1 -1
  57. package/dist/atoms/hover-card.js +3 -1
  58. package/dist/atoms/input-group.d.ts +7 -7
  59. package/dist/atoms/input-group.d.ts.map +1 -1
  60. package/dist/atoms/input.d.ts +1 -1
  61. package/dist/atoms/input.d.ts.map +1 -1
  62. package/dist/atoms/input.js +1 -1
  63. package/dist/atoms/label.d.ts +1 -1
  64. package/dist/atoms/label.d.ts.map +1 -1
  65. package/dist/atoms/logo.d.ts +1 -1
  66. package/dist/atoms/logo.d.ts.map +1 -1
  67. package/dist/atoms/marker.d.ts +11 -0
  68. package/dist/atoms/marker.d.ts.map +1 -0
  69. package/dist/atoms/marker.js +34 -0
  70. package/dist/atoms/message-scroller.d.ts +11 -0
  71. package/dist/atoms/message-scroller.d.ts.map +1 -0
  72. package/dist/atoms/message-scroller.js +25 -0
  73. package/dist/atoms/message.d.ts +11 -0
  74. package/dist/atoms/message.d.ts.map +1 -0
  75. package/dist/atoms/message.js +21 -0
  76. package/dist/atoms/number-flow.d.ts +1 -1
  77. package/dist/atoms/number-flow.d.ts.map +1 -1
  78. package/dist/atoms/popover.d.ts +6 -6
  79. package/dist/atoms/popover.d.ts.map +1 -1
  80. package/dist/atoms/popover.js +3 -1
  81. package/dist/atoms/progress.d.ts +5 -5
  82. package/dist/atoms/progress.d.ts.map +1 -1
  83. package/dist/atoms/radio-group.d.ts +2 -2
  84. package/dist/atoms/radio-group.d.ts.map +1 -1
  85. package/dist/atoms/scroll-area.d.ts +2 -2
  86. package/dist/atoms/scroll-area.d.ts.map +1 -1
  87. package/dist/atoms/select.d.ts +9 -9
  88. package/dist/atoms/select.d.ts.map +1 -1
  89. package/dist/atoms/select.js +5 -3
  90. package/dist/atoms/separator.d.ts +1 -1
  91. package/dist/atoms/separator.d.ts.map +1 -1
  92. package/dist/atoms/sheet.d.ts +8 -8
  93. package/dist/atoms/sheet.d.ts.map +1 -1
  94. package/dist/atoms/sheet.js +5 -3
  95. package/dist/atoms/sidebar.d.ts +19 -19
  96. package/dist/atoms/sidebar.d.ts.map +1 -1
  97. package/dist/atoms/sidebar.js +1 -1
  98. package/dist/atoms/skeleton.d.ts +1 -1
  99. package/dist/atoms/skeleton.d.ts.map +1 -1
  100. package/dist/atoms/spinner.d.ts +1 -1
  101. package/dist/atoms/spinner.d.ts.map +1 -1
  102. package/dist/atoms/switch.d.ts +1 -1
  103. package/dist/atoms/switch.d.ts.map +1 -1
  104. package/dist/atoms/table.d.ts +8 -8
  105. package/dist/atoms/table.d.ts.map +1 -1
  106. package/dist/atoms/table.js +1 -1
  107. package/dist/atoms/tabs.d.ts +8 -5
  108. package/dist/atoms/tabs.d.ts.map +1 -1
  109. package/dist/atoms/tabs.js +10 -6
  110. package/dist/atoms/textarea.d.ts +1 -1
  111. package/dist/atoms/textarea.d.ts.map +1 -1
  112. package/dist/atoms/toggle.d.ts +2 -2
  113. package/dist/atoms/toggle.d.ts.map +1 -1
  114. package/dist/atoms/toggle.js +1 -0
  115. package/dist/atoms/tooltip.d.ts +7 -5
  116. package/dist/atoms/tooltip.d.ts.map +1 -1
  117. package/dist/atoms/tooltip.js +6 -4
  118. package/dist/atoms/typography/h1.d.ts +1 -1
  119. package/dist/atoms/typography/h1.d.ts.map +1 -1
  120. package/dist/atoms/typography/paragraph.d.ts +1 -1
  121. package/dist/atoms/typography/paragraph.d.ts.map +1 -1
  122. package/dist/hooks/use-breakpoint.d.ts.map +1 -1
  123. package/dist/hooks/use-breakpoint.js +1 -0
  124. package/dist/hooks/use-controllable-state.js +1 -1
  125. package/dist/hooks/use-copy-to-clipboard.d.ts +9 -1
  126. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -1
  127. package/dist/hooks/use-copy-to-clipboard.js +9 -6
  128. package/dist/index.css +1693 -996
  129. package/dist/lib/portal-container.d.ts +12 -0
  130. package/dist/lib/portal-container.d.ts.map +1 -0
  131. package/dist/lib/portal-container.js +15 -0
  132. package/dist/lib/utils.d.ts +8 -0
  133. package/dist/lib/utils.d.ts.map +1 -1
  134. package/dist/lib/utils.js +27 -0
  135. package/dist/molecules/ai/action.d.ts +7 -0
  136. package/dist/molecules/ai/action.d.ts.map +1 -0
  137. package/dist/molecules/ai/action.js +13 -0
  138. package/dist/molecules/ai/agent.d.ts +7 -7
  139. package/dist/molecules/ai/agent.d.ts.map +1 -1
  140. package/dist/molecules/ai/artifact.d.ts +8 -8
  141. package/dist/molecules/ai/artifact.d.ts.map +1 -1
  142. package/dist/molecules/ai/artifact.js +2 -2
  143. package/dist/molecules/ai/audio-player.d.ts +11 -11
  144. package/dist/molecules/ai/audio-player.d.ts.map +1 -1
  145. package/dist/molecules/ai/audio-player.js +1 -3
  146. package/dist/molecules/ai/canvas.d.ts +1 -2
  147. package/dist/molecules/ai/canvas.d.ts.map +1 -1
  148. package/dist/molecules/ai/canvas.js +0 -1
  149. package/dist/molecules/ai/chain-of-thought.d.ts +7 -7
  150. package/dist/molecules/ai/chain-of-thought.d.ts.map +1 -1
  151. package/dist/molecules/ai/checkpoint.d.ts +3 -3
  152. package/dist/molecules/ai/checkpoint.d.ts.map +1 -1
  153. package/dist/molecules/ai/code-block.d.ts +13 -13
  154. package/dist/molecules/ai/code-block.d.ts.map +1 -1
  155. package/dist/molecules/ai/commit.d.ts +22 -22
  156. package/dist/molecules/ai/commit.d.ts.map +1 -1
  157. package/dist/molecules/ai/confirmation.d.ts +4 -12
  158. package/dist/molecules/ai/confirmation.d.ts.map +1 -1
  159. package/dist/molecules/ai/context.d.ts +10 -10
  160. package/dist/molecules/ai/context.d.ts.map +1 -1
  161. package/dist/molecules/ai/controls.d.ts +1 -1
  162. package/dist/molecules/ai/controls.d.ts.map +1 -1
  163. package/dist/molecules/ai/edge.d.ts +2 -2
  164. package/dist/molecules/ai/environment-variables.d.ts +11 -11
  165. package/dist/molecules/ai/environment-variables.d.ts.map +1 -1
  166. package/dist/molecules/ai/file-tree.d.ts +6 -6
  167. package/dist/molecules/ai/file-tree.d.ts.map +1 -1
  168. package/dist/molecules/ai/image.d.ts +1 -1
  169. package/dist/molecules/ai/image.d.ts.map +1 -1
  170. package/dist/molecules/ai/inline-citation.d.ts +14 -14
  171. package/dist/molecules/ai/inline-citation.d.ts.map +1 -1
  172. package/dist/molecules/ai/jsx-preview.d.ts +3 -3
  173. package/dist/molecules/ai/jsx-preview.d.ts.map +1 -1
  174. package/dist/molecules/ai/loader.d.ts +1 -1
  175. package/dist/molecules/ai/loader.d.ts.map +1 -1
  176. package/dist/molecules/ai/mic-selector.d.ts +9 -9
  177. package/dist/molecules/ai/mic-selector.d.ts.map +1 -1
  178. package/dist/molecules/ai/model-selector.d.ts +14 -14
  179. package/dist/molecules/ai/model-selector.d.ts.map +1 -1
  180. package/dist/molecules/ai/node.d.ts +7 -7
  181. package/dist/molecules/ai/node.d.ts.map +1 -1
  182. package/dist/molecules/ai/open-in-chat.d.ts +12 -12
  183. package/dist/molecules/ai/open-in-chat.d.ts.map +1 -1
  184. package/dist/molecules/ai/package-info.d.ts +9 -9
  185. package/dist/molecules/ai/package-info.d.ts.map +1 -1
  186. package/dist/molecules/ai/panel.d.ts +1 -1
  187. package/dist/molecules/ai/panel.d.ts.map +1 -1
  188. package/dist/molecules/ai/persona.d.ts.map +1 -1
  189. package/dist/molecules/ai/plan.d.ts +8 -8
  190. package/dist/molecules/ai/plan.d.ts.map +1 -1
  191. package/dist/molecules/ai/plan.js +3 -4
  192. package/dist/molecules/ai/prompt-input.d.ts +35 -35
  193. package/dist/molecules/ai/prompt-input.d.ts.map +1 -1
  194. package/dist/molecules/ai/prompt-input.js +5 -15
  195. package/dist/molecules/ai/queue.d.ts +15 -15
  196. package/dist/molecules/ai/queue.d.ts.map +1 -1
  197. package/dist/molecules/ai/reasoning.d.ts +3 -3
  198. package/dist/molecules/ai/reasoning.d.ts.map +1 -1
  199. package/dist/molecules/ai/reasoning.js +7 -34
  200. package/dist/molecules/ai/response.d.ts +3 -4
  201. package/dist/molecules/ai/response.d.ts.map +1 -1
  202. package/dist/molecules/ai/response.js +10 -14
  203. package/dist/molecules/ai/sandbox.d.ts +8 -8
  204. package/dist/molecules/ai/sandbox.d.ts.map +1 -1
  205. package/dist/molecules/ai/sandbox.js +1 -1
  206. package/dist/molecules/ai/schema-display.d.ts +13 -13
  207. package/dist/molecules/ai/schema-display.d.ts.map +1 -1
  208. package/dist/molecules/ai/snippet.d.ts +5 -5
  209. package/dist/molecules/ai/snippet.d.ts.map +1 -1
  210. package/dist/molecules/ai/sources.d.ts +6 -5
  211. package/dist/molecules/ai/sources.d.ts.map +1 -1
  212. package/dist/molecules/ai/sources.js +2 -2
  213. package/dist/molecules/ai/speech-input.d.ts +1 -1
  214. package/dist/molecules/ai/speech-input.d.ts.map +1 -1
  215. package/dist/molecules/ai/stack-trace.d.ts +10 -10
  216. package/dist/molecules/ai/stack-trace.d.ts.map +1 -1
  217. package/dist/molecules/ai/stack-trace.js +1 -1
  218. package/dist/molecules/ai/suggestion.d.ts +2 -2
  219. package/dist/molecules/ai/suggestion.d.ts.map +1 -1
  220. package/dist/molecules/ai/task.d.ts +5 -5
  221. package/dist/molecules/ai/task.d.ts.map +1 -1
  222. package/dist/molecules/ai/terminal.d.ts +8 -8
  223. package/dist/molecules/ai/terminal.d.ts.map +1 -1
  224. package/dist/molecules/ai/test-results.d.ts +17 -17
  225. package/dist/molecules/ai/test-results.d.ts.map +1 -1
  226. package/dist/molecules/ai/tool.d.ts +21 -8
  227. package/dist/molecules/ai/tool.d.ts.map +1 -1
  228. package/dist/molecules/ai/tool.js +15 -11
  229. package/dist/molecules/ai/toolbar.d.ts +1 -1
  230. package/dist/molecules/ai/toolbar.d.ts.map +1 -1
  231. package/dist/molecules/ai/transcription.d.ts +2 -2
  232. package/dist/molecules/ai/transcription.d.ts.map +1 -1
  233. package/dist/molecules/ai/voice-selector.d.ts +19 -19
  234. package/dist/molecules/ai/voice-selector.d.ts.map +1 -1
  235. package/dist/molecules/ai/web-preview.d.ts +6 -6
  236. package/dist/molecules/ai/web-preview.d.ts.map +1 -1
  237. package/dist/molecules/ai/web-preview.js +2 -2
  238. package/package.json +27 -27
  239. package/dist/components/accordion.d.ts +0 -7
  240. package/dist/components/accordion.d.ts.map +0 -1
  241. package/dist/components/accordion.js +0 -18
  242. package/dist/components/alert-dialog.d.ts +0 -19
  243. package/dist/components/alert-dialog.d.ts.map +0 -1
  244. package/dist/components/alert-dialog.js +0 -42
  245. package/dist/components/alert.d.ts +0 -11
  246. package/dist/components/alert.d.ts.map +0 -1
  247. package/dist/components/alert.js +0 -27
  248. package/dist/components/avatar.d.ts +0 -12
  249. package/dist/components/avatar.d.ts.map +0 -1
  250. package/dist/components/avatar.js +0 -23
  251. package/dist/components/badge.d.ts +0 -8
  252. package/dist/components/badge.d.ts.map +0 -1
  253. package/dist/components/badge.js +0 -44
  254. package/dist/components/button-group.d.ts +0 -11
  255. package/dist/components/button-group.d.ts.map +0 -1
  256. package/dist/components/button-group.js +0 -36
  257. package/dist/components/button-loader.d.ts +0 -9
  258. package/dist/components/button-loader.d.ts.map +0 -1
  259. package/dist/components/button-loader.js +0 -10
  260. package/dist/components/button.d.ts +0 -9
  261. package/dist/components/button.d.ts.map +0 -1
  262. package/dist/components/button.js +0 -32
  263. package/dist/components/card.d.ts +0 -12
  264. package/dist/components/card.d.ts.map +0 -1
  265. package/dist/components/card.js +0 -25
  266. package/dist/components/carousel.d.ts +0 -29
  267. package/dist/components/carousel.d.ts.map +0 -1
  268. package/dist/components/carousel.js +0 -91
  269. package/dist/components/collapsible.d.ts +0 -6
  270. package/dist/components/collapsible.d.ts.map +0 -1
  271. package/dist/components/collapsible.js +0 -13
  272. package/dist/components/command.d.ts +0 -20
  273. package/dist/components/command.d.ts.map +0 -1
  274. package/dist/components/command.js +0 -35
  275. package/dist/components/container.d.ts +0 -8
  276. package/dist/components/container.d.ts.map +0 -1
  277. package/dist/components/container.js +0 -5
  278. package/dist/components/dialog.d.ts +0 -19
  279. package/dist/components/dialog.d.ts.map +0 -1
  280. package/dist/components/dialog.js +0 -38
  281. package/dist/components/dots-loader.d.ts +0 -15
  282. package/dist/components/dots-loader.d.ts.map +0 -1
  283. package/dist/components/dots-loader.js +0 -21
  284. package/dist/components/drawer.d.ts +0 -14
  285. package/dist/components/drawer.d.ts.map +0 -1
  286. package/dist/components/drawer.js +0 -35
  287. package/dist/components/dropdown-menu.d.ts +0 -26
  288. package/dist/components/dropdown-menu.d.ts.map +0 -1
  289. package/dist/components/dropdown-menu.js +0 -51
  290. package/dist/components/empty.d.ts +0 -12
  291. package/dist/components/empty.d.ts.map +0 -1
  292. package/dist/components/empty.js +0 -33
  293. package/dist/components/field.d.ts +0 -25
  294. package/dist/components/field.d.ts.map +0 -1
  295. package/dist/components/field.js +0 -68
  296. package/dist/components/form.d.ts +0 -23
  297. package/dist/components/form.d.ts.map +0 -1
  298. package/dist/components/form.js +0 -68
  299. package/dist/components/header.d.ts +0 -6
  300. package/dist/components/header.d.ts.map +0 -1
  301. package/dist/components/header.js +0 -6
  302. package/dist/components/hover-card.d.ts +0 -6
  303. package/dist/components/hover-card.d.ts.map +0 -1
  304. package/dist/components/hover-card.js +0 -14
  305. package/dist/components/index.d.ts +0 -5
  306. package/dist/components/index.d.ts.map +0 -1
  307. package/dist/components/index.js +0 -5
  308. package/dist/components/input-group.d.ts +0 -19
  309. package/dist/components/input-group.d.ts.map +0 -1
  310. package/dist/components/input-group.js +0 -57
  311. package/dist/components/input.d.ts +0 -7
  312. package/dist/components/input.d.ts.map +0 -1
  313. package/dist/components/input.js +0 -6
  314. package/dist/components/label.d.ts +0 -3
  315. package/dist/components/label.d.ts.map +0 -1
  316. package/dist/components/label.js +0 -7
  317. package/dist/components/logo.d.ts +0 -7
  318. package/dist/components/logo.d.ts.map +0 -1
  319. package/dist/components/logo.js +0 -6
  320. package/dist/components/number-flow.d.ts +0 -3
  321. package/dist/components/number-flow.d.ts.map +0 -1
  322. package/dist/components/number-flow.js +0 -6
  323. package/dist/components/popover.d.ts +0 -10
  324. package/dist/components/popover.d.ts.map +0 -1
  325. package/dist/components/popover.js +0 -23
  326. package/dist/components/progress.d.ts +0 -8
  327. package/dist/components/progress.d.ts.map +0 -1
  328. package/dist/components/progress.js +0 -20
  329. package/dist/components/radio-group.d.ts +0 -6
  330. package/dist/components/radio-group.d.ts.map +0 -1
  331. package/dist/components/radio-group.js +0 -13
  332. package/dist/components/responsive-alert-dialog.d.ts +0 -16
  333. package/dist/components/responsive-alert-dialog.d.ts.map +0 -1
  334. package/dist/components/responsive-alert-dialog.js +0 -20
  335. package/dist/components/responsive-dialog.d.ts +0 -11
  336. package/dist/components/responsive-dialog.d.ts.map +0 -1
  337. package/dist/components/responsive-dialog.js +0 -21
  338. package/dist/components/scroll-area.d.ts +0 -5
  339. package/dist/components/scroll-area.d.ts.map +0 -1
  340. package/dist/components/scroll-area.js +0 -11
  341. package/dist/components/select.d.ts +0 -17
  342. package/dist/components/select.d.ts.map +0 -1
  343. package/dist/components/select.js +0 -34
  344. package/dist/components/separator.d.ts +0 -3
  345. package/dist/components/separator.d.ts.map +0 -1
  346. package/dist/components/separator.js +0 -7
  347. package/dist/components/sheet.d.ts +0 -15
  348. package/dist/components/sheet.d.ts.map +0 -1
  349. package/dist/components/sheet.js +0 -37
  350. package/dist/components/sidebar.d.ts +0 -65
  351. package/dist/components/sidebar.d.ts.map +0 -1
  352. package/dist/components/sidebar.js +0 -258
  353. package/dist/components/skeleton.d.ts +0 -2
  354. package/dist/components/skeleton.d.ts.map +0 -1
  355. package/dist/components/skeleton.js +0 -5
  356. package/dist/components/spinner.d.ts +0 -3
  357. package/dist/components/spinner.d.ts.map +0 -1
  358. package/dist/components/spinner.js +0 -7
  359. package/dist/components/switch.d.ts +0 -5
  360. package/dist/components/switch.d.ts.map +0 -1
  361. package/dist/components/switch.js +0 -7
  362. package/dist/components/table.d.ts +0 -13
  363. package/dist/components/table.d.ts.map +0 -1
  364. package/dist/components/table.js +0 -28
  365. package/dist/components/tabs.d.ts +0 -12
  366. package/dist/components/tabs.d.ts.map +0 -1
  367. package/dist/components/tabs.js +0 -32
  368. package/dist/components/textarea.d.ts +0 -3
  369. package/dist/components/textarea.d.ts.map +0 -1
  370. package/dist/components/textarea.js +0 -5
  371. package/dist/components/toggle.d.ts +0 -9
  372. package/dist/components/toggle.d.ts.map +0 -1
  373. package/dist/components/toggle.js +0 -26
  374. package/dist/components/tooltip.d.ts +0 -7
  375. package/dist/components/tooltip.d.ts.map +0 -1
  376. package/dist/components/tooltip.js +0 -17
  377. package/dist/components/typography/h1.d.ts +0 -10
  378. package/dist/components/typography/h1.d.ts.map +0 -1
  379. package/dist/components/typography/h1.js +0 -6
  380. package/dist/components/typography/paragraph.d.ts +0 -6
  381. package/dist/components/typography/paragraph.d.ts.map +0 -1
  382. package/dist/components/typography/paragraph.js +0 -6
  383. package/dist/components/typography/text.d.ts +0 -14
  384. package/dist/components/typography/text.d.ts.map +0 -1
  385. package/dist/components/typography/text.js +0 -41
  386. package/dist/molecules/actions.d.ts +0 -10
  387. package/dist/molecules/actions.d.ts.map +0 -1
  388. package/dist/molecules/actions.js +0 -13
  389. package/dist/molecules/agent.d.ts +0 -27
  390. package/dist/molecules/agent.d.ts.map +0 -1
  391. package/dist/molecules/agent.js +0 -27
  392. package/dist/molecules/ai/actions.d.ts +0 -10
  393. package/dist/molecules/ai/actions.d.ts.map +0 -1
  394. package/dist/molecules/ai/actions.js +0 -13
  395. package/dist/molecules/ai/attachments.d.ts +0 -55
  396. package/dist/molecules/ai/attachments.d.ts.map +0 -1
  397. package/dist/molecules/ai/attachments.js +0 -125
  398. package/dist/molecules/ai/conversation.d.ts +0 -24
  399. package/dist/molecules/ai/conversation.d.ts.map +0 -1
  400. package/dist/molecules/ai/conversation.js +0 -41
  401. package/dist/molecules/ai/message.d.ts +0 -38
  402. package/dist/molecules/ai/message.d.ts.map +0 -1
  403. package/dist/molecules/ai/message.js +0 -92
  404. package/dist/molecules/ai/shimmer.d.ts +0 -10
  405. package/dist/molecules/ai/shimmer.d.ts.map +0 -1
  406. package/dist/molecules/ai/shimmer.js +0 -28
  407. package/dist/molecules/artifact.d.ts +0 -24
  408. package/dist/molecules/artifact.d.ts.map +0 -1
  409. package/dist/molecules/artifact.js +0 -20
  410. package/dist/molecules/attachments.d.ts +0 -55
  411. package/dist/molecules/attachments.d.ts.map +0 -1
  412. package/dist/molecules/attachments.js +0 -125
  413. package/dist/molecules/audio-player.d.ts +0 -30
  414. package/dist/molecules/audio-player.d.ts.map +0 -1
  415. package/dist/molecules/audio-player.js +0 -43
  416. package/dist/molecules/canvas.d.ts +0 -9
  417. package/dist/molecules/canvas.d.ts.map +0 -1
  418. package/dist/molecules/canvas.js +0 -5
  419. package/dist/molecules/chain-of-thought.d.ts +0 -30
  420. package/dist/molecules/chain-of-thought.d.ts.map +0 -1
  421. package/dist/molecules/chain-of-thought.js +0 -49
  422. package/dist/molecules/chat-message.d.ts +0 -10
  423. package/dist/molecules/chat-message.d.ts.map +0 -1
  424. package/dist/molecules/chat-message.js +0 -53
  425. package/dist/molecules/checkpoint.d.ts +0 -12
  426. package/dist/molecules/checkpoint.d.ts.map +0 -1
  427. package/dist/molecules/checkpoint.js +0 -10
  428. package/dist/molecules/code-block.d.ts +0 -46
  429. package/dist/molecules/code-block.d.ts.map +0 -1
  430. package/dist/molecules/code-block.js +0 -216
  431. package/dist/molecules/commit.d.ts +0 -65
  432. package/dist/molecules/commit.d.ts.map +0 -1
  433. package/dist/molecules/commit.js +0 -95
  434. package/dist/molecules/confirmation.d.ts +0 -50
  435. package/dist/molecules/confirmation.d.ts.map +0 -1
  436. package/dist/molecules/confirmation.js +0 -61
  437. package/dist/molecules/connection.d.ts +0 -3
  438. package/dist/molecules/connection.d.ts.map +0 -1
  439. package/dist/molecules/connection.js +0 -3
  440. package/dist/molecules/context.d.ts +0 -33
  441. package/dist/molecules/context.d.ts.map +0 -1
  442. package/dist/molecules/context.js +0 -164
  443. package/dist/molecules/controls.d.ts +0 -5
  444. package/dist/molecules/controls.d.ts.map +0 -1
  445. package/dist/molecules/controls.js +0 -5
  446. package/dist/molecules/conversation.d.ts +0 -24
  447. package/dist/molecules/conversation.d.ts.map +0 -1
  448. package/dist/molecules/conversation.js +0 -41
  449. package/dist/molecules/edge.d.ts +0 -6
  450. package/dist/molecules/edge.d.ts.map +0 -1
  451. package/dist/molecules/edge.js +0 -87
  452. package/dist/molecules/environment-variables.d.ts +0 -39
  453. package/dist/molecules/environment-variables.d.ts.map +0 -1
  454. package/dist/molecules/environment-variables.js +0 -87
  455. package/dist/molecules/file-tree.d.ts +0 -27
  456. package/dist/molecules/file-tree.d.ts.map +0 -1
  457. package/dist/molecules/file-tree.js +0 -71
  458. package/dist/molecules/image.d.ts +0 -7
  459. package/dist/molecules/image.d.ts.map +0 -1
  460. package/dist/molecules/image.js +0 -3
  461. package/dist/molecules/inline-citation.d.ts +0 -39
  462. package/dist/molecules/inline-citation.d.ts.map +0 -1
  463. package/dist/molecules/inline-citation.js +0 -68
  464. package/dist/molecules/jsx-preview.d.ts +0 -30
  465. package/dist/molecules/jsx-preview.d.ts.map +0 -1
  466. package/dist/molecules/jsx-preview.js +0 -167
  467. package/dist/molecules/loader.d.ts +0 -6
  468. package/dist/molecules/loader.d.ts.map +0 -1
  469. package/dist/molecules/loader.js +0 -4
  470. package/dist/molecules/message.d.ts +0 -38
  471. package/dist/molecules/message.d.ts.map +0 -1
  472. package/dist/molecules/message.js +0 -92
  473. package/dist/molecules/mic-selector.d.ts +0 -46
  474. package/dist/molecules/mic-selector.d.ts.map +0 -1
  475. package/dist/molecules/mic-selector.js +0 -184
  476. package/dist/molecules/model-selector.d.ts +0 -36
  477. package/dist/molecules/model-selector.d.ts.map +0 -1
  478. package/dist/molecules/model-selector.js +0 -18
  479. package/dist/molecules/node.d.ts +0 -22
  480. package/dist/molecules/node.d.ts.map +0 -1
  481. package/dist/molecules/node.js +0 -11
  482. package/dist/molecules/open-in-chat.d.ts +0 -29
  483. package/dist/molecules/open-in-chat.d.ts.map +0 -1
  484. package/dist/molecules/open-in-chat.js +0 -100
  485. package/dist/molecules/package-info.d.ts +0 -30
  486. package/dist/molecules/package-info.d.ts.map +0 -1
  487. package/dist/molecules/package-info.js +0 -50
  488. package/dist/molecules/panel.d.ts +0 -6
  489. package/dist/molecules/panel.d.ts.map +0 -1
  490. package/dist/molecules/panel.js +0 -4
  491. package/dist/molecules/persona.d.ts +0 -49
  492. package/dist/molecules/persona.d.ts.map +0 -1
  493. package/dist/molecules/persona.js +0 -189
  494. package/dist/molecules/plan.d.ts +0 -26
  495. package/dist/molecules/plan.d.ts.map +0 -1
  496. package/dist/molecules/plan.js +0 -34
  497. package/dist/molecules/prompt-input.d.ts +0 -149
  498. package/dist/molecules/prompt-input.d.ts.map +0 -1
  499. package/dist/molecules/prompt-input.js +0 -702
  500. package/dist/molecules/queue.d.ts +0 -62
  501. package/dist/molecules/queue.d.ts.map +0 -1
  502. package/dist/molecules/queue.js +0 -28
  503. package/dist/molecules/reasoning.d.ts +0 -27
  504. package/dist/molecules/reasoning.d.ts.map +0 -1
  505. package/dist/molecules/reasoning.js +0 -95
  506. package/dist/molecules/response.d.ts +0 -6
  507. package/dist/molecules/response.d.ts.map +0 -1
  508. package/dist/molecules/response.js +0 -18
  509. package/dist/molecules/responsive-alert-dialog.d.ts +0 -16
  510. package/dist/molecules/responsive-alert-dialog.d.ts.map +0 -1
  511. package/dist/molecules/responsive-alert-dialog.js +0 -20
  512. package/dist/molecules/responsive-dialog.d.ts +0 -11
  513. package/dist/molecules/responsive-dialog.d.ts.map +0 -1
  514. package/dist/molecules/responsive-dialog.js +0 -21
  515. package/dist/molecules/sandbox.d.ts +0 -25
  516. package/dist/molecules/sandbox.d.ts.map +0 -1
  517. package/dist/molecules/sandbox.js +0 -15
  518. package/dist/molecules/schema-display.d.ts +0 -56
  519. package/dist/molecules/schema-display.d.ts.map +0 -1
  520. package/dist/molecules/schema-display.js +0 -73
  521. package/dist/molecules/shimmer.d.ts +0 -10
  522. package/dist/molecules/shimmer.d.ts.map +0 -1
  523. package/dist/molecules/shimmer.js +0 -28
  524. package/dist/molecules/snippet.d.ts +0 -19
  525. package/dist/molecules/snippet.d.ts.map +0 -1
  526. package/dist/molecules/snippet.js +0 -46
  527. package/dist/molecules/sources.d.ts +0 -13
  528. package/dist/molecules/sources.d.ts.map +0 -1
  529. package/dist/molecules/sources.js +0 -9
  530. package/dist/molecules/speech-input.d.ts +0 -55
  531. package/dist/molecules/speech-input.d.ts.map +0 -1
  532. package/dist/molecules/speech-input.js +0 -187
  533. package/dist/molecules/stack-trace.d.ts +0 -38
  534. package/dist/molecules/stack-trace.d.ts.map +0 -1
  535. package/dist/molecules/stack-trace.js +0 -194
  536. package/dist/molecules/suggestion.d.ts +0 -11
  537. package/dist/molecules/suggestion.d.ts.map +0 -1
  538. package/dist/molecules/suggestion.js +0 -13
  539. package/dist/molecules/task.d.ts +0 -15
  540. package/dist/molecules/task.d.ts.map +0 -1
  541. package/dist/molecules/task.js +0 -10
  542. package/dist/molecules/terminal.d.ts +0 -28
  543. package/dist/molecules/terminal.d.ts.map +0 -1
  544. package/dist/molecules/terminal.js +0 -68
  545. package/dist/molecules/test-results.d.ts +0 -59
  546. package/dist/molecules/test-results.d.ts.map +0 -1
  547. package/dist/molecules/test-results.js +0 -97
  548. package/dist/molecules/tool.d.ts +0 -32
  549. package/dist/molecules/tool.d.ts.map +0 -1
  550. package/dist/molecules/tool.js +0 -49
  551. package/dist/molecules/toolbar.d.ts +0 -6
  552. package/dist/molecules/toolbar.d.ts.map +0 -1
  553. package/dist/molecules/toolbar.js +0 -4
  554. package/dist/molecules/transcription.d.ts +0 -17
  555. package/dist/molecules/transcription.d.ts.map +0 -1
  556. package/dist/molecules/transcription.js +0 -36
  557. package/dist/molecules/voice-selector.d.ts +0 -64
  558. package/dist/molecules/voice-selector.d.ts.map +0 -1
  559. package/dist/molecules/voice-selector.js +0 -224
  560. package/dist/molecules/web-preview.d.ts +0 -35
  561. package/dist/molecules/web-preview.d.ts.map +0 -1
  562. package/dist/molecules/web-preview.js +0 -65
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/molecules/task.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,GAAI,mCAI1B,iBAAiB,4CAUnB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ,GAAI,mCAAmC,aAAa,4CAIxE,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,eAAO,MAAM,IAAI,GAAI,sCAIlB,SAAS,4CAEX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACzE,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,0CAKzB,gBAAgB,4CAgBlB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,eAAO,MAAM,WAAW,GAAI,mCAIzB,gBAAgB,4CAYlB,CAAC"}
@@ -1,10 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@chatsdk-dev/ui/components/collapsible";
4
- import { cn } from "@chatsdk-dev/ui/lib/utils";
5
- import { ChevronDownIcon, SearchIcon } from "lucide-react";
6
- export const TaskItemFile = ({ children, className, ...props }) => (_jsx("div", { className: cn("inline-flex items-center gap-1 rounded-md border bg-secondary px-1.5 py-0.5 text-foreground text-xs", className), ...props, children: children }));
7
- export const TaskItem = ({ children, className, ...props }) => (_jsx("div", { className: cn("text-muted-foreground text-sm", className), ...props, children: children }));
8
- export const Task = ({ defaultOpen = true, className, ...props }) => (_jsx(Collapsible, { className: cn(className), defaultOpen: defaultOpen, ...props }));
9
- export const TaskTrigger = ({ children, className, title, ...props }) => (_jsx(CollapsibleTrigger, { className: cn("group", className), ...props, render: () => children ? (_jsx(_Fragment, { children: children })) : (_jsxs("div", { className: "flex w-full cursor-pointer items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground", children: [_jsx(SearchIcon, { className: "size-4" }), _jsx("p", { className: "text-sm", children: title }), _jsx(ChevronDownIcon, { className: "size-4 transition-transform group-data-[state=open]:rotate-180" })] })) }));
10
- export const TaskContent = ({ children, className, ...props }) => (_jsx(CollapsibleContent, { className: cn("data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in", className), ...props, children: _jsx("div", { className: "mt-4 space-y-2 border-muted border-l-2 pl-4", children: children }) }));
@@ -1,28 +0,0 @@
1
- import { Button } from "@chatsdk-dev/ui/components/button";
2
- import type { ComponentProps, HTMLAttributes } from "react";
3
- export type TerminalHeaderProps = HTMLAttributes<HTMLDivElement>;
4
- export declare const TerminalHeader: ({ className, children, ...props }: TerminalHeaderProps) => import("react/jsx-runtime").JSX.Element;
5
- export type TerminalTitleProps = HTMLAttributes<HTMLDivElement>;
6
- export declare const TerminalTitle: ({ className, children, ...props }: TerminalTitleProps) => import("react/jsx-runtime").JSX.Element;
7
- export type TerminalStatusProps = HTMLAttributes<HTMLDivElement>;
8
- export declare const TerminalStatus: ({ className, children, ...props }: TerminalStatusProps) => import("react/jsx-runtime").JSX.Element | null;
9
- export type TerminalActionsProps = HTMLAttributes<HTMLDivElement>;
10
- export declare const TerminalActions: ({ className, children, ...props }: TerminalActionsProps) => import("react/jsx-runtime").JSX.Element;
11
- export type TerminalCopyButtonProps = ComponentProps<typeof Button> & {
12
- onCopy?: () => void;
13
- onError?: (error: Error) => void;
14
- timeout?: number;
15
- };
16
- export declare const TerminalCopyButton: ({ onCopy, onError, timeout, children, className, ...props }: TerminalCopyButtonProps) => import("react/jsx-runtime").JSX.Element;
17
- export type TerminalClearButtonProps = ComponentProps<typeof Button>;
18
- export declare const TerminalClearButton: ({ children, className, ...props }: TerminalClearButtonProps) => import("react/jsx-runtime").JSX.Element | null;
19
- export type TerminalContentProps = HTMLAttributes<HTMLDivElement>;
20
- export declare const TerminalContent: ({ className, children, ...props }: TerminalContentProps) => import("react/jsx-runtime").JSX.Element;
21
- export type TerminalProps = HTMLAttributes<HTMLDivElement> & {
22
- output: string;
23
- isStreaming?: boolean;
24
- autoScroll?: boolean;
25
- onClear?: () => void;
26
- };
27
- export declare const Terminal: ({ output, isStreaming, autoScroll, onClear, className, children, ...props }: TerminalProps) => import("react/jsx-runtime").JSX.Element;
28
- //# sourceMappingURL=terminal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/molecules/terminal.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAwB5D,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjE,eAAO,MAAM,cAAc,GAAI,mCAI5B,mBAAmB,4CAUrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa,GAAI,mCAI3B,kBAAkB,4CAQpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjE,eAAO,MAAM,cAAc,GAAI,mCAI5B,mBAAmB,mDAerB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe,GAAI,mCAI7B,oBAAoB,4CAItB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACpE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,6DAOhC,uBAAuB,4CA4CzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,mBAAmB,GAAI,mCAIjC,wBAAwB,mDAqB1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe,GAAI,mCAI7B,oBAAoB,4CA6BtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,6EAQtB,aAAa,4CAiCf,CAAC"}
@@ -1,68 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Button } from "@chatsdk-dev/ui/components/button";
4
- import { cn } from "@chatsdk-dev/ui/lib/utils";
5
- import Ansi from "ansi-to-react";
6
- import { CheckIcon, CopyIcon, TerminalIcon, Trash2Icon } from "lucide-react";
7
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
8
- const TerminalContext = createContext({
9
- autoScroll: true,
10
- isStreaming: false,
11
- output: "",
12
- });
13
- export const TerminalHeader = ({ className, children, ...props }) => (_jsx("div", { className: cn("flex items-center justify-between border-zinc-800 border-b px-4 py-2", className), ...props, children: children }));
14
- export const TerminalTitle = ({ className, children, ...props }) => (_jsxs("div", { className: cn("flex items-center gap-2 text-sm text-zinc-400", className), ...props, children: [_jsx(TerminalIcon, { className: "size-4" }), children ?? "Terminal"] }));
15
- export const TerminalStatus = ({ className, children, ...props }) => {
16
- const { isStreaming } = useContext(TerminalContext);
17
- if (!isStreaming) {
18
- return null;
19
- }
20
- return (_jsx("div", { className: cn("flex items-center gap-2 text-xs text-zinc-400", className), ...props, children: children }));
21
- };
22
- export const TerminalActions = ({ className, children, ...props }) => (_jsx("div", { className: cn("flex items-center gap-1", className), ...props, children: children }));
23
- export const TerminalCopyButton = ({ onCopy, onError, timeout = 2000, children, className, ...props }) => {
24
- const [isCopied, setIsCopied] = useState(false);
25
- const timeoutRef = useRef(0);
26
- const { output } = useContext(TerminalContext);
27
- const copyToClipboard = useCallback(async () => {
28
- if (typeof window === "undefined" || !navigator?.clipboard?.writeText) {
29
- onError?.(new Error("Clipboard API not available"));
30
- return;
31
- }
32
- try {
33
- await navigator.clipboard.writeText(output);
34
- setIsCopied(true);
35
- onCopy?.();
36
- timeoutRef.current = window.setTimeout(() => setIsCopied(false), timeout);
37
- }
38
- catch (error) {
39
- onError?.(error);
40
- }
41
- }, [output, onCopy, onError, timeout]);
42
- useEffect(() => () => {
43
- window.clearTimeout(timeoutRef.current);
44
- }, []);
45
- const Icon = isCopied ? CheckIcon : CopyIcon;
46
- return (_jsx(Button, { className: cn("size-7 shrink-0 text-zinc-400 hover:bg-zinc-800 hover:text-zinc-100", className), onClick: copyToClipboard, size: "icon", variant: "ghost", ...props, children: children ?? _jsx(Icon, { size: 14 }) }));
47
- };
48
- export const TerminalClearButton = ({ children, className, ...props }) => {
49
- const { onClear } = useContext(TerminalContext);
50
- if (!onClear) {
51
- return null;
52
- }
53
- return (_jsx(Button, { className: cn("size-7 shrink-0 text-zinc-400 hover:bg-zinc-800 hover:text-zinc-100", className), onClick: onClear, size: "icon", variant: "ghost", ...props, children: children ?? _jsx(Trash2Icon, { size: 14 }) }));
54
- };
55
- export const TerminalContent = ({ className, children, ...props }) => {
56
- const { output, isStreaming, autoScroll } = useContext(TerminalContext);
57
- const containerRef = useRef(null);
58
- useEffect(() => {
59
- if (autoScroll && containerRef.current) {
60
- containerRef.current.scrollTop = containerRef.current.scrollHeight;
61
- }
62
- }, [output, autoScroll]);
63
- return (_jsx("div", { className: cn("max-h-96 overflow-auto p-4 font-mono text-sm leading-relaxed", className), ref: containerRef, ...props, children: children ?? (_jsxs("pre", { className: "whitespace-pre-wrap break-words", children: [_jsx(Ansi, { children: output }), isStreaming && (_jsx("span", { className: "ml-0.5 inline-block h-4 w-2 animate-pulse bg-zinc-100" }))] })) }));
64
- };
65
- export const Terminal = ({ output, isStreaming = false, autoScroll = true, onClear, className, children, ...props }) => {
66
- const contextValue = useMemo(() => ({ autoScroll, isStreaming, onClear, output }), [autoScroll, isStreaming, onClear, output]);
67
- return (_jsx(TerminalContext.Provider, { value: contextValue, children: _jsx("div", { className: cn("flex flex-col overflow-hidden rounded-lg border bg-zinc-950 text-zinc-100", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsxs(TerminalHeader, { children: [_jsx(TerminalTitle, {}), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(TerminalStatus, {}), _jsxs(TerminalActions, { children: [_jsx(TerminalCopyButton, {}), onClear && _jsx(TerminalClearButton, {})] })] })] }), _jsx(TerminalContent, {})] })) }) }));
68
- };
@@ -1,59 +0,0 @@
1
- import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@chatsdk-dev/ui/components/collapsible";
2
- import type { ComponentProps, HTMLAttributes } from "react";
3
- type TestStatus = "passed" | "failed" | "skipped" | "running";
4
- interface TestResultsSummary {
5
- passed: number;
6
- failed: number;
7
- skipped: number;
8
- total: number;
9
- duration?: number;
10
- }
11
- export type TestResultsHeaderProps = HTMLAttributes<HTMLDivElement>;
12
- export declare const TestResultsHeader: ({ className, children, ...props }: TestResultsHeaderProps) => import("react/jsx-runtime").JSX.Element;
13
- export type TestResultsDurationProps = HTMLAttributes<HTMLSpanElement>;
14
- export declare const TestResultsDuration: ({ className, children, ...props }: TestResultsDurationProps) => import("react/jsx-runtime").JSX.Element | null;
15
- export type TestResultsSummaryProps = HTMLAttributes<HTMLDivElement>;
16
- export declare const TestResultsSummary: ({ className, children, ...props }: TestResultsSummaryProps) => import("react/jsx-runtime").JSX.Element | null;
17
- export type TestResultsProps = HTMLAttributes<HTMLDivElement> & {
18
- summary?: TestResultsSummary;
19
- };
20
- export declare const TestResults: ({ summary, className, children, ...props }: TestResultsProps) => import("react/jsx-runtime").JSX.Element;
21
- export type TestResultsProgressProps = HTMLAttributes<HTMLDivElement>;
22
- export declare const TestResultsProgress: ({ className, children, ...props }: TestResultsProgressProps) => import("react/jsx-runtime").JSX.Element | null;
23
- export type TestResultsContentProps = HTMLAttributes<HTMLDivElement>;
24
- export declare const TestResultsContent: ({ className, children, ...props }: TestResultsContentProps) => import("react/jsx-runtime").JSX.Element;
25
- export type TestSuiteProps = ComponentProps<typeof Collapsible> & {
26
- name: string;
27
- status: TestStatus;
28
- };
29
- export declare const TestSuite: ({ name, status, className, children, ...props }: TestSuiteProps) => import("react/jsx-runtime").JSX.Element;
30
- export type TestSuiteNameProps = ComponentProps<typeof CollapsibleTrigger>;
31
- export declare const TestSuiteName: ({ className, children, ...props }: TestSuiteNameProps) => import("react/jsx-runtime").JSX.Element;
32
- export type TestSuiteStatsProps = HTMLAttributes<HTMLDivElement> & {
33
- passed?: number;
34
- failed?: number;
35
- skipped?: number;
36
- };
37
- export declare const TestSuiteStats: ({ passed, failed, skipped, className, children, ...props }: TestSuiteStatsProps) => import("react/jsx-runtime").JSX.Element;
38
- export type TestSuiteContentProps = ComponentProps<typeof CollapsibleContent>;
39
- export declare const TestSuiteContent: ({ className, children, ...props }: TestSuiteContentProps) => import("react/jsx-runtime").JSX.Element;
40
- export type TestNameProps = HTMLAttributes<HTMLSpanElement>;
41
- export declare const TestName: ({ className, children, ...props }: TestNameProps) => import("react/jsx-runtime").JSX.Element;
42
- export type TestDurationProps = HTMLAttributes<HTMLSpanElement>;
43
- export declare const TestDuration: ({ className, children, ...props }: TestDurationProps) => import("react/jsx-runtime").JSX.Element | null;
44
- export type TestStatusProps = HTMLAttributes<HTMLSpanElement>;
45
- export declare const TestStatus: ({ className, children, ...props }: TestStatusProps) => import("react/jsx-runtime").JSX.Element;
46
- export type TestProps = HTMLAttributes<HTMLDivElement> & {
47
- name: string;
48
- status: TestStatus;
49
- duration?: number;
50
- };
51
- export declare const Test: ({ name, status, duration, className, children, ...props }: TestProps) => import("react/jsx-runtime").JSX.Element;
52
- export type TestErrorProps = HTMLAttributes<HTMLDivElement>;
53
- export declare const TestError: ({ className, children, ...props }: TestErrorProps) => import("react/jsx-runtime").JSX.Element;
54
- export type TestErrorMessageProps = HTMLAttributes<HTMLParagraphElement>;
55
- export declare const TestErrorMessage: ({ className, children, ...props }: TestErrorMessageProps) => import("react/jsx-runtime").JSX.Element;
56
- export type TestErrorStackProps = HTMLAttributes<HTMLPreElement>;
57
- export declare const TestErrorStack: ({ className, children, ...props }: TestErrorStackProps) => import("react/jsx-runtime").JSX.Element;
58
- export {};
59
- //# sourceMappingURL=test-results.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-results.d.ts","sourceRoot":"","sources":["../../src/molecules/test-results.tsx"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Badge } from "@chatsdk-dev/ui/components/badge";
4
- import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@chatsdk-dev/ui/components/collapsible";
5
- import { cn } from "@chatsdk-dev/ui/lib/utils";
6
- import { CheckCircle2Icon, ChevronRightIcon, CircleDotIcon, CircleIcon, XCircleIcon, } from "lucide-react";
7
- import { createContext, useContext, useMemo } from "react";
8
- const TestResultsContext = createContext({});
9
- const formatDuration = (ms) => {
10
- if (ms < 1000) {
11
- return `${ms}ms`;
12
- }
13
- return `${(ms / 1000).toFixed(2)}s`;
14
- };
15
- export const TestResultsHeader = ({ className, children, ...props }) => (_jsx("div", { className: cn("flex items-center justify-between border-b px-4 py-3", className), ...props, children: children }));
16
- export const TestResultsDuration = ({ className, children, ...props }) => {
17
- const { summary } = useContext(TestResultsContext);
18
- if (!summary?.duration) {
19
- return null;
20
- }
21
- return (_jsx("span", { className: cn("text-muted-foreground text-sm", className), ...props, children: children ?? formatDuration(summary.duration) }));
22
- };
23
- export const TestResultsSummary = ({ className, children, ...props }) => {
24
- const { summary } = useContext(TestResultsContext);
25
- if (!summary) {
26
- return null;
27
- }
28
- return (_jsx("div", { className: cn("flex items-center gap-3", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsxs(Badge, { className: "gap-1 bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400", variant: "secondary", children: [_jsx(CheckCircle2Icon, { className: "size-3" }), summary.passed, " passed"] }), summary.failed > 0 && (_jsxs(Badge, { className: "gap-1 bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400", variant: "secondary", children: [_jsx(XCircleIcon, { className: "size-3" }), summary.failed, " failed"] })), summary.skipped > 0 && (_jsxs(Badge, { className: "gap-1 bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400", variant: "secondary", children: [_jsx(CircleIcon, { className: "size-3" }), summary.skipped, " skipped"] }))] })) }));
29
- };
30
- export const TestResults = ({ summary, className, children, ...props }) => {
31
- const contextValue = useMemo(() => ({ summary }), [summary]);
32
- return (_jsx(TestResultsContext.Provider, { value: contextValue, children: _jsx("div", { className: cn("rounded-lg border bg-background", className), ...props, children: children ??
33
- (summary && (_jsxs(TestResultsHeader, { children: [_jsx(TestResultsSummary, {}), _jsx(TestResultsDuration, {})] }))) }) }));
34
- };
35
- export const TestResultsProgress = ({ className, children, ...props }) => {
36
- const { summary } = useContext(TestResultsContext);
37
- if (!summary) {
38
- return null;
39
- }
40
- const passedPercent = (summary.passed / summary.total) * 100;
41
- const failedPercent = (summary.failed / summary.total) * 100;
42
- return (_jsx("div", { className: cn("space-y-2", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex h-2 overflow-hidden rounded-full bg-muted", children: [_jsx("div", { className: "bg-green-500 transition-all", style: { width: `${passedPercent}%` } }), _jsx("div", { className: "bg-red-500 transition-all", style: { width: `${failedPercent}%` } })] }), _jsxs("div", { className: "flex justify-between text-muted-foreground text-xs", children: [_jsxs("span", { children: [summary.passed, "/", summary.total, " tests passed"] }), _jsxs("span", { children: [passedPercent.toFixed(0), "%"] })] })] })) }));
43
- };
44
- export const TestResultsContent = ({ className, children, ...props }) => (_jsx("div", { className: cn("space-y-2 p-4", className), ...props, children: children }));
45
- const TestSuiteContext = createContext({
46
- name: "",
47
- status: "passed",
48
- });
49
- const statusStyles = {
50
- failed: "text-red-600 dark:text-red-400",
51
- passed: "text-green-600 dark:text-green-400",
52
- running: "text-blue-600 dark:text-blue-400",
53
- skipped: "text-yellow-600 dark:text-yellow-400",
54
- };
55
- const statusIcons = {
56
- failed: _jsx(XCircleIcon, { className: "size-4" }),
57
- passed: _jsx(CheckCircle2Icon, { className: "size-4" }),
58
- running: _jsx(CircleDotIcon, { className: "size-4 animate-pulse" }),
59
- skipped: _jsx(CircleIcon, { className: "size-4" }),
60
- };
61
- const TestStatusIcon = ({ status }) => (_jsx("span", { className: cn("shrink-0", statusStyles[status]), children: statusIcons[status] }));
62
- export const TestSuite = ({ name, status, className, children, ...props }) => {
63
- const contextValue = useMemo(() => ({ name, status }), [name, status]);
64
- return (_jsx(TestSuiteContext.Provider, { value: contextValue, children: _jsx(Collapsible, { className: cn("rounded-lg border", className), ...props, children: children }) }));
65
- };
66
- export const TestSuiteName = ({ className, children, ...props }) => {
67
- const { name, status } = useContext(TestSuiteContext);
68
- return (_jsxs(CollapsibleTrigger, { className: cn("group flex w-full items-center gap-2 px-4 py-3 text-left transition-colors hover:bg-muted/50", className), ...props, children: [_jsx(ChevronRightIcon, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }), _jsx(TestStatusIcon, { status: status }), _jsx("span", { className: "font-medium text-sm", children: children ?? name })] }));
69
- };
70
- export const TestSuiteStats = ({ passed = 0, failed = 0, skipped = 0, className, children, ...props }) => (_jsx("div", { className: cn("ml-auto flex items-center gap-2 text-xs", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [passed > 0 && (_jsxs("span", { className: "text-green-600 dark:text-green-400", children: [passed, " passed"] })), failed > 0 && (_jsxs("span", { className: "text-red-600 dark:text-red-400", children: [failed, " failed"] })), skipped > 0 && (_jsxs("span", { className: "text-yellow-600 dark:text-yellow-400", children: [skipped, " skipped"] }))] })) }));
71
- export const TestSuiteContent = ({ className, children, ...props }) => (_jsx(CollapsibleContent, { className: cn("border-t", className), ...props, children: _jsx("div", { className: "divide-y", children: children }) }));
72
- const TestContext = createContext({
73
- name: "",
74
- status: "passed",
75
- });
76
- export const TestName = ({ className, children, ...props }) => {
77
- const { name } = useContext(TestContext);
78
- return (_jsx("span", { className: cn("flex-1", className), ...props, children: children ?? name }));
79
- };
80
- export const TestDuration = ({ className, children, ...props }) => {
81
- const { duration } = useContext(TestContext);
82
- if (duration === undefined) {
83
- return null;
84
- }
85
- return (_jsx("span", { className: cn("ml-auto text-muted-foreground text-xs", className), ...props, children: children ?? `${duration}ms` }));
86
- };
87
- export const TestStatus = ({ className, children, ...props }) => {
88
- const { status } = useContext(TestContext);
89
- return (_jsx("span", { className: cn("shrink-0", statusStyles[status], className), ...props, children: children ?? statusIcons[status] }));
90
- };
91
- export const Test = ({ name, status, duration, className, children, ...props }) => {
92
- const contextValue = useMemo(() => ({ duration, name, status }), [duration, name, status]);
93
- return (_jsx(TestContext.Provider, { value: contextValue, children: _jsx("div", { className: cn("flex items-center gap-2 px-4 py-2 text-sm", className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(TestStatus, {}), _jsx(TestName, {}), duration !== undefined && _jsx(TestDuration, {})] })) }) }));
94
- };
95
- export const TestError = ({ className, children, ...props }) => (_jsx("div", { className: cn("mt-2 rounded-md bg-red-50 p-3 dark:bg-red-900/20", className), ...props, children: children }));
96
- export const TestErrorMessage = ({ className, children, ...props }) => (_jsx("p", { className: cn("font-medium text-red-700 text-sm dark:text-red-400", className), ...props, children: children }));
97
- export const TestErrorStack = ({ className, children, ...props }) => (_jsx("pre", { className: cn("mt-2 overflow-auto font-mono text-red-600 text-xs dark:text-red-400", className), ...props, children: children }));
@@ -1,32 +0,0 @@
1
- import { Collapsible, CollapsibleContent } from "@chatsdk-dev/ui/components/collapsible";
2
- import type { DynamicToolUIPart, ToolUIPart } from "ai";
3
- import type { ComponentProps } from "react";
4
- export type ToolProps = ComponentProps<typeof Collapsible>;
5
- export declare const Tool: ({ className, ...props }: ToolProps) => import("react/jsx-runtime").JSX.Element;
6
- export type ToolPart = ToolUIPart | DynamicToolUIPart;
7
- export type ToolHeaderProps = {
8
- title?: string;
9
- className?: string;
10
- } & ({
11
- type: ToolUIPart["type"];
12
- state: ToolUIPart["state"];
13
- toolName?: never;
14
- } | {
15
- type: DynamicToolUIPart["type"];
16
- state: DynamicToolUIPart["state"];
17
- toolName: string;
18
- });
19
- export declare const getStatusBadge: (status: ToolPart["state"]) => import("react/jsx-runtime").JSX.Element;
20
- export declare const ToolHeader: ({ className, title, type, state, toolName, ...props }: ToolHeaderProps) => import("react/jsx-runtime").JSX.Element;
21
- export type ToolContentProps = ComponentProps<typeof CollapsibleContent>;
22
- export declare const ToolContent: ({ className, ...props }: ToolContentProps) => import("react/jsx-runtime").JSX.Element;
23
- export type ToolInputProps = ComponentProps<"div"> & {
24
- input: ToolPart["input"];
25
- };
26
- export declare const ToolInput: ({ className, input, ...props }: ToolInputProps) => import("react/jsx-runtime").JSX.Element;
27
- export type ToolOutputProps = ComponentProps<"div"> & {
28
- output: ToolPart["output"];
29
- errorText: ToolPart["errorText"];
30
- };
31
- export declare const ToolOutput: ({ className, output, errorText, ...props }: ToolOutputProps) => import("react/jsx-runtime").JSX.Element | null;
32
- //# sourceMappingURL=tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/molecules/tool.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EACX,kBAAkB,EAEnB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AASxD,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,OAAO,CAAC;AAKvD,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,eAAO,MAAM,IAAI,GAAI,yBAAyB,SAAS,4CAKtD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CACA;IAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC1E;IACE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB,CACJ,CAAC;AAsBF,eAAO,MAAM,cAAc,GAAI,QAAQ,QAAQ,CAAC,OAAO,CAAC,4CAKvD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,uDAOxB,eAAe,4CAoBjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,eAAO,MAAM,WAAW,GAAI,yBAAyB,gBAAgB,4CAQpE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACnD,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,gCAAgC,cAAc,4CASvE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACpD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3B,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,4CAKxB,eAAe,mDAiCjB,CAAC"}
@@ -1,49 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Badge } from "@chatsdk-dev/ui/components/badge";
4
- import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@chatsdk-dev/ui/components/collapsible";
5
- import { cn } from "@chatsdk-dev/ui/lib/utils";
6
- import { CheckCircleIcon, ChevronDownIcon, CircleIcon, ClockIcon, WrenchIcon, XCircleIcon, } from "lucide-react";
7
- import { isValidElement } from "react";
8
- import { CodeBlock } from "./code-block";
9
- export const Tool = ({ className, ...props }) => (_jsx(Collapsible, { className: cn("group not-prose mb-4 w-full rounded-md border", className), ...props }));
10
- const statusLabels = {
11
- "approval-requested": "Awaiting Approval",
12
- "approval-responded": "Responded",
13
- "input-available": "Running",
14
- "input-streaming": "Pending",
15
- "output-available": "Completed",
16
- "output-denied": "Denied",
17
- "output-error": "Error",
18
- };
19
- const statusIcons = {
20
- "approval-requested": _jsx(ClockIcon, { className: "size-4 text-yellow-600" }),
21
- "approval-responded": _jsx(CheckCircleIcon, { className: "size-4 text-blue-600" }),
22
- "input-available": _jsx(ClockIcon, { className: "size-4 animate-pulse" }),
23
- "input-streaming": _jsx(CircleIcon, { className: "size-4" }),
24
- "output-available": _jsx(CheckCircleIcon, { className: "size-4 text-green-600" }),
25
- "output-denied": _jsx(XCircleIcon, { className: "size-4 text-orange-600" }),
26
- "output-error": _jsx(XCircleIcon, { className: "size-4 text-red-600" }),
27
- };
28
- export const getStatusBadge = (status) => (_jsxs(Badge, { className: "gap-1.5 rounded-full text-xs", variant: "secondary", children: [statusIcons[status], statusLabels[status]] }));
29
- export const ToolHeader = ({ className, title, type, state, toolName, ...props }) => {
30
- const derivedName = type === "dynamic-tool" ? toolName : type.split("-").slice(1).join("-");
31
- return (_jsxs(CollapsibleTrigger, { className: cn("flex w-full items-center justify-between gap-4 p-3", className), ...props, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(WrenchIcon, { className: "size-4 text-muted-foreground" }), _jsx("span", { className: "font-medium text-sm", children: title ?? derivedName }), getStatusBadge(state)] }), _jsx(ChevronDownIcon, { className: "size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })] }));
32
- };
33
- export const ToolContent = ({ className, ...props }) => (_jsx(CollapsibleContent, { className: cn("data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 space-y-4 p-4 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in", className), ...props }));
34
- export const ToolInput = ({ className, input, ...props }) => (_jsxs("div", { className: cn("space-y-2 overflow-hidden", className), ...props, children: [_jsx("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: "Parameters" }), _jsx("div", { className: "rounded-md bg-muted/50", children: _jsx(CodeBlock, { code: JSON.stringify(input, null, 2), language: "json" }) })] }));
35
- export const ToolOutput = ({ className, output, errorText, ...props }) => {
36
- if (!(output || errorText)) {
37
- return null;
38
- }
39
- let Output = _jsx("div", { children: output });
40
- if (typeof output === "object" && !isValidElement(output)) {
41
- Output = (_jsx(CodeBlock, { code: JSON.stringify(output, null, 2), language: "json" }));
42
- }
43
- else if (typeof output === "string") {
44
- Output = _jsx(CodeBlock, { code: output, language: "json" });
45
- }
46
- return (_jsxs("div", { className: cn("space-y-2", className), ...props, children: [_jsx("h4", { className: "font-medium text-muted-foreground text-xs uppercase tracking-wide", children: errorText ? "Error" : "Result" }), _jsxs("div", { className: cn("overflow-x-auto rounded-md text-xs [&_table]:w-full", errorText
47
- ? "bg-destructive/10 text-destructive"
48
- : "bg-muted/50 text-foreground"), children: [errorText && _jsx("div", { children: errorText }), Output] })] }));
49
- };
@@ -1,6 +0,0 @@
1
- import { NodeToolbar } from "@xyflow/react";
2
- import type { ComponentProps } from "react";
3
- type ToolbarProps = ComponentProps<typeof NodeToolbar>;
4
- export declare const Toolbar: ({ className, ...props }: ToolbarProps) => import("react/jsx-runtime").JSX.Element;
5
- export {};
6
- //# sourceMappingURL=toolbar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../src/molecules/toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAY,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,KAAK,YAAY,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD,eAAO,MAAM,OAAO,GAAI,yBAAyB,YAAY,4CAS5D,CAAC"}
@@ -1,4 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "@chatsdk-dev/ui/lib/utils";
3
- import { NodeToolbar, Position } from "@xyflow/react";
4
- export const Toolbar = ({ className, ...props }) => (_jsx(NodeToolbar, { className: cn("flex items-center gap-1 rounded-sm border bg-background p-1.5", className), position: Position.Bottom, ...props }));
@@ -1,17 +0,0 @@
1
- import type { Experimental_TranscriptionResult as TranscriptionResult } from "ai";
2
- import type { ComponentProps, ReactNode } from "react";
3
- type TranscriptionSegment = TranscriptionResult["segments"][number];
4
- export type TranscriptionProps = Omit<ComponentProps<"div">, "children"> & {
5
- segments: TranscriptionSegment[];
6
- currentTime?: number;
7
- onSeek?: (time: number) => void;
8
- children: (segment: TranscriptionSegment, index: number) => ReactNode;
9
- };
10
- export declare const Transcription: ({ segments, currentTime: externalCurrentTime, onSeek, className, children, ...props }: TranscriptionProps) => import("react/jsx-runtime").JSX.Element;
11
- export type TranscriptionSegmentProps = ComponentProps<"button"> & {
12
- segment: TranscriptionSegment;
13
- index: number;
14
- };
15
- export declare const TranscriptionSegment: ({ segment, index, className, onClick, ...props }: TranscriptionSegmentProps) => import("react/jsx-runtime").JSX.Element;
16
- export {};
17
- //# sourceMappingURL=transcription.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcription.d.ts","sourceRoot":"","sources":["../../src/molecules/transcription.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gCAAgC,IAAI,mBAAmB,EAAE,MAAM,IAAI,CAAC;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,KAAK,oBAAoB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAuBpE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACzE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;CACvE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,uFAO3B,kBAAkB,4CA4BpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IACjE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,kDAMlC,yBAAyB,4CAsC3B,CAAC"}
@@ -1,36 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useControllableState } from "@radix-ui/react-use-controllable-state";
4
- import { cn } from "@chatsdk-dev/ui/lib/utils";
5
- import { createContext, useCallback, useContext, useMemo } from "react";
6
- const TranscriptionContext = createContext(null);
7
- const useTranscription = () => {
8
- const context = useContext(TranscriptionContext);
9
- if (!context) {
10
- throw new Error("Transcription components must be used within Transcription");
11
- }
12
- return context;
13
- };
14
- export const Transcription = ({ segments, currentTime: externalCurrentTime, onSeek, className, children, ...props }) => {
15
- const [currentTime, setCurrentTime] = useControllableState({
16
- defaultProp: 0,
17
- onChange: onSeek,
18
- prop: externalCurrentTime,
19
- });
20
- const contextValue = useMemo(() => ({ currentTime, onSeek, onTimeUpdate: setCurrentTime, segments }), [currentTime, onSeek, setCurrentTime, segments]);
21
- return (_jsx(TranscriptionContext.Provider, { value: contextValue, children: _jsx("div", { className: cn("flex flex-wrap gap-1 text-sm leading-relaxed", className), "data-slot": "transcription", ...props, children: segments
22
- .filter((segment) => segment.text.trim())
23
- .map((segment, index) => children(segment, index)) }) }));
24
- };
25
- export const TranscriptionSegment = ({ segment, index, className, onClick, ...props }) => {
26
- const { currentTime, onSeek } = useTranscription();
27
- const isActive = currentTime >= segment.startSecond && currentTime < segment.endSecond;
28
- const isPast = currentTime >= segment.endSecond;
29
- const handleClick = useCallback((event) => {
30
- if (onSeek) {
31
- onSeek(segment.startSecond);
32
- }
33
- onClick?.(event);
34
- }, [onSeek, segment.startSecond, onClick]);
35
- return (_jsx("button", { className: cn("inline text-left", isActive && "text-primary", isPast && "text-muted-foreground", !(isActive || isPast) && "text-muted-foreground/60", onSeek && "cursor-pointer hover:text-foreground", !onSeek && "cursor-default", className), "data-active": isActive, "data-index": index, "data-slot": "transcription-segment", onClick: handleClick, type: "button", ...props, children: segment.text }));
36
- };
@@ -1,64 +0,0 @@
1
- import { CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "@chatsdk-dev/ui/components/command";
2
- import { Dialog, DialogContent, DialogTrigger } from "@chatsdk-dev/ui/components/dialog";
3
- import type { ComponentProps, ReactNode } from "react";
4
- interface VoiceSelectorContextValue {
5
- value: string | undefined;
6
- setValue: (value: string | undefined) => void;
7
- open: boolean;
8
- setOpen: (open: boolean) => void;
9
- }
10
- export declare const useVoiceSelector: () => VoiceSelectorContextValue;
11
- export type VoiceSelectorProps = ComponentProps<typeof Dialog> & {
12
- value?: string;
13
- defaultValue?: string;
14
- onValueChange?: (value: string | undefined) => void;
15
- };
16
- export declare const VoiceSelector: ({ value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, children, ...props }: VoiceSelectorProps) => import("react/jsx-runtime").JSX.Element;
17
- export type VoiceSelectorTriggerProps = ComponentProps<typeof DialogTrigger>;
18
- export declare const VoiceSelectorTrigger: (props: VoiceSelectorTriggerProps) => import("react/jsx-runtime").JSX.Element;
19
- export type VoiceSelectorContentProps = ComponentProps<typeof DialogContent> & {
20
- title?: ReactNode;
21
- };
22
- export declare const VoiceSelectorContent: ({ className, children, title, ...props }: VoiceSelectorContentProps) => import("react/jsx-runtime").JSX.Element;
23
- export type VoiceSelectorDialogProps = ComponentProps<typeof CommandDialog>;
24
- export declare const VoiceSelectorDialog: (props: VoiceSelectorDialogProps) => import("react/jsx-runtime").JSX.Element;
25
- export type VoiceSelectorInputProps = ComponentProps<typeof CommandInput>;
26
- export declare const VoiceSelectorInput: ({ className, ...props }: VoiceSelectorInputProps) => import("react/jsx-runtime").JSX.Element;
27
- export type VoiceSelectorListProps = ComponentProps<typeof CommandList>;
28
- export declare const VoiceSelectorList: (props: VoiceSelectorListProps) => import("react/jsx-runtime").JSX.Element;
29
- export type VoiceSelectorEmptyProps = ComponentProps<typeof CommandEmpty>;
30
- export declare const VoiceSelectorEmpty: (props: VoiceSelectorEmptyProps) => import("react/jsx-runtime").JSX.Element;
31
- export type VoiceSelectorGroupProps = ComponentProps<typeof CommandGroup>;
32
- export declare const VoiceSelectorGroup: (props: VoiceSelectorGroupProps) => import("react/jsx-runtime").JSX.Element;
33
- export type VoiceSelectorItemProps = ComponentProps<typeof CommandItem>;
34
- export declare const VoiceSelectorItem: ({ className, ...props }: VoiceSelectorItemProps) => import("react/jsx-runtime").JSX.Element;
35
- export type VoiceSelectorShortcutProps = ComponentProps<typeof CommandShortcut>;
36
- export declare const VoiceSelectorShortcut: (props: VoiceSelectorShortcutProps) => import("react/jsx-runtime").JSX.Element;
37
- export type VoiceSelectorSeparatorProps = ComponentProps<typeof CommandSeparator>;
38
- export declare const VoiceSelectorSeparator: (props: VoiceSelectorSeparatorProps) => import("react/jsx-runtime").JSX.Element;
39
- export type VoiceSelectorGenderProps = ComponentProps<"span"> & {
40
- value?: "male" | "female" | "transgender" | "androgyne" | "non-binary" | "intersex";
41
- };
42
- export declare const VoiceSelectorGender: ({ className, value, children, ...props }: VoiceSelectorGenderProps) => import("react/jsx-runtime").JSX.Element;
43
- export type VoiceSelectorAccentProps = ComponentProps<"span"> & {
44
- value?: "american" | "british" | "australian" | "canadian" | "irish" | "scottish" | "indian" | "south-african" | "new-zealand" | "spanish" | "french" | "german" | "italian" | "portuguese" | "brazilian" | "mexican" | "argentinian" | "japanese" | "chinese" | "korean" | "russian" | "arabic" | "dutch" | "swedish" | "norwegian" | "danish" | "finnish" | "polish" | "turkish" | "greek" | string;
45
- };
46
- export declare const VoiceSelectorAccent: ({ className, value, children, ...props }: VoiceSelectorAccentProps) => import("react/jsx-runtime").JSX.Element;
47
- export type VoiceSelectorAgeProps = ComponentProps<"span">;
48
- export declare const VoiceSelectorAge: ({ className, ...props }: VoiceSelectorAgeProps) => import("react/jsx-runtime").JSX.Element;
49
- export type VoiceSelectorNameProps = ComponentProps<"span">;
50
- export declare const VoiceSelectorName: ({ className, ...props }: VoiceSelectorNameProps) => import("react/jsx-runtime").JSX.Element;
51
- export type VoiceSelectorDescriptionProps = ComponentProps<"span">;
52
- export declare const VoiceSelectorDescription: ({ className, ...props }: VoiceSelectorDescriptionProps) => import("react/jsx-runtime").JSX.Element;
53
- export type VoiceSelectorAttributesProps = ComponentProps<"div">;
54
- export declare const VoiceSelectorAttributes: ({ className, children, ...props }: VoiceSelectorAttributesProps) => import("react/jsx-runtime").JSX.Element;
55
- export type VoiceSelectorBulletProps = ComponentProps<"span">;
56
- export declare const VoiceSelectorBullet: ({ className, ...props }: VoiceSelectorBulletProps) => import("react/jsx-runtime").JSX.Element;
57
- export type VoiceSelectorPreviewProps = Omit<ComponentProps<"button">, "children"> & {
58
- playing?: boolean;
59
- loading?: boolean;
60
- onPlay?: () => void;
61
- };
62
- export declare const VoiceSelectorPreview: ({ className, playing, loading, onPlay, onClick, ...props }: VoiceSelectorPreviewProps) => import("react/jsx-runtime").JSX.Element;
63
- export {};
64
- //# sourceMappingURL=voice-selector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voice-selector.d.ts","sourceRoot":"","sources":["../../src/molecules/voice-selector.tsx"],"names":[],"mappings":"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"}