u-popup.js 3.4 KB

1
  1. "use strict";const a=require("./props.js"),c=require("../../libs/mixin/mpMixin.js"),m=require("../../libs/mixin/mixin.js"),s=require("../../libs/function/index.js"),o=require("../../../../common/vendor.js"),d={name:"u-popup",mixins:[c.mpMixin,m.mixin,a.props],data(){return{overlayDuration:this.duration+50}},watch:{show(e,t){if(e===!0){const n=this.$children;this.retryComputedComponentRect(n)}}},computed:{transitionStyle(){const e={zIndex:this.zIndex,position:"fixed",display:"flex"};if(e[this.mode]=0,this.mode==="left")return s.deepMerge(e,{bottom:0,top:0});if(this.mode==="right")return s.deepMerge(e,{bottom:0,top:0});if(this.mode==="top")return s.deepMerge(e,{left:0,right:0});if(this.mode==="bottom")return s.deepMerge(e,{left:0,right:0});if(this.mode==="center")return s.deepMerge(e,{alignItems:"center","justify-content":"center",top:0,left:0,right:0,bottom:0})},contentStyle(){const e={};if(s.sys(),this.mode!=="center"&&(e.flex=1),this.bgColor&&(e.backgroundColor=this.bgColor),this.round){const t=s.addUnit(this.round);this.mode==="top"?(e.borderBottomLeftRadius=t,e.borderBottomRightRadius=t):this.mode==="bottom"?(e.borderTopLeftRadius=t,e.borderTopRightRadius=t):this.mode==="center"&&(e.borderRadius=t)}return s.deepMerge(e,s.addStyle(this.customStyle))},position(){if(this.mode==="center")return this.zoom?"fade-zoom":"fade";if(this.mode==="left")return"slide-left";if(this.mode==="right")return"slide-right";if(this.mode==="bottom")return"slide-up";if(this.mode==="top")return"slide-down"}},emits:["open","close","click"],methods:{overlayClick(){this.closeOnClickOverlay&&this.$emit("close")},close(e){this.$emit("close")},afterEnter(){this.$emit("open")},clickHandler(){this.mode==="center"&&this.overlayClick(),this.$emit("click")},retryComputedComponentRect(e){const t=["u-calendar-month","u-album","u-collapse-item","u-dropdown","u-index-item","u-index-list","u-line-progress","u-list-item","u-rate","u-read-more","u-row","u-row-notice","u-scroll-list","u-skeleton","u-slider","u-steps-item","u-sticky","u-subsection","u-swipe-action-item","u-tabbar","u-tabs","u-tooltip"];for(let n=0;n<e.length;n++){const i=e[n],u=i.$children;t.includes(i.$options.name)&&typeof(i==null?void 0:i.init)=="function"&&s.sleep(50).then(()=>{i.init()}),u.length&&this.retryComputedComponentRect(u)}}}};if(!Array){const e=o.resolveComponent("u-overlay"),t=o.resolveComponent("u-status-bar"),n=o.resolveComponent("u-icon"),i=o.resolveComponent("u-safe-bottom"),u=o.resolveComponent("u-transition");(e+t+n+i+u)()}const p=()=>"../u-overlay/u-overlay.js",f=()=>"../u-status-bar/u-status-bar.js",h=()=>"../u-icon/u-icon.js",_=()=>"../u-safe-bottom/u-safe-bottom.js",y=()=>"../u-transition/u-transition.js";Math||(p+f+h+_+y)();function b(e,t,n,i,u,r){return o.e({a:e.overlay},e.overlay?{b:o.o(r.overlayClick),c:o.p({show:e.show,duration:u.overlayDuration,customStyle:e.overlayStyle,opacity:e.overlayOpacity})}:{},{d:e.safeAreaInsetTop},e.safeAreaInsetTop?{}:{},{e:e.closeable},e.closeable?{f:o.p({name:"close",color:"#909399",size:"18",bold:!0}),g:o.o((...l)=>r.close&&r.close(...l)),h:o.n("u-popup__content__close--"+e.closeIconPos)}:{},{i:e.safeAreaInsetBottom},e.safeAreaInsetBottom?{}:{},{j:o.s(r.contentStyle),k:o.o((...l)=>e.noop&&e.noop(...l)),l:o.o(r.afterEnter),m:o.o(r.clickHandler),n:o.p({show:e.show,customStyle:r.transitionStyle,mode:r.position,duration:e.duration})})}const v=o._export_sfc(d,[["render",b],["__scopeId","data-v-05c24e9b"]]);wx.createComponent(v);