{"version":3,"file":"./modules/SearchInput.xxxxxxxx.js","mappings":"8IAEA,MAAMA,EAAiB,8BAER,MAAMC,EAIjB,YAAOC,CAAMC,EAAmBH,GAC5BI,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAQC,IAAuBA,EAAKC,QAAQC,mBAAmBC,QAASC,IACpH,IAAIZ,EAAYY,GAChBA,EAAQH,QAAQC,kBAAoB,QAE5C,CAEA,WAAAG,CAAmBD,GAAA,KAAAA,QAAAA,EACfE,KAAKC,gBAA+BD,KAAKF,QAAQI,cAAc,gCAC/DF,KAAKG,YAAgCH,KAAKF,QAAQI,cAAc,0BAChEF,KAAKI,MACT,CAEA,IAAAA,GACIJ,KAAKG,YAAYE,iBAAiB,QAAUC,IACxCN,KAAKO,eAGTP,KAAKC,gBAAgBI,iBAAiB,QAAUC,IAC5CN,KAAKQ,eAGTR,KAAKS,kBAEDT,KAAKG,YAAYO,OACjBV,KAAKC,gBAAgBU,UAAUC,IAAI,qCAGnCZ,KAAKF,QAAQe,QAAQ,cAAcC,WAAW,KAAM,QAAWd,KAAKG,aAAc,EAC1F,CAEA,UAAAI,GACQP,KAAKG,YAAYO,MACjBV,KAAKC,gBAAgBU,UAAUC,IAAI,sCAGnCZ,KAAKC,gBAAgBU,UAAUI,OAAO,sCACtC,QAAWf,KAAKG,aAExB,CAEA,UAAAK,GACIR,KAAKG,YAAYO,MAAQ,GACzBV,KAAKO,YACT,CAEA,eAAAE,GACI,IAAIO,EAAMC,OAAOC,SAASC,KACtBC,EAAOpB,KAAKG,YAAYkB,aAAa,QACzCrB,KAAKG,YAAYO,MAAQV,KAAKsB,mBAAmBF,EAAMJ,EAC3D,CAEA,kBAAAM,CAAmBF,EAAMJ,GACrBI,EAAOA,EAAKG,QAAQ,UAAW,QAC/B,IACIC,EADQ,IAAIC,OAAO,OAASL,EAAO,qBACnBM,KAAKV,GACzB,OAAKQ,EACAA,EAAQ,GAENG,mBAAmBH,EAAQ,GAAGD,QAAQ,MAAO,MAF5B,GADH,IAIzB,EAiBArC,EAAYC,MAAMF,E","sources":["webpack:///./modules/SearchInput.ts"],"sourcesContent":["import { focusInput } from '../helpers/helperFunctions';\r\n\r\nconst moduleSelector = '[data-module=\"SearchInput\"]';\r\n\r\nexport default class SearchInput {\r\n\r\n private searchClearIcon: HTMLElement;\r\n private searchInput: HTMLInputElement;\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new SearchInput(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.searchClearIcon = this.element.querySelector('.nx-search-input-clear__icon');\r\n this.searchInput = this.element.querySelector('.nx-search-input__text');\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.searchInput.addEventListener('input', (event) => {\r\n this.checkEmpty();\r\n });\r\n\r\n this.searchClearIcon.addEventListener('click', (event: Event) => {\r\n this.clearInput();\r\n });\r\n\r\n this.setValueToInput();\r\n\r\n if (this.searchInput.value) {\r\n this.searchClearIcon.classList.add('nx-search-input-clear__icon--show');\r\n }\r\n\r\n if (this.element.closest('.nx-layer')) setTimeout(() => focusInput(this.searchInput), 0);\r\n }\r\n\r\n checkEmpty() {\r\n if (this.searchInput.value) {\r\n this.searchClearIcon.classList.add('nx-search-input-clear__icon--show');\r\n }\r\n else {\r\n this.searchClearIcon.classList.remove('nx-search-input-clear__icon--show');\r\n focusInput(this.searchInput);\r\n }\r\n }\r\n\r\n clearInput() {\r\n this.searchInput.value = '';\r\n this.checkEmpty();\r\n }\r\n\r\n setValueToInput() {\r\n var url = window.location.href;\r\n var name = this.searchInput.getAttribute(\"name\");\r\n this.searchInput.value = this.getParameterByName(name, url);\r\n }\r\n\r\n getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n SearchInput.setup(moduleSelector);\r\n\r\n module.hot.accept(() => {\r\n SearchInput.setup(moduleSelector);\r\n });\r\n module.hot.dispose(() => {\r\n nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n });\r\n} else {\r\n SearchInput.setup(moduleSelector);\r\n}"],"names":["moduleSelector","SearchInput","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","constructor","this","searchClearIcon","querySelector","searchInput","init","addEventListener","event","checkEmpty","clearInput","setValueToInput","value","classList","add","closest","setTimeout","remove","url","window","location","href","name","getAttribute","getParameterByName","replace","results","RegExp","exec","decodeURIComponent"],"sourceRoot":""}