PageSourceSearch

https://www.procurementforhousing.co.uk/wp-content/cache/min/1/wp-…/js/header/sticky-header.js?ver=1790607645

js procurementforhousing.co.uk collected 2026-10-06 03:21:10 UTC 3,633 bytes, 11 lines download raw bytes

1function stickyHeaderBootstrap(stickyHeaderOptions){'use strict';const stickyHeaderDefaults={target:'[data-sticky-header]',offset:10,tolerance:2,classes:{pinned:'pinned',pinnedUp:'pinned-up',pinnedDown:'pinned-down',pinnedTop:'pinned-top',pinning:'pinning',unpinning:'unpinning'}};const stickyHeaderConfig=Object.assign({},stickyHeaderDefaults,stickyHeaderOptions||{});const stickyHeaderTarget=typeof stickyHeaderConfig.target==='string'?document.querySelector(stickyHeaderConfig.target):stickyHeaderConfig.target;if(!stickyHeaderTarget)return;const stickyHeaderClasses=stickyHeaderConfig.classes;const stickyHeaderAllClasses=Object.values(stickyHeaderClasses).filter((stickyHeaderClass)=>stickyHeaderClass!==stickyHeaderClasses.pinned);let stickyHeaderLastScroll=window.pageYOffset||0;let stickyHeaderLastState='';function stickyHeaderSetState(stickyHeaderState){if(stickyHeaderState===stickyHeaderLastState)return;stickyHeaderTarget.classList.remove(...stickyHeaderAllClasses);stickyHeaderTarget.classList.add(stickyHeaderClasses.pinned);if(stickyHeaderState&&stickyHeaderState!==stickyHeaderClasses.pinned){stickyHeaderTarget.classList.add(stickyHeaderState)}
2stickyHeaderLastState=stickyHeaderState}
3function stickyHeaderSetDirection(stickyHeaderDirection){stickyHeaderTarget.classList.remove(stickyHeaderClasses.pinnedUp,stickyHeaderClasses.pinnedDown);if(stickyHeaderDirection){stickyHeaderTarget.classList.add(stickyHeaderDirection)}}
4function stickyHeaderSetTopState(stickyHeaderIsAtTop){stickyHeaderTarget.classList.toggle(stickyHeaderClasses.pinnedTop,stickyHeaderIsAtTop)}
5function stickyHeaderSetTransition(stickyHeaderTransition,stickyHeaderFinal){if(stickyHeaderFinal===stickyHeaderLastState)return;stickyHeaderTarget.classList.remove(...stickyHeaderAllClasses);stickyHeaderTarget.classList.add(stickyHeaderClasses.pinned,stickyHeaderTransition);stickyHeaderLastState=stickyHeaderTransition;window.requestAnimationFrame(()=>{if(stickyHeaderLastState!==stickyHeaderTransition)return;stickyHeaderTarget.classList.remove(stickyHeaderTransition);stickyHeaderTarget.classList.add(stickyHeaderClasses.pinned);if(stickyHeaderFinal&&stickyHeaderFinal!==stickyHeaderClasses.pinned){stickyHeaderTarget.classList.add(stickyHeaderFinal)}
6stickyHeaderLastState=stickyHeaderFinal})}
7function stickyHeaderHandleScroll(){const stickyHeaderCurrentScroll=window.pageYOffset||0;const stickyHeaderDelta=stickyHeaderCurrentScroll-stickyHeaderLastScroll;const stickyHeaderScrollingDown=stickyHeaderDelta>stickyHeaderConfig.tolerance;const stickyHeaderScrollingUp=stickyHeaderDelta<-stickyHeaderConfig.tolerance;const stickyHeaderPastOffset=stickyHeaderCurrentScroll>stickyHeaderConfig.offset;const stickyHeaderAtTop=stickyHeaderCurrentScroll<=0;if(!stickyHeaderPastOffset){stickyHeaderSetState(stickyHeaderClasses.pinned)}else if(stickyHeaderScrollingDown){stickyHeaderSetTransition(stickyHeaderClasses.unpinning,stickyHeaderClasses.pinned)}else if(stickyHeaderScrollingUp){stickyHeaderSetTransition(stickyHeaderClasses.pinning,stickyHeaderClasses.pinned)}else{stickyHeaderSetState(stickyHeaderClasses.pinned)}
8if(stickyHeaderAtTop){stickyHeaderSetDirection('')}else if(stickyHeaderScrollingUp){stickyHeaderSetDirection(stickyHeaderClasses.pinnedUp)}else if(stickyHeaderScrollingDown){stickyHeaderSetDirection(stickyHeaderClasses.pinnedDown)}
9stickyHeaderSetTopState(stickyHeaderAtTop);stickyHeaderLastScroll=stickyHeaderCurrentScroll}
10stickyHeaderHandleScroll();window.addEventListener('scroll',stickyHeaderHandleScroll,{passive:!0});window.addEventListener('resize',stickyHeaderHandleScroll)}
11stickyHeaderBootstrap({target:'.site-header'})

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.