@aspectus/vee-control-descriptor
Version:
Control descriptor integrated with vee validate provider. Special wrapper for control element that adds additional description.
6 lines • 3.87 kB
JavaScript
/*!
* vee-control-descriptor v0.10.17
* (c) 2020 Alex Tkachenko
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@aspectus/vue-utils"),require("@aspectus/vue-control-descriptor"),require("vee-validate"),require("@aspectus/vue-control-interaction-state-controller")):"function"==typeof define&&define.amd?define(["exports","@aspectus/vue-utils","@aspectus/vue-control-descriptor","vee-validate","@aspectus/vue-control-interaction-state-controller"],t):t((e=e||self).VeeControlDescriptor={},e.vueUtils,e.vueControlDescriptor,e.veeValidate,e.vueControlInteractionStateController)}(this,function(e,h,t,r,v){"use strict";function m(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],0<=t.indexOf(r)||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],0<=t.indexOf(r)||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=h.makeF(function(a,l){var e=l.props,s=e.descriptorComponent,u=e.providerContext,d=e.errors,c=e.value,t=l.data.on,r=t.input,o=t.focus,n=t.blur,p=m(t,["input","focus","blur"]),i={input:r,focus:o,blur:n};return Object.keys(i).forEach(function(e){void 0===i[e]&&delete i[e]}),a(v.InteractionStateController,{attrs:{value:c},on:i,scopedSlots:{default:function(e){var t=e.changing,r=e.interacted,o=e.interacting,n=e.handlers,i=h.mergeContext(l.data,{attrs:{value:c,"provider-context":u,errors:u.pending||o&&(!o||t)||!r&&!u.touched?[]:d}});return i.on=Object.assign({},n,p),a(s,i,l.children)}}},null)},{descriptorComponent:{},providerContext:{},errors:{},value:{}},"vee-control-descriptor-controller-interaction-hide-errors"),g={render:function(e){var t={attrs:Object.assign({value:this.value},this.$attrs),on:Object.assign({},this.$listeners,{input:this.input,blur:this.blur}),scopedSlots:this.$scopedSlots};return e(this.gatedHandlerComponent,t,null)},methods:{input:function(e){this.$emit("input",e)},blur:function(e){this.$emit("blur",e)}},inheritAttrs:!1,props:{gatedHandlerComponent:{},value:{}},name:"vee-validate-input-handler-gate"},u={name:"vee-control-descriptor",functional:!0,props:{descriptorComponent:{default:function(){return t.ControlDescriptor}},providerComponent:{default:function(){return r.ValidationProvider}},controllerComponent:{default:function(){return s}},disabled:Boolean,required:Boolean,readonly:Boolean,bails:Boolean,immediate:Boolean,debounce:Number,mode:{},customMessages:{},name:String,vid:{},value:{},rules:{}},render:function(r,o){var e=o.props,n=e.descriptorComponent,t=e.providerComponent,i=e.controllerComponent,a=e.disabled,l=e.required,s=e.readonly,u=e.bails,d=e.immediate,c=e.debounce,p=e.mode,v=e.customMessages,m=e.name,f=e.vid,b=e.value,C=e.rules;return r(t,{props:{disabled:a,required:l,readonly:s,bails:u,immediate:d,debounce:c,mode:p,customMessages:v,name:m,vid:f,value:b,skipIfEmpty:!l,rules:s?"":C,slim:!0},scopedSlots:{default:function(e){var t=h.mergeContext(o.data,{attrs:{disabled:a,readonly:s,name:m,vid:f,value:b,rules:C,required:l||e.required,errors:e.errors,"provider-context":e,"descriptor-component":n,"gated-handler-component":i}});return r(g,t,o.children)}}})}},d=h.makeF(function(e,t){return e(t.props.descriptorComponent,t.data,t.children)},{descriptorComponent:{}},"vee-control-descriptor-controller-none");function o(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r=t.name,o=void 0===r?u.name:r,n=t.noneControllerName,i=void 0===n?d.name:n,a=t.interactionHideErrorsControllerName,l=void 0===a?s.name:a;e.component(o,u),e.component(i,d),e.component(l,s)}var n={install:o};e.Descriptor=u,e.InteractionHideErrorsController=s,e.NoneController=d,e.default=n,e.install=o,Object.defineProperty(e,"__esModule",{value:!0})});