Files
t-admin/unpackage/dist/build/web/assets/uni-drawer.3RJTDF4B.js
T
2025-06-13 21:16:12 +08:00

2 lines
2.1 KiB
JavaScript

import{_ as e,a9 as s,o as a,c as t,w as r,h as i,a0 as n,G as o,a6 as c,a5 as d,q as h,i as l}from"./index-CS85kPhe.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 a=Object.keys(e).find((a=>{const t=s.key,r=e[a];return r===t||Array.isArray(r)&&r.includes(t)}));a&&setTimeout((()=>{this.$emit(a,{})}),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,a){this[e]=a,this.watchTimer&&clearTimeout(this.watchTimer),this.watchTimer=setTimeout((()=>{this[s]=a,this.$emit("change",a)}),a?50:300)}}},[["render",function(e,w,u,m,p,y){const k=l,b=s("keypress");return p.visibleSync?(a(),t(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(b,{onEsc:w[1]||(w[1]=e=>y.close("mask"))})])),_:3},8,["class","onTouchmove"])):h("",!0)}],["__scopeId","data-v-ac0dbaaa"]]);export{w as _};