1"use strict";(globalThis["batcomJsonp "]=globalThis["batcomJsonp "]||[]).push([[3575],{757(s,e,t){var i=t(3502),r=t(5136);const h={search:".search",header:".batcom-header",searchField:".cmp-search__field",searchInput:".cmp-search__input",searchResultsContainer:".cmp-search__results-container",searchResultsWrapper:".cmp-search__results-wrapper",searchResults:".cmp-search__results",noResults:".cmp-search__results-none",resultsFound:".cmp-search__results-found",resultsNumber:".cmp-search__results-found--number",clearButton:".cmp-search__clear"},l={noScroll:"noScroll",visible:"visible",open:"open",hidden:"hidden"};(0,i.kz)({Search:class{constructor(s){this.el=s,this.selectors=h,this.classes=l,this.searchMinLength=parseInt(this.el.firstElementChild.getAttribute("data-cmp-min-length"),10),this.init()}init(){this.setRefs(),this.setEventListeners(),this.setObserver(),this.setPubSubListeners()}setRefs(){this.searchMenu=this.el,this.searchToggle=this.el.previousElementSibling,this.searchField=this.el.querySelector(this.selectors.searchField),this.searchInput=this.el.querySelector(this.selectors.searchInput),this.searchResultsContainer=this.el.querySelector(this.selectors.searchResultsContainer),this.searchResultsWrapper=this.el.querySelector(this.selectors.searchResultsWrapper),this.searchResults=this.el.querySelector(this.selectors.searchResults),this.noResults=this.el.querySelector(this.selectors.noResults),this.resultsFound=this.el.querySelector(this.selectors.resultsFound),this.resultsNumber=this.el.querySelector(this.selectors.resultsNumber),this.clearButton=this.el.querySelector(this.selectors.clearButton)}setEventListeners(){this.searchToggle&&this.searchToggle.addEventListener("click",()=>{this.searchToggle.closest(".search")&&this.toggleSearch(),this.searchToggle.closest(".batcom-header")&&window.PubSub.publish(r.oG)}),this.clearButton.addEventListener("click",()=>{this.searchToggle.closest(".search")&&this.toggleSearch(),this.searchToggle.closest(".batcom-header")&&window.PubSub.publish(r.EV)}),this.searchInput.addEventListener("input",()=>{this.updateResultsText()}),this.searchInput.addEventListener("keydown",s=>{"Escape"===s.key&&this.resetSearch()})}setPubSubListeners(){const s=this;window.PubSub.subscribe(r.dq,()=>{s.el.closest(".batcom-header")&&this.resetSearch()}),window.PubSub.subscribe(r.hV,()=>{s.el.closest(".batcom-header")&&this.focusSearchInput()})}setObserver(){new MutationObserver(this.setResultsNumber.bind(this)).observe(this.searchResults,{childList:!0,subtree:!0})}toggleSearch(){this.searchMenu.closest(this.selectors.header)||(this.searchMenu.classList.contains(this.classes.open)?(this.searchToggle.classList.remove(this.classes.hidden),this.searchMenu.classList.remove(this.classes.open),this.clearButton.classList.remove(this.classes.open),this.clearButton.setAttribute("aria-expanded","false"),this.resetSearch()):(this.clearButton.classList.add(this.classes.open),this.clearButton.setAttribute("aria-expanded","true"),this.searchToggle.classList.add(this.classes.hidden),this.searchMenu.classList.add(this.classes.open),this.focusSearchInput()))}resetSearch(){this.searchInput.value="",this.searchResultsContainer.classList.remove(this.classes.visible),this.noResults.classList.remove(this.classes.visible),this.resultsFound.classList.remove(this.classes.visible),this.focusSearchInput()}focusSearchInput(){this.searchInput.focus()}updateResultsText(){const s=this.searchInput.value;setTimeout(()=>{const e=this.searchResults.childElementCount;s.length>=this.searchMinLength&&0===e?(this.searchResultsWrapper.classList.remove(this.classes.visible),this.resultsFound.classList.remove(this.classes.visible),this.noResults.classList.add(this.classes.visible),this.searchResultsContainer.classList.add(this.classes.visible)):s.length>=this.searchMinLength&&e>0?(this.noResults.classList.remove(this.classes.visible),this.resultsFound.classList.add(this.classes.visible),this.searchResultsWrapper.classList.add(this.classes.visible),this.searchResultsContainer.classList.add(this.classes.visible)):0===s.length&&(this.searchResultsWrapper.classList.remove(this.classes.visible),this.searchResultsContainer.classList.remove(this.classes.visible),this.noResults.classList.remove(this.classes.visible),this.resultsFound.classList.remove(this.classes.visible))},500)}setResultsNumber(s){s.map(s=>{if("childList"===s.type){const s=this.searchResults.childElementCount;s>0&&(this.resultsNumber.innerText=s)}return this.resultsNumber.innerText})}}})}},s=>{s.O(0,[1871],()=>{return e=757,s(s.s=e);var e});s.O()}]);
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.