import{ab as Te,j as K,ac as _,ad as N,ae as De,k as P,af as Z,ag as re,ah as R,ai as Oe,y as _e,a as $e,u as Le,aj as Ae,e as Pe,g as We,ak as Fe,al as U,am as ze,q as T,h as Xe,an as Ie,w as y,a6 as le,E as Ye,o as He,S as Ve,n as W,ao as se,x as je,p as Qe,ap as Ke,t as v,aq as Ne}from"./index-BMUcF_AE.js";import{g as de,s as ce}from"./touch-BjYP5sR0.js";import{c as Re,b as F}from"./format-4vRgyZVr.js";function G(a,o,r){const p=Z(a);let e,u=p.left-o.event.x,l=p.top-o.event.y,f=Math.abs(u),m=Math.abs(l);const s=o.direction;s.horizontal===!0&&s.vertical!==!0?e=u<0?"left":"right":s.horizontal!==!0&&s.vertical===!0?e=l<0?"up":"down":s.up===!0&&l<0?(e="up",f>m&&(s.left===!0&&u<0?e="left":s.right===!0&&u>0&&(e="right"))):s.down===!0&&l>0?(e="down",f>m&&(s.left===!0&&u<0?e="left":s.right===!0&&u>0&&(e="right"))):s.left===!0&&u<0?(e="left",f0&&(e="down"))):s.right===!0&&u>0&&(e="right",f0&&(e="down")));let n=!1;if(e===void 0&&r===!1){if(o.event.isFirst===!0||o.event.lastDir===void 0)return{};e=o.event.lastDir,n=!0,e==="left"||e==="right"?(p.left-=u,f=0,u=0):(p.top-=l,m=0,l=0)}return{synthetic:n,payload:{evt:a,touch:o.event.mouse!==!0,mouse:o.event.mouse===!0,position:p,direction:e,isFirst:o.event.isFirst,isFinal:r===!0,duration:Date.now()-o.event.time,distance:{x:f,y:m},offset:{x:u,y:l},delta:{x:p.left-o.event.lastX,y:p.top-o.event.lastY}}}}let Ue=0;const J=Te({name:"touch-pan",beforeMount(a,{value:o,modifiers:r}){if(r.mouse!==!0&&_.has.touch!==!0)return;function p(u,l){r.mouse===!0&&l===!0?_e(u):(r.stop===!0&&R(u),r.prevent===!0&&re(u))}const e={uid:"qvtp_"+Ue++,handler:o,modifiers:r,direction:de(r),noop:De,mouseStart(u){ce(u,e)&&Oe(u)&&(P(e,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),e.start(u,!0))},touchStart(u){if(ce(u,e)){const l=u.target;P(e,"temp",[[l,"touchmove","move","notPassiveCapture"],[l,"touchcancel","end","passiveCapture"],[l,"touchend","end","passiveCapture"]]),e.start(u)}},start(u,l){if(_.is.firefox===!0&&N(a,!0),e.lastEvt=u,l===!0||r.stop===!0){if(e.direction.all!==!0&&(l!==!0||e.modifiers.mouseAllDir!==!0&&e.modifiers.mousealldir!==!0)){const s=u.type.indexOf("mouse")!==-1?new MouseEvent(u.type,u):new TouchEvent(u.type,u);u.defaultPrevented===!0&&re(s),u.cancelBubble===!0&&R(s),Object.assign(s,{qKeyEvent:u.qKeyEvent,qClickOutside:u.qClickOutside,qAnchorHandled:u.qAnchorHandled,qClonedBy:u.qClonedBy===void 0?[e.uid]:u.qClonedBy.concat(e.uid)}),e.initialEvent={target:u.target,event:s}}R(u)}const{left:f,top:m}=Z(u);e.event={x:f,y:m,time:Date.now(),mouse:l===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:f,lastY:m}},move(u){if(e.event===void 0)return;const l=Z(u),f=l.left-e.event.x,m=l.top-e.event.y;if(f===0&&m===0)return;e.lastEvt=u;const s=e.event.mouse===!0,n=()=>{p(u,s);let b;r.preserveCursor!==!0&&r.preservecursor!==!0&&(b=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),s===!0&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Re(),e.styleCleanup=d=>{if(e.styleCleanup=void 0,b!==void 0&&(document.documentElement.style.cursor=b),document.body.classList.remove("non-selectable"),s===!0){const S=()=>{document.body.classList.remove("no-pointer-events--children")};d!==void 0?setTimeout(()=>{S(),d()},50):S()}else d!==void 0&&d()}};if(e.event.detected===!0){e.event.isFirst!==!0&&p(u,e.event.mouse);const{payload:b,synthetic:d}=G(u,e,!1);b!==void 0&&(e.handler(b)===!1?e.end(u):(e.styleCleanup===void 0&&e.event.isFirst===!0&&n(),e.event.lastX=b.position.left,e.event.lastY=b.position.top,e.event.lastDir=d===!0?void 0:b.direction,e.event.isFirst=!1));return}if(e.direction.all===!0||s===!0&&(e.modifiers.mouseAllDir===!0||e.modifiers.mousealldir===!0)){n(),e.event.detected=!0,e.move(u);return}const q=Math.abs(f),h=Math.abs(m);q!==h&&(e.direction.horizontal===!0&&q>h||e.direction.vertical===!0&&q0||e.direction.left===!0&&q>h&&f<0||e.direction.right===!0&&q>h&&f>0?(e.event.detected=!0,e.move(u)):e.end(u,!0))},end(u,l){if(e.event!==void 0){if(K(e,"temp"),_.is.firefox===!0&&N(a,!1),l===!0)e.styleCleanup?.(),e.event.detected!==!0&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(e.event.detected===!0){e.event.isFirst===!0&&e.handler(G(u===void 0?e.lastEvt:u,e).payload);const{payload:f}=G(u===void 0?e.lastEvt:u,e,!0),m=()=>{e.handler(f)};e.styleCleanup!==void 0?e.styleCleanup(m):m()}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0}}};if(a.__qtouchpan=e,r.mouse===!0){const u=r.mouseCapture===!0||r.mousecapture===!0?"Capture":"";P(e,"main",[[a,"mousedown","mouseStart",`passive${u}`]])}_.has.touch===!0&&P(e,"main",[[a,"touchstart","touchStart",`passive${r.capture===!0?"Capture":""}`],[a,"touchmove","noop","notPassiveCapture"]])},updated(a,o){const r=a.__qtouchpan;r!==void 0&&(o.oldValue!==o.value&&(typeof value!="function"&&r.end(),r.handler=o.value),r.direction=de(o.modifiers))},beforeUnmount(a){const o=a.__qtouchpan;o!==void 0&&(o.event!==void 0&&o.end(),K(o,"main"),K(o,"temp"),_.is.firefox===!0&&N(a,!1),o.styleCleanup?.(),delete a.__qtouchpan)}}),ve=150,tt=$e({name:"QDrawer",inheritAttrs:!1,props:{...Pe,...Ae,side:{type:String,default:"left",validator:a=>["left","right"].includes(a)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:a=>["default","desktop","mobile"].includes(a),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...Le,"onLayout","miniState"],setup(a,{slots:o,emit:r,attrs:p}){const e=Qe(),{proxy:{$q:u}}=e,l=Ne(a,u),{preventBodyScroll:f}=Ke(),{registerTimeout:m,removeTimeout:s}=We(),n=Fe(ze,U);if(n===U)return console.error("QDrawer needs to be child of QLayout"),U;let q,h=null,b;const d=T(a.behavior==="mobile"||a.behavior!=="desktop"&&n.totalWidth.value<=a.breakpoint),S=v(()=>a.mini===!0&&d.value!==!0),g=v(()=>S.value===!0?a.miniWidth:a.width),c=T(a.showIfAbove===!0&&d.value===!1?!0:a.modelValue===!0),ee=v(()=>a.persistent!==!0&&(d.value===!0||he.value===!0));function te(t,i){if(fe(),t!==!1&&n.animate(),C(0),d.value===!0){const w=n.instances[L.value];w?.belowBreakpoint===!0&&w.hide(!1),B(1),n.isContainer.value!==!0&&f(!0)}else B(0),t!==!1&&V(!1);m(()=>{t!==!1&&V(!0),i!==!0&&r("show",t)},ve)}function ae(t,i){me(),t!==!1&&n.animate(),B(0),C(M.value*g.value),j(),i!==!0?m(()=>{r("hide",t)},ve):s()}const{show:z,hide:D}=Xe({showing:c,hideOnRouteChange:ee,handleShow:te,handleHide:ae}),{addToHistory:fe,removeFromHistory:me}=Ie(c,D,ee),$={belowBreakpoint:d,hide:D},k=v(()=>a.side==="right"),M=v(()=>(u.lang.rtl===!0?-1:1)*(k.value===!0?1:-1)),ue=T(0),E=T(!1),X=T(!1),ne=T(g.value*M.value),L=v(()=>k.value===!0?"left":"right"),I=v(()=>c.value===!0&&d.value===!1&&a.overlay===!1?a.miniToOverlay===!0?a.miniWidth:g.value:0),Y=v(()=>a.overlay===!0||a.miniToOverlay===!0||n.view.value.indexOf(k.value?"R":"L")!==-1||u.platform.is.ios===!0&&n.isContainer.value===!0),O=v(()=>a.overlay===!1&&c.value===!0&&d.value===!1),he=v(()=>a.overlay===!0&&c.value===!0&&d.value===!1),ye=v(()=>"fullscreen q-drawer__backdrop"+(c.value===!1&&E.value===!1?" hidden":"")),be=v(()=>({backgroundColor:`rgba(0,0,0,${ue.value*.4})`})),ie=v(()=>k.value===!0?n.rows.value.top[2]==="r":n.rows.value.top[0]==="l"),pe=v(()=>k.value===!0?n.rows.value.bottom[2]==="r":n.rows.value.bottom[0]==="l"),we=v(()=>{const t={};return n.header.space===!0&&ie.value===!1&&(Y.value===!0?t.top=`${n.header.offset}px`:n.header.space===!0&&(t.top=`${n.header.size}px`)),n.footer.space===!0&&pe.value===!1&&(Y.value===!0?t.bottom=`${n.footer.offset}px`:n.footer.space===!0&&(t.bottom=`${n.footer.size}px`)),t}),ge=v(()=>{const t={width:`${g.value}px`,transform:`translateX(${ne.value}px)`};return d.value===!0?t:Object.assign(t,we.value)}),Ce=v(()=>"q-drawer__content fit "+(n.isContainer.value!==!0?"scroll":"overflow-auto")),qe=v(()=>`q-drawer q-drawer--${a.side}`+(X.value===!0?" q-drawer--mini-animate":"")+(a.bordered===!0?" q-drawer--bordered":"")+(l.value===!0?" q-drawer--dark q-dark":"")+(E.value===!0?" no-transition":c.value===!0?"":" q-layout--prevent-focus")+(d.value===!0?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":` q-drawer--${S.value===!0?"mini":"standard"}`+(Y.value===!0||O.value!==!0?" fixed":"")+(a.overlay===!0||a.miniToOverlay===!0?" q-drawer--on-top":"")+(ie.value===!0?" q-drawer--top-padding":""))),ke=v(()=>{const t=u.lang.rtl===!0?a.side:L.value;return[[J,Me,void 0,{[t]:!0,mouse:!0}]]}),Se=v(()=>{const t=u.lang.rtl===!0?L.value:a.side;return[[J,oe,void 0,{[t]:!0,mouse:!0}]]}),Be=v(()=>{const t=u.lang.rtl===!0?L.value:a.side;return[[J,oe,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function H(){Ee(d,a.behavior==="mobile"||a.behavior!=="desktop"&&n.totalWidth.value<=a.breakpoint)}y(d,t=>{t===!0?(q=c.value,c.value===!0&&D(!1)):a.overlay===!1&&a.behavior!=="mobile"&&q!==!1&&(c.value===!0?(C(0),B(0),j()):z(!1))}),y(()=>a.side,(t,i)=>{n.instances[i]===$&&(n.instances[i]=void 0,n[i].space=!1,n[i].offset=0),n.instances[t]=$,n[t].size=g.value,n[t].space=O.value,n[t].offset=I.value}),y(n.totalWidth,()=>{(n.isContainer.value===!0||document.qScrollPrevented!==!0)&&H()}),y(()=>a.behavior+a.breakpoint,H),y(n.isContainer,t=>{c.value===!0&&f(t!==!0),t===!0&&H()}),y(n.scrollbarWidth,()=>{C(c.value===!0?0:void 0)}),y(I,t=>{x("offset",t)}),y(O,t=>{r("onLayout",t),x("space",t)}),y(k,()=>{C()}),y(g,t=>{C(),Q(a.miniToOverlay,t)}),y(()=>a.miniToOverlay,t=>{Q(t,g.value)}),y(()=>u.lang.rtl,()=>{C()}),y(()=>a.mini,()=>{a.noMiniAnimation||a.modelValue===!0&&(xe(),n.animate())}),y(S,t=>{r("miniState",t)});function C(t){t===void 0?le(()=>{t=c.value===!0?0:g.value,C(M.value*t)}):(n.isContainer.value===!0&&k.value===!0&&(d.value===!0||Math.abs(t)===g.value)&&(t+=M.value*n.scrollbarWidth.value),ne.value=t)}function B(t){ue.value=t}function V(t){const i=t===!0?"remove":n.isContainer.value!==!0?"add":"";i!==""&&document.body.classList[i]("q-body--drawer-toggle")}function xe(){h!==null&&clearTimeout(h),e.proxy&&e.proxy.$el&&e.proxy.$el.classList.add("q-drawer--mini-animate"),X.value=!0,h=setTimeout(()=>{h=null,X.value=!1,e?.proxy?.$el?.classList.remove("q-drawer--mini-animate")},150)}function Me(t){if(c.value!==!1)return;const i=g.value,w=F(t.distance.x,0,i);if(t.isFinal===!0){w>=Math.min(75,i)===!0?z():(n.animate(),B(0),C(M.value*i)),E.value=!1;return}C((u.lang.rtl===!0?k.value!==!0:k.value)?Math.max(i-w,0):Math.min(0,w-i)),B(F(w/i,0,1)),t.isFirst===!0&&(E.value=!0)}function oe(t){if(c.value!==!0)return;const i=g.value,w=t.direction===a.side,A=(u.lang.rtl===!0?w!==!0:w)?F(t.distance.x,0,i):0;if(t.isFinal===!0){Math.abs(A){r("onLayout",O.value),r("miniState",S.value),q=a.showIfAbove===!0;const t=()=>{(c.value===!0?te:ae)(!1,!0)};if(n.totalWidth.value!==0){le(t);return}b=y(n.totalWidth,()=>{b(),b=void 0,c.value===!1&&a.showIfAbove===!0&&d.value===!1?z(!1):t()})}),He(()=>{b?.(),h!==null&&(clearTimeout(h),h=null),c.value===!0&&j(),n.instances[a.side]===$&&(n.instances[a.side]=void 0,x("size",0),x("offset",0),x("space",!1))}),()=>{const t=[];d.value===!0&&(a.noSwipeOpen===!1&&t.push(Ve(W("div",{key:"open",class:`q-drawer__opener fixed-${a.side}`,"aria-hidden":"true"}),ke.value)),t.push(se("div",{ref:"backdrop",class:ye.value,style:be.value,"aria-hidden":"true",onClick:D},void 0,"backdrop",a.noSwipeBackdrop!==!0&&c.value===!0,()=>Be.value)));const i=S.value===!0&&o.mini!==void 0,w=[W("div",{...p,key:""+i,class:[Ce.value,p.class]},i===!0?o.mini():je(o.default))];return a.elevated===!0&&c.value===!0&&w.push(W("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push(se("aside",{ref:"content",class:qe.value,style:ge.value},w,"contentclose",a.noSwipeClose!==!0&&d.value===!0,()=>Se.value)),W("div",{class:"q-drawer-container"},t)}}});export{tt as Q};