1import{b as f}from"./config-bsQLOHHs.js";import{s as c}from"./hunt.esm-BrX7EtyL.js";let l=!1;try{const s={get passive(){return l=!0,!1}};window.addEventListener("test",null,s),window.removeEventListener("test",null,s)}catch{l=!1}class d{constructor(e){this.el=e,this.fps=60,this.fpsTime=1e3/this.fps,this.prevTime=Date.now(),this.resizeRequested=!1,this.redrawRequested=!1,this.wrapperWidth=0,this.wrapperHeight=0,this.wrapperSize=0,this.contentSize=0,this.centredMode=this.el.classList.contains("timeline--centred")&&window.innerWidth>=f.LG,this.horizontalMode=this.el.classList.contains("timeline--horizontal"),this.years=this.el.querySelector(".timeline--years > ol"),this.line={wrapper:this.el.querySelector(".timeline--line"),end:this.el.querySelector(".timeline--line--end"),endSize:0,currentSize:0,targetSize:0,increment:15},this.calcLineRequested=!1,this.timelineElements=[];let t=this.el.querySelectorAll(".timeline--years > ol > li"),i=!1;t.forEach((r,h)=>{this.timelineElements[h]={obj:r,offset:0,events:[]},i&&r.querySelector(".timeline--year").classList.add("flip"),r.querySelectorAll(".timeline--year--events > li").forEach((o,a)=>{this.timelineElements[h].events[a]={obj:o,offset:0},i&&o.classList.add("flip"),i=!i})});let n=this;this.hunt=new c(this.el,{enter:function(){n.init()}})}init(){this.line.wrapper.classList.add("animate"),this.horizontalScrollListener=this.el.addEventListener("scroll",()=>{this.horizontalMode&&!this.calcLineRequested&&(this.calcLineRequested=!0,setTimeout(()=>{this.calcLine(),this.calcLineRequested=!1},500))},l?{passive:!0}:!1),this.verticalScrollListener=window.addEventListener("scroll",()=>{!this.horizontalMode&&!this.calcLineRequested&&(this.calcLineRequested=!0,setTimeout(()=>{this.calcLine(),this.calcLineRequested=!1},500))},l?{passive:!0}:!1),this.ro=new ResizeObserver(e=>{for(let t of e){const i=t.contentRect;(i.width!=this.wrapperWidth||i.height!=this.wrapperHeight)&&(this.wrapperWidth=i.width,this.wrapperHeight=i.height,this.resizeRequested||(this.resizeRequested=!0,setTimeout(()=>{this.resize()},200)))}}),this.ro.observe(this.el)}resize(){this.redrawInterval!=null&&clearInterval(this.redrawInterval),this.horizontalMode=this.el.classList.contains("timeline--horizontal");for(let e=0;e<this.timelineElements.length;e++){this.timelineElements[e].offset=this.horizontalMode?this.timelineElements[e].obj.offsetLeft:this.timelineElements[e].obj.offsetTop;for(let t=0;t<this.timelineElements[e].events.length;t++)this.timelineElements[e].events[t].offset=this.timelineElements[e].offset+(this.horizontalMode?this.timelineElements[e].events[t].obj.offsetLeft:this.timelineElements[e].events[t].obj.offsetTop)}this.calcLine(),this.redrawInterval=setInterval(()=>{this.redrawRequested||(this.redrawRequested=!0,this.redraw())},this.fpsTime),this.resizeRequested=!1}calcLine(){this.line.endSize=this.horizontalMode?this.line.end.offsetWidth:this.line.end.offsetHeight;let e=this.horizontalMode?0:this.el.offsetTop;this.wrapperSize=this.horizontalMode?this.wrapperWidth:this.wrapperHeight,this.contentSize=this.horizontalMode?this.years.offsetWidth:this.years.offsetHeight,this.line.targetSize>this.contentSize&&(this.line.targetSize=this.contentSize);let t=this.horizontalMode?this.wrapperSize+this.el.scrollLeft:window.innerHeight-(e-window.scrollY);if(t<2*this.line.endSize?t=2*this.line.endSize:t>this.contentSize&&(t=this.contentSize),t>this.line.targetSize&&(this.line.targetSize=t),this.horizontalMode)this.line.currentSize<this.el.scrollLeft&&(this.line.currentSize=this.el.scrollLeft);else{let i=e-window.scrollY;if(i<0){let n=Math.abs(i);this.line.currentSize<n&&(this.line.currentSize=n)}}this.calcLineRequested=!1}redraw(){let e=Date.now()-this.prevTime;this.prevTime=Date.now();let t=this.line.increment/this.fpsTime*e;this.line.currentSize+=t,this.line.currentSize>=this.line.targetSize&&(this.line.currentSize=this.line.targetSize),this.el.style.setProperty("--line-middle-scale",`${(this.line.currentSize-2*this.line.endSize)/100}`),this.el.style.setProperty("--line-end-translate",`${this.line.currentSize-this.line.endSize}px`),this.revealEvents(),(this.horizontalMode&&this.line.currentSize>=this.years.offsetWidth||!this.horizontalMode&&this.line.currentSize>=this.wrapperSize)&&(clearInterval(this.redrawInterval),this.redrawInterval=null),this.redrawRequested=!1}revealEvents(){for(let e=0;e<this.timelineElements.length;e++){this.timelineElements[e].obj.classList.toggle("reveal",this.timelineElements[e].offset<=this.line.currentSize);for(let t=0;t<this.timelineElements[e].events.length;t++)this.timelineElements[e].events[t].obj.classList.toggle("reveal",this.timelineElements[e].events[t].offset<=this.line.currentSize)}}}
1function u(s){s.forEach(e=>{e.nodeType===1&&new d(e)})}export{u as createFrom};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.