{"version":3,"file":"static/chunks/2471-4d1dbe7fd54d42f8.js","mappings":"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","sources":["webpack://_N_E/./src/components/TariffCard/WithPromoLabel/helpers/gradient.ts","webpack://_N_E/./src/components/TariffCard/WithPromoLabel/index.tsx","webpack://_N_E/./src/components/TariffCard/internetBlock/advantagesList.tsx","webpack://_N_E/./src/components/TariffCard/internetBlock/index.tsx","webpack://_N_E/./src/components/TariffCard/tvBlock/includesList.tsx","webpack://_N_E/./src/components/TariffCard/tvBlock/index.tsx","webpack://_N_E/./src/components/TariffCard/index.tsx","webpack://_N_E/./src/components/TariffCard/helpers/getButtonText.tsx"],"sourcesContent":["import { isArrayOfTwoOrMore } from '@r1-frontend/shared/guards';\nimport { TArrayOneOrMore } from '@r1-frontend/shared/types/Array';\n\nconst linear = (colors: TArrayOneOrMore) => {\n return `linear-gradient(to right,${colors.join(',')})`;\n};\n\nexport const createGradient = (colors?: string[] | null) => {\n if (isArrayOfTwoOrMore(colors)) {\n return linear(colors);\n }\n\n const [start = 'transparent', end] = colors || new Array(2).fill('transparent');\n\n return linear([start, end || start]);\n};\n","import { ReactNode } from 'react';\nimport { LazyLoadImage } from 'react-lazy-load-image-component';\nimport styled from 'styled-components';\n\nimport { Label } from '@r1-frontend/ui-react/components/label';\nimport { Label as LabelStyle } from '@r1-frontend/ui-react/components/label/styled';\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\nimport { BlockContainer, NonStaticContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport { createGradient } from './helpers/gradient';\n\ninterface IImageSource {\n src?: string,\n webpSrc?: string,\n}\n\ntype TPromoLabel = {\n children: ReactNode,\n title: string,\n\n borderColors?: string[] | null,\n backgroundColors?: string[] | null,\n\n titleColor?: string,\n\n image?: IImageSource,\n\n className?: string,\n}\n\n/**\n * Добавляет компоненту обертку в виде промо-лейбла и обводки\n *\n * {@link https://www.figma.com/design/dZ9nsGKTEkHJJGcfuP8pRi/%F0%9F%8D%8FDS-WEB?node-id=14405-13534&t=mcVQofYjbetgq4lH-0 Figma}\n */\nconst WithPromoLabel = (\n {\n title,\n titleColor = COLORS.TextWhite,\n\n image,\n\n className,\n children,\n }: TPromoLabel,\n) => {\n const hasImg = !!(image?.src);\n\n return (\n \n \n \n \n {title}\n \n\n {hasImg && \n \n \n \n }\n \n\n \n {children}\n \n );\n};\n\nexport default styled(WithPromoLabel)<{ $radius?: BorderRadius }>`\n --border-width: 2px;\n\n border: var(--border-width) solid transparent;\n border-radius: ${({ $radius = BorderRadius.OuterBlockRadius }) => `calc(${$radius} + var(--border-width))`};\n \n background:\n linear-gradient(white, white) padding-box, \n ${props => createGradient(props.borderColors)} border-box;\n \n & > ${NonStaticContainer} {\n display: flex;\n width: 208px;\n \n left: 50%;\n transform: translateX(-50%);\n \n ${LabelStyle} {\n width: 100%;\n padding: 0;\n }\n \n ${BlockContainer} {\n background: ${props => createGradient(props.backgroundColors)};\n \n picture {\n width: 64px;\n height: 40px;\n }\n }\n }\n`;\n","import { ServiceIncludesItem, ServiceIncludesList } from '~/src/components/TariffCard/styled';\n\ninterface IAdvProps {\n advantages: Array,\n}\n\nconst AdvantagesList = ({ advantages }: IAdvProps): JSX.Element => {\n return (\n \n {advantages.map((advantage, index) => (\n \n ))}\n \n );\n};\n\nexport default AdvantagesList;\n","import AdvantagesList from './advantagesList';\n\nimport { AccServiceBlock, AccServiceTitle, ServiceBlock, ServiceTitle } from '~/src/components/TariffCard/styled';\n\ninterface IInternetProps {\n isAccordion: boolean,\n withBg: boolean,\n bgColor: string,\n colorText: string,\n isOpen?: boolean,\n onToggle?: () => void,\n speed: number,\n advantages: string[],\n}\n\nconst InternetBlock = ({ isAccordion, withBg, bgColor, colorText, isOpen, onToggle, speed, advantages }: IInternetProps): JSX.Element => {\n return (isAccordion && advantages.length\n ? \n {speed} Мбит/с\n \n }\n >\n \n \n : \n \n {speed} Мбит/с\n \n {!!advantages.length && }\n \n );\n};\n\nexport default InternetBlock;\n","import { ITvDescriptions } from '~/src/components/TariffCard';\n\nimport { ServiceIncludesItem, ServiceIncludesList, ServiceTvDetails } from '~/src/components/TariffCard/styled';\n\ninterface IIncludesProps {\n tvDescriptions: Array,\n openPopup: () => void,\n}\n\nconst IncludesList = ({ tvDescriptions, openPopup }: IIncludesProps): JSX.Element => {\n return (\n \n {tvDescriptions.map((desc, index) => (\n \n
\n {desc.details &&\n \n {desc.details}\n \n }\n \n ))}\n \n );\n};\n\nexport default IncludesList;\n","import { getPluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { channelPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\n\nimport { ITvDescriptions } from '~/src/components/TariffCard';\n\nimport IncludesList from './includesList';\n\nimport { AccServiceBlock, AccServiceTitle, ServiceBlock, ServiceTitle } from '~/src/components/TariffCard/styled';\n\ninterface ITvProps {\n isAccordion: boolean,\n withBg: boolean,\n bgColor: string,\n colorText: string,\n isOpen?: boolean,\n onToggle?: () => void,\n totalChannels: number,\n tvDescriptions: ITvDescriptions[],\n openPopup: () => void,\n}\n\nconst channelText = getPluralize(channelPluralize);\n\nconst TvBlock = ({ isAccordion, withBg, bgColor, colorText, isOpen, onToggle, totalChannels, tvDescriptions, openPopup }: ITvProps): JSX.Element => {\n return (isAccordion && tvDescriptions.length\n ? \n {totalChannels} {channelText(totalChannels)}\n \n }\n >\n \n \n : \n \n {totalChannels} {channelText(totalChannels)}\n \n {!!tvDescriptions.length && }\n \n );\n};\n\nexport default TvBlock;\n","import React, { Dispatch, memo, SetStateAction, useCallback, useMemo, useState } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { dataLayerPush } from '@r1-frontend/analytics/dataLayerPush';\n\nimport { btnTypes } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { Cost } from '@r1-frontend/ui-react/experimental/purchase/cost';\nimport { ACTIONS, CATEGORIES, EVENTS } from '@r1-frontend/shared/constants/analytics';\nimport { getPluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { channelPluralize, monthPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\nimport { useWebp } from '@r1-frontend/shared/hooks/useWebp';\n\nimport { getButtonText } from '~/src/components/TariffCard/helpers/getButtonText';\nimport { ISubscriptionBody } from '~/src/components/TariffCard/subscriptions/types';\nimport WithPromoLabel from '~/src/components/TariffCard/WithPromoLabel';\nimport { ITariff } from '~/src/entities/formattedTariff';\nimport isFullBuyVillage from '~/src/features/full-buy/helpers/ab/isFullBuyVillage';\n\nimport InternetBlock from './internetBlock';\nimport Subscriptions from './subscriptions';\nimport TvBlock from './tvBlock';\n\nimport * as ST from './styled';\n\nexport interface ITvDescriptions {\n desc: string,\n details?: string,\n}\n\ninterface IProps {\n tariff: ITariff,\n isAuth?: boolean,\n openModal?: (tariff: ITariff) => void,\n onClickConnect?: () => void,\n tiled?: boolean,\n setSalePackageId?: Dispatch>,\n setShowRequestFormPopup?: Dispatch>,\n textForButton?: string,\n}\n\nconst channelText = getPluralize(channelPluralize);\nconst monthText = getPluralize(monthPluralize);\n\nconst getLocalePrice = (price: number) => price.toLocaleString('ru-RU', { maximumFractionDigits: 0 });\n\nexport const MAX_ADV_QUANTITY = 2;\n\nconst TariffCard = ({\n tariff,\n isAuth = false,\n openModal = () => ({}),\n onClickConnect,\n tiled = false,\n setSalePackageId,\n setShowRequestFormPopup,\n textForButton,\n}: IProps): JSX.Element => {\n const {\n additionalProducts,\n alias,\n analog = 0,\n advantages,\n color,\n colorText,\n description,\n hdCount = 0,\n imageBackground,\n imageBackgroundWebp,\n includes,\n isCottage,\n location,\n offerContents,\n price,\n priceAction,\n priceActionPeriod,\n sdCount = 0,\n speed,\n title,\n titleColors = [],\n isNeedRequest,\n salePackageId,\n salePackageLinks,\n } = tariff;\n const isZasmotris = alias?.toString().includes('zasmotris');\n const isConstructor = alias === 'constructor';\n const isMega = alias?.toString().includes('mega');\n\n const router = useRouter();\n const { query } = router;\n\n const isWebpUsed = useWebp();\n\n const [isOpenInternet, setIsOpenInternet] = useState(true);\n\n const preparedSubscriptions = useMemo(() => {\n const _offerContents: ISubscriptionBody[] = offerContents.map(item => ({\n id: item.id,\n image: item.image,\n imageWebp: item.image_webp,\n width: item.width,\n alt: item.title,\n type: 'subscription',\n sort: item.sort,\n }));\n\n const _subscriptions: ISubscriptionBody[] = Object.values(salePackageLinks.reduce>((acc, spl) => {\n if ('subscriptions' in spl && spl.subscriptions) {\n spl.subscriptions.forEach(item => {\n acc[item.id] = {\n id: item.id,\n image: item.image,\n imageWebp: item.image_webp,\n width: item.image_width,\n alt: item.title,\n type: 'subscription',\n sort: item.sort,\n };\n });\n }\n\n return acc;\n }, {})).sort((a, b) => a.sort && b.sort ? a.sort - b.sort : -1);\n\n const _additionalProducts: ISubscriptionBody[] = additionalProducts\n ?.filter(({ product_type, required }) => product_type === 'tv' && required)\n .map(({ id, shopItem }) => ({\n id,\n image: shopItem?.image_for_tariff_card || '',\n imageWebp: shopItem?.image_for_tariff_card_webp || '',\n width: shopItem?.image_width,\n alt: shopItem?.title || '',\n type: 'equipment',\n }));\n\n return [...((_subscriptions && _subscriptions.length) ? _subscriptions : _offerContents), ...(_additionalProducts ?? [])];\n }, [offerContents, additionalProducts]);\n\n const hasUrlBackground = useMemo(\n () => !!(imageBackgroundWebp?.includes('url') || imageBackground?.includes('url')),\n [imageBackground, imageBackgroundWebp],\n );\n\n const resultBackground = useMemo(() => {\n const currentBg = (isWebpUsed && imageBackgroundWebp) ? imageBackgroundWebp : imageBackground;\n return hasUrlBackground ? currentBg.replace(/^url|[()]/g, '') : currentBg;\n }, [hasUrlBackground, imageBackground, imageBackgroundWebp, isWebpUsed]);\n\n const promoPeriod = useMemo(\n () => priceActionPeriod ? `${priceActionPeriod} ${monthText(priceActionPeriod)}` : '',\n [priceActionPeriod],\n );\n\n const totalChannels = useMemo(() => hdCount + sdCount + analog, [hdCount, sdCount, analog]);\n\n const withSubscriptions = useMemo(() => !!offerContents?.length, [offerContents?.length]);\n\n const internetData = useMemo(() => {\n return advantages?.length\n ? advantages\n .slice(0, MAX_ADV_QUANTITY)\n .map(advantage => advantage.description)\n : [];\n }, [advantages]);\n\n const tvData = useMemo(() => {\n const data = [];\n\n includes?.length && data.push({\n desc: includes[0].description,\n });\n (hdCount || sdCount) && data.push({\n desc: hdCount\n ? `${hdCount} HD ${channelText(hdCount)}. `\n : `${sdCount} ${channelText(sdCount)}. `,\n details: 'Подробнее',\n });\n\n return data;\n }, [hdCount, includes, sdCount]);\n\n const onToggleHandler = useCallback(() => setIsOpenInternet(!isOpenInternet), [isOpenInternet]);\n const isFullBuyVillageRedirect = useMemo(isFullBuyVillage, []);\n\n\n const onClickHandler = useCallback((e: React.SyntheticEvent) => {\n if (setSalePackageId) {\n setSalePackageId(+salePackageId);\n }\n e.preventDefault();\n\n if (typeof onClickConnect === 'function') {\n return onClickConnect();\n }\n\n dataLayerPush({\n event: EVENTS.UAevent,\n category: CATEGORIES.tariffCards,\n action: ACTIONS.clickChooseTariff,\n label: `name:${title.toLowerCase()}|package:${title.split(' ')[0].toLowerCase()}|type:${tariff.type === 'bundles' ? 'complex' : 'mono'}`,\n });\n\n const code = query.code ? `&code=${query.code}` : '';\n\n const detailPath = !isAuth && location === '/internet'\n ? `/full-buy?tariffName=${alias}&monoTariff=true${code}`\n : `${location}/${alias}${code}`;\n\n\n if (isFullBuyVillageRedirect && !!isCottage) {\n const isMono = !isAuth && location === '/internet/mono-village';\n return router.push(`/full-buy?tariffName=${alias}&monoTariff=${isMono}&filters=cottage${code}`);\n }\n\n !!isCottage && setShowRequestFormPopup\n ? setShowRequestFormPopup(true)\n : router.push(detailPath);\n }, [alias, onClickConnect, isAuth, isCottage, location, router, title, salePackageId, tariff]);\n\n const typeAndTextForButton = useMemo(() => {\n const isPrivateSector = !isFullBuyVillageRedirect && !!isCottage;\n\n const text = textForButton ?? getButtonText(isNeedRequest, isConstructor, isPrivateSector);\n\n return {\n text,\n type: btnTypes.SECONDARY,\n\n };\n }, [isConstructor, isNeedRequest, textForButton]);\n\n\n return (\n <>\n \n \n \n {title}\n \n\n \n\n {withSubscriptions &&\n \n }\n\n \n {!!speed && (\n \n )}\n {!!totalChannels && (\n openModal(tariff)}\n />\n )}\n \n \n\n \n {priceAction\n ? <>\n \n \n \n {getLocalePrice(priceAction)}\n \n \n \n \n {getLocalePrice(price)}\n \n \n \n {promoPeriod && цена на {promoPeriod}}\n \n : <>\n \n \n \n {isConstructor ? `от ${getLocalePrice(price)}` : getLocalePrice(price)}\n \n \n \n {isConstructor && Больше услуг – меньше цена}\n \n }\n \n \n \n \n );\n};\n\nconst TariffCardWithPromo = (props: IProps) => {\n if (props.tariff.promoLabel) {\n const {\n title,\n backgroundColors,\n borderColors,\n imageIcon,\n imageIconWebp,\n } = props.tariff.promoLabel;\n\n return (\n \n \n \n );\n }\n\n return ;\n};\n\nexport default memo(TariffCardWithPromo);\n","export const getButtonText = (isNeedRequest?: boolean, isConstructor?: boolean, isPrivateSector?: boolean) => {\n switch (true) {\n case isNeedRequest:\n return 'Создать заявку';\n case isConstructor:\n return 'Собрать тариф';\n case isPrivateSector:\n return 'Подключить';\n default:\n return 'Подключить онлайн';\n }\n };\n"],"names":["linear","colors","join","createGradient","isArrayOfTwoOrMore","Array","fill","start","end","styled","title","titleColor","COLORS","image","className","children","hasImg","src","NonStaticContainer","$united","$position","$top","BlockContainer","rounder","$radius","indent","Label","textColor","bgColor","$right","$bottom","WebpImage","urlWebp","webpSrc","LazyLoadImage","width","height","BorderRadius","props","borderColors","LabelStyle","backgroundColors","advantages","ServiceIncludesList","map","advantage","index","ServiceIncludesItem","dangerouslySetInnerHTML","__html","data-test","isAccordion","withBg","colorText","isOpen","onToggle","speed","length","AccServiceBlock","isClosed","defaultOpen","open","toggle","AccServiceTitle","AdvantagesList","ServiceBlock","ServiceTitle","tvDescriptions","openPopup","desc","withDetails","details","div","ServiceTvDetails","onClick","channelText","getPluralize","channelPluralize","totalChannels","IncludesList","monthText","monthPluralize","getLocalePrice","price","toLocaleString","maximumFractionDigits","TariffCard","tariff","isAuth","openModal","onClickConnect","tiled","setSalePackageId","setShowRequestFormPopup","textForButton","additionalProducts","alias","analog","color","description","hdCount","imageBackground","imageBackgroundWebp","includes","isCottage","location","offerContents","priceAction","priceActionPeriod","sdCount","titleColors","isNeedRequest","salePackageId","salePackageLinks","isZasmotris","toString","isConstructor","isMega","router","useRouter","query","isWebpUsed","useWebp","useState","isOpenInternet","setIsOpenInternet","preparedSubscriptions","useMemo","_offerContents","item","id","imageWebp","image_webp","alt","type","sort","_subscriptions","Object","values","reduce","acc","spl","subscriptions","forEach","image_width","a","b","_additionalProducts","filter","product_type","required","shopItem","image_for_tariff_card","image_for_tariff_card_webp","hasUrlBackground","resultBackground","currentBg","replace","promoPeriod","withSubscriptions","internetData","slice","tvData","data","push","onToggleHandler","useCallback","isFullBuyVillageRedirect","isFullBuyVillage","onClickHandler","e","preventDefault","dataLayerPush","event","EVENTS","category","CATEGORIES","action","ACTIONS","label","toLowerCase","split","code","detailPath","isMono","typeAndTextForButton","text","isPrivateSector","getButtonText","btnTypes","ST","bg","bgSize","Subscriptions","items","withSubs","InternetBlock","TvBlock","Cost","isMonthly","TariffCardWithPromo","promoLabel","imageIcon","imageIconWebp","WithPromoLabel","memo"],"sourceRoot":""}