{
  "version": 3,
  "sources": ["/cdn/shop/t/27/assets/predictive-search.js?glv=1792798980"],
  "sourcesContent": ["/**\n *  @class\n *  @function PredictiveSearch\n */\nclass PredictiveSearch {\n  constructor() {\n    this.container = document.getElementById('Search-Drawer');\n    this.form = this.container.querySelector('form.searchform');\n    this.button = document.querySelectorAll('.thb-quick-search');\n    this.input = this.container.querySelector('input[type=\"search\"]');\n    this.defaultTab = this.container.querySelector('.side-panel-content--initial');\n    this.predictiveSearchResults = this.container.querySelector('.side-panel-content--has-tabs');\n\n    this.setupEventListeners();\n  }\n\n  setupEventListeners() {\n    this.form.addEventListener('submit', this.onFormSubmit.bind(this));\n\n    this.input.addEventListener('input', debounce((event) => {\n      this.onChange(event);\n    }, 300).bind(this));\n\n    this.button.forEach((item, i) => {\n      item.addEventListener('click', (event) => {\n        var _this = this;\n        event.preventDefault();\n        document.getElementsByTagName(\"body\")[0].classList.toggle('open-cc');\n        this.container.classList.toggle('active');\n        if (this.container.classList.contains('active')) {\n          setTimeout(function () {\n            _this.input.focus({\n              preventScroll: true\n            });\n          }, 100);\n          dispatchCustomEvent('search:open');\n        }\n\n        return false;\n      });\n    });\n  }\n\n  getQuery() {\n    return this.input.value.trim();\n  }\n\n  onChange() {\n    const searchTerm = this.getQuery();\n\n    if (!searchTerm.length) {\n      this.predictiveSearchResults.classList.remove('active');\n      return;\n    }\n    this.predictiveSearchResults.classList.add('active');\n    this.getSearchResults(searchTerm);\n  }\n\n  onFormSubmit(event) {\n    if (!this.getQuery().length) {\n      event.preventDefault();\n    }\n  }\n\n  onFocus() {\n    const searchTerm = this.getQuery();\n\n    if (!searchTerm.length) {\n      return;\n    }\n\n    this.getSearchResults(searchTerm);\n  }\n\n  getSearchResults(searchTerm) {\n    const queryKey = searchTerm.replace(\" \", \"-\").toLowerCase();\n\n    this.predictiveSearchResults.classList.add('loading');\n\n    fetch(`${theme.routes.predictive_search_url}?q=${encodeURIComponent(searchTerm)}&${encodeURIComponent('resources[type]')}=product,article,query&${encodeURIComponent('resources[limit]')}=10&section_id=predictive-search`)\n      .then((response) => {\n        this.predictiveSearchResults.classList.remove('loading');\n        if (!response.ok) {\n          var error = new Error(response.status);\n          throw error;\n        }\n\n        return response.text();\n      })\n      .then((text) => {\n        const resultsMarkup = new DOMParser().parseFromString(text, 'text/html').querySelector('#shopify-section-predictive-search').innerHTML;\n\n        this.renderSearchResults(resultsMarkup);\n      })\n      .catch((error) => {\n        throw error;\n      });\n  }\n\n  renderSearchResults(resultsMarkup) {\n    this.predictiveSearchResults.innerHTML = resultsMarkup;\n\n    let _this = this,\n      submitButton = this.container.querySelector('#search-results-submit');\n\n\n    submitButton.addEventListener('click', () => {\n      _this.form.submit();\n    });\n  }\n\n  close() {\n    this.container.classList.remove('active');\n  }\n}\nwindow.addEventListener('load', () => {\n  if (typeof PredictiveSearch !== 'undefined') {\n    new PredictiveSearch();\n  }\n});"],
  "mappings": "AAIA,MAAM,gBAAiB,CACrB,aAAc,CACZ,KAAK,UAAY,SAAS,eAAe,eAAe,EACxD,KAAK,KAAO,KAAK,UAAU,cAAc,iBAAiB,EAC1D,KAAK,OAAS,SAAS,iBAAiB,mBAAmB,EAC3D,KAAK,MAAQ,KAAK,UAAU,cAAc,sBAAsB,EAChE,KAAK,WAAa,KAAK,UAAU,cAAc,8BAA8B,EAC7E,KAAK,wBAA0B,KAAK,UAAU,cAAc,+BAA+B,EAE3F,KAAK,oBAAoB,CAC3B,CAEA,qBAAsB,CACpB,KAAK,KAAK,iBAAiB,SAAU,KAAK,aAAa,KAAK,IAAI,CAAC,EAEjE,KAAK,MAAM,iBAAiB,QAAS,SAAU,OAAU,CACvD,KAAK,SAAS,KAAK,CACrB,EAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAElB,KAAK,OAAO,QAAQ,CAAC,KAAM,IAAM,CAC/B,KAAK,iBAAiB,QAAU,OAAU,CACxC,IAAI,MAAQ,KACZ,aAAM,eAAe,EACrB,SAAS,qBAAqB,MAAM,EAAE,CAAC,EAAE,UAAU,OAAO,SAAS,EACnE,KAAK,UAAU,UAAU,OAAO,QAAQ,EACpC,KAAK,UAAU,UAAU,SAAS,QAAQ,IAC5C,WAAW,UAAY,CACrB,MAAM,MAAM,MAAM,CAChB,cAAe,EACjB,CAAC,CACH,EAAG,GAAG,EACN,oBAAoB,aAAa,GAG5B,EACT,CAAC,CACH,CAAC,CACH,CAEA,UAAW,CACT,OAAO,KAAK,MAAM,MAAM,KAAK,CAC/B,CAEA,UAAW,CACT,MAAM,WAAa,KAAK,SAAS,EAEjC,GAAI,CAAC,WAAW,OAAQ,CACtB,KAAK,wBAAwB,UAAU,OAAO,QAAQ,EACtD,MACF,CACA,KAAK,wBAAwB,UAAU,IAAI,QAAQ,EACnD,KAAK,iBAAiB,UAAU,CAClC,CAEA,aAAa,MAAO,CACb,KAAK,SAAS,EAAE,QACnB,MAAM,eAAe,CAEzB,CAEA,SAAU,CACR,MAAM,WAAa,KAAK,SAAS,EAE5B,WAAW,QAIhB,KAAK,iBAAiB,UAAU,CAClC,CAEA,iBAAiB,WAAY,CAC3B,MAAM,SAAW,WAAW,QAAQ,IAAK,GAAG,EAAE,YAAY,EAE1D,KAAK,wBAAwB,UAAU,IAAI,SAAS,EAEpD,MAAM,GAAG,MAAM,OAAO,qBAAqB,MAAM,mBAAmB,UAAU,CAAC,IAAI,mBAAmB,iBAAiB,CAAC,0BAA0B,mBAAmB,kBAAkB,CAAC,kCAAkC,EACvN,KAAM,UAAa,CAElB,GADA,KAAK,wBAAwB,UAAU,OAAO,SAAS,EACnD,CAAC,SAAS,GAAI,CAChB,IAAI,MAAQ,IAAI,MAAM,SAAS,MAAM,EACrC,MAAM,KACR,CAEA,OAAO,SAAS,KAAK,CACvB,CAAC,EACA,KAAM,MAAS,CACd,MAAM,cAAgB,IAAI,UAAU,EAAE,gBAAgB,KAAM,WAAW,EAAE,cAAc,oCAAoC,EAAE,UAE7H,KAAK,oBAAoB,aAAa,CACxC,CAAC,EACA,MAAO,OAAU,CAChB,MAAM,KACR,CAAC,CACL,CAEA,oBAAoB,cAAe,CACjC,KAAK,wBAAwB,UAAY,cAEzC,IAAI,MAAQ,KACK,KAAK,UAAU,cAAc,wBAAwB,EAGzD,iBAAiB,QAAS,IAAM,CAC3C,MAAM,KAAK,OAAO,CACpB,CAAC,CACH,CAEA,OAAQ,CACN,KAAK,UAAU,UAAU,OAAO,QAAQ,CAC1C,CACF,CACA,OAAO,iBAAiB,OAAQ,IAAM,CAChC,OAAO,iBAAqB,KAC9B,IAAI,gBAER,CAAC",
  "names": []
}
