{"_id":"@dugard/vue-otp","_rev":"6-3558703cdd39effa4a83b481a8653c3e","name":"@dugard/vue-otp","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@dugard/vue-otp","version":"1.0.0","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"author":{"url":"Fantum","name":"Ivan Shkuta"},"license":"MIT","_id":"@dugard/vue-otp@1.0.0","maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"homepage":"https://github.com/Dugard/vue-otp#readme","bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"dist":{"shasum":"ee3323a45275b3290b27856c5fe4b90e0fc3ddaa","tarball":"https://registry.npmjs.org/@dugard/vue-otp/-/vue-otp-1.0.0.tgz","fileCount":5,"integrity":"sha512-U1JxKD6VeLISYi+phfdIXkPPWsle7rjtPeKsismSz3BVRCYtXsyoWPZ3+b5VCbnJ4bJEMrPPCnaJs/8zAB7gpQ==","signatures":[{"sig":"MEUCIQDFGy5cR8mONFytIvDXujUK5KzT00+W5V9qlWIcFTeFFwIgHqA1bI06KJQiBhPzrdoztdNndV/neewL4EDL2oPerv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9014},"main":"index.js","module":"index.js","gitHead":"2ff201cb7671b5a34b0e659acdece0bd5dba96ac","_npmUser":{"name":"dugard","email":"shkuta85@gmail.com"},"repository":{"url":"git+https://github.com/Dugard/vue-otp.git","type":"git"},"_npmVersion":"11.5.2","description":"Lightweight Vue 3 OTP input component with Web OTP API support.","directories":{},"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-otp_1.0.0_1761072570236_0.7593311223199213","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dugard/vue-otp","version":"1.0.1","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"author":{"url":"Fantum","name":"Ivan Shkuta"},"license":"MIT","_id":"@dugard/vue-otp@1.0.1","maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"homepage":"https://github.com/Dugard/vue-otp#readme","bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"dist":{"shasum":"3d6249518cbc84dcd53a4b2d6ae757020ac5b81a","tarball":"https://registry.npmjs.org/@dugard/vue-otp/-/vue-otp-1.0.1.tgz","fileCount":6,"integrity":"sha512-vvoiaF+x1OAwuZ/vjMDufufpHNUIu2v9cVDsGviULYuZL/kwOvX47A9uViY1FpyvVOWudgQdpUVbyDvtzNUcIQ==","signatures":[{"sig":"MEUCIFN6mypYs6XorLsgBIBP//dsEoeGojbVE5uRT4KE23JKAiEArRoJUlyDsMyL4xgZfTf1B67Mt/XS1LY56yP91P33/0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9216},"main":"index.js","types":"./index.d.ts","module":"index.js","gitHead":"110786255ec22c2b6862048b7d63ad48e47a7a4e","_npmUser":{"name":"dugard","email":"shkuta85@gmail.com"},"repository":{"url":"git+https://github.com/Dugard/vue-otp.git","type":"git"},"_npmVersion":"11.5.2","description":"Lightweight Vue 3 OTP input component with Web OTP API support.","directories":{},"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-otp_1.0.1_1761073940191_0.6443060978014812","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@dugard/vue-otp","version":"1.0.2","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"author":{"url":"Fantum","name":"Ivan Shkuta"},"license":"MIT","_id":"@dugard/vue-otp@1.0.2","maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"homepage":"https://github.com/Dugard/vue-otp#readme","bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"dist":{"shasum":"94a923c40bbc48eedf483736e96440232ae55b69","tarball":"https://registry.npmjs.org/@dugard/vue-otp/-/vue-otp-1.0.2.tgz","fileCount":6,"integrity":"sha512-KVacOZMrFQmGgiOnC3NtuYeCtHHAMYB/b77SXGYoeh8Ym4sdeEig3uq36Ipe7TKXI+DjsXr+su6KfAV1du2bLw==","signatures":[{"sig":"MEUCICim2J0u0QY0Aqr7CF64chU+X5agsFx0ADxaZwPZ5CvNAiEAkoNgEgzwISDqClQivr9eA9Ew+mBX91Lmu0jp0bxvgkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9219},"main":"index.js","types":"./index.d.ts","module":"index.js","gitHead":"c1b1ffb0f1f159ac69e0558776d1521a5f569bcd","_npmUser":{"name":"dugard","email":"shkuta85@gmail.com"},"repository":{"url":"git+https://github.com/Dugard/vue-otp.git","type":"git"},"_npmVersion":"11.5.2","description":"Lightweight Vue 3 OTP input component with Web OTP API support.","directories":{},"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-otp_1.0.2_1761075637912_0.23688404119332418","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@dugard/vue-otp","version":"1.0.3","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"author":{"url":"Fantum","name":"Ivan Shkuta"},"license":"MIT","_id":"@dugard/vue-otp@1.0.3","maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"homepage":"https://github.com/Dugard/vue-otp#readme","bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"dist":{"shasum":"8f19b1ccbdafaa459544afb2d96c7e7812ce0be3","tarball":"https://registry.npmjs.org/@dugard/vue-otp/-/vue-otp-1.0.3.tgz","fileCount":6,"integrity":"sha512-DFPzN7jNG149MKY8Lr7hHGnmlmPMrOptUNomWwUG39WdJB6txUOX2pOR9wzCPZD69O7EnvtjljkFkep943562w==","signatures":[{"sig":"MEQCIFKKyt5qq5g5n+Ko7W6MVGt2fd09g2z3MwOHazCedzsQAiA2fy1nNJtWeOD8RkgLEzodgqAvFoYtrJRFVuKcf8bl8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9217},"main":"index.js","types":"./index.d.ts","module":"index.js","gitHead":"267d3336dd881c13735fde954981688d416c2af7","_npmUser":{"name":"dugard","email":"shkuta85@gmail.com"},"repository":{"url":"git+https://github.com/Dugard/vue-otp.git","type":"git"},"_npmVersion":"11.5.2","description":"Lightweight Vue 3 OTP input component with Web OTP API support.","directories":{},"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-otp_1.0.3_1761076668802_0.3609767691238168","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@dugard/vue-otp","version":"1.0.4","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"author":{"url":"Fantum","name":"Ivan Shkuta"},"license":"MIT","_id":"@dugard/vue-otp@1.0.4","maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"homepage":"https://github.com/Dugard/vue-otp#readme","bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"dist":{"shasum":"52956354f633fa3cc53af95aec3b08c266c75b0f","tarball":"https://registry.npmjs.org/@dugard/vue-otp/-/vue-otp-1.0.4.tgz","fileCount":6,"integrity":"sha512-ualOUinI8Bysdunzjs1ozRhTSkt6T0lR7PZY8ITNp1cAeVvla/qIj+2JLhdygCXL1b0Tc19M/EVXdafyw7IgTw==","signatures":[{"sig":"MEUCIQDmzv1CDT0rrL3EESqSywtZ2iaW4AKsOEKuVwI5xrVF2AIgNVnsma02bnr/Og1UBthBgsqiaC9T7j3+PSNw2bDYVFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9354},"main":"index.js","types":"./index.d.ts","module":"index.js","gitHead":"9a8f34fb4e4b144df70f0c9bd136c1a627db70b7","_npmUser":{"name":"dugard","email":"shkuta85@gmail.com"},"repository":{"url":"git+https://github.com/Dugard/vue-otp.git","type":"git"},"_npmVersion":"11.5.2","description":"Lightweight Vue 3 OTP input component with Web OTP API support.","directories":{},"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue-otp_1.0.4_1761132297788_0.9290755255338385","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@dugard/vue-otp","version":"1.0.5","description":"Lightweight Vue 3 OTP input component with Web OTP API support.","main":"index.js","module":"index.js","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"author":{"name":"Ivan Shkuta","url":"Fantum"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Dugard/vue-otp.git"},"bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"homepage":"https://github.com/Dugard/vue-otp#readme","peerDependencies":{"vue":"^3.0.0"},"publishConfig":{"access":"public"},"_id":"@dugard/vue-otp@1.0.5","gitHead":"68855cbd6798b56e604a2ba0926f9308253428fc","types":"./index.d.ts","_nodeVersion":"22.17.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-fxyah45leETquU/kqEwuufSwferfSpdCrMt2NZ7pUohhW0meZhKkadDRPg0yDDjgY1VbjKYoKyXcidJfuxIC9w==","shasum":"ff1abe5fa23f91de94202e8d200c36def71dd7e8","tarball":"https://registry.npmjs.org/@dugard/vue-otp/-/vue-otp-1.0.5.tgz","fileCount":6,"unpackedSize":11761,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFfvWbD2jkU691Y6n4wOTnyt+YyqPRdNnnmXxibwDiowAiEA8RhBpitZ9OLAIouzjvBaduXqzflPEz+pALxkau/nPpY="}]},"_npmUser":{"name":"dugard","email":"shkuta85@gmail.com"},"directories":{},"maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue-otp_1.0.5_1761152796666_0.5144606283619146"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-21T18:49:30.167Z","modified":"2025-10-22T17:06:37.166Z","1.0.0":"2025-10-21T18:49:30.433Z","1.0.1":"2025-10-21T19:12:20.388Z","1.0.2":"2025-10-21T19:40:38.145Z","1.0.3":"2025-10-21T19:57:49.020Z","1.0.4":"2025-10-22T11:24:57.992Z","1.0.5":"2025-10-22T17:06:36.904Z"},"bugs":{"url":"https://github.com/Dugard/vue-otp/issues"},"author":{"name":"Ivan Shkuta","url":"Fantum"},"license":"MIT","homepage":"https://github.com/Dugard/vue-otp#readme","keywords":["vue","vue3","otp","otp-input","vue-component","web-otp","sms","pin","pincode"],"repository":{"type":"git","url":"git+https://github.com/Dugard/vue-otp.git"},"description":"Lightweight Vue 3 OTP input component with Web OTP API support.","maintainers":[{"name":"dugard","email":"shkuta85@gmail.com"}],"readme":"# @dugard/vue-otp\n\nA simple and lightweight OTP input component for Vue 3.  \nSupports paste, auto-focus navigation between fields, and automatic SMS code detection via Web OTP API.\n\n---\n\n## Installation\n\n```bash\nnpm i @dugard/vue-otp\n````\n\nor\n\n```bash\nyarn add @dugard/vue-otp\n```\n\n---\n\n## Usage Example\n\n```vue\n<template>\n  <DugardOtpInput\n    v-model=\"code\"\n    :num-inputs=\"6\"\n    :auto-paste-from-sms=\"true\"\n    @onFilled=\"onFilled\"\n  />\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nimport { DugardOtpInput } from '@dugard/vue-otp'\n\nconst code = ref('')\n\nfunction onFilled(value) {\n  console.log('Code entered completely:', value)\n}\n</script>\n```\n\n---\n\n## Props\n\n| Prop               | Type      | Default     | Description                              |\n| ------------------ | --------- | ----------- | ---------------------------------------- |\n| `v-model`          | `String`  | `''`        | Code value                               |\n| `numInputs`        | `Number`  | `4`         | Number of input fields                   |\n| `inputMode`        | `String`  | `'numeric'` | `'numeric'` or `'text'`                  |\n| `autoPasteFromSms` | `Boolean` | `false`     | Enables auto-fill from SMS (Web OTP API) |\n| `isError`          | `Boolean` | `false`     | Applies red border if true               |\n\n---\n\n## Events\n\n| Event      | Payload  | Description                      |\n|------------| -------- | -------------------------------- |\n| `onFilled` | `String` | Fires when all inputs are filled |\n\n\n---\n\n## License\n\n[MIT](./LICENSE) © 2025 Ivan Shkuta (Dugard)\n\n```\n","readmeFilename":"README.md"}