{"version":3,"file":"static/chunks/55595-c4a820650d3a478d.js","mappings":"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","sources":["webpack://_N_E/./components/assets/common/AssetBannerEmphasizedMultipliers/index.jsx","webpack://_N_E/./components/assets/common/AssetBannerGoldCastle/asset-settings.js","webpack://_N_E/./components/assets/common/AssetBannerGoldCastle/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetHeroBannerGambit/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetHeroBannerGambit/index.jsx","webpack://_N_E/./components/common/Accordion/index.jsx","webpack://_N_E/./components/common/AccordionBenefitsGrid/index.jsx","webpack://_N_E/./components/common/AmexImage/index.jsx","webpack://_N_E/./components/common/FlipTile/index.jsx","webpack://_N_E/./components/common/SafeSet/index.jsx","webpack://_N_E/./components/icons/directional/IconMinusCircle.jsx","webpack://_N_E/./components/icons/directional/IconMinusCircleFilled.jsx","webpack://_N_E/./components/icons/directional/IconPlusCircleFilled.jsx","webpack://_N_E/./components/placements/site/desktop/PlacementHeroTriple/index.jsx","webpack://_N_E/./pages/d/compare-cards/constants.js","webpack://_N_E/./components/assets/site/desktop/AssetCompareCardsPage/index.jsx","webpack://_N_E/./pages/d/filters/constants.js","webpack://_N_E/./components/assets/site/desktop/AssetFiltersPage/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageAmexExp1306/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageAmexExp1306/index.jsx","webpack://_N_E/./components/site/desktop/ModalFullBenefits/constants.js","webpack://_N_E/./components/site/desktop/FeaturedFilingCabinetGrid/constants.js","webpack://_N_E/./components/site/desktop/FocusGrid/constants.js","webpack://_N_E/./pages/d/american-express/constants.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageAmexExp1320/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageCompareCardsWithGoldBanner/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageCompareCardsWithGoldBanner/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageDesktopDualCompare/sub-sections/CardInfo.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageDesktopDualCompare/sub-sections/FeaturedBenefitsModal.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageDesktopDualCompare/sub-sections/FeaturedBenefits.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageDesktopDualCompare/sub-sections/HowYouEarn.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageDesktopDualCompare/index.jsx","webpack://_N_E/./components/common/FocusHeroBoxes/index.jsx","webpack://_N_E/./components/common/BenefitTiles/index.jsx","webpack://_N_E/./components/site/desktop/BenefitCarousel/index.jsx","webpack://_N_E/./components/site/desktop/HeroSingleLeftStickyBanner/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageGoldCardLeftSticky/constants.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageGoldCardLeftSticky/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetHeroFusionFullBackground/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetHeroFusionFullBackground/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetHeroFusionAndCardTileWithBenefitsTabs/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageHeroFusionWithCardTileAndGoldBanner/index.jsx","webpack://_N_E/./components/common/StickyWrapper/index.jsx","webpack://_N_E/./components/site/desktop/SideBarHero/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetStickySidebarHero/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetHeroCarousel/BenefitTilesSlider/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetHeroCarousel/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageLeftStickyBannerBlueEveryday/constants.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageLeftStickyBannerBlueEveryday/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetTabbedBenefit/index.jsx","webpack://_N_E/./components/site/desktop/FlipTilesBenefitsCombined/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageLeftStickyFusionHero/AssetHeroPlatinum/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageLeftStickyFusionHero/AssetHeroPlatinum/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageLeftStickyFusionHero/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetHeroPlatRokuExperience/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetHeroPlatRokuExperience/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetStaticCenturionLounge/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetStaticCenturionLounge/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetStickyNavPlatRokuExperience/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetStickyNavPlatRokuExperience/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageRokuExperience/index.jsx","webpack://_N_E/./components/assets/site/desktop/AssetFullPageTravel/asset-settings.js","webpack://_N_E/./components/assets/site/desktop/AssetFullPageTravel/index.jsx","webpack://_N_E/./pages/d/multi-filters/constants.js","webpack://_N_E/./components/assets/site/desktop/AssetMultiFiltersPage/index.jsx","webpack://_N_E/./components/placements/site/desktop/PlacementPage/index.jsx","webpack://_N_E/./components/site/desktop/BannerApplyCompare/constants.js","webpack://_N_E/./components/site/desktop/BannerApplyCompare/index.jsx","webpack://_N_E/./components/site/desktop/BenefitsAccordion/index.jsx","webpack://_N_E/./components/site/desktop/FilterCardComparison/index.jsx","webpack://_N_E/./pages/d/multi-filters/index.page.jsx","webpack://_N_E/./components/site/desktop/TermsModal/index.jsx","webpack://_N_E/./components/site/desktop/ButtonTermsModal/index.jsx","webpack://_N_E/./utils/inject-button.js","webpack://_N_E/./components/assets/site/desktop/AssetHeroCarousel/BenefitTilesSlider/styles.module.scss","webpack://_N_E/./components/common/FlipTile/styles.module.scss"],"sourcesContent":["import ContentContainer from \"@common/ContentContainer\";\nimport DangerSet from \"@common/DangerSet\";\nimport Title from \"@common/Title\";\nimport IconByFilename from \"@common/IconByFilename\";\nimport { TAGULAR_LOCATIONS } from \"@constants/tagular\";\nimport useElementViewed from \"@hooks/tagular/use-element-viewed\";\nimport matchHeightByAttribute from \"@utils/match-height-by-attribute\";\nimport cn from \"classnames\";\nimport mcn from \"utils/merge-classnames\";\nimport PropTypes from \"prop-types\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport {\n ASSET_BANNER_EMPHASIZED_MULTIPLIERS_KEYS,\n ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES,\n ASSET_SETTINGS,\n} from \"./asset-settings\";\n\n// PropTypes\nconst AssetBannerEmphasizedMultipliersProps = {\n sectionId: PropTypes.oneOf(\n Object.values(ASSET_BANNER_EMPHASIZED_MULTIPLIERS_KEYS)\n ), // Defaults to ASSET_BANNER_EMPHASIZED_MULTIPLIERS_KEYS.MULTIPLIERS_PLAT\n theme: PropTypes.oneOf(\n Object.values(ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES)\n ), // Defaults to ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES.LIGHT\n isMultiplierOnSeparateLine: PropTypes.bool, // Defaults to false\n tilesHaveShadow: PropTypes.bool, // Defaults to true\n showCircleIcons: PropTypes.bool, // Defaults to false\n titleProps: PropTypes.object,\n headlineProps: PropTypes.object,\n tileTitleProps: PropTypes.object,\n responsiveProps: PropTypes.object,\n};\n\n/**\n * Asset: AssetBannerEmphasizedMultipliers\n */\nconst AssetBannerEmphasizedMultipliers = ({\n sectionId = ASSET_BANNER_EMPHASIZED_MULTIPLIERS_KEYS.MULTIPLIERS_PLAT,\n theme = ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES.LIGHT,\n isMultiplierOnSeparateLine = false,\n tilesHaveShadow = true,\n showCircleIcons = false,\n headlineProps,\n tileTitleProps,\n titleProps,\n responsiveProps,\n tileBodyProps,\n ...props\n}) => {\n const { [sectionId]: assetSettings } = ASSET_SETTINGS;\n const content = assetSettings;\n\n const ref = useRef(null);\n\n useElementViewed(ref, {\n elementType: TAGULAR_LOCATIONS.BANNER,\n location: TAGULAR_LOCATIONS.EMPHASIZED_MULTIPLIERS_ASSET,\n name: TAGULAR_LOCATIONS.EMPHASIZED_MULTIPLIERS_ASSET,\n position: \"static\",\n text: content?.headline,\n });\n\n const matchHeight = useCallback(() => {\n matchHeightByAttribute(\"data-match-height\");\n }, []);\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"scroll\", matchHeight);\n window.addEventListener(\"resize\", matchHeight);\n }\n\n return () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"scroll\", matchHeight);\n window.removeEventListener(\"resize\", matchHeight);\n }\n };\n }, []);\n\n return (\n <section\n ref={ref}\n {...props}\n className={cn(\n \"bg-white py-24 lg:py-48\",\n {\n \"bg-white\":\n ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES.LIGHT === theme,\n \"bg-grey-6\":\n ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES.DARK === theme,\n },\n props?.className\n )}\n >\n <ContentContainer>\n <div className=\"max-w-[385px] lg:max-w-full mx-auto\">\n <DangerSet\n as={Title}\n asProps={{ as: \"h2\" }}\n html={content?.headline}\n {...headlineProps}\n className={mcn(\n \"font-medium text-grey-6 text-3 lg:text-t2 text-left lg:text-center max-w-[230px] lg:max-w-full mb-24 lg:mb-48\",\n {\n \"text-grey-6\":\n ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES.LIGHT === theme,\n \"text-white\":\n ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES.DARK === theme,\n },\n headlineProps?.className\n )}\n />\n <div className=\"flex flex-col items-center w-full h-full gap-16 m-auto lg:items-start lg:flex-row lg:justify-center lg:gap-24\">\n {content?.tiles?.map((tile) => (\n <div\n {...responsiveProps}\n className={cn(\n \"flex flex-col lg:flex-1 border border-solid rounded border-grey-3 w-full lg:min-h-[216px] bg-white h-full\",\n { \"shadow-sm lg:border-transparent\": tilesHaveShadow },\n responsiveProps?.className\n )}\n key={tile?.key}\n data-match-height=\"multiplier-tiles\"\n >\n <div className=\"flex flex-col justify-center p-16 lg:p-24\">\n <div\n className={cn(\"flex mb-12 lg:mb-16\", {\n \"flex-col\": isMultiplierOnSeparateLine,\n \"items-end\": !isMultiplierOnSeparateLine,\n })}\n >\n {showCircleIcons && (\n <div className=\"w-64 h-64 rounded-full bg-amex-deepBlue flex items-center justify-center mx-auto mb-16\">\n <IconByFilename\n filename={tile?.icon}\n className=\"min-w-[36px] w-100% h-36 text-white z-10\"\n />\n </div>\n )}\n <DangerSet\n as=\"span\"\n {...titleProps}\n html={tile?.multiplier}\n className={mcn(\n \"font-bold text-amex-deepBlue text-t2 lg:text-t1-md\",\n titleProps?.className,\n { \"-mb-2 mr-4\": !isMultiplierOnSeparateLine },\n { \"pb-4\": isMultiplierOnSeparateLine },\n titleProps?.className\n )}\n />\n <DangerSet\n as=\"h3\"\n html={tile?.title}\n {...tileTitleProps}\n className={cn(\n \"text-amex-deepBlue text-t6 lg:text-t4\",\n tileTitleProps?.className\n )}\n />\n </div>\n <DangerSet\n as=\"p\"\n html={tile?.body}\n {...tileBodyProps}\n className={mcn(\"\", tileBodyProps?.className)}\n />\n </div>\n </div>\n ))}\n </div>\n </div>\n </ContentContainer>\n </section>\n );\n};\n\nAssetBannerEmphasizedMultipliersProps.propTypes =\n AssetBannerEmphasizedMultipliersProps;\n\nexport default AssetBannerEmphasizedMultipliers;\n","export const ASSET_KEY = \"asset-banner-gold-castle\";\n\nexport const ASSET_SETTINGS = {\n [ASSET_KEY]: {\n content: {\n cardName: \"American Express® Gold Card\",\n linkDesktop: \"/d/gold-card/\",\n linkMobile: \"/m/gold-card/full/\",\n bannerText:\n \"in a Limited Edition White Gold design, available while supplies last.\",\n },\n },\n};\n","import CardArt, { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport useElementViewed from \"@hooks/tagular/use-element-viewed\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport PropTypes from \"prop-types\";\nimport { useRef } from \"react\";\nimport { ASSET_KEY, ASSET_SETTINGS } from \"./asset-settings\";\n\nconst propTypesAssetBannerGoldCastle = {\n sectionId: PropTypes.string,\n};\n\n/**\n * Asset: AssetBannerGoldCastle\n */\nconst AssetBannerGoldCastle = ({ sectionId = ASSET_KEY, ...props }) => {\n const { [sectionId]: assetBannerGoldCastle } = ASSET_SETTINGS;\n const { content } = assetBannerGoldCastle;\n const primaryCard = usePrimaryCard(AMEX_CNS_CARD_IDS.WHITE_GOLD);\n const { isMobileRender } = usePageSettings();\n\n const bannerRef = useRef(null);\n useElementViewed(bannerRef, {\n elementType: TAGULAR_LOCATIONS.BANNER,\n location: TAGULAR_LOCATIONS.GOLD_CASTLE_BANNER,\n name: TAGULAR_LOCATIONS.GOLD_CASTLE_BANNER,\n position: \"static\",\n text: TAGULAR_LOCATIONS.GOLD_CASTLE_BANNER,\n });\n\n const handleLinkClick = () => {\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.LINK,\n elementType: TAGULAR_ELEMENT_TYPES.LINK,\n location: TAGULAR_LOCATIONS.GOLD_CASTLE_BANNER,\n name: TAGULAR_LOCATIONS.GOLD_CASTLE_BANNER,\n position: \"static\",\n text: TAGULAR_LOCATIONS.GOLD_CASTLE_BANNER,\n });\n };\n\n if (!content) {\n return null;\n }\n\n return (\n <section\n ref={bannerRef}\n data-test-container={sectionId}\n {...props}\n className=\"flex justify-end bg-[image:var(--image-url)] py-8 lg:py-16 pl-24\"\n style={{\n \"--image-url\": `url(\"/imgs/textures/thick-black-1.svg\")`,\n }}\n >\n <div className=\"flex max-w-[1200px] w-full rounded-l-full pr-16 bg-amex-deepBlue\">\n <div className=\"relative right-[32px] min-w-[120px] max-w-[120px] lg:max-w-[160px]\">\n <CardArt\n card={primaryCard}\n variation={CARD_ART_VARIATIONS.RIGHT}\n className=\"w-160\"\n />\n </div>\n <div className=\"flex items-center max-w-[920px] w-full\">\n {isMobileRender ? (\n <div className=\"flex py-8 pr-10 -ml-1\">\n <DangerSet\n as=\"p\"\n className=\"text-white decoration-white text-p2 lg:text-t5 lg:font-medium\"\n html={`Get the <a class='decoration-white text-white' href='${content?.linkMobile}' target='_blank'>${content?.cardName}</a> ${content?.bannerText}`}\n onClick={() => handleLinkClick()}\n />\n </div>\n ) : (\n <div className=\"flex py-8 pr-10 -ml-1\">\n <DangerSet\n as=\"p\"\n className=\"text-white decoration-white text-p2 lg:text-t5 lg:font-medium\"\n html={`Get the <a class='decoration-white text-white' href='${content?.linkDesktop}' target='_blank'>${content?.cardName}</a> ${content?.bannerText}`}\n onClick={() => handleLinkClick()}\n />\n </div>\n )}\n </div>\n </div>\n </section>\n );\n};\n\nAssetBannerGoldCastle.propTypes = propTypesAssetBannerGoldCastle;\nexport default AssetBannerGoldCastle;\n","export const ASSET_KEY = \"asset-hero-banner-gambit\";\n\nexport const ASSET_SETTINGS = {\n [ASSET_KEY]: {\n content: {\n barker: {\n text: \"APPLY WITH CONFIDENCE\",\n className: \"barker--light-blue--lg\",\n },\n title: \"Know if You're Approved with No Credit Score Impact\",\n body: \"If you’re approved and you choose to accept a Card, your credit score may be impacted. This application process is not available for Business Cards.\",\n bgImage:\n \"/imgs/preamp/asset-hero-banner-gambit/bg-woman-city-buildings.jpg\",\n },\n },\n};\n","import DangerSet from \"@common/DangerSet\";\nimport Title from \"@common/Title\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { ASSET_KEY, ASSET_SETTINGS } from \"./asset-settings\";\n\n// PropTypes\nconst propTypesAssetHeroBannerGambit = {\n bgImage: PropTypes.string,\n sectionId: PropTypes.string,\n};\n\n/**\n * Asset: AssetHeroBannerGambit\n */\nconst AssetHeroBannerGambit = ({\n sectionId = ASSET_KEY,\n bgImage,\n ...props\n}) => {\n const { [sectionId]: heroBannerGambit } = ASSET_SETTINGS;\n return (\n <div\n {...props}\n data-contentful-section-id={sectionId}\n style={{\n \"--image-url\": `url(\"${\n bgImage ?? heroBannerGambit?.content?.bgImage\n }\")`,\n }}\n className={cn(\n \"bg-[linear-gradient(to_right,#00175A_40%,transparent_80%),var(--image-url)] grid grid-cols-[55%_45%] bg-contain bg-no-repeat bg-right text-white w-full h-[280px] -mb-20 pl-120 py-76\",\n props?.className\n )}\n data-test-image\n >\n <div>\n <span\n className={cn(heroBannerGambit?.content?.barker?.className, \"mb-28\")}\n >\n {heroBannerGambit?.content?.barker?.text}\n </span>\n <DangerSet\n as={Title}\n asProps={{ as: \"h1\", title: 3 }}\n className=\"mb-8 font-medium\"\n html={heroBannerGambit?.content?.title}\n />\n <DangerSet\n as=\"p\"\n className=\"mb-16\"\n html={heroBannerGambit?.content?.body}\n />\n </div>\n </div>\n );\n};\n\nAssetHeroBannerGambit.propTypes = propTypesAssetHeroBannerGambit;\nexport default AssetHeroBannerGambit;\n","import IconWithText, { iconWithTextPropTypes } from \"@common/IconWithText\";\nimport IconDownFilled from \"@components/icons/directional/IconDownFilled\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport useAccordion, { useAccordionProptypes } from \"@hooks/use-accordion\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nexport const accordionPropTypes = {\n accordionButtonClassName: PropTypes.string,\n children: PropTypes.node,\n icon: PropTypes.elementType,\n iconWithTextProps: PropTypes.shape(iconWithTextPropTypes),\n initAccordionObject: useAccordionProptypes.initAccordionObject,\n title: PropTypes.string,\n tagularProps: CUSTOM_PROP_TYPES.TAGULAR_ELEMENT,\n};\n\nconst Accordion = ({\n accordionButtonClassName,\n children,\n icon: Icon,\n iconWithTextProps,\n initAccordionObject,\n title,\n tagularProps,\n ...props\n}) => {\n const accordionObj = useAccordion(initAccordionObject);\n\n const trackAccordionActions = () => {\n const actionOutcome = accordionObj.isExpanded\n ? TAGULAR_ACTION_OUTCOMES.ACCORDION_CLOSE\n : TAGULAR_ACTION_OUTCOMES.ACCORDION_OPEN;\n\n fireElementClicked({\n text: title,\n actionOutcome,\n location: TAGULAR_LOCATIONS.ACCORDION,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n ...tagularProps,\n });\n };\n\n return (\n <div {...props}>\n <button\n type=\"button\"\n {...accordionObj.getAccordionTriggerProps({\n onClick: trackAccordionActions,\n })}\n className={cn(\n \"py-24 px-16 md:py-8 flex items-center justify-between align-center w-full focus:ring-inset border-2 border-solid border-grey-2 rounded\",\n accordionButtonClassName\n )}\n data-test-button=\"read-more\"\n >\n <span className=\"inline-flex items-center gap-12\">\n <IconWithText\n icon={Icon}\n text={title}\n {...iconWithTextProps}\n className={iconWithTextProps?.className}\n textProps={{\n \"aria-label\": decodeHTMLEntities(title),\n className: cn(\n \"font-medium text-t6 lg:text-t3\",\n iconWithTextProps?.textProps?.className\n ),\n }}\n />\n </span>\n <IconDownFilled\n className={cn(\n \"max-w-full inline h-16 text-amex-brightBlue min-w-[16px] ease-in-out duration-300\",\n {\n \"rotate-180\": accordionObj.isExpanded,\n }\n )}\n />\n </button>\n <div\n {...accordionObj.getAccordionTargetProps()}\n className={cn(\n \"overflow-hidden duration-500 transition-[visibility_max-height] relative ease-in-out delay-100\",\n {\n \"invisible max-h-0\": !accordionObj.isExpanded,\n \"visible max-h-full\": accordionObj.isExpanded,\n }\n )}\n >\n <div\n className={cn(\n \"transition-[opacity_translate] duration-500 delay-100 ease-in-out\",\n {\n \"opacity-0 -translate-y-[2rem]\": !accordionObj.isExpanded,\n },\n {\n \"opacity-1 translate-y-0\": accordionObj.isExpanded,\n }\n )}\n >\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nAccordion.propTypes = accordionPropTypes;\n\nexport default Accordion;\n","import Accordion, { accordionPropTypes } from \"@common/Accordion\";\nimport DangerSet from \"@common/DangerSet\";\nimport IconByFilename from \"@common/IconByFilename\";\nimport Title from \"@common/Title\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getBenefitList from \"@utils/contentful/get-benefit-list\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getMeta from \"@utils/contentful/get-meta\";\nimport cn from \"classnames\";\nimport { omit } from \"lodash\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nconst accordionBenefitsGridPropTypes = {\n sectionId: PropTypes.string,\n contentClassName: PropTypes.string,\n titleProps: PropTypes.shape(CUSTOM_PROP_TYPES.TITLE),\n expandAccordion: PropTypes.bool,\n tagularProps: PropTypes.object,\n ...omit(accordionPropTypes, [\"title\", \"icon\", \"iconWithTextProps\"]),\n};\n\n/**\n * Component: AccordionBenefitsGrid\n */\nconst AccordionBenefitsGrid = ({\n accordionButtonClassName,\n contentClassName,\n expandAccordion = false,\n sectionId,\n title,\n titleProps,\n tagularProps,\n ...props\n}) => {\n const { [sectionId]: accordionSettings = {} } = usePageSettings();\n const { isMobileRender } = usePageSettings();\n const primaryCard = usePrimaryCard(accordionSettings?.card);\n const section = useSection(sectionId);\n\n if (!primaryCard || !section) {\n return null;\n }\n\n const benefits = getBenefits(section, primaryCard?.id);\n const sectionBenefitList = getBenefitList(section, primaryCard?.id);\n const meta = getMeta(section, { sectionBenefitList, primaryCard });\n\n return (\n <Accordion\n accordionButtonClassName={accordionButtonClassName}\n {...ContentfulProps(sectionBenefitList, \"meta\")}\n title={title || meta?.title}\n icon={IconByFilename}\n {...props}\n iconWithTextProps={{\n filename: meta?.icon,\n className: \"text-amex-brightBlue h-32 inline\",\n }}\n data-contentful-section-id={sectionId}\n initAccordionObject={{\n initIsExpanded: expandAccordion,\n }}\n tagularProps={tagularProps}\n >\n <ul\n className={cn(\n \"p-16 resp-lg:p-44 gap-32 resp-lg:gap-24 grid resp-lg:grid-cols-2 bg-grey-2\",\n contentClassName\n )}\n >\n {benefits?.map((benefit, index) => (\n <li key={index}>\n {benefit?.fields?.barker && (\n <DangerSet\n html={benefit?.fields?.barker}\n className=\"mb-8 barker--deep-blue--lg\"\n />\n )}\n {benefit?.fields?.meta?.barker && (\n <DangerSet\n {...ContentfulProps(benefit, \"barker\")}\n html={benefit?.fields?.meta?.barker}\n className={cn(\n { \"mb-12\": !isMobileRender },\n { \"mb-4\": isMobileRender },\n benefit?.fields?.meta?.barkerClassName\n )}\n />\n )}\n {benefit?.fields?.title && (\n <DangerSet\n as={Title}\n {...ContentfulProps(benefit, \"title\")}\n html={benefit?.fields?.title}\n asProps={{ as: \"h3\", title: 5 }}\n {...titleProps}\n className={cn(\n \"text-amex-deepBlue font-medium mb-8 resp-lg:mb-12\",\n titleProps?.className\n )}\n />\n )}\n <DangerSet\n as=\"div\"\n {...ContentfulProps(benefit, \"body\")}\n html={benefit?.fields?.body}\n className=\"text-p1\"\n />\n </li>\n ))}\n </ul>\n </Accordion>\n );\n};\n\nAccordionBenefitsGrid.propTypes = accordionBenefitsGridPropTypes;\n\nexport default AccordionBenefitsGrid;\n","import useAppContext from \"@hooks/use-app-context\";\nimport Image from \"next/image\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nconst amexImagePropTypes = {\n alt: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n showSkeleton: PropTypes.bool, // default: true\n skeletonHeight: PropTypes.number,\n skeletonWidth: PropTypes.number,\n src: PropTypes.string.isRequired,\n width: PropTypes.number.isRequired,\n};\n\n/**\n * Component: AmexImage\n */\nconst AmexImage = ({\n alt,\n height,\n showSkeleton = true,\n skeletonHeight,\n skeletonWidth,\n src,\n width,\n ...props\n}) => {\n const { isAppLoading } = useAppContext();\n\n if (showSkeleton && isAppLoading) {\n return (\n <svg\n width={skeletonWidth || width}\n height={skeletonHeight || height}\n viewBox={`0 0 ${skeletonWidth || width} ${skeletonHeight || height}`}\n className=\"skeleton-loaders\"\n data-component=\"AmexImage\"\n role=\"img\"\n style={{\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n minHeight: skeletonHeight || height,\n }}\n >\n <rect\n x=\"0\"\n y=\"0\"\n rx=\"6\"\n ry=\"6\"\n width={skeletonWidth || width}\n height={skeletonHeight || height}\n />\n </svg>\n );\n }\n\n return (\n <Image\n data-test-nextjs-image\n width={width}\n height={height}\n src={src}\n alt={alt}\n {...props}\n />\n );\n};\n\nAmexImage.propTypes = amexImagePropTypes;\n\nexport default AmexImage;\n","import IconMinusCircle from \"@components/icons/directional/IconMinusCircle\";\nimport IconMinusCircleFilled from \"@components/icons/directional/IconMinusCircleFilled\";\nimport IconPlusCircle from \"@components/icons/directional/IconPlusCircle\";\nimport IconPlusCircleFilled from \"@components/icons/directional/IconPlusCircleFilled\";\nimport useDialog, { dialogPropTypes } from \"@hooks/use-dialog\";\nimport cn from \"classnames\";\nimport omit from \"lodash/omit\";\nimport PropTypes from \"prop-types\";\nimport { useCallback } from \"react\";\nimport { FocusOn } from \"react-focus-on\";\nimport mcn from \"utils/merge-classnames\";\n\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\n\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport styles from \"./styles.module.scss\";\n\n// PropTypes\nconst flipTilePropsTypes = {\n dialogGroupObj: dialogPropTypes.initDialogObject,\n children: PropTypes.node.isRequired,\n frontIconStyles: PropTypes.string,\n tileFrontInnerBodyClassName: PropTypes.string,\n tileContainerInnerBodyClassName: PropTypes.string,\n disableFlip: PropTypes.bool, // Add this new prop\n};\n\n/**\n * Component: FlipTile\n */\nconst FlipTile = ({\n children,\n dialogGroupObj,\n tagularProps,\n frontButtonProps,\n frontIconStyles,\n tileFrontInnerBodyClassName,\n tileContainerInnerBodyClassName,\n disableFlip, // Add this new prop\n ...props\n}) => {\n const { setIsVisible, isVisible, ...dialog } = useDialog(dialogGroupObj);\n\n const handleModalToggle = useCallback(() => {\n if (disableFlip) return; // Prevent flip if disabled\n setIsVisible(!isVisible);\n }, [setIsVisible, isVisible, disableFlip]);\n\n const handleTagularEvent = () =>\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.TILE_FLIP,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n location: TAGULAR_LOCATIONS.FLIP_TILES,\n ...tagularProps,\n });\n\n if (!children || children.length !== 2) {\n return null;\n } // requires 2 children to function\n\n const getFlipTileSideComponent = (childrenKey) => children[childrenKey];\n\n return (\n <div\n {...props}\n data-test-container=\"flip-tile\"\n className={cn(styles.tile, props.className)}\n >\n {/* Inner Body */}\n <div\n className={mcn(\n \"h-full flex relative duration-500 border-2 border-solid border-grey-3 motion-reduce:transition-none rounded\",\n !isVisible && tileFrontInnerBodyClassName,\n styles.tileBody,\n isVisible && styles.active,\n tileContainerInnerBodyClassName\n )}\n >\n {/* Make this a div instead of a button when flip is disabled */}\n {disableFlip ? (\n <div\n className={cn(\n \"flex flex-col min-w-full bg-white\",\n styles.hiddenBackface,\n frontButtonProps?.className\n )}\n >\n {getFlipTileSideComponent(0)}\n </div>\n ) : (\n <button\n {...frontButtonProps}\n type=\"button\"\n onClick={handleModalToggle}\n {...dialog.getTriggerProps({\n onClick: handleTagularEvent,\n })}\n ref={dialog.triggerRef}\n className={cn(\n \"flex flex-col group min-w-full bg-white focus:shadow-lg hover:shadow-lg\",\n styles.hiddenBackface,\n frontButtonProps?.className\n )}\n aria-hidden={isVisible}\n >\n <span className=\"block pt-8 pr-8 ml-auto\">\n <IconPlusCircle\n className={cn(\n \"text-amex-brightBlue h-24 group-hover:hidden group-focus:hidden ml-auto\",\n frontIconStyles\n )}\n />\n <IconPlusCircleFilled\n className={cn(\n \"text-amex-brightBlue hidden h-24 group-hover:block group-focus:block ml-auto\",\n frontIconStyles\n )}\n />\n </span>\n {getFlipTileSideComponent(0)}\n </button>\n )}\n {/* Only render back panel if flip is enabled */}\n {!disableFlip && (\n <FocusOn\n className={cn(\n \"min-w-full bg-white\",\n styles.hiddenBackface,\n styles.transformTileBackside\n )}\n enabled={isVisible}\n onEscapeKey={handleModalToggle}\n onClickOutside={handleModalToggle}\n >\n <div\n {...omit(dialog.getTargetProps(), \"hidden\")}\n className={cn(\n { invisible: !isVisible },\n \"transition-all motion-reduce:transition-none\"\n )}\n title=\"Flip Tile Card\"\n >\n <div className=\"flex pt-8 pr-8\">\n <button\n type=\"button\"\n className=\"ml-auto group\"\n data-test-button=\"icon-minus-circle\"\n onClick={handleModalToggle}\n aria-label=\"Close\"\n >\n <IconMinusCircle className=\"h-24 text-amex-brightBlue group-hover:hidden group-focus:hidden\" />\n <IconMinusCircleFilled className=\"hidden h-24 text-amex-brightBlue group-hover:block group-focus:block\" />\n </button>\n </div>\n {getFlipTileSideComponent(1)}\n </div>\n </FocusOn>\n )}\n </div>\n </div>\n );\n};\n\nFlipTile.propTypes = flipTilePropsTypes;\n\nexport default FlipTile;\n","import useAppContext from \"@hooks/use-app-context\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nconst safeSetPropTypes = {\n html: PropTypes.object, // Used as html value\n as: PropTypes.elementType,\n asProps: PropTypes.object,\n};\n\n/**\n * Component: safeSet\n *\n */\nconst SafeSet = ({ html, as: Tag = \"span\", asProps = {}, ...props }) => {\n const { isAppLoading } = useAppContext();\n\n if (!html) {\n return null;\n }\n\n if (isAppLoading) {\n const allowedClasses = (props?.className || \"\")\n .split(\" \")\n .filter(\n (className) =>\n className.startsWith(\"text-\") ||\n className.startsWith(\"w-\") ||\n className.startsWith(\"max-\") ||\n className.startsWith(\"mx-\")\n )\n .join(\" \");\n\n return (\n <div className={cn(\"mx-auto text-center mb-12 text-t1\", allowedClasses)}>\n <svg\n width={240}\n height={20}\n viewBox=\"0 0 240 20\"\n className=\"skeleton-loaders\"\n data-component=\"DangerSet\"\n role=\"img\"\n style={{ maxWidth: \"100%\", maxHeight: \"100%\", minHeight: \"20px\" }}\n >\n <rect x=\"0\" y=\"0\" rx=\"6\" ry=\"6\" width=\"240\" height=\"20\" />\n </svg>\n </div>\n );\n }\n\n return (\n <Tag {...asProps} {...props}>\n {html}\n </Tag>\n );\n};\n\nSafeSet.propTypes = safeSetPropTypes;\n\nexport default SafeSet;\n","const IconMinusCircle = (props) => (\n <svg\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n aria-label=\"Minus\"\n data-testid=\"icon-minus-circle\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M24 0c13.255 0 24 10.745 24 24S37.255 48 24 48 0 37.255 0 24 10.745 0 24 0Zm0 3C12.42 3 3 12.42 3 24s9.42 21 21 21 21-9.42 21-21S35.58 3 24 3Zm12 21a2 2 0 0 0-2-2H14l-.15.006A2 2 0 0 0 14 26h20l.15-.006A2 2 0 0 0 36 24Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconMinusCircle;\n","const IconMinusCircleFilled = (props) => (\n <svg\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n aria-label=\"Minus\"\n data-testid=\"icon-minus-circle-filled\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48 24C48 10.745 37.255 0 24 0S0 10.745 0 24s10.745 24 24 24 24-10.745 24-24Zm-34.15-1.994L14 22h20l.15.006a2 2 0 0 1 0 3.988L34 26H14l-.15-.006a2 2 0 0 1 0-3.988Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconMinusCircleFilled;\n","const IconPlusCircleFilled = (props) => (\n <svg\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n aria-label=\"Plus\"\n data-testid=\"icon-plus-circle-filled\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M48 24C48 10.745 37.255 0 24 0S0 10.745 0 24s10.745 24 24 24 24-10.745 24-24ZM23.85 12.005 24 12l.157.006a2 2 0 0 1 1.837 1.845L26 14v8h8l.157.006a2 2 0 0 1 1.838 1.845L36 24l-.006.157a2 2 0 0 1-1.845 1.837L34 26h-8v8l-.006.157a2 2 0 0 1-1.845 1.838L24 36l-.157-.006a2 2 0 0 1-1.837-1.845L22 34v-8h-8l-.157-.006a2 2 0 0 1-1.838-1.845L12 24l.006-.157a2 2 0 0 1 1.845-1.837L14 22h8v-8l.007-.165a2 2 0 0 1 1.69-1.812l.154-.018Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default IconPlusCircleFilled;\n","import { ASSET_BANNER_GAMBIT_IMAGE_THEME } from \"@assets/site/desktop/AssetBannerGambitImage\";\nimport AssetExpandableHeroDelta from \"@assets/site/desktop/AssetExpandableHeroDelta\";\nimport Placeholder from \"@common/Placeholder\";\nimport PlacementAbove from \"@common/PlacementAbove\";\nimport PlacementBelow from \"@common/PlacementBelow\";\nimport PlacementWrapper from \"@common/PlacementWrapper\";\nimport { AMEX_CNS_CARD_IDS, HILTON_CNS_CARD_IDS } from \"@constants/cards\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport { PLACEMENT_KEYS } from \"@constants/placement-keys\";\nimport { Asset } from \"@redventures/preamp-for-react\";\nimport React, { Fragment } from \"react\";\n\nconst PlacementHeroTriplePropTypes = {\n ...CUSTOM_PROP_TYPES.PLACEMENT,\n};\n\nconst AssetBannerDontLiveWithoutIt = React.lazy(() =>\n import(\"@assets/common/AssetBannerDontLiveWithoutIt\")\n);\n\nconst AssetBannerGambitImage = React.lazy(() =>\n import(\"@assets/site/desktop/AssetBannerGambitImage\")\n);\nconst AssetBannerAmexExperiences = React.lazy(() =>\n import(\"@assets/site/desktop/AssetBannerAmexExperiences\")\n);\nconst AssetHeroTripleGambit = React.lazy(() =>\n import(\"@assets/site/desktop/AssetHeroTripleGambit\")\n);\nconst AssetHeroFusion = React.lazy(() =>\n import(\"@assets/site/desktop/AssetHeroFusion\")\n);\nconst AssetHeroFusionHilton = React.lazy(() =>\n import(\"@assets/site/desktop/AssetHeroFusionHilton\")\n);\nconst AssetHeroFusionMultAbove = React.lazy(() =>\n import(\"@assets/site/desktop/AssetHeroFusionMultipliersAbove\")\n);\nconst AssetHeroProductFocusedFusion = React.lazy(() =>\n import(\"@assets/site/desktop/AssetHeroProductFocusedFusion\")\n);\nconst AssetBannerTakeoffDropdown = React.lazy(() =>\n import(\"@assets/site/desktop/AssetBannerTakeoffDropdown\")\n);\nconst AssetBannerLTOReward = React.lazy(() =>\n import(\"@assets/site/desktop/AssetBannerLTOReward\")\n);\nconst AssetBannerTPGHiltonAspireCTA = React.lazy(() =>\n import(\"@assets/site/desktop/AssetBannerTPGHiltonAspireCTA\")\n);\nconst AssetBannerTPGHiltonAspire = React.lazy(() =>\n import(\"@assets/site/desktop/AssetBannerTPGHiltonAspire\")\n);\n\n/**\n * Placement: PlacementHeroTriple\n */\nconst PlacementHeroTriple = ({\n placementControl: ControlComponent = Fragment,\n placeholder = <Placeholder heightClass=\"min-h-[800px]\" />,\n placementName = PLACEMENT_KEYS.D_HERO_TRIPLE,\n ...props\n}) => (\n <>\n <PlacementAbove placementName={placementName} />\n <PlacementWrapper\n placementControl={ControlComponent}\n placementName={placementName}\n {...props}\n >\n <Asset\n name=\"Desktop - HeroTriple Gambit\"\n lazy={AssetHeroTripleGambit}\n placeholder={placeholder}\n />\n <Asset\n name=\"Desktop - Hero Fusion\"\n lazy={AssetHeroFusion}\n placeholder={placeholder}\n />\n <Asset\n name=\"Desktop - Hero Fusion Interactive\"\n lazy={AssetHeroFusion}\n placeholder={placeholder}\n />\n <Asset\n name=\"Desktop - Hero Fusion Plat Gold Green\"\n lazy={AssetHeroFusion}\n placeholder={placeholder}\n cards={[\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.GREEN,\n ]}\n initActiveTabIndex={0}\n goldTooltip\n />\n <Asset\n name=\"Desktop - Hero Fusion Gold BCE BCP\"\n lazy={AssetHeroFusion}\n placeholder={placeholder}\n cards={[\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n ]}\n initActiveTabIndex={0}\n goldTooltip\n />\n <Asset\n name=\"Desktop - Hero Fusion Hilton\"\n lazy={AssetHeroFusionHilton}\n placeholder={placeholder}\n />\n <Asset\n name=\"Desktop - Hero Fusion Multipliers Above\"\n lazy={AssetHeroFusionMultAbove}\n placeholder={placeholder}\n />\n <Asset\n name=\"Desktop - Hero Product Focused Fusion\"\n lazy={AssetHeroProductFocusedFusion}\n placeholder={placeholder}\n />\n <Asset\n lazy={AssetExpandableHeroDelta}\n name=\"Desktop - Hero Expandable Delta\"\n placeholder={placeholder}\n />\n </PlacementWrapper>\n <PlacementBelow placementName={placementName}>\n <Asset\n lazy={AssetBannerAmexExperiences}\n name=\"Desktop - Amex Experiences Banner\"\n />\n <Asset\n lazy={AssetBannerDontLiveWithoutIt}\n name=\"Desktop - Banner Don't Live Without It\"\n />\n <Asset name=\"Desktop - Banner TakeOff 15 Drop Down Explainer\">\n <AssetBannerTakeoffDropdown />\n </Asset>\n <Asset\n name=\"Desktop - Banner TPG Hilton Aspire CTA\"\n lazy={AssetBannerTPGHiltonAspireCTA}\n />\n <Asset\n name=\"Desktop - Banner TPG Hilton Aspire\"\n lazy={AssetBannerTPGHiltonAspire}\n />\n <Asset name=\"Desktop - Surpass LTO Reward Banner\">\n <AssetBannerLTOReward cardId={HILTON_CNS_CARD_IDS.SURPASS} />\n </Asset>\n <Asset name=\"Desktop - Honors LTO Reward Banner\">\n <AssetBannerLTOReward cardId={HILTON_CNS_CARD_IDS.HONORS} />\n </Asset>\n <Asset\n lazy={AssetBannerGambitImage}\n name=\"Desktop - Gambit Light Banner\"\n theme={ASSET_BANNER_GAMBIT_IMAGE_THEME.LIGHT}\n />\n <Asset\n lazy={AssetBannerGambitImage}\n name=\"Desktop - Gambit Dark Banner\"\n theme={ASSET_BANNER_GAMBIT_IMAGE_THEME.DARK}\n />\n </PlacementBelow>\n </>\n);\n\nPlacementHeroTriple.propTypes = PlacementHeroTriplePropTypes;\n\nexport default PlacementHeroTriple;\n","import {\n AMEX_CNS_CARD_IDS,\n DELTA_CNS_CARD_IDS,\n HILTON_CNS_CARD_IDS,\n MARRIOTT_CNS_CARD_IDS,\n} from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n/**\n * PAGE_SETTINGS\n *\n * /d/compare-cards\n */\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n DELTA_CNS_CARD_IDS.RESERVE,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n DELTA_CNS_CARD_IDS.GOLD,\n DELTA_CNS_CARD_IDS.PLATINUM,\n HILTON_CNS_CARD_IDS.HONORS,\n AMEX_CNS_CARD_IDS.GREEN,\n HILTON_CNS_CARD_IDS.SURPASS,\n HILTON_CNS_CARD_IDS.ASPIRE,\n MARRIOTT_CNS_CARD_IDS.BONVOY,\n MARRIOTT_CNS_CARD_IDS.BEVY,\n DELTA_CNS_CARD_IDS.BLUE,\n ],\n [PAGE_SETTINGS_KEYS.BANNER_EXPLORE_CREDIT_CARDS]: {\n content: { title: \"Explore Credit Cards that Fit Your Lifestyle\" },\n },\n [PAGE_SETTINGS_KEYS.FILTER_CARD_COMPARISON]: {\n cards: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n DELTA_CNS_CARD_IDS.RESERVE,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n DELTA_CNS_CARD_IDS.GOLD,\n DELTA_CNS_CARD_IDS.PLATINUM,\n HILTON_CNS_CARD_IDS.HONORS,\n AMEX_CNS_CARD_IDS.GREEN,\n HILTON_CNS_CARD_IDS.SURPASS,\n HILTON_CNS_CARD_IDS.ASPIRE,\n MARRIOTT_CNS_CARD_IDS.BONVOY,\n MARRIOTT_CNS_CARD_IDS.BEVY,\n DELTA_CNS_CARD_IDS.BLUE,\n ],\n defaultCardMix: {\n \"All Cards\": [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n DELTA_CNS_CARD_IDS.RESERVE,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n DELTA_CNS_CARD_IDS.GOLD,\n DELTA_CNS_CARD_IDS.PLATINUM,\n HILTON_CNS_CARD_IDS.HONORS,\n AMEX_CNS_CARD_IDS.GREEN,\n HILTON_CNS_CARD_IDS.SURPASS,\n HILTON_CNS_CARD_IDS.ASPIRE,\n MARRIOTT_CNS_CARD_IDS.BONVOY,\n MARRIOTT_CNS_CARD_IDS.BEVY,\n DELTA_CNS_CARD_IDS.BLUE,\n ],\n Featured: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n Travel: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.PLATINUM,\n ],\n \"Cash Back\": [\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n ],\n \"No Fee\": [\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n HILTON_CNS_CARD_IDS.HONORS,\n ],\n \"Everyday Purchases\": [\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n Rewards: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.GREEN,\n ],\n },\n },\n};\n\n/**\n * PAGE_CONTENT\n */\nexport const PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.CM_BENEFITS,\n PAGE_SETTINGS_KEYS.CM_REWARDS,\n];\n","import AssetHeroBannerGambit from \"@assets/site/desktop/AssetHeroBannerGambit\";\nimport FilterCardComparison from \"@components/site/desktop/FilterCardComparison\";\nimport CmBenefits from \"@content/prod-contentful/consumer-d-cm-benefits.json\";\nimport CmRewards from \"@content/prod-contentful/consumer-d-cm-rewards.json\";\nimport { PAGE_SETTINGS } from \"@pages/d/compare-cards/constants.js\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport IFrameProvider from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\n\n/**\n * Asset: AssetCompareCardsPage\n */\nconst AssetCompareCardsPage = ({ ...props }) => {\n const content = [CmBenefits, CmRewards];\n\n return (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={content}>\n <IFrameProvider>\n <AssetHeroBannerGambit />\n <FilterCardComparison />\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n );\n};\n\nexport default AssetCompareCardsPage;\n","import { AMEX_CNS_CARD_IDS, DELTA_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { BENEFITS_SECTION_IDS } from \"@site/desktop/AccordionCardComparison/constants\";\n\n/**\n * PAGE_SETTINGS\n *\n * /d/filters\n */\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n [PAGE_SETTINGS_KEYS.DESKTOP_HERO_TRIPLE]: {\n content: {\n barker: \"APPLY WITH CONFIDENCE\",\n title: \"Know if You're Approved with No Credit Score Impact\",\n body: \"<small class='inline-block pt-8'>If you’re approved and you choose to accept a Card, your credit score may be impacted. This application process is not available for Business Cards.</small>\",\n headline: \"Upgrade the way you spend\",\n },\n image: \"bg-woman-city-buildings\",\n filters: {\n controls: [\n {\n key: \"featured\",\n values: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n title: \"Featured\",\n icon: \"icon-card-benefit\",\n },\n {\n key: \"travel\",\n values: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.PLATINUM,\n ],\n title: \"Travel\",\n icon: \"icon-airplane\",\n },\n {\n key: \"everyday purchases\",\n values: [\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n ],\n title: \"Everyday Purchases\",\n icon: \"icon-receipt\",\n },\n ],\n settings: {\n defaultIndex: 0,\n },\n },\n },\n [PAGE_SETTINGS_KEYS.DESKTOP_ACCORDION_CARD_COMPARISON]: {\n content: {\n rewardsTitle: \"How You Earn\",\n benefitsTitle: \"Compare Card Features and Benefits\",\n },\n benefitsSectionIds: BENEFITS_SECTION_IDS,\n },\n};\n\n/**\n * PAGE_CONTENT\n */\nexport const PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.DESKTOP_HERO_TRIPLE,\n PAGE_SETTINGS_KEYS.DESKTOP_TRIPLE_FILTER_EARNING_REWARDS,\n ...BENEFITS_SECTION_IDS,\n];\n","import { BANNER_POSITION } from \"@common/FixedBannerObserver\";\nimport Loading from \"@common/Loading\";\nimport PlacementHeroTripleWithBanner from \"@components/placements/site/desktop/PlacementHeroTripleWithBanner\";\nimport BannerSkinnyCards from \"@components/site/desktop/BannerSkinnyCards\";\nimport HeroTriple from \"@content/prod-contentful/consumer-d-hero-triple.json\";\nimport TripleFilterCarRental from \"@content/prod-contentful/consumer-d-triple-filter-carrental.json\";\nimport TripleFilterDining from \"@content/prod-contentful/consumer-d-triple-filter-dining.json\";\nimport TripleFilterEarningRewards from \"@content/prod-contentful/consumer-d-triple-filter-earning-rewards.json\";\nimport TripleFilterEntertainment from \"@content/prod-contentful/consumer-d-triple-filter-entertainment.json\";\nimport TripleFilterGroceries from \"@content/prod-contentful/consumer-d-triple-filter-groceries.json\";\nimport TripleFilterLounge from \"@content/prod-contentful/consumer-d-triple-filter-lounge.json\";\nimport TripleFilterRideshare from \"@content/prod-contentful/consumer-d-triple-filter-rideshare.json\";\nimport TripleFilterShopping from \"@content/prod-contentful/consumer-d-triple-filter-shopping.json\";\nimport TripleFilterTravel from \"@content/prod-contentful/consumer-d-triple-filter-travel.json\";\nimport { PAGE_SETTINGS } from \"@pages/d/filters/constants.js\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport IFrameProvider from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport dynamic from \"next/dynamic\";\n\nconst DynamicFixedBannerObserver = dynamic(\n () => import(\"@common/FixedBannerObserver\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicAccordionCardComparison = dynamic(\n () => import(\"@components/site/desktop/AccordionCardComparison\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicAssetBannerDontLiveWithoutIt = dynamic(\n () => import(\"@assets/common/AssetBannerDontLiveWithoutIt\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\n/**\n * Asset: AssetFiltersPage\n */\nconst AssetFiltersPage = ({ ...props }) => {\n const content = [\n HeroTriple,\n TripleFilterCarRental,\n TripleFilterDining,\n TripleFilterEarningRewards,\n TripleFilterEntertainment,\n TripleFilterGroceries,\n TripleFilterLounge,\n TripleFilterRideshare,\n TripleFilterShopping,\n TripleFilterTravel,\n ];\n\n return (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={content}>\n <IFrameProvider>\n <PlacementHeroTripleWithBanner />\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <DynamicAssetBannerDontLiveWithoutIt\n metadata={{\n baseAssetName: \"Desktop - Banner Don't Live Without It\",\n assetHeadline:\n \"Why Our Card Members Don't Live Life Without It\",\n imageFileName1: \"man-stage-guitar\",\n imageAltText1: \"Man performing on stage playing a guitar\",\n title1: \"Enjoy Exclusive Tickets & Event Benefits\",\n body1:\n \"Stay in the know with exclusive access to ticket presales<sup>‡</sup> and Card Member-only events in a city near you. Check out Broadway shows and concert tours, family and sporting events, and more.<sup>‡</sup> For more information, please visit <a class='no-underline break-words text-grey-6' href='https://americanexpress.com/entertainment' target='_blank'>americanexpress.com/entertainment</a>.\",\n imageFileName2: \"people-driveway-suitcases\",\n imageAltText2:\n \"Three people standing in a driveway with suitcases in their hands\",\n title2: \"Get More Out of Your Travel Experience\",\n body2:\n \"Book flights, prepaid hotels, and activities to make the most of your trip. Membership Rewards<sup>®</sup> points can be used to cover all or part of a purchase booking except for Insider Fares. Insider Fares must be covered entirely with points.<sup>‡</sup> Bookings must be made at <a class='no-underline break-words text-grey-6' href='https://www.amextravel.com' target='_blank'>amextravel.com</a><sup>‡</sup>.\",\n imageFileName3: \"man-kitchen-frosting\",\n imageAltText3:\n \"Child putting frosting on Man's face in the kitchen while baking\",\n title3: \"Earn More With Amex Offers\",\n body3:\n \"Amex Offers helps Card Members earn rewards on purchases for things they love. Card Members can explore and add Amex Offers to their eligible Card and earn extra rewards on qualifying purchases made with select brands.<sup>‡</sup>\",\n }}\n />\n )\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <DynamicFixedBannerObserver\n bannerPosition={BANNER_POSITION.TOP}\n bannerContent={BannerSkinnyCards}\n >\n <DynamicAccordionCardComparison />\n </DynamicFixedBannerObserver>\n )\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCardLegalIframes />}\n </ElementInView>\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n );\n};\n\nexport default AssetFiltersPage;\n","import { CCT_ROUTES } from \"@apps/components/site/desktop/CardComparisonTool/constants\";\nimport { AMEX_CNS_CARD_IDS, DELTA_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n// Desktop American Express Page Settings Edited\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.GOLD,\n ],\n [PAGE_SETTINGS_KEYS.DESKTOP_HERO_TRIPLE]: {\n image: \"background-market\",\n headline: \"Upgrade the way you spend\",\n },\n [PAGE_SETTINGS_KEYS.CCT_V2]: {\n selectedCards: [],\n route: CCT_ROUTES.ALL,\n lastRoute: CCT_ROUTES.ALL,\n expandedCard: null,\n },\n};\n","import AssetHeroFusion from \"@assets/site/desktop/AssetHeroFusion\";\nimport { BANNER_POSITION } from \"@common/FixedBannerObserver\";\nimport Loading from \"@common/Loading\";\nimport PlacementHeroTriple from \"@components/placements/site/desktop/PlacementHeroTriple\";\nimport BannerSkinnyCards from \"@components/site/desktop/BannerSkinnyCards\";\nimport IFrameProvider from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport dynamic from \"next/dynamic\";\n\n// American Express Import Content\nimport BubbleGreatFor from \"@content/prod-contentful/consumer-d-bubble-great-for.json\";\nimport BubbleGridBenefits from \"@content/prod-contentful/consumer-d-bubble-grid-benefits.json\";\nimport BubbleGridBoost from \"@content/prod-contentful/consumer-d-bubble-grid-boost.json\";\nimport BubbleGridHero from \"@content/prod-contentful/consumer-d-bubble-grid-hero.json\";\nimport BubbleGridRewards from \"@content/prod-contentful/consumer-d-bubble-grid-rewards.json\";\nimport CctV2Benefits from \"@content/prod-contentful/consumer-d-cct-v2-benefits.json\";\nimport CctV2GreatFor from \"@content/prod-contentful/consumer-d-cct-v2-great-for.json\";\nimport CctV2Rewards from \"@content/prod-contentful/consumer-d-cct-v2-rewards.json\";\nimport CctV2AdditionalBenefits from \"@content/prod-contentful/consumer-r-cct-v2-additional-benefits.json\";\nimport FocusGridBenefits from \"@content/prod-contentful/consumer-r-focus-grid-benefits.json\";\nimport FocusGridRewards from \"@content/prod-contentful/consumer-r-focus-grid-rewards.json\";\nimport FocusGrid from \"@content/prod-contentful/consumer-r-focus-grid.json\";\nimport FullModalCreditsAwards from \"@content/prod-contentful/consumer-r-full-modal-credits-awards.json\";\nimport FullModalEntertainment from \"@content/prod-contentful/consumer-r-full-modal-entertainment.json\";\nimport FullModalMemberValue from \"@content/prod-contentful/consumer-r-full-modal-member-value.json\";\nimport FullModalShop from \"@content/prod-contentful/consumer-r-full-modal-shop.json\";\nimport FullModalTravel from \"@content/prod-contentful/consumer-r-full-modal-travel.json\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { PAGE_SETTINGS } from \"./asset-settings\";\n\nconst DynamicPlacementBubbleGrid = dynamic(\n () => import(\"@components/placements/site/desktop/PlacementBubbleGrid\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicFixedBannerObserver = dynamic(\n () => import(\"@common/FixedBannerObserver\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicPlacementCardComparisonTool = dynamic(\n () =>\n import(\"@components/placements/site/desktop/PlacementCardComparisonTool\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicBannerBusinessLearnMore = dynamic(\n () => import(\"@components/site/desktop/BannerBusinessLearnMore\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicPlacementGambitBanner = dynamic(\n () => import(\"@components/placements/site/desktop/PlacementGambitBanner\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicAssetFocusGrid = dynamic(\n () => import(\"@assets/site/desktop/AssetFocusGrid\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\nconst AssetContent = () => (\n <>\n <PlacementHeroTriple\n placementControl={AssetHeroFusion}\n withPadding={false}\n heroProps={{ className: \"pt-72 pb-56\" }}\n metadata={{\n card1: \"dlt-cns-gold\",\n card2: \"amx-cns-gold\",\n card3: \"amx-cns-platinum\",\n bgCard1: \"man-at-gaspump\",\n bgCard2: \"couple-at-sunset\",\n bgCard3: \"bg-mother-son-swimming\",\n activeCard: \"amx-cns-platinum\",\n goldCardHasTooltip: \"false\",\n hasMultipliersAbove: \"false\",\n }}\n />\n <ElementInView timed>\n {(isInView) =>\n isInView && <DynamicPlacementGambitBanner disableAllButLoaders />\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <DynamicFixedBannerObserver\n bannerPosition={BANNER_POSITION.TOP}\n bannerContent={BannerSkinnyCards}\n >\n <DynamicPlacementBubbleGrid\n placementControl={DynamicAssetFocusGrid}\n showBoostBenefits\n />\n </DynamicFixedBannerObserver>\n )\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicPlacementCardComparisonTool />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicBannerBusinessLearnMore />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCardLegalIframes />}\n </ElementInView>\n </>\n);\n\n/**\n * Asset: AssetFullPageAmexExp1306\n */\nconst AssetFullPageAmexExp1306 = ({ ...props }) => {\n const content = [\n BubbleGreatFor,\n BubbleGridBenefits,\n BubbleGridBoost,\n BubbleGridHero,\n BubbleGridRewards,\n CctV2AdditionalBenefits,\n CctV2Benefits,\n CctV2GreatFor,\n CctV2Rewards,\n FocusGridBenefits,\n FocusGridRewards,\n FocusGrid,\n FullModalCreditsAwards,\n FullModalEntertainment,\n FullModalMemberValue,\n FullModalShop,\n FullModalTravel,\n ];\n\n return (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={content}>\n <IFrameProvider>\n <AssetContent />\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n );\n};\n\nexport default AssetFullPageAmexExp1306;\n","import {\n AMEX_CNS_CARD_IDS,\n DELTA_CNS_CARD_IDS,\n MARRIOTT_CNS_CARD_IDS,\n} from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n// Contains page content keys for <ModalFullBenefits/>\nexport const FULL_VIEW_MODAL_BENEFITS_PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.FULL_MODAL_TRAVEL,\n PAGE_SETTINGS_KEYS.FULL_MODAL_SHOP,\n PAGE_SETTINGS_KEYS.FULL_MODAL_ENTERTAINMENT,\n PAGE_SETTINGS_KEYS.FULL_MODAL_CREDITS_AWARDS,\n PAGE_SETTINGS_KEYS.FULL_MODAL_MEMBER_VALUE,\n];\n\nexport const MODAL_FULL_BENEFITS_EXCLUDED_TRAVEL_DISCLAIMER = [\n MARRIOTT_CNS_CARD_IDS.BEVY,\n MARRIOTT_CNS_CARD_IDS.BONVOY,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.GREEN,\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.GOLD,\n];\n","import { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { FULL_VIEW_MODAL_BENEFITS_PAGE_CONTENT } from \"../ModalFullBenefits/constants\";\n\n// Contains page content keys for <FeaturedFilingCabinetGrid/>\nexport const FEATURED_FILING_CABINET_PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.FILING_CABINET_REWARDS,\n PAGE_SETTINGS_KEYS.FILING_CABINET_BOOST,\n PAGE_SETTINGS_KEYS.FILING_CABINET_BENEFITS,\n ...FULL_VIEW_MODAL_BENEFITS_PAGE_CONTENT,\n];\n\n// Contains page content keys for ALT varation.\nexport const FEATURED_ALT_FILING_CABINET_PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.FILING_CABINET_REWARDS_ALT,\n PAGE_SETTINGS_KEYS.FILING_CABINET_BENEFITS_ALT,\n ...FULL_VIEW_MODAL_BENEFITS_PAGE_CONTENT,\n];\n","import { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\nexport const FOCUS_GRID_PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.FOCUS_GRID,\n PAGE_SETTINGS_KEYS.FOCUS_GRID_BENEFITS,\n PAGE_SETTINGS_KEYS.FOCUS_GRID_REWARDS,\n];\n","import {\n CARD_COMPARISON_TOOL_PAGE_SETTINGS_KEYS,\n CCT_ROUTES,\n} from \"@apps/components/site/desktop/CardComparisonTool/constants\";\nimport { FEATURED_FILING_CABINET_PAGE_CONTENT } from \"@components/site/desktop/FeaturedFilingCabinetGrid/constants\";\nimport { FOCUS_GRID_PAGE_CONTENT } from \"@components/site/desktop/FocusGrid/constants\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n// American Express Import Content\nimport BubbleGreatFor from \"@content/prod-contentful/consumer-d-bubble-great-for.json\";\nimport BubbleGridBenefits from \"@content/prod-contentful/consumer-d-bubble-grid-benefits.json\";\nimport BubbleGridBoost from \"@content/prod-contentful/consumer-d-bubble-grid-boost.json\";\nimport BubbleGridHero from \"@content/prod-contentful/consumer-d-bubble-grid-hero.json\";\nimport BubbleGridRewards from \"@content/prod-contentful/consumer-d-bubble-grid-rewards.json\";\nimport CctV2Benefits from \"@content/prod-contentful/consumer-d-cct-v2-benefits.json\";\nimport CctV2GreatFor from \"@content/prod-contentful/consumer-d-cct-v2-great-for.json\";\nimport CctV2Rewards from \"@content/prod-contentful/consumer-d-cct-v2-rewards.json\";\nimport CctV2AdditionalBenefits from \"@content/prod-contentful/consumer-r-cct-v2-additional-benefits.json\";\nimport FocusGridBenefits from \"@content/prod-contentful/consumer-r-focus-grid-benefits.json\";\nimport FocusGridRewards from \"@content/prod-contentful/consumer-r-focus-grid-rewards.json\";\nimport FocusGrid from \"@content/prod-contentful/consumer-r-focus-grid.json\";\nimport FullModalCreditsAwards from \"@content/prod-contentful/consumer-r-full-modal-credits-awards.json\";\nimport FullModalEntertainment from \"@content/prod-contentful/consumer-r-full-modal-entertainment.json\";\nimport FullModalMemberValue from \"@content/prod-contentful/consumer-r-full-modal-member-value.json\";\nimport FullModalShop from \"@content/prod-contentful/consumer-r-full-modal-shop.json\";\nimport FullModalTravel from \"@content/prod-contentful/consumer-r-full-modal-travel.json\";\n\n/**\n * PAGE_SETTINGS\n *\n * /d/american-express\n */\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.PLATINUM,\n ],\n [PAGE_SETTINGS_KEYS.DESKTOP_HERO_TRIPLE]: {\n image: \"background-market\",\n headline: \"Upgrade the way you spend\",\n },\n [PAGE_SETTINGS_KEYS.CCT_V2]: {\n selectedCards: [],\n route: CCT_ROUTES.ALL,\n lastRoute: CCT_ROUTES.ALL,\n expandedCard: null,\n },\n};\n\n/**\n * PAGE_CONTENT\n */\nexport const PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.BUBBLE_GREAT_FOR,\n PAGE_SETTINGS_KEYS.HERO_GREAT_FOR,\n PAGE_SETTINGS_KEYS.HERO_FILING_CABINET,\n ...FEATURED_FILING_CABINET_PAGE_CONTENT,\n ...CARD_COMPARISON_TOOL_PAGE_SETTINGS_KEYS,\n ...FOCUS_GRID_PAGE_CONTENT,\n];\n\nexport const CONTENTFUL_CONTENT = [\n BubbleGreatFor,\n BubbleGridBenefits,\n BubbleGridBoost,\n BubbleGridHero,\n BubbleGridRewards,\n CctV2AdditionalBenefits,\n CctV2Benefits,\n CctV2GreatFor,\n CctV2Rewards,\n FocusGridBenefits,\n FocusGridRewards,\n FocusGrid,\n FullModalCreditsAwards,\n FullModalEntertainment,\n FullModalMemberValue,\n FullModalShop,\n FullModalTravel,\n];\n","import AssetHeroProductFocusedFusion from \"@assets/site/desktop/AssetHeroProductFocusedFusion\";\nimport { BANNER_POSITION } from \"@common/FixedBannerObserver\";\nimport Loading from \"@common/Loading\";\nimport PlacementHeroTriple from \"@components/placements/site/desktop/PlacementHeroTriple\";\nimport BannerSkinnyCards from \"@components/site/desktop/BannerSkinnyCards\";\nimport { CONTENTFUL_CONTENT } from \"@pages/d/american-express/constants\";\nimport { PAGE_SETTINGS } from \"@pages/d/american-express/constants.js\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport IFrameProvider from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport dynamic from \"next/dynamic\";\n\nconst DynamicPlacementBubbleGrid = dynamic(\n () => import(\"@components/placements/site/desktop/PlacementBubbleGrid\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicFixedBannerObserver = dynamic(\n () => import(\"@common/FixedBannerObserver\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicPlacementCardComparisonTool = dynamic(\n () =>\n import(\"@components/placements/site/desktop/PlacementCardComparisonTool\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicBannerBusinessLearnMore = dynamic(\n () => import(\"@components/site/desktop/BannerBusinessLearnMore\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicAssetFocusGrid = dynamic(\n () => import(\"@assets/site/desktop/AssetFocusGrid\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\nconst AssetContent = () => (\n <>\n <PlacementHeroTriple\n placementControl={AssetHeroProductFocusedFusion}\n withPadding={false}\n heroProps={{ className: \"pt-72 pb-56\" }}\n metadata={{\n card1: \"amx-cns-platinum\",\n card2: \"amx-cns-gold\",\n card3: \"amx-cns-bce\",\n platinumSectionId: \"asset-hero-desktop-hero-platinum-beach\",\n goldSectionId: \"asset-hero-desktop-hero-gold-food\",\n bceSectionId: \"asset-hero-desktop-hero-blue-cash-everyday-gas\",\n isProductFocusedEditable: \"true\",\n initActiveTabIndex: 1,\n }}\n hasGoldTpgBanner\n />\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <DynamicFixedBannerObserver\n bannerPosition={BANNER_POSITION.TOP}\n bannerContent={BannerSkinnyCards}\n >\n <DynamicPlacementBubbleGrid\n placementControl={DynamicAssetFocusGrid}\n showBoostBenefits\n />\n </DynamicFixedBannerObserver>\n )\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicPlacementCardComparisonTool />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicBannerBusinessLearnMore />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCardLegalIframes />}\n </ElementInView>\n </>\n);\n\n/**\n * Asset: AssetFullPageAmexExp1320\n */\nconst AssetFullPageAmexExp1320 = ({ ...props }) => (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={CONTENTFUL_CONTENT}>\n <IFrameProvider>\n <AssetContent />\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n);\n\nexport default AssetFullPageAmexExp1320;\n","import { AMEX_CNS_CARD_IDS, DELTA_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n ],\n [PAGE_SETTINGS_KEYS.FILTER_CARD_COMPARISON]: {\n cards: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n ],\n defaultCardMix: {\n Featured: [\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n Travel: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.PLATINUM,\n ],\n \"Everyday Purchases\": [\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n },\n },\n};\n","import AssetBannerGoldCastle from \"@assets/common/AssetBannerGoldCastle\";\nimport AssetHeroBannerGambit from \"@assets/site/desktop/AssetHeroBannerGambit\";\nimport CardLegalIframes from \"@common/CardLegalIframes\";\nimport FilterCardComparison from \"@components/site/desktop/FilterCardComparison\";\nimport CmBenefits from \"@content/prod-contentful/consumer-d-cm-benefits.json\";\nimport CmRewards from \"@content/prod-contentful/consumer-d-cm-rewards.json\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport IFrameProvider from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { PAGE_SETTINGS } from \"./asset-settings\";\n\n/**\n * Asset: AssetFullPageCompareCardsPageWithGoldBanner\n */\nconst AssetFullPageCompareCardsPageWithGoldBanner = ({ ...props }) => {\n const content = [CmBenefits, CmRewards];\n\n return (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={content}>\n <IFrameProvider>\n <AssetBannerGoldCastle />\n <FilterCardComparison\n initialActiveTab=\"Featured\"\n headline=\"Explore Cards for\"\n />\n <AssetHeroBannerGambit />\n <CardLegalIframes />\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n );\n};\n\nexport default AssetFullPageCompareCardsPageWithGoldBanner;\n","import CardArt, { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport IconByFilename from \"@common/IconByFilename\";\nimport Offer from \"@common/Offer\";\nimport Title from \"@common/Title\";\nimport Tooltip, { ICON_PLACEMENTS } from \"@common/Tooltip\";\nimport {\n GOLD_CARD_TOOLTIP,\n PLATINUM_CARD_TOOLTIP,\n} from \"@common/Tooltip/constants\";\nimport Apply from \"@components/common/Apply\";\nimport CardArtStacker, {\n CARD_ART_STACKER_ORIGINS,\n} from \"@components/common/CardArtStacker\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport useElementViewed from \"@hooks/tagular/use-element-viewed\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport useContent from \"@hooks/use-content\";\nimport useId from \"@hooks/use-id\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getBenefitList from \"@utils/contentful/get-benefit-list\";\nimport getField from \"@utils/contentful/get-field\";\nimport getMeta from \"@utils/contentful/get-meta\";\nimport getSection from \"@utils/contentful/get-section\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useRef } from \"react\";\n\nconst CardInfo = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_COMPARE_GRID_WITH_ACCORDION,\n compareGridUUID,\n minWidth,\n overrideCards,\n ...props\n}) => {\n const { [sectionId]: cardInfo } = usePageSettings();\n const cards = useCardsOnPage(overrideCards || cardInfo?.cards);\n const content = useContent();\n const gridSectionUUID = useId(compareGridUUID, \"grid-section\");\n\n const ref = useRef();\n useElementViewed(ref, {\n elementType: \"SCROLL\",\n location: TAGULAR_LOCATIONS.BOTTOM_OF_GRID,\n position: TAGULAR_ACTION_OUTCOMES.HORIZONTAL_SCROLL,\n text: \"2nd card in view\",\n sectionId,\n });\n\n if (!content || !cards) {\n return null;\n }\n\n return (\n <ul\n {...props}\n className={cn(\n \"flex w-full gap-12 ml-28 justify-center\",\n props?.className\n )}\n data-test-container={sectionId}\n >\n {cards.map((card) => {\n const section = getSection(content, sectionId);\n const benefitList = getBenefitList(section, card?.id);\n const meta = getMeta(benefitList);\n const greatForText = meta?.featuredHeading;\n const superlativeBarker = meta?.superlativeBarker;\n const cardName = getField(card, \"displayName\", { sectionId });\n const Icon = meta?.iconFileName;\n\n return (\n <li\n style={{ minWidth }}\n className=\"flex-1\"\n data-test-card-container={card.id}\n key={`${compareGridUUID}-card-info-${card.id}`}\n data-test-container={sectionId}\n >\n <section\n aria-label={`${decodeHTMLEntities(cardName)} ${decodeHTMLEntities(\n greatForText\n )} `}\n {...props}\n data-test-grid={card.id}\n className=\"flex flex-col h-full rounded-sm\"\n >\n <div className=\"px-8 mx-auto\">\n {card.id === AMEX_CNS_CARD_IDS.PLATINUM && (\n <div>\n <div className=\"bg-amex-deepBlue px-16 flex rounded-md text-start min-w-[180px] h-[30px] mt-16 border-solid border-amex-deepBlue border-[1px] items-center gap-8\">\n <IconByFilename\n filename={Icon}\n className=\"w-16 h-16 text-white\"\n />\n\n <DangerSet\n as=\"p\"\n className=\" h-full text-[14px] font-bold text-white uppercase text-center mt-8\"\n html={superlativeBarker}\n />\n </div>\n <DangerSet\n aria-label={decodeHTMLEntities(cardName)}\n as={Title}\n asProps={{ title: 5, as: \"h2\" }}\n className=\"px-8 py-24 mb-6 font-normal text-center text-t5 text-grey-6\"\n data-match-height={`${gridSectionUUID}-card-name`}\n html={cardName}\n />\n <Tooltip\n as=\"button\"\n type=\"button\"\n iconPlacement={ICON_PLACEMENTS.BEFORE_CONTENT}\n content={PLATINUM_CARD_TOOLTIP}\n className=\"grid-cols-[55px,auto]\"\n >\n <CardArt\n card={card}\n className=\"mx-auto mb-24 w-200\"\n data-match-height={`${gridSectionUUID}-card-art`}\n sectionId={sectionId}\n sourceSizes=\"200px\"\n variation={CARD_ART_VARIATIONS.STACKED}\n />\n </Tooltip>\n </div>\n )}\n {card.id === AMEX_CNS_CARD_IDS.GOLD && (\n <>\n <div className=\"bg-white px-16 rounded-md text-start min-w-[180px] h-[30px] mt-16 border-solid border-amex-deepBlue border-[1px] flex items-center gap-8\">\n <IconByFilename\n filename={Icon}\n className=\"w-16 h-16 text-amex-deepBlue\"\n />\n\n <DangerSet\n as=\"p\"\n className=\" h-full text-[14px] font-bold text-amex-deepBlue uppercase text-center mt-8\"\n html={superlativeBarker}\n />\n </div>\n <DangerSet\n aria-label={decodeHTMLEntities(cardName)}\n as={Title}\n asProps={{ title: 5, as: \"h2\" }}\n className=\"px-8 py-24 mb-6 font-normal text-center text-t5 text-grey-6\"\n data-match-height={`${gridSectionUUID}-card-name`}\n html={cardName}\n />\n <Tooltip\n as=\"button\"\n type=\"button\"\n content={GOLD_CARD_TOOLTIP}\n iconPlacement={ICON_PLACEMENTS.BEFORE_CONTENT}\n className=\"grid-cols-[55px,auto]\"\n >\n <CardArtStacker\n cardIds={[\n AMEX_CNS_CARD_IDS.ROSE_GOLD,\n AMEX_CNS_CARD_IDS.GOLD,\n ]}\n directionOrigin={CARD_ART_STACKER_ORIGINS.BOTTOM_LEFT}\n variation={CARD_ART_VARIATIONS.DEFAULT}\n sourceSizes=\"200px\"\n relatedCards\n className=\"mx-auto mb-24 w-200\"\n lazy={false}\n />\n </Tooltip>\n </>\n )}\n </div>\n <div className=\"mt-48 overflow-hidden bg-white z-10 border-[1px] shadow-sm border-solid rounded-lg round-lg border-grey-3 max-w-[540px] lg:w-[90%] xl:w-full h-[305px] mb-24 ml-24\">\n <DangerSet\n aria-label={decodeHTMLEntities(greatForText)}\n as={Title}\n asProps={{ title: 6, as: \"h2\" }}\n className=\"p-8 font-bold text-center uppercase rounded-t-lg text-barker-md text-amex-deepBlue bg-amex-lightBlue\"\n data-match-height={`${gridSectionUUID}-title`}\n {...ContentfulProps(benefitList, \"meta\")}\n html={greatForText}\n />\n <Offer\n card={card}\n className=\"py-8 pr-8 pl-16\"\n sectionId={sectionId}\n titleProps={{\n title: 6,\n className: \"text-left\",\n as: \"h3\",\n }}\n alignBarkerCenter={false}\n alignCenter={false}\n />\n </div>\n <div className=\"z-10 px-8 py-8 mt-auto\">\n <Apply\n data-match-height={`${gridSectionUUID}-upper-apply`}\n alignCenter\n card={card}\n buttonProps={{\n className: \"w-full max-w-[400px]\",\n }}\n learnMoreButtonProps={{\n className: \"w-full max-w-[400px]\",\n }}\n tagularProps={{\n actionOutcome: `Open ${cardName} Card Application`,\n location: TAGULAR_LOCATIONS.LIST_ACCORDION,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n }}\n className=\"w-full\"\n labelPrefix=\"Apply details (within great for):\"\n sectionId={sectionId}\n aprProps={{\n \"data-match-height\": `${gridSectionUUID}-apr`,\n className: \"text-left\",\n }}\n showLearnMoreButton\n showApr={false}\n legalLinksProps={{\n className: \"text-amex-brightBlue\",\n }}\n />\n </div>\n </section>\n </li>\n );\n })}\n </ul>\n );\n};\n\nCardInfo.propTypes = {\n sectionId: PropTypes.string,\n compareGridUUID: PropTypes.string.isRequired,\n minWidth: PropTypes.string,\n overrideCards: PropTypes.array,\n};\n\nexport default CardInfo;\n","import Apply from \"@common/Apply\";\nimport CardArt, { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport Modal from \"@common/Modal\";\nimport { MODAL_SIZE_KEYS } from \"@common/Modal/constants\";\nimport Title from \"@common/Title\";\nimport CardArtStacker, {\n CARD_ART_STACKER_ORIGINS,\n} from \"@components/common/CardArtStacker\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport PropTypes from \"prop-types\";\n\nconst FeaturedBenefitsModal = ({\n isOpen,\n onClose,\n card,\n sectionId,\n modalContent,\n aggregateContent,\n}) => {\n const goldBenefits = getBenefits(aggregateContent, AMEX_CNS_CARD_IDS.GOLD);\n const platinumBenefits = getBenefits(\n aggregateContent,\n AMEX_CNS_CARD_IDS.PLATINUM\n );\n const benefits = getBenefits(modalContent, card?.id);\n\n if (!card) return null;\n\n return (\n <Modal\n isEnabled={isOpen}\n handleClose={onClose}\n size={MODAL_SIZE_KEYS.CONTENT}\n showClose\n labelSuffix={`${card?.fields?.consumerDisplayName} Featured Benefits`}\n >\n <Modal.Body className=\"max-w-[1200px] mx-auto w-full\">\n <div className=\"flex gap-20 justify-center pb-20 w-full\">\n <div className=\"mb-24 max-w-[376px] w-full ml-16\">\n <DangerSet\n aria-label={decodeHTMLEntities(\n getField(card, \"displayName\", { sectionId })\n )}\n as={Title}\n asProps={{ title: 5, as: \"h3\" }}\n className=\"px-8 py-24 mb-6 font-bold text-center text-t5 text-grey-6\"\n html={getField(card, \"displayName\", { sectionId })}\n />\n <div className=\"w-[240px] mx-auto mb-24\">\n {card.id === AMEX_CNS_CARD_IDS.PLATINUM && (\n <CardArt\n card={card}\n className=\"w-full\"\n sectionId={sectionId}\n variation={CARD_ART_VARIATIONS.STACKED}\n />\n )}\n {card.id === AMEX_CNS_CARD_IDS.GOLD && (\n <CardArtStacker\n cardIds={[\n AMEX_CNS_CARD_IDS.ROSE_GOLD,\n AMEX_CNS_CARD_IDS.GOLD,\n ]}\n directionOrigin={CARD_ART_STACKER_ORIGINS.BOTTOM_LEFT}\n variation={CARD_ART_VARIATIONS.DEFAULT}\n sourceSizes=\"450px\"\n relatedCards\n className=\"w-full\"\n lazy={false}\n />\n )}\n </div>\n <Apply\n card={card}\n className=\"pr-12 w-full\"\n sectionId={sectionId}\n showApr={false}\n showLearnMoreButton\n buttonProps={{\n className: \"w-full max-w-[312px] h-[50px]\",\n }}\n learnMoreButtonProps={{\n className: \"w-full max-w-[312px] h-[50px]\",\n }}\n />\n </div>\n <div className=\"px-12 w-full\">\n <div>\n <DangerSet\n html={\n card.id === AMEX_CNS_CARD_IDS.GOLD\n ? goldBenefits[0]?.fields?.title\n : platinumBenefits[0]?.fields?.title\n }\n className=\"offer-title--default\"\n />\n </div>\n <DangerSet\n html={\n card.id === AMEX_CNS_CARD_IDS.GOLD\n ? goldBenefits[0]?.fields?.body\n : platinumBenefits[0]?.fields?.body\n }\n className=\"px-4\"\n />\n <div className=\"flex gap-x-8 mt-16\">\n <div className=\"flex-1\">\n {benefits\n .slice(0, Math.ceil(benefits.length / 2))\n .map((benefit, index) => (\n <div\n key={`modal-benefit-${index}`}\n className=\"flex flex-col pb-24\"\n >\n <DangerSet\n html={benefit?.fields?.title}\n className=\"mb-8 font-medium text-amex-deepBlue text-t5\"\n />\n <DangerSet\n html={benefit?.fields?.body}\n className=\"break-words\"\n />\n </div>\n ))}\n </div>\n <div className=\"flex-1\">\n {benefits\n .slice(Math.ceil(benefits.length / 2))\n .map((benefit, index) => (\n <div\n key={`modal-benefit-${index + Math.ceil(benefits.length / 2)}`}\n className=\"flex flex-col pb-24\"\n >\n <DangerSet\n html={benefit?.fields?.title}\n className=\"mb-8 font-medium text-amex-deepBlue text-t5\"\n />\n <DangerSet\n html={benefit?.fields?.body}\n className=\"break-words\"\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n </Modal.Body>\n </Modal>\n );\n};\n\nFeaturedBenefitsModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n card: PropTypes.object,\n sectionId: PropTypes.string.isRequired,\n modalContent: PropTypes.object,\n aggregateContent: PropTypes.object,\n};\n\nexport default FeaturedBenefitsModal;\n","import AmexLink from \"@common/AmexLink\";\nimport Button, { BUTTON_VARIATIONS } from \"@common/Button\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n} from \"@constants/tagular\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport getCardUrl from \"@utils/get-card-url\";\n\nimport Title from \"@common/Title\";\nimport IconPlusCircle from \"@components/icons/directional/IconPlusCircle\";\nimport FilingCabinetListItem from \"@components/site/desktop/FilingCabinetListItem\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\n\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport PropTypes from \"prop-types\";\nimport { useState } from \"react\";\nimport FeaturedBenefitsModal from \"./FeaturedBenefitsModal\";\n\nconst propTypes = {\n sectionId: PropTypes.string,\n compareGridUUID: PropTypes.string.isRequired,\n minWidth: PropTypes.string,\n overrideCards: PropTypes.array,\n modalSection: PropTypes.string,\n};\n\nconst FeaturedBenefits = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_CARDS_FEATURED_BENEFITS,\n modalSection = PAGE_SETTINGS_KEYS.DESKTOP_CARDS_MODAL_FULL_BENEFITS,\n compareGridUUID,\n minWidth,\n overrideCards,\n}) => {\n const [selectedCard, setSelectedCard] = useState(null);\n const allCards = useCardsOnPage(overrideCards);\n const modalContent = useSection(modalSection);\n const aggregateSection = useSection(\n PAGE_SETTINGS_KEYS.DESKTOP_CARDS_AGGREGATE_CLAIM\n );\n const cards = allCards?.filter((card) =>\n [AMEX_CNS_CARD_IDS.PLATINUM, AMEX_CNS_CARD_IDS.GOLD].includes(card.id)\n );\n\n if (!cards?.length) return null;\n\n return (\n <>\n <ContentContainer>\n <div data-contentful-section-id={sectionId}>\n <div className=\"flex gap-20 justify-center pb-100\">\n {cards.map((card) => {\n const cardName = getField(card, \"displayName\", {\n sectionId,\n });\n return (\n <div\n key={`${compareGridUUID}-benefits-${card.id}`}\n className=\"w-full bg-white shadow-sm\"\n >\n <Title\n title={2}\n as=\"h2\"\n className=\"py-12 font-medium text-center bg-grey-2 text-grey-6 text-t5\"\n >\n Featured Benefits\n </Title>\n <Title as=\"h3\" className=\"visually-hidden\">\n {cardName} Benefits\n </Title>\n <ul className=\"h-full list-none\">\n <FilingCabinetListItem\n card={card}\n sectionId={sectionId}\n minWidth={minWidth}\n removeShadow\n useGreyBorder\n className=\"flex flex-col justify-between w-full h-full border-t-0\"\n filingLabelProps={{\n className:\n \"absolute -ml-4 left-[95px] top-0 h-[95px] w-[82px]\",\n }}\n benefitContentClassName=\"px-12 py-12\"\n >\n <Button\n variation={BUTTON_VARIATIONS.SECONDARY}\n className=\"w-full m-0 mb-8 !max-w-[540px]\"\n icon={<IconPlusCircle />}\n onClick={() => setSelectedCard(card)}\n >\n Benefit Details\n </Button>\n <AmexLink\n href={getCardUrl(card?.id)}\n aria-label={`Learn more about ${decodeHTMLEntities(\n getField(card, \"displayName\", { sectionId })\n )}`}\n onClickCapture={() => {\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.LINK,\n elementType: TAGULAR_ELEMENT_TYPES.LINK,\n text: \"Learn More\",\n sectionId,\n });\n }}\n className=\"block p-8 font-medium mb-68 text-amex-brightBlue decoration-amex-brightBlue hover:text-amex-deepBlue\"\n >\n Learn More\n </AmexLink>\n </FilingCabinetListItem>\n </ul>\n </div>\n );\n })}\n </div>\n </div>\n </ContentContainer>\n\n <FeaturedBenefitsModal\n isOpen={Boolean(selectedCard)}\n onClose={() => setSelectedCard(null)}\n card={selectedCard}\n sectionId={sectionId}\n modalContent={modalContent}\n aggregateContent={aggregateSection}\n />\n </>\n );\n};\n\nFeaturedBenefits.propTypes = propTypes;\n\nexport default FeaturedBenefits;\n","import Apply from \"@common/Apply\";\nimport CardArt, { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport DangerSet from \"@common/DangerSet\";\nimport Offer from \"@common/Offer\";\nimport Title from \"@common/Title\";\nimport CardArtStacker, {\n CARD_ART_STACKER_ORIGINS,\n} from \"@components/common/CardArtStacker\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { TAGULAR_ELEMENT_TYPES, TAGULAR_LOCATIONS } from \"@constants/tagular\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\n\nimport PropTypes from \"prop-types\";\n\nconst propTypes = {\n sectionId: PropTypes.string,\n compareGridUUID: PropTypes.string.isRequired,\n minWidth: PropTypes.string,\n overrideCards: PropTypes.array,\n};\n\nconst HowYouEarn = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_CARDS_HOW_YOU_EARN,\n compareGridUUID,\n minWidth,\n overrideCards,\n}) => {\n const cards = useCardsOnPage(overrideCards);\n\n const howYouEarnSection = useSection(sectionId);\n\n const getCardSpecificBenefits = (cardId, section) => {\n if (!section || !cardId) return [];\n return getBenefits(section, cardId) || [];\n };\n\n if (!cards?.length) {\n return null;\n }\n const gridSectionUUID = `${compareGridUUID}-card-info`;\n\n const sectionIdentifiers = {\n preview: `${compareGridUUID}-preview`,\n benefits: `${compareGridUUID}-benefits`,\n details: `${compareGridUUID}-details`,\n };\n\n return (\n <ContentContainer>\n <div className=\"mt-16\" data-contentful-section-id={sectionId}>\n <Title\n title={2}\n as=\"h2\"\n className=\"pt-52 mt-72 font-medium text-center text-amex-deepBlue mb-100 pb-100 text-t2\"\n >\n Compare Card Features and Benefits\n </Title>\n <div className=\"flex gap-20 justify-center px-4\">\n {cards.map((card) => {\n const cardName = getField(card, \"displayName\", {\n sectionId,\n });\n\n return (\n <div\n key={`${sectionIdentifiers.preview}-${card.id}`}\n style={{ minWidth }}\n className=\"w-full max-w-[400px] relative\"\n data-test-card={card.id}\n >\n <div className=\"absolute z-10 -translate-x-1/2 left-1/2 -top-[125px]\">\n <div className=\"w-[240px]\">\n {card.id === AMEX_CNS_CARD_IDS.PLATINUM && (\n <CardArt\n card={card}\n className=\"w-full\"\n sectionId={sectionId}\n hasMetaOverrideTheme\n />\n )}\n {card.id === AMEX_CNS_CARD_IDS.GOLD && (\n <CardArtStacker\n cardIds={[\n AMEX_CNS_CARD_IDS.ROSE_GOLD,\n AMEX_CNS_CARD_IDS.GOLD,\n ]}\n directionOrigin={CARD_ART_STACKER_ORIGINS.BOTTOM_LEFT}\n variation={CARD_ART_VARIATIONS.DEFAULT}\n sourceSizes=\"450px\"\n relatedCards\n className=\"w-full\"\n lazy={false}\n />\n )}\n </div>\n </div>\n <div className=\"flex flex-col px-6 pb-8 h-full bg-white shadow-sm\">\n <DangerSet\n aria-label={decodeHTMLEntities(cardName)}\n as={Title}\n asProps={{ title: 5, as: \"h3\" }}\n className=\"pt-24 mx-auto mt-32 font-normal text-t3 text-grey-6\"\n data-match-height={`${gridSectionUUID}-card-name`}\n html={cardName}\n />\n <div className=\"flex flex-col flex-grow\">\n <div className=\"mx-16 mb-8 text-left\">\n <Offer\n card={card}\n className=\"py-8 pr-8 pl-16\"\n sectionId={sectionId}\n titleProps={{\n title: 6,\n className: \"text-left\",\n as: \"h4\",\n }}\n alignBarkerCenter={false}\n alignCenter={false}\n />\n </div>\n <div className=\"mt-16 mb-60 text-center\" />\n <div className=\"px-4 pb-32\">\n <Apply\n card={card}\n buttonProps={{\n className: \"w-full max-w-[400px]\",\n }}\n tagularProps={{\n location: TAGULAR_LOCATIONS.LIST_ACCORDION,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n }}\n className=\"pr-12 pl-2 w-full\"\n sectionId={sectionId}\n showApr={false}\n legalLinksProps={{\n className: \"text-amex-brightBlue\",\n }}\n />\n </div>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n {/* how you earn section */}\n <div className=\"flex gap-20 justify-center px-4\">\n {cards.map((card) => {\n const benefits = getCardSpecificBenefits(\n card?.id,\n howYouEarnSection\n );\n\n return (\n <div\n key={`${sectionIdentifiers.benefits}-${card.id}`}\n style={{ minWidth }}\n className=\"w-full bg-white shadow-sm\"\n data-test-card={card.id}\n >\n <Title\n title={3}\n as=\"h2\"\n className=\"py-12 font-medium text-center bg-grey-2 text-amex-deepBlue text-t5\"\n >\n How You Earn\n </Title>\n <ul className=\"py-8 pb-32 w-full\">\n {benefits.map((benefit, index) => (\n <li\n key={`${card.id}-benefit-${index}`}\n className=\"px-4 mx-12\"\n data-match-height={`${sectionIdentifiers.benefits}-item-${index}`}\n >\n <div className=\"flex flex-col h-fit\">\n <div className=\"flex items-end w-full h-fit-content\">\n {benefit?.fields?.icon && (\n <DangerSet\n {...ContentfulProps(benefit, \"icon\")}\n html={benefit?.fields?.icon}\n className=\"block pt-24 mb-2 font-bold uppercase text-amex-deepBlue text-t2\"\n />\n )}\n {benefit?.fields?.title && (\n <DangerSet\n {...ContentfulProps(benefit, \"title\")}\n html={benefit?.fields?.title}\n className=\"mb-12 font-medium text-amex-deepBlue text-t6\"\n as=\"h3\"\n />\n )}\n </div>\n\n {benefit?.fields?.body && (\n <DangerSet\n {...ContentfulProps(benefit, \"body\")}\n html={benefit?.fields?.body}\n as=\"p\"\n className=\"text-grey-6\"\n />\n )}\n </div>\n </li>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n </div>\n </ContentContainer>\n );\n};\n\nHowYouEarn.propTypes = propTypes;\n\nexport default HowYouEarn;\n","import AssetBannerGambitCallout from \"@assets/site/desktop/AssetBannerGambitCallout\";\nimport CardLegalIframes from \"@common/CardLegalIframes\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport { BANNER_POSITION } from \"@common/FixedBannerObserver\";\nimport Title from \"@common/Title\";\nimport FixedBannerObserver from \"@components/common/FixedBannerObserver\";\nimport BannerApplyCompare from \"@components/site/desktop/BannerApplyCompare\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport desktopCardFeatureBenefits from \"@content/prod-contentful/consumer-d-cards-featured-benefits.json\";\nimport desktopHowYouEarn from \"@content/prod-contentful/consumer-d-cards-how-you-earn.json\";\nimport modalBenefits from \"@content/prod-contentful/consumer-d-cards-modal-full-benefits.json\";\nimport desktopCompareGrid from \"@content/prod-contentful/consumer-d-compare-grid-with-accordion.json\";\nimport aggregateClaims from \"@content/prod-contentful/consumer-d-dual-compare-modal-value-claim.json\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport useId from \"@hooks/use-id\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { IFrameProvider } from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport Image from \"next/image\";\nimport CardInfo from \"./sub-sections/CardInfo\";\nimport FeaturedBenefits from \"./sub-sections/FeaturedBenefits\";\nimport HowYouEarn from \"./sub-sections/HowYouEarn\";\n\nconst ConfiguredBanner = () => (\n <BannerApplyCompare\n applyProps={{\n showApr: false,\n showLegal: true,\n showLearnMoreButton: false,\n legalLinksProps: {\n className: \"text-amex-brightBlue\",\n },\n buttonProps: {\n className: \"w-full max-w-[312px] h-[50px]\",\n },\n }}\n showStackedGoldCard\n />\n);\n\n/**\n * Asset: AssetFullPageDesktopDualCompare\n */\n\nconst AmericanExpressGoldPlatinumDualCompareContent = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_COMPARE_GRID_WITH_ACCORDION,\n overrideCards,\n ...props\n}) => {\n const { isAppLoading } = useAppContext();\n const compareGridUUID = useId(null, \"desktop-compare-grid-with-accordion\");\n const cards = useCardsOnPage(overrideCards).slice(0, 2);\n\n const columnMinWidth = \"calc(50% - 2px)\";\n const cardIds = cards.map((card) => card.id);\n\n if (!cards || cards.length === 0) {\n return null;\n }\n\n return (\n <section\n data-contentful-section-id={sectionId}\n className={\n (isAppLoading ? \"hide-all-but-loaders\" : \"animate-base-site-fade-in\",\n \"w-full\")\n }\n {...props}\n >\n <AssetBannerGambitCallout />\n <Title\n aria-label=\"Compare Cards from American Express\"\n title={1}\n as=\"h1\"\n className=\"py-24 font-medium text-center bg-white text-t2 text-amex-deepBlue border-grey-3\"\n >\n Earn Rewards That Take You Further\n </Title>\n <FixedBannerObserver\n bannerPosition={BANNER_POSITION.TOP}\n bannerContent={ConfiguredBanner}\n >\n <div>\n {/* hero section */}\n <div className=\"pb-24 bg-white snap-x snap-mandatory bg-url\">\n <ContentContainer>\n <CardInfo\n compareGridUUID={compareGridUUID}\n minWidth={columnMinWidth}\n overrideCards={cardIds || overrideCards}\n />\n </ContentContainer>\n <div className=\"absolute\">\n <Image\n src=\"/imgs/preamp/asset-fullPage-glat-gold-compare/mask.png\"\n alt=\"mask image\"\n width={200}\n height={200}\n className=\"relative w-full h-full z-0 bottom-[310px]\"\n />\n </div>\n </div>\n {/* next section */}\n <div className=\"bg-grey-1\">\n <HowYouEarn\n compareGridUUID={compareGridUUID}\n minWidth={columnMinWidth}\n overrideCards={cardIds || overrideCards}\n />\n <FeaturedBenefits\n compareGridUUID={compareGridUUID}\n minWidth={columnMinWidth}\n overrideCards={overrideCards}\n />\n </div>\n </div>\n </FixedBannerObserver>\n <CardLegalIframes />\n </section>\n );\n};\n\nconst AssetFullPageDesktopDualCompare = () => {\n const settings = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n ],\n };\n\n return (\n <AmexContentProvider\n sections={[\n desktopCardFeatureBenefits,\n desktopHowYouEarn,\n modalBenefits,\n aggregateClaims,\n desktopCompareGrid,\n ]}\n >\n <PageSettingsProvider {...settings}>\n <IFrameProvider>\n <AmericanExpressGoldPlatinumDualCompareContent />\n </IFrameProvider>\n </PageSettingsProvider>\n </AmexContentProvider>\n );\n};\n\nexport default AssetFullPageDesktopDualCompare;\n","import DangerSet from \"@common/DangerSet\";\nimport Title from \"@common/Title\";\nimport { ALL_CARDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// Define themes constant\nexport const FOCUS_HERO_THEMES = Object.freeze({\n DEFAULT: \"default\",\n ROUNDED_BLUE: \"rounded-blue\",\n});\n\n// Define prop types for the component\nconst focusHeroBoxesPropTypes = {\n sectionId: PropTypes.string,\n cardId: PropTypes.oneOf(ALL_CARDS),\n titleProps: PropTypes.object,\n bodyProps: PropTypes.object,\n iconProps: PropTypes.object,\n incomingDisclaimer: PropTypes.string,\n disclaimerProps: PropTypes.object,\n theme: PropTypes.oneOf(Object.values(FOCUS_HERO_THEMES)),\n};\n\nconst FocusHeroBoxes = ({\n sectionId = PAGE_SETTINGS_KEYS.FOCUS_HERO,\n sections,\n cardId,\n titleProps,\n iconProps,\n bodyProps,\n incomingDisclaimer,\n disclaimerProps,\n theme = FOCUS_HERO_THEMES.DEFAULT,\n ...props\n}) => {\n // Get necessary data from hooks\n const { [sectionId]: focusHero } = usePageSettings();\n const focusHeroSections = sections?.cards[cardId]?.benefits;\n const primaryCard = usePrimaryCard(focusHero?.card || cardId);\n const section = useSection(sectionId);\n let benefits = getBenefits(section, primaryCard?.id);\n\n // Fallback to section benefits if needed\n if (!benefits || Object.keys(benefits).length === 0) {\n benefits = focusHeroSections;\n }\n const cardName = primaryCard?.fields?.consumerDisplayName;\n\n // Return null if no data available\n if (!primaryCard || !benefits?.length) {\n return null;\n }\n\n // Calculate rows for grid layout\n const numberOfRows = Math.ceil(benefits.length / 3);\n const rows = Array.from({ length: numberOfRows }, (_, i) =>\n benefits.slice(i * 3, (i + 1) * 3)\n );\n\n return (\n <section\n data-contentful-section-id={sectionId}\n aria-label={`Additional Benefits and Rewards for: ${decodeHTMLEntities(cardName)}`}\n {...props}\n className={cn(\n \"w-full pt-72\",\n {\n \"py-16 px-20 bg-grey-2 bg-opacity-80 rounded\":\n theme === FOCUS_HERO_THEMES.ROUNDED_BLUE,\n },\n props?.className\n )}\n >\n <div className=\"max-w-6xl mx-auto px-8 mb-56\">\n {rows.map((rowBenefits, rowIndex) => (\n <div\n key={rowIndex}\n className={cn(\"grid gap-24 mb-24 w-full last:mb-0\", {\n \"grid-cols-3\": rowBenefits.length === 3,\n \"grid-cols-2\": rowBenefits.length === 2,\n \"grid-cols-1\": rowBenefits.length === 1,\n })}\n >\n {rowBenefits.map((benefit, index) => (\n <div\n key={index}\n className=\"border-solid border border-grey-3 rounded-lg p-8 bg-white h-full\"\n >\n <Title\n as=\"h2\"\n title={6}\n aria-label={decodeHTMLEntities(\n [\n benefit?.fields?.icon,\n benefit?.fields?.title,\n benefit?.fields?.body,\n ].join(\" \")\n )}\n {...titleProps}\n className={cn(\n \"text-amex-deepBlue text-t3 p-24\",\n titleProps?.className,\n benefit?.fields?.meta?.barkerText && \"relative\"\n )}\n >\n {/* Header with icon and title */}\n <div className=\"inline\">\n <DangerSet\n {...iconProps}\n as=\"span\"\n className={cn(\n \"text-t2 font-bold align-middle\",\n {\n \"text-amex-brightBlue\":\n theme === FOCUS_HERO_THEMES.ROUNDED_BLUE,\n },\n iconProps?.className\n )}\n {...ContentfulProps(benefit, \"icon\")}\n html={benefit?.fields?.icon}\n />\n <DangerSet\n as=\"span\"\n {...ContentfulProps(benefit, \"title\")}\n html={benefit?.fields?.title}\n className=\"font-medium align-middle ml-4 text-p3\"\n />\n </div>\n\n {/* Barker text if present */}\n {benefit?.fields?.meta?.barkerText && (\n <DangerSet\n as=\"p\"\n {...ContentfulProps(benefit, \"barkerText\")}\n html={benefit?.fields?.meta?.barkerText}\n className={cn(\n \"absolute barker--white--md w-[70px] text-p1\",\n benefit?.fields?.meta?.barkerClassName\n )}\n aria-hidden=\"true\"\n />\n )}\n\n {/* Body content */}\n <div className=\"mt-16\">\n <DangerSet\n {...bodyProps}\n as=\"span\"\n className={cn(\"text-p1 block\", bodyProps?.className)}\n {...ContentfulProps(benefit, \"body\")}\n html={benefit?.fields?.body}\n />\n </div>\n </Title>\n </div>\n ))}\n </div>\n ))}\n\n {/* Disclaimer section if present */}\n {(focusHero?.benefitDisclaimer || incomingDisclaimer) && (\n <DangerSet\n as=\"p\"\n className={cn(\"pt-12 text-p2\", disclaimerProps?.className)}\n html={focusHero?.benefitDisclaimer || incomingDisclaimer}\n />\n )}\n </div>\n </section>\n );\n};\n\n// Attach prop types to component\nFocusHeroBoxes.propTypes = focusHeroBoxesPropTypes;\n\nexport default FocusHeroBoxes;\n","import AmexImage from \"@common/AmexImage\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport DangerSet from \"@common/DangerSet\";\nimport SafeSet from \"@common/SafeSet\";\nimport Slider from \"@common/Slider\";\nimport { SLIDER_THEMES } from \"@common/Slider/constants\";\nimport Title from \"@common/Title\";\nimport { TAGULAR_LOCATIONS } from \"@constants/tagular\";\nimport useElementViewed from \"@hooks/tagular/use-element-viewed\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport injectButton from \"@utils/inject-button\";\nimport stringToBoolean from \"@utils/string-to-boolean\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useRef } from \"react\";\n\nconst tilesPropTypes = {\n benefits: PropTypes.arrayOf(PropTypes.object),\n showImage: PropTypes.bool,\n showTitle: PropTypes.bool,\n showBody: PropTypes.bool,\n showBarker: PropTypes.bool,\n tilesTitle: PropTypes.string,\n showTilesTitle: PropTypes.bool,\n showTilesSubtitle: PropTypes.bool,\n tilesSubtitle: PropTypes.string,\n showImageText: PropTypes.bool,\n titleProps: PropTypes.object,\n imageProps: PropTypes.object,\n bodyProps: PropTypes.object,\n imageTextProps: PropTypes.object,\n barkerProps: PropTypes.object,\n tilesTitleProps: PropTypes.object,\n tilesSubtitleProps: PropTypes.object,\n tagularProps: PropTypes.object,\n sliderProps: PropTypes.object,\n};\n\n/**\n * Component: BenefitTiles\n *\n */\nconst BenefitTiles = ({\n benefits,\n showBarker = false,\n showImage = true,\n showTitle = true,\n showBody = true,\n showTilesTitle = true,\n showTilesSubtitle = false,\n showImageText = false,\n tilesTitle,\n tilesSubtitle,\n tilesTitleProps,\n titleProps,\n tilesSubtitleProps,\n imageProps,\n bodyProps,\n imageTextProps,\n barkerProps,\n tagularProps,\n sliderProps = {}, // Default empty object for slider configuration\n ...props\n}) => {\n const ref = useRef(null);\n const { isAppLoading } = useAppContext();\n\n useElementViewed(ref, {\n name: \"Static Tiles\",\n text: tilesTitle || \"\",\n location: TAGULAR_LOCATIONS.STATIC_TILES,\n ...tagularProps,\n });\n\n if (!benefits) {\n return null;\n }\n\n // Default slider configuration that can be overridden by sliderProps\n const defaultSliderConfig = {\n slidesToShow: 2.05,\n slidesToScroll: 1,\n arrows: false,\n dots: true,\n infinite: benefits.length > 2,\n centerMode: false,\n variableWidth: false,\n responsive: [\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 1.05,\n slidesToScroll: 1,\n },\n },\n {\n breakpoint: 640,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n },\n },\n ],\n };\n\n const renderTile = (benefit, index) => (\n <div className=\"px-12 h-full\" key={`tiles-benefits-${index}`}>\n <div className=\"relative flex h-full border-solid border-[1px] border-grey-3 rounded w-full mx-12\">\n <div className=\"flex flex-col h-full w-full\">\n {/* Image */}\n {showImage && (\n <div className=\"relative\">\n <AmexImage\n width={1440}\n height={700}\n skeletonWidth={500}\n skeletonHeight={150}\n src={`/imgs/tiles/${\n benefit?.imageFileName || benefit?.fields?.imageFileName\n }.jpg`}\n alt={benefit?.altText || benefit?.fields?.altText}\n className={cn(\"w-full rounded-t\", imageProps?.className)}\n {...ContentfulProps(benefit, \"imageFileName\")}\n />\n {showImageText && (\n <div className=\"absolute bottom-8 left-24\">\n <DangerSet\n as=\"p\"\n {...ContentfulProps(benefit, \"imageText\")}\n html={benefit?.fields?.imageText}\n className={cn(\n \"text-white text-t5 w-[300px] lg:w-[600px]\",\n imageTextProps?.className\n )}\n aria-label={decodeHTMLEntities(benefit?.fields?.imageText)}\n />\n </div>\n )}\n </div>\n )}\n {/* Text Container */}\n <div className=\"p-24\">\n {/* Barker */}\n {showBarker && (\n <DangerSet\n as=\"p\"\n html={benefit?.fields?.meta?.barker}\n {...ContentfulProps(benefit, \"meta\")}\n className={cn(\n \"mb-8\",\n barkerProps?.className,\n benefit?.fields?.meta?.barkerClassName ??\n \"barker--deep-blue--md\"\n )}\n aria-hidden=\"true\"\n />\n )}\n {/* Title */}\n {showTitle && (\n <DangerSet\n as=\"p\"\n html={benefit?.fields?.title}\n {...ContentfulProps(benefit, \"title\")}\n className={cn(\n \"font-medium text-amex-deepBlue text-t5\",\n titleProps?.className\n )}\n aria-label={decodeHTMLEntities(benefit?.fields?.title)}\n />\n )}\n {/* Body */}\n {showBody &&\n (stringToBoolean(benefit?.fields?.meta?.modalButton) ? (\n <SafeSet\n as=\"p\"\n {...ContentfulProps(benefit, \"body\")}\n html={injectButton(benefit?.fields?.body)}\n className={cn(\"pt-16 text-p1\", bodyProps?.className)}\n aria-label={decodeHTMLEntities(benefit?.fields?.body)}\n />\n ) : (\n <DangerSet\n as=\"p\"\n {...ContentfulProps(benefit, \"body\")}\n html={benefit?.fields?.body}\n className={cn(\"pt-16 text-p1\", bodyProps?.className)}\n aria-label={decodeHTMLEntities(benefit?.fields?.body)}\n />\n ))}\n {/* Logos */}\n {benefit?.logos && (\n <div className=\"flex flex-wrap items-start pt-24\">\n {benefit?.logos?.map((logo) => (\n <img\n key={logo?.imageFileName}\n src={`/imgs/tiles/${logo?.imageFileName}.png`}\n alt={logo?.altText}\n className=\"[&:not(:last-child)]:mr-24 [&:not(:last-child)]:mb-16\"\n />\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n\n return (\n <section\n {...props}\n className={cn(\n \"mx-auto\",\n { \"py-16 lg:py-56\": showTilesTitle },\n isAppLoading ? \"hide-all-but-loaders\" : \"animate-base-site-fade-in\",\n props?.className\n )}\n ref={ref}\n >\n <ContentContainer>\n {showTilesTitle && (\n <DangerSet\n as={Title}\n asProps={{ as: \"h2\", title: 2 }}\n html={tilesTitle}\n className={cn(\n \"pb-16 font-medium text-center text-amex-deepBlue\",\n tilesTitleProps?.className\n )}\n />\n )}\n {showTilesSubtitle && (\n <DangerSet\n as={Title}\n asProps={{ as: \"h3\", title: 4 }}\n html={tilesSubtitle}\n className={cn(\n \"pb-16 text-center text-amex-deepBlue\",\n tilesSubtitleProps?.className\n )}\n />\n )}\n\n <Slider\n sliderControls={{\n ...defaultSliderConfig,\n ...sliderProps,\n }}\n sliderName=\"Benefits Tiles Carousel\"\n theme={SLIDER_THEMES.LIGHT}\n dotNavProps={{\n className: \"absolute pt-24 w-full\",\n showNavArrows: true,\n containerClassName: \"flex justify-center items-center\",\n }}\n >\n {benefits.map((benefit, index) => renderTile(benefit, index))}\n </Slider>\n </ContentContainer>\n </section>\n );\n};\n\nBenefitTiles.propTypes = tilesPropTypes;\n\nexport default BenefitTiles;\n","import AssetBannerGambitImage from \"@assets/site/desktop/AssetBannerGambitImage\";\nimport FocusHeroBoxes from \"@common/FocusHeroBoxes\";\nimport Title from \"@common/Title\";\nimport BenefitTiles from \"@components/common/BenefitTiles\";\nimport BenefitsAccordion from \"@components/site/desktop/BenefitsAccordion\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getField from \"@utils/contentful/get-field\";\nimport PropTypes from \"prop-types\";\n\nconst StaticBenefitTilesPropTypes = {\n sectionId: PropTypes.string,\n card: PropTypes.oneOf(Object.values(AMEX_CNS_CARD_IDS)),\n accordionSectionIds: PropTypes.array,\n showAccordions: PropTypes.bool,\n showBarker: PropTypes.bool,\n tilesTitleProps: PropTypes.object,\n};\n\n/**\n * Component: BenefitCarousel\n */\nconst BenefitCarousel = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_FLIP_TILES_BENEFITS,\n card = AMEX_CNS_CARD_IDS.PLATINUM,\n accordionSectionIds = [\n PAGE_SETTINGS_KEYS.DESKTOP_ACCORDION_BENEFITS_DINING,\n PAGE_SETTINGS_KEYS.DESKTOP_ACCORDION_BENEFITS_TRAVEL,\n PAGE_SETTINGS_KEYS.DESKTOP_ACCORDION_BENEFITS_SHOPPING,\n ],\n showAccordions = true,\n showBarker,\n tilesTitleProps,\n ...props\n}) => {\n const primaryCard = usePrimaryCard(card?.id);\n const { [sectionId]: data } = usePageSettings();\n const section = useSection(sectionId);\n const benefits = getBenefits(section, primaryCard?.id);\n\n const { listOfImages, listOfLogos, title } = data || {};\n\n if (!primaryCard?.id || !benefits || benefits.length === 0) {\n return null;\n }\n\n if (listOfImages || listOfLogos) {\n benefits.forEach((benefit, index) => {\n benefits[index] = {\n ...benefit,\n imageFileName: listOfImages?.[index]?.imageFileName,\n altText: listOfImages?.[index]?.altText,\n ...listOfLogos?.[index],\n };\n });\n }\n\n return (\n <section\n {...props}\n data-contentful-section-id={sectionId}\n id=\"static-benefit-tiles\"\n >\n <BenefitTiles\n benefits={benefits}\n tilesTitle={title || \"Featured Benefits\"}\n tagularProps={{\n name: `${getField(primaryCard, \"displayName\")} Static Benefit Tiles`,\n }}\n showBarker={showBarker}\n tilesTitleProps={tilesTitleProps}\n showTilesTitle={false}\n />\n <div className=\"w-fit-content mx-32\">\n <FocusHeroBoxes />\n <AssetBannerGambitImage />\n </div>\n {showAccordions && (\n <section className=\"my-56\" data-test-container=\"benefits-accordion\">\n <Title\n as=\"h2\"\n title={2}\n className=\"mb-40 font-medium text-center text-amex-deepBlue\"\n >\n Additional Benefits\n </Title>\n {accordionSectionIds?.map((accordionSectionId) => (\n <BenefitsAccordion\n sectionId={accordionSectionId}\n key={`benefits-accordion-${accordionSectionId}`}\n expandAccordion\n />\n ))}\n </section>\n )}\n </section>\n );\n};\n\nBenefitCarousel.propTypes = StaticBenefitTilesPropTypes;\n\nexport default BenefitCarousel;\n","import Apply from \"@common/Apply\";\nimport { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport Offer from \"@common/Offer\";\nimport Title from \"@common/Title\";\nimport Tooltip, { TOOLTIP_PLACEMENTS, TOOLTIP_THEMES } from \"@common/Tooltip\";\nimport { GOLD_CARD_TOOLTIP } from \"@common/Tooltip/constants\";\nimport CardArtStacker, {\n CARD_ART_STACKER_ORIGINS,\n} from \"@components/common/CardArtStacker\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { TAGULAR_LOCATIONS } from \"@constants/tagular\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport cn from \"classnames\";\nimport { useMemo } from \"react\";\n\nconst HeroSingleLeftStickyBanner = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_HERO_GOLD_HYBRID,\n ...props\n}) => {\n const { isAppLoading } = useAppContext();\n const pageSettings = usePageSettings();\n const { [sectionId]: singleHero } = pageSettings;\n const section = useSection(sectionId);\n const primaryCard = usePrimaryCard(section?.card) || singleHero?.card;\n const cardName = useMemo(\n () =>\n getField(primaryCard, \"displayName\", {\n sectionId,\n }),\n [primaryCard]\n );\n\n if (!primaryCard) return null;\n\n return (\n <section\n data-contentful-section-id={sectionId}\n data-test-container=\"hero-single\"\n aria-label={`Featured card information for: ${decodeHTMLEntities(\n cardName\n )}`}\n {...props}\n className={cn(\n \"relative bg-white mx-32 rounded-md\",\n isAppLoading ? \"hide-all-but-loaders\" : \"animate-base-site-fade-in\",\n props.className\n )}\n data-test-sticky=\"left-sticky\"\n >\n <div\n className={cn(\n \"flex flex-col relative mx-auto mb-32 px-24 bg-white rounded-md\"\n )}\n >\n <DangerSet\n as={Title}\n asProps={{ as: \"h1\", title: 4 }}\n html={cardName}\n className={cn(\n \"font-medium text-t6 text-grey-6 py-20 max-w-[384px] text-center mx-auto\"\n )}\n />\n <CardArtStacker\n cardIds={[AMEX_CNS_CARD_IDS.ROSE_GOLD, AMEX_CNS_CARD_IDS.GOLD]}\n directionOrigin={CARD_ART_STACKER_ORIGINS.BOTTOM_LEFT}\n variation={CARD_ART_VARIATIONS.DEFAULT}\n sourceSizes=\"450px\"\n relatedCards\n className=\"relative mx-auto w-200\"\n lazy={false}\n />\n <div className=\"grid place-items-center w-full\">\n <Tooltip\n as=\"button\"\n type=\"button\"\n content={GOLD_CARD_TOOLTIP}\n className=\"my-16\"\n iconTheme={TOOLTIP_THEMES.LIGHT}\n tooltipPlacement={TOOLTIP_PLACEMENTS.BOTTOM}\n asInlineTooltip\n />\n </div>\n <div className=\"flex flex-col items-center justify-center w-full max-w-4xl mx-auto relative\">\n <div className=\" bg-grey-2 text-delta-deepBlue px-24 pb-24 mb-24 rounded-lg w-full\">\n <Offer\n card={primaryCard}\n sectionId={sectionId}\n alignCenter\n alignBarkerCenter\n titleProps={{\n asProps: {\n title: 4,\n as: \"h2\",\n },\n }}\n showBnplPotApr\n bnplPotAprProps={{\n titleProps: { as: \"h3\", title: 4 },\n }}\n />\n </div>\n </div>\n <Apply\n card={primaryCard}\n sectionId={sectionId}\n tagularProps={{\n location: TAGULAR_LOCATIONS.HERO,\n }}\n buttonProps={{\n theme: \"LIGHT\",\n className: cn(\n \"min-w-full w-full md:min-w-[min(100%,240px)] md:w-auto\"\n ),\n }}\n className=\"mb-24\"\n />\n </div>\n </section>\n );\n};\n\nexport default HeroSingleLeftStickyBanner;\n","import { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n/**\n * PAGE_SETTINGS\n *\n * DUPLICATE: Copied d/gold-card/ settings but removed non relevent settings\n */\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.PRIMARY_CARD]: AMEX_CNS_CARD_IDS.GOLD,\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [AMEX_CNS_CARD_IDS.GOLD],\n [PAGE_SETTINGS_KEYS.DESKTOP_FLIP_TILES_BENEFITS]: {\n title: \"Maximize Your Love of Dining\",\n listOfImages: [\n {\n imageFileName: \"gold-static-tile-uber-eats\",\n altText: \"A plate with pizza and a phone that reads 'Uber Eats'\",\n },\n {\n imageFileName: \"gold-static-tile-dunkin\",\n altText: \"Two Dunkin drinks\",\n },\n {\n imageFileName: \"gold-static-tile-resy\",\n altText: \"A group of people grabbing food from a table\",\n },\n {\n imageFileName: \"gold-static-tile-dining-2\",\n altText: \"A scrumptious looking burger\",\n },\n ],\n listOfLogos: [\n {\n logos: [{ imageFileName: \"logo-uber-eats\", altText: \"UberEats logo\" }],\n },\n {\n logos: [{ imageFileName: \"logo-dunkin\", altText: \"Dunkin' logo\" }],\n },\n {\n logos: [{ imageFileName: \"logo-resy\", altText: \"Resy logo\" }],\n },\n {\n logos: [\n { imageFileName: \"logo-grubhub\", altText: \"GrubHub logo\" },\n {\n imageFileName: \"logo-cheesecake-factory\",\n altText: \"The Cheesecake Factory logo\",\n },\n {\n imageFileName: \"logo-goldbelly\",\n altText: \"Gold Belly logo\",\n },\n {\n imageFileName: \"logo-wine-dot-com\",\n altText: \"Wine.com logo\",\n },\n {\n imageFileName: \"logo-five-guys\",\n altText: \"Five Guys logo\",\n },\n ],\n },\n ],\n },\n};\n","import Loading from \"@common/Loading\";\nimport AggregateValueBubble from \"@components/site/desktop/AggregateValueBubble\";\nimport BenefitCarousel from \"@components/site/desktop/BenefitCarousel\";\nimport HeroSingleLeftStickyBanner from \"@components/site/desktop/HeroSingleLeftStickyBanner\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { IFrameProvider } from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport aggregateClaims from \"@content/prod-contentful/consumer-d-pentagon-hero-single-hybrid-value-claim.json\";\nimport flipTileBenefits from \"@content/prod-contentful/consumer-d-flip-tiles-benefits.json\";\nimport diningAccordionBeneftis from \"@content/prod-contentful/consumer-d-accordion-benefits--dining.json\";\nimport travelAccordionBenefits from \"@content/prod-contentful/consumer-d-accordion-benefits--travel.json\";\nimport shoppingAccordionBenefits from \"@content/prod-contentful/consumer-d-accordion-benefits--shopping.json\";\nimport focusHero from \"@content/prod-contentful/consumer-r-focus-hero.json\";\nimport dynamic from \"next/dynamic\";\nimport React from \"react\";\nimport { PAGE_SETTINGS } from \"./constants\";\n\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n { ssr: false, loading: () => <Loading /> }\n);\n\n/**\n * Asset: AssetFullPageGoldCardLeftSticky\n */\n\nconst AssetFullPageGoldCardLeftSticky = () => {\n const [scrollPosition, setScrollPosition] = React.useState(0);\n const contentRef = React.useRef(null);\n\n React.useEffect(() => {\n const handleScroll = () => {\n const mainContentHeight =\n document.documentElement.scrollHeight - window.innerHeight;\n const bannerContentHeight = contentRef.current?.scrollHeight || 0;\n const visibleHeight = window.innerHeight - 72;\n const maxScroll = Math.max(0, bannerContentHeight - visibleHeight);\n\n const scrollRatio = (window.scrollY / mainContentHeight) * 4.5;\n const bannerScrollAmount = Math.min(maxScroll * scrollRatio, maxScroll);\n\n setScrollPosition(bannerScrollAmount);\n };\n\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n handleScroll();\n return () => window.removeEventListener(\"scroll\", handleScroll);\n }, []);\n\n return (\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider\n sections={[\n aggregateClaims,\n flipTileBenefits,\n diningAccordionBeneftis,\n travelAccordionBenefits,\n shoppingAccordionBenefits,\n focusHero,\n ]}\n >\n <IFrameProvider>\n <div className=\"flex\">\n <div className=\"w-[400px] sticky top-[72px] h-[calc(100vh-72px)]\">\n <div className=\"p-8 shadow-lg h-full flex bg-[url('/imgs/background/stickyBannerBackground/deepblue-bg-flourish.png')] bg-cover bg-center overflow-hidden\">\n <div\n ref={contentRef}\n className=\"py-36\"\n style={{ transform: `translateY(-${scrollPosition}px)` }}\n >\n <HeroSingleLeftStickyBanner />\n <div className=\"h-36\" />\n </div>\n </div>\n </div>\n <div className=\"w-[calc(100%-400px)] min-h-screen bg-gray-50\">\n <div className=\"mx-auto px-8\">\n <section className=\"mb-6\">\n <AggregateValueBubble />\n </section>\n <section className=\"pt-12\">\n <BenefitCarousel />\n </section>\n\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <section className=\"pb-12\">\n <DynamicCardLegalIframes />\n </section>\n )\n }\n </ElementInView>\n </div>\n </div>\n </div>\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n );\n};\n\nexport default AssetFullPageGoldCardLeftSticky;\n","import { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\n\nexport const ASSET_KEY = \"asset-hero-fusion-with-background\";\n\nexport const ASSET_FUSION_HERO_CONTENT = {\n cards: {\n [AMEX_CNS_CARD_IDS.PLATINUM]: {\n cardId: AMEX_CNS_CARD_IDS.PLATINUM,\n backgroundImage: \"couple-by-the-side-of-a-boat\",\n fields: [\n {\n multiplier: \"5X\",\n title: \"Membership Rewards<sup>®</sup> points\",\n body: \"on eligible prepaid hotels booked at amextravel.com, including The Hotel Collection.‡\",\n },\n {\n multiplier: \"1X\",\n title: \"Membership Rewards<sup>®</sup> points\",\n body: \"on other purchases. Terms and limitations apply.‡\",\n },\n ],\n },\n [AMEX_CNS_CARD_IDS.GOLD]: {\n cardId: AMEX_CNS_CARD_IDS.GOLD,\n backgroundImage: \"couple-by-the-side-of-pool\",\n },\n [AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY]: {\n cardId: AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n backgroundImage: \"sisters-on-the-side-of-a-mountain\",\n fields: [\n {\n title: \"Earn <strong>3%</strong> Cash Back\",\n body: \"on <strong>Gas</strong> at U.S. gas stations, on up to $6,000 per year in purchases (then 1%).\",\n },\n {\n title: \"Earn <strong>3%</strong> Cash Back\",\n body: \"on <strong>Groceries</strong> at U.S. Supermarkets, on up to $6,000 per year in purchases (then 1%).\",\n },\n ],\n meta: {\n statementCredit:\n \"Cash back is received in the form of Reward Dollars that can be redeemed as a statement credit.‡\",\n },\n },\n [AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED]: {\n cardId: AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n backgroundImage: \"lady-with-shopping-basket\",\n fields: [\n {\n title: \"Earn <strong>6%</strong> Cash Back\",\n body: \"at <strong>U.S. supermarkets</strong> on up to $6,000 per year in purchases (then 1%).‡\",\n },\n {\n title: \"Earn <strong>6%</strong> Cash Back\",\n body: \"on select <strong>U.S. streaming</strong> subscriptions.‡\",\n },\n ],\n meta: {\n statementCredit:\n \"Cash back is received in the form of Reward Dollars that can be redeemed as a statement credit.‡\",\n },\n },\n },\n};\n","import Apply from \"@common/Apply\";\nimport CardArt from \"@common/CardArt\";\nimport CardArtStacker, {\n CARD_ART_STACKER_ORIGINS,\n} from \"@common/CardArtStacker\";\nimport DangerSet from \"@common/DangerSet\";\nimport Offer from \"@common/Offer\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getField from \"@utils/contentful/get-field\";\nimport PropTypes from \"prop-types\";\nimport { ASSET_FUSION_HERO_CONTENT, ASSET_KEY } from \"./asset-settings\";\n\n// PropTypes\nconst propTypesAssetHeroFusionFullBackground = {\n sectionId: PropTypes.string,\n card: PropTypes.string,\n};\n\n/**\n * Asset: AssetHeroFusionFullBackground\n */\nconst AssetHeroFusionFullBackground = ({\n sectionId = ASSET_KEY,\n card,\n ...props\n}) => {\n const primaryCard = usePrimaryCard(card);\n const content = ASSET_FUSION_HERO_CONTENT.cards[primaryCard.id];\n\n if (!card) {\n return null;\n }\n\n return (\n <section\n {...props}\n className=\"bg-[image:var(--image-url)] bg-right bg-cover bg-no-repeat\"\n style={{\n \"--image-url\": `url(\"/imgs/preamp/asset-hero-fusion-full-background/${content?.backgroundImage}.jpg\")`,\n }}\n data-test-container={sectionId}\n >\n <div className=\"py-24 pl-32\">\n <div className=\"flex bg-white w-[61.33%] py-32 px-24 gap-24 rounded\">\n {/** Left Side of Hero Content */}\n <div className=\"flex flex-col items-center text-center w-[47.69%]\">\n <DangerSet\n {...ContentfulProps(primaryCard, \"displayName\")}\n html={getField(primaryCard, \"displayName\")}\n className=\"pb-8 font-medium text-t5\"\n />\n <div className=\"pb-12 w-[350px]\">\n {primaryCard?.id === AMEX_CNS_CARD_IDS.GOLD ? (\n <CardArtStacker\n cardIds={[\n AMEX_CNS_CARD_IDS.ROSE_GOLD,\n AMEX_CNS_CARD_IDS.GOLD,\n ]}\n directionOrigin={CARD_ART_STACKER_ORIGINS.BOTTOM_LEFT}\n relatedCards\n lazy={false}\n disableSkeletons\n />\n ) : (\n <CardArt card={primaryCard} lazy={false} />\n )}\n </div>\n <div>\n <Apply\n card={primaryCard}\n showLearnMoreButton\n buttonProps={{ className: \"min-w-full\" }}\n learnMoreButtonProps={{ className: \"min-w-full\" }}\n />\n </div>\n </div>\n {/** Right Side of Hero Content */}\n <div className=\"flex flex-col w-1/2\">\n <Offer\n card={primaryCard}\n alignCenter={false}\n alignBarkerCenter={false}\n showBnplPotApr\n className=\"pb-24\"\n />\n\n <div className=\"flex gap-24\">\n {content?.fields?.map((field, index) => (\n <div key={index} className=\"w-1/2\">\n <div className=\"flex pb-8\">\n <DangerSet\n html={field?.multiplier}\n className=\"pr-8 font-bold text-amex-deepBlue text-t2 [&_strong]:font-bold\"\n />\n <DangerSet\n html={field?.title}\n className=\"font-medium text-p2 text-amex-deepBlue [&_strong]:text-t2 [&_strong]:font-bold\"\n />\n </div>\n <DangerSet\n html={field?.body}\n className=\"[&_strong]:font-medium\"\n />\n </div>\n ))}\n </div>\n {content?.meta?.statementCredit && (\n <div className=\"pt-12\">\n <DangerSet\n html={content?.meta?.statementCredit}\n className=\"text-p2\"\n />\n </div>\n )}\n </div>\n </div>\n </div>\n </section>\n );\n};\n\nAssetHeroFusionFullBackground.propTypes =\n propTypesAssetHeroFusionFullBackground;\nexport default AssetHeroFusionFullBackground;\n","import { CM_LEGAL_LINK_POSITIONS } from \"@apps/components/common/CmCardBenefitRewards\";\nimport CardArt from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport AssetHeroFusionFullBackground from \"@components/assets/site/desktop/AssetHeroFusionFullBackground\";\nimport CardTileWithBenefitsTabs from \"@components/site/desktop/CardTileWithBenefitsTabs\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport CmBenefits from \"@content/prod-contentful/consumer-d-cm-benefits.json\";\nimport CmRewards from \"@content/prod-contentful/consumer-d-cm-rewards.json\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport useTabs from \"@hooks/use-tabs\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getField from \"@utils/contentful/get-field\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nconst propTypesAssetHeroFusionAndCardTileWithBenefitsTabs = {\n metadata: PropTypes.shape({\n card1: PropTypes.string,\n card2: PropTypes.string,\n card3: PropTypes.string,\n activeCard: PropTypes.string,\n }),\n sectionId: PropTypes.string,\n heroProps: PropTypes.object,\n};\n\n/**\n * Asset: AssetHeroFusionAndCardTileWithBenefitsTabs\n */\nconst AssetHeroFusionAndCardTileWithBenefitsTabs = ({\n metadata,\n heroProps,\n sectionId = \"asset-hero-fusion-and-card-tile-with-benefits-tabs\",\n ...props\n}) => {\n const { card1, card2, card3, activeCard } = metadata;\n const cards = [card1, card2, card3];\n const initActiveTabIndex = cards.indexOf(activeCard);\n const pageCards = useCardsOnPage(cards);\n\n const tabs = useTabs({\n tabListLabel: \"Consumer Cards tablist\",\n initActiveTabIndex,\n });\n const { isAppLoading } = useAppContext();\n\n if (!metadata) {\n return null;\n }\n return (\n <section\n data-test-container={sectionId}\n {...props}\n className={cn(\n props.className,\n isAppLoading ? \"hide-all-but-loader\" : \"animate-preamp-asset-fade-in\"\n )}\n >\n <div\n className=\"flex items-center py-16 pl-120\"\n {...tabs.getTabListProps()}\n ref={tabs.tabListRef}\n >\n {pageCards.map((card, index) => (\n <button\n key={`tab-button-${card.id}`}\n className=\"inline-flex items-center mr-24 bg-transparent\"\n onKeyDown={tabs.handleTabItemKeyDown}\n data-test-button=\"hybrid-hero\"\n type=\"button\"\n {...tabs.getTabProps({\n index,\n onClick: () => {\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.SET_TAB,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n location: TAGULAR_LOCATIONS.DESKTOP_BRILLIANT_NAV_HERO,\n position: index + 1,\n text: getField(card, \"displayName\"),\n });\n },\n })}\n >\n <CardArt\n className=\"w-[102px]\"\n card={card}\n sourceSizes=\"102px\"\n skeletonCardWidth={102}\n skeletonClasses=\"mr-12\"\n hasMetaOverrideTheme\n />\n <DangerSet\n className={cn(\n \"max-w-[170px] text-p2 text-left ml-12 border-solid border-b-4\",\n tabs.activeTabIndex === index\n ? \"border-amex-brightBlue\"\n : \"border-transparent\"\n )}\n {...ContentfulProps(card, \"displayName\")}\n html={getField(card, \"displayName\")}\n />\n </button>\n ))}\n </div>\n <div>\n {cards.map((card, index) => (\n <div key={`tab-${card}`} {...tabs.getTabPanelProps({ index })}>\n {tabs.activeTabIndex === index && (\n <AssetHeroFusionFullBackground card={card} />\n )}\n </div>\n ))}\n </div>\n <div className=\"pt-56 pb-32 text-center\">\n <DangerSet\n html=\"Explore Cards Designed For Your Lifestyle\"\n className=\"font-medium text-t2 text-grey-6\"\n />\n </div>\n <div>\n {pageCards.map((card, index) => (\n <div\n key={card?.id}\n className=\"w-full py-32 ring-inset animate-common-fade-in\"\n id={`cm2--${card?.id}`}\n >\n <CardTileWithBenefitsTabs\n key={card?.id}\n sectionId={sectionId}\n primaryCard={card}\n hasTravelBenefits={false}\n showOffer\n showApplyNow\n iconsAreBold\n tagularProps={{\n position: index + 1,\n location: TAGULAR_LOCATIONS.DESKTOP_COMPARE_FILTER,\n }}\n legalLinkPosition={CM_LEGAL_LINK_POSITIONS.ABOVE}\n cardArtProps={{ className: \"w-[260px] mx-auto\" }}\n sections={[CmRewards, CmBenefits]}\n />\n </div>\n ))}\n </div>\n </section>\n );\n};\n\nAssetHeroFusionAndCardTileWithBenefitsTabs.propTypes =\n propTypesAssetHeroFusionAndCardTileWithBenefitsTabs;\nexport default AssetHeroFusionAndCardTileWithBenefitsTabs;\n","import AssetBannerGoldCastle from \"@assets/common/AssetBannerGoldCastle\";\nimport AssetHeroFusionAndCardTileWithBenefitsTabs from \"@assets/site/desktop/AssetHeroFusionAndCardTileWithBenefitsTabs\";\nimport CardLegalIframes from \"@common/CardLegalIframes\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport PropTypes from \"prop-types\";\nimport { useEffect } from \"react\";\n\n// PropTypes\nconst propTypesAssetHeroFusionAndCardTileWithBenefitsTabs = {\n metadata: PropTypes.shape({\n card1: PropTypes.string,\n card2: PropTypes.string,\n card3: PropTypes.string,\n activeCard: PropTypes.string,\n }),\n};\n\n/**\n * Asset: AssetFullPageHeroFusionWithCardTileAndGoldBanner\n */\nconst AssetFullPageHeroFusionWithCardTileAndGoldBanner = ({\n metadata,\n ...props\n}) => {\n const { card1, card2, card3 } = metadata;\n const { updateSettings } = usePageSettings();\n useEffect(() => {\n updateSettings({\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [card1, card2, card3],\n });\n }, [card1, card2, card3]);\n\n return (\n <section {...props}>\n <AssetHeroFusionAndCardTileWithBenefitsTabs metadata={metadata} />\n <AssetBannerGoldCastle />\n <CardLegalIframes />\n </section>\n );\n};\n\nAssetFullPageHeroFusionWithCardTileAndGoldBanner.propTypes =\n propTypesAssetHeroFusionAndCardTileWithBenefitsTabs;\n\nexport default AssetFullPageHeroFusionWithCardTileAndGoldBanner;\n","import usePageSettings from \"@hooks/use-page-settings\";\nimport mcn from \"@utils/merge-classnames\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\n\n// PropTypes\nexport const stickyWrapperPropTypes = {\n children: PropTypes.node.isRequired,\n stickyComponent: PropTypes.func.isRequired,\n stickyComponentProps: PropTypes.object,\n classNameProps: PropTypes.string,\n stickyClassName: PropTypes.string,\n childrenClassName: PropTypes.string,\n childrenContainer: PropTypes.string,\n};\n\n/**\n * Component: StickyWrapper\n *\n * This component will add a stickiness behavior to a component and control the\n * component by constraining its behavior to the left or bottom of the\n * children's height.\n *\n */\nconst StickyWrapper = ({\n stickyComponent: StickyComponent,\n stickyComponentProps,\n classNameProps,\n stickyClassName,\n childrenClassName,\n childrenContainer,\n children,\n ...props\n}) => {\n const { isMobileRender } = usePageSettings();\n const [scrollPosition, setScrollPosition] = useState(0);\n const wrapperRef = useRef(null);\n const bannerRef = useRef(null);\n\n useEffect(() => {\n const handleScroll = () => {\n if (!bannerRef?.current || !wrapperRef?.current) return;\n\n const mainContentHeight =\n document.documentElement.scrollHeight - window.innerHeight;\n const bannerContentHeight = bannerRef.current.scrollHeight || 0;\n const visibleHeight = window.innerHeight - 72; // Account for header height\n const maxScroll = Math.max(0, bannerContentHeight - visibleHeight);\n\n // Calculate how far we've scrolled through the content\n const scrollRatio = window.scrollY / mainContentHeight;\n\n if (isMobileRender) {\n const wrapperBounds = wrapperRef.current.getBoundingClientRect();\n const isInView =\n wrapperBounds.top < 0 && wrapperBounds.bottom > bannerContentHeight;\n setScrollPosition(isInView ? 0 : maxScroll);\n } else {\n // Limit the scroll ratio to prevent scrolling too far up\n const limitedScrollRatio = Math.min(scrollRatio * 2.5, 0.8); // Reduce multiplier and add max ratio\n const bannerScrollAmount = Math.min(\n maxScroll * limitedScrollRatio,\n maxScroll\n );\n setScrollPosition(bannerScrollAmount);\n }\n };\n\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n handleScroll(); // Initial calculation\n }\n\n return () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, [isMobileRender]);\n\n if (!StickyComponent) {\n return children;\n }\n\n return isMobileRender ? (\n <div {...props}>\n <div ref={wrapperRef} className={childrenClassName}>\n {children}\n </div>\n <div\n ref={bannerRef}\n className={mcn(\n \"sticky bottom-0 w-full z-fixedBannerObserver max-w-page\",\n { hidden: scrollPosition > 0 }\n )}\n >\n <StickyComponent {...stickyComponentProps} />\n </div>\n </div>\n ) : (\n <div className={mcn(\"flex mx-auto my-0\", childrenContainer)} {...props}>\n <div\n className={mcn(\n \"sticky top-0 max-w-[426px] w-full h-full\",\n stickyClassName\n )}\n data-test-container=\"sticky-bar\"\n >\n <div\n ref={bannerRef}\n style={{ transform: `translateY(-${scrollPosition}px)` }}\n >\n <StickyComponent {...stickyComponentProps} />\n </div>\n </div>\n <div\n ref={wrapperRef}\n className={mcn(\n \"max-w-[66.67%] pr-[10px] py-[30px] pl-[42px] bg-white w-full\",\n childrenClassName\n )}\n data-test-container=\"flip-tile-benefits\"\n >\n {children}\n </div>\n </div>\n );\n};\n\nStickyWrapper.propTypes = stickyWrapperPropTypes;\n\nexport default StickyWrapper;\n","import CardArt from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport AnnualFee from \"@common/AnnualFee\";\nimport Apply from \"@common/Apply\";\nimport LegalLinks from \"@common/LegalLinks\";\nimport Image from \"next/image\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport cn from \"classnames\";\nimport getOffer from \"@utils/contentful/get-offer\";\nimport Offer from \"@common/Offer\";\n\n/**\n * Component: SideBarHero\n */\nconst SideBarHero = ({\n cardId,\n applyProps,\n backgroundImage,\n titleProps,\n offerTitleProps,\n ...props\n}) => {\n const card = usePrimaryCard(cardId);\n const offer = getOffer(card);\n const cardName = card?.fields?.consumerDisplayName;\n if (!card || !offer) {\n return null;\n }\n\n return (\n <div\n {...props}\n data-test-container=\"sidebar-hero\"\n className={cn(\"w-[281px]\", props?.className)}\n >\n <Image\n aria-hidden=\"true\"\n src={`/imgs/background/${backgroundImage}.webp`}\n alt={backgroundImage}\n width={426}\n height={1025}\n className=\"z-[-1] absolute w-full top-0 left-0\"\n />\n <div className=\"p-24 rounded-sm bg-white\">\n <DangerSet\n as=\"h1\"\n className=\"text-t6 font-medium text-center mb-12\"\n html={cardName}\n />\n <CardArt\n card={card}\n className=\"w-[231px] max-w-full relative\"\n sourceSizes=\"240px\"\n hasMetaOverrideTheme={false}\n />\n <div className=\"py-16\">\n <Offer\n card={card}\n titleProps={offerTitleProps}\n className=\"lg:text-left\"\n />\n </div>\n <AnnualFee as=\"p\" offer={offer} />\n <Apply\n card={card}\n buttonProps={{ className: \"w-full\" }}\n learnMoreButtonProps={{ className: \"w-full\" }}\n data-card-id={card.fields.websiteCardId}\n {...applyProps}\n />\n <LegalLinks offer={offer} data-test-pqo=\"legal-links\" />\n </div>\n </div>\n );\n};\nexport default SideBarHero;\n","import StickyWrapper from \"@common/StickyWrapper\";\nimport SideBarHero from \"@components/site/desktop/SideBarHero\";\nimport PropTypes from \"prop-types\";\nimport React from \"react\";\n\nconst propTypesAssetStickySidebarHero = {\n metadata: PropTypes.shape({\n cardId: PropTypes.string,\n backgroundImage: PropTypes.string,\n }),\n applyProps: PropTypes.object,\n backgroundImage: PropTypes.string,\n};\n\n/**\n * Asset: AssetStickySidebarHero\n */\nconst AssetStickySidebarHero = ({\n cardId,\n backgroundImage,\n children,\n applyProps,\n offerTitleProps,\n ...props\n}) => (\n <StickyWrapper\n stickyComponent={SideBarHero}\n stickyComponentProps={{\n className: \"m-auto pt-[60px] pb-[350px]\",\n cardId,\n backgroundImage,\n applyProps,\n offerTitleProps,\n }}\n {...props}\n >\n {children}\n </StickyWrapper>\n);\n\nAssetStickySidebarHero.propTypes = propTypesAssetStickySidebarHero;\n\nexport default AssetStickySidebarHero;\n","import DangerSet from \"@common/DangerSet\";\nimport Slider from \"@common/Slider\";\nimport Title from \"@common/Title\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getOffer from \"@utils/contentful/get-offer\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport injectOffer from \"@utils/inject-offer\";\nimport cn from \"classnames\";\nimport Image from \"next/image\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./styles.module.scss\";\n\nconst benefitTilesSliderPropTypes = {\n slides: PropTypes.arrayOf(PropTypes.string),\n sliderName: PropTypes.string,\n};\n\n/**\n * Component: BenefitTilesSlider\n */\nconst BenefitTilesSlider = ({\n card,\n sectionId,\n sliderName = \"Benefit Tiles Slider\",\n sliderControls = {\n slidesToShow: 2.5,\n slidesToScroll: 1,\n arrows: true,\n fullSlideMode: false,\n dots: true,\n },\n showImage = true,\n ...props\n}) => {\n const slideBenefitsSections = useSection(sectionId);\n const slideBenefits = getBenefits(slideBenefitsSections, card.id);\n const offer = getOffer(card);\n\n if (!slideBenefits?.length) {\n return null;\n }\n\n return (\n <section {...props} className={props.className}>\n <Slider\n className={cn(styles.tilesSlider, \"mt-24\")}\n sliderControls={sliderControls}\n sliderName={sliderName}\n data-test-container={sliderName}\n >\n {slideBenefits.map((slide, index) => (\n <div\n key={slide?.fields?.title}\n aria-label={`${decodeHTMLEntities(slide?.fields?.title)}. Report article ${\n index + 1\n } of ${slideBenefits?.length}`}\n className=\"flex items-center w-[385px] mr-24\"\n >\n <div>\n {slide?.fields?.meta?.imageName && showImage ? (\n <Image\n src={`/imgs/preamp/asset-benefit-tiles-slider/${slide?.fields?.meta?.imageName}.webp`}\n alt={slide?.fields?.meta?.imageName}\n className=\"object-cover w-full h-120\"\n width={385}\n height={120}\n />\n ) : (\n slide?.fields?.icon && (\n <Image\n data-test-nextjs-image\n src={`/imgs/preamp/asset-flip-tiles-benefits/logos/${slide?.fields?.logo}.png`}\n alt={slide?.fields?.logo}\n className=\"pt-24 pl-24 w-auto h-auto\"\n width={64}\n height={40}\n />\n )\n )}\n <div className=\"p-20 break-words\">\n <DangerSet\n as={Title}\n asProps={{\n title: 6,\n as: \"h3\",\n }}\n className=\"mb-12 font-medium text-amex-deepBlue\"\n html={injectOffer(slide?.fields?.title, offer)}\n />\n <DangerSet\n as=\"p\"\n html={injectOffer(slide?.fields?.body, offer)}\n />\n {slide.fields?.meta.imageFilename &&\n slide?.fields?.logo &&\n showImage && (\n <Image\n data-test-nextjs-image\n src={`/imgs/preamp/asset-flip-tiles-benefits/logos/${slide?.fields?.logo}.png`}\n alt={slide?.fields?.logo}\n className=\"py-20 w-auto h-auto\"\n width={64}\n height={40}\n />\n )}\n </div>\n </div>\n </div>\n ))}\n </Slider>\n </section>\n );\n};\n\nBenefitTilesSlider.propTypes = benefitTilesSliderPropTypes;\n\nexport default BenefitTilesSlider;\n","import DangerSet from \"@common/DangerSet\";\nimport Title from \"@common/Title\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getOffer from \"@utils/contentful/get-offer\";\nimport injectOffer from \"@utils/inject-offer\";\nimport cn from \"classnames\";\nimport BenefitTilesSlider from \"./BenefitTilesSlider\";\n\n/**\n * Asset: AssetHeroPlatMetroCarousel\n */\nconst AssetHeroCarousel = ({\n card,\n tilesBenefitsSectionID,\n carouselSlidesBenefitsSectionID,\n ...props\n}) => {\n const tilesBenefitsSections = useSection(tilesBenefitsSectionID);\n const tilesBenefits = getBenefits(tilesBenefitsSections, card.id);\n const offer = getOffer(card);\n\n if (!tilesBenefits) {\n return null;\n }\n\n return (\n <section {...props}>\n <DangerSet\n as=\"p\"\n className=\"my-24 font-bold text-amex-deepBlue text-t2\"\n html=\"Get Rewarded for Everyday Essentials\"\n />\n <BenefitTilesSlider\n card={card}\n sectionId={carouselSlidesBenefitsSectionID}\n />\n <DangerSet\n as=\"p\"\n className=\"my-16 font-bold text-t4\"\n html=\"Earn Cash Back\"\n />\n <div className=\"grid grid-cols-2 items-center pt-24\">\n {tilesBenefits?.map((tile, index) => (\n <div\n key={index}\n className={cn(\"max-w-[420px] w-full mr-24 mb-24\", {\n \"mr-0\": index === tile.length - 1,\n })}\n >\n <div className=\"flex flex-col border-solid border border-grey-3 rounded-t pt-24 px-24 md:min-h-[260px] lg:min-h-[235px] xl:min-h-[200px]\">\n <div className=\"flex flex-row items-center mb-24\">\n <DangerSet\n as={Title}\n asProps={{ as: \"h3\", title: 3 }}\n className=\"[&>strong]:font-bold [&>strong]:text-t1 [&>strong]:mr-8 text-amex-deepBlue\"\n html={injectOffer(tile?.fields?.title, offer)}\n />\n </div>\n <DangerSet\n as=\"span\"\n html={injectOffer(tile?.fields?.body, offer)}\n />\n </div>\n </div>\n ))}\n </div>\n </section>\n );\n};\n\nexport default AssetHeroCarousel;\n","import { AMEX_CNS_CARD_IDS, DELTA_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n/**\n * PAGE_SETTINGS\n *\n */\n\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.GOLD,\n ],\n};\n","import AssetStickySidebarHero from \"@components/assets/site/desktop/AssetStickySidebarHero\";\nimport AssetHeroCarousel from \"@components/assets/site/desktop/AssetHeroCarousel\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport React from \"react\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport dynamic from \"next/dynamic\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { useCard } from \"@providers/AmexCardsProvider\";\nimport carouselBCECashbackSlides from \"@content/prod-contentful/consumer-d-carousel-BCE-cashback-slides.json\";\nimport tilesBCECashBack from \"content/prod-contentful/consumer-d-BCE-cashback-tiles.json\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { IFrameProvider } from \"@providers/IFrameProvider\";\nimport { PAGE_SETTINGS } from \"./constants\";\n\nconst AssetDesktopBannerUpsellTabbed = React.lazy(\n () => import(\"@assets/site/desktop/AssetDesktopBannerUpsellTabbed\")\n);\n\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n { ssr: false }\n);\n\nconst AssetFullPageLeftLeftStickyBannerBlueEveryday = () => {\n const card = useCard(AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY);\n const backgroudImage = \"woman-man-cooking\";\n const tilesBenefitsSectionID = PAGE_SETTINGS_KEYS.TILES_BCE_CASHBACK;\n const carouselSlidesBenefitsSectionID =\n PAGE_SETTINGS_KEYS.CAROUSEL_BCE_CASHBACK_SLIDES;\n\n const bannerUpsellTabbedCustomStyles = {\n innerContentContainer: \"max-w-[320px]\",\n };\n\n return (\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider\n sections={[carouselBCECashbackSlides, tilesBCECashBack]}\n >\n <IFrameProvider>\n <AssetStickySidebarHero\n cardId={AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY}\n backgroundImage={backgroudImage}\n applyProps={{\n showLegal: false,\n showApr: false,\n showFee: false,\n }}\n >\n <AssetHeroCarousel\n card={card}\n tilesBenefitsSectionID={tilesBenefitsSectionID}\n carouselSlidesBenefitsSectionID={carouselSlidesBenefitsSectionID}\n />\n <ElementInView timed>\n {(isInView) =>\n isInView ? (\n <AssetDesktopBannerUpsellTabbed\n styles={bannerUpsellTabbedCustomStyles}\n />\n ) : null\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCardLegalIframes />}\n </ElementInView>\n </AssetStickySidebarHero>\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n );\n};\n\nexport default AssetFullPageLeftLeftStickyBannerBlueEveryday;\n","import Apply from \"@common/Apply\";\nimport DangerSet from \"@common/DangerSet\";\nimport IconByFilename from \"@common/IconByFilename\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n} from \"@constants/tagular\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport everydayBenefit from \"@content/prod-contentful/consumer-d-platinum-card-Roku-tabBenefits.json\";\nimport travelBenefit from \"@content/prod-contentful/consumer-d-platinum-card-roku-travelTab.json\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { useCard } from \"@providers/AmexCardsProvider\";\nimport getBenefitList from \"@utils/contentful/get-benefit-list\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getMeta from \"@utils/contentful/get-meta\";\nimport getOffer from \"@utils/contentful/get-offer\";\nimport injectOffer from \"@utils/inject-offer\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport cn from \"classnames\";\nimport Image from \"next/image\";\nimport PropTypes from \"prop-types\";\nimport { useState } from \"react\";\n\nexport const AssetTabbedBenefitPropTypes = {\n sectionId: PropTypes.string,\n tagularProps: CUSTOM_PROP_TYPES.TAGULAR_ELEMENT,\n};\n\nconst AssetTabbedBenefitInner = ({\n card = AMEX_CNS_CARD_IDS.PLATINUM,\n sectionId,\n sections,\n tagularProps,\n ...props\n}) => {\n const primaryCard = useCard(card);\n const [selectedTabIndex, setSelectedTabIndex] = useState(0);\n\n const tabs = sections.map((section) => {\n const benefitList = getBenefitList(section, primaryCard?.id);\n const benefits = getBenefits(section, primaryCard?.id);\n const meta = getMeta(section, {\n sectionBenefitList: benefitList,\n card: primaryCard,\n });\n\n return {\n tabName: meta?.tabName || \"Benefits\",\n benefits,\n iconStates: meta?.iconStates,\n selectedTabImage: meta?.imageName,\n };\n });\n\n if (!primaryCard) return null;\n\n const handleChangeTab = (index, tab) => {\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.SET_TAB,\n elementType: TAGULAR_ELEMENT_TYPES.TAB,\n name: tab.tabName,\n position: `${tab.tabName} Tab`,\n text: tab.tabName,\n ...tagularProps,\n });\n setSelectedTabIndex(index);\n };\n\n const selectedTab = tabs[selectedTabIndex];\n\n return (\n <section\n data-contentful-section-id={sections[selectedTabIndex]?.sys?.id}\n {...props}\n className=\"shadow-sm w-[85%] xl:w-full lg:border-transparent\"\n >\n <div className=\"border-solid border-x-2 border-grey-2\">\n <div className=\"flex flex-row flex-nowrap\">\n {tabs.map((tab, index) => (\n <button\n key={index}\n data-test-toggle=\"cm-tabs\"\n type=\"button\"\n onClick={() => handleChangeTab(index, tab)}\n className={cn(\n \"relative m-0 flex-1 flex flex-col justify-center items-center text-t6 py-12 gap-8 focus:ring-inset capitalize px-8\",\n {\n \"text-amex-brightBlue bg-grey-1 border-t border-grey-2\":\n selectedTabIndex !== index,\n \"before:h-4 before:w-full before:bg-amex-deepBlue before:absolute before:top-0 text-amex-deepBlue bg-white\":\n selectedTabIndex === index,\n }\n )}\n >\n <IconByFilename\n filename={\n selectedTabIndex === index\n ? tab?.iconStates?.active\n : tab?.iconStates?.inactive\n }\n className=\"h-24 text-currentColor\"\n />\n <DangerSet as=\"p\" html={tab?.tabName} />\n </button>\n ))}\n </div>\n </div>\n <div>\n <div data-contentful-section-id={sections[selectedTabIndex]?.sys?.id}>\n <Image\n height={196}\n width={97}\n src={`/imgs/preamp/asset-hero-plat-roku-experience/${selectedTab?.selectedTabImage}.webp`}\n alt={selectedTab?.selectedTabImage}\n className=\"my-40 max-h-[196px] lg:w-[97%] mx-auto\"\n />\n </div>\n <ul className=\"gap-16 pt-16 text-left columns-1 md:columns-2\">\n {selectedTab?.benefits?.map((benefit, index) => (\n <li\n key={index}\n className=\"px-16 pb-16 mb-16 bg-white rounded-lg break-inside-avoid-column\"\n >\n <DangerSet\n as=\"h3\"\n className=\"block mb-8 font-medium text-amex-deepBlue text-t6\"\n html={benefit?.fields?.title}\n />\n <DangerSet\n className=\"text-grey-6 text-p1 [&>a]:break-words\"\n as=\"p\"\n html={injectOffer(benefit?.fields?.body, getOffer(primaryCard))}\n />\n </li>\n ))}\n </ul>\n\n <div className=\"flex justify-around w-full mt-56\">\n <Apply\n card={primaryCard}\n alignCenter\n className=\"mb-24 text-center\"\n buttonProps={{\n className: cn(\"min-w-full w-full md:w-[420px] md:w-auto\"),\n }}\n />\n </div>\n </div>\n </section>\n );\n};\n\nconst AssetTabbedBenefit = ({ ...props }) => {\n const content = [travelBenefit, everydayBenefit];\n return (\n <AmexContentProvider sections={content}>\n <AssetTabbedBenefitInner {...props} sections={content} />\n </AmexContentProvider>\n );\n};\n\nAssetTabbedBenefit.propTypes = AssetTabbedBenefitPropTypes;\n\nexport default AssetTabbedBenefit;\n","import ContentContainer from \"@common/ContentContainer\";\nimport DangerSet from \"@common/DangerSet\";\nimport FlipTile from \"@common/FlipTile\";\nimport Title from \"@common/Title\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport cn from \"classnames\";\nimport Image from \"next/image\";\nimport mcn from \"utils/merge-classnames\";\n\n/**\n * Component: FlipTilesBenefits\n */\nconst FlipTilesBenefitsCombined = ({\n flipTilesBenefitsFrontSectionId,\n flipTilesBenefitsBackSectionId,\n card,\n gridContainerClassName,\n disableFlip, // Add this new prop\n ...props\n}) => {\n const primaryCard = usePrimaryCard(card?.id);\n\n const flipTilesBenefitsFrontSections = useSection(\n flipTilesBenefitsFrontSectionId\n );\n const flipTilesBenefitsBackSections = useSection(\n flipTilesBenefitsBackSectionId\n );\n const benefitsFront = getBenefits(\n flipTilesBenefitsFrontSections,\n primaryCard?.id\n );\n const benefitsBack = getBenefits(\n flipTilesBenefitsBackSections,\n primaryCard?.id\n );\n\n // NOTE: Order of the benefits matter, combines based on index\n const combinedBenefits = benefitsFront.map((benefit, index) => ({\n front: benefit,\n back: benefitsBack[index],\n }));\n\n if (!primaryCard?.id || !benefitsFront || benefitsFront.length === 0) {\n return null;\n }\n\n return (\n <section\n {...props}\n className={cn(\"pt-56\", props.className)}\n data-test-container=\"flip-tile-benefits\"\n >\n <ContentContainer>\n {/* Flip Tiles Grid */}\n <ul\n className={mcn(\n \"grid grid-flow-col gap-24 w-full\",\n {\n \"grid-cols-1\": benefitsFront.length === 1,\n \"grid-cols-2\": benefitsFront.length === 2,\n \"grid-cols-3\": benefitsFront.length === 3,\n \"grid-cols-4\": benefitsFront.length === 4,\n },\n gridContainerClassName\n )}\n >\n {combinedBenefits.map((benefit, index) => (\n <li key={`flip-tiles-benefits${index}`} className=\"contents\">\n <FlipTile\n tagularProps={{\n position: index + 1,\n name: `${decodeHTMLEntities(\n getField(primaryCard, \"displayName\")\n )} Benefit Tiles`,\n text: `${decodeHTMLEntities(benefit?.fields?.title)}`,\n }}\n tileContainerInnerBodyClassName=\"border-[1px]\"\n disableFlip={disableFlip} // Pass the prop to FlipTile\n >\n {/* Front Side */}\n <span className=\"flex h-full px-16\">\n <span className=\"h-full grid grid-flow-row grid-rows-[min-content,1fr] gap-12\">\n <div>\n <DangerSet\n as=\"h3\"\n html={benefit?.front?.fields?.title}\n className={cn(\n \"text-left text-amex-deepBlue font-medium text-t5 py-24\"\n )}\n aria-label={decodeHTMLEntities(\n benefit?.front?.fields?.title\n )}\n />\n {benefit?.front?.fields?.icon && (\n <Image\n data-test-nextjs-image\n width={81}\n height={36}\n src={`/imgs/tiles/${benefit?.front?.fields?.icon}`}\n alt={`logo of ${benefit?.front?.fields?.icon}`}\n className=\"pb-24\"\n />\n )}\n </div>\n <DangerSet\n as=\"p\"\n html={benefit?.front?.fields?.body}\n aria-label={decodeHTMLEntities(\n benefit?.front?.fields?.body\n )}\n className=\"text-left text-p2\"\n />\n <span className=\"self-end -mx-16\">\n <Image\n data-test-nextjs-image\n width={385}\n height={247}\n src={`/imgs/components/desktop/FlipTilesBenefits/${benefit?.front?.fields?.meta?.imageName}.webp`}\n alt={benefit?.front?.fields?.meta?.imageName}\n role=\"presentation\"\n className=\"w-full rounded-[1.5px]\"\n />\n </span>\n </span>\n </span>\n {/* Back Side */}\n <div className=\"px-16 pb-24 text-left\">\n <DangerSet\n as={Title}\n asProps={{ as: \"h3\", title: 5 }}\n html={benefit?.back?.fields?.title}\n aria-label={decodeHTMLEntities(\n benefit?.back?.fields?.title\n )}\n className=\"pb-8 font-medium text-amex-deepBlue\"\n />\n <DangerSet\n as=\"p\"\n html={benefit?.back?.fields?.body}\n aria-label={decodeHTMLEntities(benefit?.back?.fields?.body)}\n className=\"text-p2 [&>small]:text-p3 [&>small]:block [&>small]:mt-16\"\n />\n </div>\n </FlipTile>\n </li>\n ))}\n </ul>\n </ContentContainer>\n </section>\n );\n};\n\nexport default FlipTilesBenefitsCombined;\n","import { AMEX_CNS_CARD_IDS, DELTA_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n/**\n * PAGE_SETTINGS\n *\n */\n\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [AMEX_CNS_CARD_IDS.PLATINUM],\n};\n","import AssetBannerEmphasizedMultipliers from \"@assets/common/AssetBannerEmphasizedMultipliers\";\nimport Title from \"@common/Title\";\nimport AssetStickySidebarHero from \"@components/assets/site/desktop/AssetStickySidebarHero\";\nimport AssetTabbedBenefit from \"@components/assets/site/desktop/AssetTabbedBenefit\";\nimport FlipTilesBenefitsCombined from \"@components/site/desktop/FlipTilesBenefitsCombined\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport tilesBCECashBack from \"@content/prod-contentful/consumer-d-BCE-cashback-tiles.json\";\nimport carouselBCECashbackSlides from \"@content/prod-contentful/consumer-d-carousel-BCE-cashback-slides.json\";\nimport flipTilesBenefitsBack from \"@content/prod-contentful/consumer-d-flip-tiles-benefits-back.json\";\nimport flipTilesBenefitsFront from \"@content/prod-contentful/consumer-d-flip-tiles-benefits-front.json\";\nimport { useCard } from \"@providers/AmexCardsProvider\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { IFrameProvider } from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport dynamic from \"next/dynamic\";\nimport { PAGE_SETTINGS } from \"./asset-settings\";\n\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n { ssr: false }\n);\n\nconst AssetHeroPlatinum = () => {\n const card = useCard(AMEX_CNS_CARD_IDS.PLATINUM);\n const backgroundImage = \"couple-lake-mountain-wine\";\n\n const flipTilesBenefitsFrontSectionId =\n PAGE_SETTINGS_KEYS.DESKTOP_FLIP_TILES_BENEFITS_FRONT;\n\n const flipTilesBenefitsBackSectionId =\n PAGE_SETTINGS_KEYS.DESKTOP_FLIP_TILES_BENEFITS_BACK;\n\n return (\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider\n sections={[\n carouselBCECashbackSlides,\n tilesBCECashBack,\n flipTilesBenefitsFront,\n flipTilesBenefitsBack,\n ]}\n >\n <IFrameProvider>\n <AssetStickySidebarHero\n cardId={card.id}\n backgroundImage={backgroundImage}\n applyProps={{\n showLegal: false,\n showApr: false,\n showFee: false,\n showLearnMoreButton: true,\n }}\n offerTitleProps={{ asProps: { title: 4, as: \"h2\" } }}\n >\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <AssetBannerEmphasizedMultipliers\n isMultiplierOnSeparateLine\n showCircleIcons\n tilesHaveShadow={false}\n titleProps={{\n className: \"text-center lg:text-t1 text-amex-deepBlue\",\n }}\n tileTitleProps={{\n className:\n \"text-center text-grey-6 font-medium lg:text-t5\",\n }}\n headlineProps={{\n html: \"The Card Created for Exceptional Travel\",\n className: \"text-amex-deepBlue\",\n }}\n tileBodyProps={{\n className: \"text-center\",\n }}\n />\n )\n }\n </ElementInView>\n <FlipTilesBenefitsCombined\n card={card}\n flipTilesBenefitsFrontSectionId={flipTilesBenefitsFrontSectionId}\n flipTilesBenefitsBackSectionId={flipTilesBenefitsBackSectionId}\n data-test-container=\"flip-tile-benefits\"\n gridContainerClassName=\"grid-cols-2 grid-flow-row\"\n className=\"mb-24\"\n disableFlip // Add this prop to disable flip functionality\n />\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <section id=\"benefits\" className=\"py-12 ml-24\">\n <Title\n as=\"h2\"\n title={2}\n className=\"mb-12 font-medium lg:w-[90%] text-center text-amex-deepBlue xl:w-full\"\n >\n You Can Earn Over\n <span className=\"font-bold\"> $1,500</span> in Total Value\n Annually\n </Title>\n <Title\n as=\"h4\"\n title={4}\n className=\"mb-24 font-medium lg:w-[90%] text-center text-amex-deepBlue xl:w-full\"\n >\n that includes over $750 in travel value and over $750 in\n everyday value\n </Title>\n <AssetTabbedBenefit />\n </section>\n )\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCardLegalIframes />}\n </ElementInView>\n </AssetStickySidebarHero>\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n );\n};\n\nexport default AssetHeroPlatinum;\n","import CardArt from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport AssetLeftStickyGold from \"@components/assets/site/desktop/AssetFullPageGoldCardLeftSticky\";\nimport AssetLeftStickyBCE from \"@components/assets/site/desktop/AssetFullPageLeftStickyBannerBlueEveryday\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport useTabs from \"@hooks/use-tabs\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getField from \"@utils/contentful/get-field\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport AssetHeroPlatinum from \"./AssetHeroPlatinum\";\n\n// PropTypes\nconst propAssetFullPageLeftStickyFusionHero = {\n metadata: PropTypes.shape({\n card1: PropTypes.string,\n card2: PropTypes.string,\n card3: PropTypes.string,\n }),\n};\n\nconst cardsToAsset = {\n [AMEX_CNS_CARD_IDS.GOLD]: AssetLeftStickyGold,\n [AMEX_CNS_CARD_IDS.PLATINUM]: AssetHeroPlatinum,\n [AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY]: AssetLeftStickyBCE,\n};\n\n/**\n * Asset: AssetHeroFusion\n */\nconst AssetFullPageLeftStickyFusionHero = ({\n metadata = {\n card1: \"amx-cns-platinum\",\n card2: \"amx-cns-gold\",\n card3: \"amx-cns-bce\",\n },\n ...props\n}) => {\n const { card1, card2, card3 } = metadata;\n\n const pageCards = useCardsOnPage([card1, card2, card3]);\n const cards = pageCards.map((card) => card?.fields?.cardId);\n\n const tabs = useTabs({\n tabListLabel: \"Consumer Cards tablist\",\n });\n\n const { isAppLoading } = useAppContext();\n\n if (!metadata) {\n return null;\n }\n return (\n <section\n data-test-container=\"hybrid-hero\"\n {...props}\n className={cn(\n props.className,\n isAppLoading ? \"hide-all-but-loader\" : \"animate-base-site-fade-in\"\n )}\n >\n <ul\n role=\"tablist\"\n aria-label=\"Consumer Cards tablist\"\n className=\"flex items-center justify-center py-16 pl-120\"\n {...tabs.getTabListProps()}\n ref={tabs.tabListRef}\n >\n {pageCards.map((card, index) => {\n const getInitialOrNewIndex = () =>\n // If card nav should link to single card pages,\n // we don't want to flash another tab before navigating\n index;\n\n return (\n <li key={index} role=\"presentation\">\n <button\n role=\"tab\"\n id={`tab-${index}`}\n aria-selected={tabs.activeTabIndex === index}\n aria-controls={`tabpanel-${index}`}\n key={`tab-button-${card.id}`}\n className=\"inline-flex items-center mr-24 bg-transparent\"\n onKeyDown={tabs.handleTabItemKeyDown}\n data-test-button=\"hybrid-hero\"\n type=\"button\"\n {...tabs.getTabProps({\n index: getInitialOrNewIndex(),\n onClick: () => {\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.SET_TAB,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n location:\n TAGULAR_LOCATIONS.DESKTOP_AMEX_LEFT_STICKY_FUSION_HERO,\n position: index + 1,\n text: getField(card, \"displayName\"),\n });\n },\n })}\n >\n <CardArt\n className=\"w-[102px]\"\n card={card}\n hasMetaOverrideTheme\n sourceSizes=\"102px\"\n skeletonCardWidth={102}\n skeletonClasses=\"mr-12\"\n />\n <DangerSet\n className={cn(\n \"max-w-[170px] text-p2 text-left ml-12 border-solid border-b-4\",\n tabs.activeTabIndex === index\n ? \"border-amex-brightBlue\"\n : \"border-transparent\"\n )}\n {...ContentfulProps(card, \"displayName\")}\n html={getField(card, \"displayName\")}\n />\n </button>\n </li>\n );\n })}\n </ul>\n\n <div className=\"tab-panels h-full\">\n {cards.map((card, index) => {\n const Asset = cardsToAsset[card];\n return (\n <div\n key={`tab-${card}`}\n role=\"tabpanel\"\n id={`tabpanel-${index}`}\n aria-labelledby={`tab-${index}`}\n hidden={tabs.activeTabIndex !== index}\n {...tabs.getTabPanelProps({ index })}\n >\n {tabs.activeTabIndex === index && <Asset />}\n </div>\n );\n })}\n </div>\n </section>\n );\n};\n\nAssetFullPageLeftStickyFusionHero.propTypes =\n propAssetFullPageLeftStickyFusionHero;\nexport default AssetFullPageLeftStickyFusionHero;\n","import { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\n\nexport const ASSET_HERO_PLAT_ROKU_EXPERIENCE_KEYS = Object.freeze({\n D_HERO_PLAT_BOAT: \"asset-hero-desktop-hero-platinum-boat\",\n});\n\nexport const ASSET_SETTINGS = {\n [ASSET_HERO_PLAT_ROKU_EXPERIENCE_KEYS.D_HERO_PLAT_BOAT]: {\n card: AMEX_CNS_CARD_IDS.PLATINUM,\n content: {\n title:\n \"The Card Created for <strong style='font-weight: 500'>Exceptional Travel</strong>\",\n imageFileName: \"desktop-focused-hero-boat\",\n cardGifImage: \"ShimmeringVideo\",\n whiteTitle: true,\n },\n },\n};\n","import CardArt from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport Offer, { OFFER_TITLE_THEMES } from \"@common/Offer\";\nimport Title from \"@common/Title\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport useIntersectionObserver from \"@hooks/use-intersection-observer\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getField from \"@utils/contentful/get-field\";\nimport mcn from \"@utils/merge-classnames\";\nimport cn from \"classnames\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n ASSET_HERO_PLAT_ROKU_EXPERIENCE_KEYS,\n ASSET_SETTINGS,\n} from \"./asset-settings\";\n\nconst AssetHeroPlatRokuExperience = ({\n sectionId = ASSET_HERO_PLAT_ROKU_EXPERIENCE_KEYS.D_HERO_PLAT_BOAT,\n titleProps,\n subTitleProps,\n offerProps,\n applyProps,\n cardProps,\n ...props\n}) => {\n const { [sectionId]: assetSettings } = ASSET_SETTINGS;\n const card = usePrimaryCard();\n const content = assetSettings?.content;\n const { isAppLoading } = useAppContext();\n\n const cardArtRef = useRef(null);\n const contentRef = useRef(null);\n const videoRef = useRef(null);\n\n const [videoState, setVideoState] = useState({\n loaded: false,\n playing: false,\n ended: false,\n });\n\n const isVisible = useIntersectionObserver(cardArtRef, {\n threshold: 0.1,\n })?.isIntersecting;\n\n const loadVideo = useCallback(() => {\n if (content?.cardGifImage) {\n const video = document.createElement(\"video\");\n video.src = `/imgs/preamp/asset-hero-plat-roku-experience/${content?.cardGifImage}.mp4`;\n video.onloadeddata = () => {\n setVideoState({ loaded: true, playing: false, ended: false });\n };\n video.onerror = () => {\n console.error(\"Failed to load video\");\n setVideoState({ loaded: true, playing: false, ended: false });\n };\n }\n }, [content?.cardGifImage]);\n\n useEffect(() => {\n if (isVisible && !videoState.loaded) {\n loadVideo();\n }\n }, [isVisible, videoState.loaded, loadVideo]);\n\n useEffect(() => {\n let playTimeoutId;\n if (\n isVisible &&\n videoState.loaded &&\n !videoState.playing &&\n !videoState.ended &&\n videoRef.current\n ) {\n playTimeoutId = setTimeout(() => {\n videoRef.current\n ?.play()\n .catch((error) => console.error(\"Error playing video:\", error));\n }, 2000);\n }\n\n return () => {\n if (playTimeoutId) clearTimeout(playTimeoutId);\n };\n }, [isVisible, videoState.loaded, videoState.playing, videoState.ended]);\n\n if (!card) {\n return null;\n }\n\n return (\n <section\n {...props}\n className={cn(\n \"bg-cover bg-no-repeat flex justify-center py-32 px-24 xl:py-48 w-full max-w-[1440px] mx-auto bg-[image:var(--image-url)] bg-top\",\n props?.className\n )}\n style={{\n \"--image-url\": `url(/imgs/preamp/asset-product-focused-hero/${content?.imageFileName}.jpg)`,\n }}\n data-test-image\n >\n <div className={cn(\"text-center w-full max-w-[980px]\")}>\n <div\n ref={contentRef}\n className={cn(\"text-white delay-[2000ms]\", {\n \"opacity-0\": !isVisible && !isAppLoading,\n \"opacity-1\": isVisible || isAppLoading,\n })}\n >\n <DangerSet\n as={Title}\n asProps={{\n as: \"h3\",\n title: 6,\n className: cn(\n \"pt-6 text-2xl xl:text-3xl\",\n subTitleProps?.className\n ),\n }}\n {...ContentfulProps(card, \"displayName\")}\n html={getField(card, \"displayName\", { sectionId })}\n />\n <DangerSet\n as={Title}\n asProps={{\n as: \"h4\",\n title: 3,\n }}\n html={content?.title}\n {...titleProps}\n className={cn(\"text-5xl xl:text-6xl mt-12\", titleProps?.className)}\n />\n </div>\n <div\n ref={cardArtRef}\n className={mcn(\n \"h-[192px] w-[300px] xl:h-[208px] xl:w-[330px] mt-24 mx-auto text-white transition-all duration-[2000ms] relative\",\n {\n \"scale-150\": !isVisible && !isAppLoading,\n \"scale-100\": isVisible || isAppLoading,\n }\n )}\n >\n <CardArt\n card={card}\n hasMetaOverrideTheme\n lazy={false}\n className={cn({\n \"opacity-0\": videoState.loaded && videoState.playing,\n \"opacity-100\": !videoState.loaded || !videoState.playing,\n })}\n />\n {videoState.loaded && (\n <div className=\"absolute top-0 left-0 w-full h-full\">\n <video\n ref={videoRef}\n muted\n playsInline\n className=\"object-cover w-full h-full\"\n onPlay={() =>\n setVideoState((prev) => ({ ...prev, playing: true }))\n }\n onEnded={() =>\n setVideoState((prev) => ({\n ...prev,\n playing: false,\n ended: true,\n }))\n }\n >\n <source\n src={`/imgs/preamp/asset-hero-plat-roku-experience/${content?.cardGifImage}.mp4`}\n type=\"video/mp4\"\n />\n Your browser does not support the video tag.\n </video>\n </div>\n )}\n </div>\n\n <div\n className={cn(\"text-white delay-[2000ms]\", {\n \"opacity-0\": !isVisible && !isAppLoading,\n \"opacity-1\": isVisible || isAppLoading,\n })}\n >\n <Offer\n card={card}\n sectionId={sectionId}\n className=\"mt-24 text-white\"\n titleTheme={OFFER_TITLE_THEMES.DARK}\n />\n </div>\n </div>\n </section>\n );\n};\n\nexport default AssetHeroPlatRokuExperience;\n","export const CENTURION_LOUNGE_CONTENT = {\n airportNames: [\n \"Charlotte (CLT)\",\n \"Dallas (DFW)\",\n \"Denver (DEN)\",\n \"Houston (IAH)\",\n \"Las Vegas (LAS)\",\n \"Los Angeles (LAX)\",\n \"Miami (MIA)\",\n \"New York (JFK)\",\n \"New York (LGA)\",\n \"Philadelphia (PHL)\",\n \"Phoenix (PHX)\",\n \"San Francisco (SFO)\",\n \"Seattle (SEA)\",\n ],\n offerings: [\n \"Locally-inspired menus\",\n \"Signature cocktails<sup>‡</sup>\",\n \"Spa therapies from exhale®\",\n \"High-speed Wi-Fi\",\n ],\n};\n","import DangerSet from \"@common/DangerSet\";\nimport Title from \"@common/Title\";\nimport ContentContainer from \"@components/common/ContentContainer\";\nimport Image from \"next/image\";\nimport { CENTURION_LOUNGE_CONTENT } from \"./asset-settings\";\n\n/**\n * Component: AssetStaticCenturionLounge\n */\nconst AssetStaticCenturionLounge = () => {\n const content = CENTURION_LOUNGE_CONTENT;\n return (\n <section className=\"flex py-40 lg:mr-40 lg:fit lg:h-fit xl:mr-0\">\n <ContentContainer>\n <DangerSet\n as={Title}\n asProps={{ as: \"h2\", title: 2 }}\n html=\"Complimentary Access to The Centurion<sup>®</sup> Lounge\"\n className=\"mb-32 font-medium text-left max-w-300 text-grey-6\"\n />\n <div className=\"flex flex-row px-24 py-40 shadow-sm lg:mr-20 xl:mr-0 xl:w-fit xl:h-fit\">\n <div className=\"flex flex-col mr-32 w-fit\">\n <p className=\"mb-16 mr-32 font-medium text-left text-amex-deepBlue text-t5\">\n U.S Locations:\n </p>\n <ul className=\"pl-16 list-disc\">\n {content?.airportNames?.map((airport, index) => (\n <li key={index}>{airport}</li>\n ))}\n </ul>\n <p className=\"my-16 font-medium text-left text-amex-deepBlue text-t5 \">\n Offerings\n </p>\n <ul className=\"pl-16 list-disc\">\n {content?.offerings?.map((offering, index) => (\n <DangerSet as=\"li\" key={index} html={offering} />\n ))}\n </ul>\n </div>\n <div className=\"relative\">\n <Image\n data-test-nextjs-image\n width={780}\n height={244}\n src=\"/imgs/preamp/asset-hero-plat-roku-experience/centurionATLLounge.jpg\"\n alt=\"The Centurion Lounge in Atlanta\"\n className=\"flex object-fill h-full w-[480px] xl:w-[780px]\"\n />\n <p className=\"relative text-white left-12 -top-32 z-1 text-t6\">\n Atlanta American Express Centurion Lounge\n </p>\n </div>\n </div>\n </ContentContainer>\n </section>\n );\n};\n\nexport default AssetStaticCenturionLounge;\n","import { ICON_KEYS } from \"@common/IconByFilename/constants\";\n\nexport const ASSET_KEY = \"asset-sticky-nav-plat-roku-experience\";\n\nexport const ASSET_SETTINGS = {\n [ASSET_KEY]: {\n Nav_Links: [\n {\n id: \"welcome-offer\",\n label: \"Welcome Offer\",\n sectionRef: \"hero\",\n IconStates: {\n inactive: ICON_KEYS.OFFERS_DESKTOP,\n active: ICON_KEYS.OFFERS_DESKTOP_FILLED,\n },\n },\n {\n id: \"multipliers\",\n label: \"How You Earn\",\n sectionRef: \"multipliers\",\n IconStates: {\n inactive: ICON_KEYS.REWARDS,\n active: ICON_KEYS.REWARDS_FILLED,\n },\n },\n {\n id: \"benefits\",\n label: \"Benefit Value\",\n sectionRef: \"benefits\",\n IconStates: {\n inactive: ICON_KEYS.CARD_BENEFIT,\n active: ICON_KEYS.CARD_BENEFIT_FILLED,\n },\n },\n {\n id: \"lounge\",\n label: \"Lounge Access\",\n sectionRef: \"lounge\",\n IconStates: {\n inactive: ICON_KEYS.LOUNGE,\n active: ICON_KEYS.LOUNGE_FILLED,\n },\n },\n ],\n },\n};\n","import Apply from \"@common/Apply\";\nimport { BUTTON_THEMES } from \"@common/Button\";\nimport CardArt, { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport DangerSet from \"@common/DangerSet\";\nimport IconByFilename from \"@common/IconByFilename\";\nimport Title from \"@common/Title\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport cn from \"classnames\";\nimport { useEffect, useState } from \"react\";\nimport { ASSET_KEY, ASSET_SETTINGS } from \"./asset-settings\";\n\nconst AssetStickyNavPlatRokuExperience = ({\n sectionId = ASSET_KEY,\n ...props\n}) => {\n const primaryCard = usePrimaryCard();\n const navItems = ASSET_SETTINGS[ASSET_KEY]?.Nav_Links;\n const [activeSection, setActiveSection] = useState(navItems[0]?.sectionRef);\n\n useEffect(() => {\n const handleScroll = () => {\n const scrollPosition = window.scrollY + 100;\n\n for (const item of navItems) {\n const element = document.getElementById(item.sectionRef);\n if (element && scrollPosition >= element.offsetTop) {\n setActiveSection(item.sectionRef);\n }\n }\n };\n\n window.addEventListener(\"scroll\", handleScroll);\n return () => window.removeEventListener(\"scroll\", handleScroll);\n }, [navItems]);\n\n const handleScrollTo = (sectionRef, label) => (e) => {\n e.preventDefault();\n\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.SET_TAB,\n elementType: TAGULAR_ELEMENT_TYPES.TAB,\n location: TAGULAR_LOCATIONS.STICKY_NAV,\n name: label,\n position: `${label} Tab`,\n text: label,\n });\n\n const element = document.getElementById(sectionRef);\n if (element) {\n const headerOffset = 80;\n const elementPosition = element.getBoundingClientRect().top;\n const offsetPosition = elementPosition + window.scrollY - headerOffset;\n\n window.scrollTo({\n top: offsetPosition,\n behavior: \"smooth\",\n });\n setActiveSection(sectionRef);\n }\n };\n\n if (!primaryCard) return null;\n return (\n <section\n data-contentful-section-id={sectionId}\n data-test-container=\"hero-single\"\n aria-label={`Featured card information for: ${decodeHTMLEntities(getField(primaryCard, \"displayName\", { sectionId }))}`}\n {...props}\n className={cn(\"relative bg-white rounded-md text-white\", props.className)}\n data-test-sticky=\"left-sticky\"\n >\n <div\n className={cn(\n \"flex flex-col relative ml-88 mr-16 mb-32 px-24 bg-amex-deepBlue rounded-md\"\n )}\n >\n <DangerSet\n as={Title}\n asProps={{ as: \"h1\", title: 4 }}\n html={getField(primaryCard, \"displayName\", { sectionId })}\n className={cn(\n \"font-medium text-t6 text-white py-20 max-w-[384px] text-center mx-auto\"\n )}\n />\n <CardArt\n card={primaryCard}\n sourceSizes=\"200px\"\n className={cn(\"mx-auto mb-12 w-200\")}\n variation={CARD_ART_VARIATIONS.DEFAULT}\n hasMetaOverrideTheme\n />\n <Apply\n card={primaryCard}\n sectionId={sectionId}\n alignCenter={false}\n tagularProps={{\n location: TAGULAR_LOCATIONS.HERO,\n }}\n buttonProps={{\n theme: BUTTON_THEMES.DARK,\n className: cn(\n \"min-w-full w-full md:min-w-[min(100%,240px)] md:w-auto \"\n ),\n }}\n className=\"mb-24 text-left \"\n />\n </div>\n <div className=\"absolute w-fit h-fit\">\n <img\n src=\"/imgs/preamp/asset-hero-plat-roku-experience/Centurion.png\"\n alt=\"hero\"\n className=\"relative bottom-12 \"\n />\n </div>\n <div className=\"h-full mr-16 text-gray-800 bg-center bg-no-repeat bg-cover rounded-md ml-88 width-fit\">\n <nav className=\"sticky top-20\">\n <ul>\n {navItems.map(({ id, label, sectionRef, IconStates }) => (\n <li key={id} className=\"relative p-8 mb-8 text-t6\">\n <a\n href={`#${sectionRef}`}\n onClick={handleScrollTo(sectionRef, label)}\n className={cn(\n \"text-t4 no-underline flex gap-8 items-center\",\n activeSection === sectionRef\n ? \"text-amex-brightBlue font-bold border-b-4 border-amex-brightBlue border-solid\"\n : \"text-grey-6\"\n )}\n >\n <div className=\"relative w-6 h-6 mr-2\">\n <IconByFilename\n className=\"h-24 text-amex-brightBlue\"\n filename={\n activeSection === sectionRef\n ? IconStates?.active\n : IconStates?.inactive\n }\n />\n </div>\n <span className=\"text-base\">{label}</span>\n </a>\n </li>\n ))}\n </ul>\n </nav>\n </div>\n </section>\n );\n};\n\nexport default AssetStickyNavPlatRokuExperience;\n","import AssetBannerEmphasizedMultipliers from \"@assets/common/AssetBannerEmphasizedMultipliers\";\nimport AssetBannerGambitCallout from \"@assets/site/desktop/AssetBannerGambitCallout\";\nimport AssetHeroPlatRokuExperience from \"@assets/site/desktop/AssetHeroPlatRokuExperience\";\nimport AssetStaticCenturionLounge from \"@assets/site/desktop/AssetStaticCenturionLounge\";\nimport AssetStickyNavPlatRokuExperience from \"@assets/site/desktop/AssetStickyNavPlatRokuExperience\";\nimport AssetTabbedBenefit from \"@assets/site/desktop/AssetTabbedBenefit\";\nimport CardLegalIframes from \"@common/CardLegalIframes\";\nimport StickyWrapper from \"@common/StickyWrapper\";\nimport Title from \"@common/Title\";\nimport PlacementHeroSingle from \"@components/placements/site/desktop/PlacementHeroSingle\";\nimport { ElementInView } from \"@utils/element-in-view\";\n\n/**\n * Asset: AssetFullPageRokuExperience\n */\nconst Content = () => (\n <StickyWrapper\n stickyComponent={AssetStickyNavPlatRokuExperience}\n stickyClassName=\"w-[400px] sticky top-0 h-screen border-r border-solid border-grey-3 py-48\"\n childrenClassName=\"px-8 mx-0\"\n >\n <>\n <AssetBannerGambitCallout\n tilesHaveShadow\n headerBoxProps={{\n className: \"flex flex-col items-start -ml-20 pt-28\",\n }}\n containerProps={{\n className: \"items-end\",\n }}\n closeButtonClassName=\"mt-12\"\n titleContainerProps={{\n className: \" mt-12 mr-0\",\n }}\n buttonProps=\"h-12\"\n />\n <section id=\"hero\" className=\"mt-20 mb-6\">\n <AssetHeroPlatRokuExperience />\n </section>\n\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <section id=\"multipliers\" className=\"py-12 text-left\">\n <AssetBannerEmphasizedMultipliers\n className=\"lg:w-[90%] xl:w-full\"\n tilesHaveShadow\n headlineProps={{\n className: \"text-gray-6 !text-left\",\n as: \"h2\",\n html: \"How you earn\",\n }}\n tileTitleProps={{\n className: \"text-grey-6\",\n }}\n titleProps={{\n className: \"text-grey-6\",\n }}\n responsiveProps={{\n className: \"xl:w-full md:w-[10%]\",\n }}\n />\n </section>\n )\n }\n </ElementInView>\n\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <section id=\"benefits\" className=\"py-12 ml-24\">\n <Title\n as=\"h2\"\n title={2}\n className=\"mb-12 font-medium lg:w-[90%] text-center text-amex-deepBlue xl:w-full\"\n >\n You Can Earn Over <span className=\"font-bold\">$1,500</span> in\n Total Value Annually\n </Title>\n <Title\n as=\"h4\"\n title={4}\n className=\"mb-24 font-medium lg:w-[90%] text-center text-amex-deepBlue xl:w-full\"\n >\n that includes over $750 in travel value and over $750 in\n everyday value\n </Title>\n <AssetTabbedBenefit />\n </section>\n )\n }\n </ElementInView>\n\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <section id=\"lounge\" className=\"w-full py-12\">\n <AssetStaticCenturionLounge />\n </section>\n )\n }\n </ElementInView>\n\n <ElementInView timed>\n {(isInView) => isInView && <CardLegalIframes />}\n </ElementInView>\n </>\n </StickyWrapper>\n);\n\nconst AssetFullPageRokuExperience = () => (\n <PlacementHeroSingle placementControl={Content} />\n);\n\nexport default AssetFullPageRokuExperience;\n","import { AMEX_CNS_CARD_IDS, DELTA_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\n\n// Desktop Travel Page Settings\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.RESERVE,\n ],\n [PAGE_SETTINGS_KEYS.HERO_LOUNGE]: {\n headline: \"Welcome to Your Getaway Before the Runway\",\n loungeLocation: \"London (LHR)\",\n bgImage: \"bg-lhr-lounge.jpg\",\n },\n [PAGE_SETTINGS_KEYS.DESKTOP_LOUNGE_CARDS_TABS_BANNER]: {\n title: \"Refine Your Travels with Membership\",\n },\n [PAGE_SETTINGS_KEYS.DESKTOP_LOUNGE_COMPARISON_GRID]: {\n headline: \"Which Card Suits Your Travels?\",\n },\n};\n","import HeroLounge from \"@common/HeroLounge\";\nimport Loading from \"@common/Loading\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport dynamic from \"next/dynamic\";\n\n// Desktop Travel Page Import Content\nimport LoungeCardsTabsBanner from \"@content/prod-contentful/consumer-d-lounge-cards-tabs-banner.json\";\nimport ModalLoungeDetails from \"@content/prod-contentful/consumer-r-modal-lounge-details.json\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport { PAGE_SETTINGS } from \"./asset-settings\";\n\nconst DynamicLoungeComparisonGrid = dynamic(\n () => import(\"@components/site/desktop/LoungeComparisonGrid\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicDayInTheLoungeTiles = dynamic(\n () => import(\"@common/DayInTheLoungeTiles\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicCenturionLoungeTabs = dynamic(\n () => import(\"@components/site/desktop/CenturionLoungeTabs\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicLoungeCardsTabsBanner = dynamic(\n () => import(\"@components/site/desktop/LoungeCardsTabsBanner\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\nconst DynamicLoungeGlobalMap = dynamic(\n () => import(\"@components/site/desktop/LoungeGlobalMap\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\nconst AssetContent = () => (\n <>\n <HeroLounge />\n <ElementInView timed>\n {(isInView) => isInView && <DynamicLoungeComparisonGrid />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicDayInTheLoungeTiles />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCenturionLoungeTabs />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicLoungeCardsTabsBanner />}\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicLoungeGlobalMap />}\n </ElementInView>\n </>\n);\n\n/**\n * Asset: AssetFullPageTravel\n */\nconst AssetFullPageTravel = ({ ...props }) => {\n const content = [ModalLoungeDetails, LoungeCardsTabsBanner];\n\n return (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={content}>\n <AssetContent />\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n );\n};\n\nexport default AssetFullPageTravel;\n","import { CARD_BENEFITS_MODAL_PAGE_CONTENT } from \"@components/site/desktop/ButtonCardBenefits/constants\";\nimport {\n AMEX_CNS_CARD_IDS,\n DELTA_CNS_CARD_IDS,\n HILTON_CNS_CARD_IDS,\n} from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { BENEFITS_SECTION_IDS } from \"@site/desktop/AccordionCardComparison/constants\";\n\n/**\n * PAGE_SETTINGS\n *\n * /d/multi-filters\n */\nexport const PAGE_SETTINGS = {\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n [PAGE_SETTINGS_KEYS.DESKTOP_HERO_TRIPLE]: {\n content: {\n barker: \"APPLY WITH CONFIDENCE\",\n title: \"Know if You're Approved with No Credit Score Impact\",\n body: \"<small class='inline-block pt-8'>If you’re approved and you choose to accept a Card, your credit score may be impacted. This application process is not available for Business Cards.</small>\",\n headline: \"Upgrade the way you spend\",\n },\n showRationalValueClaim: true,\n image: \"bg-woman-city-buildings\",\n filters: {\n controls: [\n {\n key: \"featured\",\n values: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n title: \"Featured\",\n icon: \"icon-card-benefit\",\n },\n {\n key: \"travel\",\n values: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n DELTA_CNS_CARD_IDS.RESERVE,\n DELTA_CNS_CARD_IDS.PLATINUM,\n ],\n title: \"Travel\",\n icon: \"icon-airplane\",\n },\n {\n key: \"cashback\",\n values: [\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n ],\n title: \"Cash Back\",\n icon: \"icon-dollar-cashback\",\n },\n {\n key: \"no annual fee\",\n values: [\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n HILTON_CNS_CARD_IDS.HONORS,\n ],\n title: \"No Annual Fee\",\n icon: \"icon-no-fee\",\n },\n {\n key: \"everyday purchases\",\n values: [\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.BLUE_CASH_PREFERRED,\n AMEX_CNS_CARD_IDS.BLUE_CASH_EVERYDAY,\n ],\n title: \"Everyday Purchases\",\n icon: \"icon-receipt\",\n },\n {\n key: \"rewards\",\n values: [\n AMEX_CNS_CARD_IDS.PLATINUM,\n AMEX_CNS_CARD_IDS.GOLD,\n AMEX_CNS_CARD_IDS.GREEN,\n ],\n title: \"Rewards\",\n icon: \"icon-rewards\",\n },\n ],\n settings: {\n defaultIndex: 0,\n },\n },\n },\n [PAGE_SETTINGS_KEYS.DESKTOP_ACCORDION_CARD_COMPARISON]: {\n content: {\n rewardsTitle: \"How You Earn\",\n benefitsTitle: \"Compare Card Features and Benefits\",\n },\n benefitsSectionIds: BENEFITS_SECTION_IDS,\n },\n};\n\n/**\n * PAGE_CONTENT\n */\nexport const PAGE_CONTENT = [\n PAGE_SETTINGS_KEYS.DESKTOP_HERO_TRIPLE,\n PAGE_SETTINGS_KEYS.DESKTOP_TRIPLE_FILTER_EARNING_REWARDS,\n PAGE_SETTINGS_KEYS.AGGREGATE_CLAIMS,\n PAGE_SETTINGS_KEYS.DESKTOP_BENEFITS_MODAL_VALUE_CLAIM_EVERYDAY,\n ...CARD_BENEFITS_MODAL_PAGE_CONTENT,\n ...BENEFITS_SECTION_IDS,\n];\n","import HeroTriple from \"@content/prod-contentful/consumer-d-hero-triple.json\";\nimport PentagonBenefitsModalEverydayValue from \"@content/prod-contentful/consumer-d-pentagon-benefits-modal--everyday-value.json\";\nimport PentagonBenefitsModalFlightsHotels from \"@content/prod-contentful/consumer-d-pentagon-benefits-modal--flights-hotels.json\";\nimport PentagonBenefitsModalLuxuryTravel from \"@content/prod-contentful/consumer-d-pentagon-benefits-modal--luxury-travel.json\";\nimport PentagonHeroSingleHybridValueClaim from \"@content/prod-contentful/consumer-d-pentagon-hero-single-hybrid-value-claim.json\";\nimport TripleFilterCarRental from \"@content/prod-contentful/consumer-d-triple-filter-carrental.json\";\nimport TripleFilterDining from \"@content/prod-contentful/consumer-d-triple-filter-dining.json\";\nimport TripleFilterEarningRewards from \"@content/prod-contentful/consumer-d-triple-filter-earning-rewards.json\";\nimport TripleFilterEntertainment from \"@content/prod-contentful/consumer-d-triple-filter-entertainment.json\";\nimport TripleFilterGroceries from \"@content/prod-contentful/consumer-d-triple-filter-groceries.json\";\nimport TripleFilterLounge from \"@content/prod-contentful/consumer-d-triple-filter-lounge.json\";\nimport TripleFilterRideshare from \"@content/prod-contentful/consumer-d-triple-filter-rideshare.json\";\nimport TripleFilterShopping from \"@content/prod-contentful/consumer-d-triple-filter-shopping.json\";\nimport TripleFilterTravel from \"@content/prod-contentful/consumer-d-triple-filter-travel.json\";\nimport { PAGE_SETTINGS } from \"@pages/d/multi-filters/constants.js\";\nimport { MultiFiltersPageContent } from \"@pages/d/multi-filters/index.page.jsx\";\nimport { AmexContentProvider } from \"@providers/AmexContentProvider\";\nimport IFrameProvider from \"@providers/IFrameProvider\";\nimport { PageSettingsProvider } from \"@providers/PageSettingsProvider\";\n\n/**\n * Asset: AssetMultiFiltersPage\n */\nconst AssetMultiFiltersPage = ({ ...props }) => {\n const content = [\n HeroTriple,\n PentagonHeroSingleHybridValueClaim,\n PentagonBenefitsModalEverydayValue,\n PentagonBenefitsModalFlightsHotels,\n PentagonBenefitsModalLuxuryTravel,\n TripleFilterCarRental,\n TripleFilterDining,\n TripleFilterEarningRewards,\n TripleFilterEntertainment,\n TripleFilterGroceries,\n TripleFilterLounge,\n TripleFilterRideshare,\n TripleFilterShopping,\n TripleFilterTravel,\n ];\n\n return (\n <section {...props}>\n <PageSettingsProvider {...PAGE_SETTINGS}>\n <AmexContentProvider sections={content}>\n <IFrameProvider>\n <MultiFiltersPageContent />\n </IFrameProvider>\n </AmexContentProvider>\n </PageSettingsProvider>\n </section>\n );\n};\n\nexport default AssetMultiFiltersPage;\n","import AssetCompareCardsPage from \"@assets/site/desktop/AssetCompareCardsPage\";\nimport AssetFiltersPage from \"@assets/site/desktop/AssetFiltersPage\";\nimport AssetFullPageAmexExp1306 from \"@assets/site/desktop/AssetFullPageAmexExp1306\";\nimport AssetFullPageAmexExp1320 from \"@assets/site/desktop/AssetFullPageAmexExp1320\";\nimport AssetFullPageCompareCardsWithGoldBanner from \"@assets/site/desktop/AssetFullPageCompareCardsWithGoldBanner\";\nimport AssetFullPageDesktopDualCompare from \"@assets/site/desktop/AssetFullPageDesktopDualCompare\";\nimport AssetFullPageGoldCardLeftSticky from \"@assets/site/desktop/AssetFullPageGoldCardLeftSticky\";\nimport AssetFullPageHeroFusionWithCardTileAndGoldBanner from \"@assets/site/desktop/AssetFullPageHeroFusionWithCardTileAndGoldBanner\";\nimport AssetFullPageLeftLeftStickyBannerBlueEveryday from \"@assets/site/desktop/AssetFullPageLeftStickyBannerBlueEveryday\";\nimport AssetFullPageLeftStickyFusionHero from \"@assets/site/desktop/AssetFullPageLeftStickyFusionHero\";\nimport AssetFullPageRokuExperience from \"@assets/site/desktop/AssetFullPageRokuExperience\";\nimport AssetFullPageTravel from \"@assets/site/desktop/AssetFullPageTravel\";\nimport AssetMultiFiltersPage from \"@assets/site/desktop/AssetMultiFiltersPage\";\nimport PlacementAbove from \"@common/PlacementAbove\";\nimport PlacementBelow from \"@common/PlacementBelow\";\nimport PlacementWrapper from \"@common/PlacementWrapper\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport { PLACEMENT_KEYS } from \"@constants/placement-keys\";\nimport { Asset } from \"@redventures/preamp-for-react\";\nimport { Fragment } from \"react\";\n\nconst PlacementPagePropTypes = {\n ...CUSTOM_PROP_TYPES.PLACEMENT,\n};\n\n/**\n * Placement: PlacementPage\n */\nconst PlacementPage = ({\n placementControl: ControlComponent = Fragment,\n placementName = PLACEMENT_KEYS.D_PAGE_REPLACEMENT,\n ...props\n}) => (\n <>\n <PlacementAbove placementName={placementName} />\n <PlacementWrapper\n placementControl={ControlComponent}\n placementName={placementName}\n {...props}\n >\n <Asset name=\"Desktop - Multi Filters Page\">\n <AssetMultiFiltersPage />\n </Asset>\n <Asset name=\"Full Page - Desktop | Gold Card Left Sticky Banner\">\n <AssetFullPageGoldCardLeftSticky />\n </Asset>\n <Asset name=\"Desktop - Filters Page\">\n <AssetFiltersPage />\n </Asset>\n <Asset name=\"Desktop - Compare Cards Page\">\n <AssetCompareCardsPage />\n </Asset>\n <Asset name=\"Full Page - Desktop | American Express | Exp 1306\">\n <AssetFullPageAmexExp1306 />\n </Asset>\n <Asset name=\"Full Page - Desktop | American Express | Exp 1320\">\n <AssetFullPageAmexExp1320 />\n </Asset>\n <Asset name=\"Full Page - Desktop | Travel\">\n <AssetFullPageTravel />\n </Asset>\n <Asset name=\"Full Page - Desktop | Compare Cards Page With Gold Banner\">\n <AssetFullPageCompareCardsWithGoldBanner />\n </Asset>\n <Asset name=\"Full Page - Desktop | Fusion Hero With Card Tile And Gold Banner\">\n <AssetFullPageHeroFusionWithCardTileAndGoldBanner />\n </Asset>\n <Asset name=\"Full Page - Desktop | Plat Roku Experience\">\n <AssetFullPageRokuExperience />\n </Asset>\n <Asset name=\"Full Page - Desktop | Left Sticky Banner BCE\">\n <AssetFullPageLeftLeftStickyBannerBlueEveryday />\n </Asset>\n <Asset name=\"Full Page - Desktop | Left Sticky Fusion Hero\">\n <AssetFullPageLeftStickyFusionHero />\n </Asset>\n <Asset name=\"Full Page - Desktop | Gold Platinum Dual Compare\">\n <AssetFullPageDesktopDualCompare />\n </Asset>\n </PlacementWrapper>\n <PlacementBelow placementName={placementName} />\n </>\n);\n\nPlacementPage.propTypes = PlacementPagePropTypes;\n\nexport default PlacementPage;\n","export const QAE_TEST_IDS = {\n SECTION: \"sticky-nav\",\n};\n","import AnnualFee from \"@common/AnnualFee\";\nimport Apply from \"@common/Apply\";\nimport CardArt, { CARD_ART_VARIATIONS } from \"@common/CardArt\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport DangerSet from \"@common/DangerSet\";\nimport Title from \"@common/Title\";\nimport CardArtStacker, {\n CARD_ART_STACKER_ORIGINS,\n} from \"@components/common/CardArtStacker\";\nimport { AMEX_CNS_CARD_IDS } from \"@constants/cards\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport { TAGULAR_LOCATIONS } from \"@constants/tagular\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport ContentfulProps from \"@utils/contentful/contentful-props\";\nimport getField from \"@utils/contentful/get-field\";\nimport getOffer from \"@utils/contentful/get-offer\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { QAE_TEST_IDS } from \"./constants\";\n\n// PropTypes\nconst bannerApplyBannerComparePropTypes = {\n sectionId: PropTypes.string, // PAGE_SETTINGS_KEYS.BANNER_APPLY_COMPARE\n applyProps: PropTypes.object,\n showStackedGoldCard: PropTypes.bool, // Controls whether to show stacked Gold card\n};\n\nconst BannerApplyCompare = ({\n sectionId = PAGE_SETTINGS_KEYS.BANNER_APPLY_COMPARE,\n applyProps,\n showStackedGoldCard = false,\n ...props\n}) => {\n const pageSettings = usePageSettings();\n const { [sectionId]: bannerApply } = pageSettings;\n const cards = useCardsOnPage(bannerApply?.cards);\n\n const renderCardArt = (card) => {\n if (showStackedGoldCard && card.id === AMEX_CNS_CARD_IDS.GOLD) {\n return (\n <CardArtStacker\n cardIds={[AMEX_CNS_CARD_IDS.ROSE_GOLD, AMEX_CNS_CARD_IDS.GOLD]}\n directionOrigin={CARD_ART_STACKER_ORIGINS.BOTTOM_LEFT}\n variation={CARD_ART_VARIATIONS.DEFAULT}\n sourceSizes=\"25%\"\n relatedCards\n lazy={false}\n />\n );\n }\n return <CardArt lazy={false} card={card} sourceSizes=\"25%\" />;\n };\n\n if (!cards) return null;\n\n return (\n <section\n data-contentful-section-id={sectionId}\n data-test-container={QAE_TEST_IDS.SECTION}\n {...props}\n className={cn(\n \"bg-white shadow-sm w-full py-20 min-w-adaptive\",\n props.className\n )}\n >\n <ContentContainer>\n <ul\n aria-label=\"Apply Information\"\n className={cn(\n \"grid grid-flow-col gap-x-32\",\n {\n \"grid-cols-3\": cards.length === 3,\n },\n {\n \"grid-cols-2\": cards.length === 2,\n },\n {\n \"grid-cols-1\": cards.length === 1,\n },\n {\n \"grid-rows-[repeat(2,auto)] gap-12 justify-evenly\":\n cards.length > 2,\n },\n {\n \"gap-24 grid-rows-1\": cards.length < 3,\n }\n )}\n >\n {cards.map((card, index) => (\n // eslint-disable-next-line jsx-a11y/no-redundant-roles\n <li key={index} className=\"contents\" role=\"listitem\">\n {/* eslint-disable-next-line jsx-a11y/no-redundant-roles */}\n <section\n className=\"contents\"\n role=\"region\"\n aria-label={decodeHTMLEntities(\n `Apply information for: ${getField(card, \"displayName\", {\n sectionId,\n })}`\n )}\n >\n {/* Two or less cards */}\n {cards.length < 3 && (\n <div className=\"contents\">\n <div className=\"grid grid-cols-2 grid-flow-col gap-x-24\">\n <div className=\"self-center\">{renderCardArt(card)}</div>\n <div className=\"grid gap-8\">\n <DangerSet\n as={Title}\n asProps={{\n as: \"h3\",\n title: 6,\n className: \"text-p2 font-medium\",\n }}\n {...ContentfulProps(card, \"displayName\")}\n html={getField(card, \"displayName\", { sectionId })}\n />\n <Apply\n sectionId={sectionId}\n card={card}\n alignCenter={false}\n aria-label={null}\n showLearnMoreButton\n learnMoreButtonProps={{ className: \"min-w-full\" }}\n tagularProps={{\n location: TAGULAR_LOCATIONS.STICK,\n }}\n buttonProps={{\n className: \"w-full max-w-full min-w-full mt-0 mb-0\",\n ...applyProps?.buttonProps,\n }}\n {...applyProps}\n />\n </div>\n </div>\n </div>\n )}\n\n {/* Three or more cards */}\n {cards.length > 2 && (\n <div className=\"contents\">\n <div className=\"grid gap-x-24 grid-flow-col grid-cols-[auto,1fr]\">\n <div className=\"max-w-[100px]\">{renderCardArt(card)}</div>\n <div className=\"grid gap-8\">\n <DangerSet\n as={Title}\n asProps={{\n as: \"h3\",\n title: 6,\n className: \"text-p2 font-medium\",\n }}\n {...ContentfulProps(card, \"displayName\")}\n html={getField(card, \"displayName\", { sectionId })}\n />\n <AnnualFee\n as=\"p\"\n className=\"text-p2\"\n offer={getOffer(card, pageSettings)}\n sectionId={sectionId}\n />\n </div>\n </div>\n <Apply\n sectionId={sectionId}\n card={card}\n showFee={false}\n alignCenter={false}\n aria-label={null}\n showLearnMoreButton\n learnMoreButtonProps={{ className: \"min-w-full\" }}\n tagularProps={{\n location: TAGULAR_LOCATIONS.STICK,\n }}\n buttonProps={{\n className: \"w-full max-w-full min-w-full mt-0 mb-0\",\n ...applyProps?.buttonProps,\n }}\n {...applyProps}\n />\n </div>\n )}\n </section>\n </li>\n ))}\n </ul>\n </ContentContainer>\n </section>\n );\n};\n\nBannerApplyCompare.propTypes = bannerApplyBannerComparePropTypes;\n\nexport default BannerApplyCompare;\n","import AccordionBenefitsGrid from \"@common/AccordionBenefitsGrid\";\nimport ConditionalWrapper from \"@common/ConditionalWrapper\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport getBenefitList from \"@utils/contentful/get-benefit-list\";\nimport getField from \"@utils/contentful/get-field\";\nimport getMeta from \"@utils/contentful/get-meta\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport PropTypes from \"prop-types\";\nimport { useCallback } from \"react\";\n\nconst BenefitsAccordionPropTypes = {\n sectionId: PropTypes.string,\n accordionButtonClassName: PropTypes.string,\n contentClassName: PropTypes.string,\n titleProps: PropTypes.shape(CUSTOM_PROP_TYPES.TITLE),\n showContentContainer: PropTypes.bool, // Defaults to true\n expandAccordion: PropTypes.bool, // Defaults to false\n tagularProps: PropTypes.object,\n};\n\n/**\n * Component: BenefitsAccordion\n */\nconst BenefitsAccordion = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_ACCORDION_BENEFITS,\n accordionButtonClassName,\n contentClassName,\n titleProps,\n showContentContainer = true,\n expandAccordion = false,\n tagularProps,\n ...props\n}) => {\n const { [sectionId]: accordionBenefits } = usePageSettings();\n const primaryCard = usePrimaryCard(accordionBenefits?.card);\n const section = useSection(sectionId);\n const sectionBenefitList = getBenefitList(section, primaryCard?.id);\n const meta = getMeta(section, { sectionBenefitList, primaryCard });\n\n const handleTagularEvent = ({ isExpanded }) => {\n const currentTagularActionOutcome = isExpanded\n ? TAGULAR_ACTION_OUTCOMES.DROPDOWN_CLOSED\n : TAGULAR_ACTION_OUTCOMES.DROPDOWN_OPENED;\n\n fireElementClicked({\n actionOutcome: currentTagularActionOutcome,\n elementType: TAGULAR_ELEMENT_TYPES.DROPDOWN,\n location: TAGULAR_LOCATIONS.FLIP_TILES_ACCORDION,\n position: `${meta?.tagular?.position}`,\n text: `${meta?.title}`,\n name: `${decodeHTMLEntities(\n getField(primaryCard, \"displayName\")\n )} Benefit Tiles`,\n });\n };\n\n const OptionalContentContainer = useCallback(\n (children) => <ContentContainer>{children}</ContentContainer>,\n []\n );\n\n return (\n <section {...props}>\n <ConditionalWrapper\n wrapper={OptionalContentContainer}\n condition={showContentContainer}\n >\n <AccordionBenefitsGrid\n sectionId={sectionId}\n accordionButtonClassName={accordionButtonClassName}\n contentClassName={contentClassName}\n initAccordionObject={{ onClick: handleTagularEvent }}\n titleProps={titleProps}\n expandAccordion={expandAccordion}\n tagularProps={tagularProps}\n />\n </ConditionalWrapper>\n </section>\n );\n};\n\nBenefitsAccordion.propTypes = BenefitsAccordionPropTypes;\n\nexport default BenefitsAccordion;\n","import { CM_LEGAL_LINK_POSITIONS } from \"@apps/components/common/CmCardBenefitRewards\";\nimport Title from \"@common/Title\";\nimport ContentContainer from \"@components/common/ContentContainer\";\nimport FilterChip, { FILTER_TYPE } from \"@components/common/FilterChip\";\nimport IconDownFilled from \"@components/icons/directional/IconDownFilled\";\nimport CardTileWithBenefitsTabs from \"@components/site/desktop/CardTileWithBenefitsTabs\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport {\n TAGULAR_ACTION_OUTCOMES,\n TAGULAR_ELEMENT_TYPES,\n TAGULAR_LOCATIONS,\n} from \"@constants/tagular\";\nimport useAppContext from \"@hooks/use-app-context\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport { useCards } from \"@providers/AmexCardsProvider\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useState } from \"react\";\n\n// PropTypes\nconst filterCardComparisonPropTypes = {\n sectionId: PropTypes.string, // PAGE_SETTINGS_KEYS.FILTER_CARD_COMPARISON\n initialActiveTab: PropTypes.string, // Defaults to \"Featured\"\n hasDropDownFilters: PropTypes.bool, // Defaults to False\n selectedCardMix: PropTypes.string, // Defaults to \"defaultCardMix\"\n};\n\n/**\n * Component: FilterCardComparison\n */\nconst FilterCardComparison = ({\n sectionId = PAGE_SETTINGS_KEYS.FILTER_CARD_COMPARISON,\n initialActiveTab = \"All Cards\", // Defaults to \"Featured\",\n hasDropDownFilters = false,\n selectedCardMix = \"defaultCardMix\", // Defaults to \"defaultCardMix\",\n headline = \"Compare Features\",\n ...props\n}) => {\n const { [sectionId]: filters } = usePageSettings();\n const { updateSettings } = usePageSettings();\n const { isAppLoading } = useAppContext();\n const [selectedFilter, setSelectedFilter] = useState(initialActiveTab);\n const cards = useCards(filters?.cards);\n const filteredCards = useCardsOnPage(\n filters[selectedCardMix][selectedFilter]\n );\n const selectedCard = usePrimaryCard();\n const filterTags = Object.keys(filters?.[selectedCardMix]);\n\n const updateFilter = (tag, index) => {\n setSelectedFilter(tag);\n updateSettings({\n [PAGE_SETTINGS_KEYS.CARDS_ON_PAGE]: filters[selectedCardMix][tag],\n });\n\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.SET_TAB,\n text: tag,\n location: \"Comparison Tiles\",\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n position: index + 1,\n });\n };\n\n useEffect(() => {\n updateFilter(initialActiveTab, 0);\n }, []);\n\n if (!cards || !cards.length) {\n return null;\n }\n\n return (\n <section\n className={\n isAppLoading ? \"hide-all-but-loaders\" : \"animate-base-site-fade-in\"\n }\n {...props}\n >\n <ContentContainer>\n {hasDropDownFilters ? (\n <div className=\"grid justify-center px-4 pt-32 pb-20\">\n <div className=\"flex justify-center items-center\">\n <div className=\"mr-20 w-1/2\">\n <Title as=\"h2\" title={3} className=\"mt-8 mb-20 font-medium\">\n Choose Credit Cards for\n </Title>\n </div>\n <div className=\"w-1/2\">\n <div className=\"relative\">\n <select\n aria-label=\"Filter By\"\n className=\"inline mx-0 mt-0 mb-8 w-full font-medium bg-white appearance-none text-amex-deepBlue border-grey-3\"\n data-test-container=\"dropdown\"\n value={selectedFilter}\n onChange={(event) => updateFilter(event.target.value)}\n >\n {filterTags.map((tag, index) => (\n <option\n value={tag}\n key={`${tag}-${index}`}\n data-test-container=\"dropdown-option\"\n >\n {tag}\n </option>\n ))}\n </select>\n <div className=\"absolute top-0 right-16 pt-12 pointer-events-none text-amex-brightBlue\">\n <IconDownFilled className=\"w-16\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div className=\"grid justify-start px-4 pt-36 pb-20\">\n <Title as=\"h2\" title={3} className=\"mb-20 font-medium\">\n {headline}\n </Title>\n <form className=\"flex flex-wrap gap-12\">\n {filterTags.map((tag, index) => (\n <FilterChip\n filterType={FILTER_TYPE.RADIO}\n label={tag}\n key={`${tag}-${index}`}\n id=\"storybook\"\n onChange={() => updateFilter(tag, index)}\n isChecked={selectedFilter.includes(tag)}\n />\n ))}\n </form>\n </div>\n )}\n {filteredCards.map((card, index) => (\n <div\n key={card.id}\n className=\"py-32 w-full ring-inset animate-common-fade-in\"\n id={`cm2--${card.id}`}\n >\n <CardTileWithBenefitsTabs\n key={card.id}\n sectionId={sectionId}\n primaryCard={card}\n secondaryCard={selectedCard}\n hasTravelBenefits={false}\n showOffer\n showApplyNow\n tagularProps={{\n position: index + 1,\n location: TAGULAR_LOCATIONS.DESKTOP_COMPARE_FILTER,\n }}\n legalLinkPosition={CM_LEGAL_LINK_POSITIONS.ABOVE}\n />\n </div>\n ))}\n </ContentContainer>\n </section>\n );\n};\n\nFilterCardComparison.propTypes = filterCardComparisonPropTypes;\n\nexport default FilterCardComparison;\n","import AllProvidersWrapper from \"@common/AllProvidersWrapper\";\nimport { BANNER_POSITION } from \"@common/FixedBannerObserver\";\nimport Loading from \"@common/Loading\";\nimport PlacementHeroTripleWithBanner from \"@components/placements/site/desktop/PlacementHeroTripleWithBanner\";\nimport BannerSkinnyCards from \"@components/site/desktop/BannerSkinnyCards\";\nimport DesktopLayout from \"@layouts/DesktopLayout\";\nimport {\n getContentfulCards,\n getContentfulSections,\n} from \"@utils/contentful/process-data\";\nimport { ElementInView } from \"@utils/element-in-view\";\nimport dynamic from \"next/dynamic\";\nimport { PAGE_CONTENT, PAGE_SETTINGS } from \"./constants\";\n\nconst DynamicFixedBannerObserver = dynamic(\n () => import(\"@common/FixedBannerObserver\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\nconst DynamicAccordionCardComparison = dynamic(\n () => import(\"@components/site/desktop/AccordionCardComparison\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\nconst DynamicCardLegalIframes = dynamic(\n () => import(\"@common/CardLegalIframes\"),\n {\n ssr: false,\n loading: () => <Loading />,\n }\n);\n\nexport const MultiFiltersPageContent = () => (\n <>\n <PlacementHeroTripleWithBanner\n offerProps={{\n className: \"h-full flex flex-col\",\n offerProps: { className: \"mb-auto\" },\n }}\n />\n <ElementInView timed>\n {(isInView) =>\n isInView && (\n <DynamicFixedBannerObserver\n bannerPosition={BANNER_POSITION.TOP}\n bannerContent={BannerSkinnyCards}\n >\n <ElementInView timed>\n {(childIsInView) =>\n childIsInView && <DynamicAccordionCardComparison />\n }\n </ElementInView>\n </DynamicFixedBannerObserver>\n )\n }\n </ElementInView>\n <ElementInView timed>\n {(isInView) => isInView && <DynamicCardLegalIframes />}\n </ElementInView>\n </>\n);\n\n/**\n * Page: /d/multi-filters\n */\nconst Page = ({ settings, cards, sections }) => (\n <AllProvidersWrapper settings={settings} cards={cards} sections={sections}>\n <DesktopLayout>\n <MultiFiltersPageContent />\n </DesktopLayout>\n </AllProvidersWrapper>\n);\n\nexport const getStaticProps = async () => {\n const sections = await getContentfulSections(PAGE_CONTENT);\n const cards = await getContentfulCards();\n\n return {\n props: {\n sections,\n cards,\n settings: PAGE_SETTINGS,\n },\n };\n};\n\nexport default Page;\n","import DangerSet from \"@common/DangerSet\";\nimport Modal from \"@common/Modal\";\nimport { MODAL_SIZE_KEYS } from \"@common/Modal/constants\";\nimport Title from \"@common/Title\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport { PAGE_SETTINGS_KEYS } from \"@constants/page-settings-keys\";\nimport useContent from \"@hooks/use-content\";\nimport usePrimaryCard from \"@hooks/use-primary-card\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nexport const termsModalPropTypes = {\n sectionId: PropTypes.string, // Default: PAGE_SETTINGS_KEYS.DESKTOP_TERMS_MODAL\n titleProps: PropTypes.shape({ ...CUSTOM_PROP_TYPES.TITLE }),\n bodyProps: PropTypes.object,\n handleClose: PropTypes.func.isRequired,\n isEnabled: PropTypes.bool,\n};\n\n/**\n * Component: TermsModal\n */\nconst TermsModal = ({\n sectionId = PAGE_SETTINGS_KEYS.DESKTOP_TERMS_MODAL,\n handleClose,\n isEnabled = false,\n titleProps,\n bodyProps,\n ...props\n}) => {\n const primaryCard = usePrimaryCard();\n const content = useContent();\n const benefits = getBenefits(content, sectionId, primaryCard?.id);\n\n return (\n <Modal\n isEnabled={isEnabled}\n handleClose={handleClose}\n data-contentful-section-id={sectionId}\n size={MODAL_SIZE_KEYS.CONTENT}\n {...props}\n >\n <Modal.Header className=\"pb-16\">\n {benefits?.map((benefit, index) => (\n <DangerSet\n key={index}\n html={benefit?.title}\n as={Title}\n asProps={{ title: 3, as: \"h2\" }}\n {...titleProps}\n className={cn(\"font-medium text-black\", titleProps?.className)}\n />\n ))}\n </Modal.Header>\n <Modal.Body className=\"pb-40\">\n {benefits?.map((benefit, index) => (\n <DangerSet\n key={index}\n html={benefit?.body}\n {...bodyProps}\n className={cn(\"text-black\", bodyProps?.className)}\n />\n ))}\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default TermsModal;\n","import Button from \"@common/Button\";\nimport TermsModal, {\n termsModalPropTypes,\n} from \"@components/site/desktop/TermsModal/index\";\nimport useDialog, { dialogPropTypes } from \"@hooks/use-dialog\";\nimport buttonKeyDownClick from \"@utils/button-key-down-click\";\nimport omit from \"lodash/omit\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nexport const buttonTermsModalPropTypes = {\n cardBenefitsSectionIds: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node.isRequired,\n initDialogObject: dialogPropTypes.initDialogObject,\n modalProps: PropTypes.shape({\n ...omit(termsModalPropTypes, [\"handleClose\", \"isEnabled\", \"children\"]),\n }),\n as: PropTypes.oneOf([Button, \"a\"]),\n};\n\n/**\n * Component: ButtonTermsModal\n */\nconst ButtonTermsModal = ({\n children,\n initialDialogObject,\n modalProps,\n as: Tag = \"a\",\n ...props\n}) => {\n const dialog = useDialog(initialDialogObject);\n\n if (!children) {\n return null;\n }\n\n return (\n <>\n {/* Trigger Button */}\n <Tag\n role=\"button\"\n href={Tag === \"a\" ? \"#\" : undefined}\n onKeyDown={buttonKeyDownClick}\n tabIndex={0}\n data-test-button=\"terms-modal-button\"\n {...props}\n {...dialog.getTriggerProps()}\n >\n {children}\n </Tag>\n {/* Target Modal */}\n <TermsModal\n handleClose={() => dialog.setIsVisible(false)}\n {...modalProps}\n isEnabled={dialog.isVisible}\n />\n </>\n );\n};\n\nButtonTermsModal.propTypes = buttonTermsModalPropTypes;\n\nexport default ButtonTermsModal;\n","import ButtonTermsModal from \"@site/desktop/ButtonTermsModal\";\nimport PropTypes from \"prop-types\";\n\nconst injectButtonPropTypes = {\n text: PropTypes.string.isRequired,\n};\n\nconst textToModalButton = {\n \"{{Terms Apply}}\": ButtonTermsModal,\n};\n\n/**\n * Utility: injectButton\n *\n * Injects modal button fields in between string content. Currently only supports ButtonTermsModal\n */\nconst injectButton = (text = {}) => {\n if (!text) return null;\n\n const contentToReplace = text.match(/{{(.*?)}}/gi);\n const index = text.indexOf(contentToReplace);\n if (index !== -1) {\n const beforeText = text.slice(0, index);\n const afterText = text.slice(index + contentToReplace[0].length);\n const ModalButton = textToModalButton[contentToReplace[0]];\n const buttonText = contentToReplace[0].replace(/{{|}}/gi, \"\");\n return (\n <div>\n {beforeText}\n <ModalButton label={buttonText}>{buttonText}</ModalButton>\n {afterText}\n </div>\n );\n }\n return null;\n};\n\ninjectButton.propTypes = injectButtonPropTypes;\n\nexport default injectButton;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tilesSlider\":\"styles_tilesSlider__03Gt6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tile\":\"styles_tile__I8BCs\",\"tileBody\":\"styles_tileBody__I_TkY\",\"active\":\"styles_active__ANJTj\",\"hiddenBackface\":\"styles_hiddenBackface__9CPWB\",\"transformTileBackside\":\"styles_transformTileBackside__IJzBx\"};"],"names":["AssetBannerEmphasizedMultipliersProps","sectionId","PropTypes","Object","values","ASSET_BANNER_EMPHASIZED_MULTIPLIERS_KEYS","theme","ASSET_BANNER_EMPHASIZED_MULTIPLIERS_THEMES","isMultiplierOnSeparateLine","tilesHaveShadow","showCircleIcons","titleProps","headlineProps","tileTitleProps","responsiveProps","propTypes","__webpack_exports__","content","MULTIPLIERS_PLAT","LIGHT","tileBodyProps","props","param","assetSettings","ASSET_SETTINGS","ref","useRef","useElementViewed","elementType","TAGULAR_LOCATIONS","BANNER","location","EMPHASIZED_MULTIPLIERS_ASSET","name","position","text","headline","matchHeight","useCallback","matchHeightByAttribute","useEffect","window","addEventListener","removeEventListener","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","section","className","cn","DARK","ContentContainer","jsxs","div","DangerSet","as","Title","asProps","html","mcn","tiles","map","react__WEBPACK_IMPORTED_MODULE_1__","createElement","key","tile","data-match-height","IconByFilename","filename","icon","multiplier","title","body","ASSET_KEY","cardName","linkDesktop","linkMobile","bannerText","propTypesAssetBannerGoldCastle","AssetBannerGoldCastle","assetBannerGoldCastle","primaryCard","usePrimaryCard","AMEX_CNS_CARD_IDS","WHITE_GOLD","isMobileRender","usePageSettings","bannerRef","GOLD_CASTLE_BANNER","handleLinkClick","fireElementClicked","actionOutcome","TAGULAR_ACTION_OUTCOMES","LINK","TAGULAR_ELEMENT_TYPES","jsx_runtime","data-test-container","style","CardArt","card","variation","CARD_ART_VARIATIONS","RIGHT","concat","onClick","common_AssetBannerGoldCastle","barker","bgImage","propTypesAssetHeroBannerGambit","AssetHeroBannerGambit","heroBannerGambit","data-contentful-section-id","data-test-image","span","desktop_AssetHeroBannerGambit","accordionPropTypes","accordionButtonClassName","children","iconWithTextProps","iconWithTextPropTypes","initAccordionObject","useAccordionProptypes","tagularProps","CUSTOM_PROP_TYPES","TAGULAR_ELEMENT","Accordion","Icon","accordionObj","useAccordion","button","type","getAccordionTriggerProps","isExpanded","ACCORDION_CLOSE","ACCORDION_OPEN","ACCORDION","BUTTON","data-test-button","IconWithText","textProps","decodeHTMLEntities","IconDownFilled","getAccordionTargetProps","Z","accordionBenefitsGridPropTypes","contentClassName","TITLE","expandAccordion","omit","AccordionBenefitsGrid","accordionSettings","useSection","benefits","getBenefits","id","sectionBenefitList","getBenefitList","meta","getMeta","ContentfulProps","initIsExpanded","ul","benefit","index","li","fields","barkerClassName","amexImagePropTypes","alt","isRequired","height","showSkeleton","skeletonHeight","skeletonWidth","src","width","AmexImage","isAppLoading","useAppContext","svg","viewBox","data-component","role","maxWidth","maxHeight","minHeight","rect","x","y","rx","ry","Image","data-test-nextjs-image","flipTilePropsTypes","dialogGroupObj","dialogPropTypes","initDialogObject","frontIconStyles","tileFrontInnerBodyClassName","tileContainerInnerBodyClassName","disableFlip","FlipTile","frontButtonProps","setIsVisible","isVisible","dialog","useDialog","handleModalToggle","length","getFlipTileSideComponent","childrenKey","styles","getTriggerProps","TILE_FLIP","FLIP_TILES","triggerRef","aria-hidden","IconPlusCircle","IconPlusCircleFilled","FocusOn","enabled","onEscapeKey","onClickOutside","getTargetProps","invisible","aria-label","IconMinusCircle","IconMinusCircleFilled","safeSetPropTypes","SafeSet","Tag","allowedClasses","split","filter","startsWith","join","fill","xmlns","data-testid","path","fillRule","clipRule","d","PlacementHeroTriplePropTypes","PLACEMENT","AssetBannerDontLiveWithoutIt","React","__webpack_require__","e","then","bind","AssetBannerGambitImage","Promise","resolve","AssetBannerAmexExperiences","AssetHeroTripleGambit","all","AssetHeroFusion","AssetHeroFusionHilton","AssetHeroFusionMultAbove","AssetHeroProductFocusedFusion","AssetBannerTakeoffDropdown","AssetBannerLTOReward","AssetBannerTPGHiltonAspireCTA","AssetBannerTPGHiltonAspire","PlacementHeroTriple","placementControl","ControlComponent","Fragment","placeholder","Placeholder","heightClass","placementName","PLACEMENT_KEYS","D_HERO_TRIPLE","PlacementAbove","PlacementWrapper","Asset","lazy","cards","PLATINUM","GOLD","GREEN","initActiveTabIndex","goldTooltip","BLUE_CASH_EVERYDAY","BLUE_CASH_PREFERRED","AssetExpandableHeroDelta","PlacementBelow","cardId","HILTON_CNS_CARD_IDS","SURPASS","HONORS","ASSET_BANNER_GAMBIT_IMAGE_THEME","PAGE_SETTINGS","PAGE_SETTINGS_KEYS","CARDS_ON_PAGE","DELTA_CNS_CARD_IDS","RESERVE","ASPIRE","MARRIOTT_CNS_CARD_IDS","BONVOY","BEVY","BLUE","BANNER_EXPLORE_CREDIT_CARDS","FILTER_CARD_COMPARISON","defaultCardMix","Featured","Travel","Rewards","CM_BENEFITS","CM_REWARDS","desktop_AssetCompareCardsPage","CmBenefits","CmRewards","PageSettingsProvider","AmexContentProvider","sections","IFrameProvider","FilterCardComparison","DESKTOP_HERO_TRIPLE","image","filters","controls","settings","defaultIndex","DESKTOP_ACCORDION_CARD_COMPARISON","rewardsTitle","benefitsTitle","benefitsSectionIds","BENEFITS_SECTION_IDS","DESKTOP_TRIPLE_FILTER_EARNING_REWARDS","DynamicFixedBannerObserver","dynamic","ssr","loading","Loading","DynamicAccordionCardComparison","DynamicCardLegalIframes","DynamicAssetBannerDontLiveWithoutIt","desktop_AssetFiltersPage","HeroTriple","TripleFilterCarRental","TripleFilterDining","TripleFilterEarningRewards","TripleFilterEntertainment","TripleFilterGroceries","TripleFilterLounge","TripleFilterRideshare","TripleFilterShopping","TripleFilterTravel","PlacementHeroTripleWithBanner","ElementInView","timed","isInView","metadata","baseAssetName","assetHeadline","imageFileName1","imageAltText1","title1","body1","imageFileName2","imageAltText2","title2","body2","imageFileName3","imageAltText3","title3","body3","bannerPosition","BANNER_POSITION","TOP","bannerContent","BannerSkinnyCards","CCT_V2","selectedCards","route","CCT_ROUTES","ALL","lastRoute","expandedCard","DynamicPlacementBubbleGrid","DynamicPlacementCardComparisonTool","DynamicBannerBusinessLearnMore","DynamicPlacementGambitBanner","DynamicAssetFocusGrid","AssetContent","withPadding","heroProps","card1","card2","card3","bgCard1","bgCard2","bgCard3","activeCard","goldCardHasTooltip","hasMultipliersAbove","disableAllButLoaders","showBoostBenefits","desktop_AssetFullPageAmexExp1306","BubbleGreatFor","BubbleGridBenefits","BubbleGridBoost","BubbleGridHero","BubbleGridRewards","CctV2AdditionalBenefits","CctV2Benefits","CctV2GreatFor","CctV2Rewards","FocusGridBenefits","FocusGridRewards","FocusGrid","FullModalCreditsAwards","FullModalEntertainment","FullModalMemberValue","FullModalShop","FullModalTravel","FULL_VIEW_MODAL_BENEFITS_PAGE_CONTENT","FULL_MODAL_TRAVEL","FULL_MODAL_SHOP","FULL_MODAL_ENTERTAINMENT","FULL_MODAL_CREDITS_AWARDS","FULL_MODAL_MEMBER_VALUE","FEATURED_FILING_CABINET_PAGE_CONTENT","FILING_CABINET_REWARDS","FILING_CABINET_BOOST","FILING_CABINET_BENEFITS","FILING_CABINET_REWARDS_ALT","FILING_CABINET_BENEFITS_ALT","FOCUS_GRID_PAGE_CONTENT","FOCUS_GRID","FOCUS_GRID_BENEFITS","FOCUS_GRID_REWARDS","BUBBLE_GREAT_FOR","HERO_GREAT_FOR","HERO_FILING_CABINET","CARD_COMPARISON_TOOL_PAGE_SETTINGS_KEYS","CONTENTFUL_CONTENT","platinumSectionId","goldSectionId","bceSectionId","isProductFocusedEditable","hasGoldTpgBanner","desktop_AssetFullPageAmexExp1320","AssetFullPageCompareCardsWithGoldBanner","initialActiveTab","CardLegalIframes","CardInfo","DESKTOP_COMPARE_GRID_WITH_ACCORDION","compareGridUUID","minWidth","overrideCards","cardInfo","useCardsOnPage","useContent","gridSectionUUID","useId","BOTTOM_OF_GRID","HORIZONTAL_SCROLL","getSection","benefitList","greatForText","featuredHeading","superlativeBarker","getField","iconFileName","data-test-card-container","data-test-grid","Tooltip","iconPlacement","ICON_PLACEMENTS","BEFORE_CONTENT","PLATINUM_CARD_TOOLTIP","sourceSizes","STACKED","GOLD_CARD_TOOLTIP","CardArtStacker","cardIds","ROSE_GOLD","directionOrigin","CARD_ART_STACKER_ORIGINS","BOTTOM_LEFT","DEFAULT","relatedCards","Offer","alignBarkerCenter","alignCenter","Apply","buttonProps","learnMoreButtonProps","LIST_ACCORDION","labelPrefix","aprProps","showLearnMoreButton","showApr","legalLinksProps","FeaturedBenefitsModal","goldBenefits","platinumBenefits","isOpen","onClose","modalContent","aggregateContent","Modal","isEnabled","handleClose","size","MODAL_SIZE_KEYS","CONTENT","showClose","labelSuffix","consumerDisplayName","Body","slice","Math","ceil","modalSection","FeaturedBenefits","DESKTOP_CARDS_FEATURED_BENEFITS","DESKTOP_CARDS_MODAL_FULL_BENEFITS","selectedCard","setSelectedCard","useState","allCards","aggregateSection","DESKTOP_CARDS_AGGREGATE_CLAIM","includes","FilingCabinetListItem","removeShadow","useGreyBorder","filingLabelProps","benefitContentClassName","Button","BUTTON_VARIATIONS","SECONDARY","AmexLink","href","getCardUrl","onClickCapture","Boolean","HowYouEarn","DESKTOP_CARDS_HOW_YOU_EARN","howYouEarnSection","getCardSpecificBenefits","sectionIdentifiers","preview","data-test-card","hasMetaOverrideTheme","ConfiguredBanner","BannerApplyCompare","applyProps","showLegal","showStackedGoldCard","AmericanExpressGoldPlatinumDualCompareContent","columnMinWidth","AssetBannerGambitCallout","FixedBannerObserver","desktop_AssetFullPageDesktopDualCompare","desktopCardFeatureBenefits","desktopHowYouEarn","modalBenefits","aggregateClaims","desktopCompareGrid","FOCUS_HERO_THEMES","freeze","ROUNDED_BLUE","focusHeroBoxesPropTypes","ALL_CARDS","bodyProps","iconProps","incomingDisclaimer","disclaimerProps","FocusHeroBoxes","FOCUS_HERO","focusHero","focusHeroSections","keys","rows","Array","from","_","i","rowBenefits","rowIndex","barkerText","benefitDisclaimer","tilesPropTypes","showImage","showTitle","showBody","showBarker","tilesTitle","showTilesTitle","showTilesSubtitle","tilesSubtitle","showImageText","imageProps","imageTextProps","barkerProps","tilesTitleProps","tilesSubtitleProps","sliderProps","BenefitTiles","STATIC_TILES","defaultSliderConfig","slidesToShow","slidesToScroll","arrows","dots","infinite","centerMode","variableWidth","responsive","breakpoint","renderTile","imageFileName","altText","imageText","stringToBoolean","modalButton","injectButton","logos","img","logo","Slider","sliderControls","sliderName","SLIDER_THEMES","dotNavProps","showNavArrows","containerClassName","StaticBenefitTilesPropTypes","accordionSectionIds","showAccordions","BenefitCarousel","DESKTOP_FLIP_TILES_BENEFITS","DESKTOP_ACCORDION_BENEFITS_DINING","DESKTOP_ACCORDION_BENEFITS_TRAVEL","DESKTOP_ACCORDION_BENEFITS_SHOPPING","data","listOfImages","listOfLogos","forEach","BenefitsAccordion","accordionSectionId","desktop_HeroSingleLeftStickyBanner","DESKTOP_HERO_GOLD_HYBRID","singleHero","useMemo","data-test-sticky","iconTheme","TOOLTIP_THEMES","tooltipPlacement","TOOLTIP_PLACEMENTS","BOTTOM","asInlineTooltip","showBnplPotApr","bnplPotAprProps","HERO","PRIMARY_CARD","desktop_AssetFullPageGoldCardLeftSticky","scrollPosition","setScrollPosition","contentRef","handleScroll","mainContentHeight","document","documentElement","scrollHeight","innerHeight","maxScroll","max","bannerContentHeight","current","min","scrollY","passive","flipTileBenefits","diningAccordionBeneftis","travelAccordionBenefits","shoppingAccordionBenefits","transform","HeroSingleLeftStickyBanner","AggregateValueBubble","ASSET_FUSION_HERO_CONTENT","backgroundImage","statementCredit","propTypesAssetHeroFusionFullBackground","AssetHeroFusionFullBackground","disableSkeletons","field","propTypesAssetHeroFusionAndCardTileWithBenefitsTabs","AssetHeroFusionAndCardTileWithBenefitsTabs","indexOf","pageCards","tabs","useTabs","tabListLabel","getTabListProps","tabListRef","onKeyDown","handleTabItemKeyDown","getTabProps","SET_TAB","DESKTOP_BRILLIANT_NAV_HERO","skeletonCardWidth","skeletonClasses","activeTabIndex","getTabPanelProps","CardTileWithBenefitsTabs","hasTravelBenefits","showOffer","showApplyNow","iconsAreBold","DESKTOP_COMPARE_FILTER","legalLinkPosition","CM_LEGAL_LINK_POSITIONS","ABOVE","cardArtProps","AssetFullPageHeroFusionWithCardTileAndGoldBanner","updateSettings","stickyWrapperPropTypes","stickyComponent","stickyComponentProps","classNameProps","stickyClassName","childrenClassName","childrenContainer","StickyWrapper","StickyComponent","wrapperRef","scrollRatio","wrapperBounds","getBoundingClientRect","top","bottom","hidden","desktop_SideBarHero","offerTitleProps","offer","getOffer","AnnualFee","data-card-id","websiteCardId","LegalLinks","data-test-pqo","propTypesAssetStickySidebarHero","AssetStickySidebarHero","SideBarHero","benefitTilesSliderPropTypes","slides","BenefitTilesSlider","fullSlideMode","slideBenefitsSections","slideBenefits","slide","imageName","injectOffer","imageFilename","desktop_AssetHeroCarousel","tilesBenefitsSectionID","carouselSlidesBenefitsSectionID","tilesBenefitsSections","tilesBenefits","AssetDesktopBannerUpsellTabbed","AssetFullPageLeftStickyBannerBlueEveryday","useCard","TILES_BCE_CASHBACK","CAROUSEL_BCE_CASHBACK_SLIDES","bannerUpsellTabbedCustomStyles","innerContentContainer","carouselBCECashbackSlides","tilesBCECashBack","showFee","AssetHeroCarousel","AssetTabbedBenefitPropTypes","AssetTabbedBenefitInner","selectedTab","selectedTabIndex","setSelectedTabIndex","tabName","iconStates","selectedTabImage","handleChangeTab","tab","TAB","sys","data-test-toggle","active","inactive","AssetTabbedBenefit","travelBenefit","everydayBenefit","desktop_FlipTilesBenefitsCombined","flipTilesBenefitsFrontSectionId","flipTilesBenefitsBackSectionId","gridContainerClassName","flipTilesBenefitsFrontSections","flipTilesBenefitsBackSections","benefitsFront","benefitsBack","combinedBenefits","front","back","propAssetFullPageLeftStickyFusionHero","cardsToAsset","AssetLeftStickyGold","DESKTOP_FLIP_TILES_BENEFITS_FRONT","DESKTOP_FLIP_TILES_BENEFITS_BACK","flipTilesBenefitsFront","flipTilesBenefitsBack","AssetBannerEmphasizedMultipliers","FlipTilesBenefitsCombined","AssetLeftStickyBCE","AssetFullPageLeftStickyFusionHero","aria-selected","aria-controls","DESKTOP_AMEX_LEFT_STICKY_FUSION_HERO","aria-labelledby","ASSET_HERO_PLAT_ROKU_EXPERIENCE_KEYS","D_HERO_PLAT_BOAT","cardGifImage","whiteTitle","desktop_AssetHeroPlatRokuExperience","useIntersectionObserver","subTitleProps","offerProps","cardProps","cardArtRef","videoRef","videoState","setVideoState","loaded","playing","ended","threshold","isIntersecting","loadVideo","video","onloadeddata","onerror","console","error","playTimeoutId","setTimeout","play","catch","clearTimeout","muted","playsInline","onPlay","prev","onEnded","source","titleTheme","OFFER_TITLE_THEMES","CENTURION_LOUNGE_CONTENT","airportNames","offerings","desktop_AssetStaticCenturionLounge","p","airport","offering","Nav_Links","label","sectionRef","IconStates","ICON_KEYS","OFFERS_DESKTOP","OFFERS_DESKTOP_FILLED","REWARDS","REWARDS_FILLED","CARD_BENEFIT","CARD_BENEFIT_FILLED","LOUNGE","LOUNGE_FILLED","desktop_AssetStickyNavPlatRokuExperience","navItems","activeSection","setActiveSection","item","element","getElementById","offsetTop","handleScrollTo","preventDefault","STICKY_NAV","offsetPosition","elementPosition","scrollTo","behavior","BUTTON_THEMES","nav","a","Content","AssetStickyNavPlatRokuExperience","headerBoxProps","containerProps","closeButtonClassName","titleContainerProps","AssetHeroPlatRokuExperience","AssetStaticCenturionLounge","desktop_AssetFullPageRokuExperience","PlacementHeroSingle","HERO_LOUNGE","loungeLocation","DESKTOP_LOUNGE_CARDS_TABS_BANNER","DESKTOP_LOUNGE_COMPARISON_GRID","DynamicLoungeComparisonGrid","DynamicDayInTheLoungeTiles","DynamicCenturionLoungeTabs","DynamicLoungeCardsTabsBanner","DynamicLoungeGlobalMap","HeroLounge","desktop_AssetFullPageTravel","ModalLoungeDetails","LoungeCardsTabsBanner","showRationalValueClaim","AGGREGATE_CLAIMS","DESKTOP_BENEFITS_MODAL_VALUE_CLAIM_EVERYDAY","CARD_BENEFITS_MODAL_PAGE_CONTENT","desktop_AssetMultiFiltersPage","PentagonHeroSingleHybridValueClaim","PentagonBenefitsModalEverydayValue","PentagonBenefitsModalFlightsHotels","PentagonBenefitsModalLuxuryTravel","MultiFiltersPageContent","PlacementPagePropTypes","PlacementPage","D_PAGE_REPLACEMENT","AssetMultiFiltersPage","AssetFullPageGoldCardLeftSticky","AssetFiltersPage","AssetCompareCardsPage","AssetFullPageAmexExp1306","AssetFullPageAmexExp1320","AssetFullPageTravel","AssetFullPageRokuExperience","AssetFullPageLeftLeftStickyBannerBlueEveryday","AssetFullPageDesktopDualCompare","desktop_PlacementPage","QAE_TEST_IDS","SECTION","bannerApplyBannerComparePropTypes","BANNER_APPLY_COMPARE","pageSettings","bannerApply","renderCardArt","STICK","desktop_BannerApplyCompare","BenefitsAccordionPropTypes","showContentContainer","DESKTOP_ACCORDION_BENEFITS","accordionBenefits","OptionalContentContainer","ConditionalWrapper","wrapper","condition","currentTagularActionOutcome","DROPDOWN_CLOSED","DROPDOWN_OPENED","DROPDOWN","FLIP_TILES_ACCORDION","tagular","filterCardComparisonPropTypes","hasDropDownFilters","selectedCardMix","selectedFilter","setSelectedFilter","useCards","filteredCards","filterTags","updateFilter","tag","select","value","onChange","event","target","option","form","FilterChip","filterType","FILTER_TYPE","RADIO","isChecked","secondaryCard","childIsInView","AllProvidersWrapper","DesktopLayout","termsModalPropTypes","desktop_TermsModal","DESKTOP_TERMS_MODAL","Header","buttonTermsModalPropTypes","cardBenefitsSectionIds","modalProps","ButtonTermsModal","initialDialogObject","undefined","buttonKeyDownClick","tabIndex","TermsModal","injectButtonPropTypes","textToModalButton","contentToReplace","match","beforeText","afterText","ModalButton","buttonText","replace","inject_button","module","exports"],"sourceRoot":""}