{"version":3,"sources":["webpack:///./src/components/InfoBlock/InfoBlock.tsx","webpack:///./src/pages/index.tsx","webpack:///./src/components/ButtonLink/ButtonLink.tsx"],"names":["InfoBlock","heading","icon","buttonOptions","children","className","type","label","memo","query","withTranslation","LocaleNameSpaceKeys","HOME","props","t","data","activeLocaleTag","useLocaleContext","dynamicHeroSectionOptions","heroImage","fileName","alt","blockText","layoutOptions","seo","title","shouldEnableMaxWidth","heroSection","options","accentColor","HeroSectionColors","PARROT_GREEN","Math","floor","random","length","mortgageProScanFindBrokerLink","LocaleTag","EN","ariaLabels","allFile","edges","find","edge","node","name","includes","publicURL","experLink","CommonData","tollFreeCustomerServiceNumber","mortgageServicing","cdicName","COMMON","returnObjects","map","block","i","Fragment","key","body","IconTypes","HOUSE_IN_HAND","to","getPathFromRouteKey","RouteKeys","CUSTOMER_CENTRE","iconOptions","ARROW_NEXT","styleOptions","isInline","size","ButtonLinkSize","SMALL","ariaLabel","i18nKey","href","GROUP","BROKER_CENTRE","BAR_CHART","DEPOSITS","fixed","file","childImageSharp","style","position","width","height","imgStyle","backgroundSize","backgroundPosition","aria-label","websites","cdic","CDIC","SADC","ButtonLinkType","defaultLinkOptions","isExternalLink","shouldOpenInNewTab","shouldEnableActiveState","defaultStyleOptions","PRIMARY","LARGE","invertColors","ButtonLink","linkOptions","aLinkProps","styleOptionsWithDefault","linkOptionsWithDefault","classNames","classnames","small","aLinkPropsDefault","target","rel","linkProps","partiallyActive","activeClassName","undefined","getIcon","IconComp","className_","React","role"],"mappings":"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","file":"component---src-pages-index-tsx-d8327a22d732e49be9ae.js","sourcesContent":["import React, { memo } from 'react';\nimport Icon, { IconTypes } from '../Icon/Icon';\nimport ButtonLink, {\n ButtonLinkLinkOptions,\n ButtonLinkStyleOptions,\n ButtonLinkIconOptions,\n} from '../ButtonLink/ButtonLink';\nimport './style.scss';\n\nexport interface OwnProps {\n className?: string;\n heading: string | React.ReactNode;\n children?: React.ReactNode;\n buttonOptions?: {\n to: string;\n label: string;\n iconOptions?: ButtonLinkIconOptions;\n linkOptions?: ButtonLinkLinkOptions;\n styleOptions?: ButtonLinkStyleOptions;\n ariaLabel?: string;\n };\n icon?: IconTypes;\n}\n\ntype Props = OwnProps;\n\nconst InfoBlock: React.FC = ({\n heading,\n icon,\n buttonOptions,\n children,\n className = '',\n}: Props) => {\n const getTitle = () => {\n return (\n
\n {icon && }\n {typeof heading === 'string' ?
{heading}
: heading}\n
\n );\n };\n return (\n
\n {getTitle()}\n
{children}
\n {buttonOptions && {buttonOptions.label}}\n
\n );\n};\n\nexport default memo(InfoBlock);\n","import React from 'react';\nimport { withTranslation, WithTranslation, Trans } from 'react-i18next';\nimport { PageProps, graphql } from 'gatsby';\nimport Img from 'gatsby-image';\n\nimport Layout, { LayoutOptions, HeroSectionColors } from '../components/Layout/Layout';\nimport { LocaleNameSpaceKeys } from '../localization/translations';\nimport { getPathFromRouteKey } from '../shared/utils/getPathFromRouteKey';\nimport RouteKeys from '../../config/RouteKeys';\nimport ExternalLink from '../components/ExternalLink/ExternalLink';\nimport InfoBlock from '../components/InfoBlock/InfoBlock';\nimport Icon, { IconTypes } from '../components/Icon/Icon';\nimport { useLocaleContext } from '../context/Locale';\nimport { LocaleTag } from '../../config/locales';\nimport { ButtonLinkSize } from '../components/ButtonLink/ButtonLink';\nimport CommonData from '../data/common/common';\n// import Link from '../components/Link/Link';\n// import ImportantMessage from '../components/ImportantMessage/ImportantMessage';\n\nimport './style.scss';\n\ntype Props = PageProps & WithTranslation;\n\nconst IndexPage: React.FC = (props) => {\n const { t, data } = props;\n const { activeLocaleTag } = useLocaleContext();\n\n const dynamicHeroSectionOptions = [\n {\n heroImage: {\n fileName: 'hero-image-2.jpg',\n alt: 'Image',\n },\n blockText: t('heroSection.followTheFearless'),\n },\n {\n heroImage: {\n fileName: 'hero-image-5.jpg',\n alt: 'Image',\n },\n blockText: t('heroSection.makeTheWayForOutsiders'),\n },\n {\n heroImage: {\n fileName: 'hero-image-6.jpg',\n alt: 'Image',\n },\n blockText: t('heroSection.powerToTheGrinders'),\n },\n ];\n\n const layoutOptions: LayoutOptions = {\n seo: {\n title: t('seo.title'),\n },\n shouldEnableMaxWidth: false,\n heroSection: {\n options: {\n accentColor: HeroSectionColors.PARROT_GREEN,\n ...dynamicHeroSectionOptions[Math.floor(Math.random() * dynamicHeroSectionOptions.length)],\n },\n },\n };\n\n const getContentBlocks = () => {\n const contentBlocks: Array = t('whyChooseHavenTreeBankBlock.blocks', {\n returnObjects: true,\n });\n return contentBlocks.map((block: any, i) => (\n \n

{block.heading}

\n

{block.body}

\n
\n ));\n };\n\n const mortgageProScanFindBrokerLink =\n activeLocaleTag === LocaleTag.EN\n ? 'https://mortgageproscan.ca/findabroker'\n : 'https://mortgageproscan.ca/fr/trouvezvotrecourtier';\n\n const flmImageUrl = (data as any).allFile.edges.find((edge: any) =>\n edge.node.name.includes(`-${activeLocaleTag}`)\n ).node.publicURL;\n\n const ariaLabels = {\n experLink: `${t('ariaLabelExpertLink')} ${\n CommonData.tollFreeCustomerServiceNumber.mortgageServicing\n }`,\n cdicName: t(`${LocaleNameSpaceKeys.COMMON}:cdic.name`),\n };\n\n return (\n \n
\n {/* */}\n
\n
\n
\n
\n

{t('homeOwnerShipBlock.heading')}

\n

{t('homeOwnerShipBlock.description')}

\n
\n
\n

{t('whyChooseHavenTreeBankBlock.heading')}

\n

{t('whyChooseHavenTreeBankBlock.description')}

\n {getContentBlocks()}\n
\n
\n {/* */}\n
\n
\n\n
\n
\n
\n \n

\n \n \n \n

\n \n
\n
\n \n

\n \n \n \n

\n \n
\n
\n \n

\n \n \n \n

\n \n
\n
\n
\n
\n {/* Max-width wrapper ends */}\n
\n \n
\n
\n

\n {t(`${LocaleNameSpaceKeys.COMMON}:needMoreInformationBlock.heading`)}\n

\n

{t(`${LocaleNameSpaceKeys.COMMON}:needMoreInformationBlock.body`)}

\n

\n \n {CommonData.tollFreeCustomerServiceNumber.mortgageServicing}\n \n

\n
\n
\n
\n
\n
\n

\n {t(`${LocaleNameSpaceKeys.COMMON}:cdicComplianceText`)}\n

\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n );\n};\n\nexport const query = graphql`\n query {\n file(relativePath: { eq: \"generic-image-1.jpg\" }) {\n childImageSharp {\n fixed(width: 1400, quality: 100) {\n ...GatsbyImageSharpFixed_withWebp\n }\n }\n }\n 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.HOME)(IndexPage);\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"],"sourceRoot":""}