1.0.7 • Published 9 months ago

@tofandel/q-tel-input v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Vue3 Quasar Telephone Input

Node version Types npm.io npm.io npm.io

@tofandel/q-tel-input

The plugin was made for Vue 3 using the Quasar Framework v2.X. The plugin provides auto country detection on user inputs as well as dropdown for country which supports search by name, country code and country phone code.

Live preview for the code is available in CodePen


Installation

Package manager
npm
npm i @tofandel/q-tel-input
yarn
yarn add @tofandel/q-tel-input

Import the component as

import {QTelInput} from '@tofandel/q-tel-input'

Import the styles as

import '@tofandel/q-tel-input/dist/@tofandel/style.css'

Usage

<QTelInput v-model="tel" v-model:country-code="countryCode" />

All the props that are supported in quasar input field are available in the plugin as well. example

<QTelInput v-model="tel" dense outlined />

All the slots that are supported in quasar input field are available in the plugin as input slots. Country selection element uses #append slot

example

<QTelInput>
    <template v-slot:append>
        <q-avatar>
            <img src="https://cdn.quasar.dev/logo-v2/svg/logo.svg">
        </q-avatar>
    </template>
</QTelInput>

All the slots that are supported in quasar select field are available in the plugin as country select control slots with prefix cs-.

example

<QTelInput>
    <template #cs-before-options>
        <q-item>
            <q-item-section>
                This renders as before-options q-select slot in country list
            </q-item-section>
        </q-item>
    </template>
</QTelInput>

Model

PropTypeDescriptionUsage
model-valuestring or numberThe international phone number valuev-model="telephone_number"
countrystringThe iso2 country code of the selected countryv-model:country="country"
dial-codestringThe dial code of the phone number (without plus)v-model:dial-code="dialCode"
validbooleanWhether the phone number is valid or notv-model:valid="valid"

Props

PropTypeRequiredDescription
invalid-messageString or falseNoShow this message when the phone number is not valid (set to false to disable validation)
search-labelStringNoThe label for the search field inside the country dropdown
search-iconStringNoSet the icon for the search field to something else
dropdown-optionsObjectNoThe props to pass to the country select
use-emojiBooleanNoSet to use the emoji icon instead of the default flag images
no-results-textStringNoSet a string when the search results nothing, default: 'No results found'
output-formattedBooleanNoSet to true if you want the pretty formatting to be emitted in the model-value, by default no space will be present

Events

Event nameTypeDescription
countryCountryGets back the object information of a country when it changes
update:validBooleanGets back information about the validity of the phone number