{"_id":"@aireact/emotion-ui","_rev":"4-88ab51ee79fab86e98d7ab0c20b4cc98","name":"@aireact/emotion-ui","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@aireact/emotion-ui","version":"1.0.0","keywords":["react","emotion","ui","adaptive","sentiment","ai"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aireact/emotion-ui@1.0.0","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"dist":{"shasum":"da7b3c5a90eb468419a0de9894decffa9111cec9","tarball":"https://registry.npmjs.org/@aireact/emotion-ui/-/emotion-ui-1.0.0.tgz","fileCount":11,"integrity":"sha512-y79T8r8utcsaKyML2gyBq0vOZJXzYkErH9qxdX32LBOgijjgSKXNaoulJUGaNxpq2of2fJ6NF5D+bZo1JfAyKA==","signatures":[{"sig":"MEYCIQC7x6mCjek2/UvIFGpzWkVbh8Mz9paOJtJM9SSYnGsxlgIhAKQhVm4wbVJEp8rKx+1ZwSy6wit5ywM0aMNfnnwngKBC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111785},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/emotion-ui.css":"./dist/emotion-ui.css"},"gitHead":"3578555f09dd610edce51f84a4d6d27a6b2146bd","scripts":{"dev":"vite build --watch","build":"tsc && vite build"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"_npmVersion":"10.9.2","description":"Emotion-aware adaptive UI components for React","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"@aireact/core":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.10","typescript":"^5.3.3","@types/react":"^18.2.45","vite-plugin-dts":"^3.7.0","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/emotion-ui_1.0.0_1765693695156_0.5522104140024913","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aireact/emotion-ui","version":"1.0.1","keywords":["react","emotion","ui","adaptive","sentiment","ai"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aireact/emotion-ui@1.0.1","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"dist":{"shasum":"9ffa95d8c4e2b32c9bf9405715f4c4e337c0ce2e","tarball":"https://registry.npmjs.org/@aireact/emotion-ui/-/emotion-ui-1.0.1.tgz","fileCount":12,"integrity":"sha512-U/Kw40Ca0wlBSiVK3x1bh7iKjopc4WKnfFNsIdt3HBxGxI6r/ezP/IsOWPiySx/EVy/TamofWHd8/u0VvSsnVg==","signatures":[{"sig":"MEQCIG3G5QUVKw3Mqdq1tP6Z1YvyJFXcC+z5llIEa4O4h0bqAiBUe+d/RPQiyU7wZ2vcwH68ns+/SCQijopzt24YURrJOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115168},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/emotion-ui.css":"./dist/emotion-ui.css"},"gitHead":"6857364eda430b8e9222514d3a5eeb6a5175c5b7","scripts":{"dev":"vite build --watch","build":"tsc && vite build"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"_npmVersion":"10.9.2","description":"Emotion-aware adaptive UI components for React","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"@aireact/core":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.10","typescript":"^5.3.3","@types/react":"^18.2.45","vite-plugin-dts":"^3.7.0","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/emotion-ui_1.0.1_1765694974912_0.07781539811665472","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aireact/emotion-ui","version":"1.0.2","keywords":["react","emotion","ui","adaptive","sentiment","ai"],"author":{"name":"reachbrt"},"license":"MIT","_id":"@aireact/emotion-ui@1.0.2","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"dist":{"shasum":"7d46ce8151d57df78f45c4996837baf48659fdd3","tarball":"https://registry.npmjs.org/@aireact/emotion-ui/-/emotion-ui-1.0.2.tgz","fileCount":12,"integrity":"sha512-/ma49XVhYTcSPL6R42aJxVhLf7T7B9te0bdSevthqME0EphNM0ZowbcQ5dJ6n+fOTFimwuy1QRQzcX6X5AAyFQ==","signatures":[{"sig":"MEYCIQCBlafRJXczISDz0ozQIfE4S1L/yOADYdPbppJCEfYwSwIhAKf/4Mr4Z6wccP+YZwKK+sux+mSpXwP95LJpqOh3seXT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115168},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/emotion-ui.css":"./dist/emotion-ui.css"},"gitHead":"6857364eda430b8e9222514d3a5eeb6a5175c5b7","scripts":{"dev":"vite build --watch","build":"tsc && vite build"},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"_npmVersion":"10.9.2","description":"Emotion-aware adaptive UI components for React","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"@aireact/core":"*"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.10","typescript":"^5.3.3","@types/react":"^18.2.45","vite-plugin-dts":"^3.7.0","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/emotion-ui_1.0.2_1765696178332_0.15756080678052653","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aireact/emotion-ui","version":"1.0.3","description":"Emotion-aware adaptive UI components for React","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./dist/emotion-ui.css":"./dist/emotion-ui.css"},"scripts":{"build":"tsc && vite build","dev":"vite build --watch"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"dependencies":{"@aireact/core":"*"},"devDependencies":{"@types/react":"^18.2.45","@types/react-dom":"^18.2.18","@vitejs/plugin-react":"^4.2.1","typescript":"^5.3.3","vite":"^5.0.10","vite-plugin-dts":"^3.7.0"},"keywords":["react","emotion","ui","adaptive","sentiment","ai"],"author":{"name":"reachbrt"},"license":"MIT","sideEffects":["*.css"],"_id":"@aireact/emotion-ui@1.0.3","gitHead":"eb0d57118209adc317afca9ec14db9074a14377b","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-lZitFnnQtFE/76pRrAiuYxaHrfKFeo7zODKwR/jyoUJNK5T/xgP2ndCXrKgjq/2T+gcXQUdcxikBJLPauNxfrA==","shasum":"380c1c0d60ae50da84ad666b93525ed4f92207f5","tarball":"https://registry.npmjs.org/@aireact/emotion-ui/-/emotion-ui-1.0.3.tgz","fileCount":12,"unpackedSize":116036,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFu28oq/NkkMwGi7hOkdjzqdYHLvdv+L5dn6DCXVtNymAiEAiBRlcv2gguLJt6TPKAR+/O13Ex4DhiLSFO5IVQMRfdQ="}]},"_npmUser":{"name":"aivue","email":"reachbrt@gmail.com"},"directories":{},"maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/emotion-ui_1.0.3_1766466254462_0.7196840794002803"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-14T06:28:15.084Z","modified":"2025-12-23T05:04:14.816Z","1.0.0":"2025-12-14T06:28:15.322Z","1.0.1":"2025-12-14T06:49:35.063Z","1.0.2":"2025-12-14T07:09:38.486Z","1.0.3":"2025-12-23T05:04:14.603Z"},"author":{"name":"reachbrt"},"license":"MIT","keywords":["react","emotion","ui","adaptive","sentiment","ai"],"description":"Emotion-aware adaptive UI components for React","maintainers":[{"name":"aivue","email":"reachbrt@gmail.com"}],"readme":"# @aireact/emotion-ui\n\n🚀 **Emotion-Aware UI Components for React**\n\nAI-powered components that adapt based on user sentiment and emotional context.\n\n<p>\n  <a href=\"https://www.npmjs.com/package/@aireact/emotion-ui\"><img src=\"https://img.shields.io/npm/v/@aireact/emotion-ui.svg?style=flat-square\" alt=\"npm version\"></a>\n  <a href=\"https://www.npmjs.com/package/@aireact/emotion-ui\"><img src=\"https://img.shields.io/npm/dm/@aireact/emotion-ui\" alt=\"npm downloads\"></a>\n  <a href=\"https://github.com/reachbrt/AIReact/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/@aireact/emotion-ui.svg?style=flat-square\" alt=\"MIT License\"></a>\n  <a href=\"https://github.com/reachbrt/AIReact\"><img src=\"https://img.shields.io/github/stars/reachbrt/AIReact?style=social\" alt=\"GitHub Stars\"></a>\n</p>\n\n## ✨ Features\n\n- **🎭 Sentiment Detection**: Real-time emotion analysis\n- **🎨 Adaptive UI**: Components that respond to user mood\n- **💬 Context-Aware**: Understands conversational context\n- **⚡ Real-time**: Instant feedback and adaptation\n- **🔧 TypeScript**: Full TypeScript support\n- **📱 Responsive**: Works on all devices\n\n## 📦 Installation\n\n```bash\nnpm install @aireact/emotion-ui @aireact/core\n```\n\n## 🚀 Quick Start\n\n```tsx\nimport { EmotionAwareButton, EmotionAwareInput, useEmotionDetector } from '@aireact/emotion-ui';\nimport '@aireact/emotion-ui/style.css';\n\nfunction App() {\n  return (\n    <div>\n      <EmotionAwareInput\n        provider=\"openai\"\n        apiKey={process.env.REACT_APP_OPENAI_API_KEY}\n        placeholder=\"How are you feeling?\"\n        onEmotionChange={(emotion) => console.log('Detected:', emotion)}\n      />\n      <EmotionAwareButton emotion=\"positive\">\n        Submit Feedback\n      </EmotionAwareButton>\n    </div>\n  );\n}\n```\n\n### Using the Hook\n\n```tsx\nimport { useEmotionDetector } from '@aireact/emotion-ui';\n\nfunction CustomEmotionUI() {\n  const {\n    emotion,\n    confidence,\n    isAnalyzing,\n    detectEmotion\n  } = useEmotionDetector({\n    provider: 'openai',\n    apiKey: process.env.REACT_APP_OPENAI_API_KEY\n  });\n\n  return (\n    <div className={`emotion-${emotion}`}>\n      <textarea\n        onChange={(e) => detectEmotion(e.target.value)}\n        placeholder=\"Express yourself...\"\n      />\n      {emotion && (\n        <div className=\"emotion-indicator\">\n          Detected: {emotion} ({Math.round(confidence * 100)}%)\n        </div>\n      )}\n    </div>\n  );\n}\n```\n\n## 🎭 Detected Emotions\n\n| Emotion | Description | UI Adaptation |\n|---------|-------------|---------------|\n| `positive` | Happy, excited, grateful | Warm colors, celebratory |\n| `negative` | Sad, frustrated, angry | Calming colors, supportive |\n| `neutral` | Informational, factual | Default styling |\n| `confused` | Uncertain, questioning | Helpful prompts |\n\n## 📖 Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `provider` | string | - | AI provider |\n| `apiKey` | string | - | API key |\n| `onEmotionChange` | function | - | Emotion callback |\n| `adaptColors` | boolean | true | Auto-adapt colors |\n| `showIndicator` | boolean | false | Show emotion badge |\n\n## 🎨 Customization\n\n```css\n:root {\n  --aireact-emotion-positive: #4caf50;\n  --aireact-emotion-negative: #f44336;\n  --aireact-emotion-neutral: #9e9e9e;\n  --aireact-emotion-confused: #ff9800;\n}\n```\n\n## 📦 Related Packages\n\n### React (@aireact)\n- [@aireact/core](https://www.npmjs.com/package/@aireact/core) - Core AI Client\n- [@aireact/chatbot](https://www.npmjs.com/package/@aireact/chatbot) - AI Chat\n- [@aireact/smart-notify](https://www.npmjs.com/package/@aireact/smart-notify) - Smart Notifications\n\n### Vue.js (@aivue)\n- [@aivue/emotion-ui](https://www.npmjs.com/package/@aivue/emotion-ui) - Vue Emotion UI\n- [@aivue/core](https://www.npmjs.com/package/@aivue/core) - Vue Core AI Client\n\n### Angular (@aiangular) - Coming Soon\n- @aiangular/emotion-ui - Angular Emotion UI\n\n## 🔗 More Information\n\n- [GitHub Repository](https://github.com/reachbrt/AIReact)\n- [Full Documentation](https://github.com/reachbrt/AIReact/wiki)\n- [Report Issues](https://github.com/reachbrt/AIReact/issues)\n\n## 📄 License\n\nMIT © [Bharatkumar Subramanian](https://github.com/reachbrt)\n\n","readmeFilename":"README.md"}