PageSourceSearch

https://bloomerangas.com/wp-content/themes/bloomerangas/assets/js/header-scroll.js?ver=1785999076

js bloomerangas.com collected 2026-10-04 05:35:07 UTC 2,284 bytes, 100 lines download raw bytes

1(() => {
2	const selectors = [
3		"header.site-header",
4		"header.wp-block-template-part",
5		".site-header",
6	];
7	const header = selectors
8		.map((selector) => document.querySelector(selector))
9		.find(Boolean);
10
11	if (!header) {
12		return;
13	}
14
15	const body = document.body;
16	const siteBlocks = document.querySelector(".wp-site-blocks");
17	const paddingTarget = siteBlocks || body;
18
19	header.classList.add("brg-scroll-header");
20	paddingTarget.classList.add("brg-has-scroll-header");
21
22	let lastScroll = window.pageYOffset || 0;
23	let ticking = false;
24
25	const SCROLL_DELTA = 6;
26
27	const updateMeasurements = () => {
28		const adminBar = document.getElementById("wpadminbar");
29		const adminBarHeight = adminBar ? adminBar.offsetHeight : 0;
30		const headerHeight = header.offsetHeight;
31		const totalOffset = headerHeight + adminBarHeight;
32
33		document.documentElement.style.setProperty(
34			"--brg-header-height",
35			`${headerHeight}px`
36		);
37		document.documentElement.style.setProperty(
38			"--brg-header-offset",
39			`${adminBarHeight}px`
40		);
41		document.documentElement.style.setProperty(
42			"--brg-header-total-offset",
43			`${totalOffset}px`
44		);
45	};
46
47	const showHeader = () => {
48		header.classList.add("brg-header--visible");
49		header.classList.remove("brg-header--hidden");
50	};
51
52	const hideHeader = () => {
53		header.classList.add("brg-header--hidden");
54		header.classList.remove("brg-header--visible");
55	};
56
57	const onScroll = () => {
58		const currentScroll = window.pageYOffset || 0;
59		const delta = currentScroll - lastScroll;
60		const revealOffset = header.offsetHeight + 10;
61
62		if (currentScroll <= revealOffset) {
63			header.classList.add("brg-header--at-top");
64			showHeader();
65		} else {
66			header.classList.remove("brg-header--at-top");
67			if (delta > 0) {
68				hideHeader();
69			} else {
70				showHeader();
71			}
72		}
73
74		if (Math.abs(delta) <= SCROLL_DELTA) {
75			lastScroll = currentScroll;
76			return;
77		}
78
79		lastScroll = currentScroll;
80	};
81
82	const requestTick = () => {
83		if (!ticking) {
84			window.requestAnimationFrame(() => {
85				onScroll();
86				ticking = false;
87			});
88			ticking = true;
89		}
90	};
91
92	updateMeasurements();
93	onScroll();
94
95	window.addEventListener("scroll", requestTick, { passive: true });
96	window.addEventListener("resize", () => {
97		updateMeasurements();
98		onScroll();
99	});
100})();

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.