{"version":3,"sources":["components/Corporate/CallToAction/StyledCallToAction.ts","components/Corporate/CallToAction/index.tsx"],"names":["CTA","styled","article","theme","spacing","p","callToAction","color","borderRadius","backgroundColor","multiLink","css","mq","SecondaryContainer","Heading","h2","heading_m","PrimaryContainer","heading_l","Description","text_s","mt","TextWrapper","div","LinkWrapper","ml","LinkItem","Link","linkStyle","colors","link","white","LinkButton","button","LinkList","ul","listReset","pr","cssInlineSvg","EditorDiv","EditorText","compose","withEditModeNotice","withEditMode","fields","editMode","data","datasource","noticeEnabled","noticeLevel","noticeMessage","renderTextField","field","markup","jss","value","title","description","validatedLinks","links","filter","l","ctaLink","href","length","component","linkTheme","linkSize","map","key","id","renderLinks"],"mappings":"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","file":"static/js/CallToAction.f7c86fd1.chunk.js","sourcesContent":["import styled, { css } from 'styled-components';\r\n\r\nimport { spacing } from '_utils/props';\r\nimport {\r\n mq,\r\n color,\r\n heading_l,\r\n heading_m,\r\n text_s,\r\n button,\r\n linkStyle,\r\n listReset\r\n} from '_utils/styles';\r\nimport { cssInlineSvg } from '_utils/styles/svg';\r\n\r\nimport { Link } from '_utils/components/Corporate';\r\n\r\nimport {\r\n Primary as PrimaryContainer,\r\n Secondary as SecondaryContainer\r\n} from '../TwoColumn/StyledTwoColumn';\r\n\r\nexport const CTA = styled.article`\r\n ${({ theme }) => spacing({ theme, p: 3 })};\r\n color: ${({ theme }) => theme.callToAction.color};\r\n border-radius: ${({ theme }) => theme.callToAction.borderRadius}px;\r\n background-color: ${({ theme }) => theme.callToAction.backgroundColor};\r\n\r\n ${({ multiLink }) => {\r\n if (multiLink === false) {\r\n return css`\r\n ${mq('sm')} {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n }\r\n `;\r\n }\r\n }}\r\n\r\n ${SecondaryContainer} & {\r\n display: block;\r\n }\r\n`;\r\n\r\nexport const Heading = styled.h2`\r\n ${heading_m};\r\n margin: 0;\r\n\r\n ${PrimaryContainer} & {\r\n ${heading_l}\r\n }\r\n`;\r\n\r\nexport const Description = styled.p`\r\n ${text_s};\r\n margin: 0;\r\n ${({ theme }) => spacing({ theme, mt: 1 })};\r\n`;\r\n\r\nexport const TextWrapper = styled.div``;\r\n\r\nexport const LinkWrapper = styled.div`\r\n ${({ theme }) => spacing({ theme, mt: 2 })};\r\n color: ${color('all.white')};\r\n\r\n ${PrimaryContainer} & {\r\n ${({ theme }) => spacing({ theme, mt: 1 })};\r\n\r\n ${({ multiLink }) => {\r\n if (multiLink === false) {\r\n return css`\r\n ${mq('sm')} {\r\n ${({ theme }) => spacing({ theme, mt: 0, ml: 3 })};\r\n }\r\n `;\r\n }\r\n }}\r\n }\r\n`;\r\n\r\nexport const LinkItem = styled(Link)`\r\n a {\r\n ${({ theme }) => linkStyle(theme.colors.link.white)};\r\n\r\n &:not(.button-primary):not(.button-outline) {\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n }\r\n }\r\n\r\n path {\r\n fill: ${color('all.white')};\r\n }\r\n }\r\n`;\r\n\r\nexport const LinkButton = styled(Link)`\r\n a {\r\n ${button('default', 'white')};\r\n transition: 200ms;\r\n min-width: 140px;\r\n\r\n span {\r\n top: 1px;\r\n }\r\n\r\n path {\r\n fill: ${color('all.greenTint110')};\r\n }\r\n }\r\n`;\r\n\r\nexport const LinkList = styled.ul`\r\n ${listReset}\r\n\r\n ${mq('sm')} {\r\n display: flex;\r\n flex-wrap: wrap;\r\n\r\n ${SecondaryContainer} & {\r\n display: block;\r\n }\r\n }\r\n\r\n li {\r\n position: relative;\r\n padding-left: 24px;\r\n\r\n & + & {\r\n ${({ theme }) => spacing({ theme, mt: 2 })}\r\n }\r\n\r\n ${mq('sm')} {\r\n flex: 0 0 50%;\r\n max-width: 50%;\r\n ${({ theme }) => spacing({ theme, mt: 1 })};\r\n\r\n &:nth-child(2n + 1) {\r\n ${({ theme }) => spacing({ theme, pr: 3 })};\r\n }\r\n\r\n ${SecondaryContainer} & {\r\n max-width: 100%;\r\n padding-right: 0;\r\n }\r\n }\r\n\r\n &:before {\r\n content: '';\r\n position: absolute;\r\n top: 10px;\r\n left: 0;\r\n display: block;\r\n width: 12px;\r\n height: 12px;\r\n background-image: ${cssInlineSvg(\r\n ``\r\n )};\r\n @media print {\r\n background-image: ${cssInlineSvg(\r\n ``\r\n )};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const EditorDiv = styled.div``;\r\n","import React from 'react';\r\nimport { compose } from 'ramda';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nimport { withEditMode, withEditModeNotice } from '_containers/BaseComponent';\r\n\r\nimport { CallToActionProps } from './definitions';\r\nimport {\r\n CTA,\r\n Heading,\r\n Description,\r\n TextWrapper,\r\n LinkWrapper,\r\n LinkButton,\r\n LinkItem,\r\n LinkList,\r\n EditorDiv\r\n} from './StyledCallToAction';\r\n\r\nconst EditorText = compose(withEditModeNotice)(EditorDiv);\r\n\r\nconst renderLinks = (links) => {\r\n if (links.length === 1) {\r\n // button style\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {links.map((l) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst CallToAction: React.FC = ({ fields, editMode }) => {\r\n if (fields.data.datasource === null) {\r\n if (editMode) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n const renderTextField = (field, markup) => {\r\n if (editMode === false && !field?.jss?.value) {\r\n return null;\r\n }\r\n\r\n return markup;\r\n };\r\n\r\n const { title, description, links } = fields.data.datasource;\r\n\r\n const validatedLinks = links.filter((l) => editMode || l?.ctaLink?.jss?.value?.href !== '');\r\n\r\n let noticeEnabled = false;\r\n\r\n // no links, no component\r\n if (validatedLinks.length === 0) {\r\n if (editMode) {\r\n noticeEnabled = true;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n const component = (\r\n 1}>\r\n \r\n {renderTextField(\r\n title,\r\n \r\n \r\n \r\n )}\r\n {renderTextField(\r\n description,\r\n \r\n \r\n \r\n )}\r\n \r\n {renderLinks(validatedLinks)}\r\n \r\n );\r\n\r\n return editMode ? (\r\n \r\n {component}\r\n \r\n ) : (\r\n component\r\n );\r\n};\r\n\r\nexport default compose(withEditMode)(CallToAction);\r\n"],"sourceRoot":""}