{"version":3,"file":"static/chunks/1976-0ac046f9a70dce59.js","mappings":"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","sources":["webpack://_N_E/./src/components/CheckAddressMapConnect/constants.ts","webpack://_N_E/./src/components/ThrobberWithBg/index.tsx","webpack://_N_E/./src/components/CheckAddressMapConnect/ResultForm/constants.ts","webpack://_N_E/./src/components/CheckAddressMapConnect/EditableAddressForm/styled.ts","webpack://_N_E/./src/components/CheckAddressMapConnect/EditableAddressForm/index.tsx","webpack://_N_E/../../packages/entities/src/ContactDetail/selectors/isPersonDataFilled.ts","webpack://_N_E/./src/components/CheckAddressMapConnect/EditableContactsForm/styled.ts","webpack://_N_E/./src/components/CheckAddressMapConnect/EditableContactsForm/index.tsx","webpack://_N_E/./src/components/CheckAddressMapConnect/ResultForm/styled.ts","webpack://_N_E/./src/components/CheckAddressMapConnect/ResultForm/index.tsx","webpack://_N_E/./src/components/CheckAddressMapConnect/styled.ts","webpack://_N_E/./src/components/CheckAddressMapConnect/index.tsx","webpack://_N_E/./src/components/PersonForm/index.tsx","webpack://_N_E/./src/helpers/hooks/useAnaliticsSender.ts","webpack://_N_E/./src/helpers/storage.ts","webpack://_N_E/../../packages/api-domru/src/full-buy/v1/sale-agent/saleAgentTypes.ts","webpack://_N_E/../../packages/entities/src/ContactAddress/actions/resetAddress.ts","webpack://_N_E/../../packages/entities/src/ContactDetail/actions/fillFio.ts","webpack://_N_E/../../packages/entities/src/ContactDetail/actions/fillPhone.ts"],"sourcesContent":["export const DEFAULT_IMAGE_MAP_WEBP = '/static/images/map/defaultmap.webp';\nexport const DEFAULT_IMAGE_MAP_JPG = '/static/images/map/defaultmap.jpg';\n","import styled from 'styled-components';\n\nimport Throbber from '@r1-frontend/ui-react/components/loaders/Throbber';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\n\nexport const BgThrobber = styled(Throbber)`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n background-color: rgba(0,0,0,0.1);\n border-radius: ${BorderRadius.OuterBlockRadius};\n`;\n","export enum EConnectStatuses {\n DEFAULT = 'DEFAULT',\n CONNECT = 'CONNECT',\n NOT_CONNECT = 'NOT_CONNECT',\n NOT_GIGABIT = 'NOT_GIGABIT',\n}\n\ntype TVar = Record\n\nexport const titles: TVar = {\n DEFAULT: 'Проверить возможность подключения',\n CONNECT: 'В вашем доме можно подключить любой тариф',\n NOT_CONNECT: 'Проверить возможность подключения',\n NOT_GIGABIT: 'Тарифы, доступные в вашем доме',\n};\n\nexport const additionalBtnText: TVar = {\n DEFAULT: '',\n CONNECT: 'Все тарифы',\n NOT_CONNECT: 'Оставить заявку',\n NOT_GIGABIT: 'Все тарифы 100 Мбит/с',\n};\n\nexport const texts: TVar = {\n DEFAULT: '',\n CONNECT: 'Вот наши самые популярные и выгодные тарифы: выберите любой и настройте под себя.',\n NOT_CONNECT: 'Оставьте заявку на звонок, и мы вам позвоним. Посоветуем выгодные тарифы и расскажем, как их подключить.',\n NOT_GIGABIT: '',\n};\n\nexport const alertText: TVar = {\n DEFAULT: '',\n CONNECT: 'Услуги можно подключить',\n NOT_CONNECT: 'Пока ваш дом не подключен к Дом.ру.',\n NOT_GIGABIT: 'Пока в вашем доме можно подключить только тариф с максимальной скоростью 100 Мбит/с.',\n};\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const EditableAddressForm = styled.div`\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n row-gap: 12px;\n width: 100%;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n align-items: stretch;\n }\n`;\n\nexport const AgreeWrap = styled.div`\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: auto;\n gap: 12px;\n align-items: flex-start;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n align-items: stretch;\n }\n`;\n\nexport const BlockWrap = styled.div`\n width: 100%;\n flex-direction: column;\n`;\n\nexport const BlockTitle = styled.div`\n margin-bottom: 12px;\n ${FONTS.S};\n color: ${COLORS.TextPrimary};\n`;\n","import { memo, useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { fillAddressAction } from '@r1-frontend/entities/ContactAddress/actions/fillAddress';\nimport { isAddressFilled } from '@r1-frontend/entities/ContactAddress/selectors/isAddressFilled';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { BaseButton, btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { PolicyNote } from '@r1-frontend/ui-react/components/PolicyNote';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { IAddress } from '@r1-frontend/shared/types/IAddress';\n\nimport AddressInputFields from '~/src/components/AddressInputFields';\nimport { openCitySelect } from '~/src/components/CitySelectContainer/store/actionCreators';\nimport { POLICY_PAGE_LINK } from '~/src/constants';\nimport { TState } from '~/src/store';\n\nimport * as ST from './styled';\n\nconst sendGtmEvent = (action: string) => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: 'main-page',\n action,\n });\n};\n\nexport type TProps = {\n onConfirmBtnClick: () => void,\n}\n\nconst EditableAddressForm = ({\n onConfirmBtnClick,\n}: TProps): JSX.Element => {\n const dispatch = useDispatch();\n\n const {\n isConfirmButtonActive,\n } = useSelector((state: TState) => ({\n isConfirmButtonActive: isAddressFilled(state),\n }));\n\n const onFillAddress = useCallback((address: IAddress) => {\n dispatch(fillAddressAction(address));\n }, [dispatch]);\n\n const openCitySelectPopup = useCallback(() => dispatch(openCitySelect()), [dispatch]);\n\n const buttonText = 'Проверить адрес';\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default memo(EditableAddressForm);\n","import { IContactDetailsState } from '@r1-frontend/entities/ContactDetail/initialState';\n\nexport const isPersonDataFilled = (state: IContactDetailsState): boolean => {\n const {\n contactDetails: {\n editedPhone,\n editedFio,\n },\n } = state;\n\n return Boolean(editedFio) && Boolean(editedPhone);\n};\n","import styled from 'styled-components';\n\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\n\nexport const EditableContactsForm = styled.div`\n position: relative;\n display: grid;\n flex-wrap: nowrap;\n align-items: flex-start;\n grid-template-columns: 532px min-content min-content;\n gap: 12px 16px;\n width: 100%;\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n grid-template-columns: 532px;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n grid-template-columns: 1fr;\n align-items: stretch;\n }\n`;\n\nexport const BtnWrap = styled.div`\n display: flex;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 12px 16px;\n width: 100%;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n } \n`;\n\nexport const Button = styled(BaseButton)`\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 100%;\n }\n`;\n","import { memo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport { requestByConnection, ResponseDto } from '@r1-frontend/api-domru/api-request/v1/user/request-by-connection';\nimport { fillFioAction } from '@r1-frontend/entities/ContactDetail/actions/fillFio';\nimport { fillPhoneAction } from '@r1-frontend/entities/ContactDetail/actions/fillPhone';\nimport { isPersonDataFilled } from '@r1-frontend/entities/ContactDetail/selectors/isPersonDataFilled';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { useResultPopup } from '@r1-frontend/ui-react/components/popups/useResultPopup';\n\nimport { PersonForm } from '~/src/components/PersonForm';\nimport { BgThrobber } from '~/src/components/ThrobberWithBg';\nimport { TState } from '~/src/store';\nimport { selectCsrf } from '~/src/store/selectors/auth/selectCsrf';\n\nimport * as ST from './styled';\n\nexport type TContactDetailsCallbacks = {\n onClickChangeAddress: () => void,\n}\n\nconst EditableContactsForm = ({\n onClickChangeAddress,\n}: TContactDetailsCallbacks): JSX.Element => {\n const [isLoading, setIsLoading] = useState(false);\n const [PopupResult, showResult] = useResultPopup();\n\n const {\n fio,\n phone,\n isPersonData,\n csrf,\n } = useSelector((state: TState) => ({\n fio: state.contactDetails.editedFio,\n phone: state.contactDetails.editedPhone,\n isPersonData: isPersonDataFilled(state),\n csrf: selectCsrf(state),\n }));\n\n const dispatch = useDispatch();\n\n const onFillFio = (_person: string) => {\n dispatch(fillFioAction(_person));\n };\n\n const onFillPhone = (_phone: string) => {\n dispatch(fillPhoneAction(_phone));\n };\n\n const onSendRequest = async() => {\n setIsLoading(true);\n\n const resp = await doRequest.apiRequest(\n requestByConnection({\n petition: 'create_request',\n fio,\n phone,\n product_id: [0],\n csrf,\n }),\n );\n if (resp.isSuccess) {\n showResult({\n type: EResultPopupStatus.SUCCESS,\n title: 'Заявка на подключение отправлена',\n text: resp.payload.message,\n });\n } else {\n showResult({\n type: EResultPopupStatus.ERROR,\n title: 'Произошла ошибка',\n text: 'Не удалось отправить заявку. Пожалуйста, попробуйте еще раз.',\n });\n }\n\n setIsLoading(false);\n };\n\n return (\n \n \n \n \n \n\n \n\n {isLoading && }\n \n );\n};\n\nexport default memo(EditableContactsForm);\n","import styled from 'styled-components';\n\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const AlertWrap = styled.div`\n margin-top: 4px;\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n margin-top: 8px;\n }\n`;\n\nexport const ResultForm = styled.div`\n width: 100%;\n flex-direction: column;\n align-items: flex-start;\n row-gap: 16px;\n`;\n\nexport const AlertText = styled.div`\n ${FONTS.S};\n\n & > b {\n display: contents;\n ${FONTS.MediumS};\n }\n`;\n\nexport const Text = styled.div`\n ${FONTS.S};\n color: ${COLORS.TextInfo};\n`;\n\nexport const BtnWrap = styled.div`\n display: flex;\n flex-wrap: nowrap;\n align-items: flex-start;\n gap: 12px 16px;\n width: 100%;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n flex-direction: column;\n } \n`;\n\nexport const Button = styled(BaseButton)`\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: 100%;\n }\n`;\n","import { useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useRouter } from 'next/router';\n\nimport { resetAddress } from '@r1-frontend/entities/ContactAddress/actions/resetAddress';\nimport { EVerificationStatus } from '@r1-frontend/entities/ContactAddress/initialState';\n\nimport Alert from '@r1-frontend/ui-react/components/Alert';\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport InfoCircle from '@r1-frontend/ui-react/components/svg/main/InfoCircle';\n\nimport EditableContactsForm from '~/src/components/CheckAddressMapConnect/EditableContactsForm';\nimport { ADDRESS_PARAM_NAME } from '~/src/features/full-buy/consts';\nimport { getFullBuyRoute } from '~/src/features/full-buy/helpers';\nimport { ETariffFilters } from '~/src/features/full-buy/store/initialState';\nimport { useAnalyticsSender } from '~/src/helpers/hooks/useAnaliticsSender';\nimport { setSessionStorageByKey } from '~/src/helpers/storage';\nimport { TState } from '~/src/store';\n\nimport {\n additionalBtnText,\n alertText,\n EConnectStatuses,\n texts,\n} from './constants';\n\nimport * as ST from './styled';\n\ninterface IProps {\n connectStatus: EConnectStatuses,\n}\n\nexport const ResultForm = (\n {\n connectStatus,\n }: IProps,\n): JSX.Element => {\n const router = useRouter();\n const dispatch = useDispatch();\n const sendAnalytics = useAnalyticsSender('address verification');\n\n const { verifiedAddressData } = useSelector((state: TState) => ({\n verifiedAddressData: state.contactAddress.verifiedAddressData,\n }));\n\n const saveVerifiedAddress = useCallback(() => {\n if (verifiedAddressData.status === EVerificationStatus.verified) {\n setSessionStorageByKey(ADDRESS_PARAM_NAME, verifiedAddressData);\n }\n }, [verifiedAddressData]);\n\n const onClickChangeAddress = useCallback(() => {\n dispatch(resetAddress());\n }, [dispatch]);\n\n const onExecuteAction = () => {\n if (connectStatus === EConnectStatuses.NOT_GIGABIT) {\n saveVerifiedAddress();\n const newRoute = getFullBuyRoute({\n filters: [ETariffFilters.SPEED100],\n });\n sendAnalytics('move_only_100', '/full-buy');\n router.push(newRoute);\n } else if (connectStatus === EConnectStatuses.CONNECT) {\n sendAnalytics('move_all_tariffs', '/bundles');\n router.push('/bundles');\n }\n };\n\n return (\n \n {(connectStatus !== EConnectStatuses.CONNECT) &&\n \n \n \n \n \n }\n\n {!!texts[connectStatus] &&\n {texts[connectStatus]}\n }\n\n {connectStatus === EConnectStatuses.NOT_CONNECT &&\n \n }\n\n {connectStatus !== EConnectStatuses.NOT_CONNECT &&\n \n \n \n \n }\n \n );\n};\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nconst paddings = {\n desktop: 256,\n sDesktop: 161,\n laptop: 140,\n tablet: 96,\n};\n\nconst dividedKoef = 6;\n\nconst getBg = (src: string, padding: number) => `linear-gradient(to right, transparent ${padding / dividedKoef}px, ${COLORS.BgSurface} ${padding}px), url(${src})`;\nconst getMBg = (src: string, padding: number) => `linear-gradient(to bottom, transparent ${padding / 2 / dividedKoef}px, ${COLORS.BgSurface} ${padding}px), url(${src})`;\n\nexport const CheckAddressConnect = styled.div<{ imgSrc: string}>`\n position: relative;\n flex-direction: column;\n width: 100%;\n margin: 80px 0;\n padding: 32px;\n padding-left: ${paddings.desktop}px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background-color: ${COLORS.BgSurface};\n\n background-image: ${p => getBg(p.imgSrc, paddings.desktop)};\n background-repeat: no-repeat;\n background-position: left top;\n background-size: contain;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n background-image: ${p => getBg(p.imgSrc, paddings.sDesktop)};\n padding-left: ${paddings.sDesktop}px;\n }\n\n @media (max-width: ${wideBreakpoints.laptop}) {\n background-image: ${p => getBg(p.imgSrc, paddings.laptop)};\n padding-left: ${paddings.laptop}px;\n }\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n padding: ${paddings.tablet}px 16px 24px 16px;\n background-image: ${p => getMBg(p.imgSrc, paddings.tablet)};\n background-position: center top; \n background-size: 100% auto;\n }\n`;\n\nexport const Title = styled.div`\n margin-bottom: 8px;\n ${FONTS.H2};\n\n @media (max-width: ${wideBreakpoints.tablet}) {\n margin-bottom: 4px;\n ${FONTS.H4};\n }\n`;\n\nexport const Text = styled.div`\n margin-bottom: 16px;\n ${FONTS.S};\n color: ${COLORS.TextInfo};\n`;\n","/* eslint-disable complexity */\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { checkAddress } from '@r1-frontend/entities/ContactAddress/actions/checkAddress';\nimport { resetAddress } from '@r1-frontend/entities/ContactAddress/actions/resetAddress';\nimport { EVerificationStatus } from '@r1-frontend/entities/ContactAddress/initialState';\nimport { getAddressByStr } from '@r1-frontend/entities/ContactAddress/selectors/helpers';\n\nimport { useWebp } from '@r1-frontend/shared/hooks/useWebp';\n\nimport { BgThrobber } from '~/src/components/ThrobberWithBg';\nimport { useAnalyticsSender } from '~/src/helpers/hooks/useAnaliticsSender';\nimport { TState } from '~/src/store';\nimport { selectCompanyName } from '~/src/store/selectors/city';\n\nimport { EConnectStatuses, titles } from './ResultForm/constants';\nimport { DEFAULT_IMAGE_MAP_JPG, DEFAULT_IMAGE_MAP_WEBP } from './constants';\nimport EditableAddressForm from './EditableAddressForm';\nimport { ResultForm } from './ResultForm';\n\nimport * as ST from './styled';\n\nconst CheckAddressMapConnect = (): JSX.Element => {\n const dispatch = useDispatch();\n const sendAnalytics = useAnalyticsSender('address verification');\n const isWepbSupported = useWebp();\n\n const {\n addressStatus,\n verifiedAddressData,\n currentCity,\n companyName,\n } = useSelector((state: TState) => ({\n addressStatus: state.contactAddress.verifiedAddressData.status,\n verifiedAddressData: state.contactAddress.verifiedAddressData,\n currentCity: state.city.currentCity,\n companyName: selectCompanyName(state),\n }));\n\n const connectStatus = useMemo(() => {\n const addressStr = getAddressByStr(verifiedAddressData.address);\n const { isHouseConnected, gigabitAvail, status } = verifiedAddressData;\n\n if (status !== EVerificationStatus.verified) {\n return EConnectStatuses.DEFAULT;\n }\n\n if (!isHouseConnected) {\n sendAnalytics('error', addressStr);\n return EConnectStatuses.NOT_CONNECT;\n }\n\n if (!gigabitAvail) {\n sendAnalytics('success_only_100', addressStr);\n return EConnectStatuses.NOT_GIGABIT;\n }\n\n sendAnalytics('success', addressStr);\n return EConnectStatuses.CONNECT;\n }, [verifiedAddressData]);\n\n useEffect(() => {\n return () => {\n dispatch(resetAddress());\n };\n }, []);\n\n const checkAddressConnect = useCallback(() => dispatch(checkAddress()), []);\n\n const cityImage = isWepbSupported ? currentCity.image_map_webp : currentCity.image_map;\n const defaultImage = isWepbSupported ? DEFAULT_IMAGE_MAP_WEBP : DEFAULT_IMAGE_MAP_JPG;\n\n return (\n \n {titles[connectStatus]}\n\n {addressStatus !== EVerificationStatus.verified &&\n <>\n \n Укажите ваш адрес, а мы проверим, подключён ли ваш дом к {companyName} и подберём подходящий тариф.\n \n \n \n }\n\n {addressStatus === EVerificationStatus.verified &&\n \n }\n\n {addressStatus === EVerificationStatus.verifying && }\n \n );\n};\n\nexport default CheckAddressMapConnect;\n","import React, { useCallback } from 'react';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport { ResponseDto } from '@r1-frontend/api-domru/dadata/suggest/dto/ResponseDto';\nimport suggestFio from '@r1-frontend/api-domru/dadata/suggest/fio';\n\nimport { IPersonFormProps, PersonForm as PersonFormComponent } from '@r1-frontend/ui-react/organisms/Forms/PersonForm';\n\ntype TProps = Omit;\n\nexport const PersonForm = ({\n fio,\n phone,\n onChangeFio,\n onChangePhone,\n isNeedToBlockInvalidFio = false,\n actionButtonProps,\n}: TProps): JSX.Element => {\n const onLoadSuggestions = useCallback(async(value) => {\n const resp = await doRequest.dadataProxy(\n suggestFio(value),\n );\n\n return resp.isSuccess\n ? resp.payload?.suggestions.map(suggestion => suggestion.value)\n : [];\n }, []);\n\n return (\n \n );\n};\n","\nimport { useCallback } from 'react';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { isClientSide } from '@r1-frontend/shared/helpers/ssr';\n\nconst analiticsSender = (category: string, action: string, label?: string) => {\n isClientSide() && dataLayerPush({\n event: EVENTS.UAevent,\n category,\n action,\n label,\n });\n};\n\n/**\n * Возвращает функцию для отправки аналитики\n */\nexport const useAnalyticsSender = (category: string) => {\n return useCallback((action: string, label?: string): void => {\n analiticsSender(category, action, label);\n }, [category]);\n};\n\n/**\n * Возвращает функцию для отправки аналитики, без useCallback\n */\nexport const getAnalyticsSender = (category: string) => {\n return (action: string, label?: string): void => {\n analiticsSender(category, action, label);\n };\n};\n","import { isServerSide } from '@r1-frontend/shared/helpers/ssr';\n\n// Записывает объект в хранилище sessionStorage\nexport const setSessionStorageByKey = (key: string, params: Record): boolean => {\n if (isServerSide()) {\n return false;\n }\n\n try {\n sessionStorage.setItem(key, JSON.stringify(params));\n return true;\n } catch {\n return false;\n }\n};\n\n// Возвращает объект из хранилища sessionStorage\nexport const getSessionStorageByKey = (key: string): Record | null => {\n if (isServerSide()) {\n return null;\n }\n\n try {\n const values = sessionStorage.getItem(key);\n return values ? JSON.parse(values) : null;\n } catch {\n return null;\n }\n};\n\n// Возвращает объект из хранилища с нужным типом\nexport const getSessionStorageDataWithTypes = (key: string): T | null => {\n if (isServerSide()) {\n return null;\n }\n\n const dataString = sessionStorage.getItem(key);\n\n if (dataString) {\n const parsedData: T = JSON.parse(dataString);\n return parsedData;\n }\n return null;\n};\n\n// Удаляет объект из хранилища по ключу\nexport const removeSessionStorageDataByKey = (key: string): void => {\n if (!isServerSide()) {\n sessionStorage.removeItem(key);\n }\n};\n","export enum ESaleAgentClientName {\n FULL_BUY_SITE = 'FULL_BUY_SITE',\n FULL_BUY_EQUIPMENT_SITE = 'FULL_BUY_EQUIPMENT_SITE',\n}\n","import { EContactDetailTypes, TResetData } from '../index';\nimport { initialState } from '../initialState';\n\nexport const resetAddress = (): TResetData => ({\n type: EContactDetailTypes.RESET_DATA,\n payload: initialState,\n});\n","import { EContactDetailTypes, TFillFioAction } from '../index';\n\nexport const fillFioAction = (fio: string): TFillFioAction => ({\n type: EContactDetailTypes.FILL_FIO,\n payload: {\n editedFio: fio,\n },\n});\n","import { EContactDetailTypes, TFillPhoneAction } from '../index';\n\nexport const fillPhoneAction = (phone: string): TFillPhoneAction => ({\n type: EContactDetailTypes.FILL_PHONE,\n payload: {\n editedPhone: phone,\n },\n});\n"],"names":["DEFAULT_IMAGE_MAP_WEBP","DEFAULT_IMAGE_MAP_JPG","BgThrobber","styled","Throbber","BorderRadius","EConnectStatuses","DEFAULT","CONNECT","NOT_CONNECT","NOT_GIGABIT","titles","additionalBtnText","texts","alertText","EditableAddressForm","wideBreakpoints","AgreeWrap","BlockWrap","sendGtmEvent","FONTS","COLORS","action","dataLayerPush","event","EVENTS","category","onConfirmBtnClick","dispatch","useDispatch","useSelector","state","isConfirmButtonActive","isAddressFilled","onFillAddress","useCallback","address","fillAddressAction","openCitySelectPopup","openCitySelect","buttonText","ST","AddressInputFields","catchAddressData","disableCityChange","gtmCategory","CATEGORIES","gtmSenderCallback","onClickCityChange","PolicyNote","agreeUrl","POLICY_PAGE_LINK","BaseButton","data-test","type","btnTypes","text","onClick","disabled","memo","isPersonDataFilled","contactDetails","editedPhone","editedFio","Boolean","EditableContactsForm","BtnWrap","Button","onClickChangeAddress","useState","isLoading","setIsLoading","useResultPopup","PopupResult","showResult","fio","phone","isPersonData","csrf","selectCsrf","onSendRequest","resp","doRequest","requestByConnection","petition","product_id","isSuccess","EResultPopupStatus","title","payload","message","PersonForm","onChangeFio","_person","fillFioAction","onChangePhone","_phone","fillPhoneAction","isNeedToBlockInvalidFio","actionButtonProps","children","AlertWrap","ResultForm","AlertText","Text","connectStatus","router","useRouter","sendAnalytics","useAnalyticsSender","verifiedAddressData","contactAddress","saveVerifiedAddress","status","EVerificationStatus","setSessionStorageByKey","ADDRESS_PARAM_NAME","resetAddress","Alert","Icon","InfoCircle","dangerouslySetInnerHTML","__html","newRoute","getFullBuyRoute","filters","ETariffFilters","push","paddings","getBg","src","padding","CheckAddressConnect","p","imgSrc","getMBg","Title","isWepbSupported","useWebp","addressStatus","currentCity","city","companyName","selectCompanyName","useMemo","addressStr","getAddressByStr","isHouseConnected","gigabitAvail","useEffect","checkAddressConnect","checkAddress","cityImage","image_map_webp","image_map","defaultImage","className","onLoadSuggestions","value","suggestFio","suggestions","map","suggestion","PersonFormComponent","analiticsSender","label","isClientSide","getAnalyticsSender","key","params","isServerSide","sessionStorage","setItem","JSON","stringify","getSessionStorageByKey","values","getItem","parse","getSessionStorageDataWithTypes","dataString","removeSessionStorageDataByKey","removeItem","ESaleAgentClientName","FULL_BUY_SITE","FULL_BUY_EQUIPMENT_SITE","EContactDetailTypes","initialState"],"sourceRoot":""}