2 lines
2.0 KiB
Java
2 lines
2.0 KiB
Java
var z=(F,R,s)=>new Promise((M,g)=>{var N=r=>{try{u(s.next(r))}catch(h){g(h)}},E=r=>{try{u(s.throw(r))}catch(h){g(h)}},u=r=>r.done?M(r.value):Promise.resolve(r.value).then(N,E);u((s=s.apply(F,R)).next())});import{onMountedOrActivated as I}from"./onMountedOrActivated-DhSdLlqP.js";import{useWindowSizeFn as V}from"./useWindowSizeFn-C-0M9_Ul.js";import{u as W}from"./useContentViewHeight-Cja8zrBg.js";import{af as X,ag as Z,ah as _}from"./index-X7Y8jykP.js";import{r as A,n as P,h as $,u as f,v as j}from"./vue-vendor-DNhG1Cve.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./usePageContext-9jIr04Op.js";function Y(F,R,s,M,g=0,N=A(0)){const E=A(null),{footerHeightRef:u}=W();let r={useLayoutFooter:!0};const h=e=>{r=e};function D(){P(()=>{B()})}function p(e,x="all"){var m,l,H,b;function c(t){return Number(t.replace(/[^\d]/g,""))}let i=0;const a="0px";if(e){const t=getComputedStyle(e),n=c((m=t==null?void 0:t.marginTop)!=null?m:a),o=c((l=t==null?void 0:t.marginBottom)!=null?l:a),d=c((H=t==null?void 0:t.paddingTop)!=null?H:a),k=c((b=t==null?void 0:t.paddingBottom)!=null?b:a);x==="all"?(i+=n,i+=o,i+=d,i+=k):x==="top"?(i+=n,i+=d):(i+=o,i+=k)}return i}function T(e){return e==null?null:e instanceof HTMLDivElement?e:e.$el}function B(){return z(this,null,function*(){var b;if(!F.value)return;yield P();const e=T(f(R));if(!e)return;const{bottomIncludeBody:x}=X(e);let c=0;s.forEach(t=>{var n,o;c+=(o=(n=T(f(t)))==null?void 0:n.offsetHeight)!=null?o:0});let i=(b=p(e))!=null?b:0;M.forEach(t=>{i+=p(T(f(t)))});let a=0;function m(t,n){if(t&&n){const o=t.parentElement;o&&(Z(n)?o.classList.contains(n)?a+=p(o,"bottom"):(a+=p(o,"bottom"),m(o,n)):_(n)&&n>0&&(a+=p(o,"bottom"),m(o,--n)))}}j(g)?m(e,f(g)):m(e,g);let l=x-f(u)-f(N)-c-i-a;const H=()=>{var t;(t=r.elements)==null||t.forEach(n=>{var o,d;l+=(d=(o=T(f(n)))==null?void 0:o.offsetHeight)!=null?d:0})};r.useLayoutFooter&&f(u)>0,H(),E.value=l})}return I(()=>{P(()=>{B()})}),V(()=>{B()},50,{immediate:!0}),$(()=>[u.value],()=>{B()},{flush:"post",immediate:!0}),{redoHeight:D,setCompensation:h,contentHeight:E}}export{Y as useContentHeight};
|