UNPKG

vue-slim-modal

Version:
8 lines (7 loc) 1.48 kB
/*! * vue-slim-modal v1.0.4 * (c) 2017-present EGOIST <0x142857@gmail.com> (github.com/egoist) * Released under the MIT License. */ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):e.SlimModal=n()}(this,function(){"use strict";function e(e,n){return function(){e.apply(this,arguments),n.apply(this,arguments)}}var n=/^(attrs|props|on|nativeOn|class|style|hook)$/,t=function(t){return t.reduce(function(t,r){var o,i,a,s,l;for(a in r)if(o=t[a],i=r[a],o&&n.test(a))if("class"===a&&("string"==typeof o&&(l=o,t[a]=o={},o[l]=!0),"string"==typeof i&&(l=i,r[a]=i={},i[l]=!0)),"on"===a||"nativeOn"===a||"hook"===a)for(s in i)o[s]=e(o[s],i[s]);else if(Array.isArray(o))t[a]=o.concat(i);else if(Array.isArray(i))t[a]=[o].concat(i);else for(s in i)o[s]=i[s];else t[a]=r[a];return t},{})};return{name:"slim-modal",functional:!0,props:{isOpen:{type:Boolean,required:!0},clickOutside:{type:Function,default:function(){return function(){return null}}},isCenter:{type:Boolean,default:!1},overlayClass:{type:String}},render:function(e,n){var r=n.props,o=r.isOpen,i=r.isCenter,a=r.clickOutside,s=r.overlayClass;if(o){var l="modal"+(i?" modal__center":"");return e("div",{class:"modal-wrapper"},[e("div",{class:"modal-overlay"+(s?" "+s:""),on:{click:a}},[]),e("div",t([{class:l,on:{click:function(e){return e.stopPropagation()}}},n.data]),[n.children])])}}}}); //# sourceMappingURL=vue-slim-modal.min.js.map