{"_id":"premium-react-loaders","_rev":"18-a21d63d603cac0eed4de1ad08a48dce0","name":"premium-react-loaders","dist-tags":{"latest":"4.2.0"},"versions":{"1.0.0":{"name":"premium-react-loaders","version":"1.0.0","keywords":["react","loader","spinner","skeleton","loading","progress","tailwind","typescript","components","ui"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@1.0.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://github.com/ishansasika/premium-react-loaders#readme","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"9d814c8509639373294b8b40c11ab434a0dab6e9","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-1.0.0.tgz","fileCount":158,"integrity":"sha512-SWtKG35hOYPV4yLV/vnVdyGvOtMsk9ZPMjPGtJ6kMXo55n2vOiSbmOsjepdILnpln5EGnAisBJ7tLZbHB6cT/w==","signatures":[{"sig":"MEYCIQCt9o4gwuoHQo3y8zHLkAjb5nSIBGBWrAoWEyDnQUJRGQIhAKlTkU6+hyqHaNWFWxfcGiorKHzW2U2CHYJ8lV+XeRc8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258600},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"8c0a42fb6263a8bf2f006541362721386226ea7f","scripts":{"dev":"vite","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","build:watch":"vite build --watch","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript and Tailwind CSS","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","tailwindcss":"^3.4.17","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_1.0.0_1766394263628_0.5806611856803843","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"premium-react-loaders","version":"1.0.1","keywords":["react","loader","spinner","skeleton","loading","progress","tailwind","typescript","components","ui"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@1.0.1","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"c639cbb4acec91e2d6172e1a7474398054a99e25","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-1.0.1.tgz","fileCount":174,"integrity":"sha512-77vvF82B4aVdKKcPfg6GtuT91bEPLz/BuNziIA4ixebwqvVwstuDeCe8Fru7lyepCuURIxPsVS3USaYBX694cQ==","signatures":[{"sig":"MEUCIQDwtPSm58aTuXZ9SBXA8V1WznrLC69h8wuj8Ygg4lbzGwIgAnIzWNIjzAFFLqVXcX6NCFSxBac2jYejFxsIEoZfyOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320672},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"af48de2cb2bf4c576f75fbf71c2cbfefbfc59084","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript and Tailwind CSS","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","tailwindcss":"^3.4.17","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_1.0.1_1766544802800_0.4064115712989973","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"premium-react-loaders","version":"1.0.2","keywords":["react","loader","spinner","skeleton","loading","progress","tailwind","typescript","components","ui"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@1.0.2","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"0e821c07bbcbbf0b57fdb694de159d6521e43998","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-1.0.2.tgz","fileCount":174,"integrity":"sha512-YS0lKNttsl8cyooY7S6/gcS5cuq280wln1xnBLnnktKt9MvriCj69+PGRWNfhAcR9xNQyLFbY/J6tJZNgOABVQ==","signatures":[{"sig":"MEYCIQDwgu/lVJIvWO4Hvum7GXUUfwAOuyCzIFIlODgrtPQDOQIhAPKDnyViwWwFpqV1OVaP9piGXOateEA6iZEt/LNJUwuw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352613},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"d75add006c90b14de77c9c959ba453ff73e6dda8","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript and Tailwind CSS","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","tailwindcss":"^3.4.17","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_1.0.2_1767156220626_0.563040835515989","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"premium-react-loaders","version":"1.1.0","keywords":["react","loader","spinner","skeleton","loading","progress","tailwind","typescript","components","ui"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@1.1.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"40136927eccb569b1822c0708f5fc99588bf87ee","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-1.1.0.tgz","fileCount":204,"integrity":"sha512-CwsxBzgqIxcvA43b8GaAlSzg3NA8aB2wzWfBWy0lmvKPRCsMmaesTk6O3lgNjqlpNwRROiOX1CVdrH9iaiW0MA==","signatures":[{"sig":"MEUCIQDjGMmsYn7QRu3ya/x4uo+7rntFxUPxe5mEW/zpkf7VhAIgFf0Hmrc8l4XSNreS73hoZRhyYmrxWrRk2i9Wc0XzCkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430725},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"cab21549492e770312401a3f0e37fbdf1e044c34","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript and Tailwind CSS","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","tailwindcss":"^3.4.17","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_1.1.0_1767200435994_0.4043332115801259","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"premium-react-loaders","version":"1.2.0","keywords":["react","loader","spinner","skeleton","loading","progress","tailwind","typescript","components","ui"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@1.2.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"36861985e2c99c2636ac118aca03c0ac3b984e50","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-1.2.0.tgz","fileCount":210,"integrity":"sha512-XFV0mnqwNiqyoY+Gb/wXk2GH5u6ddl9OAw7gbIdQO/iIp/gXV2E1HQzRjd/lWmp2XOYeyeE9sddZkVATyuG45g==","signatures":[{"sig":"MEUCIHcCGSg7sLtl3kEMrlTefLr6ILFbiAuWLAzBvacG2vRWAiEAvVJWNbfwMshpyV06sJ0bmyzcsGfLrnabLpN3SIatJxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466608},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"36e66fb313617893f965a630240387746e64b451","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript and Tailwind CSS","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","tailwindcss":"^3.4.17","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_1.2.0_1767544452404_0.48585138007858775","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"premium-react-loaders","version":"1.3.0","keywords":["react","loader","spinner","skeleton","loading","progress","tailwind","typescript","components","ui"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@1.3.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"62ad66327d65c05823965d1eaa224827c5e0c596","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-1.3.0.tgz","fileCount":210,"integrity":"sha512-ZMmGR012SaXj+XGV9v5C4V0ROzqecKMkQ3CTXYufOuxujs79/zbhc0LjPjIN4ZPbKkHaAq0wvBiG04tSX3Y53A==","signatures":[{"sig":"MEQCICcOCy7xEU7LKVHfk75xGFcEPan0joXftqoucWTTowwtAiBiHrN0+U6SilJnB6nMTILUR9n+MAWYE/A7kFakyUYkhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":528068},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"86a2e1aaaec252a20143529f548c7321033b80f1","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript and Tailwind CSS","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","tailwindcss":"^3.4.17","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_1.3.0_1767763001678_0.8703679743164612","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"premium-react-loaders","version":"2.0.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@2.0.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"f8c101d45ef2ca6eed1ed761a4a690f18952625a","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-2.0.0.tgz","fileCount":148,"integrity":"sha512-Jd9aFbS51arYxwk0Uoh6Xu9/9181xptScCE2CAQwISG6Akadl5VOoJNRNEFrTs7c3sVfxYznK5rMpfg1pOmVKA==","signatures":[{"sig":"MEUCIBWOpefYOU9QsqXFOLhuFpeo//MNxo9Qnn/Ec2/jjeTMAiEAnIxWZIxyk69RHbw9wjpaAN9Tmqp23lyCULPXnvL/QWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233865},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"9eaa0dce19d45ca3c674e605d908e6b9900716cb","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_2.0.0_1767835794175_0.9590828017093833","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"premium-react-loaders","version":"2.1.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@2.1.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"1b7abfa71bec67ac3bc83ee76ce1eb7916cf169a","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-2.1.0.tgz","fileCount":160,"integrity":"sha512-Edx7Zls/AKcNi/3moVHXNMlNPP094qHoEAnW1jtohqS3pxxK1MURRvXpm4bCf3/q05LL9guFn7b82RvYkBp2XQ==","signatures":[{"sig":"MEUCIQD73LkIiCfgTSP/+Tm6sL81l/NoUgnZYDDv8aFgFjlorAIgE+/1N64dEHnZU8Uq8OfFGUBO88G3/UnRZU3pBn2n048=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254016},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"8df7d22c7c05687cc364b54db7a8a4355ccbcf23","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_2.1.0_1767926153256_0.9235214855808549","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"premium-react-loaders","version":"2.2.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@2.2.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"c1a13e5081ffa2f21cbe716cd4055b80ec179584","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-2.2.0.tgz","fileCount":180,"integrity":"sha512-LAJFJMjN+WDIA30+3pQnY16AI4tK34KdN7CLy06iYVQXkH7um+jt78HAnS25nMLvcKPCsUKgm0pBbnOpiU3ifg==","signatures":[{"sig":"MEUCIC4lA+Lne5NOesubODkta8sNyf06Dl2RewCKZge92agKAiEA9OaDDTpTCgJAynTfAWxbqPiwiWH5Ht0Q8978vHe5wgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289000},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"0c176cecaaec7032224a9aaa05fd154dc7f65fca","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_2.2.0_1768242932264_0.7181045495839313","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"premium-react-loaders","version":"2.3.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@2.3.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"f549868c8ebb73fdca8716b99d518fb73c6ecb0d","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-2.3.0.tgz","fileCount":192,"integrity":"sha512-KPpjo94eSlxRkKqkHkPQQsT1TAYxbSwmBtNsFAVPbmNaM1pq/qce1S5vI4aPZEVo9XPKHN1kCaziDBV9Q/7dqQ==","signatures":[{"sig":"MEUCIQDaacmZat69Zox4sYCgNIz5a0TMuSphlYU0a47aPmZmYAIgQqFm12NGlicin83GbMFtwmTgPsyi4p9zSUyhaTuEZkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318143},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"1592d03b3c2d0a2299837210c060101c8e459879","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_2.3.0_1768321469772_0.36799822786574454","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"premium-react-loaders","version":"2.3.1","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@2.3.1","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"0cd69bc1843652151489d370e30a892ad5423c32","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-2.3.1.tgz","fileCount":192,"integrity":"sha512-EiQKvdVMjCbxnC2PtAHadjsE27imqbDV/QpowQxrv6hyXlUxfzcXSLkjSJtJULudraMijotMl1YceCZdzrg1EA==","signatures":[{"sig":"MEUCIQDTQVgL5dOREOI1KOijPGOvenvxmekrUR23aa4pTwABhgIgXL55bmP7S23r9ehuHsLRlDe+yn1ElU7zFBfl3+Zcias=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318408},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"559ab55af6ddc3dea462abbbd7b274282b06c110","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_2.3.1_1768409762202_0.2532207563616877","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"premium-react-loaders","version":"3.0.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@3.0.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"cf28c78ed7228b0dff8fc1dcb56e5411355f2d90","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-3.0.0.tgz","fileCount":256,"integrity":"sha512-eBurK9jAQ1m3OVQzDU7Am8feVP8246iZWhcUShu4Tf9qRsFOSAq/GpM86z+ZTWOvVmmcLzxpVAfnoNgCcXaBcg==","signatures":[{"sig":"MEYCIQD4Y63gvmFnPErCIoseoT/rYnwEmySTrHqbDRdx6OrqTgIhAKIWq1444zo3oPE6LbuQp4M6tTQMVHzerbgZp5aAXw5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431194},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"59d86b27e5e29f77016f998ae6c02cdb98ab931c","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_3.0.0_1768531878043_0.3811043049455558","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"premium-react-loaders","version":"3.1.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@3.1.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"834b2f6647f607362236c205172b9ec86d8aac3b","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-3.1.0.tgz","fileCount":312,"integrity":"sha512-8ObeKIsnW4jOx0q2FiN2QpkLS4noCqt9Xkdya2u4OrH8shmKTDtJqwQZPKif1vpn2lnW6JKMQhLv+b4CYZUpUA==","signatures":[{"sig":"MEYCIQDC73uQDFTmOyKlCfaD66U3K1nMpT1k7YuOLD3icqpaAwIhAO+Jen5zD0HYzrN0KCYlcnQ+m0/kYm+MiCMsVgtEphko","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":560184},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":{"import":"./dist/styles/index.css","require":"./dist/styles/index.css"},"./package.json":"./package.json"},"gitHead":"c4ad4c63698dc7470a0cb418b3dc1faa51b058ce","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_3.1.0_1769479773276_0.29623947853219446","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"premium-react-loaders","version":"3.1.1","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@3.1.1","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"a7639411341298d225459c5f72cc4c6d060200d8","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-3.1.1.tgz","fileCount":312,"integrity":"sha512-bz74Xv9i9zmyz5mmvWdOThmu79ffHqLRIuqxS3/eSooV6Pp68WO/l+18t+UhJfre666UjRhGTsSVhrDHNLgQeg==","signatures":[{"sig":"MEYCIQCI1Kq2VI1m5Ie//IKgravtQ1bemLHmXxVfEcZ+xnRoKQIhAM2Ei5L0de6JPXtEsWCAlxHMGaCzJarYiMMEs6uyHHqm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":560125},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/premium-react-loaders.css","./package.json":"./package.json"},"gitHead":"6414666e25d366a28796eaae3bdc198240d202c9","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_3.1.1_1770022809662_0.1893641470163896","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"premium-react-loaders","version":"4.0.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@4.0.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"a00fcdf6cdf3048b23a75e917b31b452fd26cddf","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-4.0.0.tgz","fileCount":356,"integrity":"sha512-XIs0m3+MerZJPQyD9o1k3b8TQX7ZkN9Ptx3MTbqZsrd+mD2KrzJhKnP88eYWd/xijDuBS0JhMmC6NRTenUjepQ==","signatures":[{"sig":"MEQCIBKrrV/zcKCYUZVyn4z2hY6JEkyvNgUOS9NDWDYwXpNyAiABBdjXS3SzkGVvjz4Tjcg034Vpa3ukHNkroz7JThhhVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624778},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/premium-react-loaders.css","./package.json":"./package.json"},"gitHead":"5c7c8ca7c01de6263dfe3f14fce411e736b7ac71","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_4.0.0_1774353157860_0.7235185593562701","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"premium-react-loaders","version":"4.1.0","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@4.1.0","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"36d34030a31d5298380240eddcd3c69c92666864","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-4.1.0.tgz","fileCount":388,"integrity":"sha512-8+TqkOMgkzpHkthKUPUn+ycuL9GFZNnaGTYgYLY36T18iWY3FqfEZXlzhVAr+3OXVxKm+3QFhNnS3A8ZtI/Qdw==","signatures":[{"sig":"MEYCIQC8Pdh250une7/L7UfTbjCkKfVaRsKwrtTlhn5a1CP0tQIhAM/cSYfVjFOQL8dli4m55OjqAnwVgT0nmjeC64vxaLgN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670831},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/premium-react-loaders.css","./package.json":"./package.json"},"gitHead":"1bebb1b6e36c19bbd9df84beda9cf9dfccbf3b98","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_4.1.0_1782499614901_0.670164211991465","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"premium-react-loaders","version":"4.1.1","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"author":{"name":"Ishan Karunaratne"},"license":"MIT","_id":"premium-react-loaders@4.1.1","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"homepage":"https://premium-react-loaders.ishansasika.dev","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"dist":{"shasum":"798b1e5425b98ea4c98cf19c4822aac6b23aeab0","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-4.1.1.tgz","fileCount":388,"integrity":"sha512-07zslbzMrIF+uM3h/OWU+rG0OIqxkrjenYrFf7D6wSedNSXZFEbi21E+n4p8lr3Cdj2x/5U9KAmtPzuRByGrqw==","signatures":[{"sig":"MEYCIQDhPbhPHRTFqRa5bKiIEsjwCA+Wsd0ksQqi/SW/ETULWQIhAOZCSgzYru2H2AUDfctenRUmWuywNJG5Zu9unk12q4La","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672154},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/premium-react-loaders.css","./package.json":"./package.json"},"gitHead":"99d6f72304c290a6278bb4595348561049929274","scripts":{"dev":"vite","demo":"cd demo && npm run dev","build":"tsc --noEmit && vite build","storybook":"storybook dev -p 6006","demo:build":"cd demo && npm run build","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy","type-check":"tsc --noEmit","build:watch":"vite build --watch","demo:deploy":"cd demo && npm run deploy","demo:preview":"cd demo && npm run preview","prepublishOnly":"npm run build","build-storybook":"storybook build","deploy:storybook":"npm run build-storybook && firebase deploy","preview-storybook":"serve storybook-static"},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"repository":{"url":"git+https://github.com/ishansasika/premium-react-loaders.git","type":"git"},"_npmVersion":"11.6.2","description":"Premium, production-ready loading components for React with TypeScript","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","react":"^19.0.0","postcss":"^8.4.49","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","@types/react":"^19.0.2","autoprefixer":"^10.4.20","vite-plugin-dts":"^4.3.0","@storybook/react":"^8.4.7","@types/react-dom":"^19.0.2","@storybook/blocks":"^8.4.7","@vitejs/plugin-react":"^4.3.4","@storybook/react-vite":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/premium-react-loaders_4.1.1_1782500132101_0.9170101899933629","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"premium-react-loaders","version":"4.2.0","description":"Premium, production-ready loading components for React with TypeScript","author":{"name":"Ishan Karunaratne"},"license":"MIT","homepage":"https://premium-react-loaders.ishansasika.dev","repository":{"type":"git","url":"git+https://github.com/ishansasika/premium-react-loaders.git"},"keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles":"./dist/premium-react-loaders.css","./package.json":"./package.json"},"sideEffects":["**/*.css"],"scripts":{"dev":"vite","build":"tsc --noEmit && vite build","build:watch":"vite build --watch","type-check":"tsc --noEmit","storybook":"storybook dev -p 6006","build-storybook":"storybook build","preview-storybook":"serve storybook-static","deploy:storybook":"npm run build-storybook && firebase deploy","demo":"cd demo && npm run dev","demo:build":"cd demo && npm run build","demo:preview":"cd demo && npm run preview","demo:deploy":"cd demo && npm run deploy","deploy:all":"npm run build-storybook && cd demo && npm run build && cd .. && firebase deploy"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"devDependencies":{"@storybook/addon-essentials":"^8.4.7","@storybook/addon-interactions":"^8.4.7","@storybook/addon-links":"^8.4.7","@storybook/blocks":"^8.4.7","@storybook/react":"^8.4.7","@storybook/react-vite":"^8.4.7","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","autoprefixer":"^10.4.20","postcss":"^8.4.49","react":"^19.0.0","react-dom":"^19.0.0","storybook":"^8.4.7","typescript":"^5.7.2","vite":"^6.0.5","vite-plugin-dts":"^4.3.0"},"gitHead":"449ce5e7b12b88996d98dd0c59f5fe7f3236a38e","_id":"premium-react-loaders@4.2.0","bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-anHpQhG8stFIDEHAhx2Q1v8fzL9OivShNhYXnP77KUT9l8I7+bj9+zQmm3pd5MM8J+LfJ7FSyT7cYIqFC0Pxwg==","shasum":"386eaaf59e595bc0194ad67653a647877480ed54","tarball":"https://registry.npmjs.org/premium-react-loaders/-/premium-react-loaders-4.2.0.tgz","fileCount":420,"unpackedSize":719392,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGUCJmA1OK4wdK2zoFwSqoEdn4Lt4DLwsArybF2orsBMAiB4Mo3zekIUjm3DtzkRsS+FrUDGKVWYZ+tbVJs0+4Ol8w=="}]},"_npmUser":{"name":"ishansasika","email":"ishansasika@gmail.com"},"directories":{},"maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/premium-react-loaders_4.2.0_1787074402566_0.00399184678129072"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-22T09:04:23.627Z","modified":"2026-08-18T17:33:22.836Z","1.0.0":"2025-12-22T09:04:23.762Z","1.0.1":"2025-12-24T02:53:22.961Z","1.0.2":"2025-12-31T04:43:40.777Z","1.1.0":"2025-12-31T17:00:36.128Z","1.2.0":"2026-01-04T16:34:12.583Z","1.3.0":"2026-01-07T05:16:41.833Z","2.0.0":"2026-01-08T01:29:54.336Z","2.1.0":"2026-01-09T02:35:53.397Z","2.2.0":"2026-01-12T18:35:32.412Z","2.3.0":"2026-01-13T16:24:29.922Z","2.3.1":"2026-01-14T16:56:02.381Z","3.0.0":"2026-01-16T02:51:18.199Z","3.1.0":"2026-01-27T02:09:33.464Z","3.1.1":"2026-02-02T09:00:09.854Z","4.0.0":"2026-03-24T11:52:38.000Z","4.1.0":"2026-06-26T18:46:55.041Z","4.1.1":"2026-06-26T18:55:32.259Z","4.2.0":"2026-08-18T17:33:22.690Z"},"bugs":{"url":"https://github.com/ishansasika/premium-react-loaders/issues"},"author":{"name":"Ishan Karunaratne"},"license":"MIT","homepage":"https://premium-react-loaders.ishansasika.dev","keywords":["react","loader","spinner","skeleton","loading","progress","typescript","components","ui","css"],"repository":{"type":"git","url":"git+https://github.com/ishansasika/premium-react-loaders.git"},"description":"Premium, production-ready loading components for React with TypeScript","maintainers":[{"name":"ishansasika","email":"ishansasika@gmail.com"}],"readme":"# Premium React Loaders\n\nA comprehensive collection of **70+ premium, production-ready loading components** for React applications. Built with TypeScript and custom CSS for maximum flexibility and zero configuration.\n\n[![npm version](https://img.shields.io/npm/v/premium-react-loaders.svg)](https://www.npmjs.com/package/premium-react-loaders)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n## Demo\n\n🚀 **[Interactive Demo](https://premium-react-loaders.ishansasika.dev/)** - Playground with live controls and component customization\n\n📚 **[Storybook Documentation](https://docs.premium-react-loaders.ishansasika.dev/)** - Detailed component documentation and examples\n\nSee all 70+ components in action with interactive examples and customization options.\n\n## Features\n\n- **70+ Premium Components** across 21 categories (Skeleton, Spinner, Progress, Pulse, Overlay, Button, Status, Transition, Shimmer, Orbit, Bounce, Infinity, Text, 3D, Smart, Morph, Gradient, Particle, Neon, Chart, Accessibility)\n- **6 Powerful Hooks** - useLoader, useEnhancedLoader, useLoadingOrchestrator, useLoadingAnalytics, useSmartLoader, useTheme ✨ *New in v3.1.0*\n- **Chart Skeletons** - Bar, line, and donut chart placeholders for dashboards ✨ *New in v4.2.0*\n- **Neon Loaders** - Glowing neon-style pulse, spinner, text, progress, and dots for dark UIs ✨ *New in v4.1.0*\n- **Extended Status Set** - WarningIndicator and InfoIndicator complete the status family ✨ *New in v4.1.0*\n- **Particle Enhancements** - ParticleTrail and ParticleField ambient effects ✨ *New in v4.1.0*\n- **Morph Loaders** - Fluid organic blob, liquid fill, and wave circle animations ✨ *New in v4.0.0*\n- **Gradient Loaders** - Animated conic gradient spinners and flowing gradient bars ✨ *New in v4.0.0*\n- **Particle Loaders** - CSS particle burst and orbital animations ✨ *New in v4.0.0*\n- **onComplete Callback** - Fire callbacks when progress reaches 100% ✨ *New in v4.0.0*\n- **3D Loaders** - Immersive 3D animations with CSS transforms ✨ *New in v3.1.0*\n- **Smart Components** - Context-aware skeletons and form field loaders ✨ *New in v3.1.0*\n- **Accessibility First** - LiveRegion component and announcement system ✨ *New in v3.1.0*\n- **Global Theming** - ThemeProvider for app-wide customization ✨ *New in v2.1.0*\n- **Smart Loading UX** - useLoader hook with delay, minDuration, and autoHide ✨ *New in v2.1.0*\n- **Enhanced CSS Variables** - Comprehensive theming with dark mode support ✨ *New in v2.1.0*\n- **Zero Configuration** - No Tailwind or build setup required ✨ *New in v2.0.0*\n- **Tiny Bundle Size** - 70% smaller CSS (6.27 KB → 1.64 KB gzipped) ✨ *New in v2.0.0*\n- **Zero Runtime Dependencies** - No external dependencies needed ✨ *New in v2.0.0*\n- **Size Presets** - Easy sizing with `xs`, `sm`, `md`, `lg`, `xl` presets\n- **Reduced Motion Support** - Respects `prefers-reduced-motion` for accessibility\n- **Animation Direction Control** - Reverse animations with `reverse` prop\n- **Full TypeScript Support** with exported type definitions\n- **Tree-shakeable** - only bundle what you use\n- **Accessible** - built with ARIA labels and best practices\n- **Performant** - hardware-accelerated CSS animations (60fps)\n- **Customizable** - multiple ways to style components\n\n## Installation\n\n```bash\nnpm install premium-react-loaders\n```\n\n### Peer Dependencies\n\nThis library only requires React:\n\n```bash\nnpm install react react-dom\n```\n\n> **Note:** v2.0.0+ no longer requires Tailwind CSS! See [Migration Guide](#migrating-from-v1x-to-v20) below.\n\n## Setup\n\nImport the styles in your main entry file (e.g., `main.tsx` or `App.tsx`):\n\n```typescript\nimport 'premium-react-loaders/styles';\n```\n\nThat's it! No Tailwind configuration or additional setup needed.\n\n### Optional: Global Theming (v2.1.0+)\n\nWrap your app with `ThemeProvider` to customize all loaders globally:\n\n```tsx\nimport { ThemeProvider } from 'premium-react-loaders';\n\nfunction App() {\n  return (\n    <ThemeProvider\n      theme={{\n        primaryColor: '#8b5cf6',\n        secondaryColor: '#ec4899',\n        defaultSize: 'lg',\n        defaultSpeed: 'fast',\n      }}\n    >\n      <YourApp />\n    </ThemeProvider>\n  );\n}\n```\n\n## Quick Start\n\n```tsx\nimport {\n  Skeleton,\n  SkeletonCard,\n  SpinnerCircle,\n  ProgressBar,\n  PulseDots,\n} from 'premium-react-loaders';\n\nfunction App() {\n  return (\n    <div>\n      {/* Skeleton Loaders */}\n      <Skeleton width={200} height={20} />\n      <SkeletonCard hasAvatar lines={3} />\n\n      {/* Spinners with Size Presets (v1.2.0+) */}\n      <SpinnerCircle size=\"lg\" color=\"#3b82f6\" />\n      <SpinnerCircle size=\"md\" reverse /> {/* Reverse animation */}\n\n      {/* Progress Bars */}\n      <ProgressBar value={75} showValue />\n      <ProgressBar indeterminate reverse /> {/* Reverse sweep */}\n\n      {/* Pulse Loaders */}\n      <PulseDots size=\"sm\" dotCount={3} />\n    </div>\n  );\n}\n```\n\n## Component Categories\n\n### Skeleton Loaders (9 components)\n\nPlaceholder components that mimic content layout while loading:\n\n- **Skeleton** - Base skeleton component with variants\n- **SkeletonText** - Multi-line text placeholder\n- **SkeletonAvatar** - Avatar placeholder (circle/square)\n- **SkeletonImage** - Image placeholder with aspect ratio\n- **SkeletonCard** - Card layout with avatar + text\n- **SkeletonForm** - Form skeleton with inputs and labels\n- **SkeletonList** - List of skeleton items\n- **SkeletonTable** - Table skeleton with rows/columns\n- **SkeletonPage** - Pre-built full page layouts (default, dashboard, article, profile)\n\n### Spinner Loaders (7 components)\n\nRotating and animated spinners:\n\n- **SpinnerCircle** - Basic rotating circle spinner\n- **SpinnerRing** - Border-only ring spinner\n- **SpinnerDots** - Multiple dots rotating around center\n- **SpinnerBars** - Vertical bars with wave animation\n- **SpinnerGrid** - Grid of fading squares\n- **SpinnerPulse** - Pulsing circle spinner\n- **SpinnerWave** - Wave pattern spinner\n\n### Progress Loaders (4 components)\n\nProgress indicators (determinate/indeterminate):\n\n- **ProgressBar** - Linear horizontal progress bar\n- **ProgressCircle** - Circular progress indicator\n- **ProgressRing** - Ring progress with gradient option\n- **ProgressSteps** - Multi-step progress indicator\n\n### Pulse Loaders (4 components)\n\nBouncing, pulsing, wave animations:\n\n- **PulseDots** - Bouncing dots in sequence\n- **PulseWave** - Wave pattern bars\n- **PulseBars** - Equalizer-style pulsing bars\n- **TypingIndicator** - Typing animation indicator\n\n### Overlay Components (1 component)\n\nWrapper component for displaying loaders over content:\n\n- **LoaderOverlay** - Displays any loader over content with backdrop (full-screen or container-relative)\n\n### Button Components (1 component) ✨ *New in v2.2.0*\n\nSpecialized loaders for button loading states:\n\n- **ButtonSpinner** - Compact spinner optimized for buttons with multiple variants (circle, dots, bars) and positioning options\n\n### Status Components (4 components) ✨ *New in v2.2.0 / Extended in v4.1.0*\n\nAnimated indicators for operation outcomes:\n\n- **SuccessCheckmark** - Animated checkmark with optional circle background\n- **ErrorIndicator** - Animated X mark with optional shake effect and circle background\n- **WarningIndicator** - Animated warning triangle with `!` mark; optional `shake` effect ✨ *New in v4.1.0*\n- **InfoIndicator** - Animated info badge with `i` mark; optional `pulse` glow ✨ *New in v4.1.0*\n\n### Transition Components (1 component) ✨ *New in v2.3.0*\n\nSmooth transitions between loading and loaded states:\n\n- **LoaderTransition** - Animated transitions between loading and content states with multiple animation types (fade, slide, scale)\n\n### Shimmer Components (3 components) ✨ *New in v3.0.0*\n\nShimmer effect placeholders with directional animations:\n\n- **ShimmerBox** - Shimmer container with customizable direction (left-to-right, right-to-left, top-to-bottom, bottom-to-top)\n- **ShimmerText** - Multi-line text shimmer placeholder\n- **ShimmerButton** - Button placeholder with shimmer effect\n\n### Orbit Components (3 components) ✨ *New in v3.0.0*\n\nOrbital and atomic animations:\n\n- **OrbitDots** - Dots orbiting around a central point\n- **OrbitRings** - Concentric rotating rings\n- **AtomLoader** - Electron-like orbital animation with nucleus\n\n### Bounce Components (2 components) ✨ *New in v3.0.0*\n\nPhysics-based bouncing loaders:\n\n- **BouncingDots** - Dots with physics-based bounce animation\n- **BouncingBalls** - 3D bouncing balls with shadow and squash effects\n\n### Infinity Components (2 components) ✨ *New in v3.0.0*\n\nContinuous loop animations:\n\n- **InfinityLoader** - Figure-8 infinity symbol animation with optional traveling dot\n- **MobiusLoader** - Segmented ribbon loop with twist effect\n\n### Text Components (1 component) ✨ *New in v3.0.0*\n\nAnimated loading text:\n\n- **LoadingText** - Animated loading text with multiple animation styles (dots, fade, bounce, wave)\n\n### 3D Components (5 components) ✨ *New in v3.1.0*\n\nImmersive 3D loaders with perspective transforms:\n\n- **CubeSpinner** - Rotating 3D cube with customizable faces and rotation axes (x, y, z, diagonal)\n- **FlipCard** - 3D card flip animation with horizontal/vertical modes\n- **PlaneRotate** - Multiple rotating planes in 3D space with synchronized/staggered modes\n- **Helix** - DNA-like spiral animation with particles and optional connecting lines\n- **PerspectiveRing** - 3D ring with tilt angle, shadow effects, and depth perception\n\n### Smart Components (3 components) ✨ *New in v3.1.0*\n\nIntelligent, context-aware loading placeholders:\n\n- **SmartSkeleton** - Auto-detecting skeleton that analyzes content type (text, image, card, list, table, form)\n- **FormFieldLoader** - Loading states for form inputs (text, select, checkbox, radio, textarea, file)\n- **DataTableSkeleton** - Advanced table skeleton with headers, sorting, filtering, pagination, and selection\n\n### Accessibility Components (1 component) ✨ *New in v3.1.0*\n\nScreen reader support and ARIA announcements:\n\n- **LiveRegion** - ARIA live region for screen reader announcements with configurable politeness levels\n\n### Morph Components (3 components) ✨ *New in v4.0.0*\n\nFluid, organic animation components based on CSS morphing:\n\n- **MorphBlob** - Organic blob shape that continuously morphs between randomized border-radius states\n- **LiquidFill** - Circular container that fills with an animated liquid level (determinate and indeterminate modes)\n- **WaveCircle** - Concentric circular ripples emanating outward from the center like a sonar pulse\n\n### Gradient Components (5 components) ✨ *New in v4.0.0 / Extended in v4.2.0*\n\nVisually striking spinners and progress indicators using animated CSS gradients:\n\n- **GradientSpinner** - Circular spinner filled with a sweeping conic gradient that rotates continuously\n- **GradientRing** - Ring with a moving gradient that travels around its circumference\n- **GradientBar** - Horizontal progress bar with a flowing gradient shimmer animation\n- **GradientText** - Loading text filled with a flowing animated gradient via `background-clip: text` ✨ *New in v4.2.0*\n- **GradientDots** - Bouncing dots sharing an animated two-color gradient fill; configurable `dotCount`, `dotSize` ✨ *New in v4.2.0*\n\n### Particle Components (4 components) ✨ *New in v4.0.0 / Extended in v4.1.0*\n\nParticle-based loaders using CSS-positioned elements for dynamic visual effects:\n\n- **ParticleBurst** - Particles that periodically burst outward from a central point and fade as they travel\n- **ParticleOrbit** - Multiple particles floating in circular orbits around a central dot with staggered delays\n- **ParticleTrail** - Particles trailing along a circular orbit with opacity and size fade; configurable `count` (3–10) ✨ *New in v4.1.0*\n- **ParticleField** - Ambient field of floating, drifting particles rising through a bounded area; configurable `width`, `height`, `count` (5–30) ✨ *New in v4.1.0*\n\n### Neon Components (5 components) ✨ *New in v4.1.0 / Extended in v4.2.0*\n\nGlowing neon-style loaders using CSS box-shadow and text-shadow for dark UIs and gaming themes:\n\n- **NeonPulse** - Pulsing glowing ring with configurable `glowIntensity` (`low` / `medium` / `high`)\n- **NeonSpinner** - Spinning arc with a neon glow trail; customizable `thickness` and `color`\n- **NeonText** - Loading text label that pulses with a neon glow; configurable `text`, `color`, `fontSize`\n- **NeonProgress** - Progress bar with a glowing neon fill; determinate/indeterminate with an `onComplete` callback ✨ *New in v4.2.0*\n- **NeonDots** - Bouncing dots with a glowing neon box-shadow; configurable `dotCount`, `dotSize`, `color` ✨ *New in v4.2.0*\n\n### Chart Components (3 components) ✨ *New in v4.2.0*\n\nSkeleton placeholders shaped like common chart types, for dashboards that load data asynchronously:\n\n- **BarChartSkeleton** - Bar chart placeholder with a deterministic wave-height pattern; configurable `bars` (3–12), optional `showAxis` baseline\n- **LineChartSkeleton** - Line/trend chart placeholder with a flowing dashed path; configurable `points` (3–10), optional `showGrid`\n- **DonutChartSkeleton** - Donut/pie chart placeholder built from alternating conic-gradient slices; configurable `segments` (2–6), optional `showLabel`\n\n## Hooks\n\n### Loading State Management\n\n- **useLoader** - Basic loading state with delay, minDuration, and autoHide *(v2.1.0+)*\n- **useEnhancedLoader** - Advanced loading with retry logic, success/error states, and history *(v2.3.0+)*\n- **useLoadingOrchestrator** - Manage multiple loading tasks with dependencies ✨ *New in v3.1.0*\n- **useLoadingAnalytics** - Track loading performance metrics and user experience ✨ *New in v3.1.0*\n- **useSmartLoader** - Intelligent loader with connection detection and progress estimation ✨ *New in v3.1.0*\n\n### Theming\n\n- **useTheme** - Access global theme configuration *(v2.1.0+)*\n\n## Usage Examples\n\n### Skeleton Components\n\n```tsx\nimport {\n  Skeleton,\n  SkeletonText,\n  SkeletonAvatar,\n  SkeletonCard,\n} from 'premium-react-loaders';\n\n// Basic skeleton\n<Skeleton width={200} height={20} />\n\n// Multi-line text\n<SkeletonText lines={3} width=\"100%\" />\n\n// Avatar\n<SkeletonAvatar size={48} shape=\"circle\" />\n\n// Card with avatar and text\n<SkeletonCard hasAvatar lines={3} />\n\n// Custom colors\n<Skeleton\n  width={200}\n  height={20}\n  baseColor=\"#e0e0e0\"\n  highlightColor=\"#f5f5f5\"\n/>\n```\n\n### Spinner Components\n\n```tsx\nimport {\n  SpinnerCircle,\n  SpinnerRing,\n  SpinnerDots,\n} from 'premium-react-loaders';\n\n// Basic spinner\n<SpinnerCircle size={40} color=\"#3b82f6\" />\n\n// Ring spinner\n<SpinnerRing size={32} thickness={4} />\n\n// Dots spinner\n<SpinnerDots size={40} dotCount={8} />\n\n// Speed control\n<SpinnerCircle size={40} speed=\"fast\" />\n```\n\n### Progress Components\n\n```tsx\nimport {\n  ProgressBar,\n  ProgressCircle,\n  ProgressRing,\n} from 'premium-react-loaders';\n\n// Determinate progress\n<ProgressBar value={75} showValue />\n\n// Indeterminate progress\n<ProgressBar indeterminate />\n\n// Circular progress\n<ProgressCircle value={60} showValue size={80} />\n\n// Ring with gradient\n<ProgressRing\n  value={80}\n  gradient\n  color=\"#3b82f6\"\n  secondaryColor=\"#8b5cf6\"\n/>\n```\n\n### Pulse Components\n\n```tsx\nimport { PulseDots, PulseWave, PulseBars } from 'premium-react-loaders';\n\n// Bouncing dots\n<PulseDots dotCount={3} color=\"#3b82f6\" />\n\n// Wave pattern\n<PulseWave barCount={5} />\n\n// Equalizer bars\n<PulseBars barCount={4} speed=\"fast\" />\n```\n\n### New in v1.0.1\n\n```tsx\nimport { LoaderOverlay, SkeletonPage, SpinnerCircle } from 'premium-react-loaders';\n\n// Page skeleton for full page loading\n<SkeletonPage variant=\"dashboard\" />\n<SkeletonPage variant=\"article\" />\n<SkeletonPage variant=\"profile\" />\n\n// Loader overlay over content\n<LoaderOverlay\n  loading={isLoading}\n  loader={<SpinnerCircle size={50} />}\n  blur\n>\n  <YourContent />\n</LoaderOverlay>\n\n// Full-screen overlay with custom backdrop\n<LoaderOverlay\n  loading={isLoading}\n  loader={<SpinnerCircle />}\n  position=\"fixed\"\n  backdropOpacity={0.8}\n  backdropColor=\"#000000\"\n>\n  <YourApp />\n</LoaderOverlay>\n```\n\n### New in v1.2.0\n\n**Size Presets** - Use semantic size names instead of pixel values:\n\n```tsx\nimport { SpinnerCircle, ProgressBar, PulseDots } from 'premium-react-loaders';\n\n// Size presets: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n<SpinnerCircle size=\"xs\" />  {/* 16px */}\n<SpinnerCircle size=\"sm\" />  {/* 24px */}\n<SpinnerCircle size=\"md\" />  {/* 40px - default */}\n<SpinnerCircle size=\"lg\" />  {/* 56px */}\n<SpinnerCircle size=\"xl\" />  {/* 72px */}\n\n// Still works with numbers and CSS strings\n<SpinnerCircle size={50} />\n<SpinnerCircle size=\"3rem\" />\n```\n\n**Reduced Motion Support** - Automatically respects user accessibility preferences:\n\n```tsx\n// Respects prefers-reduced-motion by default\n<SpinnerCircle size=\"md\" />\n\n// Disable reduced motion support if needed\n<SpinnerCircle size=\"md\" respectMotionPreference={false} />\n```\n\n**Animation Direction Control** - Reverse animations for creative effects:\n\n```tsx\nimport { SpinnerCircle, ProgressBar, PulseDots } from 'premium-react-loaders';\n\n// Reverse spinner rotation (counter-clockwise)\n<SpinnerCircle size=\"lg\" reverse />\n\n// Reverse progress sweep direction\n<ProgressBar indeterminate reverse />\n\n// Reverse pulse/dot animation sequence\n<PulseDots size=\"md\" reverse />\n```\n\n### New in v2.3.0\n\n**LoaderTransition** - Smooth transitions between loading and loaded states:\n\n```tsx\nimport { LoaderTransition, Skeleton } from 'premium-react-loaders';\n\n// Eliminate jarring content switches\n<LoaderTransition\n  loading={isLoading}\n  loadingContent={<Skeleton width={300} height={100} />}\n  transitionType=\"fade\"\n  duration={300}\n  delay={200}\n  minDuration={600}\n>\n  <YourActualContent />\n</LoaderTransition>\n\n// Different transition types\n<LoaderTransition loading={isLoading} loadingContent={<Spinner />} transitionType=\"slide-up\">\n  <Content />\n</LoaderTransition>\n\n<LoaderTransition loading={isLoading} loadingContent={<Skeleton />} transitionType=\"scale\" timing=\"spring\">\n  <Content />\n</LoaderTransition>\n```\n\n**useEnhancedLoader** - Supercharged loading state management:\n\n```tsx\nimport { useEnhancedLoader } from 'premium-react-loaders';\n\nfunction MyComponent() {\n  const {\n    status,              // 'idle' | 'loading' | 'success' | 'error'\n    error,               // Error object if failed\n    retryAttempt,        // Current retry attempt number\n    history,             // Loading history with timestamps\n    startLoading,\n    stopLoading,\n    setError,\n    retry,\n    reset,\n  } = useEnhancedLoader({\n    delay: 200,\n    minDuration: 600,\n    retry: {\n      maxRetries: 3,\n      initialDelay: 1000,\n      backoffMultiplier: 2,\n    },\n    debounce: 300,       // Debounce loading starts\n    onSuccess: () => console.log('Success!'),\n    onError: (err) => console.error(err),\n  });\n\n  const fetchData = async () => {\n    startLoading();\n    try {\n      const data = await api.fetch();\n      stopLoading();\n    } catch (err) {\n      setError(err);\n    }\n  };\n\n  return (\n    <div>\n      {status === 'loading' && <SpinnerCircle visible={isVisible} />}\n      {status === 'success' && <SuccessCheckmark visible />}\n      {status === 'error' && (\n        <>\n          <ErrorIndicator visible />\n          <button onClick={retry}>Retry ({retryAttempt}/3)</button>\n        </>\n      )}\n    </div>\n  );\n}\n```\n\n### New in v2.2.0\n\n**Button Loaders** - Specialized spinners for button states:\n\n```tsx\nimport { ButtonSpinner } from 'premium-react-loaders';\n\n// Inside a button\n<button style={{ padding: '10px 20px', backgroundColor: '#3b82f6', color: 'white' }}>\n  <ButtonSpinner variant=\"circle\" size={16} color=\"white\">\n    Submit Form\n  </ButtonSpinner>\n</button>\n\n// Different variants\n<ButtonSpinner variant=\"dots\" position=\"right\">Next</ButtonSpinner>\n<ButtonSpinner variant=\"bars\" showContent={false}>Loading</ButtonSpinner>\n```\n\n**Status Indicators** - Show success and error states with smooth animations:\n\n```tsx\nimport { SuccessCheckmark, ErrorIndicator } from 'premium-react-loaders';\n\n// Success state\n<SuccessCheckmark\n  visible={isSuccess}\n  showCircle\n  fillCircle\n  size={64}\n  color=\"#10b981\"\n/>\n\n// Error state with shake\n<ErrorIndicator\n  visible={hasError}\n  showCircle\n  shake\n  size={64}\n  color=\"#ef4444\"\n/>\n```\n\n### New in v2.1.0\n\n**Global Theming** - Customize all loaders from one place:\n\n```tsx\nimport { ThemeProvider } from 'premium-react-loaders';\n\nfunction App() {\n  return (\n    <ThemeProvider\n      theme={{\n        primaryColor: '#8b5cf6',\n        secondaryColor: '#ec4899',\n        skeletonBase: '#e2e8f0',\n        skeletonHighlight: '#f1f5f9',\n        defaultSize: 'lg',\n        defaultSpeed: 'fast',\n        defaultDelay: 200,\n        defaultMinDuration: 600,\n        respectMotionPreference: true,\n      }}\n    >\n      {/* All loaders inherit these settings */}\n      <SpinnerCircle /> {/* Uses theme colors and size */}\n      <Skeleton /> {/* Uses theme skeleton colors */}\n    </ThemeProvider>\n  );\n}\n```\n\n**Smart Loading State Management** - Better UX with the `useLoader` hook:\n\n```tsx\nimport { useLoader } from 'premium-react-loaders';\nimport { SpinnerCircle } from 'premium-react-loaders';\n\nfunction MyComponent() {\n  const { loading, startLoading, stopLoading, isVisible } = useLoader({\n    delay: 200,        // Don't show loader for quick operations (<200ms)\n    minDuration: 600,  // Show loader for at least 600ms to avoid flashing\n    autoHide: 5000,    // Auto-hide after 5 seconds (optional)\n  });\n\n  const fetchData = async () => {\n    startLoading();\n    try {\n      await api.fetchData();\n    } finally {\n      stopLoading();\n    }\n  };\n\n  return (\n    <div>\n      <button onClick={fetchData}>Load Data</button>\n      <SpinnerCircle visible={isVisible} />\n    </div>\n  );\n}\n```\n\n**Enhanced CSS Variables** - More control with comprehensive theming:\n\n```css\n:root {\n  /* Colors */\n  --loader-primary: #3b82f6;\n  --loader-secondary: #8b5cf6;\n  --skeleton-base: #e5e7eb;\n  --skeleton-highlight: #f5f5f5;\n\n  /* Sizes */\n  --loader-size-xs: 16px;\n  --loader-size-sm: 24px;\n  --loader-size-md: 40px;\n  --loader-size-lg: 56px;\n  --loader-size-xl: 72px;\n\n  /* Animation */\n  --loader-transition-fast: 150ms;\n  --loader-transition-normal: 300ms;\n  --loader-transition-slow: 500ms;\n}\n\n/* Dark mode support */\n@media (prefers-color-scheme: dark) {\n  :root {\n    --skeleton-base: #2d3748;\n    --skeleton-highlight: #4a5568;\n  }\n}\n```\n\n**Improved TypingIndicator** - Smoother animations with dynamic timing that scales with speed settings.\n\n## Customization\n\nAll components support multiple customization methods:\n\n### 1. className Prop\n\nPass custom CSS classes:\n\n```tsx\n<SpinnerCircle size={40} className=\"my-spinner\" />\n```\n\n### 2. style Prop\n\nUse inline CSS styles:\n\n```tsx\n<ProgressBar value={75} style={{ opacity: 0.8, margin: '20px 0' }} />\n```\n\n### 3. Color Props\n\nDirect color control:\n\n```tsx\n<SpinnerCircle color=\"#8b5cf6\" secondaryColor=\"#e0e0e0\" />\n```\n\n### 4. CSS Variables (Enhanced in v2.1.0)\n\nOverride theme variables globally for comprehensive customization:\n\n```css\n:root {\n  /* Primary colors */\n  --loader-primary: #3b82f6;\n  --loader-secondary: #8b5cf6;\n\n  /* Skeleton colors */\n  --skeleton-base: #e5e7eb;\n  --skeleton-highlight: #f5f5f5;\n\n  /* Size presets */\n  --loader-size-xs: 16px;\n  --loader-size-sm: 24px;\n  --loader-size-md: 40px;\n  --loader-size-lg: 56px;\n  --loader-size-xl: 72px;\n\n  /* Spacing and layout */\n  --loader-gap: 0.5rem;\n  --loader-radius-sm: 0.25rem;\n  --loader-radius-md: 0.5rem;\n  --loader-radius-lg: 1rem;\n  --loader-radius-full: 9999px;\n\n  /* Animation speeds */\n  --loader-transition-fast: 150ms;\n  --loader-transition-normal: 300ms;\n  --loader-transition-slow: 500ms;\n\n  /* Overlay */\n  --loader-overlay-backdrop: rgba(0, 0, 0, 0.5);\n}\n\n/* Dark mode support */\n@media (prefers-color-scheme: dark) {\n  :root {\n    --skeleton-base: #2d3748;\n    --skeleton-highlight: #4a5568;\n  }\n}\n```\n\n### 5. ThemeProvider (v2.1.0+)\n\nUse the `ThemeProvider` component for runtime theming:\n\n```tsx\nimport { ThemeProvider, useTheme } from 'premium-react-loaders';\n\nfunction App() {\n  return (\n    <ThemeProvider\n      theme={{\n        primaryColor: '#8b5cf6',\n        secondaryColor: '#ec4899',\n        defaultSize: 'lg',\n      }}\n    >\n      <YourComponents />\n    </ThemeProvider>\n  );\n}\n\n// Access theme in child components\nfunction ChildComponent() {\n  const { theme } = useTheme();\n  return <SpinnerCircle />; // Automatically uses theme settings\n}\n```\n\n## TypeScript\n\nFull TypeScript support with exported types:\n\n```typescript\nimport type {\n  SkeletonProps,\n  SpinnerCircleProps,\n  ProgressBarProps,\n  PulseDotsProps,\n  LoaderTheme,\n  UseLoaderOptions,\n  UseLoaderReturn,\n} from 'premium-react-loaders';\n\nconst MyComponent: React.FC = () => {\n  const skeletonProps: SkeletonProps = {\n    width: 200,\n    height: 20,\n    animate: true,\n  };\n\n  return <Skeleton {...skeletonProps} />;\n};\n\n// Theme typing (v2.1.0+)\nconst customTheme: LoaderTheme = {\n  primaryColor: '#8b5cf6',\n  secondaryColor: '#ec4899',\n  defaultSize: 'lg',\n  defaultSpeed: 'fast',\n};\n\n// useLoader hook typing (v2.1.0+)\nconst loaderOptions: UseLoaderOptions = {\n  delay: 200,\n  minDuration: 600,\n  autoHide: 5000,\n};\n```\n\n## Common Props\n\nAll loader components share these common props:\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `size` | `number \\| string` | varies | Size of the loader |\n| `color` | `string` | `#3b82f6` | Primary color |\n| `className` | `string` | - | Custom CSS class |\n| `style` | `CSSProperties` | - | Inline styles |\n| `visible` | `boolean` | `true` | Show/hide loader |\n| `speed` | `'slow' \\| 'normal' \\| 'fast' \\| number` | `'normal'` | Animation speed |\n| `testId` | `string` | - | Test ID for testing |\n| `ariaLabel` | `string` | - | Accessibility label |\n\n## Component-Specific Props\n\n### Skeleton Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `width` | `number \\| string` | `100%` | Width of skeleton |\n| `height` | `number \\| string` | `1rem` | Height of skeleton |\n| `variant` | `'text' \\| 'circular' \\| 'rectangular' \\| 'rounded'` | `'text'` | Shape variant |\n| `animate` | `boolean` | `true` | Enable shimmer animation |\n| `baseColor` | `string` | `#e0e0e0` | Background color |\n| `highlightColor` | `string` | `#f5f5f5` | Shimmer color |\n\n### Progress Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `value` | `number` | `0` | Progress value (0-100) |\n| `indeterminate` | `boolean` | `false` | Indeterminate mode |\n| `showValue` | `boolean` | `false` | Show percentage text |\n| `thickness` | `number \\| string` | varies | Thickness of indicator |\n\n## Performance\n\nAll components are optimized for performance:\n\n- **CSS Animations** - No JavaScript animations, pure CSS\n- **Hardware Acceleration** - Uses `transform` and `opacity` for 60fps\n- **Tree-shakeable** - Only bundle components you import\n- **Minimal Bundle Size** - Lightweight with no dependencies\n\n## Browser Support\n\n- Chrome (latest)\n- Firefox (latest)\n- Safari (latest)\n- Edge (latest)\n\n## Storybook\n\nExplore all components interactively in Storybook:\n\n```bash\nnpm run storybook\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nMIT © Ishan Karunaratne\n\n## Migrating from v1.x to v2.0\n\nv2.0.0 removes the Tailwind CSS dependency for a simpler, lighter library. Here's what changed:\n\n### Breaking Changes\n\n1. **No Tailwind Required** - The library now uses custom CSS instead of Tailwind\n2. **No Tailwind Configuration Needed** - Remove the library path from your `tailwind.config.js`\n3. **Slightly Different Styling** - Components use the same class names but with custom CSS utilities\n\n### Migration Steps\n\n1. **Update the package:**\n   ```bash\n   npm install premium-react-loaders@latest\n   ```\n\n2. **Remove Tailwind configuration** (if you're not using Tailwind for other parts of your app):\n   ```javascript\n   // Remove this from tailwind.config.js\n   './node_modules/premium-react-loaders/dist/**/*.{js,ts,jsx,tsx}'\n   ```\n\n3. **That's it!** Your components will continue to work with the same API. The styling is now self-contained.\n\n### What Stayed the Same\n\n- ✅ All component APIs are identical\n- ✅ All props work exactly the same\n- ✅ TypeScript types unchanged\n- ✅ Same import paths\n- ✅ Same customization options (className, style, color props)\n\n### Benefits of v2.0\n\n- 🎉 **70% smaller CSS bundle** (21KB → 6.27KB, 1.64KB gzipped)\n- 🎉 **36% smaller total package** (1.0MB → 640KB)\n- 🎉 **Zero configuration** - no Tailwind setup required\n- 🎉 **Works in any React project** - not just Tailwind projects\n- 🎉 **Faster installation** - fewer dependencies to download\n\n## Acknowledgments\n\nBuilt with:\n- [React](https://react.dev/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Vite](https://vite.dev/)\n- [Storybook](https://storybook.js.org/)\n\n---\n\n**Made with ❤️ by Ishan Karunaratne**\n","readmeFilename":"README.md"}