@vue-interface/input-field 0.11.6 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -90,6 +90,24 @@ function paramCase$1(input, options) {
90
90
  delimiter: "-"
91
91
  }, options));
92
92
  }
93
+ const global = {};
94
+ function config(...args) {
95
+ if (!args.length) {
96
+ return global;
97
+ }
98
+ const [key, value] = args;
99
+ if (typeof key === "string") {
100
+ return typeof global[key] !== "undefined" ? global[key] : value;
101
+ }
102
+ if (Array.isArray(key)) {
103
+ return key.reduce((carry, key2) => {
104
+ return Object.assign(carry, {
105
+ [key2]: global[key2]
106
+ });
107
+ }, {});
108
+ }
109
+ return Object.assign(global, ...args);
110
+ }
93
111
  function prefix(key, value, delimeter = "-") {
94
112
  const string = value.toString().replace(new RegExp(`^${key}${delimeter}?`), "");
95
113
  return [paramCase$1(string), key].filter((value2) => !!value2).join(delimeter);
@@ -133,6 +151,10 @@ var FormControl = {
133
151
  type: Boolean,
134
152
  default: false
135
153
  },
154
+ animated: {
155
+ type: Boolean,
156
+ default: () => config("animated", false)
157
+ },
136
158
  bindEvents: {
137
159
  type: Array,
138
160
  default() {
@@ -147,10 +169,10 @@ var FormControl = {
147
169
  },
148
170
  defaultControlClass: {
149
171
  type: String,
150
- default: "form-control"
172
+ default: () => config("defaultControlClass", "form-control")
151
173
  },
152
174
  defaultValue: {
153
- default: null
175
+ default: () => config("defaultValue", null)
154
176
  },
155
177
  error: [String, Array, Boolean],
156
178
  errors: {
@@ -162,13 +184,13 @@ var FormControl = {
162
184
  feedback: [String, Array],
163
185
  group: {
164
186
  type: Boolean,
165
- default: true
187
+ default: () => config("group", true)
166
188
  },
167
189
  helpText: [Number, String],
168
190
  hideLabel: Boolean,
169
191
  indicator: {
170
192
  type: String,
171
- default: "spinner"
193
+ default: () => config("indicator", "spinner")
172
194
  },
173
195
  indicatorSize: String,
174
196
  inline: Boolean,
@@ -176,7 +198,7 @@ var FormControl = {
176
198
  label: [Number, String],
177
199
  labelClass: {
178
200
  type: [Object, String],
179
- default: "form-label"
201
+ default: () => config("labelClass", "form-label")
180
202
  },
181
203
  pill: Boolean,
182
204
  plaintext: Boolean,
@@ -217,10 +239,10 @@ var FormControl = {
217
239
  return prefix(this.size, this.controlClass);
218
240
  },
219
241
  formGroupClasses() {
220
- console.log(this.$slots.icon);
221
242
  return {
222
243
  [paramCase$1(this.componentName)]: !!this.componentName,
223
244
  [this.size && prefix(this.size, this.componentName)]: !!this.size,
245
+ "animated": this.animated,
224
246
  "default-empty": this.defaultEmpty,
225
247
  "form-group": this.group,
226
248
  [this.size && prefix(this.size, "form-group")]: !!this.size,
@@ -272,7 +294,7 @@ var FormControl = {
272
294
  },
273
295
  watch: {
274
296
  hasFocus() {
275
- if (!this.getInputField().readOnly) {
297
+ if (this.shouldChangeOnFocus()) {
276
298
  this.hasChanged = true;
277
299
  }
278
300
  },
@@ -281,6 +303,9 @@ var FormControl = {
281
303
  },
282
304
  currentValue() {
283
305
  this.hasChanged = true;
306
+ },
307
+ defaultEmpty() {
308
+ this.hasChanged = true;
284
309
  }
285
310
  },
286
311
  mounted() {
@@ -304,11 +329,14 @@ var FormControl = {
304
329
  },
305
330
  getFieldErrors() {
306
331
  let errors = this.error || this.errors;
307
- if (isObject(this.errors)) {
332
+ if (this.errors && isObject(this.errors)) {
308
333
  errors = this.errors[this.$attrs.name || this.$attrs.id];
309
334
  }
310
335
  return !errors || Array.isArray(errors) || isObject(errors) ? errors : [errors];
311
336
  },
337
+ shouldChangeOnFocus() {
338
+ return !this.getInputField().readOnly;
339
+ },
312
340
  onInput(e) {
313
341
  this.$emit("input", e.target.value);
314
342
  this.$emit("update:value", e.target.value);
@@ -1,4 +1,4 @@
1
- (function(h,p){typeof exports=="object"&&typeof module!="undefined"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(h=typeof globalThis!="undefined"?globalThis:h||self,p(h.InputField={}))})(this,function(h){"use strict";var p={props:{dropShadow:[Boolean,String],dropShadowableClassPrefix:{type:String,default:"drop-shadow"},shadow:[Boolean,String],shadowableClassPrefix:{type:String,default:"shadow"}},computed:{shadowableClass(){const t=this.dropShadow===!0?"":this.dropShadow&&`-${this.dropShadow}`,e=this.shadow===!0?"":this.shadow&&`-${this.shadow}`;return{[`${this.dropShadowableClassPrefix}${t}`]:!!this.dropShadow,[`${this.shadowableClassPrefix}${e}`]:!!this.shadow}}}};/*! *****************************************************************************
1
+ (function(h,v){typeof exports=="object"&&typeof module!="undefined"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(h=typeof globalThis!="undefined"?globalThis:h||self,v(h.InputField={}))})(this,function(h){"use strict";var v={props:{dropShadow:[Boolean,String],dropShadowableClassPrefix:{type:String,default:"drop-shadow"},shadow:[Boolean,String],shadowableClassPrefix:{type:String,default:"shadow"}},computed:{shadowableClass(){const t=this.dropShadow===!0?"":this.dropShadow&&`-${this.dropShadow}`,e=this.shadow===!0?"":this.shadow&&`-${this.shadow}`;return{[`${this.dropShadowableClassPrefix}${t}`]:!!this.dropShadow,[`${this.shadowableClassPrefix}${e}`]:!!this.shadow}}}};/*! *****************************************************************************
2
2
  Copyright (c) Microsoft Corporation.
3
3
 
4
4
  Permission to use, copy, modify, and/or distribute this software for any
@@ -11,5 +11,5 @@
11
11
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
12
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
- ***************************************************************************** */var y=function(){return y=Object.assign||function(e){for(var r,i=1,n=arguments.length;i<n;i++){r=arguments[i];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},y.apply(this,arguments)};function z(t){return t.toLowerCase()}var N=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],L=/[^A-Z0-9]+/gi;function B(t,e){e===void 0&&(e={});for(var r=e.splitRegexp,i=r===void 0?N:r,n=e.stripRegexp,o=n===void 0?L:n,s=e.transform,c=s===void 0?z:s,a=e.delimiter,u=a===void 0?" ":a,d=x(x(t,i,"$1\0$2"),o,"\0"),f=0,l=d.length;d.charAt(f)==="\0";)f++;for(;d.charAt(l-1)==="\0";)l--;return d.slice(f,l).split("\0").map(c).join(u)}function x(t,e,r){return e instanceof RegExp?t.replace(e,r):e.reduce(function(i,n){return i.replace(n,r)},t)}function V(t,e){return e===void 0&&(e={}),B(t,y({delimiter:"."},e))}function $(t,e){return e===void 0&&(e={}),V(t,y({delimiter:"-"},e))}function C(t,e,r="-"){const i=e.toString().replace(new RegExp(`^${t}${r}?`),"");return[$(i),t].filter(n=>!!n).join(r)}function w(t){return!Array.isArray(t)&&typeof t=="object"}var H={directives:{bindEvents:{bind(t,e,r){if(t.addEventListener("focus",()=>{r.context.hasFocus=!0}),t.addEventListener("blur",()=>{r.context.hasFocus=!1}),t.addEventListener(t.tagName==="SELECT"?"change":"input",i=>{r.context.isEmpty=!t.value,r.context.currentValue=t.value}),r.context.hasChanged=!!t.value,r.context.bindEvents.forEach(i=>{t.addEventListener(i,n=>{r.context.$emit(i,n)})}),t.tagName==="SELECT"){const i=t.querySelector('[value=""]');i&&i.value===t.value&&(r.context.defaultEmpty=!0)}}}},mixins:[p],inheritAttrs:!1,props:{activity:{type:Boolean,default:!1},bindEvents:{type:Array,default(){return["focus","blur","change","click","keypress","keyup","keydown","progress","paste"]}},componentName:{type:String,default(){return this.$options.name}},defaultControlClass:{type:String,default:"form-control"},defaultValue:{default:null},error:[String,Array,Boolean],errors:{type:[Array,Object,Boolean],default(){return{}}},feedback:[String,Array],group:{type:Boolean,default:!0},helpText:[Number,String],hideLabel:Boolean,indicator:{type:String,default:"spinner"},indicatorSize:String,inline:Boolean,invalid:Boolean,label:[Number,String],labelClass:{type:[Object,String],default:"form-label"},pill:Boolean,plaintext:Boolean,size:String,spacing:String,valid:Boolean,value:{default:null}},data(){return{currentValue:this.value||this.defaultValue,defaultEmpty:!1,hasChanged:!1,hasFocus:!1,isEmpty:!(this.value||this.defaultValue)}},computed:{id(){return this.$attrs.id||this.$attrs.name},controlAttributes(){return Object.keys(this.$attrs).concat([["id",this.id],["class",this.controlClasses]]).reduce((t,e)=>(Array.isArray(e)?t[e[0]]=e[1]:t[e]=this[e]||this.$attrs[e],t),{})},controlClass(){return this.defaultControlClass},controlSizeClass(){return C(this.size,this.controlClass)},formGroupClasses(){return console.log(this.$slots.icon),{[$(this.componentName)]:!!this.componentName,[this.size&&C(this.size,this.componentName)]:!!this.size,"default-empty":this.defaultEmpty,"form-group":this.group,[this.size&&C(this.size,"form-group")]:!!this.size,"has-activity":this.activity,"has-changed":this.hasChanged,"has-focus":this.hasFocus,"has-icon":!!this.$slots.icon,"is-empty":this.isEmpty,"is-invalid":!!(this.invalid||this.invalidFeedback),"is-valid":!!(this.valid||this.validFeedback)}},controlClasses(){return Object.assign({[this.controlClass]:!!this.controlClass,[this.controlSizeClass]:!!this.controlSizeClass,"form-control-icon":!!this.$slots.icon,"is-valid":!!(this.valid||this.validFeedback),"is-invalid":!!(this.invalid||this.invalidFeedback),[this.pillClasses]:this.pill,[this.plaintextClass]:this.plaintext,[this.spacing]:!!this.spacing},this.shadowableClass)},hasDefaultSlot(){return!!this.$slots.default},invalidFeedback(){if(this.error==="")return null;if(this.error)return this.error;const t=this.getFieldErrors();return Array.isArray(t)?t.filter(e=>e&&typeof e=="string").join("<br>"):t},pillClasses(){return"rounded rounded-pill"},plaintextClass(){return"form-control-plaintext"},validFeedback(){return Array.isArray(this.feedback)?this.feedback.join("<br>"):this.feedback}},watch:{hasFocus(){this.getInputField().readOnly||(this.hasChanged=!0)},value(t){this.currentValue=t},currentValue(){this.hasChanged=!0}},mounted(){this.value===null&&this.defaultValue!==null&&this.$emit("input",this.defaultValue)},methods:{blur(){this.getInputField()&&this.getInputField().blur()},focus(){this.getInputField()&&this.getInputField().focus()},getInputField(){return this.$el.querySelector(".form-control, input, select, textarea")},getFieldErrors(){let t=this.error||this.errors;return w(this.errors)&&(t=this.errors[this.$attrs.name||this.$attrs.id]),!t||Array.isArray(t)||w(t)?t:[t]},onInput(t){this.$emit("input",t.target.value),this.$emit("update:value",t.target.value)}}};function v(t){return v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v(t)}function M(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function A(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function W(t,e,r){return e&&A(t.prototype,e),r&&A(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function S(t,e){return S=Object.setPrototypeOf||function(i,n){return i.__proto__=n,i},S(t,e)}function Z(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function m(t,e,r){return Z()?m=Reflect.construct:m=function(n,o,s){var c=[null];c.push.apply(c,o);var a=Function.bind.apply(n,c),u=new a;return s&&S(u,s.prototype),u},m.apply(null,arguments)}function E(t,e){return D(t)||G(t,e)||U(t,e)||q()}function D(t){if(Array.isArray(t))return t}function G(t,e){var r=t==null?null:typeof Symbol!="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],n=!0,o=!1,s,c;try{for(r=r.call(t);!(n=(s=r.next()).done)&&(i.push(s.value),!(e&&i.length===e));n=!0);}catch(a){o=!0,c=a}finally{try{!n&&r.return!=null&&r.return()}finally{if(o)throw c}}return i}}function U(t,e){if(!!t){if(typeof t=="string")return F(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return F(t,e)}}function F(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function q(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var g=function(){return g=Object.assign||function(r){for(var i,n=1,o=arguments.length;n<o;n++){i=arguments[n];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])}return r},g.apply(this,arguments)};function X(t){return t.toLowerCase()}var J=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],K=/[^A-Z0-9]+/gi;function Q(t,e){e===void 0&&(e={});for(var r=e.splitRegexp,i=r===void 0?J:r,n=e.stripRegexp,o=n===void 0?K:n,s=e.transform,c=s===void 0?X:s,a=e.delimiter,u=a===void 0?" ":a,d=R(R(t,i,"$1\0$2"),o,"\0"),f=0,l=d.length;d.charAt(f)==="\0";)f++;for(;d.charAt(l-1)==="\0";)l--;return d.slice(f,l).split("\0").map(c).join(u)}function R(t,e,r){return e instanceof RegExp?t.replace(e,r):e.reduce(function(i,n){return i.replace(n,r)},t)}function Y(t,e){return e===void 0&&(e={}),Q(t,g({delimiter:"."},e))}function b(t,e){return e===void 0&&(e={}),Y(t,g({delimiter:"-"},e))}var T=function(){function t(){var e=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};M(this,t),this.components={},Object.entries(r).forEach(function(i){var n=E(i,2),o=n[0],s=n[1];e.register(o,s)})}return W(t,[{key:"validate",value:function(r){if(v(r)==="object"||typeof r=="function")return r;throw new Error("Invalid data type `".concat(v(r),"`. Should be type `object` or `function`."))}},{key:"get",value:function(r){var i=this.components[r=b(r)];if(i)return i;throw new Error('"'.concat(r,'" has not been registered yet!'))}},{key:"register",value:function(r,i){var n=this;return v(r)==="object"?(Object.entries(r).forEach(function(o){var s=E(o,2),c=s[0],a=s[1];n.register(b(c),a)}),this):(this.components[b(r)]=this.validate(i),this)}},{key:"remove",value:function(r){return delete this.components[b(r)],this}},{key:"reset",value:function(){return this.components={},this}}]),t}();function tt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return m(T,e)}const P=tt();var et=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"activity-indicator",class:t.classes,style:t.style},[r("div",{staticClass:"activity-indicator-content"},[r(t.component,{tag:"component",staticClass:"mx-auto"}),t.label?r("div",{staticClass:"activity-indicator-label"},[t._v(" "+t._s(t.label)+" ")]):t._e()],1)])},rt=[],_t="";function k(t,e,r,i,n,o,s,c){var a=typeof t=="function"?t.options:t;e&&(a.render=e,a.staticRenderFns=r,a._compiled=!0),i&&(a.functional=!0),o&&(a._scopeId="data-v-"+o);var u;if(s?(u=function(l){l=l||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!l&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(l=__VUE_SSR_CONTEXT__),n&&n.call(this,l),l&&l._registeredComponents&&l._registeredComponents.add(s)},a._ssrRegister=u):n&&(u=c?function(){n.call(this,(a.functional?this.parent:this).$root.$options.shadowRoot)}:n),u)if(a.functional){a._injectStyles=u;var d=a.render;a.render=function(ht,j){return u.call(j),d(ht,j)}}else{var f=a.beforeCreate;a.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:a}}function _(t,e="px"){return t!=null&&t!==!1&&isFinite(t)?`${t}${e}`:t}const it={name:"ActivityIndicator",props:{absolute:Boolean,center:Boolean,label:String,size:{type:String,default:"md"},registry:{type:T,default(){return P}},type:{type:String,required:!0},height:[String,Number],maxHeight:[String,Number],minHeight:[String,Number],width:[String,Number],maxWidth:[String,Number],minWidth:[String,Number]},computed:{classes(){return{"activity-indicator-center":this.center,"activity-indicator-absolute":this.absolute,[this.size&&`activity-indicator-${this.size}`]:!!this.size}},style(){return{width:_(this.width),maxWidth:_(this.maxWidth),minWidth:_(this.minWidth),height:_(this.height),maxHeight:_(this.maxHeight),minHeight:_(this.minHeight)}},component(){return()=>{const t=P.get(this.type);return t instanceof Promise?t:typeof t=="function"?t():Promise.resolve(t)}}}},O={};var nt=k(it,et,rt,!1,at,null,null,null);function at(t){for(let e in O)this[e]=O[e]}var st=function(){return nt.exports}(),pt="",vt="",yt="",mt="",gt="",bt="",Ct="",St="",xt="",$t="",wt="",At="",Et="",Ft="",ot=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.formGroupClasses},[t._t("label",function(){return[t.label?r("label",{ref:"label",class:t.labelClass,attrs:{for:t.id},domProps:{innerHTML:t._s(t.label)},on:{click:t.focus}}):t._e()]}),r("div",{staticClass:"form-group-inner"},[t._t("control",function(){return[t.$slots.icon?r("div",{staticClass:"form-group-inner-icon",on:{click:t.focus}},[t._t("icon")],2):t._e(),r("input",t._b({directives:[{name:"bind-events",rawName:"v-bind-events"}],ref:"field",domProps:{value:t.currentValue},on:{input:t.onInput}},"input",t.controlAttributes,!1))]}),t._t("activity",function(){return[r("transition",{attrs:{name:"input-field-fade"}},[t.activity?r("activity-indicator",{key:"activity",ref:"activity",attrs:{type:t.indicator,size:t.indicatorSize||t.size}}):t._e()],1)]})],2),t._t("feedback",function(){return[t.invalidFeedback?r("div",{staticClass:"invalid-feedback",attrs:{invalid:""},domProps:{innerHTML:t._s(t.invalidFeedback)}}):t.validFeedback?r("div",{staticClass:"valid-feedback",attrs:{valid:""},domProps:{innerHTML:t._s(t.validFeedback)}}):t._e()]}),t._t("help",function(){return[t.helpText?r("small",{ref:"help"},[t._v(" "+t._s(t.helpText)+" ")]):t._e()]})],2)},lt=[],Rt="";const ut={name:"InputField",components:{ActivityIndicator:st},mixins:[H]},I={};var ct=k(ut,ot,lt,!1,dt,null,null,null);function dt(t){for(let e in I)this[e]=I[e]}var ft=function(){return ct.exports}();h.InputField=ft,Object.defineProperty(h,"__esModule",{value:!0}),h[Symbol.toStringTag]="Module"});
14
+ ***************************************************************************** */var m=function(){return m=Object.assign||function(e){for(var r,n=1,i=arguments.length;n<i;n++){r=arguments[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},m.apply(this,arguments)};function L(t){return t.toLowerCase()}var B=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],V=/[^A-Z0-9]+/gi;function H(t,e){e===void 0&&(e={});for(var r=e.splitRegexp,n=r===void 0?B:r,i=e.stripRegexp,o=i===void 0?V:i,s=e.transform,c=s===void 0?L:s,a=e.delimiter,u=a===void 0?" ":a,d=$($(t,n,"$1\0$2"),o,"\0"),f=0,l=d.length;d.charAt(f)==="\0";)f++;for(;d.charAt(l-1)==="\0";)l--;return d.slice(f,l).split("\0").map(c).join(u)}function $(t,e,r){return e instanceof RegExp?t.replace(e,r):e.reduce(function(n,i){return n.replace(i,r)},t)}function M(t,e){return e===void 0&&(e={}),H(t,m({delimiter:"."},e))}function A(t,e){return e===void 0&&(e={}),M(t,m({delimiter:"-"},e))}const y={};function _(...t){if(!t.length)return y;const[e,r]=t;return typeof e=="string"?typeof y[e]!="undefined"?y[e]:r:Array.isArray(e)?e.reduce((n,i)=>Object.assign(n,{[i]:y[i]}),{}):Object.assign(y,...t)}function x(t,e,r="-"){const n=e.toString().replace(new RegExp(`^${t}${r}?`),"");return[A(n),t].filter(i=>!!i).join(r)}function E(t){return!Array.isArray(t)&&typeof t=="object"}var W={directives:{bindEvents:{bind(t,e,r){if(t.addEventListener("focus",()=>{r.context.hasFocus=!0}),t.addEventListener("blur",()=>{r.context.hasFocus=!1}),t.addEventListener(t.tagName==="SELECT"?"change":"input",n=>{r.context.isEmpty=!t.value,r.context.currentValue=t.value}),r.context.hasChanged=!!t.value,r.context.bindEvents.forEach(n=>{t.addEventListener(n,i=>{r.context.$emit(n,i)})}),t.tagName==="SELECT"){const n=t.querySelector('[value=""]');n&&n.value===t.value&&(r.context.defaultEmpty=!0)}}}},mixins:[v],inheritAttrs:!1,props:{activity:{type:Boolean,default:!1},animated:{type:Boolean,default:()=>_("animated",!1)},bindEvents:{type:Array,default(){return["focus","blur","change","click","keypress","keyup","keydown","progress","paste"]}},componentName:{type:String,default(){return this.$options.name}},defaultControlClass:{type:String,default:()=>_("defaultControlClass","form-control")},defaultValue:{default:()=>_("defaultValue",null)},error:[String,Array,Boolean],errors:{type:[Array,Object,Boolean],default(){return{}}},feedback:[String,Array],group:{type:Boolean,default:()=>_("group",!0)},helpText:[Number,String],hideLabel:Boolean,indicator:{type:String,default:()=>_("indicator","spinner")},indicatorSize:String,inline:Boolean,invalid:Boolean,label:[Number,String],labelClass:{type:[Object,String],default:()=>_("labelClass","form-label")},pill:Boolean,plaintext:Boolean,size:String,spacing:String,valid:Boolean,value:{default:null}},data(){return{currentValue:this.value||this.defaultValue,defaultEmpty:!1,hasChanged:!1,hasFocus:!1,isEmpty:!(this.value||this.defaultValue)}},computed:{id(){return this.$attrs.id||this.$attrs.name},controlAttributes(){return Object.keys(this.$attrs).concat([["id",this.id],["class",this.controlClasses]]).reduce((t,e)=>(Array.isArray(e)?t[e[0]]=e[1]:t[e]=this[e]||this.$attrs[e],t),{})},controlClass(){return this.defaultControlClass},controlSizeClass(){return x(this.size,this.controlClass)},formGroupClasses(){return{[A(this.componentName)]:!!this.componentName,[this.size&&x(this.size,this.componentName)]:!!this.size,animated:this.animated,"default-empty":this.defaultEmpty,"form-group":this.group,[this.size&&x(this.size,"form-group")]:!!this.size,"has-activity":this.activity,"has-changed":this.hasChanged,"has-focus":this.hasFocus,"has-icon":!!this.$slots.icon,"is-empty":this.isEmpty,"is-invalid":!!(this.invalid||this.invalidFeedback),"is-valid":!!(this.valid||this.validFeedback)}},controlClasses(){return Object.assign({[this.controlClass]:!!this.controlClass,[this.controlSizeClass]:!!this.controlSizeClass,"form-control-icon":!!this.$slots.icon,"is-valid":!!(this.valid||this.validFeedback),"is-invalid":!!(this.invalid||this.invalidFeedback),[this.pillClasses]:this.pill,[this.plaintextClass]:this.plaintext,[this.spacing]:!!this.spacing},this.shadowableClass)},hasDefaultSlot(){return!!this.$slots.default},invalidFeedback(){if(this.error==="")return null;if(this.error)return this.error;const t=this.getFieldErrors();return Array.isArray(t)?t.filter(e=>e&&typeof e=="string").join("<br>"):t},pillClasses(){return"rounded rounded-pill"},plaintextClass(){return"form-control-plaintext"},validFeedback(){return Array.isArray(this.feedback)?this.feedback.join("<br>"):this.feedback}},watch:{hasFocus(){this.shouldChangeOnFocus()&&(this.hasChanged=!0)},value(t){this.currentValue=t},currentValue(){this.hasChanged=!0},defaultEmpty(){this.hasChanged=!0}},mounted(){this.value===null&&this.defaultValue!==null&&this.$emit("input",this.defaultValue)},methods:{blur(){this.getInputField()&&this.getInputField().blur()},focus(){this.getInputField()&&this.getInputField().focus()},getInputField(){return this.$el.querySelector(".form-control, input, select, textarea")},getFieldErrors(){let t=this.error||this.errors;return this.errors&&E(this.errors)&&(t=this.errors[this.$attrs.name||this.$attrs.id]),!t||Array.isArray(t)||E(t)?t:[t]},shouldChangeOnFocus(){return!this.getInputField().readOnly},onInput(t){this.$emit("input",t.target.value),this.$emit("update:value",t.target.value)}}};function g(t){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(t)}function Z(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function F(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function D(t,e,r){return e&&F(t.prototype,e),r&&F(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function w(t,e){return w=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},w(t,e)}function G(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function b(t,e,r){return G()?b=Reflect.construct:b=function(i,o,s){var c=[null];c.push.apply(c,o);var a=Function.bind.apply(i,c),u=new a;return s&&w(u,s.prototype),u},b.apply(null,arguments)}function R(t,e){return U(t)||q(t,e)||X(t,e)||J()}function U(t){if(Array.isArray(t))return t}function q(t,e){var r=t==null?null:typeof Symbol!="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],i=!0,o=!1,s,c;try{for(r=r.call(t);!(i=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));i=!0);}catch(a){o=!0,c=a}finally{try{!i&&r.return!=null&&r.return()}finally{if(o)throw c}}return n}}function X(t,e){if(!!t){if(typeof t=="string")return O(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return O(t,e)}}function O(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function J(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
15
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var C=function(){return C=Object.assign||function(r){for(var n,i=1,o=arguments.length;i<o;i++){n=arguments[i];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])}return r},C.apply(this,arguments)};function K(t){return t.toLowerCase()}var Q=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],Y=/[^A-Z0-9]+/gi;function tt(t,e){e===void 0&&(e={});for(var r=e.splitRegexp,n=r===void 0?Q:r,i=e.stripRegexp,o=i===void 0?Y:i,s=e.transform,c=s===void 0?K:s,a=e.delimiter,u=a===void 0?" ":a,d=T(T(t,n,"$1\0$2"),o,"\0"),f=0,l=d.length;d.charAt(f)==="\0";)f++;for(;d.charAt(l-1)==="\0";)l--;return d.slice(f,l).split("\0").map(c).join(u)}function T(t,e,r){return e instanceof RegExp?t.replace(e,r):e.reduce(function(n,i){return n.replace(i,r)},t)}function et(t,e){return e===void 0&&(e={}),tt(t,C({delimiter:"."},e))}function S(t,e){return e===void 0&&(e={}),et(t,C({delimiter:"-"},e))}var P=function(){function t(){var e=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Z(this,t),this.components={},Object.entries(r).forEach(function(n){var i=R(n,2),o=i[0],s=i[1];e.register(o,s)})}return D(t,[{key:"validate",value:function(r){if(g(r)==="object"||typeof r=="function")return r;throw new Error("Invalid data type `".concat(g(r),"`. Should be type `object` or `function`."))}},{key:"get",value:function(r){var n=this.components[r=S(r)];if(n)return n;throw new Error('"'.concat(r,'" has not been registered yet!'))}},{key:"register",value:function(r,n){var i=this;return g(r)==="object"?(Object.entries(r).forEach(function(o){var s=R(o,2),c=s[0],a=s[1];i.register(S(c),a)}),this):(this.components[S(r)]=this.validate(n),this)}},{key:"remove",value:function(r){return delete this.components[S(r)],this}},{key:"reset",value:function(){return this.components={},this}}]),t}();function rt(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return b(P,e)}const k=rt();var nt=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"activity-indicator",class:t.classes,style:t.style},[r("div",{staticClass:"activity-indicator-content"},[r(t.component,{tag:"component",staticClass:"mx-auto"}),t.label?r("div",{staticClass:"activity-indicator-label"},[t._v(" "+t._s(t.label)+" ")]):t._e()],1)])},it=[],vt="";function j(t,e,r,n,i,o,s,c){var a=typeof t=="function"?t.options:t;e&&(a.render=e,a.staticRenderFns=r,a._compiled=!0),n&&(a.functional=!0),o&&(a._scopeId="data-v-"+o);var u;if(s?(u=function(l){l=l||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!l&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(l=__VUE_SSR_CONTEXT__),i&&i.call(this,l),l&&l._registeredComponents&&l._registeredComponents.add(s)},a._ssrRegister=u):i&&(u=c?function(){i.call(this,(a.functional?this.parent:this).$root.$options.shadowRoot)}:i),u)if(a.functional){a._injectStyles=u;var d=a.render;a.render=function(pt,N){return u.call(N),d(pt,N)}}else{var f=a.beforeCreate;a.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:a}}function p(t,e="px"){return t!=null&&t!==!1&&isFinite(t)?`${t}${e}`:t}const at={name:"ActivityIndicator",props:{absolute:Boolean,center:Boolean,label:String,size:{type:String,default:"md"},registry:{type:P,default(){return k}},type:{type:String,required:!0},height:[String,Number],maxHeight:[String,Number],minHeight:[String,Number],width:[String,Number],maxWidth:[String,Number],minWidth:[String,Number]},computed:{classes(){return{"activity-indicator-center":this.center,"activity-indicator-absolute":this.absolute,[this.size&&`activity-indicator-${this.size}`]:!!this.size}},style(){return{width:p(this.width),maxWidth:p(this.maxWidth),minWidth:p(this.minWidth),height:p(this.height),maxHeight:p(this.maxHeight),minHeight:p(this.minHeight)}},component(){return()=>{const t=k.get(this.type);return t instanceof Promise?t:typeof t=="function"?t():Promise.resolve(t)}}}},I={};var st=j(at,nt,it,!1,ot,null,null,null);function ot(t){for(let e in I)this[e]=I[e]}var lt=function(){return st.exports}(),yt="",gt="",mt="",bt="",Ct="",St="",xt="",wt="",$t="",At="",Et="",Ft="",Rt="",Ot="",ut=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{class:t.formGroupClasses},[t._t("label",function(){return[t.label?r("label",{ref:"label",class:t.labelClass,attrs:{for:t.id},domProps:{innerHTML:t._s(t.label)},on:{click:t.focus}}):t._e()]}),r("div",{staticClass:"form-group-inner"},[t._t("control",function(){return[t.$slots.icon?r("div",{staticClass:"form-group-inner-icon",on:{click:t.focus}},[t._t("icon")],2):t._e(),r("input",t._b({directives:[{name:"bind-events",rawName:"v-bind-events"}],ref:"field",domProps:{value:t.currentValue},on:{input:t.onInput}},"input",t.controlAttributes,!1))]}),t._t("activity",function(){return[r("transition",{attrs:{name:"input-field-fade"}},[t.activity?r("activity-indicator",{key:"activity",ref:"activity",attrs:{type:t.indicator,size:t.indicatorSize||t.size}}):t._e()],1)]})],2),t._t("feedback",function(){return[t.invalidFeedback?r("div",{staticClass:"invalid-feedback",attrs:{invalid:""},domProps:{innerHTML:t._s(t.invalidFeedback)}}):t.validFeedback?r("div",{staticClass:"valid-feedback",attrs:{valid:""},domProps:{innerHTML:t._s(t.validFeedback)}}):t._e()]}),t._t("help",function(){return[t.helpText?r("small",{ref:"help"},[t._v(" "+t._s(t.helpText)+" ")]):t._e()]})],2)},ct=[],Tt="";const dt={name:"InputField",components:{ActivityIndicator:lt},mixins:[W]},z={};var ft=j(dt,ut,ct,!1,ht,null,null,null);function ht(t){for(let e in z)this[e]=z[e]}var _t=function(){return ft.exports}();h.InputField=_t,Object.defineProperty(h,"__esModule",{value:!0}),h[Symbol.toStringTag]="Module"});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-interface/input-field",
3
- "version": "0.11.6",
3
+ "version": "0.12.0",
4
4
  "description": "A Vue input field component.",
5
5
  "files": [
6
6
  "index.js",
@@ -40,7 +40,7 @@
40
40
  "homepage": "https://github.com/vue-interface/input-field/docs#readme",
41
41
  "dependencies": {
42
42
  "@vue-interface/activity-indicator": "^1.0.3",
43
- "@vue-interface/form-control": "^0.11.5",
43
+ "@vue-interface/form-control": "^0.12.0",
44
44
  "vue": "^2.6.14"
45
45
  },
46
46
  "devDependencies": {