{"_id":"@bsolute/imask-vue","_rev":"3-ebd1d9c06aefffafbfdfc51530fcdffb","name":"@bsolute/imask-vue","dist-tags":{"latest":"7.7.2"},"versions":{"7.7.0":{"name":"@bsolute/imask-vue","version":"7.7.0","keywords":["vue","imask","javascript","input","mask"],"author":{"name":"Alexey Kryazhev"},"license":"MIT","_id":"@bsolute/imask-vue@7.7.0","maintainers":[{"name":"harlamenko","email":"4.harlamenko@gmail.com"}],"contributors":[{"name":"naprimer"},{"name":"Yacine Hmito","email":"yacine.hmito@gmail.com"},{"name":"cangku"}],"homepage":"https://github.com/harlamenko/imaskjs/tree/master#readme","bugs":{"url":"https://github.com/harlamenko/imaskjs/issues"},"dist":{"shasum":"43ea097eeee7e941ae99b9ce976737500e2d54fb","tarball":"https://registry.npmjs.org/@bsolute/imask-vue/-/imask-vue-7.7.0.tgz","fileCount":34,"integrity":"sha512-qM3SqkrxTJqBUe9FW3PKmAoZhBsVXlcQv2+xIUxiYGHTYPow/kiRNFq5/BquvfjWTdkIZlPM5ec+4T/3jjmdrQ==","signatures":[{"sig":"MEUCIGinD6zBDVcxzDlX+e2C4Gscjs/q9gAPNUcGTgaIiK0XAiEA5zgc/r6lback7XN+n54ez5k4c4EJRCsfBtXuOWaKePo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145424},"main":"dist/vue-imask.js","type":"module","types":"index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","default":"./dist/vue-imask.js","require":"./dist/vue-imask.cjs"},"./*":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm":{"types":"./esm/index.d.ts","default":"./esm/index.js"},"./*.js":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm/*":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm/*.js":{"types":"./esm/*.d.ts","default":"./esm/*.js"}},"gitHead":"4acf2c4e42ee70c686295cb6654c37ae29e5a77c","scripts":{"lint":"eslint src","build":"tsc --emitDeclarationOnly && rollup -c","watch":"rollup -c -w","prebuild":"npm run lint -- --quiet && rimraf --glob \"{dist,esm}\""},"_npmUser":{"name":"harlamenko","email":"4.harlamenko@gmail.com"},"repository":{"url":"git+https://github.com/harlamenko/imaskjs.git#master","type":"git"},"_npmVersion":"lerna/8.1.3/node@v24.13.1+x64 (linux)","description":"Vue input mask","directories":{},"_nodeVersion":"24.13.1","dependencies":{"vue-demi":"^0.14.7","@bsolute/imask":"^7.7.0"},"publishConfig":{"access":"public"},"typesVersions":{">=4.2":{"*":["esm/*"],"esm/*":["esm/*"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16"},"peerDependencies":{"vue":">=2.7"},"_npmOperationalInternal":{"tmp":"tmp/imask-vue_7.7.0_1772458049447_0.9539886658982133","host":"s3://npm-registry-packages-npm-production"}},"7.7.1":{"name":"@bsolute/imask-vue","version":"7.7.1","keywords":["vue","imask","javascript","input","mask"],"author":{"name":"Alexey Kryazhev"},"license":"MIT","_id":"@bsolute/imask-vue@7.7.1","maintainers":[{"name":"harlamenko","email":"4.harlamenko@gmail.com"}],"contributors":[{"name":"naprimer"},{"name":"Yacine Hmito","email":"yacine.hmito@gmail.com"},{"name":"cangku"}],"homepage":"https://github.com/harlamenko/imaskjs/tree/master#readme","bugs":{"url":"https://github.com/harlamenko/imaskjs/issues"},"dist":{"shasum":"783527e4a30e6a7e8dcc0e03893d7aa9b3ef6c43","tarball":"https://registry.npmjs.org/@bsolute/imask-vue/-/imask-vue-7.7.1.tgz","fileCount":34,"integrity":"sha512-IKNaC6eXmAp4NCdckD1fcbE/quY+8m6p060HF3jBTai+p7zZNJran5NOXjobVgSemuGiINEmLq78Rif32dkXUQ==","signatures":[{"sig":"MEQCIE5IeVxnScI1omJHrhjoNqcJR8pV9Xk8wAgJoj0QRefXAiAsbvmY0gC0oK8VPhNC/aYCg29f7bTvCpjMxb+FlRQdTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":888775},"main":"dist/vue-imask.js","type":"module","types":"index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","default":"./dist/vue-imask.js","require":"./dist/vue-imask.cjs"},"./*":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm":{"types":"./esm/index.d.ts","default":"./esm/index.js"},"./*.js":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm/*":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm/*.js":{"types":"./esm/*.d.ts","default":"./esm/*.js"}},"gitHead":"e8ee08251840089e40558bd8e641f35bf78e499d","scripts":{"lint":"eslint src","build":"tsc --emitDeclarationOnly && rollup -c","watch":"rollup -c -w","prebuild":"npm run lint -- --quiet && rimraf --glob \"{dist,esm}\""},"_npmUser":{"name":"harlamenko","email":"4.harlamenko@gmail.com"},"repository":{"url":"git+https://github.com/harlamenko/imaskjs.git#master","type":"git"},"_npmVersion":"lerna/8.1.3/node@v24.13.1+x64 (linux)","description":"Vue input mask","directories":{},"_nodeVersion":"24.13.1","dependencies":{"vue-demi":"^0.14.7","@bsolute/imask":"^7.7.0"},"publishConfig":{"access":"public"},"typesVersions":{">=4.2":{"*":["esm/*"],"esm/*":["esm/*"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16"},"peerDependencies":{"vue":">=2.7"},"_npmOperationalInternal":{"tmp":"tmp/imask-vue_7.7.1_1772465106815_0.14655866939959705","host":"s3://npm-registry-packages-npm-production"}},"7.7.2":{"name":"@bsolute/imask-vue","author":{"name":"Alexey Kryazhev"},"license":"MIT","version":"7.7.2","description":"Vue input mask","main":"dist/vue-imask.js","module":"esm/index.js","type":"module","types":"index.d.ts","repository":{"type":"git","url":"git+https://github.com/harlamenko/imaskjs.git#master"},"contributors":[{"name":"naprimer"},{"name":"Yacine Hmito","email":"yacine.hmito@gmail.com"},{"name":"cangku"}],"exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./dist/vue-imask.cjs","default":"./dist/vue-imask.js"},"./esm":{"types":"./esm/index.d.ts","default":"./esm/index.js"},"./esm/*":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./esm/*.js":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./*":{"types":"./esm/*.d.ts","default":"./esm/*.js"},"./*.js":{"types":"./esm/*.d.ts","default":"./esm/*.js"}},"typesVersions":{">=4.2":{"*":["esm/*"],"esm/*":["esm/*"]}},"scripts":{"lint":"eslint src","prebuild":"npm run lint -- --quiet && rimraf --glob \"{dist,esm}\"","build":"tsc --emitDeclarationOnly && rollup -c","watch":"rollup -c -w"},"keywords":["vue","imask","javascript","input","mask"],"dependencies":{"@bsolute/imask":"^7.7.0","vue-demi":"^0.14.7"},"peerDependencies":{"vue":">=2.7"},"gitHead":"5817d28570ead2de86cbb49705f52bc6e12f3976","devDependencies":{"vue":"^2.7.16"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/harlamenko/imaskjs/issues"},"homepage":"https://github.com/harlamenko/imaskjs/tree/master#readme","_id":"@bsolute/imask-vue@7.7.2","_nodeVersion":"24.13.1","_npmVersion":"lerna/8.1.3/node@v24.13.1+x64 (linux)","dist":{"integrity":"sha512-A5TBto3FQPUeeKqNUzJ0tEmWozYWMzT8337SmHsoj42LIZFljdnuVRz5U+srcz2BWnHcjX9Ja3JNDFleY99AMg==","shasum":"94070a349801bd9ef0f19912e9d659c600e40559","tarball":"https://registry.npmjs.org/@bsolute/imask-vue/-/imask-vue-7.7.2.tgz","fileCount":34,"unpackedSize":888775,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICD28VA9Mu6XtVTEBNR5dFrM2qaQDBpsDBGtFe9MAMbTAiEA/vVUXbJbFapawZkM1oersm0wYYYKpeke7rfacPyNunE="}]},"_npmUser":{"name":"harlamenko","email":"4.harlamenko@gmail.com"},"directories":{},"maintainers":[{"name":"harlamenko","email":"4.harlamenko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/imask-vue_7.7.2_1772465421953_0.5379888413099465"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-02T13:27:29.345Z","modified":"2026-03-02T15:30:22.438Z","7.7.0":"2026-03-02T13:27:29.594Z","7.7.1":"2026-03-02T15:25:07.069Z","7.7.2":"2026-03-02T15:30:22.309Z"},"bugs":{"url":"https://github.com/harlamenko/imaskjs/issues"},"author":{"name":"Alexey Kryazhev"},"license":"MIT","homepage":"https://github.com/harlamenko/imaskjs/tree/master#readme","keywords":["vue","imask","javascript","input","mask"],"repository":{"type":"git","url":"git+https://github.com/harlamenko/imaskjs.git#master"},"description":"Vue input mask","contributors":[{"name":"naprimer"},{"name":"Yacine Hmito","email":"yacine.hmito@gmail.com"},{"name":"cangku"}],"maintainers":[{"name":"harlamenko","email":"4.harlamenko@gmail.com"}],"readme":"# Vue IMask Plugin\n@bsolute/imask-vue\n\n[![npm version](https://badge.fury.io/js/%40bsolute%2Fimask-vue.svg)](https://badge.fury.io/js/%40bsolute%2Fimask-vue)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n<a href=\"https://opencollective.com/imask/donate\" target=\"_blank\">\n  <img src=\"https://opencollective.com/imask/donate/button.png?color=blue\" width=300 />\n</a>\n\n## Install\n`npm i @bsolute/imask-vue`\n\nfor Vue 2 also do:\n\n`npm i -D @vue/composition-api`\n\nIf you are using NuxtJS with Vue 2 you also need to install:\n\n`npm i -D @nuxtjs/composition-api`\n\nAnd then add `@nuxtjs/composition-api/module` in the buildModules option in your `nuxt.config.js`.\n\n## Mask Component Example (Vue 2)\n```html\n<template>\n  <imask-input\n    v-model=\"numberModel\"\n    :mask=\"Number\"\n    radix=\".\"\n    :unmask=\"true\"\n    <!-- depending on prop above first argument of 'accept' callback is\n    `value` if `unmask=false`,\n    `unmaskedValue` if `unmask=true`,\n    `typedValue` if `unmask='typed'` -->\n    @accept=\"onAccept\"\n\n    <!-- ...see more mask props in a guide -->\n\n    <!-- other input props -->\n    placeholder='Enter number here'\n  />\n</template>\n\n<script>\n  import { IMaskComponent } from '@bsolute/imask-vue';\n\n  export default {\n    data () {\n      return {\n        numberModel: '',\n        onAccept (value) {\n          console.log(value);\n        }\n      }\n    },\n    components: {\n      'imask-input': IMaskComponent\n    }\n  }\n</script>\n```\n\n\n## Mask Component Example (Vue 3)\n```html\n<template>\n  <imask-input\n    <!-- possible to use 'v-model' = 'v-model:value' = 'v-model:masked' and 'v-model:unmasked' -->\n    v-model:typed=\"numberModel\"\n    :mask=\"Number\"\n    radix=\".\"\n    @accept:masked=\"onAccept\" <!-- accept value (same as '@accept:value' or just '@accept') -->\n    @accept:unmasked=\"onAcceptUnmasked\"\n    <!--\n      @accept:typed=\"onAccepttyped\"\n      @complete:typed=\"onCompleteTyped\"\n    -->\n\n    <!-- ...see more mask props in a guide -->\n\n    <!-- other input props -->\n    placeholder='Enter number here'\n  />\n</template>\n\n<script>\n  import { IMaskComponent } from '@bsolute/imask-vue';\n\n  export default {\n    data () {\n      return {\n        numberModel: '',\n        onAccept (value) {\n          console.log({ value });\n        },\n        onAcceptUnmasked (unmaskedValue) {\n          console.log({ unmaskedValue });\n        }\n      }\n    },\n    components: {\n      'imask-input': IMaskComponent\n    }\n  }\n</script>\n```\n\n## Mask Directive Example\nIn some cases value bindings (`v-model`) might not work for directive, you can use `@accept` or `@complete` events to update the value.\n```html\n<template>\n  <input\n    :value=\"value\"\n    v-imask=\"mask\"\n    @accept=\"onAccept\"\n    @complete=\"onComplete\">\n</template>\n\n<script>\n  import { IMaskDirective } from '@bsolute/imask-vue';\n\n  export default {\n    data () {\n      return {\n        value: '',\n        mask: {\n          mask: '{8}000000',\n          lazy: false\n        },\n      },\n    },\n    methods: {\n      onAccept (e) {\n        const maskRef = e.detail;\n        this.value = maskRef.value;\n        console.log('accept', maskRef.value);\n      },\n      onComplete (e) {\n        const maskRef = e.detail;\n        console.log('complete', maskRef.unmaskedValue);\n      },\n    },\n    directives: {\n      imask: IMaskDirective\n    }\n  }\n</script>\n```\nMore options see in a [guide](https://harlamenko.github.io/imaskjs/guide.html).\n\n## Mask Composable (Vue 3)\n```html\n<template>\n  <input ref=\"el\">\n</template>\n\n<script>\n  import { useIMask } from '@bsolute/imask-vue';\n\n  export default {\n    setup (props) {\n      const { el, masked } = useIMask({\n        mask: Number,\n        radix: '.',\n      }, /* optional {\n        emit,\n        onAccept,\n        onComplete,\n        defaultValue,\n        defaultUnmaskedValue,\n        defaultTypedValue,\n      } */);\n  \n      return { el };\n    }\n  }\n</script>\n```\n","readmeFilename":"README.md"}