{"_id":"@damarkuncoro/agnostic-ui","name":"@damarkuncoro/agnostic-ui","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@damarkuncoro/agnostic-ui","description":"A comprehensive UI component system with framework-agnostic architecture and modular skin system","version":"0.1.0","type":"module","license":"MIT","author":{"name":"Damar Kuncoro","email":"damarkuncoro@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/damarkuncoro/agnostic-ui.git"},"bugs":{"url":"https://github.com/damarkuncoro/agnostic-ui/issues"},"homepage":"https://github.com/damarkuncoro/agnostic-ui#readme","keywords":["ui","components","react","vue","framework-agnostic","skin-system","typescript","css","tailwind"],"exports":{"./react":{"types":"./dist/src/react/index.d.ts","default":"./dist/src/react/index.js"},"./vue":{"types":"./dist/src/vue/index.d.ts","default":"./dist/src/vue/index.js"},"./skin":{"types":"./dist/src/skin/index.d.ts","default":"./dist/src/skin/index.js"},"./skin/tailwind.css":"./dist/src/skin/tailwind.css","./skin/tailwind-modern.css":"./dist/src/skin/tailwind-modern.css","./skin/retro.css":"./dist/src/skin/retro.css","./skin/glass.css":"./dist/src/skin/glass.css","./themes":{"types":"./dist/src/themes/index.d.ts","default":"./dist/src/themes/index.js"},"./contracts":{"types":"./dist/src/contracts/index.d.ts","default":"./dist/src/contracts/index.js"}},"types":"./dist/src/index.d.ts","main":"./dist/src/index.js","scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"peerDependencies":{"react":">=16.8.0","vue":">=3.0.0"},"dependencies":{"@damarkuncoro/agnostic-ui-contracts":"^0.1.0","@damarkuncoro/agnostic-ui-base":"^0.1.0","@damarkuncoro/agnostic-ui-skin":"^0.1.0","@damarkuncoro/agnostic-ui-react":"^0.1.0","@damarkuncoro/agnostic-ui-vue":"^0.1.0","@damarkuncoro/agnostic-ui-theme":"^0.1.0"},"devDependencies":{"@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript":"^5.0.0"},"publishConfig":{"access":"public"},"sideEffects":false,"_id":"@damarkuncoro/agnostic-ui@0.1.0","gitHead":"019c9453aaff4b8ced30b0d5a50779721e5b0425","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-ZjaRyF6cBO/YCmzBsNyfE/6PDUrvMjBvNzK/Ii9CotrlLhWPEXKk4Yn5JP7ZlqKaBuvwwCoC7qzmloDnRd9XUw==","shasum":"30000c3f5af21ae43ab0a5a0a77dc52a5928ede4","tarball":"https://registry.npmjs.org/@damarkuncoro/agnostic-ui/-/agnostic-ui-0.1.0.tgz","fileCount":283,"unpackedSize":125296,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAkKbLzZEkUPI5FsfaBR4VLBUZ3ZIbzuQpIc7pPEkpgfAiEA68CJ/2A9mUjyQCp2tcA1fGWtUtM60nYgMIgLrd50yyc="}]},"_npmUser":{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"},"directories":{},"maintainers":[{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agnostic-ui_0.1.0_1767000577427_0.8713560776256715"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-29T09:29:37.340Z","0.1.0":"2025-12-29T09:29:37.564Z","modified":"2025-12-29T09:29:37.863Z"},"maintainers":[{"name":"damarkuncoro","email":"damarkuncoro@gmail.com"}],"description":"A comprehensive UI component system with framework-agnostic architecture and modular skin system","homepage":"https://github.com/damarkuncoro/agnostic-ui#readme","keywords":["ui","components","react","vue","framework-agnostic","skin-system","typescript","css","tailwind"],"repository":{"type":"git","url":"git+https://github.com/damarkuncoro/agnostic-ui.git"},"author":{"name":"Damar Kuncoro","email":"damarkuncoro@gmail.com"},"bugs":{"url":"https://github.com/damarkuncoro/agnostic-ui/issues"},"license":"MIT","readme":"# @damarkuncoro/agnostic-ui\n\n[![npm version](https://img.shields.io/npm/v/@damarkuncoro/agnostic-ui.svg)](https://www.npmjs.com/package/@damarkuncoro/agnostic-ui)\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA comprehensive UI component system with framework-agnostic architecture and modular skin system.\n\n## Features\n\n- **Framework Agnostic**: Core UI logic separated from framework-specific implementations (React/Vue)\n- **Modular Skin System**: Visual styles can be swapped without changing UI logic\n- **Consistent API Contracts**: Uniform variants, sizes, events, and props across all skins\n- **Stable Export Paths**: Reliable integration paths for application usage\n- **TypeScript First**: Full type safety and excellent IDE support\n\n## Installation\n\n```bash\nnpm install @damarkuncoro/agnostic-ui\n# or\nyarn add @damarkuncoro/agnostic-ui\n# or\npnpm add @damarkuncoro/agnostic-ui\n```\n\n## Quick Start\n\n### React\n\n```tsx\nimport { UIProvider } from '@damarkuncoro/agnostic-ui/react'\nimport { tailwind_modern as skin } from '@damarkuncoro/agnostic-ui/skin'\n\nexport default function App() {\n  return (\n    <UIProvider skin={skin}>\n      {/* Your components using the skin system */}\n    </UIProvider>\n  )\n}\n```\n\n### Vue\n\n```vue\n<script setup lang=\"ts\">\nimport { UIProvider } from '@damarkuncoro/agnostic-ui/vue'\nimport { tailwind_modern as skin } from '@damarkuncoro/agnostic-ui/skin'\n</script>\n\n<template>\n  <UIProvider :skin=\"skin\">\n    <!-- Your components using the skin system -->\n  </UIProvider>\n</template>\n```\n\n## Exports & Imports\n\n### React Components\n```ts\nimport { UIProvider } from '@damarkuncoro/agnostic-ui/react'\n```\n\n### Vue Components\n```ts\nimport { UIProvider } from '@damarkuncoro/agnostic-ui/vue'\n```\n\n### Skin System\n```ts\nimport { tailwind, tailwind_modern, shadcn, retro } from '@damarkuncoro/agnostic-ui/skin'\n```\n\n### Themes\n```ts\nimport * as themes from '@damarkuncoro/agnostic-ui/themes'\n```\n\n### Type Contracts\n```ts\nimport * as contracts from '@damarkuncoro/agnostic-ui/contracts'\n```\n\n## CSS Skins\n\nYou can import pre-compiled CSS skins through the aggregator paths:\n\n- `@damarkuncoro/agnostic-ui/skin/tailwind.css`\n- `@damarkuncoro/agnostic-ui/skin/tailwind-modern.css`\n- `@damarkuncoro/agnostic-ui/skin/retro.css`\n\nOr integrate CSS skins into your application's build pipeline.\n\n## Available Skins\n\n- **tailwind**: Classic Tailwind CSS styling\n- **tailwind_modern**: Modern Tailwind CSS with latest features\n- **shadcn**: shadcn/ui inspired styling\n- **retro**: Retro/vintage aesthetic\n\n## Architecture\n\nThis package serves as the main aggregator for the Agnostic UI ecosystem, providing a single entry point to all sub-packages:\n\n```\n@damarkuncoro/agnostic-ui\n├── react/          # React adapter (components, provider)\n├── vue/            # Vue adapter (provider)\n├── skin/           # Skin aggregator with CSS wrappers\n├── themes/         # Design themes and tokens\n└── contracts/      # UI contracts (types, props, events)\n```\n\n## Development\n\n### Building from Source\n\n```bash\nnpm run build\n```\n\nThis generates artifacts in `packages/agnostic-ui/dist/src/*` and ensures all export paths are available.\n\n### Prerequisites\n\n- Node.js >= 16\n- npm, yarn, or pnpm\n- React >= 16.8.0 (for React components)\n- Vue >= 3.0.0 (for Vue components)\n\n## Design Principles\n\n- **SRP, DRY, KISS, YAGNI**: Single Responsibility, Don't Repeat Yourself, Keep It Simple, You Aren't Gonna Need It\n- **SOLID**: Object-oriented design principles\n- **Composition over Inheritance**: Flexible component composition\n- **Architecture**: UI Contract → Base UI → Skin → Modules → Pages\n\n## Contributing\n\nContributions are welcome! Please read our contributing guidelines and feel free to submit pull requests.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Support\n\n- [Documentation](https://github.com/damarkuncoro/agnostic-ui)\n- [Issues](https://github.com/damarkuncoro/agnostic-ui/issues)\n- [Discussions](https://github.com/damarkuncoro/agnostic-ui/discussions)\n\n","readmeFilename":"README.md","_rev":"1-06cd001eed83253eddcd60e650743e52"}