PageSourceSearch

https://sknfed.com/cdn/shop/t/27/assets/component-search-predictive.js?v=108368617186940410981755019516

js sknfed.com collected 2026-10-07 18:56:50 UTC 13,788 bytes, 1 lines download raw bytes

1!function(){"use strict";var e={4442:function(e,t,s){s(6072),new(s(1434).Z),document.getElementById("nav-wrapper"),document.querySelector(".sticky-subheader"),document.querySelector("#main-collection-filters"),document.querySelectorAll("predictive-search"),document.querySelectorAll("navigation-item-primary")},1434:function(e,t){const s="above-overlay",r=new Set;t.Z=class{isClosingTimer=null;attachedElements=new Set;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.querySelector("#main-content");this.container=e,this.overlay=document.createElement("div"),this.overlay.innerHTML="&nbsp;",this.overlay.classList.add("overlay"),this.overlay.addEventListener("transitionend",(e=>{"opacity"!==e.propertyName||this.isOpen||(this.attachedElements&&this.attachedElements.size&&this.attachedElements.forEach((e=>{this.detachElement(e)})),this.afterClosed&&(this.afterClosed(),this.afterClosed=null),this.detachOverlay()),"opacity"===e.propertyName&&this.isOpen&&this.afterOpened&&(this.afterOpened(),this.afterOpened=null)})),r.add(this)}attachOverlay(){this.container.appendChild(this.overlay)}detachOverlay(){this.container.removeChild(this.overlay)}async open(){let{attachElements:e,afterOpened:t,beforeOpened:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};await this.attachOverlay(),this.isClosingTimer&&(clearTimeout(this.isClosingTimer),this.isClosingTimer=null),r&&r(),e&&(e.forEach((e=>{this.attachedElements.add(e)})),this.attachedElements.forEach((e=>{e.classList.add(s)}))),this.overlay.classList.add("open"),t&&(this.afterOpened=t)}close(){let{delay:e,beforeClosed:t,afterClosed:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t&&t(),this.afterClosed=s;const r=()=>{this.overlay.classList.remove("open")};e?this.isClosingTimer=setTimeout(r,e):r()}detachElement(e){this.attachedElements.has(e)&&e.classList.contains(s)&&(e.classList.remove(s),this.attachedElements.delete(e))}get isOpen(){return this.overlay.classList.contains("open")}onClick(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};e&&this.overlay.addEventListener("click",e)}removeOnClick(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};e&&this.overlay.removeEventListener("click",e)}onHover(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:()=>{};e&&this.overlay.addEventListener("mouseover",(t=>{this.isOpen&&e(t)}))}}},6072:function(e,t,s){s.d(t,{Ds:function(){return a},St:function(){return h},gp:function(){return o},hO:function(){return i},v4:function(){return u},wz:function(){return r},zx:function(){return d}});const r=async function(){let e,t;try{e=await fetch(...arguments)}catch(e){t=e}return{response:e,error:t}},i=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=window.innerWidth-document.body.offsetWidth,s=document.getElementById("nav-wrapper");e?(document.body.classList.add("no-scroll"),document.body.style.paddingRight=t+"px",s.style.paddingRight=t+"px"):(document.body.classList.remove("no-scroll"),document.body.style.paddingRight="0px",s.style.paddingRight="0px")};let n=()=>{};const c=e=>{"Escape"===e.key&&(n(),window.removeEventListener("keydown",c))},o=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1?arguments[1]:void 0;t&&(n=t),e&&window.addEventListener("keydown",c),e||window.removeEventListener("keydown",c)};function a(e,t){const s=this;let r;return function(){for(var i=arguments.length,n=new Array(i),c=0;c<i;c++)n[c]=arguments[c];clearTimeout(r),r=setTimeout((function(){return e.apply(s,n)}),t)}}document.querySelectorAll(".local-scroll").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation();const t=e.target.getAttribute("href");!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const s=document.getElementById("nav-wrapper"),r=document.querySelector(".header").getAttribute("data-ux-position"),i=e.getBoundingClientRect().top;window.scrollTo({top:"off"!==r?i+window.scrollY-t+parseFloat(s.style.marginTop):i+window.scrollY-t,behavior:"smooth"})}(document.querySelector(t))}))}));const l={};function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;const s=function(e){return Array.from(e.querySelectorAll('summary, a[href], button:not([disabled]), [tabindex]:not
1([tabindex^="-"]), [draggable], area, input:not([type=hidden]):enabled, select:enabled, textarea:enabled, object, iframe'))}(e),r=s[0],i=s[s.length-1];d(),l.focusin=t=>{t.target!==e&&t.target!==i&&t.target!==r||document.addEventListener("keydown",l.keydown)},l.focusout=function(){document.removeEventListener("keydown",l.keydown)},l.keydown=function(t){"TAB"===t.code.toUpperCase()&&(t.target!==i||t.shiftKey||(t.preventDefault(),r.focus()),t.target!==e&&t.target!==r||!t.shiftKey||(t.preventDefault(),i.focus()))},document.addEventListener("focusout",l.focusout),document.addEventListener("focusin",l.focusin),t.focus()}function d(e){document.removeEventListener("focusin",l.focusin),document.removeEventListener("focusout",l.focusout),document.removeEventListener("keydown",l.keydown),e&&e.focus()}const u=e=>{const t=e.getBoundingClientRect(),s=document.documentElement;return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||s.clientHeight)&&t.right<=(window.innerWidth||s.clientWidth)}}},t={};function s(r){var i=t[r];if(void 0!==i)return i.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,s),n.exports}s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e=s(6072);s(4442);const t=new(s(1434).Z);class r extends HTMLElement{constructor(){super(),this.close=this.close.bind(this),this.open=this.open.bind(this),this.predictiveSearches=document.querySelectorAll("predictive-search"),this.parser=new DOMParser,this.resultsContainers=this.querySelectorAll(".predictive-search"),this.inputs=this.querySelectorAll(".search-input--desktop, .search-input--mobile");const t=sessionStorage.getItem("recentSearches");this.recentSearches=t?JSON.parse(t):[],this.inputs.forEach((t=>{t.addEventListener("keyup",(0,e.Ds)((e=>{this.search(e)}),300))})),this.header=document.getElementById("nav-wrapper"),this.querySelectorAll(".predictive-search__mobile-close").forEach((e=>{e.addEventListener("click",this.close)})),this.resultsContainers.forEach((e=>{e.addEventListener("click",(e=>{e.stopPropagation()}))})),this.inputFieldSearchTriggers=Array.from(this.querySelectorAll("input[type='search'].search-trigger")),this.inputFieldSearchTriggers.forEach((e=>{e.addEventListener("focus",(t=>{this.isOpen||this.open(e)})),e.addEventListener("click",(e=>{e.stopPropagation()}))})),this.externalTriggers=Array.from(document.querySelectorAll(`button.search-trigger[data-predictive-search="${this.id}"]`)),this.externalTriggers.forEach((e=>{e.addEventListener("click",(t=>{t.stopPropagation(),this.toggle(e)}))})),this.scrollListener=this.scrollListener.bind(this),this.populateRecentSearches(this)}scrollListener(){const t=this.querySelector(".search-input--desktop");!(0,e.v4)(t)&&this.isOpen&&this.close()}addScrollListener(){document.addEventListener("scroll",this.scrollListener)}removeScrollListener(){document.removeEventListener("scroll",this.scrollListener)}clearRecentSearches(){this.recentSearches=[],sessionStorage.removeItem("recentSearches");const e=this.querySelector(".recent-searches");e&&e.remove()}removeRecentSearch(e){const t="button"===e.target.type?e.target:e.target.closest(".search-sidebar__remove"),s=t.dataset.search;if(!s)return;const r=this.recentSearches.indexOf(s);if(-1!==r&&(this.recentSearches.splice(r,1),sessionStorage.setItem("recentSearches",JSON.stringify(this.recentSearches)),t.closest(".recent-searches__item").remove(),!this.recentSearches.length)){const e=this.querySelector(".recent-searches");e&&e.remove()}}handleRecentSearchClick(e){this.inputs.forEach((t=>{t.value=e.target.innerHTML,this.search({target:t})}))}addRecentSearchesListeners(){this.querySelectorAll(".search-sidebar__button").forEach((e=>{e.addEventListener("click",this.handleRecentSearchClick.bind(this))}));const e=this.querySelector(".search-sidebar__clear");null==e||e.addEventListener("click",this.clearRecentSearches.bind(this));const t=this.querySelectorAll(".search-sidebar__remove");null==t||t.forEach((e=>{e.addEventListener("click",this.removeRecentSearch.bind(this))}))}removeRecentSearchesListeners(){this.querySelectorAll(".search-sidebar__button").forEach((e=>{e.removeEventListener("click",this.handleRecentSearchClick.bind(this))}));const e=this.querySelector(".search-sidebar__clear");null==e||e.removeEventListener("click",this.clearRecentSearches.bind(this));const t=this.querySelectorAll(".search-sidebar__remove");null==t||t.forEach((e=>{e.removeEventListener("click",this.removeRecentSearch.bind(this))}))}addListeners(){this.addScrollListener(),t.onClick(this.close),this.addRecentSearchesListeners()}removeListeners(){this.removeScrollListener(),t.removeOnClick(this.close),this.removeRecentSearchesListeners()}close(){let s=arguments.length>0&&void 0!==arguments[0]&&arguments[0];document.body.classList.remove("active","search"),this.resultsContainers.forEac
1h((t=>{t.classList.remove("open"),(0,e.zx)(t.closest(".predictive-search-wrapper"))})),!0===s&&(this.closest("#nav-wrapper")?t.detachElement(this.closest("#nav-wrapper")):(t.detachElement(this.closest(".shopify-section")),t.detachElement(this.header))),this.removeListeners(),t.close(),(0,e.hO)(!1),this.inputs.forEach((e=>{e.blur()}))}closeAll(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.predictiveSearches.forEach((t=>{t.isOpen&&t.close(e)}))}populateRecentSearches(e){const t=e||document,s=t.querySelector("#search-sidebar"),r=t.querySelector(".recent-searches");if(r&&r.remove(),this.recentSearches.length){const e=document.createElement("div");e.classList.add("search-sidebar__list","recent-searches");const t=document.createElement("span");t.classList.add("search-sidebar__header","text-md","recent-searches__header"),t.innerText=`${searchStrings.recent_searches}`;const r=document.createElement("button");r.type="button",r.classList.add("search-sidebar__clear","button--xs-secondary"),r.innerText=`${searchStrings.clear_all}`,t.append(r),e.append(t);const i=document.createElement("ul");this.recentSearches.forEach((e=>{const t=document.createElement("li");t.classList.add("search-sidebar__item","recent-searches__item");const s=document.createElement("button");s.type="button",s.innerHTML=e,s.classList.add("search-sidebar__button");const r=document.createElement("button");r.type="button",r.classList.add("search-sidebar__remove"),r.innerHTML="<span class='icon loaded' aria-hidden='true' focusable='false' role='presentation'>close</span>",r.dataset.search=e,t.appendChild(r),t.appendChild(s),i.appendChild(t)})),e.appendChild(i),s.prepend(e)}}openPredictiveSearch(s){const r=s.getAttribute("data-predictive-search");if(r){const s=document.querySelector(`predictive-search#${r} .predictive-search`),i=this.querySelectorAll(".predictive-search");if(i&&i.forEach((e=>{e.classList.remove("open")})),s){const r=s.closest(".predictive-search-wrapper");s.classList.add("open"),document.body.classList.add("active","search"),(0,e.gp)(!0,this.close),t.open({attachElements:this.closest("#nav-wrapper")?[this.closest("#nav-wrapper")]:[this.closest(".shopify-section"),this.header]}),this.addListeners(),setTimeout((()=>{const e=s.querySelector(".search-input--mobile"),t=window.matchMedia("(max-width: 1023px)").matches;e&&t&&e.focus()}),100),(0,e.St)(r,s),this.defaultView||(this.defaultView=s.querySelector(".predictive-search__results-container").cloneNode(!0))}}}async search(t){const s=t.target.getAttribute("data-predictive-search"),r=document.querySelector(`predictive-search#${s} .predictive-search`),i=t.target.value,n=r.querySelector(".predictive-search__results-container");if(window.matchMedia("(min-width: 1024px)").matches?document.querySelector(".search-input--mobile").value=i:document.querySelector(".search-input--desktop").value=i,!i&&this.defaultView)return this.populateRecentSearches(this.defaultView),n.innerHTML=this.defaultView.innerHTML,void this.addListeners();n.classList.add("loading");const c=window.Shopify.routes.root+`search/suggest?q=${i}&resources[options][fields]=title,product_type,variants.title,variants.sku,vendor&section_id=predictive-search`,{response:o,error:a}=await(0,e.wz)(c);if(a||!o.ok)return;const l=await o.text(),h=this.parser.parseFromString(l,"text/html").querySelector("#shopify-section-predictive-search");this.recentSearches.includes(i)||(this.recentSearches.length>4&&this.recentSearches.pop(),this.recentSearches.unshift(i),sessionStorage.setItem("recentSearches",JSON.stringify(this.recentSearches)),this.populateRecentSearches(this.defaultView)),this.populateRecentSearches(h),[".search-sidebar",".search-products"].forEach((e=>{const t=h.querySelector(e);if(!t)return;const s=n.querySelector(e);s&&(s.innerHTML=t.innerHTML)})),this.addListeners(),n.classList.remove("loading")}adjustPredictiveSearchPosition(){if(!this.header)return;const e=this.querySelector(".predictive-search"),t=this.header.offsetHeight;window.matchMedia("(max-width: 1023px)").matches&&e?e.style.top=`${t}px`:e&&(e.style.top="")}get isOpen(){return!!this.querySelector(".predictive-search.open")}open(t){this.closeAll(!1),this.openPredictiveSearch(t),this.adjustPredictiveSearchPosition(),window.matchMedia("(max-width: 1023px)").matches&&(0,e.hO)(!0)}toggle(e){this.isOpen?this.close():this.open(e)}disconnectedCallback(){this.isOpen&&this.close(!0)}}window.customElements.get("predictive-search")||window.customElements.define("predictive-search",r)}()}();

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.