go-quasar-partial-ssr/backend/internal/http/static/spa/assets/QLayout-DZVoSyXn.js

2 lines
7.2 KiB
JavaScript

import{L,M as f,a1 as _,E as c,$ as P,ah as M,ai as $,aj as B,D as z,w as x,W,ao as j,ap as N,aq as k,O as K,Z as U,ar as A,o as D,ab as I,as as Z,at as G,au as J,av as V,aw as X,ax as Y,K as C}from"./index-DAvBaevK.js";import{a as O}from"./QResizeObserver-CenQZ1Fm.js";const le=L({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:y}){const a=c(()=>"q-toolbar__title ellipsis"+(e.shrink===!0?" col-shrink":""));return()=>f("div",{class:a.value},_(y.default))}}),ae=L({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:y,emit:a}){const{proxy:{$q:n}}=P(),o=M(B,$);if(o===$)return console.error("QHeader needs to be child of QLayout"),$;const r=z(parseInt(e.heightHint,10)),u=z(!0),b=c(()=>e.reveal===!0||o.view.value.indexOf("H")!==-1||n.platform.is.ios&&o.isContainer.value===!0),h=c(()=>{if(e.modelValue!==!0)return 0;if(b.value===!0)return u.value===!0?r.value:0;const t=r.value-o.scroll.value.position;return t>0?t:0}),s=c(()=>e.modelValue!==!0||b.value===!0&&u.value!==!0),T=c(()=>e.modelValue===!0&&s.value===!0&&e.reveal===!0),p=c(()=>"q-header q-layout__section--marginal "+(b.value===!0?"fixed":"absolute")+"-top"+(e.bordered===!0?" q-header--bordered":"")+(s.value===!0?" q-header--hidden":"")+(e.modelValue!==!0?" q-layout--prevent-focus":"")),S=c(()=>{const t=o.rows.value.top,v={};return t[0]==="l"&&o.left.space===!0&&(v[n.lang.rtl===!0?"right":"left"]=`${o.left.size}px`),t[2]==="r"&&o.right.space===!0&&(v[n.lang.rtl===!0?"left":"right"]=`${o.right.size}px`),v});function i(t,v){o.update("header",t,v)}function g(t,v){t.value!==v&&(t.value=v)}function Q({height:t}){g(r,t),i("size",t)}function H(t){T.value===!0&&g(u,!0),a("focusin",t)}x(()=>e.modelValue,t=>{i("space",t),g(u,!0),o.animate()}),x(h,t=>{i("offset",t)}),x(()=>e.reveal,t=>{t===!1&&g(u,e.modelValue)}),x(u,t=>{o.animate(),a("reveal",t)}),x(o.scroll,t=>{e.reveal===!0&&g(u,t.direction==="up"||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)});const q={};return o.instances.header=q,e.modelValue===!0&&i("size",r.value),i("space",e.modelValue),i("offset",h.value),W(()=>{o.instances.header===q&&(o.instances.header=void 0,i("size",0),i("offset",0),i("space",!1))}),()=>{const t=j(y.default,[]);return e.elevated===!0&&t.push(f("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),t.push(f(O,{debounce:0,onResize:Q})),f("header",{class:p.value,style:S.value,onFocusin:H},t)}}}),ie=L({name:"QPageContainer",setup(e,{slots:y}){const{proxy:{$q:a}}=P(),n=M(B,$);if(n===$)return console.error("QPageContainer needs to be child of QLayout"),$;N(k,!0);const o=c(()=>{const r={};return n.header.space===!0&&(r.paddingTop=`${n.header.size}px`),n.right.space===!0&&(r[`padding${a.lang.rtl===!0?"Left":"Right"}`]=`${n.right.size}px`),n.footer.space===!0&&(r.paddingBottom=`${n.footer.size}px`),n.left.space===!0&&(r[`padding${a.lang.rtl===!0?"Right":"Left"}`]=`${n.left.size}px`),r});return()=>f("div",{class:"q-page-container",style:o.value},_(y.default))}}),{passive:E}=A,ee=["both","horizontal","vertical"],te=L({name:"QScrollObserver",props:{axis:{type:String,validator:e=>ee.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:K},emits:["scroll"],setup(e,{emit:y}){const a={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}};let n=null,o,r;x(()=>e.scrollTarget,()=>{h(),b()});function u(){n?.();const p=Math.max(0,Z(o)),S=G(o),i={top:p-a.position.top,left:S-a.position.left};if(e.axis==="vertical"&&i.top===0||e.axis==="horizontal"&&i.left===0)return;const g=Math.abs(i.top)>=Math.abs(i.left)?i.top<0?"up":"down":i.left<0?"left":"right";a.position={top:p,left:S},a.directionChanged=a.direction!==g,a.delta=i,a.directionChanged===!0&&(a.direction=g,a.inflectionPoint=a.position),y("scroll",{...a})}function b(){o=U(r,e.scrollTarget),o.addEventListener("scroll",s,E),s(!0)}function h(){o!==void 0&&(o.removeEventListener("scroll",s,E),o=void 0)}function s(p){if(p===!0||e.debounce===0||e.debounce==="0")u();else if(n===null){const[S,i]=e.debounce?[setTimeout(u,e.debounce),clearTimeout]:[requestAnimationFrame(u),cancelAnimationFrame];n=()=>{i(S),n=null}}}const{proxy:T}=P();return x(()=>T.$q.lang.rtl,u),D(()=>{r=T.$el.parentNode,b()}),W(()=>{n?.(),h()}),Object.assign(T,{trigger:s,getPosition:()=>a}),I}}),re=L({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:y,emit:a}){const{proxy:{$q:n}}=P(),o=z(null),r=z(n.screen.height),u=z(e.container===!0?0:n.screen.width),b=z({position:0,direction:"down",inflectionPoint:0}),h=z(0),s=z(J.value===!0?0:V()),T=c(()=>"q-layout q-layout--"+(e.container===!0?"containerized":"standard")),p=c(()=>e.container===!1?{minHeight:n.screen.height+"px"}:null),S=c(()=>s.value!==0?{[n.lang.rtl===!0?"left":"right"]:`${s.value}px`}:null),i=c(()=>s.value!==0?{[n.lang.rtl===!0?"right":"left"]:0,[n.lang.rtl===!0?"left":"right"]:`-${s.value}px`,width:`calc(100% + ${s.value}px)`}:null);function g(l){if(e.container===!0||document.qScrollPrevented!==!0){const d={position:l.position.top,direction:l.direction,directionChanged:l.directionChanged,inflectionPoint:l.inflectionPoint.top,delta:l.delta.top};b.value=d,e.onScroll!==void 0&&a("scroll",d)}}function Q(l){const{height:d,width:w}=l;let m=!1;r.value!==d&&(m=!0,r.value=d,e.onScrollHeight!==void 0&&a("scrollHeight",d),q()),u.value!==w&&(m=!0,u.value=w),m===!0&&e.onResize!==void 0&&a("resize",l)}function H({height:l}){h.value!==l&&(h.value=l,q())}function q(){if(e.container===!0){const l=r.value>h.value?V():0;s.value!==l&&(s.value=l)}}let t=null;const v={instances:{},view:c(()=>e.view),isContainer:c(()=>e.container),rootRef:o,height:r,containerHeight:h,scrollbarWidth:s,totalWidth:c(()=>u.value+s.value),rows:c(()=>{const l=e.view.toLowerCase().split(" ");return{top:l[0].split(""),middle:l[1].split(""),bottom:l[2].split("")}}),header:C({size:0,offset:0,space:!1}),right:C({size:300,offset:0,space:!1}),footer:C({size:0,offset:0,space:!1}),left:C({size:300,offset:0,space:!1}),scroll:b,animate(){t!==null?clearTimeout(t):document.body.classList.add("q-body--layout-animate"),t=setTimeout(()=>{t=null,document.body.classList.remove("q-body--layout-animate")},155)},update(l,d,w){v[l][d]=w}};if(N(B,v),V()>0){let l=function(){m=null,R.classList.remove("hide-scrollbar")},d=function(){if(m===null){if(R.scrollHeight>n.screen.height)return;R.classList.add("hide-scrollbar")}else clearTimeout(m);m=setTimeout(l,300)},w=function(F){m!==null&&F==="remove"&&(clearTimeout(m),l()),window[`${F}EventListener`]("resize",d)},m=null;const R=document.body;x(()=>e.container!==!0?"add":"remove",w),e.container!==!0&&w("add"),X(()=>{w("remove")})}return()=>{const l=Y(y.default,[f(te,{onScroll:g}),f(O,{onResize:Q})]),d=f("div",{class:T.value,style:p.value,ref:e.container===!0?void 0:o,tabindex:-1},l);return e.container===!0?f("div",{class:"q-layout-container overflow-hidden",ref:o},[f(O,{onResize:H}),f("div",{class:"absolute-full",style:S.value},[f("div",{class:"scroll",style:i.value},[d])])]):d}}});export{ae as Q,le as a,ie as b,re as c};