2
0
mirror of https://github.com/tenrok/maska.git synced 2026-06-20 20:00:34 +03:00

Update docs and meta info

This commit is contained in:
Alexander Shabunevich
2019-09-25 16:36:31 +03:00
parent 1c9f047753
commit bd2d5e0075
3 changed files with 90 additions and 77 deletions
+6 -2
View File
@@ -1,6 +1,6 @@
# Maska # Maska
Simple zero-dependency input mask for Vue.js and vanilla JS. Simple zero-dependency input mask for Vue.js and vanilla JS. [Demo and examples](https://beholdr.github.io/maska/).
- No dependencies - No dependencies
- Small size (~2 Kb gziped) - Small size (~2 Kb gziped)
@@ -8,6 +8,10 @@ Simple zero-dependency input mask for Vue.js and vanilla JS.
- Supports repeat symbols - Supports repeat symbols
- Works on any input (custom or native) - Works on any input (custom or native)
## Install
npm install maska
## Usage with Vue.js ## Usage with Vue.js
If you load Vue.js via `<script>` then just add `v-maska` directive to your input: If you load Vue.js via `<script>` then just add `v-maska` directive to your input:
@@ -42,7 +46,7 @@ export default {
## Usage with vanilla JS ## Usage with vanilla JS
Just load script `maska.js` and init it, passing element(s) or selector expression: Just load script `maska.js` and init it, passing element(s) or `document.querySelector` expression:
``` javascript ``` javascript
var mask = Maska.create('.masked'); var mask = Maska.create('.masked');
+78 -74
View File
@@ -7,93 +7,97 @@
<title>Maska demo</title> <title>Maska demo</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css" integrity="sha256-vK3UTo/8wHbaUn+dTQD0X6dzidqc5l7gczvH+Bnowwk=" crossorigin="anonymous" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css" integrity="sha256-vK3UTo/8wHbaUn+dTQD0X6dzidqc5l7gczvH+Bnowwk=" crossorigin="anonymous" />
<style> <style>
body { padding: 2em 0 5em; background: #fafafa } body { background: #fafafa }
.container { max-width: 800px } body > section > .container { max-width: 800px }
</style> </style>
</head> </head>
<body> <body>
<div class="container"> <section class="section">
<div class="content"> <div class="container">
<h1 class="is-size-1">Maska library demo</h1> <div class="content">
<div class="is-pulled-right"><a href="https://github.com/beholdr/maska" class="button is-link is-medium">Github</a></div>
<h2 class="is-size-3">Vue.js examples</h2> <h1 class="is-size-2 is-marginless">Maska demo</h1>
<div class="box">
<form id="vue-form">
<div class="field">
<label class="label">Phone with code</label>
<div class="control">
<input v-maska="'+1 (###) ###-##-##'" value="12345678901" class="input">
</div>
<p class="help is-family-code">v-maska="'+1 (###) ###-##-##'"</p>
</div>
<div class="field">
<label class="label">Hex color (custom tokens)</label>
<div class="control">
<input v-maska="{ mask: '!#HHHHHH', tokens: { 'H': { pattern: /[0-9a-fA-F]/, uppercase: true }}}" class="input">
</div>
<p class="help is-family-code">v-maska="{ mask: '!#HHHHHH', tokens: { 'H': { pattern: /[0-9a-fA-F]/, uppercase: true }}}"</p>
</div>
</form>
</div>
<h2 class="is-size-3">Vanilla JS examples</h2> <h2 class="is-size-4">Vue.js examples</h2>
<div class="box"> <div class="box">
<form id="vanilla-form"> <form id="vue-form">
<div class="columns"> <div class="field">
<div class="column"> <label class="label">Phone with code</label>
<div class="field"> <div class="control">
<label class="label">Phone with code</label> <input v-maska="'+1 (###) ###-##-##'" value="12345678901" class="input">
<div class="control">
<input data-mask="+1 (###) ###-####" class="masked input">
</div>
<p class="help is-family-code">data-mask="+1 (###) ###-####"</p>
</div> </div>
<div class="field"> <p class="help is-family-code">v-maska="'+1 (###) ###-##-##'"</p>
<label class="label">Cardholder name</label> </div>
<div class="control"> <div class="field">
<input data-mask="A* A*" class="masked input"> <label class="label">Hex color (custom tokens)</label>
</div> <div class="control">
<p class="help is-family-code">data-mask="A* A*"</p> <input v-maska="{ mask: '!#HHHHHH', tokens: { 'H': { pattern: /[0-9a-fA-F]/, uppercase: true }}}" class="input">
</div> </div>
<div class="field"> <p class="help is-family-code">v-maska="{ mask: '!#HHHHHH', tokens: { 'H': { pattern: /[0-9a-fA-F]/, uppercase: true }}}"</p>
<label class="label">All digits</label> </div>
<div class="control"> </form>
<input data-mask="#*" class="masked input"> </div>
<h2 class="is-size-4">Vanilla JS examples</h2>
<div class="box">
<form id="vanilla-form">
<div class="columns">
<div class="column">
<div class="field">
<label class="label">Phone with code</label>
<div class="control">
<input data-mask="+1 (###) ###-####" class="masked input">
</div>
<p class="help is-family-code">data-mask="+1 (###) ###-####"</p>
</div>
<div class="field">
<label class="label">Cardholder name</label>
<div class="control">
<input data-mask="A* A*" class="masked input">
</div>
<p class="help is-family-code">data-mask="A* A*"</p>
</div>
<div class="field">
<label class="label">All digits</label>
<div class="control">
<input data-mask="#*" class="masked input">
</div>
<p class="help is-family-code">data-mask="#*"</p>
</div>
</div>
<div class="column">
<div class="field">
<label class="label">Date</label>
<div class="control">
<input data-mask="##/##/####" class="masked input">
</div>
<p class="help is-family-code">data-mask="##/##/####"</p>
</div>
<div class="field">
<label class="label">Hex color (custom tokens)</label>
<div class="control">
<input data-mask="!#HHHHHH" class="custom-masked input">
</div>
<p class="help is-family-code">data-mask="!#HHHHHH"</p>
</div>
<div class="field">
<label class="label">Without mask (destroyed)</label>
<div class="control">
<input data-mask="###" class="unmasked input">
</div>
<p class="help is-family-code">data-mask="###"</p>
</div> </div>
<p class="help is-family-code">data-mask="#*"</p>
</div> </div>
</div> </div>
<div class="column"> </form>
<div class="field"> </div>
<label class="label">Date</label>
<div class="control">
<input data-mask="##/##/####" class="masked input">
</div>
<p class="help is-family-code">data-mask="##/##/####"</p>
</div>
<div class="field">
<label class="label">Hex color (custom tokens)</label>
<div class="control">
<input data-mask="!#HHHHHH" class="custom-masked input">
</div>
<p class="help is-family-code">data-mask="!#HHHHHH"</p>
</div>
<div class="field">
<label class="label">Without mask (destroyed)</label>
<div class="control">
<input data-mask="###" class="unmasked input">
</div>
<p class="help is-family-code">data-mask="###"</p>
</div>
</div>
</div>
</form>
</div> </div>
</div> </div>
</div> </section>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/vue@2.6"></script>
<script src="../dist/maska.js"></script> <script src="https://cdn.jsdelivr.net/npm/maska/dist/maska.js"></script>
<script> <script>
// vue // vue
new Vue({ new Vue({
+6 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "maska", "name": "maska",
"version": "1.0.0", "version": "1.0.1",
"description": "Simple zero-dependency input mask for Vue.js and vanilla JS", "description": "Simple zero-dependency input mask for Vue.js and vanilla JS",
"keywords": [ "keywords": [
"mask", "mask",
@@ -8,6 +8,11 @@
"vue" "vue"
], ],
"author": "Alexander Shabunevich <alex@aether.ru>", "author": "Alexander Shabunevich <alex@aether.ru>",
"homepage": "https://beholdr.github.io/maska/",
"repository": {
"url": "https://github.com/beholdr/maska",
"type": "git"
},
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"serve": "rimraf dist && webpack --watch", "serve": "rimraf dist && webpack --watch",