{"version":3,"file":"static/chunks/34710-9855d193e382e6e9.js","mappings":"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","sources":["webpack://_N_E/./components/common/DangerSetInjectOffer/index.jsx","webpack://_N_E/./components/common/FilingLabel/index.jsx","webpack://_N_E/./components/icons/directional/IconPlusCircle.jsx","webpack://_N_E/./components/site/desktop/ButtonFullBenefits/index.jsx","webpack://_N_E/./components/site/desktop/FillingCabinetModalButton/index.jsx","webpack://_N_E/./components/site/desktop/FilingCabinetList/index.jsx","webpack://_N_E/./components/site/desktop/FilingCabinetListItem/index.jsx","webpack://_N_E/./utils/inject-offer.js","webpack://_N_E/./components/site/desktop/FillingCabinetModalButton/styles.module.scss"],"sourcesContent":["import DangerSet from \"@common/DangerSet\";\nimport CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport injectOffer from \"@utils/inject-offer\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\n// PropTypes\nconst dangerSetPropTypes = {\n html: PropTypes.string, // Used as __html value\n offer: CUSTOM_PROP_TYPES.CARD_OFFER,\n sectionId: PropTypes.string,\n addOfferTitleClass: PropTypes.bool, // Defaults to true\n addDecodedAriaLabel: PropTypes.bool, // Defaults to false\n additionalClassName: PropTypes.string,\n};\n\n/**\n * Component: DangerSetInjectOffer\n *\n * Builds a dangerouslySetInnerHTML HTMLElement that injects an offer.\n *\n * Note: Only addDecodedAriaLabel on elements that have semantic meaning.\n * paragraph and span tags should not use addDecodedArialLabel but rather\n * decodeInjectOffer() on proper elements wrapping the span/paragraph. Not\n * all screenreaders will support aria-labels on p and span tags.\n */\nconst DangerSetInjectOffer = ({\n html,\n offer,\n sectionId,\n addOfferTitleClass = true,\n addDecodedAriaLabel = false,\n ...props\n}) => {\n if (!html) {\n return null;\n }\n\n const injectedOffer = injectOffer(html, offer, {\n sectionId,\n });\n\n let offerTitleClassName = \"\";\n if (injectedOffer !== html && addOfferTitleClass) {\n offerTitleClassName = cn(\n offer?.idOffer ? \"offer-title--pzn-default\" : \"offer-title--default\",\n props?.className\n );\n }\n\n // TODO: Revisit aria-label with an offer - this is problematic semantically most everywhere and will need rework to inject offer properly.\n /**\n * Bypass decodeInjectOffer()\n *\n * Note: This regex should match logic that of decodeInjectOffer();\n */\n const ariaLabelObject = addDecodedAriaLabel\n ? {\n \"aria-label\": decodeHTMLEntities(injectedOffer).replace(\n /(\\$?\\d+,?\\d+)\\s(\\$?\\d+,?\\d+)/g,\n \"$2 (was: $1)\"\n ),\n }\n : {};\n\n return (\n \n );\n};\n\nDangerSetInjectOffer.propTypes = dangerSetPropTypes;\n\nexport default DangerSetInjectOffer;\n","import cn from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nexport const FILING_LABEL_POSITIONS = Object.freeze({\n LEFT: \"left\",\n RIGHT: \"right\",\n});\n\nexport const FILING_LABEL_THEMES = Object.freeze({\n BRIGHT_BLUE: \"bright blue\",\n DEEP_BLUE: \"deep blue\",\n LIGHT_BLUE: \"light blue\",\n});\n\nexport const filingLabelPropTypes = {\n children: PropTypes.node.isRequired,\n position: PropTypes.oneOf(Object.values(FILING_LABEL_POSITIONS)), // FILING_LABEL_POSITIONS.LEFT,\n theme: PropTypes.oneOf(Object.values(FILING_LABEL_THEMES)), // FILING_LABEL_THEMES.BRIGHT_BLUE\n};\n\n/**\n * Component: FilingLabel\n */\nconst FilingLabel = ({\n children,\n position = FILING_LABEL_POSITIONS.LEFT,\n theme = FILING_LABEL_THEMES.BRIGHT_BLUE,\n ...props\n}) => {\n const classesBasedOnTheme = cn(\n {\n \"bg-amex-deepBlue text-white\": theme === FILING_LABEL_THEMES.DEEP_BLUE,\n },\n {\n \"bg-amex-brightBlue text-white\":\n theme === FILING_LABEL_THEMES.BRIGHT_BLUE,\n },\n {\n \"bg-amex-lightBlue text-amex-deepBlue\":\n theme === FILING_LABEL_THEMES.LIGHT_BLUE,\n }\n );\n\n return (\n \n {children}\n \n );\n};\n\nFilingLabel.propTypes = filingLabelPropTypes;\n\nexport default FilingLabel;\n","const IconPlusCircle = (props) => (\n \n \n \n);\n\nexport default IconPlusCircle;\n","import Button from \"@common/Button\";\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 useDialog, { dialogPropTypes } from \"@hooks/use-dialog\";\nimport buttonKeyDownClick from \"@utils/button-key-down-click\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport omit from \"lodash/omit\";\nimport PropTypes from \"prop-types\";\nimport ModalFullBenefits, {\n modalFullBenefitsPropTypes,\n} from \"../ModalFullBenefits\";\n\n// PropTypes\nexport const buttonFullBenefitsPropTypes = {\n children: PropTypes.node.isRequired,\n initDialogObject: dialogPropTypes.initDialogObject,\n modalProps: PropTypes.shape({\n ...omit(modalFullBenefitsPropTypes, [\"handleClose\", \"isEnabled\"]),\n }),\n as: PropTypes.oneOf([Button, \"a\"]),\n tagularProps: CUSTOM_PROP_TYPES.TAGULAR_ELEMENT,\n};\n\n/**\n * Component: ButtonFullBenefits\n */\nconst ButtonFullBenefits = ({\n children,\n initDialogObject,\n modalProps,\n as: Tag = Button,\n tagularProps,\n ...props\n}) => {\n const dialog = useDialog(initDialogObject);\n\n if (!children) {\n return null;\n }\n\n return (\n <>\n {/* Trigger Button */}\n \n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.OPEN_MODAL,\n elementType: TAGULAR_ELEMENT_TYPES.BUTTON,\n location: TAGULAR_LOCATIONS.BANNER,\n sectionId: props?.sectionId,\n text: \"View Benefits\",\n ...tagularProps,\n }),\n })}\n >\n {children}\n \n {/* Target Modal */}\n dialog.setIsVisible(false)}\n isEnabled={dialog.isVisible}\n {...dialog.getTargetProps()}\n {...modalProps}\n />\n \n );\n};\n\nButtonFullBenefits.propTypes = buttonFullBenefitsPropTypes;\n\nexport default ButtonFullBenefits;\n","import AmexLink from \"@common/AmexLink\";\nimport { BUTTON_VARIATIONS } from \"@common/Button\";\nimport IconPlusCircle from \"@components/icons/directional/IconPlusCircle\";\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 usePageSettings from \"@hooks/use-page-settings\";\nimport getField from \"@utils/contentful/get-field\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport getCardUrl from \"@utils/get-card-url\";\nimport fireElementClicked from \"@utils/tagular/fire-element-clicked\";\nimport cn from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport ButtonFullBenefits from \"../ButtonFullBenefits\";\nimport styles from \"./styles.module.scss\";\n\n// PropTypes\nexport const filingCabinetModalButtonPropTypes = {\n card: CUSTOM_PROP_TYPES.CARD,\n learnMoreProps: PropTypes.object,\n sectionId: PropTypes.string,\n buttonText: PropTypes.string, // Defaults to Benefit Details\n tagularProps: CUSTOM_PROP_TYPES.TAGULAR_ELEMENT,\n};\n\n/**\n * Component: FilingCabinetModalButton\n */\nconst FilingCabinetModalButton = ({\n card,\n learnMoreProps,\n sectionId,\n buttonText = \"Benefit Details\",\n tagularProps,\n ...props\n}) => {\n const { isMobileRender, isCardMemberRender } = usePageSettings();\n\n return (\n <>\n }\n aria-label={`Benefit Details for: ${decodeHTMLEntities(\n getField(card, \"displayName\", {\n sectionId,\n })\n )}`}\n data-test-button=\"benefit-details\"\n tagularProps={{\n text: buttonText,\n location: TAGULAR_LOCATIONS.BODY,\n name: decodeHTMLEntities(getField(card, \"displayName\", {})),\n ...tagularProps,\n }}\n {...props}\n >\n {buttonText}\n \n {\n fireElementClicked({\n actionOutcome: TAGULAR_ACTION_OUTCOMES.LINK,\n elementType: TAGULAR_ELEMENT_TYPES.LINK,\n text: \"Learn More\",\n sectionId,\n });\n }}\n className={cn(\n \"p-8 block text-grey-5 font-medium decoration-grey-5 hover:text-black\",\n learnMoreProps?.className\n )}\n >\n Learn More\n \n \n );\n};\n\nFilingCabinetModalButton.propTypes = filingCabinetModalButtonPropTypes;\n\nexport default FilingCabinetModalButton;\n","import ConditionalWrapper from \"@common/ConditionalWrapper\";\nimport ContentContainer from \"@common/ContentContainer\";\nimport Title from \"@common/Title\";\nimport useCardsOnPage from \"@hooks/use-cards-on-page\";\nimport usePageSettings from \"@hooks/use-page-settings\";\nimport { useSection } from \"@providers/AmexContentProvider\";\nimport FilingCabinetModalButton, {\n filingCabinetModalButtonPropTypes,\n} from \"@site/desktop/FillingCabinetModalButton\";\nimport getBenefits from \"@utils/contentful/get-benefits\";\nimport cn from \"classnames\";\nimport { isEmpty, omit } from \"lodash\";\nimport PropTypes from \"prop-types\";\nimport { useCallback, useMemo } from \"react\";\nimport FilingCabinetListItem, {\n filingCabinetListItemPropTypes,\n} from \"../FilingCabinetListItem\";\n\n// PropTypes\nexport const filingCabinetListPropTypes = {\n cards: PropTypes.arrayOf(PropTypes.string),\n children: PropTypes.node,\n filingCabinetListItemProps: PropTypes.shape(\n omit(filingCabinetListItemPropTypes, [\"card\", \"sectionId\"])\n ),\n sectionId: PropTypes.string.isRequired,\n includeContentContainer: PropTypes.bool, // Defaults to true\n includeModal: PropTypes.bool, // Defaults to false\n filingCabinetModalButtonProps: PropTypes.shape(\n filingCabinetModalButtonPropTypes\n ),\n};\n\n/**\n * Component: FilingCabinetList\n */\nconst FilingCabinetList = ({\n cards: overrideCardsOnPage,\n children,\n filingCabinetListItemProps,\n includeContentContainer = true,\n labelBenefitType,\n sectionId,\n includeModal = false,\n filingCabinetModalButtonProps,\n ...props\n}) => {\n const { [sectionId]: filingCabinetList } = usePageSettings();\n const cards = useCardsOnPage(overrideCardsOnPage || filingCabinetList?.cards);\n const section = useSection(sectionId);\n\n const isAnEmptyRegion = useMemo(\n () =>\n cards\n .map((card) => getBenefits(section, card?.id))\n .every((benefit) => isEmpty(benefit)),\n [cards]\n );\n\n const OptionalContentContainer = useCallback(\n (c) => {c},\n []\n );\n\n if (!cards) {\n return null;\n }\n\n return (\n \n {!isAnEmptyRegion && (\n <>\n \n {labelBenefitType}\n \n \n \n {cards.map((card, cardIndex) => (\n \n {/* View Details Modal */}\n {includeModal && (\n \n )}\n \n ))}\n \n \n \n )}\n \n );\n};\n\nFilingCabinetList.propTypes = filingCabinetListPropTypes;\n\nexport default FilingCabinetList;\n","import DangerSet from \"@common/DangerSet\";\nimport DangerSetInjectOffer from \"@common/DangerSetInjectOffer\";\nimport FilingLabel, {\n FILING_LABEL_POSITIONS,\n filingLabelPropTypes,\n} from \"@common/FilingLabel\";\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 { 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 getOffer from \"@utils/contentful/get-offer\";\nimport decodeHTMLEntities from \"@utils/decode-html-entities\";\nimport mcn from \"@utils/merge-classnames\";\nimport cn from \"classnames\";\nimport omit from \"lodash/omit\";\nimport PropTypes from \"prop-types\";\n\nexport const FILING_CABINET_LIST_ITEM_THEMES = {\n SINGLE: \"single\",\n GROUPED: \"grouped\",\n};\n\n// PropTypes\nexport const filingCabinetListItemPropTypes = {\n card: CUSTOM_PROP_TYPES.CARD.isRequired,\n children: PropTypes.node,\n filingLabelProps: PropTypes.shape(omit(filingLabelPropTypes, \"children\")),\n includeVisuallyHiddenText: PropTypes.bool, // Defaults to false\n labelPrefix: PropTypes.string, // Defaults to \"Benefits For:\"\n sectionId: PropTypes.string.isRequired,\n theme: PropTypes.oneOf(Object.values(FILING_CABINET_LIST_ITEM_THEMES)), // FILING_CABINET_LIST_ITEM_THEMES.GROUPED\n benefitContentClassName: PropTypes.string,\n useBorderContainer: PropTypes.bool,\n removeShadow: PropTypes.bool,\n useGreyBorder: PropTypes.bool,\n};\n\n/**\n * Component: FilingCabinetListItem\n */\nconst FilingCabinetListItem = ({\n card,\n children,\n filingLabelProps,\n includeVisuallyHiddenText = false,\n labelPrefix = \"Benefits For:\",\n sectionId,\n theme = FILING_CABINET_LIST_ITEM_THEMES.GROUPED,\n benefitContentClassName,\n removeShadow = false,\n useGreyBorder = false,\n ...props\n}) => {\n const pageSettings = usePageSettings();\n const section = useSection(sectionId);\n const benefits = getBenefits(section, card?.id);\n\n // Allocates whitespace inside grid.\n if (!benefits || benefits?.length === 0) {\n return
  • ;\n }\n return (\n \n {/* Benefits List */}\n \n {benefits.map((benefit, benefitIndex) => {\n // Benefit.icon can either be an icon filename or text.\n const hasValidIconFilename = benefit?.fields?.icon?.match(/{{icon:/);\n return (\n \n \n {/* Benefit Icon */}\n {benefit?.fields?.icon && (\n \n {hasValidIconFilename ? (\n \n ) : (\n \n )}\n \n )}\n\n {/* Benefit */}\n
    \n {/* Benefit Barker */}\n {benefit?.fields?.meta?.barker && (\n \n )}\n {/* Benefit Title */}\n \n {includeVisuallyHiddenText && !hasValidIconFilename && (\n \n )}\n \n \n {/* Benefit Body */}\n \n
    \n \n
  • \n );\n })}\n \n\n {/* children */}\n {children && (\n \n {children}\n \n )}\n \n );\n};\n\nFilingCabinetListItem.propTypes = filingCabinetListItemPropTypes;\n\nexport default FilingCabinetListItem;\n","import CUSTOM_PROP_TYPES from \"@constants/custom-prop-types\";\nimport getField from \"@utils/contentful/get-field\";\nimport PropTypes from \"prop-types\";\n\nconst injectOfferPropTypes = {\n text: PropTypes.string.isRequired,\n offer: CUSTOM_PROP_TYPES.CARD_OFFER.isRequired,\n sectionSettings: PropTypes.object, // defaults to {}\n};\n\nconst FIELD_KEYS_MAP = Object.freeze({\n title: \"title\",\n body: \"body\",\n apr: \"aprText\",\n});\n\n/**\n * Utility: injectOffer\n *\n * Injects offer fields into strings. Currently only supports title, body, and apr\n */\nconst injectOffer = (text, offer, sectionSettings = {}) => {\n if (!text) return \"\";\n if (!offer) return text;\n\n // TODO: Revisit this logic - Should this return the Offer component?\n // Update the logic to use FIELD_KEYS_MAP\n const replacedText = text.replace(/{{(.*?)}}/gi, (match, capture) => {\n const key = FIELD_KEYS_MAP[capture.trim()];\n if (key === \"aprText\") {\n return key ? offer[key] || \"\" : \"\";\n }\n return key ? getField(offer, key) || \"\" : \"\";\n });\n\n return replacedText;\n};\n\ninjectOffer.propTypes = injectOfferPropTypes;\n\nexport default injectOffer;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btn__benefitDetails\":\"styles_btn__benefitDetails__h49wb\"};"],"names":["dangerSetPropTypes","html","PropTypes","offer","CUSTOM_PROP_TYPES","CARD_OFFER","sectionId","addOfferTitleClass","addDecodedAriaLabel","additionalClassName","DangerSetInjectOffer","props","param","injectedOffer","injectOffer","offerTitleClassName","cn","idOffer","className","ariaLabelObject","decodeHTMLEntities","replace","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","DangerSet","propTypes","__webpack_exports__","Z","FILING_LABEL_POSITIONS","Object","freeze","LEFT","RIGHT","FILING_LABEL_THEMES","BRIGHT_BLUE","DEEP_BLUE","LIGHT_BLUE","filingLabelPropTypes","children","isRequired","position","values","theme","FilingLabel","classesBasedOnTheme","div","ZP","svg","fill","xmlns","viewBox","aria-hidden","aria-label","data-testid","path","fillRule","clipRule","d","buttonFullBenefitsPropTypes","initDialogObject","dialogPropTypes","modalProps","omit","modalFullBenefitsPropTypes","as","Button","tagularProps","TAGULAR_ELEMENT","ButtonFullBenefits","Tag","dialog","useDialog","jsxs","Fragment","role","href","undefined","onKeyDown","buttonKeyDownClick","tabIndex","getTriggerProps","onClick","fireElementClicked","actionOutcome","TAGULAR_ACTION_OUTCOMES","OPEN_MODAL","elementType","TAGULAR_ELEMENT_TYPES","BUTTON","location","TAGULAR_LOCATIONS","BANNER","text","ModalFullBenefits","handleClose","setIsVisible","isEnabled","isVisible","getTargetProps","filingCabinetModalButtonPropTypes","card","CARD","learnMoreProps","buttonText","FilingCabinetModalButton","isMobileRender","isCardMemberRender","usePageSettings","jsx_runtime","variation","BUTTON_VARIATIONS","SECONDARY","styles","icon","IconPlusCircle","concat","getField","data-test-button","BODY","name","AmexLink","getCardUrl","id","onClickCapture","LINK","filingCabinetListPropTypes","cards","filingCabinetListItemProps","filingCabinetListItemPropTypes","includeContentContainer","includeModal","filingCabinetModalButtonProps","FilingCabinetList","overrideCardsOnPage","labelBenefitType","filingCabinetList","useCardsOnPage","section","useSection","isAnEmptyRegion","useMemo","map","getBenefits","every","isEmpty","benefit","OptionalContentContainer","useCallback","ContentContainer","c","data-contentful-section-id","Title","ConditionalWrapper","wrapper","condition","ul","length","cardIndex","FilingCabinetListItem","desktop_FilingCabinetList","FILING_CABINET_LIST_ITEM_THEMES","SINGLE","GROUPED","filingLabelProps","includeVisuallyHiddenText","labelPrefix","benefitContentClassName","useBorderContainer","removeShadow","useGreyBorder","pageSettings","benefits","li","mcn","benefitIndex","hasValidIconFilename","fields","match","IconByFilename","filename","textProps","ContentfulProps","meta","barker","barkerTheme","title","body","getOffer","data-test-card-id","websiteCardId","injectOfferPropTypes","sectionSettings","FIELD_KEYS_MAP","apr","capture","key","trim","module","exports"],"sourceRoot":""}