{"version":3,"sources":["components/DynamicCardList/index.tsx","helper/withErrorCatch.tsx","components/@shared/BaseBtn/index.tsx","utils/scaleImage.ts","hooks/useCustomSlickArrows.ts","components/DynamicCard/index.tsx"],"names":["withErrorCatch","props","fields","upLg","useMedia","containerRef","useCustomSlickArrows","useState","moving","movingSet","enteredWaypoint","setEnteredWayPoint","settings","dots","infinite","speed","slidesToShow","slidesToScroll","arrows","draggable","lazyLoad","responsive","breakpoint","onSwipe","wrapClass","useMemo","className","ref","onEnter","event","tag","field","title","subTitle","beforeChange","setTimeout","cards","map","card","index","hashTag","top","value","Component","hocProps","error","console","log","stack","BaseBtn","text","url","action","isRed","isFullwidth","icon","target","id","sitecoreProps","minWidth","customAttributes","myClass","ButtonContent","iconCssClass","label","link","href","style","onClick","rel","download","scaleImage","imageUrl","deviceWidth","scalingMultiplier","split","useRef","current","elements","Array","from","getElementsByClassName","classList","add","DynamicCard","isSmall","backgroundImage","window","image","src","innerWidth","alt","marginBottom","teaserTitle","teaserDescription"],"mappings":"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","file":"static/js/DynamicCardList.9c595f3c.chunk.js","sourcesContent":["import React, { useMemo, useState } from 'react';\r\nimport { useMedia } from 'react-use';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport Slider, { Settings } from 'react-slick';\r\nimport { Waypoint } from 'react-waypoint';\r\nimport { useCustomSlickArrows } from '../../hooks/useCustomSlickArrows';\r\nimport withErrorCatch from '../../helper/withErrorCatch';\r\nimport './DynamicCardList.scss';\r\n\r\nimport DynamicCard from '../DynamicCard';\r\n\r\nconst DynamicCardList = (props: any) => {\r\n const { fields } = props;\r\n\r\n const upLg = useMedia('(min-width: 1200px)');\r\n const containerRef = useCustomSlickArrows();\r\n\r\n const [moving, movingSet] = useState(false);\r\n const [enteredWaypoint, setEnteredWayPoint] = useState(false);\r\n\r\n const speed = 1000;\r\n const settings: Settings = {\r\n dots: false,\r\n infinite: true,\r\n speed,\r\n slidesToShow: 4,\r\n slidesToScroll: 2,\r\n arrows: true,\r\n draggable: true,\r\n lazyLoad: 'ondemand',\r\n responsive: [\r\n {\r\n breakpoint: 766,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n dots: true,\r\n draggable: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1365,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n arrows: true,\r\n dots: false,\r\n draggable: true,\r\n },\r\n }\r\n ],\r\n\r\n onSwipe: () => {\r\n movingSet(true);\r\n },\r\n };\r\n\r\n const wrapClass = useMemo(\r\n () =>\r\n moving\r\n ? 'DynamicCardList__cards_wrapper carousel-moving'\r\n : 'DynamicCardList__cards_wrapper',\r\n [moving]\r\n );\r\n\r\n return (\r\n
\r\n {\r\n if (event) {\r\n setEnteredWayPoint(true);\r\n }\r\n }}\r\n />\r\n \r\n {fields?.subTitle && }\r\n \r\n {\r\n movingSet(true);\r\n setTimeout(() => movingSet(false), speed + 100);\r\n }}\r\n >\r\n {props.fields.cards &&\r\n props.fields.cards.map((card: any, index: number) => {\r\n return (\r\n card.fields.hashTag && (\r\n \r\n )\r\n );\r\n })}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default withErrorCatch(DynamicCardList);\r\n","import React, { ComponentType } from \"react\";\r\n\r\nfunction withErrorCatch(Component: ComponentType) {\r\n return (hocProps: any) => {\r\n try {\r\n if (!hocProps) return <>;\r\n if (!hocProps?.fields) return <>;\r\n return ;\r\n } catch (error) {\r\n console.log((error as Error)?.stack);\r\n return <>;\r\n }\r\n };\r\n}\r\n\r\nexport default withErrorCatch;\r\n","import React from 'react';\r\nimport { BaseBtnProps } from './types/BaseBtn.types';\r\nimport { Link, Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport './BaseBtn.scss';\r\n\r\nconst BaseBtn = (props: BaseBtnProps) => {\r\n const {\r\n text,\r\n url,\r\n action = () => {},\r\n isRed,\r\n isFullwidth,\r\n className,\r\n icon,\r\n target = 'self',\r\n id,\r\n sitecoreProps,\r\n minWidth,\r\n customAttributes,\r\n } = props;\r\n let myClass = isRed ? 'BaseBtn BaseBtn--red' : 'BaseBtn';\r\n myClass += ' ga4-click-ui';\r\n if (className) {\r\n myClass += ` ${className}`;\r\n }\r\n if (isFullwidth) {\r\n myClass += ' BaseBtn--fullwidth';\r\n }\r\n const ButtonContent = () => (\r\n <>\r\n {(props.fields?.iconCssClass?.value || icon) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n {(props.fields?.link?.value?.href || url) && (\r\n \r\n {icon && }\r\n {text?.value}\r\n \r\n ),\r\n target:\r\n target === 'blank'\r\n ? '_blank'\r\n : target !== 'download'\r\n ? '_self'\r\n : '_self',\r\n href: url,\r\n id,\r\n },\r\n ...sitecoreProps,\r\n }\r\n }\r\n className={myClass}\r\n style={minWidth ? { minWidth: minWidth } : {}}\r\n onClick={action}\r\n rel=\"noopener noreferrer\"\r\n download={target === 'download'}\r\n data-engine-info={customAttributes}\r\n >\r\n \r\n \r\n )}\r\n {!(props.fields?.link?.value?.href || url) && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BaseBtn;\r\n","export const scaleImage: (imageUrl: string, deviceWidth: number, scalingMultiplier: number) => string = (imageUrl, deviceWidth, scalingMultiplier) => {\r\n return imageUrl?.split('?')?.[0] + `?w=${deviceWidth * scalingMultiplier}&mw=${deviceWidth * scalingMultiplier}`\r\n}\r\n\r\nexport const getScaledHeight: (imageHeight: number, imageWidth: number, deviceWidth: number, scalingMultiplier: number) => number = (imageHeight, imageWidth, deviceWidth, scalingMultiplier) => {\r\n const coefficient = imageHeight / imageWidth\r\n return Math.floor((deviceWidth * coefficient) * scalingMultiplier)\r\n}","import { useRef } from 'react';\r\n\r\nexport const useCustomSlickArrows = () => {\r\n const containerRef = useRef();\r\n\r\n if (!containerRef.current) return containerRef;\r\n\r\n const elements = [\r\n ...Array.from(containerRef.current.getElementsByClassName('slick-arrow')),\r\n ];\r\n\r\n if (elements[0]) elements[0].classList.add('icon-arrow-left');\r\n if (elements[1]) elements[1].classList.add('icon-arrow-right');\r\n\r\n return containerRef;\r\n};\r\n","import React from 'react';\r\nimport { DynamicCardProps } from './types/DynamicCard.types';\r\nimport { Text, Image, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport './DynamicCard.scss';\r\nimport BaseBtn from '../@shared/BaseBtn';\r\nimport { useMedia } from 'react-use';\r\nimport { scaleImage } from '../../utils/scaleImage';\r\n\r\nconst DynamicCard = (props: DynamicCardProps) => {\r\n const { fields } = props;\r\n const isSmall = useMedia('(max-width: 1199px)')\r\n return (\r\n
\r\n {/**/}\r\n \r\n {fields.hashTag && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n
\r\n {fields.link && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DynamicCard;\r\n"],"sourceRoot":""}