vusui
Version:
VusUI css framework
5 lines • 9.6 kB
JavaScript
/*!
* VusUI v1.0.5[Vue.js专用版] (http://vusui.com)
* Copyright 2018 The VusUI Authors
*/
var vus=(function(a,d){var b=function(g,f,h){if(typeof g=="string"){if(!h){h=a}var e=h.querySelectorAll(g);return(f==-1)?e:e[f]}return g};b.vid=0;b.extend=function(){var o,g,e,f,l,m,k=arguments[0]||{},j=1,h=arguments.length,n=false;if(typeof k==="boolean"){n=k;k=arguments[j]||{};j++}if(typeof k!=="object"&&!b.isFunction(k)){k={}}if(j===h){k=this;j--}for(;j<h;j++){if((o=arguments[j])!=null){for(g in o){e=k[g];f=o[g];if(k===f){continue}if(n&&f&&(b.isPlainObject(f)||(l=b.isArray(f)))){if(l){l=false;m=e&&b.isArray(e)?e:[]}else{m=e&&b.isPlainObject(e)?e:{}}k[g]=b.extend(n,m,f)}else{if(f!==d){k[g]=f}}}}}return k};b.isFunction=function(e){return b.type(e)==="function"};var c={};b.type=function(e){return e==null?String(e):c[{}.toString.call(e)]||"object"};b.isArray=Array.isArray||function(e){return e instanceof Array};b.isWindow=function(e){return e!=null&&e===e.window};b.isObject=function(e){return b.type(e)==="object"};b.isPlainObject=function(e){return b.isObject(e)&&!b.isWindow(e)&&Object.getPrototypeOf(e)===Object.prototype};b.addClass=function(h,e){var f=h.className,i=(f!="")?" ":"";var g=f+i+e;h.className=g};b.removeClass=function(h,e){var f=" "+h.className+" ";f=f.replace(/(\s+)/gi," ");var g=f.replace(" "+e+" "," ");g=g.replace(/(^\s+)|(\s+$)/g,"");h.className=g};b.hasClass=function(h,e){var f=h.className,g=f.split(/\s+/);x=0;for(x in g){if(g[x]==e){return true}}return false};if(typeof define==="function"&&define.amd){define("vus",[],function(){return b})}return b})(document);(function(b,d){var e=document,c="getElementsByClassName",g={mobile:0,type:["dialog","page","loading","message"],icon:["success","warning","error","info","question"],config:{},timer:{},end:{}},a=["vus-popup","vus-popup-mask","vus-popup-wrapper","vus-popup-inner","vus-popup-icon","vus-popup-title","vus-popup-text","vus-popup-input","vus-popup-button-wrap","vus-popup-button","vus-popup-close"],f=function(h){var i=this;i.vid=b.vid;i.config=b.extend({},i.config,g.config,h);e.body?i.view():setTimeout(function(){i.view()},30)};f.vp=f.prototype;a.anim=["vus-animate","vus-anim","v-faster","v-fast","v-slow"];a.animIn=["v-BigZoomIn","v-TinyZoomIn","v-UpZoomIn","v-DownZoomIn","v-LeftZoomIn","v-RightZoomIn","v-FadeIn","v-UpFadeIn","v-DownFadeIn","v-LeftFadeIn","v-RightFadeIn","v-Flip","v-Shake","v-RubberBand","v-Bounce","v-LeftBounceIn","v-RightBounceIn"];a.animOut=["v-BigZoomOut","v-TinyZoomOut","v-FadeOut","v-UpFadeOut","v-DownFadeOut","v-LeftFadeOut","v-RightFadeOut","v-LeftBounceOut","v-RightBounceOut"];f.vp.config={type:0,title:"提示",btn:["确定","取消"],closeBtn:!1,shade:0.3,shadeClose:false,width:["",""],height:["",""],icon:-1,time:0,zIndex:199583,anim:0,outAnim:0,btnBold:0};f.vp.view=function(){var n=this,i=n.config,h=e.createElement("div"),j=function(){"string"==typeof i.btn&&(i.btn=[i.btn]);var p,o=(i.btn||[]).length;return o!==0&&i.btn?(p='<span class="'+a[9]+" "+a[9]+"-"+g.type[i.type]+" "+a.anim[0]+'" yes type="1">'+i.btn[0]+"</span>",o===2&&(p=p+'<span class="'+a[9]+" "+a[9]+"-"+g.type[i.type]+" "+a.anim[0]+'" no type="0">'+i.btn[1]+"</span>"),'<div class="'+a[8]+" "+a[8]+"-"+g.type[i.type]+'" style="'+(i.btnBold?"font-weight: "+i.btnBold+";":"")+'">'+p+"</div>"):""}(),m=(i.shade?'<div class="'+a[1]+'" style="background-color: '+(i.shade[1]||"#000")+";opacity: "+(i.shade[0]||i.shade)+';"></div>':"");n.id=h.id=a[0]+b.vid;h.setAttribute("class",a[0]+" "+a[0]+(i.type||0)+((i.anim!==-1&&i.anim!==false)?" "+a.anim[1]+" "+a.anim[2]+" "+a.animIn[6]:""));h.setAttribute("vid",b.vid);h.setAttribute("type",g.type[i.type]);switch(i.type){case 0:var l=((i.formType!==false&&i.formType>-1)?'<div class="'+a[7]+"-"+g.type[i.type]+'">'+(i.formType===2?'<textarea class="vus-input" rows="'+(i.rows||3)+'" maxlength="'+i.maxlength+'" placeholder="'+(i.placeholder||"请输入...")+'">'+(i.value||"")+"</textarea>":function(){return'<input type="'+(i.formType===1?"password":"text")+'" class="vus-input" value="'+(i.value||"")+'" maxlength="'+i.maxlength+'" placeholder="'+(i.placeholder||"请输入...")+'">'}())+"</div>":"");h.innerHTML=m+'<div class="'+a[2]+" "+a[2]+"-"+g.type[i.type]+'" style="width: '+i.width[0]+";max-width: "+i.width[1]+';"><div class="'+a[0]+"-"+g.type[i.type]+" "+a.anim[1]+" "+a.anim[2]+" "+((i.anim>-1&&i.anim!==false)?a.animIn[i.anim]:"")+'"><div class="'+a[3]+" "+a[3]+"-"+g.type[i.type]+'">'+((i.icon>-1&&!i.formType)?'<i class="'+a[4]+"-"+g.type[i.type]+" vi-alert-"+g.icon[i.icon]+" vus-text--"+(g.icon[i.icon]=="error"?"danger":g.icon[i.icon]=="question"?"primary":g.icon[i.icon])+'"></i>':"")+(i.title?'<div class="'+a[5]+"-"+g.type[i.type]+'">'+i.title+"</div>":"")+(i.content?'<div class="'+a[6]+"-"+g.type[i.type]+'">'+i.content.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>")+"</div>":"")+l+j+"</div></div></div>";break;case 1:h.innerHTML=m+'<div class="'+a[2]+" "+a[2]+"-"+g.type[i.type]+'" style="width: '+i.width[0]+";max-width: "+i.width[1]+';"><div class="'+a[0]+"-"+g.type[i.type]+" "+a.anim[1]+" "+a.anim[2]+" "+((i.anim>-1&&i.anim!==false)?a.animIn[i.anim]:"")+'"><div class="'+a[3]+" "+a[3]+"-"+g.type[i.type]+'">'+(i.title?'<div class="'+a[5]+"-"+g.type[i.type]+'">'+i.title+(i.closeBtn?'<i class="'+a[10]+" "+a[10]+"-"+g.type[i.type]+" "+a.anim[0]+' vi-close"></i>':"")+"</div>":"")+'<div class="'+a[6]+"-"+g.type[i.type]+'" style="height: '+i.height[0]+";max-height: "+i.height[1]+';">'+i.content+"</div>"+(i.btn?j:"")+"</div></div></div>";break;case 2:h.innerHTML=m+'<div class="'+a[2]+" "+a[2]+"-"+g.type[i.type]+'"><div class="'+a[0]+"-"+g.type[i.type]+'">'+(i.icon?'<div class="'+a[4]+"-"+g.type[i.type]+'"></div>':"")+(i.title?'<div class="'+a[6]+"-"+g.type[i.type]+'">'+i.title+"</div>":"")+"</div></div>";break;case 3:b.closeAll(g.type[i.type]);h.setAttribute("class",a[0]+" "+a[0]+"-"+g.type[i.type]);h.innerHTML='<div class="'+a[2]+" "+a[2]+"-"+g.type[i.type]+'"><div class="'+a[3]+"-"+g.type[i.type]+(i.icon>-1&&i.icon!==false?" v--"+(g.icon[i.icon]=="error"?"danger":g.icon[i.icon]):" v--dark")+" "+a.anim[1]+" "+a.anim[3]+" "+((i.anim>-1&&i.anim!==false)?((g.icon[i.icon]=="error"||g.icon[i.icon]=="warning")?a.animIn[12]:a.animIn[i.anim]):"")+'">'+(i.icon>-1&&i.icon!==false?'<i class="'+a[4]+"-"+g.type[i.type]+" vi-alert-"+g.icon[i.icon]+'"></i>':"")+'<span class="'+a[6]+"-"+g.type[i.type]+'">'+(i.title?i.title.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):"")+"</span>"+(i.closeBtn?'<i class="'+a[10]+" "+a[10]+"-"+g.type[i.type]+" "+a.anim[0]+' vi-alert-error"></i>':"")+"</div></div>";break}e.body.appendChild(h);var k=b("#"+n.id,0);n.vid=b.vid++;i.success&&i.success(k);n.callback(i,k)};f.vp.callback=function(l,m){var p=this,n=function(){var i=m[c](a[0]+"-"+g.type[l.type])[0];b.removeClass(i,a.animIn[l.anim]);b.addClass(i,a.animOut[l.outAnim]);b.removeClass(m,a.animIn[6]);b.addClass(m,a.animOut[2])},h=function(){var i=m[c](a[3]+"-"+g.type[l.type])[0];b.removeClass(i,a.animIn[l.anim]);b.removeClass(i,a.animIn[12]);b.addClass(i,a.animOut[l.outAnim])};l.time&&(g.timer[p.vid]=setTimeout(function(){(l.type===3&&l.outAnim!==-1&&l.outAnim!==false)?(h(),setTimeout(function(){b.close(p.vid)},200)):b.close(p.vid)},1000*l.time));if((l.type===0||l.type===1)&&l.btn){for(var o=m[c](a[8]+"-"+g.type[l.type])[0].children,j=o.length,k=0;k<j;k++){g.touch(o[k],function(){var i=this.getAttribute("type"),q=function(){(l.outAnim!==-1&&l.outAnim!==false)?(n(),setTimeout(function(){b.close(p.vid)},200)):b.close(p.vid)};i==0?(l.no&&l.no(),q()):l.yes?l.yes(p.vid):q()})}}if((l.type===1||l.type===3)&&l.closeBtn){var o=m[c](a[10]+"-"+g.type[l.type])[0];g.touch(o,function(){b.close(p.vid)})}if(l.shade&&l.shadeClose){var o=m[c](a[1])[0];g.touch(o,function(){(l.outAnim>-1&&l.outAnim!==false)?(n(),setTimeout(function(){b.close(p.vid,l.end)},200)):b.close(p.vid,l.end)})}l.end&&(g.end[p.vid]=l.end)};b.alert=function(j,i,k){var h=typeof i=="function";return h&&(k=i),b.open(b.extend({type:0,btn:"确定",content:j,yes:k},h?{}:i))};b.confirm=function(l,i,k,j){var h=typeof i=="function";return h&&(k=i)&&(j=k),b.open(b.extend({type:0,title:"信息",content:l,yes:k,no:j,},h?{}:i))};b.page=function(i,j){var h=typeof i=="function";return b.open(b.extend({type:1,btn:false,closeBtn:!0,width:["90%","400px"],content:"",yes:j},i))};b.prompt=function(j,k){var i,h=j.success;return delete j.success,b.open(b.extend({type:0,formType:0,value:"",rows:3,width:["90%","400px"],placeholder:"",maxlength:"",title:"",content:"",success:function(l){i=l[c]("vus-input")[0];i.focus();"function"==typeof h&&h(l)},yes:function(l){var m=i.value;m===""?i.focus():m.length>(j.maxlength||255)?b.msg({title:"最多输入"+(j.maxlength||255)+"个字符!",icon:1},i):k&&k(m,l,i)}},j))};b.load=function(i){var h=typeof i=="object";return h&&i,b.open(b.extend({type:2,icon:!0,time:30,shade:0.3,title:(h?"":i)||"加载中..."},h?i:{}))};b.msg=function(i,j){var h=typeof i=="object";return h&&j,b.open(b.extend({type:3,icon:0,time:3,shade:0,closeBtn:!0,anim:7,outAnim:4,title:(h?"":i)||"提示",end:j},h?i:{}))};b.close=function(h){var i=b("#"+a[0]+h,0);i&&(i.innerHTML="",e.body.removeChild(i),clearTimeout(g.timer[h]),delete g.timer[h],"function"==typeof g.end[h]&&g.end[h](),delete g.end[h])};b.closeAll=function(j){for(var k=e[c](a[0]),h=0;k.length>h;h++){var l=j?k[h].getAttribute("type")===j:1;l&&b.close(0|k[h].getAttribute("vid"));l=null}};g.touch=function(i,h){i.addEventListener("click",function(j){h.call(this,j)},!1)};g.run=function(){b.open=function(j){var h=new f(j);return h.vid}};return g.run()})(vus,window);export default vus;