UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

1 lines 23.5 kB
{"version":3,"file":"index.mjs","sources":["../../src/inputotp/BaseInputOtp.vue","../../src/inputotp/InputOtp.vue","../../src/inputotp/InputOtp.vue?vue&type=template&id=901c8688&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport InputOtpStyle from 'primevue/inputotp/style';\n\nexport default {\n name: 'BaseInputOtp',\n extends: BaseComponent,\n props: {\n modelValue: {\n type: null,\n default: false\n },\n invalid: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n variant: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: null\n },\n length: {\n type: Number,\n default: 4\n },\n mask: {\n type: Boolean,\n default: false\n },\n integerOnly: {\n type: Boolean,\n default: false\n }\n },\n style: InputOtpStyle,\n provide() {\n return {\n $pcInputOtp: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"i in length\" :key=\"i\">\n <slot :events=\"getTemplateEvents(i - 1)\" :attrs=\"getTemplateAttrs(i - 1)\" :index=\"i\">\n <OtpInputText\n :value=\"tokens[i - 1]\"\n :type=\"inputType\"\n :class=\"cx('pcInput')\"\n :inputmode=\"inputMode\"\n :variant=\"variant\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :invalid=\"invalid\"\n :tabindex=\"tabindex\"\n :unstyled=\"unstyled\"\n @input=\"onInput($event, i - 1)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @paste=\"onPaste($event)\"\n @keydown=\"onKeyDown($event)\"\n :pt=\"ptm('pcInput')\"\n />\n </slot>\n </template>\n </div>\n</template>\n\n<script>\nimport InputText from 'primevue/inputtext';\nimport BaseInputOtp from './BaseInputOtp.vue';\n\nexport default {\n name: 'InputOtp',\n extends: BaseInputOtp,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur'],\n data() {\n return {\n tokens: []\n };\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.tokens = newValue ? newValue.split('') : new Array(this.length);\n }\n }\n },\n methods: {\n getTemplateAttrs(index) {\n return {\n value: this.tokens[index]\n };\n },\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus(event),\n blur: (event) => this.onBlur(event),\n paste: (event) => this.onPaste(event)\n };\n },\n getPTOptions(key) {\n const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n return _ptm(key, {\n context: {\n checked: this.checked,\n disabled: this.disabled\n }\n });\n },\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward') {\n this.moveToNext(event);\n }\n },\n updateModel(event) {\n const newValue = this.tokens.join('');\n\n this.$emit('update:modelValue', newValue);\n this.$emit('change', {\n originalEvent: event,\n value: newValue\n });\n },\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n },\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n },\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n },\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n },\n onFocus(event) {\n event.target.select();\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'Tab':\n break;\n\n default:\n if ((this.integerOnly && !(Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n },\n onPaste(event) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length + 1);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n },\n computed: {\n inputMode() {\n return this.integerOnly ? 'numeric' : 'text';\n },\n inputType() {\n return this.mask ? 'password' : 'text';\n }\n },\n components: {\n OtpInputText: InputText\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"i in length\" :key=\"i\">\n <slot :events=\"getTemplateEvents(i - 1)\" :attrs=\"getTemplateAttrs(i - 1)\" :index=\"i\">\n <OtpInputText\n :value=\"tokens[i - 1]\"\n :type=\"inputType\"\n :class=\"cx('pcInput')\"\n :inputmode=\"inputMode\"\n :variant=\"variant\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :invalid=\"invalid\"\n :tabindex=\"tabindex\"\n :unstyled=\"unstyled\"\n @input=\"onInput($event, i - 1)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @paste=\"onPaste($event)\"\n @keydown=\"onKeyDown($event)\"\n :pt=\"ptm('pcInput')\"\n />\n </slot>\n </template>\n </div>\n</template>\n\n<script>\nimport InputText from 'primevue/inputtext';\nimport BaseInputOtp from './BaseInputOtp.vue';\n\nexport default {\n name: 'InputOtp',\n extends: BaseInputOtp,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur'],\n data() {\n return {\n tokens: []\n };\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.tokens = newValue ? newValue.split('') : new Array(this.length);\n }\n }\n },\n methods: {\n getTemplateAttrs(index) {\n return {\n value: this.tokens[index]\n };\n },\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus(event),\n blur: (event) => this.onBlur(event),\n paste: (event) => this.onPaste(event)\n };\n },\n getPTOptions(key) {\n const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n return _ptm(key, {\n context: {\n checked: this.checked,\n disabled: this.disabled\n }\n });\n },\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward') {\n this.moveToNext(event);\n }\n },\n updateModel(event) {\n const newValue = this.tokens.join('');\n\n this.$emit('update:modelValue', newValue);\n this.$emit('change', {\n originalEvent: event,\n value: newValue\n });\n },\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n },\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n },\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n },\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n },\n onFocus(event) {\n event.target.select();\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'Tab':\n break;\n\n default:\n if ((this.integerOnly && !(Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n },\n onPaste(event) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length + 1);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n },\n computed: {\n inputMode() {\n return this.integerOnly ? 'numeric' : 'text';\n },\n inputType() {\n return this.mask ? 'password' : 'text';\n }\n },\n components: {\n OtpInputText: InputText\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","modelValue","type","invalid","Boolean","disabled","readonly","variant","String","tabindex","Number","length","mask","integerOnly","style","InputOtpStyle","provide","$pcInputOtp","$parentInstance","BaseInputOtp","inheritAttrs","emits","data","tokens","watch","immediate","handler","newValue","split","Array","methods","getTemplateAttrs","index","value","getTemplateEvents","_this","input","event","onInput","keydown","onKeyDown","focus","onFocus","blur","onBlur","paste","onPaste","getPTOptions","key","_ptm","ptmi","ptm","context","checked","target","updateModel","inputType","moveToPrev","moveToNext","join","$emit","originalEvent","prevInput","findPrevInput","select","nextInput","findNextInput","element","nextElement","nextElementSibling","nodeName","prevElement","previousElementSibling","ctrlKey","metaKey","code","preventDefault","clipboardData","getData","pastedCode","substring","isNaN","computed","inputMode","components","OtpInputText","InputText","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","_Fragment","_renderList","i","_renderSlot","$slots","events","$options","attrs","_createVNode","_component_OtpInputText","$data","inputmode","unstyled","$event","_cache","onKeydown","pt"],"mappings":"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"}