{"_id":"torph","_rev":"13-7be0508601a45c09336bc81279a3907f","name":"torph","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"torph","version":"0.0.1","keywords":["react","text","animation"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.1","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://github.com/lochie/torph#readme","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"43f88214e54bd6f794c3b5f3814beb08ee9a3a60","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.1.tgz","fileCount":58,"integrity":"sha512-WfHw6/WrXHRMbpaLR9/H/qRu1kObvOGdN1eQQPKKUn1ajhNnr9oT61TtJOiHwqJTffsLQe4yr1wZHRefykSd7A==","signatures":[{"sig":"MEQCIGp20H5p+rAPGWg99BHYl5qW4yGQqiU2LTPNSX0zLZuFAiB7s/hGbe3PREquoE/bNPAwJ+NjMcBQpDOWrOlorYnkJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67461},"_from":"file:torph-0.0.1.tgz","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.js"},"./*":{"types":"./dist/components/*/index.d.ts","import":"./dist/components/*/index.mjs","require":"./dist/components/*/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/602413e8a932f6ebe6fcc8912a92f03b/torph-0.0.1.tgz","_integrity":"sha512-WfHw6/WrXHRMbpaLR9/H/qRu1kObvOGdN1eQQPKKUn1ajhNnr9oT61TtJOiHwqJTffsLQe4yr1wZHRefykSd7A==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"10.8.1","description":"An animated text component for React.","directories":{},"_nodeVersion":"18.18.2","dependencies":{"motion":"^12.23.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.0.2","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.1_1760300460333_0.8222811713068108","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"torph","version":"0.0.2","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.2","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://github.com/lochie/torph#readme","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"03c4be5f7599580a19c41e1fb4261f94c8b923cb","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.2.tgz","fileCount":30,"integrity":"sha512-pMTTreraQfOGzG07VDpcYealgl4aTGj7fDkqPDKhQByXysHCEDQRE1bSriesPlCaLxPWmuKNHeBDDxqFqEWlIQ==","signatures":[{"sig":"MEQCIDfEjMc7M4R5GD1KbItJXAZE+9FKt6IVFg1wQNCqWB3AAiBfA+Nyxm2Cu3lDpv4g2vHmxT+h8CDgNBh3qE11VK131w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103466},"_from":"file:torph-0.0.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":"./dist/svelte/index.d.ts","import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/2d649b9195860f4d5f4d751bab2999b9/torph-0.0.2.tgz","_integrity":"sha512-pMTTreraQfOGzG07VDpcYealgl4aTGj7fDkqPDKhQByXysHCEDQRE1bSriesPlCaLxPWmuKNHeBDDxqFqEWlIQ==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"10.8.1","description":"Dependency-free animated text component.","directories":{},"_nodeVersion":"18.18.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^4.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=4","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.2_1763056295047_0.8533051617843821","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"torph","version":"0.0.3","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.3","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://github.com/lochie/torph#readme","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"745498cf380d2ee7de1887f38b9ca9dc4da70ed3","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.3.tgz","fileCount":29,"integrity":"sha512-OOBGItI5BMmR5IxZ+V7w8FGJb7Yz/Pn0skZu4bHZFx6NNnEPtOykQgUCsNTQ7jr8DH4+WSp3lJCF/+WmHwf/NQ==","signatures":[{"sig":"MEUCIEe7+LZk5aw/M9GYtwx6/0GuE/PrUOdlPNPdfvShCW9YAiEA8qbdChg9F7vFPQtZUdh/9ApMapP6ZPn5Hn9PN65FlX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105367},"_from":"file:torph-0.0.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":"./dist/svelte/index.d.ts","import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/8c66bf3ed2ccf129e0692859c614bc6c/torph-0.0.3.tgz","_integrity":"sha512-OOBGItI5BMmR5IxZ+V7w8FGJb7Yz/Pn0skZu4bHZFx6NNnEPtOykQgUCsNTQ7jr8DH4+WSp3lJCF/+WmHwf/NQ==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"10.8.1","description":"Dependency-free animated text component.","directories":{},"_nodeVersion":"18.18.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^4.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=4","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.3_1769797246064_0.48899049579042675","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"torph","version":"0.0.4","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.4","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://github.com/lochie/torph#readme","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"a6cebd491cacc7a6e8ffe0951bd4865a2adfd070","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.4.tgz","fileCount":29,"integrity":"sha512-UNmetEZ9mlt4tDWikPrlsLxs7uL+q0093S8YDekyiZadUlVEn+YbqNdln4z+I+1Qz/VYLGhXlYKogVCgUmS9zg==","signatures":[{"sig":"MEQCIGiu0w5LsIlRE46m1JABUhqICj9CAu5HBK2mBYRkFVCeAiA2p9KNNjRzan1/QcwuPxfedo9P5CG1mK64d6BKsWcHlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105382},"_from":"file:torph-0.0.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":"./dist/svelte/index.d.ts","import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/440da9098217c9742b12fc10199f9d27/torph-0.0.4.tgz","_integrity":"sha512-UNmetEZ9mlt4tDWikPrlsLxs7uL+q0093S8YDekyiZadUlVEn+YbqNdln4z+I+1Qz/VYLGhXlYKogVCgUmS9zg==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"10.8.1","description":"Dependency-free animated text component.","directories":{},"_nodeVersion":"18.18.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^4.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=4","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.4_1769805271171_0.2889546900308373","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"torph","version":"0.0.5","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.5","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://github.com/lochie/torph#readme","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"5d9b2b0bb1c5626b07dc8d1fc87db64b5f2819ef","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.5.tgz","fileCount":30,"integrity":"sha512-A9mwvWouyRIIZ8Y9McJioZ4O5itSjgtfPQMGxU+qvA5MYaF31EY1Cq3OpOLT34wXLhsfOC7tto5Gzg0d6I3NQg==","signatures":[{"sig":"MEUCICpoMqZDgzEi6dUH/L5jemEDBO6amA75IM6k9ygQlX87AiEAu0cdCyXnjB5ZUIqdK1pQw/dpKiOlTA4RqkAOHLg1gwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144565},"_from":"file:torph-0.0.5.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":"./dist/svelte/index.d.ts","import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/9c6d97d3d05b6b8c2c6c8c3a6d81ca33/torph-0.0.5.tgz","_integrity":"sha512-A9mwvWouyRIIZ8Y9McJioZ4O5itSjgtfPQMGxU+qvA5MYaF31EY1Cq3OpOLT34wXLhsfOC7tto5Gzg0d6I3NQg==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"10.8.1","description":"Dependency-free animated text component.","directories":{},"_nodeVersion":"18.18.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^4.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=4","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.5_1771253947239_0.6710285889334511","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"torph","version":"0.0.6","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.6","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"46f6830cd9beab1b6715903caf55f8b3a91e5cdf","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.6.tgz","fileCount":27,"integrity":"sha512-nLWIhG7WP8omd3vpMdvfnW0iiG2jP7FJ3CcTffbdDpZ/cSEyAZpA5kbElJCVtp8p+hCtILN+ZY5UrQEmdAUQEw==","signatures":[{"sig":"MEUCIHiWZa3RXln9gMG4Egc/oLA5ZtrPzEj8Fn7ybkl6euAgAiEA7KxrpZyN3+3Pkiw9nJicpCMAVi41vABSs6KLD3Ecnm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182914},"_from":"file:torph-0.0.6.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":"./dist/svelte/index.d.ts","import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/1704386b20592456b4159cdfa433aa9d/torph-0.0.6.tgz","_integrity":"sha512-nLWIhG7WP8omd3vpMdvfnW0iiG2jP7FJ3CcTffbdDpZ/cSEyAZpA5kbElJCVtp8p+hCtILN+ZY5UrQEmdAUQEw==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.6_1772804018402_0.9423619068446574","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"torph","version":"0.0.7","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.7","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"843e8a397a2a434b6a1013554bfb270429f90cdd","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.7.tgz","fileCount":21,"integrity":"sha512-OXBTfwbDJ9vsptPJgejaoHAErSVCZMVicNJGVPNtF2CANzE7LeD0bH5GpTAkIB4dCtVzfueB/dYuwX1URfmE2Q==","signatures":[{"sig":"MEYCIQDGndhhu7o5qp6fRABZXEYbHSu5HP+4VenPRtiv/7U/kAIhAK2ayQtY+pZL7jYlwXVN7czxvDL9Rd0bkdsPFEy3bxj7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64515},"main":"dist/index.js","_from":"file:torph-0.0.7.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/0912ecb76240b0c8bdb18955009ce77e/torph-0.0.7.tgz","_integrity":"sha512-OXBTfwbDJ9vsptPJgejaoHAErSVCZMVicNJGVPNtF2CANzE7LeD0bH5GpTAkIB4dCtVzfueB/dYuwX1URfmE2Q==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.7_1772831077816_0.711240498912652","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"torph","version":"0.0.8","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.8","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"c9770c4b320175c1b359624203e79c67b3487771","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.8.tgz","fileCount":19,"integrity":"sha512-5B3lzEgKWlbR+DNrENBROZw3qze/OomgedtQSUMcitv+EX9epTIjwJGq6ugtqealNtGucJqxag7uK+YT1v8ufg==","signatures":[{"sig":"MEUCIEPODrxNyIYqjxkGOHN+uJZaudAFkVVG1UA4fwe6c6CPAiEA/s6Uknd82GRfpdrOzbSW3EyZmM3vvuRiTYmpD7sPU9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102643},"main":"dist/index.js","_from":"file:torph-0.0.8.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/f4d1128f4c1d407ad06e0d019678967b/torph-0.0.8.tgz","_integrity":"sha512-5B3lzEgKWlbR+DNrENBROZw3qze/OomgedtQSUMcitv+EX9epTIjwJGq6ugtqealNtGucJqxag7uK+YT1v8ufg==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.8_1772836936982_0.6042230040725931","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"torph","version":"0.0.9","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.9","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"00026fa3f14685b5a380e87202674bb2aa84d38e","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.9.tgz","fileCount":21,"integrity":"sha512-WrFMtJwqXCfIXbLNuTOwHWff0XVm/Ewctb+71bFis3HykPvCXl1CHXapU0r67pQhAI323fsA1L2pGPeqxXeRRA==","signatures":[{"sig":"MEYCIQD4hDviEoNOMZUjGCY7GrCqItgEMRWNA2mcIPes2X/2qgIhAOB+gu9gOwYsXI/GR3KgR/jQShWxMnQ35veo9xTE08+3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53036},"main":"dist/index.js","_from":"file:torph-0.0.9.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"import":"./dist/svelte/index.mjs","svelte":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup && node scripts/build-svelte.mjs","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/ace7c8ccd63558e0772f587a3b4008e0/torph-0.0.9.tgz","_integrity":"sha512-WrFMtJwqXCfIXbLNuTOwHWff0XVm/Ewctb+71bFis3HykPvCXl1CHXapU0r67pQhAI323fsA1L2pGPeqxXeRRA==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.9_1772893969138_0.18020809336362253","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"torph","version":"0.0.10","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.0.10","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"81e800d25f19b892e5a97536167852ca48c8457c","tarball":"https://registry.npmjs.org/torph/-/torph-0.0.10.tgz","fileCount":21,"integrity":"sha512-8ru2j0+3WWdjTi7teZdwJr0XIeTULr4RfBHePr0UQ6b6tLtBNnLvsqAYCy8NEHs7CU3JLTdh04XP2ycVOU9wMQ==","signatures":[{"sig":"MEQCICFqDiQ9x6ppYC0CoJpwVxap47wClDrbYg7ixXx/cQldAiA+UNYir4vjATNThMCawjK1lkoe57TsXrRlI78yqI8rAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53717},"main":"dist/index.js","_from":"file:torph-0.0.10.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"import":"./dist/svelte/index.mjs","svelte":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint -c .eslintrc.cjs ./src/**/*.{ts,tsx}","build":"tsup && node scripts/build-svelte.mjs","lint:fix":"eslint --fix -c .eslintrc.cjs ./src/**/*.{ts,tsx}","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/c7813765d628e65babd2156a37d6f41c/torph-0.0.10.tgz","_integrity":"sha512-8ru2j0+3WWdjTi7teZdwJr0XIeTULr4RfBHePr0UQ6b6tLtBNnLvsqAYCy8NEHs7CU3JLTdh04XP2ycVOU9wMQ==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","prettier":"^3.0.3","react-dom":"^18.2.0","typescript":"^5.9.3","@types/react":"^18.2.15","eslint-plugin-react":"^7.33.2","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.28.1","eslint-config-prettier":"^9.0.0","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-config-airbnb-typescript":"^17.1.0","@typescript-eslint/eslint-plugin":"^6.8.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.0.10_1785649462872_0.30110148996635555","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"torph","version":"0.1.0","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.1.0","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"403dffa9bd83607e7798db8fc87cc5a86971ec54","tarball":"https://registry.npmjs.org/torph/-/torph-0.1.0.tgz","fileCount":21,"integrity":"sha512-2HxoKBIjydwsVilfP44Dawsc6Ou4iL00GgnCvs4raL+Oc8EfY1kKyAxm+wmPYtVRdgdUoSIWUeaaIShNadxQPQ==","signatures":[{"sig":"MEUCIQDXK6jt0I2EHBQT1EXc0YcyP3Yb6QJniY8mI7lxnsAb+gIgUceuNS2X4aRActHVYFNYCyIh1fOo45hmYJkBn5fCUSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66232},"main":"dist/index.js","_from":"file:torph-0.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"import":"./dist/svelte/index.mjs","svelte":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint","test":"vitest run","build":"tsup && node scripts/build-svelte.mjs","lint:fix":"eslint --fix","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/db0b63d90d076f99bf72b84c5539d412/torph-0.1.0.tgz","_integrity":"sha512-2HxoKBIjydwsVilfP44Dawsc6Ou4iL00GgnCvs4raL+Oc8EfY1kKyAxm+wmPYtVRdgdUoSIWUeaaIShNadxQPQ==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","vitest":"^4.0.18","globals":"^17.9.0","prettier":"^3.0.3","react-dom":"^18.2.0","@eslint/js":"^9.36.0","typescript":"^5.9.3","@types/react":"^18.2.15","@torph/test-cases":"0.0.0","typescript-eslint":"^8.65.0","eslint-plugin-react":"^7.33.2","eslint-config-prettier":"^9.0.0","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.1.0_1785825827194_0.7604488054143737","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"torph","version":"0.1.1","keywords":["react","vue","svelte","text","animation","morph"],"author":{"name":"Lochie Axon"},"license":"MIT","_id":"torph@0.1.1","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"homepage":"https://torph.lochie.me","bugs":{"url":"https://github.com/lochie/torph/issues"},"dist":{"shasum":"93b09053bec3040aeded8aa7e620836dc41f29f4","tarball":"https://registry.npmjs.org/torph/-/torph-0.1.1.tgz","fileCount":21,"integrity":"sha512-7v/ZChjfHvNhBD5taq/ADirDuBS7g9SscF9u1wTGb13xEnDNo7u/5LI7VZSayXxZIRCm7PxoT1zTtyE0duOCKA==","signatures":[{"sig":"MEUCIQCQIdos5An+/sfIFndorFud6X4S1ctZiEVTxQrTxxB6SwIgUv0vFseXqCP+qEWdQywQyzoW5CxEK5QIscZK52dwpHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95700},"main":"dist/index.js","_from":"file:torph-0.1.1.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"import":"./dist/svelte/index.mjs","svelte":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint","test":"vitest run","build":"tsup && node scripts/build-svelte.mjs","lint:fix":"eslint --fix","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/4d940c386de2567edf8fab640cbd2693/torph-0.1.1.tgz","_integrity":"sha512-7v/ZChjfHvNhBD5taq/ADirDuBS7g9SscF9u1wTGb13xEnDNo7u/5LI7VZSayXxZIRCm7PxoT1zTtyE0duOCKA==","repository":{"url":"git+https://github.com/lochie/torph.git","type":"git","directory":"packages/torph"},"_npmVersion":"11.10.1","description":"Dependency-free animated text component.","directories":{},"sideEffects":false,"_nodeVersion":"25.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.0","tsup":"^8.5.0","react":"^18.2.0","eslint":"^9.36.0","svelte":"^5.0.0","vitest":"^4.0.18","globals":"^17.9.0","prettier":"^3.0.3","happy-dom":"^20.12.0","react-dom":"^18.2.0","@eslint/js":"^9.36.0","typescript":"^5.9.3","@types/react":"^18.2.15","@torph/test-cases":"0.0.0","typescript-eslint":"^8.65.0","eslint-plugin-react":"^7.33.2","eslint-config-prettier":"^9.0.0","eslint-plugin-react-hooks":"^5.2.0"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-dom":">=18"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/torph_0.1.1_1788372009222_0.6296844312475443","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"torph","version":"0.1.2","description":"Dependency-free animated text component.","homepage":"https://torph.lochie.me","author":{"name":"Lochie Axon"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/lochie/torph.git","directory":"packages/torph"},"main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","require":"./dist/react/index.js"},"./vue":{"types":{"import":"./dist/vue/index.d.mts","require":"./dist/vue/index.d.ts"},"import":"./dist/vue/index.mjs","require":"./dist/vue/index.js"},"./svelte":{"types":{"import":"./dist/svelte/index.d.mts","require":"./dist/svelte/index.d.ts"},"svelte":"./dist/svelte/index.mjs","import":"./dist/svelte/index.mjs","require":"./dist/svelte/index.js"}},"publishConfig":{"access":"public"},"keywords":["react","vue","svelte","text","animation","morph"],"bugs":{"url":"https://github.com/lochie/torph/issues"},"sideEffects":false,"peerDependencies":{"react":">=18","react-dom":">=18","svelte":">=5","vue":">=3"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"vue":{"optional":true},"svelte":{"optional":true}},"devDependencies":{"@eslint/js":"^9.36.0","@types/react":"^18.2.15","eslint":"^9.36.0","eslint-config-prettier":"^9.0.0","eslint-plugin-react":"^7.33.2","eslint-plugin-react-hooks":"^5.2.0","globals":"^17.9.0","happy-dom":"^20.12.0","prettier":"^3.0.3","react":"^18.2.0","react-dom":"^18.2.0","svelte":"^5.0.0","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.65.0","vitest":"^4.1.11","vue":"^3.3.0","@torph/test-cases":"0.0.0"},"scripts":{"build":"tsup && node scripts/build-svelte.mjs","dev":"tsup --watch","lint":"eslint","lint:fix":"eslint --fix","test":"vitest run","typecheck":"tsc --noEmit","pre-commit":"lint-staged"},"_id":"torph@0.1.2","_integrity":"sha512-td9I2JrKx81dfNAghuDTMBNd4kAgqCsUUjibdvj8L1BOnfggJP5ZhX3FvcoblbiGtjZTN1Vj3NYusmZLM9osYA==","_resolved":"/private/var/folders/4j/bbbvf6gx3l374l2ghb1jcyc00000gn/T/c4a26db65bf3775c82d2b4a1507522a5/torph-0.1.2.tgz","_from":"file:torph-0.1.2.tgz","_nodeVersion":"25.7.0","_npmVersion":"11.10.1","dist":{"integrity":"sha512-td9I2JrKx81dfNAghuDTMBNd4kAgqCsUUjibdvj8L1BOnfggJP5ZhX3FvcoblbiGtjZTN1Vj3NYusmZLM9osYA==","shasum":"0c5cbf37f5d74df4fd0f2038d09571a9a610ed05","tarball":"https://registry.npmjs.org/torph/-/torph-0.1.2.tgz","fileCount":21,"unpackedSize":103631,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC8PQbKtPJa+pmjJ9FSbUfQ3000HbmYYAt1l+QuSU6xiwIgKgdZ5zeEVy/oHgOeyj+SnYFtDdxtc3NzRJ6EJpMtksI="}]},"_npmUser":{"name":"lochieaxon","email":"lochieaxon@gmail.com"},"directories":{},"maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/torph_0.1.2_1788605937752_0.9754447591762434"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-12T20:21:00.181Z","modified":"2026-09-05T10:58:58.024Z","0.0.1":"2025-10-12T20:21:00.527Z","0.0.2":"2025-11-13T17:51:35.254Z","0.0.3":"2026-01-30T18:20:46.264Z","0.0.4":"2026-01-30T20:34:31.331Z","0.0.5":"2026-02-16T14:59:07.405Z","0.0.6":"2026-03-06T13:33:38.622Z","0.0.7":"2026-03-06T21:04:37.977Z","0.0.8":"2026-03-06T22:42:17.183Z","0.0.9":"2026-03-07T14:32:49.301Z","0.0.10":"2026-08-02T05:44:23.004Z","0.1.0":"2026-08-04T06:43:47.353Z","0.1.1":"2026-09-02T18:00:09.364Z","0.1.2":"2026-09-05T10:58:57.875Z"},"bugs":{"url":"https://github.com/lochie/torph/issues"},"author":{"name":"Lochie Axon"},"license":"MIT","homepage":"https://torph.lochie.me","keywords":["react","vue","svelte","text","animation","morph"],"repository":{"type":"git","url":"git+https://github.com/lochie/torph.git","directory":"packages/torph"},"description":"Dependency-free animated text component.","maintainers":[{"name":"lochieaxon","email":"lochieaxon@gmail.com"}],"readme":"# Torph\n\nDependency-free animated text morphing component for React, Vue, Svelte, and vanilla JavaScript.\n\n## Installation\n\n```bash\nnpm install torph\n# or\npnpm add torph\n# or\nyarn add torph\n```\n\n## Framework Usage\n\n### React\n\n```tsx\nimport { TextMorph } from \"torph/react\";\n\nfunction App() {\n  const [text, setText] = useState(\"Hello World\");\n\n  return (\n    <TextMorph\n      duration={400}\n      ease=\"cubic-bezier(0.19, 1, 0.22, 1)\"\n      locale=\"en\"\n      onAnimationComplete={() => console.log(\"Animation done!\")}\n      className=\"my-text\"\n      as=\"h1\"\n    >\n      {text}\n    </TextMorph>\n  );\n}\n```\n\n#### React Hook\n\n```tsx\nimport { useTextMorph } from \"torph/react\";\n\nfunction CustomComponent() {\n  const { ref, update } = useTextMorph({\n    duration: 400,\n    ease: \"cubic-bezier(0.19, 1, 0.22, 1)\",\n  });\n\n  useEffect(() => {\n    update(\"Hello World\");\n  }, []);\n\n  return <div ref={ref} />;\n}\n```\n\n### Vue\n\n```vue\n<script setup>\nimport { ref } from \"vue\";\nimport { TextMorph } from \"torph/vue\";\n\nconst text = ref(\"Hello World\");\n\nconst handleComplete = () => {\n  console.log(\"Animation done!\");\n};\n</script>\n\n<template>\n  <TextMorph\n    :text=\"text\"\n    :duration=\"400\"\n    ease=\"cubic-bezier(0.19, 1, 0.22, 1)\"\n    locale=\"en\"\n    :onAnimationComplete=\"handleComplete\"\n    class=\"my-text\"\n    as=\"h1\"\n  />\n</template>\n```\n\n### Svelte\n\n```svelte\n<script>\n  import { TextMorph } from 'torph/svelte';\n\n  let text = $state('Hello World');\n\n  const handleComplete = () => {\n    console.log('Animation done!');\n  };\n</script>\n\n<TextMorph\n  {text}\n  duration={400}\n  ease=\"cubic-bezier(0.19, 1, 0.22, 1)\"\n  locale=\"en\"\n  onAnimationComplete={handleComplete}\n  class=\"my-text\"\n  as=\"h1\"\n/>\n```\n\n### Vanilla JS\n\n```js\nimport { TextMorph } from \"torph\";\n\nconst morph = new TextMorph({\n  element: document.getElementById(\"morph\"),\n  duration: 400,\n  ease: \"cubic-bezier(0.19, 1, 0.22, 1)\",\n  locale: \"en\",\n  onAnimationStart: () => console.log(\"Starting...\"),\n  onAnimationComplete: () => console.log(\"Done!\"),\n});\n\nmorph.update(\"Hello World\");\n```\n\n## Spring Animations\n\nPass spring parameters to `ease` for physics-based easing. The duration is computed automatically from the spring physics.\n\n```tsx\nimport { TextMorph } from \"torph/react\";\n\nfunction App() {\n  const [text, setText] = useState(\"Hello World\");\n\n  return (\n    <TextMorph ease={{ stiffness: 200, damping: 20 }}>{text}</TextMorph>\n  );\n}\n```\n\n### Spring Parameters\n\n| Parameter   | Type     | Default | Description                               |\n| ----------- | -------- | ------- | ----------------------------------------- |\n| `stiffness` | `number` | `100`   | Spring stiffness coefficient              |\n| `damping`   | `number` | `10`    | Damping coefficient                       |\n| `mass`      | `number` | `1`     | Mass of the spring                        |\n| `precision` | `number` | `0.001` | Threshold for determining settled position |\n\n## Numbers\n\nNumeric words morph by place value: digits slide along the block axis, and the\nsymbols around them — currency, separators, signs, suffixes — travel with the\nplaces they belong to. It is on by default, so any value that contains a number\nalready animates this way. Pass `numbers={false}` to fall back to the\ncharacter-level text morph.\n\n```tsx\nimport { TextMorph } from \"torph/react\";\n\n// 1,204 → 1,318 rolls the hundreds and tens, leaves the thousands alone\n<TextMorph>{`$${total.toLocaleString(\"en\")}`}</TextMorph>;\n```\n\nA value passed as a number rather than a string is formatted for you, so\n`locale` and `decimals` apply:\n\n```tsx\n<TextMorph decimals={2} locale=\"de-DE\">\n  {1234.5}\n</TextMorph>\n```\n\n### Editable fields\n\nPlace matching is the right default for a value that changes on its own — a\ncounter, a total, a chart readout. It is the wrong one for a field somebody is\ntyping in, where the character that just changed is known and place value is not\nthe point: typing `1` in front of `20` should insert a digit, not renumber the\ncolumn.\n\nPass `cursorIndex` to switch that update from place matching to caret matching.\nIt is available on the React component and as the second argument to\n`update()`; a caret position is a DOM concern, so there is no Vue or Svelte prop\nfor it.\n\n```tsx\nconst [value, setValue] = useState(\"\");\nconst [caret, setCaret] = useState<number>();\n\n<input\n  value={value}\n  onChange={(e) => {\n    setCaret(e.target.selectionStart ?? undefined);\n    setValue(e.target.value);\n  }}\n/>\n<TextMorph cursorIndex={caret}>{value}</TextMorph>\n```\n\n```js\nmorph.update(\"$120\", 2);\n```\n\n## API\n\n### Options\n\nAll components accept the following props/options:\n\n- `text` / `children: string` - The text to display (required)\n- `duration?: number` - Animation duration in milliseconds (default: `400`).\n  Ignored when `ease` is a spring, which settles on its own physics\n- `ease?: string | SpringParams` - CSS easing function or spring parameters (default: `\"cubic-bezier(0.19, 1, 0.22, 1)\"`)\n- `scale?: boolean` - Enable scale animation on exiting segments (default: `true`)\n- `numbers?: boolean` - Morph numeric words by place value, sliding digits along\n  the block axis. Off falls back to the character-level text morph (default:\n  `true`)\n- `decimals?: number` - Fraction digits to format a numeric value to. Applies\n  when the value is a number (React children, or `update(number)`); ignored for\n  strings\n- `locale?: Intl.LocalesArgument` - Locale for text segmentation, and for\n  formatting a numeric value (default: `\"en\"`)\n- `debug?: boolean` - Enable debug mode with visual indicators\n- `disabled?: boolean` - Disable all morphing animations (default: `false`)\n- `respectReducedMotion?: boolean` - Respect user's prefers-reduced-motion setting (default: `true`)\n- `onAnimationStart?: () => void` - Callback fired when animation begins\n- `onAnimationComplete?: () => void` - Callback fired when animation completes\n- `onAnimationCancel?: () => void` - Callback fired when a morph is interrupted by the next one. Exactly one of `onAnimationComplete` and `onAnimationCancel` runs per morph\n- `className?: string` - CSS class name (React/Vue: `class`)\n- `style?: object | string` - Inline styles\n- `as?: string` - HTML element type (default: `\"span\"`)\n\n### Multi-line text\n\nNewlines in a value are rendered as line breaks, and text morphs normally\nacross them. The React component includes them in its server-rendered markup;\nVue and Svelte render them once the component mounts.\n\n### Utilities\n\nThe text matching torph runs on is exported for building your own behaviour on\ntop of it:\n\n- `segmentText(value, locale): Segment[]` - Split a value into segments\n- `diffSegments(oldSegments, newText, locale): DiffResult` - Match a new value\n  against existing segments, returning the segments that persist, enter and\n  exit\n\n## Found this useful?\n\nFollow me on [Twitter](https://twitter.com/lochieaxon).\n\n## Other projects\n\nYou might also like:\n\n- [number-flow](https://number-flow.barvian.me/) - Animated number component by [Maxwell Barvian](https://x.com/mbarvian).\n- [easing.dev](https://easing.dev) - Easily create custom easing graphs.\n\n## Acknowledgements\n\n- Thanks to [Alex](https://x.com/alexvanderzon) for assistance with the site design.\n- Thanks to [Pugson](https://x.com/pugson) for putting up with my bullshit.\n- Thanks to [Benji](https://x.com/benjitaylor) for coining the `Torph` name and outlining the method in [Family Values](https://benji.org/family-values#:~:text=This%20effect%20is,0.5x).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}