{"version":3,"file":"static/chunks/3319-c3c2c589d4c0728c.js","mappings":"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","sources":["webpack://_N_E/./src/api/content/street.ts","webpack://_N_E/./src/helpers/getFilterStreets.ts","webpack://_N_E/./src/components/AddressInputFields/store/reducer.ts","webpack://_N_E/./src/components/AddressInputFields/store/actions.ts","webpack://_N_E/./src/components/AddressInputFields/styled.ts","webpack://_N_E/./src/components/AddressInputFields/index.tsx","webpack://_N_E/./src/components/SmartHome/order/videocontrol.js","webpack://_N_E/../../packages/api-domru/src/api-profile/v1/address/get-house-list/index.ts","webpack://_N_E/../../packages/api-domru/src/full-buy/v1/sale-agent/address-company/index.ts","webpack://_N_E/../../packages/entities/src/ContactAddress/actions/checkAddress.ts","webpack://_N_E/../../packages/entities/src/ContactAddress/actions/fillAddress.ts","webpack://_N_E/../../packages/entities/src/ContactAddress/selectors/helpers/getAddressByStr.ts","webpack://_N_E/../../packages/entities/src/ContactAddress/selectors/isAddressFilled.ts","webpack://_N_E/../../packages/entities/src/ContactAddress/selectors/selectAddressByString.ts","webpack://_N_E/./static/images/full-buy/map-baloon.svg"],"sourcesContent":["import { TResponse } from '@r1-frontend/do-request/core/types';\nimport { captureQueryError } from '@r1-frontend/do-request/error';\n\nimport contentRequest from '~/src/api/requests/contentRequest';\n\nexport interface IStreet {\n street_id: number,\n street_name: string,\n}\n\ninterface IParams {\n providerId: number,\n term?: string,\n page?: number,\n fields?: string,\n withSatelliteFilter?: boolean,\n}\n\nexport type TDataResponse = TResponse;\n\n/**\n * GET-запрос список улиц с фильтрацией\n *\n * /v2/street/search?fields=street_id,street_name&filter[street_name][like]=Дубр&providerId=74\n * @param {Object} params\n * @param {number} params.providerId - провайдер b2c\n * @param {string} params.term - символы содержащиеся в названии улицы\n * @param {number=} params.page - номер страницы с результатами\n * @param {string=} params.fields - возвращаемые поля\n * @param {boolean} params.withSatelliteFilter - без улиц городов-сателлитов\n * @return {{ items, _links, _meta }}\n */\nexport const getStreets = async(params: IParams): Promise => {\n const { providerId, term, page = 1, fields = 'street_id,street_name', withSatelliteFilter = false } = params;\n\n const url = '/v2/street/search';\n\n try {\n const response = await contentRequest.get(url, {\n params: {\n 'filter[street_name][like]': term,\n ...(withSatelliteFilter ? { 'filter[smallSatelliteFilter]': true } : {}),\n page,\n fields,\n providerId,\n },\n });\n\n return {\n isSuccess: true,\n payload: response.data.items,\n };\n } catch (error) {\n return captureQueryError(error);\n }\n};\n","import { getStreets, IStreet, TDataResponse } from '~/src/api/content/street';\n\nconst DELAY_MS = 700;\n\nlet timerId: ReturnType;\n\ninterface ISearchParams {\n term: string,\n withSatelliteFilter?: boolean,\n}\n\nexport const getFilterStreets = async(searchParams: ISearchParams, providerId: number): Promise => {\n const fetchStreets: Promise = new Promise((resolve) => {\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(async() => {\n const response = await getStreets({ providerId, ...searchParams });\n resolve(response);\n }, DELAY_MS);\n });\n\n const resp = await fetchStreets;\n return resp.isSuccess ? resp.payload : [];\n};\n","import { ICitiesOption, ISelectInputOption } from '@r1-frontend/shared/types/ISelectInputOption';\n\nexport const enum EActionTypes {\n SET_SELECTED_CITY = '@AddressInputFields/SET_SELECTED_CITY',\n SET_STREET_TEXT = '@AddressInputFields/SET_STREET_TEXT',\n SET_SELECTED_STREET = '@AddressInputFields/SET_SELECTED_STREET',\n SET_HOUSE_TEXT = '@AddressInputFields/SET_HOUSE_TEXT',\n SET_SELECTED_HOUSE = '@AddressInputFields/SET_SELECTED_HOUSE',\n SET_HOUSE_LIST = '@AddressInputFields/SET_HOUSE_LIST',\n SET_FLAT = '@AddressInputFields/SET_FLAT',\n SET_DATA = '@AddressInputFields/SET_DATA',\n}\n\nexport type TSetSelectedCity = {\n type: EActionTypes.SET_SELECTED_CITY,\n payload: IAddressFieldsState,\n}\n\nexport type TSetStreetText = {\n type: EActionTypes.SET_STREET_TEXT,\n payload: Pick,\n}\n\nexport type TSetSelectedStreet = {\n type: EActionTypes.SET_SELECTED_STREET,\n payload: Pick,\n}\n\nexport type TSetHouseText = {\n type: EActionTypes.SET_HOUSE_TEXT,\n payload: Pick,\n}\n\nexport type TSetSelectedHouse = {\n type: EActionTypes.SET_SELECTED_HOUSE,\n payload: Pick,\n}\n\nexport type TSetHouseList = {\n type: EActionTypes.SET_HOUSE_LIST,\n payload: Pick,\n}\n\nexport type TSetFlat = {\n type: EActionTypes.SET_FLAT,\n payload: Pick,\n}\n\nexport type TSetData = {\n type: EActionTypes.SET_DATA,\n payload: Partial,\n}\n\nexport type TAddressActions = TSetSelectedCity |\n TSetStreetText |\n TSetSelectedStreet |\n TSetHouseText |\n TSetSelectedHouse |\n TSetHouseList |\n TSetFlat |\n TSetData;\n\nexport interface IAddressFieldsState {\n selectedCity: ICitiesOption | null,\n streetText: string,\n selectedStreet: ISelectInputOption | null,\n houseText: string,\n selectedHouse: ISelectInputOption | null,\n houseList: ISelectInputOption[],\n flat: string,\n}\n\nexport const addressFieldsReducer = (state: IAddressFieldsState, action: TAddressActions): IAddressFieldsState => {\n switch (action.type) {\n case EActionTypes.SET_SELECTED_CITY:\n case EActionTypes.SET_STREET_TEXT:\n case EActionTypes.SET_SELECTED_STREET:\n case EActionTypes.SET_HOUSE_TEXT:\n case EActionTypes.SET_SELECTED_HOUSE:\n case EActionTypes.SET_HOUSE_LIST:\n case EActionTypes.SET_FLAT:\n case EActionTypes.SET_DATA: {\n return {\n ...state,\n ...action.payload,\n };\n }\n default: {\n const unknownAction: never = action;\n return state || unknownAction;\n }\n }\n};\n\ninterface IProps {\n initCity?: ICitiesOption | null,\n initStreet?: ISelectInputOption | null,\n initHouse?: ISelectInputOption | null,\n initFlat?: string,\n}\n\nexport const getInitialState = ({\n initCity,\n initStreet,\n initHouse,\n initFlat,\n}: IProps): IAddressFieldsState => ({\n selectedCity: initCity || null,\n streetText: '',\n selectedStreet: initStreet || null,\n houseText: '',\n selectedHouse: initHouse || null,\n houseList: [],\n flat: initFlat || '',\n});\n","import { doRequest } from '@r1-frontend/do-request';\nimport getHousesList from '@r1-frontend/api-domru/api-profile/v1/address/get-house-list';\n\nimport { ICitiesOption, ISelectInputOption } from '@r1-frontend/shared/types/ISelectInputOption';\n\nimport { parseGetHousesResp } from '~/src/components/SmartHome/order/videocontrol';\n\nimport {\n EActionTypes,\n getInitialState,\n IAddressFieldsState,\n TSetData,\n TSetFlat,\n TSetHouseList,\n TSetHouseText,\n TSetSelectedCity,\n TSetSelectedHouse,\n TSetSelectedStreet,\n TSetStreetText,\n} from './reducer';\n\nconst initState = getInitialState({});\n\nexport const setSelectedCity = (option: ICitiesOption | null): TSetSelectedCity => ({\n type: EActionTypes.SET_SELECTED_CITY,\n payload: {\n ...initState,\n selectedCity: option,\n },\n});\n\nexport const setStreetText = (text: string): TSetStreetText => ({\n type: EActionTypes.SET_STREET_TEXT,\n payload: {\n streetText: text,\n },\n});\n\nexport const setSelectedStreet = (option: ISelectInputOption | null): TSetSelectedStreet => ({\n type: EActionTypes.SET_SELECTED_STREET,\n payload: {\n selectedStreet: option,\n houseText: '',\n selectedHouse: null,\n flat: '',\n },\n});\n\nexport const setHouseText = (text: string): TSetHouseText => ({\n type: EActionTypes.SET_HOUSE_TEXT,\n payload: {\n houseText: text,\n },\n});\n\nexport const setSelectedHouse = (option: ISelectInputOption | null): TSetSelectedHouse => ({\n type: EActionTypes.SET_SELECTED_HOUSE,\n payload: {\n selectedHouse: option,\n flat: '',\n },\n});\n\nexport const setHouseList = (list: ISelectInputOption[]): TSetHouseList => ({\n type: EActionTypes.SET_HOUSE_LIST,\n payload: {\n houseList: list,\n },\n});\n\nexport const fetchHouseList = async(streetId: number): Promise => {\n const resp = await doRequest.apiProfile(getHousesList({ streetId }));\n if (resp.isSuccess) {\n console.log(resp.payload);\n const list = parseGetHousesResp(resp.payload);\n return list.map(el => ({ value: el.id, label: el.number }));\n } else {\n return [];\n }\n};\n\nexport const setFlat = (text: string):TSetFlat => ({\n type: EActionTypes.SET_FLAT,\n payload: {\n flat: text,\n },\n});\n\nexport const setData = (data: Partial): TSetData => {\n return ({\n type: EActionTypes.SET_DATA,\n payload: {\n ...data,\n },\n });\n};\n","import styled from 'styled-components';\n\nimport InputSimple from '@r1-frontend/ui-react/components/inputSimple';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport Select from '@r1-frontend/ui-react/components/select/select';\n\nexport const Btn = styled.div<{isActive: boolean}>`\n width: 100%;\n cursor: pointer;\n`;\n\nexport const AddressInputFields = styled.div`\n display: grid;\n flex-wrap: nowrap;\n grid-template-columns: 256px 256px 100px 100px;\n gap: 12px;\n width: 100%;\n max-width: 100%;\n background-color: inherit;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n grid-template-columns: 226px 226px 100px 100px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n grid-template-columns: 1fr 1fr;\n\n & > *:nth-child(1), *:nth-child(2) {\n grid-column-start: 1; \n grid-column-end: 3;\n }\n }\n`;\n\nexport const InputElement = styled(InputSimple)`\n margin-bottom: 0;\n`;\n\nexport const DropDown = styled(Select)`\n width: 100%;\n`;\n\nexport const DropdownIndicator = styled.div`\n width: 30px;\n height: 20px;\n background-image: url('${require('~/static/images/full-buy/map-baloon.svg')}');\n background-position: left center;\n background-repeat: no-repeat;\n`;\n","import React, { useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { IAddress } from '@r1-frontend/shared/types/IAddress';\n\nimport { getFilterStreets } from '~/src/helpers/getFilterStreets';\nimport { TState } from '~/src/store';\nimport { getCurrentCity, selectCitiesOptionWithProvider } from '~/src/store/selectors/city';\n\nimport {\n fetchHouseList,\n setData,\n setFlat,\n setHouseList,\n setHouseText,\n setSelectedCity,\n setSelectedHouse,\n setSelectedStreet,\n setStreetText,\n} from './store/actions';\nimport { addressFieldsReducer, getInitialState } from './store/reducer';\nimport { IProps } from './types';\n\nimport * as ST from './styled';\n\nconst MAX_FLAT_LENGTH = 6;\n\nconst OPTION_KEYS = {\n valueKey: 'domain',\n labelKey: 'name',\n};\n\nconst setFocusByRef = (elementRef: React.RefObject) => {\n if (elementRef.current) {\n elementRef.current.focus();\n }\n};\n\nconst dropdownProps = {\n asyncMode: true,\n cacheOptions: false,\n isSearchable: true,\n isClearable: true,\n components: {\n DropdownIndicator: null,\n },\n loadingMessage: () => 'Поиск',\n};\n\n// формирование сообщения, если нет options\nconst noOptionsMessage = ({ inputValue } : { inputValue: string }) => inputValue === '' ? 'Введите адрес' : 'Не найдено';\nconst noOptionsMessageHouse = ({ inputValue } : { inputValue: string }) => inputValue === '' ? 'Укажите номер дома' : 'Не найдено';\n\n/**\n * Компонент ввода адреса\n * catchAddressData - cb для обработки введенного адреса\n * onClickCityChange - cb если передан, селект выбора города работает как кнопка\n */\nexport const AddressInputFields = ({\n catchAddressData,\n disableCityChange,\n isDisableFields = false,\n defaultAddress,\n withSatelliteFilter,\n gtmSenderCallback,\n onClickCityChange,\n ...rest\n}: IProps): JSX.Element => {\n const isSetFocus = useRef(false);\n const flatInput = useRef(null);\n const streetDropDown = useRef(null);\n const houseDropDown = useRef(null);\n const [isFlatFillStarted, setIsFlatFillStarted] = useState(false);\n\n const { citiesOptions, currentCity, providerId } = useSelector((state: TState) => ({\n citiesOptions: selectCitiesOptionWithProvider({ state, optionKeys: OPTION_KEYS }),\n currentCity: getCurrentCity(state),\n providerId: state.city.provider.providerId,\n }));\n\n const initCity = { value: { domain: currentCity.domain, providerId }, label: currentCity.name };\n\n const [state, dispatch] = useReducer(addressFieldsReducer, getInitialState({\n initCity: initCity,\n initStreet: null,\n initHouse: null,\n initFlat: '',\n }));\n\n const {\n selectedCity,\n streetText,\n selectedStreet,\n houseText,\n selectedHouse,\n flat,\n houseList,\n } = state;\n\n const address = useMemo(() => ({\n city: selectedCity,\n street: selectedStreet,\n house: selectedHouse,\n flat,\n }), [selectedCity, selectedStreet, selectedHouse, flat]);\n\n const getHouseList = useCallback(async(streetId) => {\n const domain = selectedCity?.value?.domain;\n\n if (streetId && domain) {\n const houses = await fetchHouseList(streetId);\n dispatch(setHouseList(houses));\n }\n }, [selectedCity?.value?.domain]);\n\n useEffect(() => {\n const {\n street: initStreet,\n house: initHouse,\n flat: initFlat,\n } = defaultAddress || {};\n\n dispatch(setData({\n selectedStreet: initStreet || null,\n selectedHouse: initHouse || null,\n flat: initFlat || '',\n }));\n\n const streetId = initStreet?.value;\n if (streetId) {\n getHouseList(streetId);\n }\n }, [defaultAddress, getHouseList]);\n\n const sendAddressData = useCallback((addressValue: Partial) => {\n catchAddressData(addressValue);\n }, [catchAddressData]);\n\n const onChangeCity = useCallback((option) => {\n if (option) {\n dispatch(setSelectedCity(option));\n }\n }, []);\n\n const onChangeStreet = useCallback((searchText) => {\n dispatch(setStreetText(searchText));\n isSetFocus.current = true;\n }, []);\n\n const onChangeHouse = useCallback((searchText) => {\n dispatch(setHouseText(searchText));\n isSetFocus.current = true;\n }, []);\n\n const onSelectStreet = useCallback(async(option) => {\n dispatch(setSelectedStreet(option));\n\n sendAddressData({\n ...address,\n street: option,\n });\n\n const streetId = option?.value;\n getHouseList(streetId);\n if (streetId) {\n gtmSenderCallback('address verification street');\n }\n }, [sendAddressData, address, getHouseList]);\n\n const onHouseSelect = useCallback((option) => {\n dispatch(setSelectedHouse(option));\n\n sendAddressData({\n ...address,\n house: option,\n });\n\n if (option?.value) {\n gtmSenderCallback('address verification house');\n }\n }, [address, sendAddressData, gtmSenderCallback]);\n\n /* Произошла смена улицы, фокус на ввод дома */\n useEffect(() => {\n if (selectedStreet?.value && isSetFocus.current) {\n setFocusByRef(houseDropDown);\n }\n }, [selectedStreet]);\n\n /* Произошла смена дома, фокус на ввод квартиры */\n useEffect(() => {\n if (selectedHouse?.value && isSetFocus.current) {\n setFocusByRef(flatInput);\n }\n }, [selectedHouse]);\n\n const loadStreetsOptions = useCallback(async(searchText) => {\n if (!selectedCity) {\n return;\n }\n\n const resp = await getFilterStreets({ term: searchText, withSatelliteFilter }, selectedCity.value.providerId);\n return resp?.map(el => ({ value: el.street_id, label: el.street_name }));\n }, [selectedCity, withSatelliteFilter]);\n\n const loadHouseOptions = useCallback(async(searchText) => {\n return houseList.filter(el => el.label.includes(searchText) && new RegExp(`^${searchText}`, 'g').test(el.label));\n }, [houseList]);\n\n const onChangeFlat = useCallback(async(event) => {\n const value = event.target.value;\n if (value?.length <= MAX_FLAT_LENGTH) {\n if (!isFlatFillStarted) {\n gtmSenderCallback('address verification apartment number');\n setIsFlatFillStarted(true);\n }\n dispatch(setFlat(value || ''));\n sendAddressData({\n ...address,\n flat: value || '',\n });\n }\n }, [address, sendAddressData, gtmSenderCallback, isFlatFillStarted]);\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default AddressInputFields;\n","import getHousesList from '@r1-frontend/api-domru/api-profile/v1/address/get-house-list';\nimport { doRequest } from '@r1-frontend/do-request';\n\nimport { getStreets } from '~/src/api/content/street';\n\n// @deprecated\nexport const parseGetHousesResp = (data) => {\n if (!Array.isArray(data)) {\n return [];\n }\n\n return data.map((item) => ({\n id: Number(item.house_id.data[0].value),\n number: String(item.house_num.data[0].value),\n }));\n};\n\n// получаем данные для улицы, чтобы отправить заявку потенциального клиента\nexport const getStreetData = async() => {\n const resp = await getStreets({ providerId: 47, term: 'Программистов' });\n const street = resp.isSuccess && resp.items?.length ? resp.items[0] : {};\n\n const data = await doRequest.apiProfile(\n getHousesList({ streetId: street.street_id }),\n );\n\n if (data.isSuccess) {\n const house = parseGetHousesResp(data)\n .filter(\n item => item.number.toLowerCase() === '1',\n )[0] || data[0];\n\n return {\n street: street.street_id,\n streetName: 'Программистов',\n house: '1',\n houseId: house.id,\n office: '1',\n };\n } else {\n return {\n street: '1',\n streetName: 'Программистов',\n house: '1',\n houseId: '1',\n office: '1',\n };\n }\n};\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\nimport { RequestDto } from './dto/RequestDto';\n\n/**\n * @deprecated использовать новую адреску!!!\n */\nconst getHouseList = (body: RequestDto): IRequest => ({\n uri: '/v1/address/get-house-list',\n method: 'POST',\n withAuth: false,\n withProvider: true,\n body: JSON.stringify(body),\n});\n\nexport type { RequestDto };\n\nexport default getHouseList;\n","import { IRequest } from '@r1-frontend/shared/types/IRequest';\n\nimport { RequestDto } from './dto/RequestDto';\n\n/**\n * Получение информации об адресе\n */\nexport const addressInfo = (providerId: number, request: RequestDto): IRequest => ({\n uri: `/v1/${providerId}/sale-agent/address-company`,\n method: 'POST',\n body: JSON.stringify(request),\n withProvider: true,\n});\n","import isEqual from 'lodash/isEqual';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport { addressInfo } from '@r1-frontend/api-domru/full-buy/v1/sale-agent/address-company';\nimport { ResponseDto } from '@r1-frontend/api-domru/full-buy/v1/sale-agent/address-company/dto/ResponseDto';\nimport { ESaleAgentClientName } from '@r1-frontend/api-domru/full-buy/v1/sale-agent/saleAgentTypes';\nimport { selectAddressByString } from '@r1-frontend/entities/ContactAddress/selectors/selectAddressByString';\n\nimport { IAddress } from '@r1-frontend/shared/types/IAddress';\nimport { ICitiesOption, ISelectInputOption } from '@r1-frontend/shared/types/ISelectInputOption';\nimport { TDispatch } from '@r1-frontend/shared/types/Redux';\n\nimport { EContactDetailTypes, TSetAddressVerifiationAction } from '../index';\nimport { EAvailableSpeed, EVerificationStatus, IContactAddressState, IVerifiedAddressData } from '../initialState';\n\nexport const setAddressVerification = ({\n address,\n gigabitAvail,\n isPrivate,\n isHouseConnected,\n companyId,\n\n availableSpeed,\n isHouseCottage,\n}: Omit): TSetAddressVerifiationAction => {\n return ({\n type: EContactDetailTypes.SET_VERIFIED_ADDRESS,\n payload: {\n verifiedAddressData: {\n address,\n gigabitAvail,\n availableSpeed,\n isPrivate,\n isHouseConnected,\n companyId,\n status: EVerificationStatus.verified,\n isHouseCottage,\n },\n },\n });\n};\n\nexport const setAddressVerificationStatus = (currentVerifiedAddressData: IVerifiedAddressData, newStatus: EVerificationStatus): TSetAddressVerifiationAction => {\n return ({\n type: EContactDetailTypes.SET_VERIFIED_ADDRESS,\n payload: {\n verifiedAddressData: {\n ...currentVerifiedAddressData,\n status: newStatus,\n },\n },\n });\n};\n\ninterface NotNullAddress extends IAddress {\n city: ICitiesOption,\n street: ISelectInputOption,\n house: ISelectInputOption,\n flat: string,\n}\n\nconst getNotNullAddressData = (editedAddressData: IAddress | null): NotNullAddress | null => {\n if (!editedAddressData) {\n return null;\n }\n const { city, street, house, flat } = editedAddressData;\n\n if (!city || !street || !house) {\n return null;\n }\n\n return {\n city,\n street,\n house,\n flat: flat || '',\n };\n};\n\n/**\n * Проверка доступности услуг на адресе\n *\n * @param checkBySelectedTariff флаг указывающий на необоходимость \"глубокой\" проверки пришедших данных по адресу\n * @param isMono флаг выбанной моно услуги, в противном случае кп\n *\n * По умолчанию оба флага задизейблены для обратной совместимости\n */\nexport const checkAddress = (checkBySelectedTariff = false, isMono = false, gtmSenderCallback?: (action: string) => void) => {\n return async(dispatch: TDispatch, getState: () => IContactAddressState): Promise => {\n const state = getState();\n let availableSpeed = EAvailableSpeed.between100and1000;\n\n const { editedAddressData, verifiedAddressData } = state.contactAddress;\n\n const addressData = getNotNullAddressData(editedAddressData);\n\n if (!addressData) {\n return;\n }\n\n if (isEqual(addressData, verifiedAddressData.address)) {\n return;\n }\n\n const { city, street, house, flat } = addressData;\n\n const houseLabel = house?.label;\n const houseLabelHasSlash = houseLabel.includes('/');\n const houseNum = houseLabelHasSlash ? houseLabel.substring(0, houseLabel.indexOf('/')) : houseLabel;\n const buildNum = houseLabelHasSlash ? houseLabel.substring(houseLabel.indexOf('/') + 1) : '';\n\n const data = {\n street: street?.value,\n houseNum: houseNum,\n office: flat,\n houseBuild: buildNum,\n saleAgentClientName: ESaleAgentClientName.FULL_BUY_SITE,\n address: selectAddressByString(state),\n };\n\n const { providerId } = city.value;\n\n dispatch(setAddressVerificationStatus(verifiedAddressData, EVerificationStatus.verifying));\n\n const resp = await doRequest.fullBuy(\n addressInfo(providerId, data),\n );\n\n let analyticsMessage = 'error';\n\n if (resp.isSuccess) {\n const [firstElement] = resp.payload.result;\n const isPrivate = resp.payload.houseFeatures.isPrivate || 0;\n let isHouseConnected: boolean;\n\n if (firstElement && checkBySelectedTariff) {\n isHouseConnected = isMono ? Boolean(firstElement.int) : Boolean(firstElement.domrutv && firstElement.int);\n } else {\n isHouseConnected = !!firstElement;\n }\n\n const { gigabitAvail, gigabitPlusAvailable } = resp.payload;\n\n if (gigabitAvail === 0) {\n availableSpeed = EAvailableSpeed.lessOrEqual100;\n }\n\n if (gigabitPlusAvailable === 1 || gigabitPlusAvailable === 2) {\n availableSpeed = EAvailableSpeed.more1000;\n }\n\n const companyId = firstElement?.company_id || 0;\n\n dispatch(setAddressVerification({\n address: addressData,\n gigabitAvail, // remove\n isHouseConnected,\n companyId,\n isPrivate, // remove\n\n isHouseCottage: Boolean(isPrivate),\n availableSpeed,\n }));\n\n if (isHouseConnected) {\n analyticsMessage = gigabitAvail ? 'success' : 'success_100mb';\n }\n } else {\n dispatch(setAddressVerificationStatus(verifiedAddressData, EVerificationStatus.error));\n }\n\n typeof gtmSenderCallback === 'function' && gtmSenderCallback(analyticsMessage);\n };\n};\n","import { IAddress } from '@r1-frontend/shared/types/IAddress';\n\nimport { EContactDetailTypes, TFillAddressAction } from '../index';\n\nexport const fillAddressAction = (address: IAddress): TFillAddressAction => {\n return ({\n type: EContactDetailTypes.FILL_ADDRESS,\n payload: {\n editedAddressData: address,\n },\n });\n};\n","import { IAddress } from '@r1-frontend/shared/types/IAddress';\n\nexport const getAddressByStr = (address: IAddress | null): string => {\n if (!address) {\n return '';\n }\n\n const { city, street, house, flat } = address;\n\n if (!city || !street || !house) {\n return '';\n }\n\n return `г.\\u00A0${city.label}, ул.\\u00A0${street.label},\\u00A0${house.label},\\u00A0${flat || ''}`;\n};\n","import { IContactAddressState } from '@r1-frontend/entities/ContactAddress/initialState';\n\nexport const isAddressFilled = (state: IContactAddressState): boolean => {\n const {\n contactAddress: {\n editedAddressData,\n },\n } = state;\n\n const {\n street,\n house,\n flat,\n } = editedAddressData || {};\n\n return Boolean(street?.value) && Boolean(house?.value) && Boolean(flat);\n};\n","import { IContactAddressState } from '@r1-frontend/entities/ContactAddress/initialState';\n\nimport { getAddressByStr } from './helpers';\n\nexport const selectAddressByString = (state: IContactAddressState): string => {\n const {\n contactAddress: {\n editedAddressData: address,\n },\n } = state;\n\n return getAddressByStr(address);\n};\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAxOCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljk5OTUxIDEuNzVDNS4yNzczNSAxLjc1IDIuMjUgNC43OTQ3OCAyLjI1IDguNTYzMjlDMi4yNSAxMC45NTY2IDMuNjc5OTkgMTMuMzkxNSA1LjM2MTA5IDE1LjI4NDNDNi4xOTA0NyAxNi4yMTgxIDcuMDUyMjYgMTYuOTg3IDcuNzY4MTMgMTcuNTE2NUM4LjEyNjg5IDE3Ljc4MTkgOC40Mzc3NCAxNy45Nzg4IDguNjgwNDMgMTguMTA1NkM4Ljg2NTQ1IDE4LjIwMjMgOC45NjY0MSAxOC4yMzQyIDguOTk5NTEgMTguMjQ0OEM5LjAzMjYzIDE4LjIzNDIgOS4xMzM2MSAxOC4yMDIyIDkuMzE4NjYgMTguMTA1NkM5LjU2MTM4IDE3Ljk3ODggOS44NzIyNyAxNy43ODE5IDEwLjIzMTEgMTcuNTE2NUMxMC45NDcgMTYuOTg3IDExLjgwOSAxNi4yMTggMTIuNjM4NSAxNS4yODQyQzE0LjMxOTggMTMuMzkxNCAxNS43NSAxMC45NTY1IDE1Ljc1IDguNTYzMjlDMTUuNzUgNC43OTQ5MSAxMi43MjE4IDEuNzUgOC45OTk1MSAxLjc1Wk0wLjc1IDguNTYzMjlDMC43NSAzLjk3ODQ5IDQuNDM2ODUgMC4yNSA4Ljk5OTUxIDAuMjVDMTMuNTYyIDAuMjUgMTcuMjUgMy45NzgzNiAxNy4yNSA4LjU2MzI5QzE3LjI1IDExLjUwNTEgMTUuNTI5MiAxNC4yODg2IDEzLjc1OTkgMTYuMjgwNEMxMi44NjQxIDE3LjI4ODkgMTEuOTI1OCAxOC4xMjg4IDExLjEyMzEgMTguNzIyNUMxMC43MjI1IDE5LjAxODggMTAuMzQ0NCAxOS4yNjIxIDEwLjAxMzEgMTkuNDM1MUM5LjcxODIzIDE5LjU4OTIgOS4zNDY5NiAxOS43NSA4Ljk5OTUxIDE5Ljc1QzguNjUyMDUgMTkuNzUgOC4yODA3OSAxOS41ODkyIDcuOTg1OTIgMTkuNDM1MUM3LjY1NDYyIDE5LjI2MjEgNy4yNzY1OCAxOS4wMTg3IDYuODc2MDggMTguNzIyNUM2LjA3MzQzIDE4LjEyODcgNS4xMzUyNSAxNy4yODg4IDQuMjM5NTcgMTYuMjgwM0MyLjQ3MDUzIDE0LjI4ODUgMC43NSAxMS41MDUxIDAuNzUgOC41NjMyOVpNNS43NSA4LjUwMDUxQzUuNzUgNi43MDUwMiA3LjIwNTAyIDUuMjUgOS4wMDA1MSA1LjI1QzEwLjc5NTIgNS4yNSAxMi4yNSA2LjcwNTIyIDEyLjI1IDguNTAwNTFDMTIuMjUgMTAuMjk1IDEwLjc5NSAxMS43NSA5LjAwMDUxIDExLjc1QzcuMjA1MjIgMTEuNzUgNS43NSAxMC4yOTUyIDUuNzUgOC41MDA1MVpNOS4wMDA1MSA2Ljc1QzguMDMzNDUgNi43NSA3LjI1IDcuNTMzNDUgNy4yNSA4LjUwMDUxQzcuMjUgOS40NjYzNSA4LjAzMzI1IDEwLjI1IDkuMDAwNTEgMTAuMjVDOS45NjY1NSAxMC4yNSAxMC43NSA5LjQ2NjU1IDEwLjc1IDguNTAwNTFDMTAuNzUgNy41MzMyNSA5Ljk2NjM1IDYuNzUgOS4wMDA1MSA2Ljc1WiIgZmlsbD0iI0M1QzZDNyIvPgo8L3N2Zz4K\""],"names":["getStreets","params","providerId","term","page","fields","withSatelliteFilter","response","contentRequest","isSuccess","payload","data","items","captureQueryError","timerId","getFilterStreets","searchParams","fetchStreets","resp","Promise","resolve","clearTimeout","setTimeout","EActionTypes","addressFieldsReducer","state","action","type","getInitialState","selectedCity","initCity","streetText","selectedStreet","initStreet","houseText","selectedHouse","initHouse","houseList","flat","initFlat","initState","setSelectedStreet","option","SET_SELECTED_STREET","fetchHouseList","streetId","list","doRequest","getHousesList","console","log","parseGetHousesResp","map","el","value","id","label","number","Btn","styled","AddressInputFields","wideBreakpoints","InputElement","InputSimple","DropDown","Select","DropdownIndicator","require","OPTION_KEYS","valueKey","labelKey","setFocusByRef","elementRef","current","focus","dropdownProps","asyncMode","cacheOptions","isSearchable","isClearable","components","loadingMessage","noOptionsMessage","inputValue","noOptionsMessageHouse","catchAddressData","disableCityChange","isDisableFields","defaultAddress","gtmSenderCallback","onClickCityChange","rest","isSetFocus","useRef","flatInput","streetDropDown","houseDropDown","useState","isFlatFillStarted","setIsFlatFillStarted","useSelector","citiesOptions","selectCitiesOptionWithProvider","optionKeys","currentCity","getCurrentCity","city","provider","domain","name","useReducer","dispatch","address","useMemo","street","house","getHouseList","useCallback","houses","SET_HOUSE_LIST","useEffect","SET_DATA","sendAddressData","addressValue","onChangeCity","SET_SELECTED_CITY","setSelectedCity","onChangeStreet","searchText","text","SET_STREET_TEXT","onChangeHouse","SET_HOUSE_TEXT","onSelectStreet","onHouseSelect","SET_SELECTED_HOUSE","setSelectedHouse","loadStreetsOptions","street_id","street_name","loadHouseOptions","filter","includes","RegExp","test","onChangeFlat","event","target","length","SET_FLAT","ST","className","isActive","onClick","placeholder","defaultValue","options","onChange","isDisabled","openMenuOnClick","loadOptions","onInputChange","selectRef","dataTest","ref","disabled","inputType","data-test","Array","isArray","item","Number","house_id","String","house_num","getStreetData","toLowerCase","streetName","houseId","office","body","uri","method","withAuth","withProvider","JSON","stringify","addressInfo","request","setAddressVerification","gigabitAvail","isPrivate","isHouseConnected","companyId","availableSpeed","isHouseCottage","EContactDetailTypes","verifiedAddressData","status","EVerificationStatus","setAddressVerificationStatus","currentVerifiedAddressData","newStatus","getNotNullAddressData","editedAddressData","checkAddress","checkBySelectedTariff","isMono","getState","addressData","houseLabel","houseLabelHasSlash","houseNum","buildNum","analyticsMessage","firstElement","gigabitPlusAvailable","EAvailableSpeed","contactAddress","isEqual","substring","indexOf","houseBuild","saleAgentClientName","ESaleAgentClientName","selectAddressByString","result","houseFeatures","Boolean","int","domrutv","company_id","fillAddressAction","getAddressByStr","isAddressFilled","module","exports"],"sourceRoot":""}