{"version":3,"file":"static/chunks/1281-333567cb72e05fb2.js","mappings":"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","sources":["webpack://_N_E/./src/features/yandex-landing/InputBlock/styled.ts","webpack://_N_E/./src/features/yandex-landing/InputBlock/index.tsx","webpack://_N_E/./src/features/yandex-landing/FeedbackForm/styled.ts","webpack://_N_E/./src/features/yandex-landing/FeedbackForm/index.tsx","webpack://_N_E/./src/features/yandex-landing/constants/index.ts","webpack://_N_E/../../packages/ui-react/src/tokens/mediaWidth.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport InputSimple, { nameDecorator, phoneDecorator } from '@r1-frontend/ui-react/components/inputSimple';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakPoints } from '~/src/constants/breakpoints';\nimport { BreakPointsMFirst } from '~/src/constants/breakpoints';\n\nconst InputPhoneDecorator = phoneDecorator(InputSimple);\nconst InputNameDecorator = nameDecorator(InputSimple);\n\nconst CommonInputCss = css`\n width: 277px;\n\n @media (max-width: ${breakPoints.mobile}) {\n width: 254px;\n margin-bottom: 0;\n }\n`;\n\nexport const InputPhone = styled(InputPhoneDecorator)`\n ${CommonInputCss};\n\n @media (min-width: ${BreakPointsMFirst.mobile}) and (max-width: ${breakPoints.tablet}) {\n margin-left: 14px;\n }\n`;\n\nexport const InputName = styled(InputNameDecorator)`\n ${CommonInputCss};\n`;\n\nexport const ThrobberGlobal = styled.div`\n position: fixed;\n left: 50%;\n top: 50%;\n z-index: 3;\n`;\n\nexport const CallbackButton = styled(BaseButton)`\n width: 289px;\n ${FONTS.S};\n`;\n\nexport const DoubleButtonComponent = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n`;\n\nexport const AgreeTextWrap = styled.div`\n cursor: default;\n ${FONTS.XXS};\n align-items: center;\n\n @media (max-width: ${breakPoints.mobile}) {\n font-size: 10px;\n }\n`;\n\nexport const AgreeTextUnderLine = styled.a`\n ${FONTS.MediumXXS};\n color: ${COLORS.Link};\n`;\n","import React, { Dispatch, SetStateAction, useCallback, useMemo, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport {\n requestByConnection,\n RequestDto,\n ResponseDto,\n} from '@r1-frontend/api-domru/api-request/v1/user/request-by-connection';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { PolicyNote } from '@r1-frontend/ui-react/components/PolicyNote';\nimport { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { IndentContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { EProductsId } from '@r1-frontend/shared/types/EProductsId';\n\nimport { fullBuyEquipAnalyticsBase } from '~/src/analytics';\nimport type { TField } from '~/src/components/RequestForm';\nimport { POLICY_PAGE_LINK } from '~/src/constants';\nimport type { IPopupProps } from '~/src/features/router/order-card';\nimport type { IProps } from '~/src/features/yandex-landing/InputBlock/types';\nimport { selectCsrf } from '~/src/store/selectors/auth/selectCsrf';\n\nimport * as ST from './styled';\n\nconst getPopupResultData = ({ result, message } : { result: boolean, message: string }): Omit => {\n return {\n isResultOpened: true,\n resultType: result ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n resultTitle: result ? 'Заявка отправлена' : 'Произошла ошибка',\n resultText: message || (result ? 'Мы свяжемся с вами в ближайшее время' : 'Что-то пошло не так, попробуйте позже.'),\n };\n};\n\nconst InputBlock: React.FC = ({\n setPopup,\n setIsLoading,\n phone,\n name,\n setPhone,\n setName,\n isValid,\n withoutName,\n withoutAgreement,\n InputWrapperComponent,\n InputNameComponent,\n InputPhoneComponent,\n ButtonWrapperComponent,\n ButtonComponent,\n buttonTitle,\n namePlaceholder,\n buttonType,\n agreeAboveButton,\n options,\n}) => {\n const csrf = useSelector(selectCsrf);\n const [beenStarted, setDataLayer] = useState(false);\n\n const onChangeHandlerInput = useCallback((stateInput: TField, _setState: Dispatch>) => {\n if (!beenStarted && stateInput.value) {\n setDataLayer(true);\n }\n _setState(stateInput);\n }, [beenStarted, options]);\n\n const openPopupResult = useCallback((result: boolean, message: string) => {\n if (options?.name) {\n fullBuyEquipAnalyticsBase.applicationForm(options?.name);\n }\n setPopup({ ...getPopupResultData({ result, message }) });\n }, [setPopup, options]);\n\n const onSubmit = useCallback(async() => {\n setIsLoading(true);\n\n let params: RequestDto = {\n fio: name.value || 'инкогнито',\n phone: phone.value,\n product_id: [EProductsId.internet],\n csrf,\n };\n\n if (options) {\n params = {\n ...params,\n cost_type: options.type ? options.type : 5,\n internet_equipment_id: options.internet_equipment_id,\n leasing_duration: options.value,\n };\n }\n\n const resp = await doRequest.apiRequest(requestByConnection(params));\n if (resp.isSuccess) {\n const { status, message } = resp.payload;\n const ok = !!status;\n\n openPopupResult(ok, message);\n } else {\n openPopupResult(false, 'Не удалось отправить заявку. Пожалуйста, попробуйте еще раз.');\n }\n setIsLoading(false);\n }, [name.value, phone.value, options]);\n\n const onChangeName = useCallback((stateInput: TField) => {\n onChangeHandlerInput(stateInput, setName);\n }, [onChangeHandlerInput, setName]);\n\n const onChangePhone = useCallback((stateInput: TField) => {\n onChangeHandlerInput(stateInput, setPhone);\n }, [onChangeHandlerInput, setPhone]);\n\n const InputWrapper = useMemo(() => {\n return InputWrapperComponent || React.Fragment;\n }, [InputWrapperComponent]);\n\n const InputName = useMemo(() => {\n return InputNameComponent || ST.InputName;\n }, [InputNameComponent]);\n\n const InputPhone = useMemo(() => {\n return InputPhoneComponent || ST.InputPhone;\n }, [InputPhoneComponent]);\n\n const ButtonWrapper = useMemo(() => {\n return ButtonWrapperComponent || React.Fragment;\n }, [ButtonWrapperComponent]);\n\n const CallbackButton = useMemo(() => {\n return ButtonComponent || ST.CallbackButton;\n }, [ButtonComponent]);\n\n const buttonText = buttonTitle || 'Перезвоните мне';\n\n return (\n \n {!withoutName && }\n \n \n {!agreeAboveButton && }\n {!withoutAgreement &&\n \n \n }\n {!!agreeAboveButton && \n \n }\n \n \n );\n};\n\nexport default InputBlock;\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { H3 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const ThrobberGlobal = styled.div`\n position: fixed;\n left: 50%;\n top: 50%;\n z-index: 3;\n`;\n\nexport const TextFeedbackWrapper = styled.div`\n flex-direction: column;\n gap: 8px;\n position: relative;\n`;\n\nexport const SubTextFeedback = styled.div`\n ${FONTS.S};\n justify-content: center;\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.XS};\n }\n`;\n\nexport const TitleFeedback = styled(H3)`\n ${FONTS.H2};\n\n @media (max-width: ${wideBreakpoints.sDesktop}) {\n ${FONTS.H3};\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.H4};\n text-align: center;\n }\n`;\n","import React, { forwardRef, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport Throbber from '@r1-frontend/ui-react/components/loaders/Throbber';\n\nimport PopupResult from '~/src/components/Popups/PopupResult';\nimport type { TField } from '~/src/components/RequestForm';\nimport type { IPopupProps } from '~/src/features/router/order-card';\nimport { initialPopupState, STATE_DEFAULT_INPUTS } from '~/src/features/yandex-landing/constants';\nimport InputBlock from '~/src/features/yandex-landing/InputBlock';\n\nimport type { IFeedbackForm } from './types';\n\nimport * as ST from './styled';\n\nconst FeedbackForm = forwardRef(({\n city,\n title,\n TitleComponent,\n subtitle,\n Container,\n withoutName,\n withoutAgreement,\n FormWrapper,\n InputWrapperComponent,\n InputNameComponent,\n InputPhoneComponent,\n ButtonWrapperComponent,\n ButtonComponent,\n buttonTitle,\n namePlaceholder,\n buttonType,\n AdditionTopComponent,\n AdditionBottomComponent,\n agreeAboveButton,\n options,\n}, callbackFormRef): JSX.Element => {\n const [phone, setPhone] = useState(STATE_DEFAULT_INPUTS);\n const [name, setName] = useState(STATE_DEFAULT_INPUTS);\n const [isValid, setValid] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [popup, setPopup] = useState>({\n ...initialPopupState,\n });\n\n useEffect(() => {\n setValid((withoutName || name.isValid) && phone.isValid);\n }, [withoutName, name, phone]);\n\n const closePopup = useCallback(() => {\n name.clearInput();\n phone.clearInput();\n setPopup((state) => ({\n ...state,\n isResultOpened: false,\n }));\n }, [name, phone]);\n\n const TitleFeedback = useMemo(() => {\n return TitleComponent || ST.TitleFeedback;\n }, [TitleComponent]);\n\n const ContainerFeedbackForm = useMemo(() => {\n return Container || React.Fragment;\n }, [Container]);\n\n const FeedbackFormWrapper = useMemo(() => {\n return FormWrapper || React.Fragment;\n }, [FormWrapper]);\n\n return (\n \n {!!AdditionTopComponent && AdditionTopComponent}\n \n {(title || subtitle) && \n {title && \n {title}\n }\n {subtitle && \n {subtitle}\n }\n }\n \n {isLoading && }\n \n {!!AdditionBottomComponent && AdditionBottomComponent}\n \n \n );\n});\n\nFeedbackForm.displayName = 'FeedbackFormWithForwardedRef';\nexport default FeedbackForm;\n","import { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\n\nimport type { TField } from '~/src/components/RequestForm';\nimport type { IPopupProps } from '~/src/features/router/order-card';\n\n/**\n * Кол-во слайдов в секции каталог для tablet\n *\n * @name data.COUNT_SLIDE_TABLET\n * @type {number}\n */\nexport const COUNT_SLIDE_TABLET = 2;\n\n/**\n * Кол-во слайдов в секции каталог для mobile\n *\n * @name data.COUNT_SLIDE_MOBILE\n * @type {number}\n */\nexport const COUNT_SLIDE_MOBILE = 1;\n\n/**\n * Базовый урл фоновой картинки хедера\n *\n * @name data.HEADER_IMG_URL\n * @type {string}\n */\nexport const HEADER_IMG_URL = '/static/images/yandex-landing/header-img-';\n\n/**\n * Кол-во пунктов в подсекции умная колонка (карусель)\n *\n * @name data.COUNT_CAROUSEL_SUB_ITEMS\n * @type {number}\n */\nexport const COUNT_CAROUSEL_SUB_ITEMS = 3;\n\n/**\n * Красный цвет для чекбоксов\n *\n * @name data.RED_COLOR_CHECKBOX\n * @type {string}\n */\nexport const RED_COLOR_CHECKBOX = '#e30813';\n\n/**\n * Категории блоков раздела \"Ваши плюсы\"\n *\n * @name data.EPlusesCategory\n * @type {enum}\n */\nexport enum EPlusesCategory {\n musicAndMovie = 'musicAndMovie',\n useNow = 'useNow',\n freeDelivery = 'freeDelivery',\n installment = 'installment',\n}\n\n/**\n * Начальное состояние попапа\n *\n * @name utils.initialPopupState\n * @returns {Omit}\n */\nexport const initialPopupState: Omit = {\n isResultOpened: false,\n resultTitle: '',\n resultText: '',\n resultType: EResultPopupStatus.SUCCESS,\n};\n\n/**\n * Кол-во слайд блоков в секции умная колонка\n *\n * @name utils.CAROUSEL_STATION_COUNT_SLIDES\n * @returns {number}\n */\nexport const CAROUSEL_STATION_COUNT_SLIDES = 5;\n\n/**\n * Цена в секции хедере\n *\n * @name utils.PRICE_OF_ECONOMY\n * @returns {string}\n */\nexport const PRICE_OF_ECONOMY = '1 097';\n\n/**\n * Изначальное состояние инпутов формы ос\n *\n * @name utils.STATE_DEFAULT_INPUTS\n * @returns {TField}\n */\nexport const STATE_DEFAULT_INPUTS: TField = {\n value: '',\n isValid: false,\n clearInput: () => undefined,\n};\n\n/**\n * Путь ко всей статике страницы\n *\n * @name data.DEFAULT_URL\n * @type {string}\n */\nexport const DEFAULT_URL = '/static/images/yandex-landing/';\n\n/**\n * Путь к изображениям Яндекс станций\n *\n * @name data.STATION_IMG_URL\n * @type {string}\n */\nexport const STATION_IMG_URL = `${DEFAULT_URL}stations/yandex-station-`;\n\n/**\n * Схема для постороения grid-таблицы с areas\n *\n * @name data.GRID_ORDER_CATEGORY\n * @type {[key: string]: Record}\n */\nexport const GRID_ORDER_CATEGORY: { [key: string]: Record } = {\n desktop: {\n firstRow: `${EPlusesCategory.musicAndMovie} ${EPlusesCategory.musicAndMovie} ${EPlusesCategory.musicAndMovie}`,\n secondRow: `${EPlusesCategory.freeDelivery} ${EPlusesCategory.installment} ${EPlusesCategory.useNow}`,\n },\n tablet: {\n firstRow: `${EPlusesCategory.musicAndMovie} ${EPlusesCategory.freeDelivery}`,\n secondRow: `${EPlusesCategory.installment} ${EPlusesCategory.useNow}`,\n },\n mobile: {\n firstRow: `${EPlusesCategory.musicAndMovie}`,\n secondRow: `${EPlusesCategory.freeDelivery}`,\n thirdRow: `${EPlusesCategory.installment}`,\n fourthRow: `${EPlusesCategory.useNow}`,\n },\n};\n","/**\n * Медиавыражения для определения соответствия документа определенному разрешению\n *\n * @name data.EMediaWidth\n * @type {enum}\n */\nexport enum EMediaWidth {\n sDesktop = '(max-width: 1365px)',\n sDesktopMin = '(min-width: 1366px)',\n sDesktopOnly = '(max-width: 1365px) and (min-width: 1023px)',\n tablet = '(max-width: 1023px)',\n tabletOnly = '(max-width: 1023px) and (min-width: 768px)',\n mobile = '(max-width: 767px)',\n}\n"],"names":["InputPhoneDecorator","phoneDecorator","InputSimple","InputNameDecorator","nameDecorator","CommonInputCss","css","breakPoints","InputPhone","styled","BreakPointsMFirst","InputName","CallbackButton","BaseButton","FONTS","DoubleButtonComponent","COLORS","setPopup","setIsLoading","phone","name","setPhone","setName","isValid","withoutName","withoutAgreement","InputWrapperComponent","InputNameComponent","InputPhoneComponent","ButtonWrapperComponent","ButtonComponent","buttonTitle","namePlaceholder","buttonType","agreeAboveButton","options","csrf","useSelector","selectCsrf","useState","beenStarted","setDataLayer","onChangeHandlerInput","useCallback","stateInput","_setState","value","openPopupResult","result","message","fullBuyEquipAnalyticsBase","isResultOpened","resultType","EResultPopupStatus","resultTitle","resultText","getPopupResultData","onSubmit","params","resp","status","fio","product_id","EProductsId","cost_type","type","internet_equipment_id","leasing_duration","doRequest","requestByConnection","isSuccess","payload","onChangeName","onChangePhone","InputWrapper","useMemo","React","ST","ButtonWrapper","buttonText","onChange","errorMessage","placeholder","className","btnTypes","text","onClick","disabled","IndentContainer","$united","PolicyNote","agreeUrl","POLICY_PAGE_LINK","style","display","flex","TextFeedbackWrapper","SubTextFeedback","wideBreakpoints","TitleFeedback","H3","FeedbackForm","forwardRef","callbackFormRef","city","title","TitleComponent","subtitle","Container","FormWrapper","AdditionTopComponent","AdditionBottomComponent","STATE_DEFAULT_INPUTS","setValid","isLoading","initialPopupState","popup","useEffect","closePopup","clearInput","state","ContainerFeedbackForm","FeedbackFormWrapper","ref","InputBlock","Throbber","position","waitStatus","PopupResult","isOpen","onClose","displayName","COUNT_SLIDE_TABLET","COUNT_SLIDE_MOBILE","HEADER_IMG_URL","COUNT_CAROUSEL_SUB_ITEMS","EPlusesCategory","musicAndMovie","useNow","freeDelivery","installment","CAROUSEL_STATION_COUNT_SLIDES","DEFAULT_URL","STATION_IMG_URL","GRID_ORDER_CATEGORY","desktop","firstRow","secondRow","tablet","mobile","thirdRow","fourthRow","EMediaWidth"],"sourceRoot":""}