{"version":3,"file":"autocomplete.js","sources":["../../../../src/assets/scripts/autocomplete.entry.js"],"sourcesContent":["(function () {\n window.addEventListener('load', _init);\n\n function _init() {\n const elements = document.querySelectorAll('.arjo-a-autocomplete');\n\n [].forEach.call(elements, (element, index) => {\n const apiUrl = element.dataset.apiUrl;\n const redirectUrl = element.dataset.redirectUrl;\n const resultsListDestination = element.getAttribute('data-results-list-destination') || '';\n const id = 'arjoAutocomplete-' + index;\n\n element.id = id;\n\n const autoCompleteJS = new window.autoComplete({\n wrapper: false,\n debounce: 800,\n selector: '#' + id,\n wrapper: element.getAttribute('data-is-no-wrapper') !== 'true',\n data: {\n src: apiUrl\n ? (v) => {\n if (!v || v.trim().length < 3) {\n return [];\n }\n return _getSourceData(v, apiUrl);\n }\n : [],\n },\n resultsList: {\n maxResults: 9999,\n noResults: true,\n class: 'arjo-a-autocomplete__result-list',\n destination: resultsListDestination,\n position: !!resultsListDestination ? 'beforeend' : 'afterend',\n },\n searchEngine: (_, record) => {\n return record.title ? `${record.title}` : record;\n },\n events: {\n input: {\n init(event) {\n const wrapper = event.target.closest('.autoComplete_wrapper');\n if (wrapper) {\n wrapper.querySelector('.arjo-a-autocomplete__result-list')?.setAttribute('aria-label', 'Result List');\n }\n\n const urlParams = new URLSearchParams(window.location.search);\n if (!urlParams.has('query')) return;\n event.target.value = urlParams.get('query');\n },\n selection(event) {\n const feedback = event.detail;\n if (!feedback || !feedback.selection) return;\n const link = feedback.selection.value.link;\n if (typeof link === 'string') {\n return;\n }\n\n // Replace Input value with the selected value\n autoCompleteJS.input.value = event.target.value;\n autoCompleteJS.input.blur();\n _redirect(feedback.selection.value, redirectUrl);\n },\n keyup(event) {\n if (event.key !== 'Enter') return;\n _redirect(event.target.value, redirectUrl);\n },\n },\n },\n });\n\n autoCompleteJS.input.addEventListener('input', function (event) {\n if (!event.target.value) autoCompleteJS.list.innerHTML = '';\n });\n });\n }\n\n function _getSourceData(value, apiUrl) {\n if (!value) return [];\n return axios.get(apiUrl + encodeURIComponent(value.trim())).then((res) => {\n window.GA4.analyticsGa4.SearchTracker.pushSearch(value, null, res.data.length);\n return res.data;\n });\n }\n\n function _redirect(value, redirectUrl) {\n if (!value) return;\n let url = window.location.origin;\n url += redirectUrl ? redirectUrl : window.location.pathname;\n url += '?query=' + encodeURIComponent(value.trim());\n window.location.href = url;\n }\n})();\n"],"names":["_init","elements","element","index","apiUrl","redirectUrl","resultsListDestination","id","autoCompleteJS","v","_getSourceData","_","record","event","_a","wrapper","urlParams","feedback","_redirect","value","res","url"],"mappings":"CAAC,UAAY,CACX,OAAO,iBAAiB,OAAQA,CAAK,EAErC,SAASA,GAAQ,CACf,MAAMC,EAAW,SAAS,iBAAiB,sBAAsB,EAEjE,CAAE,EAAC,QAAQ,KAAKA,EAAU,CAACC,EAASC,IAAU,CAC5C,MAAMC,EAASF,EAAQ,QAAQ,OACzBG,EAAcH,EAAQ,QAAQ,YAC9BI,EAAyBJ,EAAQ,aAAa,+BAA+B,GAAK,GAClFK,EAAK,oBAAsBJ,EAEjCD,EAAQ,GAAKK,EAEb,MAAMC,EAAiB,IAAI,OAAO,aAAa,CAC7C,QAAS,GACT,SAAU,IACV,SAAU,IAAMD,EAChB,QAASL,EAAQ,aAAa,oBAAoB,IAAM,OACxD,KAAM,CACJ,IAAKE,EACAK,GACK,CAACA,GAAKA,EAAE,KAAI,EAAG,OAAS,EACnB,GAEFC,EAAeD,EAAGL,CAAM,EAEjC,CAAE,CACP,EACD,YAAa,CACX,WAAY,KACZ,UAAW,GACX,MAAO,mCACP,YAAaE,EACb,SAAYA,EAAyB,YAAc,UACpD,EACD,aAAc,CAACK,EAAGC,IACTA,EAAO,MAAQ,YAAYA,EAAO,IAAI,KAAKA,EAAO,KAAK,OAASA,EAEzE,OAAQ,CACN,MAAO,CACL,KAAKC,EAAO,CAzCxB,IAAAC,EA0Cc,MAAMC,EAAUF,EAAM,OAAO,QAAQ,uBAAuB,EACxDE,KACFD,EAAAC,EAAQ,cAAc,mCAAmC,IAAzD,MAAAD,EAA4D,aAAa,aAAc,gBAGzF,MAAME,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACvDA,EAAU,IAAI,OAAO,IAC1BH,EAAM,OAAO,MAAQG,EAAU,IAAI,OAAO,EAC3C,EACD,UAAUH,EAAO,CACf,MAAMI,EAAWJ,EAAM,OACnB,CAACI,GAAY,CAACA,EAAS,WAEvB,OADSA,EAAS,UAAU,MAAM,MAClB,WAKpBT,EAAe,MAAM,MAAQK,EAAM,OAAO,MAC1CL,EAAe,MAAM,OACrBU,EAAUD,EAAS,UAAU,MAAOZ,CAAW,EAChD,EACD,MAAMQ,EAAO,CACPA,EAAM,MAAQ,SAClBK,EAAUL,EAAM,OAAO,MAAOR,CAAW,CAC1C,CACF,CACF,CACT,CAAO,EAEDG,EAAe,MAAM,iBAAiB,QAAS,SAAUK,EAAO,CACzDA,EAAM,OAAO,QAAOL,EAAe,KAAK,UAAY,GACjE,CAAO,CACP,CAAK,CACF,CAED,SAASE,EAAeS,EAAOf,EAAQ,CACrC,OAAKe,EACE,MAAM,IAAIf,EAAS,mBAAmBe,EAAM,KAAI,CAAE,CAAC,EAAE,KAAMC,IAChE,OAAO,IAAI,aAAa,cAAc,WAAWD,EAAO,KAAMC,EAAI,KAAK,MAAM,EACtEA,EAAI,KACZ,EAJkB,EAKpB,CAED,SAASF,EAAUC,EAAOd,EAAa,CACrC,GAAI,CAACc,EAAO,OACZ,IAAIE,EAAM,OAAO,SAAS,OAC1BA,GAAOhB,GAA4B,OAAO,SAAS,SACnDgB,GAAO,UAAY,mBAAmBF,EAAM,KAAM,CAAA,EAClD,OAAO,SAAS,KAAOE,CACxB,CACH,GAAI"}