{"_id":"use-typewriter-hook","_rev":"8-894b8ac339a67ce13d3b9145adc6c4c4","name":"use-typewriter-hook","dist-tags":{"latest":"3.1.2"},"versions":{"1.0.0":{"name":"use-typewriter-hook","version":"1.0.0","description":"A flexible hook for creating typewriter-like experience with React.","main":"./src/index.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@1.0.0","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-hMaXN78ENj6xYtPPP09jl/5jjYnA56a3Bf3ZTigraRvDhD0VnI3RRUXjwOASc+tQ90dsv7P/JoQdUycc501vHg==","shasum":"79ac09f00e21cc8ada3354aae349e52a359c4da5","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-1.0.0.tgz","fileCount":11,"unpackedSize":18529,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAjCzyJzytI3V4Qe54Yw0xD7IkaP4d7TII63LBrG5gPhAiBH2X68hgw6gXAwr39YsJgmGu1o5vdUJqB/7jM/3C3ZCw=="}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_1.0.0_1636435785841_0.4293513025737665"},"_hasShrinkwrap":false},"1.0.1":{"name":"use-typewriter-hook","version":"1.0.1","description":"A flexible hook for creating typewriter-like experience with React.","main":"./build/index.js","types":"build/index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@1.0.1","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-D2wJptWBLvYp5uRdLUsEtiAW/KV5pTvXRWsRrExZXEmQqjcVE1JPa/QDjWDpZZ4g4StO7K60IwtN5qppgn5WKA==","shasum":"3fe2a20fbf119277362e95d742f10c9df061b7cf","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-1.0.1.tgz","fileCount":12,"unpackedSize":26940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJXQslyGaGplZI4HnG+knzt+wMNsTajZDdKVwsFzj+HAIhAPrBh7mGB59D5rRh0kApBGLHnOyroVcXORaCE1QQnLLE"}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_1.0.1_1636439099814_0.6715378458864463"},"_hasShrinkwrap":false},"2.0.0":{"name":"use-typewriter-hook","version":"2.0.0","description":"A flexible hook for creating typewriter-like experience with React.","main":"./build/index.js","types":"build/index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"type":"module","author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@2.0.0","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-tDQ+eHbH2EH/IRe/jFqJJ4VstuV7Xibm4BelRYWmJ+62E6Yix2xvQw4fFWofkFgg5U/1eqDGHQ2YRBvOP3482A==","shasum":"cb2f13fd9b387b37f3fb25961ab5c8967c5f7a97","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-2.0.0.tgz","fileCount":11,"unpackedSize":19256,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJdVvc9Y2iCdQiTmrAKLx0iylTxfq+4xK8pkXC0JInigIgVJYQtJ4fMuPmaRzfibD5Rme8JSIBu37RCpBXlGH0vqc="}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_2.0.0_1636503878419_0.9988017252959662"},"_hasShrinkwrap":false},"3.0.0":{"name":"use-typewriter-hook","version":"3.0.0","description":"A flexible hook for creating typewriter-like experience with React.","main":"index.js","types":"index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx","publish":"npm run build && cp package.production.json ./build/package.json && cd build && npm publish"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"type":"module","author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@3.0.0","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-A++/ZAHk2QYWD+Q+8uBPhBJQoVHQ4eGAxLrXs0hva5/5xa0vXXgIjTK2GBhNNQriV+KgAFe/pOms3jCpZ9hv4g==","shasum":"79a2cc33c0398a85cc64654716bf719ecd5a5b71","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-3.0.0.tgz","fileCount":3,"unpackedSize":7578,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFOJJT4+TG4l8AYutI46Xfecdw8+t+HGK+ZxU8PkSg+TAiBAIaLb4qmkUhnOsdDH/VbgvmD4ejAhU7hIVZP2z4AOEA=="}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_3.0.0_1636505043393_0.9306755669229247"},"_hasShrinkwrap":false},"3.0.1":{"name":"use-typewriter-hook","version":"3.0.1","description":"A flexible hook for creating typewriter-like experience with React.","main":"index.js","types":"index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx","do-publish":"npm run build && cp package.production.json ./build/package.json && cd build && npm publish"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"type":"module","author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@3.0.1","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-Xnux8hNxttiAfOAZPnicBEnRRtvavlTh4GyJ5Q7sgOooR3G8nGTJhM6gadfZMwJZ12mGZ3jeU07Rx9nN3PItkw==","shasum":"533c20648aac640742e9240cd1d4da8feabff1d3","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-3.0.1.tgz","fileCount":4,"unpackedSize":15015,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4vq1eimz7gLf8RCojegX0R+qaXn56sVJSHyFooi8LzgIhAJIJM/TWDrrU7GZEnMRP3MvrjUfUQAXB5s83OqNTIO6r"}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_3.0.1_1636695136075_0.3228392480890798"},"_hasShrinkwrap":false},"3.1.0":{"name":"use-typewriter-hook","version":"3.1.0","description":"A flexible hook for creating typewriter-like experience with React.","main":"index.js","types":"index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx","do-publish":"npm run build && cp package.production.json ./build/package.json && cd build && npm publish"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@3.1.0","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-4uK7ohpCpVXXHoI7w0pHRMN439tEK83WSTT7qfou51dfP+vYeiwjCQY9Weck9t286IPndXeepQoglI3rcVZH5A==","shasum":"6194e86f402874af42232f95a476625c00fe8c42","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-3.1.0.tgz","fileCount":3,"unpackedSize":8647,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0mQgCRA9TVsSAnZWagAAWVEP/1AliZCURdINcD9o+PLZ\naOAJV1DglyHrxxH/UhLbBlvgpQN0oSVtmhLSM0S5wa+vTiEFR4OEtpEnU/Pr\n9TpNT3YhROw/6xo+C2rGoBi7wxOwT7E3yfe7Z1/o4S9PlpECHTtAqif4J2IU\n5kse3hevgAfiRrs2af2x0GGxS6mFdICFrdY8ya0RQ7pVKIsc6VYLd+QYaOok\n+Y9YN7jLCY48PUtVbvktQBhaX3kPpLCV0Uc5KtUcOmUW/kZAPR8slHKUCo4v\n7KDW3OPX4La6YLW5fxtMJokUk2kroyMaQGd5R3kR//cD4y08kRq4ttIsnL69\nXE4QSBAbu+n6jQv8bfaAtbVuHETXcvLbrhkHEIgq/sSsoTyJ5JIySTcjlEJN\nY5hviXRuuWXpKzMlE+ViAA+hVx/b6/GhmMEe4qrxbaA8qNMcKslZu1afMFDv\n8x4SOiqp5j3j2SgVHconW8MDAYoDx44LLNk6tkg4ylb6lkEVNuFJNM4WLZWr\nKH2MbyTFyuykO2fadJJeRaHEtHdIqVfKtA8WEvsn8oK4/i5vuDoyvE3R55qd\nRXzx2q6PWuIs2ZTfx3BxST+BUU2ub+nigHzP6SD9UBFEkbJrG48OQzWvNZ4W\n5LKrcVsXXmGu2ZwGYkxymzJtL+sJxwiaVzY46Q6K60K40Y4gOW8Xhh8vzzbT\n0F+F\r\n=4sbV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBL1qBkd0zufQjnG0+zmBou3BvKBLNjOrrvGFSbqLVtnAiEAjvec4zq0V93EwuyxuTzVbvC13zR/nLjMjfVcNzFpShA="}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_3.1.0_1641178143863_0.17509216180010156"},"_hasShrinkwrap":false},"3.1.1":{"name":"use-typewriter-hook","version":"3.1.1","description":"A flexible hook for creating typewriter-like experience with React.","main":"index.js","types":"index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx","do-publish":"npm run build && cp package.production.json ./build/package.json && cd build && npm publish"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"^15.3.0 || 16 || 17","react-dom":"^15.3.0 || 16 || 17"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@3.1.1","_nodeVersion":"14.10.0","_npmVersion":"7.19.0","dist":{"integrity":"sha512-aAtKvd4zZiIhLTEmD/J10jFENbzRGNufWZtJrokwe53v4YJ2tGlQ1F4f+PFa6h/ZlWXAm47Yiw6qt/RoZ8n5Tg==","shasum":"092af42f3e99ace0c55d4ea6770efaa8c3a1c8d5","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-3.1.1.tgz","fileCount":4,"unpackedSize":16081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1lDUCRA9TVsSAnZWagAA3NoP/iI+Hct7gOvTjVx/VdVM\nqakLwII8LEHoCo5o0OYEFB/vtTlP1HKW5ukEHpTVvdDgKQFplNZ4I5BkqmSR\nI5iz6D5lXk8BOH4QjdL/Qfkk87aTit8WN2oCBY9mJBmZnrTm/1wW5DylgYEN\nQMhQBApNUNqT/fS2H43pLD6r5H5+HIb9xbpk8wgTwi5/jy3iEuHxeXyYvqly\nKkTTChTjxoLAC8k1336+T+rIdTCxgAocHrOlvF0uhJnCY6r7M0r64oHcZIdR\nEwcV6C5tIzZlaoMAQSUUUjZyys4Wr10xXcJrFxEHXWu3erwOxfFPArNjpcdb\nwXhOM6kl/J4Jhes0eu13+TRI60D2UPiaWGLgD7cc/Qkm1jIugZ8xx0sK+QQh\nysGpF/0gtR0bhjl+rpFB/hrIgYpn9vNM+4k71OzRYaDrQ1Eg9+6s3Uan5UcW\n1/vuCSS2JHLy8LoeC9iZyWDhTJ5+q+oF2XNbSg/nVMumfz3pachecpCxyBHV\nctWymPXpM8AwmIcpv/unyBu8J5ach28n/h9PtblI/hJSP8FxOVij876S+pLF\nG/bcAzVzeMlO2he0mYSPkjLtnXPRqASUdGVQ2YZlP9eCiWchtQODyMtMxhHm\n4Wx40PKYqvse+CXWHoC8ibVEAKTf6U477LQ/1QUZ2r5HcrSIprEEsJ+OI045\nS8qE\r\n=kSTB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCS6AzyT6ui8tH5YG5evg6vAUd9kE4YcjddtbOFOjhlNAIgLKCnB4Xz71z2OZlWD8qh1nbgcjSSf6CY3+v/086LO+4="}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_3.1.1_1641435348458_0.22177201513839773"},"_hasShrinkwrap":false},"3.1.2":{"name":"use-typewriter-hook","version":"3.1.2","description":"A flexible hook for creating typewriter-like experience with React.","main":"index.js","types":"index.d.ts","scripts":{"test":"jest","build":"tsc --project tsconfig.production.json","eslint":"eslint . --ext .js,.jsx,.ts,.tsx","do-publish":"npm run build && cp package.production.json ./build/package.json && cd build && npm publish"},"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"peerDependencies":{"react":"*","react-dom":"*"},"keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"devDependencies":{"@testing-library/react-hooks":"^7.0.2","@types/jest":"^27.0.2","@types/node":"^16.11.7","@types/react":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.3.1","@typescript-eslint/parser":"^5.3.1","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-jest":"^25.2.4","jest":"^27.3.1","prettier":"^2.4.1","react":"^17.0.2","ts-jest":"^27.0.7","typescript":"^4.4.4"},"author":{"name":"alissanguyen","url":"Tam Nguyen"},"license":"MIT","bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"homepage":"https://github.com/alissanguyen/react-use-typewriter","_id":"use-typewriter-hook@3.1.2","gitHead":"3a40669d583d2a2e41a90da0b8be67b98282bb01","_nodeVersion":"18.17.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-5ZpSAZr0eWzMvLItzHXH1HKiCfwtdJ7V/kHdg3nN3CV0HWryQNeCtoCwbcGx4c6lpX8jmOFpuVVaSQ60pU6UOg==","shasum":"dd313d6247d320f914206e1a75387cedc3f4a3d4","tarball":"https://registry.npmjs.org/use-typewriter-hook/-/use-typewriter-hook-3.1.2.tgz","fileCount":4,"unpackedSize":15937,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAfLhJVFptHhVch4kAMH2MKuNrts6tmQ32MahCjg+JjsAiBGQxfGh9St04AikTiPnEepK1S9ctxmPNCQzSFTm/jVFw=="}]},"_npmUser":{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"},"directories":{},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/use-typewriter-hook_3.1.2_1715042977207_0.6355266036942393"},"_hasShrinkwrap":false}},"time":{"created":"2021-11-09T05:29:45.788Z","1.0.0":"2021-11-09T05:29:46.000Z","modified":"2024-05-07T00:49:37.587Z","1.0.1":"2021-11-09T06:24:59.956Z","2.0.0":"2021-11-10T00:24:38.555Z","3.0.0":"2021-11-10T00:44:03.556Z","3.0.1":"2021-11-12T05:32:16.249Z","3.1.0":"2022-01-03T02:49:04.025Z","3.1.1":"2022-01-06T02:15:48.592Z","3.1.2":"2024-05-07T00:49:37.367Z"},"maintainers":[{"name":"alissanguyen","email":"im.tamnguyen@gmail.com"}],"description":"A flexible hook for creating typewriter-like experience with React.","homepage":"https://github.com/alissanguyen/react-use-typewriter","keywords":["react","js","hook","javascript","hooks","typewriter","type","typing-effect","typewriterjs"],"repository":{"type":"git","url":"git+ssh://git@github.com/alissanguyen/react-use-typewriter.git"},"author":{"name":"alissanguyen","url":"Tam Nguyen"},"bugs":{"url":"https://github.com/alissanguyen/react-use-typewriter/issues"},"license":"MIT","readme":"# React useTypewriter\n\n[![CircleCI](https://circleci.com/gh/tameemsafi/typewriterjs.svg?style=svg)](https://circleci.com/gh/tameemsafi/typewriterjs)\n\n![](preview.gif)\n\n[NPM Repository](https://npmjs.org/typewriter-effect)\n\n## Installation\n\nYou can install React useTypewriter with one simple command\n\n```shell\n\n# with npm\nnpm i use-typewriter-hook\n\n# with yarn\nyarn add use-typewriter-hook\n\n```\n\n## Options\n\n| Name              | Type               | Default value           | Description                                                        |\n| ----------------- | ------------------ | ----------------------- | ------------------------------------------------------------------ |\n| targetText        | String or String[] | \"\" (empty string)       | Strings to type out when using this tool.                          |\n| autoStartDelay    | Number             | 100ms                   | Amout of milliseconds delay at the start of the typewriter effect. |\n| typingDelayMillis | Number             | 100ms                   | The delay between each key when typing.                            |\n| loop              | Boolean            | false                   | Option to keep looping the targetText after finish.                |\n| loopDelay         | Number             | 100                     | The delay between each loop (milliseconds).                        |\n| wrapperClassName  | String             | 'use-typewriter-cursor' | Class name for the wrapper element.                                |\n\n## Methods (Functions)\n\nAll methods can be chained together.\n\n| Name  | Params | Description                             |\n| ----- | ------ | --------------------------------------- |\n| pause | -      | Pause the typewriter effect on calling. |\n| start | -      | Start the typewriter effect.            |\n\n## Examples\n\n### Basic example\n\n```jsx\nimport * as React from \"react\";\nimport { useTypewriter } from \"../useTypewriter\";\nimport \"./custom.css\";\n\nconst BasicTypewriter: React.FC = () => {\n  const targetText =\n    \"Welcome to React Typewriter. This is a basic typewriter. You can also display emojis, like this 😜🤩🥳😍!\";\n  const { textValue: typedText } = useTypewriter({\n    targetText: targetText,\n    autoStartDelay: 0,\n    typingDelayMillis: 50,\n  });\n\n  return <div className=\"basic-typewriter\">{typedText}</div>;\n};\n\nexport default BasicTypewriter;\n\nfunction App() {\n  return (\n    <div className=\"App\">\n      <div className=\"typewriter\">\n        <BasicTypewriter />\n      </div>\n    </div>\n  );\n}\n```\n\nhttps://user-images.githubusercontent.com/69443738/137083086-da4e8123-7371-49c1-b856-07cf21f9854f.mp4\n\n### Custom cursor typewriter\n\n```jsx\nimport * as React from \"react\";\nimport { useTypewriter } from \"../useTypewriter\";\nimport \"./custom.css\";\n\nconst CustomCursorTypewriter: React.FC = ({}) => {\n  const targetText =\n    \"Welcome to React Typewriter. This is a typewriter with custom cursor (color).\";\n  const { textValue: typedText, wrapperClassName } = useTypewriter({\n    targetText: targetText,\n    autoStartDelay: 0,\n    typingDelayMillis: 50,\n  });\n  return (\n    //   Have to compose classNames to get all the css rules\n    <div\n      className={`${wrapperClassName} custom-cursor-typewriter`}\n      id=\"custom-cursor-typewriter\"\n    >\n      {typedText}\n    </div>\n  );\n};\n\nexport default CustomCursorTypewriter;\n\nfunction App() {\n  return (\n    <div className=\"App\">\n      <div className=\"typewriter\">\n        <CustomCursorTypewriter />\n      </div>\n    </div>\n  );\n}\n```\n\nhttps://user-images.githubusercontent.com/69443738/137083003-7ee00bcc-7df3-4bd1-b482-b76adeec1ee5.mp4\n\n### Custom typewriter with highlight and colored text\n\n```jsx\nimport * as React from \"react\";\nimport { useTypewriter } from \"../useTypewriter\";\nimport \"./custom.css\";\n\nconst CustomTypewriter: React.FC = () => {\n  const targetText =\n    \"Welcome to React Typewriter. This is a custom typewriter, you can highlight different words.\";\n\n  const { textValue: typedText, wrapperClassName } = useTypewriter({\n    targetText: targetText,\n    autoStartDelay: 0,\n    typingDelayMillis: 50,\n  });\n\n  /**\n   * You can select as many words or phrases as you like to highlight/customize their color/bold\n   * Here as an example, we select one phrase and one word to customize\n   */\n  const stringToSearch = \"React Typewriter\";\n  const stringToSearch2 = \"highlight\";\n\n  const startIndex1 = targetText.indexOf(stringToSearch);\n  const endIndex1 = startIndex1 + stringToSearch.length;\n  const startIndex2 = targetText.indexOf(stringToSearch2);\n  const endIndex2 = startIndex2 + stringToSearch2.length;\n\n  const fragments = splitTargetText(\n    typedText,\n    startIndex1,\n    endIndex1,\n    startIndex2,\n    endIndex2\n  );\n\n  return (\n    <div>\n      <p className={wrapperClassName} id=\"custom-typewriter\">\n        {fragments}\n      </p>\n    </div>\n  );\n};\n\nconst splitTargetText = (\n  str: string,\n  startIndex1: number,\n  endIndex1: number,\n  startIndex2: number,\n  endIndex2: number\n): React.ReactNode[] => {\n  /**\n   * Return everything from 0...startIndex of str as a string,\n   * return evevertying from startindex to endindex as a bolded span\n   * return everything from endindex to str.length as a string\n   */\n  return [\n    str.slice(0, startIndex1),\n    <strong className=\"custom-typewriter-text\">\n      {str.slice(startIndex1, endIndex1)}\n    </strong>,\n    str.slice(endIndex1, startIndex2),\n    <mark>{str.slice(startIndex2, endIndex2)}</mark>,\n    str.slice(endIndex2, str.length),\n  ];\n};\n\nexport default CustomTypewriter;\n\nfunction App() {\n  return (\n    <div className=\"App\">\n      <div className=\"typewriter\">\n        <CustomTypewriter />\n      </div>\n    </div>\n  );\n}\n```\n\nhttps://user-images.githubusercontent.com/69443738/137082907-6c6c411d-e90a-482d-ab92-080764b02d5c.mp4\n\n### Typewriter with looping effect\n\n```jsx\nimport * as React from \"react\";\nimport { useTypewriter } from \"../useTypewriter\";\nimport \"./custom.css\";\n\ninterface Props {}\n\nconst TypewriterWithLoop: React.FC<Props> = ({}) => {\n  const targetText =\n    \"Welcome to React Typewriter. This is a typewriter with looping effect.\";\n  const { textValue: typedText, wrapperClassName } = useTypewriter({\n    targetText: targetText,\n    autoStartDelay: 0,\n    typingDelayMillis: 50,\n    loop: true,\n  });\n  return <div className={wrapperClassName}>{typedText}</div>;\n};\n\nexport default TypewriterWithLoop;\n\nfunction App() {\n  return (\n    <div className=\"App\">\n      <div className=\"typewriter\">\n        <TypewriterWithLoop />\n      </div>\n    </div>\n  );\n}\n```\n\nhttps://user-images.githubusercontent.com/69443738/137082838-19ebe1a7-efbd-483b-8e8b-484bb92dc8a6.mp4\n\n## CSS file for styling for four examples above\n\n```css\n/* BASIC TYPEWRITER */\n.basic-typewriter {\n  font-family: \"PT Mono\", monospace;\n  font-weight: 500;\n  font-size: 2rem;\n}\n\n/* CUSTOM TYPEWRITER WITH BOLD, COLOR, AND HIGHLIGHT */\n.custom-typewriter-text {\n  color: rgb(46, 46, 206);\n}\n\n#custom-typewriter {\n  font-family: \"PT Mono\", monospace;\n  font-weight: 500;\n  font-size: 2rem;\n}\n\n/* CUSTOM TYPEWRITER WITH CUSTOM COLOR CURSOR */\n.custom-cursor-typewriter:after {\n  border-right: 4px solid rgb(99, 238, 99);\n}\n\n.custom-cursor-typewriter {\n  font-family: \"PT Mono\", monospace;\n  font-weight: 500;\n  font-size: 2rem;\n}\n\n/* TYPEWRITER WITH INFINITE LOOPING EFFECT */\n.use-typewriter-cursor {\n  font-family: \"PT Mono\", monospace;\n  font-weight: 500;\n  font-size: 2rem;\n}\n```\n","readmeFilename":"README.md"}