{"version":3,"sources":["webpack:///./src/shared/utils/content.tsx","webpack:///./src/pages/ccp/cashback/index.tsx","webpack:///./src/components/ButtonLink/ButtonLink.tsx","webpack:///./src/shared/utils/table.tsx"],"names":["renderBodyWithList","content","map","contentItem","body","list","listItem","i","key","length","query","withTranslation","LocaleNameSpaceKeys","CCP","props","t","data","activeLocaleTag","useLocaleContext","layoutOptions","seo","title","heroSection","options","accentColor","HeroSectionColors","SKY_BLUE","heroImage","fileName","alt","flmImageUrl","banner","edges","find","edge","node","name","includes","publicURL","className","i18nKey","id","aria-labelledby","getTableRows","returnObjects","to","CommonData","websites","htb","renewMortgageCampaign","linkOptions","isExternalLink","aLinkProps","target","iconOptions","icon","IconTypes","ARROW_NEXT","styleOptions","isInline","values","phone","tollFreeCustomerServiceNumber","mortgageServicing","href","aria-label","COMMON","process","src","ButtonLinkType","ButtonLinkSize","defaultLinkOptions","shouldOpenInNewTab","shouldEnableActiveState","defaultStyleOptions","type","PRIMARY","size","LARGE","invertColors","ButtonLink","children","ariaLabel","styleOptionsWithDefault","linkOptionsWithDefault","classNames","classnames","small","SMALL","aLinkPropsDefault","rel","linkProps","partiallyActive","activeClassName","undefined","getIcon","IconComp","className_","position","React","Fragment","role","memo","rows","useDangerousHTML","columnArray","toString","col","j","cs","rs","rowSpan","colSpan","dangerouslySetInnerHTML","__html","value","heading"],"mappings":"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","file":"component---src-pages-ccp-cashback-index-tsx-4d12266f18e16eb91d5a.js","sourcesContent":["import React from 'react';\nimport { Trans } from 'react-i18next';\n\nexport const renderBodyWithList = (\n content: {\n body: string;\n list?: string[];\n }[]\n) => (\n <>\n {content.map((contentItem) => (\n <>\n {contentItem.body ? (\n

\n {contentItem.body}{' '}\n

\n ) : null}\n\n {contentItem.list ? (\n \n ) : null}\n \n ))}\n \n);\n","import React from 'react';\nimport { PageProps, graphql } from 'gatsby';\n\nimport { withTranslation, WithTranslation, Trans } from 'react-i18next';\nimport Layout, { LayoutOptions, HeroSectionColors } from '../../../components/Layout/Layout';\nimport { LocaleNameSpaceKeys } from '../../../localization/translations';\nimport { useLocaleContext } from '../../../context/Locale';\nimport ExternalLink from '../../../components/ExternalLink/ExternalLink';\n// import { getPathFromRouteKey } from '../../../shared/utils/getPathFromRouteKey';\n// import RouteKeys from '../../../../config/RouteKeys';\nimport ButtonLink from '../../../components/ButtonLink/ButtonLink';\nimport CommonData from '../../../data/common/common';\nimport { IconTypes } from '../../../components/Icon/Icon';\nimport { getTableRows } from '../../../shared/utils/table';\n\ntype Props = PageProps & WithTranslation;\n\nconst CCPCashback: React.FC = (props: Props) => {\n const { t, data } = props;\n const { activeLocaleTag } = useLocaleContext();\n\n const layoutOptions: LayoutOptions = {\n seo: {\n title: t('seo.title'),\n },\n // page: {\n // title: t('heading'),\n // },\n heroSection: {\n options: {\n accentColor: HeroSectionColors.SKY_BLUE,\n heroImage: {\n fileName: 'hero-image-cashback.jpg',\n alt: 'Image',\n },\n },\n },\n };\n\n const flmImageUrl = (data as any).banner.edges.find((edge: any) =>\n edge.node.name.includes(`-${activeLocaleTag}`)\n ).node.publicURL;\n\n return (\n \n
\n
\n
\n {/*
\n
{t('cashback.introBlock')}
\n
*/}\n
\n

{t('cashback.headingFour')}

\n

{t('cashback.headingSix1')}

\n

\n \n

\n
\n {/*
\n

{t('cashback.headingSix2')}

\n \n {t('cashback.buttonLabel')}\n \n
*/}\n
\n

\n \n

\n \n {getTableRows(t('cashback.table.rows', { returnObjects: true }))}\n
\n \n {t('cashback.buttonLabel')}\n \n

\n \n \n \n

\n

{t('cashback.footerNote')}

\n
\n
\n \n
\n
\n
\n );\n};\n\nexport const query = graphql`\n query {\n banner: allFile(filter: { relativePath: { regex: \"/ccp/cashback//\" }, ext: { eq: \".jpg\" } }) {\n edges {\n node {\n publicURL\n name\n }\n }\n }\n }\n`;\n\nexport default withTranslation(LocaleNameSpaceKeys.CCP)(CCPCashback);\n","import React, { memo } from 'react';\nimport classnames from 'classnames';\nimport './style.scss';\nimport Icon, { IconTypes } from '../Icon/Icon';\nimport Link from '../Link/Link';\n\nexport enum ButtonLinkType {\n PRIMARY = 'ButtonLink__primary',\n // SECONDARY = 'ButtonLink_secondary'\n}\n\nexport enum ButtonLinkSize {\n SMALL = 'ButtonLink__small',\n LARGE = 'ButtonLink__large',\n // SECONDARY = 'SECONDARY'\n}\nexport interface ButtonLinkLinkOptions {\n isExternalLink?: boolean;\n shouldOpenInNewTab?: boolean; // This option will be overridden if the external link is true\n shouldEnableActiveState?: boolean; // Only gets affected if isExternalLink is false\n}\n\nexport interface ButtonLinkStyleOptions {\n isInline?: boolean;\n type?: ButtonLinkType;\n size?: ButtonLinkSize;\n invertColors?: boolean;\n}\n\nexport interface ButtonLinkIconOptions {\n icon: IconTypes;\n position?: 'left' | 'right'; // default is always left\n}\n\ninterface AnchorLinkProps {\n href?: string;\n target?: string;\n rel?: string;\n}\n\nexport interface OwnProps {\n to: string;\n linkOptions?: ButtonLinkLinkOptions;\n iconOptions?: ButtonLinkIconOptions;\n children?: React.ReactNode;\n className?: string;\n styleOptions?: ButtonLinkStyleOptions;\n aLinkProps?: AnchorLinkProps;\n ariaLabel?: string;\n}\n\ntype Props = OwnProps;\n\nconst defaultLinkOptions: ButtonLinkLinkOptions = {\n isExternalLink: false,\n shouldOpenInNewTab: false, // This option will be overridden if the external link is true\n shouldEnableActiveState: true, // Only gets affected if isExternalLink is false\n};\n\nconst defaultStyleOptions: ButtonLinkStyleOptions = {\n isInline: false,\n type: ButtonLinkType.PRIMARY,\n size: ButtonLinkSize.LARGE,\n invertColors: false,\n};\n\nconst ButtonLink: React.FC = ({\n to,\n linkOptions,\n iconOptions,\n styleOptions,\n className = '',\n // onClick = () => {},\n aLinkProps,\n children = null,\n ariaLabel,\n}: Props) => {\n const styleOptionsWithDefault: ButtonLinkStyleOptions = {\n ...defaultStyleOptions,\n ...styleOptions,\n };\n\n const linkOptionsWithDefault: ButtonLinkLinkOptions = {\n ...defaultLinkOptions,\n ...linkOptions,\n };\n\n const classNames = classnames(\n `ButtonLink`,\n styleOptionsWithDefault.type,\n styleOptionsWithDefault.size,\n className,\n {\n 'ButtonLink__inline-link': !!styleOptions?.isInline,\n 'ButtonLink__invert-colors': !!styleOptions?.invertColors,\n small: styleOptionsWithDefault.size === ButtonLinkSize.SMALL,\n }\n );\n\n const aLinkPropsDefault = {\n href: to,\n target: '__blank',\n rel: 'noopener',\n ...aLinkProps,\n };\n\n const linkProps = {\n to,\n partiallyActive: !!linkOptionsWithDefault.shouldEnableActiveState,\n activeClassName: linkOptionsWithDefault?.shouldEnableActiveState\n ? 'ButtonLink--active'\n : undefined,\n };\n\n const getIcon = () => {\n if (iconOptions) {\n const IconComp = ({ className_ }: any) => (\n \n \n \n );\n return (\n \n );\n }\n return React.Fragment;\n };\n\n return linkOptionsWithDefault.isExternalLink ? (\n \n {(!iconOptions?.position || iconOptions?.position === 'left') && getIcon()}\n {children}\n {iconOptions?.position === 'right' && getIcon()}\n \n ) : (\n \n {(!iconOptions?.position || iconOptions?.position === 'left') && getIcon()}\n {children}\n {iconOptions?.position === 'right' && getIcon()}\n \n );\n};\n\nexport default memo(ButtonLink);\n","import React from 'react';\nimport { Trans } from 'react-i18next';\n\nimport { renderBodyWithList } from './content';\n\nexport const getTableRows = (\n rows: any[],\n options: {\n useDangerousHTML: boolean;\n } = { useDangerousHTML: true }\n) => {\n return rows.map((columnArray: any, i: number) => {\n return (\n \n {columnArray.map((col: any, j: number) => {\n let className = '';\n\n if (col.cs) {\n className += `col-cs-${col.cs}`;\n }\n\n if (col.rs) {\n className += `col-rs-${col.rs}`;\n }\n\n const props: any = {\n rowSpan: col.rs,\n colSpan: col.cs,\n className,\n };\n\n if (options?.useDangerousHTML) {\n props.dangerouslySetInnerHTML = { __html: col.value };\n } else {\n props.children =\n typeof col.value !== 'string' && col.value.content ? (\n renderBodyWithList(col.value.content)\n ) : (\n {col.value}\n );\n }\n\n return col.heading ? (\n \n ) : (\n \n );\n })}\n \n );\n });\n};\n"],"sourceRoot":""}