UNPKG

vfg-next

Version:

A schema-based form generator component for Vue.js 3

7 lines 67.9 kB
/** * vfg-next * A schema-based form generator component for Vue.js 3 * v3.00.7 * @license MIT License */ import{isNil as e,isFinite as t,isInteger as i,isNumber as a,isString as n,get as o,isArray as r,each as l,isFunction as s,set as d,isObject as c,cloneDeep as u,forEach as m,debounce as h,uniqueId as f,uniq as p,clone as v,find as g,isEmpty as b,defaults as y,camelCase as x}from"lodash";import k from"fecha";import{defineComponent as w,resolveDirective as A,openBlock as O,createBlock as C,withDirectives as S,createVNode as I,vModelCheckbox as T,Fragment as F,createTextVNode as V,toDisplayString as N,renderList as D,createCommentVNode as M,vModelSelect as U,vModelText as E,vShow as q,resolveComponent as L,withCtx as R,resolveDynamicComponent as B}from"vue";function j(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function z(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function Y(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?z(Object(i),!0).forEach((function(t){j(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):z(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var i=[],a=!0,n=!1,o=void 0;try{for(var r,l=e[Symbol.iterator]();!(a=(r=l.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){n=!0,o=e}finally{try{a||null==l.return||l.return()}finally{if(n)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return _(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,a=new Array(t);i<t;i++)a[i]=e[i];return a}var H,G={fieldIsRequired:"{field} is required!",invalidFormat:"Invalid format!",numberTooSmall:"The number is too small! Minimum: {min}",numberTooBig:"The number is too big! Maximum: {max}",invalidNumber:"Invalid number",invalidInteger:"The value is not an integer",needAvailabilityCheck:"{field} availability needs to be checked",textIsNotSameAs:"{field} must be same with {reference}",textTooSmall:"The length of text is too small! Current: {current}, Minimum: {min}",textTooBig:"The length of text is too big! Current: {current}, Maximum: {max}",thisNotText:"This is not a text!",thisNotArray:"This is not an array!",selectMinItems:"Select minimum {min} items!",selectMaxItems:"Select maximum {max} items!",invalidDate:"Invalid date!",dateIsEarly:"The date is too early! Current: {current}, Minimum: {min}",dateIsLate:"The date is too late! Current: {current}, Maximum: {max}",invalidEmail:"Invalid e-mail address!",invalidURL:"Invalid URL!",invalidCard:"Invalid card format!",invalidCardNumber:"Invalid card number!",invalidTextContainNumber:"Invalid text! Cannot contains numbers or special characters",invalidTextContainSpec:"Invalid text! Cannot contains special characters"};function Q(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e?e.replace(/{(.*?)}/g,(function(e,i){return t[i.trim().toLowerCase()]})):e}function K(e,t,i){i=G?Object.assign(G,i):G;var a=H&&"__VUE_I18N__"in H?H.__VUE_I18N__.global:null;return t&&("field"in t&&(!("min"in t)&&"min"in t.field&&(t.min=t.field.min),!("max"in t)&&"max"in t.field&&(t.max=t.field.max),t.fieldName=t.field.name||t.field.label),"refField"in t&&(t.refFieldName=t.refField.name||t.refField.label)),t=Y(Y({},t),{},{get field(){return this.fieldName?a.te(this.fieldName)?a.tm(this.fieldName):this.fieldName:""},get reference(){return this.refFieldName?a.te(this.refFieldName)?a.tm(this.refFieldName):this.refFieldName:""}}),a?{key:"vfg."+e,args:t,message:Q(i[e],t)}:Q(i[e],t)}function Z(t,i,a,n){return e(i)||""===i||0==i?a?[K("fieldIsRequired",{field:t,value:i},n.resources)]:[]:null}var X={required:function(e,t,i,a){return Z(t,e,t.required,a)},number:function(i,a,n,o){var r=Z(a,i,a.required,o);if(null!=r)return r;var l=[];return t(i)?(!e(a.min)&&i<a.min&&l.push(K("numberTooSmall",{field:a,value:i},o.resources)),!e(a.max)&&i>a.max&&l.push(K("numberTooBig",{field:a,value:i},o.resources))):l.push(K("invalidNumber",{field:a,value:i},o.resources)),l},integer:function(e,t,a,n){var o=Z(t,e,t.required,n);if(null!=o)return o;var r=X.number(e,t,a,n);return i(e)||r.push(K("invalidInteger",{field:t,value:e},n.resources)),r},double:function(e,t,i,n){var o=Z(t,e,t.required,n);return null!=o?o:!a(e)||isNaN(e)?[K("invalidNumber",{field:t,value:e},n.resources)]:void 0},string:function(t,i,a,r){var l=Z(i,t,i.required,r);if(null!=l)return l;var s=[];n(t)?(!e(i.min)&&t.length<i.min&&s.push(K("textTooSmall",{field:i,value:t,current:t.length},r.resources)),!e(i.max)&&t.length>i.max&&s.push(K("textTooBig",{field:i,value:t,current:t.length},r.resources)),"reference"in i&&o(r.record,i.reference)!==t&&s.push(K("textIsNotSameAs",{field:i,refField:r.fields[i.reference],value:t,current:t.length},r.resources))):s.push(K("thisNotText",{field:i,value:t,refere:refere},r.resources));return s},array:function(t,i,a,n){if(i.required){if(!r(t))return[K("thisNotArray",{field:i,value:t},n.resources)];if(0===t.length)return[K("fieldIsRequired",{field:i,value:t},n.resources)]}if(!e(t)){if(!e(i.min)&&t.length<i.min)return[K("selectMinItems",{field:i,value:t},n.resources)];if(!e(i.max)&&t.length>i.max)return[K("selectMaxItems",{field:i,value:t},n.resources)]}},date:function(t,i,a,n){var o=Z(i,t,i.required,n);if(null!=o)return o;var r=new Date(t);if(isNaN(r.getDate()))return[K("invalidDate",{field:i,value:t},n.resources)];var l=[];if(!e(i.min)){var s=new Date(i.min);r.valueOf()<s.valueOf()&&l.push(K("dateIsEarly",{field:i,value:t,current:k.format(r),min:k.format(s)},n.resources))}if(!e(i.max)){var d=new Date(i.max);r.valueOf()>d.valueOf()&&l.push(K("dateIsLate",{field:i,value:t,current:k.format(r),max:k.format(d)},n.resources))}return l},regexp:function(t,i,a,n){var o=Z(i,t,i.required,n);if(null!=o)return o;if(!e(i.pattern)&&!new RegExp(i.pattern).test(t))return[K("invalidFormat",{field:i,value:t},n.resources)]},availability:function(e,t,i,a){if(e&&t.unavailable)return[K("needAvailabilityCheck",{field:t,value:e},a.resources)]},email:function(e,t,i,a){var n=Z(t,e,t.required,a);if(null!=n)return n;return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)?void 0:[K("invalidEmail",{field:t,value:e},a.resources)]},url:function(e,t,i,a){var n=Z(t,e,t.required,a);if(null!=n)return n;return/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e)?void 0:[K("invalidURL",{field:t,value:e},a.resources)]},creditCard:function(e,t,i,a){var n=Z(t,e,t.required,a);if(null!=n)return n;var o=e.replace(/[^0-9]+/g,"");if(!/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/.test(o))return[K("invalidCard",{field:t,value:e},a.resources)];for(var r,l,s,d=0,c=o.length-1;c>=0;c--)r=o.substring(c,c+1),l=parseInt(r,10),d+=s&&(l*=2)>=10?l%10+1:l,s=!s;return d%10==0&&o?void 0:[K("invalidCardNumber",{field:t,value:e},a.resources)]},alpha:function(e,t,i,a){var n=Z(t,e,t.required,a);if(null!=n)return n;return/^[a-zA-Z]*$/.test(e)?void 0:[K("invalidTextContainNumber",{field:t,value:e},a.resources)]},alphaNumeric:function(e,t,i,a){var n=Z(t,e,t.required,a);if(null!=n)return n;return/^[a-zA-Z0-9]*$/.test(e)?void 0:[K("invalidTextContainSpec",{field:t,value:e},a.resources)]},init:function(e){H=e}},J={};Object.keys(X).forEach((function(e){J[e]=X[e]}));var W=function(e){var t=[];return l(e.fields,(function(e){!0===e.multi&&t.push(e)})),t},ee=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return void 0!==e.id?t+e.id:t+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,"")},te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"")},ie={},ae={createDefaultObject:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return l(e.fields,(function(i){void 0===o(t,i.model)&&void 0!==i.default&&(s(i.default)?d(t,i.model,i.default(i,e,t)):c(i.default)||r(i.default)?d(t,i.model,u(i.default)):d(t,i.model,i.default))})),t},getMultipleFields:W,mergeMultiObjectFields:function(e,t){var i={},a=W(e);return l(a,(function(e){var a,n=!0,r=e.model;l(t,(function(e){var t=o(e,r);n?(a=t,n=!1):a!==t&&(a=void 0)})),d(i,r,a)})),i},slugifyFormID:ee,slugify:te,fieldComponents:ie};function ne(e){return n(e)?null!=J[e]?J[e]:null:e}function oe(e,t){var i=o(t.instance,"schema.attributes",{}),a=t.value||"input";n(a)&&(i=o(i,a)||i),m(i,(function(t,i){e.setAttribute(i,t)}))}var re={directives:{attributes:{beforeMount:oe,updated:oe}},props:{vfg:{type:Object,default:void 0},model:{type:Object,default:void 0},schema:{type:Object,default:void 0},formOptions:{type:Object,default:void 0},disabled:{type:Boolean,default:!1}},emits:["validated","model-updated"],data:function(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},computed:{value:{cache:!1,get:function(){var e;return e=s(o(this.schema,"get"))?this.schema.get(this.model):o(this.model,this.schema.model),this.formatValueToField(e)},set:function(e){var t=this.value;e=this.formatValueToModel(e),s(e)?e(e,t):this.updateModelValue(e,t)}}},methods:{validate:function(e){var t=this;this.clearValidationErrors();var i=o(this.formOptions,"validateAsync",!1),a=[];if(!this.schema.validator&&this.schema.required&&(this.schema.validator=J.required),this.schema.validator&&!0!==this.schema.readonly&&!0!==this.disabled){var l=[];r(this.schema.validator)?m(this.schema.validator,(function(e){l.push(ne(e).bind(t))})):l.push(ne(this.schema.validator).bind(this)),m(l,(function(e){if(i)a.push(e(t.value,t.schema,t.model,t.formOptions.formData));else{var n=e(t.value,t.schema,t.model,t.formOptions.formData);n&&s(n.then)?n.then((function(e){e&&(t.errors=t.errors.concat(e));var i=0===t.errors.length;t.$emit("validated",i,t.errors,t)})):n&&(a=a.concat(n))}}))}var d=function(i){var a=[];m(p(i),(function(e){r(e)&&e.length>0?a=a.concat(e):n(e)&&a.push(e)})),s(t.schema.onValidated)&&t.schema.onValidated.call(t,t.model,a,t.schema);var o=0===a.length;return e||t.$emit("validated",o,a,t),t.errors=a,a};return i?Promise.all(a).then(d):d(a)},debouncedValidate:function(){s(this.debouncedValidateFunc)||(this.debouncedValidateFunc=h(this.validate.bind(this),o(this.schema,"validateDebounceTime",o(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue:function(e,t){var i=!1;s(this.schema.set)?(this.schema.set(this.model,e),i=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),i=!0),i&&(this.$emit("model-updated",e,this.schema.model),s(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,t,this.schema),!0===o(this.formOptions,"validateAfterChanged",!1)&&(o(this.schema,"validateDebounceTime",o(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors:function(){this.errors.splice(0)},setModelValueByPath:function(e,t){var i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");for(var a=this.model,n=i.split("."),o=0,r=n.length;o<r;){var l=n[o];if(!(o<r-1))return void(a[l]=t);a=(a[l],a[l]),++o}},getFieldID:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=o(this.formOptions,"fieldIdPrefix","");return ee(e,i)+(t?"-"+f():"")},getFieldClasses:function(){return o(this.schema,"fieldClasses",[])},formatValueToField:function(e){return e},formatValueToModel:function(e){return e}}},le=w({mixins:[re]}),se=V("  ");function de(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}de(".vue-form-generator .field-checkbox input{margin-left:12px}"),le.render=function(e,t,i,a,n,o){var r=A("attributes");return O(),C("div",null,[S(I("input",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),type:"checkbox",autocomplete:e.schema.autocomplete,disabled:e.disabled,name:e.schema.inputName,class:e.schema.fieldClasses,required:e.schema.required},null,10,["id","autocomplete","disabled","name","required"]),[[T,e.value],[r,"input"]]),se,e.formOptions.i18n?(O(),C(F,{key:0},[V(N(e.$te(e.schema.text)?e.$t(e.schema.text):e.schema.text),1)],64)):(O(),C(F,{key:1},[V(N(e.schema.text),1)],64))])};var ce=w({mixins:[re],data:function(){return{comboExpanded:!1}},computed:{items:function(){var e=this.schema.values;return"function"==typeof e?e.apply(this,[this.model,this.schema]):e},selectedCount:function(){return this.value?this.value.length:0}},methods:{getInputName:function(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?te(this.schema.inputName+"_"+this.getItemValue(e)):te(this.getItemValue(e))},getItemValue:function(e){if(c(e)){if(void 0!==this.schema.checklistOptions&&void 0!==this.schema.checklistOptions.value)return e[this.schema.checklistOptions.value];if(void 0!==e.value)return e.value;throw"`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values"}return e},getItemName:function(e){if(c(e)){if(void 0!==this.schema.checklistOptions&&void 0!==this.schema.checklistOptions.name)return e[this.schema.checklistOptions.name];if(void 0!==e.name)return e.name;throw"`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values"}return e},isItemChecked:function(e){return this.value&&-1!==this.value.indexOf(this.getItemValue(e))},onChanged:function(t,i){if(!e(this.value)&&Array.isArray(this.value)||(this.value=[]),t.target.checked){var a=v(this.value);a.push(this.getItemValue(i)),this.value=a}else{var n=v(this.value);n.splice(this.value.indexOf(this.getItemValue(i)),1),this.value=n}},onExpandCombo:function(){this.comboExpanded=!this.comboExpanded}}}),ue={class:"wrapper"},me={class:"list-selected"},he={class:"info"},fe=I("div",{class:"arrow"},null,-1),pe={class:"dropList"};de('.vue-form-generator .field-checklist .list-selected{margin:15px 0}.vue-form-generator .field-checklist .list-selected .item-selected{margin-right:4px;margin-bottom:5px;padding:4px 8px;border:1px solid #ddd;border-radius:8px}.vue-form-generator .field-checklist .dropList,.vue-form-generator .field-checklist .listbox{height:auto;max-height:150px;overflow:auto}.vue-form-generator .field-checklist .dropList .list-row label,.vue-form-generator .field-checklist .listbox .list-row label{font-weight:400}.vue-form-generator .field-checklist .dropList .list-row input,.vue-form-generator .field-checklist .listbox .list-row input{margin-right:.3em}.vue-form-generator .field-checklist .combobox{width:auto!important;min-width:0;display:table;height:auto;overflow:hidden}.vue-form-generator .field-checklist .combobox .mainRow{cursor:pointer;position:relative;padding-right:10px}.vue-form-generator .field-checklist .combobox .mainRow .arrow{position:absolute;right:-9px;top:3px;width:16px;height:16px;transform:rotate(0deg);transition:transform .5s;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGdJREFUOI3tzjsOwjAURNGDUqSgTxU5K2AVrJtswjUsgHSR0qdxAZZFPrS+3ZvRzBsqf9MUtBtazJk+oMe0VTriiZCFX8nbpENMgfARjsn74vKj5IFruhfc8d6zIF9S/Hyk5HS4spMVeFcOjszaOwMAAAAASUVORK5CYII=");background-repeat:no-repeat}.vue-form-generator .field-checklist .combobox .mainRow.expanded .arrow{transform:rotate(-180deg)}.vue-form-generator .field-checklist .combobox .dropList{transition:height .5s}'),ce.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("div",ue,[I("div",me,[(O(!0),C(F,null,D(e.items,(function(t){return O(),C(F,null,[e.isItemChecked(t)?(O(),C("span",{key:t,class:"item-selected"},[e.formOptions.i18n&&e.$te(e.getItemName(t))?(O(),C(F,{key:0},[V(N(e.$t(e.getItemName(t))),1)],64)):(O(),C(F,{key:1},[V(N(e.getItemName(t)),1)],64))])):M("v-if",!0)],64)})),256))]),e.schema.listBox?(O(),C("div",{key:0,class:"listbox form-control",disabled:e.disabled},[(O(!0),C(F,null,D(e.items,(function(t){return O(),C("div",{key:t,class:["list-row",{"is-checked":e.isItemChecked(t)}]},[I("label",null,[S(I("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:e.isItemChecked(t),disabled:e.disabled,name:e.getInputName(t),onChange:function(i){return e.onChanged(i,t)}},null,40,["id","checked","disabled","name","onChange"]),[[r,"input"]]),V(N(e.getItemName(t)),1)])],2)})),128))],8,["disabled"])):M("v-if",!0),e.schema.listBox?M("v-if",!0):(O(),C("div",{key:1,class:"combobox form-control",disabled:e.disabled},[I("div",{class:["mainRow",{expanded:e.comboExpanded}],onClick:t[1]||(t[1]=function(){return e.onExpandCombo&&e.onExpandCombo.apply(e,arguments)})},[I("div",he,[e.formOptions.i18n&&e.$te("vfg.selected")?(O(),C(F,{key:0},[V(N(e.$t("vfg.selected",{count:e.selectedCount})),1)],64)):(O(),C(F,{key:1},[V(N(e.selectedCount)+" selected ",1)],64))]),fe],2),I("div",pe,[e.comboExpanded?(O(!0),C(F,{key:0},D(e.items,(function(t){return O(),C("div",{key:t,class:["list-row",{"is-checked":e.isItemChecked(t)}]},[I("label",null,[S(I("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:e.isItemChecked(t),disabled:e.disabled,name:e.getInputName(t),onChange:function(i){return e.onChanged(i,t)}},null,40,["id","checked","disabled","name","onChange"]),[[r,"input"]]),e.formOptions.i18n&&e.$te(e.getItemName(t))?(O(),C(F,{key:0},[V(N(e.$t(e.getItemName(t))),1)],64)):(O(),C(F,{key:1},[V(N(e.getItemName(t)),1)],64))])],2)})),128)):M("v-if",!0)])],8,["disabled"]))],512)),[[r,"wrapper"]])};var ve={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},ge=w({mixins:[re],computed:{inputType:function(){return this.schema&&"datetime"===this.schema.inputType?"datetime-local":this.schema.inputType}},mounted:function(){var e=this;switch(this.schema.inputType.toLowerCase()){case"number":case"range":this.debouncedFormatFunc=h((function(t,i){e.formatNumberToModel(t,i)}),parseInt(o(this.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":this.debouncedFormatFunc=h((function(t,i){e.formatDatetimeToModel(t,i)}),parseInt(o(this.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1})}},created:function(){this.schema.inputType.toLowerCase()},methods:{formatValueToModel:function(e){var t=this;if(null!=e)switch(this.schema.inputType.toLowerCase()){case"date":case"datetime":case"datetime-local":case"number":case"range":return function(i,a){t.debouncedFormatFunc(e,a)}}return e},formatValueToField:function(e){switch(this.schema.inputType.toLowerCase()){case"date":case"datetime":case"datetime-local":return this.formatDatetimeValueToField(e)}return e},formatDatetimeToModel:function(e,t){var i=ve[this.schema.inputType.toLowerCase()],a=k.parse(e,i);!1!==a&&(e=this.schema.format?k.format(a,this.schema.format):a.valueOf()),this.updateModelValue(e,t)},formatDatetimeValueToField:function(e){if(null==e)return null;var t=ve[this.schema.inputType.toLowerCase()],i=e;return a(e)||(i=k.parse(e,t)),!1!==i?k.format(i,t):e},formatNumberToModel:function(e,t){a(e)||(e=NaN),this.updateModelValue(e,t)},onInput:function(e){var t=e.target.value;switch(this.schema.inputType.toLowerCase()){case"number":case"range":a(parseFloat(e.target.value))&&(t=parseFloat(e.target.value))}this.value=t},onBlur:function(){s(this.debouncedFormatFunc)&&this.debouncedFormatFunc.flush()}}}),be={class:"wrapper"},ye={key:0,class:"helper"};de(".vue-form-generator .field-input .wrapper,.vue-form-generator .field-input input[type=radio]{width:100%}.vue-form-generator .field-input input[type=color]{width:60px}.vue-form-generator .field-input input[type=range]{padding:0}.vue-form-generator .field-input .helper{margin:auto .5em}"),ge.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("div",be,[S(I("input",{id:e.getFieldID(e.schema),class:["form-control",e.schema.fieldClasses],type:e.inputType,value:e.value,disabled:e.disabled,accept:e.schema.accept,alt:e.schema.alt,autocomplete:e.schema.autocomplete,checked:e.schema.checked,dirname:e.schema.dirname,formaction:e.schema.formaction,formenctype:e.schema.formenctype,formmethod:e.schema.formmethod,formnovalidate:e.schema.formnovalidate,formtarget:e.schema.formtarget,height:e.schema.height,list:e.schema.list,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,multiple:e.schema.multiple,name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder?e.formOptions.i18n&&e.$te(e.schema.placeholder)?e.$t(e.schema.placeholder):e.schema.placeholder:"",readonly:e.schema.readonly,required:e.schema.required,size:e.schema.size||20,src:e.schema.src,step:e.schema.step,width:e.schema.width,files:e.schema.files,onInput:t[1]||(t[1]=function(){return e.onInput&&e.onInput.apply(e,arguments)}),onBlur:t[2]||(t[2]=function(){return e.onBlur&&e.onBlur.apply(e,arguments)}),onChange:t[3]||(t[3]=function(t){return e.schema.onChange||null})},null,42,["id","type","value","disabled","accept","alt","autocomplete","checked","dirname","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","width","files"]),[[r,"input"]]),"color"===e.schema.inputType.toLowerCase()||"range"===e.schema.inputType.toLowerCase()?(O(),C("span",ye,N(e.value),1)):M("v-if",!0)],512)),[[r,"wrapper"]])};var xe=w({mixins:[re]}),ke={class:"wrapper"};de(".vue-form-generator .field-label .wrapper{display:block;width:100%;margin-left:12px}"),xe.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("div",ke,[S(I("span",{id:e.getFieldID(e.schema),class:e.schema.fieldClasses,innerHTML:e.schema.text||e.value},null,10,["id","innerHTML"]),[[r,"label"]])],512)),[[r,"wrapper"]])};var we=w({mixins:[re],computed:{items:function(){var e=this.schema.values;return"function"==typeof e?e.apply(this,[this.model,this.schema]):e},id:function(){return this.schema.model}},methods:{getItemValue:function(e){if(c(e)){if(void 0!==this.schema.radiosOptions&&void 0!==this.schema.radiosOptions.value)return e[this.schema.radiosOptions.value];if(void 0!==e.value)return e.value;throw"`value` is not defined. If you want to use another key name, add a `value` property under `radiosOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/radios.html#radios-field-with-object-values"}return e},getItemName:function(e){if(c(e)){if(void 0!==this.schema.radiosOptions&&void 0!==this.schema.radiosOptions.name)return e[this.schema.radiosOptions.name];if(void 0!==e.name)return e.name;throw"`name` is not defined. If you want to use another key name, add a `name` property under `radiosOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/radios.html#radios-field-with-object-values"}return e},getItemCssClasses:function(e){return{"is-checked":this.isItemChecked(e),"is-disabled":this.isItemDisabled(e)}},onSelection:function(e){this.value=this.getItemValue(e)},isItemChecked:function(e){return this.getItemValue(e)===this.value},isItemDisabled:function(e){if(this.disabled)return!0;var t=o(e,"disabled",!1);return s(t)?t(this.model):t}}});de(".vue-form-generator .field-radios .radio-list label{display:block}.vue-form-generator .field-radios .radio-list label input[type=radio]{margin-right:5px}"),we.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("div",{class:"radio-list",disabled:e.disabled},[(O(!0),C(F,null,D(e.items,(function(t){return S((O(),C("label",{key:t,class:e.getItemCssClasses(t)},[S(I("input",{id:e.getFieldID(e.schema,!0),type:"radio",disabled:e.isItemDisabled(t),name:e.id,value:e.getItemValue(t),checked:e.isItemChecked(t),class:e.schema.fieldClasses,required:e.schema.required,onClick:function(i){return e.onSelection(t)}},null,10,["id","disabled","name","value","checked","required","onClick"]),[[r,"input"]]),V(" "+N(e.getItemName(t)),1)],2)),[[r,"label"]])})),128))],8,["disabled"])),[[r,"wrapper"]])};var Ae=w({mixins:[re],computed:{selectOptions:function(){return this.schema.selectOptions||{}},items:function(){var e=this.schema.values;return"function"==typeof e?this.groupValues(e.apply(this,[this.model,this.schema])):this.groupValues(e)}},methods:{formatValueToField:function(t){return e(t)?null:t},groupValues:function(e){var t=[],i={};return e.forEach((function(e){i=null,e.group&&c(e)?(i=g(t,(function(t){return t.group===e.group})))?i.ops.push({id:e.id,name:e.name}):((i={group:"",ops:[]}).group=e.group,i.ops.push({id:e.id,name:e.name}),t.push(i)):t.push(e)})),t},getGroupName:function(e){if(e&&e.group)return e.group;throw"Group name is missing! https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items"},getItemValue:function(e){if(c(e)){if(void 0!==this.schema.selectOptions&&void 0!==this.schema.selectOptions.value)return e[this.schema.selectOptions.value];if(void 0!==e.id)return e.id;throw"`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items"}return e},getItemName:function(e){if(c(e)){if(void 0!==this.schema.selectOptions&&void 0!==this.schema.selectOptions.name)return e[this.schema.selectOptions.name];if(void 0!==e.name)return e.name;throw"`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items"}return e}}}),Oe=V(" <Nothing selected> ");Ae.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("select",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:["form-control",e.schema.fieldClasses],disabled:e.disabled,name:e.schema.inputName},[e.selectOptions.hideNoneSelectedText?M("v-if",!0):(O(),C("option",{key:0,disabled:e.schema.required,value:null},[e.selectOptions.noneSelectedText?(O(),C(F,{key:0},[V(N(e.formOptions.i18n&&e.$te(e.selectOptions.noneSelectedText)?e.$t(e.selectOptions.noneSelectedText):e.selectOptions.noneSelectedText),1)],64)):(O(),C(F,{key:1},[Oe],64))],8,["disabled"])),(O(!0),C(F,null,D(e.items,(function(t,i){return O(),C(F,null,[t.group?(O(),C("optgroup",{key:i+"_optgroup",label:e.getGroupName(t)},[t.ops?(O(!0),C(F,{key:0},D(t.ops,(function(t){return O(),C("option",{key:t,value:e.getItemValue(t)},[e.formOptions.i18n&&e.$te(e.getItemName(t))?(O(),C(F,{key:0},[V(N(e.$t(e.getItemName(t))),1)],64)):(O(),C(F,{key:1},[V(N(e.getItemName(t)),1)],64))],8,["value"])})),128)):M("v-if",!0)],8,["label"])):t.group?M("v-if",!0):(O(),C("option",{key:i+"_option",value:e.getItemValue(t)},[e.formOptions.i18n&&e.$te(e.getItemName(t))?(O(),C(F,{key:0},[V(N(e.$t(e.getItemName(t))),1)],64)):(O(),C(F,{key:1},[V(N(e.getItemName(t)),1)],64)),V(" "+N(),1)],8,["value"]))],64)})),256))],10,["id","disabled","name"])),[[U,e.value],[r,"input"]])};var Ce=w({mixins:[re],methods:{onClick:function(e){var t=this;if(!0===this.schema.validateBeforeSubmit){e.preventDefault();var i=o(this.formOptions,"validateAsync",!1),a=this.vfg.validate(),n=function(a){i&&!b(a)||!i&&!a?s(t.schema.onValidationError)&&t.schema.onValidationError(t.model,t.schema,a,e):s(t.schema.onSubmit)&&t.schema.onSubmit(t.model,t.schema,e)};a&&s(a.then)?a.then(n):n(a)}else s(this.schema.onSubmit)&&this.schema.onSubmit(this.model,this.schema,e)}}});de(".vue-form-generator .field-submit input{color:#fff!important;background-color:#337ab7!important;border-color:#2e6da4!important}"),Ce.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("input",{id:e.getFieldID(e.schema),type:"submit",value:e.$te(e.schema.buttonText)?e.$t(e.schema.buttonText):e.schema.buttonText,name:e.schema.inputName,disabled:e.disabled,class:e.schema.fieldClasses,onClick:t[1]||(t[1]=function(){return e.onClick&&e.onClick.apply(e,arguments)})},null,10,["id","value","name","disabled"])),[[r,"input"]])};var Se=w({mixins:[re]});Se.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("textarea",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:["form-control",e.schema.fieldClasses],disabled:e.disabled,maxlength:e.schema.max,minlength:e.schema.min,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2,name:e.schema.inputName},null,10,["id","disabled","maxlength","minlength","placeholder","readonly","required","rows","name"])),[[E,e.value],[r,"input"]])};var Ie=w({mixins:[re],methods:{onChange:function(e){s(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,this.schema,e,this)}}}),Te={class:"wrapper"};de(".vue-form-generator .field-input .wrapper{width:100%}.vue-form-generator .field-input .helper{margin:auto .5em}"),Ie.render=function(e,t,i,a,n,o){var r=A("attributes");return S((O(),C("div",Te,[S(I("input",{id:e.getFieldID(e.schema),class:"form-control",type:"file",name:e.schema.inputName,accept:e.schema.accept,multiple:e.schema.multiple,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,disabled:e.disabled,onChange:t[1]||(t[1]=function(){return e.onChange&&e.onChange.apply(e,arguments)})},null,40,["id","name","accept","multiple","placeholder","readonly","required","disabled"]),[[r,"input"]])],512)),[[r,"wrapper"]])};var Fe=w({mixins:[re],data:function(){return{cleave:null}},mounted:function(){this.$nextTick((function(){var e=this;window.Cleave&&(this.cleave=new window.Cleave(this.$el,y(this.schema.cleaveOptions||{},{creditCard:!1,phone:!1,phoneRegionCode:"AU",date:!1,datePattern:["d","m","Y"],numeral:!1,numeralThousandsGroupStyle:"thousand",numeralDecimalScale:2,numeralDecimalMark:".",blocks:[],delimiter:" ",prefix:null,numericOnly:!1,uppercase:!1,lowercase:!1,maxLength:0})),this.cleave.properties&&"result"in this.cleave.properties?this.$watch("cleave.properties.result",(function(){e.value=e.cleave.properties.result})):this.$el.addEventListener("input",this.inputChange))}))},beforeUnmount:function(){this.cleave&&(this.cleave.destroy(),this.$el.removeEventListener("input",this.inputChange))},methods:{inputChange:function(){this.value=this.$el.value}}});de(""),Fe.render=function(e,t,i,a,n,o){return O(),C("input",{id:e.getFieldID(e.schema),class:"form-control",type:"text",value:e.value,autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,["id","value","autocomplete","disabled","placeholder","readonly","name"])};var Ve={formatValueToField:function(e){if(null!=e){var t=this.schema.format?k.parse(e,this.schema.format):new Date(e);return k.format(t,this.getDateFormat())}return e},formatValueToModel:function(e){if(null!=e){var t=k.parse(e,this.getDateFormat());e=this.schema.format?k.format(t,this.schema.format):t.valueOf()}return e}},$e=w({mixins:[re],mounted:function(){this.$nextTick((function(){var e=this;if(window.$&&window.$.fn.datetimepicker){var t=this.$el.querySelector(".form-control");$(this.$el).datetimepicker(y(this.schema.dateTimePickerOptions||{},{format:"YYYY-MM-DD HH:mm:ss"})).on("dp.change",(function(){e.value=t.value}))}}))},beforeUnmount:function(){window.$&&window.$.fn.datetimepicker&&$(this.$el).data("DateTimePicker").destroy()},methods:Y({getDateFormat:function(){return this.schema.dateTimePickerOptions&&this.schema.dateTimePickerOptions.format?this.schema.dateTimePickerOptions.format:"YYYY-MM-DD HH:mm:ss"}},Ve)}),Ne={class:"input-group date"},De=I("span",{class:"input-group-addon"},[I("span",{class:"glyphicon glyphicon-calendar"})],-1);$e.render=function(e,t,i,a,n,o){return O(),C("div",Ne,[S(I("input",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:"form-control",type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,["id","autocomplete","disabled","placeholder","readonly","name"]),[[E,e.value]]),De])};var Me=w({mixins:[re],data:function(){return{autocomplete:"",inputs:{street_number:"long_name",route:"long_name",country:"long_name",administrative_area_level_1:"long_name",administrative_area_level_2:"long_name",locality:"long_name",postal_code:"short_name"}}},mounted:function(){var e=this;this.$nextTick((function(){window.google&&window.google.maps&&window.google.maps.places&&window.google.maps.places.Autocomplete&&(e.autocomplete=new google.maps.places.Autocomplete(e.$el,{types:["geocode"]}),e.autocomplete.addListener("place_changed",e.pipeAddress))}))},methods:{pipeAddress:function(){var e=this.autocomplete.getPlace();if(e){this.value=e.formatted_address;var t={};if(void 0!==e.address_components)for(var i=0;i<e.address_components.length;i++){var a=e.address_components[i].types[0];this.inputs[a]&&(t[a]=e.address_components[i][this.inputs[a]])}s(this.schema.onPlaceChanged)&&this.schema.onPlaceChanged(this.value,t,e,this.model,this.schema)}},geolocate:function(){var e=this;navigator.geolocation&&navigator.geolocation.getCurrentPosition((function(t){var i={lat:t.coords.latitude,lng:t.coords.longitude},a=new window.google.maps.Circle({center:i,radius:t.coords.accuracy});e.autocomplete.setBounds(a.getBounds())}))}}});Me.render=function(e,t,i,a,n,o){return S((O(),C("input",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:"form-control",type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,debounce:"500",onFocus:t[2]||(t[2]=function(t){return e.geolocate()})},null,40,["id","autocomplete","disabled","placeholder","readonly","name"])),[[E,e.value]])};var Ue=w({mixins:[re],computed:{previewStyle:function(){return!1!==this.schema.preview?{display:"block","background-image":null!=this.value?"url("+this.value+")":"none"}:{display:"none"}},wrappedValue:{get:function(){return this.value&&0===this.value.indexOf("data")?"<inline base64 image>":this.value},set:function(e){e&&0===e.indexOf("http")&&(this.value=e)}}},watch:{model:function(){var e=this.$el.querySelector("input.file");e&&(e.value="")}},methods:{remove:function(){this.value=""},fileChanged:function(e){var t=this,i=new FileReader;i.onload=function(e){t.value=e.target.result},e.target.files&&e.target.files.length>0&&i.readAsDataURL(e.target.files[0])}}}),Ee={class:"wrapper"};de('.vue-form-generator .field-image .wrapper{width:100%}.vue-form-generator .field-image .preview{position:relative;margin-top:5px;height:100px;background-repeat:no-repeat;background-size:contain;background-position:50%;border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.vue-form-generator .field-image .preview .remove{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAXUlEQVR42u2SwQoAIAhD88vVLy8KBlaS0i1oJwP3piGVg0Skmpq8HjqZrWl9uwCbGAmwKYGZs/6iqgMyAdJuM8W2QmYKpLt/0AG9ASCv/oAnANd3AEjmAlFT1BypAV+PnRH5YehvAAAAAElFTkSuQmCC");width:16px;height:16px;font-size:1.2em;position:absolute;right:.2em;bottom:.2em;opacity:.7}.vue-form-generator .field-image .preview .remove:hover{opacity:1;cursor:pointer}'),Ue.render=function(e,t,i,a,n,o){return O(),C("div",Ee,[S(I("input",{"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.wrappedValue=t}),class:"form-control link",type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly},null,8,["autocomplete","disabled","placeholder","readonly"]),[[q,!0!==e.schema.hideInput],[E,e.wrappedValue]]),!1!==e.schema.browse?(O(),C("input",{key:0,class:"form-control file",type:"file",disabled:e.disabled,name:e.schema.inputName,onChange:t[2]||(t[2]=function(){return e.fileChanged&&e.fileChanged.apply(e,arguments)})},null,40,["disabled","name"])):M("v-if",!0),I("div",{class:"preview",style:e.previewStyle},[I("div",{class:"remove",title:"Remove image",onClick:t[3]||(t[3]=function(){return e.remove&&e.remove.apply(e,arguments)})})],4)])};var qe=w({mixins:[re],mounted:function(){this.$nextTick((function(){window.$&&window.$.fn.mask&&$(this.$el).unmask().mask(this.schema.mask,this.schema.maskOptions)}))},beforeUnmount:function(){window.$&&window.$.fn.mask&&$(this.$el).unmask()}});qe.render=function(e,t,i,a,n,o){return S((O(),C("input",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:"form-control",type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,["id","autocomplete","disabled","placeholder","readonly","name"])),[[E,e.value]])};var Le=w({mixins:[re],data:function(){return{slider:null}},computed:{containPips:function(){return this.schema.noUiSliderOptions&&void 0!==this.schema.noUiSliderOptions.pips},containTooltip:function(){return this.schema.noUiSliderOptions&&this.schema.noUiSliderOptions.tooltips}},watch:{model:function(){window.noUiSlider&&this.slider&&this.slider.noUiSlider&&this.slider.noUiSlider.set(this.value)}},mounted:function(){var e=this;this.$nextTick((function(){window.noUiSlider&&(e.slider=e.$el,window.noUiSlider.create(e.slider,y(e.schema.noUiSliderOptions||{},{start:e.getStartValue(),range:{min:e.schema.min,max:e.schema.max}})),e.slider.noUiSlider.on("change",e.onChange.bind(e)))}))},beforeUnmount:function(){this.slider&&this.slider.noUiSlider.off("change")},methods:{onChange:function(e){r(e)?this.value=[parseFloat(e[0]),parseFloat(e[1])]:this.value=parseFloat(e)},formatValueToField:function(e){null!==this.slider&&void 0!==this.slider.noUiSlider&&this.slider.noUiSlider.set(e)},formatValueToModel:function(e){if(void 0!==this.slider.noUiSlider)return e instanceof Array?[Number(e[0]),Number(e[1])]:Number(e)},getStartValue:function(){return null!=this.value?this.value:void 0!==this.schema.noUiSliderOptions&&this.schema.noUiSliderOptions.double?[this.schema.min,this.schema.min]:this.schema.min}}});de(".vue-form-generator .field-noUiSlider .field-wrap{display:block}.vue-form-generator .field-noUiSlider .contain-pips{margin-bottom:30px}.vue-form-generator .field-noUiSlider .contain-tooltip{margin-top:30px}.vue-form-generator .field-noUiSlider .noUi-vertical{height:200px;margin:10px 0}"),Le.render=function(e,t,i,a,n,o){return O(),C("div",{class:["slider",{"contain-pips":e.containPips,"contain-tooltip":e.containTooltip}],disabled:e.disabled},null,10,["disabled"])};var Re=w({mixins:[re],data:function(){return{picker:null,options:null}},mounted:function(){this.initialize(o(this.schema,"pikadayOptions",{}))},beforeUnmount:function(){this.picker&&this.picker.destroy()},methods:Y(Y({getDateFormat:function(){return o(this.schema,"pikadayOptions.format","YYYY-MM-DD")}},Ve),{},{initialize:function(e){var t=this;this.picker&&this.picker.destroy&&this.picker.destroy(),this.$nextTick((function(){window.Pikaday&&(t.options=y({},e,{field:t.$el,onSelect:function(){t.value=t.picker.toString()}}),t.picker=new window.Pikaday(t.options))}))}})});Re.render=function(e,t,i,a,n,o){return S((O(),C("input",{"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:"form-control",type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,["autocomplete","disabled","placeholder","readonly","name"])),[[E,e.value]])};var Be=w({mixins:[re],data:function(){return{slider:null}},watch:{model:function(){if(window.$&&window.$.fn.ionRangeSlider){var e,t;if(r(this.value)){var i=P(this.value,2);e=i[0],t=i[1]}else e=this.value;this.slider&&this.slider.update({from:e,to:t})}}},mounted:function(){this.$nextTick((function(){if(window.$&&window.$.fn.ionRangeSlider){var e,t;if(r(this.value)){var i=P(this.value,2);e=i[0],t=i[1]}else e=this.value;var a=this;$(this.$el).ionRangeSlider(y(this.schema.rangeSliderOptions||{},{type:"single",grid:!0,hide_min_max:!0,from:e,to:t,onChange:function(e){"double"===a.slider.options.type?a.value=[e.from,e.to]:a.value=e.from}})),this.slider=$(this.$el).data("ionRangeSlider")}}))},beforeUnmount:function(){this.slider&&this.slider.destroy()}});de(".vue-form-generator .field-rangeSlider .irs{width:100%}"),Be.render=function(e,t,i,a,n,o){return O(),C("input",{type:"text",autocomplete:e.schema.autocomplete,"data-disable":e.disabled,"data-max":e.schema.max,"data-min":e.schema.min,"data-step":e.schema.step,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,["autocomplete","data-disable","data-max","data-min","data-step","placeholder","readonly","name"])};var je=w({mixins:[re],computed:{items:function(){var e=this.schema.values;return"function"==typeof e?e.apply(this,[this.model,this.schema]):e}},watch:{model:function(){$.fn.selectpicker&&$(this.$el).selectpicker("refresh")}},mounted:function(){this.$nextTick((function(){$.fn.selectpicker&&$(this.$el).selectpicker("destroy").selectpicker(this.schema.selectOptions)}))},beforeUnmount:function(){$.fn.selectpicker&&$(this.$el).selectpicker("destroy")},methods:{getItemValue:function(e){if(c(e)){if(void 0!==this.schema.selectOptions&&void 0!==this.schema.selectOptions.value)return e[this.schema.selectOptions.value];if(void 0!==e.id)return e.id;throw"`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items"}return e},getItemName:function(e){if(c(e)){if(void 0!==this.schema.selectOptions&&void 0!==this.schema.selectOptions.name)return e[this.schema.selectOptions.name];if(void 0!==e.name)return e.name;throw"`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items"}return e}}});de(".vue-form-generator .field-selectEx .bootstrap-select .dropdown-menu li.selected .text{font-weight:700}"),je.render=function(e,t,i,a,n,o){return S((O(),C("select",{"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),class:"selectpicker",disabled:e.disabled,multiple:e.schema.multiSelect,title:e.schema.placeholder,"data-width":"100%",name:e.schema.inputName},[!0!==e.schema.multiSelect?(O(),C("option",{key:0,disabled:e.schema.required,value:null,selected:null==e.value},null,8,["disabled","selected"])):M("v-if",!0),(O(!0),C(F,null,D(e.items,(function(t){return O(),C("option",{key:t,value:e.getItemValue(t)},N(e.getItemName(t)),9,["value"])})),128))],8,["disabled","multiple","title","name"])),[[U,e.value]])};var ze=w({mixins:[re],data:function(){return{picker:null}},watch:{model:function(){window.$&&window.$.fn.spectrum&&this.picker.spectrum("set",this.value)},disabled:function(e){e?this.picker.spectrum("disable"):this.picker.spectrum("enable")}},mounted:function(){this.$nextTick((function(){var e=this;window.$&&window.$.fn.spectrum&&(this.picker=$(this.$el).spectrum("destroy").spectrum(y(this.schema.colorOptions||{},{showInput:!0,showAlpha:!0,disabled:this.schema.disabled,allowEmpty:!this.schema.required,preferredFormat:"hex",change:function(t){e.value=t?t.toString():null}})),this.picker.spectrum("set",this.value))}))},beforeUnmount:function(){this.picker&&this.picker.spectrum("destroy")}});ze.render=function(e,t,i,a,n,o){return O(),C("input",{id:e.getFieldID(e.schema),type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,["id","autocomplete","disabled","placeholder","readonly","name"])};var Ye=w({mixins:[re],computed:{mapLink:function(){if(this.value){var e,t,i=y(this.schema.staticMapOptions||{},{lat:"lat",lng:"lng",zoom:8,sizeX:640,sizeY:640});e=this.value[i.lat],t=this.value[i.lng];for(var a="http://maps.googleapis.com/maps/api/staticmap?center=".concat(e,",").concat(t,"&zoom=").concat(i.zoom,"&size=").concat(i.sizeX,"x").concat(i.sizeY),n=0,o=["scale","format","maptype","language","region","markers","path","visible","style","key","signature"];n<o.length;n++){var r=o[n];void 0!==i[r]&&(a+="&".concat(r,"=").concat(i[r]))}if(e&&t)return a}return""}}});de(".vue-form-generator .field-staticMap img{display:block;width:auto;max-width:100%}"),Ye.render=function(e,t,i,a,n,o){return O(),C("img",{src:e.mapLink||"data:,"},null,8,["src"])};var Pe=w({mixins:[re],methods:{formatValueToField:function(e){return null!=e&&this.schema.valueOn?e===this.schema.valueOn:e},formatValueToModel:function(e){return null!=e&&this.schema.valueOn?e?this.schema.valueOn:this.schema.valueOff:e}}}),_e=I("span",{class:"handle"},null,-1);de('.vue-form-generator .field-switch .field-wrap label{position:relative;display:block;width:120px;height:30px;padding:0;margin:0 10px 10px 0;border-radius:15px;box-shadow:inset 0 -1px #fff,inset 0 1px 1px rgba(0,0,0,.05);cursor:pointer}.vue-form-generator .field-switch input{position:absolute;top:0;left:0;opacity:0}.vue-form-generator .field-switch .label{position:relative;display:block;height:inherit;font-size:10px;text-transform:uppercase;background:#eceeef;border-radius:inherit;box-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 0 2px rgba(0,0,0,.15)}.vue-form-generator .field-switch .label:after,.vue-form-generator .field-switch .label:before{position:absolute;top:50%;margin-top:-.5em;line-height:1;transition:inherit}.vue-form-generator .field-switch .label:before{content:attr(data-off);right:11px;color:#aaa;text-shadow:0 1px hsla(0,0%,100%,.5)}.vue-form-generator .field-switch .label:after{content:attr(data-on);left:11px;color:#fff;text-shadow:0 1px rgba(0,0,0,.2);opacity:0}.vue-form-generator .field-switch input:checked~.label{background:#e1b42b;box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 0 3px rgba(0,0,0,.2)}.vue-form-generator .field-switch input:checked~.label:before{opacity:0}.vue-form-generator .field-switch input:checked~.label:after{opacity:1}.vue-form-generator .field-switch .handle{position:absolute;top:1px;left:1px;width:28px;height:28px;background:linear-gradient(180deg,#fff 40%,#f0f0f0);background-image:-webkit-linear-gradient(top,#fff 40%,#f0f0f0);border-radius:100%;box-shadow:1px 1px 5px rgba(0,0,0,.2)}.vue-form-generator .field-switch .handle:before{content:"";position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;width:12px;height:12px;background:linear-gradient(180deg,#eee,#fff);background-image:-webkit-linear-gradient(top,#eee,#fff);border-radius:6px;box-shadow:inset 0 1px rgba(0,0,0,.02)}.vue-form-generator .field-switch input:checked~.handle{left:91px;left:calc(100% - 29px);box-shadow:-1px 1px 5px rgba(0,0,0,.2)}.vue-form-generator .field-switch .handle,.vue-form-generator .field-switch .label{transition:all .3s ease}'),Pe.render=function(e,t,i,a,n,o){return O(),C("label",null,[S(I("input",{id:e.getFieldID(e.schema),"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),type:"checkbox",autocomplete:e.schema.autocomplete,disabled:e.disabled,name:e.schema.inputName},null,8,["id","autocomplete","disabled","name"]),[[T,e.value]]),I("span",{class:"label","data-on":e.schema.textOn||"On","data-off":e.schema.textOff||"Off",for:e.getFieldID(e.schema)},null,8,["data-on","data-off","for"]),_e])};var He=w({mixins:[re],computed:{selectOptions:function(){return this.schema.selectOptions||{}},options:function(){var e=this.schema.values;return"function"==typeof e?e.apply(this,[this.model,this.schema]):e},customLabel:function(){return void 0!==this.schema.selectOptions&&void 0!==this.schema.selectOptions.customLabel&&"function"==typeof this.schema.selectOptions.customLabel?this.schema.selectOptions.customLabel:void 0}},created:function(){this.$root.$options.components.multiselect},methods:{updateSelected:function(e){this.value=e},addTag:function(e,t){var i=this.selectOptions.onNewTag;"function"==typeof i&&i(e,t,this.options,this.value)},onSearchChange:function(e,t){var i=this.selectOptions.onSearch;"function"==typeof i&&i(e,t,this.options)},onSelect:function(){},onRemove:function(){},onOpen:function(){},onClose:function(){}}});He.render=function(e,t,i,a,n,o){var r=L("multiselect");return O(),C(r,{id:e.selectOptions.id,options:e.options,value:e.value,multiple:e.selectOptions.multiple,"track-by":e.selectOptions.trackBy