{"_id":"@arnis-lv/guru-ui","name":"@arnis-lv/guru-ui","dist-tags":{"latest":"0.1.21"},"versions":{"0.1.21":{"name":"@arnis-lv/guru-ui","version":"0.1.21","description":"A lightweight, multi-framework UI component library with React, Vue, and vanilla JavaScript support","license":"MIT","author":{"name":"GuruUI"},"homepage":"https://guruui.com","repository":{"type":"git","url":"git+https://github.com/guru-lv/guru-ui.git"},"bugs":{"url":"https://github.com/guru-lv/guru-ui/issues"},"type":"module","sideEffects":["**/*.css"],"main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/vue.js"},"./vanilla":{"types":"./dist/vanilla.d.ts","import":"./dist/vanilla.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./utils":{"types":"./dist/utils.d.ts","import":"./dist/utils.js"},"./tailwind-preset":"./tailwind-preset.js","./style.css":"./style.css","./animations.css":"./animations.css","./package.json":"./package.json"},"scripts":{"dev":"vite","build":"rimraf dist && vite build && npm run postbuild","postbuild":"node scripts/postbuild.js","preview":"vite preview","release":"npm run build && npm run benchmark && npm publish --access public","benchmark":"npm run build && node scripts/benchmark.js","size":"npm run benchmark","analyze":"npm run build && npx vite-bundle-analyzer dist","docs:dev":"vite --config docs/vite.config.ts --root docs","docs:build":"vite build --config docs/vite.config.ts --root docs","docs:preview":"vite preview --config docs/vite.config.ts --root docs","test":"echo \"Tests coming soon...\"","typecheck":"tsc --noEmit"},"peerDependencies":{"react":">=18","react-dom":">=18","vue":">=3.3","tailwindcss":">=3.4","typescript":">=5.0.0"},"dependencies":{"clsx":"^2.1.0","tailwind-merge":"^2.3.0"},"devDependencies":{"@types/node":"^22.10.2","@vitejs/plugin-react":"^4.3.1","@vitejs/plugin-vue":"^5.0.0","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","autoprefixer":"^10.4.20","postcss":"^8.4.41","react":"^18.3.1","react-dom":"^18.3.1","vue":"^3.4.0","rimraf":"^6.0.1","tailwindcss":"^3.4.10","typescript":"^5.5.4","vite":"^5.4.2","vite-plugin-dts":"^4.0.0","cssnano":"^7.0.0"},"keywords":["react","vue","svelte","tailwind","ui","components","library","dark","vite","multi-framework","typescript","accessible","lightweight"],"_id":"@arnis-lv/guru-ui@0.1.21","gitHead":"74660eb7d1a740cf9e555e3b3b7603fd01f4b09f","_nodeVersion":"22.17.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-bTrSGKJ3xLpReXSNoEzcqYwwjgsJ7EzvHMRGcjLVNX5yD13/DqrjVPe1l4gT2WLniwOaQsTowQK1NYo6acMyFQ==","shasum":"4b09a9f14e74632d70cce0a5f0aed33c7004704d","tarball":"https://registry.npmjs.org/@arnis-lv/guru-ui/-/guru-ui-0.1.21.tgz","fileCount":105,"unpackedSize":287530,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCjUXU8xShgwhinPP8HnT6fAfz++B6g3Zuys7ERCYfU4wIhANA1OOZmWW03k3KVCZlmokyGYcPPotrN1sjNivGwLzMw"}]},"_npmUser":{"name":"arnis-lv","email":"arnislvdev@gmail.com"},"directories":{},"maintainers":[{"name":"arnis-lv","email":"arnislvdev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/guru-ui_0.1.21_1755299745979_0.043501149461585564"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-15T23:15:45.722Z","0.1.21":"2025-08-15T23:15:46.195Z","modified":"2025-08-15T23:15:46.566Z"},"maintainers":[{"name":"arnis-lv","email":"arnislvdev@gmail.com"}],"description":"A lightweight, multi-framework UI component library with React, Vue, and vanilla JavaScript support","homepage":"https://guruui.com","keywords":["react","vue","svelte","tailwind","ui","components","library","dark","vite","multi-framework","typescript","accessible","lightweight"],"repository":{"type":"git","url":"git+https://github.com/guru-lv/guru-ui.git"},"author":{"name":"GuruUI"},"bugs":{"url":"https://github.com/guru-lv/guru-ui/issues"},"license":"MIT","readme":"# Guru UI\r\n\r\nA lightweight, multi-framework UI component library built for modern web development. Works seamlessly with React, Vue 3, and vanilla JavaScript.\r\n\r\n## Why Guru UI?\r\n\r\n- **Ultra Lightweight** - Only 9.1KB gzipped for the entire library\r\n- **Multi-Framework** - Same components, same API across React, Vue, and vanilla JS\r\n- **Optimized Bundles** - React (1.0KB), Vue (263 bytes), Vanilla (400 bytes)\r\n- **Performance** - Built with shared core logic and excellent tree-shaking (39.4% ratio)\r\n- **16 Core Components** - Fully implemented with consistent behavior across frameworks\r\n- **Customizable** - Powerful theming system with CSS variables and Tailwind integration\r\n- **Accessible** - WCAG compliant with full keyboard navigation and ARIA support\r\n- **Responsive** - Mobile-first design that works on any device\r\n- **Developer Friendly** - Full TypeScript support with excellent IntelliSense\r\n\r\n## Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\nnpm install guru-ui\r\n```\r\n\r\n### React\r\n\r\n```tsx\r\nimport { Button, ThemeProvider } from 'guru-ui'\r\nimport 'guru-ui/style.css'\r\n\r\nfunction App() {\r\n  return (\r\n    <ThemeProvider>\r\n      <Button variant=\"primary\">Get Started</Button>\r\n    </ThemeProvider>\r\n  )\r\n}\r\n```\r\n\r\n### Vue 3\r\n\r\n```vue\r\n<template>\r\n  <ThemeProvider>\r\n    <Button variant=\"primary\">Get Started</Button>\r\n  </ThemeProvider>\r\n</template>\r\n\r\n<script setup>\r\nimport { Button, ThemeProvider } from 'guru-ui/vue'\r\nimport 'guru-ui/style.css'\r\n</script>\r\n```\r\n\r\n### Vanilla JavaScript\r\n\r\n```html\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n  <link rel=\"stylesheet\" href=\"node_modules/guru-ui/style.css\">\r\n</head>\r\n<body>\r\n  <button data-guru-button data-variant=\"primary\">Get Started</button>\r\n  \r\n  <script type=\"module\">\r\n    import { initializeAllComponents } from 'guru-ui/vanilla'\r\n    initializeAllComponents()\r\n  </script>\r\n</body>\r\n</html>\r\n```\r\n\r\n## Features\r\n\r\n### 40+ Components\r\n\r\nAll components work identically across frameworks:\r\n\r\n- **Form Controls**: Button, Input, Textarea, Checkbox, Radio, Switch, Slider\r\n- **Layout**: Card, Modal, Drawer, Tabs, Accordion, Separator\r\n- **Navigation**: Navbar, Footer, Breadcrumbs, Pagination, Menu\r\n- **Feedback**: Alert, Toast, Progress, Skeleton, Loading\r\n- **Data Display**: Table, Avatar, Badge, Chart, Stats, Timeline\r\n- **Advanced**: DatePicker, ColorPicker, Upload, VirtualList\r\n\r\n### Theming System\r\n\r\n```tsx\r\nimport { ThemeProvider, themes } from 'guru-ui'\r\n\r\n// Use built-in themes\r\n<ThemeProvider theme={themes.blue}>\r\n  <App />\r\n</ThemeProvider>\r\n\r\n// Create custom themes\r\nconst customTheme = {\r\n  accent: '#ff6b6b',\r\n  background: '#1a1a1a',\r\n  radius: '8px'\r\n}\r\n\r\n<ThemeProvider theme={customTheme}>\r\n  <App />\r\n</ThemeProvider>\r\n```\r\n\r\n### CSS Variables\r\n\r\nCustomize any aspect with CSS variables:\r\n\r\n```css\r\n:root {\r\n  --guru-accent: #your-brand-color;\r\n  --guru-radius: 12px;\r\n  --guru-font: 'Your Font', sans-serif;\r\n}\r\n```\r\n\r\n## Bundle Size\r\n\r\n| Package | Size (gzipped) |\r\n|---------|----------------|\r\n| Core components only | ~8KB |\r\n| React components | ~15KB |\r\n| Vue components | ~14KB |\r\n| Vanilla JS | ~10KB |\r\n| Full library | ~25KB |\r\n\r\nAll sizes include CSS. Actual bundle size depends on which components you import thanks to tree-shaking.\r\n\r\n## Performance\r\n\r\n- **Tree-shaking** - Only bundle what you use\r\n- **No runtime dependencies** - Except for optional clsx and tailwind-merge\r\n- **Optimized CSS** - Efficient selectors and minimal styles\r\n- **Modern build** - ES2020 target with optimal bundling\r\n\r\n## Browser Support\r\n\r\n- Chrome 80+\r\n- Firefox 75+\r\n- Safari 13+\r\n- Edge 80+\r\n\r\n## Framework Compatibility\r\n\r\n| Framework | Version | Status |\r\n|-----------|---------|---------|\r\n| React | 18+ | ✅ Full support |\r\n| Vue | 3.3+ | ✅ Full support |\r\n| Vanilla JS | ES2020+ | ✅ Full support |\r\n\r\n## Documentation\r\n\r\nVisit our [comprehensive documentation](./docs) for:\r\n\r\n- [Installation Guide](./docs/installation.md)\r\n- [Component Documentation](./docs/components/)\r\n- [Theming Guide](./docs/theming.md)\r\n- [Framework Guides](./docs/frameworks.md)\r\n- [API Reference](./docs/api-reference.md)\r\n\r\n## Examples\r\n\r\n- [React Contact Form](./docs/examples/react-form.md)\r\n- [Vue Dashboard](./docs/examples/vue-dashboard.md)\r\n- [Vanilla JS Website](./docs/examples/vanilla-site.md)\r\n\r\n## Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.\r\n\r\n## License\r\n\r\nMIT License - see [LICENSE](./LICENSE) for details.\r\n\r\n## Support\r\n\r\n- 📖 [Documentation](./docs)\r\n- 💬 [GitHub Discussions](https://github.com/guru-lv/guru-ui/discussions)\r\n- 🐛 [Issue Tracker](https://github.com/guru-lv/guru-ui/issues)\r\n\r\n---\r\n\r\nBuilt with ❤️ for the developer community","readmeFilename":"README.md","_rev":"1-a23db3585dd755feac8e06b79cc8346e"}