UNPKG

vue-iranian-license-plate

Version:

A reusable Vue 2 + Vuetify component for Iranian vehicle license plates.

136 lines (96 loc) โ€ข 4.03 kB
# vue-iranian-license-plate A Vue 2 + Vuetify component for displaying and editing Iranian license plates, with built-in validation and theming. [![npm version](https://img.shields.io/npm/v/vue-iranian-license-plate?logo=npm)](https://www.npmjs.com/package/vue-iranian-license-plate) [![license](https://img.shields.io/npm/l/vue-iranian-license-plate)](LICENSE) [![downloads](https://img.shields.io/npm/dm/vue-iranian-license-plate)](https://www.npmjs.com/package/vue-iranian-license-plate) --- ![Preview of Iranian License Plate Component](https://github.com/devpactteam/iranian-license-plate/blob/main/preview.png) > *Live preview of the `vue-iranian-license-plate` component in editable and read-only modes.* --- ## ๐Ÿš— Features - Fully supports the Iranian license plate format (including Persian characters) - Two modes: **Live Editable** and **Read-Only Display** - Built-in validation with instant visual feedback - Themed for various plate types: private, public, military, diplomatic, and temporary - Fully customizable and easy to integrate with Vue 2 + Vuetify projects --- ## ๐Ÿ“ฆ Installation ```bash npm install vue-iranian-license-plate ```` --- ## ๐Ÿ› ๏ธ Usage ### 1. Import and Register the Component In your `.vue` or `.js` file: ```js import IranianLicensePlate from 'vue-iranian-license-plate' export default { components: { IranianLicensePlate }, data() { return { plate: '' } } } ``` ### 2. Use the Component in Your Template ```html <iranian-license-plate v-model="plate" /> ``` --- ## โš™๏ธ Props | Prop | Type | Default | Description | | ------------------- | --------- | ----------- | -------------------------------------------------------------------------------- | | `value` / `v-model` | `String` | `''` | License plate value (two-way binding) | | `readonly` | `Boolean` | `false` | Display plate in read-only mode | | `type` | `String` | `'private'` | Plate type: `'private'`, `'public'`, `'military'`, `'diplomatic'`, `'temporary'` | | `error` | `Boolean` | `false` | Force error state (e.g. for form validation) | | `rules` | `Array` | `[]` | Custom validation rules (Vuetify style) | | `label` | `String` | `''` | Optional label text above the plate | | `hint` | `String` | `''` | Optional hint text below the input | --- ## ๐Ÿ–ผ๏ธ Plate Types & Styles The component visually adapts based on the `type` prop: * `private` (default): White background with black digits * `public`: Yellow background * `military`: Olive green style * `diplomatic`: Blue or red style * `temporary`: Orange/red tones You can style it further using custom CSS classes or Vuetify theming. --- ## ๐Ÿ“‹ Notes * Supports standard Iranian license plate format (two digits, Persian letter, three digits, region code). * Built-in format validation and feedback. * Easily integrable into any Vue 2 + Vuetify form or wizard. --- ## ๐Ÿงช Example ```html <template> <v-form> <iranian-license-plate v-model="plate" :type="'public'" :readonly="false" label="Vehicle Plate" hint="Enter your valid Iranian license plate" /> </v-form> </template> <script> import IranianLicensePlate from 'vue-iranian-license-plate' export default { components: { IranianLicensePlate }, data() { return { plate: '' } } } </script> ``` --- ## ๐Ÿ“„ License This project is licensed under the [MIT License](LICENSE). ````