{"version":3,"file":"autosuggestSearch.c528ed781acb55335956.js","mappings":"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","sources":["webpack://jcb.com/./src/app/components/shared/base-listbox-option.vue","webpack://jcb.com/./src/app/components/shared/base-listbox.vue","webpack://jcb.com/./src/app/views/autosuggest-search/autosuggest-search.vue","webpack://jcb.com/./src/app/services/api-client.js","webpack://jcb.com/./src/app/services/autosuggest-search.js","webpack://jcb.com/./src/app/views/autosuggest-search/autosuggest-search.js","webpack://jcb.com/./src/app/components/shared/base-listbox-option.vue?3ad1","webpack://jcb.com/./src/app/components/shared/base-listbox.vue?4b3a","webpack://jcb.com/./src/app/views/autosuggest-search/autosuggest-search.vue?7fde"],"sourcesContent":["\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","// api-clients.js\r\nimport axios from 'axios';\r\n// import * as store from '../stores/index';\r\n\r\nconst apiClient = axios.create({\r\n baseURL: '/api',\r\n withCredentials: false,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n 'Content-Type': 'application/json',\r\n },\r\n});\r\n\r\n// apiClient.interceptors.request.use(\r\n// (config) => {\r\n// store.default.dispatch('loader/setLoadingAction', true);\r\n// return config;\r\n// },\r\n// (error) => {\r\n// store.default.dispatch('loader/setLoadingAction', false);\r\n// return Promise.reject(error);\r\n// },\r\n// );\r\n\r\n// apiClient.interceptors.response.use(\r\n// (response) => {\r\n// store.default.dispatch('loader/setLoadingAction', false);\r\n// return response;\r\n// },\r\n// (error) => {\r\n// store.default.dispatch('loader/setLoadingAction', false);\r\n// return Promise.reject(error);\r\n// },\r\n// );\r\n\r\nexport default apiClient;\r\n","import apiClient from './api-client';\r\n\r\nexport default {\r\n searchPredictions(searchTerm, langCode) {\r\n return apiClient.get(`/search/${langCode}/autosuggest?searchTerm=${searchTerm}`);\r\n },\r\n};\r\n","import { createApp } from 'vue';\r\nimport { createPinia } from 'pinia';\r\nimport autosuggestSearchApp from '@/app/views/autosuggest-search/autosuggest-search.vue';\r\nimport { pushToDataLayer } from '@/js/analytics/analytics.methods';\r\n\r\nexport default class autosuggestSearch {\r\n constructor(el) {\r\n this.el = el;\r\n this.isHeaderSearch = el.dataset.headerSearch;\r\n this.componentId = el.id;\r\n this.langCode = document.documentElement.lang;\r\n this.init();\r\n }\r\n init() {\r\n const app = createApp(autosuggestSearchApp, {\r\n isHeaderSearch: this.isHeaderSearch === 'true',\r\n langCode: this.langCode,\r\n id: this.componentId,\r\n });\r\n const pinia = createPinia();\r\n\r\n app.provide('config', JCB);\r\n app.provide('gaPush', pushToDataLayer);\r\n app.use(pinia);\r\n app.mount(this.el);\r\n }\r\n}\r\n","import script from \"./base-listbox-option.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./base-listbox-option.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./base-listbox.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./base-listbox.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./autosuggest-search.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./autosuggest-search.vue?vue&type=script&setup=true&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["selected","computed","props","currentIndex","startingIndex","index","posInSet","id","clickHandler","emit","listboxRef","ref","expose","config","inject","gaPush","searchTerm","searchPredictions","requestController","firstSearchBtnClick","listboxId","currentSelectionIndex","setSize","value","length","isSearchTermMinimum3Chars","gaPrefix","isHeaderSearch","showRequiredMessage","keyupHandler","debounce","event","keyCode","abort","AbortController","useRequestController","services","langCode","then","response","data","nextTick","scrollTop","error","console","log","fetchSuggestions","setSelection","selection","search_predictive_search_term","enterHandler","preventDefault","decrementSelectionIndex","optionInViewCheck","incrementSelectionIndex","listbox","selectedOption","children","selectedOptionRect","getBoundingClientRect","listboxRect","isTopVisible","top","bottom","offsetTop","height","vClickOutside","mounted","el","binding","clickOutsideEvent","target","contains","document","addEventListener","unmounted","removeEventListener","onClickOutside","handleFormSubmit","e","search_search_term","element_location","onBeforeMount","searchParam","URL","window","location","href","searchParams","get","axios","create","baseURL","withCredentials","headers","Accept","apiClient","autosuggestSearch","this","dataset","headerSearch","componentId","documentElement","lang","init","app","createApp","autosuggestSearchApp","pinia","createPinia","provide","JCB","pushToDataLayer","use","mount"],"sourceRoot":""}