{"version":3,"file":"dist/build-client/static/js/9771.4bcfcffd.chunk.js","mappings":"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","sources":["Shared/Common/ProductHexColors.ts","Atoms/ColorOption/ColorOption.tsx","Atoms/Grids/GridItem.tsx","Atoms/Links/IconLink.tsx","Atoms/ProductTag/ProductTag.tsx","Organisms/Blocks/ProductListingBlock.tsx","Organisms/ProductCard/MinimalProductCard.tsx","Organisms/ProductCard/ProductCard.tsx"],"sourcesContent":["const ProductHexColors: { [key: string]: string } = {\r\n grey: '#5A5B67',\r\n black: '#0E0E10',\r\n red: '#C30300',\r\n silver: '#E1E1E3',\r\n ceramicwhite: '#F0F0F1',\r\n yellow: '#FFD80E',\r\n electricyellow: '#FFF500',\r\n lime: '#B1FC06',\r\n titan: '#787885',\r\n turquoise: '#3EAFCE',\r\n mint: '#91DBC6',\r\n olive: '#8B8361',\r\n bronze: '#CD7F32',\r\n violet: '#6E3446',\r\n lightblue: '#6E97AB',\r\n anthrazit: '#3A3A44',\r\n orange: '#FF6600',\r\n transparent: 'transparent',\r\n blue: '#1E355F',\r\n white: '#FFFFFF',\r\n gold: '#BBA14F',\r\n blackgold: '#0E0E10/#BBA14F',\r\n titanium: '#9696A0',\r\n blackorange: '#0E0E10/#FF6600',\r\n whiteorange: '#FFFFFF/#FF6600',\r\n electronicorange: '#FF9900',\r\n green: '#5E6452',\r\n beige: '#ADA39A',\r\n darkblue: '#101937',\r\n greymelange: '#675E61',\r\n pink: '#F854E9',\r\n};\r\n\r\nexport default ProductHexColors;\r\n","import { styled } from 'stitches.config';\r\nimport ProductHexColors from '../../Shared/Common/ProductHexColors';\r\n\r\ntype PropType = {\r\n color?: string;\r\n size?: 's' | 'm';\r\n noMargin?: boolean;\r\n noColorfallback?: true;\r\n};\r\n\r\nfunction ColorOption({\r\n color = 'transparent',\r\n size = 'm',\r\n noMargin = false,\r\n noColorfallback,\r\n}: PropType) {\r\n function splitColors() {\r\n if (ProductHexColors[color]?.includes('/')) {\r\n return ProductHexColors[color]?.split('/');\r\n }\r\n }\r\n\r\n const splitColor = splitColors();\r\n const isHalfCircle = ProductHexColors[color]?.includes('/');\r\n\r\n if (noColorfallback) return <>>;\r\n\r\n return (\r\n \r\n {isHalfCircle ? (\r\n <>\r\n \r\n \r\n >\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nconst Circle = styled('div', {\r\n borderRadius: '50%',\r\n overflow: 'hidden',\r\n border: '0.5px solid $primaryLight3',\r\n variants: {\r\n noMargin: {\r\n true: {\r\n mr: 0,\r\n },\r\n },\r\n size: {\r\n s: {\r\n mr: 1,\r\n w: 3,\r\n h: 3,\r\n },\r\n m: {\r\n mr: 2,\r\n w: 4,\r\n h: 4,\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst HalfCircleColor = styled('div', {\r\n height: '50%',\r\n});\r\n\r\nconst FullCircleColor = styled('div', {\r\n height: '100%',\r\n});\r\n\r\nexport default ColorOption;\r\n","import { CSS } from '@stitches/react';\r\nimport { ReactNode } from 'react';\r\nimport { styled } from 'stitches.config';\r\n\r\ntype PropType = {\r\n layout?: string;\r\n children: ReactNode;\r\n css?: CSS;\r\n};\r\n\r\nfunction GridItem({ layout = '1/1', children, css }: PropType) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nconst GridItemContainer = styled('div', {\r\n w: '100%',\r\n h: '100%',\r\n mx: 'auto',\r\n gridColumnStart: 'auto',\r\n gridColumnEnd: 'span 12',\r\n '@mediaMinMedium': {\r\n '&:nth-child(n)[data-gridsize=\"1/2\"], &:nth-child(n)[data-gridsize=\"1/3\"], &:nth-child(n)[data-gridsize=\"1/4\"]':\r\n {\r\n gridColumnEnd: 'span 6',\r\n },\r\n },\r\n '@mediaMinLarge': {\r\n '&:nth-child(n)[data-gridsize=\"1/3\"]': {\r\n gridColumnEnd: 'span 4',\r\n },\r\n '&:nth-child(n)[data-gridsize=\"1/4\"]': {\r\n gridColumnEnd: 'span 3',\r\n },\r\n mx: 0,\r\n },\r\n '&:nth-child(n)[data-gridsize=\"FullWidth\"]': {\r\n ml: -4,\r\n w: '100vw',\r\n '@mediaMinLarge': {\r\n px: 0,\r\n left: '50%',\r\n right: '50%',\r\n maxWidth: '100vw',\r\n position: 'relative',\r\n marginLeft: `-50vw`,\r\n marginRight: '-50vw',\r\n },\r\n },\r\n});\r\n\r\nexport default GridItem;\r\n","import KexIconLoader, { LoadableIcons } from 'Kex/KexIconLoader';\r\nimport KexLink from 'Kex/KexLink';\r\nimport { useState } from 'react';\r\nimport {\r\n animateUnderlineActive,\r\n animateUnderlineNotActive,\r\n} from 'Shared/Common/animateUnderline';\r\nimport { styled } from 'stitches.config';\r\ntype PropTypes = {\r\n whiteText?: boolean;\r\n underline?: boolean;\r\n onClick?: (x?: () => void) => void;\r\n href?: string;\r\n children: string | undefined;\r\n focused?: true;\r\n color?: string;\r\n type?: keyof typeof LoadableIcons;\r\n};\r\n\r\nfunction IconLink({\r\n whiteText = false,\r\n onClick,\r\n href,\r\n children,\r\n focused,\r\n color,\r\n type,\r\n ...rest\r\n}: PropTypes) {\r\n const [linkIsHovered, setLinkIsHovered] = useState(false);\r\n const Icon = KexIconLoader(type ?? 'Arrow');\r\n return (\r\n setLinkIsHovered(true)}\r\n onMouseLeave={() => setLinkIsHovered(false)}\r\n >\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n width: 'fit-content',\r\n display: 'flex',\r\n});\r\n\r\nconst IconWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n m: 'auto',\r\n ml: 2,\r\n});\r\n\r\nconst StyledLinkWrapper = styled('div', {\r\n width: 'fit-content',\r\n});\r\n\r\nconst Text = styled('span', {\r\n m: 'auto',\r\n '&:nth-child(n)[data-whitetext=\"true\"]': { color: '$pureWhite' },\r\n ...animateUnderlineNotActive,\r\n variants: {\r\n linkIsHovered: {\r\n true: {\r\n ...animateUnderlineActive,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport default styled(IconLink);\r\n","import { CSS } from '@stitches/react';\r\nimport { styled } from 'stitches.config';\r\n\r\ntype PropType = {\r\n text: string;\r\n css?: CSS;\r\n};\r\n\r\nfunction ProductTag({ text, css = { top: 8, left: -8 } }: PropType) {\r\n if (!text) return <>>;\r\n\r\n return {text};\r\n}\r\n\r\nexport default ProductTag;\r\n\r\nconst ProductTagContainer = styled('span', {\r\n backgroundColor: '$campaignLabelBackground',\r\n color: '$campaignLabelText',\r\n fontFamily: '$fontSecondary500',\r\n fs: 6,\r\n lineHeight: '$lh133',\r\n textAlign: 'center',\r\n px: 2,\r\n py: 0.5,\r\n position: 'absolute',\r\n top: 8,\r\n left: -8,\r\n zIndex: '$ProductCardTag',\r\n});\r\n","import ProductListingBlockModel from '../../Models/Blocks/ProductListingBlock/ProductListingBlockModel.interface';\r\nimport ScrollContainer from 'react-indiana-drag-scroll';\r\nimport { styled } from '../../stitches.config';\r\nimport { mediaQueryTypes } from '../../Theme/Settings/mediaQueries';\r\nimport useMedia from '../../Shared/Hooks/useMedia';\r\nimport ProductCard from '../ProductCard/ProductCard';\r\nimport { H2 } from '../../Atoms/Typography/Headings/Heading';\r\nimport { applyEditModeAttr } from 'Shared/Common/Helpers';\r\nimport IconLink from '../../Atoms/Links/IconLink';\r\nimport { useMemo } from 'react';\r\nimport GridItem from 'Atoms/Grids/GridItem';\r\nimport ContentContainer from 'Molecules/ContentContainer/ContentContainer';\r\n\r\ntype PropTypes = {\r\n content: ProductListingBlockModel;\r\n noPadding?: boolean;\r\n};\r\n\r\nfunction ProductListingBlock({\r\n content: { header, productCards, inEditMode, link: links },\r\n noPadding = true,\r\n}: PropTypes) {\r\n const isContentWidth = useMedia(mediaQueryTypes.mediaMinGreat);\r\n const isHorizontalScroll = productCards.length > 2 || !isContentWidth;\r\n const link = links[0];\r\n const visibleProducts = useMemo(\r\n () => productCards.slice(0, 4),\r\n [productCards]\r\n );\r\n\r\n return (\r\n \r\n \r\n {header}
\r\n \r\n {visibleProducts.map((product, i) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n {link?.text && link.href && (\r\n \r\n \r\n {link.text}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nconst ProductCardWrapper = styled('div', {\r\n width: '296px',\r\n flexShrink: 0,\r\n});\r\n\r\nconst ProductWrapper = styled(ScrollContainer, {\r\n margin: '0 auto',\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n columnGap: '24px',\r\n flexWrap: 'nowrap',\r\n '@mediaMinHuge': {\r\n columnGap: '32px',\r\n },\r\n '&::-webkit-scrollbar': {\r\n display: 'none',\r\n },\r\n});\r\n\r\nconst Heading = {\r\n textAlign: 'left',\r\n fs: '32px',\r\n mb: 8,\r\n mt: 0,\r\n fontFamily: '$fontPrimary400',\r\n};\r\n\r\nconst LinkContainer = styled('div', {\r\n w: '100%',\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n justifyContent: 'flex-end',\r\n mt: 8,\r\n});\r\n\r\nexport default ProductListingBlock;\r\n","import { useMemo } from 'react';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport { styled } from 'stitches.config';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport { timings } from 'Theme/Settings/animation';\r\nimport KexLink from '../../Kex/KexLink';\r\nimport { useTranslationData } from 'Shared/Providers/TranslationProvider';\r\nimport ColorModel from 'Models/Pages/ProductPage/ColorModel.interface';\r\nimport { isEmpty } from 'Shared/Common/Helpers';\r\nimport Price from 'Atoms/Price/Price';\r\nimport ColorOption from 'Atoms/ColorOption/ColorOption';\r\nimport ProductCardModel from 'Models/ProductCard/ProductCardModel.interface';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\nimport ProductTag from 'Atoms/ProductTag/ProductTag';\r\n\r\ntype ProductCardType = {\r\n item: ProductCardModel;\r\n selectedModel?: string;\r\n inEditMode?: Boolean;\r\n};\r\n\r\ntype ItemColorType = {\r\n colors: ColorModel[];\r\n};\r\n\r\nconst ProductColors = ({ colors }: ItemColorType) => {\r\n return (\r\n \r\n \r\n {colors.map((el, index) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nfunction MinimalProductCard({ item }: ProductCardType) {\r\n let {\r\n availableColors,\r\n code,\r\n image,\r\n secondaryImages,\r\n isUsed,\r\n mainCategory,\r\n name,\r\n nowPrice,\r\n wasPrice,\r\n secondaryDescription,\r\n url,\r\n promotion,\r\n } = item;\r\n\r\n const { productLabels } = useTranslationData();\r\n const isDesktop = useMedia(mediaQueryTypes.mediaMinLarge);\r\n const { missingImage } = useAppSettingsData();\r\n const isMissingImage = isEmpty(image);\r\n const { used: usedLabel } = productLabels;\r\n\r\n const getPresetSuffix = () => {\r\n const usedOrNew = isUsed ? 'used' : 'new';\r\n const desktopOrMobile = isDesktop ? 'desktop' : 'mobile';\r\n return `?preset=product-card-${usedOrNew}-${desktopOrMobile}`;\r\n };\r\n\r\n const getPresetSuffixMemoized = useMemo(\r\n () => getPresetSuffix(),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [isUsed, isDesktop]\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {!isEmpty(secondaryImages) && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n \r\n\r\n \r\n {isDesktop && (\r\n \r\n {isUsed && `${usedLabel.toUpperCase()}`}\r\n {isUsed && mainCategory && }\r\n {mainCategory && `${mainCategory.toUpperCase()}`}\r\n {mainCategory && secondaryDescription && }\r\n {secondaryDescription && `${secondaryDescription.toUpperCase()}`}\r\n \r\n )}\r\n\r\n {name}\r\n\r\n \r\n {nowPrice.price !== 0 && (\r\n \r\n \r\n \r\n )}\r\n {!isEmpty(availableColors) && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst fontStyleCss = {\r\n fontFamily: '$fontSecondary400',\r\n fontWeight: '$fw400',\r\n lineHeight: '$lh125',\r\n color: '$secondary2',\r\n fs: 8,\r\n};\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n display: 'block',\r\n mb: 0,\r\n fontSize: '20px',\r\n fontFamily: '$fontSecondary400',\r\n wordSpacing: 0,\r\n lineHeight: '$lh120',\r\n ls: '$ls0',\r\n gridColumn: '1',\r\n gridRow: '1',\r\n zIndex: '$ProductCardMain',\r\n});\r\n\r\nconst Card = styled('div', {\r\n cursor: 'pointer',\r\n position: 'relative',\r\n});\r\n\r\nconst ProductImageWrapper = styled('div', {\r\n position: 'relative',\r\n overflow: 'hidden',\r\n display: 'grid',\r\n gridTemplate: '1fr / 1fr',\r\n});\r\n\r\nconst ASPECT_RATIO = '296 / 181';\r\n\r\nconst ProductImage = styled('img', {\r\n left: 0,\r\n transition: 'transform 0.2s ease-in-out',\r\n width: '100%',\r\n aspectRatio: ASPECT_RATIO,\r\n objectFit: 'cover',\r\n opacity: 1,\r\n '&:hover': {\r\n cursor: 'pointer',\r\n transform: 'scale(1.05)',\r\n },\r\n variants: {\r\n hasSecondImage: {\r\n true: {\r\n '&:hover': {\r\n transform: 'none',\r\n opacity: 0,\r\n transition: 'opacity 0.2s ease-in-out',\r\n },\r\n },\r\n },\r\n hasDarkBackgroundImage: {\r\n true: {\r\n filter: '$colors$imageFilter',\r\n },\r\n false: {\r\n filter: 'none',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst SecondProductImage = styled('img', {\r\n left: 0,\r\n width: '100%',\r\n aspectRatio: ASPECT_RATIO,\r\n objectFit: 'cover',\r\n gridColumn: '1',\r\n gridRow: '1',\r\n zIndex: '$ProductCardSecondary',\r\n variants: {\r\n hasDarkBackgroundImage: {\r\n true: {\r\n filter: '$colors$imageFilter',\r\n },\r\n false: {\r\n filter: 'none',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst CategoryStyle = styled('div', {\r\n display: 'flex',\r\n mt: 4,\r\n fontFamily: '$fontPrimary400',\r\n wordSpacing: '$wordSpacings$fontPrimary',\r\n lineHeight: '$lh133',\r\n ls: '$ls1',\r\n color: '$secondary2',\r\n fs: 6,\r\n});\r\n\r\nconst ProductHeading = styled('h3', {\r\n fontFamily: '$fontSecondary400',\r\n fs: 7,\r\n fontWeight: 600,\r\n lineHeight: '18px',\r\n letterSpacing: '0px',\r\n height: '38px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n display: '-webkit-box',\r\n WebkitLineClamp: 2,\r\n WebkitBoxOrient: 'vertical',\r\n mt: 2,\r\n mb: 4,\r\n textDecoration: 'underline solid transparent',\r\n transitionDuration: timings.oneFifth,\r\n transitionProperty: 'all',\r\n textUnderlineOffset: '2px',\r\n transitionTimingFunction: 'ease-in-out',\r\n '@mediaMinLarge': {\r\n fontSize: '20px',\r\n fontWeight: 600,\r\n lineHeight: '24px',\r\n height: '48.7px',\r\n },\r\n variants: {\r\n underlined: {\r\n true: {\r\n textDecoration: 'underline solid',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst ProductBottom = styled('div', {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n});\r\n\r\nconst ColorFlexContainer = styled('div', {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignSelf: 'center',\r\n marginLeft: 'auto',\r\n});\r\n\r\nconst ColorContainer = styled('div', {\r\n mt: 4,\r\n mb: 2,\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n columnGap: '4px',\r\n});\r\n\r\nconst ProductNowPrice = styled('div', {\r\n ...fontStyleCss,\r\n mt: 4,\r\n mb: 2,\r\n lineHeight: '$lh133',\r\n fs: 6,\r\n '@mediaMinLarge': {\r\n fs: 8,\r\n fontWeight: 400,\r\n lineHeight: '24px',\r\n },\r\n});\r\n\r\nconst Dot = styled('div', {\r\n h: 1,\r\n w: 1,\r\n borderRadius: '50%',\r\n backgroundColor: '#eee',\r\n alignSelf: 'center',\r\n justifySelf: 'center',\r\n position: 'relative',\r\n mx: 2,\r\n});\r\n\r\nexport default MinimalProductCard;\r\n","import ProductCardModel from 'Models/ProductCard/ProductCardModel.interface';\r\nimport { styled } from 'stitches.config';\r\nimport { timings } from 'Theme/Settings/animation';\r\nimport { useTranslationData } from 'Shared/Providers/TranslationProvider';\r\nimport KexLink from '../../Kex/KexLink';\r\nimport { useMemo } from 'react';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport { FILTER_URL_CONSTANTS, isEmpty } from 'Shared/Common/Helpers';\r\nimport ColorModel from 'Models/Pages/ProductPage/ColorModel.interface';\r\nimport { ProductType } from 'Enums/ProductType.enum';\r\nimport MinimalProductCard from './MinimalProductCard';\r\nimport Price from 'Atoms/Price/Price';\r\nimport ColorOption from 'Atoms/ColorOption/ColorOption';\r\nimport { useAppSettingsData } from 'Shared/Providers/AppSettingsProvider';\r\nimport ProductTag from 'Atoms/ProductTag/ProductTag';\r\n\r\ntype ProductCardType = {\r\n item: ProductCardModel;\r\n selectedModel?: string;\r\n inEditMode?: Boolean;\r\n};\r\n\r\ntype ItemType = {\r\n name: string;\r\n value: React.ReactNode;\r\n};\r\n\r\ntype ItemColorType = {\r\n name: string;\r\n colors: ColorModel[];\r\n};\r\n\r\nconst InfoItem = ({ name, value }: ItemType) => {\r\n return (\r\n \r\n {name}\r\n {Array.isArray(value) ? (\r\n {value.map((el) => el)}\r\n ) : (\r\n {value}\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst InfoItemColor = ({ name, colors }: ItemColorType) => {\r\n const MAX_COLORS_LIMIT = 3;\r\n return (\r\n \r\n \r\n {name}{' '}\r\n {colors.length > MAX_COLORS_LIMIT && (\r\n \r\n +{colors.length - MAX_COLORS_LIMIT}\r\n \r\n )}\r\n \r\n \r\n {colors.slice(0, MAX_COLORS_LIMIT).map((el, index) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nfunction formatUrl(url: string, selectedModel?: string) {\r\n if (!selectedModel) {\r\n return url;\r\n }\r\n\r\n const separator = url.includes('?') ? '&' : '?';\r\n\r\n const fUrl = `${url}${separator}${FILTER_URL_CONSTANTS.SELECTED_MODEL_FILTER}=${selectedModel}`;\r\n return fUrl;\r\n}\r\n\r\nfunction ProductCard({ item, selectedModel }: ProductCardType) {\r\n const {\r\n availableColors,\r\n code,\r\n driveLine,\r\n driversLicenseClass,\r\n image,\r\n secondaryImages,\r\n isUsed,\r\n mainCategory,\r\n odometer,\r\n odometerUnit,\r\n name,\r\n numberOfCylinders,\r\n nowPrice,\r\n wasPrice,\r\n productType,\r\n secondaryDescription,\r\n url,\r\n promotion,\r\n } = item;\r\n\r\n const odometerFormatted = `${odometer} ${odometerUnit ? odometerUnit : ''}`;\r\n const { missingImage } = useAppSettingsData();\r\n\r\n const { productLabels } = useTranslationData();\r\n const isDesktop = useMedia(mediaQueryTypes.mediaMinLarge);\r\n const isMissingImage = isEmpty(image);\r\n const {\r\n driversLicense: driversLicenseLabel,\r\n driveLine: driveLineLabel,\r\n cylinders: cylindersLabel,\r\n odometer: odometerLabel,\r\n color: colorLabel,\r\n used: usedLabel,\r\n } = productLabels;\r\n\r\n const getPresetSuffixMemoized = useMemo(() => {\r\n const usedOrNew = isUsed ? 'used' : 'new';\r\n const desktopOrMobile = isDesktop ? 'desktop' : 'mobile';\r\n\r\n return `?preset=product-card-${usedOrNew}-${desktopOrMobile}`;\r\n }, [isUsed, isDesktop]);\r\n\r\n if (productType !== ProductType.MOTORCYCLES) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {!isEmpty(secondaryImages) && (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n \r\n\r\n \r\n \r\n {isUsed && `${usedLabel.toUpperCase()}`}\r\n {isUsed && mainCategory && }\r\n {mainCategory && `${mainCategory.toUpperCase()}`}\r\n {mainCategory && secondaryDescription && }\r\n {secondaryDescription && `${secondaryDescription.toUpperCase()}`}\r\n \r\n {name}\r\n \r\n {driversLicenseClass && driversLicenseClass.length > 0 && (\r\n \r\n )}\r\n {driveLine && }\r\n {numberOfCylinders && (\r\n \r\n )}\r\n {isUsed && parseInt(odometer) > 0 && (\r\n \r\n )}\r\n {!isEmpty(availableColors) && (\r\n \r\n )}\r\n \r\n\r\n {nowPrice.price !== 0 && (\r\n \r\n \r\n {/* {monthlyCost && (\r\n \r\n )} */}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nconst Wrapper = styled('div', {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n mb: 0,\r\n fontSize: '20px',\r\n fontFamily: '$fontSecondary400',\r\n wordSpacing: 0,\r\n lineHeight: '$lh120',\r\n ls: '$ls0',\r\n gridColumn: '1',\r\n gridRow: '1',\r\n zIndex: '$ProductCardMain',\r\n flexGrow: 1,\r\n});\r\n\r\nconst ProductImageWrapper = styled('div', {\r\n position: 'relative',\r\n overflow: 'hidden',\r\n display: 'grid',\r\n gridTemplate: '1fr / 1fr',\r\n});\r\n\r\nconst Card = styled(KexLink, {\r\n width: '100%',\r\n height: '100%',\r\n cursor: 'pointer',\r\n borderStyle: 'solid',\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n});\r\n\r\nconst ASPECT_RATIO = '296 / 181';\r\n\r\nconst ProductImage = styled('img', {\r\n left: 0,\r\n width: '100%',\r\n aspectRatio: ASPECT_RATIO,\r\n objectFit: 'cover',\r\n transition: 'transform 0.2s ease-in-out',\r\n opacity: 1,\r\n '&:hover': {\r\n cursor: 'pointer',\r\n transform: 'scale(1.05)',\r\n },\r\n variants: {\r\n hasSecondImage: {\r\n true: {\r\n '&:hover': {\r\n transform: 'none',\r\n opacity: 0,\r\n transition: 'opacity 0.2s ease-in-out',\r\n },\r\n },\r\n },\r\n hasDarkBackgroundImage: {\r\n true: {\r\n filter: '$colors$imageFilter',\r\n },\r\n false: {\r\n filter: 'none',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst SecondProductImage = styled('img', {\r\n left: 0,\r\n width: '100%',\r\n objectFit: 'cover',\r\n aspectRatio: ASPECT_RATIO,\r\n gridColumn: '1',\r\n gridRow: '1',\r\n zIndex: '$ProductCardSecondary',\r\n variants: {\r\n hasDarkBackgroundImage: {\r\n true: {\r\n filter: '$colors$imageFilter',\r\n },\r\n false: {\r\n filter: 'none',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst CategoryStyle = styled('div', {\r\n display: 'flex',\r\n position: 'relative',\r\n mt: 4,\r\n fontFamily: '$fontPrimary400',\r\n wordSpacing: '$wordSpacings$fontPrimary',\r\n lineHeight: '$lh133',\r\n ls: '$ls1',\r\n color: '#F0F0f1',\r\n fs: 6,\r\n});\r\n\r\nconst ProductHeading = styled('h3', {\r\n fontFamily: '$fontSecondary400',\r\n fontSize: '20px',\r\n fontWeight: 600,\r\n lineHeight: '24px',\r\n letterSpacing: '0px',\r\n height: '48.7px',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n mt: 2,\r\n mb: 4,\r\n textDecoration: 'underline solid transparent',\r\n transitionDuration: timings.oneFifth,\r\n transitionProperty: 'all',\r\n textUnderlineOffset: '2px',\r\n transitionTimingFunction: 'ease-in-out',\r\n variants: {\r\n underlined: {\r\n true: {\r\n textDecoration: 'underline solid',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst InfoContainer = styled('div', {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n rowGap: 12,\r\n flexGrow: 1,\r\n});\r\n\r\nconst FlexContainer = styled('div', {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n minWidth: '25%',\r\n ':first-child': {\r\n mb: 1,\r\n },\r\n});\r\n\r\nconst InfoText = styled('div', {\r\n fontFamily: '$fontSecondary400',\r\n fontWeight: '$fw400',\r\n fs: 6,\r\n letterSpacing: '$ls0',\r\n lineHeight: '$lh133',\r\n color: '$secondary2',\r\n});\r\n\r\nconst ColorContainer = styled('div', {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n mt: 1,\r\n columnGap: '4px',\r\n});\r\n\r\nconst PriceWrapper = styled('div', {\r\n mt: 4,\r\n mb: 4,\r\n});\r\n\r\nconst Dot = styled('span', {\r\n h: 1,\r\n w: 1,\r\n borderRadius: '50%',\r\n backgroundColor: '#eee',\r\n alignSelf: 'center',\r\n justifySelf: 'center',\r\n mx: 2,\r\n});\r\nexport default ProductCard;\r\n"],"names":["grey","black","red","silver","ceramicwhite","yellow","electricyellow","lime","titan","turquoise","mint","olive","bronze","violet","lightblue","anthrazit","orange","transparent","blue","white","gold","blackgold","titanium","blackorange","whiteorange","electronicorange","green","beige","darkblue","greymelange","pink","Circle","styled","borderRadius","overflow","border","variants","noMargin","true","mr","size","s","w","h","m","HalfCircleColor","height","FullCircleColor","color","noColorfallback","splitColor","ProductHexColors","includes","split","splitColors","isHalfCircle","css","backgroundColor","GridItemContainer","mx","gridColumnStart","gridColumnEnd","ml","px","left","right","maxWidth","position","marginLeft","marginRight","layout","children","StyledKexLink","KexLink","width","display","IconWrapper","alignItems","StyledLinkWrapper","Text","animateUnderlineNotActive","linkIsHovered","animateUnderlineActive","whiteText","onClick","href","type","focused","rest","useState","setLinkIsHovered","Icon","KexIconLoader","onMouseOver","onMouseLeave","fontFamily","underlined","rotateLeft","text","top","ProductTagContainer","fs","lineHeight","textAlign","py","zIndex","ProductCardWrapper","flexShrink","ProductWrapper","ScrollContainer","margin","justifyContent","columnGap","flexWrap","Heading","mb","mt","LinkContainer","content","header","productCards","inEditMode","links","link","noPadding","isContentWidth","useMedia","mediaQueryTypes","isHorizontalScroll","length","visibleProducts","useMemo","slice","H2","horizontal","map","product","i","pl","promotion","promotionName","item","code","applyEditModeAttr","ProductColors","colors","ColorFlexContainer","ColorContainer","el","index","ColorOption","key","fontSize","wordSpacing","ls","gridColumn","gridRow","Card","cursor","ProductImageWrapper","gridTemplate","ASPECT_RATIO","ProductImage","transition","aspectRatio","objectFit","opacity","transform","hasSecondImage","hasDarkBackgroundImage","filter","false","SecondProductImage","CategoryStyle","ProductHeading","fontWeight","letterSpacing","textOverflow","WebkitLineClamp","WebkitBoxOrient","textDecoration","transitionDuration","timings","transitionProperty","textUnderlineOffset","transitionTimingFunction","ProductBottom","flexDirection","alignSelf","ProductNowPrice","Dot","justifySelf","availableColors","image","secondaryImages","isUsed","mainCategory","name","nowPrice","wasPrice","secondaryDescription","url","productLabels","useTranslationData","isDesktop","missingImage","useAppSettingsData","isMissingImage","isEmpty","usedLabel","used","getPresetSuffixMemoized","desktopOrMobile","getPresetSuffix","ProductTag","src","alt","toUpperCase","price","Price","friendlyWasPrice","priceRoundedAsString","friendlyNowPrice","InfoItem","value","FlexContainer","InfoText","Array","isArray","InfoItemColor","style","verticalAlign","formatUrl","selectedModel","separator","FILTER_URL_CONSTANTS","Wrapper","flexGrow","borderStyle","InfoContainer","rowGap","minWidth","PriceWrapper","driveLine","driversLicenseClass","odometer","odometerUnit","numberOfCylinders","productType","odometerFormatted","driversLicenseLabel","driversLicense","driveLineLabel","cylindersLabel","cylinders","odometerLabel","colorLabel","ProductType","join","parseInt"],"sourceRoot":""}