PageSourceSearch

https://www.hud.io/wp-content/themes/hud/assets/build/js/index.js?ver=fdce7f33dfd867148f30

js hud.io collected 2026-10-03 20:30:18 UTC 2,532 bytes, 1 lines download raw bytes

1(()=>{var t={8003(){const t=[{rootSel:"[data-single-post]",linkSel:"[data-single-post-toc-link]",indicatorSel:"[data-single-post-toc-indicator]"},{rootSel:"[data-case-study]",linkSel:"[data-case-study-toc-link]",indicatorSel:"[data-case-study-toc-indicator]"}];class e{ticking=!1;constructor(t,e,i){this.links=Array.from(t.querySelectorAll(e)),this.indicator=t.querySelector(i),this.headings=this.links.map(t=>{const e=decodeURIComponent(t.hash.replace("#",""));return e?document.getElementById(e):null}).filter(t=>Boolean(t)),this.links.length&&this.headings.length&&(this.bindClicks(),this.observeHeadings(),this.bindScrollFallback(),this.setActive(this.links[0]))}bindClicks(){this.links.forEach(t=>{t.addEventListener("click",()=>{this.setActive(t),window.setTimeout(()=>this.updateFromScroll(),350)})})}observeHeadings(){const t=new IntersectionObserver(t=>{const e=t.filter(t=>t.isIntersecting).sort((t,e)=>t.boundingClientRect.top-e.boundingClientRect.top)[0];if(!e)return;const i=this.links.find(t=>t.hash===`#${e.target.id}`);i&&this.setActive(i)},{rootMargin:"-20% 0px -65% 0px",threshold:0});
1this.headings.forEach(e=>t.observe(e))}bindScrollFallback(){window.addEventListener("scroll",()=>{this.ticking||(this.ticking=!0,window.requestAnimationFrame(()=>{this.updateFromScroll(),this.ticking=!1}))},{passive:!0}),window.addEventListener("resize",()=>this.updateFromScroll())}updateFromScroll(){const t=Math.min(.35*window.innerHeight,220),e=this.headings.filter(e=>e.getBoundingClientRect().top<=t),i=e[e.length-1]??this.headings[0],n=this.links.find(t=>decodeURIComponent(t.hash.replace("#",""))===i.id);n&&this.setActive(n)}setActive(t){this.links.forEach(e=>{e.classList.toggle("-is-active",e===t)}),this.moveIndicator(t)}moveIndicator(t){this.indicator&&(this.indicator.style.top=`${t.offsetTop}px`,this.indicator.style.height=`${t.offsetHeight}px`)}}document.addEventListener("DOMContentLoaded",()=>{t.forEach(({rootSel:t,linkSel:i,indicatorSel:n})=>{document.querySelectorAll(t).forEach(t=>{new e(t,i,n)})})})}},e={};function i(n){var o=e[n];if(void 0!==o)return o.exports;var s=e[n]={exports:{}};return t[n](s,s.exports,i),s.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";i(8003),document.addEventListener("DOMContentLoaded",()=>{document.documentElement.dataset.device=window.navigator.userAgent})})()})();

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.