{"version":3,"file":"static/chunks/1253.7abf0ebf4aa3d450.js","mappings":"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","sources":["webpack://_N_E/../../node_modules/lodash/_basePickBy.js","webpack://_N_E/../../node_modules/lodash/_baseSet.js","webpack://_N_E/../../node_modules/lodash/first.js","webpack://_N_E/../../node_modules/lodash/head.js","webpack://_N_E/../../node_modules/lodash/pickBy.js","webpack://_N_E/./src/features/tariffLines/Card/styled.tsx","webpack://_N_E/./src/features/tariffLines/Card/index.tsx","webpack://_N_E/./src/features/tariffLines/CardSwiper/index.tsx","webpack://_N_E/./src/features/tariffLines/header/styled.tsx","webpack://_N_E/./src/features/tariffLines/header/index.tsx","webpack://_N_E/./src/features/tariffLines/helpers.ts","webpack://_N_E/./src/features/tariffLines/SameCard/styled.tsx","webpack://_N_E/./src/features/tariffLines/SameCard/index.tsx","webpack://_N_E/./src/features/tariffLines/Section/styled.ts","webpack://_N_E/./src/features/tariffLines/Section/index.tsx","webpack://_N_E/./src/features/tariffLines/index.tsx","webpack://_N_E/./src/helpers/formatter.js","webpack://_N_E/./src/store/selectors/filteredBundles.ts","webpack://_N_E/../../packages/shared/src/helpers/pluralize/index.ts","webpack://_N_E/../../packages/shared/src/helpers/pluralize/predifined.ts","webpack://_N_E/../../packages/ui-react/src/deprecated/Accordion/themes.js","webpack://_N_E/../../packages/ui-react/src/deprecated/Accordion/index.js","webpack://_N_E/../../packages/ui-react/src/experimental/purchase/cost/Cost/RubleSymbol.ts","webpack://_N_E/../../packages/ui-react/src/experimental/purchase/cost/Cost/index.tsx","webpack://_N_E/../../packages/ui-react/src/experimental/purchase/cost/Cost/styled.ts","webpack://_N_E/./static/images/icons/arrow_right_white.svg"],"sourcesContent":["var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","module.exports = require('./head');\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nmodule.exports = head;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport styled, { css } from 'styled-components';\n\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\nimport arrowRight from '~/static/images/icons/arrow_right_white.svg';\n\nimport { breakpoints } from '~/src/features/tariffLines/styled';\n\nexport const CardWrapper = styled.div<{ bgColor?: string, withCellSpacing: boolean }>`\n display: flex;\n cursor: pointer;\n justify-content: space-around;\n position: relative;\n flex-wrap: nowrap;\n flex-direction: column;\n padding: 8px 8px 16px 8px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background: ${({ bgColor }) => bgColor || COLORS.BgSurface};\n width: 380px;\n min-height: 253px;\n transition: box-shadow .3s;\n ${({ withCellSpacing }) => withCellSpacing && css`\n margin-right: 24px;\n margin-bottom: 24px;\n \n @media (max-width: 480px) {\n margin-right: 12px;\n }\n `};\n \n @media (max-width: ${breakpoints.tablet}) {\n max-width: 360px;\n margin-right: 16px;\n }\n \n @media (max-width: ${breakpoints.mobile}) {\n max-width: 304px;\n }\n \n :hover {\n box-shadow: 0 12px 24px rgba(26, 26, 26, 0.06);\n }\n`;\n\nexport const ImageBlock = styled(LazyLoadImage)<{ src: string }>`\n width: 100%;\n background-size: cover;\n margin-bottom: 24px;\n border-radius: ${BorderRadius.InnerBlockRadius};\n`;\n\nexport const Bottom = styled.div`\n display: flex;\n position: relative;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const Text = styled.div`\n ${FONTS.H4};\n padding-left: 16px;\n max-width: 250px;\n @media (max-width: ${breakpoints.mobile}) {\n max-width: 240px;\n }\n`;\n\nexport const Button = styled.div`\n position: relative;\n height: 40px;\n width: 40px;\n right: 16px;\n cursor: pointer;\n background-image: url('${arrowRight}');\n`;\n\nexport const Header = styled.div`\n position: absolute;\n top: 26px;\n left: 34px;\n background: rgba(255, 255, 255, 0.3);\n color: #fff;\n padding: 4px 12px;\n border-radius: ${BorderRadius.labelRadius};\n`;\n","import React, { memo } from 'react';\n\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\n\nimport * as ST from './styled';\n\n// @todo Следует брать из api-domru/src/api-content/v1/tariff-lines\ninterface ILabel {\n id: number,\n title: string,\n}\n\n// @todo Следует брать из api-domru/src/api-content/v1/tariff-lines\nexport interface IContentsItem {\n id: number,\n title: string,\n image: string,\n image_webp: string,\n body: string,\n sort: number,\n labels?: ILabel[],\n}\n\ninterface ITariffLineCard {\n onBtnClick?: () => void,\n item: IContentsItem,\n}\n\nconst TariffLineCard = ({ onBtnClick, item }: ITariffLineCard) => {\n return (\n \n {item.labels?.map(label =>\n {label.title})}\n \n \n \n \n \n {item.title}\n \n \n \n \n );\n};\n\nexport default memo(TariffLineCard);\n","import React from 'react';\n\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport { CustomSwiper } from '~/src/components/TariffLine/styled';\n\ninterface IProps {\n slideWidth: string,\n children: React.ReactNode,\n\n}\n\nconst CardSwiper = ({ slideWidth, children }: IProps) => {\n const isMobile = useMatchMedia('(max-width: 767px)');\n\n return isMobile\n ? \n {children}\n \n: <>{children};\n};\n\nexport default CardSwiper;\n","import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport styled from 'styled-components';\n\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport GridContainer from '@r1-frontend/ui-react/components/layouts/gridContainer';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nconst breakpoints = {\n desktop: '1920px',\n tablet: '1121px',\n mobile: '767px',\n};\n\nexport const Wrapper = styled.div<{ webpUrl: string }>`\n width: 100%;\n ${({ webpUrl }) => `background-image: image-set(url(${webpUrl}) 1x)`};\n min-height: 447px;\n margin-bottom: 64px;\n padding: 0 90px;\n position: relative;\n\n @media (min-width: ${breakpoints.desktop}) {\n background-size: cover;\n }\n \n @media (max-width: ${breakpoints.tablet}) {\n padding: 0 0 0 16px;\n height: auto;\n }\n\n @media (max-width: ${breakpoints.mobile}) {\n margin-bottom: 32px;\n padding: 0;\n }\n`;\n\nexport const Container = styled(GridContainer)`\n @media (max-width: 1599px) {\n width: 100%;\n max-width: 1360px;\n padding: 0;\n }\n\n @media (max-width: ${breakpoints.mobile}) {\n padding: 0 16px;\n width:100%;\n }\n`;\n\nexport const Col = styled.div`\n display: flex;\n flex-direction: column;\n width: 50%;\n flex-basis: 50%;\n align-content: flex-start;\n \n @media (max-width: ${breakpoints.mobile}) {\n width: 100%;\n flex-basis: 100%;\n }\n`;\n\nexport const ImageCol = styled(Col)`\n @media (max-width: ${breakpoints.mobile}) {\n order: -1;\n }\n`;\n\nexport const Header = styled.h1`\n margin-top: 50px;\n margin-bottom: 8px;\n ${FONTS.H1};\n color: #fff;\n \n @media (max-width: 1365px) {\n ${FONTS.H3};\n }\n @media (max-width: ${breakpoints.mobile}) {\n ${FONTS.H4};\n }\n`;\n\nexport const Text = styled.div`\n ${FONTS.M}\n color: #fff;\n margin-bottom: 16px;\n \n & ul{\n list-style: disc;\n margin-left: 25px;\n }\n \n @media (max-width: ${breakpoints.mobile}) {\n ${FONTS.XS};\n }\n`;\n\nexport const Image = styled.div`\n object-fit: contain;\n width: 100%;\n height: 100%;\n align-content: center;\n @media (max-width: ${breakpoints.mobile}) {\n width: 100%;\n height: auto;\n }\n`;\n\nexport const ImageBlock = styled(LazyLoadImage)<{ src: string }>`\n background-size: cover;\n width: 100%;\n`;\n\nexport const Button = styled(BaseButton)`\n width: 165px;\n margin-bottom: 32px;\n @media (max-width: ${breakpoints.mobile}) {\n margin-bottom: 35px;\n }\n \n @media (max-width: ${breakpoints.tablet}) {\n margin-bottom: 50px;\n }\n`;\n","import React from 'react';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { NonStaticContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { AdvertisingLabelWithTooltip } from '@r1-frontend/ui-react/organisms/AdvertisingLabelWithTooltip';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\n\nimport * as ST from './styled';\n\ninterface IProps {\n scrollRef: React.RefObject,\n tariffLine: Record,\n}\n\nconst TariffLineHeader = ({ scrollRef, tariffLine }: IProps): JSX.Element => {\n const handleCLick = () => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffLines,\n action: 'click details line',\n label: '',\n });\n scrollRef?.current?.scrollIntoView();\n };\n\n return (\n \n {tariffLine.advertising && (\n \n \n \n )}\n \n \n \n \n \n {tariffLine.button_text || 'Что входит?'}\n \n \n {tariffLine.image_promo &&\n \n \n \n \n \n \n \n }\n \n \n );\n};\n\nexport default TariffLineHeader;\n","import reduce from 'lodash/reduce';\n\nimport { IBundlePackage } from '@r1-frontend/shared/types/tariff/bundle/IBundlePackage';\nimport { IInternetPackage } from '@r1-frontend/shared/types/tariff/mono/IInternetPackage';\n\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { ITariffs } from '~/src/entities/tariff-lines';\nimport { formattingBundleForCard, formattingTariffForCard } from '~/src/helpers/formatter';\n\ninterface ITariffsReduceByIsCottage{\n cottage: {\n bundles: ITariff[],\n mono: ITariff[],\n common: ITariff[],\n },\n notCottage: {\n bundles: ITariff[],\n mono: ITariff[],\n common: ITariff[],\n },\n hasBundles: boolean,\n}\n\n\nconst reduceByIsCottage = (\n list: (IBundlePackage | IInternetPackage)[],\n formatter: (tariff: (IBundlePackage | IInternetPackage)) => ITariff,\n) => {\n return reduce(list, (acc: { cottage: ITariff[], notCottage: ITariff[] }, item) => {\n const formattedTariff = formatter(item);\n formattedTariff.isCottage\n ? acc.cottage.push(formattedTariff)\n : acc.notCottage.push(formattedTariff);\n return acc;\n }, { cottage: [], notCottage: [] });\n};\n\nconst NO_TARIFFS = {\n cottage: {\n bundles: [],\n mono: [],\n common: [],\n },\n notCottage: {\n bundles: [],\n mono: [],\n common: [],\n },\n hasBundles: false,\n};\n\nexport const getTariffsReduceByIsCottage = (tariffs?: ITariffs): ITariffsReduceByIsCottage => {\n if (!tariffs) {\n return NO_TARIFFS;\n }\n\n const bundles = Object.values(tariffs.bundles);\n\n const {\n cottage: cottageBundles,\n notCottage: notCottageBundles,\n } = reduceByIsCottage(bundles, formattingBundleForCard);\n\n const {\n cottage: cottageMono,\n notCottage: notCottageMono,\n } = reduceByIsCottage(Object.values(tariffs.mono), formattingTariffForCard);\n\n return {\n cottage: {\n bundles: cottageBundles,\n mono: cottageMono,\n common: [...cottageBundles, ...cottageMono],\n },\n notCottage: {\n bundles: notCottageBundles,\n mono: notCottageMono,\n common: [...notCottageBundles, ...notCottageMono],\n },\n hasBundles: !!bundles.length,\n };\n};\n","import styled, { css } from 'styled-components';\n\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\nimport { breakpoints } from '~/src/features/tariffLines/styled';\n\nexport const CardWrapper = styled.div<{ bgColor?: string, withCellSpacing: boolean }>`\n display: flex;\n justify-content: space-around;\n position: relative;\n cursor: pointer;\n flex-wrap: nowrap;\n flex-direction: column;\n padding: 8px 8px 16px 8px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background: ${({ bgColor }) => bgColor || COLORS.BgSurface};\n width: 380px;\n transition: box-shadow .3s;\n ${({ withCellSpacing }) => withCellSpacing && css`\n margin-right: 24px;\n margin-bottom: 24px;\n \n @media (max-width: 480px) {\n margin-right: 12px;\n }\n `};\n \n @media (max-width: ${breakpoints.tablet}) {\n max-width: 360px;\n margin-right: 16px;\n }\n \n @media (max-width: ${breakpoints.mobile}) {\n max-width: 328px;\n }\n \n &:hover {\n box-shadow: 0 12px 24px rgba(26, 26, 26, 0.06);\n }\n`;\n\nexport const Bottom = styled.div`\n margin-top: 4px;\n display: flex;\n position: relative;\n min-height: 40px;\n align-content: center;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const Text = styled.div`\n ${FONTS.H4};\n padding-left: 16px;\n`;\n\nexport const Button = styled.div`\n position: relative;\n height: 40px;\n width: 40px;\n right: 16px;\n cursor: pointer;\n background-image: url('${require('~/static/images/icons/arrow_right_white.svg')}');\n`;\n\nexport const Header = styled.div<{ backgroundColor?: string }>`\n position: relative;\n height: 80px;\n border-radius: ${BorderRadius.InnerBlockRadius};\n background-color: ${p => p.backgroundColor ?? '#250900'};\n`;\n\nexport const HeaderText = styled.div<{ color?: string }>`\n ${FONTS.S};\n color: ${p => p.color ?? '#fff'};\n margin: 16px 0 0 16px;\n max-width: 60%;\n \n @media (max-width: ${breakpoints.mobile}) {\n ${FONTS.XS};\n }\n`;\n\nexport const HeaderImage = styled.div`\n position: absolute;\n right: 0;\n bottom: -2px;\n max-width: 40%;\n \n & img{\n width: 100%;\n }\n`;\n","import React from 'react';\nimport { useRouter } from 'next/router';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\n\nimport * as ST from './styled';\n\nexport interface IRecommendedTariff {\n id: number,\n title?: string,\n body?: string,\n sort?: number,\n url_landing?: string,\n title_short?: string,\n title_same?: string,\n title_body?: string,\n title_color_same?: string,\n desc_same?: string,\n body_full?: string,\n alias?: string,\n body_for_line_page?: string,\n image_background?: string,\n image_background_webp?: string,\n background_same?: string,\n image_promo?: string,\n image_promo_webp?: string,\n button_text?: string,\n}\n\nexport interface IProps {\n tariff: IRecommendedTariff,\n}\n\nconst SameTariffLineCard = ({ tariff }: IProps) => {\n const router = useRouter();\n\n const handleClick = () => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffLines,\n action: 'click choose lines',\n label: '',\n });\n router.push(`/internet/${tariff.alias}`);\n };\n return (\n \n \n \n \n \n {tariff.title}/\n \n \n \n \n \n \n \n );\n};\n\nexport default SameTariffLineCard;\n","import styled from 'styled-components';\n\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { breakpoints } from '~/src/features/tariffLines/styled';\n\nexport const Block = styled.div`\n margin-bottom: 60px;\n flex-direction: column;\n \n @media (max-width: ${breakpoints.mobile}) {\n width: 100%;\n margin-bottom: 32px;\n }\n`;\n\nexport const BlockInfo = styled.div`\n flex-direction: column;\n gap: 16px;\n\n &:not(:last-child) {\n margin-bottom: 24px;\n }\n\n @media (max-width: ${breakpoints.mobile}) {\n gap: 8px;\n\n &:not(:last-child) {\n margin-bottom: 16px;\n }\n }\n`;\n\n// @todo use @r1-frontend/ui-react/typography\nexport const Title = styled.h2`\n ${FONTS.H2};\n \n @media (max-width: ${breakpoints.mobile}) {\n ${FONTS.H4};\n }\n`;\n\n// @todo use @r1-frontend/ui-react/typography\nexport const Text = styled.div`\n ${FONTS.L};\n \n @media (max-width: ${breakpoints.mobile}) {\n ${FONTS.XS};\n }\n`;\n","import * as ST from './styled';\n\ninterface IProps {\n sectionRef?: React.RefObject,\n title?: string,\n description?: string,\n children?: JSX.Element | JSX.Element[],\n}\n\nconst PageSection = ({ sectionRef, title, description, children }: IProps): JSX.Element => {\n return (\n \n {title &&\n \n \n {description &&\n \n }\n \n }\n {children}\n \n );\n};\n\nexport default PageSection;\n","import { FC, memo, useMemo, useRef, useState } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\n\nimport ChannelListPopup from '~/src/components/Bundles/ChannelListPopup';\nimport { FiltersForTariffs } from '~/src/components/FiltersForTariffs';\nimport TariffLine, { ESortingKeys } from '~/src/components/TariffLine';\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { ITariffLine } from '~/src/entities/tariff-lines';\nimport TariffLineCard, { IContentsItem } from '~/src/features/tariffLines/Card';\nimport CardSwiper from '~/src/features/tariffLines/CardSwiper';\nimport TariffLineHeader from '~/src/features/tariffLines/header';\nimport { getTariffsReduceByIsCottage } from '~/src/features/tariffLines/helpers';\nimport SameTariffLineCard, { IRecommendedTariff } from '~/src/features/tariffLines/SameCard';\n\nimport PageSection from './Section';\n\nimport * as ST from './styled';\n\ninterface IProps {\n tariffLine: ITariffLine,\n}\n\nconst filterItems = [\n {\n id: 'bundles',\n checked: true,\n disabled: false,\n label: 'С телевидением',\n },\n {\n id: 'internet',\n checked: false,\n disabled: false,\n label: 'Только интернет',\n },\n];\n\ntype TariffQuery = Partial<{\n filtersCottage: string,\n monoTariff: string,\n}>\n\nconst TariffLines: FC = ({ tariffLine }): JSX.Element => {\n const { query: { filtersCottage, monoTariff } } = useRouter();\n\n const {\n initialSwitcherState,\n initialFiltersState,\n initialActiveFilter,\n } = useMemo(() => {\n const initialIsInternetActive = monoTariff === 'true';\n const filtersState = initialIsInternetActive\n ? filterItems.map(({ checked, ...filter }) => ({\n ...filter,\n checked: !checked,\n }))\n : filterItems;\n\n return {\n initialFiltersState: filtersState,\n initialSwitcherState: filtersCottage === 'true' ? 1 : 0,\n initialActiveFilter: initialIsInternetActive ? 'internet' : 'bundles',\n };\n }, [filtersCottage, monoTariff]);\n\n const [activeSwitcher, setActiveSwitcher] = useState(initialSwitcherState);\n const [filters, setFilters] = useState(initialFiltersState);\n const [activeFilter, setActiveFilter] = useState(initialActiveFilter);\n\n const [isIncludesPopupOpen, setIsIncludesPopupOpen] = useState(false);\n const [activePopupContent, setActivePopupContent] = useState();\n const [isChannelPopupOpen, setIsChannelPopupOpen] = useState(false);\n const [selectedTariff, setSelectedTariff] = useState(null);\n\n const tariffRef = useRef(null);\n\n const menuItems = [\n {\n text: 'Для квартиры',\n action: () => {\n setActiveSwitcher(0);\n },\n },\n {\n text: 'Для частного дома',\n action: () => {\n setActiveSwitcher(1);\n },\n },\n ];\n\n const tariffs = useMemo(() => getTariffsReduceByIsCottage(tariffLine.tariffs), [tariffLine]);\n\n const handleIncludesPopupClose = () => {\n setIsIncludesPopupOpen(false);\n };\n\n const handleTariffClick = () => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffLines,\n action: 'click choose tariff',\n label: '',\n });\n tariffRef?.current?.scrollIntoView();\n setIsIncludesPopupOpen(false);\n };\n\n const handleIncludesClick = (id: number) => {\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffLines,\n action: 'click details additionally',\n label: '',\n });\n setIsIncludesPopupOpen(true);\n setActivePopupContent(tariffLine.contents?.find((el: IContentsItem) => el.id === id));\n };\n\n const filteredTariffs = (() => {\n const currentTariffs = activeSwitcher ? tariffs.cottage : tariffs.notCottage;\n\n if (activeFilter === null) {\n return currentTariffs.common;\n }\n\n return activeFilter === 'bundles' && tariffs.hasBundles ? currentTariffs.bundles : currentTariffs.mono;\n })();\n\n const toggleFilter = (filterId: string) => {\n setActiveFilter(currentActive => currentActive === filterId ? null : filterId);\n\n setFilters(currentFilters => currentFilters.map(filter => {\n let stateCheckedForFilter = filter.checked;\n\n if (filter.checked && filter.id !== filterId) {\n stateCheckedForFilter = false;\n dataLayerPush({\n event: 'UAevent',\n category: CATEGORIES.tariffCards,\n action: `remove filter ${filter.id}`,\n label: filter.label,\n });\n }\n\n if (filter.id === filterId) {\n stateCheckedForFilter = !filter.checked;\n dataLayerPush({\n event: 'UAevent',\n category: CATEGORIES.tariffCards,\n action: `${stateCheckedForFilter ? 'add' : 'remove'} filter ${filter.id}`,\n label: filter.label,\n });\n }\n\n return { ...filter, checked: stateCheckedForFilter };\n }));\n };\n\n const onChannelsClickHandler = (tariff: ITariff) => {\n setIsChannelPopupOpen(true);\n setSelectedTariff(tariff);\n dataLayerPush({\n event: 'UAevent',\n category: 'Click Bundles on the channel',\n action: 'view channels',\n label: '',\n });\n };\n\n const onCloseChannelsPopup = () => {\n setIsChannelPopupOpen(false);\n setSelectedTariff(null);\n };\n\n return (\n <>\n \n \n \n {tariffLine.title_body &&\n \n }\n \n \n {filteredTariffs.length > 0\n ? \n : \n }\n \n {!!tariffLine.recommendedTariffLines?.length &&\n \n \n \n {tariffLine.recommendedTariffLines.map((tariff: IRecommendedTariff) =>\n )\n }\n \n \n \n }\n {!!tariffLine.contents?.length &&\n \n \n \n {tariffLine.contents.map((item: IContentsItem) =>\n handleIncludesClick(item.id)}\n item={item}\n />)\n }\n \n \n \n }\n \n {activePopupContent &&\n \n
\n \n \n \n
\n \n {activePopupContent.title}\n
\n \n
\n \n \n \n
\n \n }\n
\n \n \n );\n};\n\nexport default memo(TariffLines);\n","/* eslint-disable complexity */\nimport { COLORS } from '@r1-frontend/ui-react/assets/js/constants';\n\nconst MONO_VILLAGE_URL_PART = '/mono-village';\nconst BUNDLES_VILLAGE_URL_PART = '/village';\n\nexport const replaceCityVars = (data, cityObject) => {\n if (!data) {\n return data;\n }\n\n if ('string' === typeof data) {\n return data.replace('%cityIn%', cityObject.cityIn);\n }\n\n let result = data;\n if (Array.isArray(data)) {\n result = [];\n data.forEach(prop => {\n result.push(replaceCityVars(prop, cityObject));\n });\n return result;\n } else if ('object' === typeof data) {\n result = { ...data };\n Object.keys(result).forEach(key => {\n const prop = result[key];\n result[key] = replaceCityVars(prop, cityObject);\n });\n }\n\n return result;\n};\n\n// TODO требуется типизация по коду используется как { ITariff } from '~/src/models/formattedTariff'\nexport const formattingTariffForCard = (tariff) => {\n const isCottage = tariff.is_cottage;\n const defaultColor = '#000';\n const freePackets = tariff.salePackage2in1 ? tariff.salePackage2in1.free_packets : 0;\n const reserveColor = tariff.description?.color_text || COLORS.black;\n const titleColors = [\n tariff.description?.color_title_start || reserveColor,\n tariff.description?.color_title_end || reserveColor,\n ];\n\n return ({\n alias: tariff.description ? tariff.description.alias : '',\n additionalProducts: tariff.additionalProducts || [],\n advantages: tariff.advantages,\n availableClient: Boolean(tariff.available_client ? tariff.available_client : 0),\n availableGuest: Boolean(tariff.available_guest ? tariff.available_guest : 0),\n availableOnMainPage: !!tariff.available_on_main_page,\n availableOnInternetPage: !!tariff.available_on_internet_page,\n color: tariff.description?.color || '',\n colorText: tariff.description?.color_text || '',\n description: tariff.description ? tariff.description.description : '',\n freePackets: freePackets,\n fullSaleId: tariff.full_sale_id ?? tariff.salePackage3in1?.full_sale_id ??\n tariff.salePackage2in1?.full_sale_id ?? undefined,\n hasRequiredEquipment: tariff.hasRequiredEquipment,\n headingColor: tariff.description?.color ?? defaultColor,\n imageBackground: tariff.description?.image_background ? `url(${tariff.description.image_background})` : COLORS.white,\n imageBackgroundWebp: tariff.description?.image_background_webp ? `url(${tariff.description.image_background_webp})` : null,\n imageInHead: true,\n includes: tariff.includes,\n isCottage: isCottage,\n isSelfOrder: tariff.is_self_order ?? tariff.salePackage3in1?.is_self_order ??\n tariff.salePackage2in1?.is_self_order,\n lineId: tariff.description?.line_id,\n location: tariff.location === undefined ? ('/internet' + (isCottage ? MONO_VILLAGE_URL_PART : '')) : tariff.location,\n offerContents: tariff.offerContents || [],\n price: tariff.price_final,\n priceAction: tariff.promo_price_final ? tariff.promo_price_final : null,\n priceActionPeriod: tariff.promo_duration_final ? tariff.promo_duration_final : null,\n priceConnect: tariff.connect_price,\n priceIncludedVas: tariff.price_included_vas ? Number(tariff.price_included_vas) : null,\n productId: tariff.tariff_id,\n productIdForBilling: 5,\n productType: 40,\n promoDuration: tariff.promo_duration,\n promoDurationType: tariff.promo_dur_type,\n promoted: tariff.promote,\n salePackageId: tariff.sale_package_id,\n salePackageLinks: tariff.salePackageLinks,\n sortOnBundles: Number(tariff.sort_on_bundles),\n sortOnInternet: Number(tariff.sort_on_internet),\n sortOnInternetLines: Number(tariff.sort_on_internet_lines),\n speed: tariff.speed,\n speedAction: tariff.speed_bonus,\n speedActionPeriod: tariff.speed_bonus_duration,\n subscriptionsSummary: tariff.subscriptionsSummary,\n tariffLine: tariff.description?.tariffLine,\n title: tariff.description?.title || tariff.tariff_name_display || '',\n titleColors: titleColors,\n type: 'internet',\n weight: tariff.description?.sort,\n promoLabel: tariff.description?.promoLabel,\n });\n};\n\nexport const formattingBundleForCard = (tariff) => {\n const isCottage = tariff.salePackage2in1.is_cottage;\n const defaultColor = '#34c270';\n const reserveColor = tariff.description?.color_text || COLORS.black;\n const titleColors = [\n tariff.description?.color_title_start || reserveColor,\n tariff.description?.color_title_end || reserveColor,\n ];\n\n return ({\n alias: tariff.description ? tariff.description.alias : '',\n additionalProducts: tariff.additionalProducts || [],\n advantages: tariff.advantages,\n analogCount: Number(tariff.salePackage2in1.analog_count),\n availableClient: Boolean(tariff.description.available_client),\n availableGuest: Boolean(tariff.description.available_guest),\n availableOnMainPage: !!tariff.description.available_on_main_page,\n availableOnInternetPage: !!tariff.description.available_on_internet_page,\n color: tariff.description?.color || '',\n colorText: tariff.description?.color_text || '',\n description: tariff.description ? tariff.description.description : '',\n descriptionFull: tariff.description_full ? tariff.description_full : '',\n freePackets: tariff.salePackage2in1.free_packets,\n fullSaleId: tariff.full_sale_id ?? tariff.salePackage3in1?.full_sale_id ??\n tariff.salePackage2in1?.full_sale_id ?? undefined,\n hasRequiredEquipment: tariff.hasRequiredEquipment,\n hdCount: Number(tariff.salePackage2in1.hd_count),\n headingColor: tariff.description?.color ?? defaultColor,\n imageBackground: tariff.description?.image_background ? `url(${tariff.description.image_background})` : COLORS.white,\n imageBackgroundWebp: tariff.description?.image_background_webp ? `url(${tariff.description.image_background_webp})` : null,\n imageInHead: false,\n includes: tariff.includes,\n isCottage: isCottage,\n isSelfOrder: tariff.is_self_order ?? tariff.salePackage3in1?.is_self_order ??\n tariff.salePackage2in1?.is_self_order,\n lineId: tariff.description?.line_id,\n location: tariff.location === undefined ? ('/bundles' + (isCottage ? BUNDLES_VILLAGE_URL_PART : '')) : tariff.location,\n offerContents: tariff.offerContents,\n price: tariff.salePackage2in1.price_final,\n priceAction: tariff.salePackage2in1.promo_price_final ? tariff.salePackage2in1.promo_price_final : null,\n priceActionPeriod: tariff.salePackage2in1.promo_duration_final\n ? tariff.salePackage2in1.promo_duration_final\n : null,\n priceConnect: Number(tariff.price_connect_internet) + Number(tariff.price_connect_tv),\n priceIncludedVas: Number(tariff.price_included_vas),\n productId: tariff.sale_package_id,\n productIdForBilling: 0,\n productType: 100,\n promoDuration: tariff.salePackage2in1.promo_duration,\n promoDurationType: tariff.salePackage2in1.promo_dur_type,\n promoted: tariff.description?.promoted,\n salePackageId: tariff.sale_package_id,\n salePackageLinks: tariff.salePackageLinks,\n sdCount: Number(tariff.salePackage2in1.sd_count),\n sortOnBundles: Number(tariff.description.sort_on_bundles),\n sortOnInternet: Number(tariff.description.sort_on_internet),\n sortOnInternetLines: Number(tariff.description.sort_on_internet_lines),\n speed: tariff.speed_int,\n speedAction: tariff.speed_bonus,\n speedActionPeriod: tariff.speed_bonus_duration,\n subscriptionsSummary: tariff.subscriptionsSummary,\n tariffLine: tariff.description?.tariffLine,\n title: tariff.description ? (tariff.description.title || tariff.description.tariff_name) : '',\n titleColors: titleColors,\n type: 'bundles',\n weight: tariff.description?.weight,\n promoLabel: tariff.description?.promoLabel,\n });\n};\n","import { createSelector } from 'reselect';\n\nimport { IInternetPackage } from '@r1-frontend/api-domru/api-content/v1/internet-tariffs/dto/ResponseDto';\n\nimport { ISelectedFilters } from '~/src/entities/filteredBundles';\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport { formattingBundleForCard, formattingTariffForCard } from '~/src/helpers/formatter';\nimport { TState } from '~/src/store';\nimport { getTariffsSelector } from '~/src/store/selectors/bundles';\n\nexport const selectAllTariffs = createSelector(\n [\n getTariffsSelector,\n (state: TState) => state.internet.tariffs,\n ],\n (bundles, internet) => {\n // возвращаемый функциями форматирования объект не согласован с ITariff - но повсеместно в коде используется как ITariff, требуется доработка ITariff.\n const formatBundles: ITariff[] = bundles.map(formattingBundleForCard);\n const formatInternets: ITariff[] = internet.map(formattingTariffForCard);\n\n return [\n ...formatBundles,\n ...formatInternets,\n ].sort((a, b) => a.weight - b.weight);\n },\n);\n\nexport const selectInternetTariffByAlias = createSelector(\n [\n (state: TState) => state.internet.tariffs,\n (_: TState, alias: string | number) => alias,\n ],\n (tariffs, alias) => {\n const tariff = tariffs.find(\n ({ description }: IInternetPackage) => description?.alias === alias,\n );\n\n return tariff ? formattingTariffForCard(tariff) : null;\n },\n);\n\n\nexport const selectCheckedFilters = createSelector(\n [\n (state: TState): ISelectedFilters[] => state?.filteredBundles?.selected,\n (state: TState): string => state?.filteredBundles?.groupKey,\n ],\n (selectedFilters, actualGroupKey) => selectedFilters.filter(\n filter => filter.group === actualGroupKey && !!filter.values.length,\n ),\n);\n\nexport const selectIsEmpty = (state: TState): boolean => !selectCheckedFilters(state).length;\n\ninterface ITariffsByType {\n cityBundles: ITariff[],\n villageBundles: ITariff[],\n cityInternet: ITariff[],\n villageInternet: ITariff[],\n}\n\nexport const selectTariffsByType = createSelector(\n selectAllTariffs,\n tariffs => {\n return tariffs.reduce((acc: ITariffsByType, tariff) => {\n tariff.isCottage === 0 && acc.cityBundles.push(tariff);\n tariff.type === 'bundles' && tariff.isCottage !== 0 && acc.villageBundles.push(tariff);\n tariff.type === 'internet' && tariff.isCottage === 0 && acc.cityInternet.push(tariff);\n tariff.type === 'internet' && tariff.isCottage !== 0 && acc.villageInternet.push(tariff);\n return acc;\n }, {\n cityBundles: [],\n villageBundles: [],\n cityInternet: [],\n villageInternet: [],\n });\n },\n);\n\n\nconst getPrice = (tariff: ITariff) => tariff['priceAction'] || tariff['price'] || 0;\n\ninterface IMinCostedTariff {\n description: string,\n price: string,\n url: string,\n}\nexport const selectMinCostedTariff = (filter: (tariff: ITariff) => void) => createSelector(\n selectAllTariffs,\n (tariffs): IMinCostedTariff | null => {\n const filteredTariffs = tariffs.filter(filter);\n\n if (filteredTariffs.length) {\n const sortedTariffs = [...filteredTariffs].sort((a, b) => getPrice(a) - getPrice(b));\n const minCostedTariff = sortedTariffs[0];\n\n return ({\n description: minCostedTariff?.seo_description || minCostedTariff?.description || '',\n price: getPrice(minCostedTariff).toString(),\n url: minCostedTariff?.alias && `full-buy?tariffName=${minCostedTariff?.alias}&monoTariff=true` || '',\n });\n }\n\n return null;\n },\n);\n\nexport const selectAvailableOnInternetPageTariffs = ({ isCottage }: {\n isCottage?: boolean,\n}) => createSelector(\n selectAllTariffs,\n (allTariffs: ITariff[]): ITariff[] =>\n allTariffs\n .filter((tariff: ITariff) =>\n tariff.availableOnInternetPage && isCottage === Boolean(tariff.isCottage)),\n);\n\nexport const selectAndSortAvailableOnInternetPageTariffs = ({ isCottage }: {\n isCottage?: boolean,\n}) => createSelector(\n selectAvailableOnInternetPageTariffs({ isCottage }),\n (tariffsAvailableOnInternetPage: ITariff[]): ITariff[] =>\n tariffsAvailableOnInternetPage\n .sort((tariffA, tariffB) => {\n const speedDiff = tariffB['speed'] - tariffA['speed'];\n if (speedDiff !== 0) {\n return speedDiff;\n }\n\n const priceDiff = getPrice(tariffA) - getPrice(tariffB);\n if (priceDiff !== 0) {\n return priceDiff;\n }\n\n return tariffA.type === 'internet' ? -1 : 1;\n }),\n);\n","export type TArrayOfThree = [string, string, string];\n\n/**\n * @link https://docs.translatehouse.org/projects/localization-guide/en/latest/l10n/pluralforms.html\n */\nconst getVariant = (value: number, variants: TArrayOfThree) => {\n const abs = Math.abs(value);\n\n return variants[\n abs % 10 == 1 && abs % 100 != 11\n ? 0\n : abs % 10 >= 2 && abs % 10 <= 4 && (abs % 100 < 10 || abs % 100 >= 20)\n ? 1\n : 2\n ];\n};\n\n/**\n * Cклоняет число\n * @param value Число\n * @param variants Варианты слов для склонения\n * @returns Один из вариантов в зависимости от переданного значения {value}\n * @example\n * pluralize(3, ['идея', 'идеи', 'идей']); // идеи\n */\nexport const pluralize = (value: number, variants: TArrayOfThree) =>\n getVariant(value, variants);\n\n/**\n * Получает функцию для склонения числа\n * @param variants Варианты слов для склонения\n * @example\n * const pluralize = getPluralize(['идея', 'идеи', 'идей']);\n */\nexport const getPluralize = (variants: TArrayOfThree) => (value: number) =>\n pluralize(value, variants);\n","import { TArrayOfThree } from '.';\n\n/**\n * Склонения для месяца\n *\n * @return ['месяц', 'месяца', 'месяцев']\n */\nexport const monthPluralize: TArrayOfThree = ['месяц', 'месяца', 'месяцев'];\n\n/**\n * Склонения для канала\n *\n * @return ['канал', 'канала', 'каналов']\n */\nexport const channelPluralize: TArrayOfThree = ['канал', 'канала', 'каналов'];\n\n/**\n * Склонения для дня\n *\n * @return ['день', 'дня', 'дней']\n */\nexport const dayPluralize: TArrayOfThree = ['день', 'дня', 'дней'];\n\n/**\n * Склонения для бонуса\n *\n * @return ['бонус', 'бонуса', 'бонусов']\n */\nexport const bonusPluralize: TArrayOfThree = ['бонус', 'бонуса', 'бонусов'];\n","import { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nconst themes = {\n bordered: {\n background: COLORS.BgMain,\n borderWidth: '1px',\n radius: '4px',\n padding: '20px',\n mobilePadding: '15px',\n color: COLORS.TextPrimary,\n },\n simple: {\n background: 'transparent',\n borderWidth: '1px 0',\n radius: '0px',\n padding: '20px 0',\n mobilePadding: '15px 0',\n color: COLORS.TextPrimary,\n },\n light: {\n border: COLORS.BgLight,\n background: COLORS.BgLight,\n color: COLORS.TextPrimary,\n colorArrow: COLORS.GRAY_DARK,\n backgroundIcon: COLORS.BgSecondary,\n borderIcon: COLORS.BgSecondary,\n colorArrowIsOpen: COLORS.GRAY_DARK,\n backgroundIconIsOpen: COLORS.Outline_Light,\n borderIconIsOpen: COLORS.Outline_Light,\n radius: BorderRadius.componentRadius,\n padding: '20px 24px',\n mobilePadding: '15px',\n storyColor: COLORS.BgMain,\n },\n dark: {\n border: COLORS.Control,\n background: COLORS.Control,\n color: COLORS.TextWhite,\n colorArrow: COLORS.Control,\n backgroundIcon: COLORS.GRAY_DARK,\n borderIcon: COLORS.GRAY_DARK,\n colorArrowIsOpen: COLORS.Control,\n backgroundIconIsOpen: COLORS.TextWhite,\n borderIconIsOpen: COLORS.TextWhite,\n radius: BorderRadius.componentRadius,\n padding: '20px 24px',\n mobilePadding: '15px',\n storyColor: '#3D3D3D',\n },\n};\n\nexport default themes;\n","import { 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';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport styled, { ThemeProvider } from 'styled-components';\n\nimport themes from './themes.js';\n\nconst Wrapper = styled.div`\n flex-direction: column;\n width: 100%;\n background: ${props => props.theme.background};\n border: 1px solid ${({ theme }) => theme.border ? theme.border : COLORS.GRAY_LIGHT};\n border-width: ${props => props.theme.borderWidth};\n border-radius: ${props => props.theme.radius};\n padding: ${props => props.theme.padding};\n color: ${({ theme }) => theme.color ? theme.color : COLORS.TextPrimary};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n padding: ${props => props.theme.mobilePadding};\n }\n`;\n\nconst AccordionTitle = styled.div`\n ${FONTS.L};\n width: 100%;\n justify-content: space-between;\n align-items: center;\n flex-wrap: nowrap;\n cursor: pointer;\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.S};\n }\n`;\n\nconst Title = styled.div`\n flex-grow: 1;\n width: calc(100% - 53px); \n ${props => props.theme.desktopFont || ''};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n width: calc(100% - 39px);\n ${props => props.theme.mobileFont || ''};\n }\n`;\n\nconst Icon = styled.span`\n position:relative;\n margin-left: 20px;\n flex: 0 0 36px;\n height: 36px;\n border-radius: 50%;\n transform: ${props => props.open ? 'none' : 'scaleY(-1)'};\n transition: all 0.2s ease-in;\n svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n circle {\n stroke: ${({ borderIcon }) => borderIcon ? borderIcon : COLORS.GRAY_DARK};\n fill: ${({ backgroundIcon }) => backgroundIcon ? backgroundIcon : COLORS.GRAY_LIGHT};\n }\n path {\n stroke: ${({ colorArrow }) => colorArrow ? colorArrow : COLORS.GRAY_DARK};\n }\n }\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n margin-left: 15px;\n background-size: contain;\n }\n`;\n\nconst Border = styled.div`\n height: 1px;\n width: 100%;\n background: transparent;\n margin: 8px 0;\n`;\n\nconst AccordionBody = styled.div`\n width: 100%;\n max-height: ${props => props.open ? '100%' : '0'};\n ${FONTS.S};\n overflow: hidden;\n transition: max-height 0.2s ${props => props.open ? 'ease-in' : 'ease-out'};\n\n @media (max-width: ${wideBreakpoints.mobile}) {\n ${FONTS.XS};\n }\n`;\n\nconst DEFAULT_THEME = 'light';\n\n/**\n * @deprecated\n * use instead @r1-frontend/ui-react/src/components/accordions/Accordion\n */\nexport default class Accordion extends React.Component {\n static propTypes = {\n defaultOpen: PropTypes.bool,\n open: PropTypes.bool,\n withDividingBorder: PropTypes.bool,\n toggle: PropTypes.func,\n customTheme: PropTypes.object,\n };\n\n static defaultProps = {\n defaultOpen: false,\n withDividingBorder: true,\n theme: DEFAULT_THEME,\n customTheme: {},\n toggle: () => {},\n };\n\n constructor(props) {\n super(props);\n this.state = {\n open: props.defaultOpen,\n };\n }\n\n toggle = () => {\n this.props.toggle();\n this.setState(state => ({\n open: !state.open,\n }));\n }\n\n render() {\n const { children, title, open = this.state.open, onOpen = this.toggle, theme, customTheme, withDividingBorder, ...rest } = this.props;\n let colors = themes[theme] || themes[DEFAULT_THEME];\n if (customTheme) {\n colors = { ...colors, ...customTheme };\n }\n return (\n \n \n \n {title}\n \n \n \n \n \n \n \n \n {withDividingBorder && }\n {children}\n \n \n \n );\n }\n}\n","export const RubleSymbol = String.fromCharCode(8381);\n","import { RubleSymbol } from '@r1-frontend/ui-react/experimental/purchase/cost/Cost/RubleSymbol';\n\nimport * as S from './styled';\n\n// @todo for the children we should to receiving only the \"number\" type for formatting and displaying cost by human view here. For example: incoming 10000.0, displaying 10 000.00\n// on the other hand children may be a ReactNode or a JSX.Element. By my opinion the type \"number\" is enough\n//\n// We have to think about it ;-)\nexport type TCostProps = {\n children: string | number,\n isMonthly?: boolean,\n previousCost?: string | number,\n};\n\n/**\n * @deprecated\n * use @r1-frontend/ui-react/components/costs\n */\nconst Cost = ({ children, isMonthly = false, previousCost, ...props }: TCostProps): JSX.Element => {\n return \n {previousCost ? <>{previousCost} {RubleSymbol}{isMonthly && '/мес'}  : null}\n {children} {RubleSymbol}{isMonthly && '/мес'}\n ;\n};\n\nexport default Cost;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nexport const CostWrapper = styled.div`\n display: inline-block;\n color: inherit;\n white-space: nowrap;\n`;\n\nexport const PreviousCost = styled.s`\n text-decoration-color: ${COLORS.TextInfo};\n color: ${COLORS.TextInfo};\n`;\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDEiIHZpZXdCb3g9IjAgMCA0MCA0MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjAiIGN5PSIyMC41IiByPSIyMCIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi4yNSAyMC41QzEyLjI1IDIwLjA4NTggMTIuNTg1OCAxOS43NSAxMyAxOS43NUgyNS4xODkzTDIwLjQ2OTcgMTUuMDMwM0MyMC4xNzY4IDE0LjczNzQgMjAuMTc2OCAxNC4yNjI2IDIwLjQ2OTcgMTMuOTY5N0MyMC43NjI2IDEzLjY3NjggMjEuMjM3NCAxMy42NzY4IDIxLjUzMDMgMTMuOTY5N0wyNy41MzAzIDE5Ljk2OTdDMjcuODIzMiAyMC4yNjI2IDI3LjgyMzIgMjAuNzM3NCAyNy41MzAzIDIxLjAzMDNMMjEuNTMwMyAyNy4wMzAzQzIxLjIzNzQgMjcuMzIzMiAyMC43NjI2IDI3LjMyMzIgMjAuNDY5NyAyNy4wMzAzQzIwLjE3NjggMjYuNzM3NCAyMC4xNzY4IDI2LjI2MjYgMjAuNDY5NyAyNS45Njk3TDI1LjE4OTMgMjEuMjVIMTNDMTIuNTg1OCAyMS4yNSAxMi4yNSAyMC45MTQyIDEyLjI1IDIwLjVaIiBmaWxsPSIjMTgxQjIxIi8+Cjwvc3ZnPgo=\""],"names":["baseGet","baseSet","castPath","module","exports","object","paths","predicate","index","length","result","path","value","assignValue","isIndex","isObject","toKey","customizer","lastIndex","nested","key","newValue","objValue","undefined","array","arrayMap","baseIteratee","basePickBy","getAllKeysIn","props","prop","CardWrapper","styled","BorderRadius","bgColor","COLORS","withCellSpacing","css","breakpoints","ImageBlock","LazyLoadImage","Bottom","Text","FONTS","Button","arrowRight","Header","TariffLineCard","item","onBtnClick","ST","onClick","labels","map","label","title","id","WebpImage","urlWebp","image_webp","src","image","memo","slideWidth","children","useMatchMedia","CustomSwiper","withoutDots","withoutArrows","framePadding","cellSpacing","Wrapper","webpUrl","Container","GridContainer","Col","ImageCol","Image","BaseButton","scrollRef","tariffLine","image_background_webp","advertising","NonStaticContainer","$desktop","$top","$right","$mobile","AdvertisingLabelWithTooltip","companyName","erid","tooltip","position","dangerouslySetInnerHTML","__html","title_header","body_for_line_page","type","button_css_type","btnTypes","dataLayerPush","event","EVENTS","category","CATEGORIES","action","current","scrollIntoView","button_text","image_promo","image_promo_webp","reduceByIsCottage","list","formatter","reduce","acc","formattedTariff","isCottage","cottage","push","notCottage","NO_TARIFFS","bundles","mono","common","hasBundles","p","require","backgroundColor","HeaderText","color","HeaderImage","tariff","router","useRouter","alias","background_same","title_color_same","desc_same","img","alt","title_same","Block","BlockInfo","Title","sectionRef","description","ref","filterItems","checked","disabled","TariffLines","query","filtersCottage","monoTariff","useMemo","initialIsInternetActive","initialFiltersState","filter","initialSwitcherState","initialActiveFilter","useState","activeSwitcher","setActiveSwitcher","filters","setFilters","activeFilter","setActiveFilter","isIncludesPopupOpen","setIsIncludesPopupOpen","activePopupContent","setActivePopupContent","isChannelPopupOpen","setIsChannelPopupOpen","selectedTariff","setSelectedTariff","tariffRef","useRef","menuItems","text","tariffs","Object","values","formattingBundleForCard","formattingTariffForCard","cottageBundles","cottageMono","notCottageBundles","notCottageMono","getTariffsReduceByIsCottage","filteredTariffs","currentTariffs","TariffLineHeader","title_body","PageSection","body_full","title_tariffs","body_tariffs","FiltersForTariffs","activeItem","tariffSwitcherData","tariffFiltersData","onToggleFilter","filterId","currentActive","currentFilters","stateCheckedForFilter","hasCityTariffs","hasVillageTariffs","TariffLine","baseTariffs","sortField","ESortingKeys","openPopup","isAuth","recommendedTariffLines","CardSwiper","SameTariffLineCard","contents","title_includes","body_includes","find","el","handleIncludesClick","isOpen","fullWidth","width","onClose","div","body","ChannelListPopup","freePackets","is_cottage","salePackage2in1","free_packets","reserveColor","color_text","titleColors","color_title_start","color_title_end","additionalProducts","advantages","availableClient","Boolean","available_client","availableGuest","available_guest","availableOnMainPage","available_on_main_page","availableOnInternetPage","available_on_internet_page","colorText","fullSaleId","full_sale_id","salePackage3in1","hasRequiredEquipment","headingColor","imageBackground","image_background","imageBackgroundWebp","imageInHead","includes","isSelfOrder","is_self_order","lineId","line_id","location","offerContents","price","price_final","priceAction","promo_price_final","priceActionPeriod","promo_duration_final","priceConnect","connect_price","priceIncludedVas","price_included_vas","Number","productId","tariff_id","productIdForBilling","productType","promoDuration","promo_duration","promoDurationType","promo_dur_type","promoted","promote","salePackageId","sale_package_id","salePackageLinks","sortOnBundles","sort_on_bundles","sortOnInternet","sort_on_internet","sortOnInternetLines","sort_on_internet_lines","speed","speedAction","speed_bonus","speedActionPeriod","speed_bonus_duration","subscriptionsSummary","tariff_name_display","weight","sort","promoLabel","analogCount","analog_count","descriptionFull","description_full","hdCount","hd_count","price_connect_internet","price_connect_tv","sdCount","sd_count","speed_int","tariff_name","selectAllTariffs","createSelector","getTariffsSelector","state","internet","formatBundles","formatInternets","a","b","selectInternetTariffByAlias","_","selectTariffsByType","filteredBundles","selected","groupKey","selectedFilters","actualGroupKey","group","cityBundles","villageBundles","cityInternet","villageInternet","getPrice","selectMinCostedTariff","minCostedTariff","seo_description","toString","url","selectAvailableOnInternetPageTariffs","allTariffs","selectAndSortAvailableOnInternetPageTariffs","tariffsAvailableOnInternetPage","tariffA","tariffB","speedDiff","priceDiff","pluralize","variants","abs","Math","getVariant","getPluralize","monthPluralize","channelPluralize","dayPluralize","bonusPluralize","bordered","background","borderWidth","radius","padding","mobilePadding","simple","light","border","colorArrow","backgroundIcon","borderIcon","colorArrowIsOpen","backgroundIconIsOpen","borderIconIsOpen","storyColor","dark","theme","wideBreakpoints","AccordionTitle","desktopFont","mobileFont","Icon","open","Border","AccordionBody","DEFAULT_THEME","Accordion","toggle","setState","defaultOpen","render","this","onOpen","customTheme","withDividingBorder","rest","colors","themes","ThemeProvider","data-test","itemProp","svg","viewBox","fill","xmlns","circle","cx","cy","r","strokeWidth","transform","d","strokeMiterlimit","strokeLinecap","strokeLinejoin","itemScope","itemType","React","propTypes","PropTypes","defaultProps","RubleSymbol","String","fromCharCode","isMonthly","previousCost","S","CostWrapper","PreviousCost"],"sourceRoot":""}