@weslink/vue-pincode
Version:
Neumorphism styled pincode input field for Vue.js
73 lines (59 loc) • 1.82 kB
Markdown
<div align="center">
<img width="200" height="200" src="src/assets/logo.png" alt="@weslink/vue-pincode">
</div>
### VuePincode
## Features
### :rocket: [See live demo](https://weslinkde.github.io/vue-pincode/) (Pin: 1234 is the right one)
- Simple pincode input field
- Neumorphism styling
- Smooth animations
## Installation
In your Vue.js project:
```
npm install @weslink/vue-pincode
```
###### :speech_balloon: If you prefer static files, import assets from the `dist` folder
## Basic example
###### Login.vue
```Vue
<template>
<div id="app">
<div class="container">
<vue-pincode ref="pincodeInput" @pincode="login" />
</div>
</div>
</template>
<script>
import axios from 'axios';
import VuePincode from "./components/VuePincode";
export default {
name: "Login",
components: {
VuePincode
},
methods: {
async login(pincode) {
try {
const { data } = await axios.post(`/login`, { pincode })
this.$refs.pincodeInput.triggerSuccess();
return { success: true, status: data.status }
} catch (e) {
this.$refs.pincodeInput.triggerMiss();
return { success: false, status: e.response.data.status }
}
},
}
};
</script>
```
## Events
| Event | Description |
| ----------- | ------------------------------------------------------------ |
| pincode | Is triggered when the pincode is four characters long and passes it as parameter |
## Project development
- `npm run serve` compiles and hot-reloads demo for development
- `npm run lint` lints and fixes files
- `npm run build` compiles and minifies production files and demo
## Licensing
Copyright :copyright: 2020 [Weslink GmbH](https://weslink.de), [MIT License](LICENSE)
Author: Dominik Lenz