UNPKG

@lbgm/otp-widget-vue

Version:
67 lines (52 loc) 1.85 kB
# otp-widget-vue OTP code input widget for Vue 3 ![image](https://user-images.githubusercontent.com/92580505/212340376-892b9ee4-1cd3-4e38-bd2b-eed867c50221.png) ## install ```sh npm i @lbgm/otp-widget-vue ``` ## Props Interface: ```ts interface Props { childs?: number; type?: "number" | "text"; placeholder?: string; gap?: "otp-gap-1" | "otp-gap-2" | "otp-gap-3" | "otp-gap-4" | "otp-gap-5" | "otp-gap-6" | "otp-gap-7" | "otp-gap-8" | "otp-gap-9" | "otp-gap-10" | "otp-gap-11" | "otp-gap-12" | "otp-gap-13" | "otp-gap-14" | "otp-gap-15" | "otp-gap-16" | "otp-gap-17" | "otp-gap-18" | "otp-gap-19" | "otp-gap-20" | "otp-gap-21" | "otp-gap-22" | "otp-gap-23" | "otp-gap-24" | "otp-gap-25" | "otp-gap-26" | "otp-gap-27" | "otp-gap-28" | "otp-gap-29" | "otp-gap-30" | "otp-gap-31" | "otp-gap-32" | "otp-gap-33" | "otp-gap-34" | "otp-gap-35" | "otp-gap-36" | "otp-gap-37" | "otp-gap-38" | "otp-gap-39" | "otp-gap-40" | "otp-gap-41" | "otp-gap-42" | "otp-gap-43" | "otp-gap-44" | "otp-gap-45" | "otp-gap-46" | "otp-gap-47" | "otp-gap-48"; } ``` Default values: ```js { childs: 4, type: "number", placeholder: "", gap: "otp-gap-16" } ``` ## Events `code`: sends value filled as `string`; `filled`: when all inputs are filled; ## Use main.ts : ```js import { OtpWidget } from '@lbgm/otp-widget-vue'; // register as global component app.component('OtpWidget', OtpWidget); ``` App.vue : ```js // import component style import '@lbgm/otp-widget-vue/style'; import { ref } from "vue"; import type { Ref } from "vue"; const otp: Ref<string> = ref(""); ``` use component: ```html <otp-widget @filled="void 0" @code="otp = $event" /> ``` ![image](https://user-images.githubusercontent.com/92580505/212340494-fa18c90b-cb68-4813-817d-e188343719e4.png) ```js console.log(otp) : 8842 ```