{"version":3,"sources":["webpack:///../jarvis/app/assets/javascripts/core/services/Modal2/index.jsx","webpack:///../jarvis/app/assets/javascripts/core/services/Modal2/components/Modal.jsx","webpack:///../jarvis/app/assets/javascripts/core/services/Modal2/components/Head.jsx","webpack:///../jarvis/app/assets/javascripts/core/services/Modal2/components/Actions.jsx","webpack:///../jarvis/app/assets/javascripts/core/services/Modal2/ModalWrapper.ts","webpack:///../jarvis/app/assets/javascripts/site/VControllers/Autocomplete/components/Cities/index.tsx","webpack:///../jarvis/app/assets/javascripts/site/VControllers/Autocomplete/components/Countries/index.tsx","webpack:///../jarvis/app/assets/javascripts/site/VDOMComponents/HOCs/withCitySelect.tsx","webpack:///../jarvis/app/assets/javascripts/site/VDOMComponents/LocationSelectorWidget/index.tsx","webpack:///../jarvis/app/assets/javascripts/site/VDOMComponents/CitySelect/index.tsx","webpack:///../jarvis/app/assets/javascripts/site/VControllers/CitySelect/components/CitySelect/index.tsx"],"names":["MODAL_MODE_FULLPAGE","Modal2","_ref","props","_ref$callbacks","callbacks","_ref$callbacks$CALLBA","CALLBACK_MOUNT","_ref$callbacks$CALLBA2","CALLBACK_UNMOUNT","_ref$callbacks$CALLBA3","CALLBACK_CANCEL","CALLBACK_RENDER","_objectSpread","name","title","style","actions","mode","renderer","createVDOMRenderer","document","body","h","Modal","onMount","onUnmount","onCancel","render","classList","add","destroy","remove","createVDOMComponent","self","handleClick","e","target","getDOMNode","children","className","concat","onClick","Head","Actions","componentDidMount","setImmediate","getProps","componentWillUnmount","visibleActions","filter","_ref2","hidden","length","class","map","_ref3","type","$$","modal","componentWillMount","_$$$getProps","_$$$getProps$actions","_$$$getProps$cancelHa","cancelHandler","_$$$getProps$mountHan","mountHandler","_$$$getProps$unMountH","unMountHandler","CityAutocomplete","baseAutocomplete","CITY_CHANGE_EVENT_NAME","extraStateBuilder","component","countryId","extraQueryParams","state","CountryAutocomplete","COUNTRY_CHANGE_EVENT_NAME","_component$props$deli","deliveryCountries","delivery","saveLocation","cityId","params","redirectUrl","window","location","href","Http","post","withCitySelect","WrappedComponent","_Component","_inherits","WithCitySelect","_super","_createSuper","_this","_classCallCheck","apply","arguments","isOpen","Boolean","handleOpenControlClick","closest","handleOpen","setState","handleClose","confirm","handleApply","_asyncToGenerator","_regeneratorRuntime","mark","_callee","id","_yield$saveLocation","url","wrap","_context","prev","next","sent","data","stop","_x","key","value","addEventListener","this","removeEventListener","Object","assign","onApply","onClose","Component","LocationSelectorWidget","handleSelectCity","handleCountryRef","el","countryEl","handleCityRef","cityEl","handleChangeCountryId","item","_prevItem","dispatchCustomEvent","undefined","text","handleChangeCityId","_this2","_this$props","modalOpen","cities","_this$state","ModalWrapper","modalActions","ref","inputEl","items","onChange","get","withStyleLoading","CitySelect","proposedCities"],"mappings":"ueAIA,IACMA,EAAsB,WA6DbC,IA3Df,SAAeC,GASZ,IARDC,EAAKD,EAALC,MAAKC,EAAAF,EAELG,UAASC,EAAAF,EACPG,sBAAc,IAAAD,EAAK,aAAQA,EAAAE,EAAAJ,EAC3BK,wBAAgB,IAAAD,EAAG,aAAQA,EAAAE,EAAAN,EAC3BO,uBAAe,IAAAD,EAAI,aAAQA,EAC3BE,EAAeR,EAAfQ,gBAGFT,E,+VAAKU,CAAA,CACHC,KAAM,GACNC,MAAO,GACPC,MAAO,GACPC,QAAS,GACTC,KAlBwB,UAmBrBf,GAGL,IAAIgB,EAAWC,YAAmBC,SAASC,MAAM,WAC/C,OACEC,YAACC,IAAK,CACJV,KAAMX,EAAMW,KACZC,MAAOZ,EAAMY,MACbG,KAAMf,EAAMe,KACZF,MAAOb,EAAMa,MACbC,QAASd,EAAMc,QACfQ,QAASlB,EACTmB,UAAWjB,EACXkB,SAAUhB,GAETC,QAKHgB,EAAS,WACXT,EAASS,UAiBX,OAPEP,SAASC,KAAKO,UAAUC,IAAI,kBAE5BF,IAKK,CAAEG,QAdK,WACZZ,EAASY,UAETV,SAASC,KAAKO,UAAUG,OAAO,mBAWfJ,Y,kCC7DpB,yCA4CeK,iBAxCf,SAAeC,GACb,IAQIC,EAAc,SAAAR,GAAQ,OAAI,SAAAS,GACxBA,EAAEC,SAAWH,EAAKI,cACpBX,MA0BJ,MAAO,CAAEC,OAtBI,SAAH1B,GAAkE,IAA5Da,EAAKb,EAALa,MAAOD,EAAIZ,EAAJY,KAAME,EAAKd,EAALc,MAAOE,EAAIhB,EAAJgB,KAAMD,EAAOf,EAAPe,QAASU,EAAQzB,EAARyB,SAAUY,EAAQrC,EAARqC,SAM3D,OAAOhB,YAAA,OAAKiB,UAAS,sBAAAC,OAAwBzB,EAAK,OAAAyB,OAAM3B,EAAI,oBAAA2B,OAAmBvB,EAAI,eAAewB,QAASP,EAAYR,IACrHJ,YAAA,OAAKiB,UAAU,mBAAmBE,QAASf,IAC3CJ,YAAA,OAAKiB,UAAU,oBACbjB,YAAA,UAAQiB,UAAU,iBAAiBE,QAASf,IAE3CZ,GACCQ,YAACoB,IAAI,CAAC5B,MAAOA,IAGdwB,EAEDhB,YAACqB,IAAO,CAAC3B,QAASA,OAKP4B,kBApCO,WACtBC,GAAa,kBAAMZ,EAAKa,WAAWtB,cAmCDuB,qBAhCT,WACzBd,EAAKa,WAAWrB,mB,iECVpB,WAUeiB,IARf,SAAazC,GAAY,IAATa,EAAKb,EAALa,MACd,OACEQ,YAAA,OAAKiB,UAAU,iBACbjB,YAAA,OAAKiB,UAAU,UAAUzB,M,iCCL/B,WAee6B,IAbf,SAAgB1C,GAAc,IACxB+C,EADoB/C,EAAPe,QACYiC,QAAO,SAAAC,GAAS,OAAAA,EAANC,UAEvC,OAAOH,EAAeI,OAElB9B,YAAA,OAAK+B,MAAM,oBACRL,EAAeM,KAAI,SAAAC,GAAA,IAAGC,EAAID,EAAJC,KAAM1C,EAAKyC,EAALzC,MAAO2B,EAAOc,EAAPd,QAAO,OACzCnB,YAAA,OAAK+B,MAAA,WAAAb,OAAkBgB,GAAQf,QAASA,GAAU3B,OAGpD,K,iCCZR,oBAwBekB,iBAtBf,SAAsByB,GAClB,IAAIC,EAmBJ,MAAO,CAAE/B,OAHI,WACT+B,EAAM/B,UAEOgC,mBAlBQ,WAAM,IAAAC,EACiGH,EAAGX,WAAzHjC,EAAI+C,EAAJ/C,KAAMC,EAAK8C,EAAL9C,MAAOC,EAAK6C,EAAL7C,MAAK8C,EAAAD,EAAE5C,eAAO,IAAA6C,EAAG,GAAEA,EAAAC,EAAAF,EAAEG,qBAAa,IAAAD,EAAG,aAASA,EAAAE,EAAAJ,EAAEK,oBAAY,IAAAD,EAAG,aAASA,EAAAE,EAAAN,EAAEO,sBAAc,IAAAD,EAAG,aAASA,EACvHR,EAAQ1D,YAAO,CACXE,MAAO,CAAEY,QAAOC,QAAOC,UAASH,QAChCT,UAAW,CACPO,gBAAiB,kBAAM8C,EAAGX,WAAWR,UACrC9B,iBAAkB2D,EAClB7D,eAAgB2D,EAChBvD,gBAAiBqD,MAUQhB,qBANV,WACvBW,EAAM5B,gB,iCCjBd,8EAEasC,EAAmBC,YAAiB,iCAAkC,QAASC,IAAwB,CAChHC,kBAAmB,SAACC,GAAS,MAAM,CAAEC,UAAWD,EAAUtE,MAAMuE,YAChEC,iBAAkB,SAACF,GAAS,MAAM,CAAEC,UAAWD,EAAUG,MAAMF,e,iCCJnE,iFAEaG,EAAsBP,YAAiB,oCAAqC,SAAUQ,IAA2B,CAC1HH,iBAAkB,SAACF,GAAc,IAAAM,EACmBN,EAAUtE,MAAlD6E,kBACR,MAAO,CAAEC,cAD0B,IAAAF,GAAQA,O,s+CCFnD,IACMG,EAAe,SAACC,GAClB,IAAMC,EAAS,CACXD,SACAE,YAAaC,OAAOC,SAASC,MAEjC,OAAOC,IAAKC,KAAK,+BAAgCN,IAE9C,SAASO,EAAeC,GAC3B,gBAAAC,I,kOAAAC,CAAAC,EAAAF,GAAA,I,MAAAG,EAAAC,EAAAF,GACI,SAAAA,IAAc,IAAAG,EAkBR,OAlBQC,EAAA,KAAAJ,IACVG,EAAAF,EAAAI,MAAA,KAASC,YACJzB,MAAQ,CAAE0B,OAAQC,QAAQL,EAAK/F,MAAMmG,SAC1CJ,EAAKM,uBAAyB,SAACpE,GACtBA,EAAEC,OAAOoE,QAdA,4BAgBdP,EAAKQ,cAETR,EAAKQ,WAAa,WACdR,EAAKS,SAAS,CAAEL,QAAQ,KAE5BJ,EAAKU,YAAc,WACfV,EAAKW,UACLX,EAAKS,SAAS,CAAEL,QAAQ,KAE5BJ,EAAKY,YAAW,eAAA5G,EAAA6G,EAAAC,IAAAC,MAAG,SAAAC,EAAOC,GAAE,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACQvC,EAAaiC,GAAG,OAAAC,EAAAG,EAAAG,KAAhCL,EAAGD,EAAXO,KAAQN,IAChB/B,OAAOC,SAASC,KAAO6B,EAAI,wBAAAE,EAAAK,UAAAV,OAC9B,gBAAAW,GAAA,OAAA3H,EAAAkG,MAAA,KAAAC,YAHe,GAGdH,EAgBL,O,EAfAH,G,EAAA,EAAA+B,IAAA,oBAAAC,MAAA,WAEG1G,SAAS2G,iBAAiB,QAASC,KAAKzB,0BAC3C,CAAAsB,IAAA,uBAAAC,MAAA,WAEG1G,SAAS6G,oBAAoB,QAASD,KAAKzB,0BAC9C,CAAAsB,IAAA,UAAAC,MAAA,WAEGtC,IAAKC,KAAK,sCACb,CAAAoC,IAAA,SAAAC,MAAA,WAGG,OADmBE,KAAKrD,MAAhB0B,OAGA/E,YAAEqE,EAAkBuC,OAAOC,OAAO,GAAIH,KAAK9H,MAAO,CAAEkI,QAASJ,KAAKnB,YAAawB,QAASL,KAAKrB,eAD1F,U,2BAEdb,EAnCL,CAAoCwC,e,orCCLuC,IACzEC,EAAsB,SAAA3C,I,kOAAAC,CAAA0C,EAAA3C,GAAA,I,MAAAG,EAAAC,EAAAuC,GACxB,SAAAA,IAAc,IAAAtC,EAqBR,OArBQC,EAAA,KAAAqC,IACVtC,EAAAF,EAAAI,MAAA,KAASC,YACJzB,MAAQ,GACbsB,EAAKY,YAAc,WAAM,IACb3B,EAAWe,EAAKtB,MAAhBO,OACRA,GAAUe,EAAK/F,MAAMkI,QAAQlD,IAEjCe,EAAKuC,iBAAmB,SAACtB,GAAE,OAAK,WAC5BjB,EAAK/F,MAAMkI,QAAQlB,KAEvBjB,EAAKwC,iBAAmB,SAACC,GACrBzC,EAAKS,SAAS,CAAEiC,UAAWD,KAE/BzC,EAAK2C,cAAgB,SAACF,GAClBzC,EAAKS,SAAS,CAAEmC,OAAQH,KAE5BzC,EAAK6C,sBAAwB,SAACC,EAAMC,GAChCC,YAAoBhD,EAAKtB,MAAMgE,UAAWrE,IAAwB,CAAEyE,KAAM,CAAE7B,QAAIgC,EAAWC,KAAM,IAAM1E,UAAWsE,EAAK7B,MAE3HjB,EAAKmD,mBAAqB,SAACL,EAAMC,GAC7B/C,EAAKS,SAAS,CAAExB,OAAQ6D,EAAK7B,MAC/BjB,EAOL,O,EANAsC,G,EAAA,EAAAV,IAAA,SAAAC,MAAA,WAOQ,IAAAuB,EAAA,KAAAC,EACmCtB,KAAK9H,MAArCqJ,EAASD,EAATC,UAAW7H,EAAQ4H,EAAR5H,SAAU8H,EAAMF,EAANE,OAC7B,IAAKD,EACD,OAAO,KAAK,IAAAE,EACczB,KAAKrD,MAA3BgE,EAASc,EAATd,UAAWE,EAAMY,EAANZ,OACnB,OAAQvH,YAAEoI,IAAc,CAAE5I,MAAO,0BAAyIE,QAASgH,KAAK2B,aAAc5F,cAAerC,EAAUX,MAAO,qBAClOO,YAAE,MAAO,CAAEiB,UAAW,sBAClBjB,YAAE,MAAO,CAAEiB,UAAW,6BAA+BiH,EAAOlG,KAAI,SAAArD,GAAA,IAAGiH,EAAEjH,EAAFiH,GAAIrG,EAAIZ,EAAJY,KAAI,OAAQS,YAAE,IAAK,CAAEmB,QAAS4G,EAAKb,iBAAiBtB,IAAOrG,OAClIS,YAAE,MAAO,CAAEiB,UAAW,6BAClBjB,YAAE,MAAO,CAAEiB,UAAW,2DAClBjB,YAAE,QAAS,CAAEsI,IAAK5B,KAAKS,mBACvBE,GAAcrH,YAAEsD,sBAAqB,CAAEiF,QAASlB,EAAWmB,MAAO,GAAIC,SAAU/B,KAAKc,yBACzFxH,YAAE,MAAO,CAAEiB,UAAW,2DAClBjB,YAAE,QAAS,CAAEsI,IAAK5B,KAAKY,gBACvBC,GAAWvH,YAAE8C,mBAAkB,CAAEyF,QAAShB,EAAQiB,MAAO,GAAIC,SAAU/B,KAAKoB,2BAC/F,CAAAvB,IAAA,eAAAmC,IAAA,WApBG,MAAO,CACH,CAAExG,KAAM,SAAU1C,MAAO,SAAU2B,QAASuF,KAAK9H,MAAMwB,UACvD,CAAE8B,KAAM,QAAS1C,MAAO,YAAa2B,QAASuF,KAAKnB,mB,2BAE1D0B,EA7BuB,CAASD,aA+CtB2B,cAAiB1B,EAAwB,0B,qkCCpDxD,IACa2B,EAAU,SAAAtE,I,kOAAAC,CAAAqE,EAAAtE,GAAA,I,MAAAG,EAAAC,EAAAkE,GAAA,SAAAA,IAAA,OAAAhE,EAAA,KAAAgE,GAAAnE,EAAAI,MAAA,KAAAC,WAUlB,O,EAVkB8D,G,EAAA,EAAArC,IAAA,oBAAAC,MAAA,WAEf1G,SAASC,KAAKO,UAAUC,IAHA,oBAI3B,CAAAgG,IAAA,qBAAAC,MAAA,WAEG1G,SAASC,KAAKO,UAAUG,OANA,oBAO3B,CAAA8F,IAAA,SAAAC,MAAA,WACQ,IAAAwB,EACwCtB,KAAK9H,MAA1CiK,EAAcb,EAAda,eAAgB/B,EAAOkB,EAAPlB,QAASC,EAAOiB,EAAPjB,QACjC,OAAQ/G,YAAEiH,EAAwB,CAAEH,QAASA,EAAS1G,SAAU2G,EAASmB,OAAQW,EAAgBZ,WAAW,S,2BAC/GW,EAVkB,CAAS5B,aCDjB5C,sBAAewE","file":"chunk.61.8e69bb54d2f00c8b8a83.6356890d.js","sourcesContent":["import { createVDOMRenderer, h } from 'core/services/VDOM'\n\nimport Modal from './components/Modal'\n\nconst MODAL_MODE_SIMPLE = 'simple'\nconst MODAL_MODE_FULLPAGE = 'fullpage'\n\nfunction Modal2({\n props,\n\n callbacks: {\n CALLBACK_MOUNT = () => {},\n CALLBACK_UNMOUNT = () => {},\n CALLBACK_CANCEL = () => {},\n CALLBACK_RENDER,\n }\n}) {\n props = {\n name: '',\n title: '',\n style: '',\n actions: [],\n mode: MODAL_MODE_SIMPLE,\n ...props\n }\n\n let renderer = createVDOMRenderer(document.body, () => {\n return (\n \n {CALLBACK_RENDER()}\n \n )\n })\n\n let render = () => {\n renderer.render()\n }\n\n let destroy = () => {\n renderer.destroy()\n\n document.body.classList.remove('has-modal-open')\n }\n\n let init = () => {\n document.body.classList.add('has-modal-open')\n\n render()\n }\n\n init()\n\n return { destroy, render }\n}\n\nexport { MODAL_MODE_SIMPLE, MODAL_MODE_FULLPAGE, Modal2 }\n\nexport default Modal2\n","import { h, createVDOMComponent } from 'core/services/VDOM'\nimport Head from './Head'\nimport Actions from './Actions'\n\nfunction Modal(self) {\n let componentDidMount = () => {\n setImmediate(() => self.getProps().onMount())\n }\n\n let componentWillUnmount = () => {\n self.getProps().onUnmount()\n }\n\n let handleClick = onCancel => e => {\n if (e.target === self.getDOMNode()) {\n onCancel()\n }\n }\n\n let render = ({ title, name, style, mode, actions, onCancel, children }) => {\n /*\n .b-Modal2__${style} – legacy\n .m-${name} – new\n */\n\n return
\n
\n
\n
\n
\n }\n\n return { render, componentDidMount, componentWillUnmount }\n}\n\nexport default createVDOMComponent(Modal)\n","import { h } from 'core/services/VDOM'\n\nfunction Head({ title }) {\n return (\n
\n
{title}
\n
\n )\n}\n\nexport default Head\n","import { h } from 'core/services/VDOM'\n\nfunction Actions({ actions }) {\n let visibleActions = actions.filter(({ hidden }) => !hidden)\n\n return visibleActions.length\n ? (\n
\n {visibleActions.map(({ type, title, onClick, }) => (\n
{title}
\n ))}\n
\n ) : ''\n}\n\nexport default Actions\n","import { createVDOMComponent } from 'core/services/VDOM';\nimport Modal2 from './index';\nfunction ModalWrapper($$) {\n let modal;\n let componentWillMount = () => {\n let { name, title, style, actions = [], cancelHandler = () => { }, mountHandler = () => { }, unMountHandler = () => { } } = $$.getProps();\n modal = Modal2({\n props: { title, style, actions, name },\n callbacks: {\n CALLBACK_RENDER: () => $$.getProps().children,\n CALLBACK_UNMOUNT: unMountHandler,\n CALLBACK_MOUNT: mountHandler,\n CALLBACK_CANCEL: cancelHandler\n }\n });\n };\n let componentWillUnmount = () => {\n modal.destroy();\n };\n let render = () => {\n modal.render();\n };\n return { render, componentWillMount, componentWillUnmount };\n}\nexport default createVDOMComponent(ModalWrapper);\n","import { baseAutocomplete } from '../Hoc/baseAutocomplete';\nimport { CITY_CHANGE_EVENT_NAME } from '../../cities';\nexport const CityAutocomplete = baseAutocomplete('/front_api/autocomplete/cities', 'Город', CITY_CHANGE_EVENT_NAME, {\n extraStateBuilder: (component) => ({ countryId: component.props.countryId }),\n extraQueryParams: (component) => ({ countryId: component.state.countryId })\n});\n","import { baseAutocomplete } from '../Hoc/baseAutocomplete';\nimport { COUNTRY_CHANGE_EVENT_NAME } from '../../countries';\nexport const CountryAutocomplete = baseAutocomplete('/front_api/autocomplete/countries', 'Страна', COUNTRY_CHANGE_EVENT_NAME, {\n extraQueryParams: (component) => {\n const { deliveryCountries: delivery = false } = component.props;\n return { delivery };\n }\n});\n","import { h, Component } from 'preact';\nimport Http from 'core/services/HttpClient';\nconst OPEN_CONTROL_SELECTOR = '[data-open-city-select]';\nconst saveLocation = (cityId) => {\n const params = {\n cityId,\n redirectUrl: window.location.href // to handle Referrer-Policy restrictions\n };\n return Http.post('/front_api/location/set_city', params);\n};\nexport function withCitySelect(WrappedComponent) {\n return class WithCitySelect extends Component {\n constructor() {\n super(...arguments);\n this.state = { isOpen: Boolean(this.props.isOpen) };\n this.handleOpenControlClick = (e) => {\n if (!e.target.closest(OPEN_CONTROL_SELECTOR))\n return;\n this.handleOpen();\n };\n this.handleOpen = () => {\n this.setState({ isOpen: true });\n };\n this.handleClose = () => {\n this.confirm();\n this.setState({ isOpen: false });\n };\n this.handleApply = async (id) => {\n const { data: { url } } = await saveLocation(id);\n window.location.href = url;\n };\n }\n componentDidMount() {\n document.addEventListener('click', this.handleOpenControlClick);\n }\n componentWillUnmount() {\n document.removeEventListener('click', this.handleOpenControlClick);\n }\n confirm() {\n Http.post('/front_api/location/confirm_city');\n }\n render() {\n const { isOpen } = this.state;\n if (!isOpen)\n return null;\n return (h(WrappedComponent, Object.assign({}, this.props, { onApply: this.handleApply, onClose: this.handleClose })));\n }\n };\n}\nexport default withCitySelect;\n","import { h, Component } from 'preact';\nimport ModalWrapper from 'core/services/Modal2/ModalWrapper';\nimport { CountryAutocomplete } from 'site/VControllers/Autocomplete/components/Countries';\nimport { CityAutocomplete } from 'site/VControllers/Autocomplete/components/Cities';\nimport { withStyleLoading } from 'core/components/Hoc/withStyleLoading';\nimport { dispatchCustomEvent } from 'core/utils/events';\nimport { CITY_CHANGE_EVENT_NAME } from 'site/VControllers/Autocomplete/cities';\nclass LocationSelectorWidget extends Component {\n constructor() {\n super(...arguments);\n this.state = {};\n this.handleApply = () => {\n const { cityId } = this.state;\n cityId && this.props.onApply(cityId);\n };\n this.handleSelectCity = (id) => () => {\n this.props.onApply(id);\n };\n this.handleCountryRef = (el) => {\n this.setState({ countryEl: el });\n };\n this.handleCityRef = (el) => {\n this.setState({ cityEl: el });\n };\n this.handleChangeCountryId = (item, _prevItem) => {\n dispatchCustomEvent(this.state.countryEl, CITY_CHANGE_EVENT_NAME, { item: { id: undefined, text: '' }, countryId: item.id }); // dirty crutch for update nested state in city autocomplete\n };\n this.handleChangeCityId = (item, _prevItem) => {\n this.setState({ cityId: item.id });\n };\n }\n get modalActions() {\n return [\n { type: 'cancel', title: 'Отмена', onClick: this.props.onCancel },\n { type: 'apply', title: 'Сохранить', onClick: this.handleApply }\n ];\n }\n render() {\n const { modalOpen, onCancel, cities } = this.props;\n if (!modalOpen)\n return null;\n const { countryEl, cityEl } = this.state;\n return (h(ModalWrapper, { title: '\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u043C\\u0435\\u0441\\u0442\\u043E\\u043F\\u043E\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u0435', actions: this.modalActions, cancelHandler: onCancel, style: 'location-selector' },\n h(\"div\", { className: 'b-LocationSelector' },\n h(\"div\", { className: 'b-LocationSelector_cities' }, cities.map(({ id, name }) => (h(\"a\", { onClick: this.handleSelectCity(id) }, name)))),\n h(\"div\", { className: 'b-LocationSelector_manual' },\n h(\"div\", { className: 'ui-Input __autocomplete b-LocationSelector_autocomplete' },\n h(\"input\", { ref: this.handleCountryRef }),\n countryEl && (h(CountryAutocomplete, { inputEl: countryEl, items: [], onChange: this.handleChangeCountryId }))),\n h(\"div\", { className: 'ui-Input __autocomplete b-LocationSelector_autocomplete' },\n h(\"input\", { ref: this.handleCityRef }),\n cityEl && (h(CityAutocomplete, { inputEl: cityEl, items: [], onChange: this.handleChangeCityId })))))));\n }\n}\nexport default withStyleLoading(LocationSelectorWidget, 'LocationSelectorWidget');\n","import { h, Component } from 'preact';\nimport LocationSelectorWidget from 'site/VDOMComponents/LocationSelectorWidget';\nconst BODY_CLASS_NAME_ON_OPEN = 'has-modal-open';\nexport class CitySelect extends Component {\n componentDidMount() {\n document.body.classList.add(BODY_CLASS_NAME_ON_OPEN);\n }\n componentWillMount() {\n document.body.classList.remove(BODY_CLASS_NAME_ON_OPEN);\n }\n render() {\n const { proposedCities, onApply, onClose } = this.props;\n return (h(LocationSelectorWidget, { onApply: onApply, onCancel: onClose, cities: proposedCities, modalOpen: true }));\n }\n}\n","import { withCitySelect } from 'site/VDOMComponents/HOCs/withCitySelect';\nimport { CitySelect } from 'site/VDOMComponents/CitySelect';\nexport default withCitySelect(CitySelect);\n"],"sourceRoot":""}