{"_id":"@aravi1008/ui","_rev":"10-18cb01d6d0b130969d1afc08c360b48d","name":"@aravi1008/ui","dist-tags":{"latest":"1.5.0"},"versions":{"0.0.1":{"name":"@aravi1008/ui","version":"0.0.1","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@0.0.1","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"93e72796fa4b3cce53f9c46c660ee747fcdbf645","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-0.0.1.tgz","fileCount":117,"integrity":"sha512-bkrNEgjqoVRgeyKvid0QWw6zGOBSyrZLx9rBPBuKg8I86vPZl5ZOhPxayT+wGgvrNWnGCK7ueARM3mJbKFi6IQ==","signatures":[{"sig":"MEUCIQDvaniwxm+ToXlcBmxsCllYXO9f1Lkf6veG/b9vQVRsvQIgGiDPlhgLkYMMDYKoSi2jQXdjcsS6ETAbp57UgV5pr8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355539},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"9e5faa7eec6c6916ff48d51f17af25ac5ef0c400","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"11.9.0","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","vite":"^8.0.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.0.1_1773822624626_0.6622266559011885","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@aravi1008/ui","version":"1.0.0","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.0.0","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"949d383882dd407dd04efeccb680e2bbf4576c35","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.0.0.tgz","fileCount":184,"integrity":"sha512-2Bry6MPxbpscbYwP/FVf/MERUGv5A425U3kvSwr6NrNwA6gh30JapGS8K+adgA2IvIBZFd/NI22qEf0NYze7IA==","signatures":[{"sig":"MEQCIHDJsVpMhIjy+V5DfXlVJt+EbTS14rwEccQfX4tOJ2vLAiAGX0IIreanPTZ9QgDiammU5sfvfgmUx32TvX61jpDmvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1174446},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"0fef3aea73dd4f9f1bc3ef4e75a0d9d9d2028b76","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.0_1774507391036_0.2575575721206411","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aravi1008/ui","version":"1.0.1","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.0.1","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"2e0824be46eadf34bd89183680f021bd8dcda13a","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.0.1.tgz","fileCount":184,"integrity":"sha512-/IkTl0arV6BS0zcfrpWNublzP6w2aIEVgmuAEVdRGp8beTQ7JQ33i3O/YnueJMh0BKOUPLv8viUWugyNYVkk1Q==","signatures":[{"sig":"MEUCIQDQj+aqbYVXBKiMZSXjRnB8o9dQYrXlIeogEStVH3BJgAIgL/hiRA6l5v13/21HfRQJlC6xuZJCzuU2VGx5wCBKfq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1174446},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"61bd79bd1f641d3d43412e995bbcf638c2de9145","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.1_1774509082872_0.6888176354893307","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aravi1008/ui","version":"1.1.0","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.1.0","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"78d2fddc483440797c46518352240b951cd2c70b","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.1.0.tgz","fileCount":184,"integrity":"sha512-VACuHYLvMS5yLjoXRNzNtsJvrNcipz0O4+5wqB7YET83O7H4GBYZV6Ynob78KZ0RT/d5lIjyKiWi5+fU6p7vbw==","signatures":[{"sig":"MEUCIFF1irxdlvo+B3GgM7V/w1XuDgRcWvRThW6ooiNeyzWVAiEAjkQQD0W5vTwQX56VXcCDbVvY2jMAVQmNUgLuGPxu7vU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1204057},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"e559f514c11031d9c986d2c34bf0c4f7c4199acc","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.1.0_1774512441135_0.726570067553205","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aravi1008/ui","version":"1.2.0","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.2.0","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"2261b50c507ed9f1734745b4d6e21b5ac88fd361","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.2.0.tgz","fileCount":184,"integrity":"sha512-3//ntJBHabKwioOcD4rhG3YYIXuAFk7OiVQKTqfzcjzXlLjCZHD0V4s13896YhjmiNUnMPLh8Nv5qRMrGhmq7Q==","signatures":[{"sig":"MEQCIFdp1UrAgzeon5L3mftZEmzu4pMu0kDuGnK5yiwNVeIRAiA4J/LqExICu6UucFZEFU6A0zro52NgJ5OW6Kdu4hQsow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1224831},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"9387221cff55189123d85bebc5a29d210b4821e8","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.2.0_1774547730218_0.7461464843546262","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@aravi1008/ui","version":"1.3.0","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.3.0","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"836e31b682a33608b5f018fd631b8a3c25560dcd","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.3.0.tgz","fileCount":184,"integrity":"sha512-3sTmxkYsfTXJf4qu7c58zuvDmaff1X1qnXt3QANuBkmmZj+K5YZwvpcuikwSM/Dh5uIHd1/3hRRl0xPm0yYnXg==","signatures":[{"sig":"MEUCIQCpEc1K1iYdmAg0AM4tuctG+dsAWm/gXt0Nvtmb/BfTlQIgPhspJIg9FvmTYPd5hx8d88c7QtnoH46Jn44rry3oKEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1244823},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"6cf940e243b9898ec62952c217d68e8f13843e74","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.3.0_1774548356034_0.4033025632021361","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@aravi1008/ui","version":"1.3.1","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.3.1","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"475ee317c63c58458b21340c8f17e2cda325d8d4","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.3.1.tgz","fileCount":184,"integrity":"sha512-mp8FARo+gyeBM4VkKTKjDstIG4bSgNuVo+X2IKm3WizfJ464wAi2WphxS/Q8zZw5RSiwk6WncxDs9PIMpzRoBQ==","signatures":[{"sig":"MEUCIQCYIEvFh7GVndeZZq6ajyG3l1W3AumEIlVD1l2Q3yisxwIgcSC93VIytMC8O0OB2cjVS9aR9uE0YBGEmPeEn6W6lAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1247049},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"6df7777d151315b305e9f5e884ee6ca827874a77","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.3.1_1774581555452_0.8282098373474764","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@aravi1008/ui","version":"1.4.0","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.4.0","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"d20d38e12c3d6748d7167f0b703387c1c296cd8b","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.4.0.tgz","fileCount":184,"integrity":"sha512-R5HmvRql4yCEJ3GieZWfXM4SGm3PzC4zjLiwGO4J4vhs8NwXZ5vNmBwouWEN4SB5XriDd7z92Fe0SrzT9Kojyg==","signatures":[{"sig":"MEYCIQDzCZjnd01S1XxecAO14tk4pN1J1AI/G5IIdPPr8UdGZAIhAL2/uL4tOBlHwMyRfhcQ0u9jJWNMqSdP7hVQPs1ovfI3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1284709},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./less":"./src/index.less","./scss":"./src/index.scss","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./css/min":"./dist/index.min.css","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"eb690d767d5781424e1e24979fcb69ac94d3be0d","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.4.0_1774846717140_0.9617145097676036","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@aravi1008/ui","version":"1.4.1","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","_id":"@aravi1008/ui@1.4.1","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"dist":{"shasum":"a1abc0c2c6186ca38928a76e738948129d414429","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.4.1.tgz","fileCount":182,"integrity":"sha512-Zcozwa89LXiTchUgSzfR2hs0R+Mp9DhLHvNYLFUjHQEZhzPnPwaq/BRTTKRzi+ST/aH4EBZoKNrr55rMGf297Q==","signatures":[{"sig":"MEYCIQDGbRHluXDuwqSgdQuMcOHR5U8UUgNxRvjZhZdPnrtrPQIhAL5F/J6FBv149bratoSjJ/eYBlpiJnFZsWQA3ufo1Ca7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":662077},"main":"./dist/index.cjs","type":"module","style":"./dist/index.css","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"npm":">=9.0.0","node":">=18.0.0"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./icons":"./dist/icons/sprite.svg","./tokens":"./dist/tokens/tokens.js","./icons/*":"./dist/icons/*.svg","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss"},"gitHead":"9d5b5abea2162d790600fd353e3b2e12e8046685","scripts":{"dev":"rollup -c rollup.config.js --watch","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","clean":"rimraf dist","lint:js":"eslint tokens tests scripts src --ext .js,.ts","release":"semantic-release","build:js":"rollup -c rollup.js.config.js","lint:css":"stylelint 'src/**/*.{css,scss}'","build:css":"rollup -c rollup.config.js","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","build:icons":"node scripts/build-icons.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build:tokens":"node tokens/build.js","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"overrides":{"picomatch":"^4.0.4"},"repository":{"url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git","type":"git"},"_npmVersion":"10.9.6","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","directories":{},"sideEffects":["**/*.css","**/*.scss"],"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","sass":"^1.72.0","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.13.0","cssnano":"^6.1.2","postcss":"^8.4.38","stylelint":"^16.3.1","autoprefixer":"^10.4.18","postcss-scss":"^4.0.9","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","rollup-plugin-postcss":"^4.0.2","jest-environment-jsdom":"^30.3.0","@semantic-release/github":"^9.0.0","@semantic-release/changelog":"^6.0.3","stylelint-config-standard-scss":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui_1.4.1_1775494649544_0.2754838136304665","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@aravi1008/ui","version":"1.5.0","description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","author":{"name":"Aravindhan Sivaraman"},"license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","style":"./dist/index.css","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./css":"./dist/index.css","./tokens":"./dist/tokens/tokens.js","./tokens/css":"./dist/tokens/variables.css","./tokens/scss":"./dist/tokens/variables.scss","./themes/*":"./dist/themes/*.css","./components":{"import":"./dist/components.js","require":"./dist/components.cjs"},"./icons":"./dist/icons/sprite.svg","./icons/*":"./dist/icons/*.svg"},"types":"./dist/index.d.ts","scripts":{"build:tokens":"node tokens/build.js","build:css":"rollup -c rollup.config.js","build:icons":"node scripts/build-icons.js","build:js":"rollup -c rollup.js.config.js","build:types":"cp src/index.d.ts dist/index.d.ts && cp src/components.d.ts dist/components.d.ts","build":"npm run build:tokens && npm run build:icons && npm run build:css && npm run build:js && npm run build:types","dev":"rollup -c rollup.config.js --watch","lint:js":"eslint tokens tests scripts src --ext .js,.ts","lint:css":"stylelint 'src/**/*.{css,scss}'","lint":"npm run lint:js && npm run lint:css","test":"node --experimental-vm-modules node_modules/.bin/jest --coverage","test:watch":"node --experimental-vm-modules node_modules/.bin/jest --watch","clean":"rimraf dist","prepublishOnly":"npm run lint && npm run build","release":"semantic-release"},"keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"repository":{"type":"git","url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git"},"bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^9.0.0","@semantic-release/npm":"^11.0.0","autoprefixer":"^10.4.18","cssnano":"^6.1.2","eslint":"^8.57.0","jest":"^29.7.0","jest-environment-jsdom":"^30.3.0","postcss":"^8.4.38","postcss-scss":"^4.0.9","rimraf":"^5.0.5","rollup":"^4.13.0","rollup-plugin-postcss":"^4.0.2","sass":"^1.72.0","semantic-release":"^23.0.8","style-dictionary":"^4.1.4","stylelint":"^16.3.1","stylelint-config-standard-scss":"^13.1.0"},"overrides":{"picomatch":"^4.0.4"},"engines":{"node":">=18.0.0","npm":">=9.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"sideEffects":["**/*.css","**/*.scss"],"_id":"@aravi1008/ui@1.5.0","gitHead":"802edcdbfcc502b92acfd0a9025af17ea00c9b69","_nodeVersion":"20.20.2","_npmVersion":"10.9.6","dist":{"integrity":"sha512-dFCyVrncx7L2lLMIreSIkdMLbj+LH2uPlvHjaKxGb7rRIk6t3Cp59JeHYqIaXzYldtSQr076z8AGCW0MpO/Mtw==","shasum":"9e8a5a6bd065789d6d8607aec658a691a680085d","tarball":"https://registry.npmjs.org/@aravi1008/ui/-/ui-1.5.0.tgz","fileCount":252,"unpackedSize":716179,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGo1bbr1cZ3hhuTKwYDTJgovvGjnTk8m2SZw21ZO+jJeAiEAxNjWlaDM/lZnCukDIT1eAP6+bdnNgQWXFF3UKbnLQ1o="}]},"_npmUser":{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"},"directories":{},"maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_1.5.0_1776881768991_0.16941557606744917"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T08:30:24.550Z","modified":"2026-04-22T18:16:09.292Z","0.0.1":"2026-03-18T08:30:24.773Z","1.0.0":"2026-03-26T06:43:11.210Z","1.0.1":"2026-03-26T07:11:23.069Z","1.1.0":"2026-03-26T08:07:21.280Z","1.2.0":"2026-03-26T17:55:30.452Z","1.3.0":"2026-03-26T18:05:56.227Z","1.3.1":"2026-03-27T03:19:15.702Z","1.4.0":"2026-03-30T04:58:37.311Z","1.4.1":"2026-04-06T16:57:29.695Z","1.5.0":"2026-04-22T18:16:09.137Z"},"bugs":{"url":"https://github.com/AravindS-Wick/aravindhan-ui/issues"},"author":{"name":"Aravindhan Sivaraman"},"license":"MIT","homepage":"https://github.com/AravindS-Wick/aravindhan-ui#readme","keywords":["css","design-system","ui","scss","themes","components","utilities","responsive","icons","design-tokens"],"repository":{"type":"git","url":"git+https://github.com/AravindS-Wick/aravindhan-ui.git"},"description":"A personal professional-grade design system — global CSS, themes, icons, utilities, components. One install, full project setup.","maintainers":[{"name":"aravi1008","email":"aravindhanoff8726@gmail.com"}],"readme":"# @aravi1008/ui\n\n> **One install. Full design system.** Global CSS, design tokens, 6 themes, 150+ icons, 25 components, interactive JS, and TypeScript types — framework-agnostic, production-ready.\n\n[![npm version](https://img.shields.io/npm/v/@aravi1008/ui)](https://www.npmjs.com/package/@aravi1008/ui)\n[![npm downloads](https://img.shields.io/npm/dm/@aravi1008/ui)](https://www.npmjs.com/package/@aravi1008/ui)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Coverage](https://img.shields.io/badge/coverage-95%25-brightgreen)](https://github.com/AravindS-Wick/aravindhan-ui)\n\n---\n\n## What is this?\n\n`@aravi1008/ui` is a CSS-class-based design system — similar to Bootstrap, but modern:\n\n- **Design tokens** — CSS custom properties, SCSS vars, and JS exports for consistent spacing, colour, and type scale\n- **6 built-in themes** — switchable at runtime via a data attribute or JS API, no page reload\n- **150+ SVG icons** — single sprite, inline or `<use>`, any size\n- **25 CSS components** — buttons, cards, modals, drawers, toasts, accordions, tables, and more\n- **Zero-dependency JS API** — wire interactive components with one call: `initAll()`\n- **Full TypeScript types** — for every public function and interface\n- **Works everywhere** — React, Vue, Angular, Svelte, Next.js, Nuxt, plain HTML, HTMX\n\n---\n\n## Install\n\n```bash\nnpm install @aravi1008/ui\n```\n\n---\n\n## Quick Start — 5 minutes to a full design system\n\n### 1. Import the CSS\n\n```js\n// In your app entry — main.js, _app.tsx, main.ts, etc.\nimport '@aravi1008/ui/css';\n```\n\nOr via SCSS / LESS:\n\n```scss\n/* SCSS */\n@use '@aravi1008/ui/scss';\n```\n\n```less\n/* LESS */\n@import '@aravi1008/ui/less';\n```\n\n### 2. Set a theme (optional — defaults to `light`)\n\n```html\n<!-- On your root element -->\n<html data-av-theme=\"light\">\n```\n\n```js\n// Or via JS — reads OS dark mode pref automatically\nimport { initTheme } from '@aravi1008/ui';\ninitTheme('light');\n```\n\n### 3. Start using components\n\n```html\n<button class=\"av-btn av-btn-primary\">Get Started</button>\n<span class=\"av-badge av-badge-success\">New</span>\n<div class=\"av-alert av-alert-info\">Your changes were saved.</div>\n```\n\n### 4. Wire interactive components (once)\n\n```js\nimport { initAll } from '@aravi1008/ui/components';\ninitAll(); // wires all modals, drawers, dropdowns, accordions, tabs\n```\n\nThat's it. Consistent design system across your entire project in 4 steps.\n\n---\n\n## Why use this instead of plain CSS?\n\n| Problem | `@aravi1008/ui` solution |\n|---------|--------------------------|\n| Spacing is inconsistent across the codebase | Token scale — `var(--av-spacing-4)` everywhere, same values |\n| Adding dark mode is a week of work | Built in. `data-av-theme=\"dark\"` on `<html>` — done |\n| Rebuilding buttons and modals every project | 25 pre-built components, one class name away |\n| No icon system | 150 SVG icons in one sprite — works like a font |\n| Framework lock-in | Pure CSS — same classes in React, Vue, Angular, plain HTML |\n| Accessibility gaps | `:focus-visible`, `prefers-reduced-motion`, ARIA on all interactive components |\n| TypeScript types for the JS API | Ships with full `.d.ts` — autocomplete in every IDE |\n\n---\n\n## Framework Integration\n\n### React / Next.js\n\n```tsx\n// app/layout.tsx  or  pages/_app.tsx\nimport '@aravi1008/ui/css';\n\n// Use classes directly on JSX\nexport default function Page() {\n  return (\n    <div className=\"av-container av-py-8\">\n      <h1 className=\"av-text-3xl av-font-bold av-mb-4\">Hello</h1>\n      <button className=\"av-btn av-btn-primary av-btn-lg\">Get started</button>\n    </div>\n  );\n}\n```\n\n```tsx\n// Wire interactive components once — supports SPA re-renders\n'use client';\nimport { useEffect } from 'react';\nimport { initAll } from '@aravi1008/ui/components';\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n  useEffect(() => {\n    const cleanup = initAll({ observe: true }); // MutationObserver for dynamic content\n    return cleanup;\n  }, []);\n  return <>{children}</>;\n}\n```\n\n### Vue 3 / Nuxt\n\n```ts\n// main.ts  or  plugins/ui.ts\nimport '@aravi1008/ui/css';\nimport { initAll } from '@aravi1008/ui/components';\n\napp.mount('#app');\ninitAll({ observe: true });\n```\n\n```vue\n<template>\n  <div class=\"av-card av-p-6\">\n    <h2 class=\"av-text-xl av-font-semibold av-mb-3\">Card Title</h2>\n    <button class=\"av-btn av-btn-primary\" @click=\"save\">Save</button>\n  </div>\n</template>\n```\n\n### Angular\n\n```json\n// angular.json — add to styles array:\n\"node_modules/@aravi1008/ui/dist/index.css\"\n```\n\n```ts\n// app.component.ts\nimport { initAll } from '@aravi1008/ui/components';\n\n@Component({ ... })\nexport class AppComponent implements OnInit {\n  ngOnInit() { initAll(); }\n}\n```\n\n```html\n<!-- template -->\n<button class=\"av-btn av-btn-primary\">Submit</button>\n```\n\n### Svelte / SvelteKit\n\n```ts\n// src/app.css  or  +layout.ts\nimport '@aravi1008/ui/css';\n```\n\n```svelte\n<script>\n  import { onMount, onDestroy } from 'svelte';\n  import { initAll } from '@aravi1008/ui/components';\n  let cleanup;\n  onMount(() => { cleanup = initAll({ observe: true }); });\n  onDestroy(() => cleanup?.());\n</script>\n\n<button class=\"av-btn av-btn-primary\">Click</button>\n```\n\n### Plain HTML / CDN\n\n```html\n<link rel=\"stylesheet\" href=\"https://unpkg.com/@aravi1008/ui/dist/index.css\">\n<script type=\"module\">\n  import { initAll, toast } from 'https://unpkg.com/@aravi1008/ui/dist/components.js';\n  initAll();\n  document.querySelector('#btn').onclick = () =>\n    toast.show({ title: 'Hello!', type: 'success' });\n</script>\n```\n\n---\n\n## Theming\n\nSix built-in themes — switch at any time with no flash:\n\n```html\n<html data-av-theme=\"light\">        <!-- default, clean white -->\n<html data-av-theme=\"dark\">         <!-- deep charcoal, auto via OS pref -->\n<html data-av-theme=\"forest\">       <!-- earthy greens -->\n<html data-av-theme=\"ocean\">        <!-- blue-teal -->\n<html data-av-theme=\"professional\"> <!-- corporate blue -->\n<html data-av-theme=\"corporate\">    <!-- navy + gold -->\n```\n\n**JS API:**\n\n```js\nimport { setTheme, getTheme, initTheme } from '@aravi1008/ui';\n\ninitTheme('light');                        // init — reads localStorage, falls back to OS pref\nsetTheme('dark');                          // switch\nsetTheme('forest', { persist: true });     // switch + save to localStorage\ngetTheme();                                // → 'forest'\n```\n\n**Scoped themes** (different theme per section):\n\n```html\n<div data-av-theme=\"dark\" class=\"av-p-6\">\n  <!-- Everything inside uses the dark theme, rest of page unchanged -->\n  <button class=\"av-btn av-btn-primary\">Dark Button</button>\n</div>\n```\n\n---\n\n## Components\n\n### Buttons\n\n```html\n<button class=\"av-btn av-btn-primary\">Primary</button>\n<button class=\"av-btn av-btn-secondary\">Secondary</button>\n<button class=\"av-btn av-btn-outline\">Outline</button>\n<button class=\"av-btn av-btn-ghost\">Ghost</button>\n<button class=\"av-btn av-btn-danger\">Danger</button>\n<button class=\"av-btn av-btn-success\">Success</button>\n\n<!-- Sizes: xs / sm / (default) / lg / xl -->\n<button class=\"av-btn av-btn-primary av-btn-xs\">XS</button>\n<button class=\"av-btn av-btn-primary av-btn-lg\">Large</button>\n\n<!-- States -->\n<button class=\"av-btn av-btn-primary av-btn-loading\">Saving…</button>\n<button class=\"av-btn av-btn-primary av-btn-block\">Full Width</button>\n```\n\n### Modal\n\n```html\n<button class=\"av-btn av-btn-primary\" data-av-modal-open=\"#confirm\">Open</button>\n\n<div class=\"av-modal-backdrop\" id=\"confirm\">\n  <div class=\"av-modal av-modal-md\">\n    <div class=\"av-modal-header\">\n      <h2 class=\"av-modal-title\">Confirm</h2>\n      <button class=\"av-modal-close\" data-av-modal-close aria-label=\"Close\">&times;</button>\n    </div>\n    <div class=\"av-modal-body\"><p>Are you sure?</p></div>\n    <div class=\"av-modal-footer\">\n      <button class=\"av-btn av-btn-outline\" data-av-modal-close>Cancel</button>\n      <button class=\"av-btn av-btn-danger\">Delete</button>\n    </div>\n  </div>\n</div>\n```\n\n```js\nimport { modal } from '@aravi1008/ui/components';\nmodal.open('#confirm');\nmodal.close('#confirm');\n```\n\n### Toast\n\n```js\nimport { toast } from '@aravi1008/ui/components';\n\ntoast.show({ title: 'Saved!', type: 'success' });\ntoast.show({ title: 'Error', description: 'Please try again.', type: 'error', duration: 0 });\n\ntoast.configure({ maxVisible: 3 }); // queue excess toasts, show when space clears\n```\n\n### Drawer\n\n```html\n<button data-av-drawer-open=\"#sidebar\">Open Sidebar</button>\n\n<div class=\"av-drawer-backdrop\" id=\"sidebar\">\n  <aside class=\"av-drawer av-drawer-left av-drawer-md\">\n    <div class=\"av-drawer-header\">\n      <h2>Menu</h2>\n      <button data-av-drawer-close aria-label=\"Close\">&times;</button>\n    </div>\n    <div class=\"av-drawer-body\"><nav>...</nav></div>\n  </aside>\n</div>\n```\n\n### Dropdown\n\n```html\n<div class=\"av-dropdown\">\n  <button class=\"av-dropdown-trigger av-btn av-btn-outline\">Options ▾</button>\n  <ul class=\"av-dropdown-menu\">\n    <li class=\"av-dropdown-item\" tabindex=\"0\">Edit</li>\n    <li class=\"av-dropdown-item\" tabindex=\"0\">Duplicate</li>\n    <li class=\"av-dropdown-divider\"></li>\n    <li class=\"av-dropdown-item av-dropdown-item-danger\" tabindex=\"0\">Delete</li>\n  </ul>\n</div>\n```\n\n### Accordion\n\n```html\n<div class=\"av-accordion\">\n  <div class=\"av-accordion-item\">\n    <button class=\"av-accordion-trigger\" aria-expanded=\"false\" aria-controls=\"a1\">\n      Question\n      <svg class=\"av-accordion-icon av-icon\"><use href=\"#chevron-down\"/></svg>\n    </button>\n    <div id=\"a1\" class=\"av-accordion-content\">\n      <div class=\"av-accordion-body\">Answer goes here.</div>\n    </div>\n  </div>\n</div>\n```\n\n### Alert / Badge / Card\n\n```html\n<!-- Alerts -->\n<div class=\"av-alert av-alert-info\">Informational message.</div>\n<div class=\"av-alert av-alert-success\">Completed successfully.</div>\n<div class=\"av-alert av-alert-warning\">Review before continuing.</div>\n<div class=\"av-alert av-alert-error\">Something went wrong.</div>\n\n<!-- Badges -->\n<span class=\"av-badge av-badge-primary\">Beta</span>\n<span class=\"av-badge av-badge-success\">Active</span>\n<span class=\"av-badge av-badge-warning\">Pending</span>\n\n<!-- Card -->\n<div class=\"av-card av-card-shadow av-card-hover\">\n  <div class=\"av-card-header\">\n    <h3 class=\"av-card-title\">Card</h3>\n  </div>\n  <div class=\"av-card-body\"><p>Content</p></div>\n  <div class=\"av-card-footer\">\n    <button class=\"av-btn av-btn-primary av-btn-sm\">View</button>\n  </div>\n</div>\n```\n\n### Other Components\n\n| Component | Class prefix |\n|-----------|-------------|\n| Table | `av-table`, `av-table-striped`, `av-table-hover` |\n| Tabs | `av-tabs`, `av-tab`, `av-tab-active`, `av-tab-panel` |\n| Progress bar | `av-progress`, `av-progress-bar` |\n| Skeleton loader | `av-skeleton`, `av-skeleton-text`, `av-skeleton-circle` |\n| Switch / Toggle | `av-switch`, `av-switch-checked` |\n| Avatar | `av-avatar`, `av-avatar-group`, `av-avatar-sm/lg` |\n| Breadcrumb | `av-breadcrumb`, `av-breadcrumb-item` |\n| Pagination | `av-pagination`, `av-page-item`, `av-page-active` |\n| Tooltip | `av-tooltip` (data-av-tooltip attribute) |\n| Spinner | `av-spinner`, `av-spinner-primary/sm/lg` |\n| Stat / KPI | `av-stat`, `av-stat-value`, `av-stat-label` |\n| Stepper | `av-stepper`, `av-step`, `av-step-active/complete` |\n| Timeline | `av-timeline`, `av-timeline-item` |\n| Navbar | `av-navbar`, `av-navbar-toggle`, `av-navbar-collapse` |\n\n---\n\n## Data Table\n\n```js\nimport { createTable } from '@aravi1008/ui/components';\n\nconst ctrl = createTable('#my-table', {\n  columns: [\n    { key: 'name',   label: 'Name',   sortable: true },\n    { key: 'role',   label: 'Role' },\n    { key: 'status', label: 'Status',\n      render: (v) => `<span class=\"av-badge av-badge-${v === 'active' ? 'success' : 'error'}\">${v}</span>` },\n  ],\n  rows: [\n    { name: 'Alice', role: 'Engineer', status: 'active' },\n    { name: 'Bob',   role: 'Designer', status: 'inactive' },\n  ],\n  pagination: { enabled: true, rowsPerPage: 10 },\n  striped: true,\n  hoverable: true,\n});\n\n// Programmatic updates\nctrl.setRows(newData);\nctrl.setLoading(true);\nctrl.sort('name', 'asc');\nctrl.setPage(2);\nctrl.destroy();\n```\n\n---\n\n## Utilities\n\n```html\n<!-- Spacing -->\n<div class=\"av-p-4 av-m-2 av-mx-auto av-gap-6\">...</div>\n\n<!-- Flex -->\n<div class=\"av-flex av-items-center av-justify-between av-gap-4\">...</div>\n\n<!-- Grid -->\n<div class=\"av-grid av-grid-cols-3 av-gap-6\">...</div>\n\n<!-- Typography -->\n<h1 class=\"av-text-4xl av-font-bold av-tracking-tight\">Heading</h1>\n<p class=\"av-text-sm av-text-secondary av-leading-relaxed\">Body</p>\n\n<!-- Colours -->\n<div class=\"av-bg-primary av-text-white av-p-4\">Branded</div>\n\n<!-- Animation -->\n<div class=\"av-animate-spin\">Spinner</div>\n<div class=\"av-animate-pulse\">Pulsing skeleton</div>\n\n<!-- Aspect ratio -->\n<div class=\"av-aspect-video\"><iframe ...></iframe></div>\n\n<!-- Scroll -->\n<div class=\"av-scroll-y av-scroll-smooth\">Scrollable panel</div>\n\n<!-- Responsive -->\n<div class=\"av-hidden av-md:block\">Desktop only</div>\n\n<!-- Print -->\n<div class=\"av-print:hidden\">Hidden when printing</div>\n```\n\n---\n\n## Design Tokens\n\nUse the CSS custom properties in your own styles — they update automatically when the theme changes:\n\n```css\n.my-hero {\n  background: var(--av-theme-color-primary);\n  color: var(--av-theme-color-on-primary);\n  padding: var(--av-spacing-8) var(--av-spacing-12);\n  border-radius: var(--av-radius-xl);\n  font-size: var(--av-text-xl);\n}\n\n.my-card {\n  background: var(--av-theme-color-surface);\n  border: 1px solid var(--av-theme-color-border);\n  box-shadow: var(--av-shadow-md);\n}\n```\n\nImport tokens in JS:\n\n```js\nimport tokens from '@aravi1008/ui/tokens';\nconsole.log(tokens.color.primary); // → '#2563eb'\n```\n\n---\n\n## Icons\n\n```html\n<!-- Via sprite (recommended) -->\n<svg class=\"av-icon\"><use href=\"/node_modules/@aravi1008/ui/dist/icons/sprite.svg#arrow-right\"/></svg>\n\n<!-- Sizes -->\n<svg class=\"av-icon av-icon-sm\">...</svg>   <!-- 16px -->\n<svg class=\"av-icon\">...</svg>             <!-- 20px (default) -->\n<svg class=\"av-icon av-icon-lg\">...</svg>   <!-- 24px -->\n<svg class=\"av-icon av-icon-xl\">...</svg>   <!-- 32px -->\n```\n\n150+ icons: arrows, UI controls, social, file types, data viz, and more.\n\n---\n\n## Package Exports\n\n| Import | What you get |\n|--------|-------------|\n| `@aravi1008/ui/css` | Full compiled CSS |\n| `@aravi1008/ui/css/min` | Minified CSS |\n| `@aravi1008/ui/scss` | SCSS source (customisable) |\n| `@aravi1008/ui/less` | LESS source |\n| `@aravi1008/ui` | JS theme switcher (`setTheme`, `initTheme`, `getTheme`) |\n| `@aravi1008/ui/components` | JS interactive components |\n| `@aravi1008/ui/tokens` | Token JS object |\n| `@aravi1008/ui/tokens/css` | Token CSS vars only |\n| `@aravi1008/ui/tokens/scss` | Token SCSS vars only |\n| `@aravi1008/ui/themes/*` | Individual theme CSS |\n| `@aravi1008/ui/icons` | SVG sprite path |\n| `@aravi1008/ui/icons/*` | Individual SVG files |\n\n---\n\n## TypeScript\n\n```ts\nimport type { ToastOptions, TableColumn, TableController, InitAllOptions } from '@aravi1008/ui/components';\nimport type { ThemeName } from '@aravi1008/ui';\n\nconst col: TableColumn = {\n  key: 'status',\n  label: 'Status',\n  render: (v) => `<span class=\"av-badge av-badge-success\">${v}</span>`,\n};\n\nconst opts: ToastOptions = { title: 'Done', type: 'success', placement: 'top-right' };\n```\n\n---\n\n## Upgrading Existing Projects\n\n### From Bootstrap\n\n| Bootstrap | `@aravi1008/ui` |\n|-----------|----------------|\n| `btn btn-primary` | `av-btn av-btn-primary` |\n| `d-flex align-items-center` | `av-flex av-items-center` |\n| `card` | `av-card` |\n| `alert alert-success` | `av-alert av-alert-success` |\n| `badge bg-success` | `av-badge av-badge-success` |\n| `modal fade` | `av-modal-backdrop` + `initAll()` |\n| `container` | `av-container` |\n| `--bs-*` vars | `var(--av-theme-color-*)` |\n\n### From Tailwind\n\nThe utility naming follows a similar pattern — `av-flex`, `av-p-4`, `av-text-lg` — so the mental model transfers. No PurgeCSS needed (bundle is already ~240KB).\n\n### Migration approach\n\n```bash\n# 1. Install\nnpm install @aravi1008/ui\n\n# 2. Add one import to your entry point\n# import '@aravi1008/ui/css';\n\n# 3. Both systems coexist — migrate file by file\n# Before: <div class=\"card\">\n# After:  <div class=\"av-card\">\n\n# 4. Remove old library once fully migrated\nnpm uninstall bootstrap\n```\n\n---\n\n## Ecosystem\n\n| Package | Purpose | Status |\n|---------|---------|--------|\n| `@aravi1008/ui` | Core — CSS, tokens, vanilla JS | ✅ Published |\n| `@aravi1008/ui-mat` | JSX components for React/Vue/Angular/Svelte | 🚧 Coming soon |\n| Docs site | Full component reference + live demos | 🚧 Coming soon |\n\n> **`@aravi1008/ui-mat`** brings MUI-style JSX components — `<Button>`, `<Alert>`, `<Modal>`, `<Drawer>` — that map to the same `av-` CSS classes under the hood. Same design system, multiple consumption patterns.\n\n---\n\n## Browser Support\n\nChrome 90+, Firefox 88+, Safari 14+, Edge 90+\n\n---\n\n## License\n\nMIT © [Aravindhan Sivaraman](https://github.com/AravindS-Wick)\n","readmeFilename":"README.md"}