2 lines
4.4 KiB
JavaScript
2 lines
4.4 KiB
JavaScript
import{b4 as e,o as t,c as i,w as a,R as r,d as s,n,k as o,i as p,a4 as l}from"./index-8146d74e.js";import{_ as d}from"./_plugin-vue_export-helper.1b428a4d.js";const h=d({name:"u-button",emits:["click","getphonenumber","getuserinfo","error","opensetting","launchapp"],props:{hairLine:{type:Boolean,default:!0},type:{type:String,default:"default"},size:{type:String,default:"default"},shape:{type:String,default:"square"},plain:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},openType:{type:String,default:""},formType:{type:String,default:""},appParameter:{type:String,default:""},hoverStopPropagation:{type:Boolean,default:!1},lang:{type:String,default:"en"},sessionFrom:{type:String,default:""},sendMessageTitle:{type:String,default:""},sendMessagePath:{type:String,default:""},sendMessageImg:{type:String,default:""},showMessageCard:{type:Boolean,default:!1},hoverBgColor:{type:String,default:""},rippleBgColor:{type:String,default:""},ripple:{type:Boolean,default:!1},hoverClass:{type:String,default:""},customStyle:{type:Object,default:()=>({})},dataName:{type:String,default:""},throttleTime:{type:[String,Number],default:500},hoverStartTime:{type:[String,Number],default:20},hoverStayTime:{type:[String,Number],default:150},timerId:{type:[String,Number]}},computed:{getHoverClass(){if(this.loading||this.disabled||this.ripple||this.hoverClass)return"";let e="";return e=this.plain?"u-"+this.type+"-plain-hover":"u-"+this.type+"-hover",e},showHairLineBorder(){return["primary","success","error","warning"].indexOf(this.type)>=0&&!this.plain?"":"u-hairline-border"}},data(){return{btnTimerId:this.timerId||"button_"+Math.floor(1e8*Math.random()+0),rippleTop:0,rippleLeft:0,fields:{},waveActive:!1}},methods:{click(e){this.$u.throttle(()=>{!0!==this.loading&&!0!==this.disabled&&(this.ripple&&(this.waveActive=!1,this.$nextTick(function(){this.getWaveQuery(e)})),this.$emit("click",e))},this.throttleTime,!0,this.btnTimerId)},getWaveQuery(e){this.getElQuery().then(t=>{let i=t[0];if(!i.width||!i.width)return;if(i.targetWidth=i.height>i.width?i.height:i.width,!i.targetWidth)return;this.fields=i;let a="",r="";a=e.touches[0].clientX,r=e.touches[0].clientY,this.rippleTop=r-i.top-i.targetWidth/2,this.rippleLeft=a-i.left-i.targetWidth/2,this.$nextTick(()=>{this.waveActive=!0})})},getElQuery(){return new Promise(t=>{let i="";i=e().in(this),i.select(".u-btn").boundingClientRect(),i.exec(e=>{t(e)})})},getphonenumber(e){this.$emit("getphonenumber",e)},getuserinfo(e){this.$emit("getuserinfo",e)},error(e){this.$emit("error",e)},opensetting(e){this.$emit("opensetting",e)},launchapp(e){this.$emit("launchapp",e)}}},[["render",function(e,d,h,u,g,m){const f=p,y=l;return t(),i(y,{id:"u-wave-btn",class:s(["u-btn u-line-1 u-fix-ios-appearance",["u-size-"+h.size,h.plain?"u-btn--"+h.type+"--plain":"",h.loading?"u-loading":"","circle"==h.shape?"u-round-circle":"",h.hairLine?m.showHairLineBorder:"u-btn--bold-border","u-btn--"+h.type,h.disabled?`u-btn--${h.type}--disabled`:""]]),"hover-start-time":Number(h.hoverStartTime),"hover-stay-time":Number(h.hoverStayTime),disabled:h.disabled,"form-type":h.formType,"open-type":h.openType,"app-parameter":h.appParameter,"hover-stop-propagation":h.hoverStopPropagation,"send-message-title":h.sendMessageTitle,"send-message-path":"sendMessagePath",lang:h.lang,"data-name":h.dataName,"session-from":h.sessionFrom,"send-message-img":h.sendMessageImg,"show-message-card":h.showMessageCard,onGetphonenumber:m.getphonenumber,onGetuserinfo:m.getuserinfo,onError:m.error,onOpensetting:m.opensetting,onLaunchapp:m.launchapp,style:n([h.customStyle,{overflow:h.ripple?"hidden":"visible"}]),onClick:d[0]||(d[0]=e=>m.click(e)),"hover-class":m.getHoverClass,loading:h.loading},{default:a(()=>[r(e.$slots,"default",{},void 0,!0),h.ripple?(t(),i(f,{key:0,class:s(["u-wave-ripple",[g.waveActive?"u-wave-active":""]]),style:n({top:g.rippleTop+"px",left:g.rippleLeft+"px",width:g.fields.targetWidth+"px",height:g.fields.targetWidth+"px","background-color":h.rippleBgColor||"rgba(0, 0, 0, 0.15)"})},null,8,["class","style"])):o("",!0)]),_:3},8,["class","hover-start-time","hover-stay-time","disabled","form-type","open-type","app-parameter","hover-stop-propagation","send-message-title","lang","data-name","session-from","send-message-img","show-message-card","onGetphonenumber","onGetuserinfo","onError","onOpensetting","onLaunchapp","style","hover-class","loading"])}],["__scopeId","data-v-d8617ece"]]);export{h as _};
|