{"_id":"@cuenti-cn/ui","_rev":"7-4e9cae04d3c829223d9e56fa18288b99","name":"@cuenti-cn/ui","dist-tags":{"latest":"0.1.8"},"versions":{"0.1.1":{"name":"@cuenti-cn/ui","version":"0.1.1","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","_id":"@cuenti-cn/ui@0.1.1","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"dist":{"shasum":"fc6c40e076a7c29ee9ccd209712ed333632267d7","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.1.tgz","fileCount":7,"integrity":"sha512-Dj7lwdBv8qnJe3WMCgQhsDziSZYTik6RyzRY6SWcJQGcnaWbrKf7LoLJCJ2aAR+ULZZie0+SoGQ44sc5M/Xj7A==","signatures":[{"sig":"MEQCIAScGzuOmKiWASa60UibtNdWYgPXg4KQAlCpQwITdy0NAiAPnzD6abwrPWaZRIy+fD2PgwegZuFWoYZ3mJTZ4Np7fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233237},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"},"./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./styles":"./src/index.css"},"gitHead":"f100c4046f3a33540bd72cfd28db0aa139d8905a","scripts":{"dev":"vite","lint":"eslint .","build":"pnpm run build:packages && tsc -b && vite build","format":"prettier --write .","preview":"vite preview","lint:fix":"eslint . --fix","build:lib":"rollup -c","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","format:check":"prettier --check .","build:packages":"pnpm -r build","build-storybook":"storybook build"},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"repository":{"url":"git+https://github.com/Cuenti/cuenti-cn-ui.git","type":"git"},"_npmVersion":"11.6.0","description":"A modern React component library built with Tailwind CSS and Radix UI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"2.1.1","react":"19.1.1","react-dom":"19.1.1","tailwindcss":"4.1.13","lucide-react":"0.544.0","tailwind-merge":"3.3.1","@tailwindcss/vite":"4.1.13","@radix-ui/react-slot":"1.2.3","class-variance-authority":"0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.7","eslint":"9.36.0","rollup":"^4.28.1","vitest":"3.2.4","globals":"16.4.0","prettier":"3.6.2","chromatic":"13.2.0","storybook":"9.1.7","@eslint/js":"9.36.0","playwright":"1.55.0","typescript":"5.9.2","@types/node":"24.5.2","@types/react":"19.1.13","tw-animate-css":"1.3.8","@changesets/cli":"^2.29.7","@vitest/browser":"3.2.4","@types/react-dom":"19.1.9","rollup-plugin-dts":"^6.1.1","typescript-eslint":"8.44.1","@vitest/coverage-v8":"3.2.4","@vitejs/plugin-react":"5.0.3","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/react-vite":"9.1.7","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","@rollup/plugin-commonjs":"^28.0.1","@storybook/addon-vitest":"9.1.7","eslint-plugin-storybook":"9.1.7","@chromatic-com/storybook":"4.1.1","@rollup/plugin-typescript":"^12.1.1","eslint-plugin-react-hooks":"5.2.0","@rollup/plugin-node-resolve":"^15.3.0","eslint-plugin-react-refresh":"0.4.20"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.1_1758573730722_0.2576167241219456","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cuenti-cn/ui","version":"0.1.2","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","_id":"@cuenti-cn/ui@0.1.2","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"dist":{"shasum":"356b5f76ec73ea8438fdf73577150dd696aadf39","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.2.tgz","fileCount":7,"integrity":"sha512-wmtjPEFaAUBkBDcAeGr05PcFNcI0M/kuRcbS6I7VyYLHuSI35xK+cgwXxwwIOMKj+ldi63QpLv5pddUCvxrZIg==","signatures":[{"sig":"MEUCIQD7PfC6uQbWnM97SjkhzuJkdoK1+XKEyKy6+Gdd9UPt+gIgbvLoyhoK4LjltC6dv7F+UZsJL+yY3V9WkkIEelgCIjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233285},"main":"dist/index.js","type":"module","_from":"file:cuenti-cn-ui-0.1.2.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"},"./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./styles":"./src/index.css"},"scripts":{"dev":"vite","lint":"eslint .","build":"pnpm run build:packages && tsc -b && vite build","format":"prettier --write .","preview":"vite preview","lint:fix":"eslint . --fix","build:lib":"rollup -c","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","format:check":"prettier --check .","build:packages":"pnpm -r build","build-storybook":"storybook build"},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"_resolved":"C:\\Users\\cedua\\AppData\\Local\\Temp\\7f2fa61ded4779e644f675ef4fbd19bb\\cuenti-cn-ui-0.1.2.tgz","_integrity":"sha512-wmtjPEFaAUBkBDcAeGr05PcFNcI0M/kuRcbS6I7VyYLHuSI35xK+cgwXxwwIOMKj+ldi63QpLv5pddUCvxrZIg==","repository":{"url":"git+https://github.com/Cuenti/cuenti-cn-ui.git","type":"git"},"_npmVersion":"11.6.0","description":"A modern React component library built with Tailwind CSS and Radix UI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"2.1.1","react":"19.1.1","react-dom":"19.1.1","tailwindcss":"4.1.13","lucide-react":"0.544.0","tailwind-merge":"3.3.1","@tailwindcss/vite":"4.1.13","@radix-ui/react-slot":"1.2.3","class-variance-authority":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.7","eslint":"9.36.0","rollup":"^4.28.1","vitest":"3.2.4","globals":"16.4.0","prettier":"3.6.2","chromatic":"13.2.0","storybook":"9.1.7","@eslint/js":"9.36.0","playwright":"1.55.0","typescript":"5.9.2","@types/node":"24.5.2","@types/react":"19.1.13","tw-animate-css":"1.3.8","@changesets/cli":"^2.29.7","@vitest/browser":"3.2.4","@types/react-dom":"19.1.9","rollup-plugin-dts":"^6.1.1","typescript-eslint":"8.44.1","@vitest/coverage-v8":"3.2.4","@vitejs/plugin-react":"5.0.3","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/react-vite":"9.1.7","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","@rollup/plugin-commonjs":"^28.0.1","@storybook/addon-vitest":"9.1.7","eslint-plugin-storybook":"9.1.7","@chromatic-com/storybook":"4.1.1","@rollup/plugin-typescript":"^12.1.1","eslint-plugin-react-hooks":"5.2.0","@rollup/plugin-node-resolve":"^15.3.0","eslint-plugin-react-refresh":"0.4.20"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.2_1758574336852_0.42714993382034616","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cuenti-cn/ui","version":"0.1.4","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","_id":"@cuenti-cn/ui@0.1.4","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"dist":{"shasum":"34c699a682d113d5a455602deabc395d54999981","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.4.tgz","fileCount":7,"integrity":"sha512-jTDFJJyBebqrz+yb/19qabLFwVNmD3cP4zNIKmyDMbrDL4fCaOstL3NNLYLTZ6Qlh+XhPH2YD4GKcbDkdqyWhA==","signatures":[{"sig":"MEUCIQDDp76lCyY85MsGgkYqjabQBzwNdIIMesi4kP0VTbZPLAIgb7+o5fwQ27pCQH4LESfCQGkswc+qqJAyO5+mPX/i3u0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233354},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"},"./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./styles":"./src/index.css"},"gitHead":"d767f112f5614dc9c0f16756260e10ea6184f94f","scripts":{"dev":"vite","lint":"eslint .","build":"pnpm run build:packages && tsc -b && vite build","format":"prettier --write .","preview":"vite preview","lint:fix":"eslint . --fix","build:lib":"rollup -c","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","format:check":"prettier --check .","build:packages":"pnpm -r build","build-storybook":"storybook build"},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"repository":{"url":"git+https://github.com/Cuenti/cuenti-cn-ui.git","type":"git"},"_npmVersion":"11.6.0","description":"A modern React component library built with Tailwind CSS and Radix UI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"2.1.1","react":"19.1.1","react-dom":"19.1.1","tailwindcss":"4.1.13","lucide-react":"0.544.0","tailwind-merge":"3.3.1","@cuenti-cn/core":"^0.0.4","@cuenti-cn/button":"^0.0.3","@tailwindcss/vite":"4.1.13","@radix-ui/react-slot":"1.2.3","class-variance-authority":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.7","eslint":"9.36.0","rollup":"^4.28.1","vitest":"3.2.4","globals":"16.4.0","prettier":"3.6.2","chromatic":"13.2.0","storybook":"9.1.7","@eslint/js":"9.36.0","playwright":"1.55.0","typescript":"5.9.2","@types/node":"24.5.2","@types/react":"19.1.13","tw-animate-css":"1.3.8","@changesets/cli":"^2.29.7","@vitest/browser":"3.2.4","@types/react-dom":"19.1.9","rollup-plugin-dts":"^6.1.1","typescript-eslint":"8.44.1","@vitest/coverage-v8":"3.2.4","@vitejs/plugin-react":"5.0.3","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/react-vite":"9.1.7","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","@rollup/plugin-commonjs":"^28.0.1","@storybook/addon-vitest":"9.1.7","eslint-plugin-storybook":"9.1.7","@chromatic-com/storybook":"4.1.1","@rollup/plugin-typescript":"^12.1.1","eslint-plugin-react-hooks":"5.2.0","@rollup/plugin-node-resolve":"^15.3.0","eslint-plugin-react-refresh":"0.4.20"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.4_1758576001545_0.48756876273681393","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cuenti-cn/ui","version":"0.1.5","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","_id":"@cuenti-cn/ui@0.1.5","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"dist":{"shasum":"eb6ebf002df2cab27bb4464ec17f732d60df0cb5","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.5.tgz","fileCount":7,"integrity":"sha512-+d9Fhve6eKjH5dyHQ48Ua/hkL24UCnHG0aStZQBMo6HvQXwJOlqyGKmmEHBWeD5z31APqrNsHLw2OPJS5i8UWQ==","signatures":[{"sig":"MEUCIQDZ71cDG9XLJKn4HVFONYEb8HYse8NL57bSsTd5bPTxXwIgbjYiFWRJ4t+9cR/ZFeCcGSP7+9SozrB+8Ovz7z/nxOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233404},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"},"./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./styles":"./src/index.css"},"gitHead":"1797fc0c7df72434ff56ae9049e390ea97664c96","scripts":{"dev":"vite","lint":"eslint .","build":"pnpm run build:packages && tsc -b && vite build","format":"prettier --write .","preview":"vite preview","lint:fix":"eslint . --fix","build:lib":"rollup -c","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","format:check":"prettier --check .","build:packages":"pnpm -r build","build-storybook":"storybook build"},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"repository":{"url":"git+https://github.com/Cuenti/cuenti-cn-ui.git","type":"git"},"_npmVersion":"11.6.0","description":"A modern React component library built with Tailwind CSS and Radix UI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"2.1.1","react":"19.1.1","react-dom":"19.1.1","tailwindcss":"4.1.13","lucide-react":"0.544.0","tailwind-merge":"3.3.1","@cuenti-cn/core":"^0.0.4","@cuenti-cn/button":"^0.0.3","@tailwindcss/vite":"4.1.13","@radix-ui/react-slot":"1.2.3","class-variance-authority":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.7","eslint":"9.36.0","rollup":"^4.28.1","vitest":"3.2.4","globals":"16.4.0","prettier":"3.6.2","chromatic":"13.2.0","storybook":"9.1.7","@eslint/js":"9.36.0","playwright":"1.55.0","typescript":"5.9.2","@types/node":"24.5.2","@types/react":"19.1.13","tw-animate-css":"1.3.8","@changesets/cli":"^2.29.7","@vitest/browser":"3.2.4","@types/react-dom":"19.1.9","rollup-plugin-dts":"^6.1.1","typescript-eslint":"8.44.1","@vitest/coverage-v8":"3.2.4","@vitejs/plugin-react":"5.0.3","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/react-vite":"9.1.7","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","@rollup/plugin-commonjs":"^28.0.1","@storybook/addon-vitest":"9.1.7","eslint-plugin-storybook":"9.1.7","@chromatic-com/storybook":"4.1.1","@rollup/plugin-typescript":"^12.1.1","eslint-plugin-react-hooks":"5.2.0","@rollup/plugin-node-resolve":"^15.3.0","eslint-plugin-react-refresh":"0.4.20"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.5_1758576073081_0.48771085943202364","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cuenti-cn/ui","version":"0.1.6","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","_id":"@cuenti-cn/ui@0.1.6","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"dist":{"shasum":"5db0b84f3a83fe8d7eaac9e856ef9075801dcfc4","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.6.tgz","fileCount":7,"integrity":"sha512-9uxXsaiwz3majAY+s/tIf1zmvbI6S36kaHq/FEZV2Pos5HIEeqsascNXtTcbnDgR1U/6sBzrukNJtUe0VmoGSw==","signatures":[{"sig":"MEYCIQChEpV4+ZHIxKAnIiXS27qgWtN18XP4/sGEf8OJpiLOAgIhAIf7xY1VpaY/VsXYEv6vRBb2NHbNWbKosjhxQJFL3FN7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233403},"main":"dist/index.js","type":"module","_from":"file:cuenti-cn-ui-0.1.6.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"},"./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./styles":"./src/index.css"},"scripts":{"dev":"vite","lint":"eslint .","build":"pnpm run build:packages && tsc -b && vite build","format":"prettier --write .","preview":"vite preview","lint:fix":"eslint . --fix","build:lib":"rollup -c","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","format:check":"prettier --check .","build:packages":"pnpm -r build","build-storybook":"storybook build"},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"_resolved":"C:\\Users\\cedua\\AppData\\Local\\Temp\\e38ad97bbb23936447ec0cadd5fe3ae1\\cuenti-cn-ui-0.1.6.tgz","_integrity":"sha512-9uxXsaiwz3majAY+s/tIf1zmvbI6S36kaHq/FEZV2Pos5HIEeqsascNXtTcbnDgR1U/6sBzrukNJtUe0VmoGSw==","repository":{"url":"git+https://github.com/Cuenti/cuenti-cn-ui.git","type":"git"},"_npmVersion":"11.6.0","description":"A modern React component library built with Tailwind CSS and Radix UI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"2.1.1","react":"19.1.1","react-dom":"19.1.1","tailwindcss":"4.1.13","lucide-react":"0.544.0","tailwind-merge":"3.3.1","@cuenti-cn/core":"^0.0.4","@cuenti-cn/button":"^0.0.4","@tailwindcss/vite":"4.1.13","@radix-ui/react-slot":"1.2.3","class-variance-authority":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.7","eslint":"9.36.0","rollup":"^4.28.1","vitest":"3.2.4","globals":"16.4.0","prettier":"3.6.2","chromatic":"13.2.0","storybook":"9.1.7","@eslint/js":"9.36.0","playwright":"1.55.0","typescript":"5.9.2","@types/node":"24.5.2","@types/react":"19.1.13","tw-animate-css":"1.3.8","@changesets/cli":"^2.29.7","@vitest/browser":"3.2.4","@types/react-dom":"19.1.9","rollup-plugin-dts":"^6.1.1","typescript-eslint":"8.44.1","@vitest/coverage-v8":"3.2.4","@vitejs/plugin-react":"5.0.3","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/react-vite":"9.1.7","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","@rollup/plugin-commonjs":"^28.0.1","@storybook/addon-vitest":"9.1.7","eslint-plugin-storybook":"9.1.7","@chromatic-com/storybook":"4.1.1","@rollup/plugin-typescript":"^12.1.1","eslint-plugin-react-hooks":"5.2.0","@rollup/plugin-node-resolve":"^15.3.0","eslint-plugin-react-refresh":"0.4.20"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.6_1758576722836_0.6732804819043674","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cuenti-cn/ui","version":"0.1.7","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","_id":"@cuenti-cn/ui@0.1.7","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"dist":{"shasum":"d0ab811d7a87630c7abbc2228150fd0c2daea08a","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.7.tgz","fileCount":7,"integrity":"sha512-LdJfx3Oylvr0LTytoPY4/O3nFTnVoZr+Uew7mRIusjL3h3HInGstqmQb75a4ZMcuveLg7LZZZQN6/+780um8+w==","signatures":[{"sig":"MEYCIQDzhz5B9CIdxAzlDhfZIfB9IPKG32Go153Lg98u0d6lcAIhAJ8lzgewmDaSOM0Zr7dU+TEBa5uLsjYNEcaQ8qPL+5Lp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233404},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"},"./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./styles":"./src/index.css"},"gitHead":"46a3bd684613a80d254884760e80e116ada904d8","scripts":{"dev":"vite","lint":"eslint .","build":"pnpm run build:packages && tsc -b && vite build","format":"prettier --write .","preview":"vite preview","lint:fix":"eslint . --fix","build:lib":"rollup -c","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","postinstall":"node scripts/postinstall.js","format:check":"prettier --check .","build:packages":"pnpm -r build","build-storybook":"storybook build"},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"repository":{"url":"git+https://github.com/Cuenti/cuenti-cn-ui.git","type":"git"},"_npmVersion":"11.6.0","description":"A modern React component library built with Tailwind CSS and Radix UI","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"2.1.1","react":"19.1.1","react-dom":"19.1.1","tailwindcss":"4.1.13","lucide-react":"0.544.0","tailwind-merge":"3.3.1","@cuenti-cn/core":"^0.0.4","@cuenti-cn/button":"^0.0.4","@tailwindcss/vite":"4.1.13","@radix-ui/react-slot":"1.2.3","class-variance-authority":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.7","eslint":"9.36.0","rollup":"^4.28.1","vitest":"3.2.4","globals":"16.4.0","prettier":"3.6.2","chromatic":"13.2.0","storybook":"9.1.7","@eslint/js":"9.36.0","playwright":"1.55.0","typescript":"5.9.2","@types/node":"24.5.2","@types/react":"19.1.13","tw-animate-css":"1.3.8","@changesets/cli":"^2.29.7","@vitest/browser":"3.2.4","@types/react-dom":"19.1.9","rollup-plugin-dts":"^6.1.1","typescript-eslint":"8.44.1","@vitest/coverage-v8":"3.2.4","@vitejs/plugin-react":"5.0.3","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/react-vite":"9.1.7","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","@rollup/plugin-commonjs":"^28.0.1","@storybook/addon-vitest":"9.1.7","eslint-plugin-storybook":"9.1.7","@chromatic-com/storybook":"4.1.1","@rollup/plugin-typescript":"^12.1.1","eslint-plugin-react-hooks":"5.2.0","@rollup/plugin-node-resolve":"^15.3.0","eslint-plugin-react-refresh":"0.4.20"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.7_1758577276275_0.38819007596150534","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cuenti-cn/ui","version":"0.1.8","type":"module","description":"A modern React component library built with Tailwind CSS and Radix UI","keywords":["react","components","ui","tailwind","design-system"],"author":{"name":"Cuenti"},"license":"MIT","homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","repository":{"type":"git","url":"git+https://github.com/Cuenti/cuenti-cn-ui.git"},"bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./styles":"./src/index.css","./button":{"types":"./packages/button/dist/index.d.ts","import":"./packages/button/dist/index.esm.js","require":"./packages/button/dist/index.js"},"./core":{"types":"./packages/core/dist/index.d.ts","import":"./packages/core/dist/index.esm.js","require":"./packages/core/dist/index.js"}},"scripts":{"dev":"vite","build":"pnpm run build:packages && rollup -c","build:packages":"pnpm -r build","build:lib":"rollup -c","type-check":"tsc --noEmit","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier --write .","format:check":"prettier --check .","preview":"vite preview","storybook":"storybook dev -p 6006","build-storybook":"storybook build","chromatic":"npx chromatic --project-token=chpt_59ae3391467cd90","postinstall":"node scripts/postinstall.js"},"dependencies":{"@cuenti-cn/core":"^0.0.4","@cuenti-cn/button":"^0.0.4","@radix-ui/react-slot":"1.2.3","@tailwindcss/vite":"4.1.13","class-variance-authority":"0.7.1","clsx":"2.1.1","lucide-react":"0.544.0","react":"19.1.1","react-dom":"19.1.1","tailwind-merge":"3.3.1","tailwindcss":"4.1.13"},"publishConfig":{"access":"public"},"devDependencies":{"@changesets/cli":"^2.29.7","@chromatic-com/storybook":"4.1.1","@eslint/js":"9.36.0","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-typescript":"^12.1.1","@storybook/addon-a11y":"9.1.7","@storybook/addon-docs":"9.1.7","@storybook/addon-vitest":"9.1.7","@storybook/react-vite":"9.1.7","@types/node":"24.5.2","@types/react":"19.1.13","@types/react-dom":"19.1.9","@vitejs/plugin-react":"5.0.3","@vitest/browser":"3.2.4","@vitest/coverage-v8":"3.2.4","chromatic":"13.2.0","eslint":"9.36.0","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20","eslint-plugin-storybook":"9.1.7","globals":"16.4.0","playwright":"1.55.0","prettier":"3.6.2","rollup":"^4.28.1","rollup-plugin-dts":"^6.1.1","storybook":"9.1.7","tw-animate-css":"1.3.8","typescript":"5.9.2","typescript-eslint":"8.44.1","vite":"7.1.7","vitest":"3.2.4"},"_id":"@cuenti-cn/ui@0.1.8","gitHead":"00abb19b402decb850bde99adfd6e467058c8762","_nodeVersion":"22.14.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-UwAZt28+Ulb9otP0O+Vzm1ksdgxbBU/NDnhT+fRmzw/1Z5AMdnh1ZEoV+ndVapi9EHTTnyGp7EuMmRlfobE+zQ==","shasum":"446da981c49f1ce96e835d34ca5982647d57b3f1","tarball":"https://registry.npmjs.org/@cuenti-cn/ui/-/ui-0.1.8.tgz","fileCount":9,"unpackedSize":123585,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmrAJrcKeNOzoVzw5xub+TJeA58bA9iTXbTIHjX+30BQIhANM/ZEnmBbAYcaKAsIXM+Q0TBPPUQuyr5HnMf+gQoaLR"}]},"_npmUser":{"name":"cehm","email":"ceduardo.eh@gmail.com"},"directories":{},"maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.1.8_1758577747690_0.07479781466990287"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-22T20:42:10.666Z","modified":"2025-09-22T21:49:08.083Z","0.1.1":"2025-09-22T20:42:10.970Z","0.1.2":"2025-09-22T20:52:17.031Z","0.1.4":"2025-09-22T21:20:01.793Z","0.1.5":"2025-09-22T21:21:13.283Z","0.1.6":"2025-09-22T21:32:03.023Z","0.1.7":"2025-09-22T21:41:16.497Z","0.1.8":"2025-09-22T21:49:07.872Z"},"bugs":{"url":"https://github.com/Cuenti/cuenti-cn-ui/issues"},"author":{"name":"Cuenti"},"license":"MIT","homepage":"https://github.com/Cuenti/cuenti-cn-ui#readme","keywords":["react","components","ui","tailwind","design-system"],"repository":{"type":"git","url":"git+https://github.com/Cuenti/cuenti-cn-ui.git"},"description":"A modern React component library built with Tailwind CSS and Radix UI","maintainers":[{"name":"cehm","email":"ceduardo.eh@gmail.com"}],"readme":"# Cuenti CN UI\r\n\r\nUna librería moderna de componentes React construida con Tailwind CSS y Radix UI.\r\n\r\n![Storybook](https://img.shields.io/badge/Storybook-FF4785?style=for-the-badge&logo=storybook&logoColor=white)\r\n![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)\r\n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)\r\n![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white)\r\n\r\n## 🚀 Instalación\r\n\r\n### Instalación Completa\r\n\r\nInstala todos los componentes de una vez:\r\n\r\n```bash\r\nnpm install cuenti-cn-ui\r\n# o\r\nyarn add cuenti-cn-ui\r\n# o\r\npnpm add cuenti-cn-ui\r\n```\r\n\r\n### Instalación por Componentes Individuales\r\n\r\nInstala solo los componentes que necesites para un bundle más pequeño:\r\n\r\n```bash\r\n# Primero instala las utilidades core (siempre requeridas)\r\nnpm install @cuenti-cn/core\r\n\r\n# Luego instala los componentes específicos que necesites\r\nnpm install @cuenti-cn/button\r\n\r\n# O múltiples componentes a la vez\r\nnpm install @cuenti-cn/button @cuenti-cn/core\r\n```\r\n\r\n**Ventajas de la instalación individual:**\r\n\r\n- 📦 **Bundle más pequeño** - Solo incluye lo que necesitas\r\n- 🚀 **Carga más rápida** - Menos código para cargar\r\n- 🔄 **Actualizaciones granulares** - Actualiza solo componentes específicos\r\n\r\n### Paquetes Disponibles\r\n\r\n| Paquete             | Descripción                                | Instalación                     | Tamaño |\r\n| ------------------- | ------------------------------------------ | ------------------------------- | ------ |\r\n| `cuenti-cn-ui`      | Paquete completo con todos los componentes | `npm install cuenti-cn-ui`      | ~50KB  |\r\n| `@cuenti-cn/core`   | Utilidades y estilos base (requerido)      | `npm install @cuenti-cn/core`   | ~5KB   |\r\n| `@cuenti-cn/button` | Componente Button                          | `npm install @cuenti-cn/button` | ~8KB   |\r\n\r\n**Próximos componentes en desarrollo:**\r\n\r\n- `@cuenti-cn/input` - Componente de entrada de texto\r\n- `@cuenti-cn/card` - Componente de tarjeta\r\n- `@cuenti-cn/modal` - Componente modal/dialog\r\n\r\n## 🎨 Configuración de Estilos\r\n\r\n### Configuración Automática\r\n\r\nAl instalar cualquier paquete, se ejecutará automáticamente un script que:\r\n\r\n1. 🔍 Detecta tu archivo CSS global (globals.css, global.css, index.css, etc.)\r\n2. 💾 Crea una copia de seguridad del archivo existente\r\n3. ❓ Te pregunta si deseas sobrescribirlo con los estilos de Cuenti CN UI\r\n4. ✅ Aplica los estilos necesarios para que los componentes funcionen correctamente\r\n\r\n### Configuración Manual\r\n\r\nSi prefieres configurar manualmente los estilos:\r\n\r\n```css\r\n/* En tu archivo CSS principal */\r\n@import 'cuenti-cn-ui/styles';\r\n\r\n/* O si usas componentes individuales */\r\n@import '@cuenti-cn/core/styles';\r\n```\r\n\r\n## 📦 Uso\r\n\r\n### Uso de la Librería Completa\r\n\r\n```tsx\r\nimport { Button } from 'cuenti-cn-ui'\r\n\r\nfunction App() {\r\n  return (\r\n    <Button variant=\"default\" size=\"lg\">\r\n      ¡Hola Mundo!\r\n    </Button>\r\n  )\r\n}\r\n```\r\n\r\n### Uso de Componentes Individuales\r\n\r\n```tsx\r\nimport { Button } from '@cuenti-cn/button'\r\n\r\nfunction App() {\r\n  return <Button variant=\"outline\">Botón Individual</Button>\r\n}\r\n```\r\n\r\n### Importación de Utilidades\r\n\r\n```tsx\r\nimport { cn } from '@cuenti-cn/core'\r\n\r\n// Uso de la función de utilidad para combinar clases\r\nconst buttonClass = cn('base-button-classes', condition && 'conditional-classes')\r\n```\r\n\r\n/_ O si usas componentes individuales _/\r\n@import '@cuenti-cn/core/styles';\r\n\r\n````\r\n\r\n## 📦 Uso\r\n\r\n### Uso de la Librería Completa\r\n\r\n```tsx\r\nimport { Button } from 'cuenti-cn-ui'\r\n\r\nfunction App() {\r\n  return (\r\n    <Button variant=\"default\" size=\"lg\">\r\n      ¡Hola Mundo!\r\n    </Button>\r\n  )\r\n}\r\n````\r\n\r\n### Uso de Componentes Individuales\r\n\r\n```tsx\r\nimport { Button } from '@cuenti-cn/button'\r\n\r\nfunction App() {\r\n  return <Button variant=\"outline\">Botón Individual</Button>\r\n}\r\n```\r\n\r\n### Importación de Utilidades\r\n\r\n```tsx\r\nimport { cn } from '@cuenti-cn/core'\r\n\r\n// Uso de la función de utilidad para combinar clases\r\nconst buttonClass = cn('base-button-classes', condition && 'conditional-classes')\r\n```\r\n\r\n### Ejemplos de Instalación y Uso\r\n\r\n#### Caso 1: Proyecto nuevo con todos los componentes\r\n\r\n```bash\r\n# Instalación\r\nnpm install cuenti-cn-ui\r\n\r\n# Uso\r\nimport { Button } from 'cuenti-cn-ui'\r\n```\r\n\r\n#### Caso 2: Proyecto con bundle optimization\r\n\r\n```bash\r\n# Instalación granular\r\nnpm install @cuenti-cn/core @cuenti-cn/button\r\n\r\n# Uso\r\nimport { Button } from '@cuenti-cn/button'\r\nimport { cn } from '@cuenti-cn/core'\r\n```\r\n\r\n#### Caso 3: Añadir un componente a proyecto existente\r\n\r\n```bash\r\n# Si ya tienes @cuenti-cn/core\r\nnpm install @cuenti-cn/button\r\n\r\n# Si es tu primer componente individual\r\nnpm install @cuenti-cn/core @cuenti-cn/button\r\n```\r\n\r\n## 🧱 Componentes Disponibles\r\n\r\n### Button\r\n\r\nUn componente de botón versátil con múltiples variantes y tamaños.\r\n\r\n```tsx\r\nimport { Button } from 'cuenti-cn-ui'\r\n// o\r\nimport { Button } from '@cuenti-cn/button'\r\n\r\n// Variantes disponibles\r\n<Button variant=\"default\">Default</Button>\r\n<Button variant=\"destructive\">Destructive</Button>\r\n<Button variant=\"outline\">Outline</Button>\r\n<Button variant=\"secondary\">Secondary</Button>\r\n<Button variant=\"ghost\">Ghost</Button>\r\n<Button variant=\"link\">Link</Button>\r\n\r\n// Tamaños disponibles\r\n<Button size=\"sm\">Pequeño</Button>\r\n<Button size=\"default\">Default</Button>\r\n<Button size=\"lg\">Grande</Button>\r\n<Button size=\"icon\">🔍</Button>\r\n```\r\n\r\n#### Props del Button\r\n\r\n| Prop                 | Tipo                                                                          | Default     | Descripción                                         |\r\n| -------------------- | ----------------------------------------------------------------------------- | ----------- | --------------------------------------------------- |\r\n| `variant`            | `'default' \\| 'destructive' \\| 'outline' \\| 'secondary' \\| 'ghost' \\| 'link'` | `'default'` | Estilo visual del botón                             |\r\n| `size`               | `'default' \\| 'sm' \\| 'lg' \\| 'icon'`                                         | `'default'` | Tamaño del botón                                    |\r\n| `asChild`            | `boolean`                                                                     | `false`     | Renderiza como un componente hijo usando Radix Slot |\r\n| `accessibilityLabel` | `string`                                                                      | -           | Label de accesibilidad (requerido para size=\"icon\") |\r\n\r\n## 🛠️ Desarrollo\r\n\r\n### Ejecutar Storybook\r\n\r\n```bash\r\npnpm storybook\r\n```\r\n\r\n### Build de la librería\r\n\r\n```bash\r\n# Build completo (librería + paquetes individuales)\r\npnpm build\r\n\r\n# Solo paquetes individuales\r\npnpm build:packages\r\n```\r\n\r\n### Linting y Formateo\r\n\r\n```bash\r\npnpm lint\r\npnpm format\r\n```\r\n\r\n## ➕ Añadir Nuevos Componentes\r\n\r\n### Estructura para Nuevos Componentes\r\n\r\nPara añadir un nuevo componente, sigue esta estructura de directorios:\r\n\r\n```\r\npackages/\r\n├── tu-nuevo-componente/\r\n│   ├── package.json\r\n│   ├── tsconfig.json\r\n│   ├── rollup.config.js\r\n│   └── src/\r\n│       ├── index.ts\r\n│       └── tu-componente.tsx\r\n```\r\n\r\n### Paso a Paso: Crear un Nuevo Componente\r\n\r\n#### 1. Crear la estructura del paquete\r\n\r\n```bash\r\n# Desde la raíz del proyecto\r\nmkdir packages/mi-componente\r\ncd packages/mi-componente\r\n```\r\n\r\n#### 2. Crear package.json\r\n\r\n```json\r\n{\r\n  \"name\": \"@cuenti-cn/mi-componente\",\r\n  \"version\": \"0.0.1\",\r\n  \"type\": \"module\",\r\n  \"description\": \"Mi Componente para Cuenti CN UI\",\r\n  \"main\": \"dist/index.js\",\r\n  \"module\": \"dist/index.esm.js\",\r\n  \"types\": \"dist/index.d.ts\",\r\n  \"files\": [\"dist\"],\r\n  \"exports\": {\r\n    \".\": {\r\n      \"types\": \"./dist/index.d.ts\",\r\n      \"import\": \"./dist/index.esm.js\",\r\n      \"require\": \"./dist/index.js\"\r\n    }\r\n  },\r\n  \"scripts\": {\r\n    \"build\": \"rollup -c\",\r\n    \"type-check\": \"tsc --noEmit\"\r\n  },\r\n  \"peerDependencies\": {\r\n    \"react\": \">=18.0.0\",\r\n    \"react-dom\": \">=18.0.0\"\r\n  },\r\n  \"dependencies\": {\r\n    \"@cuenti-cn/core\": \"workspace:*\",\r\n    \"@radix-ui/react-slot\": \"1.2.3\",\r\n    \"class-variance-authority\": \"0.7.1\"\r\n  },\r\n  \"devDependencies\": {\r\n    \"@rollup/plugin-commonjs\": \"^28.0.1\",\r\n    \"@rollup/plugin-node-resolve\": \"^15.3.0\",\r\n    \"@rollup/plugin-typescript\": \"^12.1.1\",\r\n    \"@types/react\": \"19.1.13\",\r\n    \"@types/react-dom\": \"19.1.9\",\r\n    \"rollup\": \"^4.28.1\",\r\n    \"rollup-plugin-dts\": \"^6.1.1\",\r\n    \"tslib\": \"^2.6.0\",\r\n    \"typescript\": \"5.9.2\"\r\n  },\r\n  \"keywords\": [\"react\", \"mi-componente\", \"component\", \"ui\", \"tailwind\"],\r\n  \"author\": \"Cuenti\",\r\n  \"license\": \"MIT\",\r\n  \"repository\": {\r\n    \"type\": \"git\",\r\n    \"url\": \"https://github.com/Cuenti/cuenti-cn-ui.git\",\r\n    \"directory\": \"packages/mi-componente\"\r\n  }\r\n}\r\n```\r\n\r\n#### 3. Crear tsconfig.json\r\n\r\n```json\r\n{\r\n  \"extends\": \"../../tsconfig.json\",\r\n  \"compilerOptions\": {\r\n    \"outDir\": \"dist\",\r\n    \"rootDir\": \"src\",\r\n    \"jsx\": \"react-jsx\",\r\n    \"module\": \"ESNext\",\r\n    \"moduleResolution\": \"bundler\",\r\n    \"skipLibCheck\": true\r\n  },\r\n  \"include\": [\"src/**/*\"],\r\n  \"exclude\": [\"**/*.test.*\", \"**/*.stories.*\"]\r\n}\r\n```\r\n\r\n#### 4. Crear rollup.config.js\r\n\r\n```javascript\r\nimport resolve from '@rollup/plugin-node-resolve'\r\nimport commonjs from '@rollup/plugin-commonjs'\r\nimport typescript from '@rollup/plugin-typescript'\r\nimport dts from 'rollup-plugin-dts'\r\n\r\nconst external = [\r\n  'react',\r\n  'react-dom',\r\n  'react/jsx-runtime',\r\n  '@radix-ui/react-slot',\r\n  'class-variance-authority',\r\n  'class-variance-authority/types',\r\n  '@cuenti-cn/core',\r\n  'tslib'\r\n]\r\n\r\nexport default [\r\n  {\r\n    input: 'src/index.ts',\r\n    output: [\r\n      {\r\n        file: 'dist/index.js',\r\n        format: 'cjs',\r\n        sourcemap: true\r\n      },\r\n      {\r\n        file: 'dist/index.esm.js',\r\n        format: 'esm',\r\n        sourcemap: true\r\n      }\r\n    ],\r\n    plugins: [\r\n      resolve({\r\n        preferBuiltins: false\r\n      }),\r\n      commonjs(),\r\n      typescript({\r\n        tsconfig: './tsconfig.json',\r\n        declaration: false,\r\n        importHelpers: true\r\n      })\r\n    ],\r\n    external\r\n  },\r\n  {\r\n    input: 'src/index.ts',\r\n    output: {\r\n      file: 'dist/index.d.ts',\r\n      format: 'esm'\r\n    },\r\n    plugins: [dts()],\r\n    external\r\n  }\r\n]\r\n```\r\n\r\n#### 5. Crear el componente\r\n\r\n**src/mi-componente.tsx:**\r\n\r\n```tsx\r\nimport * as React from 'react'\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@cuenti-cn/core'\r\n\r\nconst miComponenteVariants = cva(\r\n  'base-classes', // Clases base de Tailwind\r\n  {\r\n    variants: {\r\n      variant: {\r\n        default: 'default-variant-classes',\r\n        secondary: 'secondary-variant-classes'\r\n      },\r\n      size: {\r\n        default: 'default-size-classes',\r\n        sm: 'small-size-classes',\r\n        lg: 'large-size-classes'\r\n      }\r\n    },\r\n    defaultVariants: {\r\n      variant: 'default',\r\n      size: 'default'\r\n    }\r\n  }\r\n)\r\n\r\nexport type MiComponenteProps = React.ComponentProps<'div'> &\r\n  VariantProps<typeof miComponenteVariants> & {\r\n    asChild?: boolean\r\n  }\r\n\r\nfunction MiComponente({\r\n  className,\r\n  variant,\r\n  size,\r\n  asChild = false,\r\n  children,\r\n  ...props\r\n}: MiComponenteProps) {\r\n  const Comp = asChild ? Slot : 'div'\r\n\r\n  return (\r\n    <Comp className={cn(miComponenteVariants({ variant, size, className }))} {...props}>\r\n      {children}\r\n    </Comp>\r\n  )\r\n}\r\n\r\nexport { MiComponente, miComponenteVariants }\r\n```\r\n\r\n**src/index.ts:**\r\n\r\n```ts\r\nexport { MiComponente, miComponenteVariants } from './mi-componente'\r\nexport type { MiComponenteProps } from './mi-componente'\r\n```\r\n\r\n#### 6. Crear Storybook (Opcional)\r\n\r\n**src/mi-componente.stories.tsx:**\r\n\r\n```tsx\r\nimport type { Meta, StoryObj } from '@storybook/react'\r\nimport { MiComponente } from './mi-componente'\r\n\r\nconst meta: Meta<typeof MiComponente> = {\r\n  title: 'Components/MiComponente',\r\n  component: MiComponente,\r\n  parameters: {\r\n    layout: 'centered'\r\n  },\r\n  tags: ['autodocs'],\r\n  argTypes: {\r\n    variant: {\r\n      control: { type: 'select' },\r\n      options: ['default', 'secondary']\r\n    }\r\n  }\r\n}\r\n\r\nexport default meta\r\ntype Story = StoryObj<typeof meta>\r\n\r\nexport const Default: Story = {\r\n  args: {\r\n    children: 'Mi Componente'\r\n  }\r\n}\r\n\r\nexport const Secondary: Story = {\r\n  args: {\r\n    variant: 'secondary',\r\n    children: 'Mi Componente Secundario'\r\n  }\r\n}\r\n```\r\n\r\n#### 7. Añadir al paquete principal\r\n\r\nActualiza `src/index.ts` en la raíz:\r\n\r\n```ts\r\n// Exports existentes...\r\nexport { MiComponente, miComponenteVariants } from '@cuenti-cn/mi-componente'\r\nexport type { MiComponenteProps } from '@cuenti-cn/mi-componente'\r\n```\r\n\r\nActualiza `package.json` principal para incluir el nuevo export:\r\n\r\n```json\r\n{\r\n  \"exports\": {\r\n    // ... exports existentes\r\n    \"./mi-componente\": {\r\n      \"types\": \"./packages/mi-componente/dist/index.d.ts\",\r\n      \"import\": \"./packages/mi-componente/dist/index.esm.js\",\r\n      \"require\": \"./packages/mi-componente/dist/index.js\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n#### 8. Build y test\r\n\r\n```bash\r\n# Instalar dependencias\r\npnpm install\r\n\r\n# Build del nuevo componente\r\ncd packages/mi-componente\r\npnpm build\r\n\r\n# Build completo\r\ncd ../..\r\npnpm build\r\n\r\n# Test en Storybook\r\npnpm storybook\r\n```\r\n\r\n### Publicar el Nuevo Componente\r\n\r\n```bash\r\n# Desde packages/mi-componente\r\nnpm publish --access public\r\n```\r\n\r\n## 💡 Mejores Prácticas\r\n\r\n### Instalación Recomendada por Tipo de Proyecto\r\n\r\n| Tipo de Proyecto               | Recomendación                             | Razón                                                 |\r\n| ------------------------------ | ----------------------------------------- | ----------------------------------------------------- |\r\n| **Proyecto pequeño/prototipo** | `npm install cuenti-cn-ui`                | Instalación rápida, todos los componentes disponibles |\r\n| **Aplicación en producción**   | Instalación individual por componente     | Bundle más pequeño, mejor performance                 |\r\n| **Librería/paquete NPM**       | Instalación individual                    | Evita dependencias innecesarias                       |\r\n| **Aplicación empresarial**     | Instalación individual + alias de imports | Máximo control y optimización                         |\r\n\r\n### Optimización de Bundle\r\n\r\n```typescript\r\n// ✅ Buena práctica - importación específica\r\nimport { Button } from '@cuenti-cn/button'\r\nimport { cn } from '@cuenti-cn/core'\r\n\r\n// ❌ Evitar - importación completa innecesaria\r\nimport { Button } from 'cuenti-cn-ui' // Si solo necesitas Button\r\n```\r\n\r\n### Alias de Importación (Recomendado para proyectos grandes)\r\n\r\n```json\r\n// tsconfig.json o vite.config.ts\r\n{\r\n  \"compilerOptions\": {\r\n    \"baseUrl\": \".\",\r\n    \"paths\": {\r\n      \"@ui/*\": [\"node_modules/@cuenti-cn/*/src\"],\r\n      \"@ui/core\": [\"node_modules/@cuenti-cn/core/src\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n```tsx\r\n// Uso con alias\r\nimport { Button } from '@ui/button'\r\nimport { cn } from '@ui/core'\r\n```\r\n\r\n## 🔧 Troubleshooting\r\n\r\n### Problema: Estilos no se aplican\r\n\r\n**Solución:**\r\n\r\n1. Verifica que hayas importado los estilos:\r\n   ```css\r\n   @import '@cuenti-cn/core/styles';\r\n   ```\r\n2. Asegúrate de que Tailwind CSS esté configurado en tu proyecto\r\n3. Ejecuta el script postinstall manualmente:\r\n   ```bash\r\n   node node_modules/@cuenti-cn/core/scripts/postinstall.js\r\n   ```\r\n\r\n### Problema: Tipos TypeScript no funcionan\r\n\r\n**Solución:**\r\n\r\n1. Asegúrate de tener `@types/react` instalado\r\n2. Verifica que `moduleResolution` esté en `\"bundler\"` o `\"node\"`\r\n3. Añade a tu `tsconfig.json`:\r\n   ```json\r\n   {\r\n     \"compilerOptions\": {\r\n       \"skipLibCheck\": true\r\n     }\r\n   }\r\n   ```\r\n\r\n### Problema: Build errors con \"Cannot resolve module\"\r\n\r\n**Solución:**\r\n\r\n1. Instala `@cuenti-cn/core` si usas componentes individuales\r\n2. Verifica que todas las peerDependencies estén instaladas:\r\n   ```bash\r\n   npm install react react-dom @types/react @types/react-dom\r\n   ```\r\n\r\n### Problema: Bundle muy grande\r\n\r\n**Solución:**\r\n\r\n1. Usa instalación individual en lugar del paquete completo\r\n2. Implementa tree-shaking en tu bundler\r\n3. Verifica que uses importaciones específicas, no wildcard imports\r\n\r\n## 🔄 Versionado y Actualizaciones\r\n\r\n### Estrategia de Versionado\r\n\r\nSeguimos [Semantic Versioning](https://semver.org/):\r\n\r\n- **Patch** (0.0.x): Bug fixes y mejoras menores\r\n- **Minor** (0.x.0): Nuevos componentes y features\r\n- **Major** (x.0.0): Breaking changes\r\n\r\n### Actualizar Componentes\r\n\r\n```bash\r\n# Actualizar todos los paquetes de Cuenti CN UI\r\nnpm update cuenti-cn-ui @cuenti-cn/core @cuenti-cn/button\r\n\r\n# Actualizar un componente específico\r\nnpm update @cuenti-cn/button\r\n\r\n# Verificar versiones instaladas\r\nnpm list | grep cuenti-cn\r\n```\r\n\r\n### Migración entre Versiones Mayores\r\n\r\nConsulta siempre el [CHANGELOG.md](./CHANGELOG.md) para guías de migración detalladas entre versiones mayores.\r\n\r\n## 📖 Documentación\r\n\r\n- 📚 [Storybook](http://localhost:6006) - Documentación interactiva de componentes\r\n- 🔗 [Repositorio GitHub](https://github.com/Cuenti/cuenti-cn-ui)\r\n\r\n## 🤝 Contribuir\r\n\r\nLas contribuciones son bienvenidas. Por favor:\r\n\r\n1. Haz fork del repositorio\r\n2. Crea una rama para tu feature (`git checkout -b feature/nueva-caracteristica`)\r\n3. Commit tus cambios (`git commit -am 'Añadir nueva característica'`)\r\n4. Push a la rama (`git push origin feature/nueva-caracteristica`)\r\n5. Abre un Pull Request\r\n\r\n## 📄 Licencia\r\n\r\nMIT © [Cuenti](https://github.com/Cuenti)\r\n\r\n## 🙏 Agradecimientos\r\n\r\n- [Radix UI](https://www.radix-ui.com/) - Primitivos accesibles\r\n- [Tailwind CSS](https://tailwindcss.com/) - Framework de utilidades CSS\r\n- [class-variance-authority](https://cva.style/) - Para gestión de variantes\r\n- [Storybook](https://storybook.js.org/) - Para documentación de componentes\r\n","readmeFilename":"README.md"}