UNPKG

@topvisor/ui

Version:

Topvisor UI-kit Vue

3 lines (2 loc) 1.68 kB
define(["require","exports","./dom.amd"],(function(g,n,i){"use strict";if(typeof d>"u")var d=window.Vue;const c=t=>{if(!t||!t.parentElement||!t.offsetHeight)return;if(window.dialogs){const e=t.closest(".ui-dialog");e!=null&&e.getBoundingClientRect()&&(e==null?void 0:e.getBoundingClientRect().bottom)>document.documentElement.clientHeight&&setTimeout(window.dialogs.onWindowResize)}const o=t.scrollHeight>t.offsetHeight;if(o?(t.parentElement.classList.add("has_scroll_container"),t.classList.add("has_scroll")):(t.parentElement.classList.remove("has_scroll_container"),t.classList.remove("has_scroll")),o){const e=i.offset(t).top-i.offset(t.parentElement).top;t.style.setProperty("--scroll-offset-top",e+"px");const r=t.offsetHeight;t.style.setProperty("--scroll-height",r+"px"),t.scrollTop>0?t.classList.add("has_scroll-started"):t.classList.remove("has_scroll-started"),t.scrollTop>=t.scrollHeight-t.offsetHeight?t.classList.add("has_scroll-finished"):t.classList.remove("has_scroll-finished")}};let s;window.ResizeObserver&&(s=new ResizeObserver(t=>{t.forEach(o=>c(o.target))}));const l=t=>{if(!t)return;if(Array.isArray(t)){t.forEach(e=>l(e));return}const o=t;o.dataset.scrollShadowInited||(o.dataset.scrollShadowInited="true",o.onscroll=()=>c(o),s==null||s.observe(o))},f=t=>{s==null||s.unobserve(t)},h=()=>a(),a=(t=document.documentElement)=>{const o=t.clientHeight,e=t.scrollHeight,r=t.scrollTop;if(e&&r&&o){const u=e-o;return Math.floor(r/u*100)}return 100};n.amountScrolled=h,n.connectScrollShadow=l,n.genHasScroll=c,n.getScrollPercent=a,n.unconnectScrollShadow=f,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})})); //# sourceMappingURL=scroll.amd.js.map