laif-ds 0.1.1 → 0.1.3

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 (425) hide show
  1. package/dist/_virtual/jsx-runtime.js +6 -0
  2. package/dist/_virtual/jsx-runtime2.js +5 -0
  3. package/dist/_virtual/react-jsx-runtime.development.js +5 -0
  4. package/dist/_virtual/react-jsx-runtime.production.js +5 -0
  5. package/dist/components/ui/accordion.js +65 -0
  6. package/dist/components/ui/alert-dialog.js +147 -0
  7. package/dist/components/ui/alert.js +67 -0
  8. package/dist/components/ui/aspect-ratio.js +11 -0
  9. package/dist/components/ui/async-select.js +172 -0
  10. package/dist/components/ui/audio-visualizer.js +94 -0
  11. package/dist/components/ui/avatar.js +54 -0
  12. package/dist/components/ui/badge.js +41 -0
  13. package/dist/components/ui/button.js +66 -0
  14. package/dist/components/ui/calendar.js +62 -0
  15. package/dist/components/ui/card.js +77 -0
  16. package/dist/components/ui/carousel.js +178 -0
  17. package/dist/components/ui/chart.js +216 -0
  18. package/dist/components/ui/chat-message.js +250 -0
  19. package/dist/components/ui/chat.js +226 -0
  20. package/dist/components/ui/checkbox.js +32 -0
  21. package/dist/components/ui/collapsible.js +35 -0
  22. package/dist/components/ui/command.js +162 -0
  23. package/dist/components/ui/context-menu.js +224 -0
  24. package/dist/components/ui/copy-button.js +45 -0
  25. package/dist/components/ui/date-picker.js +59 -0
  26. package/dist/components/ui/dialog.js +123 -0
  27. package/dist/components/ui/drawer.js +120 -0
  28. package/dist/components/ui/file-preview.js +120 -0
  29. package/dist/components/ui/form.js +102 -0
  30. package/dist/components/ui/hover-card.js +39 -0
  31. package/dist/components/ui/icon.js +35 -0
  32. package/dist/components/ui/input-otp.js +62 -0
  33. package/dist/components/ui/input-selector.js +119 -0
  34. package/dist/components/ui/input.js +70 -0
  35. package/dist/components/ui/interrupt-prompt.js +38 -0
  36. package/dist/components/ui/label.js +23 -0
  37. package/dist/components/ui/markdown-renderer.js +126 -0
  38. package/dist/components/ui/menubar.js +252 -0
  39. package/dist/components/ui/message-input.js +336 -0
  40. package/dist/components/ui/message-list.js +29 -0
  41. package/dist/components/ui/multiple-selector.js +350 -0
  42. package/dist/components/ui/navigation-menu.js +171 -0
  43. package/dist/components/ui/pagination.js +119 -0
  44. package/dist/components/ui/popover.js +39 -0
  45. package/dist/components/ui/progress.js +32 -0
  46. package/dist/components/ui/prompt-suggestions.js +23 -0
  47. package/dist/components/ui/radio-group.js +46 -0
  48. package/dist/components/ui/resizable.js +49 -0
  49. package/dist/components/ui/scroll-area.js +61 -0
  50. package/dist/components/ui/select.js +189 -0
  51. package/dist/components/ui/separator.js +27 -0
  52. package/dist/components/ui/sheet.js +121 -0
  53. package/dist/components/ui/sidebar.js +599 -0
  54. package/dist/components/ui/skeleton.js +16 -0
  55. package/dist/components/ui/sonner.js +23 -0
  56. package/dist/components/ui/switch.js +32 -0
  57. package/dist/components/ui/table.js +115 -0
  58. package/dist/components/ui/tabs.js +68 -0
  59. package/dist/components/ui/textarea.js +19 -0
  60. package/dist/components/ui/toggle-group.js +63 -0
  61. package/dist/components/ui/toggle.js +44 -0
  62. package/dist/components/ui/tooltip.js +56 -0
  63. package/dist/components/ui/typing-indicator.js +13 -0
  64. package/dist/hooks/use-audio-recording.js +55 -0
  65. package/dist/hooks/use-auto-scroll.js +37 -0
  66. package/dist/hooks/use-autosize-textarea.js +22 -0
  67. package/dist/hooks/use-copy-to-clipboard.js +25 -0
  68. package/dist/hooks/use-debounce.js +16 -0
  69. package/dist/hooks/use-mobile.js +17 -0
  70. package/dist/index.d.ts +1088 -0
  71. package/dist/index.js +299 -0
  72. package/dist/lib/audio-utils.js +30 -0
  73. package/dist/lib/utils.js +9 -0
  74. package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +248 -0
  75. package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +36 -0
  76. package/dist/node_modules/react/jsx-runtime.js +11 -0
  77. package/dist/styles.css +1 -1
  78. package/package.json +15 -38
  79. package/dist/abap-BmBUA35e.js +0 -6
  80. package/dist/actionscript-3-zFUbzQa9.js +0 -6
  81. package/dist/ada-CBvPkFpZ.js +0 -6
  82. package/dist/andromeeda-uXNdzNpk.js +0 -4
  83. package/dist/angular-html-0fTdLuKf.js +0 -32
  84. package/dist/angular-ts-wkniW60G.js +0 -21
  85. package/dist/apache-CVNlsSDc.js +0 -6
  86. package/dist/apex-DFk3KRB1.js +0 -6
  87. package/dist/apl-TLDHFJX6.js +0 -16
  88. package/dist/applescript-CYMR_y0g.js +0 -6
  89. package/dist/ara-4QmU5e04.js +0 -6
  90. package/dist/asciidoc-v_1bjgUg.js +0 -6
  91. package/dist/asm-RC0Yh-NZ.js +0 -6
  92. package/dist/astro-Uf8_VxKJ.js +0 -16
  93. package/dist/aurora-x-BwoVEUWZ.js +0 -4
  94. package/dist/awk-gPH8MVMW.js +0 -6
  95. package/dist/ayu-dark-CxPZkpb2.js +0 -4
  96. package/dist/ballerina-kvLnRU_e.js +0 -6
  97. package/dist/bat-BHYy44sT.js +0 -6
  98. package/dist/beancount-D-MADTs_.js +0 -6
  99. package/dist/berry-Ci9U0o4h.js +0 -6
  100. package/dist/bibtex-CX618D15.js +0 -6
  101. package/dist/bicep-iuYiPopT.js +0 -6
  102. package/dist/blade-BtR00Gx0.js +0 -18
  103. package/dist/bsl-BIXPNqL4.js +0 -8
  104. package/dist/c-DASdrs7p.js +0 -6
  105. package/dist/cadence-BDALQi26.js +0 -6
  106. package/dist/cairo-tXZKA2PT.js +0 -8
  107. package/dist/catppuccin-frappe-BrTOiad2.js +0 -4
  108. package/dist/catppuccin-latte-D-dc_R4m.js +0 -4
  109. package/dist/catppuccin-macchiato-DN4jOp0G.js +0 -4
  110. package/dist/catppuccin-mocha-B8yCE3-3.js +0 -4
  111. package/dist/clarity-CNgV2Ths.js +0 -6
  112. package/dist/clojure-CsKKFGwv.js +0 -6
  113. package/dist/cmake-Dr-A3iJx.js +0 -6
  114. package/dist/cobol-DMssKNmC.js +0 -10
  115. package/dist/codeowners-Bt9yU6NX.js +0 -6
  116. package/dist/codeql-DBNTqJi1.js +0 -6
  117. package/dist/coffee-D_GzM8k1.js +0 -8
  118. package/dist/common-lisp-r7ZEOG7T.js +0 -6
  119. package/dist/components/atoms/index.d.ts +0 -20
  120. package/dist/components/index.d.ts +0 -3
  121. package/dist/components/molecules/index.d.ts +0 -29
  122. package/dist/components/organisms/index.d.ts +0 -14
  123. package/dist/components/ui/accordion.d.ts +0 -7
  124. package/dist/components/ui/alert-dialog.d.ts +0 -14
  125. package/dist/components/ui/alert.d.ts +0 -9
  126. package/dist/components/ui/aspect-ratio.d.ts +0 -3
  127. package/dist/components/ui/async-select.d.ts +0 -54
  128. package/dist/components/ui/audio-visualizer.d.ts +0 -7
  129. package/dist/components/ui/avatar.d.ts +0 -6
  130. package/dist/components/ui/badge.d.ts +0 -9
  131. package/dist/components/ui/button.d.ts +0 -14
  132. package/dist/components/ui/calendar.d.ts +0 -4
  133. package/dist/components/ui/card.d.ts +0 -9
  134. package/dist/components/ui/carousel.d.ts +0 -19
  135. package/dist/components/ui/chart.d.ts +0 -40
  136. package/dist/components/ui/chat-message.d.ts +0 -62
  137. package/dist/components/ui/chat.d.ts +0 -53
  138. package/dist/components/ui/checkbox.d.ts +0 -4
  139. package/dist/components/ui/collapsible.d.ts +0 -5
  140. package/dist/components/ui/command.d.ts +0 -16
  141. package/dist/components/ui/context-menu.d.ts +0 -25
  142. package/dist/components/ui/copy-button.d.ts +0 -6
  143. package/dist/components/ui/date-picker.d.ts +0 -11
  144. package/dist/components/ui/dialog.d.ts +0 -13
  145. package/dist/components/ui/drawer.d.ts +0 -13
  146. package/dist/components/ui/file-preview.d.ts +0 -7
  147. package/dist/components/ui/form.d.ts +0 -24
  148. package/dist/components/ui/hover-card.d.ts +0 -6
  149. package/dist/components/ui/icon.d.ts +0 -33
  150. package/dist/components/ui/input-otp.d.ts +0 -11
  151. package/dist/components/ui/input-selector.d.ts +0 -14
  152. package/dist/components/ui/input.d.ts +0 -14
  153. package/dist/components/ui/interrupt-prompt.d.ts +0 -6
  154. package/dist/components/ui/label.d.ts +0 -4
  155. package/dist/components/ui/markdown-renderer.d.ts +0 -5
  156. package/dist/components/ui/menubar.d.ts +0 -26
  157. package/dist/components/ui/message-input.d.ts +0 -23
  158. package/dist/components/ui/message-list.d.ts +0 -10
  159. package/dist/components/ui/multiple-selector.d.ts +0 -75
  160. package/dist/components/ui/navigation-menu.d.ts +0 -14
  161. package/dist/components/ui/pagination.d.ts +0 -13
  162. package/dist/components/ui/popover.d.ts +0 -7
  163. package/dist/components/ui/progress.d.ts +0 -4
  164. package/dist/components/ui/prompt-suggestions.d.ts +0 -10
  165. package/dist/components/ui/radio-group.d.ts +0 -5
  166. package/dist/components/ui/resizable.d.ts +0 -8
  167. package/dist/components/ui/scroll-area.d.ts +0 -5
  168. package/dist/components/ui/select.d.ts +0 -21
  169. package/dist/components/ui/separator.d.ts +0 -4
  170. package/dist/components/ui/sheet.d.ts +0 -13
  171. package/dist/components/ui/sidebar.d.ts +0 -69
  172. package/dist/components/ui/skeleton.d.ts +0 -2
  173. package/dist/components/ui/sonner.d.ts +0 -3
  174. package/dist/components/ui/switch.d.ts +0 -4
  175. package/dist/components/ui/table.d.ts +0 -10
  176. package/dist/components/ui/tabs.d.ts +0 -7
  177. package/dist/components/ui/textarea.d.ts +0 -3
  178. package/dist/components/ui/toggle-group.d.ts +0 -7
  179. package/dist/components/ui/toggle.d.ts +0 -9
  180. package/dist/components/ui/tooltip.d.ts +0 -7
  181. package/dist/components/ui/typing-indicator.d.ts +0 -1
  182. package/dist/coq-CB6Pv_W9.js +0 -6
  183. package/dist/cpp-CJF2i3ah.js +0 -18
  184. package/dist/crystal-BKWnaU3g.js +0 -18
  185. package/dist/csharp-CYWRhZ2R.js +0 -6
  186. package/dist/css-D1aVdRIU.js +0 -6
  187. package/dist/csv-DvCncUGQ.js +0 -6
  188. package/dist/cue-BXMrmvay.js +0 -6
  189. package/dist/cypher-DTm5zNR1.js +0 -6
  190. package/dist/d-D6ZXmn3l.js +0 -6
  191. package/dist/dark-plus-pUHDTVV0.js +0 -4
  192. package/dist/dart-Dz59Is3F.js +0 -6
  193. package/dist/dax-DTVGzydb.js +0 -6
  194. package/dist/desktop-Db9vb-dl.js +0 -6
  195. package/dist/diff-XmNrvgM1.js +0 -6
  196. package/dist/docker-DWH2onkn.js +0 -6
  197. package/dist/dotenv-4337wvzu.js +0 -6
  198. package/dist/dracula-BtZx2Kac.js +0 -4
  199. package/dist/dracula-soft-BKa-aqBv.js +0 -4
  200. package/dist/dream-maker-CvvfrJSx.js +0 -6
  201. package/dist/edge-CgxR-qhM.js +0 -12
  202. package/dist/elixir-DZkeSPwW.js +0 -8
  203. package/dist/elm-BKuV1HE1.js +0 -8
  204. package/dist/emacs-lisp-BAefI874.js +0 -6
  205. package/dist/erb-BLwkpXUJ.js +0 -10
  206. package/dist/erlang-CmIiwF3I.js +0 -6
  207. package/dist/everforest-dark-DMCBqXCK.js +0 -4
  208. package/dist/everforest-light-BbXl82Em.js +0 -4
  209. package/dist/fennel-DNqkz9pE.js +0 -6
  210. package/dist/fish-DIm72t2T.js +0 -6
  211. package/dist/fluent-BapTxJsC.js +0 -6
  212. package/dist/fortran-fixed-form-s9Hnb3av.js +0 -8
  213. package/dist/fortran-free-form-CNDsBFUj.js +0 -6
  214. package/dist/fsharp-Cv0x43wb.js +0 -8
  215. package/dist/gdresource-CMcKXvgJ.js +0 -10
  216. package/dist/gdscript-D7aheHm-.js +0 -6
  217. package/dist/gdshader-BGJEsM2Z.js +0 -6
  218. package/dist/genie-C9gPjc6J.js +0 -6
  219. package/dist/gherkin-bka1Exbx.js +0 -6
  220. package/dist/git-commit-BspYIY3P.js +0 -8
  221. package/dist/git-rebase--zLBTjUa.js +0 -8
  222. package/dist/github-dark-DenFmJkN.js +0 -4
  223. package/dist/github-dark-default-BJPUVz4H.js +0 -4
  224. package/dist/github-dark-dimmed-DUshB20C.js +0 -4
  225. package/dist/github-dark-high-contrast-D3aGCnF8.js +0 -4
  226. package/dist/github-light-JYsPkUQd.js +0 -4
  227. package/dist/github-light-default-D99KPAby.js +0 -4
  228. package/dist/github-light-high-contrast-BbmZE-Mp.js +0 -4
  229. package/dist/gleam-B4k9YFGD.js +0 -6
  230. package/dist/glimmer-js-DhY9umHJ.js +0 -14
  231. package/dist/glimmer-ts-CCrHcYH5.js +0 -14
  232. package/dist/glsl-XLGYNq5B.js +0 -8
  233. package/dist/gnuplot-DnWoRZt-.js +0 -6
  234. package/dist/go-BErP6iv1.js +0 -6
  235. package/dist/graphql-DWpQF4JI.js +0 -14
  236. package/dist/groovy-IWs5-NIO.js +0 -6
  237. package/dist/hack-CQrV-ytR.js +0 -10
  238. package/dist/haml-CMN0hQaL.js +0 -10
  239. package/dist/handlebars-Cc-7fXX5.js +0 -14
  240. package/dist/haskell-CtlGos0K.js +0 -6
  241. package/dist/haxe-CZZ33vZw.js +0 -6
  242. package/dist/hcl-6hOg9WP4.js +0 -6
  243. package/dist/hjson-CgwED-oz.js +0 -6
  244. package/dist/hlsl-3-lv4gi7.js +0 -6
  245. package/dist/hooks/index.d.ts +0 -6
  246. package/dist/hooks/use-audio-recording.d.ts +0 -14
  247. package/dist/hooks/use-auto-scroll.d.ts +0 -7
  248. package/dist/hooks/use-autosize-textarea.d.ts +0 -8
  249. package/dist/hooks/use-copy-to-clipboard.d.ts +0 -9
  250. package/dist/hooks/use-debounce.d.ts +0 -1
  251. package/dist/hooks/use-mobile.d.ts +0 -1
  252. package/dist/houston-BDYrDoDW.js +0 -4
  253. package/dist/html-B0P_v3yU.js +0 -10
  254. package/dist/html-derivative-D59SHfh8.js +0 -8
  255. package/dist/http-Dcjm_K1m.js +0 -14
  256. package/dist/hxml-BNKImryz.js +0 -8
  257. package/dist/hy-C2xHhR6I.js +0 -6
  258. package/dist/imba-Drd0AMDo.js +0 -8
  259. package/dist/index-B2xHpeqn.js +0 -71567
  260. package/dist/index-CIiBzRi5.js +0 -6376
  261. package/dist/ini-BUcvsX-U.js +0 -6
  262. package/dist/java-B7odJ7Ap.js +0 -6
  263. package/dist/javascript-fa8UlHZE.js +0 -6
  264. package/dist/jinja-CCSYduCH.js +0 -11
  265. package/dist/jison-BygvlveW.js +0 -8
  266. package/dist/json-71t8ZF9g.js +0 -6
  267. package/dist/json5-Z7F6rA6a.js +0 -6
  268. package/dist/jsonc-Dphhs4m2.js +0 -6
  269. package/dist/jsonl-D9jj92Gg.js +0 -6
  270. package/dist/jsonnet-DEQ7IUoJ.js +0 -6
  271. package/dist/jssm-j74e88UX.js +0 -6
  272. package/dist/jsx-Bkesy5tT.js +0 -6
  273. package/dist/julia-CiahampL.js +0 -16
  274. package/dist/kanagawa-dragon-CiKur4Hl.js +0 -4
  275. package/dist/kanagawa-lotus-BKu-smKu.js +0 -4
  276. package/dist/kanagawa-wave-CQwozSzG.js +0 -4
  277. package/dist/kotlin-DCgZY7Ii.js +0 -6
  278. package/dist/kusto-Cw029H-v.js +0 -6
  279. package/dist/laserwave-6a00oqik.js +0 -4
  280. package/dist/latex-LfGCYGw5.js +0 -8
  281. package/dist/lean-CYSet4vs.js +0 -6
  282. package/dist/less-DQA4v-Nm.js +0 -6
  283. package/dist/light-plus-CZuVqSLX.js +0 -4
  284. package/dist/liquid-CvufO3kO.js +0 -14
  285. package/dist/log-D2eRfqDn.js +0 -6
  286. package/dist/logo-QEAtGWZ9.js +0 -6
  287. package/dist/lua-BVfhNLDr.js +0 -8
  288. package/dist/luau-BjYGiqID.js +0 -6
  289. package/dist/make-BjuHP00g.js +0 -6
  290. package/dist/markdown-B6guhLWd.js +0 -6
  291. package/dist/marko-CHlMS8w5.js +0 -14
  292. package/dist/material-theme-D6KBX41T.js +0 -4
  293. package/dist/material-theme-darker-CkRroheE.js +0 -4
  294. package/dist/material-theme-lighter-BUBw43Yz.js +0 -4
  295. package/dist/material-theme-ocean-ClGX14Ja.js +0 -4
  296. package/dist/material-theme-palenight-C1RVm8K1.js +0 -4
  297. package/dist/matlab-BpQlIJiw.js +0 -6
  298. package/dist/mdc-4K6B6lHG.js +0 -12
  299. package/dist/mdx-DIoECIFU.js +0 -6
  300. package/dist/mermaid-BZ7WHNIe.js +0 -6
  301. package/dist/min-dark-C7ak0t6c.js +0 -4
  302. package/dist/min-light-CKFxVcPp.js +0 -4
  303. package/dist/mipsasm-DusDYkFc.js +0 -6
  304. package/dist/mojo-CY9jaezJ.js +0 -6
  305. package/dist/monokai-C1KBYcO0.js +0 -4
  306. package/dist/move-ChphFumd.js +0 -6
  307. package/dist/narrat-Dz4d7OmN.js +0 -6
  308. package/dist/nextflow-DW0Yq9a2.js +0 -6
  309. package/dist/nginx-Can2eAjw.js +0 -8
  310. package/dist/night-owl-Bm2rzalh.js +0 -4
  311. package/dist/nim-B3r2RtQZ.js +0 -20
  312. package/dist/nix-Cg5uV_xg.js +0 -6
  313. package/dist/nord-CC5OiUXg.js +0 -4
  314. package/dist/nushell-BfRnzRWn.js +0 -6
  315. package/dist/objective-c-BGg9R27G.js +0 -6
  316. package/dist/objective-cpp-CJ3y3V_5.js +0 -6
  317. package/dist/ocaml-BZLsfx_o.js +0 -6
  318. package/dist/one-dark-pro-D7-kP8fv.js +0 -4
  319. package/dist/one-light-D9sNaUtq.js +0 -4
  320. package/dist/pascal-l2bqd7Dz.js +0 -6
  321. package/dist/perl-DaMQyPwp.js +0 -16
  322. package/dist/php-BL3EfPBi.js +0 -18
  323. package/dist/plastic-CSTz3KZp.js +0 -4
  324. package/dist/plsql-oVq_K_wH.js +0 -6
  325. package/dist/po-5jaeIyVd.js +0 -6
  326. package/dist/poimandres-C-VADXHD.js +0 -4
  327. package/dist/polar-wcLp8ci7.js +0 -6
  328. package/dist/postcss-BZ3MNRIJ.js +0 -6
  329. package/dist/powerquery-CgRa2XRw.js +0 -6
  330. package/dist/powershell-Diwyv8Eh.js +0 -6
  331. package/dist/prisma-COL_v1x4.js +0 -6
  332. package/dist/prolog-CuvJOxqT.js +0 -6
  333. package/dist/proto-o9HLmF90.js +0 -6
  334. package/dist/pug-HKe4Luo3.js +0 -12
  335. package/dist/puppet-wpGOnQp5.js +0 -6
  336. package/dist/purescript-B_1NgE2N.js +0 -6
  337. package/dist/python-xYxLFJY-.js +0 -6
  338. package/dist/qml-FlMIyjU9.js +0 -8
  339. package/dist/qmldir-BInDYbpo.js +0 -6
  340. package/dist/qss-D-h4NdUG.js +0 -6
  341. package/dist/r-F-9I-ITZ.js +0 -6
  342. package/dist/racket-BoD1TBFT.js +0 -6
  343. package/dist/raku-IaYcw19m.js +0 -6
  344. package/dist/razor-CeqqNtyB.js +0 -10
  345. package/dist/red-7y8PH7HH.js +0 -4
  346. package/dist/reg-CMUdAgIP.js +0 -6
  347. package/dist/regexp-GiFkbxS-.js +0 -6
  348. package/dist/rel-BaRn3QX7.js +0 -6
  349. package/dist/riscv-B9V3SsvW.js +0 -6
  350. package/dist/rose-pine-DhT-HZE9.js +0 -4
  351. package/dist/rose-pine-dawn-DiCjL2i4.js +0 -4
  352. package/dist/rose-pine-moon-BNmGHlcn.js +0 -4
  353. package/dist/rst-C3D6-dqL.js +0 -22
  354. package/dist/ruby-DcPLUUK3.js +0 -30
  355. package/dist/rust-Pc7DCsZD.js +0 -6
  356. package/dist/sas-tDSYjXcL.js +0 -8
  357. package/dist/sass-iCyS6eP9.js +0 -6
  358. package/dist/scala-Cly-fENF.js +0 -6
  359. package/dist/scheme-Zi24oEYu.js +0 -6
  360. package/dist/scss-DhHc4lxB.js +0 -8
  361. package/dist/sdbl-BBamrXFL.js +0 -6
  362. package/dist/shaderlab-CvqEIoL0.js +0 -8
  363. package/dist/shellscript-Dn0-btNd.js +0 -6
  364. package/dist/shellsession-8OLo3sB6.js +0 -8
  365. package/dist/slack-dark-i7wN4OET.js +0 -4
  366. package/dist/slack-ochin-ndHf0LoP.js +0 -4
  367. package/dist/smalltalk-Cns31tKw.js +0 -6
  368. package/dist/snazzy-light-BlSJXAu4.js +0 -4
  369. package/dist/solarized-dark-UTmkh7lw.js +0 -4
  370. package/dist/solarized-light-BheCkDPT.js +0 -4
  371. package/dist/solidity-BG_k8fA_.js +0 -6
  372. package/dist/soy-EwHMOVPj.js +0 -8
  373. package/dist/sparql-DhuelBut.js +0 -8
  374. package/dist/splunk-CTqDjQdo.js +0 -6
  375. package/dist/sql-DCkt643-.js +0 -6
  376. package/dist/ssh-config-DHHGll-v.js +0 -6
  377. package/dist/stata-Dok6hMw0.js +0 -8
  378. package/dist/stylus-n_9f0QQ5.js +0 -6
  379. package/dist/svelte-01qw6Rxm.js +0 -14
  380. package/dist/swift-BAWqNR8A.js +0 -6
  381. package/dist/synthwave-84-NU3C_KFZ.js +0 -4
  382. package/dist/system-verilog-Cui-g-ut.js +0 -6
  383. package/dist/systemd-CsKYQIQK.js +0 -6
  384. package/dist/talonscript-D2dGh8FO.js +0 -6
  385. package/dist/tasl-D3W8HMV6.js +0 -6
  386. package/dist/tcl-2y0Fuc4S.js +0 -6
  387. package/dist/templ-Hmy8U0DD.js +0 -12
  388. package/dist/terraform-BGW6Oerf.js +0 -6
  389. package/dist/tex-mHs7a43s.js +0 -8
  390. package/dist/tokyo-night-LhP3hHhi.js +0 -4
  391. package/dist/toml-CQSfOn0e.js +0 -6
  392. package/dist/ts-tags-DYZ4SGcN.js +0 -41
  393. package/dist/tsv-BtvSkaG0.js +0 -6
  394. package/dist/tsx-DiGsgWT8.js +0 -6
  395. package/dist/turtle-BJ2wmjPc.js +0 -6
  396. package/dist/twig-BmytkGQV.js +0 -18
  397. package/dist/typescript-buWNZFwO.js +0 -6
  398. package/dist/typespec-bLbdsxJL.js +0 -6
  399. package/dist/typst-Y9_SmXTs.js +0 -6
  400. package/dist/ui.es.js +0 -7
  401. package/dist/ui.umd.js +0 -8032
  402. package/dist/v-wa8Orrdd.js +0 -6
  403. package/dist/vala-DRdriFr_.js +0 -6
  404. package/dist/vb-E2_-jk4M.js +0 -6
  405. package/dist/verilog-B1iBoR5_.js +0 -6
  406. package/dist/vesper-CJsaOsSM.js +0 -4
  407. package/dist/vhdl-CRVaAhXk.js +0 -6
  408. package/dist/viml-B-zWOd7Z.js +0 -6
  409. package/dist/vitesse-black-BoGvW84i.js +0 -4
  410. package/dist/vitesse-dark-Cym-eLtO.js +0 -4
  411. package/dist/vitesse-light-CcmG315c.js +0 -4
  412. package/dist/vue-Bl1uVNsA.js +0 -31
  413. package/dist/vue-html-DHr5wjBG.js +0 -10
  414. package/dist/vyper-DWutKXpa.js +0 -6
  415. package/dist/wasm-Bv5f0gKv.js +0 -6
  416. package/dist/wasm-DQxwEHae.js +0 -7
  417. package/dist/wenyan-BMYnfus1.js +0 -6
  418. package/dist/wgsl-DnPoPGDU.js +0 -6
  419. package/dist/wikitext-CntM04PE.js +0 -6
  420. package/dist/wolfram-Ws5qPlX9.js +0 -6
  421. package/dist/xml-ChBsf5uy.js +0 -8
  422. package/dist/xsl-BefjlXrd.js +0 -8
  423. package/dist/yaml-Bbg74JKr.js +0 -6
  424. package/dist/zenscript-C0RKE4nU.js +0 -6
  425. package/dist/zig-D6SXBGNm.js +0 -6
@@ -0,0 +1,252 @@
1
+ "use client";
2
+ import { j as t } from "../../_virtual/jsx-runtime.js";
3
+ import * as n from "@radix-ui/react-menubar";
4
+ import { CheckIcon as i, CircleIcon as u, ChevronRightIcon as c } from "lucide-react";
5
+ import { cn as o } from "../../lib/utils.js";
6
+ function p({
7
+ className: e,
8
+ ...a
9
+ }) {
10
+ return /* @__PURE__ */ t.jsx(
11
+ n.Root,
12
+ {
13
+ "data-slot": "menubar",
14
+ className: o(
15
+ "bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs",
16
+ e
17
+ ),
18
+ ...a
19
+ }
20
+ );
21
+ }
22
+ function x({
23
+ ...e
24
+ }) {
25
+ return /* @__PURE__ */ t.jsx(n.Menu, { "data-slot": "menubar-menu", ...e });
26
+ }
27
+ function g({
28
+ ...e
29
+ }) {
30
+ return /* @__PURE__ */ t.jsx(n.Group, { "data-slot": "menubar-group", ...e });
31
+ }
32
+ function l({
33
+ ...e
34
+ }) {
35
+ return /* @__PURE__ */ t.jsx(n.Portal, { "data-slot": "menubar-portal", ...e });
36
+ }
37
+ function v({
38
+ ...e
39
+ }) {
40
+ return /* @__PURE__ */ t.jsx(n.RadioGroup, { "data-slot": "menubar-radio-group", ...e });
41
+ }
42
+ function h({
43
+ className: e,
44
+ ...a
45
+ }) {
46
+ return /* @__PURE__ */ t.jsx(
47
+ n.Trigger,
48
+ {
49
+ "data-slot": "menubar-trigger",
50
+ className: o(
51
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",
52
+ e
53
+ ),
54
+ ...a
55
+ }
56
+ );
57
+ }
58
+ function j({
59
+ className: e,
60
+ align: a = "start",
61
+ alignOffset: r = -4,
62
+ sideOffset: s = 8,
63
+ ...d
64
+ }) {
65
+ return /* @__PURE__ */ t.jsx(l, { children: /* @__PURE__ */ t.jsx(
66
+ n.Content,
67
+ {
68
+ "data-slot": "menubar-content",
69
+ align: a,
70
+ alignOffset: r,
71
+ sideOffset: s,
72
+ className: o(
73
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",
74
+ e
75
+ ),
76
+ ...d
77
+ }
78
+ ) });
79
+ }
80
+ function M({
81
+ className: e,
82
+ inset: a,
83
+ variant: r = "default",
84
+ ...s
85
+ }) {
86
+ return /* @__PURE__ */ t.jsx(
87
+ n.Item,
88
+ {
89
+ "data-slot": "menubar-item",
90
+ "data-inset": a,
91
+ "data-variant": r,
92
+ className: o(
93
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
94
+ e
95
+ ),
96
+ ...s
97
+ }
98
+ );
99
+ }
100
+ function z({
101
+ className: e,
102
+ children: a,
103
+ checked: r,
104
+ ...s
105
+ }) {
106
+ return /* @__PURE__ */ t.jsxs(
107
+ n.CheckboxItem,
108
+ {
109
+ "data-slot": "menubar-checkbox-item",
110
+ className: o(
111
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
112
+ e
113
+ ),
114
+ checked: r,
115
+ ...s,
116
+ children: [
117
+ /* @__PURE__ */ t.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t.jsx(n.ItemIndicator, { children: /* @__PURE__ */ t.jsx(i, { className: "size-4" }) }) }),
118
+ a
119
+ ]
120
+ }
121
+ );
122
+ }
123
+ function N({
124
+ className: e,
125
+ children: a,
126
+ ...r
127
+ }) {
128
+ return /* @__PURE__ */ t.jsxs(
129
+ n.RadioItem,
130
+ {
131
+ "data-slot": "menubar-radio-item",
132
+ className: o(
133
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
134
+ e
135
+ ),
136
+ ...r,
137
+ children: [
138
+ /* @__PURE__ */ t.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ t.jsx(n.ItemIndicator, { children: /* @__PURE__ */ t.jsx(u, { className: "size-2 fill-current" }) }) }),
139
+ a
140
+ ]
141
+ }
142
+ );
143
+ }
144
+ function I({
145
+ className: e,
146
+ inset: a,
147
+ ...r
148
+ }) {
149
+ return /* @__PURE__ */ t.jsx(
150
+ n.Label,
151
+ {
152
+ "data-slot": "menubar-label",
153
+ "data-inset": a,
154
+ className: o(
155
+ "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
156
+ e
157
+ ),
158
+ ...r
159
+ }
160
+ );
161
+ }
162
+ function y({
163
+ className: e,
164
+ ...a
165
+ }) {
166
+ return /* @__PURE__ */ t.jsx(
167
+ n.Separator,
168
+ {
169
+ "data-slot": "menubar-separator",
170
+ className: o("bg-border -mx-1 my-1 h-px", e),
171
+ ...a
172
+ }
173
+ );
174
+ }
175
+ function k({
176
+ className: e,
177
+ ...a
178
+ }) {
179
+ return /* @__PURE__ */ t.jsx(
180
+ "span",
181
+ {
182
+ "data-slot": "menubar-shortcut",
183
+ className: o(
184
+ "text-muted-foreground ml-auto text-xs tracking-widest",
185
+ e
186
+ ),
187
+ ...a
188
+ }
189
+ );
190
+ }
191
+ function _({
192
+ ...e
193
+ }) {
194
+ return /* @__PURE__ */ t.jsx(n.Sub, { "data-slot": "menubar-sub", ...e });
195
+ }
196
+ function w({
197
+ className: e,
198
+ inset: a,
199
+ children: r,
200
+ ...s
201
+ }) {
202
+ return /* @__PURE__ */ t.jsxs(
203
+ n.SubTrigger,
204
+ {
205
+ "data-slot": "menubar-sub-trigger",
206
+ "data-inset": a,
207
+ className: o(
208
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",
209
+ e
210
+ ),
211
+ ...s,
212
+ children: [
213
+ r,
214
+ /* @__PURE__ */ t.jsx(c, { className: "ml-auto h-4 w-4" })
215
+ ]
216
+ }
217
+ );
218
+ }
219
+ function C({
220
+ className: e,
221
+ ...a
222
+ }) {
223
+ return /* @__PURE__ */ t.jsx(
224
+ n.SubContent,
225
+ {
226
+ "data-slot": "menubar-sub-content",
227
+ className: o(
228
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
229
+ e
230
+ ),
231
+ ...a
232
+ }
233
+ );
234
+ }
235
+ export {
236
+ p as Menubar,
237
+ z as MenubarCheckboxItem,
238
+ j as MenubarContent,
239
+ g as MenubarGroup,
240
+ M as MenubarItem,
241
+ I as MenubarLabel,
242
+ x as MenubarMenu,
243
+ l as MenubarPortal,
244
+ v as MenubarRadioGroup,
245
+ N as MenubarRadioItem,
246
+ y as MenubarSeparator,
247
+ k as MenubarShortcut,
248
+ _ as MenubarSub,
249
+ C as MenubarSubContent,
250
+ w as MenubarSubTrigger,
251
+ h as MenubarTrigger
252
+ };
@@ -0,0 +1,336 @@
1
+ "use client";
2
+ import { j as e } from "../../_virtual/jsx-runtime.js";
3
+ import { useState as w, useEffect as S, useRef as X } from "react";
4
+ import { AnimatePresence as y, motion as b } from "framer-motion";
5
+ import { Paperclip as R, Mic as Y, Square as Z, ArrowUp as _, Info as $, Loader2 as K } from "lucide-react";
6
+ import { omit as T } from "remeda";
7
+ import { cn as C } from "../../lib/utils.js";
8
+ import { useAudioRecording as G } from "../../hooks/use-audio-recording.js";
9
+ import { useAutosizeTextArea as ee } from "../../hooks/use-autosize-textarea.js";
10
+ import { AudioVisualizer as te } from "./audio-visualizer.js";
11
+ import { Button as g } from "./button.js";
12
+ import { FilePreview as ie } from "./file-preview.js";
13
+ import { InterruptPrompt as re } from "./interrupt-prompt.js";
14
+ function ae({
15
+ placeholder: a = "Ask AI...",
16
+ className: l,
17
+ onKeyDown: s,
18
+ submitOnEnter: o = !0,
19
+ stop: u,
20
+ isGenerating: d,
21
+ enableInterrupt: j = !0,
22
+ transcribeAudio: I,
23
+ ...i
24
+ }) {
25
+ var D;
26
+ const [F, p] = w(!1), [v, f] = w(!1), {
27
+ isListening: P,
28
+ isSpeechSupported: L,
29
+ isRecording: A,
30
+ isTranscribing: M,
31
+ audioStream: O,
32
+ toggleListening: E,
33
+ stopRecording: N
34
+ } = G({
35
+ transcribeAudio: I,
36
+ onTranscriptionComplete: (t) => {
37
+ var r;
38
+ (r = i.onChange) == null || r.call(i, { target: { value: t } });
39
+ }
40
+ });
41
+ S(() => {
42
+ d || f(!1);
43
+ }, [d]);
44
+ const x = (t) => {
45
+ i.allowAttachments && i.setFiles((r) => r === null ? t : t === null ? r : [...r, ...t]);
46
+ }, q = (t) => {
47
+ i.allowAttachments === !0 && (t.preventDefault(), p(!0));
48
+ }, H = (t) => {
49
+ i.allowAttachments === !0 && (t.preventDefault(), p(!1));
50
+ }, U = (t) => {
51
+ if (p(!1), i.allowAttachments !== !0) return;
52
+ t.preventDefault();
53
+ const r = t.dataTransfer;
54
+ r.files.length && x(Array.from(r.files));
55
+ }, V = (t) => {
56
+ var z;
57
+ const r = (z = t.clipboardData) == null ? void 0 : z.items;
58
+ if (!r) return;
59
+ const n = t.clipboardData.getData("text");
60
+ if (n && n.length > 500 && i.allowAttachments) {
61
+ t.preventDefault();
62
+ const m = new Blob([n], { type: "text/plain" }), Q = new File([m], "Pasted text", {
63
+ type: "text/plain",
64
+ lastModified: Date.now()
65
+ });
66
+ x([Q]);
67
+ return;
68
+ }
69
+ const c = Array.from(r).map((m) => m.getAsFile()).filter((m) => m !== null);
70
+ i.allowAttachments && c.length > 0 && x(c);
71
+ }, B = (t) => {
72
+ var r, n, c;
73
+ if (o && t.key === "Enter" && !t.shiftKey) {
74
+ if (t.preventDefault(), d && u && j) {
75
+ if (v)
76
+ u(), f(!1), (r = t.currentTarget.form) == null || r.requestSubmit();
77
+ else if (i.value || i.allowAttachments && ((n = i.files) != null && n.length)) {
78
+ f(!0);
79
+ return;
80
+ }
81
+ }
82
+ (c = t.currentTarget.form) == null || c.requestSubmit();
83
+ }
84
+ s == null || s(t);
85
+ }, h = X(null), [W, J] = w(0);
86
+ S(() => {
87
+ h.current && J(h.current.offsetHeight);
88
+ }, [i.value]);
89
+ const k = i.allowAttachments && i.files && i.files.length > 0;
90
+ return ee({
91
+ ref: h,
92
+ maxHeight: 240,
93
+ borderWidth: 1,
94
+ dependencies: [i.value, k]
95
+ }), /* @__PURE__ */ e.jsxs(
96
+ "div",
97
+ {
98
+ className: "relative flex w-full",
99
+ onDragOver: q,
100
+ onDragLeave: H,
101
+ onDrop: U,
102
+ children: [
103
+ j && /* @__PURE__ */ e.jsx(
104
+ re,
105
+ {
106
+ isOpen: v,
107
+ close: () => f(!1)
108
+ }
109
+ ),
110
+ /* @__PURE__ */ e.jsx(
111
+ oe,
112
+ {
113
+ isVisible: A,
114
+ onStopRecording: N
115
+ }
116
+ ),
117
+ /* @__PURE__ */ e.jsx("div", { className: "relative flex w-full items-center space-x-2", children: /* @__PURE__ */ e.jsxs("div", { className: "relative flex-1", children: [
118
+ /* @__PURE__ */ e.jsx(
119
+ "textarea",
120
+ {
121
+ "aria-label": "Write your prompt here",
122
+ placeholder: a,
123
+ ref: h,
124
+ onPaste: V,
125
+ onKeyDown: B,
126
+ className: C(
127
+ "z-10 w-full grow resize-none rounded-xl border border-input bg-background p-3 pr-24 text-sm ring-offset-background transition-[border] placeholder:text-muted-foreground focus-visible:border-primary focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
128
+ k && "pb-16",
129
+ l
130
+ ),
131
+ ...i.allowAttachments ? T(i, ["allowAttachments", "files", "setFiles"]) : T(i, ["allowAttachments"])
132
+ }
133
+ ),
134
+ i.allowAttachments && /* @__PURE__ */ e.jsx("div", { className: "absolute inset-x-3 bottom-2 z-20 overflow-x-scroll py-3 [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden", children: /* @__PURE__ */ e.jsx("div", { className: "flex space-x-3", children: /* @__PURE__ */ e.jsx(y, { mode: "popLayout", children: (D = i.files) == null ? void 0 : D.map((t) => /* @__PURE__ */ e.jsx(
135
+ ie,
136
+ {
137
+ file: t,
138
+ onRemove: () => {
139
+ i.setFiles((r) => {
140
+ if (!r) return null;
141
+ const n = Array.from(r).filter(
142
+ (c) => c !== t
143
+ );
144
+ return n.length === 0 ? null : n;
145
+ });
146
+ }
147
+ },
148
+ t.name + String(t.lastModified)
149
+ )) }) }) })
150
+ ] }) }),
151
+ /* @__PURE__ */ e.jsxs("div", { className: "absolute right-3 top-3 z-20 flex gap-2", children: [
152
+ i.allowAttachments && /* @__PURE__ */ e.jsx(
153
+ g,
154
+ {
155
+ type: "button",
156
+ size: "icon",
157
+ variant: "outline",
158
+ className: "h-8 w-8",
159
+ "aria-label": "Attach a file",
160
+ onClick: async () => {
161
+ const t = await le();
162
+ x(t);
163
+ },
164
+ children: /* @__PURE__ */ e.jsx(R, { className: "h-4 w-4" })
165
+ }
166
+ ),
167
+ L && /* @__PURE__ */ e.jsx(
168
+ g,
169
+ {
170
+ type: "button",
171
+ variant: "outline",
172
+ className: C("h-8 w-8", P && "text-primary"),
173
+ "aria-label": "Voice input",
174
+ size: "icon",
175
+ onClick: E,
176
+ children: /* @__PURE__ */ e.jsx(Y, { className: "h-4 w-4" })
177
+ }
178
+ ),
179
+ d && u ? /* @__PURE__ */ e.jsx(
180
+ g,
181
+ {
182
+ type: "button",
183
+ size: "icon",
184
+ className: "h-8 w-8",
185
+ "aria-label": "Stop generating",
186
+ onClick: u,
187
+ children: /* @__PURE__ */ e.jsx(Z, { className: "h-3 w-3 animate-pulse", fill: "currentColor" })
188
+ }
189
+ ) : /* @__PURE__ */ e.jsx(
190
+ g,
191
+ {
192
+ type: "submit",
193
+ size: "icon",
194
+ className: "h-8 w-8 transition-opacity",
195
+ "aria-label": "Send message",
196
+ disabled: i.value === "" || d,
197
+ children: /* @__PURE__ */ e.jsx(_, { className: "h-5 w-5" })
198
+ }
199
+ )
200
+ ] }),
201
+ i.allowAttachments && /* @__PURE__ */ e.jsx(ne, { isDragging: F }),
202
+ /* @__PURE__ */ e.jsx(
203
+ ce,
204
+ {
205
+ isRecording: A,
206
+ isTranscribing: M,
207
+ audioStream: O,
208
+ textAreaHeight: W,
209
+ onStopRecording: N
210
+ }
211
+ )
212
+ ]
213
+ }
214
+ );
215
+ }
216
+ ae.displayName = "MessageInput";
217
+ function ne({ isDragging: a }) {
218
+ return /* @__PURE__ */ e.jsx(y, { children: a && /* @__PURE__ */ e.jsxs(
219
+ b.div,
220
+ {
221
+ className: "pointer-events-none absolute inset-0 z-20 flex items-center justify-center space-x-2 rounded-xl border border-dashed border-border bg-background text-sm text-muted-foreground",
222
+ initial: { opacity: 0 },
223
+ animate: { opacity: 1 },
224
+ exit: { opacity: 0 },
225
+ transition: { duration: 0.2 },
226
+ "aria-hidden": !0,
227
+ children: [
228
+ /* @__PURE__ */ e.jsx(R, { className: "h-4 w-4" }),
229
+ /* @__PURE__ */ e.jsx("span", { children: "Drop your files here to attach them." })
230
+ ]
231
+ }
232
+ ) });
233
+ }
234
+ function le() {
235
+ if (typeof document > "u")
236
+ return Promise.resolve(null);
237
+ const a = document.createElement("input");
238
+ return a.type = "file", a.multiple = !0, a.accept = "*/*", a.click(), new Promise((l) => {
239
+ a.onchange = (s) => {
240
+ const o = s.currentTarget.files;
241
+ if (o) {
242
+ l(Array.from(o));
243
+ return;
244
+ }
245
+ l(null);
246
+ };
247
+ });
248
+ }
249
+ function se() {
250
+ return /* @__PURE__ */ e.jsxs(
251
+ b.div,
252
+ {
253
+ className: "flex h-full w-full flex-col items-center justify-center rounded-xl bg-background/80 backdrop-blur-sm",
254
+ initial: { opacity: 0 },
255
+ animate: { opacity: 1 },
256
+ exit: { opacity: 0 },
257
+ transition: { duration: 0.2 },
258
+ children: [
259
+ /* @__PURE__ */ e.jsxs("div", { className: "relative", children: [
260
+ /* @__PURE__ */ e.jsx(K, { className: "h-8 w-8 animate-spin text-primary" }),
261
+ /* @__PURE__ */ e.jsx(
262
+ b.div,
263
+ {
264
+ className: "absolute inset-0 h-8 w-8 animate-pulse rounded-full bg-primary/20",
265
+ initial: { scale: 0.8, opacity: 0 },
266
+ animate: { scale: 1.2, opacity: 1 },
267
+ transition: {
268
+ duration: 1,
269
+ repeat: 1 / 0,
270
+ repeatType: "reverse",
271
+ ease: "easeInOut"
272
+ }
273
+ }
274
+ )
275
+ ] }),
276
+ /* @__PURE__ */ e.jsx("p", { className: "mt-4 text-sm font-medium text-muted-foreground", children: "Transcribing audio..." })
277
+ ]
278
+ }
279
+ );
280
+ }
281
+ function oe({ isVisible: a, onStopRecording: l }) {
282
+ return /* @__PURE__ */ e.jsx(y, { children: a && /* @__PURE__ */ e.jsx(
283
+ b.div,
284
+ {
285
+ initial: { top: 0, filter: "blur(5px)" },
286
+ animate: {
287
+ top: -40,
288
+ filter: "blur(0px)",
289
+ transition: {
290
+ type: "spring",
291
+ filter: { type: "tween" }
292
+ }
293
+ },
294
+ exit: { top: 0, filter: "blur(5px)" },
295
+ className: "absolute left-1/2 flex -translate-x-1/2 cursor-pointer overflow-hidden whitespace-nowrap rounded-full border bg-background py-1 text-center text-sm text-muted-foreground",
296
+ onClick: l,
297
+ children: /* @__PURE__ */ e.jsxs("span", { className: "mx-2.5 flex items-center", children: [
298
+ /* @__PURE__ */ e.jsx($, { className: "mr-2 h-3 w-3" }),
299
+ "Click to finish recording"
300
+ ] })
301
+ }
302
+ ) });
303
+ }
304
+ function ce({
305
+ isRecording: a,
306
+ isTranscribing: l,
307
+ audioStream: s,
308
+ textAreaHeight: o,
309
+ onStopRecording: u
310
+ }) {
311
+ return a ? /* @__PURE__ */ e.jsx(
312
+ "div",
313
+ {
314
+ className: "absolute inset-[1px] z-50 overflow-hidden rounded-xl",
315
+ style: { height: o - 2 },
316
+ children: /* @__PURE__ */ e.jsx(
317
+ te,
318
+ {
319
+ stream: s,
320
+ isRecording: a,
321
+ onClick: u
322
+ }
323
+ )
324
+ }
325
+ ) : l ? /* @__PURE__ */ e.jsx(
326
+ "div",
327
+ {
328
+ className: "absolute inset-[1px] z-50 overflow-hidden rounded-xl",
329
+ style: { height: o - 2 },
330
+ children: /* @__PURE__ */ e.jsx(se, {})
331
+ }
332
+ ) : null;
333
+ }
334
+ export {
335
+ ae as MessageInput
336
+ };
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { j as i } from "../../_virtual/jsx-runtime.js";
3
+ import { ChatMessage as p } from "./chat-message.js";
4
+ import { TypingIndicator as c } from "./typing-indicator.js";
5
+ function u({
6
+ messages: r,
7
+ showTimeStamps: e = !0,
8
+ isTyping: s = !1,
9
+ messageOptions: t
10
+ }) {
11
+ return /* @__PURE__ */ i.jsxs("div", { className: "space-y-4 overflow-visible", children: [
12
+ r.map((o, n) => {
13
+ const a = typeof t == "function" ? t(o) : t;
14
+ return /* @__PURE__ */ i.jsx(
15
+ p,
16
+ {
17
+ showTimeStamp: e,
18
+ ...o,
19
+ ...a
20
+ },
21
+ n
22
+ );
23
+ }),
24
+ s && /* @__PURE__ */ i.jsx(c, {})
25
+ ] });
26
+ }
27
+ export {
28
+ u as MessageList
29
+ };