{"_id":"@edwinvakayil/calligraphy","_rev":"12-6e0f62f5411ff721f9f8069d6dfe21c6","name":"@edwinvakayil/calligraphy","dist-tags":{"latest":"1.5.0"},"versions":{"1.0.0":{"name":"@edwinvakayil/calligraphy","version":"1.0.0","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":"","license":"MIT","_id":"@edwinvakayil/calligraphy@1.0.0","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"019b274c8eda77cca564f08116ea4fed7c3a65da","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.0.0.tgz","fileCount":10,"integrity":"sha512-RgYzuf3S7gyic9Lz3l0AiAqoKEItsN8CY/Ru5971ErD7QnXAPG8uiH3dc23qLlY1PqOUj9jmROy61+thaI/L1A==","signatures":[{"sig":"MEUCIAD7u+D70pmAA+vx3g7Zo1ldAySTgosTiwcypR5B91unAiEAn88nAraDYFeOm6zWyk6RPKjUP/WKRhPsJjVocnjA6fE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89329},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.0.0_1773689487265_0.8473328018911617","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@edwinvakayil/calligraphy","version":"1.1.0","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":"","license":"MIT","_id":"@edwinvakayil/calligraphy@1.1.0","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"e0f3c7f5b1aa7520defe332f75bf2ae9d0bffcfd","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.1.0.tgz","fileCount":11,"integrity":"sha512-dQH3bLFqkS6mVDqm1vX5UKJ2tSrcv1LV9SeX6smHHeVTOSgzXFRtHFhM41aV9oxAImkqpJGnRhAcZRCdD8yqMQ==","signatures":[{"sig":"MEQCIAG2nFwLOBKplCWC+C5VrGsos6mYifgLJ8cwaqDsQAhWAiAfVAKi4UIoC9ohYQpFvEiBH+pAilQZxfMBpmNGTGW+Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137222},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.1.0_1773691127988_0.4321466873787587","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@edwinvakayil/calligraphy","version":"1.2.0","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":"","license":"MIT","_id":"@edwinvakayil/calligraphy@1.2.0","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"3ea9557841a4b5f17b22a873064e923d31b510e4","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.0.tgz","fileCount":11,"integrity":"sha512-OUVe57HUhRt6MymkaDzO0l2aonE2lyZZ0C2L5xJC6KqzAvum0tfGrJ4bmE30WySO4gi5ijvCPpwKkZhWC50Xnw==","signatures":[{"sig":"MEUCIQCE/73h+28hT35rBDIzeFE4Wo4Jo1tVAM8VH7QBc+LCYAIgJpMjU1ELgqCccsaKx1Mz6S4OZAaIHwfVlTs7itV7Ye8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143937},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.0_1773691658234_0.8803940822987746","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@edwinvakayil/calligraphy","version":"1.2.1","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":"","license":"MIT","_id":"@edwinvakayil/calligraphy@1.2.1","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"32fa6c7315bc7fce9775b90f9f5bf1f75f717b30","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.1.tgz","fileCount":11,"integrity":"sha512-uXr3l0VM0CQ0bf2f1BYood/PamAUeoe/M8qnx6qRT0G1rMq7lZ2VTcf7dk3IezmHHWSAQqDRlbk0DTY7QV5odA==","signatures":[{"sig":"MEUCIQD/35jMBNF0zXpf+2248rqiUTxa6wivCyd6keWMudSFUQIgJEQjWBMNIqarkWjEDB9BV1p/LXCKKFZiM4FOOKMMNC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143946},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.1_1773692106481_0.4282849551087977","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@edwinvakayil/calligraphy","version":"1.2.2","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.2.2","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"47bd21face92d0cb5fb75b66afbc99b82f19ba0c","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.2.tgz","fileCount":12,"integrity":"sha512-lXIcsxc7E9GrLk5SB2uzFn4vNPWLujPvcRRR/bN5PiMmTGlcZU+nwY7l39mbN8AW0HoAissT4Xzc5wZrGNTEgA==","signatures":[{"sig":"MEYCIQD/SalmkGNZvF/n4w+sk2x0itpX69Q8bJfR6wAlM+tpIwIhAM7l2K1B/0nhoYzrMf2Mksv4Wa+nfXU7lc54Y1BpSqtS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146196},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"e8e829c9dff5fc536b8d4a1e72e4411f3c8b3e9c","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.2_1773692701655_0.3627687255654055","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@edwinvakayil/calligraphy","version":"1.2.3","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.2.3","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"7e395d582d209f0fcd2253eb2b07f3adc0bb8d97","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.3.tgz","fileCount":12,"integrity":"sha512-fCDlUanJmnzhSfPE7h53NSJq8fV5jMHHV4GPIXYCN+3cpoCNimVsOlMOJtY677BI4cVpkxwwZOLLT6j91JPSIw==","signatures":[{"sig":"MEYCIQCFqXoPmflvaT7gua/7LQRhKahKAZvb6zEn6C6l5Rd6OQIhAL++PkmE/UlHlwYoNOJXRme2FvNte6oNwBTZkAzeCHf4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146241},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"26b8fed59ab39622dcf0802abcfd76dc055550b6","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.3_1773692818725_0.9313597011934966","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@edwinvakayil/calligraphy","version":"1.2.4","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.2.4","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"6fa317d5726d4acf4a5a621c346b42e00368f639","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.4.tgz","fileCount":12,"integrity":"sha512-yp760H70mID12OP2nScXMdqCSsOJeeJYRvN8sgZFzDvoTwF1coU3ktCOIkRhZwCDuKUSfRatyCXTGnhcpM2pTw==","signatures":[{"sig":"MEYCIQDzbWrPzYZbfeEI4RsxHtLSWcuOy6jCpai1GQBE22j32QIhAPKPIpehJx3NcasSf1XQdWcfiF+NQQfr5gNYHxayxxDC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146286},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"40488255e3373652f65da11b87301f48ed25880e","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.4_1774197709098_0.7312665809050944","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@edwinvakayil/calligraphy","version":"1.2.5","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.2.5","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"bdf0ff595d07cf3075fe47e669ff20a7b2027f42","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.5.tgz","fileCount":12,"integrity":"sha512-zvVgKlX9cjehi+dtyD9wEnk9LEP0QPtSEjcElC1NSMvoFcHGnLgkhjMbPyfwm2tUiDVMDb1x3cW9ihHpJGRVHA==","signatures":[{"sig":"MEUCICmDelbvzuZUaqfIwe+wzl3L2jc4+wFGSpZZgFasyCCZAiEAkbtJ5/TFiA2XYBpyzX5X7JSsTdb8s7tS6AqLwp0/o5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156432},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"3748b3cd8efac562ac6b0518c867e0c2951d673b","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.5_1774198551092_0.893485570115969","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@edwinvakayil/calligraphy","version":"1.2.6","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.2.6","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"7aeffe0e75e3d717a63cbce2195d22834baada2e","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.2.6.tgz","fileCount":13,"integrity":"sha512-/5wj6OfHYkmDXIF+Pev8RnpC8yRwzq/quSNteSqesteYRh9YztR3TWeJ8g/w+FHvunwKavym6QL7boROkVgOuQ==","signatures":[{"sig":"MEUCIFtPzyBtI7Q8nGhnCJOMQGGt32u2+355aaP+I5583VA5AiEA4d/Au+LKA8n/AuZrGhnVLFy1nWGqlKmiCfQemiUFiQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172742},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"6d2c997d5ac86e4e575618c80cb8b38815943eda","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.2.6_1774204726497_0.945747397608693","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@edwinvakayil/calligraphy","version":"1.3.0","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.3.0","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"c1bc27712971e074dfbb569b190cb3ffbbc494d6","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.3.0.tgz","fileCount":13,"integrity":"sha512-FAfIBDImd0Q50Dw5KariD/rtOSwnapaTH4EWMfEwsK6jUJxzAT3VMgeRMKkchtfsA1gdp7itbIhhjADwyR8zZQ==","signatures":[{"sig":"MEQCIAKhCyLO43TFIjW5+/Wl02FFv5gqfIhSgpHH6eVyooHfAiB3xWNWEQw3pU/yrUCYhdbBLMuVbYxEb+eTwTKifSg/aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199512},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"36576e19e7d6884446ab83d776dd071e3335596a","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.3.0_1774208831343_0.5379847048788065","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@edwinvakayil/calligraphy","version":"1.4.0","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","_id":"@edwinvakayil/calligraphy@1.4.0","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"dist":{"shasum":"cb7ca76cd8862f4411f464dca92f9d72965cde39","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.4.0.tgz","fileCount":13,"integrity":"sha512-kBUkLM56nCFGESxmJNruX+EPtfcgfWRfzp6mMt1MtM8BsfHTfKucqpZjNz4xNFK2NKn9SBptSJDK/OvCjDTd9g==","signatures":[{"sig":"MEUCICB1Z2xvv7e1Kj2S5EB7oz9of4lIOr3IxUO15ENjh4f1AiEAjTSgd1Wn/kGj2FqqCprZju5TO+yvdSLvx0IixR299hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":283310},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"6f647dc483cdb9e960b02d74ac1badb8be6e7465","scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx","build":"rollup -c","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"website":"https://edwinvakayil.com","_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.4","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-dts":"^5.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/calligraphy_1.4.0_1774238363521_0.7288792725438249","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@edwinvakayil/calligraphy","version":"1.5.0","description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c","dev":"rollup -c --watch","type-check":"tsc --noEmit","lint":"eslint src --ext .ts,.tsx","prepublishOnly":"npm run build"},"keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"author":{"name":"Edwin Vakayil"},"website":"https://edwinvakayil.com","license":"SEE LICENSE IN LICENSE","peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-typescript":"^11.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup":"^3.0.0","rollup-plugin-dts":"^5.0.0","tslib":"^2.6.0","typescript":"^5.0.0"},"repository":{"type":"git","url":""},"_id":"@edwinvakayil/calligraphy@1.5.0","gitHead":"7e6ec61f4b4eef43af53faafee5b6115adf0f10e","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-R0HKOEGumdkrWd1WorX9/gePuac7BoBCMpE8VxTn0yU/tUcZ8FkHeQjc2MDfDIVQcvtPYCQvm4q4sf2DNVK3WQ==","shasum":"0c6e405228f53cf252ff60613163afcc18a610e7","tarball":"https://registry.npmjs.org/@edwinvakayil/calligraphy/-/calligraphy-1.5.0.tgz","fileCount":13,"unpackedSize":337741,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDivAO6YxRdOBak+pDlaHFNoRcvf6tKjkBjWs3MhE5A9wIgRz/fRkLpjarKgzycWiTaXfgadLFXyDiVprlSzhtxTIc="}]},"_npmUser":{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"},"directories":{},"maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/calligraphy_1.5.0_1774239772375_0.40919259180115874"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T19:31:27.158Z","modified":"2026-03-23T04:22:52.669Z","1.0.0":"2026-03-16T19:31:27.419Z","1.1.0":"2026-03-16T19:58:48.147Z","1.2.0":"2026-03-16T20:07:38.389Z","1.2.1":"2026-03-16T20:15:06.630Z","1.2.2":"2026-03-16T20:25:01.812Z","1.2.3":"2026-03-16T20:26:58.874Z","1.2.4":"2026-03-22T16:41:49.246Z","1.2.5":"2026-03-22T16:55:51.254Z","1.2.6":"2026-03-22T18:38:46.623Z","1.3.0":"2026-03-22T19:47:11.492Z","1.4.0":"2026-03-23T03:59:23.690Z","1.5.0":"2026-03-23T04:22:52.561Z"},"author":{"name":"Edwin Vakayil"},"license":"SEE LICENSE IN LICENSE","keywords":["react","typescript","typography","google-fonts","font","heading","text","ui","component"],"repository":{"type":"git","url":""},"description":"A lightweight React + TypeScript typography component with Google Fonts support. Scale from Display to Caption with a single prop.","maintainers":[{"name":"edwinvakayil","email":"edwinsojan02@gmail.com"}],"readme":"# @edwinvakayil/calligraphy\n\nA lightweight **React + TypeScript** typography component with automatic **Google Fonts** support, **30+ hero entrance animations**, **custom motion config**, and an **italic accent toggle**.\n\n---\n\n## Install\n\n```bash\nnpm install @edwinvakayil/calligraphy\n# or\nyarn add @edwinvakayil/calligraphy\n```\n\n---\n\n## Quick Start\n\n```tsx\nimport { Typography } from \"@edwinvakayil/calligraphy\";\n\nexport default function App() {\n  return (\n    <div>\n      <Typography variant=\"Display\" font=\"Bricolage Grotesque\" animation=\"rise\">\n        Design with <em>intention</em>\n      </Typography>\n\n      <Typography variant=\"H1\" font=\"Syne\">\n        Page Title\n      </Typography>\n\n      <Typography variant=\"Body\" font=\"DM Sans\">\n        Regular body copy goes here.\n      </Typography>\n    </div>\n  );\n}\n```\n\nThe `font` prop auto-injects the matching Google Font `<link>` tag — no manual imports needed.\n\n---\n\n## Variants\n\n| Variant      | Tag      | Role                           |\n|--------------|----------|--------------------------------|\n| `Display`    | `h1`     | Hero / landing page headline   |\n| `H1`         | `h1`     | Primary page heading           |\n| `H2`         | `h2`     | Section heading                |\n| `H3`         | `h3`     | Sub-section heading            |\n| `H4`         | `h4`     | Card / panel heading           |\n| `H5`         | `h5`     | Small heading                  |\n| `H6`         | `h6`     | Micro heading                  |\n| `Subheading` | `h6`     | Supporting subtitle            |\n| `Overline`   | `span`   | ALL CAPS label above a heading |\n| `Body`       | `p`      | Main body copy                 |\n| `Label`      | `label`  | Form labels, tags              |\n| `Caption`    | `span`   | Image captions, fine print     |\n\n---\n\n## Props\n\n```ts\ninterface TypographyProps {\n  variant?:      TypographyVariant    // default: \"Body\"\n  font?:         string               // Google Font name e.g. \"Bricolage Grotesque\"\n  color?:        string               // Any CSS color value\n  align?:        \"left\" | \"center\" | \"right\" | \"justify\"\n  as?:           ElementType          // Override rendered HTML tag\n  truncate?:     boolean              // Single-line ellipsis\n  maxLines?:     number               // Multi-line line-clamp\n  animation?:    HeroAnimation        // Built-in entrance animation (Display / H1 only)\n  motionConfig?: MotionConfig         // Custom keyframe animation — any variant\n  motionRef?:    (el: HTMLElement | null) => void  // Direct DOM access for GSAP / Framer\n  italic?:       boolean              // default: false — serif italic accent on <em>\n  accentColor?:  string               // default: \"#c8b89a\" — color for <em> italic text\n  className?:    string\n  style?:        CSSProperties\n}\n```\n\n---\n\n## Hero Animations\n\nThe `animation` prop works on `Display` and `H1` variants. It injects a tiny stylesheet once (no external dependency) and applies a CSS keyframe entrance.\n\n```tsx\n<Typography variant=\"Display\" font=\"Bricolage Grotesque\" animation=\"rise\">\n  The future of design\n</Typography>\n```\n\n### Available animations\n\n#### Original\n\n| Value        | Description                                          |\n|--------------|------------------------------------------------------|\n| `rise`       | Smooth upward fade-in — clean, universal             |\n| `stagger`    | Each word rises in sequence                          |\n| `clip`       | Text unmasked left to right — editorial feel         |\n| `pop`        | Spring scale-in — energetic and confident            |\n| `letters`    | Each letter slides in with a slight rotation         |\n| `blur`       | Emerges from a blur — cinematic and dreamy           |\n| `flip`       | 3-D perspective rotate on entry — depth and gravitas |\n| `swipe`      | Slides in from the right — directional flow          |\n| `typewriter` | Character-by-character reveal — focused              |\n| `bounce`     | Drops from above with a soft bounce                  |\n\n#### Modern\n\n| Value       | Description                                              |\n|-------------|----------------------------------------------------------|\n| `velvet`    | Words drift in with a soft skew — buttery & modern       |\n| `curtain`   | Each word clips upward like a rising curtain             |\n| `morph`     | Squash-and-stretch spring — expressive & bold            |\n| `ground`    | Words emerge from behind the baseline — editorial        |\n| `cascade`   | Diagonal character waterfall — dynamic & layered         |\n| `spotlight` | Expands from compressed letterspace — cinematic          |\n| `ink`       | Words fade in with a gentle scale — calm & precise       |\n| `hinge`     | Words rotate in from their left edge — mechanical        |\n| `stretch`   | Horizontal rubber-band expand — playful & punchy         |\n| `peel`      | Bottom-to-top clip reveal per word — sharp               |\n| `ripple`    | Words scale out from a compressed point — elastic        |\n| `cinch`     | Characters pinch then snap open — crisp & mechanical     |\n| `tiltrise`  | Words rise while untilting from a lean — editorial       |\n\n#### New mechanics\n\n| Value        | Description                                              |\n|--------------|----------------------------------------------------------|\n| `unfurl`     | Line expands from horizontal center — origami opening    |\n| `billboard`  | Whole line rotates in on Y-axis — turning sign           |\n| `tectonic`   | Words slam from alternating sides with skew              |\n| `stratify`   | Per-word Z-depth flight through blur — depth-of-field    |\n| `orbit`      | Words grow from dot while rotating on Z-axis             |\n| `liquid`     | Per-word cross-axis squash then spring — fluid inertia   |\n| `noiseFade`  | 3 random opacity waveforms per word — signal locking     |\n| `slab`       | Words stamp from left with scaleX — print-press energy   |\n| `thread`     | Characters float on individual sine-wave Y offsets       |\n| `glassReveal`| Backdrop blur evaporates as text solidifies              |\n| `wordPop`    | Per-word spring from zero scale at its own centre        |\n| `scanline`   | Single-pixel horizontal slice expands to full height     |\n| `chromaShift`| RGB channel offsets collapse to zero — printing register |\n| `wordFade`   | Per-word cross-dissolve with warmth scale                |\n| `rotateIn`   | Full Y-axis card-flip per word — face-up reveal          |\n| `pressIn`    | Presses to 0.92 then springs past 1 — physical button    |\n| `unfurl`     | Text splits open from center — origami feel              |\n| `dissolve`   | Characters dissolve in with random micro-rotation        |\n| `depth`      | Z-axis push from far to near — immersive 3D              |\n| `maskSweep`  | Mask-image sweep reveals text left to right              |\n| `gradSweep`  | Gradient sweep across text then resolves to solid        |\n\nAll animations use only `transform`, `opacity`, and `filter` — GPU-composited, no layout thrashing, 60fps safe.\n\n---\n\n## Custom Motion — `motionConfig`\n\nWhen the built-in presets don't fit, write your own keyframe. Works on **any variant**, not just heroes.\n\n```tsx\nimport { Typography, type MotionConfig } from \"@edwinvakayil/calligraphy\";\n```\n\n### Whole-element animation\n\n```tsx\n<Typography\n  variant=\"H2\"\n  font=\"Syne\"\n  motionConfig={{\n    keyframes: `from { opacity: 0; transform: translateY(24px) skewX(6deg); }\n                to   { opacity: 1; transform: none; }`,\n    duration: \"0.8s\",\n    easing:   \"cubic-bezier(0.16, 1, 0.3, 1)\",\n    delay:    \"0.1s\",\n  }}\n>\n  Section heading\n</Typography>\n```\n\n### Per-word stagger\n\n```tsx\n<Typography\n  variant=\"Display\"\n  font=\"Bricolage Grotesque\"\n  motionConfig={{\n    keyframes:    `from { opacity: 0; transform: translateX(-20px) rotate(-4deg); }\n                  to   { opacity: 1; transform: none; }`,\n    duration:     \"0.65s\",\n    split:        \"words\",\n    staggerDelay: 0.09,\n  }}\n>\n  Design with <em>intention</em>\n</Typography>\n```\n\n### Per-character stagger\n\n```tsx\n<Typography\n  variant=\"Display\"\n  motionConfig={{\n    keyframes:    `from { opacity: 0; transform: scaleY(0) translateY(10px); }\n                  to   { opacity: 1; transform: none; }`,\n    duration:     \"0.5s\",\n    split:        \"chars\",\n    staggerDelay: 0.035,\n  }}\n>\n  Motion\n</Typography>\n```\n\n### `MotionConfig` shape\n\n```ts\ninterface MotionConfig {\n  keyframes:     string                          // CSS keyframe body (without @keyframes name {})\n  duration?:     string                          // default: \"0.8s\"\n  easing?:       string                          // default: \"cubic-bezier(0.16, 1, 0.3, 1)\"\n  delay?:        string                          // default: \"0s\"\n  fillMode?:     \"none\"|\"forwards\"|\"backwards\"|\"both\"  // default: \"both\"\n  split?:        \"none\" | \"words\" | \"chars\"      // default: \"none\"\n  staggerDelay?: number                          // seconds between spans; default 0.07 (words) / 0.04 (chars)\n}\n```\n\n---\n\n## Direct DOM Access — `motionRef`\n\nFor full control with GSAP, Framer Motion, or the Web Animations API. The ref callback fires after mount and on every re-render.\n\n`motionRef` takes priority over both `animation` and `motionConfig`.\n\n```tsx\n// Web Animations API\n<Typography\n  variant=\"Display\"\n  font=\"Bricolage Grotesque\"\n  motionRef={(el) => {\n    if (!el) return;\n    el.animate(\n      [{ opacity: 0, transform: \"translateY(32px)\" }, { opacity: 1, transform: \"none\" }],\n      { duration: 900, easing: \"cubic-bezier(0.16,1,0.3,1)\", fill: \"both\" }\n    );\n  }}\n>\n  Full control\n</Typography>\n\n// GSAP\n<Typography\n  variant=\"H1\"\n  motionRef={(el) => {\n    if (!el) return;\n    gsap.from(el, { opacity: 0, y: 40, duration: 0.9, ease: \"power3.out\" });\n  }}\n>\n  GSAP powered\n</Typography>\n```\n\n### Priority order\n\n```\nmotionRef  >  motionConfig  >  animation  >  no animation\n```\n\n---\n\n## Italic Accent\n\nWhen `italic={true}`, any `<em>` tag inside a `Display` or `H1` hero renders in **Instrument Serif italic** with an accent color. Off by default.\n\n```tsx\n// Off by default\n<Typography variant=\"Display\" font=\"Bricolage Grotesque\">\n  Build with <em>intention</em>\n</Typography>\n\n// Turn on\n<Typography variant=\"Display\" font=\"Bricolage Grotesque\" italic>\n  Build with <em>intention</em>\n</Typography>\n\n// Custom accent color\n<Typography variant=\"Display\" font=\"Bricolage Grotesque\" italic accentColor=\"#7F77DD\">\n  Crafted with <em>precision</em>\n</Typography>\n```\n\n`accentColor` has no effect when `italic={false}`.\n\n---\n\n## TypographyProvider\n\nWrap your app (or a section of it) with `TypographyProvider` to set defaults once. Any prop passed directly to `<Typography>` still wins — the provider is just the fallback.\n\n```tsx\nimport { TypographyProvider, Typography } from \"@edwinvakayil/calligraphy\";\n\nexport default function App() {\n  return (\n    <TypographyProvider\n      theme={{\n        font:        \"Bricolage Grotesque\",\n        accentColor: \"#6366f1\",\n        italic:      true,\n        animation:   \"rise\",\n        color:       \"#1a1a1a\",\n      }}\n    >\n      {/* Inherits all theme values */}\n      <Typography variant=\"Display\">\n        Build with <em>intention</em>\n      </Typography>\n\n      {/* Overrides just the animation */}\n      <Typography variant=\"H1\" animation=\"clip\">\n        Another hero heading\n      </Typography>\n\n      {/* italic=false wins over theme's italic=true */}\n      <Typography variant=\"Display\" italic={false}>\n        No serif accent here\n      </Typography>\n    </TypographyProvider>\n  );\n}\n```\n\n### Theme shape\n\n```ts\ninterface TypographyTheme {\n  font?:        string          // Google Font applied to all variants\n  accentColor?: string          // <em> accent color for Display / H1\n  italic?:      boolean         // italic accent on/off for Display / H1\n  animation?:   HeroAnimation   // entrance animation for Display / H1\n  color?:       string          // default text color for all variants\n}\n```\n\n### Priority order\n\n```\nExplicit prop  >  TypographyProvider theme  >  built-in default\n```\n\n### Nesting providers\n\nThe nearest provider wins:\n\n```tsx\n<TypographyProvider theme={{ font: \"Bricolage Grotesque\", color: \"#111\" }}>\n  <Typography variant=\"H1\">Uses Bricolage Grotesque</Typography>\n\n  <TypographyProvider theme={{ font: \"Playfair Display\", accentColor: \"#e11d48\" }}>\n    <Typography variant=\"Display\">\n      Uses Playfair Display with red accent\n    </Typography>\n  </TypographyProvider>\n</TypographyProvider>\n```\n\n---\n\n## Examples\n\n### Overline + Display combo\n\n```tsx\n<Typography variant=\"Overline\" color=\"#6366f1\">New Feature</Typography>\n<Typography variant=\"Display\" font=\"Bricolage Grotesque\" animation=\"clip\" accentColor=\"#6366f1\">\n  Build faster with <em>types</em>\n</Typography>\n```\n\n### Body + Caption\n\n```tsx\n<Typography variant=\"Body\" font=\"Lora\">\n  A well-set paragraph in a refined serif font brings reading pleasure.\n</Typography>\n<Typography variant=\"Caption\" color=\"#888\">\n  Fig. 1 — System architecture overview\n</Typography>\n```\n\n### Truncation\n\n```tsx\n<Typography variant=\"H2\" truncate>\n  This very long title will be cut off with an ellipsis\n</Typography>\n\n<Typography variant=\"Body\" maxLines={3}>\n  This paragraph will show at most three lines...\n</Typography>\n```\n\n### Override HTML tag\n\n```tsx\n<Typography variant=\"H2\" as=\"div\">\n  Renders as a div, styled as H2\n</Typography>\n```\n\n---\n\n## Pre-loading fonts\n\nTo avoid FOUT (flash of unstyled text), pre-load fonts at the top of your app:\n\n```tsx\nimport { preloadFonts } from \"@edwinvakayil/calligraphy\";\n\n// In your _app.tsx / main.tsx / layout.tsx\npreloadFonts([\"Bricolage Grotesque\", \"Instrument Serif\", \"DM Sans\"]);\n```\n\n---\n\n## Recommended hero font pairings\n\n| Heading font          | Style      | Works well for               |\n|-----------------------|------------|------------------------------|\n| `Bricolage Grotesque` | Bold sans  | Startups, SaaS, modern brand |\n| `Syne`                | Geometric  | Creative, portfolio, agency  |\n| `Fraunces`            | Serif      | Editorial, luxury, fashion   |\n| `Bebas Neue`          | Condensed  | Sports, bold campaigns       |\n| `Playfair Display`    | Serif      | Journalism, books, culture   |\n| `Outfit`              | Clean sans | Apps, dashboards, fintech    |\n\n---\n\n## SSR & Next.js\n\n`@edwinvakayil/calligraphy` is fully SSR-safe. All DOM work (`<link>` and `<style>` injection) happens inside `useInsertionEffect`, which React never calls on the server. The text renders in the server HTML; animations play after hydration.\n\n### Next.js App Router\n\n```tsx\n// app/layout.tsx\nimport { TypographyProvider } from \"@edwinvakayil/calligraphy\";\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n  return (\n    <html lang=\"en\">\n      <body>\n        <TypographyProvider theme={{ font: \"Bricolage Grotesque\", accentColor: \"#6366f1\" }}>\n          {children}\n        </TypographyProvider>\n      </body>\n    </html>\n  );\n}\n```\n\n```tsx\n// app/page.tsx — Server Component\nimport { Typography } from \"@edwinvakayil/calligraphy\";\n\nexport default function Page() {\n  return (\n    <Typography variant=\"Display\" animation=\"rise\">\n      Renders on the server, <em>animates</em> on the client\n    </Typography>\n  );\n}\n```\n\n### Next.js Pages Router\n\n```tsx\n// pages/_app.tsx\nimport { TypographyProvider } from \"@edwinvakayil/calligraphy\";\nimport type { AppProps } from \"next/app\";\n\nexport default function App({ Component, pageProps }: AppProps) {\n  return (\n    <TypographyProvider theme={{ font: \"Syne\" }}>\n      <Component {...pageProps} />\n    </TypographyProvider>\n  );\n}\n```\n\n### What renders where\n\n| Prop | Server | Client |\n|------|--------|--------|\n| `variant`, `font`, `color`, `align`, `truncate`, `maxLines` | Inline styles in HTML | Hydrated |\n| `animation` | Class name in HTML | Keyframe `<style>` injected, animation plays |\n| `motionConfig` | Raw HTML (split spans present) | Animation applied after hydration |\n| `motionRef` | Plain HTML | Callback fires after hydration |\n| `italic` / `accentColor` | Inline styles on `<em>` | No flash on hydration |\n\n---\n\n## Build & Publish\n\n```bash\nnpm install\nnpm run build          # outputs CJS + ESM + .d.ts to /dist\nnpm pack               # inspect the tarball before publishing\nnpm publish --access public\n```\n\n---\n\n## License\n\nCopyright (c) 2025 Edwin Vakayil. All rights reserved.\n\nThis package is proprietary software. You may install and use it for personal or internal business purposes, but you may not copy, modify, distribute, or create derivative works from it without explicit written permission from the author.\n\nSee the [LICENSE](./LICENSE) file for full terms.","readmeFilename":"README.md"}