{"version":3,"file":"static/chunks/5355-0501d188b62e6cfe.js","mappings":"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","sources":["webpack://_N_E/./src/components/CheckboxFilters/styled.ts","webpack://_N_E/./src/components/CheckboxFilters/index.tsx","webpack://_N_E/./src/components/FiltersForTariffs/index.tsx","webpack://_N_E/./src/components/FiltersForTariffs/styled.ts","webpack://_N_E/./src/components/TariffLine/index.tsx","webpack://_N_E/./src/components/TariffLine/styled.ts","webpack://_N_E/./src/components/TariffLineCarousel/index.tsx","webpack://_N_E/./src/features/internet/internet-represent/styled.ts","webpack://_N_E/../../packages/ui-react/src/components/controls/baseCheckbox/styled.ts","webpack://_N_E/../../packages/ui-react/src/components/controls/baseCheckbox/index.tsx","webpack://_N_E/../../packages/ui-react/src/assets/img/check-promo.svg","webpack://_N_E/../../packages/ui-react/src/assets/img/check-white.svg"],"sourcesContent":["import styled from 'styled-components';\n\nimport BaseCheckbox from '@r1-frontend/ui-react/components/controls/baseCheckbox';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakePoints } from '~/src/features/internet/internet-represent/styled';\n\nexport const CheckboxFilters = styled.div`\n display: flex;\n margin-left: 24px;\n\n @media (max-width: ${breakePoints.tablet}) {\n width: 100%;\n margin-top: 24px;\n margin-left: 0;\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n flex-direction: column;\n }\n`;\n\nexport const CheckboxWrap = styled.div`\n margin-left: 24px;\n user-select: none;\n`;\n\nexport const SBaseCheckbox = styled(BaseCheckbox)`\n ${FONTS.MediumXS};\n`;\n","import { TCheckboxType } from '@r1-frontend/ui-react/components/controls/baseCheckbox';\n\nimport * as ST from './styled';\n\nexport interface ICheckboxItem {\n id: string,\n checked: boolean,\n checkType?: TCheckboxType,\n disabled: boolean,\n label: string,\n}\n\ninterface IPropsCheckboxFilters {\n items: ICheckboxItem[],\n onChange: (id: string) => void,\n className?: string,\n}\n\nexport const CheckboxFilters = ({ items, onChange, className }: IPropsCheckboxFilters): JSX.Element => {\n return (\n \n {items.map(item => {\n return (\n \n onChange(item.id)}\n >\n {item.label}\n \n \n );\n })}\n \n );\n};\n","import { FC } from 'react';\n\nimport { ICheckboxItem } from '~/src/components/CheckboxFilters';\nimport { TMenuItem } from '~/src/components/FilterMenu';\nimport FilterMenu from '~/src/components/FilterMenu';\n\nimport * as ST from './styled';\n\ninterface IProps {\n activeItem: number,\n hasCityTariffs: boolean,\n hasVillageTariffs: boolean,\n tariffFiltersData: ICheckboxItem[],\n tariffSwitcherData: TMenuItem[],\n onToggleFilter: (id: string) => void,\n className?: string,\n}\n\nexport const FiltersForTariffs: FC = ({\n hasCityTariffs,\n hasVillageTariffs,\n tariffFiltersData,\n tariffSwitcherData,\n onToggleFilter,\n activeItem,\n className,\n}) => {\n const hasBothTariffs = hasCityTariffs && hasVillageTariffs;\n return (\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';\n\nimport { CheckboxFilters } from '~/src/components/CheckboxFilters';\n\nexport const FiltersForTariffs = styled.div`\n width: 100%;\n align-items: center;\n justify-content: space-beetwen;\n flex-direction: row;\n margin-bottom: 16px;\n gap: 24px;\n`;\n\nexport const TariffSwitcherWrap = styled.div<{isDisplay: boolean}>`\n display: ${p => p.isDisplay ? 'block' : 'none'};\n`;\n\nexport const SCheckboxFilters = styled(CheckboxFilters)`\n margin-top: 0;\n margin-left: 0;\n\n div:first-child {\n margin-left: 0;\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n div {\n margin-left: 0;\n \n &:not(:last-child) {\n margin-bottom: 16px;\n }\n }\n }\n`;\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { doRequest } from '@r1-frontend/do-request';\nimport {\n ERequestStatus,\n requestByConnection,\n RequestDto,\n ResponseDto,\n} from '@r1-frontend/api-domru/api-request/v1/user/request-by-connection';\n\nimport PopupCallBack from '@r1-frontend/ui-react/components/popups/popupCallback';\nimport { EResultPopupStatus } from '@r1-frontend/ui-react/components/popups/popupResult';\nimport { CATEGORIES } from '@r1-frontend/shared/constants/analytics';\nimport { isClientSide } from '@r1-frontend/shared/helpers/ssr';\n\nimport PopupResult from '~/src/components/Popups/PopupResult';\nimport { ISubmitParams } from '~/src/components/RequestFormPhone';\nimport TariffCard from '~/src/components/TariffCard';\nimport { TariffLineCarousel } from '~/src/components/TariffLineCarousel';\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { selectCsrf } from '~/src/store/selectors/auth/selectCsrf';\n\nimport * as ST from './styled';\n\nexport enum ESortingKeys {\n WEIGHT = 'weight',\n INTERNET = 'sortOnInternet',\n INTERNET_LINES = 'sortOnInternetLines',\n BUNDLES = 'sortOnBundles',\n}\nexport interface ITariffLine {\n id: number,\n title: string,\n body: string,\n sort: number,\n tariffs: ITariff[],\n}\n\ninterface ITariffLineProps {\n isAuth?: boolean,\n line?: ITariffLine,\n baseTariffs?: ITariff[],\n sortField?: string,\n openPopup?: (tariff: ITariff) => void,\n className?: string,\n weight?: number | null,\n}\n\nconst TariffLine = ({\n line,\n isAuth = false,\n baseTariffs = [],\n sortField = ESortingKeys.WEIGHT,\n openPopup = () => ({}),\n className = '',\n}: ITariffLineProps): JSX.Element => {\n const [onClientSide, setOnClientSide] = useState(isClientSide());\n const csrf = useSelector(selectCsrf);\n\n useEffect(() => {\n setOnClientSide(isClientSide);\n }, []);\n\n const [showRequestFormPopup, setShowRequestFormPopup] = useState(false);\n const [salePackageId, setSalePackageId] = useState(0);\n\n const [popup, setPopup] = useState({\n isResultOpened: false,\n resultTitle: '',\n resultText: '',\n resultType: EResultPopupStatus.SUCCESS,\n });\n\n const openPopupResult = useCallback((ok: boolean, message: string) => {\n setPopup({\n isResultOpened: true,\n resultType: ok ? EResultPopupStatus.SUCCESS : EResultPopupStatus.ERROR,\n resultTitle: ok\n ? 'Заявка на подключение отправлена'\n : 'Произошла ошибка',\n resultText: ok ? 'Мы свяжемся с вами в ближайшее время' : message,\n });\n setShowRequestFormPopup(false);\n }, []);\n\n const submitRequest = useCallback(async(params: ISubmitParams) => {\n const dataParams: RequestDto = {\n fio: params.fio as string,\n phone: params.phone,\n product_id: [0],\n check_call_type: window && window.location.href,\n plan: salePackageId ? +salePackageId : undefined,\n csrf,\n };\n\n const resp = await doRequest.apiRequest(\n requestByConnection(dataParams),\n );\n\n if (resp.isSuccess) {\n const { status, message } = resp.payload;\n const ok = !!status;\n\n openPopupResult(ok, message);\n\n return { ok, message, status };\n } else {\n return {\n ok: false,\n message: 'Не удалось отправить заявку.',\n status: ERequestStatus.error,\n };\n }\n }, [salePackageId]);\n\n const closePopup = useCallback(() => {\n setPopup(state => ({\n ...state,\n isResultOpened: false,\n }));\n setShowRequestFormPopup(false);\n }, []);\n\n interface tariffSortingKeyAccessors {\n weight: string,\n sortOnInternet: string,\n sortOnInternetLines: string,\n sortOnBundles: string,\n }\n\n const sortedTariffsByKey = (receivedTariffs: ITariff[], keyToSort: keyof tariffSortingKeyAccessors) => {\n return [...receivedTariffs]\n .sort((a, b) => {\n const currObj = a[keyToSort];\n const nextObj = b[keyToSort];\n if (currObj !== 0 && nextObj === 0) {\n return 1;\n }\n if (currObj === 0 && nextObj !== 0) {\n return -1;\n }\n return currObj - nextObj;\n });\n };\n\n const preparedTariffs = useMemo(() => {\n const result = line ? line.tariffs : baseTariffs;\n switch (sortField) {\n case ESortingKeys.BUNDLES:\n return sortedTariffsByKey(result, ESortingKeys.BUNDLES);\n case ESortingKeys.INTERNET:\n return sortedTariffsByKey(result, ESortingKeys.INTERNET);\n case ESortingKeys.INTERNET_LINES:\n return sortedTariffsByKey(result, ESortingKeys.INTERNET_LINES);\n case ESortingKeys.WEIGHT:\n default:\n return sortedTariffsByKey(result, ESortingKeys.WEIGHT);\n }\n }, [baseTariffs, line, sortField]);\n\n const renderTariffCards = () => preparedTariffs.map((tariff) => (\n \n ));\n\n return (\n \n {(line && !!preparedTariffs.length) && (\n <>\n {line.title}\n \n \n )}\n {onClientSide\n ? \n {renderTariffCards()}\n \n : \n {renderTariffCards()}\n \n }\n setShowRequestFormPopup(false)}\n title={'Заявка на подключение'}\n buttonText={'Подключить'}\n submitRequest={(params) => submitRequest(params)}\n option={'popup'}\n category={CATEGORIES.applicationForm}\n />\n \n \n );\n};\n\nexport default TariffLine;\n","import styled from 'styled-components';\n\nimport GridContainer from '@r1-frontend/ui-react/components/layouts/gridContainer';\nimport NukaCarousel from '@r1-frontend/ui-react/components/NukaCarousel';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nconst breakpoints = {\n tablet: '1023px',\n mobile: '767px',\n};\n\nexport const LineContainer = styled(GridContainer)`\n flex-direction: column;\n padding-left: 0;\n padding-right: 0;\n width: 100%;\n`;\n\nexport const LineTitle = styled.h2`\n margin-bottom: 8px;\n ${FONTS.H2};\n color: ${COLORS.TextPrimary};\n\n @media (max-width: ${breakpoints.tablet}) {\n ${FONTS.H3};\n }\n\n @media (max-width: ${breakpoints.mobile}) {\n ${FONTS.H5}\n}\n`;\n\nexport const LineBody = styled.div`\n max-width: 530px;\n ${FONTS.XS};\n color: ${COLORS.TextSecondary};\n\n a {\n ${FONTS.MediumXS};\n color: ${COLORS.Link};\n transition: 0.3s;\n\n &:hover {\n color: ${COLORS.Brand_Blue};\n }\n }\n`;\n\nexport const CustomSwiper = styled(NukaCarousel)`\n padding-left: 0 !important;\n padding-right: 0 !important;\n\n & section,\n & div {\n outline: none;\n }\n\n & > section > div.slider-frame {\n padding: 24px 0 !important;\n }\n`;\n\nexport const NoSwiperContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n width: 100%;\n\n & > div {\n &:not(:last-child) {\n margin-right: 20px;\n }\n }\n`;\n\nexport const NotFoundTitle = styled.p`\n ${FONTS.S};\n color: ${COLORS.GRAY_DARK};\n margin: 16px 0;\n`;\n","import { ReactNode, useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport NukaCarousel from '@r1-frontend/ui-react/components/NukaCarousel';\nimport { useMatchMediaByWidth } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nenum EVisibleSlides {\n desktop = 4,\n sDesktop = 3,\n laptop = 2,\n}\n\ninterface IProps {\n children: ReactNode[],\n mobileSlideWidth: number,\n desktopSlideWidth: number,\n}\n\nconst TariffLineCarousel = styled(({ children, desktopSlideWidth, mobileSlideWidth, ...props }: IProps) => {\n const [hideArrows, setHideArrows] = useState(false);\n const [slideWidth, setSlideWidth] = useState(`${desktopSlideWidth}px`);\n const [slideIndex, setSlideIndex] = useState(0);\n\n const isDesktop = useMatchMediaByWidth(wideBreakpoints.sDesktop, true);\n const isSDesktop = useMatchMediaByWidth(wideBreakpoints.sDesktop);\n const isLaptop = useMatchMediaByWidth(wideBreakpoints.laptop);\n const isMobile = useMatchMediaByWidth(wideBreakpoints.mobile);\n\n useEffect(() => {\n setSlideIndex(0);\n\n if (isMobile) {\n setSlideWidth(`${mobileSlideWidth}px`);\n setHideArrows(true);\n } else {\n setSlideWidth(`${desktopSlideWidth}px`);\n\n if ((isLaptop && children.length > EVisibleSlides.laptop) ||\n (isSDesktop && children.length > EVisibleSlides.sDesktop) ||\n (isDesktop && children.length > EVisibleSlides.desktop)) {\n setHideArrows(false);\n } else {\n setHideArrows(true);\n }\n }\n }, [isDesktop, isSDesktop, isLaptop, isMobile, desktopSlideWidth, mobileSlideWidth]);\n\n return (\n \n {children}\n \n );\n})`\n padding-left: 0 !important;\n padding-right: 0 !important;\n\n & section,\n & div {\n outline: none;\n }\n\n & > section > div.slider-frame {\n padding: 24px 0 !important;\n }\n`;\n\nTariffLineCarousel.displayName = 'TariffLineCarousel';\n\nexport { TariffLineCarousel };\n","import styled from 'styled-components';\n\n// @ts-ignore\nimport GridContainer from '@r1-frontend/ui-react/components/layouts/gridContainer';\n\nexport const breakePoints = {\n lDesktop: '1600px',\n desktop: '1599px',\n sDesktop: '1365px',\n laptop: '1279px',\n tablet: '1023px',\n mobile: '767px',\n sMobile: '479px',\n};\n\nexport const InternetRepresent = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n`;\n\nexport const StyledGridContainer = styled(GridContainer)`\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n\n @media (max-width: ${breakePoints.desktop}) {\n padding-left: 0;\n padding-right: 0;\n }\n\n @media (max-width: ${breakePoints.mobile}) {\n padding-left: 16px;\n padding-right: 16px;\n }\n`;\n\nexport const PlankFormWrap = styled.div`\n position: fixed;\n z-index: 100;\n bottom: 0;\n width: 100%;\n\n @media (max-width: ${breakePoints.mobile}) {\n display: none;\n }\n`;\n","import styled, { css } from 'styled-components';\n\n// @ts-ignore\nimport promoMark from '../../../assets/img/check-promo.svg';\n// @ts-ignore\nimport checkMark from '../../../assets/img/check-white.svg';\nimport { COLORS } from '../../../tokens/colors';\nimport { checkboxSizes, getSizes, TControlSize } from '../baseControlsData';\n\nimport { TCheckboxType } from './index';\n\nconst BORDER_WIDTH = 2;\n\nconst getCheckboxSizes = (size: TControlSize) => getSizes(size, checkboxSizes);\n\ntype IStyleProps = {\n size: TControlSize,\n checkType: TCheckboxType,\n invertColor?: boolean,\n disabled: boolean,\n withLabel: boolean,\n}\n\nexport const Label = styled.label`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: center;\n margin: 0;\n padding: 0;\n ${p => getCheckboxSizes(p.size).font};\n color: ${({ disabled, invertColor }) =>\n disabled\n ? COLORS.TextDisabled\n : invertColor\n ? COLORS.TextWhite\n : COLORS.TextPrimary };\n user-select: none;\n cursor: ${p => p.disabled ? 'initial' : 'pointer'};\n\n input[type=\"checkbox\"] {\n appearance: none;\n position: relative;\n flex: 0 0 auto;\n width: ${p => getCheckboxSizes(p.size).inputSize}px;\n height: ${p => getCheckboxSizes(p.size).inputSize}px;\n margin: 0;\n margin-right: ${p => p.withLabel ? getCheckboxSizes(p.size).rMargin + 'px' : 0 };\n padding: 0;\n background-color: ${COLORS.BgMain};\n border-width: ${BORDER_WIDTH}px;\n border-style: solid;\n border-color: ${COLORS.Brand_Blue};\n border-radius: 6px;\n transition: .3s;\n outline: none;\n box-sizing: border-box;\n cursor: inherit;\n\n @media (hover: hover) {\n &:hover {\n border-color: ${COLORS.Link};\n }\n }\n\n &:required:invalid {\n border-color: ${COLORS.Error};\n background-color: ${COLORS.BgError};\n\n @media (hover: hover) {\n &:hover {\n border-color: ${COLORS.Link};\n background-color: ${COLORS.BgMain};\n }\n }\n }\n\n &:disabled {\n border-color: ${COLORS.GRAY_LIGHT};\n background-color: ${COLORS.GRAY_LIGHT};\n cursor: default;\n pointer-events: none;\n\n @media (hover: hover) {\n &:hover {\n border-color: ${COLORS.GRAY_LIGHT};\n }\n }\n }\n\n &:checked {\n border-color: ${ ({ invertColor }) => invertColor ? COLORS.BgSurface : COLORS.Control};\n background-color: ${ ({ invertColor }) => invertColor ? COLORS.BgSurface : COLORS.Control};\n\n &:after {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + ${BORDER_WIDTH}px);\n height: calc(100% + ${BORDER_WIDTH}px);\n background-color: ${ ({ invertColor }) => invertColor ? COLORS.Control : COLORS.BgMain};\n mask-image: url(${checkMark});\n mask-size: ${p => `${getCheckboxSizes(p.size).iconWidth}px ${getCheckboxSizes(p.size).iconHeight}px`};\n mask-position: center;\n mask-repeat: no-repeat;\n }\n\n @media (hover: hover) {\n &:hover {\n border-color: ${COLORS.Link};\n background-color: ${COLORS.Outline_Dark};\n }\n }\n\n &:disabled {\n border-color: ${COLORS.GRAY_LIGHT};\n background-color: ${COLORS.GRAY_LIGHT};\n pointer-events: none;\n\n &:after {\n background-color: ${COLORS.GRAY_DARK};\n }\n }\n }\n\n ${({ size, checkType }) => checkType === 'promo' && css`\n border-color: ${COLORS.Brand_Blue};\n\n &:before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n width: calc(100% + ${BORDER_WIDTH}px);\n height: calc(100% + ${BORDER_WIDTH}px);\n background-color: ${COLORS.Brand_Blue};\n mask-image: url(${promoMark});\n mask-size: ${getCheckboxSizes(size).promoIconSize}px;\n mask-position: center;\n mask-repeat: no-repeat;\n }\n\n @media (hover: hover) {\n &:hover {\n border-color: ${COLORS.Link};\n background-color: ${COLORS.Outline_Dark};\n\n &:before {\n background-color: ${COLORS.BgMain};\n }\n }\n }\n\n &:required:invalid {\n &:before {\n background-color: ${COLORS.Error};\n }\n }\n\n &:focus-visible {\n border-color: ${COLORS.Link};\n background-color: ${COLORS.Outline_Dark};\n\n &:before {\n background-color: ${COLORS.BgMain};\n }\n }\n\n &:checked:before,\n &:required:invalid:hover:before {\n display: none;\n }\n\n &:disabled {\n border-color: ${COLORS.GRAY_LIGHT};\n background-color: ${COLORS.GRAY_LIGHT};\n pointer-events: none;\n\n &:before {\n display: none;\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ${COLORS.GRAY_DARK};\n }\n }\n }\n `};\n }\n`;\n","import React, { FC, useCallback } from 'react';\n\nimport { TControlSize } from '../baseControlsData';\n\nimport { Label } from './styled';\n\nexport type TCheckboxType = 'default' | 'promo';\n\nexport interface ICheckboxProps {\n size?: TControlSize,\n checkType?: TCheckboxType,\n invertColor?: boolean,\n id?: string,\n name?: string,\n value?: string,\n checked?: boolean,\n disabled?: boolean,\n required?: boolean,\n onChange?: (event?: React.ChangeEvent) => void,\n className?: string,\n [key: string]: unknown,\n}\n\nconst BaseCheckbox: FC = ({\n size = 'XS',\n checkType = 'default',\n id,\n name = '',\n value = '',\n checked,\n disabled = false,\n required,\n children,\n onChange,\n className,\n ...props\n}) => {\n const onChangeHandler = useCallback((event: React.ChangeEvent) => {\n if (!disabled) {\n onChange && onChange(event);\n }\n }, [disabled, onChange]);\n\n return (\n \n \n {children}\n \n );\n};\n\nexport default BaseCheckbox;\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNzQ2MjE2IDYuMDM2ODhDMC43NDYyMTYgNS42MjI2NyAxLjA4MiA1LjI4Njg4IDEuNDk2MjIgNS4yODY4OEgxMC43MTYyQzExLjEzMDQgNS4yODY4OCAxMS40NjYyIDUuNjIyNjcgMTEuNDY2MiA2LjAzNjg4QzExLjQ2NjIgNi40NTEwOSAxMS4xMzA0IDYuNzg2ODggMTAuNzE2MiA2Ljc4Njg4SDEuNDk2MjJDMS4wODIgNi43ODY4OCAwLjc0NjIxNiA2LjQ1MTA5IDAuNzQ2MjE2IDYuMDM2ODhaIiBmaWxsPSIjRTMwODEzIi8+CjxwYXRoIGQ9Ik02LjEwNjIyIDExLjM5NjlDNS42OTIgMTEuMzk2OSA1LjM1NjIyIDExLjA2MTEgNS4zNTYyMiAxMC42NDY5TDUuMzU2MjIgMS40MjY4OEM1LjM1NjIyIDEuMDEyNjcgNS42OTIgMC42NzY4OCA2LjEwNjIyIDAuNjc2ODhDNi41MjA0MyAwLjY3Njg4IDYuODU2MjIgMS4wMTI2NyA2Ljg1NjIyIDEuNDI2ODhMNi44NTYyMiAxMC42NDY5QzYuODU2MjIgMTEuMDYxMSA2LjUyMDQzIDExLjM5NjkgNi4xMDYyMiAxMS4zOTY5WiIgZmlsbD0iI0UzMDgxMyIvPgo8L3N2Zz4K\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxNCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy41NjA3IDFDMTMuODUzNiAxLjI5Mjg5IDEzLjg1MzYgMS43Njc3NyAxMy41NjA3IDIuMDYwNjZMNi4yNDYyNyA5LjA2MzdDNS45NTM0MiA5LjM1NjU1IDUuNDc4NjMgOS4zNTY2IDUuMTg1NzIgOS4wNjM4MUwwLjg0MTU5MiA0LjcyMTA2QzAuNTQ4NjM4IDQuNDI4MjMgMC41NDg1MzggMy45NTMzNSAwLjg0MTM2OSAzLjY2MDRDMS4xMzQyIDMuMzY3NDQgMS42MDkwNyAzLjM2NzM0IDEuOTAyMDMgMy42NjAxOEw1LjcxNTgzIDcuNDcyODNMMTIuNSAxQzEyLjc5MjkgMC43MDcxMDcgMTMuMjY3OCAwLjcwNzEwNyAxMy41NjA3IDFaIiBmaWxsPSIjRkFGQUZBIi8+Cjwvc3ZnPgo=\""],"names":["CheckboxFilters","styled","breakePoints","CheckboxWrap","SBaseCheckbox","BaseCheckbox","FONTS","items","onChange","className","ST","map","item","id","checkType","checked","disabled","label","FiltersForTariffs","hasCityTariffs","hasVillageTariffs","tariffFiltersData","tariffSwitcherData","onToggleFilter","activeItem","hasBothTariffs","isDisplay","data-test","FilterMenu","TariffSwitcherWrap","p","SCheckboxFilters","wideBreakpoints","ESortingKeys","line","isAuth","baseTariffs","sortField","WEIGHT","openPopup","useState","isClientSide","onClientSide","setOnClientSide","csrf","useSelector","selectCsrf","useEffect","showRequestFormPopup","setShowRequestFormPopup","salePackageId","setSalePackageId","isResultOpened","resultTitle","resultText","resultType","EResultPopupStatus","popup","setPopup","openPopupResult","useCallback","ok","message","submitRequest","params","dataParams","resp","status","fio","phone","product_id","check_call_type","window","location","href","plan","undefined","doRequest","requestByConnection","isSuccess","payload","ERequestStatus","closePopup","state","sortedTariffsByKey","receivedTariffs","keyToSort","sort","a","b","currObj","nextObj","preparedTariffs","useMemo","result","tariffs","BUNDLES","INTERNET","INTERNET_LINES","renderTariffCards","tariff","TariffCard","openModal","productId","length","title","dangerouslySetInnerHTML","__html","body","TariffLineCarousel","desktopSlideWidth","mobileSlideWidth","PopupCallBack","isOpen","onClose","buttonText","option","category","CATEGORIES","PopupResult","text","type","breakpoints","LineContainer","GridContainer","LineTitle","COLORS","LineBody","CustomSwiper","NukaCarousel","NoSwiperContainer","EVisibleSlides","desktop","sDesktop","laptop","children","props","hideArrows","setHideArrows","slideWidth","setSlideWidth","slideIndex","setSlideIndex","isDesktop","useMatchMediaByWidth","isSDesktop","isLaptop","isMobile","afterSlide","withoutDots","withoutArrows","framePadding","cellSpacing","slidesToScroll","disableEdgeSwiping","easing","edgeEasing","displayName","lDesktop","tablet","mobile","sMobile","InternetRepresent","StyledGridContainer","getCheckboxSizes","size","getSizes","checkboxSizes","Label","font","invertColor","inputSize","withLabel","rMargin","checkMark","iconWidth","iconHeight","css","promoMark","promoIconSize","name","value","required","onChangeHandler","event","input","module","exports"],"sourceRoot":""}