{"version":3,"file":"static/chunks/639-c432753319b8e764.js","mappings":"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ACT,CACA,MAAO,QACT,yGEPA,IAAMqR,EAAiB3sB,CAAAA,EAAAA,EAAAA,CAAAA,CAAGA,CACxB,CACE,kBACA,iBACA,uBACA,gCACA,0BACA,kCACD,CACD,CACEC,SAAU,CACRrC,QAAS,CACP+L,QAAS,CACP,iBACA,kBACA,YACA,kBACA,mBACA,oBACA,0BACA,gBACA,sBACA,qCACA,2BACA,iCACA,6CACA,mCACA,uCACA,6BACD,CACDC,UAAW,CACT,iBACA,kBACA,YACA,kBACA,mBACA,oBACA,4BACA,kBACA,wBACA,uCACA,yCACA,qBACA,mBACA,6BACA,mCACA,+CACA,qCACA,2CACA,yCACA,+BACA,qCACD,CACDgT,KAAM,CACJ,YACA,SACA,SACA,cACA,eACA,wBACA,eACA,4BACA,wBACA,8BACA,uBACA,iCACA,gCACA,0BACA,kCACD,EAEHvW,KAAM,CACJiD,GAAI,CAAC,UAAW,UAAW,mBAAmB,CAC9CC,GAAI,CAAC,UAAW,YAAY,EAE9BtC,OAAQ,CACNC,QAAS,GACT0lB,WAAY,uBACd,EACAtmB,SAAU,CACRwE,KAAM,CACJ,yBACA,oCACA,0BACA,gCACD,EAEH/D,gBAAiB,CACf+D,KAAM,EACR,EACAkV,oBAAqB,CACnBlV,KAAM,EACR,CACF,EACAC,iBAAkB,CAChB,CACEnN,QAAS,OACT0I,UAAU,EACV0E,MAAO,sBACT,EACA,CACEpN,QAAS,OACToiB,qBAAqB,EACrBhV,MAAO,uDACT,EACA,CACEpN,QAAS,OACTmJ,iBAAiB,EACjBiE,MAAO,2DACT,EACD,CACD3K,gBAAiB,CACfzC,QAAS,UACTyI,KAAM,KACNY,OAAQ,UACRX,cAAUkK,EACVwP,oBAAqBxP,OACrBzJ,qBAAiByJ,CACnB,CACF,GAYItK,EAASnH,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CACvB,GAgBEC,QAfA,WACEL,CAAS,SACTf,CAAO,MACPyI,CAAI,QACJY,CAAM,MACNI,CAAI,UACJmE,CAAQ,UACRlF,CAAQ,UACR5H,CAAQ,SACRN,EAAU,EAAK,iBACf2I,CAAe,gBACfD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","sources":["webpack://_N_E/./src/components/download-link/download-link.tsx","webpack://_N_E/../ui-library/src/molecules/accordion/accordion.tsx","webpack://_N_E/../assets/resources/BBA/BBA_Winner_Best_savings_provider.svg","webpack://_N_E/../ui-library/src/molecules/carousel/carousel.tsx","webpack://_N_E/../ui-library/src/molecules/footer/footer.tsx","webpack://_N_E/../ui-library/src/molecules/footer/index.ts","webpack://_N_E/../ui-library/src/molecules/feature/feature.tsx","webpack://_N_E/../ui-library/src/molecules/feature/index.ts","webpack://_N_E/../ui-library/src/molecules/feature-text/index.ts","webpack://_N_E/../ui-library/src/molecules/info-block/index.ts","webpack://_N_E/../ui-library/src/molecules/logo-tile/logo-tile.tsx","webpack://_N_E/../ui-library/src/molecules/logo-tile/index.ts","webpack://_N_E/../ui-library/src/molecules/logo-tile-grid/logo-tile-grid.tsx","webpack://_N_E/../ui-library/src/molecules/logo-tile-grid/index.ts","webpack://_N_E/../ui-library/src/molecules/hero/hero.tsx","webpack://_N_E/../ui-library/src/molecules/hero/index.ts","webpack://_N_E/../ui-library/src/molecules/breadcrumb/breadcrumb.tsx","webpack://_N_E/../ui-library/src/molecules/breadcrumb/index.ts","webpack://_N_E/../ui-library/src/molecules/navigation/index.ts","webpack://_N_E/../ui-library/src/molecules/header/header.tsx","webpack://_N_E/../ui-library/src/molecules/header/index.ts","webpack://_N_E/../ui-library/src/molecules/modal/index.ts","webpack://_N_E/../ui-library/src/molecules/accordion/index.ts","webpack://_N_E/../ui-library/src/molecules/card/card.tsx","webpack://_N_E/../ui-library/src/molecules/card/index.ts","webpack://_N_E/../ui-library/src/molecules/card-grid/card-grid.tsx","webpack://_N_E/../ui-library/src/molecules/card-grid/index.ts","webpack://_N_E/../ui-library/src/molecules/image-card/image-card.tsx","webpack://_N_E/../ui-library/src/molecules/image-card/index.ts","webpack://_N_E/../ui-library/src/molecules/editorial-card/editorial-card.tsx","webpack://_N_E/../ui-library/src/molecules/editorial-card/index.ts","webpack://_N_E/../ui-library/src/molecules/carousel/index.ts","webpack://_N_E/../ui-library/src/molecules/article-tile/article-tile.tsx","webpack://_N_E/../ui-library/src/molecules/article-tile/index.ts","webpack://_N_E/../ui-library/src/molecules/promo/promo.tsx","webpack://_N_E/../ui-library/src/molecules/promo/index.ts","webpack://_N_E/../ui-library/src/molecules/tabs/index.ts","webpack://_N_E/../ui-library/src/molecules/full-width-feature/index.ts","webpack://_N_E/../ui-library/src/molecules/popover/index.ts","webpack://_N_E/../ui-library/src/molecules/comparison-list/comparison-list.tsx","webpack://_N_E/../ui-library/src/molecules/comparison-list/index.ts","webpack://_N_E/../ui-library/src/molecules/notification-widget/notification-widget.tsx","webpack://_N_E/../ui-library/src/molecules/notification-widget/index.ts","webpack://_N_E/../ui-library/src/molecules/select/index.ts","webpack://_N_E/../ui-library/src/molecules/summary-list/summary-list.tsx","webpack://_N_E/../ui-library/src/molecules/summary-list/index.ts","webpack://_N_E/../ui-library/src/molecules/index.ts","webpack://_N_E/./image-loader.js","webpack://_N_E/./src/components/download-qr-code/download-qr-code.tsx","webpack://_N_E/./src/components/animations/generic-error.tsx","webpack://_N_E/./src/components/animations/error-404.tsx","webpack://_N_E/./src/components/consent-modal/consent-modal-link.tsx","webpack://_N_E/./src/lib/hooks/useHasRehydrated.ts","webpack://_N_E/./src/components/insights/split-redirect/index.ts","webpack://_N_E/./src/components/insights/insights.tsx","webpack://_N_E/../utils/textContentFromJSX.ts","webpack://_N_E/../ui-library/src/organisms/responsive-data-table/responsive-data-table.tsx","webpack://_N_E/../ui-library/src/organisms/responsive-data-table/index.ts","webpack://_N_E/../ui-library/src/organisms/index.ts","webpack://_N_E/../ui-library/src/index.ts","webpack://_N_E/./src/components/download-panel/download-panel.tsx","webpack://_N_E/../ui-library/src/atoms/screen-reader/screen-reader.ts","webpack://_N_E/../ui-library/src/atoms/toast/toast.tsx","webpack://_N_E/../ui-library/src/atoms/scroll-top-button/scroll-top-button.tsx","webpack://_N_E/../ui-library/src/atoms/heading/heading.tsx","webpack://_N_E/../ui-library/src/atoms/heading/index.ts","webpack://_N_E/./src/components/skip-to-main-content-button/skip-to-main-content-button.tsx","webpack://_N_E/../utils/updatePictureYTranslation.ts","webpack://_N_E/../utils/useParallaxImage.ts","webpack://_N_E/../ui-library/src/molecules/full-width-feature/full-width-feature.tsx","webpack://_N_E/../utils/tracking/vendor/appsflyerOnelinkSmartScript.ts","webpack://_N_E/../utils/tracking/vendor/appsflyerScript.ts","webpack://_N_E/../utils/tracking/vendor/createAttributionLink.ts","webpack://_N_E/../utils/tracking/vendor/useAttributionLink.tsx","webpack://_N_E/../utils/tracking/vendor/index.ts","webpack://_N_E/../ui-library/src/molecules/data-table/data-table.tsx","webpack://_N_E/../ui-library/src/molecules/data-table/index.ts","webpack://_N_E/./src/lib/parse-content/parseContent.tsx","webpack://_N_E/./src/lib/parse-content/index.ts","webpack://_N_E/../ui-library/src/atoms/animation/index.ts","webpack://_N_E/../ui-library/src/molecules/info-block/info-block.tsx","webpack://_N_E/../ui-library/src/molecules/carousel/carousel.context.tsx","webpack://_N_E/../ui-library/src/molecules/popover/popover.tsx","webpack://_N_E/../tailwindconfig/motion.ts","webpack://_N_E/../ui-library/src/molecules/modal/modal.tsx","webpack://_N_E/./src/components/actionable-link/actionable-link.tsx","webpack://_N_E/./src/components/actionable-link/index.ts","webpack://_N_E/./src/components/animations/index.ts","webpack://_N_E/./src/components/app-store-button/index.ts","webpack://_N_E/./src/components/assert-rehydration/index.ts","webpack://_N_E/./src/components/bba-logo/bba-logo.tsx","webpack://_N_E/./src/components/bba-logo/index.ts","webpack://_N_E/./src/components/breadcrumbs/breadcrumbs.tsx","webpack://_N_E/./src/components/breadcrumbs/index.ts","webpack://_N_E/./src/components/cass-logo/cass-logo.tsx","webpack://_N_E/./src/components/cass-logo/index.ts","webpack://_N_E/./src/components/consent-modal/index.ts","webpack://_N_E/./src/components/document-details/document-details.tsx","webpack://_N_E/./src/components/document-details/index.ts","webpack://_N_E/./src/components/download-link/index.ts","webpack://_N_E/./src/components/download-panel/index.ts","webpack://_N_E/./src/components/download-qr-code/index.ts","webpack://_N_E/./src/components/faq-accordion/faq-accordion.tsx","webpack://_N_E/./src/components/faq-accordion/index.ts","webpack://_N_E/./src/components/header-cta/index.ts","webpack://_N_E/./src/components/insights/index.ts","webpack://_N_E/./src/components/local-image/local-image.tsx","webpack://_N_E/./src/components/local-image/index.ts","webpack://_N_E/./src/components/notifications/index.ts","webpack://_N_E/./src/components/page-anchor/page-anchor.tsx","webpack://_N_E/./src/components/page-anchor/index.ts","webpack://_N_E/./src/components/rich-text/rich-text.tsx","webpack://_N_E/./src/components/rich-text/index.ts","webpack://_N_E/./src/components/share-widget/index.ts","webpack://_N_E/./src/components/skip-to-main-content-button/index.ts","webpack://_N_E/./src/components/index.ts","webpack://_N_E/../utils/split/localhostSplit.ts","webpack://_N_E/../utils/split/useSplit.ts","webpack://_N_E/../utils/split/getMarketingChannel.ts","webpack://_N_E/../utils/split/index.ts","webpack://_N_E/../ui-library/src/atoms/button/button.tsx","webpack://_N_E/../ui-library/src/atoms/button/index.ts","webpack://_N_E/../assets/resources/BBA/BBA_Winner_Best_British_bank.svg","webpack://_N_E/../ui-library/src/molecules/feature-text/feature-text.tsx","webpack://_N_E/../ui-library/src/atoms/qr-code/qr-code.tsx","webpack://_N_E/./src/components/assert-rehydration/assert-rehydration.tsx","webpack://_N_E/./src/constants.ts","webpack://_N_E/../utils/notifications/types.ts","webpack://_N_E/../utils/notifications/useSessionStorageNotificationStore.ts","webpack://_N_E/../utils/notifications/useLocalStorageNotificationStore.ts","webpack://_N_E/../utils/notifications/useNotificationStore.ts","webpack://_N_E/./src/components/notifications/notification.tsx","webpack://_N_E/../ui-library/src/atoms/hamburger-icon/hamburger-icon.tsx","webpack://_N_E/../ui-library/src/molecules/tabs/tabs.context.tsx","webpack://_N_E/../ui-library/src/molecules/tabs/tabs.tsx","webpack://_N_E/../utils/getChaseEnv.ts","webpack://_N_E/./src/lib/hooks/useChaseEnv.ts","webpack://_N_E/./src/lib/hooks/useOnClickTracked.ts","webpack://_N_E/./src/lib/hooks/usePageTitle.ts","webpack://_N_E/./src/lib/hooks/index.ts","webpack://_N_E/../ui-library/src/atoms/prose/prose.tsx","webpack://_N_E/../ui-library/src/atoms/prose/index.ts","webpack://_N_E/../utils/tracking/analytics/mparticle/config.ts","webpack://_N_E/../utils/tracking/analytics/constants.ts","webpack://_N_E/../utils/tracking/cookies/cookies.ts","webpack://_N_E/../utils/tracking/prospects/prospects.ts","webpack://_N_E/../utils/tracking/utmParameters/utmUtils.ts","webpack://_N_E/../utils/tracking/validators/pii.ts","webpack://_N_E/../utils/tracking/validators/validators.ts","webpack://_N_E/../utils/tracking/utmParameters/utmParameters.ts","webpack://_N_E/../utils/tracking/analytics/mparticle/helpers.ts","webpack://_N_E/../utils/tracking/analytics/analytics.ts","webpack://_N_E/../utils/tracking/analytics/analyticsUtils.ts","webpack://_N_E/../utils/tracking/analytics/mockAnalytics.ts","webpack://_N_E/../utils/tracking/analytics/index.ts","webpack://_N_E/../utils/tracking/consents/consents.ts","webpack://_N_E/../utils/tracking/consents/index.ts","webpack://_N_E/../utils/tracking/prospects/index.ts","webpack://_N_E/../utils/tracking/utmParameters/index.ts","webpack://_N_E/../utils/tracking/validators/index.ts","webpack://_N_E/../utils/tracking/marketing-pixels/components/MarketingPixel.tsx","webpack://_N_E/../utils/tracking/marketing-pixels/components/index.ts","webpack://_N_E/../utils/tracking/marketing-pixels/MarketingPixelsFragment.tsx","webpack://_N_E/../utils/tracking/marketing-pixels/useDownloadConversionPixelsFragment.tsx","webpack://_N_E/../utils/tracking/marketing-pixels/useJobSearchPixelsFragment.tsx","webpack://_N_E/../utils/tracking/marketing-pixels/index.ts","webpack://_N_E/../utils/tracking/index.ts","webpack://_N_E/../ui-library/src/atoms/svg/icons/accessibility.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/add-money.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/app.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/arrow-down.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/arrow-left.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/arrow-right.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/calendar.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/card.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/check.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/check-fill.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/clear.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/close.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/copy.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/dash.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/error-status.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/external-link.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/home.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/information-status.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/isa-account.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/phone.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/privacy-policy.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/question.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/quick-account.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/redirect-icon.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/round-up.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/search.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/security.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/shared-accounts.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/success-status.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/tick.tsx","webpack://_N_E/../ui-library/src/atoms/svg/icons/warning-status.tsx","webpack://_N_E/../ui-library/src/atoms/svg/social/facebook.tsx","webpack://_N_E/../ui-library/src/atoms/svg/social/instagram.tsx","webpack://_N_E/../ui-library/src/atoms/svg/social/linkedin.tsx","webpack://_N_E/../ui-library/src/atoms/svg/social/twitter.tsx","webpack://_N_E/../ui-library/src/atoms/svg/social/x.tsx","webpack://_N_E/../ui-library/src/atoms/svg/social/youtube.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/apple-app-store.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/chase-logo.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/chase-octagon.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/google-play.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/information.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/information-blue-ring.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/nutmeg-icon.tsx","webpack://_N_E/../ui-library/src/atoms/svg/other/speedometer.tsx","webpack://_N_E/../ui-library/src/atoms/svg/exports.client.tsx","webpack://_N_E/../ui-library/src/atoms/svg/svg.tsx","webpack://_N_E/../ui-library/src/atoms/svg/index.ts","webpack://_N_E/../assets/resources/BBA/BBA_Winner_Best_current_account_provider.svg","webpack://_N_E/../ui-library/src/atoms/screen-reader/index.ts","webpack://_N_E/../ui-library/src/atoms/dialog/index.ts","webpack://_N_E/../ui-library/src/atoms/loader/loader.tsx","webpack://_N_E/../ui-library/src/atoms/loader/index.ts","webpack://_N_E/../ui-library/src/atoms/scroll-top-button/index.ts","webpack://_N_E/../ui-library/src/atoms/toast/index.ts","webpack://_N_E/../ui-library/src/atoms/hamburger-icon/index.ts","webpack://_N_E/../ui-library/src/atoms/avatar/avatar.tsx","webpack://_N_E/../ui-library/src/atoms/avatar/index.ts","webpack://_N_E/../ui-library/src/atoms/qr-code/index.ts","webpack://_N_E/../ui-library/src/atoms/toggle/index.ts","webpack://_N_E/../ui-library/src/atoms/callout/callout.tsx","webpack://_N_E/../ui-library/src/atoms/callout/index.ts","webpack://_N_E/../ui-library/src/atoms/index.ts","webpack://_N_E/./src/components/link/link.tsx","webpack://_N_E/../utils/isDescendant.ts","webpack://_N_E/../utils/trapFocus.ts","webpack://_N_E/./src/lib/parse-content/components/inline-feature-flag/inline-feature-flag.tsx","webpack://_N_E/./src/components/header-cta/header-cta.tsx","webpack://_N_E/../ui-library/src/atoms/card-profile/card-profile.tsx","webpack://_N_E/../ui-library/src/atoms/card-profile/index.ts","webpack://_N_E/../ui-library/src/atoms/dialog/dialog.tsx","webpack://_N_E/../ui-library/src/atoms/toggle/toggle.tsx","webpack://_N_E/./src/components/share-widget/components/copy-widget.tsx","webpack://_N_E/./src/components/share-widget/components/index.ts","webpack://_N_E/./src/components/share-widget/share-widget.tsx","webpack://_N_E/../utils/useIsMobileBreakpoint.tsx","webpack://_N_E/./src/components/consent-modal/consent-modal-step1.tsx","webpack://_N_E/./src/components/consent-modal/consent-modal-step2.tsx","webpack://_N_E/./src/components/consent-modal/consent-modal.tsx","webpack://_N_E/../ui-library/src/molecules/navigation/navigation.tsx","webpack://_N_E/../utils/cn.ts","webpack://_N_E/./src/components/link/styled-link.tsx","webpack://_N_E/./src/components/link/index.ts","webpack://_N_E/./src/components/app-store-button/app-store-button.tsx","webpack://_N_E/../ui-library/src/molecules/select/select.tsx","webpack://_N_E/./src/lib/stores/useConsentStore.ts","webpack://_N_E/./src/lib/stores/useCTAStore.ts","webpack://_N_E/./src/lib/stores/index.ts","webpack://_N_E/../assets/resources/CASS/CASS_logo.svg","webpack://_N_E/./src/components/animations/phone-permissions.tsx","webpack://_N_E/./src/components/insights/split-redirect/split-redirect.tsx"],"sourcesContent":["'use client'\n\nimport { useSplitStore } from '@chaseweb/utils/split'\nimport { useDownloadConversionPixelsFragment } from '@chaseweb/utils/tracking'\nimport { useAttributionUrlLink } from '@chaseweb/utils/tracking/vendor'\nimport * as Portal from '@radix-ui/react-portal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { DownloadPanel } from '@/components'\nimport { useChaseEnv } from '@/lib/hooks'\nimport { useConsentStore } from '@/lib/stores'\n\nimport type { TrackedLinkProps } from '../link'\nimport { Link } from '../link'\n\nexport const DownloadLink = (\n props: Omit & {\n appFlyerPath?: string\n },\n) => {\n const env = useChaseEnv()\n const { AdvertisingAndTargeting } = useConsentStore((store) => store.consents)\n const { DownloadConversionPixelsFragment, triggerConversionPixels } =\n useDownloadConversionPixelsFragment({\n hasAdTargetingConsent: AdvertisingAndTargeting,\n })\n const [showDownloadPanel, setShowDownloadPanel] = useState(false)\n const [isMobileDevice, setIsMobileDevice] = useState(false)\n const client = useSplitStore((state) => state.clients.user)\n const treatmentSlidePanel = client?.getTreatment('download_cta_slide_panel')\n const sitePrefix = process.env.NEXT_PUBLIC_BASE_PATH\n ? `${process.env.NEXT_PUBLIC_BASE_PATH.replace(/^\\//, '')}/`\n : ''\n const downloadAffiliates = client?.getTreatment('download_affiliates')\n\n const mainContainer = useRef(null)\n\n useEffect(() => {\n if (typeof navigator !== 'undefined') {\n const regex = /Mobi|Android|iPhone/i\n setIsMobileDevice(regex.test(navigator.userAgent))\n\n mainContainer.current = document.querySelector('main')\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const { appFlyerPath, ...restProps } = props\n\n const downloadLink = useAttributionUrlLink({\n appsflyerLink: `${env?.openAppUrl ?? ''}${env?.openAppUrl && appFlyerPath ? appFlyerPath : ''}`,\n sitePrefix: process.env.NEXT_PUBLIC_BASE_PATH\n ? `${process.env.NEXT_PUBLIC_BASE_PATH.replace(/^\\//, '')}/`\n : '',\n variant: downloadAffiliates === 'on' ? 'download-affiliates' : 'download',\n })\n\n const toggleDownloadPanel = useCallback(() => {\n setShowDownloadPanel(!showDownloadPanel)\n }, [showDownloadPanel])\n\n const onClick: React.MouseEventHandler = useCallback(\n (e) => {\n restProps.onClick && restProps.onClick(e)\n triggerConversionPixels()\n if (treatmentSlidePanel === 'on' && !isMobileDevice) {\n e.preventDefault()\n toggleDownloadPanel()\n }\n },\n [\n restProps,\n triggerConversionPixels,\n treatmentSlidePanel,\n isMobileDevice,\n toggleDownloadPanel,\n ],\n )\n\n if (!env?.openAppUrl || !downloadLink) {\n return (\n \n {restProps.children}\n \n )\n }\n\n return (\n <>\n {/* TODO: there is a side panel being created to every instance of this button, we should move this to the layout - DYN-649089 */}\n {treatmentSlidePanel === 'on' && mainContainer && (\n \n \n \n )}\n \n {restProps.children}\n \n \n \n )\n}\n","'use client'\n\nimport type { ComponentPropsWithoutRef, ElementRef } from 'react'\nimport { forwardRef } from 'react'\nimport * as AccordionPrimitive from '@radix-ui/react-accordion'\nimport { cn } from '@chaseweb/utils/cn'\nimport type { HeadingType } from '@chaseweb/ui-library/src/atoms'\nimport { CustomSvg, Heading } from '@chaseweb/ui-library/src/atoms'\n\nconst Root = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => (\n \n
    {children}
\n \n))\nRoot.displayName = 'Accordion.Root'\n\nconst Item = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => (\n \n
  • {children}
  • \n \n))\nItem.displayName = 'Accordion.Item'\n\ninterface TriggerProps\n extends ComponentPropsWithoutRef {\n headingType?: HeadingType\n}\nconst Trigger = forwardRef<\n ElementRef,\n TriggerProps\n>(({ className, headingType = 'h3', children, ...props }, ref) => (\n \n \n \n {children}\n \n \n \n \n))\nTrigger.displayName = 'Accordion.Trigger'\n\nconst Content = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => (\n \n
    \n {children}\n
    \n \n))\nContent.displayName = 'Accordion.Content'\n\nexport { Root, Item, Trigger, Content }\n","export default {\"src\":\"/gb/en/_next/static/media/BBA_Winner_Best_savings_provider.66c760bc.svg\",\"height\":64,\"width\":236,\"blurWidth\":0,\"blurHeight\":0};","/* eslint-disable sonarjs/no-duplicate-string */\n'use client'\n\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n ReactElement,\n TouchEvent,\n} from 'react'\nimport {\n useImperativeHandle,\n Children,\n forwardRef,\n useEffect,\n useState,\n} from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Button, Heading, ScreenReader } from '../../atoms'\nimport { CustomSvg } from '../../atoms/svg'\nimport { CarouselContextProvider, useCarouselContext } from './carousel.context'\n\nconst TOUCH_DISTANCE_TO_ACTION = 40\n\nconst rootVariants = cva('', {\n variants: {\n variant: {\n custom: 'tw-w-full',\n fullwidth: 'tw-container',\n background:\n 'tw-container tw-w-full tw-pt-[calc(100vw_*_0.4)] lg:tw-pt-[calc(100vw_*_0.35)]',\n },\n },\n defaultVariants: {\n variant: 'fullwidth',\n },\n})\n\ninterface RootProps\n extends HTMLAttributes,\n VariantProps {\n variant?: 'fullwidth' | 'background' | 'custom'\n classNameWrapper?: string\n maxPageSize?: 1 | 2 | 3 | 4\n asChild?: boolean\n context?: any\n}\n\nconst Root = forwardRef(\n (\n {\n className,\n classNameWrapper,\n context = {},\n asChild,\n variant = 'fullwidth',\n maxPageSize = 3,\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n \n \n \n \n )\n },\n)\nRoot.displayName = 'Carousel.Root'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type = 'h2', ...props }, ref) => (\n \n))\nTitle.displayName = 'Carousel.Title'\n\nexport interface DescriptionProps extends HTMLAttributes {\n asChild?: boolean\n}\n\nconst Description = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'p'\n return \n },\n)\nDescription.displayName = 'Carousel.Description'\n\ninterface ContentProps extends HTMLAttributes {\n children: ReactElement | ReactElement[]\n classNameItem?: string\n 'data-testid'?: string\n}\n\nconst Content = forwardRef(\n (\n {\n className,\n 'data-testid': dataTestId = 'carousel-content',\n classNameItem,\n children,\n ...props\n },\n ref,\n ) => {\n const {\n variant,\n maxPageSize,\n setMaxPageSize,\n containerRef,\n childrenCount,\n setChildrenCount,\n contentRefList,\n pageCount,\n setPageCount,\n pageSize,\n setPageSize,\n currentPage,\n setCurrentPage,\n } = useCarouselContext()\n const [touchPositionStart, setTouchPositionStart] = useState(0)\n\n /* istanbul ignore next - can't test refs easily in jest */\n useImperativeHandle(\n ref,\n () => containerRef.current,\n [],\n )\n\n useEffect(() => {\n const newChildrenCount = Children.count(children)\n setChildrenCount(newChildrenCount)\n if (newChildrenCount < maxPageSize) {\n setMaxPageSize(newChildrenCount as 1 | 2 | 3 | 4)\n }\n }, [children])\n\n useEffect(() => {\n let windowWidth = 0 // need handleResize to run at least once on load\n\n const handleResize = () => {\n if (\n window.innerWidth !== windowWidth &&\n containerRef.current?.scrollTo &&\n contentRefList.current?.[0]\n ) {\n windowWidth = window.innerWidth\n containerRef.current.scrollTo({\n left: 0,\n })\n setCurrentPage(0)\n\n if (variant === 'background') {\n setPageCount(childrenCount)\n setPageSize(1)\n } else {\n const computedSizeContainer = getComputedStyle(containerRef.current)\n const containerWidth =\n containerRef.current.clientWidth -\n parseFloat(computedSizeContainer.paddingLeft) -\n parseFloat(computedSizeContainer.paddingRight)\n const itemWidth = contentRefList.current[0].clientWidth\n const newPageSize: number = Math.min(\n Math.round(containerWidth / (itemWidth || 1) || 1),\n maxPageSize,\n childrenCount,\n )\n setPageCount(Math.ceil(childrenCount / newPageSize))\n setPageSize(newPageSize)\n }\n }\n }\n window.addEventListener('resize', handleResize, false)\n handleResize()\n return () => {\n window.removeEventListener('resize', handleResize, false)\n }\n }, [childrenCount])\n\n const handleRefAssign = (index: number) => (el: HTMLLIElement) => {\n contentRefList.current[index] = el\n }\n\n const handleTouchStart = (e: TouchEvent) => {\n setTouchPositionStart(e.touches[0].clientX)\n }\n\n const handleTouchEnd = (e: TouchEvent) => {\n const touchPositionEnd = e.changedTouches[0].clientX\n const touchDistanceDifference = touchPositionEnd - touchPositionStart\n\n if (\n currentPage > 0 &&\n touchDistanceDifference > TOUCH_DISTANCE_TO_ACTION\n ) {\n setCurrentPage((currentPage) => currentPage - 1)\n } else if (\n currentPage < pageCount - 1 &&\n touchDistanceDifference < -TOUCH_DISTANCE_TO_ACTION\n ) {\n setCurrentPage((currentPage) => currentPage + 1)\n }\n }\n\n return (\n \n \n {Children.map(children, (child: ReactElement, index) => {\n const isActive = index === pageSize * currentPage\n const position = index < currentPage ? 'prev' : 'next'\n return (\n \n {child}\n \n )\n })}\n \n \n )\n },\n)\nContent.displayName = 'Carousel.Content'\n\nconst ContentItem = forwardRef<\n HTMLLIElement,\n HTMLAttributes & { 'data-index': number }\n>(({ className, 'data-index': dataIndex, ...props }, ref) => {\n const { variant, currentPage, pageSize } = useCarouselContext()\n const currentPageItemIndex = pageSize * currentPage\n return (\n *]:tw-min-h-full [&>*]:tw-min-w-full',\n ...(variant === 'background'\n ? [\n '[&>*]:tw-max-w-full [&>*]:tw-transition-all [&>*]:tw-duration-300',\n {\n '[&>*>*]:tw-opacity-0 [&>*]:tw-bg-transparent [&>*]:tw-from-white [&>*]:tw-to-transparent [&>*]:tw-to-15% [&>*]:tw-text-transparent [&>*]:tw-shadow-none':\n dataIndex < currentPageItemIndex ||\n dataIndex > currentPage + pageSize - 1,\n '[&>*]:tw-bg-gradient-to-r':\n dataIndex === currentPage + pageSize,\n '[&>*]:tw-bg-gradient-to-l':\n dataIndex === currentPageItemIndex - 1,\n },\n ]\n : []),\n className,\n )}\n {...props}\n />\n )\n})\nContentItem.displayName = 'Carousel.ContentItem'\n\nconst BackgroundImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n *]:tw-translate-x-10 group-data-[position=prev]/citem:[&>*]:-tw-translate-x-10 [&_*]:tw-w-[calc(100vw_+_80px)] [&_*]:tw-min-w-[calc(100vw_+_80px)] [&_*]:tw-transition-transform [&_*]:tw-duration-300 xl:[&_*]:tw-max-w-none',\n className,\n )}\n >\n {children}\n \n )\n})\nBackgroundImageWrapper.displayName = 'Carousel.BackgroundImageWrapper'\n\nconst Controls = forwardRef<\n HTMLDivElement,\n HTMLAttributes & { preRender?: boolean }\n>(({ className, children, preRender, ...props }, ref) => {\n const { variant, childrenCount, pageSize } = useCarouselContext()\n if (childrenCount === 0 && preRender) {\n return (\n \n \n \n \n \n \n )\n }\n\n return childrenCount > pageSize ? (\n \n {children ?? (\n <>\n \n \n \n \n \n \n )}\n \n ) : null\n})\nControls.displayName = 'Carousel.Controls'\n\ninterface ControlsPageDotsProps extends HTMLAttributes {\n classNameDots?: string\n 'data-testid'?: string\n}\n\nconst ControlsPageDots = forwardRef(\n (\n {\n className,\n 'data-testid': dataTestId = 'carousel-page-dots',\n classNameDots,\n ...props\n },\n ref,\n ) => {\n const { pageCount, currentPage, setCurrentPage } = useCarouselContext()\n\n const dotArray = Array.from({ length: pageCount }, (_, i) => i)\n\n const handleDotClick = (index: number) => () => {\n setCurrentPage(index)\n }\n\n const distanceBlueDot = (currentPage * 38) / 16 // 38 is the distance between the dots and 16 is the base font size\n\n return (\n \n \n {dotArray.map((dotIndex) => (\n \n \n \n Go to page {dotIndex + 1}\n \n \n ))}\n \n )\n },\n)\nControlsPageDots.displayName = 'Carousel.ControlsPageDots'\n\nconst ControlsArrowsContainer = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n))\nControlsArrowsContainer.displayName = 'Carousel.ControlsArrowsContainer'\n\nconst ControlsArrowsLeft = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef & { 'data-testid'?: string }\n>(\n (\n { className, 'data-testid': dataTestId = 'carousel-left-arrow', ...props },\n ref,\n ) => {\n const { currentPage, setCurrentPage } = useCarouselContext()\n\n const handleClickLeftPage = () => {\n setCurrentPage((currentPage: number) => currentPage - 1)\n }\n\n return (\n \n \n\n Previous carousel page\n \n )\n },\n)\nControlsArrowsLeft.displayName = 'Carousel.ControlsArrowsLeft'\n\nconst ControlsArrowsRight = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef & { 'data-testid'?: string }\n>(\n (\n { className, 'data-testid': dataTestId = 'carousel-right-arrow', ...props },\n ref,\n ) => {\n const { pageCount, currentPage, setCurrentPage } = useCarouselContext()\n\n const handleClickRightPage = () => {\n setCurrentPage((currentPage: number) => currentPage + 1)\n }\n\n return (\n \n \n\n Next carousel page\n \n )\n },\n)\nControlsArrowsRight.displayName = 'Carousel.ControlsArrowsRight'\n\nexport {\n Root,\n Title,\n Description,\n Content,\n BackgroundImageWrapper,\n Controls,\n ControlsPageDots,\n ControlsArrowsContainer,\n ControlsArrowsLeft,\n ControlsArrowsRight,\n}\n","import { forwardRef } from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport type { HeadingType } from '../../atoms/heading'\nimport { Heading } from '../../atoms/heading'\nimport { Button } from '../../atoms/button'\n\nconst Root = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nRoot.displayName = 'Footer.Root'\n\nconst Container = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nContainer.displayName = 'Footer.Container'\n\nconst LinksContainer = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => {\n return (\n \n )\n})\nLinksContainer.displayName = 'Footer.LinksContainer'\n\nconst LinksColumn = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nLinksColumn.displayName = 'Footer.LinksColumn'\n\ninterface ColumnHeaderProps extends HTMLAttributes {\n headingType?: HeadingType\n asChild?: boolean\n}\n\nconst ColumnHeader = forwardRef(\n ({ className, headingType = 'h2', children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nColumnHeader.displayName = 'Footer.ColumnHeader'\n\nconst LinkList = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nLinkList.displayName = 'Footer.LinkList'\n\nconst Link = forwardRef<\n HTMLLIElement,\n HTMLAttributes & {\n noExternalIcon?: boolean\n asChild?: boolean\n }\n>(({ className, asChild, noExternalIcon, ...props }, ref) => {\n return (\n
  • \n \n {props.children}\n \n
  • \n )\n})\nLink.displayName = 'Footer.Link'\n\nconst separatorVariants = cva(\n 'tw-absolute tw-left-0 tw-m-0 tw-h-px tw-w-screen',\n {\n variants: {\n border: {\n default: 'tw-bg-grey60',\n transparent: 'tw-bg-none',\n },\n },\n defaultVariants: {\n border: 'default',\n },\n },\n)\ninterface SeparatorProps\n extends HTMLAttributes,\n VariantProps {}\n\nconst Separator = forwardRef(\n ({ className, border, role, ...props }, ref) => {\n return (\n
    \n \n
    \n )\n },\n)\nSeparator.displayName = 'Footer.Separator'\n\nconst Disclaimer = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n *]:tw-m-0 [&>*]:tw-text-sm',\n className,\n )}\n {...props}\n />\n )\n },\n)\nDisclaimer.displayName = 'Footer.Disclaimer'\n\nexport {\n Root,\n Container,\n LinksContainer,\n LinksColumn,\n ColumnHeader,\n LinkList,\n Link,\n Separator,\n Disclaimer,\n}\n","export * as Footer from './footer'\n","import { forwardRef } from 'react'\nimport type { HTMLAttributes } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\n\nconst Root = forwardRef<\n HTMLElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'section'\n return (\n \n )\n})\nRoot.displayName = 'Feature.Root'\n\nconst ImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nImageWrapper.displayName = 'Feature.ImageWrapper'\n\nconst Content = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nContent.displayName = 'Feature.Content'\n\nexport { Root, ImageWrapper, Content }\n","export * as Feature from './feature'\n","export * as FeatureText from './feature-text'\n","export * as InfoBlock from './info-block'\n","import type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\n\nconst Root = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n hasLink?: boolean\n }\n>(({ className, asChild, hasLink = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nRoot.displayName = 'LogoTile.Root'\n\nconst ImageWrapper = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n
    \n \n {children}\n
    \n
    \n
    \n )\n },\n)\nImageWrapper.displayName = 'LogoTile.ImageWrapper'\n\nexport interface LogoLabelProps extends HTMLAttributes {\n asChild?: boolean\n}\n\nconst LogoLabel = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'h3'\n return (\n \n )\n },\n)\nLogoLabel.displayName = 'LogoTile.LogoLabel'\n\nexport { Root, ImageWrapper, LogoLabel }\n","export * as LogoTile from './logo-tile'\n","import type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { Children, forwardRef } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Heading } from '../../atoms'\n\nconst Root = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nRoot.displayName = 'LogoTileGrid.Root'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type = 'h2', ...props }, ref) => (\n \n))\nTitle.displayName = 'LogoTileGrid.Title'\n\nexport interface DescriptionProps extends HTMLAttributes {\n asChild?: boolean\n}\n\nconst Description = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n },\n)\nDescription.displayName = 'LogoTileGrid.Description'\n\nconst Content = forwardRef>(\n ({ className, children, ...props }, ref) => {\n const childrenCount = Children.count(children)\n return (\n *]:tw-h-full',\n { 'md:tw-grid md:tw-grid-cols-2 md:tw-gap-6': childrenCount >= 2 },\n {\n 'lg:tw-grid lg:tw-grid-cols-3':\n childrenCount === 3 || childrenCount > 4,\n },\n { 'lg:tw-grid-cols-2 xl:tw-grid-cols-4': childrenCount === 4 },\n className,\n )}\n {...props}\n >\n {children}\n \n )\n },\n)\nContent.displayName = 'LogoTileGrid.Content'\n\nexport { Root, Title, Description, Content }\n","export * as LogoTileGrid from './logo-tile-grid'\n","import { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Heading } from '../../atoms/heading'\nimport { Button } from '../../atoms/button'\nimport { CardProfile } from '../../atoms/card-profile'\n\nconst Root = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n gradientDirection?: 'bottomRight' | 'topLeft'\n hasDiagonalBlue?: boolean\n classNameDiagonal?: string\n classNameGradient?: string\n }\n>(\n (\n {\n className,\n classNameDiagonal,\n classNameGradient,\n children,\n gradientDirection,\n hasDiagonalBlue = false,\n ...props\n },\n ref,\n ) => (\n \n {children}\n {gradientDirection && (\n \n )}\n {hasDiagonalBlue && (\n \n )}\n \n ),\n)\nRoot.displayName = 'Hero.Root'\n\nconst Container = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n \n \n )\n },\n)\nContainer.displayName = 'Hero.Container'\n\nconst BackgroundImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes & { spacerClassName?: string }\n>(({ className, spacerClassName, children, ...props }, ref) => {\n return (\n \n \n {children}\n \n \n )\n})\nBackgroundImageWrapper.displayName = 'Hero.BackgroundImageWrapper'\n\nconst Content = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nContent.displayName = 'Hero.Content'\n\nconst ImageWrapper = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n *]:tw-right-0 [&>*]:-tw-z-10 [&>*]:tw-block [&_*]:tw-w-full [&_*]:tw-max-w-full [&_*]:tw-justify-center [&_*]:tw-object-contain',\n 'sm:[&_*]:tw-w-[420px]', // set the height of the image so it doesn't go too large\n 'md:[&_*]:tw-max-h-[366px]', // this is to ensure Primary and Secondary heros have the same height with the current content\n 'lg:[&_*]:tw-max-h-full',\n\n className,\n )}\n {...props}\n />\n )\n },\n)\nImageWrapper.displayName = 'Hero.ImageWrapper'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, ...props }, ref) => (\n \n))\nTitle.displayName = 'Hero.Title'\n\nconst Description = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nDescription.displayName = 'Hero.Description'\n\nconst Cta = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCta.displayName = 'Hero.Cta'\n\nconst Disclaimer = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n useContainer?: boolean\n }\n>(({ className, asChild, useContainer = true, children, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return children ? (\n \n {children}\n \n ) : (\n <>\n )\n})\nDisclaimer.displayName = 'Hero.Disclaimer'\n\nexport {\n Root,\n Container,\n BackgroundImageWrapper,\n Content,\n ImageWrapper,\n Title,\n Description,\n Cta,\n Disclaimer,\n}\n","export * as Hero from './hero'\n","import { forwardRef } from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\n\nconst List = forwardRef>(\n ({ className, children }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nList.displayName = 'Breadcrumb.List'\n\ninterface ItemProps extends HTMLAttributes {\n asChild?: boolean\n}\n\nconst Item = forwardRef(\n ({ asChild, className, children }, ref) => {\n const Comp = asChild ? Slot : 'span'\n return (\n
  • \n \n {children}\n \n
  • \n )\n },\n)\n\nItem.displayName = 'Breadcrumb.Item'\n\nconst Label = forwardRef>(\n ({ className, children }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nLabel.displayName = 'Breadcrumb.Label'\n\nexport { List, Item, Label }\n","export * as Breadcrumb from './breadcrumb'\n","export * as Navigation from './navigation'\n","import { forwardRef } from 'react'\nimport type { HTMLAttributes } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@chaseweb/utils/cn'\n\nconst Root = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nRoot.displayName = 'Header.Root'\n\nconst Container = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nContainer.displayName = 'Header.Container'\n\ninterface LogoWrapperProps extends HTMLAttributes {\n asChild?: boolean\n}\nconst LogoWrapper = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n },\n)\nLogoWrapper.displayName = 'Header.LogoWrapper'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nContent.displayName = 'Header.Content'\n\nexport { Root, Container, Content, LogoWrapper }\n","export * as Header from './header'\n","export * as Modal from './modal'\n","export * as Accordion from './accordion'\n","import { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Button } from '../../atoms/button'\nimport { Heading } from '../../atoms/heading'\n\nconst Root = forwardRef>(\n ({ className, children, ...props }, ref) => (\n \n {children}\n \n ),\n)\nRoot.displayName = 'Card.Root'\n\nconst ImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n classNameWrapper?: string\n }\n>(({ className, classNameWrapper, ...props }, ref) => {\n return (\n \n )\n})\nImageWrapper.displayName = 'Card.ImageWrapper'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nContent.displayName = 'Card.Content'\n\nconst Label = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nLabel.displayName = 'Card.Label'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type = 'h3', ...props }, ref) => (\n \n))\nTitle.displayName = 'Card.Title'\n\nconst Description = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n))\nDescription.displayName = 'Card.Description'\n\nconst Disclaimer = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nDisclaimer.displayName = 'Card.Disclaimer'\n\nconst Cta = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, variant = 'link', ...props }, ref) => (\n \n))\nCta.displayName = 'Card.Cta'\n\nexport {\n Root,\n ImageWrapper,\n Label,\n Content,\n Title,\n Description,\n Disclaimer,\n Cta,\n}\n","export * as Card from './card'\n","import { Children, forwardRef } from 'react'\nimport type { HTMLAttributes } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst rootVariants = (childrenCount: number) =>\n cva('', {\n variants: {\n variant: {\n narrative: {\n 'tw-group/narrative tw-grid tw-grid-cols-1 tw-gap-10 lg:tw-gap-6':\n childrenCount,\n 'lg:tw-grid-cols-2': childrenCount === 2,\n 'lg:tw-grid-cols-3': childrenCount === 3,\n },\n instruction:\n 'tw-group/instruction tw-grid tw-grid-cols-1 tw-gap-6 md:tw-grid-cols-2 lg:tw-grid-cols-3',\n\n product: {\n 'tw-group/product tw-grid tw-grid-cols-1 tw-gap-6 md:tw-grid-cols-2':\n childrenCount,\n 'lg:tw-grid-cols-3': childrenCount !== 4,\n 'lg:tw-grid-cols-2 xl:tw-grid-cols-4': childrenCount === 4,\n },\n image: {\n 'tw-group/image tw-grid tw-w-full tw-grid-cols-1 tw-gap-6':\n childrenCount,\n 'md:tw-grid-cols-2': childrenCount >= 2,\n 'lg:tw-grid-cols-3': childrenCount === 3 || childrenCount > 4,\n 'xl:tw-grid-cols-4': childrenCount === 4,\n },\n },\n },\n })\n\ninterface RootProps\n extends HTMLAttributes,\n VariantProps> {\n asChild?: boolean\n stripedStart?: 'left' | 'right'\n variant: 'instruction' | 'product' | 'image' | 'narrative'\n}\n\nconst Root = forwardRef(\n ({ className, children, stripedStart, variant, ...props }, ref) => {\n const childrenCount = Children.count(children)\n\n return (\n \n {stripedStart === 'right' && }\n {children}\n \n )\n },\n)\nRoot.displayName = 'CardGrid.Root'\n\nexport { Root }\n","export * as CardGrid from './card-grid'\n","import { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Heading, CardProfile, CustomSvg } from '@chaseweb/ui-library/src/atoms'\nimport { Slot, Slottable } from '@radix-ui/react-slot'\n\ninterface RootProps extends HTMLAttributes {\n asChild?: boolean\n isClickable?: boolean\n}\n\nconst Root = forwardRef, RootProps>(\n ({ className, isClickable, children, ...props }, ref) => {\n return (\n \n \n {children}\n \n )\n },\n)\nRoot.displayName = 'ImageCard.Root'\n\nexport interface ImageCardWrapperProps extends HTMLAttributes {\n asChild?: boolean\n}\n\nconst LogoWrapper = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n },\n)\nLogoWrapper.displayName = 'ImageCard.LogoWrapper'\n\nconst ImageWrapper = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n return (\n \n )\n },\n)\nImageWrapper.displayName = 'ImageCard.ImageWrapper'\n\nconst Content = forwardRef>(\n ({ className, children, ...props }, ref) => (\n \n \n {children}\n \n \n \n \n \n ),\n)\nContent.displayName = 'ImageCard.Content'\n\nconst Title = forwardRef<\n ElementRef,\n Omit, 'type'>\n>(({ className, ...props }, ref) => (\n \n))\nTitle.displayName = 'ImageCard.Title'\n\nconst Description = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n

    \n))\nDescription.displayName = 'ImageCard.Description'\n\nconst Label = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n

    \n))\nLabel.displayName = 'ImageCard.Label'\n\nexport { Root, Content, LogoWrapper, ImageWrapper, Label, Title, Description }\n","export * as ImageCard from './image-card'\n","import { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { Heading, CardProfile } from '@chaseweb/ui-library/src/atoms'\nimport { cn } from '@chaseweb/utils/cn'\n\nconst Root = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, shape, ...props }, ref) => (\n \n {children}\n \n))\nRoot.displayName = 'EditorialCard.Root'\n\nconst ImageWrapper = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n *]:tw-transition-transform [&>*]:tw-duration-250 [&>*]:tw-ease-in-out [&_*]:tw-min-h-full [&_*]:tw-w-full [&_*]:tw-object-cover [&_*]:tw-object-center',\n '[&>*]:group-hover/editorial:tw-scale-110',\n 'motion-reduce:[&>*]:group-hover/editorial:tw-scale-100',\n className,\n )}\n {...props}\n ref={ref}\n />\n )\n },\n)\nImageWrapper.displayName = 'EditorialCard.ImageWrapper'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nContent.displayName = 'EditorialCard.Content'\n\ninterface LabelAndDisclaimerProps extends HTMLAttributes {\n classNameItem?: string\n 'data-testid'?: string\n}\n\nconst Label = forwardRef(\n (\n { className, 'data-testid': dataTestId = 'editorial-label', ...props },\n ref,\n ) => (\n \n ),\n)\nLabel.displayName = 'EditorialCard.Label'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, as = 'h4', type = 'h4', ...props }, ref) => (\n \n))\nTitle.displayName = 'EditorialCard.Title'\n\nconst Disclaimer = forwardRef(\n (\n { className, 'data-testid': dataTestId = 'editorial-disclaimer', ...props },\n ref,\n ) => (\n \n ),\n)\nDisclaimer.displayName = 'EditorialCard.Disclaimer'\n\nexport { Root, Content, ImageWrapper, Label, Title, Disclaimer }\n","export * as EditorialCard from './editorial-card'\n","export * as Carousel from './carousel'\n","import { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Heading } from '../../atoms/heading'\nimport { cva } from 'class-variance-authority'\n\nexport interface RootProps extends HTMLAttributes {\n asChild?: boolean\n hasHoverEffect?: boolean\n variant?: 'lg' | 'md' | 'sm'\n}\n\nconst rootVariants = cva(\n 'tw-group/tile tw-box-border tw-flex tw-w-full tw-gap-4 tw-text-text',\n {\n variants: {\n variant: {\n lg: 'tw-flex-col tw-gap-4 md:tw-flex-row md:tw-items-center md:tw-gap-x-6 md:tw-gap-y-8 lg:tw-flex-col lg:tw-gap-4 ',\n md: 'tw-flex-col lg:tw-flex-row',\n sm: 'tw-flex-row',\n },\n },\n },\n)\n\nconst Root = forwardRef(\n ({ className, variant, hasHoverEffect, ...props }, ref) => (\n \n ),\n)\nRoot.displayName = 'ArticleTile.Root'\n\nconst ImageWrapper = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nImageWrapper.displayName = 'ArticleTile.ImageWrapper'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nContent.displayName = 'ArticleTile.Content'\n\nconst Label = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n

    \n))\nLabel.displayName = 'ArticleTile.Label'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type = 'h3', ...props }, ref) => (\n \n))\nTitle.displayName = 'ArticleTile.Title'\n\nconst Description = forwardRef>(\n ({ className, ...props }, ref) => (\n
    \n ),\n)\nDescription.displayName = 'ArticleTile.Description'\n\nconst Summary = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n))\nSummary.displayName = 'ArticleTile.Summary'\n\nexport { Root, ImageWrapper, Content, Label, Title, Summary, Description }\n","export * as ArticleTile from './article-tile'\n","import { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Button, CardProfile, Heading } from '../../atoms'\n\nconst rootVariants = cva('', {\n variants: {\n variant: {\n primary:\n 'tw-blue-radial-gradient-portrait md:tw-blue-radial-gradient-landscape',\n secondary: 'tw-bg-grey90',\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n})\n\ninterface RootProps\n extends HTMLAttributes,\n VariantProps {\n as?: keyof HTMLElementTagNameMap\n}\n\nconst Root = forwardRef(\n ({ className, children, variant, as = 'div', ...props }, ref) => {\n const Comp = as as 'div'\n return (\n \n \n \n \n \n {children}\n
    \n \n )\n },\n)\nRoot.displayName = 'Promo.Root'\n\nconst imageVariants = cva(\n 'tw-w-full tw-justify-center md:tw-max-h-[640px] lg:tw-max-h-none',\n {\n variants: {\n variant: {\n fit: 'tw-object-contain md:tw-max-w-[320px] lg:tw-max-w-[450px]',\n overflow:\n 'tw-object-contain md:-tw-mt-7 md:tw-max-w-[350px] lg:tw-max-w-[420px] xl:-tw-mt-12 xl:tw-max-w-[500px] ',\n background:\n 'tw-bottom-0 tw-right-0 tw-top-0 tw-bg-right tw-object-cover max-md:tw-rounded-b-2xl md:tw-absolute md:tw-h-full md:tw-w-1/2 md:tw-rounded-r-2xl lg:tw-rounded-r-3xl',\n },\n },\n defaultVariants: {\n variant: 'fit',\n },\n },\n)\n\ninterface ImageProps\n extends HTMLAttributes,\n VariantProps {\n asChild?: boolean\n}\n\nconst ImageWrapper = forwardRef(\n ({ className, variant, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n
    \n \n
    \n )\n },\n)\n\nImageWrapper.displayName = 'Promo.ImageWrapper'\n\nconst ContentWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n \n
    {children}
    \n
    \n )\n})\n\nContentWrapper.displayName = 'Promo.ContentWrapper'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type, ...props }, ref) => (\n \n))\nTitle.displayName = 'Promo.Title'\n\nconst Description = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nDescription.displayName = 'Promo.Description'\n\nconst Cta = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCta.displayName = 'Promo.Cta'\n\nexport { Root, ImageWrapper, ContentWrapper, Title, Description, Cta }\n","export * as Promo from './promo'\n","export * as Tabs from './tabs'\n","export * as FullWidthFeature from './full-width-feature'\n","export * as Popover from './popover'\n","import { cn } from '@chaseweb/utils/cn'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { Children, forwardRef } from 'react'\nimport { Heading, CustomSvg } from '../../atoms'\nimport { Slot } from '@radix-ui/react-slot'\nimport * as SeparatorRadix from '@radix-ui/react-separator'\nimport type { VariantProps } from 'class-variance-authority'\nimport { cva } from 'class-variance-authority'\n\nconst Root = forwardRef>(\n ({ className, children, ...props }, ref) => {\n const childrenCount = Children.count(children)\n if (childrenCount !== 2) throw new Error('There should be 2 items')\n return (\n \n {children}\n \n )\n },\n)\nRoot.displayName = 'ComparisonList.Root'\n\nconst Item = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nItem.displayName = 'ComparisonList.Item'\n\nconst Header = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nHeader.displayName = 'ComparisonList.Header'\n\nconst ImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nImageWrapper.displayName = 'ComparisonList.ImageWrapper'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type, ...props }, ref) => (\n \n))\nTitle.displayName = 'ComparisonList.Title'\n\ninterface SeparatorProps extends SeparatorRadix.SeparatorProps {}\n\nconst Separator = forwardRef<\n ElementRef,\n SeparatorProps\n>(({ className, ...props }, ref) => (\n
    \n \n
    \n))\nSeparator.displayName = 'ComparisonList.Separator'\n\nconst Content = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nContent.displayName = 'ComparisonList.Content'\n\nconst Feature = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nFeature.displayName = 'ComparisonList.Feature'\n\nconst iconVariants = cva(\n 'tw-row-span-[1/3] tw-flex tw-w-8 tw-items-start tw-bg-no-repeat tw-text-grey40',\n {\n variants: {\n iconName: {\n tick: 'tw-text-blue30',\n },\n },\n },\n)\n\ninterface IconProps\n extends HTMLAttributes,\n VariantProps {}\n\nconst Icon = forwardRef(\n ({ className, iconName, children, ...props }, ref) => {\n return (\n \n {children}\n\n \n \n )\n },\n)\nIcon.displayName = 'ComparisonList.Icon'\n\nconst Label = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n
    \n {children}\n
    \n )\n },\n)\nLabel.displayName = 'ComparisonList.Label'\n\nconst TextWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n
    \n {children}\n
    \n )\n})\nTextWrapper.displayName = 'ComparisonList.TextWrapper'\n\nconst Legal = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nLegal.displayName = 'ComparisonList.Legal'\n\nconst Description = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n
    \n {children}\n
    \n )\n})\nDescription.displayName = 'ComparisonList.Description'\n\nexport {\n Root,\n Item,\n Header,\n ImageWrapper,\n Title,\n Separator,\n Content,\n Feature,\n TextWrapper,\n Description,\n Legal,\n Icon,\n Label,\n}\n","export * as ComparisonList from './comparison-list'\n","import type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport type { SvgType } from '@chaseweb/ui-library/src/atoms'\nimport { CustomSvg } from '@chaseweb/ui-library/src/atoms'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@chaseweb/utils/cn'\n\nexport type NotificationType =\n | 'neutral'\n | 'warning'\n | 'information'\n | 'redirect'\n | 'critical'\n | 'success'\n\nconst notificationVariants = cva(\n [\n 'tw-group/notification tw-relative tw-mb-4 tw-box-border tw-flex tw-w-full tw-flex-row tw-gap-2 tw-p-4 tw-text-sm lg:tw-p-6 lg:tw-text-base',\n ],\n {\n variants: {\n variant: {\n warning: ['tw-border-yellow70 tw-bg-yellow90'],\n information: ['tw-border-blue70 tw-bg-blue90'],\n neutral: ['tw-border-grey70 tw-bg-white'],\n critical: ['tw-border-red70 tw-bg-red90'],\n success: ['tw-border-green70 tw-bg-green90'],\n redirect: [\n 'tw-relative tw-top-0 tw-z-20 tw-mb-0 tw-bg-blue90 tw-transition-transform tw-duration-300',\n ],\n },\n show: {\n true: [],\n },\n },\n compoundVariants: [\n {\n variant: ['redirect'],\n show: true,\n class: 'tw-translate-y-0',\n },\n {\n variant: ['redirect'],\n show: false,\n class: '-tw-translate-y-full',\n },\n {\n variant: ['warning', 'information', 'neutral', 'critical', 'success'],\n show: true,\n class:\n 'tw-max-h-60 tw-rounded-lg tw-border-[1px] tw-opacity-100 lg:tw-rounded-2xl',\n },\n {\n variant: ['warning', 'information', 'neutral', 'critical', 'success'],\n show: false,\n class: 'tw-max-h-0 tw-opacity-0 tw-transition-all',\n },\n ],\n defaultVariants: {\n variant: 'information',\n show: true,\n },\n },\n)\n\nexport interface NotificationWidgetRootProps\n extends HTMLAttributes,\n VariantProps {\n variant: NotificationType\n show?: boolean\n}\n\nconst Root = forwardRef(\n (\n { children, variant, show, role = 'region', className, ...props },\n ref,\n ): React.JSX.Element | null => {\n return (\n \n {children}\n \n )\n },\n)\nRoot.displayName = 'NotificationWidget.Root'\n\nconst iconName: Partial> = {\n warning: 'WarningStatus',\n critical: 'ErrorStatus',\n information: 'InformationStatus',\n success: 'SuccessStatus',\n}\n\nconst notificationIconVariants = cva('tw-h-6', {\n variants: {\n variant: {\n warning: 'tw-text-orange50',\n critical: 'tw-text-red40',\n success: 'tw-text-green40',\n neutral: '',\n redirect: '',\n information: 'tw-text-blue30',\n },\n },\n})\n\nconst Icon = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n variant: NotificationType\n iconClassName?: string\n }\n>(({ children, className, iconClassName, variant, ...props }, ref) => {\n return (\n \n {children}\n {variant === 'redirect' && 🇺🇸}\n {variant !== 'redirect' &&\n variant !== 'neutral' &&\n !!iconName[variant] && (\n \n )}\n \n )\n})\nIcon.displayName = 'NotificationWidget.Icon'\n\nconst Title = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nTitle.displayName = 'NotificationWidget.Title'\n\nconst Text = forwardRef>(\n (props, ref) => {\n return
    \n },\n)\nText.displayName = 'NotificationWidget.Text'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nContent.displayName = 'NotificationWidget.Content'\n\nconst CloseButton = forwardRef<\n HTMLButtonElement,\n HTMLAttributes\n>(({ tabIndex, role = 'button', className, ...props }, ref) => {\n return (\n \n \n \n )\n})\nCloseButton.displayName = 'NotificationWidget.CloseButton'\n\nconst ActionButton = forwardRef<\n HTMLButtonElement,\n HTMLAttributes\n>(({ tabIndex, role = 'button', children, className, ...props }, ref) => {\n return (\n \n )\n})\nActionButton.displayName = 'NotificationWidget.ActionButton'\n\nexport { Root, Icon, Title, Text, Content, CloseButton, ActionButton }\n","export * as NotificationWidget from './notification-widget'\n","export * as Select from './select'\n","import { cn } from '@chaseweb/utils/cn'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { forwardRef } from 'react'\nimport { Heading } from '../../atoms'\nimport { Slot } from '@radix-ui/react-slot'\n\nconst Root = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n
    \n {children}\n
    \n )\n },\n)\nRoot.displayName = 'SummaryList.Root'\n\nconst Card = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n
    \n )\n },\n)\nCard.displayName = 'SummaryList.Card'\n\nconst ImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n})\nImageWrapper.displayName = 'SummaryList.ImageWrapper'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type, ...props }, ref) => (\n \n))\nTitle.displayName = 'SummaryList.Title'\n\nconst Content = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nContent.displayName = 'SummaryList.Content'\n\nconst Wrapper = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n },\n)\nWrapper.displayName = 'SummaryList.Wrapper'\n\nconst Item = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n
    \n {children}\n
    \n )\n },\n)\nItem.displayName = 'SummaryList.Item'\n\nconst Label = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n

    \n {children}\n

    \n )\n})\nLabel.displayName = 'SummaryList.Label'\n\nconst TextWrapper = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n})\nTextWrapper.displayName = 'SummaryList.TextWrapper'\n\nconst Value = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n})\nValue.displayName = 'SummaryList.Value'\n\nconst Description = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => {\n return (\n \n {children}\n \n )\n})\nDescription.displayName = 'SummaryList.Description'\n\nconst Disclaimer = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nDisclaimer.displayName = 'SummaryList.Disclaimer'\n\nexport {\n Root,\n Card,\n ImageWrapper,\n Title,\n Content,\n Wrapper,\n Item,\n Label,\n TextWrapper,\n Description,\n Value,\n Disclaimer,\n}\n","export * as SummaryList from './summary-list'\n","export * from './footer'\nexport * from './feature'\nexport * from './feature-text'\nexport * from './info-block'\nexport * from './logo-tile'\nexport * from './logo-tile-grid'\nexport * from './hero'\nexport * from './breadcrumb'\nexport * from './navigation'\nexport * from './header'\nexport * from './modal'\nexport * from './accordion'\nexport * from './card'\nexport * from './card-grid'\nexport * from './image-card'\nexport * from './editorial-card'\nexport * from './carousel'\nexport * from './article-tile'\nexport * from './promo'\nexport * from './tabs'\nexport * from './full-width-feature'\nexport * from './popover'\nexport * from './comparison-list'\nexport * from './notification-widget'\nexport * from './data-table'\nexport * from './select'\nexport * from './summary-list'\n","export default function imageLoader({ src, width }) {\n if (src.includes('preview-image')) {\n // when in preview, proxy images via next api.\n // add ?width to stop console warning\n return `${src}&w${width}`\n }\n if (src.includes('_next')) {\n // for staticially imported images or when bypassing the\n // add ?width to stop console warning\n return `${src}?${width}`\n }\n if (src.includes('?bypass-img-cdn')) {\n // for internal use to bypass optimised static images\n // add ?width to stop console warning\n return `${src}?${width}`\n }\n return `${src}/w-${width}.avif`\n}\n","'use client'\nimport { QRCode } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\nimport { useAttributionUrlLink } from '@chaseweb/utils/tracking/vendor'\n\nimport { useChaseEnv } from '@/lib/hooks'\n\nexport const DownloadQrCode = ({ className }: { className?: string }) => {\n const env = useChaseEnv()\n const attributionDownloadLink = useAttributionUrlLink({\n appsflyerLink: env?.openAppUrl ?? '',\n variant: 'download',\n sitePrefix: process.env.NEXT_PUBLIC_BASE_PATH\n ? process.env.NEXT_PUBLIC_BASE_PATH + '/'\n : '',\n })\n\n if (!env?.openAppUrl || !attributionDownloadLink) return null\n\n return (\n canvas]:!tw-h-full [&>canvas]:!tw-w-full [&>canvas]:tw-rounded-2xl',\n className,\n )}\n >\n \n \n )\n}\n","'use client'\n\nimport { AnimationGenericError } from '@chaseweb/ui-library/src/atoms/animation'\nimport { Suspense } from 'react'\n\nexport const GenericErrorAnimation = () => {\n return (\n \n \n \n )\n}\n","'use client'\n\nimport { AnimationError404 } from '@chaseweb/ui-library/src/atoms/animation'\nimport { Suspense } from 'react'\n\nexport const Error404Animation = () => {\n return (\n \n \n \n )\n}\n","'use client'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport type { KeyboardEvent, MouseEventHandler } from 'react'\n\nimport { useConsentStore } from '@/lib/stores'\n\nexport function ConsentModalLink({\n className,\n children,\n}: {\n readonly className?: string\n readonly children: string\n}) {\n const setCurrentStep = useConsentStore(({ setCurrentStep }) => setCurrentStep)\n\n const onClick: MouseEventHandler = (event) => {\n event.preventDefault()\n setCurrentStep(0)\n }\n const handleKeyPress = (event: KeyboardEvent) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n setCurrentStep(0)\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","import { useEffect, useState } from 'react'\n\nexport const useHasRehydrated = () => {\n const [hasRehydrated, setHasRehydrated] = useState(false)\n\n useEffect(() => {\n setHasRehydrated(true)\n }, [])\n\n return hasRehydrated\n}\n","export * from './split-redirect'\n","'use client'\nimport { getMarketingChannel, useSplitStore } from '@chaseweb/utils/split'\nimport {\n analytics,\n captureUtmParameters,\n fetchProspectId,\n MarketingPixelsFragment,\n} from '@chaseweb/utils/tracking'\nimport { useEffect, useState } from 'react'\n\nimport { useChaseEnv, usePageTitle } from '@/lib/hooks'\nimport { useConsentStore } from '@/lib/stores'\n\nimport { SplitRedirect } from './split-redirect'\n\nexport const Insights = () => {\n const env = useChaseEnv()\n const split = useSplitStore()\n const marketingChannel = getMarketingChannel()\n const [webProspectId, setWebProspectId] = useState(null)\n\n const consentInit = useConsentStore((store) => store.init)\n const consents = useConsentStore((store) => store.consents)\n const consentsCaptured = useConsentStore((store) => store.captured)\n\n useEffect(() => {\n captureUtmParameters()\n }, [])\n\n useEffect(() => {\n setWebProspectId(fetchProspectId())\n }, [setWebProspectId])\n\n useEffect(() => {\n consentInit()\n }, [consentInit])\n\n const pageTitle = usePageTitle()\n useEffect(() => {\n if (pageTitle) {\n analytics.trackPageView({ pageTitle })\n }\n }, [pageTitle])\n\n useEffect(() => {\n if (!env) return\n const {\n environment,\n buildVersion,\n mParticlePlanId,\n mParticlePlanVersion,\n mParticleApiKey,\n } = env\n\n if (\n webProspectId &&\n environment &&\n mParticlePlanId &&\n mParticleApiKey &&\n mParticlePlanVersion\n ) {\n analytics.init({\n environment: {\n environmentName: environment,\n appVersionBuild: buildVersion ?? 'dev',\n },\n mParticleConfig: {\n environment,\n apiKey: mParticleApiKey,\n webProspectId,\n dataPlanId: mParticlePlanId,\n dataPlanVersion: mParticlePlanVersion,\n },\n })\n }\n }, [env, webProspectId])\n\n useEffect(() => {\n if (consentsCaptured) {\n analytics.setConsents(consents)\n }\n }, [consents, consentsCaptured])\n\n useEffect(() => {\n if (env && webProspectId) {\n const { splitApiKey, splitProxyUrl } = env\n split.init({\n apiKey: splitApiKey,\n proxyUrl: splitProxyUrl ?? null,\n webProspectId,\n clientAttributes: {\n marketingChannel,\n },\n consentsCaptured: consentsCaptured,\n hasConsentToSendImpressions: consents.Analytical,\n })\n }\n }, [split, marketingChannel, webProspectId, env, consents, consentsCaptured])\n\n useEffect(() => {\n if (split && consentsCaptured) {\n split.updateCookieConsents({\n consentsCaptured,\n hasConsentToSendImpressions: consents.Analytical,\n })\n }\n }, [split, consents, consentsCaptured])\n\n return (\n <>\n \n \n \n )\n}\n","/**\n * Traverse any props.children to get their combined text content.\n *\n * This does not add whitespace for readability: `

    Hello world!

    `\n * yields `Hello world!` as expected, but `

    Hello

    world

    ` returns\n * `Helloworld`, just like https://mdn.io/Node/textContent does.\n *\n */\nexport const textContentFromJSX = (\n elem: string | React.JSX.Element | React.JSX.Element[] | undefined,\n): string => {\n if (!elem) {\n return ''\n }\n if (typeof elem === 'string') {\n return elem\n }\n if (elem instanceof Array) {\n return elem.map((item) => textContentFromJSX(item)).join()\n }\n\n const children = elem.props?.children\n if (children instanceof Array) {\n return children.map(textContentFromJSX).join('')\n }\n return textContentFromJSX(children)\n}\n","import { cn } from '@chaseweb/utils/cn'\nimport { DataTable } from '../../molecules/data-table'\nimport { textContentFromJSX } from '@chaseweb/utils/textContentFromJSX'\nimport type { ComponentPropsWithoutRef } from 'react'\nimport type React from 'react'\n\ntype stringOrElement = string | React.JSX.Element | React.JSX.Element[]\n\ninterface ResponsiveDataTableProps\n extends Omit, 'title'> {\n title?: stringOrElement\n description?: stringOrElement\n data: stringOrElement[][]\n footer?: stringOrElement\n hasColumnHeader?: boolean\n hasRowHeader?: boolean\n classNameTitle?: string\n classNameDescription?: string\n classNameFooter?: string\n classNameColumnHeader?: string\n classNameRowHeader?: string\n}\n\nexport const ResponsiveDataTable = ({\n data,\n hasColumnHeader,\n hasRowHeader,\n title,\n description,\n footer,\n classNameTitle,\n classNameDescription,\n classNameFooter,\n classNameColumnHeader,\n classNameRowHeader = '',\n ...props\n}: ResponsiveDataTableProps) => {\n const columnHeaderList = hasColumnHeader ? data[0] : undefined\n const bodyRowData = hasColumnHeader ? data.slice(1) : data\n const colsCount = data[0].length\n\n const rowHeaderColSize = colsCount <= 2 ? '' : `${100 / colsCount + 15}%`\n\n const desktopTable = (\n \n {columnHeaderList && (\n \n \n {columnHeaderList.map((cell, cellIndex) => (\n \n {cell}\n \n ))}\n \n \n )}\n \n {bodyRowData.map((row, rowIndex) => (\n \n {row.map((cell, index) =>\n index === 0 && hasRowHeader ? (\n \n {cell}\n \n ) : (\n \n {cell}\n \n ),\n )}\n \n ))}\n \n \n )\n\n const mobileTable = (\n \n \n {bodyRowData.map((row, rowIndex) =>\n row.map((cell, cellIndex) => {\n const textContent = textContentFromJSX(cell)\n const hasColumnHeaderTextContent = !!textContentFromJSX(\n columnHeaderList?.[cellIndex],\n )\n\n if (hasRowHeader && cellIndex === 0) {\n return (\n \n \n {cell}\n \n \n )\n }\n return (\n (!!textContent ||\n (!textContent && hasColumnHeaderTextContent)) && (\n td]:tw-pb-8':\n cellIndex + 1 === colsCount,\n },\n classNameRowHeader,\n )}\n key={`${textContent}${rowIndex}${cellIndex}`}\n >\n {hasColumnHeaderTextContent && (\n \n {columnHeaderList?.[cellIndex]}\n \n )}\n {cell}\n \n )\n )\n }),\n )}\n \n \n )\n\n return (\n \n {title && (\n {title}\n )}\n {description && (\n \n {description}\n \n )}\n {desktopTable}\n {mobileTable}\n {footer && (\n \n {footer}\n \n )}\n \n )\n}\n","export * from './responsive-data-table'\n","export * from './responsive-data-table'\n","export * from './atoms'\nexport * from './molecules'\nexport * from './organisms'\n","'use client'\nimport { Button, CustomSvg, Heading } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\nimport { analytics, PartialScreenInterfaceType } from '@chaseweb/utils/tracking'\nimport { trapFocus } from '@chaseweb/utils/trapFocus'\nimport { useEffect, useRef } from 'react'\n\nimport { AppStoreButton, DownloadQrCode } from '@/components'\n\nexport const DownloadPanel = ({\n toggleDownloadPanel,\n show,\n}: {\n toggleDownloadPanel: (ev?: unknown) => void\n show: boolean\n}) => {\n const containerRef = useRef(null)\n useEffect(() => {\n if (show && containerRef.current) {\n window.document.body.classList.add('ui-no-scroll')\n const dismissTrapFocus = trapFocus(containerRef.current)\n analytics.trackPartialScreen({\n partialScreenName: 'QRCodeSlide',\n interfaceType: PartialScreenInterfaceType.MODAL,\n })\n return () => {\n window.document.body.classList.remove('ui-no-scroll')\n dismissTrapFocus()\n }\n }\n }, [show])\n\n return (\n
    \n \n \n \n
    \n \n \n \n
    \n \n Scan. Tap. Open.\n \n
    \n

    \n Just scan the QR code to download the Chase app – and get one\n step closer to seeing what your money can do.\n

    \n

    \n 18+, UK residents.\n

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n )\n}\n","'use client'\nimport * as VisuallyHidden from '@radix-ui/react-visually-hidden'\n\nexport const Message = VisuallyHidden.Root\n","'use client'\n\nimport { forwardRef } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { CustomSvg } from '../svg'\nimport type { ReactNode } from 'react'\nimport type { ToastProps } from '@radix-ui/react-toast'\nimport * as ToastPrimitive from '@radix-ui/react-toast'\n\nexport interface ToastPropsPlus extends ToastProps {\n children?: ReactNode\n setShowToast: (Toast: boolean) => void\n showToast: boolean\n duration: number\n}\n\nconst Toast = forwardRef(\n ({ children, duration, setShowToast, showToast }, ref) => {\n return (\n \n {\n setShowToast(false)\n }}\n aria-live=\"polite\"\n duration={duration}\n className={cn(\n 'tw-fixed tw-bottom-4 tw-left-1/2 tw-w-[calc(100%_-_32px)] tw-max-w-[375px] -tw-translate-x-1/2',\n 'tw-flex tw-gap-2 tw-rounded-2xl tw-bg-grey10 tw-p-4 tw-text-white tw-shadow-toast',\n 'tw-z-50',\n {\n 'tw-animate-slideFadeInFromBottomMiddle': showToast,\n 'tw-animate-slideFadeOutToBottomMiddle': !showToast,\n },\n )}\n >\n \n {children}\n \n \n \n )\n },\n)\n\nToast.displayName = 'Toast'\n\nexport { Toast }\n","'use client'\n\nimport { useState, useEffect, forwardRef } from 'react'\nimport type { ElementRef, ComponentPropsWithoutRef } from 'react'\nimport { Button } from '../button'\nimport { CustomSvg } from '../svg'\nimport { cn } from '@chaseweb/utils/cn'\n\nexport const ScrollTopButton = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => {\n const [isVisible, setIsVisible] = useState(false)\n const [hasLoaded, setHasLoaded] = useState(false)\n\n useEffect(() => {\n let showScrollButton = false\n const isScrollToTopVisible = (): boolean => {\n return (\n typeof window !== 'undefined' && window.scrollY > window.innerHeight\n )\n }\n const checkScrollTop = () => {\n const callback = () => {\n const scrollVisible = isScrollToTopVisible()\n if (scrollVisible !== showScrollButton) {\n showScrollButton = scrollVisible\n setHasLoaded(true)\n setIsVisible(showScrollButton)\n }\n }\n window.requestAnimationFrame(callback)\n }\n\n window.addEventListener('scroll', checkScrollTop, false)\n checkScrollTop()\n return () => {\n window.removeEventListener('scroll', checkScrollTop, false)\n }\n }, [])\n\n const getFirstInteractiveElement = () => {\n // eslint-disable-next-line valid-typeof\n if (typeof document !== 'undefined') {\n return document.querySelector(\n 'main a[href]:not([disabled]), main button:not([disabled]), main textarea:not([disabled]), main input[type=\"text\"]:not([disabled]), main input[type=\"radio\"]:not([disabled]), main input[type=\"checkbox\"]:not([disabled]), main select:not([disabled])',\n ) as HTMLDivElement\n }\n }\n\n const firstInteractiveElement = getFirstInteractiveElement()\n\n const scrollTop = () => {\n if (firstInteractiveElement) {\n firstInteractiveElement?.focus({ preventScroll: true })\n }\n window.scrollTo({ top: 0, behavior: 'smooth' })\n }\n\n return (\n \n {children}\n \n \n )\n})\n\nScrollTopButton.displayName = 'ScrollTopButton'\n","import type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport type { VariantProps } from 'class-variance-authority'\nimport { cva } from 'class-variance-authority'\n\nexport type HeadingType = 'h1' | 'h2' | 'h3' | 'h4' | 'h5'\nexport type HeadingContext = 'pageTitle'\n\nconst headingVariants = cva('', {\n variants: {\n type: {\n h1: 'ui-h1',\n h2: 'ui-h2',\n h3: 'ui-h3',\n h4: 'ui-h4',\n h5: 'ui-h5',\n },\n context: {\n pageTitle: 'tw-mb-6 tw-mt-4 tw-text-primary lg:tw-mt-6',\n },\n },\n defaultVariants: {\n type: 'h1',\n },\n})\nexport interface HeadingProps\n extends HTMLAttributes,\n VariantProps {\n type: HeadingType\n as?: HeadingType\n context?: HeadingContext\n asChild?: boolean\n}\n\nconst Heading = forwardRef(\n ({ className, asChild, type, context, as, ...props }, ref) => {\n const Comp = asChild ? Slot : (as ?? type)\n return (\n \n )\n },\n)\nHeading.displayName = 'Heading'\n\nexport { Heading }\n","export * from './heading'\n","'use client'\n\nimport { Button } from '@chaseweb/ui-library/src'\nimport { useCallback, useEffect, useRef } from 'react'\n\nconst INTERACTIVE_ELEMENT_SELECTOR =\n 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled])'\n\nexport const SKIP_TO_CONTENT = 'Skip to main content'\n\nconst getFirstInteractiveContentElement = (): HTMLElement | null => {\n const contentContainer = document.querySelector(\n 'main, .breadcrumbs, .ui-Breadcrumb',\n )\n let firstInteractiveElement = contentContainer?.querySelector(\n INTERACTIVE_ELEMENT_SELECTOR,\n )\n if (!firstInteractiveElement) {\n const footer = document.querySelector('footer')\n firstInteractiveElement =\n footer?.querySelector(INTERACTIVE_ELEMENT_SELECTOR) ?? null\n }\n return firstInteractiveElement as HTMLElement\n}\n\nexport const SkipToMainContentButton = () => {\n const ref = useRef(null)\n\n const captureFirstTabEvent = useCallback<(e: KeyboardEvent) => void>(\n (e) => {\n if (\n e.key === 'Tab' &&\n document.activeElement === document.querySelector('body')\n ) {\n e.preventDefault()\n ref.current?.focus()\n }\n },\n [ref],\n )\n\n useEffect(() => {\n // on page load, even if the user has scrolled down or clicked elsewhere on the page,\n // make sure the first tab event causes this button to be focused.\n document.addEventListener('keydown', captureFirstTabEvent)\n return () => document.removeEventListener('keydown', captureFirstTabEvent)\n }, [captureFirstTabEvent])\n\n const handleSkipToMainContent = () => {\n const focusableElement = getFirstInteractiveContentElement()\n focusableElement && focusableElement.focus()\n }\n\n return (\n \n {SKIP_TO_CONTENT}\n \n )\n}\n","import { type RefObject } from 'react'\n\nexport const getOffsetTop = (elem: HTMLElement) => {\n let distance = 0\n if (elem?.offsetParent) {\n do {\n distance += elem.offsetTop\n elem = elem.offsetParent as HTMLElement\n } while (elem)\n }\n return distance < 0 ? 0 : distance\n}\n\nexport const updatePictureYTranslation = (\n pictureRef: RefObject,\n pictureWrapperRef: RefObject,\n factor?: number,\n) => {\n const calculateFrame = () => {\n if (pictureRef.current && pictureWrapperRef.current) {\n // The below calculations are based on this equation: yPos / (viewportHeight + imageViewport) === yTranslation / fullSizeImage * factor (0 - 10% being safest)\n // ie the distance travelled by the imageViewport within the viewport + height of the imageViewport itself should be proportional to the distance travelled by the imageViewport within the full size image (image background).\n\n const viewportHeight = window.innerHeight\n const fullSizeImage = pictureRef.current.offsetHeight\n const imageCoverage = factor ? factor / 100 : 0.1 // Defaults to 10% as it is a safe value\n\n // Get imageViewport (imageWrapper) height and position (absolute and relative to yScroll)\n const distanceToImageViewportTop =\n pictureWrapperRef.current.getBoundingClientRect().y\n const imageViewportHeight = pictureWrapperRef.current.offsetHeight\n const absoluteDistanceToImageViewportTop = getOffsetTop(\n pictureWrapperRef.current,\n )\n\n // If the image is above the fold, we need to offset the absolute distance to the top of the image viewport\n // This is to prevent the image from jumping on load\n /* istanbul ignore next - scrolling cannot be tested with jsdom */\n const yPos =\n absoluteDistanceToImageViewportTop < viewportHeight\n ? distanceToImageViewportTop - absoluteDistanceToImageViewportTop\n : distanceToImageViewportTop\n\n const yTranslation = Math.round(\n (yPos / (viewportHeight + imageViewportHeight)) *\n (fullSizeImage * imageCoverage),\n )\n\n if (pictureRef.current) {\n pictureRef.current.style.setProperty(\n 'transform',\n `translateY(${-yTranslation}px)`,\n )\n }\n }\n }\n window.requestAnimationFrame(calculateFrame)\n}\n","import type { RefObject } from 'react'\nimport { useEffect, useRef } from 'react'\n\nimport { updatePictureYTranslation } from './updatePictureYTranslation'\n\nexport interface UseParallaxImageArguments {\n applyParallax?: boolean\n factor?: number\n}\n\nexport const useParallaxImage = (\n applyParallax: UseParallaxImageArguments['applyParallax'] = true,\n factor?: number,\n): [RefObject, RefObject] => {\n const pictureRef = useRef(null) as RefObject\n const pictureWrapperRef = useRef(\n null,\n ) as RefObject\n\n useEffect(() => {\n if (applyParallax && pictureRef.current && pictureWrapperRef.current) {\n const isReduced = window.matchMedia(\n `(prefers-reduced-motion: reduce)`,\n ).matches\n if (isReduced) {\n return\n }\n const handleScroll = () => {\n updatePictureYTranslation(pictureRef, pictureWrapperRef, factor)\n }\n const checkVisibility: IntersectionObserverCallback = (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n window.addEventListener('scroll', handleScroll, false)\n } else {\n window.removeEventListener('scroll', handleScroll, false)\n }\n })\n }\n const options: IntersectionObserverInit = {\n rootMargin: '5px',\n threshold: [0],\n }\n const observer = new IntersectionObserver(checkVisibility, options)\n observer.observe(pictureWrapperRef.current)\n window.addEventListener('resize', handleScroll, false)\n\n return () => {\n window.removeEventListener('scroll', handleScroll, false)\n window.removeEventListener('resize', handleScroll, false)\n observer.disconnect()\n }\n }\n }, [])\n\n return [pictureRef, pictureWrapperRef]\n}\n","'use client'\n\nimport { forwardRef, useImperativeHandle } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n FC,\n HTMLAttributes,\n Ref,\n RefObject,\n} from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\nimport { useParallaxImage } from '@chaseweb/utils/useParallaxImage'\nimport { CardProfile } from '../../atoms'\n\nconst Root = forwardRef<\n HTMLElement,\n HTMLAttributes & {\n asChild?: boolean\n }\n>(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'section'\n return (\n \n )\n})\nRoot.displayName = 'FullWidthFeature.Root'\n\nconst ImageWrapper: FC<\n HTMLAttributes & {\n parallax?: boolean\n ref?: Ref\n }\n> = ({ children, parallax, ref, ...props }) => {\n const [pictureRef, pictureWrapperRef] = useParallaxImage(parallax, 20)\n /* istanbul ignore next - can't test refs easily in jest */\n useImperativeHandle(ref, () => pictureWrapperRef.current, [])\n return (\n \n }\n data-testid=\"full-width-image-wrapper\"\n className={cn(\n 'tw-absolute tw-left-0 tw-top-0 tw-h-full tw-w-full [&>*]:tw-absolute [&_*]:tw-w-full [&_*]:tw-object-cover md:[&_*]:tw-object-center',\n {\n '-tw-top-[10%] tw-h-[120%]': parallax,\n },\n )}\n >\n {children}\n \n \n )\n}\nImageWrapper.displayName = 'FullWidthFeature.ImageWrapper'\n\nconst Content = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => {\n return (\n
    \n \n {children}\n \n
    \n )\n})\nContent.displayName = 'FullWidthFeature.Content'\n\nexport { Root, ImageWrapper, Content }\n","/* eslint-disable no-prototype-builtins */\n/* eslint-disable @typescript-eslint/restrict-template-expressions */\nimport {\n fetchProspectId,\n getUtmParametersFromCookie,\n} from '@chaseweb/utils/tracking'\n\ninterface UrlGenerator {\n mediaSource: string\n campaign?: string\n afParams: object\n}\n\ninterface UrlGeneratorConfig {\n oneLinkURL: string\n pidKeysList: string[]\n pidStaticValue: string\n campaignKeysList: string[]\n campaignStaticValue: string\n pidOverrideList?: string[]\n gclIdParam?: string\n currentLocationUrl?: string\n}\nexport class OneLinkUrlGenerator implements UrlGenerator {\n mediaSource: string\n\n campaign?: string\n\n afParams: Record\n\n constructor(private readonly config: UrlGeneratorConfig) {\n const {\n pidKeysList,\n pidStaticValue,\n campaignKeysList,\n campaignStaticValue,\n pidOverrideList = [],\n } = config\n\n if (!this.oneLinkUrlIsValid()) {\n throw new Error('OneLinkUrlGenerator: oneLinkURL arg invalid')\n }\n\n this.campaign = getCampaignValue(campaignKeysList, campaignStaticValue)\n this.mediaSource = getMediaSourceValue(\n pidKeysList,\n pidStaticValue,\n pidOverrideList,\n )\n this.afParams = { af_js_web: 'true' }\n }\n\n private oneLinkUrlIsValid(): boolean {\n const { oneLinkURL } = this.config\n return typeof oneLinkURL !== 'undefined' && oneLinkURL.trim().length > 0\n }\n\n generateUrl() {\n const searchParamsUrl = new URLSearchParams()\n const webProspectId = fetchProspectId()\n if (typeof this.mediaSource !== 'undefined') {\n searchParamsUrl.append('pid', this.mediaSource)\n }\n\n if (typeof this.campaign !== 'undefined') {\n searchParamsUrl.append('c', this.campaign)\n }\n /* istanbul ignore next: legacy */\n if (webProspectId) {\n searchParamsUrl.append('web_prospect_id', webProspectId)\n }\n\n Object.entries(this.afParams).forEach(([key, value]) => {\n searchParamsUrl.append(key, value)\n })\n const { oneLinkURL } = this.config\n return `${oneLinkURL}?${searchParamsUrl}`\n }\n\n setChannel(channelParam: any, channelValue: any = null) {\n setGenericParameter(this.afParams, 'af_channel', channelParam, channelValue)\n }\n\n setAd(adParam: any, adValue: any = null) {\n setGenericParameter(this.afParams, 'af_ad', adParam, adValue)\n }\n\n setCustomParameter(searchKey: any, customKey: any, customValue: any = null) {\n setGenericParameter(this.afParams, customKey, searchKey, customValue)\n }\n}\nfunction getParameterFromURL(name: any) {\n const utmParams = getUtmParametersFromCookie()\n let urlValue = name\n const url = new URL(window.location.href)\n if (utmParams) {\n for (const [key] of Object.entries(utmParams)) {\n url.searchParams.append(key, utmParams[key])\n }\n }\n urlValue = urlValue.replace(/[[\\]]/g, '\\\\$&')\n const regex = new RegExp(`[?&]${urlValue}(=([^&#]*)|&|#|$)`)\n const results = regex.exec(url.toString())\n if (!results) return null\n return decodeURIComponent(results[2].replace(/\\+/g, ' '))\n}\n\nfunction getMediaSourceValue(\n pidKeysList: string[],\n pidStaticValue: any,\n pidOverrideList: any,\n) {\n let pidValue = null\n if (pidKeysList.length > 0) {\n for (const pidKey of pidKeysList) {\n if (pidKey !== null && getParameterFromURL(pidKey)) {\n pidValue = getParameterFromURL(pidKey)\n }\n }\n }\n\n if (pidValue !== null) {\n if (pidOverrideList.hasOwnProperty(pidValue)) {\n pidValue = pidOverrideList[pidValue]\n }\n } else {\n pidValue = pidStaticValue\n }\n return pidValue\n}\n\nfunction getCampaignValue(campaignKeysList: any, campaignStaticValue: any) {\n for (const campaignKey of campaignKeysList) {\n if (getParameterFromURL(campaignKey)) {\n return getParameterFromURL(campaignKey)\n }\n }\n\n if (campaignStaticValue) {\n return campaignStaticValue\n }\n return undefined\n}\n\nfunction setGenericParameter(\n afParams: any,\n oneLinkParam: any,\n searchKey: any,\n /* istanbul ignore next: legacy */\n newParamValue = null,\n) {\n const appsflyerParameter = afParams\n const searchKeyResult = getParameterFromURL(searchKey)\n if (searchKeyResult) {\n appsflyerParameter[oneLinkParam] = searchKeyResult\n } else if (newParamValue !== null) {\n appsflyerParameter[oneLinkParam] = newParamValue\n }\n}\n","import * as appsflyer from './appsflyerOnelinkSmartScript'\n\nconst AF_WEB_DP = 'af_web_dp'\nconst APPSTORE_REDIRECT = 'https://apps.apple.com/GB/app/id1517121245?mt=8'\nconst PLAYSTORE_REDIRECT =\n 'https://play.google.com/store/apps/details?id=com.chase.intl&hl=en_GB&gl=US'\n\nexport const SEARCH_ENGINES: Record = {\n Google: 'WWW.GOOGLE',\n Bing: 'WWW.BING',\n YahooUK: 'UK.SEARCH.YAHOO.COM',\n Duckduckgo: 'DUCKDUCKGO.COM',\n Yahoo: 'SEARCH.YAHOO.COM',\n Ecosia: 'ECOSIA.ORG',\n AOL: 'SEARCH.AOL',\n}\n\nconst getReferrerDetails = () => {\n const { referrer } = document\n if (referrer) {\n const name = Object.keys(SEARCH_ENGINES).find(\n (value) =>\n referrer.toUpperCase().includes(SEARCH_ENGINES[value]) && value,\n )\n return name\n ? {\n pid: 'Organic Search',\n channel: 'Organic Search',\n c: name,\n ad: referrer,\n }\n : {\n pid: 'organicwebsite',\n channel: 'Referring Domain',\n ad: referrer,\n }\n }\n}\n\nexport const generateOneLinkUrl = (\n oneLinkURL: string,\n variant?: string,\n sitePrefix?: string,\n): string => {\n if (typeof window !== 'undefined' && window) {\n const { pid, channel, c, ad } = getReferrerDetails() ?? {\n channel: 'organicwebsite-no referrer/UTM',\n }\n const onelinkGenerator = new appsflyer.OneLinkUrlGenerator({\n oneLinkURL,\n pidKeysList: ['utm_source', 'pid'],\n campaignKeysList: ['utm_campaign', 'c'],\n pidStaticValue: pid ?? 'organicwebsite',\n campaignStaticValue: c ?? (variant ? `website${variant}` : 'website'),\n })\n onelinkGenerator.setChannel('utm_medium', channel)\n onelinkGenerator.setChannel('af_channel')\n onelinkGenerator.setAd('utm_content', ad)\n onelinkGenerator.setAd('af_ad')\n onelinkGenerator.setCustomParameter('utm_term', 'af_keywords')\n onelinkGenerator.setCustomParameter('af_keywords', 'af_keywords')\n onelinkGenerator.setCustomParameter('af_xp', 'af_xp')\n onelinkGenerator.setCustomParameter('af_sub1', 'af_sub1')\n onelinkGenerator.setCustomParameter('ranMID', 'ranMID')\n onelinkGenerator.setCustomParameter('af_adset_id', 'af_adset_id')\n onelinkGenerator.setCustomParameter('af_sub_siteID', 'af_sub_siteID')\n onelinkGenerator.setCustomParameter('ranSiteID', 'ranSiteID')\n onelinkGenerator.setCustomParameter(\n 'af_click_lookback',\n 'af_click_lookback',\n )\n onelinkGenerator.setCustomParameter('ranEAID', 'ranEAID')\n onelinkGenerator.setCustomParameter('clickid', 'clickid')\n onelinkGenerator.setCustomParameter('af_siteid', 'af_siteid')\n switch (variant) {\n case 'download':\n onelinkGenerator.setCustomParameter(\n '',\n AF_WEB_DP,\n `${window.location.origin}/${sitePrefix ?? ''}download/`,\n )\n break\n case 'download-affiliates':\n onelinkGenerator.setCustomParameter(\n '',\n AF_WEB_DP,\n `${window.location.origin}/${sitePrefix ?? ''}download-affiliates/`,\n )\n break\n case 'appstore':\n onelinkGenerator.setCustomParameter('', AF_WEB_DP, APPSTORE_REDIRECT)\n onelinkGenerator.setCustomParameter(\n '',\n 'af_android_url',\n APPSTORE_REDIRECT,\n )\n break\n case 'playstore':\n onelinkGenerator.setCustomParameter('', AF_WEB_DP, PLAYSTORE_REDIRECT)\n onelinkGenerator.setCustomParameter(\n '',\n 'af_ios_url',\n PLAYSTORE_REDIRECT,\n )\n break\n default:\n break\n }\n return onelinkGenerator.generateUrl()\n }\n /* istanbul ignore next - edge case for window=undefined */\n return oneLinkURL\n}\n","import { generateOneLinkUrl } from './appsflyerScript'\n\nexport const getOrigUrl = (search?: string, href?: string): string => {\n if (search) {\n const searchParamsUrl = new URLSearchParams(search)\n return searchParamsUrl.get('orig_url') as string\n }\n if (href) {\n return href\n }\n return ''\n}\n\nexport const createAttributionLink = (\n attributionUrl: string,\n variant?: AttributionLinkVariant,\n origUrl?: string,\n sitePrefix?: string,\n): string => {\n const oneLinkUrl = generateOneLinkUrl(attributionUrl, variant, sitePrefix)\n const urlObj = new URL(oneLinkUrl)\n const { searchParams } = urlObj\n /* istanbul ignore else: legacy */\n if (origUrl) {\n searchParams.append('orig_url', origUrl)\n }\n return urlObj.toString()\n}\n\nexport type AttributionLinkVariant =\n | 'download'\n | 'download-affiliates'\n | 'appstore'\n | 'playstore'\n | undefined\n","'use client'\nimport { useEffect, useState } from 'react'\nimport type { AttributionLinkVariant } from './createAttributionLink'\nimport { createAttributionLink, getOrigUrl } from './createAttributionLink'\n\n/**\n * @deprecated Use the `useAttributionUrlLink()` instead\n */\nexport const useAttributionLink = (\n appsflyerLink: string,\n search?: string,\n href?: string,\n variant?: AttributionLinkVariant,\n sitePrefix?: string,\n) => {\n const [appDownloadLink, setAppDownloadLink] = useState('')\n\n useEffect(() => {\n if (appsflyerLink) {\n const origUrl = getOrigUrl(search, href)\n const link = createAttributionLink(\n appsflyerLink,\n variant,\n origUrl,\n sitePrefix,\n )\n setAppDownloadLink(link)\n }\n }, [href, search, appsflyerLink, variant, sitePrefix])\n\n return appDownloadLink\n}\n\n/**\n * @TODO: copy code from useAttributionLink when gatsby is deprecated\n */\nexport const useAttributionUrlLink = ({\n appsflyerLink,\n search,\n href,\n variant,\n sitePrefix,\n}: {\n appsflyerLink: string\n search?: string\n href?: string\n variant?: AttributionLinkVariant\n sitePrefix?: string\n}) => {\n return useAttributionLink(\n appsflyerLink,\n search,\n href,\n variant,\n sitePrefix,\n ) as `http${string}`\n}\n","export * from './appsflyerScript'\nexport * from './useAttributionLink'\n","import type {\n ComponentPropsWithoutRef,\n DetailedHTMLProps,\n ElementRef,\n HTMLAttributes,\n ThHTMLAttributes,\n} from 'react'\nimport { forwardRef } from 'react'\nimport { Heading } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst Root = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nRoot.displayName = 'DataTable.Root'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type = 'h2', ...props }, ref) => (\n \n))\nTitle.displayName = 'DataTable.Title'\n\nconst Description = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nDescription.displayName = 'DataTable.Description'\n\nconst Container = forwardRef<\n HTMLTableElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n \n \n))\nContainer.displayName = 'DataTable.Container'\n\nconst Header = forwardRef<\n HTMLTableSectionElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n))\nHeader.displayName = 'DataTable.Header'\n\nconst Body = forwardRef<\n HTMLTableSectionElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n))\nBody.displayName = 'DataTable.Body'\n\nconst ColumnHeaderCell = forwardRef<\n HTMLTableCellElement,\n DetailedHTMLProps<\n ThHTMLAttributes,\n HTMLTableCellElement\n > & {\n 'data-component'?: string\n }\n>(({ className, 'data-component': dataComponent, ...props }, ref) => (\n \n))\nColumnHeaderCell.displayName = 'DataTable.ColumnHeaderCell'\n\nconst RowHeaderCell = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ ...props }, ref) => (\n \n))\nRowHeaderCell.displayName = 'DataTable.RowHeaderCell'\n\nconst rowVariants = cva('tw-border-grey70 [&:not(:first-child)]:tw-border-t', {\n variants: {\n isHeader: {\n true: 'tw-bg-grey90',\n },\n },\n defaultVariants: {\n isHeader: false,\n },\n})\n\ninterface RowProps\n extends HTMLAttributes,\n VariantProps {}\n\nconst Row = forwardRef(\n ({ className, isHeader, ...props }, ref) => (\n \n ),\n)\nRow.displayName = 'DataTable.Row'\n\nconst Cell = forwardRef<\n HTMLTableCellElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n \n))\nCell.displayName = 'DataTable.Cell'\n\nconst Footer = forwardRef<\n HTMLTableRowElement,\n HTMLAttributes\n>(({ className, children, ...props }, ref) => (\n \n {children}\n \n))\nFooter.displayName = 'DataTable.Footer'\n\nexport {\n Root,\n Title,\n Description,\n Container,\n Header,\n Body,\n ColumnHeaderCell,\n RowHeaderCell,\n Row,\n Cell,\n Footer,\n}\n","export * as DataTable from './data-table'\n","import type { HeadingType } from '@chaseweb/ui-library/src'\nimport { Heading, Prose, ResponsiveDataTable } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\nimport type {\n DOMNode,\n Element,\n HTMLReactParserOptions,\n Text,\n} from 'html-react-parser'\nimport parseHtml, { domToReact } from 'html-react-parser'\n\nimport { DocumentDetails, PageAnchor, StyledLink } from '@/components'\nimport type { RelativePathOrHrefExternalType } from '@/types'\n\nimport { InlineFeatureFlag } from './components/inline-feature-flag/inline-feature-flag'\n\nexport const isElement = (el?: DOMNode): el is Element => el?.nodeType === 1\nexport const isText = (el?: DOMNode): el is Text => el?.nodeType === 3\nconst extractText = (\n element: string | React.JSX.Element[] | React.JSX.Element | undefined,\n): string => {\n if (typeof element == 'string') return element\n if (Array.isArray(element)) {\n return element\n .map((item: React.JSX.Element | string) =>\n typeof item === 'string' ? item : extractText(item.props.children),\n )\n .join('')\n }\n return ''\n}\n\ntype ReplaceMapType = {\n replaceh4h6TagsWithSmallGreyText?: boolean\n useH1PageTitle?: boolean\n}\nexport type StringOrElementType =\n | string\n | React.JSX.Element\n | React.JSX.Element[]\n\nexport type ParseContentOtionsType = HTMLReactParserOptions & ReplaceMapType\n\nexport const parseContent = (\n content: string,\n options?: ParseContentOtionsType,\n): StringOrElementType => {\n const parseOptions = {\n replace: options?.replace ?? defaultContentReplace(options),\n trim: options?.trim ?? true,\n }\n\n const cleanHtmlText = content\n .replaceAll(/>(  ?|\\s)+?<')\n .replaceAll(/([^\\s| ]) ([^\\s| ])/g, '$1 $2')\n .replaceAll(/<(p|b|i|tbody)><\\/\\1>/g, '')\n return parseHtml(cleanHtmlText, parseOptions)\n}\n\nexport const defaultContentReplace = (\n replaceMap: ReplaceMapType = {},\n // eslint-disable-next-line sonarjs/cognitive-complexity\n) => {\n const { replaceh4h6TagsWithSmallGreyText, useH1PageTitle } = {\n replaceh4h6TagsWithSmallGreyText: false,\n ...replaceMap,\n }\n // eslint-disable-next-line sonarjs/cognitive-complexity\n return function defaultReplace(\n domNode: DOMNode,\n ): React.JSX.Element | undefined {\n if (isText(domNode)) {\n return domNode.data as unknown as React.JSX.Element\n }\n if (isElement(domNode)) {\n if (domNode.name === 'a') {\n const children = domNode.children as DOMNode[]\n const target =\n domNode.attribs.target === '_blank' ? '_blank' : undefined\n const href = domNode.attribs.href as string | undefined\n if (!href) return\n\n const lastPathSegment = href.split('/').at(-1) as string\n let linkHref = href\n if (\n href.startsWith('/') &&\n !/\\.\\S{1,4}$/.test(lastPathSegment) &&\n !href.endsWith('/')\n ) {\n linkHref = `${linkHref}/`\n }\n\n let text = extractText(domToReact(children))\n if (text === 'Download as PDF') {\n return (\n \n )\n }\n\n const options = {\n asButton: false,\n mobileOnly: false,\n }\n if (text.includes('{button}')) {\n text = text.replace('{button}', '')\n options.asButton = true\n }\n if (text.includes('{mobile}')) {\n text = text.replace('{mobile}', '')\n options.mobileOnly = true\n }\n\n return (\n \n {text}\n \n )\n }\n\n // This hacky solution and its specific state should only be applied to the components used by the product pages\n // where h4/h6 tags should be displayed as small grey text\n // This has been agreed with the AEM/Content teams\n // https://jira.dynamo.prd.aws.jpmchase.net/browse/DYN-528272\n if (\n replaceh4h6TagsWithSmallGreyText &&\n ['h4', 'h6'].includes(domNode.name)\n ) {\n const children = domNode.children as DOMNode[]\n return (\n

    \n {/* Need to recursively loop over children as may contain nested links */}\n {Array.from(children).map(defaultReplace)}\n

    \n )\n }\n if (['h1', 'h2', 'h3', 'h4', 'h5'].includes(domNode.name)) {\n const children = domNode.children as DOMNode[]\n\n const id = extractText(domToReact(children))\n\n return (\n \n \n {domToReact(children)}\n \n \n )\n }\n if (['h6'].includes(domNode.name)) {\n throw new Error('h6 is not in the Design System')\n }\n if (['sub'].includes(domNode.name)) {\n const children = domNode.children as DOMNode[]\n return (\n

    \n {Array.from(children).map(defaultReplace)}\n

    \n )\n }\n if (['table'].includes(domNode.name)) {\n const tableData: ParsedResonsiveTable = {\n data: [],\n hasColumnHeader: true,\n }\n let colsCount = 0\n const transformTable = (element: Element) => {\n if (element.children) {\n if (element.name === 'tr') {\n tableData.data.push([])\n if (colsCount === 0 && element.nextSibling) {\n let sibling: Element = element.nextSibling as Element\n while (sibling && sibling.children.length <= 1) {\n sibling = sibling.nextSibling as Element\n }\n colsCount = sibling?.children.length ?? 0\n }\n }\n if (['td', 'th'].includes(element.name)) {\n const childrenCompiled = domToReact(\n element['children'] as DOMNode[],\n {\n replace: defaultContentReplace(),\n },\n )\n if (+element.attribs.colspan === colsCount) {\n const nodeChildrenList = [...element.children] as DOMNode[]\n while (nodeChildrenList.length) {\n const child = nodeChildrenList.pop()\n if (isElement(child)) {\n if (\n child.name === 'b' &&\n child.next === null &&\n child.prev === null\n ) {\n tableData.data.pop()\n tableData.title = domToReact(\n child.children as DOMNode[],\n {\n replace: defaultContentReplace(),\n },\n )\n return\n }\n if (child.children) {\n nodeChildrenList.push(...(child.children as DOMNode[]))\n }\n }\n }\n if (!element.parent?.next) {\n tableData.data.pop()\n tableData.footer = childrenCompiled\n return\n }\n tableData.data.pop()\n tableData.description = childrenCompiled\n return\n }\n\n if (\n tableData.data.length === 1 &&\n tableData.data[0].length === 0 &&\n element.children.length === 0\n ) {\n tableData.hasRowHeader = true\n }\n\n tableData.data[tableData.data.length - 1].push(childrenCompiled)\n return\n }\n for (const child of element.children) {\n transformTable(child as Element)\n }\n }\n }\n transformTable(domNode)\n const classNameContainerArticle = 'tw-container-article'\n return (\n *]:tw-mt-0 last:[&_td>*]:tw-mb-0 first:[&_th>*]:tw-mt-0 last:[&_th>*]:tw-mb-0\">\n \n \n )\n }\n if (['inline-feature-flag'].includes(domNode.name)) {\n const flagNameAttrib = domNode.attribs['flagName']\n const controlValue = extractText(\n domToReact(domNode.children as DOMNode[]),\n )\n return (\n \n {controlValue}\n \n )\n }\n }\n }\n}\n\ntype stringOrElement = string | React.JSX.Element | React.JSX.Element[]\nexport interface ParsedResonsiveTable {\n title?: stringOrElement\n description?: stringOrElement\n data: Array>\n footer?: stringOrElement\n hasColumnHeader?: boolean\n hasRowHeader?: boolean\n}\n","export * from './parseContent'\n","import { lazy } from 'react'\n\n/**\n * Warning. Before you try to restructure this code, know that\n * a lot of time was spent to make sure the code-splitting in nextjs was working properly.\n *\n * The json animation files are very very large and cause easily causes the JS bundle to be 5Mb+\n * if the code splitting does not work. The app will still copile and run, but wimth a huge bundle.\n *\n * Triple check this is not happening in the production build if you change any of the patterns here.\n */\n\nexport const AnimationError404 = lazy(\n async () => await import('./animations/error-404'),\n)\n\nexport const AnimationGenericError = lazy(\n async () => await import('./animations/generic-error'),\n)\n\nexport const AnimationPhonePermissions = lazy(\n async () => await import('./animations/phone-permissions'),\n)\n","'use client'\nimport { createContext, forwardRef, useContext } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n RefObject,\n} from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Button } from '../../atoms/button'\nimport { Heading } from '../../atoms/heading'\n\ntype InfoBlockVariantType = 'primary' | 'secondary' | 'tertiary'\n\nconst InfoBlockContext = createContext('primary')\n\nconst rootVariants = cva(\n 'tw-flex tw-flex-col tw-gap-2 tw-rounded-2xl tw-p-6 md:tw-flex-row md:tw-gap-6 md:tw-p-10 lg:tw-rounded-3xl lg:tw-p-12',\n {\n variants: {\n variant: {\n primary: 'tw-bg-blue90',\n secondary: 'tw-bg-grey90',\n tertiary: 'tw-py-0 md:tw-py-0 lg:tw-py-0',\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n },\n)\n\ninterface RootProps\n extends HTMLAttributes,\n VariantProps {\n variant?: InfoBlockVariantType\n asChild?: boolean\n 'data-testid'?: string\n}\n\nconst Root = forwardRef(\n (\n {\n className,\n asChild,\n 'data-testid': dataTestId = 'info-block-root',\n variant = 'primary',\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n \n \n )\n },\n)\nRoot.displayName = 'InfoBlock.Root'\n\ninterface ImageWrapperProps extends HTMLAttributes {\n asChild?: boolean\n ref?: RefObject\n}\nconst ImageWrapper = ({\n className,\n asChild,\n ref,\n ...props\n}: ImageWrapperProps) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n}\nImageWrapper.displayName = 'InfoBlock.ImageWrapper'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nContent.displayName = 'InfoBlock.Content'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, as = 'h2', type = 'h3', ...props }, ref) => (\n \n))\nTitle.displayName = 'InfoBlock.Title'\n\nconst Description = forwardRef>(\n ({ className, ...props }, ref) => (\n
    \n ),\n)\nDescription.displayName = 'InfoBlock.Description'\n\nconst Cta = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n const infoBlockContext = useContext(InfoBlockContext)\n const ctaVariant =\n infoBlockContext === 'tertiary' ? 'secondary' : infoBlockContext\n\n return (\n \n )\n})\nCta.displayName = 'InfoBlock.Cta'\n\nexport { Root, Content, ImageWrapper, Title, Description, Cta }\n","'use client'\n\nimport {\n createContext,\n useContext,\n useState,\n useMemo,\n useRef,\n useEffect,\n} from 'react'\nimport type {\n ReactNode,\n FC,\n Dispatch,\n SetStateAction,\n MutableRefObject,\n} from 'react'\n\ntype MaxPageSizeType = 1 | 2 | 3 | 4\n\ninterface CarouselContextProps {\n variant: 'fullwidth' | 'background' | 'contained' | 'custom'\n maxPageSize: MaxPageSizeType\n setMaxPageSize: Dispatch>\n contentRefList: MutableRefObject\n containerRef: MutableRefObject\n childrenCount: number\n setChildrenCount: Dispatch>\n pageCount: number\n setPageCount: Dispatch>\n pageSize: number\n setPageSize: Dispatch>\n currentPage: number\n setCurrentPage: Dispatch>\n}\n\nconst NotImplementedErrorMsg = 'Function not implemented.'\n\nexport const CarouselContext = createContext({\n variant: 'fullwidth',\n maxPageSize: 3,\n setMaxPageSize: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n contentRefList: { current: [] },\n containerRef: { current: null },\n childrenCount: 0,\n setChildrenCount: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n pageCount: 0,\n setPageCount: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n pageSize: 0,\n setPageSize: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n currentPage: 0,\n setCurrentPage: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n})\n\nexport const useCarouselContext = () => useContext(CarouselContext)\n\nexport const CarouselContextProvider: FC<{\n variant: 'fullwidth' | 'background' | 'contained' | 'custom'\n maxPageSize: MaxPageSizeType\n children?: ReactNode | ReactNode[]\n currentPage?: number\n pageSize?: number\n pageCount?: number\n childrenCount?: number\n contentRefList?: HTMLLIElement[]\n containerRef?: HTMLUListElement\n}> = (props) => {\n const [pageCount, setPageCount] = useState(props.pageCount ?? 1)\n const [currentPage, setCurrentPage] = useState(props.currentPage ?? 0)\n const [pageSize, setPageSize] = useState(props.pageSize ?? 0)\n const [maxPageSize, setMaxPageSize] = useState(\n props.maxPageSize,\n )\n const [childrenCount, setChildrenCount] = useState(\n props.childrenCount ?? 0,\n )\n const contentRefList = useRef(props.contentRefList ?? [])\n const containerRef = useRef(\n props.containerRef ?? null,\n )\n\n useEffect(() => {\n if (pageSize && containerRef.current) {\n const widthItem = contentRefList.current[0].clientWidth\n\n const scrollPosition = widthItem * pageSize * currentPage\n containerRef.current.scrollTo({\n left: window.innerWidth < 768 ? scrollPosition - 36 : scrollPosition,\n behavior: 'smooth',\n })\n }\n }, [currentPage, pageSize])\n\n const contextValue = useMemo(\n () => ({\n variant: props.variant,\n maxPageSize,\n setMaxPageSize,\n contentRefList,\n containerRef,\n childrenCount,\n setChildrenCount,\n pageCount,\n setPageCount,\n pageSize,\n setPageSize,\n currentPage,\n setCurrentPage,\n }),\n [props.variant, maxPageSize, pageCount, currentPage, childrenCount],\n )\n\n return (\n \n {props.children}\n \n )\n}\n","/* eslint-disable sonarjs/cognitive-complexity */\n\n'use client'\nimport { forwardRef, useState, useRef, useLayoutEffect, useEffect } from 'react'\nimport type { HTMLAttributes } from 'react'\nimport parse from 'html-react-parser'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Button, CustomSvg } from '../../atoms'\n\nconst Wrapper = forwardRef>(\n ({ className, children, content, ...props }, ref) => {\n return (\n
    \n {children}\n
    \n )\n },\n)\n\nWrapper.displayName = 'Popover.Wrapper'\n\nconst Trigger = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n children: string\n }\n>(({ className, children, content, ...props }, ref) => {\n const [show, setShow] = useState(false)\n const tooltipRef = useRef(null)\n const triggerRef = useRef(null)\n const rightMarkerRef = useRef(null)\n const [topOffset, setTopOffset] = useState(0)\n const [leftOffset, setLeftOffset] = useState(0)\n const [arrowLeftOffset, setArrowLeftOffset] = useState(0)\n const [lastWindowResizeEvent, setLastWindowResizeEvent] = useState()\n\n const markedUpString = children\n .replace(/(\\w+)/g, '$&')\n .replace('> <', '> <')\n const markedUpNode = parse(markedUpString)\n\n const positionTooltip = (\n parentElement: HTMLElement,\n triggerElement: HTMLElement,\n tooltipElement: HTMLElement,\n ) => {\n // Get parent padding\n const computedParent = getComputedStyle(parentElement)\n const parentLeftPadding = parseFloat(computedParent.paddingLeft)\n\n // Get parent width (no margin, no padding)\n const parentWidth = Math.ceil(parentElement.getBoundingClientRect().width)\n\n // Get tooltip width\n const tooltipWidth = Math.ceil(tooltipElement.getBoundingClientRect().width)\n\n // Calculate tooltip top offset in relation to trigger text position and parent top edge\n const triggerTextYPos = triggerElement.offsetTop\n const tooltipHeight = tooltipElement.clientHeight\n const topOffsetValue = triggerTextYPos - tooltipHeight - 4\n\n // Collect all triggerText spans from the first line\n // Ignore right marker and parent span\n // Total up the spans width\n const triggerTextSpanArray = [\n ...triggerElement.getElementsByClassName('trigger-word'),\n ]\n const lastTriggerTextWord = triggerTextSpanArray.filter((span: any) => {\n return span.offsetTop === triggerTextYPos\n })\n const firstLineTriggerWidth = lastTriggerTextWord.reduce(\n (acc, span) => acc + Math.ceil(span.getBoundingClientRect().width),\n 0,\n )\n\n // Calculate tooltip left offset in relation to trigger text position and parent left edge\n const triggerTextLeftXPos = triggerElement.offsetLeft\n\n // Get initial left offset value when tooltip is centered align over the trigger text\n /* istanbul ignore next - cannot test width in jsdom */\n const initialLeftOffset =\n triggerTextLeftXPos - tooltipWidth / 2 + firstLineTriggerWidth / 2\n\n let leftOffsetValue = 0\n let arrowLeftOffsetValue = 0\n\n // Final tooltip positioning\n // If tooltip goes over the parent left edge (minus padding), left-align it with the parent\n /* istanbul ignore next - cannot test width in jsdom */\n if (initialLeftOffset - parentLeftPadding < 0) {\n leftOffsetValue = parentLeftPadding\n\n // Position the arrow over the middle of the trigger text (first line if wrapper or whole line if not)\n arrowLeftOffsetValue =\n triggerTextLeftXPos - parentLeftPadding + firstLineTriggerWidth / 2 - 6\n }\n // If tooltip goes over the parent right edge (minus padding), right-align it with the parent\n else if (\n initialLeftOffset - parentLeftPadding + tooltipWidth >\n parentWidth\n ) {\n leftOffsetValue = parentWidth + parentLeftPadding - tooltipWidth\n\n // Position the arrow over the middle of the trigger text (first line if wrapper or whole line if not)\n arrowLeftOffsetValue =\n tooltipWidth -\n (parentWidth - triggerTextLeftXPos + parentLeftPadding) +\n firstLineTriggerWidth / 2 -\n 6\n } else {\n leftOffsetValue = initialLeftOffset\n\n // Position the arrow over the middle of the trigger text\n arrowLeftOffsetValue = tooltipWidth / 2 - 6\n }\n\n // Set Tooltip body width, topOffset and leftOfset values in state\n setTopOffset(() => topOffsetValue)\n setLeftOffset(() => leftOffsetValue)\n setArrowLeftOffset(arrowLeftOffsetValue)\n }\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n triggerRef.current &&\n !triggerRef.current.contains(event.target as HTMLInputElement)\n ) {\n setShow(false)\n }\n }\n document.addEventListener('click', handleClickOutside)\n return () => {\n document.removeEventListener('click', handleClickOutside)\n }\n }, [triggerRef])\n\n useEffect(() => {\n const handlePressEnter = (event: KeyboardEvent) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n triggerRef.current?.click()\n }\n }\n if (triggerRef.current && !show) {\n triggerRef.current.addEventListener('keypress', handlePressEnter)\n return () => {\n triggerRef.current?.addEventListener('keypress', handlePressEnter)\n }\n }\n }, [triggerRef, show])\n\n useEffect(() => {\n const handleResize = (e: UIEvent) => {\n setLastWindowResizeEvent(e)\n }\n window.addEventListener('resize', handleResize)\n\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n useLayoutEffect(() => {\n const parentElement = tooltipRef.current?.parentElement\n const triggerElement = triggerRef.current\n const tooltipElement = tooltipRef.current\n if (parentElement && triggerElement && tooltipElement) {\n positionTooltip(parentElement, triggerElement, tooltipElement)\n }\n }, [lastWindowResizeEvent])\n\n return (\n <>\n \n {\n setShow(!show)\n }}\n aria-label=\"Toggle popover\"\n >\n

    \n {/* Adding 'tw-bg-[length:5px_1.5px]' at the end as it is not supported by tw-merge */}\n \n {markedUpNode}\n \n\n \n \n

    \n \n
    \n \n \n {content}\n \n {\n setShow(false)\n }}\n className={cn(\n 'tw-min-w-max tw-self-baseline',\n 'focus-visible:tw-outline-none focus-visible:tw-ring-2 focus-visible:tw-ring-focusRing',\n )}\n aria-label=\"Close popover\"\n tabIndex={show ? 0 : -1}\n >\n \n \n \n \n \n )\n})\n\nTrigger.displayName = 'Popover.Trigger'\n\nexport { Wrapper, Trigger }\n","export const motionValues = {\n easing: {\n standard: [0.4, 0.0, 0.2, 1.0],\n sharp: [0.4, 0.0, 0.6, 1.0],\n },\n duration: {\n fast3: 0.1,\n moderate4: 0.3,\n },\n}\n","'use client'\nimport { m, LazyMotion, domAnimation } from 'framer-motion'\nimport { motionValues } from '@chaseweb/tailwindconfig/motion'\nimport type {\n ElementRef,\n ComponentPropsWithoutRef,\n ReactNode,\n HTMLAttributes,\n} from 'react'\nimport {\n Children,\n forwardRef,\n useRef,\n useEffect,\n useCallback,\n useState,\n} from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { cn } from '@chaseweb/utils/cn'\nimport { CustomSvg } from '../../atoms'\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\n\nexport type ModalType = 'fullPage' | 'bottomAnchored'\n\nconst Root = DialogPrimitive.Root\nRoot.displayName = 'Modal.Root'\n\nconst Trigger = DialogPrimitive.Trigger\nTrigger.displayName = 'Modal.Trigger'\n\nconst Overlay = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => (\n \n
    \n {children}\n
    \n \n))\nOverlay.displayName = 'Modal.Overlay'\n\nconst Box = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef & {\n currentStep?: number\n classNameWrapper?: string\n classNameMotionContainer?: string\n variant?: ModalType\n }\n>(\n (\n {\n className,\n classNameWrapper,\n classNameMotionContainer,\n currentStep = 0,\n variant = 'fullPage',\n children,\n ...props\n },\n ref,\n ) => {\n const [visibleVariant, setVisibleVariant] = useState(variant)\n const containerRef = useRef(null)\n const contentRefList = useRef([])\n\n const updateSizeContent = useCallback(() => {\n if (containerRef.current) {\n if (\n window.innerWidth < 769 &&\n (contentRefList.current[currentStep].offsetHeight + 100 >\n window.innerHeight ||\n variant === 'fullPage')\n ) {\n containerRef.current.style.height = '100%'\n if (visibleVariant !== 'fullPage') {\n setVisibleVariant('fullPage')\n }\n } else {\n containerRef.current.style.height = `${contentRefList.current[currentStep].offsetHeight}px`\n if (visibleVariant !== variant) {\n setVisibleVariant(variant)\n }\n }\n }\n }, [currentStep, containerRef.current, visibleVariant])\n\n useEffect(() => {\n setTimeout(() => {\n updateSizeContent()\n })\n\n window.addEventListener('resize', updateSizeContent, false)\n return () => {\n window.removeEventListener('resize', updateSizeContent, false)\n }\n }, [currentStep, containerRef.current, visibleVariant])\n\n const handleRefAssign = (index: number) => (el: HTMLDivElement) => {\n contentRefList.current[index] = el\n }\n\n return (\n \n \n \n \n \n \n \n \n {Children.toArray(children)\n .filter(Boolean)\n .map((child: ReactNode, childIndex) => {\n if (currentStep !== childIndex) return null\n return (\n \n \n {child}\n \n \n )\n })}\n \n \n \n \n \n )\n },\n)\nBox.displayName = 'Modal.Box'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => {\n return
    \n },\n)\nContent.displayName = 'Modal.Content'\n\nconst Close = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef & { label: string }\n>(({ className, children, label, ...props }, ref) => {\n return (\n \n \n \n )\n})\nClose.displayName = 'Modal.Close'\n\nexport { Root, Trigger, Box, Content, Close }\n","import {\n AppStoreButton,\n ConsentModalLink,\n DownloadLink,\n Link,\n} from '@/components'\nimport { FeatureActionLinkEnum } from '@/constants'\nimport type { zActionableLinkType } from '@/lib/validators'\n\nexport interface ActionableLinkProps {\n linkData: zActionableLinkType\n sectionLabel?: string\n trackingActionLabel?: string\n children?: string\n}\n\nexport const ActionableLink = ({\n linkData,\n children,\n sectionLabel,\n trackingActionLabel,\n ...props\n}: ActionableLinkProps) => {\n switch (linkData.actionData?.action) {\n case FeatureActionLinkEnum.DOWNLOAD: {\n return (\n \n {children}\n \n )\n }\n case FeatureActionLinkEnum.MANAGE_COOKIES: {\n return (\n \n {children ?? 'Manage settings'}\n \n )\n }\n case FeatureActionLinkEnum.ANDROID_STORE: {\n return \n }\n case FeatureActionLinkEnum.APPLE_STORE: {\n return \n }\n default: {\n if (linkData.link) {\n if (sectionLabel && trackingActionLabel) {\n return (\n \n {children}\n \n )\n }\n return (\n \n {children}\n \n )\n }\n }\n }\n}\n","export * from './actionable-link'\n","// https://github.com/vercel/next.js/issues/49454#issuecomment-1830053413\n// need a client component in the nextjs to make code-splitting work, hence the extra layer here.\n// if you don't, the build will still succeed, but every page will import the animations and the bundle\n// sizes will ballon.\n// if you change anything with how these exports/component are done, triple check the production bundle sizes.\nexport * from './error-404'\nexport * from './generic-error'\nexport * from './phone-permissions'\n","export * from './app-store-button'\n","export * from './assert-rehydration'\n","import bbaBestBritishBankSVG from '@chaseweb/assets/resources/BBA/BBA_Winner_Best_British_bank.svg'\nimport bbaCurrentAccountSVG from '@chaseweb/assets/resources/BBA/BBA_Winner_Best_current_account_provider.svg'\nimport bbaBestSavingsProviderSVG from '@chaseweb/assets/resources/BBA/BBA_Winner_Best_savings_provider.svg'\n\nimport { LocalImage } from '@/components'\n\ninterface BbaLogoProps {\n path?: string\n className?: string\n}\n\nexport const BbaLogo = ({ path = '', className = '' }: BbaLogoProps) => {\n if (path.endsWith('/product/chase-account/')) {\n return (\n \n )\n }\n if (path.endsWith('/product/chase-saver-account/')) {\n return (\n \n )\n }\n return (\n \n )\n}\n","export * from './bba-logo'\n","import { Breadcrumb } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\n\nimport type { RelativePathType } from '@/types'\n\nimport { Link } from '../link'\n\nexport const Breadcrumbs = ({\n path,\n}: {\n path: { url?: RelativePathType; title: string; className?: string }[]\n}) => {\n return (\n \n )\n}\n","export * from './breadcrumbs'\n","import cassSVG from '@chaseweb/assets/resources/CASS/CASS_logo.svg'\nimport { cn } from '@chaseweb/utils/cn'\n\nimport { LocalImage } from '@/components'\n\nexport const CASS_TEXT = 'Current Account Switch Service'\n\nexport const CassLogo = ({ className = '' }: { className?: string }) => (\n \n)\n","export * from './cass-logo'\n","export * from './consent-modal'\nexport * from './consent-modal-link'\n","import { StyledLink } from '@/components'\nimport type { DocumentDetailsSection } from '@/data/aem'\nimport type { RelativePathOrHrefExternalType } from '@/types'\n\nconst BUTTON_LABEL = 'Download as PDF'\n\nexport const DocumentDetails = ({ data }: { data: DocumentDetailsSection }) => {\n const label = data.downloadLabel ?? BUTTON_LABEL\n return (\n \n {data.versionDetails && (\n \n {data.versionDetails}\n \n )}\n \n {label}\n \n \n )\n}\n","export * from './document-details'\n","export * from './download-link'\n","export * from './download-panel'\n","export * from './download-qr-code'\n","import { Accordion, Heading, Prose } from '@chaseweb/ui-library/src'\n\nimport { parseContent } from '@/lib/parse-content'\n\ninterface FaqAccordionProps {\n id?: string\n title?: string\n faqList: {\n title: string\n content: string | React.ReactNode\n }[]\n dataTestId?: string\n}\n\nexport const FaqAccordion = ({\n faqList,\n id,\n title,\n dataTestId = 'FaqAccordion',\n}: FaqAccordionProps) => {\n if (!faqList.length) return null\n return (\n
    \n \n {title}\n \n \n {faqList.map((faq) => (\n \n {faq.title}\n \n \n {typeof faq.content === 'string'\n ? parseContent(faq.content)\n : faq.content}\n \n \n \n ))}\n \n
    \n )\n}\n","export * from './faq-accordion'\n","export * from './header-cta'\n","export * from './insights'\n","/* eslint-disable no-restricted-imports */\nimport type { ImageProps as NextImageProps } from 'next/image'\nimport NextImage from 'next/image'\n\ninterface LocalImageProps extends NextImageProps {\n src: Exclude // disallow remote src\n}\n\n/**\n * Slim wrapper around NextImage, only for images with a local asset path\n * (aka files inside of @chaseweb/assets or git).\n *\n * This should not be used for remote images (anything from aem e.g. www.chase.co.uk/_img/12341.jpg),\n * as these images would not be checked if they exist at build time.\n */\nexport function LocalImage(props: Readonly) {\n return \n}\n","export * from './local-image'\n","export * from './notification'\n","import { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\nimport type { HTMLAttributes } from 'react'\nimport { useMemo } from 'react'\nimport slugify from 'slugify'\n\nexport const PageAnchor = ({\n idString = '',\n className,\n asChild,\n ...props\n}: HTMLAttributes & {\n className?: string\n idString?: string\n asChild?: boolean\n}) => {\n const Comp = asChild ? Slot : 'div'\n\n const slug = useMemo(() => {\n return slugify(idString, {\n strict: true,\n lower: true,\n remove: /\\d/,\n })\n }, [idString])\n\n // Set scroll-margin-top cannot be set dynamically after the page has loaded\n // so these values have to be hardcoded\n return (\n \n )\n}\n","export * from './page-anchor'\n","import { Prose } from '@chaseweb/ui-library/src'\nimport { Slot } from '@radix-ui/react-slot'\nimport { forwardRef, type HTMLAttributes } from 'react'\n\nimport { parseContent, type ParseContentOtionsType } from '@/lib/parse-content'\nimport type { RichTextType } from '@/types'\n\ntype RichTextProps = Omit, 'children'> & {\n asChild?: boolean\n as?: string\n children: RichTextType | undefined\n parseOptions?: ParseContentOtionsType\n} & Partial\n\nconst RichText = forwardRef(\n (\n {\n children,\n asChild,\n as,\n parseOptions,\n replaceh4h6TagsWithSmallGreyText,\n useH1PageTitle,\n ...restProps\n },\n ref,\n ) => {\n if (!children?.__html__) return null\n const Comp = asChild ? Slot : (as ?? Prose)\n return (\n \n {parseContent(\n children.__html__,\n parseOptions ?? {\n replaceh4h6TagsWithSmallGreyText,\n useH1PageTitle,\n },\n )}\n \n )\n },\n)\nRichText.displayName = 'RichText'\n\nexport { RichText }\n","export * from './rich-text'\n","export * from './share-widget'\n","export * from './skip-to-main-content-button'\n","export * from './actionable-link'\nexport * from './animations'\nexport * from './app-store-button'\nexport * from './assert-rehydration'\nexport * from './bba-logo'\nexport * from './breadcrumbs'\nexport * from './cass-logo'\nexport * from './consent-modal'\nexport * from './document-details'\nexport * from './download-link'\nexport * from './download-panel'\nexport * from './download-qr-code'\nexport * from './faq-accordion'\nexport * from './header-cta'\nexport * from './insights'\nexport * from './link'\nexport * from './local-image'\nexport * from './notifications'\nexport * from './page-anchor'\nexport * from './rich-text'\nexport * from './share-widget'\nexport * from './skip-to-main-content-button'\n","import type { URLSearchParams } from 'url'\nimport {\n SplitFactory,\n LocalhostFromObject,\n} from '@splitsoftware/splitio-browserjs'\n\nexport const verifySplitQueryParam = (queryParams: URLSearchParams) => {\n return queryParams.get('split') !== null\n}\n\nconst initialSplitFeatures = {\n download_cta_slide_panel: 'on',\n mobile_sticky_cta: 'off',\n home_banner: {\n treatment: 'on',\n config: JSON.stringify({\n variant: 'information',\n title: 'Home banner news',\n titleUrl: '',\n content: 'DEV TEST: Home banner content',\n }),\n },\n product_banner: {\n treatment: 'on',\n config: JSON.stringify({\n variant: 'information',\n title: 'Product banner news',\n titleUrl: '',\n content: 'DEV TEST: Product banner content',\n }),\n },\n page_specific_banner: {\n treatment: 'off',\n config: JSON.stringify({\n variant: 'information',\n title: 'MCC banner news,',\n titleUrl: '',\n content: 'DEV TEST: MCC banner content.',\n slugPaths:\n '/product/chase-account/;/product/chase-saver-account/;/product/chase-roundups/;product/chase-features/;/product/apple-pay/;/legal/Cashback-Exclusions/;/support/travel-with-chase/;/affiliates-download/;/',\n }),\n },\n homepage_feature_label: 'on',\n homepage_hero_cta_size: 'on',\n homepage_hero_cta_text: {\n treatment: 'A',\n config: JSON.stringify({\n inlineText: 'Get the app',\n }),\n },\n support_banner: {\n treatment: 'on',\n config: JSON.stringify({\n variant: 'warning',\n title: 'Trouble using the app',\n content:\n 'DEV TEST: Some customers are having trouble using the app, completing online card payment checks and logging in.',\n titleUrl: 'https://chaseuk.statuspage.io/incidents/srmgdyb6rrg5',\n }),\n },\n trustpilot_widgets: 'on',\n}\n\nexport const initLocalhostSplitConfig = (\n queryParams: URLSearchParams,\n settings: {\n key: string\n },\n splitProps: { urls?: any; userConsent?: any } | undefined = {},\n) => {\n const splitParam = queryParams.get('split')\n\n const parseJSONStringData = (data: string) => {\n try {\n return JSON.parse(data)\n } catch {\n return data\n }\n }\n\n // We are correcting split because object will also contain commas so we don't want to split to happen in that case\n // Example page_redirects={\"source\": \"/sourcePage\", redirect: \"/redirectPage\"},home_banner=on\n // It shouldn't split like 'page_redirects={\"source\": \"/sourcePage\"','\"redirect: \"/redirectPage\"}', 'home_banner=on'\n // Rather it should be 'page_redirects={\"source\": \"/sourcePage\", redirect: \"/redirectPage\"}', 'home_banner=on'\n const getCorrectedSplitArray = (splittedEncodedParam: any[]) => {\n return splittedEncodedParam.reduce(\n (accumulator: string, currentValue: string) => {\n return (\n accumulator +\n (currentValue.startsWith('%22') || // starts with \"\n currentValue.startsWith('%5C%22') || // starts with \\\"\n currentValue.startsWith('%7B%5C%22') // starts with {\\\"\n ? '%2C'\n : ',') +\n currentValue\n )\n },\n '',\n )\n }\n\n let features = initialSplitFeatures\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let splitMap: any\n if (splitParam) {\n const encodedParam = encodeURIComponent(splitParam)\n const splittedEncodedParam = encodedParam.split('%2C') // check separation by comma\n const correctedSplit = getCorrectedSplitArray(splittedEncodedParam)\n splitMap = correctedSplit\n .split(',')\n .reduce((map: any, paramString: string) => {\n const [key, value] = decodeURIComponent(paramString).split('=')\n return {\n [key]: value ? parseJSONStringData(value.replaceAll(\"'\", '')) : value,\n ...map,\n }\n }, {})\n features = { ...initialSplitFeatures, ...splitMap }\n }\n\n /* istanbul ignore if - only used for admin usage */\n if ((window as any).__chaseEnv__?.isDockerBuild) {\n const sessionSplitio = sessionStorage.getItem('splitio')\n if (sessionSplitio) {\n features = { ...JSON.parse(sessionSplitio), ...splitMap }\n }\n sessionStorage.setItem('splitio', JSON.stringify(features))\n }\n\n return SplitFactory({\n core: {\n authorizationKey: 'localhost',\n key: settings.key,\n },\n features,\n sync: {\n localhostMode: LocalhostFromObject(),\n },\n ...splitProps,\n })\n}\n","'use client'\nimport { create } from 'zustand'\nimport { SplitFactory } from '@splitsoftware/splitio-browserjs'\nimport {\n initLocalhostSplitConfig,\n verifySplitQueryParam,\n} from './localhostSplit'\n\nexport enum SplitTrafficTypes {\n 'user' = 'user',\n}\n\ninterface SplitConsentsProps {\n consentsCaptured: boolean\n hasConsentToSendImpressions: boolean\n}\n\ninterface SplitInitializerProps extends SplitConsentsProps {\n apiKey: string\n proxyUrl?: string | null\n webProspectId: string\n clientAttributes: SplitIO.Attributes\n}\n\nconst proxyUrlOf = (proxyUrl: string, api: string) =>\n proxyUrl.replace(/\\/$/, '').replace(/^http:/, 'https:') + '/' + api\n\ninterface SplitState {\n _factory: SplitIO.ISDK | undefined\n clients: Record\n init: (args: SplitInitializerProps) => Promise\n updateCookieConsents: (args: SplitConsentsProps) => void\n reset: () => void // needed for unit tests, not ideal, but could be worse\n}\n\nconst initialState = {\n _factory: undefined,\n clients: {\n user: undefined,\n },\n}\n\nexport const useSplitStore = create((set, get) => ({\n ...initialState,\n reset: () => {\n set(initialState)\n },\n init: async ({\n apiKey,\n proxyUrl = null,\n webProspectId,\n clientAttributes,\n consentsCaptured,\n hasConsentToSendImpressions,\n }) => {\n if (get()._factory) return\n\n const userConsent = consentsCaptured\n ? hasConsentToSendImpressions\n ? 'GRANTED'\n : 'DECLINED'\n : 'UNKNOWN'\n\n const urls: SplitIO.UrlSettings = {}\n if (proxyUrl !== null) {\n urls.sdk = proxyUrlOf(proxyUrl, 'splitio/sdk')\n urls.events = proxyUrlOf(proxyUrl, 'splitio/events')\n }\n\n let factory: SplitIO.ISDK\n\n const queryParams = new URLSearchParams(window.location.search)\n if (verifySplitQueryParam(queryParams)) {\n factory = initLocalhostSplitConfig(\n queryParams,\n {\n key: webProspectId,\n },\n {\n urls,\n userConsent,\n },\n )\n } else {\n factory = SplitFactory({\n core: {\n authorizationKey: apiKey,\n key: webProspectId, // default - we override when we instatiate the clients for readability\n },\n urls,\n userConsent,\n debug: false,\n streamingEnabled: false,\n sync: { enabled: false },\n })\n }\n\n set({ _factory: factory })\n\n const userClient = factory.client(webProspectId)\n userClient.setAttributes(clientAttributes)\n await userClient.ready()\n set({\n clients: {\n user: userClient,\n },\n })\n },\n updateCookieConsents: (args) => {\n const { _factory } = get()\n if (args.consentsCaptured && _factory) {\n _factory.UserConsent.setStatus(args.hasConsentToSendImpressions)\n }\n },\n}))\n","import { getUtmParameters, getUtmParametersFromCookie } from '../tracking'\nimport { SEARCH_ENGINES } from '../tracking/vendor'\n\nexport function getMarketingChannel() {\n const utmParams = getUtmParametersFromCookie() ?? getUtmParameters()\n if (utmParams?.utm_medium) return utmParams.utm_medium\n if (utmParams?.pid) return utmParams.pid\n if (typeof window !== 'undefined' && document?.referrer) {\n for (const engine in SEARCH_ENGINES) {\n if (new RegExp(engine, 'i').test(document.referrer))\n return 'organic_search'\n }\n return 'organic_website'\n }\n return 'direct'\n}\n","export * from './useSplit'\nexport * from './getMarketingChannel'\n","import type { ButtonHTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport { Slot, Slottable } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { CustomSvg } from '../svg'\n\nconst buttonVariants = cva(\n [\n 'tw-no-underline',\n 'tw-inline-flex',\n 'tw-transition-colors',\n 'focus-visible:tw-outline-none',\n 'focus-visible:tw-ring-2',\n 'focus-visible:tw-ring-focusRing',\n ],\n {\n variants: {\n variant: {\n primary: [\n 'tw-rounded-5xl',\n 'tw-items-center',\n 'tw-border',\n 'tw-border-solid',\n 'tw-font-semibold',\n 'tw-justify-center',\n 'tw-border-primaryBorder',\n 'tw-bg-primary',\n 'tw-text-primaryText',\n 'hover:tw-border-primaryHoverBorder',\n 'hover:tw-bg-primaryHover',\n 'hover:tw-text-primaryHoverText',\n 'focus-visible:tw-border-primaryFocusBorder',\n 'focus-visible:tw-bg-primaryFocus',\n 'active:tw-border-primaryActiveBorder',\n 'active:tw-bg-primaryActive',\n ],\n secondary: [\n 'tw-rounded-5xl',\n 'tw-items-center',\n 'tw-border',\n 'tw-border-solid',\n 'tw-font-semibold',\n 'tw-justify-center',\n 'tw-border-secondaryBorder',\n 'tw-bg-secondary',\n 'tw-text-secondaryText',\n 'hover:tw-border-secondaryHoverBorder',\n 'hover:tw-outline-secondaryHoverOutline',\n 'hover:tw-outline-1',\n 'hover:tw-outline',\n 'hover:tw-bg-secondaryHover',\n 'hover:tw-text-secondaryHoverText',\n 'focus-visible:tw-border-secondaryFocusBorder',\n 'focus-visible:tw-bg-secondaryFocus',\n 'focus-visible:tw-text-secondaryFocusText',\n 'active:tw-border-secondaryActiveBorder',\n 'active:tw-bg-secondaryActive',\n 'active:tw-text-secondaryActiveText',\n ],\n link: [\n 'tw-inline',\n 'tw-p-0',\n 'tw-m-0',\n 'tw-border-0',\n 'tw-text-link',\n 'tw-underline-offset-4',\n 'tw-underline',\n 'tw-decoration-transparent',\n 'active:tw-text-blue10',\n 'hover:tw-decoration-current',\n 'hover:tw-text-blue30',\n 'focus-visible:tw-ring-offset-1',\n 'focus-visible:tw-outline-none',\n 'focus-visible:tw-ring-2',\n 'focus-visible:tw-ring-focusRing',\n ],\n },\n size: {\n md: ['tw-px-6', 'tw-py-3', 'tw-min-w-[112px]'],\n sm: ['tw-px-4', 'tw-py-2.5'],\n },\n border: {\n default: '',\n borderless: 'tw-border-transparent',\n },\n disabled: {\n true: [\n 'tw-pointer-events-none',\n 'disabled:tw-border-disabledBorder',\n 'disabled:tw-bg-disabled',\n 'disabled:tw-text-disabledText',\n ],\n },\n noLinkUnderline: {\n true: '',\n },\n invertLinkUnderline: {\n true: '',\n },\n },\n compoundVariants: [\n {\n variant: 'link',\n disabled: true,\n class: 'disabled:tw-border-0',\n },\n {\n variant: 'link',\n invertLinkUnderline: true,\n class: 'tw-decoration-current hover:tw-decoration-transparent',\n },\n {\n variant: 'link',\n noLinkUnderline: true,\n class: 'tw-decoration-transparent hover:tw-decoration-transparent',\n },\n ],\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n border: 'default',\n disabled: undefined,\n invertLinkUnderline: undefined,\n noLinkUnderline: undefined,\n },\n },\n)\n\nexport interface ButtonProps\n extends ButtonHTMLAttributes,\n VariantProps {\n disabled?: boolean\n asChild?: boolean\n noExternalIcon?: boolean\n onClick?: (ev?: any) => void\n}\n\nconst Button = forwardRef(\n (\n {\n className,\n variant,\n size,\n border,\n role,\n tabIndex,\n disabled,\n children,\n asChild = false,\n noLinkUnderline,\n noExternalIcon,\n invertLinkUnderline,\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button'\n const customSize = variant === 'link' ? null : size\n const customRole = role ?? (variant === 'link' ? 'link' : 'button')\n return (\n \n {children}\n {!noExternalIcon && asChild && (\n \n )}\n \n )\n },\n)\nButton.displayName = 'Button'\n\nexport { Button }\n","export * from './button'\n","export default {\"src\":\"/gb/en/_next/static/media/BBA_Winner_Best_British_bank.bfe7a033.svg\",\"height\":64,\"width\":235,\"blurWidth\":0,\"blurHeight\":0};","'use client'\nimport { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport * as SeparatorRadix from '@radix-ui/react-separator'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { Button } from '../../atoms/button'\nimport { Heading } from '../../atoms/heading'\nimport { Prose } from '../../atoms/prose'\n\nconst rootVariants = cva('', {\n variants: {\n align: {\n left: 'tw-text-left',\n center: 'tw-text-center',\n },\n },\n defaultVariants: {\n align: 'left',\n },\n})\n\ninterface RootProps\n extends HTMLAttributes,\n VariantProps {\n asChild?: boolean\n 'data-testid'?: string\n}\n\nconst Root = forwardRef(\n (\n {\n className,\n asChild,\n 'data-testid': dataTestId = 'feature-text-root',\n align = 'left',\n ...props\n },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n },\n)\nRoot.displayName = 'FeatureText.Root'\n\ninterface LabelProps extends HTMLAttributes {\n highlight?: boolean\n}\n\nconst Label = forwardRef(\n ({ className, highlight = false, ...props }, ref) => (\n \n ),\n)\nLabel.displayName = 'FeatureText.Label'\n\nconst Title = forwardRef<\n ElementRef,\n PartialBy, 'type'>\n>(({ className, type = 'h2', ...props }, ref) => (\n \n))\nTitle.displayName = 'FeatureText.Title'\n\nconst Description = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n
    \n))\nDescription.displayName = 'FeatureText.Description'\n\nconst Content = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nContent.displayName = 'FeatureText.Content'\n\nconst separatorVariants = cva(\n 'tw-m-auto tw-h-px tw-w-full tw-max-w-[163px] md:tw-max-w-[224px] lg:tw-max-w-[308px] xl:tw-max-w-[448px]',\n {\n variants: {\n border: {\n default: 'tw-bg-blue30',\n transparent: 'tw-bg-none',\n },\n },\n defaultVariants: {\n border: 'default',\n },\n },\n)\n\ninterface SeparatorProps\n extends SeparatorRadix.SeparatorProps,\n VariantProps {\n classNameContainer?: string\n}\n\nconst Separator = forwardRef<\n ElementRef,\n SeparatorProps\n>(\n (\n {\n className,\n classNameContainer,\n border = 'default',\n decorative = true,\n ...props\n },\n ref,\n ) => (\n \n \n
    \n ),\n)\nSeparator.displayName = 'FeatureText.Separator'\n\nconst Disclaimer = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nDisclaimer.displayName = 'FeatureText.Disclaimer'\n\nconst Cta = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nCta.displayName = 'FeatureText.Cta'\n\nexport { Root, Label, Title, Description, Content, Disclaimer, Separator, Cta }\n","'use client'\nimport type { CanvasHTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport { QRCode as QrCode } from 'react-qrcode-logo'\n\nexport interface QRCodeProps extends CanvasHTMLAttributes {\n value?: string\n}\n\nconst QRCode = forwardRef(({ value, ...props }, ref) => {\n return value ? (\n \n ) : null\n})\n\nQRCode.displayName = 'QRCode'\n\nexport { QRCode }\n","'use client'\n\nimport { useEffect, useState } from 'react'\n\nexport const AssertRehydration = () => {\n const [handlersReady, setHandlersReady] = useState(false)\n\n useEffect(() => {\n setHandlersReady(true)\n }, [])\n\n return (\n
    \n )\n}\n","export enum FeatureTypeIdEnum {\n ACCORDION_FAQ_FEATURE = 'accordion_faq_feature',\n ACCORDION_FEATURE = 'accordion_feature',\n BOAST_BAR_FEATURE = 'boast_bar_feature',\n BREADCRUMBS_FEATURE = 'breadcrumbs_feature',\n CAROUSEL_EDITORIAL_FEATURE = 'carousel_editorial_feature',\n CAROUSEL_IMAGE_CARD_FEATURE = 'carousel_image_card_feature',\n CAROUSEL_LATEST_ARTICLE_FEATURE = 'carousel_latest_article_feature',\n CAROUSEL_LIFESTYLE_FEATURE = 'carousel_lifestyle_feature',\n CAROUSEL_PROMO_FEATURE = 'carousel_promo_feature',\n FOOTER_FEATURE = 'footer_feature',\n FULL_WIDTH_FEATURE = 'full_width_feature',\n HERO_FEATURE = 'hero_feature',\n HERO_MULTI_IMAGE_FEATURE = 'hero_multi_image_feature',\n IMAGE_CARD_GRID_FEATURE = 'image_card_grid_feature',\n IMAGE_TEXT_FEATURE = 'image_text_feature',\n INFO_BLOCK_FEATURE = 'info_block_feature',\n LOGO_TILE_FEATURE = 'logo_tile_feature',\n NAVIBAR_FEATURE = 'navibar_feature',\n NOTIFICATION_FEATURE = 'notification_feature',\n PAGE_CONTENT_FEATURE = 'page_content_feature',\n PRODUCT_CARD_GRID_FEATURE = 'product_card_grid_feature',\n PROMO_FEATURE = 'promo_feature',\n RATES_FEATURE = 'rates_feature',\n RAW_IMAGE_GRID_FEATURE = 'raw_image_grid_feature',\n REPORT_FEATURE = 'report_feature',\n STEP_CARD_GRID_FEATURE = 'step_card_grid_feature',\n TABS_FEATURE = 'tabs_feature',\n TEXT_GRID_FEATURE = 'text_grid_feature',\n TEXT_ONLY_FEATURE = 'text_only_feature',\n TEXT_ONLY_STYLED_FEATURE = 'text_only_styled_feature',\n WIDGET_FEATURE = 'widget_feature',\n}\n\nconst PAGE_CONTENT_TYPE = 'page-content'\nexport const PageContentVariantEnum = {\n PAGE_HUB_CONTENT: `${PAGE_CONTENT_TYPE}_hub`,\n PAGE_LEGAL_CONTENT: `${PAGE_CONTENT_TYPE}_legal`,\n PAGE_MEDIA_CONTENT: `${PAGE_CONTENT_TYPE}_media`,\n PAGE_UPDATES_FROM_CHASE_CONTENT: `${PAGE_CONTENT_TYPE}_updates-from-chase`,\n PAGE_DOWNLOAD_CONTENT: `${PAGE_CONTENT_TYPE}_download`,\n PAGE_SUPPORT_CONTENT: `${PAGE_CONTENT_TYPE}_support`,\n PAGE_SUPPORT_SEARCH_CONTENT: `${PAGE_CONTENT_TYPE}_support-search`,\n} as const\n\nexport enum FeatureWidgetVariantEnum {\n TRUSTPILOT = 'trustpilot',\n}\n\nexport enum FeatureTabsVariantEnum {\n PAGE = 'page',\n DEFAULT = 'default',\n}\n\nexport enum FeatureTextOnlyVariantEnum {\n CENTER = 'center',\n LEFT = 'left',\n}\n\nexport enum FeatureTextOnlyStyledVariantEnum {\n STYLED = 'styled',\n ARTICLE = 'article',\n HEADER = 'header',\n}\n\nexport enum ReportAvailabilityAndPerformanceVariantEnum {\n OPEN_BANKING_PERFORMANCE = 'report_open-banking-performance',\n APP_PERFORMANCE = 'report_app-performance',\n}\n\nexport enum FeatureInfoBlockVariantEnum {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n TERTIARY = 'tertiary',\n}\n\nexport enum FeatureHeroVariantEnum {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n}\n\nexport enum FeatureItemLinkVariantEnum {\n DEFAULT = 'default',\n ICON_ONLY = 'icon-only',\n ICON_ONLY_STYLED = 'icon-only-styled',\n}\n\nexport const ActionLinkStart = 'action'\nexport enum FeatureActionLinkEnum {\n DOWNLOAD = `download`,\n MANAGE_COOKIES = `manage-cookies`,\n APPLE_STORE = `apple-store`,\n ANDROID_STORE = `android-store`,\n}\n","export enum NotificationSessionKeyTypesEnum {\n HOME = 'notification_home',\n PRODUCT = 'notification_product',\n SUPPORT = 'notification_support',\n BROWSER = 'notification_browser-support',\n PAGE_SPECIFIC = 'notification_page-specific',\n}\n\nexport enum NotificationLocalKeyTypesEnum {\n US_REDIRECT = 'notification_us-redirect',\n}\n\nexport const NotificationKeyTypesEnum = {\n ...NotificationSessionKeyTypesEnum,\n ...NotificationLocalKeyTypesEnum,\n}\n","import { create } from 'zustand'\nimport { persist, createJSONStorage } from 'zustand/middleware'\nimport { NotificationSessionKeyTypesEnum } from './types'\n\nexport interface NotificationSessionStorageState {\n [NotificationSessionKeyTypesEnum.HOME]: boolean\n [NotificationSessionKeyTypesEnum.PRODUCT]: boolean\n [NotificationSessionKeyTypesEnum.SUPPORT]: boolean\n [NotificationSessionKeyTypesEnum.BROWSER]: boolean\n [NotificationSessionKeyTypesEnum.PAGE_SPECIFIC]: boolean\n getNotificationValue: (\n notificationName: NotificationSessionKeyTypesEnum,\n ) => boolean\n setNotificationValue: (\n notificationName: NotificationSessionKeyTypesEnum,\n value: boolean,\n ) => void\n}\n\nconst initialNotificationSessionStorageState = {\n [NotificationSessionKeyTypesEnum.HOME]: true,\n [NotificationSessionKeyTypesEnum.PRODUCT]: true,\n [NotificationSessionKeyTypesEnum.SUPPORT]: true,\n [NotificationSessionKeyTypesEnum.BROWSER]: true,\n [NotificationSessionKeyTypesEnum.PAGE_SPECIFIC]: true,\n}\n\nconst notificationSessionStore = (set: any, get: any) => ({\n ...initialNotificationSessionStorageState,\n getNotificationValue: (notificationName: NotificationSessionKeyTypesEnum) => {\n return get()[notificationName]\n },\n setNotificationValue: (\n notificationName: NotificationSessionKeyTypesEnum,\n value: boolean,\n ) => {\n set(() => {\n return { [notificationName]: value }\n })\n },\n})\n\nexport const useSessionStorageNotificationStore =\n create()(\n persist(notificationSessionStore, {\n name: 'notification-dismissals',\n storage: createJSONStorage(() => sessionStorage),\n }),\n )\n","import { create } from 'zustand'\nimport { persist, createJSONStorage } from 'zustand/middleware'\nimport { NotificationLocalKeyTypesEnum } from './types'\n\nexport interface NotificationProps {\n value: boolean\n dismissalDate: number\n}\n\nexport type NotificationLocalStorageState = {\n getNotificationValue: (\n notificationName: NotificationLocalKeyTypesEnum,\n ) => boolean\n setNotificationValue: (\n notificationName: NotificationLocalKeyTypesEnum,\n value: boolean,\n ) => void\n getNotificationDismissalDate: (\n notificationName: NotificationLocalKeyTypesEnum,\n ) => number\n // just for test case to set date as +14 days\n setNotificationDismissalDate: (\n notificationName: NotificationLocalKeyTypesEnum,\n value: number,\n ) => void\n} & { [Key in NotificationLocalKeyTypesEnum]: NotificationProps }\n\nconst initialNotificationLocalStorageState = {\n [NotificationLocalKeyTypesEnum.US_REDIRECT]: {\n value: true,\n dismissalDate: Date.now(),\n },\n}\n\nconst notificationLocalStore = (set: any, get: any) => ({\n ...initialNotificationLocalStorageState,\n getNotificationValue: (notificationName: NotificationLocalKeyTypesEnum) => {\n // Once 14 days have passed post dismissal of notification, reset local store with initial values\n const dismissalTimeStamp = get()[notificationName].dismissalDate\n // Math.abs is done only for test case purpose as I need to make dismissalDate plus 14 days to current date\n const differenceInDays = Math.round(\n Math.abs(Date.now() - dismissalTimeStamp) / (1000 * 3600 * 24),\n )\n if (dismissalTimeStamp && differenceInDays >= 14) {\n set(() => {\n return {\n [notificationName]: { value: true, dismissalDate: Date.now() },\n }\n })\n }\n return get()[notificationName].value\n },\n getNotificationDismissalDate: (\n notificationName: NotificationLocalKeyTypesEnum,\n ) => {\n return get()[notificationName].dismissalDate\n },\n setNotificationValue: (\n notificationName: NotificationLocalKeyTypesEnum,\n value: boolean,\n ) => {\n set(() => {\n return { [notificationName]: { value, dismissalDate: Date.now() } }\n })\n },\n setNotificationDismissalDate: (\n notificationName: NotificationLocalKeyTypesEnum,\n dismissalDate: number,\n ) => {\n set(() => {\n return { [notificationName]: { dismissalDate } }\n })\n },\n})\n\nexport const useLocalStorageNotificationStore =\n create()(\n persist(notificationLocalStore, {\n name: 'us-notification-dismissals',\n storage: createJSONStorage(() => localStorage),\n }),\n )\n","import { create } from 'zustand'\nimport { useSessionStorageNotificationStore } from './useSessionStorageNotificationStore'\nimport type { NotificationLocalKeyTypesEnum } from './types'\nimport { NotificationSessionKeyTypesEnum } from './types'\nimport { useLocalStorageNotificationStore } from './useLocalStorageNotificationStore'\n\nexport interface NotificationStorageState {\n getNotificationValue: (\n notificationName:\n | NotificationSessionKeyTypesEnum\n | NotificationLocalKeyTypesEnum,\n ) => boolean\n setNotificationVisible: (\n notificationName:\n | NotificationSessionKeyTypesEnum\n | NotificationLocalKeyTypesEnum,\n value: boolean,\n ) => void\n}\n\nexport const useNotificationStore = create(() => {\n const sessionState = useSessionStorageNotificationStore.getState()\n const localState = useLocalStorageNotificationStore.getState()\n\n return {\n getNotificationValue: (\n notificationName:\n | NotificationSessionKeyTypesEnum\n | NotificationLocalKeyTypesEnum,\n ) => {\n if (\n Object.values(NotificationSessionKeyTypesEnum).includes(\n notificationName,\n )\n ) {\n // Session Storage\n return sessionState.getNotificationValue(\n notificationName as NotificationSessionKeyTypesEnum,\n )\n } else {\n // Local Storage\n return localState.getNotificationValue(\n notificationName as NotificationLocalKeyTypesEnum,\n )\n }\n },\n\n setNotificationVisible: (\n notificationName:\n | NotificationSessionKeyTypesEnum\n | NotificationLocalKeyTypesEnum,\n value: boolean,\n ) => {\n if (\n Object.values(NotificationSessionKeyTypesEnum).includes(\n notificationName,\n )\n ) {\n sessionState.setNotificationValue(\n notificationName as NotificationSessionKeyTypesEnum,\n value,\n )\n } else {\n localState.setNotificationValue(\n notificationName as NotificationLocalKeyTypesEnum,\n value,\n )\n }\n },\n }\n})\n","'use client'\n\nimport type { NotificationWidget } from '@chaseweb/ui-library/src'\nimport {\n NotificationKeyTypesEnum,\n type NotificationLocalKeyTypesEnum,\n type NotificationSessionKeyTypesEnum,\n} from '@chaseweb/utils/notifications/types'\nimport { useNotificationStore } from '@chaseweb/utils/notifications/useNotificationStore'\nimport dynamic from 'next/dynamic'\nimport { useEffect, useState } from 'react'\n\nimport type { RelativePathOrHrefExternalType } from '@/types'\n\nexport type NotificationSplitConfig = {\n variant: NotificationWidget.NotificationType\n title: string\n titleUrl: RelativePathOrHrefExternalType\n content: string\n slugPaths?: string\n}\n\nconst HomeBannerNotification = dynamic(\n () =>\n import('./home-banner-notification').then((mod) => {\n return mod.HomeBannerNotification\n }),\n { ssr: false },\n)\n\nconst ProductBannerNotification = dynamic(\n () =>\n import('./product-banner-notification').then((mod) => {\n return mod.ProductBannerNotification\n }),\n { ssr: false },\n)\n\nconst SupportBannerNotification = dynamic(\n () =>\n import('./support-banner-notification').then((mod) => {\n return mod.SupportBannerNotification\n }),\n { ssr: false },\n)\nconst BrowserSupportNotification = dynamic(\n () =>\n import('./browser-support-notification').then((mod) => {\n return mod.BrowserSupportNotification\n }),\n { ssr: false },\n)\nconst UsRedirectNotification = dynamic(\n () =>\n import('./us-redirect-notification').then((mod) => {\n return mod.UsRedirectNotification\n }),\n { ssr: false },\n)\nconst PageSpecificBannerNotification = dynamic(\n () =>\n import('./page-specific-banner-notification').then((mod) => {\n return mod.PageSpecificBannerNotification\n }),\n { ssr: false },\n)\n\nexport const Notification = ({\n notification,\n}: {\n notification: NotificationSessionKeyTypesEnum | NotificationLocalKeyTypesEnum\n}) => {\n const [mounted, setMounted] = useState(false)\n\n const { getNotificationValue, setNotificationVisible } =\n useNotificationStore()\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n /* istanbul ignore next */\n const handleNotificationDismiss = () => {\n setNotificationVisible(notification, false)\n }\n\n const renderNotification = () => {\n if (!getNotificationValue(notification) || !mounted) {\n return <>\n }\n switch (notification) {\n case NotificationKeyTypesEnum.HOME:\n return \n\n case NotificationKeyTypesEnum.PRODUCT:\n return (\n \n )\n case NotificationKeyTypesEnum.SUPPORT:\n return (\n \n )\n case NotificationKeyTypesEnum.BROWSER:\n return (\n \n )\n case NotificationKeyTypesEnum.PAGE_SPECIFIC:\n return (\n \n )\n case NotificationKeyTypesEnum.US_REDIRECT:\n return \n }\n }\n\n return renderNotification()\n}\n","'use client'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { cva } from 'class-variance-authority'\nimport {\n useEffect,\n type ElementType,\n type FC,\n type HTMLAttributes,\n useState,\n} from 'react'\n\nconst hamburgerSpanVariants = cva(\n 'tw-absolute tw-block tw-h-0.5 tw-w-full tw-rounded-5xl tw-bg-grey10 tw-transition-all tw-will-change-[transform,_width]',\n {\n variants: {\n position: {\n first: 'tw-left-0 tw-top-0 tw-origin-[-3%_255%]',\n second: 'tw-top-1/2 tw-origin-center -tw-translate-y-1/2',\n third: 'tw-bottom-0 tw-right-0 tw-origin-[108%_-75%]',\n },\n active: {\n false: '',\n first: 'tw-w-1/2 tw-rotate-45',\n second: 'tw-w-4 -tw-rotate-45',\n third: 'tw-w-1/2 tw-rotate-45',\n },\n },\n defaultVariants: {\n active: false,\n },\n },\n)\n\ninterface HamburgerIconProps extends HTMLAttributes {\n active: boolean\n activeOnMount?: boolean\n as?: ElementType\n}\n\nexport const HamburgerIcon: FC = ({\n active,\n as,\n className,\n children,\n activeOnMount,\n ...props\n}) => {\n const Comp = as ?? 'div'\n const [isActive, setIsActive] = useState(active && activeOnMount)\n\n // This is a workaround as 2 hamburgers icons (Trigger and Close) are stacked on top of each other\n // in the Navigation component.\n useEffect(() => {\n setIsActive(active)\n }, [active])\n\n return (\n \n \n \n \n {children}\n \n )\n}\n","'use client'\n\nimport { createContext, useContext, useMemo } from 'react'\nimport type { ReactNode, FC, Dispatch, SetStateAction } from 'react'\n\nconst NotImplementedErrorMsg = 'Function not implemented'\n\nexport const TabsContext = createContext<{\n tabSelected: { label?: string; path?: string }\n isMobile: boolean\n defaultValue: string | undefined\n isTopMenuOpen: boolean\n setIsTopMenuOpen: Dispatch>\n setTabSelected: Dispatch>\n onValueChange: ((value: string) => void) | undefined\n}>({\n tabSelected: { label: '', path: '' },\n isMobile: false,\n defaultValue: '',\n isTopMenuOpen: false,\n setIsTopMenuOpen: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n setTabSelected: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n onValueChange: (): void => {\n throw new Error(NotImplementedErrorMsg)\n },\n})\n\nexport const useTabsContext = () => useContext(TabsContext)\n\nexport const TabsContextProvider: FC<{\n tabSelected: { label?: string; path?: string }\n isMobile: boolean\n isTopMenuOpen: boolean\n defaultValue: string | undefined\n setIsTopMenuOpen: Dispatch>\n setTabSelected: Dispatch>\n onValueChange: ((value: string) => void) | undefined\n children?: ReactNode | ReactNode[]\n}> = (props) => {\n const contextValue = useMemo(\n () => ({\n tabSelected: props.tabSelected,\n isMobile: props.isMobile,\n defaultValue: props.defaultValue,\n isTopMenuOpen: props.isTopMenuOpen,\n setIsTopMenuOpen: props.setIsTopMenuOpen,\n setTabSelected: props.setTabSelected,\n onValueChange: props.onValueChange,\n }),\n [\n props.tabSelected,\n props.isMobile,\n props.defaultValue,\n props.isTopMenuOpen,\n props.setIsTopMenuOpen,\n props.setTabSelected,\n props.onValueChange,\n ],\n )\n\n return (\n \n {props.children}\n \n )\n}\n","'use client'\n\nimport { forwardRef, useEffect, useRef, useState } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n LegacyRef,\n} from 'react'\nimport * as RadixTabs from '@radix-ui/react-tabs'\nimport { useIsMobileBreakpoint } from '@chaseweb/utils/useIsMobileBreakpoint'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Button, CustomSvg } from '../../atoms'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { TabsContextProvider, useTabsContext } from './tabs.context'\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\n\nconst Root = forwardRef<\n ElementRef,\n Omit<\n ComponentPropsWithoutRef,\n 'orientation' | 'activationMode'\n > & { defaultTabLabel?: string; defaultValue?: string }\n>(\n (\n {\n className,\n defaultValue,\n defaultTabLabel,\n onValueChange,\n children,\n ...props\n },\n ref,\n ) => {\n const [isTopMenuOpen, setIsTopMenuOpen] = useState(false)\n const isMobile = useIsMobileBreakpoint()\n const containerRef = useRef>(null)\n const [tabSelected, setTabSelected] = useState<{\n label?: string\n path?: string\n }>({ label: defaultTabLabel, path: defaultValue })\n\n const handleValueChange = (newValue: string) => {\n const tabEl = containerRef.current?.querySelectorAll(\n '[aria-selected=true]',\n )[0]\n if (onValueChange) {\n onValueChange(newValue)\n }\n setTabSelected({\n label: tabEl?.textContent as string,\n path: newValue,\n })\n }\n\n useEffect(() => {\n if (!defaultTabLabel && containerRef.current) {\n const tabEl = containerRef.current?.querySelectorAll(\n '[aria-selected=true]',\n )[0]\n\n setTabSelected({\n label: tabEl?.textContent as string,\n path: defaultValue as string,\n })\n }\n }, [defaultTabLabel, containerRef.current])\n\n return (\n \n <>\n {isMobile && (\n
    \n {children}\n
    \n )}\n {!isMobile && (\n \n {children}\n \n )}\n \n \n )\n },\n)\nRoot.displayName = 'Tabs.Root'\n\nconst List = forwardRef<\n ElementRef | HTMLDivElement,\n ComponentPropsWithoutRef & {\n 'data-testid'?: string\n mobileButtonClassName?: string\n mobileCloseTopMenuClassName?: string\n 'mobile-aria-label-close'?: string\n 'mobile-aria-label-open'?: string\n }\n>(\n (\n {\n className,\n 'data-testid': dataTestId,\n 'mobile-aria-label-close': mobileAriaLabelClose,\n 'mobile-aria-label-open': mobileAriaLabelOpen,\n mobileButtonClassName,\n mobileCloseTopMenuClassName,\n children,\n ...props\n },\n ref,\n // eslint-disable-next-line sonarjs/cognitive-complexity\n ) => {\n const containerRef = useRef(null)\n const mobileDropdownButtonRef = useRef>(null)\n\n const {\n tabSelected,\n isMobile,\n defaultValue,\n isTopMenuOpen,\n setIsTopMenuOpen,\n } = useTabsContext()\n\n let stateContainer\n if (isTopMenuOpen) {\n stateContainer = 'open'\n } else if (!isTopMenuOpen) {\n stateContainer = 'closed'\n }\n\n useEffect(() => {\n if (isTopMenuOpen && containerRef.current) {\n const handleResize = () => {\n setIsTopMenuOpen(false)\n }\n const handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape') {\n setIsTopMenuOpen(false)\n }\n }\n window.document.body.classList.add('ui-no-scroll')\n window.addEventListener('keydown', handleKeydown, false)\n window.addEventListener('resize', handleResize, false)\n return () => {\n window.document.body.classList.remove('ui-no-scroll')\n window.removeEventListener('keydown', handleKeydown, false)\n window.removeEventListener('resize', handleResize, false)\n }\n }\n }, [isTopMenuOpen])\n\n return (\n \n {isMobile ? (\n
    \n {\n setIsTopMenuOpen(!isTopMenuOpen)\n }}\n >\n \n \n {!tabSelected.label ? defaultValue : tabSelected.label}\n \n \n \n \n \n \n \n \n \n \n {\n setIsTopMenuOpen(!isTopMenuOpen)\n }}\n variant=\"link\"\n aria-label={mobileAriaLabelClose}\n tabIndex={isTopMenuOpen ? 0 : -1}\n className={cn(\n 'tw-fixed tw-right-3 tw-top-4 tw-text-grey10 tw-opacity-0 tw-transition-opacity',\n {\n 'tw-z-50 tw-opacity-100': isTopMenuOpen,\n },\n mobileCloseTopMenuClassName,\n )}\n data-testid={\n dataTestId && `${dataTestId}-mobile-close-tabs-button`\n }\n >\n \n \n\n \n \n {children}\n \n
    \n \n \n \n \n \n ) : (\n <>\n \n \n {children}\n \n \n\n \n \n )}\n \n )\n },\n)\n\nList.displayName = 'Tabs.List'\n\nconst Trigger = forwardRef<\n ElementRef | HTMLLIElement,\n ComponentPropsWithoutRef &\n HTMLAttributes & {\n 'mobile-aria-label'?: string\n 'aria-label'?: string\n }\n>(\n (\n {\n className,\n 'mobile-aria-label': mobileAriaLabel,\n 'aria-label': ariaLabel,\n children,\n value,\n ...props\n },\n ref,\n ) => {\n const buttonContainer = useRef(null)\n const {\n isMobile,\n tabSelected,\n isTopMenuOpen,\n setIsTopMenuOpen,\n onValueChange,\n setTabSelected,\n } = useTabsContext()\n const additionalProps = isMobile\n ? {\n tabIndex: 0,\n }\n : {}\n\n const [isActive, setIsActive] = useState('inactive')\n\n const handleClick = () => {\n setIsTopMenuOpen(!isTopMenuOpen)\n if (buttonContainer.current?.textContent != null) {\n setTabSelected({\n path: value,\n label: buttonContainer.current.textContent,\n })\n if (onValueChange) {\n onValueChange(value)\n }\n }\n }\n\n useEffect(() => {\n if (buttonContainer.current && tabSelected.path === value) {\n setIsActive('active')\n }\n })\n\n return (\n <>\n {isMobile && (\n
  • }>\n \n {children}\n \n
  • \n )}\n {!isMobile && (\n >}\n role={'tab'}\n aria-label={ariaLabel}\n className={cn(\n 'tw-bg-transparent tw-text-base tw-font-semibold tw-capitalize tw-text-grey10 focus-visible:tw-outline-none focus-visible:tw-ring-1 focus-visible:tw-ring-focusRing',\n 'tw-rounded-6xl tw-border tw-border-solid tw-border-transparent tw-bg-grey90 tw-px-6 tw-py-2 tw-transition-colors tw-duration-300 hover:tw-text-blue30',\n 'hover:tw-text-blue30 focus-visible:tw-text-blue30 hover:data-[state=active]:tw-border-grey60 focus-visible:data-[state=active]:tw-border-focusRing',\n 'data-[state=active]:tw-border-grey70 data-[state=active]:tw-bg-white data-[state=active]:tw-text-blue30',\n className,\n )}\n {...additionalProps}\n {...props}\n >\n {children}\n \n )}\n \n )\n },\n)\n\nTrigger.displayName = 'Tabs.Trigger'\n\nconst Content = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n const { isMobile } = useTabsContext()\n\n return (\n <>\n {!isMobile && (\n \n )}\n \n )\n})\n\nContent.displayName = 'Tabs.Content'\n\nexport { Root, List, Trigger, Content }\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport type { RuntimeConfiguration } from './runtime-configuration'\nconst TIMEOUT = 10000\nconst INTERVAL = 25\n\nexport const getChaseEnv = async (): Promise<\n RuntimeConfiguration | Record\n> => {\n if (typeof window !== 'undefined') {\n const startTime = Date.now()\n // eslint-disable-next-line no-prototype-builtins\n while (!window.hasOwnProperty('__chaseEnv__')) {\n const currentTime = Date.now()\n if (currentTime - startTime > TIMEOUT) break\n await new Promise((resolve) => setTimeout(resolve, INTERVAL))\n }\n // @ts-expect-error\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { __chaseEnv__ = {} } = window\n return __chaseEnv__\n }\n return {}\n}\n","'use client'\n\nimport { getChaseEnv } from '@chaseweb/utils/getChaseEnv'\nimport type { RuntimeConfiguration } from '@chaseweb/utils/runtime-configuration'\nimport { useEffect, useState } from 'react'\n\nfunction isRuntimeConfiguration(\n env: RuntimeConfiguration | Record,\n): env is RuntimeConfiguration {\n return typeof env === 'object' && env.hasOwnProperty('environment')\n}\n\nexport const useChaseEnv = () => {\n const [env, setEnv] = useState(null)\n useEffect(() => {\n const run = async () => {\n const env = await getChaseEnv()\n if (isRuntimeConfiguration(env)) {\n setEnv(env)\n }\n }\n run()\n }, [setEnv])\n return env\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { UserActionInterfaceType } from '@chaseweb/utils/tracking'\nimport { analytics } from '@chaseweb/utils/tracking'\nimport { useCallback } from 'react'\n\nexport const useOnClickTracked = (\n {\n actionName,\n sectionName,\n interfaceType,\n }: {\n actionName?: string\n sectionName?: string\n interfaceType: UserActionInterfaceType\n },\n onClick?: (...props: any) => void,\n) => {\n return useCallback(\n (...props: any) => {\n if (actionName && sectionName) {\n analytics.trackAction({\n actionName,\n sectionName,\n interfaceType,\n })\n }\n if (onClick) {\n onClick(...props)\n }\n },\n [actionName, sectionName, onClick, interfaceType],\n )\n}\n","import { usePathname } from 'next/navigation'\nimport { useEffect, useState } from 'react'\n\nexport const usePageTitle = () => {\n const pathname = usePathname()\n const [pageTitle, setPageTitle] = useState(null)\n\n useEffect(() => {\n const metaTag = document?.querySelector(\n 'meta[name=\"pageTitle\"]',\n )?.content\n if (metaTag) {\n setPageTitle(metaTag)\n } else {\n setPageTitle(document.title.split('|')[0].trim())\n }\n }, [pathname])\n\n return pageTitle\n}\n","export * from './useChaseEnv'\nexport * from './useHasRehydrated'\nexport * from './useOnClickTracked'\nexport * from './usePageTitle'\n","import type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Slot } from '@radix-ui/react-slot'\n\nconst Prose = forwardRef<\n HTMLDivElement,\n HTMLAttributes & { asChild?: boolean; as?: string }\n>(({ className, asChild, as, ...props }, ref) => {\n const Comp = asChild ? Slot : (as ?? 'div')\n return \n})\nProse.displayName = 'Prose'\n\nexport { Prose }\n","export * from './prose'\n","import type { AnalyticsConfig, AnalyticsEnvironment, MParticleConfig } from '..'\n\nlet environment: AnalyticsEnvironment | null = null\nlet mParticleConfig: MParticleConfig | null = null\n\nexport const analyticsConfig: AnalyticsConfig = {\n reset: function () {\n this.setEnvironment(null)\n this.setMParticleConfig(null)\n return this\n },\n\n setEnvironment: function (newEnvironment: AnalyticsEnvironment | null) {\n environment = newEnvironment\n return this\n },\n\n getEnvironment: function () {\n return environment\n },\n\n setMParticleConfig: function (newMParticleConfig: MParticleConfig | null) {\n mParticleConfig = newMParticleConfig\n return this\n },\n\n getMParticleConfig: function () {\n return mParticleConfig\n },\n}\n","import type { ActionEvent, PageViewEvent, PartialScreenEvent } from '.'\nimport type { SDKEventAttrs } from '@mparticle/web-sdk'\n\nexport enum AnalyticsEventType {\n SCREEN = 'Screen',\n PARTIAL_SCREEN = 'Partial Screen Load',\n USER_ACTION = 'User Action',\n}\n\nexport enum PartialScreenInterfaceType {\n MODAL = 'modal',\n POPUP = 'popup',\n INTERSTITIAL = 'interstitial',\n}\n\nexport enum UserActionInterfaceType {\n BUTTON = 'button',\n LINK = 'link',\n}\n\nexport const STRICTLY_NECESSARY_EVENTS: Array<\n Partial\n> = [\n { actionName: 'acceptAllCookies' },\n { actionName: 'manageCookieConsents' },\n { actionName: 'exitManageCookieConsentDetails' },\n { actionName: 'applyCookieConsents' },\n { partialScreenName: 'manageCookieConsents' },\n { partialScreenName: 'manageCookieConsentDetails' },\n { pageTitle: 'App-Only Error' },\n { pageTitle: 'Error 404' },\n { pageTitle: 'Customer unsubscribe' },\n]\n\nconst marketMappings: Record> = {\n 'gb/en': {\n market: 'UK',\n 'segment.id': 'GBRC',\n 'segment.entity': 'JPMEL',\n 'segment.business_type': 'Retail',\n 'segment.markets': 'UK',\n },\n 'de/de': {\n market: 'Germany',\n 'segment.id': 'DERC',\n 'segment.entity': 'JPMSE',\n 'segment.business_type': 'Retail',\n 'segment.markets': 'Germany',\n },\n}\n\nexport const getMarketMapping = (\n languagePath: string,\n): Record | undefined => {\n return marketMappings[languagePath]\n}\n","'use client'\n\nimport type { Cookie } from './types'\n\nexport const getAllCookies = (): Record => {\n return document.cookie\n .split(';')\n .map((v) => {\n const regex = /^([^=]+)=(.*)$/\n const match = regex.exec(v.trim())\n\n if (match) {\n const [, name, value] = match\n return [name, value]\n }\n\n return [null, null]\n })\n .reduce((acc: Record, [name, value]) => {\n if (name && value) {\n acc[decodeURIComponent(name.trim())] = decodeURIComponent(value.trim())\n }\n return acc\n }, {})\n}\n\nexport const getCookie = (name: string): Cookie | undefined => {\n if (typeof window !== 'undefined') {\n const value = getAllCookies()[name]\n\n return value\n ? {\n name,\n value,\n }\n : undefined\n }\n}\n\nexport const setCookie = (cookie: Cookie): Cookie => {\n const { name, value, expires, path, sameSite, domain } = cookie\n const expiresParam = expires ? `;expires=${expires}` : ''\n const pathParam = path ? `;path=${path}` : ''\n const sameSiteParam = sameSite ? `;SameSite=${sameSite}` : ''\n const domainParam = domain ? `;domain=${domain}` : ''\n document.cookie = `${name}=${value}${expiresParam}${pathParam}${sameSiteParam}${domainParam}`\n return cookie\n}\n\nexport const setCookieWithNoExpiry = (cookie: Cookie): Cookie =>\n setCookie({\n path: '/',\n sameSite: 'Lax',\n ...cookie,\n expires: '19 Jan 2038 04:14:07 GMT',\n })\n\nexport const deleteCookies = (\n names: string[],\n path?: string,\n domain?: string,\n): void => {\n names?.map((name) =>\n setCookie({\n name,\n value: '',\n expires: '01 Jan 1970 00:00:00 GMT',\n path,\n domain,\n }),\n )\n}\n","import { v4 as randomUuid } from 'uuid'\nimport { deleteCookies, getCookie, setCookieWithNoExpiry } from '../cookies'\n\nexport const OLD_PROSPECT_ID_COOKIE_NAME = 'prospect_id'\nexport const PROSPECT_ID_COOKIE_NAME = 'WebProspectId'\n\nexport const fetchProspectId = () => {\n const oldProspectID = getCookie(OLD_PROSPECT_ID_COOKIE_NAME)\n const existingProspectID = getCookie(PROSPECT_ID_COOKIE_NAME)\n\n if (existingProspectID) {\n deleteCookies([OLD_PROSPECT_ID_COOKIE_NAME])\n return existingProspectID.value\n } else if (oldProspectID) {\n deleteCookies([OLD_PROSPECT_ID_COOKIE_NAME])\n return setCookieWithNoExpiry({\n name: PROSPECT_ID_COOKIE_NAME,\n value: oldProspectID.value,\n }).value\n } else {\n return setCookieWithNoExpiry({\n name: PROSPECT_ID_COOKIE_NAME,\n value: randomUuid(),\n }).value\n }\n}\n","import { getCookie } from '../cookies'\n\nexport const utmParameter = [\n 'utm_source',\n 'utm_medium',\n 'utm_campaign',\n 'utm_content',\n 'utm_term',\n 'utm_dynamic',\n 'af_xp',\n 'af_sub1',\n 'ranMID',\n 'af_adset_id',\n 'af_sub_siteID',\n 'ranSiteID',\n 'af_click_lookback',\n 'ranEAID',\n 'clickid',\n 'af_siteid',\n 'pid',\n]\n\nexport const mediaUtmParameter = ['utm_source', 'utm_medium', 'utm_campaign']\n\nexport const getUtmParameters = () => {\n if (typeof window !== 'undefined') {\n const queryString = window.location.search\n const utmParameterKeyValues = {} as any\n if (queryString) {\n const urlParams = new URLSearchParams(queryString)\n urlParams.forEach((value, key) => {\n if (utmParameter.includes(key)) {\n utmParameterKeyValues[key] = value\n }\n })\n }\n return Object.keys(utmParameterKeyValues).length !== 0\n ? utmParameterKeyValues\n : undefined\n }\n return undefined\n}\n\nexport const getUtmParametersFromCookie = () => {\n const utmCookie = getCookie('utmParameters')\n return utmCookie?.value && JSON.parse(utmCookie.value)\n}\n","export const REDACTED = 'REDACTED'\nexport const ENCRYPTED_ID_REGEX = /^@\\S+==$/\nexport const UUID_REGEX =\n /^[0-9A-F]{8}-[0-9A-F]{4}-[12345][0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i\n\nexport const LOCAL_PHONE_NUMBER_1_REGEX =\n /^(.*[^\\d])?0(\\d{4}[\\s.-]?\\d{3}[\\s.-]?\\d{3}|\\d{3}[\\s.-]?\\d{3}[\\s.-]?\\d{4}|\\d{2}[\\s.-]?\\d{4}[\\s.-]?\\d{4})([^\\d].*)?$/\nexport const LOCAL_PHONE_NUMBER_2_REGEX =\n /^(.*[^\\d])?(\\(0\\d{4}\\)[\\s.-]?\\d{3}[\\s.-]?\\d{3}|\\(0\\d{3}\\)[\\s.-]?\\d{3}[\\s.-]?\\d{4}|\\(0\\d{2}\\)[\\s.-]?\\d{4}[\\s.-]?\\d{4})([^\\d].*)?$/\nexport const INTERNATIONAL_PHONE_NUMBER_1 =\n /(\\+44([\\s]?(\\(0\\)[\\s]?)?|[-.]))(\\d{4}[\\s.-]?\\d{3}[\\s.-]?\\d{3}|\\d{3}[\\s.-]?\\d{3}[\\s.-]?\\d{4}|\\d{2}[\\s.-]?\\d{4}[\\s.-]?\\d{4})([^\\d].*)?$/\nexport const INTERNATIONAL_PHONE_NUMBER_2 =\n /\\+44[\\s]?(\\(0\\d{4}\\)[\\s.-]?\\d{3}[\\s.-]?\\d{3}|\\(0\\d{3}\\)[\\s.-]?\\d{3}[\\s.-]?\\d{4}|\\(0\\d{2}\\)[\\s.-]?\\d{4}[\\s.-]?\\d{4})([^\\d].*)?$/\nexport const CREDIT_CARD_NUMBER = /^(?:\\d[ -.]*?){16}$/\n","import { REDACTED } from '.'\nimport {\n CREDIT_CARD_NUMBER,\n ENCRYPTED_ID_REGEX,\n INTERNATIONAL_PHONE_NUMBER_1,\n INTERNATIONAL_PHONE_NUMBER_2,\n LOCAL_PHONE_NUMBER_1_REGEX,\n LOCAL_PHONE_NUMBER_2_REGEX,\n UUID_REGEX,\n} from './pii'\n\nexport const isUUID = (value: string): boolean => UUID_REGEX.test(value)\n\nexport const isValidEncryptedId = (value?: string | null): boolean => {\n const match = value?.match(ENCRYPTED_ID_REGEX)\n return Boolean(match && match.length > 0)\n}\n\n/* Regular validator checks for mobile numbers only */\nconst containsPossibleLocalUKPhoneNumber = (value: string): boolean =>\n LOCAL_PHONE_NUMBER_1_REGEX.test(value) ||\n LOCAL_PHONE_NUMBER_2_REGEX.test(value)\n\nconst containsPossibleInternationalUKPhoneNumber = (value: string): boolean =>\n INTERNATIONAL_PHONE_NUMBER_1.test(value) ||\n INTERNATIONAL_PHONE_NUMBER_2.test(value)\n\nexport const containsPossibleUKPhoneNumber = (value: string): boolean =>\n containsPossibleLocalUKPhoneNumber(value) ||\n containsPossibleInternationalUKPhoneNumber(value)\n\nexport const containsPossibleCreditCardNumber = (value: string): boolean =>\n CREDIT_CARD_NUMBER.test(value)\n\nconst isEmailAddress = (email: string) => {\n if (email.split('@')[0].length > 64) {\n return false\n }\n const emailRegex =\n /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@(([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{2,})$/i\n return emailRegex.test(email)\n}\n\nexport const redactPii = (str: string): string => {\n return [\n containsPossibleUKPhoneNumber,\n isEmailAddress,\n containsPossibleCreditCardNumber,\n isUUID,\n ].some((_) => _(str))\n ? REDACTED\n : str\n}\n","import { setCookie } from '../cookies'\nimport { redactPii } from '../validators'\nimport { getUtmParameters } from './utmUtils'\n\nexport const captureUtmParameters = async () => {\n if (typeof window !== 'undefined') {\n const utmParameterKeyValues = await getUtmParameters()\n if (\n utmParameterKeyValues &&\n Object.keys(utmParameterKeyValues).length !== 0\n ) {\n setCookie({\n name: 'utmParameters',\n value: JSON.stringify(utmParameterKeyValues),\n })\n }\n }\n}\n\nconst redactedUrlHash = (hash?: string) => {\n if (!hash) {\n return null\n }\n\n const clippedHash = hash.substring(1)\n const hasMultipleParams = hash.includes('=')\n if (!hasMultipleParams) {\n return redactPii(clippedHash)\n }\n const redacted = new URLSearchParams(clippedHash)\n\n for (const [key, value] of redacted) {\n redacted.set(key, redactPii(value))\n }\n\n return redacted.toString()\n}\n\nexport const redactedUrl = (url?: URL): URL => {\n const result = new URL(url?.toString() ?? window.location.toString())\n\n result.hash = redactedUrlHash(result.hash) ?? ''\n const params = result.searchParams\n for (const key of params.keys()) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n params.set(key, redactPii(params.get(key)!))\n }\n return result\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport sdk from '@mparticle/web-sdk'\n\nimport type { CookieConsentsArgs } from '../../consents'\nimport { fetchProspectId } from '../../prospects'\nimport { getUtmParameters, redactedUrl } from '../../utmParameters'\nimport { REDACTED, redactPii } from '../../validators'\nimport type { InterfaceType, PageViewEvent } from '..'\nimport { analyticsConfig } from './config'\nimport {\n AnalyticsEventType,\n PartialScreenInterfaceType,\n STRICTLY_NECESSARY_EVENTS,\n getMarketMapping,\n} from '../constants'\nimport type { MParticleDataLayer, MParticleReferrerAttributes } from '.'\n\nexport const ADOBE_UTM = 'Adobe.UTM'\n\nexport const dataLayer: MParticleDataLayer = {\n pageTitle: null,\n appVersionBuild: null,\n environmentName: null,\n referrerUrl: null,\n referrerDomain: null,\n utmAttributes: null,\n partialScreenName: null,\n}\n\nexport const resetDataLayer = () => {\n dataLayer.pageTitle = null\n dataLayer.appVersionBuild = null\n dataLayer.environmentName = null\n dataLayer.referrerUrl = null\n dataLayer.referrerDomain = null\n dataLayer.utmAttributes = null\n dataLayer.partialScreenName = null\n}\n\nconst getPagePath = (url: URL) => url.toString().split(/[?#]/)[0]\n\nlet initialized = false\n\nconst languagePath = process.env.AEM_LANGUAGE_PATH ?? 'gb/en'\nconst marketAttributes = getMarketMapping(languagePath)\n\nexport const isInitialized = () => initialized\n\nexport const initSdk = async (callback?: () => void) => {\n const { environment, webProspectId, dataPlanId, dataPlanVersion, apiKey } =\n analyticsConfig.getMParticleConfig()!\n\n const identityCallback = (result: any) => {\n const user = result.getUser()\n if (user) {\n const webProspectId = fetchProspectId()\n user.setUserAttribute('webProspectId', webProspectId)\n initialized = true\n callback && callback()\n } else {\n // the IDSync call failed - see below for more details on failed requests\n }\n }\n\n const config = {\n isDevelopmentMode: environment !== 'production',\n v1SecureServiceUrl: 'www.chase.co.uk/mparticle/events/v1/',\n v2SecureServiceUrl: 'www.chase.co.uk/mparticle/events/v2/',\n v3SecureServiceUrl: 'www.chase.co.uk/mparticle/events/v3/',\n configUrl: 'www.chase.co.uk/mparticle/config/',\n identityUrl: 'www.chase.co.uk/mparticle/identity/v1/',\n aliasUrl: 'www.chase.co.uk/mparticle/v1/identity/',\n identifyRequest: {\n userIdentities: {\n other2: webProspectId,\n },\n },\n dataPlan: { planId: dataPlanId, planVersion: dataPlanVersion },\n identityCallback,\n }\n\n sdk.init(apiKey, config)\n}\n\nconst objectExcludingAttribute = (\n original: Record,\n attributeToExclude: string,\n): Record =>\n Object.keys(original).reduce((partial, currentAttribute) => {\n const shouldExcludeCurrentAttribute =\n currentAttribute === attributeToExclude\n return shouldExcludeCurrentAttribute\n ? partial\n : {\n ...partial,\n ...{ [currentAttribute]: original[currentAttribute] },\n }\n }, {})\n\nconst adobeUtmAttributes = (utmAttributes: Record) => {\n const params = new URLSearchParams()\n Object.entries(objectExcludingAttribute(utmAttributes, ADOBE_UTM)).forEach(\n ([key, value]) => {\n params.append(key, value)\n },\n )\n return params\n}\n\nconst redactedObject = (original: Record) =>\n Object.keys(original).reduce(\n (redacted, attribute) => ({\n ...redacted,\n ...{ [attribute]: redactPii(original[attribute]) },\n }),\n {},\n )\n\nconst getUtmAttributes = async () => {\n const attributes = redactedObject({\n ...((await getUtmParameters()) || {}),\n ...(dataLayer.utmAttributes ?? {}),\n })\n const attributesFound = Object.keys(attributes).length > 0\n\n return attributesFound\n ? {\n ...attributes,\n [ADOBE_UTM]: adobeUtmAttributes(attributes).toString(),\n }\n : {}\n}\n\nconst getReferrerAttributes = (): MParticleReferrerAttributes | null => {\n const referrerUrl = document.referrer\n\n if (referrerUrl) {\n const referrerDomain = new URL(referrerUrl).hostname\n\n return {\n referrerUrl,\n referrerDomain,\n 'Adobe.Referrer': referrerUrl,\n }\n }\n\n return null\n}\n\nexport const trackEvent = async ({\n mpEventName,\n type,\n eventName,\n interfaceType,\n pageSectionName,\n partialScreenTitle,\n backgroundPageTitle,\n}: {\n mpEventName: AnalyticsEventType\n type: AnalyticsEventType\n eventName: string\n interfaceType: InterfaceType\n pageSectionName?: string\n partialScreenTitle?: string\n backgroundPageTitle?: string\n}) => {\n if (backgroundPageTitle) {\n const environmentConfig = analyticsConfig.getEnvironment()\n dataLayer.environmentName = environmentConfig!.environmentName\n dataLayer.appVersionBuild = environmentConfig!.appVersionBuild\n dataLayer.pageTitle = backgroundPageTitle\n }\n if (partialScreenTitle) {\n dataLayer.partialScreenName = partialScreenTitle\n }\n const { pageTitle, partialScreenName, environmentName, appVersionBuild } =\n dataLayer\n const customAttributes: sdk.SDKEventAttrs = {\n pageUrl: redactedUrl().toString(),\n type,\n eventName,\n screenName: pageTitle,\n parent:\n pageSectionName &&\n Object.values(PartialScreenInterfaceType).includes(\n pageSectionName,\n )\n ? partialScreenName\n : pageTitle,\n interfaceType,\n environmentName,\n appVersionBuild,\n ...marketAttributes,\n }\n if (pageSectionName) {\n customAttributes.pageSectionName = pageSectionName\n }\n sdk.logEvent(mpEventName, sdk.EventType.Other, customAttributes)\n}\n\nexport const trackPageView = async (event: PageViewEvent) => {\n const { pageTitle } = event\n const { environmentName, appVersionBuild } = analyticsConfig.getEnvironment()!\n const url = redactedUrl()\n const utmAttributes = await getUtmAttributes()\n const referrerAttributes = getReferrerAttributes()\n const urlFragment = redactPii(url.hash.replace('#', ''))\n\n dataLayer.pageTitle = pageTitle\n dataLayer.environmentName = environmentName\n dataLayer.appVersionBuild = appVersionBuild\n dataLayer.utmAttributes = utmAttributes\n\n if (referrerAttributes) {\n dataLayer.referrerUrl = referrerAttributes.referrerUrl\n dataLayer.referrerDomain = referrerAttributes.referrerDomain\n }\n\n const customAttributes: any = {\n eventName: pageTitle,\n screenName: pageTitle,\n type: AnalyticsEventType.SCREEN,\n interfaceType: AnalyticsEventType.SCREEN,\n 'pageUrl.path': getPagePath(url),\n 'pageUrl.query': url.searchParams.toString(),\n pageUrl: url.toString(),\n appVersionBuild,\n environmentName,\n ...referrerAttributes,\n ...utmAttributes,\n ...marketAttributes,\n }\n\n if (urlFragment.trim().length > 0) {\n customAttributes['pageUrl.fragment'] =\n urlFragment !== REDACTED ? `#${urlFragment}` : urlFragment\n }\n\n sdk.logPageView('Web Page View', customAttributes)\n}\n\nexport const isTrackableWithoutConsent = (event: any): boolean => {\n return (STRICTLY_NECESSARY_EVENTS as any).some((rule: any) =>\n Object.keys(rule).every((key) => rule[key] === event[key]),\n )\n}\n\nexport const setConsents = (consents: CookieConsentsArgs) => {\n const consentState = sdk.Consent?.createConsentState()\n const user = sdk.Identity?.getCurrentUser()\n\n if (consentState && user) {\n consentState.addGDPRConsentState(\n 'Web Strictly Necessary',\n sdk.Consent.createGDPRConsent(\n consents.StrictlyNecessary,\n Date.now(),\n '',\n '',\n '',\n ),\n )\n consentState.addGDPRConsentState(\n 'Web Analytical',\n sdk.Consent.createGDPRConsent(\n consents.Analytical,\n Date.now(),\n '',\n '',\n '',\n ),\n )\n consentState.addGDPRConsentState(\n 'Web Performance',\n sdk.Consent.createGDPRConsent(\n consents.Performance,\n Date.now(),\n '',\n '',\n '',\n ),\n )\n consentState.addGDPRConsentState(\n 'Web Advertising and targeting',\n sdk.Consent.createGDPRConsent(\n consents.AdvertisingAndTargeting,\n Date.now(),\n '',\n '',\n '',\n ),\n )\n\n user.setConsentState(consentState)\n\n sdk.logEvent(\n 'GDPR Consent Changed',\n sdk.EventType.UserPreference,\n marketAttributes,\n )\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { type CookieConsentsArgs } from '../consents'\nimport { analyticsConfig } from './mparticle/config'\n\nimport { AnalyticsEventType } from './constants'\nimport type {\n ActionEvent,\n AnalyticsConfigProps,\n AnalyticsEvent,\n PageViewEvent,\n PartialScreenEvent,\n} from './types'\nimport {\n initSdk,\n isInitialized,\n setConsents,\n trackEvent,\n trackPageView,\n isTrackableWithoutConsent,\n} from './mparticle/helpers'\n\nexport const MPARTICLE_INIT_WARNING = 'MParticle SDK must be initialized'\n\nexport const isWindowDefined = (): boolean => typeof window !== 'undefined'\n\ninterface Analytics {\n init: (props: AnalyticsConfigProps) => void\n setConsents: (consents: CookieConsentsArgs) => void\n trackAction: (event: ActionEvent) => Promise\n trackPartialScreen: (event: PartialScreenEvent) => Promise\n trackPageView: (event: PageViewEvent) => Promise\n _hasAnalyticalConsent: boolean\n _preInitConsents: CookieConsentsArgs | null\n _blockedActionsEvents: ActionEvent[]\n _blockedPartialScreenEvents: PartialScreenEvent[]\n _blockedPageViewEvents: PageViewEvent[]\n _replayBlockedEvents: () => void\n _isTrackingAllowed: (event: AnalyticsEvent) => boolean\n}\n\nexport const analytics: Analytics = {\n _hasAnalyticalConsent: false,\n _preInitConsents: null,\n _blockedActionsEvents: [],\n _blockedPartialScreenEvents: [],\n _blockedPageViewEvents: [],\n\n init: function (props) {\n if (!isInitialized()) {\n analyticsConfig\n .setEnvironment(props.environment)\n .setMParticleConfig(props.mParticleConfig)\n void initSdk(() => {\n if (this._preInitConsents) {\n this.setConsents(this._preInitConsents)\n }\n })\n }\n },\n\n setConsents: function (consents) {\n if (isInitialized()) {\n this._hasAnalyticalConsent = consents.Analytical\n setConsents(consents)\n this._replayBlockedEvents()\n } else {\n this._preInitConsents = consents\n }\n },\n\n _isTrackingAllowed: function (event) {\n return (\n isWindowDefined() &&\n isInitialized() &&\n (this._hasAnalyticalConsent || isTrackableWithoutConsent(event))\n )\n },\n\n _replayBlockedEvents: function () {\n this._blockedActionsEvents.forEach((_) => {\n const currEvent = this._blockedActionsEvents.pop()!\n void this.trackAction(currEvent)\n })\n this._blockedPartialScreenEvents.forEach((_) => {\n const currEvent = this._blockedPartialScreenEvents.pop()!\n void this.trackPartialScreen(currEvent)\n })\n this._blockedPageViewEvents.forEach((_) => {\n const currEvent = this._blockedPageViewEvents.pop()!\n void this.trackPageView(currEvent)\n })\n },\n\n trackAction: async function (event) {\n if (!this._isTrackingAllowed(event)) {\n this._blockedActionsEvents.push(event)\n } else {\n const { actionName, interfaceType, sectionName } = event\n await trackEvent({\n mpEventName: AnalyticsEventType.USER_ACTION,\n type: AnalyticsEventType.USER_ACTION,\n eventName: actionName,\n interfaceType,\n pageSectionName: sectionName,\n })\n }\n },\n\n trackPartialScreen: async function (event) {\n if (!this._isTrackingAllowed(event)) {\n this._blockedPartialScreenEvents.push(event)\n } else {\n const { partialScreenName, interfaceType, backgroundPageTitle } = event\n await trackEvent({\n mpEventName: AnalyticsEventType.PARTIAL_SCREEN,\n type: AnalyticsEventType.PARTIAL_SCREEN,\n eventName: partialScreenName,\n interfaceType,\n backgroundPageTitle,\n partialScreenTitle: partialScreenName,\n })\n }\n },\n\n trackPageView: async function (event) {\n if (!this._isTrackingAllowed(event)) {\n this._blockedPageViewEvents.push(event)\n } else {\n await trackPageView(event)\n }\n },\n}\n","export const getTrackingLabel = ({\n contentKey,\n isScreenName,\n}: {\n contentKey: string\n isScreenName?: boolean\n}) => contentKey.split('.')[isScreenName ? 1 : 2]\n","/* eslint-disable @typescript-eslint/no-namespace */\n/* eslint no-restricted-imports: \"off\" */\nimport { v4 as uuid } from 'uuid'\n\nimport type {\n ActionEvent,\n AnalyticsConfigProps,\n AnalyticsEnvironment,\n MParticleConfig,\n PageViewEvent,\n PartialScreenEvent,\n} from '.'\nimport { PartialScreenInterfaceType, UserActionInterfaceType } from '.'\n\nconst appVersionBuild = uuid()\nconst apiKey = uuid()\nconst dataPlanId = uuid()\nconst webProspectId = uuid()\n\nexport namespace ChaseMocks {\n export namespace Analytics {\n export namespace Config {\n export const environment: AnalyticsEnvironment = {\n appVersionBuild,\n environmentName: 'test',\n }\n\n export const mParticleConfig: MParticleConfig = {\n environment: 'test',\n apiKey,\n dataPlanId,\n dataPlanVersion: 2,\n webProspectId,\n }\n\n export const props: AnalyticsConfigProps = {\n environment,\n mParticleConfig,\n }\n\n export const propsOfEnvironment = (\n env: string,\n ): AnalyticsConfigProps => ({\n environment: {\n appVersionBuild,\n environmentName: env,\n },\n mParticleConfig: {\n ...ChaseMocks.Analytics.Config.mParticleConfig,\n environment: env,\n },\n })\n }\n\n export const actionEvent = (\n interfaceType: UserActionInterfaceType = UserActionInterfaceType.BUTTON,\n ): ActionEvent => ({\n actionName: uuid(),\n interfaceType,\n sectionName: uuid(),\n })\n\n export const partialScreenEvent = (\n interfaceType: PartialScreenInterfaceType = PartialScreenInterfaceType.POPUP,\n ): PartialScreenEvent => ({\n partialScreenName: uuid(),\n interfaceType,\n })\n\n export const pageViewEvent = (): PageViewEvent => ({\n pageTitle: uuid(),\n })\n }\n}\n","export * from './analytics'\nexport * from './analyticsUtils'\nexport * from './mparticle/config'\nexport * from './constants'\nexport * from './mockAnalytics'\nexport * from './types'\n","import { deleteCookies, getCookie, setCookie } from '../cookies'\nimport type { CookieConsentsArgs, InitConsentsArgs } from './types'\n\nexport const COOKIE_CONSENTS = 'CookieConsents'\nexport const ONETRUST_ALERT_CLOSED = 'OptanonAlertBoxClosed'\nexport const ONETRUST_CONSENTS = 'OptanonConsent'\nconst PRODUCTION_HOST = 'www.chase.co.uk'\nconst PRODUCTION_ONE_TRUST_COOKIE_DOMAIN = '.chase.co.uk'\n\nlet setConsentsState: any\n\nexport const setCookieConsents = (value: CookieConsentsArgs): void => {\n const timestamp = value.timestamp || new Date()\n const consents = {\n ...value,\n timestamp: new Date(timestamp).toUTCString(),\n }\n const strValue = JSON.stringify(consents)\n const date = new Date()\n date.setFullYear(date.getFullYear() + 1) // adds 1 year\n setCookie({\n name: COOKIE_CONSENTS,\n value: strValue,\n expires: date.toUTCString(),\n path: '/',\n sameSite: 'Lax',\n })\n setConsentsState?.(consents)\n}\n\n// Deprecated - confusing API and returns value regardless of timestamp\n// use #getAllConsents\nexport const getConsents = (name?: string) => {\n const cookieConsents = getCookie(COOKIE_CONSENTS)\n if (cookieConsents?.value) {\n const cookieValue = JSON.parse(cookieConsents.value)\n return name ? cookieValue?.[name] : cookieValue\n }\n}\n\nconst consentsHaveExpired = (timestamp: string) => {\n const timestampNow = new Date().getTime()\n const dateCookie = new Date(timestamp)\n dateCookie.setFullYear(dateCookie.getFullYear() + 1) // adds 1 year\n return timestampNow > dateCookie.getTime()\n}\n\nexport const getAllConsents = (): CookieConsentsArgs | undefined => {\n const cookieConsents = getCookie(COOKIE_CONSENTS)\n if (cookieConsents?.value) {\n const cookieValue = JSON.parse(cookieConsents.value)\n if (consentsHaveExpired(cookieValue.timestamp)) return\n return cookieValue\n }\n}\n\nexport const mapOneTrustConsents = (cookieValue: any): void => {\n const { groups, timestamp } = cookieValue\n\n if (groups) {\n const mappedValue: CookieConsentsArgs = {\n StrictlyNecessary: groups.includes('C0001:1'),\n Analytical: groups.includes('C0002:1'),\n Performance: groups.includes('C0003:1'),\n AdvertisingAndTargeting: groups.includes('C0004:1'),\n timestamp,\n }\n\n setCookieConsents(mappedValue)\n }\n}\n\nexport const checkAndMapOneTrustConsents = (): void => {\n const inHouseConsentTimestamp = getConsents('timestamp')\n const oneTrustConsentTimestamp = getCookie(ONETRUST_ALERT_CLOSED)?.value\n if (oneTrustConsentTimestamp) {\n const oneTrustCookie = getCookie(ONETRUST_CONSENTS)\n const cookieURLSearchParams =\n oneTrustCookie && new URLSearchParams(oneTrustCookie.value)\n const groups = cookieURLSearchParams?.get('groups')\n ;(!inHouseConsentTimestamp ||\n new Date(oneTrustConsentTimestamp) > new Date(inHouseConsentTimestamp)) &&\n mapOneTrustConsents({ timestamp: oneTrustConsentTimestamp, groups })\n }\n deleteCookies(\n [ONETRUST_ALERT_CLOSED, ONETRUST_CONSENTS],\n '/',\n window.location.host === PRODUCTION_HOST\n ? PRODUCTION_ONE_TRUST_COOKIE_DOMAIN\n : undefined,\n )\n}\n\nexport const initConsents = ({ setState }: InitConsentsArgs) => {\n setConsentsState = setState\n checkAndMapOneTrustConsents()\n}\n","export * from './consents'\nexport * from './types'\n","export * from './prospects'\n","export * from './utmParameters'\nexport * from './utmUtils'\n","export * from './pii'\nexport * from './validators'\n","import { memo } from 'react'\n\nexport function getRandomNumberWithinRange(min: number, max: number): number {\n return Math.floor(Math.random() * (max - min) + min)\n}\n\nconst MarketingPixelNoMemo = ({ type }: { type: MarketingPixelId }) => {\n const { name, src } = MARKETING_PIXEL_INFO[type]\n\n return (\n \n )\n}\n\nexport const MarketingPixel = memo(MarketingPixelNoMemo)\n\nexport enum MarketingPixelId {\n GOOGLE_PAID_SEARCH,\n GOOGLE_ADS,\n GOOGLE_ADS_DOWNLOAD_CLICK,\n FACEBOOK,\n FACEBOOK_DOWNLOAD_CLICK,\n FACEBOOK_SEARCH_JOBS,\n GOOGLE_DCM,\n GOOGLE_DCM_DOWNLOAD_CLICK,\n TWITTER,\n TWITTER_SHORTLINK,\n TWITTER_DOWNLOAD_CLICK,\n TWITTER_SHORTLINK_DOWNLOAD_CLICK,\n YOUTUBE_PUBLIC,\n YOUTUBE_IN_HOUSE,\n YOUTUBE_MEDIACOM,\n}\n\nconst generateFloodlightOrderNumber = () =>\n getRandomNumberWithinRange(0, 10000000000000000)\n\nexport const MARKETING_PIXEL_INFO = {\n [MarketingPixelId.GOOGLE_PAID_SEARCH]: {\n name: 'Google Paid Search Pixel',\n src: 'https://www.googleadservices.com/pagead/conversion/665658870/?value=1&label=M-7OCOa85I4YEPbLtL0C&guid=ON&script=0',\n },\n [MarketingPixelId.GOOGLE_ADS]: {\n name: 'Google Ads Pixel',\n src: 'https://googleads.g.doubleclick.net/pagead/viewthroughconversion/665658870/?value=0&label=LM6yCPC6_t8BEPbLtL0C&guid=ON&script=0',\n },\n [MarketingPixelId.GOOGLE_ADS_DOWNLOAD_CLICK]: {\n name: 'Google Ads Download Click Pixel',\n src: 'https://googleads.g.doubleclick.net/pagead/viewthroughconversion/665658870/?value=0&label=AizBCKf44vwCEPbLtL0C&guid=ON&script=0',\n },\n [MarketingPixelId.FACEBOOK]: {\n name: 'Facebook Pixel',\n src: 'https://www.facebook.com/tr?id=182692723223268&ev=ViewContent&noscript=1',\n },\n [MarketingPixelId.FACEBOOK_DOWNLOAD_CLICK]: {\n name: 'Facebook Download Click Pixel',\n src: 'https://www.facebook.com/tr?id=182692723223268&ev=SubmitApplication&noscript=1',\n },\n [MarketingPixelId.FACEBOOK_SEARCH_JOBS]: {\n name: 'Facebook Search Jobs Pixel',\n src: 'https://www.facebook.com/tr?id=182692723223268&ev=applynow&noscript=1',\n },\n [MarketingPixelId.GOOGLE_DCM]: {\n name: 'Google DCM Pixel',\n src: `https://ad.doubleclick.net/ddm/activity/src=10005275;type=dynamo;cat=pagev0;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;gdpr=\\${GDPR};gdpr_consent=\\${GDPR_CONSENT_755};ord=${generateFloodlightOrderNumber()}?`,\n },\n [MarketingPixelId.GOOGLE_DCM_DOWNLOAD_CLICK]: {\n name: 'Google DCM Download Click Pixel',\n src: `https://ad.doubleclick.net/ddm/activity/src=10005275;type=dynamo;cat=conve00;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;gdpr=\\${GDPR};gdpr_consent=\\${GDPR_CONSENT_755};ord=${generateFloodlightOrderNumber()}?`,\n },\n [MarketingPixelId.TWITTER]: {\n name: 'Twitter Pixel',\n src: 'https://analytics.twitter.com/i/adsct?txn_id=o5hn0&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0',\n },\n [MarketingPixelId.TWITTER_SHORTLINK]: {\n name: 'Twitter Shortlink Pixel',\n src: '//t.co/i/adsct?txn_id=o5hn0&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0',\n },\n [MarketingPixelId.TWITTER_DOWNLOAD_CLICK]: {\n name: 'Twitter Download Click Pixel',\n src: 'https://analytics.twitter.com/i/adsct?txn_id=o6w77&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0',\n },\n [MarketingPixelId.TWITTER_SHORTLINK_DOWNLOAD_CLICK]: {\n name: 'Twitter Shortlink Download Click Pixel',\n src: '//t.co/i/adsct?txn_id=o6w77&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0',\n },\n [MarketingPixelId.YOUTUBE_PUBLIC]: {\n name: 'YouTube Public Advertiser Pixel',\n src: 'https://www.googleadservices.com/pagead/conversion/454491271/?label=WbG1CKr8g_MCEIf529gB&guid=ON&script=0&npa=1',\n },\n [MarketingPixelId.YOUTUBE_IN_HOUSE]: {\n name: 'YouTube In-House Advertiser Pixel',\n src: 'https://www.googleadservices.com/pagead/conversion/454493092/?label=UwAnCMqJ2PICEKSH3NgB&guid=ON&script=0&npa=1',\n },\n [MarketingPixelId.YOUTUBE_MEDIACOM]: {\n name: 'YouTube Mediacom Advertiser Pixel',\n src: 'https://www.googleadservices.com/pagead/conversion/10880092675/?label=l_bfCJOrzLADEIOUhMQo&guid=ON&script=0&npa=1',\n },\n}\n","export * from './MarketingPixel'\n","import { useEffect, useState } from 'react'\nimport type { MarketingPixelFragmentProps } from './types'\nimport { MarketingPixel, MarketingPixelId } from './components'\n\nexport const DEFAULT_PIXELS: MarketingPixelId[] = [\n MarketingPixelId.GOOGLE_ADS,\n MarketingPixelId.FACEBOOK,\n MarketingPixelId.GOOGLE_DCM,\n MarketingPixelId.TWITTER,\n MarketingPixelId.TWITTER_SHORTLINK,\n MarketingPixelId.YOUTUBE_PUBLIC,\n MarketingPixelId.YOUTUBE_IN_HOUSE,\n MarketingPixelId.YOUTUBE_MEDIACOM,\n]\n\nexport const MarketingPixelsFragment = ({\n marketingPixels = [],\n appendDefaults = true,\n hasAdTargetingConsent = false,\n}: MarketingPixelFragmentProps) => {\n const [firstRender, setFirstRender] = useState(true)\n\n const pixels = appendDefaults\n ? [...DEFAULT_PIXELS, ...marketingPixels]\n : marketingPixels\n\n useEffect(() => {\n setFirstRender(false)\n }, [])\n\n if (firstRender || !hasAdTargetingConsent) return null\n\n return (\n <>\n {pixels.map((type) => (\n \n ))}\n \n )\n}\n","import { useCallback, useState, type FC } from 'react'\nimport { MarketingPixelId, MarketingPixelsFragment } from '.'\n\nexport const useDownloadConversionPixelsFragment = ({\n hasAdTargetingConsent,\n}: {\n hasAdTargetingConsent: boolean\n}) => {\n const [firePixels, setFirePixels] = useState(false)\n\n const triggerConversionPixels = useCallback(() => {\n setFirePixels(true)\n }, [])\n\n const DownloadConversionPixelsFragment: FC = useCallback(\n () => (\n <>\n {firePixels && (\n \n )}\n \n ),\n [firePixels],\n )\n\n return {\n DownloadConversionPixelsFragment,\n triggerConversionPixels,\n }\n}\n","import { useCallback, useState, type FC } from 'react'\nimport { MarketingPixelId, MarketingPixelsFragment } from '.'\n\nexport const useJobSearchPixelsFragment = ({\n hasAdTargetingConsent,\n}: {\n hasAdTargetingConsent: boolean\n}) => {\n const [firePixels, setFirePixels] = useState(false)\n\n const triggerJobSearchEventPixels = useCallback(() => {\n setFirePixels(true)\n }, [])\n\n const JobSearchPixelsFragment: FC = useCallback(\n () => (\n <>\n {firePixels && (\n \n )}\n \n ),\n [firePixels],\n )\n\n return {\n JobSearchPixelsFragment,\n triggerJobSearchEventPixels,\n }\n}\n","export * from './components'\nexport * from './MarketingPixelsFragment'\nexport * from './useDownloadConversionPixelsFragment'\nexport * from './useJobSearchPixelsFragment'\nexport * from './types'\n","export * from './analytics'\nexport * from './consents'\nexport * from './cookies'\nexport * from './prospects'\nexport * from './utmParameters'\nexport * from './validators'\nexport * from './marketing-pixels'\n","import type { SVGSpriteComponent } from '../types'\n\nconst Accessibility: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\n\nAccessibility.displayName = 'SVG.Accessibility'\nconst AccessibilityConfigProps = { viewBox: '0 0 24 24', width: '24px' }\nexport { Accessibility, AccessibilityConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst AddMoney: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nAddMoney.displayName = 'SVG.AddMoney'\nconst AddMoneyConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { AddMoney, AddMoneyConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst App: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\nApp.displayName = 'SVG.App'\nconst AppConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { App, AppConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ArrowDown: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nArrowDown.displayName = 'SVG.ArrowDown'\nconst ArrowDownConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { ArrowDown, ArrowDownConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ArrowLeft: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nArrowLeft.displayName = 'SVG.ArrowLeft'\nconst ArrowLeftConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { ArrowLeft, ArrowLeftConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ArrowRight: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nArrowRight.displayName = 'SVG.ArrowRight'\nconst ArrowRightConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { ArrowRight, ArrowRightConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Calendar: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nCalendar.displayName = 'SVG.Calendar'\nconst CalendarConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { Calendar, CalendarConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Card: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\nCard.displayName = 'SVG.Card'\nconst CardConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { Card, CardConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Check: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\n\nCheck.displayName = 'SVG.Check'\nconst CheckConfigProps = { width: '24', height: '24' }\nexport { Check, CheckConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst CheckFill: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\n\nCheckFill.displayName = 'SVG.CheckFill'\nconst CheckFillConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { CheckFill, CheckFillConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Clear: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\nClear.displayName = 'SVG.Clear'\nconst ClearConfigProps = { width: '24', height: '24', viewBox: '0 0 24 24' }\nexport { Clear, ClearConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Close: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\n\nClose.displayName = 'SVG.Close'\nconst CloseConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Close, CloseConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Copy: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\n\nCopy.displayName = 'SVG.Copy'\nconst CopyConfigProps = { width: '24', height: '24' }\nexport { Copy, CopyConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Dash: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nDash.displayName = 'SVG.Dash'\nconst DashConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Dash, DashConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ErrorStatus: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nErrorStatus.displayName = 'SVG.ErrorStatus'\nconst ErrorStatusConfigProps = {\n width: '24',\n height: '24',\n viewBox: '0 0 24 24',\n}\nexport { ErrorStatus, ErrorStatusConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ExternalLink: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nExternalLink.displayName = 'SVG.ExternalLink'\nconst ExternalLinkConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { ExternalLink, ExternalLinkConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Home: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\nHome.displayName = 'SVG.Home'\nconst HomeConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { Home, HomeConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst InformationStatus: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nInformationStatus.displayName = 'SVG.InformationStatus'\nconst InformationStatusConfigProps = {\n width: '24',\n height: '24',\n viewBox: '0 0 24 24',\n}\nexport { InformationStatus, InformationStatusConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst IsaAccount: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\nIsaAccount.displayName = 'SVG.IsaAccount'\nconst IsaAccountConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { IsaAccount, IsaAccountConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Phone: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n \n )\n}\n\nPhone.displayName = 'SVG.Phone'\nconst PhoneConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Phone, PhoneConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst PrivacyPolicy: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nPrivacyPolicy.displayName = 'SVG.PrivacyPolicy'\nconst PrivacyPolicyConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { PrivacyPolicy, PrivacyPolicyConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Question: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\n\nQuestion.displayName = 'SVG.Question'\nconst QuestionConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Question, QuestionConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst QuickAccount: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\nQuickAccount.displayName = 'SVG.QuickAccount'\nconst QuickAccountConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { QuickAccount, QuickAccountConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst RedirectIcon: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nRedirectIcon.displayName = 'SVG.RedirectIcon'\nconst RedirectIconConfigProps = {\n width: '24',\n height: '24',\n viewBox: '0 0 24 24',\n}\nexport { RedirectIcon, RedirectIconConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst RoundUp: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n \n )\n}\nRoundUp.displayName = 'SVG.RoundUp'\nconst RoundUpConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { RoundUp, RoundUpConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Search: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => {\n return (\n \n {children}\n \n \n )\n}\nSearch.displayName = 'SVG.Search'\nconst SearchConfigProps = {\n width: '20',\n height: '20',\n viewBox: '0 0 20 20',\n}\nexport { Search, SearchConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Security: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nSecurity.displayName = 'SVG.Security'\nconst SecurityConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { Security, SecurityConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst SharedAccounts: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nSharedAccounts.displayName = 'SVG.SharedAccounts'\nconst SharedAccountsConfigProps = { width: '24px', viewBox: '0 0 24 24' }\nexport { SharedAccounts, SharedAccountsConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst SuccessStatus: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nSuccessStatus.displayName = 'SVG.SuccessStatus'\nconst SuccessStatusConfigProps = {\n width: '24',\n height: '24',\n viewBox: '0 0 24 24',\n}\nexport { SuccessStatus, SuccessStatusConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Tick: SVGSpriteComponent = ({\n children,\n role,\n spriteFilePath,\n 'aria-label': ariaLabel,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nTick.displayName = 'SVG.Tick'\nconst TickConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Tick, TickConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst WarningStatus: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\n\nWarningStatus.displayName = 'SVG.WarningStatus'\nconst WarningStatusConfigProps = {\n width: '24',\n height: '24',\n viewBox: '0 0 24 24',\n}\nexport { WarningStatus, WarningStatusConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Facebook: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nFacebook.displayName = 'SVG.Facebook'\nconst FacebookConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Facebook, FacebookConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Instagram: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nInstagram.displayName = 'SVG.Instagram'\nconst InstagramConfigProps = { width: '24', viewBox: '1 1 22 22' }\nexport { Instagram, InstagramConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst LinkedIn: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nLinkedIn.displayName = 'SVG.LinkedIn'\nconst LinkedInConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { LinkedIn, LinkedInConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Twitter: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nTwitter.displayName = 'SVG.Twitter'\nconst TwitterConfigProps = { width: '24', viewBox: '0 0 24 24' }\nexport { Twitter, TwitterConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst X: SVGSpriteComponent = ({ children, spriteFilePath, ...props }) => (\n \n {children}\n \n \n \n \n)\nX.displayName = 'SVG.X'\nconst XConfigProps = { width: '24', viewBox: '-3 -3 30 30' }\nexport { X, XConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst YouTube: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nYouTube.displayName = 'SVG.YouTube'\nconst YouTubeConfigProps = { width: '24', viewBox: '1 1 22 20' }\nexport { YouTube, YouTubeConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\n// NOTE: do not modify the styling or colours of this logo.\n// It is provided by a third party with stipulations on its use: https://developer.apple.com/app-store/marketing/guidelines/\n\nconst AppleAppStore: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n \n )\n}\nAppleAppStore.displayName = 'SVG.AppleAppStore'\nconst AppleAppStoreConfigProps = {\n width: '121px',\n height: '40px',\n viewBox: '0 0 121 40',\n}\nexport { AppleAppStore, AppleAppStoreConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ChaseLogo: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n \n \n \n \n \n \n \n )\n}\nChaseLogo.displayName = 'SVG.ChaseLogo'\nconst ChaseLogoConfigProps = {\n viewBox: '0 0 132 24',\n}\nexport { ChaseLogo, ChaseLogoConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst ChaseOctagon: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nChaseOctagon.displayName = 'SVG.ChaseOctagon'\nconst ChaseOctagonConfigProps = { viewBox: '0 0 26 24' }\nexport { ChaseOctagon, ChaseOctagonConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\n// NOTE: do not modify the styling or colours of this logo.\n// It is provided by a third party with stipulations on its use: https://play.google.com/intl/en_us/badges/\n\nconst GooglePlay: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n \n \n \n \n \n \n )\n}\nGooglePlay.displayName = 'SVG.GooglePlay'\nconst GooglePlayConfigProps = {\n viewBox: '0 0 137.44 40.74',\n width: '135px',\n height: '40px',\n}\nexport { GooglePlay, GooglePlayConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Information: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n \n )\n}\nInformation.displayName = 'SVG.Information'\nconst InformationConfigProps = {\n width: '24px',\n height: '24px',\n viewBox: '0 0 24 24',\n}\nexport { Information, InformationConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst InformationBlueRing: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n \n \n \n \n )\n}\n\nInformationBlueRing.displayName = 'SVG.InformationBlueRing'\nconst InformationBlueRingConfigProps = {\n width: '128px',\n height: '128px',\n viewBox: '0 0 128 128',\n}\nexport { InformationBlueRing, InformationBlueRingConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst NutmegIcon: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n \n )\n}\nNutmegIcon.displayName = 'SVG.NutmegIcon'\nconst NutmegIconConfigProps = { width: '40px', viewBox: '0 0 24 24' }\nexport { NutmegIcon, NutmegIconConfigProps }\n","import type { SVGSpriteComponent } from '../types'\n\nconst Speedometer: SVGSpriteComponent = ({\n children,\n spriteFilePath,\n ...props\n}) => {\n return (\n \n {children}\n \n \n )\n}\nSpeedometer.displayName = 'SVG.Speedometer'\nconst SpeedometerConfigProps = { width: '20px', viewBox: '0 0 20 18' }\nexport { Speedometer, SpeedometerConfigProps }\n","// Icons\nexport { AccessibilityConfigProps } from './icons/accessibility'\nexport { AddMoneyConfigProps } from './icons/add-money'\nexport { AppConfigProps } from './icons/app'\nexport { ArrowDownConfigProps } from './icons/arrow-down'\nexport { ArrowLeftConfigProps } from './icons/arrow-left'\nexport { ArrowRightConfigProps } from './icons/arrow-right'\nexport { CalendarConfigProps } from './icons/calendar'\nexport { CardConfigProps } from './icons/card'\nexport { CheckConfigProps } from './icons/check'\nexport { CheckFillConfigProps } from './icons/check-fill'\nexport { ClearConfigProps } from './icons/clear'\nexport { CloseConfigProps } from './icons/close'\nexport { CopyConfigProps } from './icons/copy'\nexport { DashConfigProps } from './icons/dash'\nexport { ErrorStatusConfigProps } from './icons/error-status'\nexport { ExternalLinkConfigProps } from './icons/external-link'\nexport { HomeConfigProps } from './icons/home'\nexport { InformationStatusConfigProps } from './icons/information-status'\nexport { IsaAccountConfigProps } from './icons/isa-account'\nexport { PhoneConfigProps } from './icons/phone'\nexport { PrivacyPolicyConfigProps } from './icons/privacy-policy'\nexport { QuestionConfigProps } from './icons/question'\nexport { QuickAccountConfigProps } from './icons/quick-account'\nexport { RedirectIconConfigProps } from './icons/redirect-icon'\nexport { RoundUpConfigProps } from './icons/round-up'\nexport { SearchConfigProps } from './icons/search'\nexport { SecurityConfigProps } from './icons/security'\nexport { SharedAccountsConfigProps } from './icons/shared-accounts'\nexport { SuccessStatusConfigProps } from './icons/success-status'\nexport { TickConfigProps } from './icons/tick'\nexport { WarningStatusConfigProps } from './icons/warning-status'\n\n// Social icons\nexport { FacebookConfigProps } from './social/facebook'\nexport { InstagramConfigProps } from './social/instagram'\nexport { LinkedInConfigProps } from './social/linkedin'\nexport { TwitterConfigProps } from './social/twitter'\nexport { XConfigProps } from './social/x'\nexport { YouTubeConfigProps } from './social/youtube'\n\n// Others\nexport { AppleAppStoreConfigProps } from './other/apple-app-store'\nexport { ChaseLogoConfigProps } from './other/chase-logo'\nexport { ChaseOctagonConfigProps } from './other/chase-octagon'\nexport { GooglePlayConfigProps } from './other/google-play'\nexport { InformationConfigProps } from './other/information'\nexport { InformationBlueRingConfigProps } from './other/information-blue-ring'\nexport { NutmegIconConfigProps } from './other/nutmeg-icon'\nexport { SpeedometerConfigProps } from './other/speedometer'\n","import { memo } from 'react'\nimport * as SVGConfigProps from './exports.client'\nimport type { SVGSpriteProps, SvgType } from './types'\n\nconst excludePropsIconList: SvgType[] = [\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'Close',\n 'Dash',\n 'ExternalLink',\n 'Tick',\n]\n\ninterface SVGProps extends SVGSpriteProps {\n name: SvgType\n}\n\nexport const CustomSvg = memo(\n ({ name, role, 'aria-label': ariaLabel, children, ...props }: SVGProps) => {\n const compConfigProps = SVGConfigProps[`${name}ConfigProps`]\n\n const defaultProps = excludePropsIconList.includes(name)\n ? {}\n : {\n role: role ?? 'img',\n 'aria-label': ariaLabel ?? name.replace(/([^A-Z])([A-Z])/g, '$1 $2'),\n }\n\n const allProps = {\n ...defaultProps,\n ...compConfigProps,\n ...props,\n }\n return (\n \n {children}\n \n \n )\n },\n)\nCustomSvg.displayName = 'CustomSvg'\n","export * from './svg'\nexport type { SvgType } from './types'\n","export default {\"src\":\"/gb/en/_next/static/media/BBA_Winner_Best_current_account_provider.285489b6.svg\",\"height\":64,\"width\":235,\"blurWidth\":0,\"blurHeight\":0};","export * as ScreenReader from './screen-reader'\n","export * from './dialog'\n","import { cn } from '@chaseweb/utils/cn'\nimport type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\n\nexport const Loader = forwardRef<\n HTMLOutputElement,\n HTMLAttributes & {\n size?: 'small' | 'large'\n classNameOuterCircle?: string\n classNameInnerCircle?: string\n classNamePaintedEl?: string\n }\n>(\n (\n {\n size = 'large',\n className,\n classNameOuterCircle,\n classNameInnerCircle,\n classNamePaintedEl,\n 'aria-label': ariaLabel = 'Loading...',\n ...props\n },\n ref,\n ) => (\n \n \n \n \n \n {ariaLabel}\n \n ),\n)\nLoader.displayName = 'Loader'\n","export * from './loader'\n","export * from './scroll-top-button'\n","export * from './toast'\n","export * from './hamburger-icon'\n","import { forwardRef } from 'react'\nimport type { HTMLAttributes } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\n\nconst Root = forwardRef>(\n ({ className, ...props }, ref) => (\n \n ),\n)\nRoot.displayName = 'Avatar.Root'\n\nconst ImageWrapper = forwardRef<\n HTMLDivElement,\n HTMLAttributes & {\n classNameWrapper?: string\n }\n>(({ className, classNameWrapper, ...props }, ref) => {\n return (\n \n \n \n )\n})\nImageWrapper.displayName = 'Avatar.ImageWrapper'\n\nconst Content = forwardRef>(\n ({ className, ...props }, ref) => (\n
    \n ),\n)\nContent.displayName = 'Avatar.Content'\n\nconst Name = forwardRef>(\n ({ className, ...props }, ref) => (\n
    \n ),\n)\nName.displayName = 'Avatar.Title'\n\nconst Info = forwardRef>(\n ({ className, ...props }, ref) => (\n
    \n ),\n)\nInfo.displayName = 'Avatar.Title'\n\nexport { Root, ImageWrapper, Content, Name, Info }\n","export * as Avatar from './avatar'\n","export * from './qr-code'\n","export * from './toggle'\n","import { cn } from '@chaseweb/utils/cn'\nimport type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\n\nconst Callout = forwardRef>(\n ({ className, children, ...props }, ref) => {\n return (\n \n {children}\n
    \n )\n },\n)\nCallout.displayName = 'Callout'\n\nexport { Callout }\n","export * from './callout'\n","export * from './screen-reader'\nexport * from './dialog'\nexport * from './loader'\nexport * from './scroll-top-button'\nexport * from './toast'\nexport * from './button'\nexport * from './heading'\nexport * from './card-profile'\nexport * from './svg'\nexport * from './hamburger-icon'\nexport * from './prose'\nexport * from './avatar'\nexport * from './qr-code'\nexport * from './toggle'\nexport * from './callout'\n","'use client'\nimport { ScreenReader } from '@chaseweb/ui-library/src'\nimport { analytics, UserActionInterfaceType } from '@chaseweb/utils/tracking'\n// the one place you should actually import this\n// eslint-disable-next-line no-restricted-imports\nimport NextLink from 'next/link'\nimport type { PropsWithChildren } from 'react'\nimport React, { useCallback } from 'react'\nimport type { UrlObject } from 'url'\n\nimport type { RelativePathOrHrefExternalType, RelativePathType } from '@/types'\n\nexport const NEW_WINDOW_WARNING_STRING = ' (Opens in new window)'\n\ninterface EnhancedUrlObject extends UrlObject {\n pathname?: RelativePathType\n}\ninterface BaseLink extends PropsWithChildren {\n href: RelativePathOrHrefExternalType | EnhancedUrlObject\n target?: '_blank'\n tabIndex?: number\n onClick?: React.MouseEventHandler\n onKeyDown?: React.KeyboardEventHandler\n className?: string\n resetFocusAfterClick?: boolean\n}\n\nexport interface TrackedLinkProps extends BaseLink {\n trackingActionLabel: string\n sectionLabel: string\n notTracked?: never\n}\n\nexport interface UntrackedLinkProps extends BaseLink {\n trackingActionLabel?: never\n sectionLabel?: never\n notTracked: boolean\n}\n\nexport type LinkProps = TrackedLinkProps | UntrackedLinkProps\n\nconst handleInternalLinkTrailingSlash = (\n to: string,\n): RelativePathOrHrefExternalType => {\n if (to.endsWith('.html')) {\n // this should be done at the parseContent level\n return to.replace('.html', '/') as RelativePathOrHrefExternalType\n }\n return to as RelativePathOrHrefExternalType\n}\n\nexport function Link({\n notTracked,\n trackingActionLabel,\n sectionLabel,\n href,\n target,\n tabIndex,\n onClick,\n onKeyDown,\n children,\n resetFocusAfterClick,\n ...props\n}: LinkProps) {\n const handleOnClick = useCallback>(\n (...args) => {\n if (!notTracked && trackingActionLabel && sectionLabel) {\n analytics.trackAction({\n actionName: trackingActionLabel,\n sectionName: sectionLabel,\n interfaceType: UserActionInterfaceType.LINK,\n })\n }\n\n if (\n resetFocusAfterClick &&\n document.activeElement &&\n 'blur' in document.activeElement &&\n typeof document.activeElement.blur === 'function'\n ) {\n document.activeElement.blur()\n }\n if (onClick) {\n onClick(...args)\n }\n },\n [\n notTracked,\n trackingActionLabel,\n sectionLabel,\n resetFocusAfterClick,\n onClick,\n ],\n )\n\n if (!href && !onClick) {\n console.warn('possible broken link')\n return null\n }\n\n if (typeof href === 'string') {\n const isExternal = /^https?:\\/\\//.test(href) || target === '_blank'\n const isMailTo = href.startsWith('mailto:')\n const isTel = href.startsWith('tel:')\n\n if (isMailTo || isTel) {\n return (\n \n {children}\n \n )\n }\n\n if (isExternal) {\n return (\n \n {children}\n \n {NEW_WINDOW_WARNING_STRING}\n \n \n )\n }\n }\n const fixedHref =\n typeof href === 'string' ? handleInternalLinkTrailingSlash(href) : href\n return (\n \n {children}\n \n )\n}\n","export function isDescendant(parent: Element, child: Element) {\n let node = child.parentNode\n while (node != null) {\n if (node === parent) {\n return true\n }\n node = node.parentNode\n }\n return false\n}\n","import { isDescendant } from './isDescendant'\n\nexport const trapFocus = (element: HTMLElement) => {\n let firstFocusableEl: HTMLElement\n let lastFocusableEl: HTMLElement\n const callback = () => {\n const focusableEls = element.querySelectorAll(\n 'a:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled])',\n )\n\n firstFocusableEl = focusableEls[0]\n lastFocusableEl = focusableEls[focusableEls.length - 1]\n\n const { activeElement } = document\n if (!activeElement || !isDescendant(element, activeElement)) {\n firstFocusableEl?.focus()\n }\n }\n\n const observer = new MutationObserver(callback)\n observer.observe(element, {\n subtree: true,\n childList: true,\n })\n\n callback()\n const handleKeyDown = (e: KeyboardEvent) => {\n const isTabPressed = e.key === 'Tab'\n if (!isTabPressed) {\n return\n }\n const { activeElement } = document\n if (\n !activeElement ||\n !isDescendant(element, activeElement) ||\n (activeElement === lastFocusableEl && !e.shiftKey)\n ) {\n firstFocusableEl.focus()\n e.preventDefault()\n } else if (e.shiftKey && activeElement === firstFocusableEl) {\n lastFocusableEl.focus()\n e.preventDefault()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n observer.disconnect()\n }\n}\n","'use client'\n\nimport { useSplitStore } from '@chaseweb/utils/split'\n\ninterface InlineFeatureFlagProps {\n flagName: string\n children?: string\n}\n\ntype InlineFlagParseConfig = {\n inlineText: string\n}\n\nexport const InlineFeatureFlag = ({\n flagName,\n children = '',\n}: InlineFeatureFlagProps) => {\n /* istanbul ignore next */\n const client = useSplitStore((state) => state.clients.user)\n const treatmentValue = JSON.parse(\n client?.getTreatmentWithConfig(flagName).config ?? `{}`,\n ) as InlineFlagParseConfig\n return <> {treatmentValue.inlineText || children} \n}\n","'use client'\n\nimport { Button } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\nimport { useSplitStore } from '@chaseweb/utils/split'\nimport { usePathname } from 'next/navigation'\nimport type { ComponentPropsWithoutRef } from 'react'\nimport { useEffect, useMemo, useState } from 'react'\n\nimport { DownloadLink } from '@/components'\nimport { useCTAStore } from '@/lib/stores'\n\ninterface CtaLinkProps extends ComponentPropsWithoutRef {\n className?: string\n 'data-test-resolution': 'desktop' | 'mobile'\n}\n\nconst CtaLink = ({\n className,\n 'data-test-resolution': dataTestResolution,\n ...props\n}: CtaLinkProps) => (\n \n)\n\nexport const MobileHeaderCta = (\n props: Omit, 'data-test-resolution'>,\n) => {\n return \n}\n\nexport const DesktopHeaderCta = (\n props: Omit, 'data-test-resolution'>,\n) => {\n const pathname = usePathname()\n const [isVisible, setIsVisible] = useState(false)\n const { heroCtaRef, alwaysVisible } = useCTAStore()\n\n const client = useSplitStore((state) => state.clients.user)\n\n const isPermanentlyVisible = useMemo(() => {\n const pathListRegex = /^\\/?((hub)|(media)|(updates-from-chase))\\//\n return pathListRegex.test(pathname)\n }, [pathname])\n\n useEffect(() => {\n if (!isPermanentlyVisible && client) {\n if (alwaysVisible) {\n setIsVisible(true)\n } else {\n const checkIfHeroButtonIsVisible: IntersectionObserverCallback = (\n entries,\n ) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setIsVisible(false)\n } else {\n setIsVisible(true)\n }\n })\n }\n const options = {\n rootMargin: '10px',\n threshold: [1],\n root: null,\n }\n const observer = new IntersectionObserver(\n checkIfHeroButtonIsVisible,\n options,\n )\n\n if (heroCtaRef?.current) {\n observer.observe(heroCtaRef.current)\n } else {\n setIsVisible(false)\n }\n\n return () => {\n observer.disconnect()\n }\n }\n }\n }, [heroCtaRef, isPermanentlyVisible, client, alwaysVisible])\n\n const isHidden = !isPermanentlyVisible && !isVisible\n\n return (\n \n )\n}\n","/* eslint-disable sonarjs/no-duplicate-string */\nimport type { HTMLAttributes } from 'react'\nimport { forwardRef } from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport type { VariantProps } from 'class-variance-authority'\nimport { cva } from 'class-variance-authority'\nimport { Slot } from '@radix-ui/react-slot'\n\nexport type CardShapeType = 'rounded-sm' | 'rounded-md' | 'rounded-lg' | 'hero'\n\ntype CardVariantProps = VariantProps\n\nconst cardVariants = cva('tw-relative tw-h-full tw-overflow-hidden', {\n variants: {\n shape: {\n hero: ['tw-rounded-b-[2rem]'],\n 'rounded-sm': ['tw-rounded-lg'],\n 'rounded-md': ['tw-rounded-2xl'],\n 'rounded-lg': ['tw-rounded-2xl', 'lg:tw-rounded-3xl'],\n },\n },\n defaultVariants: {\n shape: null,\n },\n})\n\nexport interface CardProps\n extends HTMLAttributes,\n CardVariantProps {\n shape?: CardShapeType\n asChild?: boolean\n}\n\nconst CardProfile = forwardRef(\n ({ className, shape, children, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n {children}\n \n )\n },\n)\nCardProfile.displayName = 'CardProfile'\n\nexport { CardProfile }\n","export * from './card-profile'\n","'use client'\n\nimport { cn } from '@chaseweb/utils/cn'\nimport { trapFocus } from '@chaseweb/utils/trapFocus'\n\nimport * as Portal from '@radix-ui/react-portal'\nimport type { HTMLAttributes } from 'react'\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react'\n\nconst Dialog = forwardRef<\n HTMLDivElement,\n HTMLAttributes & { isOpen: boolean }\n>(({ className, isOpen, children, ...props }, ref) => {\n const containerRef = useRef(null)\n\n /* istanbul ignore next - can't test refs easily in jest */\n useImperativeHandle(\n ref,\n () => containerRef.current,\n [],\n )\n\n useEffect(() => {\n let inertElements: Element[]\n if (containerRef.current && isOpen) {\n const portalEl = containerRef.current.parentElement\n if (portalEl?.parentElement?.children) {\n const excludedTags = ['SCRIPT', 'IMG']\n inertElements = [...portalEl.parentElement?.children].filter(\n (element) =>\n element !== portalEl && !excludedTags.includes(element.tagName),\n )\n inertElements.forEach((element) => {\n element.setAttribute('inert', 'true')\n })\n }\n document.documentElement.style.overflow = 'hidden'\n const dismissTrapFocus = trapFocus(containerRef.current)\n\n return () => {\n if (inertElements) {\n inertElements.forEach((element) => {\n element.removeAttribute('inert')\n })\n }\n document.documentElement.style.overflow = 'auto'\n dismissTrapFocus()\n }\n }\n }, [isOpen])\n\n const content = (\n \n {children}\n
    \n )\n\n return {content}\n})\n\nDialog.displayName = 'Dialog'\n\nexport { Dialog }\n","'use client'\nimport type { ReactElement } from 'react'\nimport { forwardRef } from 'react'\nimport type { ToggleProps } from '@radix-ui/react-toggle'\nimport { Root } from '@radix-ui/react-toggle'\nimport { cn } from '@chaseweb/utils/cn'\n\ninterface Props extends ToggleProps {\n className?: string\n onLabel?: string | ReactElement | ReactElement[]\n offLabel?: string | ReactElement | ReactElement[]\n}\n\nconst Toggle = forwardRef(\n ({ className, onLabel, offLabel, ...props }, ref) => {\n return (\n
    \n \n \n \n
    \n {onLabel}\n
    \n
    \n {offLabel}\n
    \n
    \n )\n },\n)\nToggle.displayName = 'Toggle'\n\nexport { Toggle }\n","'use client'\n\nimport { CustomSvg, Toast } from '@chaseweb/ui-library/src'\nimport { useState } from 'react'\n\ninterface CopyWidgetProps {\n shareLink: string\n}\n\nfunction fallbackCopyTextToClipboard(text: string) {\n const input = document.createElement('input')\n input.value = text\n\n // Avoid scrolling to bottom\n input.style.top = '0'\n input.style.left = '0'\n input.style.position = 'fixed'\n\n document.body.appendChild(input)\n input.focus()\n input.select()\n\n try {\n // eslint-disable-next-line\n document.execCommand('copy')\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Fallback: Oops, unable to copy', err)\n }\n\n document.body.removeChild(input)\n}\n\nexport const CopyWidget = ({ shareLink }: CopyWidgetProps) => {\n const [showToast, setShowToast] = useState(false)\n\n const handleCopyClick = (event: React.MouseEvent) => {\n if (event.type === 'click') handleCopy()\n }\n const handleCopyKeydown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter') handleCopy()\n }\n\n const handleCopy = async () => {\n setShowToast(true)\n try {\n // Added the try catch to make sure we support Safari IOS 12+\n // eslint-disable-next-line compat/compat\n await globalThis.navigator.clipboard.writeText(shareLink)\n } catch {\n fallbackCopyTextToClipboard(shareLink)\n }\n }\n\n return (\n <>\n \n \n \n \n Link copied\n \n \n )\n}\n","export * from './copy-widget'\n","'use client'\n\nimport { Button, CustomSvg } from '@chaseweb/ui-library/src'\nimport { cn } from '@chaseweb/utils/cn'\nimport type { HTMLAttributes } from 'react'\nimport { useEffect, useState } from 'react'\n\nimport type { HrefExternals } from '@/types'\n\nimport { Link } from '../link'\nimport { CopyWidget } from './components'\n\nexport const getCombinedShareLink = (\n shareMessage: string,\n type: 'facebook' | 'linkedin' | 'copy' | 'x',\n): HrefExternals => {\n let link: HrefExternals\n const shareLink = globalThis.document.location.href\n switch (type) {\n case 'facebook': {\n link = `http://www.facebook.com/sharer/sharer.php?u=${shareLink}`\n break\n }\n case 'x': {\n link = `http://www.twitter.com/intent/tweet?text=${shareMessage}&url=${shareLink}`\n break\n }\n case 'linkedin': {\n link = `http://www.linkedin.com/shareArticle?mini=true&url=${shareLink}&title=${shareMessage}`\n break\n }\n case 'copy':\n default: {\n link = shareLink as HrefExternals\n break\n }\n }\n return link\n}\n\nexport interface ShareWidgetProps extends HTMLAttributes {\n /**\n * Message included in the sharing link, typically the page title\n */\n shareMessage: string\n}\n\nexport const ShareWidget = ({\n shareMessage,\n className,\n ...props\n}: ShareWidgetProps) => {\n const [loaded, setLoaded] = useState(false)\n\n useEffect(() => {\n setLoaded(true)\n }, [])\n\n if (!loaded) {\n return null\n }\n return (\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","import { useEffect, useState } from 'react'\n\nexport const useIsMobileBreakpoint = () => {\n const [isMobile, setIsMobile] = useState(true)\n\n useEffect(() => {\n const checkDevice = () => {\n const isMobile = window.innerWidth < 1024\n setIsMobile(isMobile)\n }\n checkDevice()\n window.addEventListener('resize', checkDevice, false)\n return () => {\n window.removeEventListener('resize', checkDevice, false)\n }\n }, [])\n\n return isMobile\n}\n","import { Button, Heading } from '@chaseweb/ui-library/src'\nimport {\n analytics,\n getTrackingLabel,\n PartialScreenInterfaceType,\n UserActionInterfaceType,\n} from '@chaseweb/utils/tracking'\nimport { useEffect } from 'react'\n\nimport { useOnClickTracked, usePageTitle } from '@/lib/hooks'\nimport { parseContent } from '@/lib/parse-content'\nimport { useConsentStore } from '@/lib/stores'\n\nconst HEADER_CONTENT_KEY =\n 'webCookieConsents.manageCookieConsents.manageCookieConsents.header'\nconst ACCEPT_ALL_CONTENT_KEY =\n 'webCookieConsents.manageCookieConsents.acceptAllCookies.label'\nconst MANAGE_SETTINGS_CONTENT_KEY =\n 'webCookieConsents.manageCookieConsents.manageCookieConsents.label'\n\nexport const ConsentModalStep1 = ({\n content,\n}: {\n content: Record\n}) => {\n const setCurrentStep = useConsentStore(({ setCurrentStep }) => setCurrentStep)\n const setConsents = useConsentStore(({ setConsents }) => setConsents)\n\n const pageTitle = usePageTitle()\n const getTranslation = (key: string) => parseContent(content[key])\n\n const onAccept = () => {\n setConsents({\n AdvertisingAndTargeting: true,\n Performance: true,\n Analytical: true,\n })\n }\n\n useEffect(() => {\n if (!pageTitle) return\n // https://react.dev/learn/synchronizing-with-effects#sending-analytics\n analytics.trackPartialScreen({\n partialScreenName: getTrackingLabel({\n contentKey: HEADER_CONTENT_KEY,\n isScreenName: true,\n }),\n interfaceType: PartialScreenInterfaceType.MODAL,\n backgroundPageTitle: pageTitle,\n })\n }, [pageTitle])\n\n return (\n
    \n \n {getTranslation(HEADER_CONTENT_KEY)}\n \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsents.manageCookieConsents.message',\n )}\n

    \n
    \n onAccept(),\n )}\n >\n {getTranslation(ACCEPT_ALL_CONTENT_KEY)}\n \n setCurrentStep(1),\n )}\n >\n {getTranslation(MANAGE_SETTINGS_CONTENT_KEY)}\n \n
    \n
    \n )\n}\n","import {\n analytics,\n getTrackingLabel,\n PartialScreenInterfaceType,\n UserActionInterfaceType,\n} from '@chaseweb/utils/tracking'\n\nconst ANALYTICAL = 'analytical'\nconst PERFORMANCE = 'performance'\nconst ADVERTISEMENT = 'advertisement'\n\nimport { Button, Heading, Toggle } from '@chaseweb/ui-library/src'\nimport { useEffect, useState } from 'react'\n\nimport { useOnClickTracked, usePageTitle } from '@/lib/hooks'\nimport { parseContent } from '@/lib/parse-content'\nimport { useConsentStore } from '@/lib/stores'\n\nconst HEADER_CONTENT_KEY =\n 'webCookieConsents.manageCookieConsentDetails.manageCookieConsentDetails.header'\nconst ACCEPT_ALL_CONTENT_KEY =\n 'webCookieConsents.manageCookieConsentDetails.acceptAllCookies.label'\nconst SAVE_SETTINGS_CONTENT_KEY =\n 'webCookieConsents.manageCookieConsentDetails.applyCookieConsents.label'\n\nexport const ConsentModalStep2 = ({\n content,\n}: {\n content: Record\n}) => {\n const setConsents = useConsentStore(({ setConsents }) => setConsents)\n const consents = useConsentStore(({ consents }) => consents)\n const [analytical, setAnalytical] = useState(consents.Analytical)\n const [performance, setPerformance] = useState(consents.Performance)\n const [advertisingAndTargeting, setAdvertisingAndTargeting] = useState(\n consents.AdvertisingAndTargeting,\n )\n\n const pageTitle = usePageTitle()\n const getTranslation = (key: string) => parseContent(content[key])\n\n useEffect(() => {\n if (!pageTitle) return\n // https://react.dev/learn/synchronizing-with-effects#sending-analytics\n analytics.trackPartialScreen({\n partialScreenName: getTrackingLabel({\n contentKey: HEADER_CONTENT_KEY,\n isScreenName: true,\n }),\n interfaceType: PartialScreenInterfaceType.MODAL,\n backgroundPageTitle: pageTitle,\n })\n }, [pageTitle])\n\n const handleAcceptAll = () => {\n const newConsentSettings = {\n Analytical: true,\n Performance: true,\n AdvertisingAndTargeting: true,\n }\n setConsents(newConsentSettings)\n }\n\n const handleSaveSettingsClick = () => {\n const newConsentSettings = {\n Analytical: analytical,\n Performance: performance,\n AdvertisingAndTargeting: advertisingAndTargeting,\n }\n setConsents(newConsentSettings)\n }\n\n const handlePressValueChange =\n (\n set:\n | typeof setAnalytical\n | typeof setPerformance\n | typeof setAdvertisingAndTargeting,\n ) =>\n (val: boolean) => {\n set(val)\n }\n\n return (\n
    \n \n {getTranslation(HEADER_CONTENT_KEY)}\n \n
    \n

    \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.manageCookieConsentDetails.message',\n )}\n

    \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.strictlyNecessary.header',\n )}\n \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.strictlyNecessary.label',\n )}\n \n
    \n

    \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.strictlyNecessary.message',\n )}\n

    \n
    \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.analytical.header',\n )}\n \n
    \n \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.analytical.message',\n )}\n

    \n
    \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.performance.header',\n )}\n \n
    \n \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.performance.message',\n )}\n

    \n
    \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.advertising.header',\n )}\n \n
    \n \n
    \n
    \n \n {getTranslation(\n 'webCookieConsents.manageCookieConsentDetails.advertising.message',\n )}\n

    \n
    \n
    \n
    \n handleSaveSettingsClick(),\n )}\n >\n {getTranslation(SAVE_SETTINGS_CONTENT_KEY)}\n \n handleAcceptAll(),\n )}\n >\n {getTranslation(ACCEPT_ALL_CONTENT_KEY)}\n \n
    \n
    \n )\n}\n","'use client'\nimport { Modal } from '@chaseweb/ui-library/src'\nimport { usePathname } from 'next/navigation'\n\nimport { useConsentStore } from '@/lib/stores'\n\nimport { ConsentModalStep1 } from './consent-modal-step1'\nimport { ConsentModalStep2 } from './consent-modal-step2'\n\nexport function ConsentModal({\n content,\n}: {\n readonly content: Record\n}) {\n const pathname = usePathname()\n const { captured, isModalOpen, currentModalStep, closeModal } =\n useConsentStore()\n const modalOpen = isModalOpen && !pathname.includes('cookie-policy')\n return (\n \n \n {!captured && (\n \n \n \n )}\n \n \n \n \n \n \n )\n}\n","/* eslint-disable sonarjs/no-duplicate-string */\n'use client'\n\nimport { forwardRef, useEffect, useRef, useState } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n HTMLAttributes,\n ElementRef,\n MouseEvent,\n PointerEvent,\n} from 'react'\nimport * as NavigationMenu from '@radix-ui/react-navigation-menu'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@chaseweb/utils/cn'\nimport { Button, CustomSvg, HamburgerIcon } from '../../atoms'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { useIsMobileBreakpoint } from '@chaseweb/utils/useIsMobileBreakpoint'\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\n\nconst preventDefaultCb = (event: PointerEvent) => {\n event.preventDefault()\n event.stopPropagation()\n}\n\nconst hamburgerClasses =\n 'tw-right-3 tw-top-[18px] tw-z-50 tw-flex tw-h-6 tw-w-6 tw-items-center tw-overflow-visible'\n\ninterface RootProps {\n contentClassName?: string\n}\n\nconst Root = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef & RootProps\n>(({ className, children, contentClassName, ...props }, ref) => {\n const containerRef = useRef(null)\n const isMobile = useIsMobileBreakpoint()\n const [isSideMenuOpen, setIsSideMenuOpen] = useState(false)\n\n useEffect(() => {\n const handleResize = () => {\n setIsSideMenuOpen(false)\n }\n window.addEventListener('resize', handleResize, false)\n return () => {\n window.removeEventListener('resize', handleResize, false)\n }\n }, [])\n\n return isMobile ? (\n
    \n {\n setIsSideMenuOpen(!isSideMenuOpen)\n }}\n >\n \n \n \n \n \n \n {isSideMenuOpen && (\n <>\n {\n setIsSideMenuOpen(false)\n }}\n aria-hidden=\"true\"\n data-testid=\"overlay-backdrop\"\n className={cn(\n 'tw-fixed tw-left-0 tw-top-0 tw-z-30 tw-h-screen tw-w-screen tw-bg-grey10 tw-opacity-30',\n 'data-[state=open]:tw-animate-backdropFadeIn',\n 'data-[state=closed]:tw-animate-backdropFadeOut',\n )}\n />\n \n \n \n \n \n \n \n \n \n {children}\n \n
    \n
    \n \n \n {/* The below empty button is a hack that allows the close button to be focusable */}\n \n \n \n \n \n \n \n \n )}\n \n \n \n ) : (\n
    \n \n \n
    \n \n {children}\n \n
    \n
    \n \n \n )\n})\nRoot.displayName = 'Navigation.Root'\n\nconst MenuItem = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n))\nMenuItem.displayName = 'Navigation.MenuItem'\n\ninterface LinkIconWrapperProps extends HTMLAttributes {\n asChild?: boolean\n}\nconst LinkIconWrapper = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n },\n)\n\nLinkIconWrapper.displayName = 'Navigation.LinkIconWrapper'\n\ninterface LinkTextWrapperProps extends HTMLAttributes {\n asChild?: boolean\n}\nconst LinkTextWrapper = forwardRef(\n ({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n return (\n \n )\n },\n)\n\nLinkTextWrapper.displayName = 'Navigation.LinkTextWrapper'\n\ninterface LinkProps extends ComponentPropsWithoutRef {\n active?: boolean\n hasSubmenu?: boolean\n}\nconst Link = forwardRef, LinkProps>(\n ({ className, onClick, hasSubmenu, active, ...props }, ref) => {\n const handleOnClick = (ev: MouseEvent) => {\n if (!hasSubmenu) {\n window.dispatchEvent(new Event('resize'))\n const keyboardEvent = new KeyboardEvent('keydown', {\n key: 'Escape',\n })\n document.dispatchEvent(keyboardEvent)\n }\n onClick?.(ev)\n }\n return (\n .ui-navigation-textwrapper]:tw-shadow-underscore-lg': active,\n },\n className,\n )}\n onClick={handleOnClick}\n {...props}\n />\n )\n },\n)\nLink.displayName = 'Navigation.Link'\n\nconst Trigger = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, children, ...props }, ref) => {\n return (\n \n \n {children}\n \n \n \n )\n})\n\nTrigger.displayName = 'Navigation.Trigger'\n\nconst Content = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n return (\n \n )\n})\n\nContent.displayName = 'Navigation.Content'\n\nconst SubList = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => (\n \n \n \n))\nSubList.displayName = 'Navigation.SubList'\n\nconst SubListHeader = forwardRef<\n HTMLDivElement,\n HTMLAttributes\n>(({ className, ...props }, ref) => (\n
    \n))\nSubListHeader.displayName = 'Navigation.SubListHeader'\n\nexport {\n Root,\n MenuItem,\n LinkIconWrapper,\n LinkTextWrapper,\n Link,\n Trigger,\n Content,\n SubList,\n SubListHeader,\n}\n","import type { ClassValue } from 'clsx'\nimport { clsx } from 'clsx'\nimport { extendTailwindMerge } from 'tailwind-merge'\n\nconst twMerge = extendTailwindMerge({\n prefix: 'tw-',\n theme: {\n spacing: ['15', '18', '22'],\n colors: [\n 'grey90',\n 'grey80',\n 'grey70',\n 'grey60',\n 'grey50',\n 'grey40',\n 'grey30',\n 'grey10',\n 'blue90',\n 'blue80',\n 'blue70',\n 'blue60',\n 'blue50',\n 'blue40',\n 'blue30',\n 'blue20',\n 'blue10',\n 'red90',\n 'red70',\n 'red50',\n 'red40',\n 'red30',\n 'orange90',\n 'orange70',\n 'orange50',\n 'orange40',\n 'orange30',\n 'yellow90',\n 'yellow70',\n 'yellow50',\n 'yellow40',\n 'green90',\n 'green70',\n 'green50',\n 'green40',\n 'teal90',\n 'teal70',\n 'teal50',\n 'teal40',\n 'primary',\n 'primaryText',\n 'primaryBorder',\n 'primaryHover',\n 'primaryHoverText',\n 'primaryHoverBorder',\n 'primaryFocus',\n 'primaryFocusBorder',\n 'primaryActive',\n 'primaryActiveBorder',\n 'secondary',\n 'secondaryText',\n 'secondaryBorder',\n 'secondaryHover',\n 'secondaryHoverText',\n 'secondaryHoverBorder',\n 'secondaryHoverOutline',\n 'secondaryFocus',\n 'secondaryFocusText',\n 'secondaryFocusBorder',\n 'secondaryActive',\n 'secondaryActiveText',\n 'secondaryActiveBorder',\n 'disabled',\n 'disabledText',\n 'disabledBorder',\n 'link',\n 'transparent',\n 'focusRing',\n 'background',\n 'text',\n 'white',\n 'heroOverlayGradient',\n ],\n screen: ['sm', 'md', 'lg', 'xl', '2xl'],\n },\n classGroups: {\n 'bg-size': [{ bg: ['auto', 'cover', 'contain', 'icon-size'] }],\n 'bg-image': [\n {\n bg: [\n 'dash',\n 'icon-arrow-left',\n 'icon-arrow-right',\n 'promo-secondary',\n 'chase-octagon',\n 'image-card-gradient',\n ],\n },\n ],\n shadow: [{ shadow: ['underscore', 'underscore-lg', 'popup'] }],\n duration: [{ duration: ['250'] }],\n rounded: [{ rounded: ['full', '4xl', '5xl', '6xl'] }],\n },\n})\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { Button } from '@chaseweb/ui-library/src'\nimport type { ComponentPropsWithoutRef } from 'react'\nimport React from 'react'\n\nimport type { LinkProps } from './link'\nimport { Link } from './link'\n\nexport function StyledLink({\n variant = 'link',\n href,\n sectionLabel,\n trackingActionLabel,\n notTracked,\n children,\n ...props\n}: LinkProps & ComponentPropsWithoutRef) {\n return (\n \n )\n}\n","export * from './link'\nexport * from './styled-link'\n","'use client'\n\nimport { CustomSvg } from '@chaseweb/ui-library/src/atoms'\nimport { useAttributionUrlLink } from '@chaseweb/utils/tracking/vendor'\nimport { memo } from 'react'\n\nimport { useChaseEnv } from '@/lib/hooks'\n\nimport { Link } from '../link'\n\nexport const DOWNLOAD_SUBSTRING = 'Download the app from the '\nexport const APPLE_STORE_SUBSTRING = 'Apple Store'\nexport const GOOGLE_PLAY_STORE_SUBSTRING = 'Google Play Store'\n\nexport interface AppStoreButtonProps {\n store: 'apple' | 'google'\n className?: string\n}\n\nexport const AppStoreButton = memo(\n ({ store, className }: AppStoreButtonProps) => {\n const env = useChaseEnv()\n const link = useAttributionUrlLink({\n appsflyerLink: env?.openAppUrl ?? '',\n variant: store === 'apple' ? 'appstore' : 'playstore',\n })\n\n if (!globalThis || !env || !link) return null\n\n return (\n \n \n \n )\n },\n)\nAppStoreButton.displayName = 'AppStoreButton'\n","'use client'\n\nimport { forwardRef } from 'react'\nimport type {\n ComponentPropsWithoutRef,\n ElementRef,\n HTMLAttributes,\n} from 'react'\nimport { cn } from '@chaseweb/utils/cn'\nimport * as Select from '@radix-ui/react-select'\nimport { CustomSvg } from '../../atoms/svg'\n\nconst preventDefaultCb = (event: any) => {\n event.preventDefault()\n}\n\nconst Root = forwardRef<\n HTMLDivElement,\n ComponentPropsWithoutRef & HTMLAttributes\n>(\n (\n {\n onOpenChange,\n onValueChange,\n defaultOpen,\n defaultValue,\n value,\n name,\n disabled,\n required,\n children,\n className,\n open,\n ...props\n },\n ref,\n ) => {\n const handleOnOpenChange = (open: boolean) => {\n setTimeout(() => {\n document.body.style.removeProperty('pointer-events')\n document.body.style.setProperty('overflow', 'auto')\n })\n if (onOpenChange) {\n onOpenChange(open)\n }\n }\n return (\n \n \n {children}\n
    \n \n )\n },\n)\nRoot.displayName = 'Select.Root'\n\nconst Trigger = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n return (\n \n )\n})\nTrigger.displayName = 'Select.Trigger'\n\nconst Content = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, position = 'popper', ...props }, ref) => {\n return (\n \n )\n})\nContent.displayName = 'Select.Content'\n\nconst Item = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ children, className, ...props }, ref) => {\n return (\n \n {children}\n \n )\n})\nItem.displayName = 'Select.Item'\n\nconst ItemText = Select.ItemText\nItemText.displayName = 'Select.ItemText'\n\nconst ItemIndicator = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ children, className, ...props }, ref) => {\n return (\n \n {children ?? }\n \n )\n})\nItemIndicator.displayName = 'Select.ItemIndicator'\n\nconst Value = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n return (\n
    \n \n
    \n )\n})\nValue.displayName = 'Select.Value'\n\nconst SelectIcon = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ children, className, ...props }, ref) => {\n return (\n \n {children ?? }\n \n )\n})\nSelectIcon.displayName = 'Select.SelectIcon'\n\nconst ScrollUpButton = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ children, className, ...props }, ref) => {\n return (\n \n {children ?? }\n \n )\n})\nScrollUpButton.displayName = 'Select.ScrollUpButton'\n\nconst ScrollDownButton = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ children, className, ...props }, ref) => {\n return (\n \n {children ?? }\n \n )\n})\nScrollDownButton.displayName = 'Select.ScrollDownButton'\n\nconst Viewport = Select.Viewport\nViewport.displayName = 'Select.Viewport'\n\nconst Group = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n return (\n \n )\n})\nGroup.displayName = 'Select.Group'\n\nconst GroupTitle = forwardRef<\n ElementRef,\n ComponentPropsWithoutRef\n>(({ className, ...props }, ref) => {\n return (\n \n )\n})\nGroupTitle.displayName = 'Select.GroupTitle'\n\nconst Separator = Select.Separator\nSeparator.displayName = 'Select.Separator'\n\nconst Label = forwardRef>(\n ({ className, ...props }, ref) => {\n return (\n \n )\n },\n)\nLabel.displayName = 'Select.Label'\n\nexport {\n Root,\n Trigger,\n Value,\n SelectIcon,\n Content,\n ScrollUpButton,\n ScrollDownButton,\n Viewport,\n Group,\n GroupTitle,\n Item,\n ItemIndicator,\n ItemText,\n Separator,\n Label,\n}\n","import type { CookieConsentsArgs } from '@chaseweb/utils/tracking'\nimport {\n checkAndMapOneTrustConsents,\n getAllConsents,\n setCookieConsents,\n} from '@chaseweb/utils/tracking'\nimport { create } from 'zustand'\n\nexport interface ConsentState {\n consents: {\n StrictlyNecessary: boolean\n Analytical: boolean\n Performance: boolean\n AdvertisingAndTargeting: boolean\n }\n initialised: boolean\n captured: boolean\n init: () => void\n reset: () => void\n setConsents: (consents: Omit) => void\n isModalOpen: boolean\n setCurrentStep: (newStep: number) => void\n currentModalStep: number\n closeModal: () => void\n}\n\nconst initialValues = {\n currentModalStep: 0,\n isModalOpen: false,\n consents: {\n StrictlyNecessary: true,\n Analytical: false,\n Performance: false,\n AdvertisingAndTargeting: false,\n },\n initialised: false,\n captured: false,\n}\n\nexport const useConsentStore = create((set) => ({\n ...initialValues,\n reset: () => set(() => initialValues),\n setCurrentStep: (newStep: number) =>\n set(() => {\n return {\n currentModalStep: newStep,\n isModalOpen: true,\n }\n }),\n closeModal: () =>\n set((state) => {\n if (state.captured) {\n return { isModalOpen: false }\n } else {\n return {\n currentModalStep: 0,\n }\n }\n }),\n init: () =>\n set((state) => {\n if (state.initialised) return {}\n checkAndMapOneTrustConsents()\n const consents = getAllConsents()\n if (consents) {\n return {\n consents,\n initialised: true,\n captured: true,\n }\n } else {\n return {\n initialised: true,\n isModalOpen: true,\n }\n }\n }),\n setConsents: (consents: Omit) =>\n set(() => {\n const newConsents = {\n ...consents,\n StrictlyNecessary: true,\n }\n setCookieConsents(newConsents)\n return {\n consents: newConsents,\n captured: true,\n isModalOpen: false,\n currentModalStep: 0,\n }\n }),\n}))\n","import type { RefObject } from 'react'\nimport { create } from 'zustand'\n\ntype CtaRef = RefObject | null\n\ninterface CTAState {\n alwaysVisible: boolean\n setAlwaysVisible: (ref: boolean) => void\n heroCtaRef: CtaRef\n setHeroCtaRef: (ref: CtaRef) => void\n promoCtaRef: CtaRef\n setPromoCtaRef: (ref: CtaRef) => void\n}\n\nexport const useCTAStore = create((set) => ({\n alwaysVisible: false,\n setAlwaysVisible: (value: boolean) => set(() => ({ alwaysVisible: value })),\n heroCtaRef: null,\n setHeroCtaRef: (heroCtaRef: CtaRef) => set(() => ({ heroCtaRef })),\n promoCtaRef: null,\n setPromoCtaRef: (promoCtaRef: CtaRef) => set(() => ({ promoCtaRef })),\n}))\n","export * from './useConsentStore'\nexport * from './useCTAStore'\n","export default {\"src\":\"/gb/en/_next/static/media/CASS_logo.8ed28ee8.svg\",\"height\":56,\"width\":123,\"blurWidth\":0,\"blurHeight\":0};","'use client'\n\nimport { AnimationPhonePermissions } from '@chaseweb/ui-library/src/atoms/animation'\nimport { Suspense } from 'react'\n\nexport const PhonePermissionsAnimation = () => {\n return (\n \n \n \n )\n}\n","'use client'\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useSplitStore } from '@chaseweb/utils/split'\nimport { redirect, usePathname } from 'next/navigation'\nimport type { ReactNode } from 'react'\n\nexport const SplitRedirect = ({ children }: { children?: ReactNode }) => {\n let pathname = usePathname()\n if (pathname.endsWith('/')) {\n pathname = pathname.slice(0, -1)\n }\n const client = useSplitStore((state) => state.clients.user)\n const redirectData = JSON.parse(\n client?.getTreatmentWithConfig('page_redirects').config ?? '[{}]',\n )\n redirectData.forEach((config: any) => {\n if (pathname === config.source) {\n redirect(config.redirectTo)\n }\n })\n\n const redirect50Data = JSON.parse(\n client?.getTreatmentWithConfig('page_redirects_50').config ?? '[{}]',\n )\n redirect50Data.forEach((config: any) => {\n if (pathname === config.source) {\n redirect(config.redirectTo)\n }\n })\n\n return client && children\n}\n"],"names":["DownloadLink","props","env","useChaseEnv","AdvertisingAndTargeting","useConsentStore","store","consents","DownloadConversionPixelsFragment","triggerConversionPixels","useDownloadConversionPixelsFragment","hasAdTargetingConsent","showDownloadPanel","setShowDownloadPanel","useState","isMobileDevice","setIsMobileDevice","client","useSplitStore","state","clients","user","treatmentSlidePanel","getTreatment","sitePrefix","process","replace","downloadAffiliates","mainContainer","useRef","useEffect","navigator","test","userAgent","current","document","querySelector","appFlyerPath","restProps","downloadLink","useAttributionUrlLink","appsflyerLink","openAppUrl","variant","toggleDownloadPanel","useCallback","onClick","e","preventDefault","Portal","container","asChild","DownloadPanel","show","Link","href","trackingActionLabel","children","className","target","notTracked","Root","forwardRef","ref","AccordionPrimitive","cn","ul","displayName","Item","li","Trigger","headingType","Heading","type","CustomSvg","name","Content","div","rootVariants","cva","variants","custom","fullwidth","background","defaultVariants","classNameWrapper","context","maxPageSize","Comp","Slot","CarouselContextProvider","Title","Description","dataTestId","classNameItem","setMaxPageSize","containerRef","childrenCount","setChildrenCount","contentRefList","pageCount","setPageCount","pageSize","setPageSize","currentPage","setCurrentPage","useCarouselContext","touchPositionStart","setTouchPositionStart","useImperativeHandle","newChildrenCount","Children","count","windowWidth","window","innerWidth","scrollTo","left","computedSizeContainer","getComputedStyle","newPageSize","Math","min","round","containerWidth","clientWidth","itemWidth","parseFloat","paddingLeft","paddingRight","ceil","addEventListener","handleResize","removeEventListener","handleRefAssign","index","el","data-testid","data-page-size","data-current-page","onTouchStart","handleTouchStart","touches","clientX","onTouchEnd","handleTouchEnd","touchDistanceDifference","changedTouches","TOUCH_DISTANCE_TO_ACTION","map","child","isActive","position","ContentItem","data-position","data-index","data-active","dataIndex","currentPageItemIndex","BackgroundImageWrapper","Controls","preRender","ControlsArrowsContainer","ControlsArrowsLeft","ControlsArrowsRight","ControlsPageDots","classNameDots","dotArray","Array","from","length","_","i","handleDotClick","style","transform","distanceBlueDot","Button","dotIndex","ScreenReader","size","disabled","handleClickLeftPage","handleClickRightPage","footer","Container","LinksContainer","ColumnHeader","LinkList","noExternalIcon","noLinkUnderline","separatorVariants","border","default","transparent","Separator","role","hr","hasLink","ImageWrapper","classNameDiagonal","classNameGradient","gradientDirection","hasDiagonalBlue","CardProfile","shape","data-ui-component","spacerClassName","Cta","Disclaimer","useContainer","ol","span","header","LogoWrapper","Label","narrative","instruction","product","image","stripedStart","data-striped","data-variant","isClickable","data-is-clickable","Slottable","p","as","lg","md","sm","hasHoverEffect","data-has-hover-effect","Summary","primary","secondary","imageVariants","fit","overflow","ContentWrapper","SeparatorRadix","iconVariants","iconName","tick","Icon","Legal","notificationVariants","warning","information","neutral","critical","success","redirect","true","compoundVariants","class","aria-live","notificationIconVariants","iconClassName","aria-label","h2","Text","CloseButton","tabIndex","button","ActionButton","Wrapper","TextWrapper","imageLoader","src","width","includes","DownloadQrCode","attributionDownloadLink","data-link","QRCode","value","GenericErrorAnimation","Suspense","AnimationGenericError","Error404Animation","AnimationError404","ConsentModalLink","setCurrentStep","event","onKeyDown","handleKeyPress","key","useHasRehydrated","hasRehydrated","setHasRehydrated","Insights","split","marketingChannel","getMarketingChannel","webProspectId","setWebProspectId","consentInit","init","consentsCaptured","captured","captureUtmParameters","fetchProspectId","pageTitle","usePageTitle","analytics","trackPageView","environment","buildVersion","mParticlePlanId","mParticlePlanVersion","mParticleApiKey","environmentName","appVersionBuild","mParticleConfig","apiKey","dataPlanId","dataPlanVersion","setConsents","splitApiKey","splitProxyUrl","proxyUrl","clientAttributes","hasConsentToSendImpressions","Analytical","updateCookieConsents","MarketingPixelsFragment","SplitRedirect","textContentFromJSX","elem","item","join","data","hasColumnHeader","hasRowHeader","title","description","classNameTitle","classNameDescription","classNameFooter","classNameColumnHeader","classNameRowHeader","columnHeaderList","undefined","bodyRowData","slice","colsCount","rowHeaderColSize","desktopTable","DataTable","cell","cellIndex","row","rowIndex","mobileTable","textContent","hasColumnHeaderTextContent","isHeader","colSpan","body","classList","add","dismissTrapFocus","trapFocus","trackPartialScreen","partialScreenName","interfaceType","PartialScreenInterfaceType","MODAL","remove","inert","aria-hidden","h4","AppStoreButton","Message","VisuallyHidden","Toast","duration","setShowToast","showToast","ToastPrimitive","open","onOpenChange","ScrollTopButton","isVisible","setIsVisible","hasLoaded","setHasLoaded","showScrollButton","isScrollToTopVisible","scrollY","innerHeight","checkScrollTop","requestAnimationFrame","scrollVisible","firstInteractiveElement","getFirstInteractiveElement","scrollTop","focus","preventScroll","top","behavior","headingVariants","h1","h3","h5","INTERACTIVE_ELEMENT_SELECTOR","SKIP_TO_CONTENT","contentContainer","SkipToMainContentButton","captureFirstTabEvent","activeElement","handleSkipToMainContent","focusableElement","getFirstInteractiveContentElement","getOffsetTop","distance","offsetParent","offsetTop","pictureRef","pictureWrapperRef","factor","viewportHeight","fullSizeImage","offsetHeight","distanceToImageViewportTop","getBoundingClientRect","y","imageViewportHeight","absoluteDistanceToImageViewportTop","yTranslation","imageCoverage","setProperty","applyParallax","isReduced","matchMedia","matches","handleScroll","updatePictureYTranslation","observer","IntersectionObserver","entries","forEach","entry","options","isIntersecting","rootMargin","threshold","observe","disconnect","parallax","useParallaxImage","OneLinkUrlGenerator","constructor","config","pidKeysList","pidStaticValue","campaignKeysList","campaignStaticValue","pidOverrideList","oneLinkUrlIsValid","campaign","getCampaignValue","campaignKey","getParameterFromURL","mediaSource","getMediaSourceValue","pidValue","pidKey","hasOwnProperty","afParams","af_js_web","oneLinkURL","trim","generateUrl","searchParamsUrl","URLSearchParams","append","Object","setChannel","channelParam","channelValue","setGenericParameter","setAd","adParam","adValue","setCustomParameter","searchKey","customKey","customValue","utmParams","getUtmParametersFromCookie","urlValue","url","URL","location","searchParams","results","RegExp","exec","toString","decodeURIComponent","oneLinkParam","newParamValue","searchKeyResult","appsflyerParameter","AF_WEB_DP","APPSTORE_REDIRECT","PLAYSTORE_REDIRECT","SEARCH_ENGINES","Google","Bing","YahooUK","Duckduckgo","Yahoo","Ecosia","AOL","referrer","keys","find","toUpperCase","pid","channel","c","ad","generateOneLinkUrl","getReferrerDetails","onelinkGenerator","appsflyer","origin","getOrigUrl","search","get","attributionUrl","origUrl","urlObj","appDownloadLink","setAppDownloadLink","createAttributionLink","link","useAttributionLink","data-component","table","Header","thead","Body","tbody","ColumnHeaderCell","dataComponent","th","RowHeaderCell","rowVariants","Row","tr","Cell","td","Footer","isElement","nodeType","element","isArray","extractText","parseContent","content","parseOptions","defaultContentReplace","cleanHtmlText","replaceAll","parseHtml","replaceMap","replaceh4h6TagsWithSmallGreyText","useH1PageTitle","defaultReplace","domNode","isText","attribs","lastPathSegment","at","linkHref","startsWith","endsWith","text","domToReact","DocumentDetails","downloadLabel","versionDetails","pdfUrl","asButton","mobileOnly","StyledLink","sectionLabel","invertLinkUnderline","id","PageAnchor","idString","tableData","transformTable","push","nextSibling","sibling","childrenCompiled","colspan","nodeChildrenList","pop","next","prev","parent","classNameContainerArticle","Prose","ResponsiveDataTable","flagNameAttrib","controlValue","InlineFeatureFlag","flagName","lazy","InfoBlockContext","createContext","tertiary","Provider","infoBlockContext","useContext","ctaVariant","NotImplementedErrorMsg","CarouselContext","Error","scrollPosition","contextValue","useMemo","setShow","tooltipRef","triggerRef","rightMarkerRef","topOffset","setTopOffset","leftOffset","setLeftOffset","arrowLeftOffset","setArrowLeftOffset","lastWindowResizeEvent","setLastWindowResizeEvent","markedUpString","markedUpNode","parse","positionTooltip","parentElement","triggerElement","tooltipElement","parentLeftPadding","parentWidth","tooltipWidth","triggerTextYPos","topOffsetValue","clientHeight","tooltipHeight","firstLineTriggerWidth","triggerTextSpanArray","getElementsByClassName","filter","reduce","acc","triggerTextLeftXPos","offsetLeft","initialLeftOffset","leftOffsetValue","arrowLeftOffsetValue","handleClickOutside","contains","handlePressEnter","click","useLayoutEffect","motionValues","easing","standard","sharp","fast3","moderate4","DialogPrimitive","Overlay","Box","classNameMotionContainer","currentStep","visibleVariant","setVisibleVariant","updateSizeContent","height","setTimeout","data-test","aria-describedby","onOpenAutoFocus","LazyMotion","features","domAnimation","toArray","Boolean","childIndex","m","transition","ease","initial","opacity","animate","exit","Close","label","ActionableLink","linkData","actionData","action","FeatureActionLinkEnum","DOWNLOAD","param","MANAGE_COOKIES","ANDROID_STORE","APPLE_STORE","BbaLogo","path","LocalImage","bbaCurrentAccountSVG","alt","bbaBestSavingsProviderSVG","bbaBestBritishBankSVG","BUTTON_LABEL","NextImage","slug","slugify","strict","lower","RichText","__html__","verifySplitQueryParam","queryParams","initialSplitFeatures","download_cta_slide_panel","mobile_sticky_cta","home_banner","treatment","JSON","stringify","titleUrl","product_banner","page_specific_banner","slugPaths","homepage_feature_label","homepage_hero_cta_size","homepage_hero_cta_text","inlineText","support_banner","trustpilot_widgets","initLocalhostSplitConfig","settings","splitMap","splitProps","splitParam","parseJSONStringData","encodedParam","accumulator","currentValue","paramString","__chaseEnv__","isDockerBuild","sessionSplitio","sessionStorage","getItem","setItem","SplitFactory","core","authorizationKey","sync","localhostMode","LocalhostFromObject","proxyUrlOf","api","initialState","_factory","create","set","reset","factory","userConsent","urls","sdk","events","debug","streamingEnabled","enabled","userClient","setAttributes","ready","args","UserConsent","setStatus","getUtmParameters","utm_medium","engine","buttonVariants","borderless","customSize","customRole","align","center","highlight","classNameContainer","decorative","QrCode","eyeRadius","inner","outer","qrStyle","AssertRehydration","handlersReady","setHandlersReady","data-handlers-ready","NotificationSessionKeyTypesEnum","NotificationLocalKeyTypesEnum","NotificationKeyTypesEnum","initialNotificationSessionStorageState","HOME","PRODUCT","SUPPORT","BROWSER","PAGE_SPECIFIC","useSessionStorageNotificationStore","persist","notificationSessionStore","getNotificationValue","notificationName","setNotificationValue","storage","createJSONStorage","US_REDIRECT","dismissalDate","Date","now","useLocalStorageNotificationStore","initialNotificationLocalStorageState","dismissalTimeStamp","differenceInDays","abs","getNotificationDismissalDate","setNotificationDismissalDate","localStorage","sessionState","getState","localState","values","setNotificationVisible","HomeBannerNotification","dynamic","then","mod","ssr","ProductBannerNotification","SupportBannerNotification","BrowserSupportNotification","UsRedirectNotification","PageSpecificBannerNotification","Notification","notification","mounted","setMounted","useNotificationStore","handleNotificationDismiss","renderNotification","onDismiss","hamburgerSpanVariants","first","second","third","active","false","HamburgerIcon","activeOnMount","setIsActive","TabsContext","tabSelected","isMobile","defaultValue","isTopMenuOpen","setIsTopMenuOpen","setTabSelected","onValueChange","TabsContextProvider","defaultTabLabel","useIsMobileBreakpoint","tabEl","querySelectorAll","RadixTabs","activationMode","orientation","handleValueChange","newValue","List","stateContainer","mobileAriaLabelClose","mobileAriaLabelOpen","mobileButtonClassName","mobileCloseTopMenuClassName","mobileDropdownButtonRef","useTabsContext","handleKeydown","ev","forceMount","data-state","data-top-menu","mobileAriaLabel","ariaLabel","buttonContainer","additionalProps","handleClick","getChaseEnv","startTime","TIMEOUT","Promise","resolve","INTERVAL","setEnv","run","isRuntimeConfiguration","useOnClickTracked","actionName","sectionName","trackAction","pathname","usePathname","setPageTitle","metaTag","setConsentsState","analyticsConfig","setEnvironment","setMParticleConfig","newEnvironment","getEnvironment","newMParticleConfig","getMParticleConfig","AnalyticsEventType","UserActionInterfaceType","STRICTLY_NECESSARY_EVENTS","getAllCookies","cookie","match","v","getCookie","expires","sameSite","domain","expiresParam","pathParam","sameSiteParam","domainParam","setCookie","names","oldProspectID","OLD_PROSPECT_ID_COOKIE_NAME","existingProspectID","PROSPECT_ID_COOKIE_NAME","deleteCookies","setCookieWithNoExpiry","randomUuid","utmParameter","queryString","utmParameterKeyValues","utmCookie","INTERNATIONAL_PHONE_NUMBER_1","CREDIT_CARD_NUMBER","UUID_REGEX","ENCRYPTED_ID_REGEX","LOCAL_PHONE_NUMBER_1_REGEX","LOCAL_PHONE_NUMBER_2_REGEX","containsPossibleInternationalUKPhoneNumber","INTERNATIONAL_PHONE_NUMBER_2","containsPossibleUKPhoneNumber","containsPossibleLocalUKPhoneNumber","containsPossibleCreditCardNumber","isEmailAddress","email","redactPii","isUUID","some","str","REDACTED","redactedUrlHash","hash","clippedHash","substring","redacted","redactedUrl","result","params","ADOBE_UTM","referrerUrl","referrerDomain","utmAttributes","initialized","marketAttributes","market","getMarketMapping","languagePath","AEM_LANGUAGE_PATH","isInitialized","initSdk","callback","isDevelopmentMode","v1SecureServiceUrl","v2SecureServiceUrl","v3SecureServiceUrl","configUrl","identityUrl","aliasUrl","identifyRequest","userIdentities","other2","dataPlan","planId","planVersion","identityCallback","getUser","setUserAttribute","original","attributeToExclude","partial","currentAttribute","adobeUtmAttributes","objectExcludingAttribute","redactedObject","attribute","getUtmAttributes","attributes","dataLayer","attributesFound","getReferrerAttributes","hostname","trackEvent","mpEventName","eventName","pageSectionName","partialScreenTitle","backgroundPageTitle","environmentConfig","customAttributes","pageUrl","screenName","logEvent","EventType","Other","referrerAttributes","urlFragment","SCREEN","getPagePath","logPageView","isTrackableWithoutConsent","rule","every","consentState","Consent","createConsentState","Identity","getCurrentUser","createGDPRConsent","StrictlyNecessary","addGDPRConsentState","Performance","setConsentState","UserPreference","isWindowDefined","_hasAnalyticalConsent","_preInitConsents","_blockedActionsEvents","_blockedPartialScreenEvents","_blockedPageViewEvents","_isTrackingAllowed","_replayBlockedEvents","currEvent","USER_ACTION","PARTIAL_SCREEN","getTrackingLabel","contentKey","isScreenName","uuid","ChaseMocks","Config","Analytics","propsOfEnvironment","actionEvent","BUTTON","partialScreenEvent","POPUP","pageViewEvent","COOKIE_CONSENTS","setCookieConsents","timestamp","toUTCString","strValue","date","setFullYear","getFullYear","cookieConsents","cookieValue","timestampNow","getTime","dateCookie","getAllConsents","consentsHaveExpired","groups","mappedValue","inHouseConsentTimestamp","getConsents","oneTrustConsentTimestamp","ONETRUST_ALERT_CLOSED","oneTrustCookie","ONETRUST_CONSENTS","cookieURLSearchParams","mapOneTrustConsents","host","PRODUCTION_HOST","MarketingPixel","memo","MARKETING_PIXEL_INFO","img","display","MarketingPixelId","generateFloodlightOrderNumber","getRandomNumberWithinRange","max","floor","random","DEFAULT_PIXELS","GOOGLE_ADS","FACEBOOK","GOOGLE_DCM","TWITTER","TWITTER_SHORTLINK","YOUTUBE_PUBLIC","YOUTUBE_IN_HOUSE","YOUTUBE_MEDIACOM","marketingPixels","appendDefaults","firstRender","setFirstRender","pixels","firePixels","setFirePixels","GOOGLE_PAID_SEARCH","GOOGLE_ADS_DOWNLOAD_CLICK","GOOGLE_DCM_DOWNLOAD_CLICK","FACEBOOK_DOWNLOAD_CLICK","TWITTER_DOWNLOAD_CLICK","TWITTER_SHORTLINK_DOWNLOAD_CLICK","AccessibilityConfigProps","viewBox","AddMoneyConfigProps","AppConfigProps","ArrowDownConfigProps","ArrowLeftConfigProps","ArrowRightConfigProps","CalendarConfigProps","CardConfigProps","CheckConfigProps","CheckFillConfigProps","ClearConfigProps","CloseConfigProps","CopyConfigProps","DashConfigProps","ErrorStatusConfigProps","ExternalLinkConfigProps","HomeConfigProps","InformationStatusConfigProps","IsaAccountConfigProps","PhoneConfigProps","PrivacyPolicyConfigProps","QuestionConfigProps","QuickAccountConfigProps","RedirectIconConfigProps","RoundUpConfigProps","SearchConfigProps","SecurityConfigProps","SharedAccountsConfigProps","SuccessStatusConfigProps","TickConfigProps","WarningStatusConfigProps","FacebookConfigProps","InstagramConfigProps","LinkedInConfigProps","TwitterConfigProps","XConfigProps","YouTubeConfigProps","AppleAppStoreConfigProps","ChaseLogoConfigProps","ChaseOctagonConfigProps","GooglePlayConfigProps","InformationConfigProps","InformationBlueRingConfigProps","NutmegIconConfigProps","SpeedometerConfigProps","excludePropsIconList","compConfigProps","SVGConfigProps","allProps","defaultProps","svg","use","Loader","classNameOuterCircle","classNameInnerCircle","classNamePaintedEl","output","Callout","NEW_WINDOW_WARNING_STRING","to","resetFocusAfterClick","handleOnClick","LINK","blur","warn","isExternal","isMailTo","isTel","a","rel","fixedHref","handleInternalLinkTrailingSlash","NextLink","isDescendant","node","parentNode","firstFocusableEl","lastFocusableEl","focusableEls","MutationObserver","subtree","childList","handleKeyDown","isTabPressed","shiftKey","treatmentValue","getTreatmentWithConfig","CtaLink","dataTestResolution","data-test-resolution","MobileHeaderCta","DesktopHeaderCta","heroCtaRef","alwaysVisible","useCTAStore","isPermanentlyVisible","pathListRegex","root","isHidden","cardVariants","hero","Dialog","isOpen","inertElements","portalEl","excludedTags","tagName","setAttribute","documentElement","removeAttribute","Toggle","onLabel","offLabel","CopyWidget","shareLink","handleCopy","globalThis","clipboard","writeText","fallbackCopyTextToClipboard","input","createElement","appendChild","select","execCommand","err","console","error","removeChild","handleCopyClick","handleCopyKeydown","shareMessage","ShareWidget","loaded","setLoaded","getCombinedShareLink","setIsMobile","checkDevice","HEADER_CONTENT_KEY","ACCEPT_ALL_CONTENT_KEY","MANAGE_SETTINGS_CONTENT_KEY","ConsentModalStep1","getTranslation","onAccept","section","PERFORMANCE","ADVERTISEMENT","SAVE_SETTINGS_CONTENT_KEY","ConsentModalStep2","analytical","setAnalytical","performance","setPerformance","advertisingAndTargeting","setAdvertisingAndTargeting","handleAcceptAll","newConsentSettings","handleSaveSettingsClick","handlePressValueChange","val","ANALYTICAL","pressed","onPressedChange","aria-labelledby","ConsentModal","isModalOpen","currentModalStep","closeModal","modalOpen","Modal","preventDefaultCb","stopPropagation","hamburgerClasses","contentClassName","isSideMenuOpen","setIsSideMenuOpen","NavigationMenu","onPointerDown","MenuItem","LinkIconWrapper","LinkTextWrapper","hasSubmenu","dispatchEvent","Event","keyboardEvent","KeyboardEvent","onPointerMove","onPointerLeave","SubList","SubListHeader","twMerge","extendTailwindMerge","prefix","theme","spacing","colors","screen","classGroups","bg","shadow","rounded","inputs","clsx","DOWNLOAD_SUBSTRING","preserveAspectRatio","APPLE_STORE_SUBSTRING","GOOGLE_PLAY_STORE_SUBSTRING","defaultOpen","required","Select","handleOnOpenChange","removeProperty","onCloseAutoFocus","minWidth","maxHeight","ItemText","ItemIndicator","Value","SelectIcon","ScrollUpButton","ScrollDownButton","Viewport","Group","GroupTitle","initialValues","initialised","newStep","checkAndMapOneTrustConsents","newConsents","setAlwaysVisible","setHeroCtaRef","promoCtaRef","setPromoCtaRef","PhonePermissionsAnimation","AnimationPhonePermissions","source","redirectTo"],"sourceRoot":"","ignoreList":[]}