From cf2d3ad974c5856b391b7d40c063eb93e8519689 Mon Sep 17 00:00:00 2001 From: Benjamin David Date: Fri, 8 Mar 2019 09:23:30 +0100 Subject: [PATCH] Replaced `inputmask` NPM library with `vue-the-mask` --- bili.config.js | 5 +- dist/craftui.cjs.js | 353 +++- dist/craftui.css | 1680 ++++++++--------- dist/craftui.es.js | 353 +++- dist/craftui.js | 353 +++- dist/craftui.min.css | 4 +- dist/craftui.min.css.map | 2 +- dist/craftui.min.js | 2 +- dist/craftui.min.js.map | 2 +- docs/src/stories/components-fields.stories.js | 12 +- docs/src/stories/components-inputs.stories.js | 3 + package-lock.json | 658 ++++--- package.json | 11 +- src/components/fields/TextField.vue | 21 +- src/components/inputs/TextInput.vue | 28 +- 15 files changed, 2182 insertions(+), 1305 deletions(-) diff --git a/bili.config.js b/bili.config.js index 0cedf41..901fa97 100644 --- a/bili.config.js +++ b/bili.config.js @@ -10,12 +10,13 @@ module.exports = { ] }, plugins: [ - "babel", + 'babel', + 'node-resolve', require("rollup-plugin-vue")({ css: false, }), require("rollup-plugin-string").string({ include: '**/*.svg' - }) + }), ], }; \ No newline at end of file diff --git a/dist/craftui.cjs.js b/dist/craftui.cjs.js index 756bdb2..ac8bd6a 100644 --- a/dist/craftui.cjs.js +++ b/dist/craftui.cjs.js @@ -830,40 +830,270 @@ var __vue_staticRenderFns__$d = []; undefined ); +function maskit(value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var tokens = arguments.length > 3 ? arguments[3] : undefined; + value = value || ''; + mask = mask || ''; + var iMask = 0; + var iValue = 0; + var output = ''; + + while (iMask < mask.length && iValue < value.length) { + var cMask = mask[iMask]; + var masker = tokens[cMask]; + var cValue = value[iValue]; + + if (masker && !masker.escape) { + if (masker.pattern.test(cValue)) { + output += masker.transform ? masker.transform(cValue) : cValue; + iMask++; + } + + iValue++; + } else { + if (masker && masker.escape) { + iMask++; // take the next mask char and treat it as char + + cMask = mask[iMask]; + } + + if (masked) output += cMask; + if (cValue === cMask) iValue++; // user typed the same char + + iMask++; + } + } // fix mask that ends with a char: (#) + + + var restOutput = ''; + + while (iMask < mask.length && masked) { + var cMask = mask[iMask]; + + if (tokens[cMask]) { + restOutput = ''; + break; + } + + restOutput += cMask; + iMask++; + } + + return output + restOutput; +} + +function dynamicMask(maskit, masks, tokens) { + masks = masks.sort(function (a, b) { + return a.length - b.length; + }); + return function (value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var i = 0; + + while (i < masks.length) { + var currentMask = masks[i]; + i++; + var nextMask = masks[i]; + + if (!(nextMask && maskit(value, nextMask, true, tokens).length > currentMask.length)) { + return maskit(value, currentMask, masked, tokens); + } + } + + return ''; // empty masks + }; +} + +function masker (value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var tokens = arguments.length > 3 ? arguments[3] : undefined; + return Array.isArray(mask) ? dynamicMask(maskit, mask, tokens)(value, mask, masked, tokens) : maskit(value, mask, masked, tokens); +} + +var tokens = { + '#': { + pattern: /\d/ + }, + 'X': { + pattern: /[0-9a-zA-Z]/ + }, + 'S': { + pattern: /[a-zA-Z]/ + }, + 'A': { + pattern: /[a-zA-Z]/, + transform: function transform(v) { + return v.toLocaleUpperCase(); + } + }, + 'a': { + pattern: /[a-zA-Z]/, + transform: function transform(v) { + return v.toLocaleLowerCase(); + } + }, + '!': { + escape: true + } // https://github.com/fernandofleury/vanilla-masker/blob/master/lib/vanilla-masker.js + // DIGIT = "9", + // ALPHA = "A", + // ALPHANUM = "S" + // https://github.com/niksmr/vue-masked-input + // 1 - number + // a - letter + // A - letter, forced to upper case when entered + // * - alphanumeric + // # - alphanumeric, forced to upper case when entered + // + - any character + // https://github.com/probil/v-mask + // # Number (0-9) + // A Letter in any case (a-z,A-Z) + // N Number or letter + // X Any symbol + // https://github.com/igorescobar/jQuery-Mask-Plugin/blob/master/src/jquery.mask.js#L518 + // '0': {pattern: /\d/}, + // '9': {pattern: /\d/, optional: true}, + // '#': {pattern: /\d/, recursive: true}, + // 'A': {pattern: /[a-zA-Z0-9]/}, + // 'S': {pattern: /[a-zA-Z]/} + // https://github.com/the-darc/string-mask + // 0 Any numbers + // 9 Any numbers (Optional) + // # Any numbers (recursive) + // A Any alphanumeric character + // a Any alphanumeric character (Optional) Not implemented yet + // S Any letter + // U Any letter (All lower case character will be mapped to uppercase) + // L Any letter (All upper case character will be mapped to lowercase) + // $ Escape character, used to escape any of the special formatting characters. + +}; + +function event(name) { + var evt = document.createEvent('Event'); + evt.initEvent(name, true, true); + return evt; +} + +function mask (el, binding) { + var config = binding.value; + + if (Array.isArray(config) || typeof config === 'string') { + config = { + mask: config, + tokens: tokens + }; + } + + if (el.tagName.toLocaleUpperCase() !== 'INPUT') { + var els = el.getElementsByTagName('input'); + + if (els.length !== 1) { + throw new Error("v-mask directive requires 1 input, found " + els.length); + } else { + el = els[0]; + } + } + + el.oninput = function (evt) { + if (!evt.isTrusted) return; // avoid infinite loop + + /* other properties to try to diferentiate InputEvent of Event (custom) + InputEvent (native) + cancelable: false + isTrusted: true + composed: true + isComposing: false + which: 0 + Event (custom) + cancelable: true + isTrusted: false + */ + // by default, keep cursor at same position as before the mask + + var position = el.selectionEnd; // save the character just inserted + + var digit = el.value[position - 1]; + el.value = masker(el.value, config.mask, true, config.tokens); // if the digit was changed, increment position until find the digit again + + while (position < el.value.length && el.value.charAt(position - 1) !== digit) { + position++; + } + + if (el === document.activeElement) { + el.setSelectionRange(position, position); + setTimeout(function () { + el.setSelectionRange(position, position); + }, 0); + } + + el.dispatchEvent(event('input')); + }; + + var newDisplay = masker(el.value, config.mask, true, config.tokens); + + if (newDisplay !== el.value) { + el.value = newDisplay; + el.dispatchEvent(event('input')); + } +} + // -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// import Inputmask from 'inputmask' var script$d = { - props: ['id', 'name', 'placeholder', 'value', 'autofocus', 'disabled', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size'], + directives: { + mask: mask + }, + props: { + id: { + type: String, + default: null + }, + name: { + type: String, + default: null + }, + placeholder: { + type: String, + default: null + }, + value: { + type: String, + default: null + }, + autofocus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + mask: { + type: String | Object, + default: '' + }, + autocapitalize: { + type: Boolean, + default: false + }, + spellcheck: { + type: Boolean, + default: false + }, + readonly: { + type: Boolean, + default: false + }, + size: { + type: String, + default: null + } + }, created: function created() { this.$on('focus', function () { this.$refs.input.focus(); }); - }, - directives: { - mask: { - bind: function bind(el, binding) { - if (binding.value) ; - } - } } }; @@ -876,7 +1106,7 @@ var __vue_staticRenderFns__$e = []; /* style */ const __vue_inject_styles__$e = undefined; /* scoped */ - const __vue_scope_id__$e = "data-v-56acaf34"; + const __vue_scope_id__$e = "data-v-65c7167a"; /* module identifier */ const __vue_module_identifier__$e = undefined; /* functional template */ @@ -900,7 +1130,68 @@ var __vue_staticRenderFns__$e = []; // var script$e = { - props: ['label', 'id', 'name', 'placeholder', 'value', 'autofocus', 'errors', 'disabled', 'instructions', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size', 'max'], + props: { + label: { + type: String, + default: null + }, + errors: { + type: Array, + default: null + }, + instructions: { + type: String, + default: null + }, + max: { + type: Number, + default: null + }, + id: { + type: String, + default: null + }, + name: { + type: String, + default: null + }, + placeholder: { + type: String, + default: null + }, + value: { + type: String, + default: null + }, + autofocus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + mask: { + type: String | Object, + default: '' + }, + autocapitalize: { + type: Boolean, + default: false + }, + spellcheck: { + type: Boolean, + default: false + }, + readonly: { + type: Boolean, + default: false + }, + size: { + type: String, + default: null + } + }, components: { Field: Field, TextInput: TextInput @@ -935,7 +1226,7 @@ var __vue_staticRenderFns__$f = []; /* style */ const __vue_inject_styles__$f = undefined; /* scoped */ - const __vue_scope_id__$f = "data-v-339cab58"; + const __vue_scope_id__$f = "data-v-bfaf2268"; /* module identifier */ const __vue_module_identifier__$f = undefined; /* functional template */ diff --git a/dist/craftui.css b/dist/craftui.css index ea4d700..179503e 100644 --- a/dist/craftui.css +++ b/dist/craftui.css @@ -1,1096 +1,1096 @@ -.c-btn, -a.c-btn, -button.c-btn { - padding-left: 1rem; - padding-right: 1rem; - padding-top: .5rem; - padding-bottom: .5rem; - border-radius: .25rem; - background-color: #f1f5f8; - color: #22292f; - text-decoration: none; - border-width: 1px; - border-style: solid; - border-color: #f1f5f8; -} - -.c-btn:not(.outline), -a.c-btn:not(.outline), -button.c-btn:not(.outline) { - -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .2); - box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .2); -} - -.c-btn:not([disabled]):hover, -a.c-btn:not([disabled]):hover, -button.c-btn:not([disabled]):hover { - cursor: pointer; - background-color: #b8c2cc; - border-color: #b8c2cc; - text-decoration: none; -} - -.c-btn:not([disabled]):active, -a.c-btn:not([disabled]):active, -button.c-btn:not([disabled]):active { - cursor: pointer; - background-color: #8795a1; - border-color: #8795a1; -} - -.c-btn.block, -a.c-btn.block, -button.c-btn.block { - width: 100%; - margin-top: .25rem; - margin-bottom: .25rem; -} - -.c-btn.small, -a.c-btn.small, -button.c-btn.small { - font-size: .875rem; -} - -.c-btn.small .c-icon, -a.c-btn.small .c-icon, -button.c-btn.small .c-icon { - width: 12px; - height: 12px; -} +@charset "UTF-8"; -.c-btn.large, -a.c-btn.large, -button.c-btn.large { - font-size: 1.125rem; - padding-top: .75rem; - padding-bottom: .75rem; -} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ -.c-btn.danger:not(.outline) .c-icon, -.c-btn.info:not(.outline) .c-icon, -.c-btn.primary:not(.outline) .c-icon, -.c-btn.success:not(.outline) .c-icon, -.c-btn.warning:not(.outline) .c-icon, -a.c-btn.danger:not(.outline) .c-icon, -a.c-btn.info:not(.outline) .c-icon, -a.c-btn.primary:not(.outline) .c-icon, -a.c-btn.success:not(.outline) .c-icon, -a.c-btn.warning:not(.outline) .c-icon, -button.c-btn.danger:not(.outline) .c-icon, -button.c-btn.info:not(.outline) .c-icon, -button.c-btn.primary:not(.outline) .c-icon, -button.c-btn.success:not(.outline) .c-icon, -button.c-btn.warning:not(.outline) .c-icon { - fill: #fff; -} +/* Document + ========================================================================== */ -.c-btn.primary, -a.c-btn.primary, -button.c-btn.primary { - background-color: #3490dc; - border-color: #3490dc; - color: #fff; -} +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ -.c-btn.primary:not([disabled]):hover, -a.c-btn.primary:not([disabled]):hover, -button.c-btn.primary:not([disabled]):hover { - background-color: #2779bd; - border-color: #2779bd; +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ } -.c-btn.primary:not([disabled]):active, -a.c-btn.primary:not([disabled]):active, -button.c-btn.primary:not([disabled]):active { - background-color: #1c3d5a; - border-color: #1c3d5a; -} +/* Sections + ========================================================================== */ -.c-btn.warning, -a.c-btn.warning, -button.c-btn.warning { - background-color: #f6993f; - border-color: #f6993f; - color: #fff; -} +/** + * Remove the margin in all browsers. + */ -.c-btn.warning:not([disabled]):hover, -a.c-btn.warning:not([disabled]):hover, -button.c-btn.warning:not([disabled]):hover { - background-color: #de751f; - border-color: #de751f; +body { + margin: 0; } -.c-btn.warning:not([disabled]):active, -a.c-btn.warning:not([disabled]):active, -button.c-btn.warning:not([disabled]):active { - background-color: #613b1f; - border-color: #613b1f; -} +/** + * Render the `main` element consistently in IE. + */ -.c-btn.success, -a.c-btn.success, -button.c-btn.success { - background-color: #38c172; - border-color: #38c172; - color: #fff; +main { + display: block; } -.c-btn.success:not([disabled]):hover, -a.c-btn.success:not([disabled]):hover, -button.c-btn.success:not([disabled]):hover { - background-color: #1f9d55; - border-color: #1f9d55; -} +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ -.c-btn.success:not([disabled]):active, -a.c-btn.success:not([disabled]):active, -button.c-btn.success:not([disabled]):active { - background-color: #1a4731; - border-color: #1a4731; +h1 { + font-size: 2em; + margin: .67em 0; } -.c-btn.danger, -a.c-btn.danger, -button.c-btn.danger { - background-color: #e3342f; - border-color: #e3342f; - color: #fff; -} +/* Grouping content + ========================================================================== */ -.c-btn.danger:not([disabled]):hover, -a.c-btn.danger:not([disabled]):hover, -button.c-btn.danger:not([disabled]):hover { - background-color: #cc1f1a; - border-color: #cc1f1a; -} +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ -.c-btn.danger:not([disabled]):active, -a.c-btn.danger:not([disabled]):active, -button.c-btn.danger:not([disabled]):active { - background-color: #621b18; - border-color: #621b18; +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ } -.c-btn.info, -a.c-btn.info, -button.c-btn.info { - background-color: #4dc0b5; - border-color: #4dc0b5; - color: #fff; -} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ -.c-btn.info:not([disabled]):hover, -a.c-btn.info:not([disabled]):hover, -button.c-btn.info:not([disabled]):hover { - background-color: #38a89d; - border-color: #38a89d; +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ } -.c-btn.info:not([disabled]):active, -a.c-btn.info:not([disabled]):active, -button.c-btn.info:not([disabled]):active { - background-color: #20504f; - border-color: #20504f; -} +/* Text-level semantics + ========================================================================== */ -.c-btn[disabled], -a.c-btn[disabled], -button.c-btn[disabled] { - opacity: .5; - cursor: default; -} +/** + * Remove the gray background on active links in IE 10. + */ -.c-btn.outline, -a.c-btn.outline, -button.c-btn.outline { +a { background-color: transparent; } -.c-btn.outline.primary, -a.c-btn.outline.primary, -button.c-btn.outline.primary { - color: #3490dc; -} - -.c-btn.outline.primary:not([disabled]):hover, -a.c-btn.outline.primary:not([disabled]):hover, -button.c-btn.outline.primary:not([disabled]):hover { - color: #fff; - background-color: #3490dc; -} - -.c-btn.outline.primary:not([disabled]):active, -a.c-btn.outline.primary:not([disabled]):active, -button.c-btn.outline.primary:not([disabled]):active { - color: #fff; - background-color: #1c3d5a; -} - -.c-btn.outline.warning, -a.c-btn.outline.warning, -button.c-btn.outline.warning { - color: #f6993f; -} - -.c-btn.outline.warning:not([disabled]):hover, -a.c-btn.outline.warning:not([disabled]):hover, -button.c-btn.outline.warning:not([disabled]):hover { - color: #fff; - background-color: #f6993f; -} - -.c-btn.outline.warning:not([disabled]):active, -a.c-btn.outline.warning:not([disabled]):active, -button.c-btn.outline.warning:not([disabled]):active { - color: #fff; - background-color: #613b1f; -} - -.c-btn.outline.success, -a.c-btn.outline.success, -button.c-btn.outline.success { - color: #38c172; -} - -.c-btn.outline.success:not([disabled]):hover, -a.c-btn.outline.success:not([disabled]):hover, -button.c-btn.outline.success:not([disabled]):hover { - color: #fff; - background-color: #38c172; -} - -.c-btn.outline.success:not([disabled]):active, -a.c-btn.outline.success:not([disabled]):active, -button.c-btn.outline.success:not([disabled]):active { - color: #fff; - background-color: #1a4731; -} - -.c-btn.outline.danger, -a.c-btn.outline.danger, -button.c-btn.outline.danger { - color: #e3342f; -} - -.c-btn.outline.danger:not([disabled]):hover, -a.c-btn.outline.danger:not([disabled]):hover, -button.c-btn.outline.danger:not([disabled]):hover { - color: #fff; - background-color: #e3342f; -} - -.c-btn.outline.danger:not([disabled]):active, -a.c-btn.outline.danger:not([disabled]):active, -button.c-btn.outline.danger:not([disabled]):active { - color: #fff; - background-color: #621b18; -} - -.c-btn.outline.info, -a.c-btn.outline.info, -button.c-btn.outline.info { - color: #4dc0b5; -} - -.c-btn.outline.info:not([disabled]):hover, -a.c-btn.outline.info:not([disabled]):hover, -button.c-btn.outline.info:not([disabled]):hover { - color: #fff; - background-color: #4dc0b5; -} +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ -.c-btn.outline.info:not([disabled]):active, -a.c-btn.outline.info:not([disabled]):active, -button.c-btn.outline.info:not([disabled]):active { - color: #fff; - background-color: #20504f; +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; /* 2 */ } -.c-btn.outline .c-icon, -a.c-btn.outline .c-icon, -button.c-btn.outline .c-icon { - fill: currentColor; -} +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ -.c-btn.loading, -a.c-btn.loading, -button.c-btn.loading { - position: relative; +b, +strong { + font-weight: bolder; } -.c-btn.loading:not(.outline).danger .c-spinner>.animation, -.c-btn.loading:not(.outline).info .c-spinner>.animation, -.c-btn.loading:not(.outline).primary .c-spinner>.animation, -.c-btn.loading:not(.outline).success .c-spinner>.animation, -.c-btn.loading:not(.outline).warning .c-spinner>.animation, -a.c-btn.loading:not(.outline).danger .c-spinner>.animation, -a.c-btn.loading:not(.outline).info .c-spinner>.animation, -a.c-btn.loading:not(.outline).primary .c-spinner>.animation, -a.c-btn.loading:not(.outline).success .c-spinner>.animation, -a.c-btn.loading:not(.outline).warning .c-spinner>.animation, -button.c-btn.loading:not(.outline).danger .c-spinner>.animation, -button.c-btn.loading:not(.outline).info .c-spinner>.animation, -button.c-btn.loading:not(.outline).primary .c-spinner>.animation, -button.c-btn.loading:not(.outline).success .c-spinner>.animation, -button.c-btn.loading:not(.outline).warning .c-spinner>.animation { - border-color: #fff; -} +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ -.c-btn.loading.outline.primary .c-spinner>.animation, -a.c-btn.loading.outline.primary .c-spinner>.animation, -button.c-btn.loading.outline.primary .c-spinner>.animation { - border-color: #3490dc; +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ } -.c-btn.loading.outline.warning .c-spinner>.animation, -a.c-btn.loading.outline.warning .c-spinner>.animation, -button.c-btn.loading.outline.warning .c-spinner>.animation { - border-color: #f6993f; -} +/** + * Add the correct font size in all browsers. + */ -.c-btn.loading.outline.success .c-spinner>.animation, -a.c-btn.loading.outline.success .c-spinner>.animation, -button.c-btn.loading.outline.success .c-spinner>.animation { - border-color: #38c172; +small { + font-size: 80%; } -.c-btn.loading.outline.danger .c-spinner>.animation, -a.c-btn.loading.outline.danger .c-spinner>.animation, -button.c-btn.loading.outline.danger .c-spinner>.animation { - border-color: #e3342f; +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } -.c-btn.loading.outline.info .c-spinner>.animation, -a.c-btn.loading.outline.info .c-spinner>.animation, -button.c-btn.loading.outline.info .c-spinner>.animation { - border-color: #4dc0b5; +sub { + bottom: -0.25em; } -.c-btn.loading .c-spinner, -a.c-btn.loading .c-spinner, -button.c-btn.loading .c-spinner { - position: absolute; - top: 50%; - left: 50%; - margin-top: -12px; - margin-left: -12px; +sup { + top: -0.5em; } -.c-btn.loading .c-btn-content, -a.c-btn.loading .c-btn-content, -button.c-btn.loading .c-btn-content { - visibility: hidden; +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; } -.c-btn .c-icon, -a.c-btn .c-icon, -button.c-btn .c-icon { - margin-right: .25rem; - vertical-align: middle; +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ } -.c-btn .c-btn-content, -a.c-btn .c-btn-content, -button.c-btn .c-btn-content { - display: inline-block; +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; } -.c-spinner { - display: inline-block; +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; } -.c-spinner>.animation { - -webkit-animation: rotator .7s linear infinite; - animation: rotator .7s linear infinite; - width: 22px; - height: 22px; - border-radius: 50%; - border: 2px solid transparent; - border-top-color: transparent !important; - border-left-color: transparent !important; - border-right-color: #555; - border-bottom-color: #555; +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } -.c-spinner.lg>.animation { - width: 32px; - height: 32px; - border-width: 3px; +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; } -@-webkit-keyframes rotator { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } +/** + * Restore the focus styles unset by the previous rule. + */ - to { - -webkit-transform: rotate(1turn); - transform: rotate(1turn); - } +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; } -@keyframes rotator { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } +/** + * Correct the padding in Firefox. + */ - to { - -webkit-transform: rotate(1turn); - transform: rotate(1turn); - } +fieldset { + padding: .35em .75em .625em; } -.c-icon { - display: inline-block; - vertical-align: middle; - position: relative; - fill: currentColor; - top: -2px; - width: 18px; - height: 18px; +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ } -.c-icon.size-sm { - width: .75rem; - height: .75rem; +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; } -.c-icon.size-base { - width: 1rem; - height: 1rem; +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; } -.c-icon.size-lg { - width: 1.25rem; - height: 1.25rem; +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ } -.c-icon.size-xl { - width: 1.5rem; - height: 1.5rem; +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } -.c-icon.size-2xl { - width: 1.75rem; - height: 1.75rem; +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ } -.c-icon.size-3xl { - width: 2.25rem; - height: 2.25rem; +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } -.c-icon.size-4xl { - width: 3rem; - height: 3rem; -} +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ -.c-icon.size-5xl { - width: 4rem; - height: 4rem; +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ } -@charset "UTF-8"; +/* Interactive + ========================================================================== */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ -/* Document - ========================================================================== */ +details { + display: block; +} -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. +/* + * Add the correct display in all browsers. */ -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ +summary { + display: list-item; } -/* Sections +/* Misc ========================================================================== */ /** - * Remove the margin in all browsers. + * Add the correct display in IE 10+. */ -body { - margin: 0; +template { + display: none; } /** - * Render the `main` element consistently in IE. + * Add the correct display in IE 10. */ -main { - display: block; +[hidden] { + display: none; } /** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. + * Manually forked from SUIT CSS Base: https://github.com/suitcss/base + * A thin layer on top of normalize.css that provides a starting point more + * suitable for web applications. */ -h1 { - font-size: 2em; - margin: .67em 0; -} - -/* Grouping content - ========================================================================== */ - /** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. + * 1. Prevent padding and border from affecting element width + * https://goo.gl/pYtbK7 + * 2. Change the default font family in all browsers (opinionated) */ -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ +html { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + font-family: sans-serif; /* 2 */ +} + +*, +*::before, +*::after { + -webkit-box-sizing: inherit; + box-sizing: inherit; } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. + * Removes the default spacing and border for appropriate elements. */ +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +figure, +p, pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ + margin: 0; } -/* Text-level semantics - ========================================================================== */ +button { + background: transparent; + padding: 0; +} /** - * Remove the gray background on active links in IE 10. + * Work around a Firefox/IE bug where the transparent `button` background + * results in a loss of the default `button` focus styles. */ -a { - background-color: transparent; +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } -/** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ +fieldset { + margin: 0; + padding: 0; +} -abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; /* 2 */ +ol, +ul { + margin: 0; } /** - * Add the correct font weight in Chrome, Edge, and Safari. + * Tailwind custom reset styles */ -b, -strong { - font-weight: bolder; -} - /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. + * Allow adding a border to an element by just adding a border-width. + * + * By default, the way the browser specifies that an element should have no + * border is by setting it's border-style to `none` in the user-agent + * stylesheet. + * + * In order to easily add borders to elements by just setting the `border-width` + * property, we change the default border-style for all elements to `solid`, and + * use border-width to hide them instead. This way our `border` utilities only + * need to set the `border-width` property instead of the entire `border` + * shorthand, making our border utilities much more straightforward to compose. + * + * https://github.com/tailwindcss/tailwindcss/pull/116 */ -code, -kbd, -samp { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ +*, +*::before, +*::after { + border-width: 0; + border-style: solid; + border-color: #dae1e7; } /** - * Add the correct font size in all browsers. + * Undo the `border-style: none` reset that Normalize applies to images so that + * our `border-{width}` utilities have the expected effect. + * + * The Normalize reset is unnecessary for us since we default the border-width + * to 0 on all elements. + * + * https://github.com/tailwindcss/tailwindcss/issues/362 */ -small { - font-size: 80%; +img { + border-style: solid; } -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ +textarea { + resize: vertical; +} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; +img { + max-width: 100%; + height: auto; } -sub { - bottom: -0.25em; +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: inherit; + opacity: .5; } -sup { - top: -0.5em; +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: inherit; + opacity: .5; } -/* Embedded content - ========================================================================== */ +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { + color: inherit; + opacity: .5; +} -/** - * Remove the border on images inside links in IE 10. - */ +input::placeholder, +textarea::placeholder { + color: inherit; + opacity: .5; +} -img { - border-style: none; +button, +[role="button"] { + cursor: pointer; } -/* Forms - ========================================================================== */ +table { + border-collapse: collapse; +} -/** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ +/* Fields */ -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 */ - font-size: 100%; /* 1 */ - line-height: 1.15; /* 1 */ - margin: 0; /* 2 */ +.field { + margin-bottom: 1rem; +} + +.field.mono input, +.field.mono textarea { + font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; +} + +.invalid-feedback { + color: #e3342f; + font-size: .875rem; + margin-top: .5rem; + margin-bottom: 1rem; } -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ +.instructions { + color: #8f98a3; +} -button, -input { - /* 1 */ - overflow: visible; +label { + display: inline-block; + margin-bottom: .25rem; } -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ +.field .checkbox { + margin-right: .5rem; +} -button, select { - /* 1 */ - text-transform: none; + border-width: 1px; + border-color: #dae1e7; + background-color: #fff; + height: calc(2.25rem + 2px); } -/** - * Correct the inability to style clickable types in iOS and Safari. - */ +/* Inputs */ -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; +input[type="text"], +input[type="password"], +input[type="tel"], +input[type="url"], +input[type="number"], +textarea { + background-color: #fff; + border-width: 1px; + border-color: #b8c2cc; + padding: .5rem; + border-radius: .25rem; + display: block; } -/** - * Remove the inner border and padding in Firefox. - */ - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; +input[type="text"]:disabled, +input[type="text"][readonly], +input[type="password"]:disabled, +input[type="password"][readonly], +input[type="tel"]:disabled, +input[type="tel"][readonly], +input[type="url"]:disabled, +input[type="url"][readonly], +input[type="number"]:disabled, +input[type="number"][readonly], +textarea:disabled, +textarea[readonly] { + background-color: #f8fafc; } -/** - * Restore the focus styles unset by the previous rule. - */ +input[type="text"].is-invalid, +input[type="password"].is-invalid, +input[type="tel"].is-invalid, +input[type="url"].is-invalid, +input[type="number"].is-invalid, +textarea.is-invalid { + border-color: #e3342f; +} -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { - outline: 1px dotted ButtonText; +input[type="number"] { + width: 60px; } -/** - * Correct the padding in Firefox. - */ +/* +Keep it light, don't import Tailwind’s utilities. +@tailwind utilities; +*/ -fieldset { - padding: .35em .75em .625em; +.c-btn, +a.c-btn, +button.c-btn { + padding-left: 1rem; + padding-right: 1rem; + padding-top: .5rem; + padding-bottom: .5rem; + border-radius: .25rem; + background-color: #f1f5f8; + color: #22292f; + text-decoration: none; + border-width: 1px; + border-style: solid; + border-color: #f1f5f8; } -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ +.c-btn:not(.outline), +a.c-btn:not(.outline), +button.c-btn:not(.outline) { + -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .2); + box-shadow: 0 2px 6px 0 rgba(0, 0, 0, .2); +} -legend { - -webkit-box-sizing: border-box; - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ +.c-btn:not([disabled]):hover, +a.c-btn:not([disabled]):hover, +button.c-btn:not([disabled]):hover { + cursor: pointer; + background-color: #b8c2cc; + border-color: #b8c2cc; + text-decoration: none; } -/** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ +.c-btn:not([disabled]):active, +a.c-btn:not([disabled]):active, +button.c-btn:not([disabled]):active { + cursor: pointer; + background-color: #8795a1; + border-color: #8795a1; +} -progress { - vertical-align: baseline; +.c-btn.block, +a.c-btn.block, +button.c-btn.block { + width: 100%; + margin-top: .25rem; + margin-bottom: .25rem; } -/** - * Remove the default vertical scrollbar in IE 10+. - */ +.c-btn.small, +a.c-btn.small, +button.c-btn.small { + font-size: .875rem; +} -textarea { - overflow: auto; +.c-btn.small .c-icon, +a.c-btn.small .c-icon, +button.c-btn.small .c-icon { + width: 12px; + height: 12px; } -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ +.c-btn.large, +a.c-btn.large, +button.c-btn.large { + font-size: 1.125rem; + padding-top: .75rem; + padding-bottom: .75rem; +} -[type="checkbox"], -[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ +.c-btn.danger:not(.outline) .c-icon, +.c-btn.info:not(.outline) .c-icon, +.c-btn.primary:not(.outline) .c-icon, +.c-btn.success:not(.outline) .c-icon, +.c-btn.warning:not(.outline) .c-icon, +a.c-btn.danger:not(.outline) .c-icon, +a.c-btn.info:not(.outline) .c-icon, +a.c-btn.primary:not(.outline) .c-icon, +a.c-btn.success:not(.outline) .c-icon, +a.c-btn.warning:not(.outline) .c-icon, +button.c-btn.danger:not(.outline) .c-icon, +button.c-btn.info:not(.outline) .c-icon, +button.c-btn.primary:not(.outline) .c-icon, +button.c-btn.success:not(.outline) .c-icon, +button.c-btn.warning:not(.outline) .c-icon { + fill: #fff; } -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ +.c-btn.primary, +a.c-btn.primary, +button.c-btn.primary { + background-color: #3490dc; + border-color: #3490dc; + color: #fff; +} -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; +.c-btn.primary:not([disabled]):hover, +a.c-btn.primary:not([disabled]):hover, +button.c-btn.primary:not([disabled]):hover { + background-color: #2779bd; + border-color: #2779bd; } -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ +.c-btn.primary:not([disabled]):active, +a.c-btn.primary:not([disabled]):active, +button.c-btn.primary:not([disabled]):active { + background-color: #1c3d5a; + border-color: #1c3d5a; +} -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ +.c-btn.warning, +a.c-btn.warning, +button.c-btn.warning { + background-color: #f6993f; + border-color: #f6993f; + color: #fff; } -/** - * Remove the inner padding in Chrome and Safari on macOS. - */ +.c-btn.warning:not([disabled]):hover, +a.c-btn.warning:not([disabled]):hover, +button.c-btn.warning:not([disabled]):hover { + background-color: #de751f; + border-color: #de751f; +} + +.c-btn.warning:not([disabled]):active, +a.c-btn.warning:not([disabled]):active, +button.c-btn.warning:not([disabled]):active { + background-color: #613b1f; + border-color: #613b1f; +} -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; +.c-btn.success, +a.c-btn.success, +button.c-btn.success { + background-color: #38c172; + border-color: #38c172; + color: #fff; } -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ +.c-btn.success:not([disabled]):hover, +a.c-btn.success:not([disabled]):hover, +button.c-btn.success:not([disabled]):hover { + background-color: #1f9d55; + border-color: #1f9d55; +} -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ +.c-btn.success:not([disabled]):active, +a.c-btn.success:not([disabled]):active, +button.c-btn.success:not([disabled]):active { + background-color: #1a4731; + border-color: #1a4731; } -/* Interactive - ========================================================================== */ +.c-btn.danger, +a.c-btn.danger, +button.c-btn.danger { + background-color: #e3342f; + border-color: #e3342f; + color: #fff; +} -/* - * Add the correct display in Edge, IE 10+, and Firefox. - */ +.c-btn.danger:not([disabled]):hover, +a.c-btn.danger:not([disabled]):hover, +button.c-btn.danger:not([disabled]):hover { + background-color: #cc1f1a; + border-color: #cc1f1a; +} -details { - display: block; +.c-btn.danger:not([disabled]):active, +a.c-btn.danger:not([disabled]):active, +button.c-btn.danger:not([disabled]):active { + background-color: #621b18; + border-color: #621b18; } -/* - * Add the correct display in all browsers. - */ +.c-btn.info, +a.c-btn.info, +button.c-btn.info { + background-color: #4dc0b5; + border-color: #4dc0b5; + color: #fff; +} -summary { - display: list-item; +.c-btn.info:not([disabled]):hover, +a.c-btn.info:not([disabled]):hover, +button.c-btn.info:not([disabled]):hover { + background-color: #38a89d; + border-color: #38a89d; } -/* Misc - ========================================================================== */ +.c-btn.info:not([disabled]):active, +a.c-btn.info:not([disabled]):active, +button.c-btn.info:not([disabled]):active { + background-color: #20504f; + border-color: #20504f; +} -/** - * Add the correct display in IE 10+. - */ +.c-btn[disabled], +a.c-btn[disabled], +button.c-btn[disabled] { + opacity: .5; + cursor: default; +} -template { - display: none; +.c-btn.outline, +a.c-btn.outline, +button.c-btn.outline { + background-color: transparent; } -/** - * Add the correct display in IE 10. - */ +.c-btn.outline.primary, +a.c-btn.outline.primary, +button.c-btn.outline.primary { + color: #3490dc; +} -[hidden] { - display: none; +.c-btn.outline.primary:not([disabled]):hover, +a.c-btn.outline.primary:not([disabled]):hover, +button.c-btn.outline.primary:not([disabled]):hover { + color: #fff; + background-color: #3490dc; } -/** - * Manually forked from SUIT CSS Base: https://github.com/suitcss/base - * A thin layer on top of normalize.css that provides a starting point more - * suitable for web applications. - */ +.c-btn.outline.primary:not([disabled]):active, +a.c-btn.outline.primary:not([disabled]):active, +button.c-btn.outline.primary:not([disabled]):active { + color: #fff; + background-color: #1c3d5a; +} -/** - * 1. Prevent padding and border from affecting element width - * https://goo.gl/pYtbK7 - * 2. Change the default font family in all browsers (opinionated) - */ +.c-btn.outline.warning, +a.c-btn.outline.warning, +button.c-btn.outline.warning { + color: #f6993f; +} -html { - -webkit-box-sizing: border-box; - box-sizing: border-box; /* 1 */ - font-family: sans-serif; /* 2 */ +.c-btn.outline.warning:not([disabled]):hover, +a.c-btn.outline.warning:not([disabled]):hover, +button.c-btn.outline.warning:not([disabled]):hover { + color: #fff; + background-color: #f6993f; } -*, -*::before, -*::after { - -webkit-box-sizing: inherit; - box-sizing: inherit; +.c-btn.outline.warning:not([disabled]):active, +a.c-btn.outline.warning:not([disabled]):active, +button.c-btn.outline.warning:not([disabled]):active { + color: #fff; + background-color: #613b1f; } -/** - * Removes the default spacing and border for appropriate elements. - */ +.c-btn.outline.success, +a.c-btn.outline.success, +button.c-btn.outline.success { + color: #38c172; +} -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -figure, -p, -pre { - margin: 0; +.c-btn.outline.success:not([disabled]):hover, +a.c-btn.outline.success:not([disabled]):hover, +button.c-btn.outline.success:not([disabled]):hover { + color: #fff; + background-color: #38c172; } -button { - background: transparent; - padding: 0; +.c-btn.outline.success:not([disabled]):active, +a.c-btn.outline.success:not([disabled]):active, +button.c-btn.outline.success:not([disabled]):active { + color: #fff; + background-color: #1a4731; } -/** - * Work around a Firefox/IE bug where the transparent `button` background - * results in a loss of the default `button` focus styles. - */ +.c-btn.outline.danger, +a.c-btn.outline.danger, +button.c-btn.outline.danger { + color: #e3342f; +} -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; +.c-btn.outline.danger:not([disabled]):hover, +a.c-btn.outline.danger:not([disabled]):hover, +button.c-btn.outline.danger:not([disabled]):hover { + color: #fff; + background-color: #e3342f; } -fieldset { - margin: 0; - padding: 0; +.c-btn.outline.danger:not([disabled]):active, +a.c-btn.outline.danger:not([disabled]):active, +button.c-btn.outline.danger:not([disabled]):active { + color: #fff; + background-color: #621b18; } -ol, -ul { - margin: 0; +.c-btn.outline.info, +a.c-btn.outline.info, +button.c-btn.outline.info { + color: #4dc0b5; } -/** - * Tailwind custom reset styles - */ +.c-btn.outline.info:not([disabled]):hover, +a.c-btn.outline.info:not([disabled]):hover, +button.c-btn.outline.info:not([disabled]):hover { + color: #fff; + background-color: #4dc0b5; +} -/** - * Allow adding a border to an element by just adding a border-width. - * - * By default, the way the browser specifies that an element should have no - * border is by setting it's border-style to `none` in the user-agent - * stylesheet. - * - * In order to easily add borders to elements by just setting the `border-width` - * property, we change the default border-style for all elements to `solid`, and - * use border-width to hide them instead. This way our `border` utilities only - * need to set the `border-width` property instead of the entire `border` - * shorthand, making our border utilities much more straightforward to compose. - * - * https://github.com/tailwindcss/tailwindcss/pull/116 - */ +.c-btn.outline.info:not([disabled]):active, +a.c-btn.outline.info:not([disabled]):active, +button.c-btn.outline.info:not([disabled]):active { + color: #fff; + background-color: #20504f; +} -*, -*::before, -*::after { - border-width: 0; - border-style: solid; - border-color: #dae1e7; +.c-btn.outline .c-icon, +a.c-btn.outline .c-icon, +button.c-btn.outline .c-icon { + fill: currentColor; +} + +.c-btn.loading, +a.c-btn.loading, +button.c-btn.loading { + position: relative; } -/** - * Undo the `border-style: none` reset that Normalize applies to images so that - * our `border-{width}` utilities have the expected effect. - * - * The Normalize reset is unnecessary for us since we default the border-width - * to 0 on all elements. - * - * https://github.com/tailwindcss/tailwindcss/issues/362 - */ +.c-btn.loading:not(.outline).danger .c-spinner>.animation, +.c-btn.loading:not(.outline).info .c-spinner>.animation, +.c-btn.loading:not(.outline).primary .c-spinner>.animation, +.c-btn.loading:not(.outline).success .c-spinner>.animation, +.c-btn.loading:not(.outline).warning .c-spinner>.animation, +a.c-btn.loading:not(.outline).danger .c-spinner>.animation, +a.c-btn.loading:not(.outline).info .c-spinner>.animation, +a.c-btn.loading:not(.outline).primary .c-spinner>.animation, +a.c-btn.loading:not(.outline).success .c-spinner>.animation, +a.c-btn.loading:not(.outline).warning .c-spinner>.animation, +button.c-btn.loading:not(.outline).danger .c-spinner>.animation, +button.c-btn.loading:not(.outline).info .c-spinner>.animation, +button.c-btn.loading:not(.outline).primary .c-spinner>.animation, +button.c-btn.loading:not(.outline).success .c-spinner>.animation, +button.c-btn.loading:not(.outline).warning .c-spinner>.animation { + border-color: #fff; +} -img { - border-style: solid; +.c-btn.loading.outline.primary .c-spinner>.animation, +a.c-btn.loading.outline.primary .c-spinner>.animation, +button.c-btn.loading.outline.primary .c-spinner>.animation { + border-color: #3490dc; } -textarea { - resize: vertical; +.c-btn.loading.outline.warning .c-spinner>.animation, +a.c-btn.loading.outline.warning .c-spinner>.animation, +button.c-btn.loading.outline.warning .c-spinner>.animation { + border-color: #f6993f; } -img { - max-width: 100%; - height: auto; +.c-btn.loading.outline.success .c-spinner>.animation, +a.c-btn.loading.outline.success .c-spinner>.animation, +button.c-btn.loading.outline.success .c-spinner>.animation { + border-color: #38c172; } -input::-webkit-input-placeholder, -textarea::-webkit-input-placeholder { - color: inherit; - opacity: .5; +.c-btn.loading.outline.danger .c-spinner>.animation, +a.c-btn.loading.outline.danger .c-spinner>.animation, +button.c-btn.loading.outline.danger .c-spinner>.animation { + border-color: #e3342f; } -input:-ms-input-placeholder, -textarea:-ms-input-placeholder { - color: inherit; - opacity: .5; +.c-btn.loading.outline.info .c-spinner>.animation, +a.c-btn.loading.outline.info .c-spinner>.animation, +button.c-btn.loading.outline.info .c-spinner>.animation { + border-color: #4dc0b5; } -input::-ms-input-placeholder, -textarea::-ms-input-placeholder { - color: inherit; - opacity: .5; +.c-btn.loading .c-spinner, +a.c-btn.loading .c-spinner, +button.c-btn.loading .c-spinner { + position: absolute; + top: 50%; + left: 50%; + margin-top: -12px; + margin-left: -12px; } -input::placeholder, -textarea::placeholder { - color: inherit; - opacity: .5; +.c-btn.loading .c-btn-content, +a.c-btn.loading .c-btn-content, +button.c-btn.loading .c-btn-content { + visibility: hidden; } -button, -[role="button"] { - cursor: pointer; +.c-btn .c-icon, +a.c-btn .c-icon, +button.c-btn .c-icon { + margin-right: .25rem; + vertical-align: middle; } -table { - border-collapse: collapse; +.c-btn .c-btn-content, +a.c-btn .c-btn-content, +button.c-btn .c-btn-content { + display: inline-block; } -/* Fields */ +.c-icon { + display: inline-block; + vertical-align: middle; + position: relative; + fill: currentColor; + top: -2px; + width: 18px; + height: 18px; +} -.field { - margin-bottom: 1rem; +.c-icon.size-sm { + width: .75rem; + height: .75rem; } -.field.mono input, -.field.mono textarea { - font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; +.c-icon.size-base { + width: 1rem; + height: 1rem; } -.invalid-feedback { - color: #e3342f; - font-size: .875rem; - margin-top: .5rem; - margin-bottom: 1rem; +.c-icon.size-lg { + width: 1.25rem; + height: 1.25rem; } -.instructions { - color: #8f98a3; +.c-icon.size-xl { + width: 1.5rem; + height: 1.5rem; } -label { - display: inline-block; - margin-bottom: .25rem; +.c-icon.size-2xl { + width: 1.75rem; + height: 1.75rem; } -.field .checkbox { - margin-right: .5rem; +.c-icon.size-3xl { + width: 2.25rem; + height: 2.25rem; } -select { - border-width: 1px; - border-color: #dae1e7; - background-color: #fff; - height: calc(2.25rem + 2px); +.c-icon.size-4xl { + width: 3rem; + height: 3rem; } -/* Inputs */ +.c-icon.size-5xl { + width: 4rem; + height: 4rem; +} -input[type="text"], -input[type="password"], -input[type="tel"], -input[type="url"], -input[type="number"], -textarea { - background-color: #fff; - border-width: 1px; - border-color: #b8c2cc; - padding: .5rem; - border-radius: .25rem; - display: block; +.c-spinner { + display: inline-block; } -input[type="text"]:disabled, -input[type="text"][readonly], -input[type="password"]:disabled, -input[type="password"][readonly], -input[type="tel"]:disabled, -input[type="tel"][readonly], -input[type="url"]:disabled, -input[type="url"][readonly], -input[type="number"]:disabled, -input[type="number"][readonly], -textarea:disabled, -textarea[readonly] { - background-color: #f8fafc; +.c-spinner>.animation { + -webkit-animation: rotator .7s linear infinite; + animation: rotator .7s linear infinite; + width: 22px; + height: 22px; + border-radius: 50%; + border: 2px solid transparent; + border-top-color: transparent !important; + border-left-color: transparent !important; + border-right-color: #555; + border-bottom-color: #555; } -input[type="text"].is-invalid, -input[type="password"].is-invalid, -input[type="tel"].is-invalid, -input[type="url"].is-invalid, -input[type="number"].is-invalid, -textarea.is-invalid { - border-color: #e3342f; +.c-spinner.lg>.animation { + width: 32px; + height: 32px; + border-width: 3px; } -input[type="number"] { - width: 60px; +@-webkit-keyframes rotator { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } } -/* -Keep it light, don't import Tailwind’s utilities. -@tailwind utilities; -*/ +@keyframes rotator { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} .field input[data-v-ac5bdb82] { margin-right: .5rem; @@ -1112,72 +1112,68 @@ ul input[data-v-2744c7e4] { margin-right: .5rem; } -.wrapper[data-v-339cab58] { +.wrapper[data-v-76633c9c] { position: relative; } -.wrapper .text-red-dark[data-v-339cab58] { +.wrapper .text-red-dark[data-v-76633c9c] { color: #cc1f1a; } -.wrapper .max[data-v-339cab58] { +.wrapper .max[data-v-76633c9c] { padding-right: .25rem; margin-top: .5rem; } -.wrapper .max.floating[data-v-339cab58] { +.wrapper .max.floating[data-v-76633c9c] { position: absolute; font-size: .75rem; text-align: right; } -.wrapper .max.text-grey[data-v-339cab58] { +.wrapper .max.text-grey[data-v-76633c9c] { color: #b8c2cc; } -.wrapper .max.text-orange[data-v-339cab58] { +.wrapper .max.text-orange[data-v-76633c9c] { color: #f6993f; } -.wrapper .max.text-red[data-v-339cab58] { +.wrapper .max.text-red[data-v-76633c9c] { color: #e3342f; } -.wrapper[data-v-76633c9c] { +.wrapper[data-v-bfaf2268] { position: relative; } -.wrapper .text-red-dark[data-v-76633c9c] { +.wrapper .text-red-dark[data-v-bfaf2268] { color: #cc1f1a; } -.wrapper .max[data-v-76633c9c] { +.wrapper .max[data-v-bfaf2268] { padding-right: .25rem; margin-top: .5rem; } -.wrapper .max.floating[data-v-76633c9c] { +.wrapper .max.floating[data-v-bfaf2268] { position: absolute; font-size: .75rem; text-align: right; } -.wrapper .max.text-grey[data-v-76633c9c] { +.wrapper .max.text-grey[data-v-bfaf2268] { color: #b8c2cc; } -.wrapper .max.text-orange[data-v-76633c9c] { +.wrapper .max.text-orange[data-v-bfaf2268] { color: #f6993f; } -.wrapper .max.text-red[data-v-76633c9c] { +.wrapper .max.text-red[data-v-bfaf2268] { color: #e3342f; } -input.w-full[data-v-6a117d3d] { - width: 100%; -} - .lightswitch[data-v-2b9d01d8] { position: relative; display: block; @@ -1248,6 +1244,10 @@ input.w-full[data-v-6a117d3d] { cursor: default; } +input.w-full[data-v-6a117d3d] { + width: 100%; +} + select.w-full[data-v-211a2741] { width: 100%; } @@ -1256,7 +1256,7 @@ textarea.w-full[data-v-3ef58e55] { width: 100%; } -input.w-full[data-v-56acaf34] { +input.w-full[data-v-65c7167a] { width: 100%; } diff --git a/dist/craftui.es.js b/dist/craftui.es.js index 1af822e..81c10c1 100644 --- a/dist/craftui.es.js +++ b/dist/craftui.es.js @@ -826,40 +826,270 @@ var __vue_staticRenderFns__$d = []; undefined ); +function maskit(value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var tokens = arguments.length > 3 ? arguments[3] : undefined; + value = value || ''; + mask = mask || ''; + var iMask = 0; + var iValue = 0; + var output = ''; + + while (iMask < mask.length && iValue < value.length) { + var cMask = mask[iMask]; + var masker = tokens[cMask]; + var cValue = value[iValue]; + + if (masker && !masker.escape) { + if (masker.pattern.test(cValue)) { + output += masker.transform ? masker.transform(cValue) : cValue; + iMask++; + } + + iValue++; + } else { + if (masker && masker.escape) { + iMask++; // take the next mask char and treat it as char + + cMask = mask[iMask]; + } + + if (masked) output += cMask; + if (cValue === cMask) iValue++; // user typed the same char + + iMask++; + } + } // fix mask that ends with a char: (#) + + + var restOutput = ''; + + while (iMask < mask.length && masked) { + var cMask = mask[iMask]; + + if (tokens[cMask]) { + restOutput = ''; + break; + } + + restOutput += cMask; + iMask++; + } + + return output + restOutput; +} + +function dynamicMask(maskit, masks, tokens) { + masks = masks.sort(function (a, b) { + return a.length - b.length; + }); + return function (value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var i = 0; + + while (i < masks.length) { + var currentMask = masks[i]; + i++; + var nextMask = masks[i]; + + if (!(nextMask && maskit(value, nextMask, true, tokens).length > currentMask.length)) { + return maskit(value, currentMask, masked, tokens); + } + } + + return ''; // empty masks + }; +} + +function masker (value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var tokens = arguments.length > 3 ? arguments[3] : undefined; + return Array.isArray(mask) ? dynamicMask(maskit, mask, tokens)(value, mask, masked, tokens) : maskit(value, mask, masked, tokens); +} + +var tokens = { + '#': { + pattern: /\d/ + }, + 'X': { + pattern: /[0-9a-zA-Z]/ + }, + 'S': { + pattern: /[a-zA-Z]/ + }, + 'A': { + pattern: /[a-zA-Z]/, + transform: function transform(v) { + return v.toLocaleUpperCase(); + } + }, + 'a': { + pattern: /[a-zA-Z]/, + transform: function transform(v) { + return v.toLocaleLowerCase(); + } + }, + '!': { + escape: true + } // https://github.com/fernandofleury/vanilla-masker/blob/master/lib/vanilla-masker.js + // DIGIT = "9", + // ALPHA = "A", + // ALPHANUM = "S" + // https://github.com/niksmr/vue-masked-input + // 1 - number + // a - letter + // A - letter, forced to upper case when entered + // * - alphanumeric + // # - alphanumeric, forced to upper case when entered + // + - any character + // https://github.com/probil/v-mask + // # Number (0-9) + // A Letter in any case (a-z,A-Z) + // N Number or letter + // X Any symbol + // https://github.com/igorescobar/jQuery-Mask-Plugin/blob/master/src/jquery.mask.js#L518 + // '0': {pattern: /\d/}, + // '9': {pattern: /\d/, optional: true}, + // '#': {pattern: /\d/, recursive: true}, + // 'A': {pattern: /[a-zA-Z0-9]/}, + // 'S': {pattern: /[a-zA-Z]/} + // https://github.com/the-darc/string-mask + // 0 Any numbers + // 9 Any numbers (Optional) + // # Any numbers (recursive) + // A Any alphanumeric character + // a Any alphanumeric character (Optional) Not implemented yet + // S Any letter + // U Any letter (All lower case character will be mapped to uppercase) + // L Any letter (All upper case character will be mapped to lowercase) + // $ Escape character, used to escape any of the special formatting characters. + +}; + +function event(name) { + var evt = document.createEvent('Event'); + evt.initEvent(name, true, true); + return evt; +} + +function mask (el, binding) { + var config = binding.value; + + if (Array.isArray(config) || typeof config === 'string') { + config = { + mask: config, + tokens: tokens + }; + } + + if (el.tagName.toLocaleUpperCase() !== 'INPUT') { + var els = el.getElementsByTagName('input'); + + if (els.length !== 1) { + throw new Error("v-mask directive requires 1 input, found " + els.length); + } else { + el = els[0]; + } + } + + el.oninput = function (evt) { + if (!evt.isTrusted) return; // avoid infinite loop + + /* other properties to try to diferentiate InputEvent of Event (custom) + InputEvent (native) + cancelable: false + isTrusted: true + composed: true + isComposing: false + which: 0 + Event (custom) + cancelable: true + isTrusted: false + */ + // by default, keep cursor at same position as before the mask + + var position = el.selectionEnd; // save the character just inserted + + var digit = el.value[position - 1]; + el.value = masker(el.value, config.mask, true, config.tokens); // if the digit was changed, increment position until find the digit again + + while (position < el.value.length && el.value.charAt(position - 1) !== digit) { + position++; + } + + if (el === document.activeElement) { + el.setSelectionRange(position, position); + setTimeout(function () { + el.setSelectionRange(position, position); + }, 0); + } + + el.dispatchEvent(event('input')); + }; + + var newDisplay = masker(el.value, config.mask, true, config.tokens); + + if (newDisplay !== el.value) { + el.value = newDisplay; + el.dispatchEvent(event('input')); + } +} + // -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// import Inputmask from 'inputmask' var script$d = { - props: ['id', 'name', 'placeholder', 'value', 'autofocus', 'disabled', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size'], + directives: { + mask: mask + }, + props: { + id: { + type: String, + default: null + }, + name: { + type: String, + default: null + }, + placeholder: { + type: String, + default: null + }, + value: { + type: String, + default: null + }, + autofocus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + mask: { + type: String | Object, + default: '' + }, + autocapitalize: { + type: Boolean, + default: false + }, + spellcheck: { + type: Boolean, + default: false + }, + readonly: { + type: Boolean, + default: false + }, + size: { + type: String, + default: null + } + }, created: function created() { this.$on('focus', function () { this.$refs.input.focus(); }); - }, - directives: { - mask: { - bind: function bind(el, binding) { - if (binding.value) ; - } - } } }; @@ -872,7 +1102,7 @@ var __vue_staticRenderFns__$e = []; /* style */ const __vue_inject_styles__$e = undefined; /* scoped */ - const __vue_scope_id__$e = "data-v-56acaf34"; + const __vue_scope_id__$e = "data-v-65c7167a"; /* module identifier */ const __vue_module_identifier__$e = undefined; /* functional template */ @@ -896,7 +1126,68 @@ var __vue_staticRenderFns__$e = []; // var script$e = { - props: ['label', 'id', 'name', 'placeholder', 'value', 'autofocus', 'errors', 'disabled', 'instructions', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size', 'max'], + props: { + label: { + type: String, + default: null + }, + errors: { + type: Array, + default: null + }, + instructions: { + type: String, + default: null + }, + max: { + type: Number, + default: null + }, + id: { + type: String, + default: null + }, + name: { + type: String, + default: null + }, + placeholder: { + type: String, + default: null + }, + value: { + type: String, + default: null + }, + autofocus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + mask: { + type: String | Object, + default: '' + }, + autocapitalize: { + type: Boolean, + default: false + }, + spellcheck: { + type: Boolean, + default: false + }, + readonly: { + type: Boolean, + default: false + }, + size: { + type: String, + default: null + } + }, components: { Field: Field, TextInput: TextInput @@ -931,7 +1222,7 @@ var __vue_staticRenderFns__$f = []; /* style */ const __vue_inject_styles__$f = undefined; /* scoped */ - const __vue_scope_id__$f = "data-v-339cab58"; + const __vue_scope_id__$f = "data-v-bfaf2268"; /* module identifier */ const __vue_module_identifier__$f = undefined; /* functional template */ diff --git a/dist/craftui.js b/dist/craftui.js index 99b1f1d..aa56653 100644 --- a/dist/craftui.js +++ b/dist/craftui.js @@ -832,40 +832,270 @@ undefined ); + function maskit(value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var tokens = arguments.length > 3 ? arguments[3] : undefined; + value = value || ''; + mask = mask || ''; + var iMask = 0; + var iValue = 0; + var output = ''; + + while (iMask < mask.length && iValue < value.length) { + var cMask = mask[iMask]; + var masker = tokens[cMask]; + var cValue = value[iValue]; + + if (masker && !masker.escape) { + if (masker.pattern.test(cValue)) { + output += masker.transform ? masker.transform(cValue) : cValue; + iMask++; + } + + iValue++; + } else { + if (masker && masker.escape) { + iMask++; // take the next mask char and treat it as char + + cMask = mask[iMask]; + } + + if (masked) output += cMask; + if (cValue === cMask) iValue++; // user typed the same char + + iMask++; + } + } // fix mask that ends with a char: (#) + + + var restOutput = ''; + + while (iMask < mask.length && masked) { + var cMask = mask[iMask]; + + if (tokens[cMask]) { + restOutput = ''; + break; + } + + restOutput += cMask; + iMask++; + } + + return output + restOutput; + } + + function dynamicMask(maskit, masks, tokens) { + masks = masks.sort(function (a, b) { + return a.length - b.length; + }); + return function (value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var i = 0; + + while (i < masks.length) { + var currentMask = masks[i]; + i++; + var nextMask = masks[i]; + + if (!(nextMask && maskit(value, nextMask, true, tokens).length > currentMask.length)) { + return maskit(value, currentMask, masked, tokens); + } + } + + return ''; // empty masks + }; + } + + function masker (value, mask) { + var masked = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var tokens = arguments.length > 3 ? arguments[3] : undefined; + return Array.isArray(mask) ? dynamicMask(maskit, mask, tokens)(value, mask, masked, tokens) : maskit(value, mask, masked, tokens); + } + + var tokens = { + '#': { + pattern: /\d/ + }, + 'X': { + pattern: /[0-9a-zA-Z]/ + }, + 'S': { + pattern: /[a-zA-Z]/ + }, + 'A': { + pattern: /[a-zA-Z]/, + transform: function transform(v) { + return v.toLocaleUpperCase(); + } + }, + 'a': { + pattern: /[a-zA-Z]/, + transform: function transform(v) { + return v.toLocaleLowerCase(); + } + }, + '!': { + escape: true + } // https://github.com/fernandofleury/vanilla-masker/blob/master/lib/vanilla-masker.js + // DIGIT = "9", + // ALPHA = "A", + // ALPHANUM = "S" + // https://github.com/niksmr/vue-masked-input + // 1 - number + // a - letter + // A - letter, forced to upper case when entered + // * - alphanumeric + // # - alphanumeric, forced to upper case when entered + // + - any character + // https://github.com/probil/v-mask + // # Number (0-9) + // A Letter in any case (a-z,A-Z) + // N Number or letter + // X Any symbol + // https://github.com/igorescobar/jQuery-Mask-Plugin/blob/master/src/jquery.mask.js#L518 + // '0': {pattern: /\d/}, + // '9': {pattern: /\d/, optional: true}, + // '#': {pattern: /\d/, recursive: true}, + // 'A': {pattern: /[a-zA-Z0-9]/}, + // 'S': {pattern: /[a-zA-Z]/} + // https://github.com/the-darc/string-mask + // 0 Any numbers + // 9 Any numbers (Optional) + // # Any numbers (recursive) + // A Any alphanumeric character + // a Any alphanumeric character (Optional) Not implemented yet + // S Any letter + // U Any letter (All lower case character will be mapped to uppercase) + // L Any letter (All upper case character will be mapped to lowercase) + // $ Escape character, used to escape any of the special formatting characters. + + }; + + function event(name) { + var evt = document.createEvent('Event'); + evt.initEvent(name, true, true); + return evt; + } + + function mask (el, binding) { + var config = binding.value; + + if (Array.isArray(config) || typeof config === 'string') { + config = { + mask: config, + tokens: tokens + }; + } + + if (el.tagName.toLocaleUpperCase() !== 'INPUT') { + var els = el.getElementsByTagName('input'); + + if (els.length !== 1) { + throw new Error("v-mask directive requires 1 input, found " + els.length); + } else { + el = els[0]; + } + } + + el.oninput = function (evt) { + if (!evt.isTrusted) return; // avoid infinite loop + + /* other properties to try to diferentiate InputEvent of Event (custom) + InputEvent (native) + cancelable: false + isTrusted: true + composed: true + isComposing: false + which: 0 + Event (custom) + cancelable: true + isTrusted: false + */ + // by default, keep cursor at same position as before the mask + + var position = el.selectionEnd; // save the character just inserted + + var digit = el.value[position - 1]; + el.value = masker(el.value, config.mask, true, config.tokens); // if the digit was changed, increment position until find the digit again + + while (position < el.value.length && el.value.charAt(position - 1) !== digit) { + position++; + } + + if (el === document.activeElement) { + el.setSelectionRange(position, position); + setTimeout(function () { + el.setSelectionRange(position, position); + }, 0); + } + + el.dispatchEvent(event('input')); + }; + + var newDisplay = masker(el.value, config.mask, true, config.tokens); + + if (newDisplay !== el.value) { + el.value = newDisplay; + el.dispatchEvent(event('input')); + } + } + // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // import Inputmask from 'inputmask' var script$d = { - props: ['id', 'name', 'placeholder', 'value', 'autofocus', 'disabled', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size'], + directives: { + mask: mask + }, + props: { + id: { + type: String, + default: null + }, + name: { + type: String, + default: null + }, + placeholder: { + type: String, + default: null + }, + value: { + type: String, + default: null + }, + autofocus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + mask: { + type: String | Object, + default: '' + }, + autocapitalize: { + type: Boolean, + default: false + }, + spellcheck: { + type: Boolean, + default: false + }, + readonly: { + type: Boolean, + default: false + }, + size: { + type: String, + default: null + } + }, created: function created() { this.$on('focus', function () { this.$refs.input.focus(); }); - }, - directives: { - mask: { - bind: function bind(el, binding) { - if (binding.value) ; - } - } } }; @@ -878,7 +1108,7 @@ /* style */ const __vue_inject_styles__$e = undefined; /* scoped */ - const __vue_scope_id__$e = "data-v-56acaf34"; + const __vue_scope_id__$e = "data-v-65c7167a"; /* module identifier */ const __vue_module_identifier__$e = undefined; /* functional template */ @@ -902,7 +1132,68 @@ // var script$e = { - props: ['label', 'id', 'name', 'placeholder', 'value', 'autofocus', 'errors', 'disabled', 'instructions', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size', 'max'], + props: { + label: { + type: String, + default: null + }, + errors: { + type: Array, + default: null + }, + instructions: { + type: String, + default: null + }, + max: { + type: Number, + default: null + }, + id: { + type: String, + default: null + }, + name: { + type: String, + default: null + }, + placeholder: { + type: String, + default: null + }, + value: { + type: String, + default: null + }, + autofocus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + mask: { + type: String | Object, + default: '' + }, + autocapitalize: { + type: Boolean, + default: false + }, + spellcheck: { + type: Boolean, + default: false + }, + readonly: { + type: Boolean, + default: false + }, + size: { + type: String, + default: null + } + }, components: { Field: Field, TextInput: TextInput @@ -937,7 +1228,7 @@ /* style */ const __vue_inject_styles__$f = undefined; /* scoped */ - const __vue_scope_id__$f = "data-v-339cab58"; + const __vue_scope_id__$f = "data-v-bfaf2268"; /* module identifier */ const __vue_module_identifier__$f = undefined; /* functional template */ diff --git a/dist/craftui.min.css b/dist/craftui.min.css index ff1db80..05310f5 100644 --- a/dist/craftui.min.css +++ b/dist/craftui.min.css @@ -5,11 +5,11 @@ .field input[data-v-ac5bdb82]{margin-right:.5rem}.field .instructions[data-v-ac5bdb82]{color:#8795a1;font-size:.875rem} ul[data-v-2744c7e4]{list-style:none;padding:0;padding-left:1rem;padding-top:.5rem}ul input[data-v-2744c7e4]{margin-right:.5rem} .wrapper[data-v-76633c9c]{position:relative}.wrapper .text-red-dark[data-v-76633c9c]{color:#cc1f1a}.wrapper .max[data-v-76633c9c]{padding-right:.25rem;margin-top:.5rem}.wrapper .max.floating[data-v-76633c9c]{position:absolute;font-size:.75rem;text-align:right}.wrapper .max.text-grey[data-v-76633c9c]{color:#b8c2cc}.wrapper .max.text-orange[data-v-76633c9c]{color:#f6993f}.wrapper .max.text-red[data-v-76633c9c]{color:#e3342f} -.wrapper[data-v-339cab58]{position:relative}.wrapper .text-red-dark[data-v-339cab58]{color:#cc1f1a}.wrapper .max[data-v-339cab58]{padding-right:.25rem;margin-top:.5rem}.wrapper .max.floating[data-v-339cab58]{position:absolute;font-size:.75rem;text-align:right}.wrapper .max.text-grey[data-v-339cab58]{color:#b8c2cc}.wrapper .max.text-orange[data-v-339cab58]{color:#f6993f}.wrapper .max.text-red[data-v-339cab58]{color:#e3342f} +.wrapper[data-v-bfaf2268]{position:relative}.wrapper .text-red-dark[data-v-bfaf2268]{color:#cc1f1a}.wrapper .max[data-v-bfaf2268]{padding-right:.25rem;margin-top:.5rem}.wrapper .max.floating[data-v-bfaf2268]{position:absolute;font-size:.75rem;text-align:right}.wrapper .max.text-grey[data-v-bfaf2268]{color:#b8c2cc}.wrapper .max.text-orange[data-v-bfaf2268]{color:#f6993f}.wrapper .max.text-red[data-v-bfaf2268]{color:#e3342f} .lightswitch[data-v-2b9d01d8]{position:relative;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:46px;height:30px}.lightswitch input[data-v-2b9d01d8]{position:absolute;opacity:0}.lightswitch .slider[data-v-2b9d01d8]{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.lightswitch .slider[data-v-2b9d01d8]:before{position:absolute;background-color:#fff;content:"";height:26px;width:26px;left:2px;bottom:2px;-webkit-transition:.1s;transition:.1s}.lightswitch input:checked+.slider[data-v-2b9d01d8]{background-color:#38c172}.lightswitch input:focus+.slider[data-v-2b9d01d8]{-webkit-box-shadow:0 0 1px #38c172;box-shadow:0 0 1px #38c172}.lightswitch input:checked+.slider[data-v-2b9d01d8]:before{-webkit-transform:translateX(16px);transform:translateX(16px)}.lightswitch .slider.round[data-v-2b9d01d8]{border-radius:34px}.lightswitch .slider.round[data-v-2b9d01d8]:before{border-radius:50%}.lightswitch.disabled[data-v-2b9d01d8]{opacity:.4}.lightswitch.disabled .slider[data-v-2b9d01d8]{cursor:default} input.w-full[data-v-6a117d3d]{width:100%} select.w-full[data-v-211a2741]{width:100%} textarea.w-full[data-v-3ef58e55]{width:100%} -input.w-full[data-v-56acaf34]{width:100%} +input.w-full[data-v-65c7167a]{width:100%} input.w-full[data-v-e2a7d0c8]{width:100%} /*# sourceMappingURL=craftui.min.css.map */ \ No newline at end of file diff --git a/dist/craftui.min.css.map b/dist/craftui.min.css.map index 85d047a..11cf525 100644 --- a/dist/craftui.min.css.map +++ b/dist/craftui.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["dist/styles.scss","dist/","dist/Btn.vue?rollup-plugin-vue=styles.0.css","dist/Icon.vue?rollup-plugin-vue=styles.0.css","dist/Spinner.vue?rollup-plugin-vue=styles.0.css","dist/CheckboxField.vue?rollup-plugin-vue=styles.0.css","dist/CheckboxSet.vue?rollup-plugin-vue=styles.0.css","dist/TextareaField.vue?rollup-plugin-vue=styles.0.css","dist/TextField.vue?rollup-plugin-vue=styles.0.css","dist/LightswitchInput.vue?rollup-plugin-vue=styles.0.css","dist/PasswordInput.vue?rollup-plugin-vue=styles.0.css","dist/SelectInput.vue?rollup-plugin-vue=styles.0.css","dist/TextareaInput.vue?rollup-plugin-vue=styles.0.css","dist/TextInput.vue?rollup-plugin-vue=styles.0.css","dist/UrlInput.vue?rollup-plugin-vue=styles.0.css"],"names":[],"mappings":"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","file":"dist/craftui.min.css","sourcesContent":["@charset \"UTF-8\";\n@tailwind preflight;\n/* Fields */\n.field {\n margin-bottom: 1rem; }\n\n.field.mono input,\n.field.mono textarea {\n @apply .font-mono; }\n\n.invalid-feedback {\n @apply .text-red .text-sm .mt-2 .mb-4; }\n\n.instructions {\n color: #8f98a3; }\n\nlabel {\n @apply .inline-block .mb-1; }\n\n.field .checkbox {\n @apply .mr-2; }\n\nselect {\n @apply .border .border-grey-light .bg-white;\n height: calc(2.25rem + 2px); }\n\n/* Inputs */\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"tel\"],\ninput[type=\"url\"],\ninput[type=\"number\"],\ntextarea {\n @apply .bg-white .border .border-grey .p-2 .rounded .block; }\n input[type=\"text\"]:disabled, input[type=\"text\"][readonly],\n input[type=\"password\"]:disabled,\n input[type=\"password\"][readonly],\n input[type=\"tel\"]:disabled,\n input[type=\"tel\"][readonly],\n input[type=\"url\"]:disabled,\n input[type=\"url\"][readonly],\n input[type=\"number\"]:disabled,\n input[type=\"number\"][readonly],\n textarea:disabled,\n textarea[readonly] {\n @apply .bg-grey-lightest; }\n input[type=\"text\"].is-invalid,\n input[type=\"password\"].is-invalid,\n input[type=\"tel\"].is-invalid,\n input[type=\"url\"].is-invalid,\n input[type=\"number\"].is-invalid,\n textarea.is-invalid {\n @apply .border-red; }\n\ninput[type=\"number\"] {\n width: 60px; }\n\n/*\nKeep it light, don't import Tailwind’s utilities.\n@tailwind utilities;\n*/\n",null,".c-btn,a.c-btn,button.c-btn{@apply .px-4 .py-2 .rounded .bg-grey-lighter .text-black .no-underline .border .border-solid .border-grey-lighter;}.c-btn:not(.outline),a.c-btn:not(.outline),button.c-btn:not(.outline){-webkit-box-shadow:0 2px 6px 0 rgba(0,0,0,.2);box-shadow:0 2px 6px 0 rgba(0,0,0,.2)}.c-btn:not([disabled]):hover,a.c-btn:not([disabled]):hover,button.c-btn:not([disabled]):hover{@apply .cursor-pointer .bg-grey .border-grey .no-underline;}.c-btn:not([disabled]):active,a.c-btn:not([disabled]):active,button.c-btn:not([disabled]):active{@apply .cursor-pointer .bg-grey-dark .border-grey-dark;}.c-btn.block,a.c-btn.block,button.c-btn.block{@apply .w-full .my-1;}.c-btn.small,a.c-btn.small,button.c-btn.small{@apply .text-sm;}.c-btn.small .c-icon,a.c-btn.small .c-icon,button.c-btn.small .c-icon{width:12px;height:12px}.c-btn.large,a.c-btn.large,button.c-btn.large{@apply .text-lg .py-3;}.c-btn.danger:not(.outline) .c-icon,.c-btn.info:not(.outline) .c-icon,.c-btn.primary:not(.outline) .c-icon,.c-btn.success:not(.outline) .c-icon,.c-btn.warning:not(.outline) .c-icon,a.c-btn.danger:not(.outline) .c-icon,a.c-btn.info:not(.outline) .c-icon,a.c-btn.primary:not(.outline) .c-icon,a.c-btn.success:not(.outline) .c-icon,a.c-btn.warning:not(.outline) .c-icon,button.c-btn.danger:not(.outline) .c-icon,button.c-btn.info:not(.outline) .c-icon,button.c-btn.primary:not(.outline) .c-icon,button.c-btn.success:not(.outline) .c-icon,button.c-btn.warning:not(.outline) .c-icon{fill:#fff}.c-btn.primary,a.c-btn.primary,button.c-btn.primary{@apply .bg-blue .border-blue .text-white;}.c-btn.primary:not([disabled]):hover,a.c-btn.primary:not([disabled]):hover,button.c-btn.primary:not([disabled]):hover{@apply .bg-blue-dark .border-blue-dark;}.c-btn.primary:not([disabled]):active,a.c-btn.primary:not([disabled]):active,button.c-btn.primary:not([disabled]):active{@apply .bg-blue-darker .border-blue-darker;}.c-btn.warning,a.c-btn.warning,button.c-btn.warning{@apply .bg-orange .border-orange .text-white;}.c-btn.warning:not([disabled]):hover,a.c-btn.warning:not([disabled]):hover,button.c-btn.warning:not([disabled]):hover{@apply .bg-orange-dark .border-orange-dark;}.c-btn.warning:not([disabled]):active,a.c-btn.warning:not([disabled]):active,button.c-btn.warning:not([disabled]):active{@apply .bg-orange-darker .border-orange-darker;}.c-btn.success,a.c-btn.success,button.c-btn.success{@apply .bg-green .border-green .text-white;}.c-btn.success:not([disabled]):hover,a.c-btn.success:not([disabled]):hover,button.c-btn.success:not([disabled]):hover{@apply .bg-green-dark .border-green-dark;}.c-btn.success:not([disabled]):active,a.c-btn.success:not([disabled]):active,button.c-btn.success:not([disabled]):active{@apply .bg-green-darker .border-green-darker;}.c-btn.danger,a.c-btn.danger,button.c-btn.danger{@apply .bg-red .border-red .text-white;}.c-btn.danger:not([disabled]):hover,a.c-btn.danger:not([disabled]):hover,button.c-btn.danger:not([disabled]):hover{@apply .bg-red-dark .border-red-dark;}.c-btn.danger:not([disabled]):active,a.c-btn.danger:not([disabled]):active,button.c-btn.danger:not([disabled]):active{@apply .bg-red-darker .border-red-darker;}.c-btn.info,a.c-btn.info,button.c-btn.info{@apply .bg-teal .border-teal .text-white;}.c-btn.info:not([disabled]):hover,a.c-btn.info:not([disabled]):hover,button.c-btn.info:not([disabled]):hover{@apply .bg-teal-dark .border-teal-dark;}.c-btn.info:not([disabled]):active,a.c-btn.info:not([disabled]):active,button.c-btn.info:not([disabled]):active{@apply .bg-teal-darker .border-teal-darker;}.c-btn[disabled],a.c-btn[disabled],button.c-btn[disabled]{@apply .opacity-50 .cursor-default;}.c-btn.outline,a.c-btn.outline,button.c-btn.outline{@apply .bg-transparent;}.c-btn.outline.primary,a.c-btn.outline.primary,button.c-btn.outline.primary{@apply .text-blue;}.c-btn.outline.primary:not([disabled]):hover,a.c-btn.outline.primary:not([disabled]):hover,button.c-btn.outline.primary:not([disabled]):hover{@apply .text-white .bg-blue;}.c-btn.outline.primary:not([disabled]):active,a.c-btn.outline.primary:not([disabled]):active,button.c-btn.outline.primary:not([disabled]):active{@apply .text-white .bg-blue-darker;}.c-btn.outline.warning,a.c-btn.outline.warning,button.c-btn.outline.warning{@apply .text-orange;}.c-btn.outline.warning:not([disabled]):hover,a.c-btn.outline.warning:not([disabled]):hover,button.c-btn.outline.warning:not([disabled]):hover{@apply .text-white .bg-orange;}.c-btn.outline.warning:not([disabled]):active,a.c-btn.outline.warning:not([disabled]):active,button.c-btn.outline.warning:not([disabled]):active{@apply .text-white .bg-orange-darker;}.c-btn.outline.success,a.c-btn.outline.success,button.c-btn.outline.success{@apply .text-green;}.c-btn.outline.success:not([disabled]):hover,a.c-btn.outline.success:not([disabled]):hover,button.c-btn.outline.success:not([disabled]):hover{@apply .text-white .bg-green;}.c-btn.outline.success:not([disabled]):active,a.c-btn.outline.success:not([disabled]):active,button.c-btn.outline.success:not([disabled]):active{@apply .text-white .bg-green-darker;}.c-btn.outline.danger,a.c-btn.outline.danger,button.c-btn.outline.danger{@apply .text-red;}.c-btn.outline.danger:not([disabled]):hover,a.c-btn.outline.danger:not([disabled]):hover,button.c-btn.outline.danger:not([disabled]):hover{@apply .text-white .bg-red;}.c-btn.outline.danger:not([disabled]):active,a.c-btn.outline.danger:not([disabled]):active,button.c-btn.outline.danger:not([disabled]):active{@apply .text-white .bg-red-darker;}.c-btn.outline.info,a.c-btn.outline.info,button.c-btn.outline.info{@apply .text-teal;}.c-btn.outline.info:not([disabled]):hover,a.c-btn.outline.info:not([disabled]):hover,button.c-btn.outline.info:not([disabled]):hover{@apply .text-white .bg-teal;}.c-btn.outline.info:not([disabled]):active,a.c-btn.outline.info:not([disabled]):active,button.c-btn.outline.info:not([disabled]):active{@apply .text-white .bg-teal-darker;}.c-btn.outline .c-icon,a.c-btn.outline .c-icon,button.c-btn.outline .c-icon{@apply .fill-current;}.c-btn.loading,a.c-btn.loading,button.c-btn.loading{@apply .relative;}.c-btn.loading:not(.outline).danger .c-spinner>.animation,.c-btn.loading:not(.outline).info .c-spinner>.animation,.c-btn.loading:not(.outline).primary .c-spinner>.animation,.c-btn.loading:not(.outline).success .c-spinner>.animation,.c-btn.loading:not(.outline).warning .c-spinner>.animation,a.c-btn.loading:not(.outline).danger .c-spinner>.animation,a.c-btn.loading:not(.outline).info .c-spinner>.animation,a.c-btn.loading:not(.outline).primary .c-spinner>.animation,a.c-btn.loading:not(.outline).success .c-spinner>.animation,a.c-btn.loading:not(.outline).warning .c-spinner>.animation,button.c-btn.loading:not(.outline).danger .c-spinner>.animation,button.c-btn.loading:not(.outline).info .c-spinner>.animation,button.c-btn.loading:not(.outline).primary .c-spinner>.animation,button.c-btn.loading:not(.outline).success .c-spinner>.animation,button.c-btn.loading:not(.outline).warning .c-spinner>.animation{@apply .border-white;}.c-btn.loading.outline.primary .c-spinner>.animation,a.c-btn.loading.outline.primary .c-spinner>.animation,button.c-btn.loading.outline.primary .c-spinner>.animation{@apply .border-blue;}.c-btn.loading.outline.warning .c-spinner>.animation,a.c-btn.loading.outline.warning .c-spinner>.animation,button.c-btn.loading.outline.warning .c-spinner>.animation{@apply .border-orange;}.c-btn.loading.outline.success .c-spinner>.animation,a.c-btn.loading.outline.success .c-spinner>.animation,button.c-btn.loading.outline.success .c-spinner>.animation{@apply .border-green;}.c-btn.loading.outline.danger .c-spinner>.animation,a.c-btn.loading.outline.danger .c-spinner>.animation,button.c-btn.loading.outline.danger .c-spinner>.animation{@apply .border-red;}.c-btn.loading.outline.info .c-spinner>.animation,a.c-btn.loading.outline.info .c-spinner>.animation,button.c-btn.loading.outline.info .c-spinner>.animation{@apply .border-teal;}.c-btn.loading .c-spinner,a.c-btn.loading .c-spinner,button.c-btn.loading .c-spinner{@apply .absolute;top:50%;left:50%;margin-top:-12px;margin-left:-12px}.c-btn.loading .c-btn-content,a.c-btn.loading .c-btn-content,button.c-btn.loading .c-btn-content{@apply .invisible;}.c-btn .c-icon,a.c-btn .c-icon,button.c-btn .c-icon{@apply .mr-1 .align-middle;}.c-btn .c-btn-content,a.c-btn .c-btn-content,button.c-btn .c-btn-content{@apply .inline-block;}",".c-icon{@apply .inline-block .align-middle .relative .fill-current;top:-2px;width:18px;height:18px}.c-icon.size-sm{width:.75rem;height:.75rem}.c-icon.size-base{width:1rem;height:1rem}.c-icon.size-lg{width:1.25rem;height:1.25rem}.c-icon.size-xl{width:1.5rem;height:1.5rem}.c-icon.size-2xl{width:1.75rem;height:1.75rem}.c-icon.size-3xl{width:2.25rem;height:2.25rem}.c-icon.size-4xl{width:3rem;height:3rem}.c-icon.size-5xl{width:4rem;height:4rem}",".c-spinner{@apply .inline-block;}.c-spinner>.animation{animation:rotator .7s linear infinite;width:22px;height:22px;border-radius:50%;border:2px solid transparent;border-top-color:transparent!important;border-left-color:transparent!important;border-right-color:#555;border-bottom-color:#555}.c-spinner.lg>.animation{width:32px;height:32px;border-width:3px}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(1turn)}}",".field input[data-v-ac5bdb82]{@apply .mr-2;}.field .instructions[data-v-ac5bdb82]{@apply .text-grey-dark .text-sm;}","ul[data-v-2744c7e4]{@apply .list-reset .pl-4 .pt-2;}ul input[data-v-2744c7e4]{@apply .mr-2;}",".wrapper[data-v-76633c9c]{@apply .relative;}.wrapper .text-red-dark[data-v-76633c9c]{@apply .text-red-dark;}.wrapper .max[data-v-76633c9c]{@apply .pr-1 .mt-2;}.wrapper .max.floating[data-v-76633c9c]{@apply .absolute .text-xs .text-right;}.wrapper .max.text-grey[data-v-76633c9c]{@apply .text-grey;}.wrapper .max.text-orange[data-v-76633c9c]{@apply .text-orange;}.wrapper .max.text-red[data-v-76633c9c]{@apply .text-red;}",".wrapper[data-v-339cab58]{@apply .relative;}.wrapper .text-red-dark[data-v-339cab58]{@apply .text-red-dark;}.wrapper .max[data-v-339cab58]{@apply .pr-1 .mt-2;}.wrapper .max.floating[data-v-339cab58]{@apply .absolute .text-xs .text-right;}.wrapper .max.text-grey[data-v-339cab58]{@apply .text-grey;}.wrapper .max.text-orange[data-v-339cab58]{@apply .text-orange;}.wrapper .max.text-red[data-v-339cab58]{@apply .text-red;}",".lightswitch[data-v-2b9d01d8]{@apply .relative .block .select-none;width:46px;height:30px}.lightswitch input[data-v-2b9d01d8]{@apply .absolute .opacity-0;}.lightswitch .slider[data-v-2b9d01d8]{@apply .absolute .pin .cursor-pointer;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.lightswitch .slider[data-v-2b9d01d8]:before{@apply .absolute .bg-white;content:\"\";height:26px;width:26px;left:2px;bottom:2px;-webkit-transition:.1s;transition:.1s}.lightswitch input:checked+.slider[data-v-2b9d01d8]{background-color:#38c172}.lightswitch input:focus+.slider[data-v-2b9d01d8]{box-shadow:0 0 1px #38c172}.lightswitch input:checked+.slider[data-v-2b9d01d8]:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.lightswitch .slider.round[data-v-2b9d01d8]{border-radius:34px}.lightswitch .slider.round[data-v-2b9d01d8]:before{border-radius:50%}.lightswitch.disabled[data-v-2b9d01d8]{opacity:.4}.lightswitch.disabled .slider[data-v-2b9d01d8]{@apply .cursor-default;}","input.w-full[data-v-6a117d3d]{@apply .w-full;}","select.w-full[data-v-211a2741]{@apply .w-full;}","textarea.w-full[data-v-3ef58e55]{@apply .w-full;}","input.w-full[data-v-56acaf34]{@apply .w-full;}","input.w-full[data-v-e2a7d0c8]{@apply .w-full;}"]} \ No newline at end of file +{"version":3,"sources":["dist/styles.scss","dist/","dist/Btn.vue?rollup-plugin-vue=styles.0.css","dist/Icon.vue?rollup-plugin-vue=styles.0.css","dist/Spinner.vue?rollup-plugin-vue=styles.0.css","dist/CheckboxField.vue?rollup-plugin-vue=styles.0.css","dist/CheckboxSet.vue?rollup-plugin-vue=styles.0.css","dist/TextareaField.vue?rollup-plugin-vue=styles.0.css","dist/TextField.vue?rollup-plugin-vue=styles.0.css","dist/LightswitchInput.vue?rollup-plugin-vue=styles.0.css","dist/PasswordInput.vue?rollup-plugin-vue=styles.0.css","dist/SelectInput.vue?rollup-plugin-vue=styles.0.css","dist/TextareaInput.vue?rollup-plugin-vue=styles.0.css","dist/TextInput.vue?rollup-plugin-vue=styles.0.css","dist/UrlInput.vue?rollup-plugin-vue=styles.0.css"],"names":[],"mappings":"AACA,4EAAA,AAAoB,KAApB,iBAAA,AAAoB,6BAAA,CAApB,AAAoB,KAApB,QAAoB,CAApB,AAAoB,KAApB,aAAoB,CAApB,AAAoB,GAApB,cAAA,AAAoB,cAAA,CAApB,AAAoB,GAApB,+BAAA,AAAoB,uBAApB,AAAoB,SAApB,AAAoB,gBAAA,CAApB,AAAoB,IAApB,gCAAA,AAAoB,aAAA,CAApB,AAAoB,EAApB,4BAAoB,CAApB,AAAoB,YAApB,mBAAA,AAAoB,0BAApB,AAAoB,yCAApB,AAAoB,gCAAA,CAApB,AAAoB,SAApB,kBAAoB,CAApB,AAAoB,cAApB,gCAAA,AAAoB,aAAA,CAApB,AAAoB,MAApB,aAAoB,CAApB,AAAoB,QAApB,cAAA,AAAoB,cAApB,AAAoB,kBAApB,AAAoB,uBAAA,CAApB,AAAoB,IAApB,aAAoB,CAApB,AAAoB,IAApB,SAAoB,CAApB,AAAoB,IAApB,iBAAoB,CAApB,AAAoB,sCAApB,oBAAA,AAAoB,eAApB,AAAoB,iBAApB,AAAoB,QAAA,CAApB,AAAoB,aAApB,gBAAoB,CAApB,AAAoB,cAApB,mBAAoB,CAApB,AAAoB,gDAApB,yBAAoB,CAApB,AAAoB,wHAApB,kBAAA,AAAoB,SAAA,CAApB,AAAoB,4GAApB,6BAAoB,CAApB,AAAoB,SAApB,0BAAoB,CAApB,AAAoB,OAApB,8BAAA,AAAoB,sBAApB,AAAoB,cAApB,AAAoB,cAApB,AAAoB,eAApB,AAAoB,UAApB,AAAoB,kBAAA,CAApB,AAAoB,SAApB,uBAAoB,CAApB,AAAoB,SAApB,aAAoB,CAApB,AAAoB,6BAApB,8BAAA,AAAoB,sBAApB,AAAoB,SAAA,CAApB,AAAoB,kFAApB,WAAoB,CAApB,AAAoB,cAApB,6BAAA,AAAoB,mBAAA,CAApB,AAAoB,yCAApB,uBAAoB,CAApB,AAAoB,6BAApB,0BAAA,AAAoB,YAAA,CAApB,AAAoB,QAApB,aAAoB,CAApB,AAAoB,QAApB,iBAAoB,CAApB,AAAoB,kBAApB,YAAoB,CAApB,AAAoB,KAApB,8BAAA,AAAoB,sBAApB,AAAoB,sBAAA,CAApB,AAAoB,iBAApB,2BAAA,AAAoB,kBAAA,CAApB,AAAoB,gDAApB,QAAoB,CAApB,AAAoB,OAApB,uBAAA,AAAoB,SAAA,CAApB,AAAoB,aAApB,mBAAA,AAAoB,yCAAA,CAApB,AAAoB,SAApB,SAAA,AAAoB,SAAA,CAApB,AAAoB,MAApB,QAAoB,CAApB,AAAoB,iBAApB,sBAAoB,CAApB,AAAoB,IAApB,kBAAoB,CAApB,AAAoB,SAApB,eAAoB,CAApB,AAAoB,IAApB,eAAA,AAAoB,WAAA,CAApB,AAAoB,qEAApB,cAAA,AAAoB,UAAA,CAApB,AAAoB,wHAApB,cAAA,AAAoB,UAAA,CAApB,AAAoB,yCAApB,cAAA,AAAoB,UAAA,CAApB,AAAoB,qBAApB,cAAoB,CAApB,AAAoB,MAApB,wBAAoB,CAAA,AAEpB,OACE,kBAAoB,CAAE,AAExB,uCCNA,uEAAA,CDQsB,AAEtB,kBCVA,cAAA,kBAAA,iBAAA,kBAAA,CDW0C,AAE1C,cACE,aAAe,CAAE,AAEnB,MChBA,qBAAA,oBAAA,CDiB+B,AAE/B,iBCnBA,kBAAA,CDoBiB,AAEjB,OCtBA,iBAAA,qBAAA,sBDwBE,ACxBF,0BDwB8B,CAAE,AAGhC,kGC3BA,sBAAA,iBAAA,qBAAA,cAAA,qBAAA,aAAA,CDiC+D,AAC7D,sTClCF,wBAAA,CD6C+B,AAC7B,oKC9CF,oBAAA,CDoDyB,AAEzB,mBACE,UAAY,CAAE;AEvDhB,4BDAA,mBAAA,qBAAA,yBAAA,cAAA,qBAAA,wBAAA,CCA+I,sEAAsE,8CAA8C,qCAAqC,CAAC,8FDAzS,eAAA,yBAAA,qBAAA,oBAAA,CCAmc,iGDAnc,eAAA,yBAAA,oBAAA,CCA4lB,8CDA5lB,WAAA,kBAAA,oBAAA,CCAgqB,8CDAhqB,iBAAA,CCA+tB,sEAAsE,WAAW,WAAW,CAAC,8CDA5zB,mBAAA,mBAAA,qBAAA,CCAi4B,kkBAAkkB,SAAS,CAAC,oDDA78C,yBAAA,qBAAA,UAAA,CCA2iD,sHDA3iD,yBAAA,oBAAA,CCAysD,yHDAzsD,yBAAA,oBAAA,CCA82D,oDDA92D,yBAAA,qBAAA,UAAA,CCAg9D,sHDAh9D,yBAAA,oBAAA,CCAknE,yHDAlnE,yBAAA,oBAAA,CCA2xE,oDDA3xE,yBAAA,qBAAA,UAAA,CCA23E,sHDA33E,yBAAA,oBAAA,CCA2hF,yHDA3hF,yBAAA,oBAAA,CCAksF,iDDAlsF,yBAAA,qBAAA,UAAA,CCA2xF,mHDA3xF,yBAAA,oBAAA,CCAo7F,sHDAp7F,yBAAA,oBAAA,CCAolG,2CDAplG,yBAAA,qBAAA,UAAA,CCAyqG,6GDAzqG,yBAAA,oBAAA,CCA8zG,gHDA9zG,yBAAA,oBAAA,CCA09G,0DDA19G,WAAA,cAAA,CCAwjH,oDDAxjH,4BAAA,CCAooH,4EDApoH,aAAA,CCAmuH,8IDAnuH,WAAA,wBAAA,CCA84H,iJDA94H,WAAA,wBAAA,CCAmkI,4EDAnkI,aAAA,CCAoqI,8IDApqI,WAAA,wBAAA,CCAi1I,iJDAj1I,WAAA,wBAAA,CCAwgJ,4EDAxgJ,aAAA,CCAwmJ,8IDAxmJ,WAAA,wBAAA,CCAoxJ,iJDApxJ,WAAA,wBAAA,CCA08J,yEDA18J,aAAA,CCAqiK,2IDAriK,WAAA,wBAAA,CCA4sK,8IDA5sK,WAAA,wBAAA,CCA63K,mEDA73K,aAAA,CCAm9K,qIDAn9K,WAAA,wBAAA,CCAqnL,wIDArnL,WAAA,wBAAA,CCAiyL,4EDAjyL,iBAAA,CCAm4L,oDDAn4L,iBAAA,CCAy8L,44BDAz8L,iBAAA,CCA22N,sKDA32N,oBAAA,CCAsiO,sKDAtiO,oBAAA,CCAmuO,sKDAnuO,oBAAA,CCA+5O,mKDA/5O,oBAAA,CCAslP,6JDAtlP,oBAAA,CCAwwP,qFDAxwP,kBCA82P,ADA92P,QCAs3P,SAAS,iBAAiB,iBAAiB,CAAC,iGDAl6P,iBAAA,CCAshQ,oDDAthQ,oBAAA,qBAAA,CCAsmQ,yEDAtmQ,oBAAA,CCAqsQ;ACArsQ,QFAA,qBAAA,sBAAA,kBAAA,kBEAmE,AFAnE,SEA4E,WAAW,WAAW,CAAC,gBAAgB,aAAa,aAAa,CAAC,kBAAkB,WAAW,WAAW,CAAC,gBAAgB,cAAc,cAAc,CAAC,gBAAgB,aAAa,aAAa,CAAC,iBAAiB,cAAc,cAAc,CAAC,iBAAiB,cAAc,cAAc,CAAC,iBAAiB,WAAW,WAAW,CAAC,iBAAiB,WAAW,WAAW,CAAC;ACA3b,WHAA,oBAAA,CGAiC,sBAAsB,wCAAA,AAAsC,gCAAA,WAAW,YAAY,kBAAkB,6BAA6B,uCAAuC,wCAAwC,wBAAwB,wBAAwB,CAAC,yBAAyB,WAAW,YAAY,gBAAgB,CAAC,qBAAmB,GAAG,4BAAA,AAAmB,mBAAA,CAAC,GAAG,gCAAA,AAAuB,uBAAA,CAAC,CAArE,AAAsE,aAAnD,GAAG,4BAAA,AAAmB,mBAAA,CAAC,GAAG,gCAAA,AAAuB,uBAAA,CAAC,CAAC;ACA1a,8BJAA,kBAAA,CIA4C,sCJA5C,cAAA,iBAAA,CIAmH;ACAnH,oBLAA,gBAAA,UAAA,kBAAA,iBAAA,CKAoD,0BLApD,kBAAA,CKA4F;ACA5F,0BNAA,iBAAA,CMA4C,yCNA5C,aAAA,CMA4G,+BNA5G,qBAAA,gBAAA,CMA+J,wCNA/J,kBAAA,iBAAA,gBAAA,CMA8O,yCNA9O,aAAA,CMA0S,2CNA1S,aAAA,CMA0W,wCNA1W,aAAA,CMAoa;ACApa,0BPAA,iBAAA,COA4C,yCPA5C,aAAA,COA4G,+BPA5G,qBAAA,gBAAA,COA+J,wCPA/J,kBAAA,iBAAA,gBAAA,COA8O,yCPA9O,aAAA,COA0S,2CPA1S,aAAA,COA0W,wCPA1W,aAAA,COAoa;ACApa,8BRAA,kBAAA,cAAA,yBAAA,sBAAA,qBAAA,iBQAmE,ARAnE,WQA8E,WAAW,CAAC,oCRA1F,kBAAA,SAAA,CQA2J,sCRA3J,kBAAA,MAAA,QAAA,SAAA,OAAA,eQAuO,ARAvO,sBQA6P,uBAAuB,cAAc,CAAC,6CRAnS,kBAAA,sBQA2W,ARA3W,WQAsX,YAAY,WAAW,SAAS,WAAW,uBAAuB,cAAc,CAAC,oDAAoD,wBAAwB,CAAC,kDAAkD,mCAAA,AAA0B,0BAAA,CAAC,2DAA2D,mCAAmC,AAA+B,0BAA0B,CAAC,4CAA4C,kBAAkB,CAAC,mDAAmD,iBAAiB,CAAC,uCAAuC,UAAU,CAAC,+CRA/6B,cAAA,CQAs/B;ACAt/B,8BTAA,UAAA,CSA8C;ACA9C,+BVAA,UAAA,CUA+C;ACA/C,iCXAA,UAAA,CWAiD;ACAjD,8BZAA,UAAA,CYA8C;ACA9C,8BbAA,UAAA,CaA8C","file":"dist/craftui.min.css","sourcesContent":["@charset \"UTF-8\";\n@tailwind preflight;\n/* Fields */\n.field {\n margin-bottom: 1rem; }\n\n.field.mono input,\n.field.mono textarea {\n @apply .font-mono; }\n\n.invalid-feedback {\n @apply .text-red .text-sm .mt-2 .mb-4; }\n\n.instructions {\n color: #8f98a3; }\n\nlabel {\n @apply .inline-block .mb-1; }\n\n.field .checkbox {\n @apply .mr-2; }\n\nselect {\n @apply .border .border-grey-light .bg-white;\n height: calc(2.25rem + 2px); }\n\n/* Inputs */\ninput[type=\"text\"],\ninput[type=\"password\"],\ninput[type=\"tel\"],\ninput[type=\"url\"],\ninput[type=\"number\"],\ntextarea {\n @apply .bg-white .border .border-grey .p-2 .rounded .block; }\n input[type=\"text\"]:disabled, input[type=\"text\"][readonly],\n input[type=\"password\"]:disabled,\n input[type=\"password\"][readonly],\n input[type=\"tel\"]:disabled,\n input[type=\"tel\"][readonly],\n input[type=\"url\"]:disabled,\n input[type=\"url\"][readonly],\n input[type=\"number\"]:disabled,\n input[type=\"number\"][readonly],\n textarea:disabled,\n textarea[readonly] {\n @apply .bg-grey-lightest; }\n input[type=\"text\"].is-invalid,\n input[type=\"password\"].is-invalid,\n input[type=\"tel\"].is-invalid,\n input[type=\"url\"].is-invalid,\n input[type=\"number\"].is-invalid,\n textarea.is-invalid {\n @apply .border-red; }\n\ninput[type=\"number\"] {\n width: 60px; }\n\n/*\nKeep it light, don't import Tailwind’s utilities.\n@tailwind utilities;\n*/\n",null,".c-btn,a.c-btn,button.c-btn{@apply .px-4 .py-2 .rounded .bg-grey-lighter .text-black .no-underline .border .border-solid .border-grey-lighter;}.c-btn:not(.outline),a.c-btn:not(.outline),button.c-btn:not(.outline){-webkit-box-shadow:0 2px 6px 0 rgba(0,0,0,.2);box-shadow:0 2px 6px 0 rgba(0,0,0,.2)}.c-btn:not([disabled]):hover,a.c-btn:not([disabled]):hover,button.c-btn:not([disabled]):hover{@apply .cursor-pointer .bg-grey .border-grey .no-underline;}.c-btn:not([disabled]):active,a.c-btn:not([disabled]):active,button.c-btn:not([disabled]):active{@apply .cursor-pointer .bg-grey-dark .border-grey-dark;}.c-btn.block,a.c-btn.block,button.c-btn.block{@apply .w-full .my-1;}.c-btn.small,a.c-btn.small,button.c-btn.small{@apply .text-sm;}.c-btn.small .c-icon,a.c-btn.small .c-icon,button.c-btn.small .c-icon{width:12px;height:12px}.c-btn.large,a.c-btn.large,button.c-btn.large{@apply .text-lg .py-3;}.c-btn.danger:not(.outline) .c-icon,.c-btn.info:not(.outline) .c-icon,.c-btn.primary:not(.outline) .c-icon,.c-btn.success:not(.outline) .c-icon,.c-btn.warning:not(.outline) .c-icon,a.c-btn.danger:not(.outline) .c-icon,a.c-btn.info:not(.outline) .c-icon,a.c-btn.primary:not(.outline) .c-icon,a.c-btn.success:not(.outline) .c-icon,a.c-btn.warning:not(.outline) .c-icon,button.c-btn.danger:not(.outline) .c-icon,button.c-btn.info:not(.outline) .c-icon,button.c-btn.primary:not(.outline) .c-icon,button.c-btn.success:not(.outline) .c-icon,button.c-btn.warning:not(.outline) .c-icon{fill:#fff}.c-btn.primary,a.c-btn.primary,button.c-btn.primary{@apply .bg-blue .border-blue .text-white;}.c-btn.primary:not([disabled]):hover,a.c-btn.primary:not([disabled]):hover,button.c-btn.primary:not([disabled]):hover{@apply .bg-blue-dark .border-blue-dark;}.c-btn.primary:not([disabled]):active,a.c-btn.primary:not([disabled]):active,button.c-btn.primary:not([disabled]):active{@apply .bg-blue-darker .border-blue-darker;}.c-btn.warning,a.c-btn.warning,button.c-btn.warning{@apply .bg-orange .border-orange .text-white;}.c-btn.warning:not([disabled]):hover,a.c-btn.warning:not([disabled]):hover,button.c-btn.warning:not([disabled]):hover{@apply .bg-orange-dark .border-orange-dark;}.c-btn.warning:not([disabled]):active,a.c-btn.warning:not([disabled]):active,button.c-btn.warning:not([disabled]):active{@apply .bg-orange-darker .border-orange-darker;}.c-btn.success,a.c-btn.success,button.c-btn.success{@apply .bg-green .border-green .text-white;}.c-btn.success:not([disabled]):hover,a.c-btn.success:not([disabled]):hover,button.c-btn.success:not([disabled]):hover{@apply .bg-green-dark .border-green-dark;}.c-btn.success:not([disabled]):active,a.c-btn.success:not([disabled]):active,button.c-btn.success:not([disabled]):active{@apply .bg-green-darker .border-green-darker;}.c-btn.danger,a.c-btn.danger,button.c-btn.danger{@apply .bg-red .border-red .text-white;}.c-btn.danger:not([disabled]):hover,a.c-btn.danger:not([disabled]):hover,button.c-btn.danger:not([disabled]):hover{@apply .bg-red-dark .border-red-dark;}.c-btn.danger:not([disabled]):active,a.c-btn.danger:not([disabled]):active,button.c-btn.danger:not([disabled]):active{@apply .bg-red-darker .border-red-darker;}.c-btn.info,a.c-btn.info,button.c-btn.info{@apply .bg-teal .border-teal .text-white;}.c-btn.info:not([disabled]):hover,a.c-btn.info:not([disabled]):hover,button.c-btn.info:not([disabled]):hover{@apply .bg-teal-dark .border-teal-dark;}.c-btn.info:not([disabled]):active,a.c-btn.info:not([disabled]):active,button.c-btn.info:not([disabled]):active{@apply .bg-teal-darker .border-teal-darker;}.c-btn[disabled],a.c-btn[disabled],button.c-btn[disabled]{@apply .opacity-50 .cursor-default;}.c-btn.outline,a.c-btn.outline,button.c-btn.outline{@apply .bg-transparent;}.c-btn.outline.primary,a.c-btn.outline.primary,button.c-btn.outline.primary{@apply .text-blue;}.c-btn.outline.primary:not([disabled]):hover,a.c-btn.outline.primary:not([disabled]):hover,button.c-btn.outline.primary:not([disabled]):hover{@apply .text-white .bg-blue;}.c-btn.outline.primary:not([disabled]):active,a.c-btn.outline.primary:not([disabled]):active,button.c-btn.outline.primary:not([disabled]):active{@apply .text-white .bg-blue-darker;}.c-btn.outline.warning,a.c-btn.outline.warning,button.c-btn.outline.warning{@apply .text-orange;}.c-btn.outline.warning:not([disabled]):hover,a.c-btn.outline.warning:not([disabled]):hover,button.c-btn.outline.warning:not([disabled]):hover{@apply .text-white .bg-orange;}.c-btn.outline.warning:not([disabled]):active,a.c-btn.outline.warning:not([disabled]):active,button.c-btn.outline.warning:not([disabled]):active{@apply .text-white .bg-orange-darker;}.c-btn.outline.success,a.c-btn.outline.success,button.c-btn.outline.success{@apply .text-green;}.c-btn.outline.success:not([disabled]):hover,a.c-btn.outline.success:not([disabled]):hover,button.c-btn.outline.success:not([disabled]):hover{@apply .text-white .bg-green;}.c-btn.outline.success:not([disabled]):active,a.c-btn.outline.success:not([disabled]):active,button.c-btn.outline.success:not([disabled]):active{@apply .text-white .bg-green-darker;}.c-btn.outline.danger,a.c-btn.outline.danger,button.c-btn.outline.danger{@apply .text-red;}.c-btn.outline.danger:not([disabled]):hover,a.c-btn.outline.danger:not([disabled]):hover,button.c-btn.outline.danger:not([disabled]):hover{@apply .text-white .bg-red;}.c-btn.outline.danger:not([disabled]):active,a.c-btn.outline.danger:not([disabled]):active,button.c-btn.outline.danger:not([disabled]):active{@apply .text-white .bg-red-darker;}.c-btn.outline.info,a.c-btn.outline.info,button.c-btn.outline.info{@apply .text-teal;}.c-btn.outline.info:not([disabled]):hover,a.c-btn.outline.info:not([disabled]):hover,button.c-btn.outline.info:not([disabled]):hover{@apply .text-white .bg-teal;}.c-btn.outline.info:not([disabled]):active,a.c-btn.outline.info:not([disabled]):active,button.c-btn.outline.info:not([disabled]):active{@apply .text-white .bg-teal-darker;}.c-btn.outline .c-icon,a.c-btn.outline .c-icon,button.c-btn.outline .c-icon{@apply .fill-current;}.c-btn.loading,a.c-btn.loading,button.c-btn.loading{@apply .relative;}.c-btn.loading:not(.outline).danger .c-spinner>.animation,.c-btn.loading:not(.outline).info .c-spinner>.animation,.c-btn.loading:not(.outline).primary .c-spinner>.animation,.c-btn.loading:not(.outline).success .c-spinner>.animation,.c-btn.loading:not(.outline).warning .c-spinner>.animation,a.c-btn.loading:not(.outline).danger .c-spinner>.animation,a.c-btn.loading:not(.outline).info .c-spinner>.animation,a.c-btn.loading:not(.outline).primary .c-spinner>.animation,a.c-btn.loading:not(.outline).success .c-spinner>.animation,a.c-btn.loading:not(.outline).warning .c-spinner>.animation,button.c-btn.loading:not(.outline).danger .c-spinner>.animation,button.c-btn.loading:not(.outline).info .c-spinner>.animation,button.c-btn.loading:not(.outline).primary .c-spinner>.animation,button.c-btn.loading:not(.outline).success .c-spinner>.animation,button.c-btn.loading:not(.outline).warning .c-spinner>.animation{@apply .border-white;}.c-btn.loading.outline.primary .c-spinner>.animation,a.c-btn.loading.outline.primary .c-spinner>.animation,button.c-btn.loading.outline.primary .c-spinner>.animation{@apply .border-blue;}.c-btn.loading.outline.warning .c-spinner>.animation,a.c-btn.loading.outline.warning .c-spinner>.animation,button.c-btn.loading.outline.warning .c-spinner>.animation{@apply .border-orange;}.c-btn.loading.outline.success .c-spinner>.animation,a.c-btn.loading.outline.success .c-spinner>.animation,button.c-btn.loading.outline.success .c-spinner>.animation{@apply .border-green;}.c-btn.loading.outline.danger .c-spinner>.animation,a.c-btn.loading.outline.danger .c-spinner>.animation,button.c-btn.loading.outline.danger .c-spinner>.animation{@apply .border-red;}.c-btn.loading.outline.info .c-spinner>.animation,a.c-btn.loading.outline.info .c-spinner>.animation,button.c-btn.loading.outline.info .c-spinner>.animation{@apply .border-teal;}.c-btn.loading .c-spinner,a.c-btn.loading .c-spinner,button.c-btn.loading .c-spinner{@apply .absolute;top:50%;left:50%;margin-top:-12px;margin-left:-12px}.c-btn.loading .c-btn-content,a.c-btn.loading .c-btn-content,button.c-btn.loading .c-btn-content{@apply .invisible;}.c-btn .c-icon,a.c-btn .c-icon,button.c-btn .c-icon{@apply .mr-1 .align-middle;}.c-btn .c-btn-content,a.c-btn .c-btn-content,button.c-btn .c-btn-content{@apply .inline-block;}",".c-icon{@apply .inline-block .align-middle .relative .fill-current;top:-2px;width:18px;height:18px}.c-icon.size-sm{width:.75rem;height:.75rem}.c-icon.size-base{width:1rem;height:1rem}.c-icon.size-lg{width:1.25rem;height:1.25rem}.c-icon.size-xl{width:1.5rem;height:1.5rem}.c-icon.size-2xl{width:1.75rem;height:1.75rem}.c-icon.size-3xl{width:2.25rem;height:2.25rem}.c-icon.size-4xl{width:3rem;height:3rem}.c-icon.size-5xl{width:4rem;height:4rem}",".c-spinner{@apply .inline-block;}.c-spinner>.animation{animation:rotator .7s linear infinite;width:22px;height:22px;border-radius:50%;border:2px solid transparent;border-top-color:transparent!important;border-left-color:transparent!important;border-right-color:#555;border-bottom-color:#555}.c-spinner.lg>.animation{width:32px;height:32px;border-width:3px}@keyframes rotator{0%{transform:rotate(0)}to{transform:rotate(1turn)}}",".field input[data-v-ac5bdb82]{@apply .mr-2;}.field .instructions[data-v-ac5bdb82]{@apply .text-grey-dark .text-sm;}","ul[data-v-2744c7e4]{@apply .list-reset .pl-4 .pt-2;}ul input[data-v-2744c7e4]{@apply .mr-2;}",".wrapper[data-v-76633c9c]{@apply .relative;}.wrapper .text-red-dark[data-v-76633c9c]{@apply .text-red-dark;}.wrapper .max[data-v-76633c9c]{@apply .pr-1 .mt-2;}.wrapper .max.floating[data-v-76633c9c]{@apply .absolute .text-xs .text-right;}.wrapper .max.text-grey[data-v-76633c9c]{@apply .text-grey;}.wrapper .max.text-orange[data-v-76633c9c]{@apply .text-orange;}.wrapper .max.text-red[data-v-76633c9c]{@apply .text-red;}",".wrapper[data-v-bfaf2268]{@apply .relative;}.wrapper .text-red-dark[data-v-bfaf2268]{@apply .text-red-dark;}.wrapper .max[data-v-bfaf2268]{@apply .pr-1 .mt-2;}.wrapper .max.floating[data-v-bfaf2268]{@apply .absolute .text-xs .text-right;}.wrapper .max.text-grey[data-v-bfaf2268]{@apply .text-grey;}.wrapper .max.text-orange[data-v-bfaf2268]{@apply .text-orange;}.wrapper .max.text-red[data-v-bfaf2268]{@apply .text-red;}",".lightswitch[data-v-2b9d01d8]{@apply .relative .block .select-none;width:46px;height:30px}.lightswitch input[data-v-2b9d01d8]{@apply .absolute .opacity-0;}.lightswitch .slider[data-v-2b9d01d8]{@apply .absolute .pin .cursor-pointer;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.lightswitch .slider[data-v-2b9d01d8]:before{@apply .absolute .bg-white;content:\"\";height:26px;width:26px;left:2px;bottom:2px;-webkit-transition:.1s;transition:.1s}.lightswitch input:checked+.slider[data-v-2b9d01d8]{background-color:#38c172}.lightswitch input:focus+.slider[data-v-2b9d01d8]{box-shadow:0 0 1px #38c172}.lightswitch input:checked+.slider[data-v-2b9d01d8]:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.lightswitch .slider.round[data-v-2b9d01d8]{border-radius:34px}.lightswitch .slider.round[data-v-2b9d01d8]:before{border-radius:50%}.lightswitch.disabled[data-v-2b9d01d8]{opacity:.4}.lightswitch.disabled .slider[data-v-2b9d01d8]{@apply .cursor-default;}","input.w-full[data-v-6a117d3d]{@apply .w-full;}","select.w-full[data-v-211a2741]{@apply .w-full;}","textarea.w-full[data-v-3ef58e55]{@apply .w-full;}","input.w-full[data-v-65c7167a]{@apply .w-full;}","input.w-full[data-v-e2a7d0c8]{@apply .w-full;}"]} \ No newline at end of file diff --git a/dist/craftui.min.js b/dist/craftui.min.js index 3f29b1f..1cf95b3 100644 --- a/dist/craftui.min.js +++ b/dist/craftui.min.js @@ -1,2 +1,2 @@ -!function(c,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(c.CraftUi={})}(this,function(c){"use strict";var t={install:function(c){if("undefined"!=typeof document){var t=document.createElement("div");t.style.display="none",t.innerHTML='\n\n \n \n Address Book\n \n \n \n Address Card\n \n \n \n adjust\n \n \n \n Air Freshener\n \n \n \n align-center\n \n \n \n align-justify\n \n \n \n align-left\n \n \n \n align-right\n \n \n \n Allergies\n \n \n \n ambulance\n \n \n \n American Sign Language Interpreting\n \n \n \n Anchor\n \n \n \n Angle Double Down\n \n \n \n Angle Double Left\n \n \n \n Angle Double Right\n \n \n \n Angle Double Up\n \n \n \n angle-down\n \n \n \n angle-left\n \n \n \n angle-right\n \n \n \n angle-up\n \n \n \n Angry Face\n \n \n \n Ankh\n \n \n \n Fruit Apple\n \n \n \n Archive\n \n \n \n Archway\n \n \n \n Alternate Arrow Circle Down\n \n \n \n Alternate Arrow Circle Left\n \n \n \n Alternate Arrow Circle Right\n \n \n \n Alternate Arrow Circle Up\n \n \n \n Arrow Circle Down\n \n \n \n Arrow Circle Left\n \n \n \n Arrow Circle Right\n \n \n \n Arrow Circle Up\n \n \n \n arrow-down\n \n \n \n arrow-left\n \n \n \n arrow-right\n \n \n \n arrow-up\n \n \n \n Alternate Arrows\n \n \n \n Alternate Arrows Horizontal\n \n \n \n Alternate Arrows Vertical\n \n \n \n Assistive Listening Systems\n \n \n \n asterisk\n \n \n \n At\n \n \n \n Atlas\n \n \n \n Atom\n \n \n \n Audio Description\n \n \n \n Award\n \n \n \n Baby\n \n \n \n Baby Carriage\n \n \n \n Backspace\n \n \n \n backward\n \n \n \n Bacon\n \n \n \n Balance Scale\n \n \n \n ban\n \n \n \n Band-Aid\n \n \n \n barcode\n \n \n \n Bars\n \n \n \n Baseball Ball\n \n \n \n Basketball Ball\n \n \n \n Bath\n \n \n \n Battery Empty\n \n \n \n Battery Full\n \n \n \n Battery 1/2 Full\n \n \n \n Battery 1/4 Full\n \n \n \n Battery 3/4 Full\n \n \n \n Bed\n \n \n \n beer\n \n \n \n bell\n \n \n \n Bell Slash\n \n \n \n Bezier Curve\n \n \n \n Bible\n \n \n \n Bicycle\n \n \n \n Binoculars\n \n \n \n Biohazard\n \n \n \n Birthday Cake\n \n \n \n Blender\n \n \n \n Blender Phone\n \n \n \n Blind\n \n \n \n Blog\n \n \n \n bold\n \n \n \n Lightning Bolt\n \n \n \n Bomb\n \n \n \n Bone\n \n \n \n Bong\n \n \n \n book\n \n \n \n Book of the Dead\n \n \n \n Medical Book\n \n \n \n Book Open\n \n \n \n Book Reader\n \n \n \n bookmark\n \n \n \n Bowling Ball\n \n \n \n Box\n \n \n \n Box Open\n \n \n \n Boxes\n \n \n \n Braille\n \n \n \n Brain\n \n \n \n Bread Slice\n \n \n \n Briefcase\n \n \n \n Medical Briefcase\n \n \n \n Broadcast Tower\n \n \n \n Broom\n \n \n \n Brush\n \n \n \n Bug\n \n \n \n Building\n \n \n \n bullhorn\n \n \n \n Bullseye\n \n \n \n Burn\n \n \n \n Bus\n \n \n \n Bus Alt\n \n \n \n Business Time\n \n \n \n Calculator\n \n \n \n Calendar\n \n \n \n Alternate Calendar\n \n \n \n Calendar Check\n \n \n \n Calendar with Day Focus\n \n \n \n Calendar Minus\n \n \n \n Calendar Plus\n \n \n \n Calendar Times\n \n \n \n Calendar with Week Focus\n \n \n \n camera\n \n \n \n Retro Camera\n \n \n \n Campground\n \n \n \n Candy Cane\n \n \n \n Cannabis\n \n \n \n Capsules\n \n \n \n Car\n \n \n \n Alternate Car\n \n \n \n Car Battery\n \n \n \n Car Crash\n \n \n \n Car Side\n \n \n \n Caret Down\n \n \n \n Caret Left\n \n \n \n Caret Right\n \n \n \n Caret Square Down\n \n \n \n Caret Square Left\n \n \n \n Caret Square Right\n \n \n \n Caret Square Up\n \n \n \n Caret Up\n \n \n \n Carrot\n \n \n \n Shopping Cart Arrow Down\n \n \n \n Add to Shopping Cart\n \n \n \n Cash Register\n \n \n \n Cat\n \n \n \n certificate\n \n \n \n Chair\n \n \n \n Chalkboard\n \n \n \n Chalkboard Teacher\n \n \n \n Charging Station\n \n \n \n Area Chart\n \n \n \n Bar Chart\n \n \n \n Line Chart\n \n \n \n Pie Chart\n \n \n \n Check\n \n \n \n Check Circle\n \n \n \n Check Double\n \n \n \n Check Square\n \n \n \n Cheese\n \n \n \n Chess\n \n \n \n Chess Bishop\n \n \n \n Chess Board\n \n \n \n Chess King\n \n \n \n Chess Knight\n \n \n \n Chess Pawn\n \n \n \n Chess Queen\n \n \n \n Chess Rook\n \n \n \n Chevron Circle Down\n \n \n \n Chevron Circle Left\n \n \n \n Chevron Circle Right\n \n \n \n Chevron Circle Up\n \n \n \n chevron-down\n \n \n \n chevron-left\n \n \n \n chevron-right\n \n \n \n chevron-up\n \n \n \n Child\n \n \n \n Church\n \n \n \n Circle\n \n \n \n Circle Notched\n \n \n \n City\n \n \n \n Medical Clinic\n \n \n \n Clipboard\n \n \n \n Clipboard with Check\n \n \n \n Clipboard List\n \n \n \n Clock\n \n \n \n Clone\n \n \n \n Closed Captioning\n \n \n \n Cloud\n \n \n \n Alternate Cloud Download\n \n \n \n Cloud with (a chance of) Meatball\n \n \n \n Cloud with Moon\n \n \n \n Cloud with Moon and Rain\n \n \n \n Cloud with Rain\n \n \n \n Cloud with Heavy Showers\n \n \n \n Cloud with Sun\n \n \n \n Cloud with Sun and Rain\n \n \n \n Alternate Cloud Upload\n \n \n \n Cocktail\n \n \n \n Code\n \n \n \n Code Branch\n \n \n \n Coffee\n \n \n \n cog\n \n \n \n cogs\n \n \n \n Coins\n \n \n \n Columns\n \n \n \n comment\n \n \n \n Alternate Comment\n \n \n \n Comment Dollar\n \n \n \n Comment Dots\n \n \n \n Alternate Medical Chat\n \n \n \n Comment Slash\n \n \n \n comments\n \n \n \n Comments Dollar\n \n \n \n Compact Disc\n \n \n \n Compass\n \n \n \n Compress\n \n \n \n Alternate Compress Arrows\n \n \n \n Concierge Bell\n \n \n \n Cookie\n \n \n \n Cookie Bite\n \n \n \n Copy\n \n \n \n Copyright\n \n \n \n Couch\n \n \n \n Credit Card\n \n \n \n crop\n \n \n \n Alternate Crop\n \n \n \n Cross\n \n \n \n Crosshairs\n \n \n \n Crow\n \n \n \n Crown\n \n \n \n Crutch\n \n \n \n Cube\n \n \n \n Cubes\n \n \n \n Cut\n \n \n \n Database\n \n \n \n Deaf\n \n \n \n Democrat\n \n \n \n Desktop\n \n \n \n Dharmachakra\n \n \n \n Diagnoses\n \n \n \n Dice\n \n \n \n Dice D20\n \n \n \n Dice D6\n \n \n \n Dice Five\n \n \n \n Dice Four\n \n \n \n Dice One\n \n \n \n Dice Six\n \n \n \n Dice Three\n \n \n \n Dice Two\n \n \n \n Digital Tachograph\n \n \n \n Directions\n \n \n \n Divide\n \n \n \n Dizzy Face\n \n \n \n DNA\n \n \n \n Dog\n \n \n \n Dollar Sign\n \n \n \n Dolly\n \n \n \n Dolly Flatbed\n \n \n \n \n Door Closed\n \n \n \n Door Open\n \n \n \n Dot Circle\n \n \n \n Dove\n \n \n \n Download\n \n \n \n Drafting Compass\n \n \n \n Dragon\n \n \n \n Draw Polygon\n \n \n \n Drum\n \n \n \n Drum Steelpan\n \n \n \n Drumstick with Bite Taken Out\n \n \n \n Dumbbell\n \n \n \n Dumpster\n \n \n \n Dumpster Fire\n \n \n \n Dungeon\n \n \n \n Edit\n \n \n \n Egg\n \n \n \n eject\n \n \n \n Horizontal Ellipsis\n \n \n \n Vertical Ellipsis\n \n \n \n Envelope\n \n \n \n Envelope Open\n \n \n \n Envelope Open-text\n \n \n \n Envelope Square\n \n \n \n Equals\n \n \n \n eraser\n \n \n \n Ethernet\n \n \n \n Euro Sign\n \n \n \n Alternate Exchange\n \n \n \n exclamation\n \n \n \n Exclamation Circle\n \n \n \n Exclamation Triangle\n \n \n \n Expand\n \n \n \n Alternate Expand Arrows\n \n \n \n Alternate External Link\n \n \n \n Alternate External Link Square\n \n \n \n Eye\n \n \n \n Eye Dropper\n \n \n \n Eye Slash\n \n \n \n fast-backward\n \n \n \n fast-forward\n \n \n \n Fax\n \n \n \n Feather\n \n \n \n Alternate Feather\n \n \n \n Female\n \n \n \n fighter-jet\n \n \n \n File\n \n \n \n Alternate File\n \n \n \n Archive File\n \n \n \n Audio File\n \n \n \n Code File\n \n \n \n File Contract\n \n \n \n File CSV\n \n \n \n File Download\n \n \n \n Excel File\n \n \n \n File Export\n \n \n \n Image File\n \n \n \n File Import\n \n \n \n File Invoice\n \n \n \n File Invoice with US Dollar\n \n \n \n Medical File\n \n \n \n Alternate Medical File\n \n \n \n PDF File\n \n \n \n Powerpoint File\n \n \n \n File Prescription\n \n \n \n File Signature\n \n \n \n File Upload\n \n \n \n Video File\n \n \n \n Word File\n \n \n \n Fill\n \n \n \n Fill Drip\n \n \n \n Film\n \n \n \n Filter\n \n \n \n Fingerprint\n \n \n \n fire\n \n \n \n Alternate Fire\n \n \n \n fire-extinguisher\n \n \n \n First Aid\n \n \n \n Fish\n \n \n \n Raised Fist\n \n \n \n flag\n \n \n \n flag-checkered\n \n \n \n United States of America Flag\n \n \n \n Flask\n \n \n \n Flushed Face\n \n \n \n Folder\n \n \n \n Folder Minus\n \n \n \n Folder Open\n \n \n \n Folder Plus\n \n \n \n font\n \n \n \n Font Awesome Full Logo\n \n \n \n Football Ball\n \n \n \n forward\n \n \n \n Frog\n \n \n \n Frowning Face\n \n \n \n Frowning Face With Open Mouth\n \n \n \n Funnel Dollar\n \n \n \n Futbol\n \n \n \n Gamepad\n \n \n \n Gas Pump\n \n \n \n Gavel\n \n \n \n Gem\n \n \n \n Genderless\n \n \n \n Ghost\n \n \n \n gift\n \n \n \n Gifts\n \n \n \n Glass Cheers\n \n \n \n Martini Glass\n \n \n \n Alternate Glass Martini\n \n \n \n Glass Whiskey\n \n \n \n Glasses\n \n \n \n Globe\n \n \n \n Globe with Africa shown\n \n \n \n Globe with Americas shown\n \n \n \n Globe with Asia shown\n \n \n \n Globe with Europe shown\n \n \n \n Golf Ball\n \n \n \n Gopuram\n \n \n \n Graduation Cap\n \n \n \n Greater Than\n \n \n \n Greater Than Equal To\n \n \n \n Grimacing Face\n \n \n \n Grinning Face\n \n \n \n Alternate Grinning Face\n \n \n \n Grinning Face With Smiling Eyes\n \n \n \n Grinning Face With Sweat\n \n \n \n Smiling Face With Heart-Eyes\n \n \n \n Grinning Squinting Face\n \n \n \n Rolling on the Floor Laughing\n \n \n \n Star-Struck\n \n \n \n Face With Tears of Joy\n \n \n \n Face With Tongue\n \n \n \n Squinting Face With Tongue\n \n \n \n Winking Face With Tongue\n \n \n \n Grinning Winking Face\n \n \n \n Grip Horizontal\n \n \n \n Grip Lines\n \n \n \n Grip Lines Vertical\n \n \n \n Grip Vertical\n \n \n \n Guitar\n \n \n \n H Square\n \n \n \n Hamburger\n \n \n \n Hammer\n \n \n \n Hamsa\n \n \n \n Hand Holding\n \n \n \n Hand Holding Heart\n \n \n \n Hand Holding US Dollar\n \n \n \n Lizard (Hand)\n \n \n \n Hand with Middle Finger Raised\n \n \n \n Paper (Hand)\n \n \n \n Peace (Hand)\n \n \n \n Hand Pointing Down\n \n \n \n Hand Pointing Left\n \n \n \n Hand Pointing Right\n \n \n \n Hand Pointing Up\n \n \n \n Pointer (Hand)\n \n \n \n Rock (Hand)\n \n \n \n Scissors (Hand)\n \n \n \n Spock (Hand)\n \n \n \n Hands\n \n \n \n Helping Hands\n \n \n \n Handshake\n \n \n \n Hanukiah\n \n \n \n Hard Hat\n \n \n \n Hashtag\n \n \n \n Wizard's Hat\n \n \n \n Haykal\n \n \n \n HDD\n \n \n \n heading\n \n \n \n headphones\n \n \n \n Alternate Headphones\n \n \n \n Headset\n \n \n \n Heart\n \n \n \n Heart Broken\n \n \n \n Heartbeat\n \n \n \n Helicopter\n \n \n \n Highlighter\n \n \n \n Hiking\n \n \n \n Hippo\n \n \n \n History\n \n \n \n Hockey Puck\n \n \n \n Holly Berry\n \n \n \n home\n \n \n \n Horse\n \n \n \n Horse Head\n \n \n \n hospital\n \n \n \n Alternate Hospital\n \n \n \n Hospital Symbol\n \n \n \n Hot Tub\n \n \n \n Hot Dog\n \n \n \n Hotel\n \n \n \n Hourglass\n \n \n \n Hourglass End\n \n \n \n Hourglass Half\n \n \n \n Hourglass Start\n \n \n \n Damaged House\n \n \n \n Hryvnia\n \n \n \n I Beam Cursor\n \n \n \n Ice Cream\n \n \n \n Icicles\n \n \n \n Identification Badge\n \n \n \n Identification Card\n \n \n \n Alternate Identification Card\n \n \n \n Igloo\n \n \n \n Image\n \n \n \n Images\n \n \n \n inbox\n \n \n \n Indent\n \n \n \n Industry\n \n \n \n Infinity\n \n \n \n Info\n \n \n \n Info Circle\n \n \n \n italic\n \n \n \n Jedi\n \n \n \n Joint\n \n \n \n Journal of the Whills\n \n \n \n Kaaba\n \n \n \n key\n \n \n \n Keyboard\n \n \n \n Khanda\n \n \n \n Kissing Face\n \n \n \n Kissing Face With Smiling Eyes\n \n \n \n Face Blowing a Kiss\n \n \n \n Kiwi Bird\n \n \n \n Landmark\n \n \n \n Language\n \n \n \n Laptop\n \n \n \n Laptop Code\n \n \n \n Laptop Medical\n \n \n \n Grinning Face With Big Eyes\n \n \n \n Laugh Face with Beaming Eyes\n \n \n \n Laughing Squinting Face\n \n \n \n Laughing Winking Face\n \n \n \n Layer Group\n \n \n \n leaf\n \n \n \n Lemon\n \n \n \n Less Than\n \n \n \n Less Than Equal To\n \n \n \n Alternate Level Down\n \n \n \n Alternate Level Up\n \n \n \n Life Ring\n \n \n \n Lightbulb\n \n \n \n Link\n \n \n \n Turkish Lira Sign\n \n \n \n List\n \n \n \n Alternate List\n \n \n \n list-ol\n \n \n \n list-ul\n \n \n \n location-arrow\n \n \n \n lock\n \n \n \n Lock Open\n \n \n \n Alternate Long Arrow Down\n \n \n \n Alternate Long Arrow Left\n \n \n \n Alternate Long Arrow Right\n \n \n \n Alternate Long Arrow Up\n \n \n \n Low Vision\n \n \n \n Luggage Cart\n \n \n \n magic\n \n \n \n magnet\n \n \n \n Mail Bulk\n \n \n \n Male\n \n \n \n Map\n \n \n \n Map Marked\n \n \n \n Alternate Map Marked\n \n \n \n map-marker\n \n \n \n Alternate Map Marker\n \n \n \n Map Pin\n \n \n \n Map Signs\n \n \n \n Marker\n \n \n \n Mars\n \n \n \n Mars Double\n \n \n \n Mars Stroke\n \n \n \n Mars Stroke Horizontal\n \n \n \n Mars Stroke Vertical\n \n \n \n Mask\n \n \n \n Medal\n \n \n \n medkit\n \n \n \n Neutral Face\n \n \n \n Face Without Mouth\n \n \n \n Face With Rolling Eyes\n \n \n \n Memory\n \n \n \n Menorah\n \n \n \n Mercury\n \n \n \n Meteor\n \n \n \n Microchip\n \n \n \n microphone\n \n \n \n Alternate Microphone\n \n \n \n Alternate Microphone Slash\n \n \n \n Microphone Slash\n \n \n \n Microscope\n \n \n \n minus\n \n \n \n Minus Circle\n \n \n \n Minus Square\n \n \n \n Mitten\n \n \n \n Mobile Phone\n \n \n \n Alternate Mobile\n \n \n \n Money Bill\n \n \n \n Alternate Money Bill\n \n \n \n Wavy Money Bill\n \n \n \n Alternate Wavy Money Bill\n \n \n \n Money Check\n \n \n \n Alternate Money Check\n \n \n \n Monument\n \n \n \n Moon\n \n \n \n Mortar Pestle\n \n \n \n Mosque\n \n \n \n Motorcycle\n \n \n \n Mountain\n \n \n \n Mouse Pointer\n \n \n \n Mug Hot\n \n \n \n Music\n \n \n \n Wired Network\n \n \n \n Neuter\n \n \n \n Newspaper\n \n \n \n Not Equal\n \n \n \n Medical Notes\n \n \n \n Object Group\n \n \n \n Object Ungroup\n \n \n \n Oil Can\n \n \n \n Om\n \n \n \n Otter\n \n \n \n Outdent\n \n \n \n Pager\n \n \n \n Paint Brush\n \n \n \n Paint Roller\n \n \n \n Palette\n \n \n \n Pallet\n \n \n \n Paper Plane\n \n \n \n Paperclip\n \n \n \n Parachute Box\n \n \n \n paragraph\n \n \n \n Parking\n \n \n \n Passport\n \n \n \n Pastafarianism\n \n \n \n Paste\n \n \n \n pause\n \n \n \n Pause Circle\n \n \n \n Paw\n \n \n \n Peace\n \n \n \n Pen\n \n \n \n Alternate Pen\n \n \n \n Pen Fancy\n \n \n \n Pen Nib\n \n \n \n Pen Square\n \n \n \n Alternate Pencil\n \n \n \n Pencil Ruler\n \n \n \n People Carry\n \n \n \n Hot Pepper\n \n \n \n Percent\n \n \n \n Percentage\n \n \n \n Person Entering Booth\n \n \n \n Phone\n \n \n \n Phone Slash\n \n \n \n Phone Square\n \n \n \n Phone Volume\n \n \n \n Piggy Bank\n \n \n \n Pills\n \n \n \n Pizza Slice\n \n \n \n Place of Worship\n \n \n \n plane\n \n \n \n Plane Arrival\n \n \n \n Plane Departure\n \n \n \n play\n \n \n \n Play Circle\n \n \n \n Plug\n \n \n \n plus\n \n \n \n Plus Circle\n \n \n \n Plus Square\n \n \n \n Podcast\n \n \n \n Poll\n \n \n \n Poll H\n \n \n \n Poo\n \n \n \n Poo Storm\n \n \n \n Poop\n \n \n \n Portrait\n \n \n \n Pound Sign\n \n \n \n Power Off\n \n \n \n Pray\n \n \n \n Praying Hands\n \n \n \n Prescription\n \n \n \n Prescription Bottle\n \n \n \n Alternate Prescription Bottle\n \n \n \n print\n \n \n \n Procedures\n \n \n \n Project Diagram\n \n \n \n Puzzle Piece\n \n \n \n qrcode\n \n \n \n Question\n \n \n \n Question Circle\n \n \n \n Quidditch\n \n \n \n quote-left\n \n \n \n quote-right\n \n \n \n Quran\n \n \n \n Radiation\n \n \n \n Alternate Radiation\n \n \n \n Rainbow\n \n \n \n random\n \n \n \n Receipt\n \n \n \n Recycle\n \n \n \n Redo\n \n \n \n Alternate Redo\n \n \n \n Registered Trademark\n \n \n \n Reply\n \n \n \n reply-all\n \n \n \n Republican\n \n \n \n Restroom\n \n \n \n Retweet\n \n \n \n Ribbon\n \n \n \n Ring\n \n \n \n road\n \n \n \n Robot\n \n \n \n rocket\n \n \n \n Route\n \n \n \n rss\n \n \n \n RSS Square\n \n \n \n Ruble Sign\n \n \n \n Ruler\n \n \n \n Ruler Combined\n \n \n \n Ruler Horizontal\n \n \n \n Ruler Vertical\n \n \n \n Running\n \n \n \n Indian Rupee Sign\n \n \n \n Crying Face\n \n \n \n Loudly Crying Face\n \n \n \n Satellite\n \n \n \n Satellite Dish\n \n \n \n Save\n \n \n \n School\n \n \n \n Screwdriver\n \n \n \n Scroll\n \n \n \n Sd Card\n \n \n \n Search\n \n \n \n Search Dollar\n \n \n \n Search Location\n \n \n \n Search Minus\n \n \n \n Search Plus\n \n \n \n Seedling\n \n \n \n Server\n \n \n \n Shapes\n \n \n \n Share\n \n \n \n Alternate Share\n \n \n \n Alternate Share Square\n \n \n \n Share Square\n \n \n \n Shekel Sign\n \n \n \n Alternate Shield\n \n \n \n Ship\n \n \n \n Shipping Fast\n \n \n \n Shoe Prints\n \n \n \n Shopping Bag\n \n \n \n Shopping Basket\n \n \n \n shopping-cart\n \n \n \n Shower\n \n \n \n Shuttle Van\n \n \n \n Sign\n \n \n \n Alternate Sign In\n \n \n \n Sign Language\n \n \n \n Alternate Sign Out\n \n \n \n signal\n \n \n \n Signature\n \n \n \n SIM Card\n \n \n \n Sitemap\n \n \n \n Skating\n \n \n \n Skiing\n \n \n \n Skiing Nordic\n \n \n \n Skull\n \n \n \n Skull & Crossbones\n \n \n \n Slash\n \n \n \n Sleigh\n \n \n \n Horizontal Sliders\n \n \n \n Smiling Face\n \n \n \n Beaming Face With Smiling Eyes\n \n \n \n Winking Face\n \n \n \n Smog\n \n \n \n Smoking\n \n \n \n Smoking Ban\n \n \n \n SMS\n \n \n \n Snowboarding\n \n \n \n Snowflake\n \n \n \n Snowman\n \n \n \n Snowplow\n \n \n \n Socks\n \n \n \n Solar Panel\n \n \n \n Sort\n \n \n \n Sort Alpha Down\n \n \n \n Sort Alpha Up\n \n \n \n Sort Amount Down\n \n \n \n Sort Amount Up\n \n \n \n Sort Down (Descending)\n \n \n \n Sort Numeric Down\n \n \n \n Sort Numeric Up\n \n \n \n Sort Up (Ascending)\n \n \n \n Spa\n \n \n \n Space Shuttle\n \n \n \n Spider\n \n \n \n Spinner\n \n \n \n Splotch\n \n \n \n Spray Can\n \n \n \n Square\n \n \n \n Square Full\n \n \n \n Alternate Square Root\n \n \n \n Stamp\n \n \n \n Star\n \n \n \n Star and Crescent\n \n \n \n star-half\n \n \n \n Alternate Star Half\n \n \n \n Star of David\n \n \n \n Star of Life\n \n \n \n step-backward\n \n \n \n step-forward\n \n \n \n Stethoscope\n \n \n \n Sticky Note\n \n \n \n stop\n \n \n \n Stop Circle\n \n \n \n Stopwatch\n \n \n \n Store\n \n \n \n Alternate Store\n \n \n \n Stream\n \n \n \n Street View\n \n \n \n Strikethrough\n \n \n \n Stroopwafel\n \n \n \n subscript\n \n \n \n Subway\n \n \n \n Suitcase\n \n \n \n Suitcase Rolling\n \n \n \n Sun\n \n \n \n superscript\n \n \n \n Hushed Face\n \n \n \n Swatchbook\n \n \n \n Swimmer\n \n \n \n Swimming Pool\n \n \n \n Synagogue\n \n \n \n Sync\n \n \n \n Alternate Sync\n \n \n \n Syringe\n \n \n \n table\n \n \n \n Table Tennis\n \n \n \n tablet\n \n \n \n Alternate Tablet\n \n \n \n Tablets\n \n \n \n Alternate Tachometer\n \n \n \n tag\n \n \n \n tags\n \n \n \n Tape\n \n \n \n Tasks\n \n \n \n Taxi\n \n \n \n Teeth\n \n \n \n Teeth Open\n \n \n \n High Temperature\n \n \n \n Low Temperature\n \n \n \n Tenge\n \n \n \n Terminal\n \n \n \n text-height\n \n \n \n text-width\n \n \n \n th\n \n \n \n th-large\n \n \n \n th-list\n \n \n \n Theater Masks\n \n \n \n Thermometer\n \n \n \n Thermometer Empty\n \n \n \n Thermometer Full\n \n \n \n Thermometer 1/2 Full\n \n \n \n Thermometer 1/4 Full\n \n \n \n Thermometer 3/4 Full\n \n \n \n thumbs-down\n \n \n \n thumbs-up\n \n \n \n Thumbtack\n \n \n \n Alternate Ticket\n \n \n \n Times\n \n \n \n Times Circle\n \n \n \n tint\n \n \n \n Tint Slash\n \n \n \n Tired Face\n \n \n \n Toggle Off\n \n \n \n Toggle On\n \n \n \n Toilet\n \n \n \n Toilet Paper\n \n \n \n Toolbox\n \n \n \n Tools\n \n \n \n Tooth\n \n \n \n Torah\n \n \n \n Torii Gate\n \n \n \n Tractor\n \n \n \n Trademark\n \n \n \n Traffic Light\n \n \n \n Train\n \n \n \n Tram\n \n \n \n Transgender\n \n \n \n Alternate Transgender\n \n \n \n Trash\n \n \n \n Alternate Trash\n \n \n \n Trash Restore\n \n \n \n Alternative Trash Restore\n \n \n \n Tree\n \n \n \n trophy\n \n \n \n truck\n \n \n \n Truck Loading\n \n \n \n Truck Monster\n \n \n \n Truck Moving\n \n \n \n Truck Side\n \n \n \n T-Shirt\n \n \n \n TTY\n \n \n \n Television\n \n \n \n Umbrella\n \n \n \n Umbrella Beach\n \n \n \n Underline\n \n \n \n Undo\n \n \n \n Alternate Undo\n \n \n \n Universal Access\n \n \n \n University\n \n \n \n unlink\n \n \n \n unlock\n \n \n \n Alternate Unlock\n \n \n \n Upload\n \n \n \n User\n \n \n \n Alternate User\n \n \n \n Alternate User Slash\n \n \n \n User Astronaut\n \n \n \n User Check\n \n \n \n User Circle\n \n \n \n User Clock\n \n \n \n User Cog\n \n \n \n User Edit\n \n \n \n User Friends\n \n \n \n User Graduate\n \n \n \n User Injured\n \n \n \n User Lock\n \n \n \n Doctor\n \n \n \n User Minus\n \n \n \n User Ninja\n \n \n \n Nurse\n \n \n \n User Plus\n \n \n \n User Secret\n \n \n \n User Shield\n \n \n \n User Slash\n \n \n \n User Tag\n \n \n \n User Tie\n \n \n \n Remove User\n \n \n \n Users\n \n \n \n Users Cog\n \n \n \n Utensil Spoon\n \n \n \n Utensils\n \n \n \n Vector Square\n \n \n \n Venus\n \n \n \n Venus Double\n \n \n \n Venus Mars\n \n \n \n Vial\n \n \n \n Vials\n \n \n \n Video\n \n \n \n Video Slash\n \n \n \n Vihara\n \n \n \n Volleyball Ball\n \n \n \n Volume Down\n \n \n \n Volume Mute\n \n \n \n Volume Off\n \n \n \n Volume Up\n \n \n \n Vote Yea\n \n \n \n Cardboard VR\n \n \n \n Walking\n \n \n \n Wallet\n \n \n \n Warehouse\n \n \n \n Water\n \n \n \n Weight\n \n \n \n Hanging Weight\n \n \n \n Wheelchair\n \n \n \n WiFi\n \n \n \n Wind\n \n \n \n Window Close\n \n \n \n Window Maximize\n \n \n \n Window Minimize\n \n \n \n Window Restore\n \n \n \n Wine Bottle\n \n \n \n Wine Glass\n \n \n \n Alternate Wine Glas\n \n \n \n Won Sign\n \n \n \n Wrench\n \n \n \n X-Ray\n \n \n \n Yen Sign\n \n \n \n Yin Yang\n \n \n\n',document.body.insertBefore(t,document.body.firstChild)}}};var l=function(c,t,l,i,e,h,n,a,s,o){"boolean"!=typeof n&&(s=a,a=n,n=!1);var v,d="function"==typeof l?l.options:l;if(c&&c.render&&(d.render=c.render,d.staticRenderFns=c.staticRenderFns,d._compiled=!0,e&&(d.functional=!0)),i&&(d._scopeId=i),h?(v=function(c){(c=c||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(c=__VUE_SSR_CONTEXT__),t&&t.call(this,s(c)),c&&c._registeredComponents&&c._registeredComponents.add(h)},d._ssrRegister=v):t&&(v=n?function(){t.call(this,o(this.$root.$options.shadowRoot))}:function(c){t.call(this,a(c))}),v)if(d.functional){var m=d.render;d.render=function(c,t){return v.call(t),m(c,t)}}else{var z=d.beforeCreate;d.beforeCreate=z?[].concat(z,v):[v]}return l};var i=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l(c.component,{tag:"component",staticClass:"c-btn",class:[{large:c.large,block:c.block,outline:c.outline,loading:c.loading}],attrs:{to:c.to,href:c.href,target:c.target,type:c.computedType,disabled:c.disabled},on:{click:function(t){return c.$emit("click")}}},[c.loading?[l("spinner")]:c._e(),c._v(" "),l("div",{staticClass:"c-btn-content"},[c.icon?l("icon",{attrs:{icon:c.icon}}):c._e(),c._v(" "),c._t("default")],2)],2)},staticRenderFns:[]},void 0,{name:"Btn",props:{type:{type:String,default:"button"},large:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},icon:{type:String,default:null},loading:{type:Boolean,default:!1},to:{type:String,default:null},href:{type:String,default:null},target:{type:String,default:null}},computed:{component:function(){return null!==this.to?"router-link":null!==this.href?"a":"button"},computedType:function(){return null!==this.to||null!==this.href?null:this.type}}},void 0,!1,void 0,void 0,void 0);var e=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",{staticClass:"field",attrs:{id:"field-"+c.id}},[c.label?l("label",{attrs:{for:c.id}},[c._v(c._s(c.label))]):c._e(),c._v(" "),c._t("default")],2)},staticRenderFns:[]},void 0,{props:["id","label"]},void 0,!1,void 0,void 0,void 0);var h=l({render:function(){var c=this.$createElement,t=this._self._c||c;return t("svg",{staticClass:"c-icon",attrs:{viewBox:"0 0 18 18",width:"18",height:"18",role:"presentation"}},[t("use",{attrs:{"xmlns:xlink":"http://www.w3.org/1999/xlink","xlink:href":"#"+this.icon}})])},staticRenderFns:[]},void 0,{props:["icon","cssClass"]},void 0,!1,void 0,void 0,void 0);var n=l({render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var c=this.$createElement,t=this._self._c||c;return t("div",{staticClass:"c-spinner"},[t("div",{staticClass:"animation"})])}]},void 0,{},void 0,!1,void 0,void 0,void 0);var a=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("div",{staticClass:"field"},[l("label",[l("input",{attrs:{id:c.id,type:"checkbox"},domProps:{value:c.value,checked:c.value},on:{change:function(t){return c.$emit("input",t.target.checked)}}}),c._v("\n "+c._s(c.label)+"\n ")]),c._v(" "),c.instructions?l("p",{staticClass:"instructions",domProps:{innerHTML:c._s(c.instructions)}}):c._e(),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v(c._s(t))])})],2)])},staticRenderFns:[]},void 0,{props:["errors","id","label","value","instructions"]},"data-v-ac5bdb82",!1,void 0,void 0,void 0);var s=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("fieldset",{staticClass:"checkboxes"},[l("legend",[c._v(c._s(c.label))]),c._v(" "),c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("ul",c._l(this.options,function(t,i){return l("li",{key:i},[l("label",[l("input",{directives:[{name:"model",rawName:"v-model",value:c.localValue,expression:"localValue"}],attrs:{type:"checkbox"},domProps:{value:t.value,checked:Array.isArray(c.localValue)?c._i(c.localValue,t.value)>-1:c.localValue},on:{change:[function(l){var i=c.localValue,e=l.target,h=!!e.checked;if(Array.isArray(i)){var n=t.value,a=c._i(i,n);e.checked?a<0&&(c.localValue=i.concat([n])):a>-1&&(c.localValue=i.slice(0,a).concat(i.slice(a+1)))}else c.localValue=h},function(t){return c.$emit("input",c.localValue)}]}}),c._v("\n "+c._s(t.label)+"\n ")])])}),0),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v(c._s(t))])})],2)])},staticRenderFns:[]},void 0,{props:["options","label","instructions","value","errors"],data:function(){return{localValue:[]}},mounted:function(){this.localValue=JSON.parse(JSON.stringify(this.value))}},"data-v-2744c7e4",!1,void 0,void 0,void 0);var o=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("label",{staticClass:"lightswitch",class:{disabled:c.disabled},attrs:{for:c.id}},[l("input",{attrs:{id:c.id,type:"checkbox",disabled:c.disabled},domProps:{checked:c.checked},on:{input:function(t){return c.$emit("update:checked",t.target.checked)},change:function(t){return c.$emit("change",t)}}}),c._v(" "),l("div",{staticClass:"slider round"})])])},staticRenderFns:[]},void 0,{props:["id","checked","disabled"]},"data-v-2b9d01d8",!1,void 0,void 0,void 0);var v=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("lightswitch-input",{attrs:{id:c.id,checked:c.checked,disabled:c.disabled},on:{change:function(t){return c.$emit("change",t)},"update:checked":function(t){return c.$emit("update:checked",t)}}})],1)},staticRenderFns:[]},void 0,{props:["label","id","checked","instructions","disabled"],components:{Field:e,LightswitchInput:o}},void 0,!1,void 0,void 0,void 0);var d=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{ref:"input",class:{"w-full":!c.size},attrs:{autofocus:c.autofocus,id:c.id,name:c.name,placeholder:c.placeholder,autocomplete:"off",type:"password"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","name","placeholder","value","autofocus","size"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})}},"data-v-6a117d3d",!1,void 0,void 0,void 0);var m=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("password-input",{ref:"input",class:{"is-invalid":c.errors},attrs:{id:c.id,name:c.name,placeholder:c.placeholder,value:c.value,size:c.size,autofocus:c.autofocus},on:{input:function(t){return c.$emit("input",t)}}}),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","id","name","placeholder","value","autofocus","errors","size","instructions"],components:{Field:e,PasswordInput:d},created:function(){this.$on("focus",function(){this.$refs.input.$emit("focus")})}},void 0,!1,void 0,void 0,void 0);var z=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("div",{staticClass:"select"},[l("select",{class:{"w-full":c.fullwidth},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target[t.target.selectedIndex].value)}}},c._l(c.options,function(t,i){return l("option",{key:i,domProps:{value:t.value}},[c._v(c._s(t.label))])}),0)])])},staticRenderFns:[]},void 0,{props:["fullwidth","options","value"]},"data-v-211a2741",!1,void 0,void 0,void 0);var p=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id+"-label",label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("select-input",{attrs:{fullwidth:c.fullwidth,options:c.options,value:c.value},on:{input:function(t){return c.$emit("input",t)}}}),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","instructions","fullwidth","id","options","value","errors"],components:{Field:e,SelectInput:z}},void 0,!1,void 0,void 0,void 0);var r=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("textarea",{class:{"w-full":!c.size},attrs:{cols:c.cols,disabled:c.disabled,id:c.id,placeholder:c.placeholder,autocapitalize:c.autocapitalize,spellcheck:c.spellcheck,autocomplete:"off",type:"text"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","placeholder","value","cols","disabled","autocapitalize","spellcheck","size"]},"data-v-3ef58e55",!1,void 0,void 0,void 0);var b=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id+"-label",label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("div",{staticClass:"wrapper"},[l("textarea-input",{class:{"is-invalid":c.errors,"text-red-dark":c.max&&c.max=20,"text-orange":c.remainingChars<20&&c.remainingChars>=0,"text-red":c.remainingChars<0}},[c._v(c._s(c.remainingChars)+" character"+c._s(c.remainingChars>1||c.remainingChars<1?"s":"")+" left.")]):c._e()],1),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v(c._s(t))])})],2)},staticRenderFns:[]},void 0,{props:["label","instructions","id","placeholder","value","cols","rows","errors","disabled","autocapitalize","spellcheck","size","max"],components:{Field:e,TextareaInput:r},computed:{remainingChars:function(){if(this.max)return this.max-this.value.length}}},"data-v-76633c9c",!1,void 0,void 0,void 0);var y=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{directives:[{name:"mask",rawName:"v-mask",value:c.mask,expression:"mask"}],ref:"input",class:{"w-full":!c.size},attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,name:c.name,placeholder:c.placeholder,autocomplete:"off",autocapitalize:c.autocapitalize,spellcheck:c.spellcheck,readonly:c.readonly,size:c.size,type:"text"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","name","placeholder","value","autofocus","disabled","mask","autocapitalize","spellcheck","readonly","size"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})},directives:{mask:{bind:function(c,t){t.value}}}},"data-v-56acaf34",!1,void 0,void 0,void 0);var M=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("div",{staticClass:"wrapper"},[l("text-input",{ref:"input",class:{"is-invalid":c.errors,"text-red-dark":c.max&&c.max=20,"text-orange":c.remainingChars<20&&c.remainingChars>=0,"text-red":c.remainingChars<0}},[c._v(c._s(c.remainingChars)+" character"+c._s(c.remainingChars>1||c.remainingChars<1?"s":"")+" left.")]):c._e()],1),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","id","name","placeholder","value","autofocus","errors","disabled","instructions","mask","autocapitalize","spellcheck","readonly","size","max"],components:{Field:e,TextInput:y},computed:{remainingChars:function(){if(this.max)return this.max-this.value.length}},created:function(){this.$on("focus",function(){this.$refs.input.$emit("focus")})}},"data-v-339cab58",!1,void 0,void 0,void 0);var H=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{ref:"input",class:{"w-full":!c.size},attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,placeholder:c.placeholder,autocomplete:"off",type:"url"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","placeholder","value","autofocus","disabled","size"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})}},"data-v-e2a7d0c8",!1,void 0,void 0,void 0);var V={Btn:i,Field:e,Icon:h,Spinner:n,CheckboxField:a,CheckboxSet:s,LightswitchField:v,PasswordField:m,SelectField:p,TextareaField:b,TextField:M,UrlField:l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("url-input",{ref:"input",class:{"is-invalid":c.errors},attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,placeholder:c.placeholder,value:c.value,size:c.size},on:{input:function(t){return c.$emit("input",t)}}}),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","id","placeholder","value","autofocus","errors","disabled","instructions","size"],components:{Field:e,UrlInput:H},created:function(){this.$on("focus",function(){this.$refs.input.$emit("focus")})}},void 0,!1,void 0,void 0,void 0),LightswitchInput:o,PasswordInput:d,SelectInput:z,TextareaInput:r,TextInput:y,NumberInput:l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{ref:"input",attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,name:c.name,placeholder:c.placeholder,autocomplete:"off",readonly:c.readonly,min:c.min,max:c.max,step:c.step,pattern:c.pattern,type:"number"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)},change:function(t){return c.$emit("change",t)},keypress:function(t){return c.$emit("keypress",t)},keydown:function(t){return c.$emit("keydown",t)},keyup:function(t){return c.$emit("keyup",t)}}})},staticRenderFns:[]},void 0,{props:["id","name","placeholder","value","autofocus","disabled","readonly","min","max","step","pattern"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})}},void 0,!1,void 0,void 0,void 0),UrlInput:H},C={install:function(c){c.use(t),Object.keys(V).forEach(function(t){c.component(t,V[t])})}};c.default=C,Object.defineProperty(c,"__esModule",{value:!0})}); +!function(c,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(c.CraftUi={})}(this,function(c){"use strict";var t={install:function(c){if("undefined"!=typeof document){var t=document.createElement("div");t.style.display="none",t.innerHTML='\n\n \n \n Address Book\n \n \n \n Address Card\n \n \n \n adjust\n \n \n \n Air Freshener\n \n \n \n align-center\n \n \n \n align-justify\n \n \n \n align-left\n \n \n \n align-right\n \n \n \n Allergies\n \n \n \n ambulance\n \n \n \n American Sign Language Interpreting\n \n \n \n Anchor\n \n \n \n Angle Double Down\n \n \n \n Angle Double Left\n \n \n \n Angle Double Right\n \n \n \n Angle Double Up\n \n \n \n angle-down\n \n \n \n angle-left\n \n \n \n angle-right\n \n \n \n angle-up\n \n \n \n Angry Face\n \n \n \n Ankh\n \n \n \n Fruit Apple\n \n \n \n Archive\n \n \n \n Archway\n \n \n \n Alternate Arrow Circle Down\n \n \n \n Alternate Arrow Circle Left\n \n \n \n Alternate Arrow Circle Right\n \n \n \n Alternate Arrow Circle Up\n \n \n \n Arrow Circle Down\n \n \n \n Arrow Circle Left\n \n \n \n Arrow Circle Right\n \n \n \n Arrow Circle Up\n \n \n \n arrow-down\n \n \n \n arrow-left\n \n \n \n arrow-right\n \n \n \n arrow-up\n \n \n \n Alternate Arrows\n \n \n \n Alternate Arrows Horizontal\n \n \n \n Alternate Arrows Vertical\n \n \n \n Assistive Listening Systems\n \n \n \n asterisk\n \n \n \n At\n \n \n \n Atlas\n \n \n \n Atom\n \n \n \n Audio Description\n \n \n \n Award\n \n \n \n Baby\n \n \n \n Baby Carriage\n \n \n \n Backspace\n \n \n \n backward\n \n \n \n Bacon\n \n \n \n Balance Scale\n \n \n \n ban\n \n \n \n Band-Aid\n \n \n \n barcode\n \n \n \n Bars\n \n \n \n Baseball Ball\n \n \n \n Basketball Ball\n \n \n \n Bath\n \n \n \n Battery Empty\n \n \n \n Battery Full\n \n \n \n Battery 1/2 Full\n \n \n \n Battery 1/4 Full\n \n \n \n Battery 3/4 Full\n \n \n \n Bed\n \n \n \n beer\n \n \n \n bell\n \n \n \n Bell Slash\n \n \n \n Bezier Curve\n \n \n \n Bible\n \n \n \n Bicycle\n \n \n \n Binoculars\n \n \n \n Biohazard\n \n \n \n Birthday Cake\n \n \n \n Blender\n \n \n \n Blender Phone\n \n \n \n Blind\n \n \n \n Blog\n \n \n \n bold\n \n \n \n Lightning Bolt\n \n \n \n Bomb\n \n \n \n Bone\n \n \n \n Bong\n \n \n \n book\n \n \n \n Book of the Dead\n \n \n \n Medical Book\n \n \n \n Book Open\n \n \n \n Book Reader\n \n \n \n bookmark\n \n \n \n Bowling Ball\n \n \n \n Box\n \n \n \n Box Open\n \n \n \n Boxes\n \n \n \n Braille\n \n \n \n Brain\n \n \n \n Bread Slice\n \n \n \n Briefcase\n \n \n \n Medical Briefcase\n \n \n \n Broadcast Tower\n \n \n \n Broom\n \n \n \n Brush\n \n \n \n Bug\n \n \n \n Building\n \n \n \n bullhorn\n \n \n \n Bullseye\n \n \n \n Burn\n \n \n \n Bus\n \n \n \n Bus Alt\n \n \n \n Business Time\n \n \n \n Calculator\n \n \n \n Calendar\n \n \n \n Alternate Calendar\n \n \n \n Calendar Check\n \n \n \n Calendar with Day Focus\n \n \n \n Calendar Minus\n \n \n \n Calendar Plus\n \n \n \n Calendar Times\n \n \n \n Calendar with Week Focus\n \n \n \n camera\n \n \n \n Retro Camera\n \n \n \n Campground\n \n \n \n Candy Cane\n \n \n \n Cannabis\n \n \n \n Capsules\n \n \n \n Car\n \n \n \n Alternate Car\n \n \n \n Car Battery\n \n \n \n Car Crash\n \n \n \n Car Side\n \n \n \n Caret Down\n \n \n \n Caret Left\n \n \n \n Caret Right\n \n \n \n Caret Square Down\n \n \n \n Caret Square Left\n \n \n \n Caret Square Right\n \n \n \n Caret Square Up\n \n \n \n Caret Up\n \n \n \n Carrot\n \n \n \n Shopping Cart Arrow Down\n \n \n \n Add to Shopping Cart\n \n \n \n Cash Register\n \n \n \n Cat\n \n \n \n certificate\n \n \n \n Chair\n \n \n \n Chalkboard\n \n \n \n Chalkboard Teacher\n \n \n \n Charging Station\n \n \n \n Area Chart\n \n \n \n Bar Chart\n \n \n \n Line Chart\n \n \n \n Pie Chart\n \n \n \n Check\n \n \n \n Check Circle\n \n \n \n Check Double\n \n \n \n Check Square\n \n \n \n Cheese\n \n \n \n Chess\n \n \n \n Chess Bishop\n \n \n \n Chess Board\n \n \n \n Chess King\n \n \n \n Chess Knight\n \n \n \n Chess Pawn\n \n \n \n Chess Queen\n \n \n \n Chess Rook\n \n \n \n Chevron Circle Down\n \n \n \n Chevron Circle Left\n \n \n \n Chevron Circle Right\n \n \n \n Chevron Circle Up\n \n \n \n chevron-down\n \n \n \n chevron-left\n \n \n \n chevron-right\n \n \n \n chevron-up\n \n \n \n Child\n \n \n \n Church\n \n \n \n Circle\n \n \n \n Circle Notched\n \n \n \n City\n \n \n \n Medical Clinic\n \n \n \n Clipboard\n \n \n \n Clipboard with Check\n \n \n \n Clipboard List\n \n \n \n Clock\n \n \n \n Clone\n \n \n \n Closed Captioning\n \n \n \n Cloud\n \n \n \n Alternate Cloud Download\n \n \n \n Cloud with (a chance of) Meatball\n \n \n \n Cloud with Moon\n \n \n \n Cloud with Moon and Rain\n \n \n \n Cloud with Rain\n \n \n \n Cloud with Heavy Showers\n \n \n \n Cloud with Sun\n \n \n \n Cloud with Sun and Rain\n \n \n \n Alternate Cloud Upload\n \n \n \n Cocktail\n \n \n \n Code\n \n \n \n Code Branch\n \n \n \n Coffee\n \n \n \n cog\n \n \n \n cogs\n \n \n \n Coins\n \n \n \n Columns\n \n \n \n comment\n \n \n \n Alternate Comment\n \n \n \n Comment Dollar\n \n \n \n Comment Dots\n \n \n \n Alternate Medical Chat\n \n \n \n Comment Slash\n \n \n \n comments\n \n \n \n Comments Dollar\n \n \n \n Compact Disc\n \n \n \n Compass\n \n \n \n Compress\n \n \n \n Alternate Compress Arrows\n \n \n \n Concierge Bell\n \n \n \n Cookie\n \n \n \n Cookie Bite\n \n \n \n Copy\n \n \n \n Copyright\n \n \n \n Couch\n \n \n \n Credit Card\n \n \n \n crop\n \n \n \n Alternate Crop\n \n \n \n Cross\n \n \n \n Crosshairs\n \n \n \n Crow\n \n \n \n Crown\n \n \n \n Crutch\n \n \n \n Cube\n \n \n \n Cubes\n \n \n \n Cut\n \n \n \n Database\n \n \n \n Deaf\n \n \n \n Democrat\n \n \n \n Desktop\n \n \n \n Dharmachakra\n \n \n \n Diagnoses\n \n \n \n Dice\n \n \n \n Dice D20\n \n \n \n Dice D6\n \n \n \n Dice Five\n \n \n \n Dice Four\n \n \n \n Dice One\n \n \n \n Dice Six\n \n \n \n Dice Three\n \n \n \n Dice Two\n \n \n \n Digital Tachograph\n \n \n \n Directions\n \n \n \n Divide\n \n \n \n Dizzy Face\n \n \n \n DNA\n \n \n \n Dog\n \n \n \n Dollar Sign\n \n \n \n Dolly\n \n \n \n Dolly Flatbed\n \n \n \n \n Door Closed\n \n \n \n Door Open\n \n \n \n Dot Circle\n \n \n \n Dove\n \n \n \n Download\n \n \n \n Drafting Compass\n \n \n \n Dragon\n \n \n \n Draw Polygon\n \n \n \n Drum\n \n \n \n Drum Steelpan\n \n \n \n Drumstick with Bite Taken Out\n \n \n \n Dumbbell\n \n \n \n Dumpster\n \n \n \n Dumpster Fire\n \n \n \n Dungeon\n \n \n \n Edit\n \n \n \n Egg\n \n \n \n eject\n \n \n \n Horizontal Ellipsis\n \n \n \n Vertical Ellipsis\n \n \n \n Envelope\n \n \n \n Envelope Open\n \n \n \n Envelope Open-text\n \n \n \n Envelope Square\n \n \n \n Equals\n \n \n \n eraser\n \n \n \n Ethernet\n \n \n \n Euro Sign\n \n \n \n Alternate Exchange\n \n \n \n exclamation\n \n \n \n Exclamation Circle\n \n \n \n Exclamation Triangle\n \n \n \n Expand\n \n \n \n Alternate Expand Arrows\n \n \n \n Alternate External Link\n \n \n \n Alternate External Link Square\n \n \n \n Eye\n \n \n \n Eye Dropper\n \n \n \n Eye Slash\n \n \n \n fast-backward\n \n \n \n fast-forward\n \n \n \n Fax\n \n \n \n Feather\n \n \n \n Alternate Feather\n \n \n \n Female\n \n \n \n fighter-jet\n \n \n \n File\n \n \n \n Alternate File\n \n \n \n Archive File\n \n \n \n Audio File\n \n \n \n Code File\n \n \n \n File Contract\n \n \n \n File CSV\n \n \n \n File Download\n \n \n \n Excel File\n \n \n \n File Export\n \n \n \n Image File\n \n \n \n File Import\n \n \n \n File Invoice\n \n \n \n File Invoice with US Dollar\n \n \n \n Medical File\n \n \n \n Alternate Medical File\n \n \n \n PDF File\n \n \n \n Powerpoint File\n \n \n \n File Prescription\n \n \n \n File Signature\n \n \n \n File Upload\n \n \n \n Video File\n \n \n \n Word File\n \n \n \n Fill\n \n \n \n Fill Drip\n \n \n \n Film\n \n \n \n Filter\n \n \n \n Fingerprint\n \n \n \n fire\n \n \n \n Alternate Fire\n \n \n \n fire-extinguisher\n \n \n \n First Aid\n \n \n \n Fish\n \n \n \n Raised Fist\n \n \n \n flag\n \n \n \n flag-checkered\n \n \n \n United States of America Flag\n \n \n \n Flask\n \n \n \n Flushed Face\n \n \n \n Folder\n \n \n \n Folder Minus\n \n \n \n Folder Open\n \n \n \n Folder Plus\n \n \n \n font\n \n \n \n Font Awesome Full Logo\n \n \n \n Football Ball\n \n \n \n forward\n \n \n \n Frog\n \n \n \n Frowning Face\n \n \n \n Frowning Face With Open Mouth\n \n \n \n Funnel Dollar\n \n \n \n Futbol\n \n \n \n Gamepad\n \n \n \n Gas Pump\n \n \n \n Gavel\n \n \n \n Gem\n \n \n \n Genderless\n \n \n \n Ghost\n \n \n \n gift\n \n \n \n Gifts\n \n \n \n Glass Cheers\n \n \n \n Martini Glass\n \n \n \n Alternate Glass Martini\n \n \n \n Glass Whiskey\n \n \n \n Glasses\n \n \n \n Globe\n \n \n \n Globe with Africa shown\n \n \n \n Globe with Americas shown\n \n \n \n Globe with Asia shown\n \n \n \n Globe with Europe shown\n \n \n \n Golf Ball\n \n \n \n Gopuram\n \n \n \n Graduation Cap\n \n \n \n Greater Than\n \n \n \n Greater Than Equal To\n \n \n \n Grimacing Face\n \n \n \n Grinning Face\n \n \n \n Alternate Grinning Face\n \n \n \n Grinning Face With Smiling Eyes\n \n \n \n Grinning Face With Sweat\n \n \n \n Smiling Face With Heart-Eyes\n \n \n \n Grinning Squinting Face\n \n \n \n Rolling on the Floor Laughing\n \n \n \n Star-Struck\n \n \n \n Face With Tears of Joy\n \n \n \n Face With Tongue\n \n \n \n Squinting Face With Tongue\n \n \n \n Winking Face With Tongue\n \n \n \n Grinning Winking Face\n \n \n \n Grip Horizontal\n \n \n \n Grip Lines\n \n \n \n Grip Lines Vertical\n \n \n \n Grip Vertical\n \n \n \n Guitar\n \n \n \n H Square\n \n \n \n Hamburger\n \n \n \n Hammer\n \n \n \n Hamsa\n \n \n \n Hand Holding\n \n \n \n Hand Holding Heart\n \n \n \n Hand Holding US Dollar\n \n \n \n Lizard (Hand)\n \n \n \n Hand with Middle Finger Raised\n \n \n \n Paper (Hand)\n \n \n \n Peace (Hand)\n \n \n \n Hand Pointing Down\n \n \n \n Hand Pointing Left\n \n \n \n Hand Pointing Right\n \n \n \n Hand Pointing Up\n \n \n \n Pointer (Hand)\n \n \n \n Rock (Hand)\n \n \n \n Scissors (Hand)\n \n \n \n Spock (Hand)\n \n \n \n Hands\n \n \n \n Helping Hands\n \n \n \n Handshake\n \n \n \n Hanukiah\n \n \n \n Hard Hat\n \n \n \n Hashtag\n \n \n \n Wizard's Hat\n \n \n \n Haykal\n \n \n \n HDD\n \n \n \n heading\n \n \n \n headphones\n \n \n \n Alternate Headphones\n \n \n \n Headset\n \n \n \n Heart\n \n \n \n Heart Broken\n \n \n \n Heartbeat\n \n \n \n Helicopter\n \n \n \n Highlighter\n \n \n \n Hiking\n \n \n \n Hippo\n \n \n \n History\n \n \n \n Hockey Puck\n \n \n \n Holly Berry\n \n \n \n home\n \n \n \n Horse\n \n \n \n Horse Head\n \n \n \n hospital\n \n \n \n Alternate Hospital\n \n \n \n Hospital Symbol\n \n \n \n Hot Tub\n \n \n \n Hot Dog\n \n \n \n Hotel\n \n \n \n Hourglass\n \n \n \n Hourglass End\n \n \n \n Hourglass Half\n \n \n \n Hourglass Start\n \n \n \n Damaged House\n \n \n \n Hryvnia\n \n \n \n I Beam Cursor\n \n \n \n Ice Cream\n \n \n \n Icicles\n \n \n \n Identification Badge\n \n \n \n Identification Card\n \n \n \n Alternate Identification Card\n \n \n \n Igloo\n \n \n \n Image\n \n \n \n Images\n \n \n \n inbox\n \n \n \n Indent\n \n \n \n Industry\n \n \n \n Infinity\n \n \n \n Info\n \n \n \n Info Circle\n \n \n \n italic\n \n \n \n Jedi\n \n \n \n Joint\n \n \n \n Journal of the Whills\n \n \n \n Kaaba\n \n \n \n key\n \n \n \n Keyboard\n \n \n \n Khanda\n \n \n \n Kissing Face\n \n \n \n Kissing Face With Smiling Eyes\n \n \n \n Face Blowing a Kiss\n \n \n \n Kiwi Bird\n \n \n \n Landmark\n \n \n \n Language\n \n \n \n Laptop\n \n \n \n Laptop Code\n \n \n \n Laptop Medical\n \n \n \n Grinning Face With Big Eyes\n \n \n \n Laugh Face with Beaming Eyes\n \n \n \n Laughing Squinting Face\n \n \n \n Laughing Winking Face\n \n \n \n Layer Group\n \n \n \n leaf\n \n \n \n Lemon\n \n \n \n Less Than\n \n \n \n Less Than Equal To\n \n \n \n Alternate Level Down\n \n \n \n Alternate Level Up\n \n \n \n Life Ring\n \n \n \n Lightbulb\n \n \n \n Link\n \n \n \n Turkish Lira Sign\n \n \n \n List\n \n \n \n Alternate List\n \n \n \n list-ol\n \n \n \n list-ul\n \n \n \n location-arrow\n \n \n \n lock\n \n \n \n Lock Open\n \n \n \n Alternate Long Arrow Down\n \n \n \n Alternate Long Arrow Left\n \n \n \n Alternate Long Arrow Right\n \n \n \n Alternate Long Arrow Up\n \n \n \n Low Vision\n \n \n \n Luggage Cart\n \n \n \n magic\n \n \n \n magnet\n \n \n \n Mail Bulk\n \n \n \n Male\n \n \n \n Map\n \n \n \n Map Marked\n \n \n \n Alternate Map Marked\n \n \n \n map-marker\n \n \n \n Alternate Map Marker\n \n \n \n Map Pin\n \n \n \n Map Signs\n \n \n \n Marker\n \n \n \n Mars\n \n \n \n Mars Double\n \n \n \n Mars Stroke\n \n \n \n Mars Stroke Horizontal\n \n \n \n Mars Stroke Vertical\n \n \n \n Mask\n \n \n \n Medal\n \n \n \n medkit\n \n \n \n Neutral Face\n \n \n \n Face Without Mouth\n \n \n \n Face With Rolling Eyes\n \n \n \n Memory\n \n \n \n Menorah\n \n \n \n Mercury\n \n \n \n Meteor\n \n \n \n Microchip\n \n \n \n microphone\n \n \n \n Alternate Microphone\n \n \n \n Alternate Microphone Slash\n \n \n \n Microphone Slash\n \n \n \n Microscope\n \n \n \n minus\n \n \n \n Minus Circle\n \n \n \n Minus Square\n \n \n \n Mitten\n \n \n \n Mobile Phone\n \n \n \n Alternate Mobile\n \n \n \n Money Bill\n \n \n \n Alternate Money Bill\n \n \n \n Wavy Money Bill\n \n \n \n Alternate Wavy Money Bill\n \n \n \n Money Check\n \n \n \n Alternate Money Check\n \n \n \n Monument\n \n \n \n Moon\n \n \n \n Mortar Pestle\n \n \n \n Mosque\n \n \n \n Motorcycle\n \n \n \n Mountain\n \n \n \n Mouse Pointer\n \n \n \n Mug Hot\n \n \n \n Music\n \n \n \n Wired Network\n \n \n \n Neuter\n \n \n \n Newspaper\n \n \n \n Not Equal\n \n \n \n Medical Notes\n \n \n \n Object Group\n \n \n \n Object Ungroup\n \n \n \n Oil Can\n \n \n \n Om\n \n \n \n Otter\n \n \n \n Outdent\n \n \n \n Pager\n \n \n \n Paint Brush\n \n \n \n Paint Roller\n \n \n \n Palette\n \n \n \n Pallet\n \n \n \n Paper Plane\n \n \n \n Paperclip\n \n \n \n Parachute Box\n \n \n \n paragraph\n \n \n \n Parking\n \n \n \n Passport\n \n \n \n Pastafarianism\n \n \n \n Paste\n \n \n \n pause\n \n \n \n Pause Circle\n \n \n \n Paw\n \n \n \n Peace\n \n \n \n Pen\n \n \n \n Alternate Pen\n \n \n \n Pen Fancy\n \n \n \n Pen Nib\n \n \n \n Pen Square\n \n \n \n Alternate Pencil\n \n \n \n Pencil Ruler\n \n \n \n People Carry\n \n \n \n Hot Pepper\n \n \n \n Percent\n \n \n \n Percentage\n \n \n \n Person Entering Booth\n \n \n \n Phone\n \n \n \n Phone Slash\n \n \n \n Phone Square\n \n \n \n Phone Volume\n \n \n \n Piggy Bank\n \n \n \n Pills\n \n \n \n Pizza Slice\n \n \n \n Place of Worship\n \n \n \n plane\n \n \n \n Plane Arrival\n \n \n \n Plane Departure\n \n \n \n play\n \n \n \n Play Circle\n \n \n \n Plug\n \n \n \n plus\n \n \n \n Plus Circle\n \n \n \n Plus Square\n \n \n \n Podcast\n \n \n \n Poll\n \n \n \n Poll H\n \n \n \n Poo\n \n \n \n Poo Storm\n \n \n \n Poop\n \n \n \n Portrait\n \n \n \n Pound Sign\n \n \n \n Power Off\n \n \n \n Pray\n \n \n \n Praying Hands\n \n \n \n Prescription\n \n \n \n Prescription Bottle\n \n \n \n Alternate Prescription Bottle\n \n \n \n print\n \n \n \n Procedures\n \n \n \n Project Diagram\n \n \n \n Puzzle Piece\n \n \n \n qrcode\n \n \n \n Question\n \n \n \n Question Circle\n \n \n \n Quidditch\n \n \n \n quote-left\n \n \n \n quote-right\n \n \n \n Quran\n \n \n \n Radiation\n \n \n \n Alternate Radiation\n \n \n \n Rainbow\n \n \n \n random\n \n \n \n Receipt\n \n \n \n Recycle\n \n \n \n Redo\n \n \n \n Alternate Redo\n \n \n \n Registered Trademark\n \n \n \n Reply\n \n \n \n reply-all\n \n \n \n Republican\n \n \n \n Restroom\n \n \n \n Retweet\n \n \n \n Ribbon\n \n \n \n Ring\n \n \n \n road\n \n \n \n Robot\n \n \n \n rocket\n \n \n \n Route\n \n \n \n rss\n \n \n \n RSS Square\n \n \n \n Ruble Sign\n \n \n \n Ruler\n \n \n \n Ruler Combined\n \n \n \n Ruler Horizontal\n \n \n \n Ruler Vertical\n \n \n \n Running\n \n \n \n Indian Rupee Sign\n \n \n \n Crying Face\n \n \n \n Loudly Crying Face\n \n \n \n Satellite\n \n \n \n Satellite Dish\n \n \n \n Save\n \n \n \n School\n \n \n \n Screwdriver\n \n \n \n Scroll\n \n \n \n Sd Card\n \n \n \n Search\n \n \n \n Search Dollar\n \n \n \n Search Location\n \n \n \n Search Minus\n \n \n \n Search Plus\n \n \n \n Seedling\n \n \n \n Server\n \n \n \n Shapes\n \n \n \n Share\n \n \n \n Alternate Share\n \n \n \n Alternate Share Square\n \n \n \n Share Square\n \n \n \n Shekel Sign\n \n \n \n Alternate Shield\n \n \n \n Ship\n \n \n \n Shipping Fast\n \n \n \n Shoe Prints\n \n \n \n Shopping Bag\n \n \n \n Shopping Basket\n \n \n \n shopping-cart\n \n \n \n Shower\n \n \n \n Shuttle Van\n \n \n \n Sign\n \n \n \n Alternate Sign In\n \n \n \n Sign Language\n \n \n \n Alternate Sign Out\n \n \n \n signal\n \n \n \n Signature\n \n \n \n SIM Card\n \n \n \n Sitemap\n \n \n \n Skating\n \n \n \n Skiing\n \n \n \n Skiing Nordic\n \n \n \n Skull\n \n \n \n Skull & Crossbones\n \n \n \n Slash\n \n \n \n Sleigh\n \n \n \n Horizontal Sliders\n \n \n \n Smiling Face\n \n \n \n Beaming Face With Smiling Eyes\n \n \n \n Winking Face\n \n \n \n Smog\n \n \n \n Smoking\n \n \n \n Smoking Ban\n \n \n \n SMS\n \n \n \n Snowboarding\n \n \n \n Snowflake\n \n \n \n Snowman\n \n \n \n Snowplow\n \n \n \n Socks\n \n \n \n Solar Panel\n \n \n \n Sort\n \n \n \n Sort Alpha Down\n \n \n \n Sort Alpha Up\n \n \n \n Sort Amount Down\n \n \n \n Sort Amount Up\n \n \n \n Sort Down (Descending)\n \n \n \n Sort Numeric Down\n \n \n \n Sort Numeric Up\n \n \n \n Sort Up (Ascending)\n \n \n \n Spa\n \n \n \n Space Shuttle\n \n \n \n Spider\n \n \n \n Spinner\n \n \n \n Splotch\n \n \n \n Spray Can\n \n \n \n Square\n \n \n \n Square Full\n \n \n \n Alternate Square Root\n \n \n \n Stamp\n \n \n \n Star\n \n \n \n Star and Crescent\n \n \n \n star-half\n \n \n \n Alternate Star Half\n \n \n \n Star of David\n \n \n \n Star of Life\n \n \n \n step-backward\n \n \n \n step-forward\n \n \n \n Stethoscope\n \n \n \n Sticky Note\n \n \n \n stop\n \n \n \n Stop Circle\n \n \n \n Stopwatch\n \n \n \n Store\n \n \n \n Alternate Store\n \n \n \n Stream\n \n \n \n Street View\n \n \n \n Strikethrough\n \n \n \n Stroopwafel\n \n \n \n subscript\n \n \n \n Subway\n \n \n \n Suitcase\n \n \n \n Suitcase Rolling\n \n \n \n Sun\n \n \n \n superscript\n \n \n \n Hushed Face\n \n \n \n Swatchbook\n \n \n \n Swimmer\n \n \n \n Swimming Pool\n \n \n \n Synagogue\n \n \n \n Sync\n \n \n \n Alternate Sync\n \n \n \n Syringe\n \n \n \n table\n \n \n \n Table Tennis\n \n \n \n tablet\n \n \n \n Alternate Tablet\n \n \n \n Tablets\n \n \n \n Alternate Tachometer\n \n \n \n tag\n \n \n \n tags\n \n \n \n Tape\n \n \n \n Tasks\n \n \n \n Taxi\n \n \n \n Teeth\n \n \n \n Teeth Open\n \n \n \n High Temperature\n \n \n \n Low Temperature\n \n \n \n Tenge\n \n \n \n Terminal\n \n \n \n text-height\n \n \n \n text-width\n \n \n \n th\n \n \n \n th-large\n \n \n \n th-list\n \n \n \n Theater Masks\n \n \n \n Thermometer\n \n \n \n Thermometer Empty\n \n \n \n Thermometer Full\n \n \n \n Thermometer 1/2 Full\n \n \n \n Thermometer 1/4 Full\n \n \n \n Thermometer 3/4 Full\n \n \n \n thumbs-down\n \n \n \n thumbs-up\n \n \n \n Thumbtack\n \n \n \n Alternate Ticket\n \n \n \n Times\n \n \n \n Times Circle\n \n \n \n tint\n \n \n \n Tint Slash\n \n \n \n Tired Face\n \n \n \n Toggle Off\n \n \n \n Toggle On\n \n \n \n Toilet\n \n \n \n Toilet Paper\n \n \n \n Toolbox\n \n \n \n Tools\n \n \n \n Tooth\n \n \n \n Torah\n \n \n \n Torii Gate\n \n \n \n Tractor\n \n \n \n Trademark\n \n \n \n Traffic Light\n \n \n \n Train\n \n \n \n Tram\n \n \n \n Transgender\n \n \n \n Alternate Transgender\n \n \n \n Trash\n \n \n \n Alternate Trash\n \n \n \n Trash Restore\n \n \n \n Alternative Trash Restore\n \n \n \n Tree\n \n \n \n trophy\n \n \n \n truck\n \n \n \n Truck Loading\n \n \n \n Truck Monster\n \n \n \n Truck Moving\n \n \n \n Truck Side\n \n \n \n T-Shirt\n \n \n \n TTY\n \n \n \n Television\n \n \n \n Umbrella\n \n \n \n Umbrella Beach\n \n \n \n Underline\n \n \n \n Undo\n \n \n \n Alternate Undo\n \n \n \n Universal Access\n \n \n \n University\n \n \n \n unlink\n \n \n \n unlock\n \n \n \n Alternate Unlock\n \n \n \n Upload\n \n \n \n User\n \n \n \n Alternate User\n \n \n \n Alternate User Slash\n \n \n \n User Astronaut\n \n \n \n User Check\n \n \n \n User Circle\n \n \n \n User Clock\n \n \n \n User Cog\n \n \n \n User Edit\n \n \n \n User Friends\n \n \n \n User Graduate\n \n \n \n User Injured\n \n \n \n User Lock\n \n \n \n Doctor\n \n \n \n User Minus\n \n \n \n User Ninja\n \n \n \n Nurse\n \n \n \n User Plus\n \n \n \n User Secret\n \n \n \n User Shield\n \n \n \n User Slash\n \n \n \n User Tag\n \n \n \n User Tie\n \n \n \n Remove User\n \n \n \n Users\n \n \n \n Users Cog\n \n \n \n Utensil Spoon\n \n \n \n Utensils\n \n \n \n Vector Square\n \n \n \n Venus\n \n \n \n Venus Double\n \n \n \n Venus Mars\n \n \n \n Vial\n \n \n \n Vials\n \n \n \n Video\n \n \n \n Video Slash\n \n \n \n Vihara\n \n \n \n Volleyball Ball\n \n \n \n Volume Down\n \n \n \n Volume Mute\n \n \n \n Volume Off\n \n \n \n Volume Up\n \n \n \n Vote Yea\n \n \n \n Cardboard VR\n \n \n \n Walking\n \n \n \n Wallet\n \n \n \n Warehouse\n \n \n \n Water\n \n \n \n Weight\n \n \n \n Hanging Weight\n \n \n \n Wheelchair\n \n \n \n WiFi\n \n \n \n Wind\n \n \n \n Window Close\n \n \n \n Window Maximize\n \n \n \n Window Minimize\n \n \n \n Window Restore\n \n \n \n Wine Bottle\n \n \n \n Wine Glass\n \n \n \n Alternate Wine Glas\n \n \n \n Won Sign\n \n \n \n Wrench\n \n \n \n X-Ray\n \n \n \n Yen Sign\n \n \n \n Yin Yang\n \n \n\n',document.body.insertBefore(t,document.body.firstChild)}}};var l=function(c,t,l,i,e,h,n,a,o,s){"boolean"!=typeof n&&(o=a,a=n,n=!1);var v,d="function"==typeof l?l.options:l;if(c&&c.render&&(d.render=c.render,d.staticRenderFns=c.staticRenderFns,d._compiled=!0,e&&(d.functional=!0)),i&&(d._scopeId=i),h?(v=function(c){(c=c||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(c=__VUE_SSR_CONTEXT__),t&&t.call(this,o(c)),c&&c._registeredComponents&&c._registeredComponents.add(h)},d._ssrRegister=v):t&&(v=n?function(){t.call(this,s(this.$root.$options.shadowRoot))}:function(c){t.call(this,a(c))}),v)if(d.functional){var m=d.render;d.render=function(c,t){return v.call(t),m(c,t)}}else{var z=d.beforeCreate;d.beforeCreate=z?[].concat(z,v):[v]}return l};var i=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l(c.component,{tag:"component",staticClass:"c-btn",class:[{large:c.large,block:c.block,outline:c.outline,loading:c.loading}],attrs:{to:c.to,href:c.href,target:c.target,type:c.computedType,disabled:c.disabled},on:{click:function(t){return c.$emit("click")}}},[c.loading?[l("spinner")]:c._e(),c._v(" "),l("div",{staticClass:"c-btn-content"},[c.icon?l("icon",{attrs:{icon:c.icon}}):c._e(),c._v(" "),c._t("default")],2)],2)},staticRenderFns:[]},void 0,{name:"Btn",props:{type:{type:String,default:"button"},large:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},icon:{type:String,default:null},loading:{type:Boolean,default:!1},to:{type:String,default:null},href:{type:String,default:null},target:{type:String,default:null}},computed:{component:function(){return null!==this.to?"router-link":null!==this.href?"a":"button"},computedType:function(){return null!==this.to||null!==this.href?null:this.type}}},void 0,!1,void 0,void 0,void 0);var e=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",{staticClass:"field",attrs:{id:"field-"+c.id}},[c.label?l("label",{attrs:{for:c.id}},[c._v(c._s(c.label))]):c._e(),c._v(" "),c._t("default")],2)},staticRenderFns:[]},void 0,{props:["id","label"]},void 0,!1,void 0,void 0,void 0);var h=l({render:function(){var c=this.$createElement,t=this._self._c||c;return t("svg",{staticClass:"c-icon",attrs:{viewBox:"0 0 18 18",width:"18",height:"18",role:"presentation"}},[t("use",{attrs:{"xmlns:xlink":"http://www.w3.org/1999/xlink","xlink:href":"#"+this.icon}})])},staticRenderFns:[]},void 0,{props:["icon","cssClass"]},void 0,!1,void 0,void 0,void 0);var n=l({render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var c=this.$createElement,t=this._self._c||c;return t("div",{staticClass:"c-spinner"},[t("div",{staticClass:"animation"})])}]},void 0,{},void 0,!1,void 0,void 0,void 0);var a=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("div",{staticClass:"field"},[l("label",[l("input",{attrs:{id:c.id,type:"checkbox"},domProps:{value:c.value,checked:c.value},on:{change:function(t){return c.$emit("input",t.target.checked)}}}),c._v("\n "+c._s(c.label)+"\n ")]),c._v(" "),c.instructions?l("p",{staticClass:"instructions",domProps:{innerHTML:c._s(c.instructions)}}):c._e(),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v(c._s(t))])})],2)])},staticRenderFns:[]},void 0,{props:["errors","id","label","value","instructions"]},"data-v-ac5bdb82",!1,void 0,void 0,void 0);var o=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("fieldset",{staticClass:"checkboxes"},[l("legend",[c._v(c._s(c.label))]),c._v(" "),c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("ul",c._l(this.options,function(t,i){return l("li",{key:i},[l("label",[l("input",{directives:[{name:"model",rawName:"v-model",value:c.localValue,expression:"localValue"}],attrs:{type:"checkbox"},domProps:{value:t.value,checked:Array.isArray(c.localValue)?c._i(c.localValue,t.value)>-1:c.localValue},on:{change:[function(l){var i=c.localValue,e=l.target,h=!!e.checked;if(Array.isArray(i)){var n=t.value,a=c._i(i,n);e.checked?a<0&&(c.localValue=i.concat([n])):a>-1&&(c.localValue=i.slice(0,a).concat(i.slice(a+1)))}else c.localValue=h},function(t){return c.$emit("input",c.localValue)}]}}),c._v("\n "+c._s(t.label)+"\n ")])])}),0),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v(c._s(t))])})],2)])},staticRenderFns:[]},void 0,{props:["options","label","instructions","value","errors"],data:function(){return{localValue:[]}},mounted:function(){this.localValue=JSON.parse(JSON.stringify(this.value))}},"data-v-2744c7e4",!1,void 0,void 0,void 0);var s=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("label",{staticClass:"lightswitch",class:{disabled:c.disabled},attrs:{for:c.id}},[l("input",{attrs:{id:c.id,type:"checkbox",disabled:c.disabled},domProps:{checked:c.checked},on:{input:function(t){return c.$emit("update:checked",t.target.checked)},change:function(t){return c.$emit("change",t)}}}),c._v(" "),l("div",{staticClass:"slider round"})])])},staticRenderFns:[]},void 0,{props:["id","checked","disabled"]},"data-v-2b9d01d8",!1,void 0,void 0,void 0);var v=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("lightswitch-input",{attrs:{id:c.id,checked:c.checked,disabled:c.disabled},on:{change:function(t){return c.$emit("change",t)},"update:checked":function(t){return c.$emit("update:checked",t)}}})],1)},staticRenderFns:[]},void 0,{props:["label","id","checked","instructions","disabled"],components:{Field:e,LightswitchInput:s}},void 0,!1,void 0,void 0,void 0);var d=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{ref:"input",class:{"w-full":!c.size},attrs:{autofocus:c.autofocus,id:c.id,name:c.name,placeholder:c.placeholder,autocomplete:"off",type:"password"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","name","placeholder","value","autofocus","size"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})}},"data-v-6a117d3d",!1,void 0,void 0,void 0);var m=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("password-input",{ref:"input",class:{"is-invalid":c.errors},attrs:{id:c.id,name:c.name,placeholder:c.placeholder,value:c.value,size:c.size,autofocus:c.autofocus},on:{input:function(t){return c.$emit("input",t)}}}),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","id","name","placeholder","value","autofocus","errors","size","instructions"],components:{Field:e,PasswordInput:d},created:function(){this.$on("focus",function(){this.$refs.input.$emit("focus")})}},void 0,!1,void 0,void 0,void 0);var z=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("div",[l("div",{staticClass:"select"},[l("select",{class:{"w-full":c.fullwidth},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target[t.target.selectedIndex].value)}}},c._l(c.options,function(t,i){return l("option",{key:i,domProps:{value:t.value}},[c._v(c._s(t.label))])}),0)])])},staticRenderFns:[]},void 0,{props:["fullwidth","options","value"]},"data-v-211a2741",!1,void 0,void 0,void 0);var p=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id+"-label",label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("select-input",{attrs:{fullwidth:c.fullwidth,options:c.options,value:c.value},on:{input:function(t){return c.$emit("input",t)}}}),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","instructions","fullwidth","id","options","value","errors"],components:{Field:e,SelectInput:z}},void 0,!1,void 0,void 0,void 0);var r=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("textarea",{class:{"w-full":!c.size},attrs:{cols:c.cols,disabled:c.disabled,id:c.id,placeholder:c.placeholder,autocapitalize:c.autocapitalize,spellcheck:c.spellcheck,autocomplete:"off",type:"text"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","placeholder","value","cols","disabled","autocapitalize","spellcheck","size"]},"data-v-3ef58e55",!1,void 0,void 0,void 0);var b=l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id+"-label",label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("div",{staticClass:"wrapper"},[l("textarea-input",{class:{"is-invalid":c.errors,"text-red-dark":c.max&&c.max=20,"text-orange":c.remainingChars<20&&c.remainingChars>=0,"text-red":c.remainingChars<0}},[c._v(c._s(c.remainingChars)+" character"+c._s(c.remainingChars>1||c.remainingChars<1?"s":"")+" left.")]):c._e()],1),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v(c._s(t))])})],2)},staticRenderFns:[]},void 0,{props:["label","instructions","id","placeholder","value","cols","rows","errors","disabled","autocapitalize","spellcheck","size","max"],components:{Field:e,TextareaInput:r},computed:{remainingChars:function(){if(this.max)return this.max-this.value.length}}},"data-v-76633c9c",!1,void 0,void 0,void 0);function y(c,t){var l=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;c=c||"",t=t||"";for(var e=0,h=0,n="";e2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;return Array.isArray(t)?function(c,t,l){return t=t.sort(function(c,t){return c.length-t.length}),function(i,e){for(var h=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=0;na.length))return c(i,a,h,l)}return""}}(y,t,i)(c,t,l,i):y(c,t,l,i)}var H={"#":{pattern:/\d/},X:{pattern:/[0-9a-zA-Z]/},S:{pattern:/[a-zA-Z]/},A:{pattern:/[a-zA-Z]/,transform:function(c){return c.toLocaleUpperCase()}},a:{pattern:/[a-zA-Z]/,transform:function(c){return c.toLocaleLowerCase()}},"!":{escape:!0}};function V(c){var t=document.createEvent("Event");return t.initEvent(c,!0,!0),t}var C=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{directives:[{name:"mask",rawName:"v-mask",value:c.mask,expression:"mask"}],ref:"input",class:{"w-full":!c.size},attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,name:c.name,placeholder:c.placeholder,autocomplete:"off",autocapitalize:c.autocapitalize,spellcheck:c.spellcheck,readonly:c.readonly,size:c.size,type:"text"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{directives:{mask:function(c,t){var l=t.value;if((Array.isArray(l)||"string"==typeof l)&&(l={mask:l,tokens:H}),"INPUT"!==c.tagName.toLocaleUpperCase()){var i=c.getElementsByTagName("input");if(1!==i.length)throw new Error("v-mask directive requires 1 input, found "+i.length);c=i[0]}c.oninput=function(t){if(t.isTrusted){var i=c.selectionEnd,e=c.value[i-1];for(c.value=M(c.value,l.mask,!0,l.tokens);i=20,"text-orange":c.remainingChars<20&&c.remainingChars>=0,"text-red":c.remainingChars<0}},[c._v(c._s(c.remainingChars)+" character"+c._s(c.remainingChars>1||c.remainingChars<1?"s":"")+" left.")]):c._e()],1),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:{label:{type:String,default:null},errors:{type:Array,default:null},instructions:{type:String,default:null},max:{type:Number,default:null},id:{type:String,default:null},name:{type:String,default:null},placeholder:{type:String,default:null},value:{type:String,default:null},autofocus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},mask:{type:String|Object,default:""},autocapitalize:{type:Boolean,default:!1},spellcheck:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:null}},components:{Field:e,TextInput:C},computed:{remainingChars:function(){if(this.max)return this.max-this.value.length}},created:function(){this.$on("focus",function(){this.$refs.input.$emit("focus")})}},"data-v-bfaf2268",!1,void 0,void 0,void 0);var u=l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{ref:"input",class:{"w-full":!c.size},attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,placeholder:c.placeholder,autocomplete:"off",type:"url"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)}}})},staticRenderFns:[]},void 0,{props:["id","placeholder","value","autofocus","disabled","size"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})}},"data-v-e2a7d0c8",!1,void 0,void 0,void 0);var L={Btn:i,Field:e,Icon:h,Spinner:n,CheckboxField:a,CheckboxSet:o,LightswitchField:v,PasswordField:m,SelectField:p,TextareaField:b,TextField:w,UrlField:l({render:function(){var c=this,t=c.$createElement,l=c._self._c||t;return l("field",{attrs:{id:c.id,label:c.label}},[c.instructions?l("div",{staticClass:"instructions"},[l("p",[c._v(c._s(c.instructions))])]):c._e(),c._v(" "),l("url-input",{ref:"input",class:{"is-invalid":c.errors},attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,placeholder:c.placeholder,value:c.value,size:c.size},on:{input:function(t){return c.$emit("input",t)}}}),c._v(" "),c._l(c.errors,function(t,i){return l("div",{key:i,staticClass:"invalid-feedback"},[c._v("\n "+c._s(t)+"\n ")])})],2)},staticRenderFns:[]},void 0,{props:["label","id","placeholder","value","autofocus","errors","disabled","instructions","size"],components:{Field:e,UrlInput:u},created:function(){this.$on("focus",function(){this.$refs.input.$emit("focus")})}},void 0,!1,void 0,void 0,void 0),LightswitchInput:s,PasswordInput:d,SelectInput:z,TextareaInput:r,TextInput:C,NumberInput:l({render:function(){var c=this,t=c.$createElement;return(c._self._c||t)("input",{ref:"input",attrs:{autofocus:c.autofocus,disabled:c.disabled,id:c.id,name:c.name,placeholder:c.placeholder,autocomplete:"off",readonly:c.readonly,min:c.min,max:c.max,step:c.step,pattern:c.pattern,type:"number"},domProps:{value:c.value},on:{input:function(t){return c.$emit("input",t.target.value)},change:function(t){return c.$emit("change",t)},keypress:function(t){return c.$emit("keypress",t)},keydown:function(t){return c.$emit("keydown",t)},keyup:function(t){return c.$emit("keyup",t)}}})},staticRenderFns:[]},void 0,{props:["id","name","placeholder","value","autofocus","disabled","readonly","min","max","step","pattern"],created:function(){this.$on("focus",function(){this.$refs.input.focus()})}},void 0,!1,void 0,void 0,void 0),UrlInput:u},x={install:function(c){c.use(t),Object.keys(L).forEach(function(t){c.component(t,L[t])})}};c.default=x,Object.defineProperty(c,"__esModule",{value:!0})}); //# sourceMappingURL=craftui.min.js.map diff --git a/dist/craftui.min.js.map b/dist/craftui.min.js.map index 4d43718..ef7a615 100644 --- a/dist/craftui.min.js.map +++ b/dist/craftui.min.js.map @@ -1 +1 @@ -{"version":3,"file":"craftui.min.js","sources":["../src/icons.js","../src/components/index.js","../src/index.js"],"sourcesContent":["import regularSvg from './sprites/solid.svg'\n\nexport default {\n install (Vue) {\n if(typeof document !== 'undefined'){\n const iconsWrapper = document.createElement('div')\n iconsWrapper.style.display = 'none'\n iconsWrapper.innerHTML = regularSvg\n document.body.insertBefore(iconsWrapper, document.body.firstChild)\n }\n },\n}","import Btn from './Btn.vue';\nimport Field from './Field.vue';\nimport Icon from './Icon.vue';\nimport Spinner from './Spinner.vue';\n\nimport CheckboxField from './fields/CheckboxField.vue';\nimport CheckboxSet from './fields/CheckboxSet.vue';\nimport LightswitchField from './fields/LightswitchField.vue';\nimport PasswordField from './fields/PasswordField.vue';\nimport SelectField from './fields/SelectField.vue';\nimport TextareaField from './fields/TextareaField.vue';\nimport TextField from './fields/TextField.vue';\nimport UrlField from './fields/UrlField.vue';\n\nimport LightswitchInput from './inputs/LightswitchInput.vue';\nimport PasswordInput from './inputs/PasswordInput.vue';\nimport SelectInput from './inputs/SelectInput.vue';\nimport TextareaInput from './inputs/TextareaInput.vue';\nimport TextInput from './inputs/TextInput.vue';\nimport NumberInput from './inputs/NumberInput.vue';\nimport UrlInput from './inputs/UrlInput.vue';\n\nconst CraftComponents = {\n Btn,\n Field,\n Icon,\n Spinner,\n\n CheckboxField,\n CheckboxSet,\n LightswitchField,\n PasswordField,\n SelectField,\n TextareaField,\n TextField,\n UrlField,\n\n LightswitchInput,\n PasswordInput,\n SelectInput,\n TextareaInput,\n TextInput,\n NumberInput,\n UrlInput,\n};\n\nexport default CraftComponents;","import CraftIcons from './icons'\nimport CraftComponents from './components'\n\nimport './sass/styles.scss'\n\nexport default {\n install(Vue) {\n Vue.use(CraftIcons)\n\n // Craft Components\n Object.keys(CraftComponents).forEach(name => {\n Vue.component(name, CraftComponents[name])\n })\n }\n}\n"],"names":["install","Vue","document","iconsWrapper","createElement","style","display","innerHTML","body","insertBefore","firstChild","CraftComponents","Btn","Field","Icon","Spinner","CheckboxField","CheckboxSet","LightswitchField","PasswordField","SelectField","TextareaField","TextField","UrlField","LightswitchInput","PasswordInput","SelectInput","TextareaInput","TextInput","NumberInput","UrlInput","use","CraftIcons","Object","keys","forEach","name","component"],"mappings":"gMAEe,CACXA,iBAASC,MACkB,oBAAbC,SAAyB,KACzBC,EAAeD,SAASE,cAAc,OAC5CD,EAAaE,MAAMC,QAAU,OAC7BH,EAAaI,0pKACbL,SAASM,KAAKC,aAAaN,EAAcD,SAASM,KAAKE,i7ZCc7DC,EAAkB,CACtBC,IAAAA,EACAC,MAAAA,EACAC,KAAAA,EACAC,QAAAA,EAEAC,cAAAA,EACAC,YAAAA,EACAC,iBAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,UAAAA,EACAC,+1BAEAC,iBAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,UAAAA,EACAC,6zBACAC,SAAAA,KCtCa,CACX9B,iBAAQC,GACJA,EAAI8B,IAAIC,GAGRC,OAAOC,KAAKvB,GAAiBwB,QAAQ,SAAAC,GACjCnC,EAAIoC,UAAUD,EAAMzB,EAAgByB"} \ No newline at end of file +{"version":3,"file":"craftui.min.js","sources":["../src/icons.js","../node_modules/vue-the-mask/src/maskit.js","../node_modules/vue-the-mask/src/masker.js","../node_modules/vue-the-mask/src/dynamic-mask.js","../node_modules/vue-the-mask/src/tokens.js","../node_modules/vue-the-mask/src/directive.js","../src/components/index.js","../src/index.js"],"sourcesContent":["import regularSvg from './sprites/solid.svg'\n\nexport default {\n install (Vue) {\n if(typeof document !== 'undefined'){\n const iconsWrapper = document.createElement('div')\n iconsWrapper.style.display = 'none'\n iconsWrapper.innerHTML = regularSvg\n document.body.insertBefore(iconsWrapper, document.body.firstChild)\n }\n },\n}","export default function maskit (value, mask, masked = true, tokens) {\n value = value || ''\n mask = mask || ''\n var iMask = 0\n var iValue = 0\n var output = ''\n while (iMask < mask.length && iValue < value.length) {\n var cMask = mask[iMask]\n var masker = tokens[cMask]\n var cValue = value[iValue]\n if (masker && !masker.escape) {\n if (masker.pattern.test(cValue)) {\n \toutput += masker.transform ? masker.transform(cValue) : cValue\n iMask++\n }\n iValue++\n } else {\n if (masker && masker.escape) {\n iMask++ // take the next mask char and treat it as char\n cMask = mask[iMask]\n }\n if (masked) output += cMask\n if (cValue === cMask) iValue++ // user typed the same char\n iMask++\n }\n }\n\n // fix mask that ends with a char: (#)\n var restOutput = ''\n while (iMask < mask.length && masked) {\n var cMask = mask[iMask]\n if (tokens[cMask]) {\n restOutput = ''\n break\n }\n restOutput += cMask\n iMask++\n }\n\n return output + restOutput\n}\n","import maskit from './maskit'\nimport dynamicMask from './dynamic-mask'\n// Facade to maskit/dynamicMask when mask is String or Array\nexport default function (value, mask, masked = true, tokens) {\n return Array.isArray(mask)\n ? dynamicMask(maskit, mask, tokens)(value, mask, masked, tokens)\n : maskit(value, mask, masked, tokens)\n}\n","export default function dynamicMask (maskit, masks, tokens) {\n masks = masks.sort((a, b) => a.length - b.length)\n return function (value, mask, masked = true) {\n var i = 0\n while (i < masks.length) {\n var currentMask = masks[i]\n i++\n var nextMask = masks[i]\n if (! (nextMask && maskit(value, nextMask, true, tokens).length > currentMask.length) ) {\n return maskit(value, currentMask, masked, tokens)\n }\n }\n return '' // empty masks\n }\n}\n","module.exports = {\n '#': {pattern: /\\d/},\n 'X': {pattern: /[0-9a-zA-Z]/},\n 'S': {pattern: /[a-zA-Z]/},\n 'A': {pattern: /[a-zA-Z]/, transform: v => v.toLocaleUpperCase()},\n 'a': {pattern: /[a-zA-Z]/, transform: v => v.toLocaleLowerCase()},\n '!': {escape: true}\n}\n\n// https://github.com/fernandofleury/vanilla-masker/blob/master/lib/vanilla-masker.js\n// DIGIT = \"9\",\n// ALPHA = \"A\",\n// ALPHANUM = \"S\"\n\n// https://github.com/niksmr/vue-masked-input\n// 1 - number\n// a - letter\n// A - letter, forced to upper case when entered\n// * - alphanumeric\n// # - alphanumeric, forced to upper case when entered\n// + - any character\n\n// https://github.com/probil/v-mask\n// #\tNumber (0-9)\n// A\tLetter in any case (a-z,A-Z)\n// N\tNumber or letter\n// X\tAny symbol\n\n// https://github.com/igorescobar/jQuery-Mask-Plugin/blob/master/src/jquery.mask.js#L518\n// '0': {pattern: /\\d/},\n// '9': {pattern: /\\d/, optional: true},\n// '#': {pattern: /\\d/, recursive: true},\n// 'A': {pattern: /[a-zA-Z0-9]/},\n// 'S': {pattern: /[a-zA-Z]/}\n\n// https://github.com/the-darc/string-mask\n// 0\tAny numbers\n// 9\tAny numbers (Optional)\n// #\tAny numbers (recursive)\n// A\tAny alphanumeric character\n// a\tAny alphanumeric character (Optional) Not implemented yet\n// S\tAny letter\n// U\tAny letter (All lower case character will be mapped to uppercase)\n// L\tAny letter (All upper case character will be mapped to lowercase)\n// $\tEscape character, used to escape any of the special formatting characters.\n","import masker from './masker'\nimport tokens from './tokens'\n\n// https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events#The_old-fashioned_way\nfunction event (name) {\n var evt = document.createEvent('Event')\n evt.initEvent(name, true, true)\n return evt\n}\n\nexport default function (el, binding) {\n var config = binding.value\n if (Array.isArray(config) || typeof config === 'string') {\n config = {\n mask: config,\n tokens: tokens\n }\n }\n\n if (el.tagName.toLocaleUpperCase() !== 'INPUT') {\n var els = el.getElementsByTagName('input')\n if (els.length !== 1) {\n throw new Error(\"v-mask directive requires 1 input, found \" + els.length)\n } else {\n el = els[0]\n }\n }\n\n el.oninput = function (evt) {\n if (!evt.isTrusted) return // avoid infinite loop\n /* other properties to try to diferentiate InputEvent of Event (custom)\n InputEvent (native)\n cancelable: false\n isTrusted: true\n\n composed: true\n isComposing: false\n which: 0\n\n Event (custom)\n cancelable: true\n isTrusted: false\n */\n // by default, keep cursor at same position as before the mask\n var position = el.selectionEnd\n // save the character just inserted\n var digit = el.value[position-1]\n el.value = masker(el.value, config.mask, true, config.tokens)\n // if the digit was changed, increment position until find the digit again\n while (position < el.value.length && el.value.charAt(position-1) !== digit) {\n position++\n }\n if (el === document.activeElement) {\n el.setSelectionRange(position, position)\n setTimeout(function () {\n el.setSelectionRange(position, position)\n }, 0)\n }\n el.dispatchEvent(event('input'))\n }\n\n var newDisplay = masker(el.value, config.mask, true, config.tokens)\n if (newDisplay !== el.value) {\n el.value = newDisplay\n el.dispatchEvent(event('input'))\n }\n}\n","import Btn from './Btn.vue';\nimport Field from './Field.vue';\nimport Icon from './Icon.vue';\nimport Spinner from './Spinner.vue';\n\nimport CheckboxField from './fields/CheckboxField.vue';\nimport CheckboxSet from './fields/CheckboxSet.vue';\nimport LightswitchField from './fields/LightswitchField.vue';\nimport PasswordField from './fields/PasswordField.vue';\nimport SelectField from './fields/SelectField.vue';\nimport TextareaField from './fields/TextareaField.vue';\nimport TextField from './fields/TextField.vue';\nimport UrlField from './fields/UrlField.vue';\n\nimport LightswitchInput from './inputs/LightswitchInput.vue';\nimport PasswordInput from './inputs/PasswordInput.vue';\nimport SelectInput from './inputs/SelectInput.vue';\nimport TextareaInput from './inputs/TextareaInput.vue';\nimport TextInput from './inputs/TextInput.vue';\nimport NumberInput from './inputs/NumberInput.vue';\nimport UrlInput from './inputs/UrlInput.vue';\n\nconst CraftComponents = {\n Btn,\n Field,\n Icon,\n Spinner,\n\n CheckboxField,\n CheckboxSet,\n LightswitchField,\n PasswordField,\n SelectField,\n TextareaField,\n TextField,\n UrlField,\n\n LightswitchInput,\n PasswordInput,\n SelectInput,\n TextareaInput,\n TextInput,\n NumberInput,\n UrlInput,\n};\n\nexport default CraftComponents;","import CraftIcons from './icons'\nimport CraftComponents from './components'\n\nimport './sass/styles.scss'\n\nexport default {\n install(Vue) {\n Vue.use(CraftIcons)\n\n // Craft Components\n Object.keys(CraftComponents).forEach(name => {\n Vue.component(name, CraftComponents[name])\n })\n }\n}\n"],"names":["install","Vue","document","iconsWrapper","createElement","style","display","innerHTML","body","insertBefore","firstChild","maskit","value","mask","masked","tokens","iMask","iValue","output","length","masker","cMask","cValue","escape","pattern","test","transform","restOutput","Array","isArray","masks","sort","a","b","i","currentMask","nextMask","dynamicMask","module","v","toLocaleUpperCase","toLocaleLowerCase","event","name","evt","createEvent","initEvent","el","binding","config","tagName","els","getElementsByTagName","Error","oninput","isTrusted","position","selectionEnd","digit","charAt","activeElement","setSelectionRange","setTimeout","dispatchEvent","newDisplay","CraftComponents","Btn","Field","Icon","Spinner","CheckboxField","CheckboxSet","LightswitchField","PasswordField","SelectField","TextareaField","TextField","UrlField","LightswitchInput","PasswordInput","SelectInput","TextareaInput","TextInput","NumberInput","UrlInput","use","CraftIcons","Object","keys","forEach","component"],"mappings":"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"} \ No newline at end of file diff --git a/docs/src/stories/components-fields.stories.js b/docs/src/stories/components-fields.stories.js index 2577aa0..b197e52 100644 --- a/docs/src/stories/components-fields.stories.js +++ b/docs/src/stories/components-fields.stories.js @@ -69,7 +69,15 @@ storiesOf('Components|Fields/Text', module) .add('Default', () => ({ template: '', })) - .add('with Max', () => ({ + .add('Mask', () => ({ + template: '', + data() { + return { + value: '' + } + } + })) + .add('Max', () => ({ template: '', data() { return { @@ -77,7 +85,7 @@ storiesOf('Components|Fields/Text', module) } } })) - .add('with error', () => ({ + .add('Error', () => ({ template: '', })); diff --git a/docs/src/stories/components-inputs.stories.js b/docs/src/stories/components-inputs.stories.js index bcbf17c..2fae5b3 100644 --- a/docs/src/stories/components-inputs.stories.js +++ b/docs/src/stories/components-inputs.stories.js @@ -28,6 +28,9 @@ storiesOf('Components|Inputs/Textarea', module) storiesOf('Components|Inputs/Text', module) .add('Default', () => ({ template: '', + })) + .add('Mask', () => ({ + template: '', })); storiesOf('Components|Inputs/URL', module) diff --git a/package-lock.json b/package-lock.json index 852ef28..9e2bcad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -437,13 +437,13 @@ }, "dependencies": { "regexpu-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.2.tgz", - "integrity": "sha512-CgGxXmuX0Cf57z7KahSHe4kaNY8gBRCFFEretQ5AHsnlLx/5VdCrQOoOz1POxLdZjPbwE5ncTspPJwp2WHPcHA==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.3.tgz", + "integrity": "sha512-LON8666bTAlViVEPXMv65ZqiaR3rMNLz36PIaQ7D+er5snu93k0peR7FSvO0QteYbZ3GOkvfHKbGr/B1xDu9FA==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.0", + "regenerate-unicode-properties": "^8.0.1", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", @@ -632,13 +632,13 @@ }, "dependencies": { "regexpu-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.2.tgz", - "integrity": "sha512-CgGxXmuX0Cf57z7KahSHe4kaNY8gBRCFFEretQ5AHsnlLx/5VdCrQOoOz1POxLdZjPbwE5ncTspPJwp2WHPcHA==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.3.tgz", + "integrity": "sha512-LON8666bTAlViVEPXMv65ZqiaR3rMNLz36PIaQ7D+er5snu93k0peR7FSvO0QteYbZ3GOkvfHKbGr/B1xDu9FA==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.0", + "regenerate-unicode-properties": "^8.0.1", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", @@ -901,13 +901,13 @@ }, "dependencies": { "regexpu-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.2.tgz", - "integrity": "sha512-CgGxXmuX0Cf57z7KahSHe4kaNY8gBRCFFEretQ5AHsnlLx/5VdCrQOoOz1POxLdZjPbwE5ncTspPJwp2WHPcHA==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.3.tgz", + "integrity": "sha512-LON8666bTAlViVEPXMv65ZqiaR3rMNLz36PIaQ7D+er5snu93k0peR7FSvO0QteYbZ3GOkvfHKbGr/B1xDu9FA==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.0", + "regenerate-unicode-properties": "^8.0.1", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", @@ -2060,9 +2060,9 @@ "dev": true }, "@types/node": { - "version": "11.10.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.10.4.tgz", - "integrity": "sha512-wa09itaLE8L705aXd8F80jnFpxz3Y1/KRHfKsYL2bPc0XF+wEWu8sR9n5bmeu8Ba1N9z2GRNzm/YdHcghLkLKg==", + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.10.5.tgz", + "integrity": "sha512-DuIRlQbX4K+d5I+GMnv+UfnGh+ist0RdlvOp+JZ7ePJ6KQONCFQv/gKYSU1ZzbVdFSUCKZOltjmpFAGGv5MdYA==", "dev": true }, "@types/q": { @@ -5083,6 +5083,12 @@ "widest-line": "^2.0.0" } }, + "builtin-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", + "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", + "dev": true + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -5150,6 +5156,17 @@ "graceful-fs": "^4.1.6" } }, + "rollup-plugin-node-resolve": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", + "integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==", + "dev": true, + "requires": { + "builtin-modules": "^2.0.0", + "is-module": "^1.0.0", + "resolve": "^1.1.6" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -5508,13 +5525,13 @@ } }, "regexpu-core": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.2.tgz", - "integrity": "sha512-CgGxXmuX0Cf57z7KahSHe4kaNY8gBRCFFEretQ5AHsnlLx/5VdCrQOoOz1POxLdZjPbwE5ncTspPJwp2WHPcHA==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.3.tgz", + "integrity": "sha512-LON8666bTAlViVEPXMv65ZqiaR3rMNLz36PIaQ7D+er5snu93k0peR7FSvO0QteYbZ3GOkvfHKbGr/B1xDu9FA==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.0", + "regenerate-unicode-properties": "^8.0.1", "regjsgen": "^0.5.0", "regjsparser": "^0.6.0", "unicode-match-property-ecmascript": "^1.0.4", @@ -5577,9 +5594,9 @@ "dev": true }, "builtin-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", - "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz", + "integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==", "dev": true }, "builtin-status-codes": { @@ -5634,12 +5651,128 @@ "supports-color": "^5.3.0" } }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -5659,6 +5792,12 @@ "ansi-regex": "^3.0.0" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -5835,15 +5974,15 @@ } }, "caniuse-db": { - "version": "1.0.30000941", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000941.tgz", - "integrity": "sha512-xgDlJ1rEg4Zb1wqyiDw1Lwd2lIrG5El9vhHwURihFw8+Gk2PcyVh1RWaymOwFx6q49rMgVFqQAvLJmEU9RUUJg==", + "version": "1.0.30000942", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000942.tgz", + "integrity": "sha512-HB+j2/Gywe+0JPtEMw8ioTi4ykIOco9nfSGspMGIBocqi4aMYZYALP992RmhVcUyB0oS5h8nrKGk9fCF9L1VXA==", "dev": true }, "caniuse-lite": { - "version": "1.0.30000941", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000941.tgz", - "integrity": "sha512-4vzGb2MfZcO20VMPj1j6nRAixhmtlhkypM4fL4zhgzEucQIYiRzSqPcWIu1OF8i0FETD93FMIPWfUJCAcFvrqA==" + "version": "1.0.30000942", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000942.tgz", + "integrity": "sha512-wLf+IhZUy2rfz48tc40OH7jHjXjnvDFEYqBHluINs/6MgzoNLPf25zhE4NOVzqxLKndf+hau81sAW0RcGHIaBQ==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.2.0", @@ -7191,9 +7330,9 @@ "dev": true }, "default-gateway": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.1.2.tgz", - "integrity": "sha512-xhJUAp3u02JsBGovj0V6B6uYhKCUOmiNc8xGmReUwGu77NmvcpxPVB0pCielxMFumO7CmXBG02XjM8HB97k8Hw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dev": true, "requires": { "execa": "^1.0.0", @@ -9327,9 +9466,9 @@ "optional": true }, "fuse.js": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.2.tgz", - "integrity": "sha512-WVbrm+cAxPtyMqdtL7cYhR7aZJPhtOfjNClPya8GKMVukKDYs7pEnPINeRVX1C9WmWgU8MdYGYbUPAP2AJXdoQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.3.tgz", + "integrity": "sha512-XhUzonuhVsxzoBMPQsax7Vzz1n9tnj0S0Ev/c1qzx4SUyd/LFWuSonhdEKtXsAaZzq96QYleWBPDvRiZ7onw8Q==", "dev": true }, "gather-stream": { @@ -10113,10 +10252,13 @@ "dev": true }, "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } }, "indexes-of": { "version": "1.0.1", @@ -10152,11 +10294,6 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, - "inputmask": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/inputmask/-/inputmask-4.0.6.tgz", - "integrity": "sha512-zHw2jO1RSTU/aoKjsVsBQF56m3SYA3IEsIZmb6anvoUBlPRMgXtKWtj/Pux7o/O8JNikGLLRN6LGBISzHRlabw==" - }, "inquirer": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", @@ -10385,6 +10522,14 @@ "dev": true, "requires": { "builtin-modules": "^2.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", + "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", + "dev": true + } } }, "is-callable": { @@ -10994,15 +11139,16 @@ } }, "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { "parse-json": { @@ -11490,122 +11636,6 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } } } }, @@ -14459,15 +14489,15 @@ "dev": true }, "react": { - "version": "16.8.3", - "resolved": "https://registry.npmjs.org/react/-/react-16.8.3.tgz", - "integrity": "sha512-3UoSIsEq8yTJuSu0luO1QQWYbgGEILm+eJl2QN/VLDi7hL+EN18M3q3oVZwmVzzBJ3DkM7RMdRwBmZZ+b4IzSA==", + "version": "16.8.4", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.4.tgz", + "integrity": "sha512-0GQ6gFXfUH7aZcjGVymlPOASTuSjlQL4ZtVC5YKH+3JL6bBLCVO21DknzmaPlI90LN253ojj02nsapy+j7wIjg==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.3" + "scheduler": "^0.13.4" } }, "react-dev-utils": { @@ -14643,21 +14673,21 @@ } }, "react-dom": { - "version": "16.8.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.3.tgz", - "integrity": "sha512-ttMem9yJL4/lpItZAQ2NTFAbV7frotHk5DZEHXUOws2rMmrsvh1Na7ThGT0dTzUIl6pqTOi5tYREfL8AEna3lA==", + "version": "16.8.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.4.tgz", + "integrity": "sha512-Ob2wK7XG2tUDt7ps7LtLzGYYB6DXMCLj0G5fO6WeEICtT4/HdpOi7W/xLzZnR6RCG1tYza60nMdqtxzA8FaPJQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.3" + "scheduler": "^0.13.4" } }, "react-error-overlay": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.3.tgz", - "integrity": "sha512-GoqeM3Xadie7XUApXOjkY3Qhs8RkwB/Za4WMedBGrOKH1eTuKGyoAECff7jiVonJchOx6KZ9i8ILO5XIoHB+Tg==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.4.tgz", + "integrity": "sha512-fp+U98OMZcnduQ+NSEiQa4s/XMsbp+5KlydmkbESOw4P69iWZ68ZMFM5a2BuE0FgqPBKApJyRuYHR95jM8lAmg==", "dev": true }, "react-fuzzy": { @@ -14684,9 +14714,9 @@ } }, "react-is": { - "version": "16.8.3", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.3.tgz", - "integrity": "sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA==", + "version": "16.8.4", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz", + "integrity": "sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==", "dev": true }, "react-lifecycles-compat": { @@ -14811,65 +14841,43 @@ } }, "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "p-try": "^1.0.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "pinkie-promise": "^2.0.0" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "pify": "^2.0.0" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -14879,14 +14887,14 @@ "dev": true }, "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", + "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "path-type": "^1.0.0" } } } @@ -14936,13 +14944,24 @@ } }, "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + } } }, "reduce-css-calc": { @@ -15008,9 +15027,9 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.0.tgz", - "integrity": "sha512-tlYkVh6F/QXtosuyOZV2SkOtA248fjMAUWjGf8aYBvQK1ZMarbMvFBvkguSt93HhdXh20m15sc4b5EIBxXLHQQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.1.tgz", + "integrity": "sha512-HTjMafphaH5d5QDHuwW8Me6Hbc/GhXg8luNqTkPVwZ/oCZhnoifjWhGYsu2BzepMELTlbnoVcXvV0f+2uDDvoQ==", "dev": true, "requires": { "regenerate": "^1.4.0" @@ -15459,14 +15478,14 @@ } }, "rollup-plugin-node-resolve": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", - "integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.1.tgz", + "integrity": "sha512-fSS7YDuCe0gYqKsr5OvxMloeZYUSgN43Ypi1WeRZzQcWtHgFayV5tUSPYpxuaioIIWaBXl6NrVk0T2/sKwueLg==", "dev": true, "requires": { - "builtin-modules": "^2.0.0", + "builtin-modules": "^3.0.0", "is-module": "^1.0.0", - "resolve": "^1.1.6" + "resolve": "^1.10.0" } }, "rollup-plugin-postcss": { @@ -17397,16 +17416,6 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -17422,19 +17431,6 @@ "invert-kv": "^1.0.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", @@ -17444,71 +17440,6 @@ "lcid": "^1.0.0" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", @@ -17574,9 +17505,9 @@ "dev": true }, "scheduler": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.3.tgz", - "integrity": "sha512-UxN5QRYWtpR1egNWzJcVLk8jlegxAugswQc984lD3kU7NuobsO37/sRfbpTdBjtnD5TBNFA2Q2oLV5+UmPSmEQ==", + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.4.tgz", + "integrity": "sha512-cvSOlRPxOHs5dAhP9yiS/6IDmVAVxmk33f0CtTJRkmUWcb1Us+t7b1wqdzoC0REw2muC9V5f1L/w5R5uKGaepA==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -18435,10 +18366,13 @@ } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } }, "strip-comments": { "version": "1.0.2", @@ -19367,9 +19301,9 @@ } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.1.tgz", + "integrity": "sha512-D0yetkpIOKiZQquxjM2Syvy48Y1DbZ0SWxgsZiwd9GCWRpc75vN8ytzem14WDSg+oiX6+Qt31FpiS/ExODCrLg==", "dev": true }, "upper-case": { @@ -19455,6 +19389,41 @@ "load-json-file": "^2.0.0", "path-exists": "^3.0.0", "pupa": "^1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } } }, "util": { @@ -19667,6 +19636,11 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, + "vue-the-mask": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/vue-the-mask/-/vue-the-mask-0.11.1.tgz", + "integrity": "sha512-UquSfnSWejD0zAfcD+3jJ1chUAkOAyoxya9Lxh9acCRtrlmGcAIvd0cQYraWqKenbuZJUdum+S174atv2AuEHQ==" + }, "warning": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", @@ -19800,9 +19774,9 @@ } }, "webpack-dev-middleware": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.0.tgz", - "integrity": "sha512-oeXA3m+5gbYbDBGo4SvKpAHJJEGMoekUbHgo1RK7CP1sz7/WOSeu/dWJtSTk+rzDCLkPwQhGocgIq6lQqOyOwg==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz", + "integrity": "sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw==", "dev": true, "requires": { "memory-fs": "^0.4.1", @@ -20109,9 +20083,9 @@ "dev": true }, "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", + "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", "dev": true, "requires": { "async-limiter": "~1.0.0" diff --git a/package.json b/package.json index 6189a9c..dd8c35f 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ "babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.7.0", - "inputmask": "^4.0.0", - "vue": "^2.6.7" + "vue": "^2.6.7", + "vue-the-mask": "^0.11.1" }, "devDependencies": { "@storybook/addon-actions": "4.0.0-alpha.20", @@ -31,12 +31,13 @@ "babel-preset-vue": "^2.0.2", "bili": "^3.4.2", "node-sass": "^4.11.0", + "rollup-plugin-babel": "^4.3.0", + "rollup-plugin-node-resolve": "^4.0.1", "rollup-plugin-string": "^3.0.0", + "rollup-plugin-vue": "^4.7.2", "sass-loader": "^7.1.0", "tailwindcss": "^0.7.3", - "vue-template-compiler": "^2.6.7", - "rollup-plugin-babel": "^4.3.0", - "rollup-plugin-vue": "^4.7.2" + "vue-template-compiler": "^2.6.7" }, "eslintConfig": { "root": true, diff --git a/src/components/fields/TextField.vue b/src/components/fields/TextField.vue index 693ccee..ba6336e 100644 --- a/src/components/fields/TextField.vue +++ b/src/components/fields/TextField.vue @@ -43,8 +43,24 @@ import TextInput from '../inputs/TextInput.vue'; export default { - - props: ['label', 'id', 'name', 'placeholder', 'value', 'autofocus', 'errors', 'disabled', 'instructions', 'mask', 'autocapitalize', 'spellcheck', 'readonly', 'size', 'max'], + props: { + label: {type: String, default: null}, + errors: {type: Array, default: null}, + instructions: {type: String, default: null}, + max: {type: Number, default: null}, + + id: {type: String, default: null}, + name: {type: String, default: null}, + placeholder: {type: String, default: null}, + value: {type: String, default: null}, + autofocus: {type: Boolean, default: false}, + disabled: {type: Boolean, default: false}, + mask: {type: String | Object, default: ''}, + autocapitalize: {type: Boolean, default: false}, + spellcheck: {type: Boolean, default: false}, + readonly: {type: Boolean, default: false}, + size: {type: String, default: null}, + }, components: { Field, @@ -64,7 +80,6 @@ this.$refs.input.$emit('focus'); }) } - } diff --git a/src/components/inputs/TextInput.vue b/src/components/inputs/TextInput.vue index 522566f..e1902cc 100644 --- a/src/components/inputs/TextInput.vue +++ b/src/components/inputs/TextInput.vue @@ -19,28 +19,30 @@