u-popup.e2e41489.js
6.0 KB
import{m as t,a as e,o as s,c as o,w as i,i as n,j as a,n as r,h as l,C as u,r as d,b as c,f as h,aa as m}from"./index-3b02b0cf.js";import{p,a as y,b as v,c as f}from"./u-popup.vue_vue_type_style_index_0_scoped_6f70b91e_lang.1c32132b.js";import{_ as $}from"./_plugin-vue_export-helper.1b428a4d.js";import{_}from"./u-icon.e5efd25e.js";const b=t=>({enter:`u-${t}-enter u-${t}-enter-active`,"enter-to":`u-${t}-enter-to u-${t}-enter-active`,leave:`u-${t}-leave u-${t}-leave-active`,"leave-to":`u-${t}-leave-to u-${t}-leave-active`});const k=$({name:"u-transition",data:()=>({inited:!1,viewStyle:{},status:"",transitionEnded:!1,display:!1,classes:""}),computed:{mergeStyle(){const{viewStyle:t,customStyle:e}=this;return{transitionDuration:`${this.duration}ms`,transitionTimingFunction:this.timingFunction,...uni.$u.addStyle(e),...t}}},mixins:[t,e,{methods:{clickHandler(){this.$emit("click")},vueEnter(){const t=b(this.mode);this.status="enter",this.$emit("beforeEnter"),this.inited=!0,this.display=!0,this.classes=t.enter,this.$nextTick((async()=>{await uni.$u.sleep(20),this.$emit("enter"),this.transitionEnded=!1,this.$emit("afterEnter"),this.classes=t["enter-to"]}))},vueLeave(){if(!this.display)return;const t=b(this.mode);this.status="leave",this.$emit("beforeLeave"),this.classes=t.leave,this.$nextTick((()=>{this.transitionEnded=!1,this.$emit("leave"),setTimeout(this.onTransitionEnd,this.duration),this.classes=t["leave-to"]}))},onTransitionEnd(){this.transitionEnded||(this.transitionEnded=!0,this.$emit("leave"===this.status?"afterLeave":"afterEnter"),!this.show&&this.display&&(this.display=!1,this.inited=!1))}}},p],watch:{show:{handler(t){t?this.vueEnter():this.vueLeave()},immediate:!0}}},[["render",function(t,e,d,c,h,m){const p=u;return h.inited?(s(),o(p,{key:0,class:a(["u-transition",h.classes]),ref:"u-transition",onClick:t.clickHandler,style:r([m.mergeStyle]),onTouchmove:t.noop},{default:i((()=>[n(t.$slots,"default",{},void 0,!0)])),_:3},8,["onClick","class","style","onTouchmove"])):l("",!0)}],["__scopeId","data-v-1be0bab1"]]);const g=$({name:"u-overlay",mixins:[t,e,y],computed:{overlayStyle(){const t={position:"fixed",top:0,left:0,right:0,zIndex:this.zIndex,bottom:0,"background-color":`rgba(0, 0, 0, ${this.opacity})`};return uni.$u.deepMerge(t,uni.$u.addStyle(this.customStyle))}},methods:{clickHandler(){this.$emit("click")}}},[["render",function(t,e,a,r,l,u){const h=d(c("u-transition"),k);return s(),o(h,{show:t.show,"custom-class":"u-overlay",duration:t.duration,"custom-style":u.overlayStyle,onClick:u.clickHandler},{default:i((()=>[n(t.$slots,"default",{},void 0,!0)])),_:3},8,["show","duration","custom-style","onClick"])}],["__scopeId","data-v-e964d889"]]);const S=$({name:"u-status-bar",mixins:[t,e,v],data:()=>({}),computed:{style(){const t={};return t.height=uni.$u.addUnit(uni.$u.sys().statusBarHeight,"px"),t.backgroundColor=this.bgColor,uni.$u.deepMerge(t,uni.$u.addStyle(this.customStyle))}}},[["render",function(t,e,a,l,d,c){const h=u;return s(),o(h,{style:r([c.style]),class:"u-status-bar"},{default:i((()=>[n(t.$slots,"default",{},void 0,!0)])),_:3},8,["style"])}],["__scopeId","data-v-31491727"]]);const C=$({name:"u-safe-bottom",mixins:[t,e,{props:{}}],data:()=>({safeAreaBottomHeight:0,isNvue:!1}),computed:{style(){return uni.$u.deepMerge({},uni.$u.addStyle(this.customStyle))}},mounted(){}},[["render",function(t,e,i,n,l,d){const c=u;return s(),o(c,{class:a(["u-safe-bottom",[!l.isNvue&&"u-safe-area-inset-bottom"]]),style:r([d.style])},null,8,["style","class"])}],["__scopeId","data-v-3dbbff38"]]);const x=$({name:"u-popup",mixins:[t,e,f],data(){return{overlayDuration:this.duration+50}},watch:{show(t,e){}},computed:{transitionStyle(){const t={zIndex:this.zIndex,position:"fixed",display:"flex"};return t[this.mode]=0,"left"===this.mode||"right"===this.mode?uni.$u.deepMerge(t,{bottom:0,top:0}):"top"===this.mode||"bottom"===this.mode?uni.$u.deepMerge(t,{left:0,right:0}):"center"===this.mode?uni.$u.deepMerge(t,{alignItems:"center","justify-content":"center",top:0,left:0,right:0,bottom:0}):void 0},contentStyle(){const t={};if(uni.$u.sys(),"center"!==this.mode&&(t.flex=1),this.bgColor&&(t.backgroundColor=this.bgColor),this.round){const e=uni.$u.addUnit(this.round);"top"===this.mode?(t.borderBottomLeftRadius=e,t.borderBottomRightRadius=e):"bottom"===this.mode?(t.borderTopLeftRadius=e,t.borderTopRightRadius=e):"center"===this.mode&&(t.borderRadius=e)}return uni.$u.deepMerge(t,uni.$u.addStyle(this.customStyle))},position(){return"center"===this.mode?this.zoom?"fade-zoom":"fade":"left"===this.mode?"slide-left":"right"===this.mode?"slide-right":"bottom"===this.mode?"slide-up":"top"===this.mode?"slide-down":void 0}},methods:{overlayClick(){this.closeOnClickOverlay&&this.$emit("close")},close(t){this.$emit("close")},afterEnter(){this.$emit("open")},clickHandler(){"center"===this.mode&&this.overlayClick(),this.$emit("click")}}},[["render",function(t,e,p,y,v,f){const $=d(c("u-overlay"),g),b=d(c("u-status-bar"),S),x=d(c("u-icon"),_),w=u,E=d(c("u-safe-bottom"),C),I=d(c("u-transition"),k);return s(),o(w,{class:"u-popup"},{default:i((()=>[t.overlay?(s(),o($,{key:0,show:t.show,onClick:f.overlayClick,duration:v.overlayDuration,customStyle:t.overlayStyle,opacity:t.overlayOpacity},null,8,["show","onClick","duration","customStyle","opacity"])):l("",!0),h(I,{show:t.show,customStyle:f.transitionStyle,mode:f.position,duration:t.duration,onAfterEnter:f.afterEnter,onClick:f.clickHandler},{default:i((()=>[h(w,{class:"u-popup__content",style:r([f.contentStyle]),onClick:m(t.noop,["stop"])},{default:i((()=>[t.safeAreaInsetTop?(s(),o(b,{key:0})):l("",!0),n(t.$slots,"default",{},void 0,!0),t.closeable?(s(),o(w,{key:1,onClick:m(f.close,["stop"]),class:a(["u-popup__content__close",["u-popup__content__close--"+t.closeIconPos]]),"hover-class":"u-popup__content__close--hover","hover-stay-time":"150"},{default:i((()=>[h(x,{name:"close",color:"#909399",size:"18",bold:""})])),_:1},8,["onClick","class"])):l("",!0),t.safeAreaInsetBottom?(s(),o(E,{key:2})):l("",!0)])),_:3},8,["style","onClick"])])),_:3},8,["show","customStyle","mode","duration","onAfterEnter","onClick"])])),_:3})}],["__scopeId","data-v-6f70b91e"]]);export{x as _,k as a};