{"version":3,"file":"static/chunks/6314-962ff53d2ebf67ce.js","mappings":"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","sources":["webpack://_N_E/./src/components/TariffFilter/styled.ts","webpack://_N_E/./src/components/TariffCard/styled.ts","webpack://_N_E/./src/components/TariffCard/subscriptions/SubscriptionImage/styled.ts","webpack://_N_E/./src/components/TariffCard/subscriptions/SubscriptionImage/index.tsx","webpack://_N_E/./src/components/TariffCard/subscriptions/index.tsx","webpack://_N_E/./src/features/full-buy/helpers/ab/isFullBuyVillage.ts"],"sourcesContent":["import 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 { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nexport const ACBreakpoints = {\n desktop: '1599px',\n sDesktop: '1375px',\n laptop: '1328px',\n tablet: '1100px',\n mobile: '767px',\n sMobile: '425px',\n};\n\nexport const FilterContainer = styled(GridContainer)`\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 32px;\n\n @media (max-width: ${ACBreakpoints.desktop}) {\n justify-content: flex-start;\n width: auto;\n max-width: 1424px;\n padding-left: 16px;\n padding-right: 16px;\n }\n\n @media (max-width: ${ACBreakpoints.mobile}) {\n position: relative;\n }\n`;\n\nexport const CardsContainer = styled.div`\n position: relative;\n flex-basis: 1008px;\n margin: 0 -16px;\n\n @media (max-width: ${ACBreakpoints.sDesktop}) {\n margin: 0 -8px;\n }\n\n @media (max-width: ${ACBreakpoints.laptop}) {\n margin: 0 -20px;\n }\n\n @media (max-width: ${ACBreakpoints.tablet}) {\n margin: 0 -8px;\n }\n\n @media (max-width: ${ACBreakpoints.mobile}) {\n z-index: 3;\n }\n`;\n\nexport const SelectedFilters = styled.div`\n display: none;\n\n @media (max-width: ${ACBreakpoints.mobile}) {\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 16px 24px;\n margin-bottom: 40px;\n background-color: ${COLORS.BgMain};\n }\n\n @media (max-width: ${ACBreakpoints.sMobile}) {\n padding-bottom: 8px;\n }\n`;\n\nexport const FiltersTitle = styled.h4`\n ${FONTS.H4};\n margin-bottom: 8px;\n`;\n\nexport const FiltersButton = styled(BaseButton)`\n &:not(:last-child) {\n margin-right: 8px;\n }\n\n @media (max-width: ${ACBreakpoints.sMobile}) {\n margin-bottom: 8px;\n }\n`;\n\nexport const FiltersBlock = styled.div`\n flex-direction: column;\n margin-bottom: 16px;\n`;\n\nexport const ControlRow = styled.div``;\n\nexport const FixedButton = styled(BaseButton)``;\n","import styled, { css } from 'styled-components';\n\nimport { BaseButton } from '@r1-frontend/ui-react/components/buttons/baseButton';\nimport { Label } from '@r1-frontend/ui-react/components/label';\nimport AccordionInstance from '@r1-frontend/ui-react/deprecated/Accordion';\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\nimport { BoxShadow } from '@r1-frontend/ui-react/tokens/boxShadow';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\nimport { hex2rgb } from '@r1-frontend/shared/helpers/hex2rgb';\n\nimport { ACBreakpoints } from '~/src/components/TariffFilter/styled';\n\nconst getGradient = (colors: string[]): string => {\n const [leftColor, rightColor] = colors;\n return `linear-gradient(90deg, ${leftColor} 0%, ${rightColor} 100%)`;\n};\n\nexport const CardWrapper = styled.div<{ tiled: boolean }>`\n position: relative;\n color: ${COLORS.TextPrimary};\n max-width: 304px;\n height: 468px;\n flex-direction: column;\n flex-wrap: nowrap;\n white-space: pre-wrap;\n border-radius: ${BorderRadius.OuterBlockRadius};\n overflow: hidden;\n text-rendering: geometricPrecision;\n transition: all .3s ease;\n cursor: grab;\n ${({ tiled }) => tiled && css`\n margin: 0 16px 24px;\n cursor: default;\n\n @media (max-width: ${ACBreakpoints.sDesktop}) {\n margin: 0 8px 24px;\n }\n\n @media (max-width: ${ACBreakpoints.laptop}) {\n margin: 0 20px 24px;\n }\n\n @media (max-width: ${ACBreakpoints.tablet}) {\n margin: 0 8px 24px;\n }\n\n @media (max-width: ${ACBreakpoints.sMobile}) {\n margin: 0 0 24px;\n }\n `};\n\n &:hover {\n box-shadow: ${BoxShadow.M};\n }\n\n &:active {\n cursor: grabbing;\n }\n`;\n\nexport const ContentSection = styled.div<{ bg?: string, bgSize: string, colorText: string }>`\n height: 323px;\n flex-direction: column;\n flex-wrap: nowrap;\n padding: 32px 24px 16px;\n color: ${p => p.colorText ?? COLORS.TextPrimary};\n background: ${p => `url(${p.bg}) 0 0 / ${p.bgSize} repeat-y`};\n background: image-set(${p => `url(${p.bg}) 1x) 0 0 / ${p.bgSize} repeat-y`};\n background-color: ${COLORS.BgSurface};\n border-bottom: 1px solid ${COLORS.BgLight};\n background-size: cover;\n`;\n\nexport const TariffTitle = styled.h3<{ colors?: Array, withBg: boolean }>`\n display: block;\n ${FONTS.H3};\n background: ${({ colors }) => {\n if (colors?.length) {\n return colors[0] === colors[1]\n ? 'none'\n : getGradient(colors);\n }\n }};\n -webkit-background-clip: text;\n color: ${({ colors }) => {\n if (colors?.length) {\n return colors[0] === colors[1]\n ? colors[0]\n : 'transparent';\n }\n return 'inherit';\n }};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const TariffDescription = styled.p`\n height: 32px;\n ${FONTS.XXS};\n margin-top: 4px;\n`;\n\nexport const SubsriptionsBlock = styled.div<{ height: number }>`\n width: ${({ height }) => `calc(100% + ${height + 2}px)`};\n height: ${({ height }) => `${height}px`};\n margin: ${({ height }) => `8px -${(height + 2) / 2}px 4px`};\n flex-wrap: nowrap;\n`;\n\nexport const LeftArrow = styled(BaseButton)<{ isVisible: boolean, height: number }>`\n height: ${({ height }) => `${height}px`};\n width: ${({ isVisible, height }) => isVisible ? `${height}px` : 0};\n padding: ${({ isVisible }) => isVisible ? '8px' : 0};\n margin-right: ${({ isVisible }) => isVisible ? '4px' : 0};\n background-color: ${COLORS.BgSecondary};\n background-image: url('/static/images/icons/left-arrow.svg');\n background-position: center;\n background-repeat: no-repeat;\n border-radius: ${BorderRadius.labelRadius};\n overflow: ${({ isVisible }) => isVisible ? 'visible' : 'hidden'};\n transition: .2s;\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.BgLight};\n }\n`;\n\nexport const Subscriptions = styled.div<{ withLeftBtn: boolean, withRightBtn: boolean, height: number }>`\n position: relative;\n flex: 1 1 auto;\n margin-left: ${({ withLeftBtn, height }) => withLeftBtn ? 0 : `${height / 2}px`};\n margin-right: ${({ withRightBtn, height }) => withRightBtn ? 0 : `${height / 2}px`};\n flex-wrap: nowrap;\n overflow: hidden;\n`;\n\nexport const InnerContainer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n width: auto;\n height: 100%;\n flex-wrap: nowrap;\n align-items: center;\n transition: all .2s ease;\n`;\n\nexport const RightArrow = styled.div<{ isVisible: boolean, height: number }>`\n height: ${({ height }) => `${height}px`};\n width: ${({ isVisible, height }) => isVisible ? `${height}px` : 0};\n padding: ${({ isVisible }) => isVisible ? '8px' : 0};\n margin-left: ${({ isVisible }) => isVisible ? '4px' : 0};\n background-color: ${COLORS.BgSecondary};\n background-image: url('/static/images/icons/right-arrow.svg');\n background-position: center;\n background-repeat: no-repeat;\n border-radius: ${BorderRadius.labelRadius};\n overflow: ${({ isVisible }) => isVisible ? 'visible' : 'hidden'};\n transition: .2s;\n cursor: pointer;\n\n &:hover {\n background-color: ${COLORS.BgLight};\n }\n`;\n\nexport const ServicesSection = styled.div<{ withSubs: boolean }>`\n height: ${({ withSubs }) => withSubs ? '144px' : '208px'};\n flex-direction: column;\n flex-wrap: nowrap;\n`;\n\nconst getBg = (bgColor: string, withBg: boolean, opacity?: number) => {\n if (opacity) {\n return `rgba(${hex2rgb(bgColor)}, ${opacity})` || (withBg ? `rgba(${hex2rgb(COLORS.BgMain)}, ${opacity})` : COLORS.BgMain);\n }\n\n return bgColor || (withBg ? `rgba(${hex2rgb(COLORS.BgMain)}, .2)` : COLORS.BgMain);\n};\n\nexport const AccServiceBlock = styled(AccordionInstance)<{ bgColor: string, withBg: boolean, isClosed: boolean, open: boolean }>`\n width: 100%;\n border: none;\n color: inherit;\n padding: 0;\n margin-top: 16px;\n background: none;\n\n & > *:first-child {\n width: calc(100% + 32px);\n margin-left: -16px;\n margin-right: -16px;\n padding: 8px 16px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background: ${({ bgColor, withBg }) => getBg(bgColor, withBg)};\n\n &:hover {\n background: ${({ bgColor, withBg }) => getBg(bgColor, withBg, 0.6)};\n }\n }\n\n & > *:last-child {\n max-height: unset;\n padding-top: 8px;\n height: ${({ open }) => open ? '48px' : 0};\n transition: all 0.2s ease;\n transition-delay: ${({ isClosed }) => isClosed ? '0s' : '0.1s'};\n }\n\n & > *:first-child > *:last-child {\n width: 40px;\n height: calc(100% + 16px);\n margin: -8px -8px -8px 4px;\n }\n\n & > *:last-child > *:first-child {\n height: 0;\n margin: 0;\n }\n\n & > *:first-child > *:last-child > svg > circle {\n stroke: none;\n fill: none;\n }\n\n & > *:first-child > *:last-child > svg > path {\n stroke: ${({ withBg }) => withBg ? COLORS.BgMain : COLORS.GRAY_DARK};\n }\n`;\n\nexport const AccServiceTitle = styled.h4`\n ${FONTS.H5};\n`;\n\nexport const ServiceBlock = styled.div`\n width: 100%;\n padding: 0;\n margin-top: 16px;\n`;\n\nexport const ServiceTitle = styled.p<{ withBg: boolean, bgColor: string, colorText: string }>`\n ${FONTS.H5};\n width: calc(100% + 32px);\n margin: 0 -16px 8px;\n padding: 8px 16px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background: ${({ bgColor, withBg }) => getBg(bgColor, withBg)};\n color: inherit;\n`;\n\nexport const ServiceIncludesList = styled.ul``;\n\nexport const ServiceIncludesItem = styled.li<{ withDetails?: boolean }>`\n position: relative;\n height: 16px;\n ${FONTS.XXS};\n display: flex;\n padding-left: 12px;\n\n &:before {\n position: absolute;\n content: '';\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 4px;\n height: 4px;\n border-radius: ${BorderRadius.labelRadius};\n background: ${COLORS.Outline_Dark};\n overflow: hidden;\n }\n\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n\n p, div {\n width: ${({ withDetails }) => withDetails ? 'auto' : '244px'};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n\nexport const ServiceTvDetails = styled.span`\n position: relative;\n ${FONTS.MediumXXS};\n cursor: pointer;\n text-decoration: underline;\n color: inherit;\n`;\n\nexport const PriceSection = styled.div`\n height: 144px;\n ${FONTS.S};\n padding: 8px 24px 16px;\n display: flex;\n flex-direction: column;\n background: ${COLORS.BgSurface};\n`;\n\nexport const PricesBlock = styled.div`\n flex: 1 1 auto;\n display: flex;\n align-items: flex-start;\n min-width: 235px;\n min-height: 36px;\n`;\n\nexport const TariffPrice = styled.h3`\n ${FONTS.H3};\n`;\n\nexport const OldPrice = styled.div`\n position: relative;\n margin-left: 8px;\n\n ${FONTS.XS};\n color: ${COLORS.TextHint};\n\n &:after {\n position: absolute;\n content: '';\n width: 100%;\n height: 1px;\n left: 0;\n top: 11px;\n background: ${COLORS.GRAY_DARK};\n }\n`;\n\nexport const ActionLabel = styled(Label)`\n margin: 8px 0;\n border-radius: ${BorderRadius.labelRadius};\n`;\n\nexport const StyledBaseButton = styled(BaseButton)`\n max-width: unset;\n width: calc(100% + 16px);\n margin: 0 -8px;\n`;\n\nexport const SubscriptionLabel = styled.div`\n ${FONTS.H5};\n padding: 4px 12px;\n border-radius: ${BorderRadius.OuterBlockRadius};\n background: rgba(${hex2rgb(COLORS.BgMain)}, .2);\n margin-right: 4px;\n white-space: nowrap;\n`;\n","import styled from 'styled-components';\n\nimport { BorderRadius } from '@r1-frontend/ui-react/tokens/borderRadius';\n\nexport const Wrapper = styled.div<{ height: number, hasBorderRadius: boolean }>`\n height: ${({ height }) => height ? `${height}px` : '30px'};\n align-items: center;\n &:not(:last-child) {\n margin-right: 4px;\n }\n\n img {\n height: ${({ height }) => height ? `${height}px` : '30px'};\n width: auto;\n border-radius: ${({ hasBorderRadius }) => hasBorderRadius ? BorderRadius.labelRadius : 'none' };\n }\n`;\n","import { LazyLoadImage } from 'react-lazy-load-image-component';\n\nimport WebpImage from '@r1-frontend/ui-react/components/WebpImage';\n\nimport * as ST from './styled';\n\ninterface IProps {\n src: string,\n webpSrc: string,\n alt: string,\n height: number,\n width?: number,\n hasBorderRadius: boolean,\n}\n\nconst SubscriptionImage = ({\n src,\n webpSrc,\n alt,\n height,\n width,\n\n hasBorderRadius,\n} : IProps) => {\n return (\n \n \n \n \n \n );\n};\n\nexport default SubscriptionImage;\n","import { SyntheticEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport first from 'lodash/first';\n\nimport { ISalePackageLinks } from '~/src/api/common-types/sale-package';\nimport SubscriptionImage from '~/src/components/TariffCard/subscriptions/SubscriptionImage';\nimport { ISubscriptionBody } from '~/src/components/TariffCard/subscriptions/types';\n\nimport * as ST from '~/src/components/TariffCard/styled';\n\n\nexport interface ISubscriptionsProps {\n items: ISubscriptionBody[],\n imageHeight?: number,\n hasBorderRadius?: boolean,\n cardInnerWidth?: number,\n parentWithOneBtn?: number,\n parentWithTwoBtn?: number,\n buttonWidth?: number,\n isZasmotris?: boolean,\n isMega?: boolean,\n salePackageLinks?: ISalePackageLinks[],\n isCottage?: number | boolean,\n className?: string,\n}\n\nconst Subscriptions = ({\n items = [],\n imageHeight = 30,\n hasBorderRadius = true,\n cardInnerWidth = 256,\n parentWithOneBtn = 252,\n parentWithTwoBtn = 216,\n buttonWidth = 16,\n isZasmotris,\n isMega = false,\n salePackageLinks,\n isCottage,\n className,\n}: ISubscriptionsProps): JSX.Element => {\n const innerBlock = useRef(null);\n\n const [isVisibleLeftArrow, setIsVisibleLeftArrow] = useState(false);\n const [isVisibleRightArrow, setIsVisibleRightArrow] = useState(false);\n const [subscriptionsBlockWidth, setSubsBlockWidth] = useState(0);\n const [subsParentWidth, setSubsParentWidth] = useState(0);\n const [slideIndex, setSlideIndex] = useState(0);\n\n const equipItems = useMemo(() => items.filter((item => item.type === 'equipment')), [items]);\n\n const subscriptionsSort = (a: ISubscriptionBody, b: ISubscriptionBody) => {\n return a.sort && b.sort ? a.sort - b.sort : 0;\n };\n\n const { uniqueItems, availableSubscriptionsLabel } = useMemo(() => {\n if (!isZasmotris || isCottage || !salePackageLinks?.length) {\n items.sort(subscriptionsSort);\n return {\n uniqueItems: null,\n };\n }\n\n // Уникальные подписки (напр. в тарифе Засмотрись)\n // @TODO Вынести на верхний уровень (принимать через проп 'items'). Проверить в принципе актуальность такого типа подписок.\n const _subscriptions: ISubscriptionBody[] = salePackageLinks\n .reduce((acc: ISubscriptionBody[], item) => {\n item.subscriptions?.length && item.subscriptions?.forEach(subscription => {\n const subsIndex = acc.findIndex(el => el.id === subscription.id);\n if (subsIndex === -1) {\n acc.push({\n id: subscription.id,\n image: subscription.image,\n imageWebp: subscription.image_webp,\n width: subscription.image_width,\n alt: subscription.title,\n type: 'subscription',\n sort: subscription.sort,\n });\n }\n });\n return acc.sort(subscriptionsSort);\n }, []);\n\n const subscriptionsLabel = `${first(salePackageLinks)?.subscriptions?.length || 0}/${_subscriptions.length}`;\n\n return {\n uniqueItems: [..._subscriptions, ...(!isMega ? equipItems : [])],\n availableSubscriptionsLabel: subscriptionsLabel,\n };\n }, [equipItems, isCottage, isMega, isZasmotris, salePackageLinks]);\n\n\n useEffect(() => {\n if ((items || uniqueItems) && innerBlock.current) {\n setSubsBlockWidth(innerBlock.current.clientWidth + buttonWidth);\n\n const parentWidth = (!!subscriptionsBlockWidth && subscriptionsBlockWidth > cardInnerWidth) ? parentWithOneBtn : cardInnerWidth;\n setSubsParentWidth(parentWidth);\n }\n }, [innerBlock.current?.clientWidth, subscriptionsBlockWidth, items, uniqueItems]);\n\n useEffect(() => {\n if (subscriptionsBlockWidth > subsParentWidth) {\n setIsVisibleRightArrow(true);\n }\n }, [subscriptionsBlockWidth, subsParentWidth]);\n\n const subscriptionsSlides = useMemo(() => {\n const slides = [0];\n if (subscriptionsBlockWidth && subscriptionsBlockWidth > cardInnerWidth) {\n let decreasingWidth = subscriptionsBlockWidth;\n let currIndex = 1;\n\n slides.push(parentWithOneBtn);\n decreasingWidth -= parentWithOneBtn;\n\n if (decreasingWidth > parentWithOneBtn) {\n while (decreasingWidth >= parentWithOneBtn) {\n slides.push(slides[currIndex] + parentWithTwoBtn);\n decreasingWidth -= parentWithTwoBtn;\n currIndex++;\n }\n }\n slides.splice(-1, 1, slides[slides.length - 1] - (parentWithOneBtn - decreasingWidth) + buttonWidth);\n }\n\n return slides;\n }, [subscriptionsBlockWidth]);\n\n const changeLeftPosition = useCallback((directionVector: -1 | 1, extremeSlideIndex: number, callback: () => void) => {\n if (subscriptionsSlides && innerBlock.current) {\n innerBlock.current.style.left = -subscriptionsSlides[slideIndex + directionVector] + 'px';\n\n if (slideIndex + directionVector === extremeSlideIndex) {\n callback();\n }\n\n setSlideIndex(slideIndex + directionVector);\n }\n }, [slideIndex, subscriptionsSlides]);\n\n const leftArrowHandler = (e: SyntheticEvent) => {\n e.stopPropagation();\n !isVisibleRightArrow && setIsVisibleRightArrow(true);\n\n changeLeftPosition(-1, 0, () => {\n setIsVisibleLeftArrow(false);\n });\n };\n\n const rightArrowHandler = (e: SyntheticEvent) => {\n e.stopPropagation();\n !isVisibleLeftArrow && setIsVisibleLeftArrow(true);\n\n changeLeftPosition(1, subscriptionsSlides.length - 1, () => {\n setIsVisibleRightArrow(false);\n });\n };\n\n return (\n \n \n\n \n \n\n {availableSubscriptionsLabel &&\n \n {availableSubscriptionsLabel}\n \n }\n {(uniqueItems ?? items).map(subscription => (\n \n ))}\n \n \n\n \n \n );\n};\n\nexport default Subscriptions;\n","import { getABNVariant } from '~/src/helpers/abn-tests';\n\nconst isFullBuyVillage = (): boolean => {\n return getABNVariant('fullbuy_village') === 'fullbuy_village_enable';\n};\n\nexport default isFullBuyVillage;\n"],"names":["ACBreakpoints","styled","GridContainer","COLORS","FONTS","BaseButton","p","CardWrapper","BorderRadius","tiled","css","BoxShadow","ContentSection","colorText","bg","bgSize","TariffTitle","colors","length","leftColor","rightColor","getGradient","TariffDescription","SubsriptionsBlock","height","LeftArrow","isVisible","Subscriptions","withLeftBtn","withRightBtn","InnerContainer","RightArrow","ServicesSection","withSubs","getBg","bgColor","withBg","opacity","hex2rgb","AccServiceBlock","AccordionInstance","open","isClosed","AccServiceTitle","ServiceBlock","ServiceTitle","ServiceIncludesList","ServiceIncludesItem","withDetails","ServiceTvDetails","PriceSection","PricesBlock","TariffPrice","OldPrice","ActionLabel","Label","StyledBaseButton","SubscriptionLabel","Wrapper","hasBorderRadius","src","webpSrc","alt","width","ST","WebpImage","urlWebp","LazyLoadImage","visibleByDefault","innerBlock","items","imageHeight","cardInnerWidth","parentWithOneBtn","parentWithTwoBtn","buttonWidth","isZasmotris","isMega","salePackageLinks","isCottage","className","useRef","useState","isVisibleLeftArrow","setIsVisibleLeftArrow","isVisibleRightArrow","setIsVisibleRightArrow","subscriptionsBlockWidth","setSubsBlockWidth","subsParentWidth","setSubsParentWidth","slideIndex","setSlideIndex","equipItems","useMemo","filter","item","type","subscriptionsSort","a","b","sort","first","uniqueItems","_subscriptions","reduce","acc","subscriptions","forEach","subscription","findIndex","el","id","push","image","imageWebp","image_webp","image_width","title","subscriptionsLabel","availableSubscriptionsLabel","useEffect","current","clientWidth","subscriptionsSlides","slides","decreasingWidth","currIndex","splice","changeLeftPosition","useCallback","directionVector","extremeSlideIndex","callback","style","left","onClick","e","stopPropagation","data-test","ref","map","SubscriptionImage","getABNVariant"],"sourceRoot":""}