{"version":3,"file":"static/chunks/7065-7285b24434eec44d.js","mappings":"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","sources":["webpack://_N_E/../../packages/shared/src/helpers/truncate.ts","webpack://_N_E/../../packages/ui-react/src/components/List/Characteristics/Characteristics.tsx","webpack://_N_E/../../packages/ui-react/src/components/List/Characteristics/styled.ts","webpack://_N_E/../../packages/ui-react/src/components/List/Characteristics/index.ts","webpack://_N_E/../../packages/ui-react/src/components/SolidProgressBar/styled.js","webpack://_N_E/../../packages/ui-react/src/components/SolidProgressBar/index.js","webpack://_N_E/../../packages/ui-react/src/components/Stepper/Stepper.tsx","webpack://_N_E/../../packages/ui-react/src/components/Stepper/styled.ts","webpack://_N_E/../../packages/ui-react/src/components/Stepper/index.tsx","webpack://_N_E/../../packages/ui-react/src/components/costs/DescribedCost/DescribedCost.tsx","webpack://_N_E/../../packages/ui-react/src/components/costs/DescribedCost/styled.tsx","webpack://_N_E/../../packages/ui-react/src/components/costs/DescribedCost/index.tsx","webpack://_N_E/../../packages/ui-react/src/components/svg/arrows/SingleArrowLeft.tsx","webpack://_N_E/../../packages/ui-react/src/components/svg/main/Add.tsx","webpack://_N_E/../../packages/ui-react/src/components/svg/main/Flash.tsx","webpack://_N_E/../../packages/ui-react/src/components/svg/main/Minus.tsx","webpack://_N_E/../../packages/ui-react/src/components/typography/controlElement/ControlElement.tsx","webpack://_N_E/../../packages/ui-react/src/components/typography/controlElement/index.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/CardBricks/SteppableCardFooter/index.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/CardImage/styled.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/CustomNuka/styled.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/CardImage/CardImageWithCarousel.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/CardImage/index.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/Router/Desktop.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/Router/Router.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/Router/styled.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/Card/Router/index.tsx","webpack://_N_E/../../packages/ui-react/src/organisms/SteppableProgressBar/styled.ts","webpack://_N_E/../../packages/ui-react/src/organisms/SteppableProgressBar/index.tsx"],"sourcesContent":["// обрезать строку с многоточием при привышении заданного количества символом visibleLength\n// до выноса называлась ellipsis\nexport const truncate = (string: string | undefined, visibleLength: number) => {\n if (!string) {\n return '';\n }\n\n return string.length > visibleLength && visibleLength !== 0\n ? `${string.slice(0, visibleLength).trim()}...`\n : string;\n};\n","import { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\n\nexport type TCharacteristicsProps = {\n title: string,\n value: string,\n\n Component?: (props: any) => JSX.Element,\n componentProps?: any,\n};\n\nconst Characteristics = ({\n title,\n value,\n\n Component = Paragraph4,\n componentProps,\n\n ...props\n}: TCharacteristicsProps): JSX.Element => {\n return (\n
\n {title}\n
\n {value}\n
\n );\n};\n\nexport default Characteristics;\n","import styled from 'styled-components';\n\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport Characteristics from './Characteristics';\n\nexport const StyledCharacteristics = styled(Characteristics)`\n display: flex;\n flex-direction: row;\n align-items: baseline;\n flex-wrap: nowrap;\n max-width: 100%;\n overflow: hidden;\n \n color: ${COLORS.TextHint};\n \n & > * {\n white-space: nowrap;\n }\n \n & :nth-child(2) {\n flex-basis: 12px;\n flex-grow: 1;\n flex-shrink: 0;\n line-height: 100%;\n border-bottom: .5px dashed ${COLORS.TextDisabled};\n margin: 0 2px;\n }\n`;\n","import { StyledCharacteristics as Characteristics } from './styled';\n\nexport default Characteristics;\n","import styled from 'styled-components';\n\nimport { COLORS } from '../../assets/js/constants';\nimport { FONTS } from '../../tokens/fonts';\n\nexport const Wrapper = styled.div`\n display: block;\n width: 100%;\n`;\n\nexport const ProgressBar = styled.div`\n position: relative;\n display: block;\n width: 100%;\n height: ${p => p.width}px;\n background-color: ${p => p.background};\n border-radius: ${p => p.borderRadius}px;\n overflow: hidden;\n`;\n\nexport const Bar = styled.div`\n display: block;\n height: 100%;\n ${p => p.smooth && `transition: width ${p.animationDuration}s;`}\n top: 0;\n background-color: ${p => p.color};\n border-radius: ${p => p.borderRadius}px;\n`;\n\nexport const Title = styled.div`\n display: block;\n ${FONTS.L};\n margin-bottom: 10px;\n color: ${COLORS.black};\n @media(max-width: 1080px) {\n ${FONTS.S};\n margin-bottom: 8px;\n }\n`;\n\nexport const Description = styled.div`\n display: block;\n ${FONTS.S};\n color: ${COLORS.grey};\n margin-top: 6px;\n @media(max-width: 1080px) {\n ${FONTS.XS};\n }\n`;\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nimport { COLORS } from '../../assets/js/constants';\nimport { Bar, Description, ProgressBar, Title, Wrapper } from './styled';\n\nclass SolidProgressBar extends PureComponent {\n render() {\n\n const { title, description, width, borderRadius, color, background, progress, smooth = true, animationDuration = 1 } = this.props;\n\n return (\n \n { title ? {title} : null }\n \n { description ? {description} : null }\n \n );\n }\n}\n\nSolidProgressBar.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n width: PropTypes.number,\n borderRadius: PropTypes.number,\n color: PropTypes.string,\n background: PropTypes.string,\n progress: PropTypes.number,\n};\n\n\nSolidProgressBar.defaultProps = {\n title: '',\n description: '',\n width: 2,\n borderRadius: 0,\n color: COLORS.lightGreen,\n background: COLORS.grey,\n progress: 0,\n};\n\nexport default SolidProgressBar;\n","import React from 'react';\n\nimport Add from '@r1-frontend/ui-react/components/svg/main/Add';\nimport Minus from '@r1-frontend/ui-react/components/svg/main/Minus';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport { EStepperSizes } from './index';\n\nimport { Control, Wrapper } from './styled';\n\nexport type StepperProps = {\n value: number,\n min?: number,\n max?: number,\n\n summaryLimitsReached?: boolean, // using when need disable an increment by a global page limitations;\n\n onIncrement: () => void,\n onDecrement: () => void,\n\n disabled?: boolean,\n\n $size?: keyof typeof EStepperSizes, // by default 'medium'\n $bgColor?: COLORS, // by default is COLORS.TextWhite\n $color?: COLORS, // by default is COLORS.TextPrimary\n};\n\n/**\n * Stepper component\n * Displayed two control element (increment/decrement) with value\n *\n * @link https://www.figma.com/file/dZ9nsGKTEkHJJGcfuP8pRi/%F0%9F%8D%8FDS-WEB?type=design&node-id=163-903&t=Gh83vNM2PFzzDZ4n-0\n */\nconst Stepper = ({\n value = 1,\n min = 1,\n max = 999999,\n\n summaryLimitsReached = false,\n\n disabled = false,\n\n onIncrement,\n onDecrement,\n\n ...props\n}: StepperProps): JSX.Element => {\n return (\n
\n \n \n \n \n
{value}
\n = max}\n data-test={'Stepper-increment'}\n >\n \n \n
\n
\n );\n};\n\nexport default Stepper;\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport Svg from '@r1-frontend/ui-react/components/svg/Svg';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\n\nimport { EStepperSizes } from './index';\nimport Stepper, { StepperProps } from './Stepper';\n\nexport const Control = styled.div<{ $transparency?: boolean }>`\n display: inline-block;\n cursor: pointer;\n opacity: ${({ $transparency }) => $transparency ? '0.2' : '1'};\n pointer-events: ${({ $transparency }) => $transparency ? 'none' : 'inherit'};\n color: inherit;\n height: 20px;\n`;\n\nexport const StyledStepper = styled(Stepper)`\n display: block;\n box-sizing: border-box;\n padding: 0 12px;\n border-radius: 20px;\n\n background: ${({ $bgColor = COLORS.TextWhite }) => $bgColor};\n\n height: ${({ $size = 'medium' }) => EStepperSizes[$size]}px;\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n display: inline-block;\n }\n\n & :nth-child(2) {\n display: inline-block;\n min-width: 20px;\n text-align: center;\n ${FONTS.XS};\n color: ${({ $color = COLORS.TextPrimary }) => $color};\n margin: 0 8px;\n }\n\n & ${Svg} #guts {\n stroke: ${({ $color = COLORS.TextPrimary }) => $color};\n }\n\n user-select: none;\n\n &[data-disabled=true] {\n pointer-events: none;\n background-color: ${COLORS.Disabled};\n color: ${COLORS.GRAY_DARK};\n }\n`;\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 100%;\n`;\n\n","import { StyledStepper as Stepper } from './styled';\n\nexport default Stepper;\n\nexport enum EStepperSizes {\n small = 30,\n medium = 36,\n large = 48,\n}\n","import { useMemo } from 'react';\n\nimport Cost from '@r1-frontend/ui-react/components/costs/Cost';\nimport { TCostProps } from '@r1-frontend/ui-react/components/costs/Cost/Cost';\nimport { SingleArrowDown } from '@r1-frontend/ui-react/components/svg/arrows';\nimport { H4 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { getPluralize } from '@r1-frontend/shared/helpers/pluralize';\nimport { dayPluralize } from '@r1-frontend/shared/helpers/pluralize/predifined';\n\nimport * as ST from './styled';\n\ntype TDescribedCostProps = {\n previousCost?: TCostProps['children'],\n installmentPeriod?: number | null,\n isReverse?: boolean,\n isTestDrive?: boolean,\n isCredit?: boolean,\n onClick?: () => void,\n DescriptionWrapper?: (props: any) => JSX.Element,\n CostWrapper?: (props: any) => JSX.Element,\n\n className?: string,\n} & Pick;\n\nconst DescribedCost = ({\n children,\n previousCost,\n installmentPeriod = 1,\n isTestDrive = false,\n onClick,\n isCredit,\n\n DescriptionWrapper = (props) => ,\n CostWrapper = (props) =>

,\n\n className,\n\n ...props\n}: TDescribedCostProps) => {\n if (installmentPeriod && installmentPeriod < 1) {\n throw Error('The \"installment period\" property cannot be zero.');\n }\n\n const pluralizeDays = getPluralize(dayPluralize);\n\n const hasCreditProp = typeof isCredit !== 'undefined';\n\n const description = useMemo(() => {\n const testDriveText = <>Тест-драйв на {installmentPeriod} {pluralizeDays(installmentPeriod ?? 1)};\n if ((installmentPeriod && installmentPeriod > 1) || isCredit) {\n const installmentText = (hasCreditProp) ? 'Доступна рассрочка' : `Рассрочка ${installmentPeriod} мес.`;\n return isTestDrive ? testDriveText : installmentText;\n }\n\n return 'Полная стоимость';\n }, [installmentPeriod, isTestDrive, isCredit]);\n\n return (\n
\n \n {description}\n {!!onClick && }\n \n \n 1)}>\n {children}\n \n {previousCost && (\n \n 1)} isPreviously>\n {previousCost}\n \n \n )}\n \n
\n );\n};\n\nexport default DescribedCost;\n","import { CSSProperties } from 'react';\nimport styled from 'styled-components';\n\nimport Cost from '@r1-frontend/ui-react/components/costs/Cost';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport Svg from '@r1-frontend/ui-react/components/svg/Svg';\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport DescribedCost from './DescribedCost';\n\nconst StyledDescribedCost = styled(DescribedCost)<{ isReverse?: boolean, align?: CSSProperties['alignItems'] }>`\n flex-direction: ${({ isReverse }) => isReverse ? 'column-reverse' : 'column'};\n align-items: ${({ align = 'flex-start' }) => align};\n cursor: ${({ onClick }) => onClick ? 'pointer' : 'initial'};\n\n ${Cost} + ${Paragraph4} {\n margin-left: 8px;\n }\n`;\n\nexport const Installment = styled.div`\n display: flex;\n color: ${COLORS.TextInfo};\n flex-wrap: nowrap;\n\n i {\n margin-left: 4px;\n line-height: 0;\n align-self: center;\n\n & > ${Svg} {\n width: 12px;\n height: 12px;\n }\n }\n\n span {\n @media (max-width: ${wideBreakpoints.mobile}) {\n display: none;\n }\n }\n`;\n\nexport default StyledDescribedCost;\n","import DescribedCost from '@r1-frontend/ui-react/components/costs/DescribedCost/styled';\n\nexport default DescribedCost;\n","import { createSvg } from '@r1-frontend/ui-react/components/svg/createSvg';\n\nconst SingleArrowLeft = (\n {\n strokeWidth = 1.5,\n },\n): JSX.Element => {\n return \n \n ;\n};\n\nexport default createSvg(\n SingleArrowLeft,\n 'single-arrow-left',\n);\n","import { createSvg } from '../createSvg';\n\nconst Add = (\n {\n strokeWidth = 1.5,\n },\n): JSX.Element => {\n return (\n <>\n \n \n \n \n \n );\n};\n\nexport default createSvg(\n Add,\n 'add',\n);\n","import { createSvg } from './../createSvg';\n\nconst Flash = ({ strokeWidth = 1.5 }): JSX.Element => {\n return \n \n ;\n};\n\nexport default createSvg(\n Flash,\n 'flash',\n);\n","import { createSvg } from '../createSvg';\n\nconst Minus = (\n {\n strokeWidth = 1.5,\n },\n): JSX.Element => {\n return (\n <>\n \n \n \n \n );\n};\n\nexport default createSvg(\n Minus,\n 'minus',\n);\n","import { ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { TSvgProps } from '@r1-frontend/ui-react/components/svg/createSvg';\nimport Svg from '@r1-frontend/ui-react/components/svg/Svg';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { FONTS } from '@r1-frontend/ui-react/tokens/fonts';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nexport const controlElementTypes = ['small', 'medium', 'large'] as const;\n\nexport type TControlElementType = typeof controlElementTypes[number];\n\nexport type TControlElementProps = {\n type?: TControlElementType,\n $customFont?: FONTS.MediumS | FONTS.MediumXS | FONTS.MediumXXS,\n Icon?: (props: TSvgProps) => JSX.Element,\n children?: string | ReactNode | JSX.Element,\n onClick?: () => void,\n}\n\nconst ControlElement = (\n {\n children,\n Icon,\n\n ...rest\n }: Pick,\n): JSX.Element => {\n const isMobile = useMatchMedia(`(max-width: ${wideBreakpoints.mobile})`);\n return (\n \n {Boolean(children) && children}\n {Icon && ()}\n \n );\n};\n\nconst getFontByType = (type: TControlElementType): { mobile: FONTS, desktop: FONTS } => {\n switch (type) {\n case 'large': {\n return { mobile: FONTS.MediumXS, desktop: FONTS.MediumS };\n }\n case 'medium': {\n return { mobile: FONTS.MediumXXS, desktop: FONTS.MediumXS };\n }\n case 'small': {\n return { mobile: FONTS.MediumXXS, desktop: FONTS.MediumXXS };\n }\n }\n};\n\nconst StyledControlElement = styled(ControlElement)`\n display: inline-flex;\n\n justify-content: flex-start;\n align-items: center;\n flex-direction: row;\n gap: 5px;\n\n color: ${COLORS.Link};\n cursor: pointer;\n\n ${Svg} {\n #guts, #contour {\n stroke: ${COLORS.Link};\n }\n }\n\n ${({ type = 'large', $customFont }) => {\n if ($customFont) {\n return css`${$customFont};`;\n }\n\n if (!$customFont && type) {\n const { mobile, desktop } = getFontByType(type);\n\n return css`\n ${mobile};\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n ${desktop};\n }\n `;\n }\n }}\n`;\n\nexport default StyledControlElement;\n","import ControlElement from './ControlElement';\n\nexport default ControlElement;\n","import Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { DescribedCost } from '@r1-frontend/ui-react/components/costs';\nimport Stepper from '@r1-frontend/ui-react/components/Stepper';\nimport { H4 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { ListContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { TRouterCardProps } from '@r1-frontend/ui-react/organisms/Card/Router/Router';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nconst SteppableCardFooter = ({\n title,\n\n disabled = false,\n isTestDrive = false,\n\n cost,\n previousCost,\n period,\n\n quantity,\n\n btnText,\n\n onButtonClick,\n onIncrement,\n onDecrement,\n onCostClick,\n}: Omit): JSX.Element => {\n return (\n \n
\n

{title}

\n 0 ? onCostClick : undefined}\n isTestDrive={isTestDrive}\n previousCost={previousCost}\n >\n {cost}\n \n
\n {quantity\n ? !isTestDrive && (\n \n )\n : \n {btnText || 'Добавить'}\n \n }\n
\n );\n};\n\nexport default SteppableCardFooter;\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\n\nexport const ImageWrapper = styled.div`\n margin: 0 auto;\n position: relative;\n \n img {\n width: 100%;\n height: 134px;\n object-fit: contain;\n object-position: center center;\n \n @media (max-width: ${wideBreakpoints.mobile}) {\n height: 96px;\n }\n }\n`;\n\nexport const LabelWrapper = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n position: absolute;\n z-index: 1000;\n top: 4px;\n left: 8px;\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n top: 6px;\n left: 12px;\n }\n`;\n","import 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 { ICustomDotsStyles } from '@r1-frontend/ui-react/components/NukaCarousel/DefaultDots/styled';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nexport const CustomNukaCarousel = styled(NukaCarousel)`\n padding: 4px 0 12px 0;\n \n & img {\n width: auto !important;\n max-height: 72px;\n margin: auto;\n }\n\n .slider-slide {\n display: flex !important;\n justify-content: center;\n align-items: center;\n }\n \n /**\n fix safari browser\n */\n .slider-frame {\n border-radius: 24px;\n }\n\n .slider-control-bottomcenter {\n bottom: -8px !important;\n }\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n padding: 6px 0 16px 0;\n\n & img {\n max-height: 112px;\n }\n\n .slider-frame {\n border-radius: 32px;\n }\n }\n`;\n\nexport const customDotsStyles: ICustomDotsStyles = {\n dotContainer: {\n width: '6px',\n height: '6px',\n },\n dot: {\n background: COLORS.Outline_Dark,\n opacity: .2,\n borderRadius: '50%',\n },\n activeDot: {\n background: COLORS.Outline_Dark,\n opacity: 1,\n borderRadius: '50%',\n },\n};\n","import React, { ReactNode, useMemo } from 'react';\nimport { LazyLoadImage } from 'react-lazy-load-image-component';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport * as S from '@r1-frontend/ui-react/organisms/Card/CardImage/styled';\nimport { customDotsStyles, CustomNukaCarousel } from '@r1-frontend/ui-react/organisms/Card/CustomNuka';\nimport { useMatchMediaByWidth } from '@r1-frontend/shared/hooks/useMatchMedia';\n\ntype TProps = {\n images: string[],\n labels?: ReactNode[],\n}\n\nconst CardImageWithCarousel = (props: TProps): JSX.Element => {\n const isMobile = useMatchMediaByWidth(wideBreakpoints.mobile);\n\n const {\n images,\n labels,\n } = useMemo(() => {\n return {\n images: isMobile ? props.images.slice(0, 1) : props.images,\n labels: props.labels && isMobile ? props.labels.slice(0, 1) : props.labels,\n };\n }, [props.images, props.labels, isMobile]);\n\n return (\n \n {images.map((currentImage, index) => {\n return !!labels && index === 0\n ?
\n {labels}\n \n
\n : ;\n })}\n \n );\n};\n\nexport default CardImageWithCarousel;\n","import React, { ReactNode, useMemo } from 'react';\nimport { LazyLoadImage } from 'react-lazy-load-image-component';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { IndentContainer, RounderContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport CardImageWithCarousel from '@r1-frontend/ui-react/organisms/Card/CardImage/CardImageWithCarousel';\nimport * as S from '@r1-frontend/ui-react/organisms/Card/CardImage/styled';\nimport { useMatchMediaByWidth } from '@r1-frontend/shared/hooks/useMatchMedia';\n\ntype TProps = {\n images: string[],\n labels?: ReactNode[],\n}\n\nconst CardImage = (props: TProps): JSX.Element => {\n const isMobile = useMatchMediaByWidth(wideBreakpoints.mobile);\n const { hasListOfImage, labels } = useMemo(() => (\n {\n hasListOfImage: props.images.length > 1,\n labels: props.labels && isMobile ? props.labels.slice(0, 1) : props.labels,\n }\n ), [isMobile, props.images.length, props.labels]);\n\n return (\n <>\n \n \n {hasListOfImage\n ? \n : \n {labels ? {labels} : null}\n \n }\n \n \n \n );\n};\n\nexport default CardImage;\n","import Characteristics from '@r1-frontend/ui-react/components/List/Characteristics';\nimport { TCharacteristicsProps } from '@r1-frontend/ui-react/components/List/Characteristics/Characteristics';\nimport { H4 } from '@r1-frontend/ui-react/components/typography/heading';\nimport { Paragraph5 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport { ListContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport { TRouterCardProps } from '@r1-frontend/ui-react/organisms/Card/Router/Router';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport * as S from './styled';\n\nconst DesktopRouterCard = ({\n title,\n description,\n\n characteristics,\n}: Omit & { characteristics: TCharacteristicsProps[] }): JSX.Element => {\n return (\n <>\n \n \n \n

{title}

\n \n {characteristics.map(characteristic => (\n \n ))}\n \n
\n
\n \n );\n};\n\nexport default DesktopRouterCard;\n","import React, { ReactNode, useMemo } from 'react';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport { DescribedCost } from '@r1-frontend/ui-react/components/costs';\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { TCharacteristicsProps } from '@r1-frontend/ui-react/components/List/Characteristics/Characteristics';\nimport Stepper from '@r1-frontend/ui-react/components/Stepper';\nimport { TSvgProps } from '@r1-frontend/ui-react/components/svg/createSvg';\nimport { IndentContainer, withRadius } from '@r1-frontend/ui-react/experimental/containers';\nimport SteppableCardFooter from '@r1-frontend/ui-react/organisms/Card/CardBricks/SteppableCardFooter';\nimport CardImage from '@r1-frontend/ui-react/organisms/Card/CardImage';\nimport * as S from '@r1-frontend/ui-react/organisms/Card/Router/styled';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\nimport { useMatchMedia } from '@r1-frontend/shared/hooks/useMatchMedia';\n\nimport DesktopRouterCard from './Desktop';\n\nexport type TRouterCardCharacteristicsProps = TCharacteristicsProps & { Icon: (props: TSvgProps) => JSX.Element };\n\nexport type TRouterCardProps = {\n images: string[],\n title: string | JSX.Element,\n description: string | JSX.Element,\n\n labels?: ReactNode[],\n\n characteristics: TRouterCardCharacteristicsProps[],\n\n disabled?: boolean,\n isTestDrive?: boolean,\n\n cost: number,\n previousCost?: number,\n period: number,\n\n quantity?: number,\n\n btnText?: string,\n\n onButtonClick: () => void,\n onIncrement: () => void,\n onDecrement: () => void,\n onCostClick: () => void,\n\n className?: string,\n}\n\nconst RouterCard = ({ isTestDrive = false, previousCost, ...props }: TRouterCardProps): JSX.Element => {\n const isMobile = useMatchMedia(`(max-width: ${wideBreakpoints.mobile})`);\n\n const desktopCharacteristics = useMemo(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n () => props.characteristics.map(({ Icon, ...item }) => ({ ...item })),\n [props.characteristics],\n );\n return (\n
\n \n\n \n {isMobile\n ? \n : \n }\n \n {!isMobile && (\n \n \n 0 ? props.onCostClick : undefined}\n installmentPeriod={props.period}\n isTestDrive={isTestDrive}\n previousCost={previousCost}\n >\n {props.cost}\n \n {props.quantity\n ? !isTestDrive && (\n \n )\n : \n {props.btnText || 'Добавить'}\n \n }\n \n \n )}\n
\n );\n};\n\nexport default withRadius(RouterCard, { $desktop: 32, $mobile: 24 });\n","import styled from 'styled-components';\n\nimport { wideBreakpoints } from '@r1-frontend/ui-react/components/layouts/wideContainer';\nimport { IndentContainer } from '@r1-frontend/ui-react/experimental/containers';\nimport RounderContainer from '@r1-frontend/ui-react/experimental/containers/RounderContainer';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport Router from './Router';\n\nexport const StyledRouterCard = styled(Router)`\n position: relative;\n flex-direction: column;\n background-color: ${COLORS.BgSurface};\n\n flex-wrap: nowrap;\n \n width: 164px;\n\n @media (min-width: ${wideBreakpoints.mobile}) {\n width: 304px;\n }\n\n & > ${IndentContainer} > ${RounderContainer} {\n background-color: ${COLORS.TextWhite};\n }\n \n & > ${IndentContainer}:last-child {\n margin-top: auto;\n }\n \n & > ${IndentContainer}[data-role='button'] {\n cursor: pointer;\n }\n`;\n\nexport const DesktopFooter = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: flex-end;\n`;\n\nexport const Block = styled.div`\n display: block;\n`;\n","import { StyledRouterCard as RouterCard } from '@r1-frontend/ui-react/organisms/Card/Router/styled';\n\nexport default RouterCard;\n","import styled from 'styled-components';\n\nimport Button from '@r1-frontend/ui-react/components/buttons/button';\nimport ControlElement from '@r1-frontend/ui-react/components/typography/controlElement';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nexport const Btn = styled(Button)`\n padding-left: 0;\n padding-right: 0;\n`;\n\nexport const StepProgress = styled.div`\n flex-direction: column;\n width: 100%;\n`;\n\nexport const HeaderWrap = styled.div`\n height: 32px;\n width: 100%;\n flex-wrap: nowrap;\n align-items: center;\n column-gap: 4px;\n color: ${COLORS.TextInfo};\n position: relative;\n \n svg {\n g#guts {\n stroke: ${COLORS.TextInfo};\n }\n }\n \n ${ControlElement}{\n position: absolute;\n right: 0;\n }\n`;\n\nexport const BtnWrap = styled.div`\n cursor: pointer;\n &:hover {\n transform: scale(1.1);\n }\n`;\n\nexport const ImgWrap = styled.div`\n width: 54px;\n height: 32px;\n margin-left: auto;\n overflow: hidden;\n\n picture {\n width: auto;\n height: 100%;\n }\n\n img {\n width: auto;\n height: 100%;\n }\n`;\n","import ProgressBar from '@r1-frontend/ui-react/components/SolidProgressBar';\nimport { SingleArrowLeft } from '@r1-frontend/ui-react/components/svg/arrows';\nimport { TSvgProps } from '@r1-frontend/ui-react/components/svg/createSvg';\nimport ControlElement from '@r1-frontend/ui-react/components/typography/controlElement';\nimport { Paragraph4 } from '@r1-frontend/ui-react/components/typography/paragraph';\nimport { COLORS } from '@r1-frontend/ui-react/tokens/colors';\n\nimport * as ST from './styled';\n\nexport interface IProps {\n progress: number,\n title: string,\n imgPath?: string,\n imgName?: string,\n onClick?: () => void,\n Icon?: (props: TSvgProps) => JSX.Element,\n onClickInfoIcon?: () => void,\n}\n\n\nexport const STEPPABLE_PROGRESS_BAR_ID = 'SteppableProgressBar';\n\n/**\n * Прогресс бар с кнопкой Назад и картинкой\n */\nexport const SteppableProgressBar = ({ progress, title, imgPath, imgName, onClick, Icon, onClickInfoIcon }: IProps) => {\n return (\n \n \n {onClick &&\n }\n />\n }\n\n {title}\n\n {imgName && imgPath &&\n \n картинка прогресса\n \n }\n {!imgName &&\n \n }\n \n \n \n );\n};\n\nexport default SteppableProgressBar;\n"],"names":["truncate","string","visibleLength","length","slice","trim","title","value","Component","Paragraph4","componentProps","props","div","as","styled","Characteristics","COLORS","Wrapper","ProgressBar","p","width","background","borderRadius","Bar","smooth","animationDuration","color","Title","FONTS","Description","SolidProgressBar","render","this","description","progress","data-test","style","PureComponent","propTypes","PropTypes","defaultProps","min","max","summaryLimitsReached","disabled","onIncrement","onDecrement","data-disabled","Control","onClick","$transparency","Minus","size","Add","StyledStepper","Stepper","$bgColor","$size","EStepperSizes","wideBreakpoints","$color","Svg","small","medium","large","children","previousCost","installmentPeriod","isTestDrive","isCredit","DescriptionWrapper","$smaller","CostWrapper","H4","$inline","$withIndent","className","Error","pluralizeDays","getPluralize","dayPluralize","hasCreditProp","useMemo","testDriveText","span","installmentText","ST","i","SingleArrowDown","Cost","isMonthly","Boolean","isPreviously","StyledDescribedCost","DescribedCost","isReverse","align","Installment","createSvg","strokeWidth","g","id","path","d","strokeMiterlimit","strokeLinecap","strokeLinejoin","Icon","rest","isMobile","useMatchMedia","strong","type","$customFont","css","getFontByType","mobile","desktop","cost","period","quantity","btnText","onButtonClick","onCostClick","ListContainer","$direction","undefined","Button","bType","ImageWrapper","LabelWrapper","CustomNukaCarousel","NukaCarousel","customDotsStyles","dotContainer","height","dot","opacity","activeDot","useMatchMediaByWidth","images","labels","withoutArrows","map","currentImage","index","S","LazyLoadImage","src","alt","visibleByDefault","hasListOfImage","IndentContainer","$united","RounderContainer","$desktop","$mobile","CardImageWithCarousel","characteristics","Paragraph5","dangerouslySetInnerHTML","__html","characteristic","withRadius","desktopCharacteristics","item","CardImage","SteppableCardFooter","DesktopRouterCard","StyledRouterCard","Router","DesktopFooter","Block","Btn","StepProgress","HeaderWrap","ControlElement","ImgWrap","STEPPABLE_PROGRESS_BAR_ID","imgPath","imgName","onClickInfoIcon","SingleArrowLeft","img"],"sourceRoot":""}