blob: f31ceb3ab480d927559635ef0db2f665cca112e4 [file] [log] [blame]
(()=>{var r=3.5,h=2.5,o=class{constructor(e,t,d){this.mainHeader=e;this.mainNav=t;this.mainAside=d;this.handleDoubleClick=e=>{e.target===this.mainHeader?.lastElementChild&&(window.getSelection()?.removeAllRanges(),window.scrollTo({top:0,behavior:"smooth"}))};this.handleResize=()=>{let e=(t,d)=>document.documentElement.style.setProperty(t,d);e("--js-unit-header-height","0"),setTimeout(()=>{let t=(this.mainHeader?.getBoundingClientRect().height??0)/16;e("--js-unit-header-height",`${t}rem`),e("--js-sticky-header-height",`${r}rem`),e("--js-unit-header-top",`${(t-r)*-1}rem`)})};this.headerObserver=new IntersectionObserver(([i])=>{if(i.intersectionRatio<1)for(let s of document.querySelectorAll('[class^="go-Main-header"'))s.setAttribute("data-fixed","true");else{for(let s of document.querySelectorAll('[class^="go-Main-header"'))s.removeAttribute("data-fixed");this.handleResize()}},{threshold:1,rootMargin:`${h*16}px`}),this.navObserver=new IntersectionObserver(([i])=>{i.intersectionRatio<1?(this.mainNav?.classList.add("go-Main-nav--fixed"),this.mainNav?.setAttribute("data-fixed","true")):(this.mainNav?.classList.remove("go-Main-nav--fixed"),this.mainNav?.removeAttribute("data-fixed"))},{threshold:1,rootMargin:`-${r*16+10}px`}),this.asideObserver=new IntersectionObserver(([i])=>{i.intersectionRatio<1?this.mainHeader?.setAttribute("data-raised","true"):this.mainHeader?.removeAttribute("data-raised")},{threshold:1,rootMargin:`-${r*16+20}px 0px 0px 0px`}),this.init()}init(){if(this.handleResize(),window.addEventListener("resize",this.handleResize),this.mainHeader?.addEventListener("dblclick",this.handleDoubleClick),this.mainHeader?.hasChildNodes()){let e=document.createElement("div");this.mainHeader.prepend(e),this.headerObserver.observe(e)}if(this.mainNav?.hasChildNodes()){let e=document.createElement("div");this.mainNav.prepend(e),this.navObserver.observe(e)}if(this.mainAside){let e=document.createElement("div");this.mainAside.prepend(e),this.asideObserver.observe(e)}}},n=a=>document.querySelector(a);new o(n(".js-mainHeader"),n(".js-mainNav"),n(".js-mainAside"));})();
/**
* @license
* Copyright 2021 The Go Authors. All rights reserved.
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file.
*/
//# sourceMappingURL=unit.js.map