vue-mods-names
Version:
Simple adding mods to all components class names in your vue app
2 lines • 1.77 kB
JavaScript
!function(s,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("vue-mods-names",[],t):"object"==typeof exports?exports["vue-mods-names"]=t():s["vue-mods-names"]=t()}(this,function(){return function(s){function t(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return s[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var e={};return t.m=s,t.c=e,t.d=function(s,e,n){t.o(s,e)||Object.defineProperty(s,e,{configurable:!1,enumerable:!0,get:n})},t.n=function(s){var e=s&&s.__esModule?function(){return s.default}:function(){return s};return t.d(e,"a",e),e},t.o=function(s,t){return Object.prototype.hasOwnProperty.call(s,t)},t.p="/dist/",t(t.s=0)}([function(s,t,e){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={install:function(s){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";s.directive("mods-names",{inserted:function(s,t,e){var n=e.context,r=e.elm;n.$baseClass=t.arg||r.className,n.$addOriginClass=t.modifiers["no-origin"],r.setAttribute("class",r.classList+" "+n.$modsNames)},update:function(s,t,e,n){var r=e.data,i=e.elm,o=e.context;r.class!==n.data.class&&(r.class?i.classList=o.$modsNames+" "+r.class:i.classList=o.$modsNames)}}),s.mixin({data:function(){return{$baseClass:null,$addOriginClass:!0}},props:{mods:{type:[String,Array]}},computed:{$modsNames:function(){var s=this,e=function(e){return s.$baseClass+t+e};if(Array.isArray(this.mods)){var n=!!this.mods&&this.mods.map(function(s){return e(s)}),r=n.slice(0);return this.$addOriginClass||r.unshift(this.$baseClass),r.join(" ")}return this.mods?this.$addOriginClass?e(this.mods):this.$baseClass+" "+e(this.mods):this.$baseClass}}})}}}])});
//# sourceMappingURL=vue-mods-names.js.map