PageSourceSearch

https://acentra.com/hubfs/hub_generated/module_assets/1/2131944996…/1781801440677/module_header-replica.min.js

js acentra.com collected 2026-09-24 09:33:45 UTC 16,676 bytes, 2 lines download raw bytes

1var module_186999001235=function(){const DEFAULT_MODULE_CONFIG=Object.freeze({autosuggest_results_message:"Results for “[[search_term]]”",sr_autosuggest_results_message:"There are currently [[number_of_results]] auto-suggested results for [[search_term]].",sr_search_field_aria_label:"This is a search field with an auto-suggest feature attached.",sr_search_button_aria_label:"Search"});let srAnnounceTimeout;const moduleConfig=(moduleName=>{const configJSONScript=document.querySelector(`[data-${moduleName}-config]`);return configJSONScript?JSON.parse(configJSONScript.textContent):DEFAULT_MODULE_CONFIG})("search_input"),KEYS=Object.freeze({TAB:"Tab",ESC:"Esc",ESCAPE:"Escape",UP:"Up",ARROW_UP:"ArrowUp",DOWN:"Down",ARROW_DOWN:"ArrowDown"}),debounce=(func,wait)=>{let timer;return(...args)=>{clearTimeout(timer),timer=setTimeout(()=>{func.apply(this,args)},wait)}},isMobileNav=()=>window.innerWidth<=1e3,emptySearchSuggestions=(suggestionsResponse,searchInputElements)=>{const{searchForm:searchForm,searchSuggestions:searchSuggestions,searchInput:searchInput,srMessageContainer:srMessageContainer}=searchInputElements,{searchTerm:searchTerm}=suggestionsResponse,noSearchResultsMessage=searchTerm?moduleConfig.autosuggest_no_results_message.replace("[[search_term]]",searchTerm):moduleConfig.sr_empty_search_field_message,emptyResultsItem=`<li role="option"\n    tabindex="-1"\n    aria-posinset="1"\n    aria-setsize="0"\n    class="results-for ${searchTerm?"":"show-for-sr"}">${noSearchResultsMessage}</li>`;searchSuggestions.innerHTML=emptyResultsItem,srMessageContainer.innerHTML=noSearchResultsMessage,searchInput.focus(),searchForm.classList.remove("hs-search-field--open")},trapFocus=searchInputElements=>{const{searchInput:searchInput,searchSuggestions:searchSuggestions,searchInputContainer:searchInputContainer}=searchInputElements,tabbable=[searchInput,...searchSuggestions.querySelectorAll("a")],firstTabbable=tabbable[0],lastTabbable=tabbable[tabbable.length-1];searchInputContainer.removeEventListener("keydown",window.captureKeyDownReplica),window.captureKeyDownReplica=e=>{switch(e.key){case KEYS.TAB:(e=>{e.target!==lastTabbable||e.shiftKey?e.target===firstTabbable&&e.shiftKey&&(e.preventDefault(),lastTabbable.focus()):(e.preventDefault(),firstTabbable.focus())})(e);break;case KEYS.ESC:case KEYS.ESCAPE:emptySearchSuggestions({},searchInputElements);break;case KEYS.UP:case KEYS.ARROW_UP:(e=>{e.preventDefault(),e.target===firstTabbable?lastTabbable.focus():tabbable.forEach(el=>{el===e.target&&tabbable[tabbable.indexOf(el)-1].focus()})})(e);break;case KEYS.DOWN:case KEYS.ARROW_DOWN:(e=>{e.preventDefault(),e.target===lastTabbable?firstTabbable.focus():tabbable.forEach(el=>{el===e.target&&tabbable[tabbable.indexOf(el)+1].focus()})})(e)}},searchInputContainer.addEventListener("keydown",window.captureKeyDownReplica)},renderSearchSuggestions=(suggestionsResponse,searchInputElements)=>{const{searchSuggestions:searchSuggestions,srMessageContainer:srMessageContainer,searchInputContainer:searchInputContainer}=searchInputElements,{results:results,searchTerm:searchTerm}=suggestionsResponse,searchResultsMessage=moduleConfig.autosuggest_results_message.replace("[[search_term]]",searchTerm),items=[`<li role="option" tabindex="-1" aria-posinset="1" aria-setsize="${results.length}" class="results-for">${searchResultsMessage}</li>`,...results.map((result,index)=>`<li role="option" aria-posinset="${index+2}" tabindex="${index+1}"><a href="${result.url}">${result.title}</a></li>`)];emptySearchSuggestions({},searchInputElements),searchSuggestions.innerHTML=items.join(""),searchInputContainer.classList.add("hs-search-field--open"),srAnnounceTimeout=setTimeout(()=>{((suggestionsResponse,srMessageContainer)=>{const{results:results,searchTerm:searchTerm}=suggestionsResponse;srMessageContainer&&(srMessageContainer.innerHTML=`${moduleConfig.sr_autosuggest_results_message.replace("[[number_of_results]]",results.length).replace("[[search_term]]",searchTerm)}`)})(suggestionsResponse,srMessageContainer)},1500)},getSearchContentTypesQueryParamsArray=searchForm=>{const data=new FormData(searchForm);let formTypeParams=[],otherParams=[];for(const[key,value]of data.entries()){const param=`${encodeURIComponent(key)}=${encodeURIComponent(value)}`;("type"===key?formTypeParams:otherParams).push(param)}return formTypeParams=function(formParams){const validContentTypesElement=document.getElementById("hs-search-input__valid-content-types");if(!validContentTypesElement)return formParams;try{const validContentTypes=new Set(JSON.parse(validContentTypesElement.textContent)),newParams=new URLSearchParams(window.location.search).getAll("type").filter(type=>validContentTypes.has(type)).map(type=>`type=${encodeURIComponent(type)}`);return newParams.length>0?newParams:formParams}catch(e){return console.warn("Error parsing valid content types:",e),formParams}}(formTypeParams),[...formTypeParams,...otherParams]},initializeSearchInput=searchInputContainer=>{if(searchInputContainer.classList.contains("hs-search-field--initialized"))return;searchInputContainer.classList.add("hs-search-field--initialized");const searchForm=searchInputContainer.querySelector("form"),searchInput=searchForm.querySelector(".hs-search-field__input"),searchSuggestions=searchInputContainer.querySelector(".header-replica-search-field__suggestions"),srMessageContainer=searchInputContainer.querySelector(".hs-search-sr-message-container"),searchInputElements={searchInputContainer:searchInputContainer,searchForm:searchForm,searchSuggestions:searchSuggestions,srMessageContainer:srMessageContainer,searchInput:searchInput};let searchTerm="";const isSearchTermPresent=debounce(()=>{searchTerm=searchInput.value,searchTerm.length>2?(searchInputElements=>{const{searchForm:searchForm}=searchInputElements,parsedParamsArray=getSearchContentTypesQueryParamsArray(searchForm);parsedParamsArray.push("limit=4"),parsedParamsArray.push("autocomplete=true"),parsedParamsArray.push("analytics=true");const queryString=new URLSearchParams(parsedParamsArray.join("&")).toString(),request=new XMLHttpRequest;request.open("GET",`/_hcms/v3/site-search/search?${queryString}`,!0),request.onload=function(){if(request.status>=200&&request.status<400){const resultData=JSON.parse(request.responseText);srAnnounceTimeout&&clearTimeout(srAnnounceTimeout),resultData.results.length>0?(renderSearchSuggestions(resultData,searchInputElements),trapFocus(searchInputElements)):emptySearchSuggestions(resultData,searchInputElements)}else console.error("Server reached, error retrieving results.")},request.onerror=function(){console.error("Could not reach the server.")},request.send()})(searchInputElements):0===searchTerm.length&&emptySearchSuggestions({},searchInputElements)},250);searchInput.addEventListener("input",()=>{searchTerm!==searchInput.value&&isSearchTermPresent()}),searchForm.addEventListener("submit",function(e){e.preventDefault();const form=e.target;let redirectUrl=form.getAttribute("action");redirectUrl+=redirectUrl.includes("?")?"&":"?";
1const currentParams=getSearchContentTypesQueryParamsArray(form).join("&");currentParams&&(redirectUrl+=currentParams),window.location.href=redirectUrl})};function updateMobilePanel(panel,expanded){panel&&(panel.removeAttribute("hidden"),panel.setAttribute("aria-hidden",expanded?"false":"true"))}function syncMobilePanelsInFlow(root){isMobileNav()&&root.querySelectorAll(".header_replica_dropdown, .header_replica_meganav").forEach(panel=>{const item=panel.closest(".header_replica_item.has-children");updateMobilePanel(panel,Boolean(item?.classList.contains("open")))})}function setPanelExpanded(item,expanded){const link=item.querySelector(":scope > .header_replica_link"),panel=item.querySelector(":scope > .header_replica_dropdown, :scope > .header_replica_meganav"),indicator=item.querySelector(":scope > .header_replica_child_indicator");link&&link.setAttribute("aria-expanded",expanded?"true":"false"),indicator&&(indicator.setAttribute("aria-expanded",expanded?"true":"false"),indicator.classList.toggle("child-open",expanded)),panel&&isMobileNav()&&(item.classList.toggle("open",expanded),updateMobilePanel(panel,expanded))}function syncPanelsForViewport(root){const panels=root.querySelectorAll(".header_replica_dropdown, .header_replica_meganav"),items=root.querySelectorAll(".header_replica_item.has-children");if(isMobileNav()){const searchPanel=root.querySelector(".theme-header-replica_search");return searchPanel&&searchPanel.classList.remove("open"),items.forEach(item=>{item.classList.remove("is-hover")}
1),void syncMobilePanelsInFlow(root)}closeMobileMenu(root),items.forEach(item=>{item.classList.remove("open","is-hover");const link=item.querySelector(":scope > .header_replica_link"),indicator=item.querySelector(":scope > .header_replica_child_indicator");link&&link.setAttribute("aria-expanded","false"),indicator&&(indicator.classList.remove("child-open"),indicator.setAttribute("aria-expanded","false"))}),panels.forEach(panel=>panel.removeAttribute("hidden"))}function closeAllSubmenus(exceptItem,scope){(scope||document).querySelectorAll(".header_replica_item.has-children.open").forEach(item=>{item!==exceptItem&&setPanelExpanded(item,!1)})}function closeMobileMenu(root){const navToggleBtn=root.querySelector(".header_replica_mobile_toggle button");document.body.classList.remove("open-menu"),navToggleBtn&&navToggleBtn.setAttribute("aria-expanded","false"),closeAllSubmenus(null,root)}function initDesktopNavHover(navItems,searchPanel){if(0===navItems.length)return;const root=navItems[0].closest(".header-replica-root");if(!root||"true"===root.dataset.desktopHoverInit)return;root.dataset.desktopHoverInit="true";const headerEl=document.querySelector("header.header"),clearHoverStates=exceptItem=>{document.querySelectorAll(".header_replica_item.has-children.is-hover").forEach(item=>{item!==exceptItem&&item.classList.remove("is-hover")}),!headerEl||exceptItem&&exceptItem.classList.contains("is-meganav")||headerEl.classList.remove("header-replica-meganav-open")};navItems.forEach(item=>{const panel=item.querySelector(":scope > .header_replica_dropdown, :scope > .header_replica_meganav");let closeTimer;const open=()=>{window.matchMedia("(min-width: 1001px)").matches&&(clearTimeout(closeTimer),searchPanel&&searchPanel.classList.contains("open")&&searchPanel.classList.remove("open"),clearHoverStates(item),item.classList.add("is-hover"),(item=>{headerEl&&item.classList.contains("is-meganav")&&headerEl.classList.add("header-replica-meganav-open")})(item))},scheduleClose=()=>{window.matchMedia("(min-width: 1001px)").matches&&(clearTimeout(closeTimer),closeTimer=setTimeout(()=>{item.classList.remove("is-hover"),headerEl&&item.classList.contains("is-meganav")&&headerEl.classList.remove("header-replica-meganav-open")},180))};item.addEventListener("mouseenter",open),item.addEventListener("mouseleave",e=>{panel&&e.relatedTarget&&panel.contains(e.relatedTarget)||scheduleClose()}),panel&&(panel.addEventListener("mouseenter",open),panel.addEventListener("mouseleave",e=>{e.relatedTarget&&item.contains(e.relatedTarget)||scheduleClose()}))}),headerEl&&headerEl.addEventListener("mouseleave",e=>{e.relatedTarget&&headerEl.contains(e.relatedTarget)||clearHoverStates()}),window.addEventListener("resize",debounce(()=>{window.matchMedia("(max-width: 1000px)").matches&&clearHoverStates()},150))}function mountMobileMeganavLists(root){"true"!==root.dataset.mobileMeganavMounted&&(root.querySelectorAll(".header_replica_meganav_mobile_template").forEach(template=>{const mount=template.nextElementSibling;!mount||!mount.classList.contains("header_replica_meganav_mobile_mount")||mount.childElementCount>0||(mount.appendChild(template.content.cloneNode(!0)),mount.removeAttribute("aria-hidden"))}
1),root.dataset.mobileMeganavMounted="true",syncMobilePanelsInFlow(root))}function ensureSearchInitialized(root,searchPanel){searchPanel&&searchPanel.querySelectorAll(".header-replica-search-field").forEach(container=>{initializeSearchInput(container)})}function maybeInitDesktopNavHover(root,navItemsWithChildren,searchPanel){window.matchMedia("(min-width: 1001px)").matches&&initDesktopNavHover(navItemsWithChildren,searchPanel)}function initHeaderReplica(){const header=document.querySelector(".header");let isScrolling=!1;function handleScroll(){if(!header)return;const shouldScroll=window.scrollY>10;shouldScroll!==isScrolling&&(isScrolling=shouldScroll,header.classList.toggle("scrolling",shouldScroll))}let scrollRaf=0;window.addEventListener("scroll",function(){scrollRaf||(scrollRaf=window.requestAnimationFrame(()=>{scrollRaf=0,handleScroll()}))},{passive:!0}),window.addEventListener("scrollend",handleScroll,{passive:!0}),handleScroll(),document.querySelectorAll(".header-replica-root").forEach(root=>{const navWrap=root.querySelector(".header_replica_nav_wrap"),navToggleBtn=root.querySelector(".header_replica_mobile_toggle button"),searchToggles=root.querySelectorAll(".header_replica_search_toggle");let searchPanel=root.querySelector(".theme-header-replica_search"),searchClose=searchPanel?root.querySelector(".header_replica_search_close"):null;const navItemsWithChildren=root.querySelectorAll(".header_replica_item.has-children"),navList=root.querySelector(".header_replica_nav_list");let desktopHoverInitialized=!1;const getSearchPanel=()=>(searchPanel||(searchPanel=function(root){if(root.querySelector(".theme-header-replica_search"))return root.querySelector(".theme-header-replica_search");const template=root.querySelector(".header-replica-search-template"),mount=root.querySelector("[data-header-replica-search-mount]");
1if(!template||!mount)return null;const fragment=template.content.cloneNode(!0);return mount.replaceWith(fragment),root.querySelector(".theme-header-replica_search")}(root),searchClose=searchPanel?searchPanel.querySelector(".header_replica_search_close"):null,searchClose&&searchClose.addEventListener("click",function(){searchPanel.classList.remove("open")})),searchPanel),toggleMobileMenu=()=>{if(!isMobileNav())return;const isOpen=!document.body.classList.contains("open-menu");document.body.classList.toggle("open-menu",isOpen),navToggleBtn&&navToggleBtn.setAttribute("aria-expanded",isOpen?"true":"false"),isOpen?(mountMobileMeganavLists(root),searchPanel&&searchPanel.classList.contains("open")&&searchPanel.classList.remove("open")):closeAllSubmenus(null,root)};navToggleBtn&&navWrap&&navToggleBtn.addEventListener("click",toggleMobileMenu),searchToggles.length&&searchToggles.forEach(searchToggle=>{searchToggle.addEventListener("click",function(){if(isMobileNav())return;const panel=getSearchPanel();if(panel&&(ensureSearchInitialized(0,panel),panel.classList.toggle("open"),panel.classList.contains("open"))){isMobileNav()&&closeMobileMenu(root);const input=panel.querySelector("input");input&&input.focus()}})}),syncPanelsForViewport(root),maybeInitDesktopNavHover(0,navItemsWithChildren,getSearchPanel()),desktopHoverInitialized="true"===root.dataset.desktopHoverInit;const existingSearchPanel=root.querySelector(".theme-header-replica_search");existingSearchPanel&&(searchPanel=existingSearchPanel,searchClose=existingSearchPanel.querySelector(".header_replica_search_close"),searchClose&&searchClose.addEventListener("click",function(){existingSearchPanel.classList.remove("open")}),ensureSearchInitialized(0,existingSearchPanel)),navList&&navList.addEventListener("click",e=>{const indicator=e.target.closest(".header_replica_child_indicator");if(!indicator||!isMobileNav())return;const item=indicator.closest(".header_replica_item.has-children");if(!item||!root.contains(item))return;e.preventDefault(),e.stopPropagation(),mountMobileMeganavLists(root);const willOpen=!item.classList.contains("open");willOpen&&closeAllSubmenus(item,root),setPanelExpanded(item,willOpen)}),window.addEventListener("resize",debounce(()=>{syncPanelsForViewport(root),window.matchMedia("(min-width: 1001px)").matches&&!desktopHoverInitialized&&(maybeInitDesktopNavHover(0,navItemsWithChildren,getSearchPanel()),desktopHoverInitialized="true"===root.dataset.desktopHoverInit)},150)),document.addEventListener("keydown",function(e){if(e.key===KEYS.ESC||e.key===KEYS.ESCAPE){const panel=searchPanel||root.querySelector(".theme-header-replica_search");panel&&panel.classList.contains("open")&&panel.classList.remove("open"),document.body.classList.contains("open-menu")&&closeMobileMenu(root)}})})}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",initHeaderReplica):initHeaderReplica()}();
2//# sourceURL=https://47946009.fs1.hubspotusercontent-na1.net/hubfs/47946009/hub_generated/module_assets/1/213194499677/1781801440677/module_header-replica.js

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.