{"_id":"morphicons","_rev":"14-51b6381452e93b8e37dcf0c6d775b926","name":"morphicons","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"morphicons","version":"0.1.0","keywords":["icons","svg","morphing","animation","spring","lucide","feather","tabler","react","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@0.1.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"b37fe4755e1f99445abdfdcad08a695a1a6d7bee","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-0.1.0.tgz","fileCount":11,"integrity":"sha512-1H6nNFhkuFYuC9y/7S3DaGStolsvKzFGxiol2IDHjZcZiB1Gr7sjXDI+sfCoI1na4nQQL2z955MiRHBREBF0OA==","signatures":[{"sig":"MEUCIQCrAiwcULlyBNXGoeqJYPkS7gfKbrnmS1q6bXnvsSbv2wIgEHFSF8cWuJIs0bUftZd8u2jDPdWgjqdFZ1Zepnm6KPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67698},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"}},"gitHead":"72bd1ee5d8ecd470c64aef01129c1e5bda7cc29a","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"}],"_npmVersion":"11.16.0","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","lucide":"^1.28.0","tsdown":"^0.22.14","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","@size-limit/preset-small-lib":"^13.0.3"},"peerDependencies":{"react":">=18"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_0.1.0_1785575176601_0.24497029910127877","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"morphicons","version":"0.1.1","keywords":["icons","svg","morphing","animation","spring","lucide","feather","tabler","react","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@0.1.1","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"97a1f255ab74d0b23a7b0d7ecc42d469d71ee890","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-0.1.1.tgz","fileCount":11,"integrity":"sha512-E7e4Bgh51zSGBg22Id66/WqY/vdyaWAuIgI1TCMJ9zkAH+B+HWqdjFKpMO9t17olOF/SurDbXaQ7PDKjxtcc9Q==","signatures":[{"sig":"MEQCIBBU3yteYivU4yTtW+mQ5L68jIDvWw/8aDnMUSdRZlbMAiBq7EyyhnCAYh+9Wk5BFox4m7xO1CJrtnxGRMdV2qsulg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":67698},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"}},"gitHead":"4220251dbe0617076862f637ed14c57187cf3d5c","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:92b78d00-ed29-46bb-911e-ae09be9d07a1"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","lucide":"^1.28.0","tsdown":"^0.22.14","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","@size-limit/preset-small-lib":"^13.0.3"},"peerDependencies":{"react":">=18"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_0.1.1_1785575352416_0.6202555737793569","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"morphicons","version":"1.0.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","feather","tabler","react","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.0.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"adce2f9ebf0a62dd2e86195604468506c54a2250","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.0.0.tgz","fileCount":11,"integrity":"sha512-K2kUoq0rYu4ZQTYdUmFJkarQPRb35QaknK3e+pu5yTJ/7QvgdHi+SoUYguYXT+hPeXWn/X6D+M3I27kZYm3BUA==","signatures":[{"sig":"MEYCIQDvrJykVClkui+NyPX72wYLSf64YzNUejDzB2ZDABh1sgIhANHdEd1MDR20+l58bY2s9ceo4mQgyoXb7uARrW90aN2n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":67814},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"}},"gitHead":"90507fd81c09304cc0e2a43f06cbd126e56d38d6","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","lucide":"^1.28.0","tsdown":"^0.22.14","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","@size-limit/preset-small-lib":"^13.0.3"},"peerDependencies":{"react":">=18"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.0.0_1785577861117_0.8058091482613163","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"morphicons","version":"1.1.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.1.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"5ee7584d2d8eb3bedfc9eaf8953ee944ec942169","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.1.0.tgz","fileCount":11,"integrity":"sha512-rbUs/wBjKfNpNBuWLVirApBkasD4gHpzsIXjwyHgT9p9z/0Z2qWUVQHWHxzEtaOrlsaJ9+/QzqA0e32puj+ljQ==","signatures":[{"sig":"MEYCIQCwvcgLYMepHAiXNI2XROY6fuOAMrBYgD8OWTUlDqfNOwIhALVteeRFj8BV7nMG3WAOGksr9tB7iZgBSOGnXff01VoD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70911},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"}},"gitHead":"a6c3f4ea07248a9d69b5380b2a263da76f0b4def","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","lucide":"^1.28.0","tsdown":"^0.22.14","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","@size-limit/preset-small-lib":"^13.0.3"},"peerDependencies":{"react":">=18"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.1.0_1785586252224_0.7751173368427826","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"morphicons","version":"1.1.1","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.1.1","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"97fc9528891d4c3eead4423c2e40370587e6a1cf","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.1.1.tgz","fileCount":11,"integrity":"sha512-fBYNTVo39zzFUXEg7LsSf7zee4shk/vankDX9FwvdU86dVdFqYhdu/Ek6uNJObtR/jXblD2qo0x8gHiGIpiMYw==","signatures":[{"sig":"MEUCIA2UGB/RtTDASqar2oHH7M7hUk7IHpzFKFevOZeN/YqEAiEAwz8AIDMgTTjAFayq5ybp6+IqigeLROuAKgwgh9bXkZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72922},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"}},"gitHead":"e5f884f8ae9bf675afea0769896dfbfd3f707b23","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.8","lucide":"^1.28.0","tsdown":"^0.22.14","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","@size-limit/preset-small-lib":"^13.0.3"},"peerDependencies":{"react":">=18"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.1.1_1785607447997_0.5467336088972292","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"morphicons","version":"1.2.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","vue","lucide-vue-next","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.2.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"3443d4bf4b15a7bccae02c72ccae5ccd5e081eca","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.2.0.tgz","fileCount":13,"integrity":"sha512-HuPIwS5PVv/N85k/38e5qhL1vDZArtumd9je0xB1H77eT20HuiCswmmWPogiRj7t9MAiBlcNNoPkfxSxmSzuTw==","signatures":[{"sig":"MEQCIEv8hhirAPOm5HwuszaUWaN+0gG27DHrafQE4rvP61XgAiBg+brnusv3OQoaFfK26ug6xv4JSPLGdXJ0HFddMKL7ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83433},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"}},"gitHead":"b2fd866130decb99c9e605e9059953df89a75a6a","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.vue.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","tsdown":"^0.22.14","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","@size-limit/preset-small-lib":"^13.0.3"},"peerDependencies":{"vue":">=3.3","react":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.2.0_1785745359642_0.6861594624793754","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"morphicons","version":"1.4.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.4.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"9167b05053b56961b59d47a2e1c39314234b8e3f","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.4.0.tgz","fileCount":20,"integrity":"sha512-Yerf8QnogXcyaW3rtm6IEnrDgeh5gFmk/md5dNdyoqjDMbCmgI9UTWO0lMccKcjwAHZFNULhZCRolWqB01BLzw==","signatures":[{"sig":"MEUCIFZOKhXXrF/OkqUW/yaURN+gcWhQJlC3U2v3y6gzonJCAiEAqjS/xMDixWvOu9PS7yOILZ5eXjlzcKYLW7S5uIXj73o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109735},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"5e46df2c00a104f97ea7253d8fd3e428724595ca","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.4.0_1785847343706_0.13684217431740442","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"morphicons","version":"1.4.1","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.4.1","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"c3e05f5ce8ce4847182bd91467d7f9e052670e3a","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.4.1.tgz","fileCount":20,"integrity":"sha512-l+F51rwvCAvuTnVq9eKrrwjd2oM40dW/fQ6fWQyz2FVSwB9Gq+mcnznJQPeFpenDvBY9qFEg17WTTCwChBdabw==","signatures":[{"sig":"MEYCIQDxgcNm8eDzJ5ELq9Qu6zAC20VDpQf2ggp3d2MJq4xflwIhAO8i768RYmMzPe/oZrmnZoSRVehpCsZH6MFoxWIPFejO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110785},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"2cdc9292c2b6165274d34ea16909a941cf550cab","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.4.1_1785871316591_0.25927188651756494","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"morphicons","version":"1.4.2","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.4.2","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"21cf904e9c1f54ff1b68847b0ba52bafa9cc07fd","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.4.2.tgz","fileCount":20,"integrity":"sha512-kw7JF+2PcDCo12XhHRq0Yumv2o7QNY88kHIpfm93W21lnhIALpI7vxAnbbGfjaK1Wanzo1+Q3NQJETjXTxO2dg==","signatures":[{"sig":"MEQCIGwzMoSilqcbi62qhz0ECJg9wW8XCnDdLWM/Etww0i45AiAvcUxbPCh/TPwRS+INsCNXnvEBtamuTSe/Ug5QgABxfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116455},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"cee6f3071cda9fce01a8b5a58a8f67b3e6d66060","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"11.17.0","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.4.2_1786037665846_0.970957326173342","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"morphicons","version":"1.5.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.5.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"47e09931f80026f700bb23e95b0c55848d1ae0ec","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.5.0.tgz","fileCount":24,"integrity":"sha512-N68YHSAovKUiM/Il/hMCme5qbjFYhgI3LvxEJccIBQwaT1rTNaQdFtgCm8Hu5DA2fwPViWjf4sQ6sS8MW+/iCg==","signatures":[{"sig":"MEQCIGoq/QVqeq8YrypPZpkPXIyxvwK7xE2Yy7DuTn67A72ZAiB+P6s7NmdWt0cCD2MWi5eo14mGGzJCgJxDG1MVKYedAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131492},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./adapters":{"types":"./dist/adapters.d.ts","default":"./dist/adapters.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"00a2911ba117e918adbcfb4742cae5b99b267a06","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"adapters (aggregate — grows by design, see per-export gates)","path":"dist/adapters.js","limit":"4.4 KB","import":"*"},{"gzip":true,"name":"adapters › svgToIcon (per-export shakeability gate)","path":"dist/adapters.js","limit":"3.7 KB","import":"{ svgToIcon }"},{"gzip":true,"name":"adapters › maskTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.8 KB","import":"{ maskTarget }"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.5.0_1786102499940_0.8650342289809072","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"morphicons","version":"1.6.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.6.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"b575bfdb7b26a6d12b5ed7407bd59e50c66c4f01","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.6.0.tgz","fileCount":24,"integrity":"sha512-Sq1110Tzm53D07V6T2smlU6aXVb3XACdF7MSred76ttuhpVj6Rvt4i4D5N7m/GYEJ5GaK89XBTJRBm8SQvGWGA==","signatures":[{"sig":"MEUCIQDxlH4ItR+O+o1fd/19oxsEU3aGASg/L0LvrxLKUbrlhQIgNqHFObQCteazI+XQBEy+0hXonWyVSG+NQCAQ8wMjzN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":138604},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./adapters":{"types":"./dist/adapters.d.ts","default":"./dist/adapters.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"d83a4c26e2ed93fe6b9fa83e8c63bc946e7cdeea","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"adapters (aggregate — grows by design, see per-export gates)","path":"dist/adapters.js","limit":"4.8 KB","import":"*"},{"gzip":true,"name":"adapters › svgToIcon (per-export shakeability gate)","path":"dist/adapters.js","limit":"3.7 KB","import":"{ svgToIcon }"},{"gzip":true,"name":"adapters › maskTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.8 KB","import":"{ maskTarget }"},{"gzip":true,"name":"adapters › canvasTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.55 KB","import":"{ canvasTarget }"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.6.0_1786189358953_0.6404085523948841","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"morphicons","version":"1.7.0","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","astro","astro-component","web-component","custom-element","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.7.0","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"cbd99e3f8d1f3e301929b50c3bf2a1f01133c060","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.7.0.tgz","fileCount":30,"integrity":"sha512-MOqSK+O5RdxynER5016vUvvqQaHkqqWYmNpocsk9TEszUZ9PB/K52Yqq8AGTRK1NUO5dj8znGSEVf9slqEIQaw==","signatures":[{"sig":"MEQCIHUwN5/cxyLTKvYW9/Z1RAt1GmdS+Y3usNalOpeNctkIAiBAogLnje+Aci3ysRnDBXB/6DsC0CrTrbcz1vNbQ+ZPlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":156271},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./astro":{"types":"./dist/astro.d.ts","default":"./dist/MorphIcon.astro"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./element":{"types":"./dist/element.d.ts","default":"./dist/element.js"},"./adapters":{"types":"./dist/adapters.d.ts","default":"./dist/adapters.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"67332f01b3583051b7e374b180874d3ec929fed4","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts && bun scripts/build-astro.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit && tsc -p tsconfig.element.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"adapters (aggregate — grows by design, see per-export gates)","path":"dist/adapters.js","limit":"4.8 KB","import":"*"},{"gzip":true,"name":"adapters › svgToIcon (per-export shakeability gate)","path":"dist/adapters.js","limit":"3.7 KB","import":"{ svgToIcon }"},{"gzip":true,"name":"adapters › maskTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.8 KB","import":"{ maskTarget }"},{"gzip":true,"name":"adapters › canvasTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.55 KB","import":"{ canvasTarget }"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]},{"gzip":true,"name":"core + dom + element (<morph-icon> custom element)","path":"dist/element.js","limit":"9.5 KB","import":"*"},{"gzip":true,"name":"astro shell (ships as source, consumer-compiled)","path":"dist/MorphIcon.astro","limit":"1.75 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.7.0_1786616792409_0.41548448785314096","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"morphicons","version":"1.7.1","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","astro","astro-component","web-component","custom-element","icon-animation"],"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","_id":"morphicons@1.7.1","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"homepage":"https://www.morphicons.com","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"2384e48e410ba2954c3bbde69d6b0804a8127d2a","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-1.7.1.tgz","fileCount":30,"integrity":"sha512-q5ylxy5/d7vBg0OAzanlooXf05PekovMYDuuQVpr6vAQZxl99lrJbaIi+jJ32PXQf9WEEaDO2pbNBsx1ZhEnFQ==","signatures":[{"sig":"MEQCIBD/bjzdacgXQ5/lqPKBrOmpLxK54OpbyOI+AwQKu85ZAiArz4ffIHWXzPbmOgan1+B2dAC3nwWzIlBSUqig9oZ7ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":156974},"type":"module","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./astro":{"types":"./dist/astro.d.ts","default":"./dist/MorphIcon.astro"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./element":{"types":"./dist/element.d.ts","default":"./dist/element.js"},"./adapters":{"types":"./dist/adapters.d.ts","default":"./dist/adapters.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"38d2a7221633a453eeafebd872ee3649b9274b22","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts && bun scripts/build-astro.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit && tsc -p tsconfig.element.json --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:15170658-88bd-40f2-8b9f-676e76701b67"}},"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"7.5 KB","import":"*"},{"gzip":true,"name":"adapters (aggregate — grows by design, see per-export gates)","path":"dist/adapters.js","limit":"4.8 KB","import":"*"},{"gzip":true,"name":"adapters › svgToIcon (per-export shakeability gate)","path":"dist/adapters.js","limit":"3.7 KB","import":"{ svgToIcon }"},{"gzip":true,"name":"adapters › maskTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.8 KB","import":"{ maskTarget }"},{"gzip":true,"name":"adapters › canvasTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.55 KB","import":"{ canvasTarget }"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"8.5 KB","ignore":["react"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external)","path":"dist/react-native.js","limit":"9 KB","ignore":["react","react-native","react-native-svg"],"import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"8.5 KB","ignore":["vue"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"8 KB","ignore":["svelte"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]},{"gzip":true,"name":"core + dom + element (<morph-icon> custom element)","path":"dist/element.js","limit":"9.5 KB","import":"*"},{"gzip":true,"name":"astro shell (ships as source, consumer-compiled)","path":"dist/MorphIcon.astro","limit":"1.75 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.0.2","description":"Universal morphing for stroke-based icons with spring physics — zero runtime dependencies","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","react":"^19.2.8","lucide":"^1.28.0","svelte":"^5.56.8","tsdown":"^0.22.14","happy-dom":"^20.11.1","react-dom":"^19.2.8","@types/bun":"^1.3.14","size-limit":"^13.0.3","typescript":"^7.0.2","@types/react":"^19.2.18","react-native":"^0.86.2","@tabler/icons":"^3.46.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.6","@types/react-dom":"^19.2.4","react-native-svg":"^15.15.5","@size-limit/preset-small-lib":"^13.0.3","@happy-dom/global-registrator":"^20.11.1"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/morphicons_1.7.1_1787945992691_0.8334236560471189","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"_id":"morphicons@2.0.0","bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"dist":{"shasum":"baf8aa99ce7445e360d520ccb87b603f3b441713","tarball":"https://registry.npmjs.org/morphicons/-/morphicons-2.0.0.tgz","fileCount":36,"integrity":"sha512-/pyqQjUhq8FUKz2SjJ6sXe4KjAa0QEmEbtzG13158/pl+G6bCJGvo1zIEDGNQ+Hagl69hIu4Mn9kJgTvvTf8Ew==","signatures":[{"sig":"MEUCIHa7cWYwZHOF3RTiT+9rsgIxJQBtf0udNOH4CfTFsBx+AiEAvdhwmLWZx4Ab45bptWUgmyHWhe19ilL8BnS5TCnuapE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICFZflwOGZyQQ/LNtAn1sqXbvQMs42Wcx6d5R/iGn5GuAiBknCG0BkhIoIP6VX8M4fRFFjztiKaEMrsVnxiq4LYibQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/morphicons@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177593},"name":"morphicons","type":"module","author":{"url":"https://guillermolg.com","name":"Guillermo"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./dom":{"types":"./dist/dom.d.ts","default":"./dist/dom.js"},"./vue":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"./astro":{"types":"./dist/astro.d.ts","default":"./dist/MorphIcon.astro"},"./react":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"./region":{"types":"./dist/region.d.ts","default":"./dist/region.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/svelte.js","default":"./dist/svelte.js"},"./element":{"types":"./dist/element.d.ts","default":"./dist/element.js"},"./adapters":{"types":"./dist/adapters.d.ts","default":"./dist/adapters.js"},"./react-native":{"types":"./dist/react-native.d.ts","default":"./dist/react-native.js"}},"gitHead":"74118e766f2e2f0026df334163fc1943eb01f6ab","license":"MIT","scripts":{"lint":"biome check .","play":"bun ./playground/index.html","size":"size-limit","test":"bun test","build":"tsdown && bun scripts/build-svelte.ts && bun scripts/build-astro.ts","format":"biome check --write .","typecheck":"tsc --noEmit && tsc -p playground --noEmit && tsc -p tsconfig.react.json --noEmit && tsc -p tsconfig.react-native.json --noEmit && tsc -p tsconfig.vue.json --noEmit && tsc -p tsconfig.svelte.json --noEmit && tsc -p tsconfig.element.json --noEmit","bench:wide":"bun bench/region-wide.ts","play:regions":"bun scripts/serve-regions.ts","bench:regions":"bun bench/region.bench.ts","bench:topology":"bun bench/region-topology.ts","prepublishOnly":"bun run build"},"version":"2.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"15170658-88bd-40f2-8b9f-676e76701b67"}},"homepage":"https://www.morphicons.com","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","astro","astro-component","web-component","custom-element","icon-animation"],"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"size-limit":[{"gzip":true,"name":"core (gzip — anti-regression tripwire, see README)","path":"dist/index.js","limit":"7 KB","import":"*"},{"gzip":true,"name":"core + dom (createMorph + scheduler)","path":"dist/dom.js","limit":"9.3 KB","ignore":["./region.js"],"import":"*"},{"gzip":true,"name":"region normalizer (morphicons/region standalone; lazy chunk of every binding)","path":"dist/region.js","limit":"11.2 KB","import":"*"},{"gzip":true,"name":"adapters (aggregate — grows by design, see per-export gates)","path":"dist/adapters.js","limit":"5.7 KB","import":"*"},{"gzip":true,"name":"adapters › svgToIcon (per-export shakeability gate)","path":"dist/adapters.js","limit":"4.7 KB","import":"{ svgToIcon }"},{"gzip":true,"name":"adapters › maskTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.8 KB","import":"{ maskTarget }"},{"gzip":true,"name":"adapters › canvasTarget (per-export shakeability gate)","path":"dist/adapters.js","limit":"0.55 KB","import":"{ canvasTarget }"},{"gzip":true,"name":"core + dom + react (MorphIcon, react external)","path":"dist/react.js","limit":"10.3 KB","ignore":["./region.js"],"import":"*"},{"gzip":true,"name":"core + dom + react-native (MorphIcon, react/rn/rnsvg external; Metro inlines the region chunk)","path":"dist/react-native.js","limit":"16 KB","import":"*"},{"gzip":true,"name":"core + dom + vue (MorphIcon, vue external)","path":"dist/vue.js","limit":"10.3 KB","ignore":["./region.js"],"import":"*"},{"gzip":true,"name":"core + dom + svelte TS half (svelte external)","path":"dist/svelte-shared.js","limit":"9.9 KB","ignore":["./region.js"],"import":"*"},{"gzip":true,"name":"svelte component (ships as source, consumer-compiled)","path":"dist/MorphIcon.svelte","limit":"1.4 KB","disablePlugins":["@size-limit/esbuild"]},{"gzip":true,"name":"core + dom + element (<morph-icon> custom element)","path":"dist/element.js","limit":"11.2 KB","ignore":["./region.js"],"import":"*"},{"gzip":true,"name":"astro shell (ships as source, consumer-compiled)","path":"dist/MorphIcon.astro","limit":"1.75 KB","disablePlugins":["@size-limit/esbuild"]}],"_npmVersion":"12.2.0","description":"Universal morphing for SVG icons, stroked or filled, with spring physics and zero runtime dependencies","directories":{},"maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.44","react":"^19.3.1","lucide":"^1.57.0","svelte":"^5.57.2","tsdown":"^0.23.1","happy-dom":"^20.14.6","react-dom":"^19.3.1","@types/bun":"^1.4.3","size-limit":"^13.1.1","typescript":"^7.0.2","@types/react":"^19.3.0","react-native":"^0.87.1","@tabler/icons":"^3.49.0","feather-icons":"^4.29.2","@biomejs/biome":"^2.5.15","@iconify-json/bi":"^1.2.7","@iconify-json/ph":"^1.2.2","@iconify-json/ri":"^1.2.10","@types/react-dom":"^19.3.0","react-native-svg":"^15.15.5","@iconify-json/mdi":"^1.2.3","@iconify-json/lucide":"^1.2.144","@iconify-json/tabler":"^1.2.42","@iconify-json/iconoir":"^1.2.12","@iconify-json/mingcute":"^1.2.8","@iconify-json/heroicons":"^1.2.3","@size-limit/preset-small-lib":"^13.1.1","@happy-dom/global-registrator":"^20.14.6","@iconify-json/material-symbols":"^1.2.95"},"peerDependencies":{"vue":">=3.3","react":">=18","svelte":">=5","react-native":">=0.71","react-native-svg":">=14"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"react-native-svg":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/morphicons_2.0.0_1792097890866_0.3304464809962191"}}},"time":{"created":"2026-08-01T09:06:16.420Z","modified":"2026-10-15T20:58:11.315Z","0.1.0":"2026-08-01T09:06:16.731Z","0.1.1":"2026-08-01T09:09:12.552Z","1.0.0":"2026-08-01T09:51:01.267Z","1.1.0":"2026-08-01T12:10:52.370Z","1.1.1":"2026-08-01T18:04:08.140Z","1.2.0":"2026-08-03T08:22:39.791Z","1.4.0":"2026-08-04T12:42:23.843Z","1.4.1":"2026-08-04T19:21:56.743Z","1.4.2":"2026-08-06T17:34:25.992Z","1.5.0":"2026-08-07T11:35:00.094Z","1.6.0":"2026-08-08T11:42:39.093Z","1.7.0":"2026-08-13T10:26:32.612Z","1.7.1":"2026-08-28T19:39:52.895Z","2.0.0":"2026-10-15T20:58:10.973Z"},"bugs":{"url":"https://github.com/guillermolg00/morphicons/issues"},"author":{"url":"https://guillermolg.com","name":"Guillermo"},"license":"MIT","homepage":"https://www.morphicons.com","keywords":["icons","svg","morphing","morph","morph-animation","animation","animated-icons","icon-morphing","svg-morph","spring","lucide","lucide-react","tabler","heroicons","iconoir","shadcn","feather","react","react-native","lucide-react-native","vue","lucide-vue-next","svelte","lucide-svelte","astro","astro-component","web-component","custom-element","icon-animation"],"repository":{"url":"git+https://github.com/guillermolg00/morphicons.git","type":"git"},"description":"Universal morphing for SVG icons, stroked or filled, with spring physics and zero runtime dependencies","maintainers":[{"name":"guillermolg00","email":"guillermolopezg00@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://www.morphicons.com\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/logo-dark.svg\">\n      <img src=\"assets/logo-light.svg\" alt=\"morphicons\" width=\"96\">\n    </picture>\n  </a>\n</p>\n\n<h1 align=\"center\">morphicons</h1>\n\n<p align=\"center\">\n  <a href=\"https://www.morphicons.com\"><strong>morphicons.com</strong></a> — live playground\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/sponsors/guillermolg00\">\n    <img src=\"https://img.shields.io/badge/%E2%98%95%20Buy%20me%20a%20coffee-EA4AAA\" alt=\"Buy me a coffee — sponsor morphicons on GitHub Sponsors\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <img src=\"assets/morphicons-states.gif\" alt=\"Three icons changing state in sequence: play to pause, sun to a filled moon, an outlined heart to a filled one, each one's color following its shape\" width=\"720\">\n</p>\n\nMorph any SVG icon into any other, stroked or filled, with spring physics. Lucide, Tabler, Heroicons, Material Symbols, Phosphor or your own paths. Zero runtime dependencies.\n\n```tsx\nimport { MorphIcon } from \"morphicons/react\";\nimport { Menu, X } from \"lucide\"; // icon data, not components\n\n<MorphIcon icon={open ? X : Menu} />\n```\n\nChange the prop and the icon morphs. Nothing to configure.\n\n## Install\n\n```bash\nnpm install morphicons\n```\n\nIcons are **data**: an `IconNode` (Lucide's format) or a `d` string. For Lucide, import from `lucide`, not `lucide-react`.\n\n| entry | |\n|---|---|\n| `morphicons/react` · `vue` · `svelte` · `react-native` | `<MorphIcon>` (the framework peer is optional) |\n| `morphicons/astro` · `element` | Astro component · `<morph-icon>` for plain HTML |\n| `morphicons/dom` | `createMorph()`, no framework |\n| `morphicons/adapters` | `svgToIcon`, `maskTarget`, `canvasTarget` |\n| `morphicons` | the pure core, no DOM |\n\n## Usage\n\nThree modes, the same in every binding:\n\n```tsx\n<MorphIcon icon={open ? X : Menu} />             // 1. change the prop: it animates\n<MorphIcon from={Menu} to={X} progress={0.4} />  // 2. you drive the progress\n<MorphIcon ref={ref} icon={Menu} />              // 3. ref.current.morphTo(X), or set(X) to jump\n```\n\n| prop | |\n|---|---|\n| `size`, `color`, `strokeWidth`, `absoluteStrokeWidth` | as in lucide-react; other `<svg>` attributes pass through |\n| `spring` | `\"snappy\"` (default), `\"smooth\"`, `\"bouncy\"` or `{ stiffness, damping }` |\n| `reducedMotion` | `\"never\"` (default), `\"user\"` (follow the OS) or `\"always\"` |\n| `label` | accessible name; without it the icon is `aria-hidden` |\n\nSSR renders the final SVG, so nothing flashes on hydration.\n\n### Lifecycle contract\n\n- Mounting without an icon is fine; the first one appears without animating.\n- While `from` and `to` are set, they win over `icon`.\n- Leaving controlled mode and coming back renders like a fresh mount.\n\n### Other frameworks\n\n```vue\n<MorphIcon :icon=\"open ? X : Menu\" />   <!-- Vue 3 -->\n```\n\n```svelte\n<MorphIcon icon={open ? X : Menu} />    <!-- Svelte 5 -->\n```\n\nReact Native has the React API (it needs Metro with package `exports`, the default since 0.79). Astro renders the SVG on the server and upgrades it to a `<morph-icon>` element in the browser. In plain HTML, use the element directly:\n\n```html\n<script type=\"module\">\n  import { defineMorphIcon } from \"morphicons/element\";\n  defineMorphIcon();\n</script>\n\n<morph-icon icon=\"M4 6h16M4 12h16M4 18h16\" label=\"Menu\"></morph-icon>\n```\n\nWithout a framework:\n\n```ts\nimport { createMorph } from \"morphicons/dom\";\n\nconst m = createMorph(pathEl, Menu); // an SVG <path>\nm.morphTo(X);\n```\n\n## Fill icons\n\nWhen either icon is filled, both morph as filled shapes. The code for that (5.4 KB gzip) loads the first time a filled icon shows up; stroke-only apps never download it. To bundle it instead:\n\n```ts\nimport { setRegionLoader } from \"morphicons/dom\";\nimport * as region from \"morphicons/region\";\n\nsetRegionLoader(async () => region);\n```\n\nOr call `preloadRegion()` early to fetch it before the first morph. For long lists of filled icons on low-end devices, run `toRegion(icon)` from `morphicons/region` at build time: the driver uses its output as is, with no normalization at runtime.\n\n## Format adapters\n\n- `svgToIcon(markup)`: SVG markup (an Iconify body, a full `<svg>`) to an icon.\n- `maskTarget(el)`: morphs CSS-mask icons in place (UnoCSS, Tailwind icon plugins).\n- `canvasTarget(canvas)`: draws the morph into a canvas or 2D context.\n\n```ts\ncreateMorph(maskTarget(span), svgToIcon(markup));\n```\n\n`maskTarget` and `canvasTarget` draw strokes only.\n\n## Icon library compatibility\n\nAny set on a 24×24 grid works as is. For other grids, use `fitIcon(icon, 32)` from `morphicons`, or `svgToIcon`, which reads the `viewBox`.\n\n## How it works\n\nFor each pair of shapes, morphicons solves the rotation, scale and translation that best map one onto the other, in closed form, and interpolates each separately. Two icons that are the same shape rotated simply rotate. Details in [docs/how-it-works.md](docs/how-it-works.md), decisions in [docs/adr](docs/adr).\n\n## Size\n\ngzip, enforced in CI: core 6.7 KB, `dom` 9.3, `react` 10.2, `vue` 10.3, `svelte` 9.9, `element` 11.1, `react-native` 15.9. The fill code adds 5.4 on first use. Adapters: 0.5–4.2 each.\n\n## Development\n\n```bash\nbun install\nbun test && bun run typecheck && bun run lint\nbun run play   # playground → http://localhost:3000\n```\n\nPlayground icons: [Lucide](https://lucide.dev) (ISC), [Feather](https://feathericons.com) (MIT), [Tabler](https://tabler.io/icons) (MIT).\n\n---\n\nMIT © [Guillermo](https://guillermolg.com) — made by [guillermolg.com](https://guillermolg.com)\n","readmeFilename":"README.md"}