{"version":3,"file":"chunk.2037.3ff8ab16bf7d48acddf6.6619e865.js","mappings":"qNACO,SAASA,EAAcC,GAC1B,OAAOC,EAAAA,GAAKC,IAAI,6BAA8B,CAC1CC,OAAQ,CACJC,EAAGJ,IAGf,C,8fCDA,IAAMK,GAAmBC,EAAAA,EAAAA,KACnBC,EAAG,SAAAC,I,kOAAAC,CAAAF,EAAAC,GAAA,I,QAAAE,G,EAAAH,E,ykBACL,SAAAA,IAAc,IAAAI,EAiBP,O,4FAjBOC,CAAA,KAAAL,IACVI,EAAAD,EAAAG,MAAA,KAASC,YACJC,MAAQ,CACTC,UAAU,EACVC,KAAM,KACNjB,WAAY,MAEhBW,EAAKO,aAAcC,EAAAA,EAAAA,GAAS,IAAG,e,EAAAC,G,EAAAC,IAAAA,MAAE,SAAAC,EAAOC,GAAC,IAAAvB,EAAAwB,EAAAP,EAAA,OAAAI,IAAAA,MAAA,SAAAI,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACJ,GAA3B3B,EAAauB,EAAEK,OAAOC,MACX,CAAFJ,EAAAE,KAAA,QACoC,OAA/ChB,EAAKmB,SAAS,CAAE9B,WAAAA,EAAYgB,UAAU,IAASS,EAAAM,OAAA,wBAAAN,EAAAE,KAAA,EAG5B5B,EAAcC,GAAW,OAApC,GAAoCwB,EAAAC,EAAAO,MAAxCf,EAAIO,EAAJP,OACqB,IAAhBA,EAAKgB,OAAY,CAAAR,EAAAE,KAAA,gBAAAF,EAAAM,OAAA,kBAE9BpB,EAAKmB,SAAS,CAAE9B,WAAAA,EAAYiB,KAAAA,EAAMD,UAAU,IAAQ,yBAAAS,EAAAS,OAAA,GAAAZ,EAAA,I,+KACvD,gBAAAa,GAAA,OAAAf,EAAAP,MAAA,KAAAC,UAAA,EAV8B,IAU5BH,CACP,CAcC,O,EAdAJ,G,EAAA,EAAA6B,IAAA,oBAAAP,MAAA,WACmB,IAAAQ,EAAA,KAChBC,SAASC,iBAAiB,SAAS,SAAChB,GAC5Bc,EAAKG,MAAMC,OAAOC,SAASnB,EAAEK,SAEjCS,EAAKP,SAAS,CAAEd,UAAU,GAC9B,IACA2B,KAAKH,MAAMC,OAAOG,UAAUC,IAAI,YACpC,GAAC,CAAAT,IAAA,SAAAP,MAAA,WACQ,IAAAiB,EACkCH,KAAK5B,MAApCC,EAAQ8B,EAAR9B,SAAUhB,EAAU8C,EAAV9C,WAAYiB,EAAI6B,EAAJ7B,KAC9B,OAAQ8B,EAAAA,EAAAA,GAAE,MAAO,CAAEC,UAAW,6BAC1BD,EAAAA,EAAAA,GAAE,QAAS,CAAEC,UAAWC,IAAW,iCAAkC,CAAE,kBAAqBjC,IAAakC,KAAM,OAAQC,YAAa,eAAuEC,KAAM,IAAKC,aAAc,MAAOC,QAASX,KAAKzB,cACzPF,IAAa+B,EAAAA,EAAAA,GAAE1C,EAAkB,CAAEL,WAAYA,QAA+CA,EAAa,GAAIuD,MAAOtC,QAAmCA,EAAO,GAAIuC,SAAUA,EAAUC,aAAcC,EAAaC,QAASD,EAAaE,aAAcA,EAAcZ,UAAW,0CACxR,M,iBAACzC,CAAA,CAjCI,CAASsD,EAAAA,WAmClB,SAASL,EAASM,GACd,OAAOA,EAAKC,QAChB,CACA,SAASL,EAAYI,GACjBE,OAAOC,SAASC,KAAOF,OAAOC,SAASE,OAAS,aAAeL,EAAKM,IACxE,CACA,SAASR,EAAaE,GAClB,OAAOf,EAAAA,EAAAA,GAAE,QAAS,CAAEG,KAAM,SAAUrB,MAAOiC,EAAKC,UACpD,CACA,SAAeM,EAAAA,EAAAA,GAAiB9D,EAAK,yB","sources":["webpack:///../jarvis/app/assets/javascripts/site/controllers/CategoriesAutocomplete/api/categories.ts","webpack:///../jarvis/app/assets/javascripts/site/controllers/CategoriesAutocomplete/App.tsx"],"sourcesContent":["import { Http } from 'core/services/HttpClient';\nexport function getCategories(inputValue) {\n return Http.get('search/commerce_categories', {\n params: {\n q: inputValue\n }\n });\n}\n","import { h, Component } from 'preact';\nimport classNames from 'classnames';\nimport { withStyleLoading } from 'core/components/Hoc/withStyleLoading';\nimport debounce from 'core/utils/debounce';\nimport autocompleteTree from 'site/VDOMComponents/AutocompleteTree';\nimport { getCategories } from './api/categories';\nconst AutocompleteTree = autocompleteTree();\nclass App extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isActive: false,\n data: null,\n inputValue: null\n };\n this.handleInput = debounce(300, async (e) => {\n const inputValue = e.target.value;\n if (!inputValue) {\n this.setState({ inputValue, isActive: false });\n return;\n }\n const { data } = await getCategories(inputValue);\n if (!data || data.length === 0)\n return;\n this.setState({ inputValue, data, isActive: true });\n });\n }\n componentDidMount() {\n document.addEventListener('click', (e) => {\n if (this.props.rootEl.contains(e.target))\n return;\n this.setState({ isActive: false });\n });\n this.props.rootEl.classList.add('__mounted');\n }\n render() {\n const { isActive, inputValue, data } = this.state;\n return (h(\"div\", { className: 'b-CategoriesAutocomplete' },\n h(\"input\", { className: classNames('b-CategoriesAutocomplete_input', { '__hasAutocomplete': isActive }), type: 'text', placeholder: '\\u041D\\u0430\\u0439\\u0442\\u0438 \\u0442\\u043E\\u0432\\u0430\\u0440\\u044B', name: 'q', autocomplete: 'off', onInput: this.handleInput }),\n isActive && (h(AutocompleteTree, { inputValue: inputValue !== null && inputValue !== void 0 ? inputValue : '', items: data !== null && data !== void 0 ? data : [], getLabel: getLabel, onChildClick: handleClick, onClick: handleClick, extraContent: extraContent, className: 'b-CategoriesAutocomplete_autocomplete' }))));\n }\n}\nfunction getLabel(item) {\n return item.category;\n}\nfunction handleClick(item) {\n window.location.href = window.location.origin + '/products/' + item.path;\n}\nfunction extraContent(item) {\n return h(\"input\", { type: 'hidden', value: item.category });\n}\nexport default withStyleLoading(App, 'CategoriesAutocomplete');\n"],"names":["getCategories","inputValue","Http","get","params","q","AutocompleteTree","autocompleteTree","App","_Component","_inherits","_super","_this","_classCallCheck","apply","arguments","state","isActive","data","handleInput","debounce","_ref","_regeneratorRuntime","_callee","e","_yield$getCategories","_context","prev","next","target","value","setState","abrupt","sent","length","stop","_x","key","_this2","document","addEventListener","props","rootEl","contains","this","classList","add","_this$state","h","className","classNames","type","placeholder","name","autocomplete","onInput","items","getLabel","onChildClick","handleClick","onClick","extraContent","Component","item","category","window","location","href","origin","path","withStyleLoading"],"sourceRoot":""}