{"version":3,"mappings":"yHAAA,MAAMA,EAAU,GACVC,EAAkB,eAExB,MAAMC,CAAK,CACT,YAAYC,EAAU,CACpB,KAAK,UAAY,SAAS,cAAcA,CAAQ,EAChD,KAAK,QAAU,KAAK,UAAU,cAAc,gBAAgB,CAC7D,CAED,MAAO,CACL,KAAK,QAAQ,iBAAiB,QAAS,KAAK,OAAO,KAAK,IAAI,CAAC,CAC9D,CAED,OAAO,EAAG,CACJ,GAAG,EAAE,kBAEM,KAAK,UAAU,UAAU,OAAOF,CAAe,EAG5D,KAAK,UAAS,EAEd,KAAK,YAAW,CAEnB,CAED,WAAY,CACV,KAAK,YAAc,KAAK,MAAM,KAAK,IAAI,EACvC,KAAK,iBAAmB,KAAK,WAAW,KAAK,IAAI,EAEjD,SAAS,iBAAiB,QAAS,KAAK,WAAW,EACnD,SAAS,iBAAiB,WAAY,KAAK,gBAAgB,CAC5D,CAED,aAAc,CACZ,SAAS,oBAAoB,QAAS,KAAK,WAAW,EACtD,SAAS,oBAAoB,WAAY,KAAK,gBAAgB,EAE9D,KAAK,YAAc,KACnB,KAAK,iBAAmB,IACzB,CAED,WAAW,EAAG,CACR,EAAE,QAAUD,GAChB,KAAK,MAAK,CACX,CAED,OAAQ,CACN,KAAK,UAAU,UAAU,OAAOC,CAAe,EAC/C,KAAK,YAAW,CACjB,CACH,CAEA,MAAMG,EAAQD,GAAa,CACzB,IAAID,EAAKC,CAAQ,EAAE,MACrB,ECpDA,IAAIE,EAEJ,MAAMC,EAAoB,kCAEpBC,EAAmB,UAAW,CAC9BF,EAAY,OAAS,CAACA,EAAY,UAAU,SAASC,CAAiB,EACxED,EAAY,UAAU,IAAIC,CAAiB,EAClC,CAACD,EAAY,OAASA,EAAY,UAAU,SAASC,CAAiB,GAC/ED,EAAY,UAAU,OAAOC,CAAiB,CAElD,EAEe,SAAAE,GAAW,CACxBH,EAAc,SAAS,eAAe,qBAAqB,EAC3DA,EAAY,iBAAiB,OAAQI,WAASF,CAAgB,CAAC,EAE/DA,GACF,CCXA,MAAMG,EAA0B,IAAM,CACpC,MAAMC,EAAQ,SAAS,cAAc,sBAAsB,EACrDC,EAAO,SAAY,CACvBD,EAAM,oBAAoB,QAASC,CAAI,EAEvC,KAAM,CAAE,QAASR,CAAM,EAAG,MAAKS,EAAA,IAAC,OAAO,kCAAiC,yEACxET,GACJ,EAEEO,EAAM,iBAAiB,QAASC,CAAI,CACtC,EAEAE,EAAM,IAAM,CACVZ,EAAK,gBAAgB,EACrBM,IACAE,GACF,CAAC","names":["ESC_KEY","OPENED_MODIFIER","Drop","selector","init","searchInput","EMPTY_STATE_CLASS","updateStateClass","HeaderSearch","debounce","loadAutocompleteOnFocus","input","load","__vitePreload","ready"],"sources":["../../../app/javascript/components/Drop.js","../../../app/javascript/components/HeaderSearch.js","../../../app/javascript/entrypoints/app.js"],"sourcesContent":["const ESC_KEY = 27;\nconst OPENED_MODIFIER = 'drop--opened';\n\nclass Drop {\n constructor(selector) {\n this.container = document.querySelector(selector);\n this.trigger = this.container.querySelector('.drop__trigger');\n }\n\n init() {\n this.trigger.addEventListener('click', this.toggle.bind(this));\n }\n\n toggle(e) {\n if (e) e.stopPropagation();\n\n const opened = this.container.classList.toggle(OPENED_MODIFIER);\n\n if (opened) {\n this.bindClose();\n } else {\n this.unbindClose();\n }\n }\n\n bindClose() {\n this.bindedClose = this.close.bind(this);\n this.bindedCloseOnEsc = this.closeOnEsc.bind(this);\n\n document.addEventListener('click', this.bindedClose);\n document.addEventListener('keypress', this.bindedCloseOnEsc);\n }\n\n unbindClose() {\n document.removeEventListener('click', this.bindedClose);\n document.removeEventListener('keypress', this.bindedCloseOnEsc);\n\n this.bindedClose = null;\n this.bindedCloseOnEsc = null;\n }\n\n closeOnEsc(e) {\n if (e.which !== ESC_KEY) return;\n this.close();\n }\n\n close() {\n this.container.classList.remove(OPENED_MODIFIER);\n this.unbindClose();\n }\n}\n\nconst init = (selector) => {\n new Drop(selector).init();\n};\n\nexport default init;\n","import { debounce } from \"lodash\";\n\nvar searchInput;\n\nconst EMPTY_STATE_CLASS = \"global-search__input--not-empty\";\n\nconst updateStateClass = function() {\n if (searchInput.value && !searchInput.classList.contains(EMPTY_STATE_CLASS)) {\n searchInput.classList.add(EMPTY_STATE_CLASS);\n } else if (!searchInput.value && searchInput.classList.contains(EMPTY_STATE_CLASS)) {\n searchInput.classList.remove(EMPTY_STATE_CLASS);\n }\n};\n\nexport default function() {\n searchInput = document.getElementById(\"global-search-input\");\n searchInput.addEventListener(\"blur\", debounce(updateStateClass));\n\n updateStateClass();\n}\n","// // import styles & images\nimport '~/styles/index.scss';\nimport.meta.glob('~/images/', { eager: true })\n\nimport { ready } from '~/utils/common';\nimport Drop from '~/components/Drop';\nimport HeaderSearch from '~/components/HeaderSearch';\n\nconst loadAutocompleteOnFocus = () => {\n const input = document.querySelector('#global-search-input');\n const load = async () => {\n input.removeEventListener('focus', load);\n\n const { default: init } = await import('~/components/SearchAutocomplete');\n init();\n };\n\n input.addEventListener('focus', load);\n};\n\nready(() => {\n Drop('#lang-switcher');\n HeaderSearch();\n loadAutocompleteOnFocus();\n});\n"],"file":"assets/app-df11535f.js"}