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.