{"_id":"@ai-widget/chatbot-ui","_rev":"9-5f4e645a7644b6b14d223213a4221854","name":"@ai-widget/chatbot-ui","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.0-beta.0":{"name":"@ai-widget/chatbot-ui","version":"0.1.0-beta.0","license":"MIT","_id":"@ai-widget/chatbot-ui@0.1.0-beta.0","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"8afcf1d5328881a9449c14390ddbaba215492d3e","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.1.0-beta.0.tgz","fileCount":9,"integrity":"sha512-kh1XiifOaltNh6NUva2pf+dxvFm6CFWWomODMFS9PysTs5oGHewyG9lmpyoKM9JLOAI2uMtVDM1JrCKmuNJtLQ==","signatures":[{"sig":"MEUCIQCrXG8mOhRt69hQkWy7aZRzV8+DBihQEjKJT3UnhfnlswIgRzKpP1BzPcoq+Olwiyv7Jn6tWodWX8UsGDU1pn1g9t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658042},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.1.0-beta.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/ec4b5b837dd28daf41c618945895ffae/ai-widget-chatbot-ui-0.1.0-beta.0.tgz","_integrity":"sha512-kh1XiifOaltNh6NUva2pf+dxvFm6CFWWomODMFS9PysTs5oGHewyG9lmpyoKM9JLOAI2uMtVDM1JrCKmuNJtLQ==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.0-beta.0","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.0-beta.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^1.7.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^1.2.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^1.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.1.0-beta.0_1766466015923_0.6247432940307973","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@ai-widget/chatbot-ui","version":"0.1.0","license":"MIT","_id":"@ai-widget/chatbot-ui@0.1.0","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"d5528c69890d635d5606c9d0c1b35c44869f60ce","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.1.0.tgz","fileCount":9,"integrity":"sha512-PfeHxv+cZ3+i+fMEFeveuDyVN3bo3xO2+XIhWx7ubuZF4D6iTief87e4P0xb2pmggBA2xAbxfr6gUzNhVNaPZw==","signatures":[{"sig":"MEYCIQDsjNDW2lmZGta/mFe52LtSfYD7Z2DU2RcNOurU7E3JLwIhAPlK816smvXeir3Z6/y1o2IWfsBlHZCCA82kFzQazMBh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674153},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/fff6718d08cbdafd091fafb443c571ce/ai-widget-chatbot-ui-0.1.0.tgz","_integrity":"sha512-PfeHxv+cZ3+i+fMEFeveuDyVN3bo3xO2+XIhWx7ubuZF4D6iTief87e4P0xb2pmggBA2xAbxfr6gUzNhVNaPZw==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.0-beta.0","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.0-beta.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^1.7.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^1.2.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^1.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.1.0_1766467817552_0.16986830482122062","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ai-widget/chatbot-ui","version":"0.2.0","license":"MIT","_id":"@ai-widget/chatbot-ui@0.2.0","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"da31c9ae079febf0ab6706550717202bb537b709","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.0.tgz","fileCount":9,"integrity":"sha512-t1VhDDLA8RECkrkMiOqo1ftWGqVsPdQEvAR4sc7uD3NFD4uWifViMaPyJjn7t8oMqC1NJ3KfxVIX5CMl3LqtbA==","signatures":[{"sig":"MEUCIFR4Hrw7yF86Qgdk2HV4iicjhJtQ9sC8cbmxkyKiK9w0AiEA6N9M0Ye0hgH66KTEawvY5zDJHiQqaSacBlazGn+fFWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720771},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/0a6bd250c73adbd1fa85739e40257502/ai-widget-chatbot-ui-0.2.0.tgz","_integrity":"sha512-t1VhDDLA8RECkrkMiOqo1ftWGqVsPdQEvAR4sc7uD3NFD4uWifViMaPyJjn7t8oMqC1NJ3KfxVIX5CMl3LqtbA==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.0-beta.0","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.0-beta.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^1.7.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^1.2.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^1.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.2.0_1766488289500_0.15757896823978457","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ai-widget/chatbot-ui","version":"0.2.1","license":"MIT","_id":"@ai-widget/chatbot-ui@0.2.1","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"c988ce55a87c1c8dccf2e718b58527c91f1adf8d","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.1.tgz","fileCount":9,"integrity":"sha512-wjwT5H9CmGcPD1kULN0phUPgzVNQA5hMhsLSRjjjdIcbkNZSa5Mlbv4mIGLt5jSH0nrHRYUYA8x00TlsY01WJQ==","signatures":[{"sig":"MEUCIAduAuQFlO1cRi33pTmJL0ZxNc5L905nt/8Yz3P/F4M3AiEAyizFiqQM2Cg8YAJCRhU+Yovx0elqG8dpmuqCjeut+2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720771},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/8ed26f11199e3e20f67d599b09648474/ai-widget-chatbot-ui-0.2.1.tgz","_integrity":"sha512-wjwT5H9CmGcPD1kULN0phUPgzVNQA5hMhsLSRjjjdIcbkNZSa5Mlbv4mIGLt5jSH0nrHRYUYA8x00TlsY01WJQ==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.0-beta.0","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.0-beta.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^1.7.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^3.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^3.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.2.1_1766492674928_0.5069271817853827","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@ai-widget/chatbot-ui","version":"0.2.2","license":"MIT","_id":"@ai-widget/chatbot-ui@0.2.2","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"ef2367d7588d22d427a7d850296c40c37efe322b","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.2.tgz","fileCount":9,"integrity":"sha512-/ineq5ssA8X6hnrQb4mficuz/vZpWAiBw7XXZRHyg26U+j8YU7aW5wfWvSAE65JvKIIdYNBZFWDl1cLHPx5PPw==","signatures":[{"sig":"MEUCIGw/JvTezk2ipOFaWgIQnCP+mPNUwX50XtyQIya4Vh5VAiEAk68aM9XIelCBnQUSDfhayyC7FeWqrftXJMusJjJ+lS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720778},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"gitHead":"de71e7848b2428cf095f2f84a81bded9f2d18110","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"workspace:*","@ai-widget/types":"workspace:*","@ai-widget/utils":"workspace:*","@ai-widget/ai-elements":"workspace:*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^2.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^3.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0 || ^2.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^3.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.2.2_1766493476288_0.17579610887025376","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@ai-widget/chatbot-ui","version":"0.2.3","license":"MIT","_id":"@ai-widget/chatbot-ui@0.2.3","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"525a622fadb4b32f493cdddd2192abbd1c5f8f6c","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.3.tgz","fileCount":9,"integrity":"sha512-mcfBUuZuyubC7xoVAGlbQ6MVR/PCt0B/4o6Zht41xqnhUk6bVYXXAUoCnc86uuLPppr9FeLBMQ7Y4isFyQcC7g==","signatures":[{"sig":"MEUCIAcVYkNoXNOY7+WnP0MpLFYZssUyay45Vcdd4oftVBv4AiEAoMOb0HWmVUbfLtQDG0jKCtR4i71H78LgtxjaNUzXdjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720767},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/a7927d943869859a79fbbb71c64145a8/ai-widget-chatbot-ui-0.2.3.tgz","_integrity":"sha512-mcfBUuZuyubC7xoVAGlbQ6MVR/PCt0B/4o6Zht41xqnhUk6bVYXXAUoCnc86uuLPppr9FeLBMQ7Y4isFyQcC7g==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.0","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^2.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^3.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0 || ^2.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^3.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.2.3_1766493681991_0.7235080754241086","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@ai-widget/chatbot-ui","version":"0.2.4","license":"MIT","_id":"@ai-widget/chatbot-ui@0.2.4","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"ac7eade846472c87b3dc54c36ef1260a2767a80e","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.4.tgz","fileCount":9,"integrity":"sha512-7VETWf3G7xc1tTt16r5y3CBltVvsvSUYBw1EVwYF2dXNFvBbP5dSBixt2EhUjslRoPC6aY3rFyrnBoRHCi3unA==","signatures":[{"sig":"MEYCIQCf3NTtvUQCgglPNYK7Ft3hksma8/4fF5wsjNTF6vMC6wIhANCizK0WqArbcjEd4mBM8fKveVdLnQaIPm86ohKYOrQ3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720767},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/9063c3acf581f8ba564904e8f1e8b13f/ai-widget-chatbot-ui-0.2.4.tgz","_integrity":"sha512-7VETWf3G7xc1tTt16r5y3CBltVvsvSUYBw1EVwYF2dXNFvBbP5dSBixt2EhUjslRoPC6aY3rFyrnBoRHCi3unA==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.1","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^2.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^3.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0 || ^2.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":"^0.460.0","@ai-sdk/react":"^3.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.2.4_1766493750059_0.6394426679593219","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@ai-widget/chatbot-ui","version":"0.2.5","license":"MIT","_id":"@ai-widget/chatbot-ui@0.2.5","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"dist":{"shasum":"2458d46d1e40dfe8abbfef8cab3394f8e77cf858","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.5.tgz","fileCount":9,"integrity":"sha512-gobJGVJ1U7W4OxWe7uMEv1zW4HKIBtBEbO4rvUQkbDTcRd3T2uxMxcmLH6dSkIuuA0vq1sL096cOz7gNj3hW3w==","signatures":[{"sig":"MEQCIFNf7KGPLLXN1Lr5zHm1ZZVeW2foAUn0c3qhCGdWF0iTAiBd/PUhdOFELRURSGwiiwmvKT2US0qhdT0dUosnkTEcZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":720768},"main":"./dist/index.cjs","type":"module","_from":"file:ai-widget-chatbot-ui-0.2.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/7c35bc06b0cc9187dd931ce622b128e5/ai-widget-chatbot-ui-0.2.5.tgz","_integrity":"sha512-gobJGVJ1U7W4OxWe7uMEv1zW4HKIBtBEbO4rvUQkbDTcRd3T2uxMxcmLH6dSkIuuA0vq1sL096cOz7gNj3hW3w==","_npmVersion":"10.9.3","description":"Chatbot UI components for AI Widget","directories":{},"_nodeVersion":"22.19.0","dependencies":{"date-fns":"^4.1.0","@ai-widget/ui":"0.1.1","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ai-elements":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.0-beta.108","tsup":"^8.3.0","react":"^19.0.0","sonner":"^2.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@ai-sdk/react":"^3.0.0","@types/react-dom":"^19.0.0"},"peerDependencies":{"ai":"^4.0.0 || ^5.0.0 || ^6.0.0","react":"^18.0.0 || ^19.0.0","sonner":"^1.0.0 || ^2.0.0","react-dom":"^18.0.0 || ^19.0.0","lucide-react":">=0.460.0","@ai-sdk/react":"^3.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chatbot-ui_0.2.5_1766494106652_0.12429661504871836","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@ai-widget/chatbot-ui","version":"0.2.6","description":"Chatbot UI components for AI Widget","license":"MIT","type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","dependencies":{"date-fns":"^4.1.0","@ai-widget/types":"0.1.0-beta.0","@ai-widget/utils":"0.1.0-beta.0","@ai-widget/ui":"0.2.0","@ai-widget/ai-elements":"0.1.3"},"devDependencies":{"@ai-sdk/react":"^3.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","ai":"^6.0.0-beta.108","react":"^19.0.0","react-dom":"^19.0.0","sonner":"^2.0.0","tsup":"^8.3.0","typescript":"^5.7.0"},"peerDependencies":{"@ai-sdk/react":"^3.0.0","ai":"^4.0.0 || ^5.0.0 || ^6.0.0","lucide-react":">=0.460.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","sonner":"^1.0.0 || ^2.0.0"},"peerDependenciesMeta":{"lucide-react":{"optional":true}},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsup","dev":"tsup --watch","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_id":"@ai-widget/chatbot-ui@0.2.6","_integrity":"sha512-3DsbRqP1Ic/9D0NiO7YtyXs3icKmT7R5I2gT2TEti7mL/AZ3twzk1m7G4GbUDYI1OQWcJQUsuFHSOgH/czLD5g==","_resolved":"/private/var/folders/yx/44l83_7n7jbbz6d6gkmj82xc0000gn/T/748cba56bd6baba9985f8541abab5682/ai-widget-chatbot-ui-0.2.6.tgz","_from":"file:ai-widget-chatbot-ui-0.2.6.tgz","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-3DsbRqP1Ic/9D0NiO7YtyXs3icKmT7R5I2gT2TEti7mL/AZ3twzk1m7G4GbUDYI1OQWcJQUsuFHSOgH/czLD5g==","shasum":"7f9acb60917260596b680144294bcb77467b7cec","tarball":"https://registry.npmjs.org/@ai-widget/chatbot-ui/-/chatbot-ui-0.2.6.tgz","fileCount":9,"unpackedSize":720768,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCMDDa3TDSoZzP+UHkg8CWKgP9N6sk4GBOc7nl+SwdNRAIhAMmkvIuyFJYYWgjSXYTlLlGpepZV8fpjO3QzCf0XPlqT"}]},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com"},"directories":{},"maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chatbot-ui_0.2.6_1766584855733_0.2449043377664235"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-23T05:00:15.828Z","modified":"2025-12-24T14:00:56.139Z","0.1.0-beta.0":"2025-12-23T05:00:16.136Z","0.1.0":"2025-12-23T05:30:17.737Z","0.2.0":"2025-12-23T11:11:29.723Z","0.2.1":"2025-12-23T12:24:35.127Z","0.2.2":"2025-12-23T12:37:56.485Z","0.2.3":"2025-12-23T12:41:22.180Z","0.2.4":"2025-12-23T12:42:30.254Z","0.2.5":"2025-12-23T12:48:26.939Z","0.2.6":"2025-12-24T14:00:55.947Z"},"license":"MIT","description":"Chatbot UI components for AI Widget","maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"readme":"# @ai-widget/chatbot-ui\n\nChatbot UI 组件库，提供开箱即用的聊天界面组件，用于快速构建 AI 对话应用。\n\n## 安装\n\n```bash\n# npm\nnpm install @ai-widget/chatbot-ui\n\n# pnpm\npnpm add @ai-widget/chatbot-ui\n\n# yarn\nyarn add @ai-widget/chatbot-ui\n```\n\n### 对等依赖\n\n需要安装以下对等依赖：\n\n```bash\npnpm add react react-dom @ai-sdk/react ai sonner lucide-react\n```\n\n| 依赖 | 版本要求 |\n|------|---------|\n| `react` | `^18.0.0 \\|\\| ^19.0.0` |\n| `react-dom` | `^18.0.0 \\|\\| ^19.0.0` |\n| `@ai-sdk/react` | `^1.0.0` |\n| `ai` | `^4.0.0 \\|\\| ^5.0.0 \\|\\| ^6.0.0` |\n| `sonner` | `^1.0.0` |\n| `lucide-react` | `^0.460.0` (可选) |\n\n## 组件列表\n\n| 组件 | 描述 |\n|------|------|\n| `ChatLayout` | 完整聊天布局，包含侧边栏和聊天界面 |\n| `ChatInterface` | 聊天界面，包含消息列表和输入框 |\n| `ChatInput` | 聊天输入框，支持文件附件、模型选择、模式切换 |\n| `MessageList` | 消息列表组件 |\n| `ChatAppSidebar` | 聊天应用侧边栏 |\n| `NavConversations` | 会话导航列表 |\n| `ChatNavUser` | 用户信息导航 |\n| `ModeSelector` | Agent 模式选择器 |\n\n## 快速开始\n\n### 基础用法 - ChatLayout\n\n`ChatLayout` 是最常用的组件，提供完整的聊天界面布局：\n\n```tsx\nimport { ChatLayout } from '@ai-widget/chatbot-ui'\nimport type { UIMessage } from '@ai-widget/chatbot-ui'\n\nfunction ChatPage() {\n  const [messages, setMessages] = useState<UIMessage[]>([])\n\n  const handleSubmit = (message: { text: string; files: File[] }) => {\n    // 处理用户消息\n    console.log('User message:', message.text)\n  }\n\n  return (\n    <ChatLayout\n      sidebarProps={{\n        userInfo: {\n          name: '用户名',\n          email: 'user@example.com',\n          avatar: '/avatar.png',\n        },\n        conversationGroups: [\n          {\n            label: '今天',\n            conversations: [\n              { id: '1', title: '对话 1', isActive: true },\n              { id: '2', title: '对话 2' },\n            ],\n          },\n        ],\n        onConversationClick: (id) => console.log('Switch to:', id),\n        onNewChat: () => console.log('New chat'),\n      }}\n      chatProps={{\n        messages,\n        onSubmit: handleSubmit,\n        status: 'ready',\n        placeholder: '输入您的问题...',\n        suggestions: ['你好', '帮我写代码', '解释一下'],\n      }}\n      title=\"AI 助手\"\n      showHeader\n    />\n  )\n}\n```\n\n### 单独使用 ChatInterface\n\n如果只需要聊天界面（不需要侧边栏）：\n\n```tsx\nimport { ChatInterface } from '@ai-widget/chatbot-ui'\nimport type { UIMessage, ModelConfig } from '@ai-widget/chatbot-ui'\n\nfunction SimpleChatPage() {\n  const [messages, setMessages] = useState<UIMessage[]>([])\n  const [selectedModel, setSelectedModel] = useState('gpt-4')\n\n  const models: ModelConfig[] = [\n    { id: 'gpt-4', name: 'GPT-4', provider: 'OpenAI', providerSlug: 'openai' },\n    { id: 'claude-3', name: 'Claude 3', provider: 'Anthropic', providerSlug: 'anthropic' },\n  ]\n\n  return (\n    <div className=\"h-screen\">\n      <ChatInterface\n        messages={messages}\n        onSubmit={(msg) => console.log(msg)}\n        status=\"ready\"\n        selectedModel={selectedModel}\n        onModelChange={setSelectedModel}\n        models={models}\n        locale=\"zh\"\n      />\n    </div>\n  )\n}\n```\n\n### 单独使用 ChatInput\n\n```tsx\nimport { ChatInput } from '@ai-widget/chatbot-ui'\nimport type { AgentMode } from '@ai-widget/chatbot-ui'\n\nfunction InputOnly() {\n  const [mode, setMode] = useState<AgentMode>('normal')\n\n  return (\n    <ChatInput\n      onSubmit={(msg) => console.log(msg)}\n      status=\"ready\"\n      placeholder=\"请输入...\"\n      suggestions={['示例问题 1', '示例问题 2']}\n      selectedMode={mode}\n      onModeChange={setMode}\n      locale=\"zh\"\n    />\n  )\n}\n```\n\n## API 参考\n\n### ChatLayoutProps\n\n| 属性 | 类型 | 默认值 | 描述 |\n|------|------|--------|------|\n| `sidebarProps` | `ChatAppSidebarProps` | - | 侧边栏配置 |\n| `chatProps` | `ChatInterfaceProps` | - | 聊天界面配置 |\n| `defaultOpen` | `boolean` | `true` | 侧边栏默认是否展开 |\n| `title` | `string` | - | 头部标题 |\n| `showHeader` | `boolean` | `true` | 是否显示头部 |\n| `headerRight` | `ReactNode` | - | 头部右侧自定义内容 |\n\n### ChatInterfaceProps\n\n| 属性 | 类型 | 默认值 | 描述 |\n|------|------|--------|------|\n| `messages` | `UIMessage[]` | - | 消息列表 |\n| `onSubmit` | `(message: PromptInputMessage) => void` | - | 提交回调 |\n| `status` | `'ready' \\| 'submitted' \\| 'streaming' \\| 'error'` | - | 聊天状态 |\n| `placeholder` | `string` | - | 输入框占位符 |\n| `suggestions` | `string[]` | `[]` | 建议问题 |\n| `selectedModel` | `string` | - | 当前选中的模型 ID |\n| `onModelChange` | `(modelId: string) => void` | - | 模型变更回调 |\n| `models` | `ModelConfig[]` | `[]` | 可用模型列表 |\n| `selectedMode` | `AgentMode` | - | 当前 Agent 模式 |\n| `onModeChange` | `(mode: AgentMode) => void` | - | 模式变更回调 |\n| `onApprovalResponse` | `(response: ToolApprovalResponse) => void` | - | 工具审批回调 (HITL) |\n| `locale` | `'zh' \\| 'en'` | `'zh'` | 语言设置 |\n| `isLoadingHistory` | `boolean` | `false` | 是否正在加载历史记录 |\n| `showBranchSelector` | `boolean` | `true` | 是否显示分支选择器 |\n\n### ChatInputProps\n\n| 属性 | 类型 | 默认值 | 描述 |\n|------|------|--------|------|\n| `onSubmit` | `(message: PromptInputMessage) => void` | - | 提交回调 |\n| `status` | `ChatStatus` | - | 聊天状态 |\n| `placeholder` | `string` | - | 输入框占位符 |\n| `suggestions` | `string[]` | `[]` | 建议问题 |\n| `selectedModel` | `string` | - | 当前选中的模型 ID |\n| `onModelChange` | `(modelId: string) => void` | - | 模型变更回调 |\n| `models` | `ModelConfig[]` | `[]` | 可用模型列表 |\n| `selectedMode` | `AgentMode` | - | 当前 Agent 模式 |\n| `onModeChange` | `(mode: AgentMode) => void` | - | 模式变更回调 |\n| `locale` | `'zh' \\| 'en'` | `'zh'` | 语言设置 |\n| `showAttachments` | `boolean` | `true` | 是否显示附件功能 |\n| `customTools` | `ReactNode` | - | 自定义工具栏内容 |\n\n### 类型定义\n\n```typescript\n// 消息类型\ninterface UIMessage {\n  id: string\n  role: 'user' | 'assistant' | 'system'\n  content: string\n  // ... 其他属性\n}\n\n// 模型配置\ninterface ModelConfig {\n  id: string\n  name: string\n  provider: string\n  providerSlug: string\n}\n\n// Agent 模式\ntype AgentMode = 'normal' | 'deep-research'\n\n// 聊天状态\ntype ChatStatus = 'ready' | 'submitted' | 'streaming' | 'error'\n\n// 工具审批响应\ninterface ToolApprovalResponse {\n  toolCallId: string\n  approved: boolean\n}\n```\n\n## 样式配置\n\n本组件库依赖 `@ai-widget/ui` 的样式系统，请确保在应用入口引入样式：\n\n```tsx\n// 在 app/layout.tsx 或入口文件中\nimport '@ai-widget/ui/styles.css'\n```\n\n同时需要配置 `tailwind.config.js` 以包含组件库的样式：\n\n```js\nmodule.exports = {\n  content: [\n    // ... 你的项目文件\n    './node_modules/@ai-widget/*/dist/**/*.{js,mjs}',\n  ],\n  // ...\n}\n```\n\n## 与 AI SDK 集成\n\n结合 Vercel AI SDK 使用：\n\n```tsx\nimport { useChat } from '@ai-sdk/react'\nimport { ChatInterface, convertToMessageType } from '@ai-widget/chatbot-ui'\n\nfunction AIChatPage() {\n  const { messages, handleSubmit, status, input, setInput } = useChat({\n    api: '/api/chat',\n  })\n\n  // 转换消息格式\n  const uiMessages = messages.map(convertToMessageType)\n\n  return (\n    <ChatInterface\n      messages={uiMessages}\n      onSubmit={(msg) => {\n        setInput(msg.text)\n        handleSubmit()\n      }}\n      status={status === 'in_progress' ? 'streaming' : 'ready'}\n    />\n  )\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}