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.
- package/dist/_virtual/jsx-runtime.js +6 -0
- package/dist/_virtual/jsx-runtime2.js +5 -0
- package/dist/_virtual/react-jsx-runtime.development.js +5 -0
- package/dist/_virtual/react-jsx-runtime.production.js +5 -0
- package/dist/components/ui/accordion.js +65 -0
- package/dist/components/ui/alert-dialog.js +147 -0
- package/dist/components/ui/alert.js +67 -0
- package/dist/components/ui/aspect-ratio.js +11 -0
- package/dist/components/ui/async-select.js +172 -0
- package/dist/components/ui/audio-visualizer.js +94 -0
- package/dist/components/ui/avatar.js +54 -0
- package/dist/components/ui/badge.js +41 -0
- package/dist/components/ui/button.js +66 -0
- package/dist/components/ui/calendar.js +62 -0
- package/dist/components/ui/card.js +77 -0
- package/dist/components/ui/carousel.js +178 -0
- package/dist/components/ui/chart.js +216 -0
- package/dist/components/ui/chat-message.js +250 -0
- package/dist/components/ui/chat.js +226 -0
- package/dist/components/ui/checkbox.js +32 -0
- package/dist/components/ui/collapsible.js +35 -0
- package/dist/components/ui/command.js +162 -0
- package/dist/components/ui/context-menu.js +224 -0
- package/dist/components/ui/copy-button.js +45 -0
- package/dist/components/ui/date-picker.js +59 -0
- package/dist/components/ui/dialog.js +123 -0
- package/dist/components/ui/drawer.js +120 -0
- package/dist/components/ui/file-preview.js +120 -0
- package/dist/components/ui/form.js +102 -0
- package/dist/components/ui/hover-card.js +39 -0
- package/dist/components/ui/icon.js +35 -0
- package/dist/components/ui/input-otp.js +62 -0
- package/dist/components/ui/input-selector.js +119 -0
- package/dist/components/ui/input.js +70 -0
- package/dist/components/ui/interrupt-prompt.js +38 -0
- package/dist/components/ui/label.js +23 -0
- package/dist/components/ui/markdown-renderer.js +126 -0
- package/dist/components/ui/menubar.js +252 -0
- package/dist/components/ui/message-input.js +336 -0
- package/dist/components/ui/message-list.js +29 -0
- package/dist/components/ui/multiple-selector.js +350 -0
- package/dist/components/ui/navigation-menu.js +171 -0
- package/dist/components/ui/pagination.js +119 -0
- package/dist/components/ui/popover.js +39 -0
- package/dist/components/ui/progress.js +32 -0
- package/dist/components/ui/prompt-suggestions.js +23 -0
- package/dist/components/ui/radio-group.js +46 -0
- package/dist/components/ui/resizable.js +49 -0
- package/dist/components/ui/scroll-area.js +61 -0
- package/dist/components/ui/select.js +189 -0
- package/dist/components/ui/separator.js +27 -0
- package/dist/components/ui/sheet.js +121 -0
- package/dist/components/ui/sidebar.js +599 -0
- package/dist/components/ui/skeleton.js +16 -0
- package/dist/components/ui/sonner.js +23 -0
- package/dist/components/ui/switch.js +32 -0
- package/dist/components/ui/table.js +115 -0
- package/dist/components/ui/tabs.js +68 -0
- package/dist/components/ui/textarea.js +19 -0
- package/dist/components/ui/toggle-group.js +63 -0
- package/dist/components/ui/toggle.js +44 -0
- package/dist/components/ui/tooltip.js +56 -0
- package/dist/components/ui/typing-indicator.js +13 -0
- package/dist/hooks/use-audio-recording.js +55 -0
- package/dist/hooks/use-auto-scroll.js +37 -0
- package/dist/hooks/use-autosize-textarea.js +22 -0
- package/dist/hooks/use-copy-to-clipboard.js +25 -0
- package/dist/hooks/use-debounce.js +16 -0
- package/dist/hooks/use-mobile.js +17 -0
- package/dist/index.d.ts +1088 -0
- package/dist/index.js +299 -0
- package/dist/lib/audio-utils.js +30 -0
- package/dist/lib/utils.js +9 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +248 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +36 -0
- package/dist/node_modules/react/jsx-runtime.js +11 -0
- package/dist/styles.css +1 -1
- package/package.json +15 -38
- package/dist/abap-BmBUA35e.js +0 -6
- package/dist/actionscript-3-zFUbzQa9.js +0 -6
- package/dist/ada-CBvPkFpZ.js +0 -6
- package/dist/andromeeda-uXNdzNpk.js +0 -4
- package/dist/angular-html-0fTdLuKf.js +0 -32
- package/dist/angular-ts-wkniW60G.js +0 -21
- package/dist/apache-CVNlsSDc.js +0 -6
- package/dist/apex-DFk3KRB1.js +0 -6
- package/dist/apl-TLDHFJX6.js +0 -16
- package/dist/applescript-CYMR_y0g.js +0 -6
- package/dist/ara-4QmU5e04.js +0 -6
- package/dist/asciidoc-v_1bjgUg.js +0 -6
- package/dist/asm-RC0Yh-NZ.js +0 -6
- package/dist/astro-Uf8_VxKJ.js +0 -16
- package/dist/aurora-x-BwoVEUWZ.js +0 -4
- package/dist/awk-gPH8MVMW.js +0 -6
- package/dist/ayu-dark-CxPZkpb2.js +0 -4
- package/dist/ballerina-kvLnRU_e.js +0 -6
- package/dist/bat-BHYy44sT.js +0 -6
- package/dist/beancount-D-MADTs_.js +0 -6
- package/dist/berry-Ci9U0o4h.js +0 -6
- package/dist/bibtex-CX618D15.js +0 -6
- package/dist/bicep-iuYiPopT.js +0 -6
- package/dist/blade-BtR00Gx0.js +0 -18
- package/dist/bsl-BIXPNqL4.js +0 -8
- package/dist/c-DASdrs7p.js +0 -6
- package/dist/cadence-BDALQi26.js +0 -6
- package/dist/cairo-tXZKA2PT.js +0 -8
- package/dist/catppuccin-frappe-BrTOiad2.js +0 -4
- package/dist/catppuccin-latte-D-dc_R4m.js +0 -4
- package/dist/catppuccin-macchiato-DN4jOp0G.js +0 -4
- package/dist/catppuccin-mocha-B8yCE3-3.js +0 -4
- package/dist/clarity-CNgV2Ths.js +0 -6
- package/dist/clojure-CsKKFGwv.js +0 -6
- package/dist/cmake-Dr-A3iJx.js +0 -6
- package/dist/cobol-DMssKNmC.js +0 -10
- package/dist/codeowners-Bt9yU6NX.js +0 -6
- package/dist/codeql-DBNTqJi1.js +0 -6
- package/dist/coffee-D_GzM8k1.js +0 -8
- package/dist/common-lisp-r7ZEOG7T.js +0 -6
- package/dist/components/atoms/index.d.ts +0 -20
- package/dist/components/index.d.ts +0 -3
- package/dist/components/molecules/index.d.ts +0 -29
- package/dist/components/organisms/index.d.ts +0 -14
- package/dist/components/ui/accordion.d.ts +0 -7
- package/dist/components/ui/alert-dialog.d.ts +0 -14
- package/dist/components/ui/alert.d.ts +0 -9
- package/dist/components/ui/aspect-ratio.d.ts +0 -3
- package/dist/components/ui/async-select.d.ts +0 -54
- package/dist/components/ui/audio-visualizer.d.ts +0 -7
- package/dist/components/ui/avatar.d.ts +0 -6
- package/dist/components/ui/badge.d.ts +0 -9
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/calendar.d.ts +0 -4
- package/dist/components/ui/card.d.ts +0 -9
- package/dist/components/ui/carousel.d.ts +0 -19
- package/dist/components/ui/chart.d.ts +0 -40
- package/dist/components/ui/chat-message.d.ts +0 -62
- package/dist/components/ui/chat.d.ts +0 -53
- package/dist/components/ui/checkbox.d.ts +0 -4
- package/dist/components/ui/collapsible.d.ts +0 -5
- package/dist/components/ui/command.d.ts +0 -16
- package/dist/components/ui/context-menu.d.ts +0 -25
- package/dist/components/ui/copy-button.d.ts +0 -6
- package/dist/components/ui/date-picker.d.ts +0 -11
- package/dist/components/ui/dialog.d.ts +0 -13
- package/dist/components/ui/drawer.d.ts +0 -13
- package/dist/components/ui/file-preview.d.ts +0 -7
- package/dist/components/ui/form.d.ts +0 -24
- package/dist/components/ui/hover-card.d.ts +0 -6
- package/dist/components/ui/icon.d.ts +0 -33
- package/dist/components/ui/input-otp.d.ts +0 -11
- package/dist/components/ui/input-selector.d.ts +0 -14
- package/dist/components/ui/input.d.ts +0 -14
- package/dist/components/ui/interrupt-prompt.d.ts +0 -6
- package/dist/components/ui/label.d.ts +0 -4
- package/dist/components/ui/markdown-renderer.d.ts +0 -5
- package/dist/components/ui/menubar.d.ts +0 -26
- package/dist/components/ui/message-input.d.ts +0 -23
- package/dist/components/ui/message-list.d.ts +0 -10
- package/dist/components/ui/multiple-selector.d.ts +0 -75
- package/dist/components/ui/navigation-menu.d.ts +0 -14
- package/dist/components/ui/pagination.d.ts +0 -13
- package/dist/components/ui/popover.d.ts +0 -7
- package/dist/components/ui/progress.d.ts +0 -4
- package/dist/components/ui/prompt-suggestions.d.ts +0 -10
- package/dist/components/ui/radio-group.d.ts +0 -5
- package/dist/components/ui/resizable.d.ts +0 -8
- package/dist/components/ui/scroll-area.d.ts +0 -5
- package/dist/components/ui/select.d.ts +0 -21
- package/dist/components/ui/separator.d.ts +0 -4
- package/dist/components/ui/sheet.d.ts +0 -13
- package/dist/components/ui/sidebar.d.ts +0 -69
- package/dist/components/ui/skeleton.d.ts +0 -2
- package/dist/components/ui/sonner.d.ts +0 -3
- package/dist/components/ui/switch.d.ts +0 -4
- package/dist/components/ui/table.d.ts +0 -10
- package/dist/components/ui/tabs.d.ts +0 -7
- package/dist/components/ui/textarea.d.ts +0 -3
- package/dist/components/ui/toggle-group.d.ts +0 -7
- package/dist/components/ui/toggle.d.ts +0 -9
- package/dist/components/ui/tooltip.d.ts +0 -7
- package/dist/components/ui/typing-indicator.d.ts +0 -1
- package/dist/coq-CB6Pv_W9.js +0 -6
- package/dist/cpp-CJF2i3ah.js +0 -18
- package/dist/crystal-BKWnaU3g.js +0 -18
- package/dist/csharp-CYWRhZ2R.js +0 -6
- package/dist/css-D1aVdRIU.js +0 -6
- package/dist/csv-DvCncUGQ.js +0 -6
- package/dist/cue-BXMrmvay.js +0 -6
- package/dist/cypher-DTm5zNR1.js +0 -6
- package/dist/d-D6ZXmn3l.js +0 -6
- package/dist/dark-plus-pUHDTVV0.js +0 -4
- package/dist/dart-Dz59Is3F.js +0 -6
- package/dist/dax-DTVGzydb.js +0 -6
- package/dist/desktop-Db9vb-dl.js +0 -6
- package/dist/diff-XmNrvgM1.js +0 -6
- package/dist/docker-DWH2onkn.js +0 -6
- package/dist/dotenv-4337wvzu.js +0 -6
- package/dist/dracula-BtZx2Kac.js +0 -4
- package/dist/dracula-soft-BKa-aqBv.js +0 -4
- package/dist/dream-maker-CvvfrJSx.js +0 -6
- package/dist/edge-CgxR-qhM.js +0 -12
- package/dist/elixir-DZkeSPwW.js +0 -8
- package/dist/elm-BKuV1HE1.js +0 -8
- package/dist/emacs-lisp-BAefI874.js +0 -6
- package/dist/erb-BLwkpXUJ.js +0 -10
- package/dist/erlang-CmIiwF3I.js +0 -6
- package/dist/everforest-dark-DMCBqXCK.js +0 -4
- package/dist/everforest-light-BbXl82Em.js +0 -4
- package/dist/fennel-DNqkz9pE.js +0 -6
- package/dist/fish-DIm72t2T.js +0 -6
- package/dist/fluent-BapTxJsC.js +0 -6
- package/dist/fortran-fixed-form-s9Hnb3av.js +0 -8
- package/dist/fortran-free-form-CNDsBFUj.js +0 -6
- package/dist/fsharp-Cv0x43wb.js +0 -8
- package/dist/gdresource-CMcKXvgJ.js +0 -10
- package/dist/gdscript-D7aheHm-.js +0 -6
- package/dist/gdshader-BGJEsM2Z.js +0 -6
- package/dist/genie-C9gPjc6J.js +0 -6
- package/dist/gherkin-bka1Exbx.js +0 -6
- package/dist/git-commit-BspYIY3P.js +0 -8
- package/dist/git-rebase--zLBTjUa.js +0 -8
- package/dist/github-dark-DenFmJkN.js +0 -4
- package/dist/github-dark-default-BJPUVz4H.js +0 -4
- package/dist/github-dark-dimmed-DUshB20C.js +0 -4
- package/dist/github-dark-high-contrast-D3aGCnF8.js +0 -4
- package/dist/github-light-JYsPkUQd.js +0 -4
- package/dist/github-light-default-D99KPAby.js +0 -4
- package/dist/github-light-high-contrast-BbmZE-Mp.js +0 -4
- package/dist/gleam-B4k9YFGD.js +0 -6
- package/dist/glimmer-js-DhY9umHJ.js +0 -14
- package/dist/glimmer-ts-CCrHcYH5.js +0 -14
- package/dist/glsl-XLGYNq5B.js +0 -8
- package/dist/gnuplot-DnWoRZt-.js +0 -6
- package/dist/go-BErP6iv1.js +0 -6
- package/dist/graphql-DWpQF4JI.js +0 -14
- package/dist/groovy-IWs5-NIO.js +0 -6
- package/dist/hack-CQrV-ytR.js +0 -10
- package/dist/haml-CMN0hQaL.js +0 -10
- package/dist/handlebars-Cc-7fXX5.js +0 -14
- package/dist/haskell-CtlGos0K.js +0 -6
- package/dist/haxe-CZZ33vZw.js +0 -6
- package/dist/hcl-6hOg9WP4.js +0 -6
- package/dist/hjson-CgwED-oz.js +0 -6
- package/dist/hlsl-3-lv4gi7.js +0 -6
- package/dist/hooks/index.d.ts +0 -6
- package/dist/hooks/use-audio-recording.d.ts +0 -14
- package/dist/hooks/use-auto-scroll.d.ts +0 -7
- package/dist/hooks/use-autosize-textarea.d.ts +0 -8
- package/dist/hooks/use-copy-to-clipboard.d.ts +0 -9
- package/dist/hooks/use-debounce.d.ts +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -1
- package/dist/houston-BDYrDoDW.js +0 -4
- package/dist/html-B0P_v3yU.js +0 -10
- package/dist/html-derivative-D59SHfh8.js +0 -8
- package/dist/http-Dcjm_K1m.js +0 -14
- package/dist/hxml-BNKImryz.js +0 -8
- package/dist/hy-C2xHhR6I.js +0 -6
- package/dist/imba-Drd0AMDo.js +0 -8
- package/dist/index-B2xHpeqn.js +0 -71567
- package/dist/index-CIiBzRi5.js +0 -6376
- package/dist/ini-BUcvsX-U.js +0 -6
- package/dist/java-B7odJ7Ap.js +0 -6
- package/dist/javascript-fa8UlHZE.js +0 -6
- package/dist/jinja-CCSYduCH.js +0 -11
- package/dist/jison-BygvlveW.js +0 -8
- package/dist/json-71t8ZF9g.js +0 -6
- package/dist/json5-Z7F6rA6a.js +0 -6
- package/dist/jsonc-Dphhs4m2.js +0 -6
- package/dist/jsonl-D9jj92Gg.js +0 -6
- package/dist/jsonnet-DEQ7IUoJ.js +0 -6
- package/dist/jssm-j74e88UX.js +0 -6
- package/dist/jsx-Bkesy5tT.js +0 -6
- package/dist/julia-CiahampL.js +0 -16
- package/dist/kanagawa-dragon-CiKur4Hl.js +0 -4
- package/dist/kanagawa-lotus-BKu-smKu.js +0 -4
- package/dist/kanagawa-wave-CQwozSzG.js +0 -4
- package/dist/kotlin-DCgZY7Ii.js +0 -6
- package/dist/kusto-Cw029H-v.js +0 -6
- package/dist/laserwave-6a00oqik.js +0 -4
- package/dist/latex-LfGCYGw5.js +0 -8
- package/dist/lean-CYSet4vs.js +0 -6
- package/dist/less-DQA4v-Nm.js +0 -6
- package/dist/light-plus-CZuVqSLX.js +0 -4
- package/dist/liquid-CvufO3kO.js +0 -14
- package/dist/log-D2eRfqDn.js +0 -6
- package/dist/logo-QEAtGWZ9.js +0 -6
- package/dist/lua-BVfhNLDr.js +0 -8
- package/dist/luau-BjYGiqID.js +0 -6
- package/dist/make-BjuHP00g.js +0 -6
- package/dist/markdown-B6guhLWd.js +0 -6
- package/dist/marko-CHlMS8w5.js +0 -14
- package/dist/material-theme-D6KBX41T.js +0 -4
- package/dist/material-theme-darker-CkRroheE.js +0 -4
- package/dist/material-theme-lighter-BUBw43Yz.js +0 -4
- package/dist/material-theme-ocean-ClGX14Ja.js +0 -4
- package/dist/material-theme-palenight-C1RVm8K1.js +0 -4
- package/dist/matlab-BpQlIJiw.js +0 -6
- package/dist/mdc-4K6B6lHG.js +0 -12
- package/dist/mdx-DIoECIFU.js +0 -6
- package/dist/mermaid-BZ7WHNIe.js +0 -6
- package/dist/min-dark-C7ak0t6c.js +0 -4
- package/dist/min-light-CKFxVcPp.js +0 -4
- package/dist/mipsasm-DusDYkFc.js +0 -6
- package/dist/mojo-CY9jaezJ.js +0 -6
- package/dist/monokai-C1KBYcO0.js +0 -4
- package/dist/move-ChphFumd.js +0 -6
- package/dist/narrat-Dz4d7OmN.js +0 -6
- package/dist/nextflow-DW0Yq9a2.js +0 -6
- package/dist/nginx-Can2eAjw.js +0 -8
- package/dist/night-owl-Bm2rzalh.js +0 -4
- package/dist/nim-B3r2RtQZ.js +0 -20
- package/dist/nix-Cg5uV_xg.js +0 -6
- package/dist/nord-CC5OiUXg.js +0 -4
- package/dist/nushell-BfRnzRWn.js +0 -6
- package/dist/objective-c-BGg9R27G.js +0 -6
- package/dist/objective-cpp-CJ3y3V_5.js +0 -6
- package/dist/ocaml-BZLsfx_o.js +0 -6
- package/dist/one-dark-pro-D7-kP8fv.js +0 -4
- package/dist/one-light-D9sNaUtq.js +0 -4
- package/dist/pascal-l2bqd7Dz.js +0 -6
- package/dist/perl-DaMQyPwp.js +0 -16
- package/dist/php-BL3EfPBi.js +0 -18
- package/dist/plastic-CSTz3KZp.js +0 -4
- package/dist/plsql-oVq_K_wH.js +0 -6
- package/dist/po-5jaeIyVd.js +0 -6
- package/dist/poimandres-C-VADXHD.js +0 -4
- package/dist/polar-wcLp8ci7.js +0 -6
- package/dist/postcss-BZ3MNRIJ.js +0 -6
- package/dist/powerquery-CgRa2XRw.js +0 -6
- package/dist/powershell-Diwyv8Eh.js +0 -6
- package/dist/prisma-COL_v1x4.js +0 -6
- package/dist/prolog-CuvJOxqT.js +0 -6
- package/dist/proto-o9HLmF90.js +0 -6
- package/dist/pug-HKe4Luo3.js +0 -12
- package/dist/puppet-wpGOnQp5.js +0 -6
- package/dist/purescript-B_1NgE2N.js +0 -6
- package/dist/python-xYxLFJY-.js +0 -6
- package/dist/qml-FlMIyjU9.js +0 -8
- package/dist/qmldir-BInDYbpo.js +0 -6
- package/dist/qss-D-h4NdUG.js +0 -6
- package/dist/r-F-9I-ITZ.js +0 -6
- package/dist/racket-BoD1TBFT.js +0 -6
- package/dist/raku-IaYcw19m.js +0 -6
- package/dist/razor-CeqqNtyB.js +0 -10
- package/dist/red-7y8PH7HH.js +0 -4
- package/dist/reg-CMUdAgIP.js +0 -6
- package/dist/regexp-GiFkbxS-.js +0 -6
- package/dist/rel-BaRn3QX7.js +0 -6
- package/dist/riscv-B9V3SsvW.js +0 -6
- package/dist/rose-pine-DhT-HZE9.js +0 -4
- package/dist/rose-pine-dawn-DiCjL2i4.js +0 -4
- package/dist/rose-pine-moon-BNmGHlcn.js +0 -4
- package/dist/rst-C3D6-dqL.js +0 -22
- package/dist/ruby-DcPLUUK3.js +0 -30
- package/dist/rust-Pc7DCsZD.js +0 -6
- package/dist/sas-tDSYjXcL.js +0 -8
- package/dist/sass-iCyS6eP9.js +0 -6
- package/dist/scala-Cly-fENF.js +0 -6
- package/dist/scheme-Zi24oEYu.js +0 -6
- package/dist/scss-DhHc4lxB.js +0 -8
- package/dist/sdbl-BBamrXFL.js +0 -6
- package/dist/shaderlab-CvqEIoL0.js +0 -8
- package/dist/shellscript-Dn0-btNd.js +0 -6
- package/dist/shellsession-8OLo3sB6.js +0 -8
- package/dist/slack-dark-i7wN4OET.js +0 -4
- package/dist/slack-ochin-ndHf0LoP.js +0 -4
- package/dist/smalltalk-Cns31tKw.js +0 -6
- package/dist/snazzy-light-BlSJXAu4.js +0 -4
- package/dist/solarized-dark-UTmkh7lw.js +0 -4
- package/dist/solarized-light-BheCkDPT.js +0 -4
- package/dist/solidity-BG_k8fA_.js +0 -6
- package/dist/soy-EwHMOVPj.js +0 -8
- package/dist/sparql-DhuelBut.js +0 -8
- package/dist/splunk-CTqDjQdo.js +0 -6
- package/dist/sql-DCkt643-.js +0 -6
- package/dist/ssh-config-DHHGll-v.js +0 -6
- package/dist/stata-Dok6hMw0.js +0 -8
- package/dist/stylus-n_9f0QQ5.js +0 -6
- package/dist/svelte-01qw6Rxm.js +0 -14
- package/dist/swift-BAWqNR8A.js +0 -6
- package/dist/synthwave-84-NU3C_KFZ.js +0 -4
- package/dist/system-verilog-Cui-g-ut.js +0 -6
- package/dist/systemd-CsKYQIQK.js +0 -6
- package/dist/talonscript-D2dGh8FO.js +0 -6
- package/dist/tasl-D3W8HMV6.js +0 -6
- package/dist/tcl-2y0Fuc4S.js +0 -6
- package/dist/templ-Hmy8U0DD.js +0 -12
- package/dist/terraform-BGW6Oerf.js +0 -6
- package/dist/tex-mHs7a43s.js +0 -8
- package/dist/tokyo-night-LhP3hHhi.js +0 -4
- package/dist/toml-CQSfOn0e.js +0 -6
- package/dist/ts-tags-DYZ4SGcN.js +0 -41
- package/dist/tsv-BtvSkaG0.js +0 -6
- package/dist/tsx-DiGsgWT8.js +0 -6
- package/dist/turtle-BJ2wmjPc.js +0 -6
- package/dist/twig-BmytkGQV.js +0 -18
- package/dist/typescript-buWNZFwO.js +0 -6
- package/dist/typespec-bLbdsxJL.js +0 -6
- package/dist/typst-Y9_SmXTs.js +0 -6
- package/dist/ui.es.js +0 -7
- package/dist/ui.umd.js +0 -8032
- package/dist/v-wa8Orrdd.js +0 -6
- package/dist/vala-DRdriFr_.js +0 -6
- package/dist/vb-E2_-jk4M.js +0 -6
- package/dist/verilog-B1iBoR5_.js +0 -6
- package/dist/vesper-CJsaOsSM.js +0 -4
- package/dist/vhdl-CRVaAhXk.js +0 -6
- package/dist/viml-B-zWOd7Z.js +0 -6
- package/dist/vitesse-black-BoGvW84i.js +0 -4
- package/dist/vitesse-dark-Cym-eLtO.js +0 -4
- package/dist/vitesse-light-CcmG315c.js +0 -4
- package/dist/vue-Bl1uVNsA.js +0 -31
- package/dist/vue-html-DHr5wjBG.js +0 -10
- package/dist/vyper-DWutKXpa.js +0 -6
- package/dist/wasm-Bv5f0gKv.js +0 -6
- package/dist/wasm-DQxwEHae.js +0 -7
- package/dist/wenyan-BMYnfus1.js +0 -6
- package/dist/wgsl-DnPoPGDU.js +0 -6
- package/dist/wikitext-CntM04PE.js +0 -6
- package/dist/wolfram-Ws5qPlX9.js +0 -6
- package/dist/xml-ChBsf5uy.js +0 -8
- package/dist/xsl-BefjlXrd.js +0 -8
- package/dist/yaml-Bbg74JKr.js +0 -6
- package/dist/zenscript-C0RKE4nU.js +0 -6
- 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
|
+
};
|