WXL
9 天以前 2895b4ea66e09cb355aeb4e030ca0de297bf8ce3
1
import{_ as e,ac as s,a as t,c as a,w as r,e as i,B as n,l as o,aa as c,p as d,d as l,i as h}from"./index-DF3kK8Jo.js";const w=e({name:"UniDrawer",components:{keypress:{name:"Keypress",props:{disable:{type:Boolean,default:!1}},mounted(){const e={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]};document.addEventListener("keyup",s=>{if(this.disable)return;const t=Object.keys(e).find(t=>{const a=s.key,r=e[t];return r===a||Array.isArray(r)&&r.includes(a)});t&&setTimeout(()=>{this.$emit(t,{})},0)})},render:()=>{}}},emits:["change"],props:{mode:{type:String,default:""},mask:{type:Boolean,default:!0},maskClick:{type:Boolean,default:!0},width:{type:Number,default:220}},data:()=>({visibleSync:!1,showDrawer:!1,rightMode:!1,watchTimer:null,drawerWidth:220}),created(){this.drawerWidth=this.width,this.rightMode="right"===this.mode},methods:{clear(){},close(e){("mask"!==e||this.maskClick)&&this.visibleSync&&this._change("showDrawer","visibleSync",!1)},open(){this.visibleSync||this._change("visibleSync","showDrawer",!0)},_change(e,s,t){this[e]=t,this.watchTimer&&clearTimeout(this.watchTimer),this.watchTimer=setTimeout(()=>{this[s]=t,this.$emit("change",t)},t?50:300)}}},[["render",function(e,w,u,m,p,y){const k=h,f=s("keypress");return p.visibleSync?(t(),a(k,{key:0,class:n([{"uni-drawer--visible":p.showDrawer},"uni-drawer"]),onTouchmove:d(y.clear,["stop","prevent"])},{default:r(()=>[i(k,{class:n(["uni-drawer__mask",{"uni-drawer__mask--visible":p.showDrawer&&u.mask}]),onClick:w[0]||(w[0]=e=>y.close("mask"))},null,8,["class"]),i(k,{class:n(["uni-drawer__content",{"uni-drawer--right":p.rightMode,"uni-drawer--left":!p.rightMode,"uni-drawer__content--visible":p.showDrawer}]),style:o({width:p.drawerWidth+"px"})},{default:r(()=>[c(e.$slots,"default",{},void 0,!0)]),_:3},8,["class","style"]),i(f,{onEsc:w[1]||(w[1]=e=>y.close("mask"))})]),_:3},8,["class","onTouchmove"])):l("",!0)}],["__scopeId","data-v-0522f2c7"]]);export{w as _};