{"_id":"@aditya-karedla/core","_rev":"2-549572a1606e9197f2aa80b9dc87dfa4","name":"@aditya-karedla/core","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0-alpha.1":{"name":"@aditya-karedla/core","version":"0.1.0-alpha.1","keywords":["react","components","ui","design-system","tailwind","radix-ui","accessibility","typescript"],"license":"MIT","_id":"@aditya-karedla/core@0.1.0-alpha.1","maintainers":[{"name":"aditya-karedla","email":"aditya.official1302@gmail.com"}],"homepage":"https://github.com/adityakaredla/nova#readme","bugs":{"url":"https://github.com/adityakaredla/nova/issues"},"dist":{"shasum":"ec189fa6a5cd2bdb3b0c76b21350883d5830ccb9","tarball":"https://registry.npmjs.org/@aditya-karedla/core/-/core-0.1.0-alpha.1.tgz","fileCount":10,"integrity":"sha512-sFRqZc1iMwSSaMFNNMOee5JKbgP6X+3C8w49AEXLHQ37wqeOyHTAiLAE8WTYihKZw1r0S9C6FXg2Y6FCGFjkBA==","signatures":[{"sig":"MEQCIE5UlvVkvxbFaUzd8gSWdjuCzVE3B6+vQuft1ZkEFbNzAiARskfIN6jtfuoReGP7rVEXByiQPl7ymyf74Rf6BeK8MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45050},"main":"./dist/index.js","_from":"file:aditya-karedla-core-0.1.0-alpha.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles.css":"./dist/styles.css"},"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"tsup","clean":"rm -rf dist","test:watch":"vitest","type-check":"tsc --noEmit"},"_npmUser":{"name":"aditya-karedla","email":"aditya.official1302@gmail.com"},"_resolved":"/private/var/folders/w4/h0lpjrkn14gfc66mhld_ryjh0000gn/T/32798d23b4ecc67d101ccb52f99adf41/aditya-karedla-core-0.1.0-alpha.1.tgz","_integrity":"sha512-sFRqZc1iMwSSaMFNNMOee5JKbgP6X+3C8w49AEXLHQ37wqeOyHTAiLAE8WTYihKZw1r0S9C6FXg2Y6FCGFjkBA==","repository":{"url":"git+https://github.com/adityakaredla/nova.git","type":"git"},"_npmVersion":"10.8.2","description":"Core UI components for Nova","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.0","@radix-ui/react-slot":"^1.0.2","@aditya-karedla/hooks":"0.1.0-alpha.1","@aditya-karedla/tokens":"0.1.0-alpha.1","class-variance-authority":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","jsdom":"^24.0.0","react":"^18.2.0","eslint":"^8.56.0","vitest":"^1.3.1","postcss":"^8.4.35","react-dom":"^18.2.0","typescript":"^5.3.3","tailwindcss":"^3.4.1","@types/react":"^18.2.55","autoprefixer":"^10.4.17","@types/react-dom":"^18.2.19","@testing-library/react":"^14.2.1","@testing-library/jest-dom":"^6.4.2","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0-alpha.1_1771967853328_0.9251321849887633","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@aditya-karedla/core","version":"0.1.0","description":"Core UI components for Nova","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"},"./styles.css":"./dist/styles.css"},"sideEffects":["**/*.css"],"dependencies":{"@radix-ui/react-avatar":"^1.0.4","@radix-ui/react-checkbox":"^1.0.4","@radix-ui/react-dialog":"^1.0.5","@radix-ui/react-separator":"^1.0.3","@radix-ui/react-slot":"^1.0.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-tooltip":"^1.0.7","class-variance-authority":"^0.7.0","clsx":"^2.1.0","@aditya-karedla/hooks":"0.1.0-alpha.1","@aditya-karedla/tokens":"0.1.0-alpha.1"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"devDependencies":{"@testing-library/jest-dom":"^6.4.2","@testing-library/react":"^14.2.1","@testing-library/user-event":"^14.5.2","@types/react":"^18.2.55","@types/react-dom":"^18.2.19","autoprefixer":"^10.4.17","eslint":"^8.56.0","jsdom":"^24.0.0","postcss":"^8.4.35","react":"^18.2.0","react-dom":"^18.2.0","tailwindcss":"^3.4.1","tsup":"^8.0.2","typescript":"^5.3.3","vitest":"^1.3.1"},"repository":{"type":"git","url":"git+https://github.com/adityakaredla/nova.git"},"keywords":["react","components","ui","design-system","tailwind","radix-ui","accessibility","typescript"],"license":"MIT","publishConfig":{"access":"public"},"scripts":{"build":"tsup","dev":"tsup --watch","type-check":"tsc --noEmit","lint":"eslint src --ext .ts,.tsx","clean":"rm -rf dist","test":"vitest run","test:watch":"vitest"},"_id":"@aditya-karedla/core@0.1.0","bugs":{"url":"https://github.com/adityakaredla/nova/issues"},"homepage":"https://github.com/adityakaredla/nova#readme","_integrity":"sha512-HcOIDhRpmeAh8JJNkFW+izdB7i+paY5COo8SiXLvsrMaPvbKJCa8/aIgQva/D91YXSaz2HRIBIbtRmsI0YE2TQ==","_resolved":"/private/var/folders/w4/h0lpjrkn14gfc66mhld_ryjh0000gn/T/a8e0e288ef41559a1d32f6bed921ee76/aditya-karedla-core-0.1.0.tgz","_from":"file:aditya-karedla-core-0.1.0.tgz","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-HcOIDhRpmeAh8JJNkFW+izdB7i+paY5COo8SiXLvsrMaPvbKJCa8/aIgQva/D91YXSaz2HRIBIbtRmsI0YE2TQ==","shasum":"a6553e8c104605d3e80aa992bb4388c3f1ba5df4","tarball":"https://registry.npmjs.org/@aditya-karedla/core/-/core-0.1.0.tgz","fileCount":10,"unpackedSize":99612,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC2eQuVkmlBL8TOq67e586vz1mf4oRqWbj7qH7aIg6DQQIhAJAIuA11FK32ZkM54bynAQqTWuNO3hLrw3D7WFETZNAz"}]},"_npmUser":{"name":"aditya-karedla","email":"aditya.official1302@gmail.com"},"directories":{},"maintainers":[{"name":"aditya-karedla","email":"aditya.official1302@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.1.0_1771968871143_0.20336080136744727"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-24T21:17:33.264Z","modified":"2026-02-24T21:34:31.415Z","0.1.0-alpha.1":"2026-02-24T21:17:33.546Z","0.1.0":"2026-02-24T21:34:31.296Z"},"bugs":{"url":"https://github.com/adityakaredla/nova/issues"},"license":"MIT","homepage":"https://github.com/adityakaredla/nova#readme","keywords":["react","components","ui","design-system","tailwind","radix-ui","accessibility","typescript"],"repository":{"type":"git","url":"git+https://github.com/adityakaredla/nova.git"},"description":"Core UI components for Nova","maintainers":[{"name":"aditya-karedla","email":"aditya.official1302@gmail.com"}],"readme":"# @aditya-karedla/core\n\n> Core UI components for the Nova design system\n\nA collection of accessible, customizable React components built on Radix UI primitives and styled with Tailwind CSS.\n\n## Installation\n\n```bash\nnpm install @aditya-karedla/core\n# or\npnpm add @aditya-karedla/core\n# or\nyarn add @aditya-karedla/core\n```\n\n### Peer Dependencies\n\n```bash\nnpm install react react-dom\n```\n\n## Usage\n\n### Setup\n\nImport the CSS file in your application entry point:\n\n```tsx\nimport '@aditya-karedla/core/styles.css';\n```\n\nWrap your app with the ThemeProvider:\n\n```tsx\nimport { ThemeProvider } from '@aditya-karedla/core';\n\nfunction App() {\n  return (\n    <ThemeProvider defaultTheme=\"light\">\n      {/* Your app */}\n    </ThemeProvider>\n  );\n}\n```\n\n### Components\n\n#### Button\n\n```tsx\nimport { Button } from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <>\n      <Button variant=\"default\">Default Button</Button>\n      <Button variant=\"secondary\">Secondary Button</Button>\n      <Button variant=\"outline\">Outline Button</Button>\n      <Button variant=\"ghost\">Ghost Button</Button>\n      <Button variant=\"destructive\">Destructive Button</Button>\n      \n      {/* Sizes */}\n      <Button size=\"sm\">Small</Button>\n      <Button size=\"default\">Default</Button>\n      <Button size=\"lg\">Large</Button>\n    </>\n  );\n}\n```\n\n#### Input\n\n```tsx\nimport { Input, Label } from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <div>\n      <Label htmlFor=\"email\">Email</Label>\n      <Input \n        id=\"email\" \n        type=\"email\" \n        placeholder=\"Enter your email\"\n      />\n    </div>\n  );\n}\n```\n\n#### Card\n\n```tsx\nimport { \n  Card, \n  CardHeader, \n  CardTitle, \n  CardDescription, \n  CardContent, \n  CardFooter \n} from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <Card>\n      <CardHeader>\n        <CardTitle>Card Title</CardTitle>\n        <CardDescription>Card description goes here</CardDescription>\n      </CardHeader>\n      <CardContent>\n        <p>Card content</p>\n      </CardContent>\n      <CardFooter>\n        <Button>Action</Button>\n      </CardFooter>\n    </Card>\n  );\n}\n```\n\n#### Badge\n\n```tsx\nimport { Badge } from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <>\n      <Badge>Default</Badge>\n      <Badge variant=\"success\">Success</Badge>\n      <Badge variant=\"warning\">Warning</Badge>\n      <Badge variant=\"destructive\">Error</Badge>\n    </>\n  );\n}\n```\n\n#### Checkbox & Switch\n\n```tsx\nimport { Checkbox, Switch, Label } from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <div className=\"space-y-4\">\n      <div className=\"flex items-center space-x-2\">\n        <Checkbox id=\"terms\" />\n        <Label htmlFor=\"terms\">Accept terms</Label>\n      </div>\n      \n      <div className=\"flex items-center space-x-2\">\n        <Switch id=\"notifications\" />\n        <Label htmlFor=\"notifications\">Enable notifications</Label>\n      </div>\n    </div>\n  );\n}\n```\n\n#### Alert\n\n```tsx\nimport { Alert, AlertTitle, AlertDescription } from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <Alert variant=\"info\">\n      <AlertTitle>Information</AlertTitle>\n      <AlertDescription>\n        Your changes have been saved.\n      </AlertDescription>\n    </Alert>\n  );\n}\n```\n\n#### Avatar\n\n```tsx\nimport { Avatar, AvatarImage, AvatarFallback } from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <Avatar>\n      <AvatarImage src=\"https://github.com/username.png\" alt=\"User\" />\n      <AvatarFallback>UN</AvatarFallback>\n    </Avatar>\n  );\n}\n```\n\n#### Dialog\n\n```tsx\nimport { \n  Dialog, \n  DialogTrigger, \n  DialogContent, \n  DialogHeader, \n  DialogTitle,\n  DialogDescription,\n  Button \n} from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <Dialog>\n      <DialogTrigger asChild>\n        <Button>Open Dialog</Button>\n      </DialogTrigger>\n      <DialogContent>\n        <DialogHeader>\n          <DialogTitle>Dialog Title</DialogTitle>\n          <DialogDescription>\n            This is a dialog description.\n          </DialogDescription>\n        </DialogHeader>\n        <p>Dialog content goes here.</p>\n      </DialogContent>\n    </Dialog>\n  );\n}\n```\n\n#### Tooltip\n\n```tsx\nimport { \n  Tooltip, \n  TooltipTrigger, \n  TooltipContent, \n  TooltipProvider,\n  Button \n} from '@aditya-karedla/core';\n\nfunction Example() {\n  return (\n    <TooltipProvider>\n      <Tooltip>\n        <TooltipTrigger asChild>\n          <Button variant=\"outline\">Hover me</Button>\n        </TooltipTrigger>\n        <TooltipContent>\n          <p>Tooltip content</p>\n        </TooltipContent>\n      </Tooltip>\n    </TooltipProvider>\n  );\n}\n```\n\n### Theme\n\nToggle between light and dark modes:\n\n```tsx\nimport { useTheme } from '@aditya-karedla/core';\n\nfunction ThemeToggle() {\n  const { theme, setTheme } = useTheme();\n  \n  return (\n    <button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>\n      Toggle Theme\n    </button>\n  );\n}\n```\n\n### Utilities\n\nThe `cn` utility for merging class names:\n\n```tsx\nimport { cn } from '@aditya-karedla/core';\n\nconst className = cn('base-class', condition && 'conditional-class');\n```\n\n## Available Components\n\n### Form Components\n- **Button** - Versatile button component with multiple variants and sizes\n- **Input** - Text input field with validation support\n- **Textarea** - Multi-line text input field\n- **Label** - Accessible label component for form fields\n- **Checkbox** - Checkbox input with custom styling\n- **Switch** - Toggle switch for boolean values\n\n### Layout & Display\n- **Card** - Container component with header, content, and footer sections\n- **Separator** - Horizontal or vertical divider line\n- **Avatar** - User profile image with fallback support\n\n### Feedback & Messaging\n- **Alert** - Contextual alerts with different variants (info, success, warning, error)\n- **Badge** - Small status indicators and labels\n- **Tooltip** - Hover information tooltips\n\n### Overlays\n- **Dialog** - Modal dialog/popup component\n- **ThemeProvider** - Context provider for theme management\n\n## TypeScript\n\nAll components are fully typed with TypeScript. Import types as needed:\n\n```tsx\nimport type { ButtonProps } from '@aditya-karedla/core';\n```\n\n## Accessibility\n\nAll components follow WAI-ARIA guidelines and are keyboard navigable with proper focus management.\n\n## Related Packages\n\n- [@aditya-karedla/tokens](../tokens) - Design tokens and theme configuration\n- [@aditya-karedla/hooks](../hooks) - Reusable React hooks\n\n## License\n\nMIT © Aditya Karedla\n","readmeFilename":"README.md"}