{"version":3,"file":"js/client-containers-PageContainer.js","mappings":"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","sources":["webpack://developerstudionodeweb/./src/client/Page/GetStarted/CaptionedImagesRow/CaptionedImagesRow.module.less?3fe7","webpack://developerstudionodeweb/./src/client/Page/GetStarted/CaptionedImagesRow/index.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/ImageDescriptionList/ImageDescriptionList.module.less?1b4a","webpack://developerstudionodeweb/./src/client/Page/GetStarted/ImageDescriptionList/index.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/IntroSection/IntroSection.module.less?b649","webpack://developerstudionodeweb/./src/client/Page/GetStarted/IntroSection/IntroSection.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/NextSteps/NextSteps.module.less?c969","webpack://developerstudionodeweb/./src/client/Page/GetStarted/NextSteps/NextSteps.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/NumberedList/index.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/NumberedList/NumberedList.module.less?11fc","webpack://developerstudionodeweb/./src/client/Page/GetStarted/PaymentMethods/PaymentMethods.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/SetUpInfo/EnvSetUp/EnvSetUp.module.less?1615","webpack://developerstudionodeweb/./src/client/Page/GetStarted/SetUpInfo/EnvSetUp/EnvSetUp.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/SetUpInfo/KnowBefore/KnowBefore.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/SetUpInfo/Resources/Resources.js","webpack://developerstudionodeweb/./src/client/Page/GetStarted/SetUpInfo/SetUpInfo.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/ControlPanel/constants.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CodeActions/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CodeActions/CodeActions.module.less?1f2e","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/HtmlPageSection/HtmlPageSection.module.less?f08c","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/Configurator.module.less?d79b","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/SectionToggle/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/SectionToggle/SectionToggle.module.less?bea5","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/OrderActions/OrderActionButton.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/OrderActions/OrderActions.module.less?f601","webpack://developerstudionodeweb/./src/client/components/LoadingOverlay/index.js","webpack://developerstudionodeweb/./src/client/components/LoadingOverlay/LoadingOverlay.module.less?d423","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/OrderActions/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CardConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CardConfigurator/CardConfigurator.module.less?f302","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/TypeConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/TypeConfigurator/TypeConfigurator.module.less?d556","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/ThreeDsConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/HtmlPageSection/HtmlPageSectionComponent.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/ButtonConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/SdkConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/OrderConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CardFieldsConfigurator/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/HtmlPageSection/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/IntegrationPageSectionContext.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/TestPanelContext.js","webpack://developerstudionodeweb/./src/client/Page/TestPanel/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/ControlPanel/ControlPanel.module.less?400d","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/ControlPanel/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/IntegrationPageSection.module.less?a41b","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CodeWrapper/CodeWrapper.module.less?b8f8","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/CodeWrapper/index.js","webpack://developerstudionodeweb/./src/client/util/sectionTabs.js","webpack://developerstudionodeweb/./src/client/constants/sdk.js","webpack://developerstudionodeweb/./src/client/components/Spacer/index.js","webpack://developerstudionodeweb/./src/client/components/Spacer/Spacer.module.less?f9b5","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/Preview.module.less?e985","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/TestCards.module.less?f68b","webpack://developerstudionodeweb/./src/client/components/CopyToClipboard/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/TestCardsWrapper/Non3DsTestCards.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/TestCardsWrapper/ThreeDsTestCards.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/TestCardsWrapper/index.js","webpack://developerstudionodeweb/./src/client/Page/Advanced/SubmitPayment/index.js","webpack://developerstudionodeweb/./src/client/Page/Advanced/PreviewWrapper/CustomizedCardFieldsAndBillingAddress.js","webpack://developerstudionodeweb/./src/client/Page/Advanced/PreviewWrapper/index.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/Fastlane.module.less?850e","webpack://developerstudionodeweb/./src/client/Page/Fastlane/ShippingAddress/index.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/BillingAddress/index.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/PreviewWrapper/FlexiblePaymentSection.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/PreviewWrapper/QuickStartPaymentSection.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/PreviewWrapper/Fastlane.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/PreviewWrapper/index.js","webpack://developerstudionodeweb/./src/client/Page/Fastlane/PreviewWrapper/initFastlane.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/ExpandablePreview/ExpandablePreview.module.less?bdac","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/PreviewWrapper/ExpandablePreview/index.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/TabbedLayout.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/SectionContent.js","webpack://developerstudionodeweb/./src/client/lib/formatter.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/dynamicCodeSnippetsHelper.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/IntegrationPageSectionReducer.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/getDownloadUrl.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/IntegrationPageSectionProvider.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/TestPanelReducer.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/StateManagement/TestPanelProvider.js","webpack://developerstudionodeweb/./src/client/Page/IntegrationPageSection/index.js","webpack://developerstudionodeweb/./src/client/Page/NoCode/HtmlContent/HtmlContent.module.less?497e","webpack://developerstudionodeweb/./src/client/Page/NoCode/HtmlContent/index.js","webpack://developerstudionodeweb/./src/client/Page/NoCode/HtmlList/index.js","webpack://developerstudionodeweb/./src/client/Page/NoCode/TabsSection/index.js","webpack://developerstudionodeweb/./src/client/Page/NoCode/TabsSection/TabsSection.module.less?482e","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/ClickableCardsSection/CardsRow.js","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/ClickableCardsSection/ClickableCardsSection.module.less?af48","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/ClickableCardsSection/index.js","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewBenefits/OverviewBenefits.module.less?416b","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewBenefits/BenefitCard.js","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewBenefits/index.js","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewPaymentMethods/index.js","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewPaymentMethods/OverviewPaymentMethods.module.less?9c20","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewWelcomeMessage/index.js","webpack://developerstudionodeweb/./src/client/Page/OverviewPage/OverviewWelcomeMessage/OverviewWelcomeMessage.module.less?5c79","webpack://developerstudionodeweb/./src/client/Page/TestPanel/TestPanel.js","webpack://developerstudionodeweb/./src/client/Page/TestPanel/api.js","webpack://developerstudionodeweb/./src/client/Page/pageComponentMap.js","webpack://developerstudionodeweb/./src/client/components/AlertBox/AlertBox.module.less?01f8","webpack://developerstudionodeweb/./src/client/components/AlertBox/index.js","webpack://developerstudionodeweb/./src/client/components/Divider/index.js","webpack://developerstudionodeweb/./src/client/components/Loading/Loading.module.less?a096","webpack://developerstudionodeweb/./src/client/components/Loading/Loading.js","webpack://developerstudionodeweb/./src/client/components/Overlay/index.js","webpack://developerstudionodeweb/./src/client/components/Title/index.js","webpack://developerstudionodeweb/./src/client/Page/PageComponentFactory.js","webpack://developerstudionodeweb/./src/client/Page/Page.module.less?5aa9","webpack://developerstudionodeweb/./src/client/components/App/SEO.js","webpack://developerstudionodeweb/./src/client/Page/index.js","webpack://developerstudionodeweb/./src/client/containers/PageContainer.js","webpack://developerstudionodeweb/./src/client/store/App/selectors.js","webpack://developerstudionodeweb/./src/client/util/elmoClientNavigation.js","webpack://developerstudionodeweb/./src/client/util/getLoginUrl.js","webpack://developerstudionodeweb/./src/client/util/isAbsolutePath.js","webpack://developerstudionodeweb/./src/client/util/sdkCallbacks.js","webpack://developerstudionodeweb/./src/client/Page/TestPanel/TestPanel.module.less?5a41"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"container\":\"CaptionedImagesRow-module_container__rAzjZ\",\"large_title\":\"CaptionedImagesRow-module_large_title___MhSq\",\"small_title\":\"CaptionedImagesRow-module_small_title__G7ENE\",\"left_title\":\"CaptionedImagesRow-module_left_title__Txze9\",\"center_title\":\"CaptionedImagesRow-module_center_title__Z56Ju\",\"subtitle\":\"CaptionedImagesRow-module_subtitle__dZ_8i\",\"row\":\"CaptionedImagesRow-module_row__OE1at\",\"col\":\"CaptionedImagesRow-module_col__YEG24\",\"row_title\":\"CaptionedImagesRow-module_row_title__OEhse\",\"image_container\":\"CaptionedImagesRow-module_image_container__RLl4i\",\"subheader\":\"CaptionedImagesRow-module_subheader__SBlx_\",\"subtext\":\"CaptionedImagesRow-module_subtext__jfHrQ\"};","import React from 'react';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from './CaptionedImagesRow.module.less';\n\nconst CaptionedImagesRow = ({ ecmContent }) => {\n const { jsonObject } = ecmContent.content || {};\n const { title, titleStyle, titleAlign, subtitle, rows } = jsonObject || {};\n\n const titleClass = titleStyle === 'large' ? styles.large_title : styles.small_title;\n const alignText = titleAlign === 'left' ? styles.left_title : styles.center_title;\n\n return (\n
\n
\n {title &&
{title}
}\n {subtitle &&
{subtitle}
}\n
\n {rows?.map((row) => (\n
\n {row.row_title && (\n \n {row.row_title}\n
\n )}\n \n {row.images?.map((image) => (\n \n {image.image_url && (\n \"\"\n )}\n {image.sub_header && (\n
{image.sub_header}
\n )}\n {image.sub_text &&
{image.sub_text}
}\n \n ))}\n
\n
\n ))}\n \n );\n};\n\nCaptionedImagesRow.propTypes = {\n ecmContent: PropTypes.object\n};\nCaptionedImagesRow.defaultProps = {\n ecmContent: {\n content: { jsonObject: { title: '', images: [] } }\n }\n};\n\nexport default CaptionedImagesRow;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"ImageDescriptionList-module_container__wySDJ\",\"container_title\":\"ImageDescriptionList-module_container_title__MkGYj\",\"container_text\":\"ImageDescriptionList-module_container_text__pA8vs\",\"content_container\":\"ImageDescriptionList-module_content_container__KbmiY\",\"image_container\":\"ImageDescriptionList-module_image_container__u5dpR\",\"description_wrapper\":\"ImageDescriptionList-module_description_wrapper__vneX8\",\"description_title\":\"ImageDescriptionList-module_description_title__Ve_QN\",\"custom_badge\":\"ImageDescriptionList-module_custom_badge___Df8I\",\"custom_badge_text\":\"ImageDescriptionList-module_custom_badge_text__wY8WJ\",\"description_text\":\"ImageDescriptionList-module_description_text__x0l61\",\"overlay\":\"ImageDescriptionList-module_overlay__bu_97\"};","import React, { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from './ImageDescriptionList.module.less';\nimport Overlay from '../../../components/Overlay';\n\nconst ImageDescriptionList = ({ ecmContent }) => {\n const { jsonObject } = ecmContent.content || {};\n const {\n title,\n text,\n imageUrl,\n descriptionSections,\n downloadName,\n overlayCaption,\n imagePosition,\n imageHeight,\n imageWidthProp\n } = jsonObject || {};\n const { hash } = useLocation();\n\n useEffect(() => {\n if (hash) {\n window.location.href = hash;\n }\n }, [hash]);\n\n return (\n
\n {title &&

{title}

}\n {text &&

{text}

}\n \n {imageUrl && (imagePosition === 'left' || !imagePosition) && (\n \n \n \n )}\n {descriptionSections && (\n \n {descriptionSections.map((section) => (\n
\n {section.description_title && (\n
\n

{section.description_title}

\n
\n )}\n {section.descriptions &&\n section.descriptions.map((description, index) => (\n
\n
\n

{index + 1}

\n
\n ${description}

` }}\n />\n
\n ))}\n
\n ))}\n \n )}\n {imageUrl && imagePosition === 'right' && (\n \n \n \n )}\n
\n
\n );\n};\n\nImageDescriptionList.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default ImageDescriptionList;\n","// extracted by mini-css-extract-plugin\nexport default {\"getting_started_container\":\"IntroSection-module_getting_started_container__pJ7F_\",\"overview_title\":\"IntroSection-module_overview_title__RQLJS\",\"xo_container\":\"IntroSection-module_xo_container___9saM\",\"overview_container\":\"IntroSection-module_overview_container__OTQU5\",\"description_wrapper\":\"IntroSection-module_description_wrapper__xCgnW\",\"steps\":\"IntroSection-module_steps___5JLu\",\"steps_wrapper\":\"IntroSection-module_steps_wrapper__MJYvJ\",\"text\":\"IntroSection-module_text__z_Mr7\",\"custom_badge\":\"IntroSection-module_custom_badge___c4Ig\",\"custom_badge_text\":\"IntroSection-module_custom_badge_text___DFkB\",\"description_text\":\"IntroSection-module_description_text___pNI2\",\"sxo_summary_wrapper\":\"IntroSection-module_sxo_summary_wrapper___lydz\",\"overlay\":\"IntroSection-module_overlay___E10m\"};","import React, { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from './IntroSection.module.less';\nimport Overlay from '../../../components/Overlay';\n\nconst IntroSection = ({ ecmContent }) => {\n const { gettingStartedSummary, technicalOverview, checkoutSummary, checkoutSummarySteps } =\n ecmContent.content;\n const { text, imageUrl, descriptions, downloadName, overlayCaption } = technicalOverview;\n const { steps } = checkoutSummarySteps;\n const { hash } = useLocation();\n\n useEffect(() => {\n if (hash) {\n window.location.href = hash;\n }\n }, [hash]);\n\n return (\n
\n
\n
\n

{text}

\n \n \n \n \n \n {descriptions.map((description, index) => (\n
\n
\n

{index + 1}

\n
\n ${description}

`\n }}\n />\n
\n ))}\n \n
\n
\n
\n
\n {steps.map((step, index) => (\n
\n
\n

{index + 1}

\n
\n ${step}

` }}\n />\n
\n ))}\n
\n
\n );\n};\n\nIntroSection.propTypes = {\n ecmContent: PropTypes.object\n};\n\nIntroSection.defaultProps = {\n ecmContent: {\n content: {\n gettingStartedSummary: '',\n technicalOverview: { text: '', imageUrl: '', descriptions: [] },\n sxoSummary: ''\n }\n }\n};\n\nexport default IntroSection;\n","// extracted by mini-css-extract-plugin\nexport default {\"next_steps_title\":\"NextSteps-module_next_steps_title__KcsL9\",\"next_steps_cards\":\"NextSteps-module_next_steps_cards___r_5k\",\"next_steps_box\":\"NextSteps-module_next_steps_box__iFBQD\",\"next_steps_subheader\":\"NextSteps-module_next_steps_subheader__oh_wp\",\"next_steps_subtext\":\"NextSteps-module_next_steps_subtext__tmngN\",\"next_steps_link\":\"NextSteps-module_next_steps_link__b3xyf\",\"how_to_integrate\":\"NextSteps-module_how_to_integrate__O9Mk9\"};","import React from 'react';\nimport { Card, Row, Col, Divider } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport classNames from 'classnames';\nimport { useSelector } from 'react-redux';\nimport styles from './NextSteps.module.less';\nimport { trackButtonClick } from '../../../lib/fpti';\nimport isAbsolutePath from '../../../util/isAbsolutePath';\nimport elmoClientNavigation from '../../../util/elmoClientNavigation';\nimport { experimentsSelector } from '../../../store/App/selectors';\n\nconst NextSteps = ({ ecmContent }) => {\n const { jsonObject } = ecmContent.content;\n const { title, images, cardWidth = 4 } = jsonObject;\n const navigate = useNavigate();\n const experiments = useSelector(experimentsSelector);\n const activeTreatment = experiments?.studio_enable_fastlane_acdc;\n\n const handleClick = (key, url) => {\n trackButtonClick(key, url);\n if (isAbsolutePath(url)) {\n if (url.includes('/studio')) {\n window.open(url, '_self', 'popup=false');\n } else {\n window.open(url, '_blank');\n }\n } else {\n const redirectUrl = elmoClientNavigation(url, activeTreatment);\n if (isAbsolutePath(redirectUrl)) {\n window.location = redirectUrl;\n } else {\n navigate(redirectUrl);\n }\n }\n };\n\n const howToIntegrate = classNames({\n [styles.how_to_integrate]: jsonObject.type === 'how_to_integrate'\n });\n\n return (\n
\n
{title}
\n \n {images.map((image) => (\n \n handleClick(image.sub_header, image.url)}>\n \"\"\n
{image.sub_header}
\n
{image.sub_text}
\n {image.dividing_line && }\n {image.link_name &&

{image.link_name}

}\n
\n \n ))}\n
\n
\n );\n};\n\nNextSteps.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default NextSteps;\n","import React, { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport PropTypes from 'prop-types';\nimport styles from './NumberedList.module.less';\n\nconst NumberedList = ({ ecmContent }) => {\n const { jsonObject } = ecmContent.content || {};\n const { list } = jsonObject || {};\n const { hash } = useLocation();\n\n useEffect(() => {\n if (hash) {\n window.location.href = hash;\n }\n }, [hash]);\n\n return (\n
\n
\n {list.map((item, index) => (\n
\n
\n

{index + 1}

\n
\n
${item}

` }} />\n
\n ))}\n
\n
\n );\n};\n\nNumberedList.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default NumberedList;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"NumberedList-module_container__Ht5ij\",\"steps\":\"NumberedList-module_steps___4UXQ\",\"steps_wrapper\":\"NumberedList-module_steps_wrapper__meuJR\",\"text\":\"NumberedList-module_text___d7l7\",\"custom_badge\":\"NumberedList-module_custom_badge__JRLdS\",\"custom_badge_text\":\"NumberedList-module_custom_badge_text__BgOUh\"};","import React from 'react';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from './PaymentMethods.module.less';\n\nconst PaymentMethods = ({ ecmContent }) => {\n const { jsonObject } = ecmContent.content;\n const { title, images, primaryImage } = jsonObject;\n return (\n
\n
{title}
\n\n
\n {primaryImage ? \"\" : null}\n
\n \n {images.map((image) => (\n \n {image.image_url ? \"\" : null}\n
{image.sub_header}
\n
{image.sub_text}
\n \n ))}\n
\n
\n );\n};\n\nPaymentMethods.propTypes = {\n ecmContent: PropTypes.object\n};\nPaymentMethods.defaultProps = {\n ecmContent: {\n content: { jsonObject: { title: '', images: [] } }\n }\n};\n\nexport default PaymentMethods;\n","// extracted by mini-css-extract-plugin\nexport default {\"dev_env_title\":\"EnvSetUp-module_dev_env_title__dVA_L\",\"dev_env_content_box\":\"EnvSetUp-module_dev_env_content_box__PTC4J\",\"dev_env_content\":\"EnvSetUp-module_dev_env_content__oM_mD\",\"dev_env_code_block\":\"EnvSetUp-module_dev_env_code_block__XiLnc\",\"dev_env_custom_badge\":\"EnvSetUp-module_dev_env_custom_badge___HrYH\",\"dev_env_custom_badge_text\":\"EnvSetUp-module_dev_env_custom_badge_text__eWVaX\",\"info_box\":\"EnvSetUp-module_info_box__Pgthm\",\"info_box_text\":\"EnvSetUp-module_info_box_text___QPbb\"};","import React from 'react';\nimport { InformationIcon, Row } from '@paypalcorp/pp-react';\n\nimport PropTypes from 'prop-types';\nimport styles from './EnvSetUp.module.less';\n\nfunction EnvSetUp({ devEnv, title }) {\n return (\n
\n \n

{title}

\n
\n {devEnv.map(({ content }) => (\n \n {content.badgeNumber && content.content && (\n \n
\n

{content.badgeNumber}

\n
\n \n
\n )}\n {content.codeBlock && (\n \n \n \n )}\n {content.additionalContent && (\n \n \n \n )}\n {content.infoBox && (\n
\n \n \n
\n )}\n
\n ))}\n
\n );\n}\n\nEnvSetUp.propTypes = {\n devEnv: PropTypes.object.isRequired,\n title: PropTypes.object.isRequired\n};\n\nexport default EnvSetUp;\n","import React from 'react';\nimport { Card } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport styles from './KnowBefore.module.less';\nimport { trackButtonClick } from '../../../../lib/fpti';\nimport isAbsolutePath from '../../../../util/isAbsolutePath';\n\nfunction KnowBefore({ knowBeforeCards }) {\n const navigate = useNavigate();\n\n const handleClick = (key, url) => {\n trackButtonClick(key, url);\n if (isAbsolutePath(url)) {\n if (url.includes('/studio')) {\n window.open(url, '_self', 'popup=false');\n } else {\n window.open(url, '_blank');\n }\n } else {\n navigate(url);\n }\n };\n\n return (\n
\n

{knowBeforeCards.title}

\n {knowBeforeCards.cards.map((card) => (\n
\n handleClick(card.content.key, card.content.url)}>\n
\n
{card.content.key}
\n
{card.content.badge}
\n {card.content.text && (\n \n )}\n
\n
\n
\n ))}\n
\n );\n}\n\nKnowBefore.propTypes = {\n knowBeforeCards: PropTypes.object.isRequired\n};\n\nexport default KnowBefore;\n","import React from 'react';\nimport { Card } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport styles from './Resources.module.less';\nimport { trackButtonClick } from '../../../../lib/fpti';\nimport isAbsolutePath from '../../../../util/isAbsolutePath';\n\nfunction Resources({ resourceCards }) {\n const navigate = useNavigate();\n\n const handleClick = (key, url) => {\n trackButtonClick(key, url);\n if (isAbsolutePath(url)) {\n window.open(url, '_blank');\n } else {\n navigate(url);\n }\n };\n\n return (\n
\n

{resourceCards.title}

\n {resourceCards.cards.map((card) => (\n
\n handleClick(card.content.key, card.content.url)}>\n
\n
{card.content.key}
\n
{card.content.badge}
\n {card.content.text &&
}\n
\n \n
\n ))}\n
\n );\n}\n\nResources.propTypes = {\n resourceCards: PropTypes.object.isRequired\n};\n\nexport default Resources;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Row, Col } from '@paypalcorp/pp-react';\nimport { useLocation } from 'react-router';\nimport EnvSetUp from './EnvSetUp/EnvSetUp';\nimport KnowBefore from './KnowBefore/KnowBefore';\nimport Resources from './Resources/Resources';\nimport styles from './SetUpInfo.module.less';\n\nconst SetUpInfo = ({ ecmContent }) => {\n const { hash } = useLocation();\n\n useEffect(() => {\n if (hash) {\n window.location.href = hash;\n }\n }, [hash]);\n\n const { pageContent } = ecmContent.content;\n if (!pageContent) {\n return <>;\n }\n\n let devEnv;\n let knowBeforeCards;\n let resourceCards;\n pageContent.forEach((content) => {\n const key = content?.content?.key;\n if (key === 'devEnvSetup') {\n devEnv = content.content;\n } else if (key === 'knowBeforeSection') {\n knowBeforeCards = content.content;\n } else if (key === 'resourcesSection') {\n resourceCards = content.content;\n } else {\n return <>;\n }\n return null;\n });\n\n return (\n
\n \n \n \n \n \n \n \n \n \n
\n );\n};\n\nSetUpInfo.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default SetUpInfo;\n","export const queryParamtoValueMap = {\n node: 'javascript'\n};\n\nexport const valueToQueryParamMap = {\n javascript: 'node'\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Row, Col, Button } from '@paypalcorp/pp-react';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport styles from './CodeActions.module.less';\nimport { trackButtonClick } from '../../../lib/fpti';\n\nconst CodeActions = ({ content }) => {\n const {\n code: { downloadCodeUrl }\n } = useContext(IntegrationPageSectionContext);\n const { rows } = content;\n\n const handleAction = (text, url, action) => {\n if (action === 'download') {\n trackButtonClick(text, null, url);\n window.open(downloadCodeUrl);\n } else {\n trackButtonClick(text, url);\n window.open(url);\n }\n };\n return (\n
\n {rows.map(({ buttons }) => (\n \n {buttons.map(({ text, url, icon, action }) => (\n \n {\n handleAction(text, url, action);\n }}\n secondary\n size=\"lg\"\n className={styles.code_action_button_container}\n >\n
\n \"\"\n {text}\n
\n \n \n ))}\n
\n ))}\n
\n );\n};\n\nCodeActions.propTypes = { content: PropTypes.object };\nCodeActions.defaultProps = { content: { rows: [] } };\n\nexport default CodeActions;\n","// extracted by mini-css-extract-plugin\nexport default {\"code_actions_container\":\"CodeActions-module_code_actions_container__GnUFX\",\"code_action_button_container\":\"CodeActions-module_code_action_button_container__wpPX6\",\"code_action_button_content\":\"CodeActions-module_code_action_button_content__DLNCA\",\"code_action_icon\":\"CodeActions-module_code_action_icon__bAlaD\"};","// extracted by mini-css-extract-plugin\nexport default {\"step_content_section\":\"HtmlPageSection-module_step_content_section__knDRz\",\"base\":\"HtmlPageSection-module_base__TNTWK\",\"highlighted_section\":\"HtmlPageSection-module_highlighted_section__mQAsJ\"};","// extracted by mini-css-extract-plugin\nexport default {\"configuration\":\"Configurator-module_configuration__Aa_vx\",\"configuration_item\":\"Configurator-module_configuration_item__hZPhV\",\"configuration_text\":\"Configurator-module_configuration_text__N1s47\",\"configuration_radio\":\"Configurator-module_configuration_radio__M30id\",\"selection_disabled\":\"Configurator-module_selection_disabled___qUL7\",\"configuration_dropdown\":\"Configurator-module_configuration_dropdown__pYZ8S\",\"configuration_field_wrapper\":\"Configurator-module_configuration_field_wrapper__HZo1U\",\"configuration_field_helpertext\":\"Configurator-module_configuration_field_helpertext___UuVx\",\"card_field_customization\":\"Configurator-module_card_field_customization__NQJtc\"};","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Switch } from '@paypalcorp/pp-react';\nimport style from './SectionToggle.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackButtonChange } from '../../../lib/fpti';\n\nexport default function SectionToggle({ contentKey, sectionKey, label, title, checked }) {\n const [isChecked, setIsChecked] = useState(checked);\n const {\n code: { updateActiveCodeBlock, updateCurrentSectionKey },\n OrderConfigurator: { update3dsSetting }\n } = useContext(IntegrationPageSectionContext);\n const handleOnChange = (event) => {\n // unset 3ds selection\n if (contentKey === '3dsConfiguration' && !event.target.checked) {\n update3dsSetting(null);\n }\n trackButtonChange(title, event.target.checked);\n setIsChecked(event.target.checked);\n if (contentKey) {\n const contentKeyArr = contentKey.split(',');\n contentKeyArr.forEach((contentKeyItem) => {\n updateActiveCodeBlock({ key: contentKeyItem, value: event.target.checked });\n });\n updateCurrentSectionKey(event.target.checked ? sectionKey : undefined);\n }\n };\n return (\n handleOnChange(event)}\n checked={isChecked}\n />\n );\n}\n\nSectionToggle.propTypes = {\n contentKey: PropTypes.string.isRequired,\n sectionKey: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"section_toggle\":\"SectionToggle-module_section_toggle___pLEL\"};","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, CoachTip } from '@paypalcorp/pp-react';\nimport styles from './OrderActions.module.less';\n\nconst OrderActionButton = ({ content, id, onClick, data }) => {\n const { label, coachTipText } = content;\n const [isCoachOpen, setIsCoachOpen] = useState(false);\n\n const handleClick = () => {\n if (!data || !data.length) {\n setIsCoachOpen(true);\n } else {\n setIsCoachOpen(false);\n onClick();\n }\n };\n\n return (\n <>\n \n {isCoachOpen && (\n setIsCoachOpen(false)}\n />\n )}\n \n );\n};\n\nOrderActionButton.propTypes = {\n content: PropTypes.object,\n id: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n coachTipText: PropTypes.string,\n data: PropTypes.any\n};\n\nOrderActionButton.defaultProps = {\n content: { label: '', coachTipText: '' },\n onClick: null,\n coachTipText: '',\n data: null\n};\n\nexport default OrderActionButton;\n","// extracted by mini-css-extract-plugin\nexport default {\"order_actions_container\":\"OrderActions-module_order_actions_container__Naz_v\",\"order_action_button\":\"OrderActions-module_order_action_button__PYN52\"};","import { LoadingSpinner } from '@paypalcorp/pp-react';\nimport React from 'react';\nimport styles from './LoadingOverlay.module.less';\n\nconst LoadingOverlay = () => {\n return (\n
\n \n
\n );\n};\n\nexport default LoadingOverlay;\n","// extracted by mini-css-extract-plugin\nexport default {\"loading_overlay\":\"LoadingOverlay-module_loading_overlay___wiqs\"};","import React, { useCallback, useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { refundCapture } from '../../../util/sdkCallbacks';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport TestPanelContext from '../StateManagement/TestPanelContext';\nimport styles from './OrderActions.module.less';\nimport OrderActionButton from './OrderActionButton';\nimport LoadingOverlay from '../../../components/LoadingOverlay';\n\nconst OrderActions = ({ codeBlockKey, content }) => {\n const [loading, setLoading] = useState(false);\n\n const {\n lastCapture,\n code,\n SdkConfigurator: {\n sdkSettings: { clientId }\n }\n } = useContext(IntegrationPageSectionContext);\n\n const { updateLogs, toggleTestPanel } = useContext(TestPanelContext);\n\n const isSectionActive = code.status[codeBlockKey];\n\n const csrfToken = useSelector((state) => state?.app?.csrfToken);\n const isUserLoggedIn = useSelector((state) => state?.app?.prunedUser?.isUserLoggedIn);\n const captureIds = lastCapture.value;\n\n const handleRefund = useCallback(async () => {\n setLoading(true);\n await refundCapture({\n captureIds,\n csrfToken,\n updateLogs,\n toggleTestPanel,\n updateLastCapture: lastCapture.updateLastCapture,\n clientId: isUserLoggedIn ? clientId : null\n });\n setLoading(false);\n }, [refundCapture, isUserLoggedIn, clientId, captureIds, csrfToken, updateLogs]);\n\n if (!isSectionActive) return <>;\n\n return (\n <>\n {loading && }\n
\n \n
\n \n );\n};\n\nOrderActions.propTypes = {\n content: PropTypes.object,\n codeBlockKey: PropTypes.string\n};\n\nOrderActions.defaultProps = {\n content: null,\n codeBlockKey: null\n};\n\nexport default OrderActions;\n","import React from 'react';\nimport { Card, Link } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport styles from './CardConfigurator.module.less';\nimport getLoginUrl from '../../../util/getLoginUrl';\n\nconst CardConfigurator = ({ content }) => {\n const isUserLoggedIn = useSelector((state) => state?.app?.prunedUser?.isUserLoggedIn);\n const loginUrl = getLoginUrl();\n\n if (!isUserLoggedIn) {\n return (\n
\n \n
{content.title}
\n {content.login_text}\n
\n {content.link_text}\n
\n
\n
\n );\n }\n return null;\n};\n\nCardConfigurator.propTypes = { content: PropTypes.object.isRequired };\nexport default CardConfigurator;\n","// extracted by mini-css-extract-plugin\nexport default {\"card_container\":\"CardConfigurator-module_card_container__ZSCUy\",\"card_header\":\"CardConfigurator-module_card_header__q9A_J\",\"card_content\":\"CardConfigurator-module_card_content__mG4P1\"};","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSearchParams } from 'react-router-dom';\nimport { SegmentedController, SegmentedControllerPanel } from '@paypalcorp/pp-react';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport styles from './TypeConfigurator.module.less';\nimport { trackButtonChange, trackButtonClick } from '../../../lib/fpti';\nimport { valueToQueryParamMap } from '../ControlPanel/constants';\n\nconst TypeConfigurator = ({ content }) => {\n const [searchParams, setSearchParams] = useSearchParams();\n const {\n SdkConfigurator: {\n sdkSettings: { type },\n updateSdkSettings\n },\n code: {\n language: { frontend, backend }\n }\n } = useContext(IntegrationPageSectionContext);\n\n const handleButtonClick = (index) => {\n const buttonName = 'IntegrationTypeButton';\n const value = content[index].id;\n trackButtonClick(buttonName, null, value);\n trackButtonChange(buttonName, value);\n updateSdkSettings(value, 'type');\n searchParams.set('type', value);\n searchParams.set('frontend', frontend);\n searchParams.set('backend', valueToQueryParamMap[backend] || backend);\n setSearchParams(searchParams);\n window.location.reload();\n };\n\n return (\n
\n el.id === type)}\n tabs={content}\n onClick={(_, index) => handleButtonClick(index)}\n >\n {content.map(({ id }) => (\n \n <>\n \n ))}\n \n
\n );\n};\n\nexport default TypeConfigurator;\n\nTypeConfigurator.propTypes = {\n content: PropTypes.array\n};\n\nTypeConfigurator.defaultProps = { content: [] };\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"TypeConfigurator-module_container__kstPE\"};","import React, { useContext, useEffect } from 'react';\n\nimport { CaptionText, DropdownMenu } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport styles from '../Configurator.module.less';\nimport { trackFieldClosed, trackFieldFocus } from '../../../lib/fpti';\n\nconst FTPI_3DS_CONFIGURATION = '3DS Configuration';\nconst options = [\n {\n value: 'SCA_ALWAYS',\n primaryText: 'SCA_ALWAYS'\n },\n {\n value: 'SCA_WHEN_REQUIRED',\n primaryText: 'SCA_WHEN_REQUIRED'\n }\n];\n\nconst defaultValue = options[0].value;\n\nconst ThreeDsConfigurator = ({ codeBlockKey }) => {\n const {\n code,\n OrderConfigurator: { update3dsSetting, threeDsSetting }\n } = useContext(IntegrationPageSectionContext);\n\n const isSectionActive = code.status[codeBlockKey];\n\n const handleChange = (e) => {\n update3dsSetting(e.target.value);\n };\n\n useEffect(() => {\n if (isSectionActive && !threeDsSetting) {\n // Setting the default value for 3DS on the first active render of the component\n update3dsSetting(defaultValue);\n }\n }, [code.status[codeBlockKey]]);\n\n if (!isSectionActive) return <>;\n\n return (\n
\n
\n 3DS Configuration\n trackFieldFocus(FTPI_3DS_CONFIGURATION)}\n onChange={handleChange}\n onClose={() => trackFieldClosed(FTPI_3DS_CONFIGURATION)}\n />\n
\n
\n );\n};\n\nThreeDsConfigurator.propTypes = {\n codeBlockKey: PropTypes.string.isRequired\n};\n\nexport default ThreeDsConfigurator;\n","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport CodeActions from '../CodeActions';\nimport style from './HtmlPageSection.module.less';\nimport ButtonConfigurator from '../ButtonConfigurator';\nimport SdkConfigurator from '../SdkConfigurator';\nimport SectionToggle from '../SectionToggle';\nimport OrderConfigurator from '../OrderConfigurator';\nimport OrderActions from '../OrderActions';\nimport CardConfigurator from '../CardConfigurator';\nimport TypeConfigurator from '../TypeConfigurator';\nimport ThreeDsConfigurator from '../ThreeDsConfigurator';\n\nconst ComponentMap = {\n CodeActions,\n ButtonConfigurator,\n SdkConfigurator,\n OrderConfigurator,\n OrderActions,\n CardConfigurator,\n TypeConfigurator,\n ThreeDsConfigurator\n};\n\nconst HtmlPageSection = forwardRef(({ ecmContent, highlighted, onClick }, ref) => {\n const content = ecmContent || {};\n const { contentDetails, contentJson, codeBlockKey } = content;\n if (!content || (!contentDetails && !contentJson)) return <>;\n return (\n {\n if (onClick && typeof onClick === 'function') onClick(content.key);\n }}\n onKeyDown={() => {\n if (onClick && typeof onClick === 'function') onClick(content.key);\n }}\n role=\"button\"\n tabIndex={0}\n >\n
\n \n {contentJson?.CodeBlockToggle && (\n \n )}\n
\n
\n {contentJson &&\n Object.keys(contentJson).map((componentKey) => {\n const Component = ComponentMap[componentKey];\n const componentContent = contentJson[componentKey];\n if (Component) {\n return (\n \n );\n }\n return <>;\n })}\n
\n
\n );\n});\nexport default HtmlPageSection;\n\nHtmlPageSection.propTypes = {\n ecmContent: PropTypes.object,\n highlighted: PropTypes.bool,\n onClick: PropTypes.func\n};\nHtmlPageSection.defaultProps = { ecmContent: null, highlighted: false, onClick: undefined };\n","import React, { useContext } from 'react';\nimport { RadioButton, CaptionText, DropdownMenu } from '@paypalcorp/pp-react';\nimport styles from '../Configurator.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackFieldChange, trackFieldFocus, trackFieldClosed } from '../../../lib/fpti';\n\nconst ButtonConfigurator = () => {\n const {\n ButtonConfigurator: {\n colorOptions,\n labelOptions,\n buttonSettings,\n layoutOptions,\n shapeOptions,\n updateButtonSettings\n },\n SdkConfigurator: { sdkSettings: { buyerCountry } = {} },\n code: { updateActiveCodeBlock, status }\n } = useContext(IntegrationPageSectionContext);\n\n return (\n
\n
\n Button Shape\n {\n trackFieldChange('Button Shape', e.target.value);\n updateButtonSettings(e.target.value, 'shape');\n }}\n options={shapeOptions}\n />\n
\n
\n Button Color\n trackFieldFocus('Button Color')}\n onChange={(e) => {\n trackFieldChange('Button Color', e.target.value);\n updateButtonSettings(e.target.value, 'color');\n }}\n onClose={() => trackFieldClosed('Button Color')}\n />\n
\n
\n Button Layout\n
\n {\n trackFieldChange('Button Layout', e.target.value);\n updateButtonSettings(e.target.value, 'layout');\n }}\n options={layoutOptions}\n />\n
\n
\n
\n Button Label Text\n trackFieldFocus('Button Label')}\n onChange={(e) => {\n trackFieldChange('Button Label', e.target.value);\n updateButtonSettings(e.target.value, 'label');\n }}\n onClose={() => trackFieldClosed('Button Label')}\n />\n
\n {buyerCountry === 'US' && (\n
\n Button Message\n {\n trackFieldChange('Button Message', e.target.value);\n updateActiveCodeBlock({\n value: e.target.value === 'true',\n key: 'configureButtonMessages'\n });\n }}\n />\n
\n )}\n
\n );\n};\n\nexport default ButtonConfigurator;\n","import React, { useContext } from 'react';\nimport { CaptionText, DropdownMenu } from '@paypalcorp/pp-react';\nimport { usePayPalScriptReducer } from '@paypal/react-paypal-js';\nimport styles from '../Configurator.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackFieldChange, trackFieldFocus, trackFieldClosed } from '../../../lib/fpti';\n\nexport default function SdkConfigurator() {\n const FTPI_BUYER_COUNTRY = 'Buyer Country';\n const FTPI_CURRENCY = 'Currency:SDK';\n\n const {\n SdkConfigurator: { sdkSettings, buyerCountryOptions, buyerCurrencyOptions, updateSdkSettings }\n } = useContext(IntegrationPageSectionContext);\n\n const { sdkBaseUrl } = sdkSettings;\n\n const [{ options }, dispatch] = usePayPalScriptReducer();\n\n function onValueChange(event, key, ftpiIdentifier) {\n const newValue = event.target.value;\n\n trackFieldChange(ftpiIdentifier, newValue);\n updateSdkSettings(newValue, key);\n dispatch({\n type: 'resetOptions',\n value: {\n ...options,\n sdkBaseUrl,\n [key]: newValue\n }\n });\n }\n\n return (\n
\n
\n Buyer Country\n trackFieldFocus(FTPI_BUYER_COUNTRY)}\n onChange={(e) => onValueChange(e, 'buyerCountry', FTPI_BUYER_COUNTRY)}\n onClose={() => trackFieldClosed(FTPI_BUYER_COUNTRY)}\n />\n
\n
\n Currency\n trackFieldFocus(FTPI_CURRENCY)}\n onChange={(e) => onValueChange(e, 'currency', FTPI_CURRENCY)}\n onClose={() => trackFieldClosed(FTPI_CURRENCY)}\n />\n
\n
\n );\n}\n","import React, { useContext, useState, useMemo } from 'react';\nimport debounce from 'lodash/debounce';\nimport { CaptionText, DropdownMenu, TextInput } from '@paypalcorp/pp-react';\nimport { usePayPalScriptReducer } from '@paypal/react-paypal-js';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport styles from '../Configurator.module.less';\nimport { trackFieldChange, trackFieldFocus, trackFieldClosed } from '../../../lib/fpti';\n\nexport default function OrderConfigurator() {\n const FTPI_INTENT = 'Intent';\n const FTPI_CURRENCY = 'Currency:Orders';\n\n const {\n OrderConfigurator: { updateAmount },\n SdkConfigurator: {\n sdkSettings: { currency, intent, sdkBaseUrl },\n buyerCurrencyOptions,\n updateSdkSettings\n },\n code: { updateActiveCodeBlock }\n } = useContext(IntegrationPageSectionContext);\n\n // memoize the debounce call with useMemo\n const debouncedAmountUpdate = useMemo(() => {\n return debounce(updateAmount, 1000);\n }, [updateAmount]);\n\n const [orderAmount, setOrderAmount] = useState('100');\n\n const [{ options }, dispatch] = usePayPalScriptReducer();\n\n function onValueChange(event, key, ftpiIdentifier) {\n const newValue = event.target.value;\n\n trackFieldChange(ftpiIdentifier, newValue);\n updateSdkSettings(newValue, key);\n dispatch({\n type: 'resetOptions',\n value: {\n ...options,\n sdkBaseUrl,\n [key]: newValue\n }\n });\n }\n\n return (\n
\n
\n Intent\n trackFieldFocus('Intent')}\n onChange={(e) => {\n const selectedIntent = e.target.value;\n onValueChange(e, 'intent', FTPI_INTENT);\n updateActiveCodeBlock({\n key: 'captureOrder',\n value: selectedIntent === 'capture'\n });\n updateActiveCodeBlock({\n key: 'authorizeOrder',\n value: selectedIntent === 'authorize'\n });\n }}\n />\n
\n {buyerCurrencyOptions && (\n
\n Currency Code\n trackFieldFocus('Currency:Orders')}\n onChange={(e) => onValueChange(e, 'currency', FTPI_CURRENCY)}\n onClose={() => trackFieldClosed('Currency:Orders')}\n />\n
\n )}\n
\n Amount\n trackFieldFocus('Amount')}\n onChange={(e) => {\n trackFieldChange('Amount', e.target.value);\n setOrderAmount(e.target.value);\n debouncedAmountUpdate(e.target.value, 'value');\n }}\n onClose={() => trackFieldClosed('Amount')}\n />\n
\n
\n );\n}\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { CaptionText, DropdownMenu } from '@paypalcorp/pp-react';\nimport get from 'lodash/get';\nimport { trackFieldChange, trackFieldClosed, trackFieldFocus } from '../../../lib/fpti';\nimport styles from '../Configurator.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\n\nconst CardFieldsConfigurator = ({ ecmContent }) => {\n const availableCustomization = get(ecmContent, 'content.contentJson.CardStyle', []);\n const {\n cardFieldsConfigurator: { updateCardFieldStyles },\n cardFieldsConfigurator: { value: cardFieldsConfigurator }\n } = useContext(IntegrationPageSectionContext);\n\n function onValueChange(properties) {\n const { key, value } = properties;\n trackFieldChange(key, value);\n updateCardFieldStyles(properties);\n }\n return (\n <>\n {availableCustomization.map((stylingType) => {\n const { description, customizations, snippetReplacementKey } = stylingType;\n return (\n
\n
\n

{description}

\n {customizations.map((field) => {\n const { name, options, key, targetProperty } = field;\n\n const value = get(cardFieldsConfigurator, [\n snippetReplacementKey,\n targetProperty,\n key\n ]);\n return (\n
\n {name}\n trackFieldFocus(name)}\n onChange={(e) =>\n onValueChange({\n snippetReplacementKey,\n targetProperty,\n key,\n value: e.target.value\n })\n }\n onClose={() => trackFieldClosed('Buyer Country')}\n />\n
\n );\n })}\n
\n
\n );\n })}\n \n );\n};\n\nCardFieldsConfigurator.propTypes = { ecmContent: PropTypes.object.isRequired };\nexport default CardFieldsConfigurator;\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport HtmlPageSectionComponent from './HtmlPageSectionComponent';\nimport AlertBox from '../../../components/AlertBox';\nimport CardFieldsConfigurator from '../CardFieldsConfigurator';\n\nconst ComponentMap = {\n alertBox: AlertBox,\n iAcdcCardFieldsConfigurator: CardFieldsConfigurator\n};\n\nexport default function IntegrationSteps({ ecmContent: { contents: ecmContents = [] } = {} }) {\n const {\n code: {\n language: { frontend, backend } = {},\n updateHighlightedCode,\n consolidatedCode,\n status,\n updateCurrentSectionKey\n },\n pageContent,\n SdkConfigurator: {\n sdkSettings: { intent = '', type = '' }\n },\n codeHighlight: { currentSectionKey }\n } = useContext(IntegrationPageSectionContext);\n const [contents, setContents] = useState(ecmContents);\n const [observer, setObserver] = useState();\n\n const largeSectionHeight = 900;\n const regularSectionThreshold = 0.8;\n const largeSectionThreshold = 0.01;\n\n const filteredContent = useMemo(() => {\n return contents.filter(({ content = {} } = {}) => {\n const languagesEntry = content.contentJson?.languages;\n const typeEntry = content.contentJson?.integrationType;\n const ordersEntry = content.contentJson?.orders;\n let contentEnabled = true;\n if (languagesEntry) {\n if (languagesEntry.frontend) {\n contentEnabled = languagesEntry.frontend?.includes(frontend);\n }\n if (languagesEntry.backend) {\n contentEnabled = languagesEntry.backend?.includes(backend);\n }\n }\n if (typeEntry) {\n contentEnabled = typeEntry === type;\n }\n if (contentEnabled && ordersEntry) {\n if (ordersEntry.intent) {\n contentEnabled = ordersEntry.intent?.includes(intent);\n }\n }\n return contentEnabled;\n });\n }, [contents, frontend, backend, intent, status, type]);\n\n const getSection = (tag) => contents.find((section) => section.content.key === tag);\n\n const getCodeBlock = (key, filename) => {\n const codeBlocks = consolidatedCode.reduce((prev, curr) => {\n return [...prev, ...curr.metadata];\n }, []);\n const keyElm = key.split(',')[0];\n // Let's find the code for a contentKey and filename combination\n let codeBlock = codeBlocks.find((block) => block.key === keyElm && block.filename === filename);\n\n // If we don't find any, get the first code occurence for a contentKey\n if (!codeBlock) {\n codeBlock = codeBlocks.find((block) => block.key === keyElm);\n }\n\n return codeBlock;\n };\n const updateHiglight = (tag) => {\n const section = getSection(tag);\n if (!section) return;\n\n const {\n content: { key, codeBlockKey, codeBlockFileName, contentJson = {} }\n } = section;\n if (!codeBlockKey) return;\n const codeBlock = getCodeBlock(codeBlockKey, codeBlockFileName);\n\n if (!codeBlock) return;\n if (contentJson.CodeBlockToggle) {\n if (!status[codeBlock.key]) {\n if (currentSectionKey === key) {\n updateHighlightedCode({});\n updateCurrentSectionKey(undefined);\n }\n return;\n }\n }\n updateHighlightedCode(codeBlock);\n updateCurrentSectionKey(key);\n };\n\n const handleIntersection = (sections) => {\n if (sections.length > 5 && currentSectionKey !== undefined) return;\n const selectableSections = sections\n .filter((section) => section.isIntersecting)\n .filter((section) => {\n const sectionHeight = section.boundingClientRect.height;\n if (sectionHeight >= largeSectionHeight) {\n return section.intersectionRatio >= largeSectionThreshold;\n }\n return section.intersectionRatio >= regularSectionThreshold;\n });\n const mostVisibleSection =\n selectableSections.length > 1\n ? selectableSections.reduce(\n (accSection, currentSection) =>\n currentSection.intersectionRatio > accSection.intersectionRatio\n ? currentSection\n : accSection,\n sections[0]\n )\n : selectableSections[0];\n if (!mostVisibleSection) return;\n updateHiglight(mostVisibleSection.target.dataset.tag);\n };\n\n const updateObserver = () => {\n if (observer) observer.disconnect();\n setObserver(\n new IntersectionObserver(handleIntersection, {\n threshold: [0, 0.1, 0.25, 0.5, 0.75, 1],\n rootMargin: '-15% 0px -6% 0px'\n })\n );\n };\n\n useEffect(() => {\n if (!pageContent || pageContent.length === 0) return;\n setContents(pageContent);\n updateObserver();\n }, [pageContent]);\n\n const isSelectableSection = (tag) => {\n const {\n content: { codeBlockKey, codeBlockFileName }\n } = getSection(tag);\n if (!codeBlockKey) return false;\n return !!getCodeBlock(codeBlockKey, codeBlockFileName);\n };\n\n const handleSectionClick = (tag) => {\n updateHiglight(tag);\n };\n useEffect(() => {\n if (!observer) return;\n document.querySelectorAll('[data-tag]').forEach((section) => {\n observer.observe(section);\n });\n }, [observer]);\n\n useEffect(() => {\n updateObserver();\n }, [frontend, backend, status, type]);\n\n useEffect(() => {\n if (!currentSectionKey) return;\n const section = getSection(currentSectionKey);\n const codeBlock = getCodeBlock(section.content.codeBlockKey, section.content.codeBlockFileName);\n updateHighlightedCode(codeBlock);\n }, [currentSectionKey]);\n\n useEffect(() => {\n if (filteredContent.length > 0) {\n const firstSelectableContent = filteredContent.find((section) =>\n isSelectableSection(section.content.key)\n );\n if (firstSelectableContent) updateHiglight(firstSelectableContent.content.key);\n }\n }, []);\n\n return (\n <>\n {filteredContent.map(({ content = {} } = {}) => {\n const Component = ComponentMap[content.key];\n if (Component) {\n const { contentDetails, ...rest } = content;\n return (\n \n );\n }\n\n return (\n \n );\n })}\n \n );\n}\n\nIntegrationSteps.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n","import { createContext } from 'react';\n\nconst IntegrationPageSectionContext = createContext({});\n\nexport default IntegrationPageSectionContext;\n","import { createContext } from 'react';\n\nconst TestPanelContext = createContext({});\n\nexport default TestPanelContext;\n","import TestPanel from './TestPanel';\n\nexport default TestPanel;\n","// extracted by mini-css-extract-plugin\nexport default {\"language_sticky_bar\":\"ControlPanel-module_language_sticky_bar__n1NPx\",\"language_field\":\"ControlPanel-module_language_field___XP3l\",\"language_field_text\":\"ControlPanel-module_language_field_text__auXXD\",\"language_dropdown\":\"ControlPanel-module_language_dropdown__QNoV4\",\"credentials_container\":\"ControlPanel-module_credentials_container__dEjsI\",\"language_sticky_bar_logged_out\":\"ControlPanel-module_language_sticky_bar_logged_out__sTNZM\",\"language_sticky_bar_logged_in\":\"ControlPanel-module_language_sticky_bar_logged_in__AlEuD\"};","import React, { useContext } from 'react';\nimport { useSelector } from 'react-redux';\nimport classNames from 'classnames';\nimport { useParams } from 'react-router';\nimport { usePayPalScriptReducer } from '@paypal/react-paypal-js';\nimport { useSearchParams } from 'react-router-dom';\nimport { DropdownMenu, TextDisplay, Tooltip, Row, Col } from '@paypalcorp/pp-react';\nimport styles from './ControlPanel.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport TestPanelContext from '../StateManagement/TestPanelContext';\nimport { trackFieldChange, trackFieldFocus, trackFieldClosed } from '../../../lib/fpti';\nimport { isUserLoggedInSelector } from '../../../store/App/selectors';\n\nexport default function ControlPanel() {\n const {\n code: {\n language: { frontend = '', backend = '' },\n updateCodeSelection\n },\n SdkConfigurator: {\n updateSdkSettings,\n sdkSettings: { clientId, sdkBaseUrl, type }\n },\n apps,\n pageMetaDataConfig\n } = useContext(IntegrationPageSectionContext);\n\n const { resetTestPanel } = useContext(TestPanelContext);\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n const { product } = useParams();\n const [{ options }, dispatch] = usePayPalScriptReducer();\n const [searchParams] = useSearchParams();\n\n const langBarClassNames = classNames(styles.language_sticky_bar, {\n [styles.language_sticky_bar_logged_out]: !isUserLoggedIn,\n [styles.language_sticky_bar_logged_in]: isUserLoggedIn\n });\n\n const defaultConfig = {\n standard: {\n frontend: [\n { value: 'html', primaryText: 'HTML' },\n { value: 'react', primaryText: 'React.js' }\n ],\n backend: [{ value: 'javascript', primaryText: 'Node.js' }]\n },\n advanced: {\n frontend: [\n { value: 'html', primaryText: 'HTML' },\n { value: 'react', primaryText: 'React.js' }\n ],\n backend: [{ value: 'javascript', primaryText: 'Node.js' }]\n },\n fastlane: {\n frontend: [{ value: 'html', primaryText: 'HTML' }],\n backend: [{ value: 'javascript', primaryText: 'Node.js' }]\n }\n };\n\n const appsDropdownOptions = apps.map((app) => {\n return {\n value: app.clientId,\n primaryText: app.name\n };\n });\n\n // Saving this for when the SDK team adds solution to cleanup store on client-side.\n /*\n const fetchClientToken = async (appClientId) => {\n try {\n const tokenRequest = await fetch('/studio/api/v1/apps/sandbox-token', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n clientId: appClientId\n })\n });\n const { response, message } = await tokenRequest.json();\n if (tokenRequest.status >= 300) {\n clientLogger.cal.error('SERVICE_ERROR', {\n message: `error with fastlane client-side fetchClientToken. status: ${tokenRequest.status}, message: ${message}`\n });\n return { error: message };\n }\n return { clientAccessToken: response };\n } catch (error) {\n clientLogger.cal.warn('NETWORK_ERROR', {\n message: `error with fastlane client-side fetchClientToken. status: ${error.message}`\n });\n return { error };\n }\n };\n */\n\n const handleAppsDropdownChange = async (e) => {\n if (clientId === e.target.value) return;\n trackFieldChange('App', e.target.value);\n if (product === 'fastlane') {\n // Saving this for when the SDK team adds solution to cleanup store on client-side.\n /* setFastlaneContext(true, 'isLoading');\n const { clientAccessToken, error } = await fetchClientToken(e.target.value);\n if (!error && clientAccessToken) {\n updateSdkSettings(e.target.value, 'clientId');\n updateSdkSettings(clientAccessToken, 'clientAccessToken');\n } else {\n navigate('/error');\n }\n */\n const name = apps[e.target.selectedIndex]?.name || 'Default Application';\n\n // Clone the current search params and add or modify the parameters\n const newParams = new URLSearchParams(searchParams);\n newParams.set('app', name.replaceAll(' ', '_')); // Add or update the parameter\n newParams.set('frontend', frontend);\n newParams.set('backend', backend);\n newParams.set('type', type);\n window.open(\n `/studio/checkout/fastlane/integrate?${newParams.toString()}`,\n '_self',\n 'popup=false'\n );\n } else {\n updateSdkSettings(e.target.value, 'clientId');\n dispatch({\n type: 'resetOptions',\n value: {\n ...options,\n sdkBaseUrl,\n clientId: e.target.value\n }\n });\n resetTestPanel();\n }\n };\n\n return (\n \n \n trackFieldFocus('Frontend')}\n onChange={(e) => {\n updateCodeSelection(e.target.value, 'frontend');\n trackFieldChange('Frontend', e.target.value);\n }}\n onClose={() => trackFieldClosed('Frontend')}\n value={frontend}\n />\n \n \n trackFieldFocus('Backend')}\n onChange={(e) => {\n updateCodeSelection(e.target.value, 'backend');\n trackFieldChange('Backend', e.target.value);\n }}\n onClose={() => trackFieldClosed('Backend')}\n value={backend}\n />\n \n {apps.length > 0 && (\n \n }\n />\n trackFieldFocus('App')}\n onChange={handleAppsDropdownChange}\n onClose={() => trackFieldClosed('App')}\n value={clientId}\n />\n \n \n )}\n \n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"heading_container\":\"IntegrationPageSection-module_heading_container__YtCfJ\",\"page_section\":\"IntegrationPageSection-module_page_section__P6ZNg\",\"AlertBox-module_alert_box_container__kNSfQ\":\"IntegrationPageSection-module_AlertBox-module_alert_box_container__kNSfQ__cLMVa\",\"page_section__hidden\":\"IntegrationPageSection-module_page_section__hidden___CmYr\",\"tabs\":\"IntegrationPageSection-module_tabs__QyQs2\",\"tabs_expanded\":\"IntegrationPageSection-module_tabs_expanded__lu7wP\",\"integration_expand_button__base\":\"IntegrationPageSection-module_integration_expand_button__base__VaaYg\",\"integration_expand_button\":\"IntegrationPageSection-module_integration_expand_button__WGPEv\",\"integration_collapse_button\":\"IntegrationPageSection-module_integration_collapse_button__Jq3SG\",\"tabs_wrapper\":\"IntegrationPageSection-module_tabs_wrapper__XR9pf\",\"page_section_container\":\"IntegrationPageSection-module_page_section_container___VYct\",\"integration_code_container__logged_out\":\"IntegrationPageSection-module_integration_code_container__logged_out__f_M4s\",\"integration_code_container__logged_in\":\"IntegrationPageSection-module_integration_code_container__logged_in__QKaVU\",\"integration_loader\":\"IntegrationPageSection-module_integration_loader__w39Rv\",\"integration_loader_container\":\"IntegrationPageSection-module_integration_loader_container__DYjZ0\"};","// extracted by mini-css-extract-plugin\nexport default {\"code_content\":\"CodeWrapper-module_code_content__moEWt\",\"code_snippet\":\"CodeWrapper-module_code_snippet__orhCG\",\"code_actions_bar\":\"CodeWrapper-module_code_actions_bar__IbVGp\",\"code_tabs\":\"CodeWrapper-module_code_tabs__Lz0Hl\",\"tab_nav_button\":\"CodeWrapper-module_tab_nav_button__jtNvQ\",\"tab_nav_button_selected\":\"CodeWrapper-module_tab_nav_button_selected__PYK5a\",\"code_btn_bar\":\"CodeWrapper-module_code_btn_bar__ejrfu\",\"code_action_btn\":\"CodeWrapper-module_code_action_btn__E4Hc4\",\"code_share_link\":\"CodeWrapper-module_code_share_link__tY4HO\",\"guide_code_wrapper\":\"CodeWrapper-module_guide_code_wrapper__cPZg6\"};","import React, { useContext, useEffect, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n IconButton,\n CopyToClipboardIcon,\n DownloadIcon,\n Button,\n WarningIcon\n} from '@paypalcorp/pp-react';\nimport copy from 'copy-to-clipboard';\nimport JSZip from 'jszip';\nimport { saveAs } from 'file-saver';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport { vscDarkPlus } from 'react-syntax-highlighter/dist/cjs/styles/prism';\nimport path from 'path';\nimport styles from './CodeWrapper.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackTabClick, trackTabShown, trackButtonClick } from '../../../lib/fpti';\n\nconst CodeWrapper = ({ sectionIndex = 1 }) => {\n const {\n code: { consolidatedCode = [], downloadCodeUrl },\n codeHighlight: { codeBlock }\n } = useContext(IntegrationPageSectionContext);\n\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n const [codeSnippetIconState, setCodeSnippetIconState] = useState({\n state: 'initial',\n srText: ''\n });\n const [downloadIconState, setDownloadIconState] = useState({\n state: 'initial',\n srText: ''\n });\n const [highlightedLines, setHighlightedLines] = useState([]);\n const changeCodeIconState = (state, srText) => {\n setCodeSnippetIconState({\n state,\n srText\n });\n };\n const guideCodeWrapperRef = useRef(null);\n const handleMouseEnter = () => {\n if (guideCodeWrapperRef.current) {\n guideCodeWrapperRef.current.style.overscrollBehavior = 'contain';\n }\n };\n const handleMouseLeave = () => {\n if (guideCodeWrapperRef.current) {\n guideCodeWrapperRef.current.style.overscrollBehavior = '';\n }\n };\n useEffect(() => {\n return () => {\n if (guideCodeWrapperRef.current) {\n guideCodeWrapperRef.current.style.overscrollBehavior = '';\n }\n };\n }, []);\n const changeDownloadIconState = (state, srText, autoReset = false) => {\n setDownloadIconState({\n state,\n srText\n });\n if (autoReset) {\n setTimeout(() => {\n setDownloadIconState({\n state: 'initial',\n srText: ''\n });\n }, 3000);\n }\n };\n const clickHandler = (clickedTabIndex) => {\n setSelectedTabIdx(clickedTabIndex);\n // Recover fadedLines in current new file.\n setTimeout(() => {\n const $codeLines = document.getElementById(`code-snippet-${sectionIndex}-${clickedTabIndex}`)\n ?.children?.[0]?.children;\n if ($codeLines && $codeLines.length > 0) {\n Array.from($codeLines).forEach((element, index) => {\n $codeLines[index].className = '';\n });\n }\n }, 1);\n };\n const codeLineNumberProducer = (start, end) => {\n if (start === 1 && end === 1) return [];\n return Array.from({ length: end - start + 1 }).map((i, index) => index + start);\n };\n\n const handleCopyClick = () => {\n copy(consolidatedCode[selectedTabIdx]?.code);\n changeCodeIconState('success', 'Success');\n setTimeout(() => {\n changeCodeIconState('initial', '');\n }, 3000);\n };\n\n useEffect(() => {\n let fileIndex = consolidatedCode.map((code) => code.filename).indexOf(codeBlock.filename);\n fileIndex = fileIndex > 0 ? fileIndex : 0;\n\n const file = consolidatedCode[fileIndex > 0 ? fileIndex : 0];\n const currentCodeBlock = file.metadata.find((code) => code.key === codeBlock.key);\n\n setSelectedTabIdx(fileIndex);\n if (currentCodeBlock) {\n setHighlightedLines(\n codeLineNumberProducer(currentCodeBlock.startLine || 0, currentCodeBlock.endLine || 0)\n );\n }\n }, [codeBlock, consolidatedCode]);\n useEffect(() => {\n setTimeout(() => {\n // Scroll the highlighted codes into view\n const firstHighlightLineNum = highlightedLines[0];\n if (firstHighlightLineNum !== undefined) {\n // One code line height is about 20px. Leave 2 lines above the hightlighted part.\n document.getElementById('guide-code-wrapper').scrollTop = (firstHighlightLineNum - 2) * 20;\n }\n }, 1);\n }, [highlightedLines]);\n\n const fetchZipFile = async (url) => {\n const response = await fetch(url);\n if (!response.ok) throw new Error('Network error was not ok');\n return response.arrayBuffer();\n };\n const handleDownload = async () => {\n changeDownloadIconState('processing', 'Downloading');\n let result;\n try {\n result = await fetchZipFile(downloadCodeUrl);\n } catch {\n changeDownloadIconState('error', 'Error fetching', true);\n }\n\n if (!result) return;\n\n const zip = new JSZip();\n\n await zip.loadAsync(result);\n const files = Object.keys(zip.files).map((fullPath) => zip.files[fullPath]);\n let basePath = files.find((file) => file.dir).name;\n const deepBasePath = files.find(\n (file) => file.name.toLowerCase() === `${basePath}${basePath}`.toLowerCase()\n );\n if (deepBasePath) basePath += basePath;\n consolidatedCode.forEach((file) => {\n const fullPath = file?.filePath ? basePath + file?.filePath : basePath;\n zip.file(`${fullPath}/${file?.filename}`, file?.code);\n });\n const content = await zip.generateAsync({ type: 'blob' });\n const basename = path.basename(downloadCodeUrl);\n saveAs(content, `${basename}${!basename.endsWith('.zip') ? '.zip' : ''}`);\n changeDownloadIconState('success', 'Success', true);\n };\n\n const calculatedStyle = (lineNumber) => {\n const style = {\n display: 'block',\n wordBreak: 'break-all'\n };\n if (\n highlightedLines.length === 0 ||\n !highlightedLines.includes(lineNumber) ||\n selectedTabIdx !== consolidatedCode.map((code) => code.filename).indexOf(codeBlock.filename)\n ) {\n style.backgroundColor = 'black';\n }\n return { style };\n };\n\n const languageMapper = {\n react: 'javascript'\n };\n\n return (\n
\n
\n
\n {consolidatedCode.map((entry, tabIndex) => {\n return (\n {\n trackTabClick(entry.filename);\n trackTabShown(entry.filename);\n clickHandler(tabIndex);\n }}\n key={entry.filename}\n >\n {entry.filename}\n \n );\n })}\n
\n
\n
\n {\n handleCopyClick();\n const file = consolidatedCode[selectedTabIdx].filename;\n const { language } = consolidatedCode[selectedTabIdx];\n trackButtonClick('Copy', null, { file, language });\n }}\n >\n Copy\n \n
\n
\n {\n const file = consolidatedCode[selectedTabIdx].filename;\n const { language } = consolidatedCode[selectedTabIdx];\n trackButtonClick('Download', null, { file, language });\n handleDownload();\n }}\n >\n Download\n \n
\n
\n
\n {consolidatedCode[selectedTabIdx] && (\n \n \n {consolidatedCode[selectedTabIdx].code}\n \n
\n )}\n
\n );\n};\nCodeWrapper.propTypes = {\n sectionIndex: PropTypes.number\n};\n\nCodeWrapper.defaultProps = {\n sectionIndex: 1\n};\n\nexport default CodeWrapper;\n","const tabs = {\n preview: {\n id: 'tab-preview',\n panelId: 'panel-preview',\n label: 'Preview'\n },\n code: {\n id: 'tab-code',\n panelId: 'panel-code',\n label: 'Code'\n }\n};\n\nexport default tabs;\n","export const CAPTURE_INTENT = 'capture';\n\nexport const AUTHORIZE_INTENT = 'authorize';\n\nexport const SDK_FLOW_SLUG = {\n ADVANCED: 'advanced',\n STANDARD: 'standard',\n FASTLANE: 'fastlane'\n};\n\nexport const CARD_FIELDS_SNIPPET_KEYS = {\n PARENT: 'parent_card_field_styles',\n NAME: 'card_name_field_styles',\n NUMBER: 'card_number_field_styles',\n EXPIRY_DATE: 'card_expiry_date_field_styles',\n CVV: 'card_cvv_field_styles'\n};\n","import React from 'react';\nimport styles from './Spacer.module.less';\n\nexport default function Spacer() {\n return (\n
\n OR\n
\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"divider\":\"Spacer-module_divider__ewqEj\"};","// extracted by mini-css-extract-plugin\nexport default {\"preview_wrapper\":\"Preview-module_preview_wrapper__ud_dL\",\"acdc_test_cards_container\":\"Preview-module_acdc_test_cards_container__nqp0p\",\"preview_checkout_wrapper\":\"Preview-module_preview_checkout_wrapper__TeMYM\",\"preview_checkout_container\":\"Preview-module_preview_checkout_container___Qhbc\",\"preview_loader_container\":\"Preview-module_preview_loader_container__sliCw\",\"preview_loader\":\"Preview-module_preview_loader__DMuAQ\",\"billing_row\":\"Preview-module_billing_row__iPHjJ\",\"card_fields_provider\":\"Preview-module_card_fields_provider__PbkGi\"};","// extracted by mini-css-extract-plugin\nexport default {\"test_cards_container\":\"TestCards-module_test_cards_container___srPv\",\"accordion_row_content\":\"TestCards-module_accordion_row_content__mJ7zb\",\"radio_buttons_toggle\":\"TestCards-module_radio_buttons_toggle__pcqnK\",\"header_toggle\":\"TestCards-module_header_toggle___Wa5Q\",\"radio_button_header\":\"TestCards-module_radio_button_header__T7HkK\",\"test_cards_section\":\"TestCards-module_test_cards_section__RmmgL\",\"test_cards_section_threeds\":\"TestCards-module_test_cards_section_threeds__Iqno_\",\"card\":\"TestCards-module_card__xmMRf\",\"card_brand\":\"TestCards-module_card_brand__D0xGs\",\"card_number\":\"TestCards-module_card_number___QKf_\",\"copy_icon\":\"TestCards-module_copy_icon__IHR0Y\",\"view_all\":\"TestCards-module_view_all__S0ppO\",\"dropdownmenu_wrapper\":\"TestCards-module_dropdownmenu_wrapper___StY8\",\"dropdownmenu\":\"TestCards-module_dropdownmenu__m_CSn\"};","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport copy from 'copy-to-clipboard';\nimport { CopyToClipboardIcon, CheckmarkBackgroundIcon } from '@paypalcorp/pp-react';\nimport styles from '../../Page/IntegrationPageSection/PreviewWrapper/TestCards.module.less';\nimport { trackButtonClick } from '../../lib/fpti';\n\nconst CopyToClipboard = ({ contentToCopy }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleCopy = (number) => {\n copy(number);\n setIsCopied(true);\n trackButtonClick('Copy Card Number', null, number);\n\n setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n };\n\n return (\n
\n {isCopied ? (\n \n ) : (\n handleCopy(contentToCopy)} />\n )}\n
\n );\n};\n\nCopyToClipboard.propTypes = {\n contentToCopy: PropTypes.string.isRequired\n};\n\nexport default CopyToClipboard;\n","import React, { useContext } from 'react';\nimport { BodyText } from '@paypalcorp/pp-react';\nimport styles from '../TestCards.module.less';\nimport CopyToClipboard from '../../../../components/CopyToClipboard';\nimport IntegrationPageSectionContext from '../../StateManagement/IntegrationPageSectionContext';\n\nconst Non3DsTestCards = () => {\n const { Non3DsCards = {} } = useContext(IntegrationPageSectionContext);\n\n return (\n \n
\n {Non3DsCards.cards\n ? Non3DsCards.cards.map((card) => (\n
\n {card.brand}\n {card.number}\n \n
\n ))\n : null}\n {Non3DsCards && Non3DsCards.additionaltestcardslink && (\n
\n \n View all test cards\n \n
\n )}\n
\n
\n );\n};\n\nexport default Non3DsTestCards;\n","import React, { useState, useContext, useEffect, useMemo } from 'react';\nimport get from 'lodash/get';\nimport { BodyText, DropdownMenu } from '@paypalcorp/pp-react';\nimport CopyToClipboard from '../../../../components/CopyToClipboard';\nimport IntegrationPageSectionContext from '../../StateManagement/IntegrationPageSectionContext';\nimport styles from '../TestCards.module.less';\nimport { trackFieldFocus, trackFieldChange } from '../../../../lib/fpti';\n\nconst ThreeDTestCards = () => {\n const { ThreeDsCards = {} } = useContext(IntegrationPageSectionContext);\n const [selectedCountry, setSelectedCountry] = useState('United States');\n const [selectedScenario, setSelectedScenario] = useState('');\n const [cards, setCards] = useState([]);\n\n const countryOptions = useMemo(() => {\n return (\n (ThreeDsCards.countries &&\n ThreeDsCards.countries.map((country) => ({\n primaryText: country.PrimaryText,\n value: country.value\n }))) ||\n []\n );\n }, [ThreeDsCards.countries]);\n\n const scenarioOptions = useMemo(() => {\n return (\n (ThreeDsCards.scenarios &&\n ThreeDsCards.scenarios[selectedCountry]?.map((scenario) => ({\n primaryText: scenario.primaryText,\n value: scenario.value\n }))) ||\n []\n );\n }, [selectedCountry, ThreeDsCards.scenarios]);\n\n useEffect(() => {\n const scenarios = get(ThreeDsCards, `scenarios.${selectedCountry}`, []);\n if (scenarios.length > 0) {\n const initialScenario = get(scenarios, '[0].value', '');\n setSelectedScenario(initialScenario);\n const initialCards = get(\n scenarios.find((scenario) => scenario.value === initialScenario),\n 'cards',\n []\n );\n setCards(initialCards);\n }\n }, [ThreeDsCards, selectedCountry]);\n\n const handleCountryChange = (e) => {\n const newCountry = e.target.value;\n setSelectedCountry(newCountry);\n trackFieldFocus('Country');\n trackFieldChange(newCountry);\n\n const scenarios = get(ThreeDsCards, ['scenarios', newCountry], []);\n const newSelectedScenario = get(scenarios, [0, 'value'], '');\n setSelectedScenario(newSelectedScenario);\n\n const newCards = get(\n scenarios.find((scenario) => scenario.value === newSelectedScenario),\n 'cards',\n []\n );\n setCards(newCards);\n };\n\n const handleScenarioChange = (e) => {\n const newScenario = e.target.value;\n setSelectedScenario(newScenario);\n trackFieldFocus('Scenario');\n trackFieldChange(newScenario);\n\n const updatedCards =\n ThreeDsCards.scenarios[selectedCountry]?.find((scenario) => scenario.value === newScenario)\n ?.cards || [];\n setCards(updatedCards);\n };\n\n return (\n \n
\n \n \n
\n
\n {cards\n ? cards.map((card) => (\n
\n {card.brand}\n {card.number}\n \n
\n ))\n : null}\n {ThreeDsCards && ThreeDsCards.additionaltestcardslink && (\n
\n \n View all test cards\n \n
\n )}\n
\n
\n );\n};\n\nexport default ThreeDTestCards;\n","import React, { useRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Accordion, AccordionRow, Radio } from '@paypalcorp/pp-react';\nimport Non3DsTestCards from './Non3DsTestCards';\nimport ThreeDsTestCards from './ThreeDsTestCards';\nimport styles from '../TestCards.module.less';\nimport { trackFieldFocus, trackFieldChange, trackFieldClosed } from '../../../../lib/fpti';\n\nconst TestCardsWrapper = ({ showRadioButtons = true }) => {\n const [isOpen, setOpen] = useState(false);\n const [radioState, setRadioState] = useState('Non3DS');\n const accordionRef = useRef(null);\n\n const handleChange = (e) => {\n trackFieldChange(e.target.value);\n setRadioState(e.target.value);\n };\n\n useEffect(() => {\n const accordionElement = accordionRef.current;\n const svgElement = accordionElement.querySelector('svg');\n if (svgElement) {\n svgElement.setAttribute('tabindex', '0');\n }\n }, []);\n\n return (\n
\n \n {\n setOpen(!isOpen);\n if (!isOpen) {\n trackFieldFocus('Test Cards');\n } else {\n trackFieldClosed('Test Cards');\n }\n }}\n >\n {isOpen &&\n (showRadioButtons ? (\n
\n \n \n
\n ) : (\n
\n ))}\n {radioState === 'Non3DS' ? : }\n \n \n
\n );\n};\n\nTestCardsWrapper.propTypes = {\n showRadioButtons: PropTypes.bool.isRequired\n};\n\nexport default TestCardsWrapper;\n","/* eslint-disable no-unused-vars, consistent-return, */\nimport { usePayPalCardFields } from '@paypal/react-paypal-js';\nimport { Button } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\nimport { logConfirmPaymentSource } from '../../../util/sdkCallbacks';\nimport TestPanelContext from '../../IntegrationPageSection/StateManagement/TestPanelContext';\n\nconst SubmitPayment = ({ isPaying, setIsPaying, billingAddress }) => {\n const { cardFieldsForm } = usePayPalCardFields();\n const { updateLogs } = useContext(TestPanelContext);\n\n const handleClick = async () => {\n if (!cardFieldsForm) {\n const childErrorMessage =\n 'Unable to find any child components in the ';\n\n throw new Error(childErrorMessage);\n }\n const formState = await cardFieldsForm.getState();\n\n if (!formState.isFormValid) {\n // eslint-disable-next-line no-alert\n return alert('The payment form is invalid');\n }\n setIsPaying(true);\n\n cardFieldsForm\n .submit({ billingAddress })\n .catch((error) => {\n logConfirmPaymentSource({\n updateLogs,\n errorMsg: error.message\n });\n })\n .finally((_err) => {\n setIsPaying(false);\n });\n };\n\n return (\n \n );\n};\n\nSubmitPayment.propTypes = {\n isPaying: PropTypes.bool.isRequired,\n setIsPaying: PropTypes.func.isRequired,\n billingAddress: PropTypes.shape({\n addressLine1: PropTypes.string,\n addressLine2: PropTypes.string,\n adminArea1: PropTypes.string,\n adminArea2: PropTypes.string,\n countryCode: PropTypes.string,\n postalCode: PropTypes.string\n }).isRequired\n};\n\nexport default SubmitPayment;\n","import {\n PayPalCardFieldsProvider,\n PayPalNameField,\n PayPalNumberField,\n PayPalExpiryField,\n PayPalCVVField\n} from '@paypal/react-paypal-js';\nimport { Col, Container, Row, TextInput } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { CARD_FIELDS_SNIPPET_KEYS } from '../../../constants/sdk';\nimport SubmitPayment from '../SubmitPayment';\nimport IntegrationPageSectionContext from '../../IntegrationPageSection/StateManagement/IntegrationPageSectionContext';\nimport styles from '../../IntegrationPageSection/PreviewWrapper/Preview.module.less';\n\nconst CustomizedCardFieldsAndBillingAddress = (props) => {\n const { handleCreateOrder, handleOrderIntent } = props;\n const {\n cardFieldsConfigurator: { value: cardFieldsConfigurator },\n code: { status: { handleBillingAddress: billingAddressToggle } = {} } = {},\n OrderConfigurator: { threeDsSetting, amount: { value: orderAmount } = {} } = {},\n SdkConfigurator: { sdkSettings }\n } = useContext(IntegrationPageSectionContext);\n const [isPaying, setIsPaying] = useState(false);\n const [cardFieldsLoading, setCardFieldsLoading] = useState(true);\n\n const [billingAddress, setBillingAddress] = useState({\n addressLine1: '',\n addressLine2: '',\n adminArea1: '',\n adminArea2: '',\n countryCode: '',\n postalCode: ''\n });\n\n useEffect(() => {\n setCardFieldsLoading(true);\n setTimeout(() => {\n setCardFieldsLoading(false);\n }, 1);\n }, [cardFieldsConfigurator, sdkSettings, threeDsSetting, orderAmount]);\n\n useEffect(() => {\n setBillingAddress({\n addressLine1: '',\n addressLine2: '',\n adminArea1: '',\n adminArea2: '',\n countryCode: '',\n postalCode: ''\n });\n }, [billingAddressToggle]);\n\n const parentStyles = cardFieldsConfigurator[CARD_FIELDS_SNIPPET_KEYS.PARENT] || {};\n\n const getIndividualFieldStyles = (snippetKey) => {\n const individualStyles = cardFieldsConfigurator[snippetKey] || {};\n return {\n input: {\n ...(parentStyles.input || {}),\n ...(individualStyles.input || {})\n },\n '.invalid': {\n ...(parentStyles['.invalid'] || {}),\n ...(individualStyles['.invalid'] || {})\n }\n };\n };\n\n const handleBillingAddressChange = (field, value) => {\n setBillingAddress((prevAddress) => ({\n ...prevAddress,\n [field]: value\n }));\n };\n\n return (\n <>\n {!cardFieldsLoading && (\n \n handleCreateOrder({\n ...params,\n threeDsSetting\n })\n }\n onApprove={handleOrderIntent}\n style={parentStyles}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {billingAddressToggle && (\n \n \n \n \n

Billing Address

\n \n
\n \n \n handleBillingAddressChange('addressLine1', e.target.value)}\n />\n \n \n \n \n handleBillingAddressChange('addressLine2', e.target.value)}\n />\n \n \n \n \n handleBillingAddressChange('adminArea1', e.target.value)}\n />\n \n \n \n \n handleBillingAddressChange('adminArea2', e.target.value)}\n />\n \n \n \n \n handleBillingAddressChange('countryCode', e.target.value)}\n />\n \n \n \n \n handleBillingAddressChange('postalCode', e.target.value)}\n />\n \n \n \n
\n )}\n \n \n value).length > 0 && {\n billingAddress\n })}\n />\n \n \n
\n
\n )}\n \n );\n};\n\nCustomizedCardFieldsAndBillingAddress.propTypes = {\n handleCreateOrder: PropTypes.func.isRequired,\n handleOrderIntent: PropTypes.func.isRequired\n};\n\nexport default CustomizedCardFieldsAndBillingAddress;\n","import { PayPalButtons } from '@paypal/react-paypal-js';\nimport { LoadingSpinner } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport Spacer from '../../../components/Spacer';\nimport { CAPTURE_INTENT, SDK_FLOW_SLUG } from '../../../constants/sdk';\nimport { trackButtonClick } from '../../../lib/fpti';\nimport { isUserLoggedInSelector } from '../../../store/App/selectors';\nimport {\n authorizeOrder,\n captureAuthorize,\n captureOrder,\n createOrder,\n shippingAddressChange,\n shippingOptionsChange\n} from '../../../util/sdkCallbacks';\nimport styles from '../../IntegrationPageSection/PreviewWrapper/Preview.module.less';\nimport TestCardsWrapper from '../../IntegrationPageSection/PreviewWrapper/TestCardsWrapper';\nimport IntegrationPageSectionContext from '../../IntegrationPageSection/StateManagement/IntegrationPageSectionContext';\nimport TestPanelContext from '../../IntegrationPageSection/StateManagement/TestPanelContext';\nimport CustomizedCardFieldsAndBillingAddress from './CustomizedCardFieldsAndBillingAddress';\n\nconst AdvancedPreviewWrapper = () => {\n const [buttonLoading, setButtonLoading] = useState(true);\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n const {\n ButtonConfigurator: { buttonSettings } = {},\n SdkConfigurator: { sdkSettings },\n OrderConfigurator: { amount: { value: orderAmount } = {} } = {},\n code: { status: { handleShippingAddress = false, configureButtonMessages = false } = {} } = {},\n lastCapture: { updateLastCapture }\n } = useContext(IntegrationPageSectionContext);\n const { updateLogs, toggleTestPanel } = useContext(TestPanelContext);\n const { clientId } = sdkSettings;\n const csrfToken = useSelector((state) => state?.app?.csrfToken);\n\n useEffect(() => {\n setButtonLoading(true);\n }, [sdkSettings, buttonSettings, orderAmount, handleShippingAddress, configureButtonMessages]);\n\n const handleCreateOrder = async ({ paymentSource, threeDsSetting }) => {\n try {\n const orderId = await createOrder({\n currencyCode: sdkSettings?.currency,\n amount: orderAmount,\n intent: sdkSettings?.intent,\n handleShippingAddress,\n csrfToken,\n updateLogs,\n clientId: isUserLoggedIn ? clientId : null,\n integration_type: SDK_FLOW_SLUG.ADVANCED,\n paymentSource,\n threeDsSetting\n });\n toggleTestPanel(true);\n return orderId;\n } catch (err) {\n return null;\n }\n };\n\n const handleCaptureOrder = async ({ orderID }) => {\n await captureOrder({\n orderId: orderID,\n csrfToken,\n updateLogs,\n updateLastCapture,\n clientId: isUserLoggedIn ? clientId : null\n });\n toggleTestPanel(true);\n };\n\n const handleAuthorizeOrder = async ({ orderID }) => {\n const authorizationId = await authorizeOrder({\n orderId: orderID,\n clientId: isUserLoggedIn ? clientId : null,\n csrfToken,\n updateLogs\n });\n if (authorizationId) {\n await captureAuthorize({\n authorizationId,\n csrfToken,\n updateLogs,\n updateLastCapture,\n clientId: isUserLoggedIn ? clientId : null\n });\n }\n toggleTestPanel(true);\n };\n\n const handleOrderIntent = (data) => {\n if (sdkSettings.intent === CAPTURE_INTENT) {\n handleCaptureOrder(data);\n } else {\n handleAuthorizeOrder(data);\n }\n };\n\n const handleShippingAddressChange = (data) => {\n if (handleShippingAddress) {\n shippingAddressChange(data, updateLogs);\n }\n };\n\n const handleShippingOptionsChange = (data) => {\n if (handleShippingAddress) {\n shippingOptionsChange(data, updateLogs);\n }\n };\n\n return (\n
\n
\n \n
\n
\n
\n {buttonLoading && (\n
\n \n
\n )}\n setButtonLoading(false)}\n createOrder={handleCreateOrder}\n onApprove={handleOrderIntent}\n onClick={(data) => trackButtonClick(data.fundingSource)}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(handleShippingAddress\n ? {\n onShippingAddressChange: (data) => handleShippingAddressChange(data),\n onShippingOptionsChange: (data) => handleShippingOptionsChange(data)\n }\n : {})}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(configureButtonMessages ? { message: { amount: Number(orderAmount) } } : {})}\n />\n \n \n
\n
\n
\n );\n};\n\nAdvancedPreviewWrapper.propTypes = {\n isUserLoggedIn: PropTypes.bool.isRequired\n};\n\nexport default AdvancedPreviewWrapper;\n","// extracted by mini-css-extract-plugin\nexport default {\"preview_wrapper\":\"Fastlane-module_preview_wrapper__pYVS6\",\"fastlane_preview_container\":\"Fastlane-module_fastlane_preview_container__bW04S\",\"divider\":\"Fastlane-module_divider__eUm_3\",\"preview_loader_container\":\"Fastlane-module_preview_loader_container__YFh4b\",\"address_form\":\"Fastlane-module_address_form__sXsNE\",\"address_summary_text\":\"Fastlane-module_address_summary_text__Lij_U\",\"cta_button_container\":\"Fastlane-module_cta_button_container__WyGOp\",\"address_form_field\":\"Fastlane-module_address_form_field__gGc_U\",\"fastlane_shipping_checkbox\":\"Fastlane-module_fastlane_shipping_checkbox__kAepA\",\"address_form_field_container\":\"Fastlane-module_address_form_field_container__nkfmq\",\"continue_button\":\"Fastlane-module_continue_button__ezFIm\",\"edit_button\":\"Fastlane-module_edit_button__u_v_0\",\"identity_section_input\":\"Fastlane-module_identity_section_input__n5cgH\",\"section_heading\":\"Fastlane-module_section_heading__k29OE\",\"section_summary\":\"Fastlane-module_section_summary__KbdtV\",\"shipping_section\":\"Fastlane-module_shipping_section__M0FxT\",\"fastlane_test_cards_container\":\"Fastlane-module_fastlane_test_cards_container___imYl\"};","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { TextInput, Button } from '@paypalcorp/pp-react';\nimport styles from '../Fastlane.module.less';\n\nconst ShippingAddressForm = ({\n shippingAddress: {\n name: { givenName: givenNameProp = '', familyName: familyNameProp = '' } = {},\n address: {\n addressLine1: addressLine1Prop = '',\n addressLine2: addressLine2Prop = '',\n adminArea2: adminArea2Prop = '',\n adminArea1: adminArea1Prop = '',\n postalCode: postalCodeProp = '',\n countryCode: countryCodeProp = ''\n } = {},\n phoneNumber: {\n telCountryCode: telCountryCodeProp = '',\n nationalNumber: nationalNumberProp = ''\n } = {}\n } = {},\n onSubmit\n}) => {\n const [formData, setFormData] = useState({\n givenName: givenNameProp,\n familyName: familyNameProp,\n addressLine1: addressLine1Prop,\n addressLine2: addressLine2Prop,\n adminArea2: adminArea2Prop,\n adminArea1: adminArea1Prop,\n postalCode: postalCodeProp,\n countryCode: countryCodeProp,\n telCountryCode: telCountryCodeProp,\n nationalNumber: nationalNumberProp\n });\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n setFormData({\n ...formData,\n [name]: value\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n const {\n addressLine1,\n addressLine2,\n adminArea2,\n adminArea1,\n postalCode,\n countryCode,\n givenName,\n familyName,\n telCountryCode,\n nationalNumber\n } = formData;\n\n const formattedAddress = {\n address: {\n addressLine1,\n addressLine2,\n adminArea2,\n adminArea1,\n postalCode,\n countryCode\n },\n name: {\n givenName,\n familyName,\n fullName: [givenName, familyName].filter((field) => !!field).join(' ')\n },\n phoneNumber: {\n telCountryCode,\n nationalNumber\n }\n };\n\n onSubmit(formattedAddress);\n };\n return (\n
\n
\n \n \n
\n \n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n );\n};\n\nexport default ShippingAddressForm;\n\nShippingAddressForm.propTypes = {\n shippingAddress: PropTypes.object,\n onSubmit: PropTypes.func.isRequired\n};\n\nShippingAddressForm.defaultProps = {\n shippingAddress: {}\n};\n","import React, { useState } from 'react';\nimport { Button, TextInput } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from '../Fastlane.module.less';\n\nconst BillingAddressForm = ({\n billingAddress: {\n addressLine1 = '',\n addressLine2 = '',\n adminArea2 = '',\n adminArea1 = '',\n postalCode = '',\n countryCode = ''\n } = {},\n onSubmit\n}) => {\n const [formData, setFormData] = useState({\n addressLine1,\n addressLine2,\n adminArea2,\n adminArea1,\n postalCode,\n countryCode\n });\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n setFormData({\n ...formData,\n [name]: value\n });\n };\n\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit({ address: formData });\n };\n\n return (\n
\n \n \n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n );\n};\n\nexport default BillingAddressForm;\n\nBillingAddressForm.propTypes = {\n billingAddress: PropTypes.object,\n onSubmit: PropTypes.func.isRequired\n};\n\nBillingAddressForm.defaultProps = {\n billingAddress: {}\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { BodyText, Button, EditIcon, HeadingText } from '@paypalcorp/pp-react';\nimport { changePayment } from './helpers';\nimport styles from '../Fastlane.module.less';\n\nexport default function FlexiblePaymentSection({\n activeSection,\n paymentToken,\n profile,\n setPaymentToken\n}) {\n return (\n <>\n
\n Payment\n {paymentToken && (\n changePayment(profile, setPaymentToken)}\n size=\"sm\"\n >\n Edit\n \n )}\n
\n \n
\n
\n \n {paymentToken?.paymentSource?.card?.lastDigits\n ? `💳 •••• ${paymentToken.paymentSource.card.lastDigits}`\n : ''}\n
\n \n
\n \n \n );\n}\n\nFlexiblePaymentSection.propTypes = {\n activeSection: PropTypes.number.isRequired,\n paymentToken: PropTypes.string,\n profile: PropTypes.node.isRequired,\n setPaymentToken: PropTypes.func.isRequired\n};\n\nFlexiblePaymentSection.defaultProps = {\n paymentToken: null\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HeadingText } from '@paypalcorp/pp-react';\nimport styles from '../Fastlane.module.less';\n\nexport default function QuickStartPaymentSection({ activeSection }) {\n return (\n <>\n
\n Payment\n
\n \n
\n \n \n );\n}\n\nQuickStartPaymentSection.propTypes = {\n activeSection: PropTypes.number.isRequired\n};\n","import React, { useContext, useState } from 'react';\nimport {\n Button,\n Checkbox,\n Divider,\n EditIcon,\n HeadingText,\n TextInput,\n BodyText,\n LoadingSpinner\n} from '@paypalcorp/pp-react';\nimport { useSelector } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { get } from 'lodash';\nimport { changeAddress, emailSubmit, getAddressSummary, removeAllChildren } from './helpers';\nimport ShippingAddressForm from '../ShippingAddress';\nimport IntegrationPageSectionContext from '../../IntegrationPageSection/StateManagement/IntegrationPageSectionContext';\nimport TestPanelContext from '../../IntegrationPageSection/StateManagement/TestPanelContext';\nimport clientLogger from '../../../lib/logger';\nimport styles from '../Fastlane.module.less';\nimport BillingAddressForm from '../BillingAddress';\nimport FlexiblePaymentSection from './FlexiblePaymentSection';\nimport QuickStartPaymentSection from './QuickStartPaymentSection';\nimport { captureAuthorize } from '../../../util/sdkCallbacks';\nimport { isUserLoggedInSelector } from '../../../store/App/selectors';\nimport { trackButtonClick } from '../../../lib/fpti';\n\nexport default function Fastlane({\n paymentWatermark,\n paymentComponent,\n cardComponent,\n identity,\n profile,\n type\n}) {\n const csrf = useSelector((state) => state.app.csrfToken);\n const [activeSection, setActiveSection] = useState(0);\n const [shippingAddress, setShippingAddress] = useState(null);\n const [billingAddress, setBillingAddress] = useState(null);\n const [enableShipping, setEnableShipping] = useState(true);\n const [paymentToken, setPaymentToken] = useState();\n const [authState, setAuthState] = useState('');\n const [emailAddress, setEmailAddress] = useState('');\n const [isProcessing, setIsProcessing] = useState(false); // used for orders calls and etc..\n\n const {\n SdkConfigurator: { sdkSettings: { intent, clientId } = {} },\n OrderConfigurator: {\n amount: { value: orderAmount }\n },\n lastCapture: { updateLastCapture },\n fastlaneContext: { isLoading }\n } = useContext(IntegrationPageSectionContext);\n\n const { updateLogs, toggleTestPanel } = useContext(TestPanelContext);\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n\n const handleAuthorizeOrder = async (response) => {\n const authorizationId = get(response, 'purchase_units[0].payments.authorizations[0].id', '');\n await captureAuthorize({\n authorizationId,\n csrfToken: csrf,\n updateLogs,\n updateLastCapture,\n clientId: isUserLoggedIn ? clientId : null\n });\n };\n\n const handleCheckout = async () => {\n let memberPaymentToken = paymentToken;\n if (!memberPaymentToken) {\n if (type === 'flexible') {\n memberPaymentToken = await cardComponent.getPaymentToken({\n billingAddress: billingAddress?.address\n });\n } else {\n memberPaymentToken = await paymentComponent.getPaymentToken();\n }\n }\n const body = JSON.stringify({\n paymentToken: memberPaymentToken,\n currencyCode: 'USD',\n amount: orderAmount,\n clientId: isUserLoggedIn ? clientId : null,\n intent: intent ? intent.toUpperCase() : null,\n integration_type: 'fastlane',\n ...(enableShipping && { shippingAddress })\n });\n try {\n setIsProcessing(true);\n const createOrderRequest = await fetch('/studio/api/v1/order/create', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': csrf\n },\n body\n });\n const { response = {}, request = {}, message } = await createOrderRequest.json();\n if (createOrderRequest.status >= 300) {\n clientLogger.cal.error('SERVICE_ERROR', {\n message: `error with create order request. status: ${createOrderRequest.status}`\n });\n }\n delete response.sys;\n updateLogs({\n name: 'Create Order',\n timestamp: new Date().toLocaleString(),\n url: 'POST to v2/checkout/orders',\n request,\n response: message || response\n });\n if (intent === 'authorize') {\n await handleAuthorizeOrder(response);\n }\n setIsProcessing(false);\n toggleTestPanel(true);\n } catch (error) {\n clientLogger.cal.warn('NETWORK_ERROR', {\n message: `error with create order request. message: ${error.message}`\n });\n updateLogs({\n name: 'Create Order - NETWORK ERROR',\n timestamp: new Date().toLocaleString(),\n url: 'POST to v2/checkout/orders',\n response: error\n });\n setIsProcessing(false);\n toggleTestPanel(true);\n }\n };\n\n const handleEmailSubmit = async () => {\n trackButtonClick('Email Submit');\n const {\n profileAuthState = '',\n profilePaymentToken,\n profileShippingAddress\n } = await emailSubmit(emailAddress, identity);\n if (profilePaymentToken) {\n setPaymentToken(profilePaymentToken);\n if (type === 'flexible') {\n paymentWatermark.render('#payment-watermark');\n }\n } else if (type === 'flexible') {\n cardComponent.render('#card-component');\n }\n if (type !== 'flexible') {\n paymentComponent.render('#payment-component');\n }\n if (profileShippingAddress) {\n setShippingAddress(profileShippingAddress);\n }\n if (profileAuthState === 'succeeded') {\n setAuthState('succeeded');\n if (profilePaymentToken && type === 'flexible') {\n setActiveSection(3);\n } else {\n setActiveSection(2);\n }\n } else {\n setActiveSection(1);\n }\n };\n\n const handleEmailEdit = () => {\n trackButtonClick('Edit Email');\n setShippingAddress(null);\n setActiveSection(0);\n setAuthState('');\n setPaymentToken(null);\n setBillingAddress(null);\n\n // remove all children in case rendered as a part of previous flow\n removeAllChildren(type === 'flexible' ? 'card-component' : 'payment-component');\n };\n\n const handleShippingAddressSubmit = async (address) => {\n if (type !== 'flexible') {\n await paymentComponent.setShippingAddress(address);\n }\n if (authState === 'succeeded' && type === 'flexible') {\n setActiveSection(3);\n } else {\n setActiveSection(2);\n }\n setShippingAddress(address);\n trackButtonClick('Shipping Address Submit');\n };\n\n const handleBillingAddressSubmit = (address) => {\n setBillingAddress(address);\n trackButtonClick('Billing Address Submit');\n setActiveSection(3);\n };\n\n return (\n
\n {(isLoading || isProcessing) && (\n
\n \n
\n )}\n
\n Customer\n {activeSection > 0 && (\n \n Edit\n \n )}\n
\n
\n
\n {activeSection === 0 ? (\n setEmailAddress(e.target.value)}\n autoComplete=\"email\"\n placeholder=\"Email\"\n className={styles.identity_section_input}\n disabled={activeSection !== 0}\n />\n ) : (\n {emailAddress}\n )}\n {activeSection === 0 && (\n \n )}\n
\n
\n
\n \n
\n Shipping\n {!authState && activeSection > 1 && (\n setActiveSection(1)}\n >\n Edit\n \n )}\n {authState === 'succeeded' && shippingAddress && activeSection !== 1 && (\n changeAddress(profile, paymentComponent, setShippingAddress)}\n >\n Edit\n \n )}\n
\n \n {activeSection === 1 && (\n {\n const enableShippingUpdate = !enableShipping;\n setEnableShipping(enableShippingUpdate);\n if (!enableShippingUpdate) {\n setShippingAddress(null);\n } else {\n setActiveSection(1);\n }\n }}\n label=\"This purchase requires shipping\"\n />\n )}\n {shippingAddress && activeSection !== 1 && (\n \n {getAddressSummary(shippingAddress)}\n \n )}\n {activeSection === 1 && (\n <>\n {enableShipping && (\n \n )}\n {!enableShipping && (\n
\n {\n handleShippingAddressSubmit(null);\n setActiveSection(2);\n }}\n >\n Continue\n \n
\n )}\n \n )}\n \n {!paymentToken && type === 'flexible' && (\n
\n \n
\n Billing\n {billingAddress && activeSection !== 2 && (\n setActiveSection(2)}\n >\n Edit\n \n )}\n
\n {billingAddress && activeSection !== 2 && (\n
\n \n {getAddressSummary(billingAddress)}\n \n
\n )}\n {activeSection === 2 && (\n
\n \n
\n )}\n
\n )}\n \n {type === 'flexible' ? (\n \n ) : (\n \n )}\n {(activeSection === 3 || (type !== 'flexible' && activeSection === 2)) && (\n
\n \n
\n )}\n
\n );\n}\n\nFastlane.propTypes = {\n paymentWatermark: PropTypes.object,\n paymentComponent: PropTypes.object,\n cardComponent: PropTypes.object,\n identity: PropTypes.object.isRequired,\n profile: PropTypes.object.isRequired,\n type: PropTypes.string\n};\n\nFastlane.defaultProps = {\n type: '',\n cardComponent: null,\n paymentComponent: null,\n paymentWatermark: null\n};\n","import React, { useEffect, useContext } from 'react';\nimport { useSelector } from 'react-redux';\nimport TestCardsWrapper from '../../IntegrationPageSection/PreviewWrapper/TestCardsWrapper';\nimport IntegrationPageSection from '../../IntegrationPageSection/StateManagement/IntegrationPageSectionContext';\nimport initFastlane from './initFastlane';\nimport clientLogger from '../../../lib/logger';\nimport { environmentSelector } from '../../../store/App/selectors';\nimport styles from '../Fastlane.module.less';\nimport Fastlane from './Fastlane';\nimport { modalStyleOverrideTempHack } from './helpers';\n\nexport default function FastlanePreviewWrapper() {\n const {\n SdkConfigurator: {\n sdkSettings: { clientAccessToken, sdkBaseUrl, clientId, type }\n },\n fastlaneContext: {\n paymentComponent,\n paymentWatermark,\n cardComponent,\n identity,\n profile,\n setFastlaneContext\n }\n } = useContext(IntegrationPageSection);\n\n const nonce = useSelector((state) => state.app.nonce);\n const targetEnv = useSelector(environmentSelector);\n\n useEffect(() => {\n const sdkUrl = new URL('/sdk/js', sdkBaseUrl);\n const sdkParams = new URLSearchParams({\n 'client-id': clientId,\n components: 'buttons,fastlane'\n });\n sdkUrl.search = sdkParams.toString();\n const paypalScript = document.createElement('script');\n paypalScript.setAttribute('src', sdkUrl.toString());\n paypalScript.setAttribute('data-sdk-client-token', clientAccessToken);\n paypalScript.setAttribute('nonce', nonce);\n paypalScript.setAttribute('defer', true);\n paypalScript.onload = async () => {\n const initialize = await initFastlane(targetEnv, type);\n setFastlaneContext({\n ...initialize,\n isLoading: false\n });\n\n // temp hack to be removed once SDK team fixes styling issue\n modalStyleOverrideTempHack();\n };\n paypalScript.onerror = (error) => {\n clientLogger.cal.error('CLIENT_ERROR', {\n message: `The script ${error.target.src} didn't load correctly.`\n });\n alert(`The script ${error.target.src} didn't load correctly.`);\n };\n document.head.appendChild(paypalScript);\n return () => {\n document.head.removeChild(paypalScript);\n };\n }, [clientId, clientAccessToken]);\n return (\n
\n
\n \n
\n \n
\n );\n}\n","export default async function initFastlane(targetEnv) {\n try {\n if (!window.paypal.Fastlane) {\n throw new Error('PayPal script loaded but no Fastlane module');\n }\n\n if (targetEnv === 'development' || targetEnv === 'staging') {\n window.localStorage.setItem('axoEnv', 'stage');\n window.localStorage.setItem('axoPortalUrl', 'https://www.msmaster.qa.paypal.com/');\n }\n\n const styles = {\n root: {\n backgroundColor: '#faf8f5'\n }\n };\n\n const {\n identity,\n profile,\n FastlanePaymentComponent, // used for quick start integration\n FastlaneCardComponent, // used for flexible integration\n FastlaneWatermarkComponent\n } = await window.paypal.Fastlane({\n metadata: { geoLocOverride: 'US' },\n styles\n });\n\n (\n await FastlaneWatermarkComponent({\n includeAdditionalInfo: true\n })\n ).render('#watermark-container');\n\n const paymentWatermark = await FastlaneWatermarkComponent({});\n\n const cardComponent = await FastlaneCardComponent();\n const paymentComponent = await FastlanePaymentComponent();\n // return both flexible and quick start components in case user switches on client-side and because of limitation with SDK\n return {\n paymentWatermark,\n paymentComponent,\n cardComponent,\n identity,\n profile\n };\n } catch (error) {\n console.error(error);\n return {\n error\n };\n }\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { LoadingSpinner } from '@paypalcorp/pp-react';\nimport { PayPalButtons } from '@paypal/react-paypal-js';\nimport { Helmet } from 'react-helmet-async';\nimport styles from './Preview.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackButtonClick } from '../../../lib/fpti';\n\nimport {\n createOrder,\n captureOrder,\n authorizeOrder,\n shippingAddressChange,\n shippingOptionsChange,\n captureAuthorize\n} from '../../../util/sdkCallbacks';\nimport TestPanelContext from '../StateManagement/TestPanelContext';\nimport { isUserLoggedInSelector } from '../../../store/App/selectors';\n\nconst PreviewWrapper = () => {\n const [buttonLoading, setButtonLoading] = useState(true);\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n const {\n ButtonConfigurator: { buttonSettings = {} } = {},\n SdkConfigurator: { sdkSettings },\n OrderConfigurator: { amount: { value: orderAmount } = {} } = {},\n code: { status: { handleShippingAddress = false, configureButtonMessages = false } = {} } = {},\n lastCapture: { updateLastCapture }\n } = useContext(IntegrationPageSectionContext);\n const { updateLogs, toggleTestPanel } = useContext(TestPanelContext);\n const { clientId } = sdkSettings;\n const csrfToken = useSelector((state) => state?.app?.csrfToken);\n\n useEffect(() => {\n setButtonLoading(true);\n }, [sdkSettings, buttonSettings, orderAmount, handleShippingAddress, configureButtonMessages]);\n\n const handleCreateOrder = async () => {\n try {\n const orderId = await createOrder({\n currencyCode: sdkSettings?.currency,\n amount: orderAmount,\n intent: sdkSettings?.intent,\n handleShippingAddress,\n csrfToken,\n updateLogs,\n clientId: isUserLoggedIn ? clientId : null\n });\n toggleTestPanel(true);\n return orderId;\n } catch (err) {\n return null;\n }\n };\n\n const handleCaptureOrder = async ({ orderID }) => {\n await captureOrder({\n orderId: orderID,\n csrfToken,\n updateLogs,\n updateLastCapture,\n clientId: isUserLoggedIn ? clientId : null\n });\n toggleTestPanel(true);\n };\n\n const handleAuthorizeOrder = async ({ orderID }) => {\n const authorizationId = await authorizeOrder({\n orderId: orderID,\n clientId: isUserLoggedIn ? clientId : null,\n csrfToken,\n updateLogs\n });\n await captureAuthorize({\n authorizationId,\n csrfToken,\n updateLogs,\n updateLastCapture,\n clientId: isUserLoggedIn ? clientId : null\n });\n toggleTestPanel(true);\n };\n\n const handleOrderIntent = (data) => {\n if (sdkSettings.intent === 'capture') {\n handleCaptureOrder(data);\n } else {\n handleAuthorizeOrder(data);\n }\n };\n\n const handleShippingAddressChange = (data) => {\n if (handleShippingAddress) {\n shippingAddressChange(data, updateLogs);\n }\n };\n\n const handleShippingOptionsChange = (data) => {\n if (handleShippingAddress) {\n shippingOptionsChange(data, updateLogs);\n }\n };\n\n return (\n <>\n \n \n \n
\n
\n
\n {buttonLoading && (\n
\n \n
\n )}\n setButtonLoading(false)}\n createOrder={() => handleCreateOrder()}\n onApprove={(data) => handleOrderIntent(data)}\n onClick={(data) => trackButtonClick(data.fundingSource)}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(handleShippingAddress\n ? {\n onShippingAddressChange: (data) => handleShippingAddressChange(data),\n onShippingOptionsChange: (data) => handleShippingOptionsChange(data)\n }\n : {})}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...(configureButtonMessages ? { message: { amount: Number(orderAmount) } } : {})}\n />\n
\n
\n
\n \n );\n};\n\nexport default PreviewWrapper;\n","// extracted by mini-css-extract-plugin\nexport default {\"row_wrapper\":\"ExpandablePreview-module_row_wrapper__shSSb\",\"preview_col__expanded\":\"ExpandablePreview-module_preview_col__expanded___jkY_\",\"code_col__expanded\":\"ExpandablePreview-module_code_col__expanded__pFbq5\"};","import { Col, Row } from '@paypalcorp/pp-react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { useParams } from 'react-router';\nimport { SDK_FLOW_SLUG } from '../../../../constants/sdk';\nimport AdvancedPreviewWrapper from '../../../Advanced/PreviewWrapper';\nimport FastlanePreviewWrapper from '../../../Fastlane/PreviewWrapper';\nimport CodeWrapper from '../../CodeWrapper';\nimport PreviewWrapper from '../index';\nimport styles from './ExpandablePreview.module.less';\n\nconst PreviewSwitch = () => {\n const { product } = useParams();\n\n switch (product) {\n case SDK_FLOW_SLUG.FASTLANE:\n return ;\n case SDK_FLOW_SLUG.ADVANCED:\n return ;\n default:\n return ;\n }\n};\n\nconst ExpandablePreview = ({ expandedMode, prevScroll }) => {\n useEffect(() => {\n if (expandedMode) {\n window.scrollTo({ top: 0 });\n } else {\n if (!prevScroll) {\n return;\n }\n window.scrollTo({ top: prevScroll });\n }\n }, [expandedMode]);\n\n return (\n \n \n \n \n {expandedMode && (\n \n \n \n )}\n \n );\n};\n\nExpandablePreview.propTypes = {\n expandedMode: PropTypes.bool.isRequired,\n prevScroll: PropTypes.number\n};\n\nExpandablePreview.defaultProps = {\n prevScroll: null\n};\n\nexport default ExpandablePreview;\n","import { TabPanel, Tabs } from '@paypalcorp/pp-react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport CodeWrapper from './CodeWrapper';\nimport styles from './IntegrationPageSection.module.less';\nimport tabs from '../../util/sectionTabs';\nimport ExpandablePreview from './PreviewWrapper/ExpandablePreview';\n\nconst tabsList = Object.values(tabs);\n\nexport default function TabbedLayout({\n selectedTabIdx,\n handleTabSelect,\n prevScroll,\n expandedMode\n}) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nTabbedLayout.propTypes = {\n selectedTabIdx: PropTypes.number.isRequired,\n handleTabSelect: PropTypes.func.isRequired,\n prevScroll: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf([null])]).isRequired,\n expandedMode: PropTypes.bool.isRequired\n};\n","import { PayPalScriptProvider } from '@paypal/react-paypal-js';\nimport {\n ArrowsInIcon,\n ArrowsOutIcon,\n Button,\n Col,\n HeadingText,\n LoadingSpinner,\n Row\n} from '@paypalcorp/pp-react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useContext, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { isUserLoggedInSelector } from '../../store/App/selectors';\n\nimport TestPanel from '../TestPanel';\nimport ControlPanel from './ControlPanel';\nimport HtmlPageSection from './HtmlPageSection';\nimport styles from './IntegrationPageSection.module.less';\nimport IntegrationPageSectionContext from './StateManagement/IntegrationPageSectionContext';\nimport TabbedLayout from './TabbedLayout';\nimport tabs from '../../util/sectionTabs';\nimport { trackButtonClick } from '../../lib/fpti';\n\nconst SectionContent = ({ ecmIntegContent = {} }) => {\n const {\n SdkConfigurator: { sdkSettings },\n isLoading\n } = useContext(IntegrationPageSectionContext);\n\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n const [expandedMode, setExpandedMode] = useState(false);\n const prevTabSelectionRef = useRef(0);\n const prevScrollRef = useRef(null);\n\n const toggleExpand = (expand) => {\n if (expand) {\n prevScrollRef.current = window.scrollY;\n /* We store the previous scroll value as we modify the scroll for the expanded mode,\n however we need to set this value back when the user collapses to maintain the scroll context\n of the user */\n setSelectedTabIdx(0);\n } else {\n setSelectedTabIdx(prevTabSelectionRef.current);\n }\n setExpandedMode(expand);\n };\n\n const handleTabSelect = (e, idx) => {\n prevTabSelectionRef.current = idx;\n trackButtonClick(Object.values(tabs)[prevTabSelectionRef.current].label);\n setSelectedTabIdx(idx);\n };\n\n return (\n \n \n {isLoading && (\n
\n
\n \n
\n
\n )}\n \n \n {ecmIntegContent?.title && (\n
\n \n {ecmIntegContent?.title}\n \n
\n )}\n \n \n \n \n toggleExpand(!expandedMode)}\n >\n {expandedMode ? 'Collapse' : 'Expand'}\n \n \n \n \n
\n );\n};\n\nSectionContent.propTypes = {\n ecmIntegContent: PropTypes.object.isRequired\n};\n\nexport default SectionContent;\n","export const BEAUTIFY_OPTS = {\n indent_size: 2,\n indent_char: '\\x20',\n other: '\\x20',\n indent_level: 0x0,\n indent_with_tabs: false,\n preserve_newlines: true,\n max_preserve_newlines: 0x2,\n jslint_happy: true,\n indent_handlebars: true\n};\n\nexport const SUPPORTED_PARSERS = new Set(['babel', 'html', 'php']);\n\nexport const LANGUAGE_FORMATTER = {\n javascript: 'babel',\n html: 'html',\n csharp: 'csharp',\n dotnet: 'csharp',\n java: 'java',\n php: 'php'\n};\n","import * as parserPhp from '@prettier/plugin-php/standalone';\nimport beautify from 'js-beautify';\nimport prettier from 'prettier';\nimport parserBabel from 'prettier/parser-babel';\nimport parserHtml from 'prettier/parser-html';\nimport { BEAUTIFY_OPTS, LANGUAGE_FORMATTER, SUPPORTED_PARSERS } from '../../../lib/formatter';\n\nconst interpolateCode = (ecmEntry, replacements) => {\n const ecmEntryCopy = { ...ecmEntry };\n const regex = new RegExp(Object.keys(replacements).join('|'), 'g');\n ecmEntryCopy.code = ecmEntryCopy.code.replace(regex, (match) => replacements[match]);\n return ecmEntryCopy;\n};\n\nconst addToCodeSnippet = (\n baseFile,\n codeSnippet,\n insertString, // string to insert based on\n regex, // regex to insert based on\n placeholderReplacement = false, // indicates if we are replacing a placeholder such as '{captureOrder}',\n parser = 'html'\n) => {\n if (!baseFile.match(regex)) return baseFile;\n const splitBaseFile = baseFile.split(regex || insertString);\n splitBaseFile[0] += `\\n${codeSnippet}`;\n if (!placeholderReplacement) {\n splitBaseFile[0] += `\\n${insertString}`;\n }\n const formatted = splitBaseFile.join('');\n try {\n if (SUPPORTED_PARSERS.has(parser)) {\n const result = prettier.format(formatted, {\n parser,\n plugins: [parserHtml, parserBabel, parserPhp],\n semi: true\n });\n return result;\n }\n // beautify any language\n if (LANGUAGE_FORMATTER[parser]) {\n return beautify(formatted, BEAUTIFY_OPTS);\n }\n // If the language is not supported by the generic formatter return it as is\n return formatted;\n } catch (error) {\n return baseFile;\n }\n};\n\nconst transormCardFieldsStyles = (cardFieldsConfigurator) => {\n const obj = {};\n const config = cardFieldsConfigurator.value || {};\n Object.keys(config).forEach((key) => {\n obj[`{${key}}`] = JSON.stringify(config[key] || {});\n });\n return obj;\n};\n\nconst getFastlaneURL = (sdkBaseUrl, clientId) => {\n const sdkUrl = new URL('/sdk/js', sdkBaseUrl);\n const sdkParams = new URLSearchParams({\n 'client-id': clientId,\n components: 'buttons,fastlane'\n });\n sdkUrl.search = sdkParams.toString();\n\n return sdkUrl.toString();\n};\n\nconst inputNestedCodeBlock = (interpolatedBackendCode, codeStatus, childKey) => {\n // here we handle placeholders that are not in the base file, but in secondary code blocks\n const childBlock = interpolatedBackendCode.find((entry) => entry.key === childKey);\n const parentBlock = interpolatedBackendCode.find(\n (entry) => entry.key === childBlock?.parentCodeBlock\n );\n if (!childBlock || !parentBlock) return;\n const codeToUpdate = codeStatus[childKey] ? childBlock.code : '';\n const regex = new RegExp(`\\\\/\\\\*\\\\{\\\\s*${childKey}\\\\s*\\\\}\\\\*\\\\/`);\n parentBlock.code = parentBlock.code.replace(regex, codeToUpdate);\n};\n\nconst constructBaseFrontend = (\n consolidatedFrontend,\n frontendLanguage,\n codeStatus,\n product,\n integrationType\n) => {\n const baseFile = consolidatedFrontend.find((entry) => {\n // get the base HTML file which we will add all the callbacks to\n if (frontendLanguage === 'react') {\n return entry.key === 'baseReact';\n }\n if (integrationType) {\n return entry.type === integrationType && entry.key === 'baseHtml';\n }\n return entry.key === 'baseHtml';\n });\n if (!baseFile) return undefined;\n\n const result = [baseFile];\n const baseHtmlAppJs = consolidatedFrontend.find((entry) => {\n if (integrationType) {\n return entry.type === integrationType && entry.key === 'baseHtmlAppJs';\n }\n return entry.key === 'baseHtmlAppJs';\n });\n if (frontendLanguage === 'html') {\n result.push(baseHtmlAppJs);\n }\n\n const frontEndBaseTemplates = ['baseHtml', 'baseReact', 'baseHtmlAppJs'];\n consolidatedFrontend\n .filter((entry) => entry.key && !entry.parentCodeBlock) // parentCodeBlock means it is a nested entry\n .forEach((entry) => {\n if (entry.key.includes('base')) {\n if (!frontEndBaseTemplates.includes(entry.key)) {\n result.push(entry);\n }\n return;\n }\n if (product === 'fastlane') {\n // This is currently for fastlane.Scope can be expanded for more use cases.\n const regex = new RegExp(`\\\\/\\\\*\\\\{\\\\s*${entry.key}\\\\s*\\\\}\\\\*\\\\/*\\n*`);\n const codeToUpdate = codeStatus[entry.key] ? entry.code : ``;\n const baseCode = entry.language === 'html' ? baseFile : baseHtmlAppJs;\n const parser = entry.language === 'html' ? 'html' : 'babel';\n baseCode.code = addToCodeSnippet(\n baseCode.code,\n codeToUpdate,\n `/*{${entry.key}}*/`,\n regex,\n true /* placeholder replacement */,\n parser\n );\n } else if (entry.key === 'initializeSdkViaScriptTag') {\n // this is always html and always baseHtml file\n baseFile.code = addToCodeSnippet(\n baseFile.code,\n entry.code,\n '' /* string to replace */,\n undefined /* regex */,\n false /* placeholder replacement */,\n 'html'\n );\n } else if (\n entry.key === 'handleBillingAddress' &&\n ['checkout.ejs', 'Index.cshtml', 'checkout.html'].includes(entry.filename)\n ) {\n const regex = new RegExp(`\\\\/\\\\*\\\\{\\\\s*${entry.key}\\\\s*\\\\}\\\\*\\\\/*\\n*`);\n const codeToUpdate = codeStatus[entry.key] ? entry.code : ``;\n baseFile.code = addToCodeSnippet(\n baseFile.code,\n codeToUpdate,\n `/*{${entry.key}}*/`,\n regex,\n true /* placeholder replacement */,\n 'html'\n );\n } else if (frontendLanguage === 'html') {\n const regex = /}\\)\\s*\\.render\\(/; // Regular expression to match '})' followed by '.render' with or without \\n and spaces\n const codeToUpdate = codeStatus[entry.key] ? entry.code : '';\n baseHtmlAppJs.code = addToCodeSnippet(\n baseHtmlAppJs.code,\n codeToUpdate,\n '}).render(',\n regex,\n false /* placeholder replacement */,\n 'babel'\n );\n } else if (frontendLanguage === 'react') {\n const regex = new RegExp(`\\\\/\\\\*\\\\{\\\\s*${entry.key}\\\\s*\\\\}\\\\*\\\\/*\\n*`);\n const codeToUpdate = codeStatus[entry.key] ? entry.code : ``;\n baseFile.code = addToCodeSnippet(\n baseFile.code,\n codeToUpdate,\n `/*{${entry.key}}*/`,\n regex,\n true /* placeholder replacement */,\n 'babel'\n );\n }\n });\n return result;\n};\n\nconst constructBaseBackend = (consolidatedBackend, codeStatus) => {\n const baseNodeJs = consolidatedBackend.find((entry) => {\n return entry.key === 'baseNodeJs' || entry.isBaseFile; // only javascript is supported right now\n });\n\n if (!baseNodeJs) return undefined;\n consolidatedBackend\n .filter((entry) => entry.key && !entry.parentCodeBlock) // parentCodeBlock means it is a nested entry\n .forEach((entry) => {\n if (entry.key.includes('base')) {\n return;\n }\n const regex = new RegExp(`\\\\/\\\\*\\\\{\\\\s*${entry.key}\\\\s*\\\\}\\\\*\\\\/*\\n*`);\n const codeToUpdate = codeStatus[entry.key] ? entry.code : '';\n baseNodeJs.code = addToCodeSnippet(\n baseNodeJs.code,\n codeToUpdate,\n undefined,\n regex /* regex */,\n true /* placeholder replacement */,\n LANGUAGE_FORMATTER[entry.language] || 'UNSUPPORTED'\n );\n });\n\n return [baseNodeJs];\n};\n\nconst getEntryTags = (entry) => {\n return entry.filename.split('.')[entry.filename.split('.').length] !== 'html'\n ? {\n start: `/*S_${entry.key}*/`,\n end: `/*E_${entry.key}*/`\n }\n : {\n start: ``,\n end: ``\n };\n};\nconst getLineCount = (code) => (code.match(/\\n/g) || []).length;\nconst initializeEntry = (entry) => {\n const { start, end } = getEntryTags(entry);\n\n return {\n ...entry,\n startLine: 0,\n endLine: 0,\n start,\n end,\n code: `${start}${entry.code}${end}`\n };\n};\nconst calculateEntryLines = (entry, files) => {\n const newEntry = entry;\n const { start, end } = entry;\n const file = files.find((currFile) => currFile.filename === entry.filename);\n if (!file) return newEntry;\n const startIndex = file.code.indexOf(start);\n const endIndex = file.code.indexOf(end);\n\n newEntry.startLine = getLineCount(file.code.substring(0, startIndex)) + 1;\n newEntry.endLine = getLineCount(file.code.substring(0, endIndex)) + 1;\n\n return newEntry;\n};\nconst clearTags = (files, entries) =>\n files.map((file) => ({\n ...file,\n code: entries.reduce(\n (code, entry) =>\n code\n .replace(`${entry.start} `, '')\n .replace(`${entry.end} `, '')\n .replace(entry.start, '')\n .replace(entry.end, ''),\n file.code\n )\n }));\nconst mapEntryProperties = (entry) => ({\n ...entry,\n metadata: {\n active: entry.active,\n key: entry.key,\n language: entry.language,\n filename: entry.filename,\n startLine: entry.startLine,\n endLine: entry.endLine\n }\n});\n\nexport default function updateConsolidatedCode(\n frontend = [],\n backend = [],\n {\n sdkBaseUrl,\n clientId,\n clientAccessToken,\n buyerCountry,\n currency,\n intent,\n type\n } = {} /* SDK settings */,\n { frontend: frontendLanguage, backend: backendLanguage, status: codeStatus } /* code language */,\n { amount: { value } = {}, threeDsSetting = '' } = {} /* create order settings */,\n { buttonSettings: { color, label, shape, layout } = {} } = {},\n cardFieldsConfigurator = {},\n product = ''\n) {\n const result = [];\n const frontEndTemplatesToInterpolate = [\n 'baseHtml',\n 'initializeSdkViaScriptTag',\n 'configureButtons',\n 'configureButtonMessages',\n 'baseHtmlAppJs',\n 'baseReact',\n 'onApprove',\n 'acdcPayPalCardFields'\n ];\n // frontend\n let interpolatedFrontendCode = frontend\n .filter((entry) => {\n if (frontendLanguage === 'html') {\n return entry.language === 'html' || entry.language === 'javascript';\n }\n\n return entry.language === frontendLanguage;\n })\n .map(initializeEntry)\n .map((entry) => {\n if (frontEndTemplatesToInterpolate.includes(entry.key)) {\n let replacements = {\n '{buyer_country}': buyerCountry,\n '{buyer_currency}': currency,\n '{client_id}': clientId,\n '{button_color}': color,\n '{button_label}': label,\n '{button_shape}': shape,\n '{button_layout}': layout,\n '{order_intent}': intent,\n '{order_amount}': value,\n ...transormCardFieldsStyles(cardFieldsConfigurator)\n };\n\n if (product === 'fastlane') {\n replacements = {\n ...replacements,\n '{client_access_token}': clientAccessToken,\n '{sdk_url}': getFastlaneURL(sdkBaseUrl, clientId)\n };\n }\n\n return interpolateCode(entry, replacements);\n }\n\n return { ...entry };\n });\n\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'configureButtonMessages');\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'acdcPayPalButtons');\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'handleBillingAddressHtmlAppJs');\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'acdcInstrumentDeclined');\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'onError');\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'acdcPayPalCardFields');\n\n let newConsolidatedFrontend = constructBaseFrontend(\n interpolatedFrontendCode,\n frontendLanguage,\n codeStatus,\n product,\n type\n );\n if (newConsolidatedFrontend) {\n interpolatedFrontendCode = interpolatedFrontendCode.map((entry) =>\n calculateEntryLines(entry, newConsolidatedFrontend)\n );\n newConsolidatedFrontend = clearTags(newConsolidatedFrontend, interpolatedFrontendCode);\n newConsolidatedFrontend = newConsolidatedFrontend.map((file) => ({\n ...file,\n metadata: interpolatedFrontendCode\n .filter((codeBlock) => codeBlock.filename === file.filename)\n .map(mapEntryProperties)\n }));\n result.push(...newConsolidatedFrontend);\n }\n // backend\n let interpolatedBackendCode = backend\n .filter((entry) => {\n return entry.language === backendLanguage;\n })\n .map(initializeEntry)\n .map((entry) => {\n if (\n entry.key === 'createOrderPayload' ||\n entry.key === 'handleShippingAddress' ||\n entry.key === '3dsConfiguration'\n ) {\n // add to json\n const replacements = {\n '{shipping_currency}': `${currency}`,\n '{order_currency_code}': `${currency}`,\n '{order_value}': `${value}`,\n '{order_intent}': `${intent.toUpperCase()}`,\n '{3ds_setting}': threeDsSetting\n };\n return interpolateCode(entry, replacements);\n }\n return { ...entry };\n });\n\n inputNestedCodeBlock(interpolatedBackendCode, codeStatus, 'handleShippingAddress');\n inputNestedCodeBlock(interpolatedBackendCode, codeStatus, '3dsConfiguration');\n inputNestedCodeBlock(interpolatedBackendCode, codeStatus, 'createOrderPayload');\n\n let newConsolidatedBackend = constructBaseBackend(interpolatedBackendCode, codeStatus);\n if (newConsolidatedBackend) {\n interpolatedBackendCode = interpolatedBackendCode.map((entry) =>\n calculateEntryLines(entry, newConsolidatedBackend)\n );\n newConsolidatedBackend = clearTags(newConsolidatedBackend, interpolatedBackendCode);\n newConsolidatedBackend = newConsolidatedBackend.map((file) => ({\n ...file,\n metadata: interpolatedBackendCode\n .filter((codeBlock) => codeBlock.filename === file.filename)\n .map(mapEntryProperties)\n }));\n result.push(...newConsolidatedBackend);\n }\n return result;\n}\n","/* eslint-disable no-param-reassign */\nimport produce from 'immer';\nimport { set } from 'lodash';\nimport updateConsolidatedCode from './dynamicCodeSnippetsHelper';\n\nconst defaultState = {\n ButtonConfigurator: {\n labelOptions: [],\n colorOptions: [],\n shapeOptions: [],\n layoutOptions: [],\n buttonSettings: {\n color: '',\n label: '',\n layout: '',\n shape: ''\n }\n },\n SdkConfigurator: {\n sdkSettings: {\n clientId: '',\n buyerCountry: '',\n currency: '',\n sdkBaseUrl: '',\n type: ''\n },\n buyerCountryOptions: [],\n buyerCurrencyOptions: []\n },\n code: {\n frontend: [],\n backend: [],\n language: {\n frontend: '',\n backend: ''\n },\n status: { captureOrder: true },\n downloadCodeUrl: ''\n },\n pageContent: [],\n isLoading: false,\n OrderConfigurator: {\n amount: { value: '' },\n intent: ''\n },\n ThreeDsConfigurator: {},\n lastCapture: { value: null },\n cardFieldsConfigurator: {\n value: {}\n },\n product: '',\n fastlaneContext: {\n paymentWatermark: {},\n paymentComponent: {},\n cardComponent: {},\n identity: {},\n profile: {},\n isLoading: false\n }\n};\n\nexport default function integrationPageSectionReducer(state = defaultState, action) {\n switch (action.type) {\n case 'UPDATE_BUTTON_SETTINGS':\n return produce(state, (draftState) => {\n draftState.ButtonConfigurator.buttonSettings[action.category] = action.value;\n\n const codeLanguage = {\n ...state.code.language,\n status: state.code.status\n };\n const newConsolidatedCode = updateConsolidatedCode(\n state.code.frontend,\n state.code.backend,\n state.SdkConfigurator.sdkSettings,\n codeLanguage,\n state.OrderConfigurator,\n draftState.ButtonConfigurator,\n draftState.cardFieldsConfigurator,\n state.product\n );\n draftState.code.consolidatedCode = newConsolidatedCode;\n });\n case 'UPDATE_SDK_SETTINGS':\n return produce(state, (draftState) => {\n draftState.SdkConfigurator.sdkSettings[action.category] = action.value;\n const codeLanguage = {\n ...state.code.language,\n status: state.code.status\n };\n const newConsolidatedCode = updateConsolidatedCode(\n state.code.frontend,\n state.code.backend,\n draftState.SdkConfigurator.sdkSettings,\n codeLanguage,\n state.OrderConfigurator,\n state.ButtonConfigurator,\n draftState.cardFieldsConfigurator,\n state.product\n );\n draftState.code.consolidatedCode = newConsolidatedCode;\n if (action.category === 'clientId') {\n draftState.lastCapture.value = null;\n }\n });\n case 'UPDATE_DOWNLOAD_URL': {\n return produce(state, (draftState) => {\n draftState.code.downloadCodeUrl = action.value;\n });\n }\n case 'UPDATE_CODE_SELECTION':\n return produce(state, (draftState) => {\n draftState.code.language[action.category] = action.value;\n draftState.pageContent = action.contents;\n draftState.code.downloadCodeUrl = action.downloadCodeUrl;\n draftState.code = {\n ...draftState.code,\n ...action.codes\n };\n const codeLanguage = {\n ...draftState.code.language,\n status: state.code.status\n };\n const newConsolidatedCode = updateConsolidatedCode(\n draftState.code.frontend,\n draftState.code.backend,\n state.SdkConfigurator.sdkSettings,\n codeLanguage,\n state.OrderConfigurator,\n state.ButtonConfigurator,\n draftState.cardFieldsConfigurator,\n state.product\n );\n draftState.code.consolidatedCode = newConsolidatedCode;\n });\n case 'UPDATE_HIGHLIGHTED_CODEBLOCK':\n return produce(state, (draftState) => {\n const { codeBlock } = action;\n draftState.codeHighlight = { ...draftState.codeHighlight, codeBlock };\n });\n case 'UPDATE_CURRENT_SECTION_KEY':\n return produce(state, (draftState) => {\n const { currentSectionKey } = action;\n draftState.codeHighlight = { ...draftState.codeHighlight, currentSectionKey };\n });\n case 'TOGGLE_CODE_BLOCK':\n return produce(state, (draftState) => {\n draftState.code.status[action.key] = action.value;\n const codeLanguage = {\n ...state.code.language,\n status: draftState.code.status\n };\n draftState.code.consolidatedCode = updateConsolidatedCode(\n draftState.code.frontend,\n draftState.code.backend,\n state.SdkConfigurator.sdkSettings,\n codeLanguage,\n state.OrderConfigurator,\n state.ButtonConfigurator,\n draftState.cardFieldsConfigurator,\n state.product\n );\n });\n case 'UPDATE_AMOUNT':\n return produce(state, (draftState) => {\n draftState.OrderConfigurator.amount[action.category] = action.value;\n\n const codeLanguage = {\n ...state.code.language,\n status: state.code.status\n };\n draftState.code.consolidatedCode = updateConsolidatedCode(\n state.code.frontend,\n state.code.backend,\n state.SdkConfigurator.sdkSettings,\n codeLanguage,\n draftState.OrderConfigurator,\n state.ButtonConfigurator,\n draftState.cardFieldsConfigurator,\n state.product\n );\n });\n case 'UPDATE_LAST_CAPTURE':\n return produce(state, (draftState) => {\n draftState.lastCapture.value = action.value;\n });\n case 'UPDATE_CARD_FIELDS_STYLES':\n return produce(state, (draftState) => {\n const { snippetReplacementKey, targetProperty, key, value } = action.value;\n set(\n draftState.cardFieldsConfigurator.value,\n [snippetReplacementKey, targetProperty, key],\n value\n );\n\n const codeLanguage = {\n ...state.code.language,\n status: state.code.status\n };\n\n draftState.code.consolidatedCode = updateConsolidatedCode(\n draftState.code.frontend,\n draftState.code.backend,\n state.SdkConfigurator.sdkSettings,\n codeLanguage,\n state.OrderConfigurator,\n state.ButtonConfigurator,\n draftState.cardFieldsConfigurator,\n state.product\n );\n });\n case 'UPDATE_LOADING_STATE':\n return produce(state, (draftState) => {\n draftState.isLoading = action.value;\n });\n case 'UPDATE_3DS_SETTING':\n return produce(state, (draftState) => {\n const codeLanguage = {\n ...state.code.language,\n status: state.code.status\n };\n\n draftState.OrderConfigurator.threeDsSetting = action.value;\n draftState.code.consolidatedCode = updateConsolidatedCode(\n state.code.frontend,\n state.code.backend,\n state.SdkConfigurator.sdkSettings,\n codeLanguage,\n draftState.OrderConfigurator,\n state.ButtonConfigurator,\n state.cardFieldsConfigurator,\n state.product\n );\n });\n case 'UPDATE_FASTLANE_CONTEXT':\n return produce(state, (draftState) => {\n if (action.category) {\n draftState.fastlaneContext[action.category] = action.value;\n } else {\n // initializations\n draftState.fastlaneContext = action.value;\n }\n });\n default:\n return state;\n }\n}\n","import ClientLogger from '../../lib/logger';\n\nconst urlFromContent = (pageContent) => {\n if (!pageContent) return undefined;\n\n const downloadEntry = pageContent.find(\n (entry) => entry.content.contentJson && entry.content.contentJson.CodeActions\n );\n if (!downloadEntry) return undefined;\n\n const { buttons } = downloadEntry.content.contentJson.CodeActions.rows.find((row) =>\n row.buttons.find((button) => button.key === 'download')\n );\n if (!buttons || buttons.length < 1) return undefined;\n\n return buttons.find((button) => button.key === 'download').url;\n};\n\nexport default ({ frontend, backend, pageContent, type, product }) => {\n if (!pageContent) return '';\n const downloadUrl = urlFromContent(pageContent);\n if (!downloadUrl) ClientLogger.error('CLIENT:ERROR', { error: 'Download url not found' });\n\n if (product === 'fastlane') {\n const urlPath = [frontend, backend, type].join('_');\n const url = downloadUrl[urlPath];\n return url;\n }\n\n const frontendUrls = downloadUrl[frontend];\n if (typeof frontendUrls === 'string') return frontendUrls;\n return frontendUrls?.[backend];\n};\n","import PropTypes from 'prop-types';\nimport React, { useMemo, useReducer } from 'react';\nimport { useLocation, useParams } from 'react-router';\nimport { useSearchParams } from 'react-router-dom';\nimport { CARD_FIELDS_SNIPPET_KEYS } from '../../../constants/sdk';\nimport IntegrationPageSectionContext from './IntegrationPageSectionContext';\nimport IntegrationPageSectionReducer from './IntegrationPageSectionReducer';\nimport updateConsolidatedCode from './dynamicCodeSnippetsHelper';\nimport getDownloadUrl from '../getDownloadUrl';\nimport { queryParamtoValueMap } from '../ControlPanel/constants';\n\nexport default function IntegrationPageSectionProvider({\n children,\n ecmContent = [],\n serviceData: { apps = [], clientAccessToken, defaultClientId } = {},\n sdkBaseUrl,\n pageMetaDataConfig,\n isUserLoggedIn = false\n}) {\n const { product } = useParams();\n const [queryParams] = useSearchParams();\n const typeQueryParam = queryParams.get('type');\n const url = useLocation().pathname;\n\n const fetchEcmContent = async (frontend, backend) => {\n const response = await fetch(\n `/studio/api/v1/ecm/data/integration?url=${url}&frontend=${frontend}&backend=${backend}`\n );\n return response;\n };\n\n // there is potential here to move this initial state creation to the backend possibly.\n const jsonConfiguration =\n useMemo(\n () =>\n ecmContent.contents\n ?.filter((entry) => entry.content?.contentJson)\n .map((entry) => entry.content.contentJson)\n .reduce((acc, curr) => ({ ...acc, ...curr }), {}),\n []\n ) || {};\n\n const getCodeConfigurations = (environment, codes) =>\n codes\n ?.map(\n (entry) =>\n entry.content[\n environment.toLowerCase() === 'frontend'\n ? 'codeFileMappings'\n : 'backendCodeFileMappings'\n ]\n )\n .flat()\n .map(({ content } = {}) => content)\n .filter((val) => val);\n\n const frontendCodeConfigurations =\n useMemo(() => getCodeConfigurations('frontend', ecmContent.codes), []) || [];\n\n const backendCodeConfigurations =\n useMemo(() => getCodeConfigurations('backend', ecmContent.codes), []) || [];\n\n const defaultCodeStatus = {\n ...frontendCodeConfigurations.reduce((acc, curr) => {\n return {\n ...acc,\n [curr.key]: curr.active\n };\n }, {}),\n ...backendCodeConfigurations.reduce((acc, curr) => {\n return {\n ...acc,\n [curr.key]: curr.active\n };\n }, {})\n };\n\n const defaultLanguageValues = {\n frontend: queryParams.get('frontend') || 'html',\n backend:\n queryParamtoValueMap[queryParams.get('backend')] ||\n queryParams.get('backend') ||\n 'javascript',\n status: defaultCodeStatus\n };\n\n const {\n SdkConfigurator = {},\n OrderConfigurator = {},\n ButtonConfigurator = {},\n TypeConfigurator = ['']\n } = jsonConfiguration;\n\n const type = TypeConfigurator.some((i) => i.id === typeQueryParam)\n ? typeQueryParam\n : TypeConfigurator[0].id;\n\n // for standard checkout we need to take the client id from ECM.\n // we need the separate client id to maintain venmo eligibility for logged out experience\n let clientId;\n if (isUserLoggedIn) {\n const appQueryParam = queryParams.get('app');\n if (appQueryParam) {\n clientId = apps.find((val) => val.name.replaceAll(' ', '_') === appQueryParam)?.clientId;\n }\n clientId = clientId || apps[0]?.clientId;\n } else if (product !== 'fastlane') {\n // for standard and acdc products we need to use the clientId from ECM\n // so that we are able to load venmo button on frontend\n clientId = SdkConfigurator.sdkSettings?.clientId;\n } else {\n // for fastlane integration we need to use the clientId from the backend integration\n clientId = defaultClientId;\n }\n\n const intent = SdkConfigurator.sdkSettings?.intent || 'capture'; // default the intent\n const currency = SdkConfigurator.sdkSettings?.currency || 'USD'; // default the currency\n\n const sdkSettings = {\n ...SdkConfigurator?.sdkSettings,\n type,\n sdkBaseUrl,\n clientId,\n clientAccessToken,\n intent,\n currency\n };\n\n const defaultCardFieldsConfigurator = {\n value: {\n [CARD_FIELDS_SNIPPET_KEYS.PARENT]: {\n input: {\n 'font-size': '16px',\n 'font-family': 'courier, monospace',\n 'font-weight': 'lighter',\n color: '#ccc'\n },\n '.invalid': {\n color: 'purple'\n }\n },\n [CARD_FIELDS_SNIPPET_KEYS.NAME]: {\n input: { color: 'blue' },\n '.invalid': { color: 'purple' }\n },\n [CARD_FIELDS_SNIPPET_KEYS.NUMBER]: { input: { color: 'blue' } },\n [CARD_FIELDS_SNIPPET_KEYS.EXPIRY_DATE]: { input: { color: 'blue' } },\n [CARD_FIELDS_SNIPPET_KEYS.CVV]: { input: { color: 'blue' } }\n }\n };\n\n const [state, dispatch] = useReducer(IntegrationPageSectionReducer, {\n ...jsonConfiguration,\n SdkConfigurator: {\n ...SdkConfigurator,\n sdkSettings\n },\n code: {\n frontend: frontendCodeConfigurations,\n backend: backendCodeConfigurations,\n consolidatedCode: useMemo(\n () =>\n updateConsolidatedCode(\n frontendCodeConfigurations,\n backendCodeConfigurations,\n sdkSettings,\n defaultLanguageValues,\n OrderConfigurator,\n ButtonConfigurator,\n defaultCardFieldsConfigurator,\n product\n ),\n []\n ),\n language: {\n frontend: defaultLanguageValues.frontend,\n backend: defaultLanguageValues.backend\n },\n status: defaultCodeStatus,\n downloadCodeUrl: useMemo(\n () =>\n getDownloadUrl({\n frontend: defaultLanguageValues.frontend,\n backend: defaultLanguageValues.backend,\n product,\n pageContent: ecmContent.contents,\n type: sdkSettings.type\n }),\n []\n )\n },\n codeHighlight: {\n codeBlock: {},\n currentSectionKey: undefined\n },\n lastCapture: { value: null },\n apps,\n cardFieldsConfigurator: defaultCardFieldsConfigurator,\n product,\n pageMetaDataConfig\n });\n\n // TODO: extract this value into memo object\n return (\n \n dispatch({ type: 'UPDATE_BUTTON_SETTINGS', value, category })\n },\n SdkConfigurator: {\n ...state.SdkConfigurator,\n updateSdkSettings: (value, category) => {\n dispatch({ type: 'UPDATE_SDK_SETTINGS', value, category });\n if (category === 'type') {\n dispatch({\n type: 'UPDATE_DOWNLOAD_URL',\n value: getDownloadUrl({\n frontend: state.code.language.frontend,\n backend: state.code.language.backend,\n pageContent: state.pageContent || ecmContent.contents,\n product,\n type: value\n })\n });\n }\n }\n },\n code: {\n ...state.code,\n updateCodeSelection: async (value, category) => {\n const { frontend, backend } = {\n ...state.code.language,\n [category]: value\n };\n dispatch({ type: 'UPDATE_LOADING_STATE', value: true });\n const response = await fetchEcmContent(frontend, backend);\n const result = await response.json();\n dispatch({ type: 'UPDATE_LOADING_STATE', value: false });\n\n if (response.ok) {\n dispatch({\n type: 'UPDATE_CODE_SELECTION',\n value,\n category,\n contents: result.data.contents,\n codes: {\n frontend: getCodeConfigurations('frontend', result.data.codes),\n backend: getCodeConfigurations('backend', result.data.codes)\n },\n downloadCodeUrl: getDownloadUrl({\n frontend,\n backend,\n pageContent: result.data.contents,\n product,\n type: state.SdkConfigurator.sdkSettings.type\n })\n });\n }\n },\n updateHighlightedCode: (codeBlock) => {\n dispatch({ type: 'UPDATE_HIGHLIGHTED_CODEBLOCK', codeBlock });\n },\n updateCurrentSectionKey: (currentSectionKey) => {\n dispatch({ type: 'UPDATE_CURRENT_SECTION_KEY', currentSectionKey });\n },\n updateActiveCodeBlock: ({ key, value }) => {\n dispatch({ type: 'TOGGLE_CODE_BLOCK', key, value });\n }\n },\n OrderConfigurator: {\n ...state.OrderConfigurator,\n updateAmount: (value, category) => dispatch({ type: 'UPDATE_AMOUNT', value, category }),\n update3dsSetting: (value) => dispatch({ type: 'UPDATE_3DS_SETTING', value })\n },\n lastCapture: {\n ...state.lastCapture,\n updateLastCapture: (value) => dispatch({ type: 'UPDATE_LAST_CAPTURE', value })\n },\n cardFieldsConfigurator: {\n ...state.cardFieldsConfigurator,\n updateCardFieldStyles: (value) => dispatch({ type: 'UPDATE_CARD_FIELDS_STYLES', value })\n },\n fastlaneContext: {\n ...state.fastlaneContext,\n setFastlaneContext: (value, category) =>\n dispatch({ type: 'UPDATE_FASTLANE_CONTEXT', value, category })\n }\n }}\n >\n {children}\n \n );\n}\n\nIntegrationPageSectionProvider.propTypes = {\n ecmContent: PropTypes.object.isRequired,\n children: PropTypes.node.isRequired,\n serviceData: PropTypes.objectOf({ apps: PropTypes.array, clientAccessToken: PropTypes.string })\n .isRequired,\n sdkBaseUrl: PropTypes.string.isRequired,\n pageMetaDataConfig: PropTypes.object.isRequired,\n isUserLoggedIn: PropTypes.string.isRequired\n};\n","/* eslint-disable no-param-reassign */\nimport produce from 'immer';\n\nconst defaultState = {\n isOpen: false,\n logs: [],\n apiHistory: {\n apiHistoryItems: [],\n fetchingHistory: false,\n hasMounted: false\n },\n testAccounts: null\n};\n\nexport default function testPanelReducer(state = defaultState, action) {\n switch (action.type) {\n case 'TOGGLE_TEST_PANEL':\n return produce(state, (draftState) => {\n draftState.isOpen = action.value;\n });\n case 'UPDATE_LOGS':\n return produce(state, (draftState) => {\n if (state.apiHistory.hasMounted) {\n draftState.apiHistory.fetchingHistory = true;\n }\n draftState.logs = [action.value, ...state.logs];\n });\n case 'UPDATE_API_HISTORY':\n return produce(state, (draftState) => {\n draftState.apiHistory = { ...state.apiHistory, ...action.value };\n });\n case 'UPDATE_TEST_ACCOUNTS':\n return produce(state, (draftState) => {\n draftState.testAccounts = action.value;\n });\n case 'RESET_TEST_PANEL':\n return produce(state, (draftState) => {\n draftState.logs = [];\n draftState.apiHistory = defaultState.apiHistory;\n });\n default:\n return state;\n }\n}\n","import React, { useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport TestPanelContext from './TestPanelContext';\nimport TestPanelReducer from './TestPanelReducer';\n\nexport default function TestPanelProvider({ children }) {\n const [state, dispatch] = useReducer(TestPanelReducer, {\n isOpen: false,\n logs: [],\n apiHistory: {\n apiHistoryItems: [],\n fetchingHistory: false,\n hasMounted: false\n },\n testAccounts: null\n });\n\n return (\n dispatch({ type: 'TOGGLE_TEST_PANEL', value }),\n updateLogs: (value) => dispatch({ type: 'UPDATE_LOGS', value }),\n updateApiHistory: (value) => dispatch({ type: 'UPDATE_API_HISTORY', value }),\n updateTestAccounts: (value) => dispatch({ type: 'UPDATE_TEST_ACCOUNTS', value }),\n resetTestPanel: (value) => dispatch({ type: 'RESET_TEST_PANEL', value })\n }}\n >\n {children}\n \n );\n}\n\nTestPanelProvider.propTypes = {\n children: PropTypes.node.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isUserLoggedInSelector } from '../../store/App/selectors';\nimport SectionContent from './SectionContent';\nimport IntegrationPageSectionProvider from './StateManagement/IntegrationPageSectionProvider';\nimport TestPanelProvider from './StateManagement/TestPanelProvider';\n\nexport default function IntegrationPageSection({\n ecmContent: { content } = {},\n serviceData = {},\n pageMetaDataConfig\n}) {\n if (!content) {\n return <>;\n }\n\n const { sdkBaseUrl } = useMemo(() => content?.metadata?.content || {}, [content]);\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n\n return (\n \n \n \n \n \n );\n}\n\nIntegrationPageSection.propTypes = {\n ecmContent: PropTypes.object.isRequired,\n serviceData: PropTypes.object.isRequired,\n pageMetaDataConfig: PropTypes.object.isRequired\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"indented_container\":\"HtmlContent-module_indented_container__UgoiA\",\"container\":\"HtmlContent-module_container__ZiDu3\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport styles from './HtmlContent.module.less';\n\nconst HtmlContent = ({ ecmContent }) => {\n const { content } = ecmContent;\n const contentJson = content.contentJson || {};\n\n const wrapper = classNames({\n [styles.container]: contentJson.classNameStyle === 'container',\n [styles.indented_container]: contentJson.classNameStyle !== 'container'\n });\n\n return
;\n};\n\nHtmlContent.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default HtmlContent;\n","import React from 'react';\nimport { Icon } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from './HtmlList.module.less';\n\nconst HtmlList = ({ ecmContent }) => {\n const { list, contentJson } = ecmContent.content;\n\n return (\n
\n {list.map(({ content }, index) => (\n
\n {contentJson && contentJson?.icon ? (\n \n ) : (\n
\n

{index + 1}

\n
\n )}\n
\n
\n ))}\n
\n );\n};\n\nHtmlList.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default HtmlList;\n","import React, { useState } from 'react';\nimport { Button, Tabs, TabPanel } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport styles from './TabsSection.module.less';\nimport Overlay from '../../../components/Overlay';\nimport { trackTabClick, trackTabShown } from '../../../lib/fpti';\n\nconst TabsSection = ({ ecmContent }) => {\n const { content } = ecmContent;\n const jsonContent = content.style;\n const { cards } = content;\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n const clickTabHandler = (_evt, index) => {\n const { id } = jsonContent[index];\n trackTabClick(id);\n trackTabShown(id);\n setSelectedTabIdx(index);\n };\n\n return (\n
\n \n {cards.map(({ content: cardContent }) => {\n const { key, text, icon, badge, url, description } = cardContent;\n const id = key.toLowerCase().replace(' ', '-');\n return (\n \n
\n
\n
\n \n
\n \n
\n \n );\n })}\n \n
\n );\n};\n\nTabsSection.propTypes = { ecmContent: PropTypes.object };\n\nTabsSection.defaultProps = { ecmContent: null };\n\nexport default TabsSection;\n","// extracted by mini-css-extract-plugin\nexport default {\"checkoutOptions\":\"TabsSection-module_checkoutOptions__nN_GU\",\"checkoutOptionsList\":\"TabsSection-module_checkoutOptionsList__qEuFU\",\"checkoutlist\":\"TabsSection-module_checkoutlist___kMva\",\"xo_container\":\"TabsSection-module_xo_container__SyOvv\",\"overview_container\":\"TabsSection-module_overview_container__r6WsH\",\"description_container\":\"TabsSection-module_description_container__ZY0j1\",\"steps\":\"TabsSection-module_steps__Nw0pk\",\"steps_wrapper\":\"TabsSection-module_steps_wrapper__CUXZ0\",\"text\":\"TabsSection-module_text__VoYzv\",\"custom_badge\":\"TabsSection-module_custom_badge__u3FkL\",\"custom_badge_text\":\"TabsSection-module_custom_badge_text__aAXoR\",\"overlay\":\"TabsSection-module_overlay__sqFV9\"};","import React from 'react';\nimport { Card, Row, Col, Icon } from '@paypalcorp/pp-react';\nimport { useNavigate } from 'react-router';\nimport { useSelector } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport styles from './ClickableCardsSection.module.less';\nimport isAbsolutePath from '../../../util/isAbsolutePath';\nimport { trackButtonClick } from '../../../lib/fpti';\nimport { experimentsSelector } from '../../../store/App/selectors';\nimport elmoClientNavigation from '../../../util/elmoClientNavigation';\n\nconst CardsRow = ({ row }) => {\n const navigate = useNavigate();\n const experiments = useSelector(experimentsSelector);\n const activeTreatment = experiments?.studio_enable_fastlane_acdc;\n\n const handleNavigation = (key, url, behavior) => {\n trackButtonClick(key, url);\n if (isAbsolutePath(url)) {\n if (behavior === 'open') {\n window.open(url);\n } else {\n window.location.href = url;\n }\n } else {\n const redirectUrl = elmoClientNavigation(url, activeTreatment);\n if (isAbsolutePath(redirectUrl)) {\n window.location = redirectUrl;\n } else {\n navigate(redirectUrl);\n }\n }\n };\n\n return (\n \n {row.map(({ content }) => (\n \n handleNavigation(content.key, content.url, content.description)}\n className={styles.card}\n >\n
\n {content.icon && }\n

{content.key}

\n
\n

{content.badge}

\n \n \n ))}\n
\n );\n};\n\nCardsRow.propTypes = { row: PropTypes.array };\nCardsRow.defaultProps = { row: [] };\n\nexport default CardsRow;\n","// extracted by mini-css-extract-plugin\nexport default {\"card_section_container\":\"ClickableCardsSection-module_card_section_container__kUCUl\",\"card_section_title\":\"ClickableCardsSection-module_card_section_title__wT6Dm\",\"card_section_subtitle\":\"ClickableCardsSection-module_card_section_subtitle__Zl8Yf\",\"title_container\":\"ClickableCardsSection-module_title_container__yhhgz\",\"card_title\":\"ClickableCardsSection-module_card_title__ac_rg\",\"card_description\":\"ClickableCardsSection-module_card_description__JCw_T\",\"card\":\"ClickableCardsSection-module_card___SFa0\",\"card_container\":\"ClickableCardsSection-module_card_container___YK_w\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './ClickableCardsSection.module.less';\nimport CardsRow from './CardsRow';\n\nconst ClickableCardsSection = ({ ecmContent }) => {\n const { title, subtitle, cards, style = {} } = ecmContent.content;\n return (\n
\n

{title}

\n {subtitle &&

{subtitle}

}\n \n
\n );\n};\n\nClickableCardsSection.propTypes = { ecmContent: PropTypes.object };\nClickableCardsSection.defaultProps = {\n ecmContent: { content: { title: '', cards: [], columns: 1 } }\n};\n\nexport default ClickableCardsSection;\n","// extracted by mini-css-extract-plugin\nexport default {\"overview_benefits_container\":\"OverviewBenefits-module_overview_benefits_container__au0f5\",\"benefit_logo\":\"OverviewBenefits-module_benefit_logo__spG5X\",\"benefit_title\":\"OverviewBenefits-module_benefit_title__kw3J_\",\"benefit_description\":\"OverviewBenefits-module_benefit_description__PgTWi\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './OverviewBenefits.module.less';\n\nconst BenefitCard = ({ content }) => {\n const { icon, key, badge } = content;\n return (\n
\n \"\"\n

{key}

\n

{badge}

\n
\n );\n};\n\nBenefitCard.propTypes = { content: PropTypes.object };\nBenefitCard.defaultProps = { content: null };\n\nexport default BenefitCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Col, Row } from '@paypalcorp/pp-react';\nimport BenefitCard from './BenefitCard';\nimport styles from './OverviewBenefits.module.less';\n\nconst OverviewBenefits = ({ ecmContent }) => {\n const { cards } = ecmContent.content;\n return (\n \n {cards.map(({ content }) => (\n \n \n \n ))}\n \n );\n};\n\nOverviewBenefits.propTypes = { ecmContent: PropTypes.object };\nOverviewBenefits.defaultProps = { ecmContent: { content: { cards: [] } } };\n\nexport default OverviewBenefits;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './OverviewPaymentMethods.module.less';\n\nconst OverviewPaymentMethods = ({ ecmContent }) => {\n const { content, contentJson } = ecmContent.content;\n const { icons } = contentJson;\n return (\n
\n
\n
\n {icons.map((src) => (\n
\n \"\"\n
\n ))}\n
\n
\n );\n};\n\nOverviewPaymentMethods.propTypes = { ecmContent: PropTypes.object };\nOverviewPaymentMethods.defaultProps = {\n ecmContent: { content: { content: '', contentJson: { icons: [] } } }\n};\n\nexport default OverviewPaymentMethods;\n","// extracted by mini-css-extract-plugin\nexport default {\"payment_methods_container\":\"OverviewPaymentMethods-module_payment_methods_container__iYd5_\",\"logos_row_container\":\"OverviewPaymentMethods-module_logos_row_container__KJHNT\",\"payment_method_logo_container\":\"OverviewPaymentMethods-module_payment_method_logo_container___xwaf\",\"payment_method_logo\":\"OverviewPaymentMethods-module_payment_method_logo__lZ8M7\"};","import React from 'react';\nimport { Button, ViewIcon } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport { useSelector } from 'react-redux';\nimport styles from './OverviewWelcomeMessage.module.less';\nimport { trackButtonClick } from '../../../lib/fpti';\nimport isAbsolutePath from '../../../util/isAbsolutePath';\nimport { experimentsSelector } from '../../../store/App/selectors';\nimport elmoClientNavigation from '../../../util/elmoClientNavigation';\n\nconst OverviewWelcomeMessage = ({ ecmContent }) => {\n const { content, contentJson } = ecmContent.content;\n const { buttonConfig, imageUrl, demoUrl } = contentJson;\n const navigate = useNavigate();\n const experiments = useSelector(experimentsSelector);\n const activeTreatment = experiments?.studio_enable_fastlane_acdc;\n\n const handleNavigation = (url) => {\n if (isAbsolutePath(url)) {\n if (url.includes('/studio')) {\n window.open(url, '_self', 'popup=false');\n } else {\n window.open(url);\n }\n } else {\n const redirectUrl = elmoClientNavigation(url, activeTreatment);\n if (isAbsolutePath(redirectUrl)) {\n window.location = redirectUrl;\n } else {\n navigate(redirectUrl);\n }\n }\n };\n\n return (\n
\n \n {buttonConfig && (\n
\n {\n trackButtonClick(buttonConfig.label, buttonConfig.url);\n handleNavigation(buttonConfig.url);\n }}\n >\n {buttonConfig.label}\n \n
\n )}\n
\n {imageUrl && \"\"}\n {demoUrl && (\n
\n {\n trackButtonClick('View Demo', demoUrl);\n navigate(demoUrl);\n }}\n iconComponent={ViewIcon}\n >\n View Demo\n \n
\n )}\n
\n
\n );\n};\n\nOverviewWelcomeMessage.propTypes = { ecmContent: PropTypes.object };\nOverviewWelcomeMessage.defaultProps = {\n ecmContent: {\n content: { content: '', contentJson: { buttonConfig: null, imageUrl: '', demoUrl: '' } }\n }\n};\n\nexport default OverviewWelcomeMessage;\n","// extracted by mini-css-extract-plugin\nexport default {\"welcome_message_container\":\"OverviewWelcomeMessage-module_welcome_message_container__wmW_r\",\"welcome_message_html\":\"OverviewWelcomeMessage-module_welcome_message_html__k7uE8\",\"integration_button_container\":\"OverviewWelcomeMessage-module_integration_button_container__MLLmk\",\"view_demo_container\":\"OverviewWelcomeMessage-module_view_demo_container__sYpJZ\",\"view_demo_button\":\"OverviewWelcomeMessage-module_view_demo_button__GGobq\"};","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport {\n Button,\n CaptionText,\n CloseIcon,\n CodeIcon,\n DocumentIcon,\n OthersIcon\n} from '@paypalcorp/pp-react';\nimport loadable from '@loadable/component';\nimport { useSelector } from 'react-redux';\nimport styles from './TestPanel.module.less';\nimport IntegrationPageSectionContext from '../IntegrationPageSection/StateManagement/IntegrationPageSectionContext';\nimport TestPanelContext from '../IntegrationPageSection/StateManagement/TestPanelContext';\nimport { getApiHistory } from './api';\nimport { trackButtonChange, trackTabClick } from '../../lib/fpti';\nimport Loading from '../../components/Loading/Loading';\nimport EXPERIMENT_MAP from '../../constants/experimentMap';\nimport { experimentsSelector, isUserLoggedInSelector } from '../../store/App/selectors';\n\nconst LogViewer = loadable(() => import('./LogViewer'), {\n fallback: \n});\nconst TestAccounts = loadable(() => import('./TestAccounts'), {\n fallback: \n});\nconst ApiHistory = loadable(() => import('./ApiHistory'), {\n fallback: \n});\n\nconst TestPanel = () => {\n const panelHeading = 'Test Panel:';\n const isUserLoggedIn = useSelector(isUserLoggedInSelector);\n const experiments = useSelector(experimentsSelector);\n const headers = [\n {\n key: 'logs',\n title: 'Logs',\n Icon: OthersIcon,\n enabled: true\n },\n {\n key: 'testAccounts',\n title: 'Test accounts',\n Icon: CodeIcon,\n enabled: isUserLoggedIn\n ? experiments?.studio_enable_rest_apps === EXPERIMENT_MAP.studio_enable_rest_apps.TREATMENT\n : true\n },\n {\n key: 'apiHistory',\n title: 'API history',\n Icon: DocumentIcon,\n enabled: isUserLoggedIn\n ? experiments?.studio_enable_rest_apps === EXPERIMENT_MAP.studio_enable_rest_apps.TREATMENT\n : true\n }\n // {\n // key: 'transactions',\n // title: 'Transactions',\n // iconName: 'others'\n // },\n ].filter((item) => item.enabled);\n\n const csrfToken = useSelector((state) => state?.app?.csrfToken);\n\n const {\n SdkConfigurator: {\n sdkSettings: { clientId }\n }\n } = useContext(IntegrationPageSectionContext);\n\n const {\n isOpen: isTestPanelOpen,\n toggleTestPanel,\n apiHistory: { fetchingHistory, hasMounted },\n updateApiHistory\n } = useContext(TestPanelContext);\n\n const PANEL_MIN_HEIGHT = 55;\n let height;\n const closeBtnRef = useRef(null);\n const dragPanelRef = useRef(null);\n const dragHandleRef = useRef(null);\n\n const [headerIndex, setHeaderIndex] = useState(0);\n const [panelHeight, setPanelHeight] = useState(0);\n\n useEffect(() => {\n const refreshApiHistory = async () => {\n const history = await getApiHistory(csrfToken, clientId);\n updateApiHistory({ apiHistoryItems: history.items, fetchingHistory: false });\n };\n if (hasMounted && fetchingHistory && isUserLoggedIn) {\n setTimeout(async () => {\n refreshApiHistory();\n }, 500);\n }\n }, [fetchingHistory]);\n\n useEffect(() => {\n setHeaderIndex(0);\n }, [isTestPanelOpen]);\n\n const isNumber = (value) => {\n return typeof value === 'number';\n };\n\n useEffect(() => {\n if (closeBtnRef && closeBtnRef.current) {\n closeBtnRef.current.focus();\n }\n }, [isTestPanelOpen]);\n\n useEffect(() => {\n /* istanbul ignore if */\n if (isTestPanelOpen) {\n const panelElement = dragPanelRef.current;\n\n if (isNumber(panelHeight) && panelHeight !== 0) {\n panelElement.style.height = `${panelHeight}px`;\n height = panelHeight;\n } else {\n const panelStyle = window.getComputedStyle(panelElement);\n height = parseInt(panelStyle.height, 10);\n }\n\n let yCord = 0;\n\n const onMouseMoveResize = (event) => {\n const dy = event.clientY - yCord;\n height -= dy;\n yCord = event.clientY;\n\n const PANEL_MAX_HEIGHT = 0.85 * window.innerHeight;\n\n if (height > PANEL_MAX_HEIGHT) {\n height = parseInt(PANEL_MAX_HEIGHT, 10);\n } else if (height < PANEL_MIN_HEIGHT) {\n height = PANEL_MIN_HEIGHT;\n }\n\n panelElement.style.height = `${height}px`;\n };\n\n const onMouseUpResize = () => {\n document.removeEventListener('mousemove', onMouseMoveResize);\n };\n\n const onMouseDownResize = (event) => {\n yCord = event.clientY;\n document.addEventListener('mousemove', onMouseMoveResize);\n document.addEventListener('mouseup', onMouseUpResize);\n };\n\n const panelDragElement = dragHandleRef.current;\n panelDragElement.addEventListener('mousedown', onMouseDownResize);\n\n return () => {\n panelDragElement.removeEventListener('mousedown', onMouseDownResize);\n };\n }\n return undefined;\n }, [isTestPanelOpen]);\n\n const handleToggleTestPanel = () => {\n trackButtonChange('Test Panel', !isTestPanelOpen);\n toggleTestPanel(!isTestPanelOpen);\n\n if (isTestPanelOpen) {\n dragPanelRef.current.style.removeProperty('height');\n\n /* istanbul ignore else */\n if (isNumber(height)) {\n setPanelHeight(height);\n }\n }\n };\n const handleTabClick = (currentIndex) => {\n trackTabClick(headers[currentIndex].title);\n setHeaderIndex(currentIndex);\n };\n\n return (\n <>\n {isTestPanelOpen ? (\n <>\n \n
\n
\n
\n
\n
\n
\n
{panelHeading}
\n {headers.map(({ title, Icon }, currentHeaderIndex) => {\n return (\n handleTabClick(currentHeaderIndex)}\n className={\n headerIndex === currentHeaderIndex\n ? `${styles.tab} ${styles.active_container}`\n : styles.tab\n }\n tertiary\n size=\"sm\"\n iconComponent={Icon}\n >\n \n {title}\n \n \n );\n })}\n
\n \n Close\n \n
\n
\n
\n {headers[headerIndex].key === 'logs' && }\n {headers[headerIndex].key === 'testAccounts' && (\n \n )}\n {headers[headerIndex].key === 'apiHistory' && }\n
\n
\n \n ) : (\n <>\n
\n \n Test Panel\n \n
\n \n )}\n \n );\n};\n\nexport default TestPanel;\n","const getApiHistory = async (csrfToken, clientId) => {\n const body = { clientId };\n try {\n const apiResponse = await fetch('/studio/api/v1/apis/calls', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n });\n return await apiResponse.json();\n } catch (error) {\n return { items: [] };\n }\n};\n\nconst fetchTestAccounts = async (csrfToken, clientId) => {\n const body = { clientId };\n try {\n const apiResponse = await fetch(`/studio/api/v1/customer/testaccounts`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n });\n if (apiResponse.status !== 200) {\n throw new Error(`Error getting test acccounts.`);\n }\n return await apiResponse.json();\n } catch (error) {\n return { error, accounts: [] };\n }\n};\n\nconst fetchTestAccountDetails = async (csrfToken, clientId, accountId) => {\n const body = { clientId, accountId };\n try {\n const apiResponse = await fetch(`/studio/api/v1/customer/testaccounts/details`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(body)\n });\n\n if (apiResponse.status !== 200) {\n throw new Error(`Error getting test acccount details.`);\n }\n\n return await apiResponse.json();\n } catch (error) {\n return { error, details: {} };\n }\n};\n\nexport { getApiHistory, fetchTestAccounts, fetchTestAccountDetails };\n","import loadable from '@loadable/component';\nimport Title from '../components/Title';\nimport IntegrationPageSection from './IntegrationPageSection';\nimport OverviewWelcomeMessage from './OverviewPage/OverviewWelcomeMessage';\nimport OverviewBenefits from './OverviewPage/OverviewBenefits';\nimport OverviewPaymentMethods from './OverviewPage/OverviewPaymentMethods';\nimport AlertBox from '../components/AlertBox';\nimport ClickableCardsSection from './OverviewPage/ClickableCardsSection';\nimport IntroSection from './GetStarted/IntroSection/IntroSection';\nimport PaymentMethods from './GetStarted/PaymentMethods/PaymentMethods';\nimport CaptionedImagesRow from './GetStarted/CaptionedImagesRow';\nimport SetUpInfo from './GetStarted/SetUpInfo/SetUpInfo';\nimport NextSteps from './GetStarted/NextSteps/NextSteps';\nimport HtmlContent from './NoCode/HtmlContent';\nimport TabsSection from './NoCode/TabsSection';\nimport HtmlList from './NoCode/HtmlList';\nimport Divider from '../components/Divider';\nimport ImageDescriptionList from './GetStarted/ImageDescriptionList';\nimport NumberedList from './GetStarted/NumberedList';\n\nconst componentMap = new Map();\ncomponentMap.set('titletag', Title);\ncomponentMap.set('clientSDKIntegrationSection', IntegrationPageSection);\n\ncomponentMap.set(\n 'HtmlPageSection',\n loadable(() => import('./IntegrationPageSection/HtmlPageSection'))\n);\n\ncomponentMap.set('DividingLine', Divider);\n\n// Overview Page\ncomponentMap.set('overviewWelcomeMessage', OverviewWelcomeMessage);\ncomponentMap.set('overviewBenefits', OverviewBenefits);\ncomponentMap.set('checkoutPaymentMethods', OverviewPaymentMethods);\ncomponentMap.set('alertBox', AlertBox);\ncomponentMap.set('clickableCardsSection', ClickableCardsSection);\n\n// No Code Page\ncomponentMap.set('htmlContent', HtmlContent);\ncomponentMap.set('htmlList', HtmlList);\ncomponentMap.set('tabsSection', TabsSection);\n\n// Get Started Page\ncomponentMap.set('introSection', IntroSection);\ncomponentMap.set('paymentMethods', PaymentMethods);\ncomponentMap.set('captionedImagesRow', CaptionedImagesRow);\ncomponentMap.set('setUpInfo', SetUpInfo);\ncomponentMap.set('nextSteps', NextSteps);\ncomponentMap.set('imageDescriptionList', ImageDescriptionList);\ncomponentMap.set('numberedList', NumberedList);\n\nexport default componentMap;\n","// extracted by mini-css-extract-plugin\nexport default {\"alert_box_container\":\"AlertBox-module_alert_box_container__kNSfQ\",\"alert_box_container_with_padding\":\"AlertBox-module_alert_box_container_with_padding__kFs3y\"};","import React from 'react';\nimport { Alert } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport styles from './AlertBox.module.less';\n\nconst AlertBox = ({ ecmContent, disablePadding }) => {\n const { content, contentJson } = ecmContent.content;\n const { type } = contentJson;\n const alertClassNames = classNames(styles.alert_box_container, {\n [styles.alert_box_container_with_padding]: !disablePadding\n });\n\n return (\n
\n \n
\n \n
\n );\n};\n\nAlertBox.propTypes = { ecmContent: PropTypes.object, disablePadding: PropTypes.bool };\nAlertBox.defaultProps = {\n ecmContent: { content: { content: '', contentJson: { type: 'info' } } },\n disablePadding: false\n};\n\nexport default AlertBox;\n","import React from 'react';\nimport { Divider } from '@paypalcorp/pp-react';\n\nexport default function PayPalDivider() {\n return ;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"loading_row\":\"Loading-module_loading_row__biFuY\",\"loading_col\":\"Loading-module_loading_col___BvKb\",\"loading_spinner\":\"Loading-module_loading_spinner__F4uqi\",\"loading_inverse\":\"Loading-module_loading_inverse__gqIgZ\"};","import { Col, Container, LoadingSpinner, Row } from '@paypalcorp/pp-react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport clx from 'classnames';\nimport styles from './Loading.module.less';\n\nfunction Loading({ inverse, size }) {\n return (\n \n \n \n \n \n \n \n );\n}\n\nLoading.propTypes = {\n inverse: PropTypes.bool,\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])\n};\n\nLoading.defaultProps = {\n inverse: false,\n size: 'sm'\n};\n\nexport default Loading;\n","import React, { useState } from 'react';\nimport { ContextualAlert, ViewIcon, DownloadIcon, IconButton } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport './overlay.css';\nimport {\n trackModalError,\n trackModalShown,\n trackModalClosed,\n trackButtonClick\n} from '../../lib/fpti';\n\n// This component is being used here: https://developer.paypal.com/docs/checkout/#home\n// TODO: Look to refactor this code to be consistent with current react component approach\n\nconst Overlay = ({ src, fileName, caption, imageHeight, className = '' }) => {\n const [isOpen, setIsOpen] = useState(false);\n const openModal = () => setIsOpen(true);\n const closeModal = () => setIsOpen(false);\n\n const downloadImage = async () => {\n fetch(src)\n .then((resp) => resp.blob())\n .then((blob) => {\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = url;\n // the filename you want\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(url);\n })\n .catch(() => trackModalError(src, 'An error occurred downloading your file'));\n };\n\n return (\n <>\n \n
\n \n

{caption}

\n
\n
\n {\n downloadImage();\n trackButtonClick('Download', null, src);\n }}\n />\n {\n openModal();\n trackButtonClick('View');\n trackModalShown('View');\n }}\n />\n
\n
\n
\n {isOpen && (\n
\n
\n {\n closeModal();\n trackModalClosed('View');\n }}\n >\n ×\n \n \"\"\n
\n
\n )}\n \n );\n};\n\nIconButton.propTypes = {\n svgIconComponent: PropTypes.elementType.isRequired,\n onClick: PropTypes.func.isRequired\n};\n\nOverlay.propTypes = {\n src: PropTypes.string.isRequired,\n fileName: PropTypes.string.isRequired,\n caption: PropTypes.string.isRequired,\n imageHeight: PropTypes.string.isRequired,\n className: PropTypes.string.isRequired\n};\n\nexport default Overlay;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HeadingText } from '@paypalcorp/pp-react';\n\nexport default function Title({ ecmContent }) {\n return {ecmContent.content.content};\n}\n\nTitle.propTypes = { ecmContent: PropTypes.object.isRequired };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport pageComponentMap from './pageComponentMap';\n\nconst PageComponentFactory = ({ pageContent, serviceData, pageMetaDataConfig }) => {\n // eslint-disable-next-line react/destructuring-assignment\n const PageComponent = pageComponentMap.get(pageContent?.content?.key) || (() => <>);\n\n return (\n \n );\n};\n\nPageComponentFactory.propTypes = {\n pageContent: PropTypes.object,\n serviceData: PropTypes.object.isRequired,\n pageMetaDataConfig: PropTypes.object.isRequired\n};\nPageComponentFactory.defaultProps = {\n pageContent: null\n};\n\nexport default PageComponentFactory;\n","// extracted by mini-css-extract-plugin\nexport default {\"page_section\":\"Page-module_page_section___YaTY\",\"page_container\":\"Page-module_page_container__UnUf4\",\"page_loader_container\":\"Page-module_page_loader_container__uG5rP\",\"page_loader\":\"Page-module_page_loader__Ab8M_\"};","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport PropTypes from 'prop-types';\n\nexport default function SEO({ ecmContent: { title, description } = {}, pathName }) {\n const titleElements = title\n ? [{title}, ]\n : null;\n const descriptionElements = description\n ? [\n ,\n \n ]\n : null;\n\n return (\n \n {titleElements}\n {descriptionElements}\n \n \n \n );\n}\n\nSEO.propTypes = {\n ecmContent: PropTypes.objectOf(PropTypes.string).isRequired,\n pathName: PropTypes.string.isRequired\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { Col, LoadingSpinner, Row } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useLocation } from 'react-router-dom';\nimport ComponentFactory from './PageComponentFactory';\nimport styles from './Page.module.less';\nimport ServerErrorPage from '../components/App/ServerErrorPage';\nimport SEO from '../components/App/SEO';\nimport clientLogger from '../lib/logger';\nimport { trackPageShown, trackPageFocus, trackPageLostFocus } from '../lib/fpti';\n\nconst Page = ({ ecmContent, serviceData }) => {\n const url = useLocation().pathname;\n\n const [initialState, setInitialState] = useState(ecmContent);\n const [loading, setLoading] = useState(false);\n const [pageNotFound, setPageNotFound] = useState(false);\n const [error, setError] = useState(false);\n const controllerRef = useRef(null);\n let isReloading = false;\n\n useEffect(() => {\n window.fpti.page = `studio${url.replace(/\\//g, '_')}`;\n }, [url]);\n\n useEffect(() => {\n window.addEventListener('beforeunload', () => {\n isReloading = true;\n });\n }, []);\n\n useEffect(() => {\n document.addEventListener('visibilitychange', () => {\n if (isReloading) {\n isReloading = false;\n return;\n }\n if (document.visibilityState === 'visible') {\n trackPageFocus(url);\n } else {\n trackPageLostFocus(url);\n }\n });\n }, []);\n\n useEffect(() => {\n // URL might get changed in between ECM content is loading, aborting the stale call\n if (controllerRef.current) {\n setLoading(false);\n controllerRef.current.abort();\n }\n if (!initialState || initialState.pageMetaData.content.url !== url) {\n controllerRef.current = new AbortController();\n setLoading(true);\n const fetchEcmContent = async () => {\n try {\n const response = await fetch(`/studio/api/v1/ecm/data?url=${url}`, {\n signal: controllerRef.current.signal\n });\n const result = await response.json();\n if (response.ok) {\n setInitialState(result.data);\n setPageNotFound(false);\n setError(false);\n trackPageShown(url);\n } else if (response.status === 404) {\n setPageNotFound(true);\n } else {\n setError(true);\n clientLogger.error('PAGE:LOAD:ERROR', { error: result.body, status: response.status });\n }\n setLoading(false);\n } catch (err) {\n if (err.name !== 'AbortError') {\n setError(true);\n setLoading(false);\n }\n }\n };\n fetchEcmContent();\n } else {\n setPageNotFound(false);\n setError(false);\n }\n }, [url]);\n\n if (error) {\n return ;\n }\n\n if (pageNotFound) {\n return (\n \n \n
#404
\n
Oops, we can not find that page!
\n
\n \n );\n }\n\n if (loading) {\n return (\n
\n
\n \n
\n
\n );\n }\n\n return (\n
\n \n {initialState?.pageContent.map((content) => {\n return (\n \n );\n })}\n
\n );\n};\n\nPage.propTypes = {\n ecmContent: PropTypes.object,\n serviceData: PropTypes.objectOf({\n apps: PropTypes.array.isRequired,\n clientAccessToken: PropTypes.string,\n defaultClientId: PropTypes.string\n }).isRequired\n};\nPage.defaultProps = { ecmContent: null };\n\nexport default Page;\n","import { createSelector } from 'reselect';\nimport { connect } from 'react-redux';\nimport Page from '../Page';\n\nconst memoizedEcmContent = createSelector(\n [(state) => state.ecmContent],\n (ecmContent) => ecmContent.content\n);\nconst serviceDataSelector = (state) => state.serviceData;\n\nfunction mapStateToProps(state) {\n return {\n ecmContent: memoizedEcmContent(state),\n serviceData: serviceDataSelector(state)\n };\n}\n\nexport default connect(mapStateToProps)(Page);\n","import { createSelector } from 'reselect';\n\nexport const appSelector = (state) => state.app;\nexport const getEnvSelector = createSelector(appSelector, (app) => {\n return app.targetEnv;\n});\n\nexport const isUserLoggedInSelector = createSelector(\n appSelector,\n (app) => app.prunedUser.isUserLoggedIn\n);\n\nexport const experimentsSelector = createSelector(appSelector, (app) => app.experiments);\n\nexport const environmentSelector = createSelector(appSelector, (app) => app.targetEnv);\n","import { ENABLE_FASTLANE_ACDC } from '../constants/experimentMap';\nimport { STUDIO_ROUTES } from '../components/LeftNavBar/navItems';\n\nconst elmoClientNavigation = (url, activeTreatment) => {\n const baseUrl = window.location.origin;\n const docUrl = `${baseUrl}/docs${url}`;\n\n if (url.includes('/docs')) {\n return url;\n }\n if (\n activeTreatment === ENABLE_FASTLANE_ACDC.TREATMENT_FASTLANE &&\n url.includes(STUDIO_ROUTES.ADVANCED.OVERVIEW)\n ) {\n return docUrl;\n }\n if (\n activeTreatment === ENABLE_FASTLANE_ACDC.TREATMENT_ACDC &&\n url.includes(STUDIO_ROUTES.FASTLANE.OVERVIEW) &&\n !url.includes(STUDIO_ROUTES.FASTLANE.GETSTARTED)\n ) {\n return docUrl;\n }\n if (\n activeTreatment === ENABLE_FASTLANE_ACDC.CONTROL &&\n (url.includes(STUDIO_ROUTES.ADVANCED.OVERVIEW) || url.includes(STUDIO_ROUTES.FASTLANE.OVERVIEW))\n ) {\n return docUrl;\n }\n return url;\n};\n\nexport default elmoClientNavigation;\n","import { useSelector } from 'react-redux';\nimport { useLocation } from 'react-router';\n\nconst getLoginUrl = () => {\n const location = useLocation();\n const unifiedLoginUrl = useSelector((state) => state?.app?.unifiedLoginUrl);\n const unifiedLoginUrlFormatted = new URL(unifiedLoginUrl);\n if (typeof window !== 'undefined') {\n unifiedLoginUrlFormatted.searchParams.set(\n 'returnUri',\n `${window.location.protocol}//${window.location.host}${window.location.pathname}${location.search}`\n );\n }\n return unifiedLoginUrlFormatted.toString();\n};\n\nexport default getLoginUrl;\n","const isAbsolutePath = (path) => path.startsWith('http://') || path.startsWith('https://');\n\nexport default isAbsolutePath;\n","const createOrder = async ({\n currencyCode,\n amount,\n intent,\n enableShippingOptions,\n csrfToken,\n updateLogs,\n clientId,\n integration_type = 'standard',\n paymentSource,\n threeDsSetting\n}) => {\n const payload = {\n clientId,\n currencyCode,\n amount,\n intent: intent ? intent.toUpperCase() : null,\n enableShippingOptions,\n integration_type,\n paymentSource,\n threeDsSetting\n };\n let request;\n let response;\n let log;\n try {\n const apiResponse = await fetch('/studio/api/v1/order/create', {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(payload)\n });\n\n ({ request, response } = await apiResponse.json());\n return response.id;\n } catch (err) {\n response = err;\n return err;\n } finally {\n log = {\n name: 'Create Order',\n timestamp: new Date().toLocaleString(),\n url: 'POST to v2/checkout/orders',\n request,\n response\n };\n updateLogs(log);\n }\n};\n\nconst captureOrder = async ({ orderId, csrfToken, updateLogs, updateLastCapture, clientId }) => {\n let response;\n let log;\n try {\n const apiResponse = await fetch(`/studio/api/v1/orders/${orderId}/capture`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n clientId\n })\n });\n\n response = await apiResponse.json();\n delete response.sys;\n const captureIds = response.purchase_units\n ?.map((purchaseUnit) => purchaseUnit.payments.captures?.map((capture) => capture.id))\n .flat();\n updateLastCapture(captureIds);\n } catch (err) {\n response = err;\n } finally {\n log = {\n name: 'Capture Order',\n timestamp: new Date().toLocaleString(),\n url: `POST to v2/checkout/orders/${orderId}/capture`,\n request: {},\n response\n };\n updateLogs(log);\n }\n};\n\nconst authorizeOrder = async ({ orderId, csrfToken, updateLogs, clientId }) => {\n let response;\n let authorizationId;\n let log;\n try {\n const apiResponse = await fetch(`/studio/api/v1/orders/${orderId}/authorize`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n clientId\n })\n });\n\n response = await apiResponse.json();\n authorizationId = response?.purchase_units?.[0]?.payments?.authorizations[0].id;\n delete response.sys;\n } catch (err) {\n response = err;\n } finally {\n log = {\n name: 'Authorize Order',\n timestamp: new Date().toLocaleString(),\n url: `POST to v2/checkout/orders/${orderId}/authorize`,\n request: {},\n response\n };\n\n updateLogs(log);\n }\n return authorizationId;\n};\n\nconst captureAuthorize = async ({\n authorizationId,\n csrfToken,\n updateLogs,\n updateLastCapture,\n clientId\n}) => {\n let response;\n let log;\n try {\n const apiResponse = await fetch(`/studio/api/v1/orders/${authorizationId}/captureAuthorize`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n clientId\n })\n });\n\n response = await apiResponse.json();\n delete response.sys;\n } catch (err) {\n response = err;\n } finally {\n log = {\n name: 'Capture Authorize',\n timestamp: new Date().toLocaleString(),\n url: `POST to v2/payments/authorizations/${authorizationId}/capture`,\n request: {},\n response\n };\n updateLastCapture([response.id]);\n updateLogs(log);\n }\n};\n\nconst shippingAddressChange = (data, updateLogs) => {\n const log = {\n name: 'Shipping Address Change',\n timestamp: new Date().toLocaleString(),\n callback: data?.shippingAddress\n };\n\n updateLogs(log);\n};\n\nconst shippingOptionsChange = (data, updateLogs) => {\n const log = {\n name: 'Shipping Options Change',\n timestamp: new Date().toLocaleString(),\n callback: data?.selectedShippingOption\n };\n\n updateLogs(log);\n};\n\nconst refundCapture = async ({\n captureIds,\n csrfToken,\n updateLogs,\n toggleTestPanel,\n updateLastCapture,\n clientId\n}) => {\n let responses;\n let log;\n try {\n const refundRequests = captureIds.map((id) =>\n fetch(`/studio/api/v1/payments/captures/${id}/refund`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n clientId\n })\n })\n );\n\n responses = await Promise.all(refundRequests);\n responses = await Promise.all(responses.map((r) => r.json()));\n } catch (err) {\n responses = [err];\n } finally {\n responses.forEach((response, index) => {\n const captureId = captureIds[index];\n delete response.sys;\n log = {\n name: 'Refund Capture',\n timestamp: new Date().toLocaleString(),\n url: `POST to v2/payments/captures/${captureId}/refund`,\n request: {},\n response\n };\n updateLogs(log);\n updateLastCapture(null);\n toggleTestPanel(true);\n });\n }\n};\n\nconst voidOrder = async ({ orderId, csrfToken, updateLogs, clientId }) => {\n let response;\n let log;\n try {\n const apiResponse = await fetch(`/studio/api/v1/orders/${orderId}/void`, {\n method: 'POST',\n headers: {\n 'X-CSRF-Token': csrfToken,\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n clientId\n })\n });\n\n response = await apiResponse.json();\n delete response.sys;\n } catch (err) {\n response = err;\n } finally {\n log = {\n name: 'Void Order',\n timestamp: new Date().toLocaleString(),\n url: `POST to v2/checkout/orders/${orderId}/void`,\n request: {},\n response\n };\n updateLogs(log);\n }\n};\n\nconst logConfirmPaymentSource = ({ updateLogs, errorMsg }) => {\n const log = {\n name: 'SDK Error',\n url: 'Error',\n timestamp: new Date().toLocaleString(),\n error: errorMsg\n };\n\n updateLogs(log);\n};\n\nexport {\n createOrder,\n captureOrder,\n authorizeOrder,\n shippingAddressChange,\n shippingOptionsChange,\n refundCapture,\n voidOrder,\n captureAuthorize,\n logConfirmPaymentSource\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"panel_container\":\"TestPanel-module_panel_container__Yhtnl\",\"panel_header\":\"TestPanel-module_panel_header__goiw2\",\"drag_container\":\"TestPanel-module_drag_container__CPlK2\",\"drag_panel\":\"TestPanel-module_drag_panel__Y0GTR\",\"tab_container\":\"TestPanel-module_tab_container__qp3Hj\",\"tabs\":\"TestPanel-module_tabs__IcJkd\",\"tab_heading\":\"TestPanel-module_tab_heading__WuQDZ\",\"tab\":\"TestPanel-module_tab__Fvl1L\",\"title_active\":\"TestPanel-module_title_active__w97X3\",\"title\":\"TestPanel-module_title___su92\",\"active_container\":\"TestPanel-module_active_container__pWdSB\",\"active\":\"TestPanel-module_active___ZGJN\",\"close_container\":\"TestPanel-module_close_container__mFa0d\",\"close_text\":\"TestPanel-module_close_text__oC87K\",\"panel_content\":\"TestPanel-module_panel_content___nlIb\",\"panel_btn_container\":\"TestPanel-module_panel_btn_container__HXCmV\",\"panel_btn\":\"TestPanel-module_panel_btn___wl97\"};"],"names":["CaptionedImagesRow","ecmContent","jsonObject","content","title","titleStyle","titleAlign","subtitle","rows","titleClass","styles","large_title","small_title","alignText","left_title","center_title","React","className","container","map","row","row_title","style","justifyContent","row_title_align","Row","image_container","images","image","Col","col","image_url","src","alt","sub_header","subheader","sub_text","subtext","propTypes","PropTypes","defaultProps","ImageDescriptionList","text","imageUrl","descriptionSections","downloadName","overlayCaption","imagePosition","imageHeight","imageWidthProp","hash","useLocation","useEffect","window","location","href","xs","xxl","Math","round","Overlay","fileName","caption","section","description_title","descriptions","description","index","dangerouslySetInnerHTML","__html","isRequired","IntroSection","gettingStartedSummary","technicalOverview","checkoutSummary","checkoutSummarySteps","steps","id","step","sxoSummary","NextSteps","cardWidth","navigate","useNavigate","experiments","useSelector","experimentsSelector","activeTreatment","studio_enable_fastlane_acdc","howToIntegrate","classNames","type","lg","Card","onClick","handleClick","key","url","trackButtonClick","isAbsolutePath","includes","open","redirectUrl","elmoClientNavigation","dividing_line","Divider","link_name","NumberedList","list","item","PaymentMethods","primaryImage","EnvSetUp","devEnv","badgeNumber","codeBlock","additionalContent","infoBox","InformationIcon","KnowBefore","knowBeforeCards","cards","card","badge","Resources","resourceCards","SetUpInfo","pageContent","forEach","md","contents","queryParamtoValueMap","node","valueToQueryParamMap","javascript","CodeActions","code","downloadCodeUrl","useContext","IntegrationPageSectionContext","buttons","icon","action","Button","handleAction","secondary","size","SectionToggle","contentKey","sectionKey","label","checked","isChecked","setIsChecked","useState","updateActiveCodeBlock","updateCurrentSectionKey","OrderConfigurator","update3dsSetting","Switch","hideLabel","onChange","event","target","trackButtonChange","split","contentKeyItem","value","undefined","handleOnChange","OrderActionButton","data","coachTipText","isCoachOpen","setIsCoachOpen","length","CoachTip","caretPos","targetElementId","isOpen","onClose","LoadingOverlay","LoadingSpinner","screenReaderText","OrderActions","codeBlockKey","loading","setLoading","lastCapture","SdkConfigurator","sdkSettings","clientId","updateLogs","toggleTestPanel","TestPanelContext","isSectionActive","status","csrfToken","state","app","isUserLoggedIn","prunedUser","captureIds","handleRefund","useCallback","async","refundCapture","updateLastCapture","CardConfigurator","loginUrl","getLoginUrl","Content","login_text","Link","link_text","TypeConfigurator","searchParams","setSearchParams","useSearchParams","updateSdkSettings","language","frontend","backend","SegmentedController","name","selectedTabIdx","findIndex","el","tabs","_","buttonName","set","reload","handleButtonClick","SegmentedControllerPanel","FTPI_3DS_CONFIGURATION","options","primaryText","defaultValue","ThreeDsConfigurator","threeDsSetting","CaptionText","DropdownMenu","trackFieldFocus","e","trackFieldClosed","ComponentMap","ButtonConfigurator","colorOptions","labelOptions","buttonSettings","layoutOptions","shapeOptions","updateButtonSettings","buyerCountry","RadioButton","shape","trackFieldChange","default","color","layout","configureButtonMessages","FTPI_BUYER_COUNTRY","FTPI_CURRENCY","buyerCountryOptions","buyerCurrencyOptions","sdkBaseUrl","dispatch","usePayPalScriptReducer","onValueChange","ftpiIdentifier","newValue","currency","updateAmount","intent","debouncedAmountUpdate","useMemo","debounce","orderAmount","setOrderAmount","selectedIntent","TextInput","HtmlPageSection","forwardRef","highlighted","ref","contentDetails","contentJson","cx","onKeyDown","role","tabIndex","CodeBlockToggle","Object","keys","componentKey","Component","componentContent","CardFieldsConfigurator","availableCustomization","get","cardFieldsConfigurator","updateCardFieldStyles","stylingType","customizations","snippetReplacementKey","field","targetProperty","properties","alertBox","AlertBox","iAcdcCardFieldsConfigurator","IntegrationSteps","ecmContents","updateHighlightedCode","consolidatedCode","codeHighlight","currentSectionKey","setContents","observer","setObserver","filteredContent","filter","languagesEntry","languages","typeEntry","integrationType","ordersEntry","orders","contentEnabled","getSection","tag","find","getCodeBlock","filename","codeBlocks","reduce","prev","curr","metadata","keyElm","block","updateHiglight","codeBlockFileName","handleIntersection","sections","selectableSections","isIntersecting","boundingClientRect","height","intersectionRatio","mostVisibleSection","accSection","currentSection","dataset","updateObserver","disconnect","IntersectionObserver","threshold","rootMargin","handleSectionClick","document","querySelectorAll","observe","firstSelectableContent","isSelectableSection","rest","disablePadding","HtmlPageSectionComponent","createContext","ControlPanel","updateCodeSelection","apps","pageMetaDataConfig","resetTestPanel","isUserLoggedInSelector","product","useParams","langBarClassNames","defaultConfig","standard","advanced","fastlane","appsDropdownOptions","noGutters","TextDisplay","valueClassName","isLabelHidden","rightIcon","Tooltip","selectedIndex","newParams","URLSearchParams","replaceAll","toString","CodeWrapper","sectionIndex","setSelectedTabIdx","codeSnippetIconState","setCodeSnippetIconState","srText","downloadIconState","setDownloadIconState","highlightedLines","setHighlightedLines","changeCodeIconState","guideCodeWrapperRef","useRef","current","overscrollBehavior","changeDownloadIconState","autoReset","setTimeout","fileIndex","indexOf","currentCodeBlock","codeLineNumberProducer","start","end","startLine","endLine","Array","from","i","firstHighlightLineNum","getElementById","scrollTop","entry","clickedTabIndex","trackTabClick","trackTabShown","$codeLines","children","element","IconButton","buttonType","btnState","svgIconComponent","CopyToClipboardIcon","copy","file","DownloadIcon","WarningIcon","result","response","fetch","ok","Error","arrayBuffer","fetchZipFile","zip","JSZip","loadAsync","files","fullPath","basePath","dir","toLowerCase","filePath","generateAsync","basename","path","saveAs","endsWith","handleDownload","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","SyntaxHighlighter","react","vscDarkPlus","showLineNumbers","lineProps","lineNumber","display","wordBreak","backgroundColor","wrapLines","customStyle","width","preview","panelId","SDK_FLOW_SLUG","CARD_FIELDS_SNIPPET_KEYS","PARENT","NAME","NUMBER","EXPIRY_DATE","CVV","Spacer","CopyToClipboard","contentToCopy","isCopied","setIsCopied","CheckmarkBackgroundIcon","handleCopy","number","Non3DsTestCards","Non3DsCards","BodyText","as","brand","additionaltestcardslink","rel","ThreeDTestCards","ThreeDsCards","selectedCountry","setSelectedCountry","selectedScenario","setSelectedScenario","setCards","countryOptions","countries","country","PrimaryText","scenarioOptions","scenarios","scenario","initialScenario","initialCards","newCountry","newSelectedScenario","newCards","newScenario","updatedCards","TestCardsWrapper","showRadioButtons","setOpen","radioState","setRadioState","accordionRef","handleChange","svgElement","querySelector","setAttribute","Accordion","AccordionRow","heading","contentClassName","Radio","labelClassName","ThreeDsTestCards","SubmitPayment","isPaying","setIsPaying","billingAddress","cardFieldsForm","usePayPalCardFields","getState","isFormValid","alert","submit","catch","error","logConfirmPaymentSource","errorMsg","message","finally","_err","addressLine1","addressLine2","adminArea1","adminArea2","countryCode","postalCode","CustomizedCardFieldsAndBillingAddress","props","handleCreateOrder","handleOrderIntent","handleBillingAddress","billingAddressToggle","amount","cardFieldsLoading","setCardFieldsLoading","setBillingAddress","parentStyles","getIndividualFieldStyles","snippetKey","individualStyles","input","handleBillingAddressChange","prevAddress","PayPalCardFieldsProvider","createOrder","params","onApprove","Container","form","PayPalNameField","PayPalNumberField","PayPalExpiryField","PayPalCVVField","placeholder","_extends","values","AdvancedPreviewWrapper","buttonLoading","setButtonLoading","handleShippingAddress","paymentSource","orderId","currencyCode","integration_type","err","orderID","captureOrder","handleCaptureOrder","authorizationId","authorizeOrder","captureAuthorize","handleAuthorizeOrder","PayPalButtons","fundingSource","forceReRender","onInit","onShippingAddressChange","shippingAddressChange","handleShippingAddressChange","onShippingOptionsChange","shippingOptionsChange","handleShippingOptionsChange","Number","ShippingAddressForm","shippingAddress","givenName","givenNameProp","familyName","familyNameProp","address","addressLine1Prop","addressLine2Prop","adminArea2Prop","adminArea1Prop","postalCodeProp","countryCodeProp","phoneNumber","telCountryCode","telCountryCodeProp","nationalNumber","nationalNumberProp","onSubmit","formData","setFormData","address_form","preventDefault","formattedAddress","fullName","join","address_form_field_container","autoComplete","required","address_form_field","cta_button_container","BillingAddressForm","FlexiblePaymentSection","activeSection","paymentToken","profile","setPaymentToken","section_heading","HeadingText","iconComponent","EditIcon","edit_button","changePayment","lastDigits","QuickStartPaymentSection","Fastlane","paymentWatermark","paymentComponent","cardComponent","identity","csrf","setActiveSection","setShippingAddress","enableShipping","setEnableShipping","authState","setAuthState","emailAddress","setEmailAddress","isProcessing","setIsProcessing","fastlaneContext","isLoading","handleShippingAddressSubmit","fastlane_preview_container","preview_loader_container","preview_loader","handleEmailEdit","removeAllChildren","identity_section_input","disabled","continue_button","profileAuthState","profilePaymentToken","profileShippingAddress","emailSubmit","render","changeAddress","section_summary","shipping_section","Checkbox","fastlane_shipping_checkbox","enableShippingUpdate","address_summary_text","getAddressSummary","primary","memberPaymentToken","getPaymentToken","body","JSON","stringify","toUpperCase","createOrderRequest","method","headers","request","json","clientLogger","cal","sys","timestamp","Date","toLocaleString","warn","FastlanePreviewWrapper","clientAccessToken","setFastlaneContext","IntegrationPageSection","nonce","targetEnv","environmentSelector","sdkUrl","URL","sdkParams","components","search","paypalScript","createElement","onload","initialize","paypal","localStorage","setItem","root","FastlanePaymentComponent","FastlaneCardComponent","FastlaneWatermarkComponent","geoLocOverride","includeAdditionalInfo","console","initFastlane","modalStyleOverrideTempHack","onerror","head","appendChild","removeChild","preview_wrapper","fastlane_test_cards_container","PreviewWrapper","Helmet","PreviewSwitch","ExpandablePreview","expandedMode","prevScroll","scrollTo","top","row_wrapper","row_wrapper__expanded","preview_col__expanded","code_col__expanded","tabsList","TabbedLayout","handleTabSelect","Tabs","tabs_expanded","keepAlive","TabPanel","tabId","tabs_wrapper","SectionContent","ecmIntegContent","setExpandedMode","prevTabSelectionRef","prevScrollRef","PayPalScriptProvider","integration_loader_container","integration_loader","integration_hidden","page_section_container","page_section","page_section__hidden","heading_container","level","titleFormat","integration_code_container__logged_out","integration_code_container__logged_in","idx","tertiary","ArrowsInIcon","ArrowsOutIcon","integration_expand_button__base","integration_collapse_button","integration_expand_button","toggleExpand","expand","scrollY","TestPanel","BEAUTIFY_OPTS","indent_size","indent_char","other","indent_level","indent_with_tabs","preserve_newlines","max_preserve_newlines","jslint_happy","indent_handlebars","SUPPORTED_PARSERS","Set","LANGUAGE_FORMATTER","html","csharp","dotnet","java","php","interpolateCode","ecmEntry","replacements","ecmEntryCopy","regex","RegExp","replace","match","addToCodeSnippet","baseFile","codeSnippet","insertString","placeholderReplacement","parser","splitBaseFile","formatted","has","prettier","plugins","parserHtml","parserBabel","parserPhp","semi","beautify","transormCardFieldsStyles","obj","config","getFastlaneURL","inputNestedCodeBlock","interpolatedBackendCode","codeStatus","childKey","childBlock","parentBlock","parentCodeBlock","codeToUpdate","constructBaseFrontend","consolidatedFrontend","frontendLanguage","baseHtmlAppJs","push","frontEndBaseTemplates","baseCode","constructBaseBackend","consolidatedBackend","baseNodeJs","isBaseFile","getLineCount","initializeEntry","getEntryTags","calculateEntryLines","newEntry","currFile","startIndex","endIndex","substring","clearTags","entries","mapEntryProperties","active","updateConsolidatedCode","backendLanguage","frontEndTemplatesToInterpolate","interpolatedFrontendCode","newConsolidatedFrontend","newConsolidatedBackend","defaultState","integrationPageSectionReducer","produce","draftState","category","codeLanguage","newConsolidatedCode","codes","downloadUrl","downloadEntry","button","urlFromContent","ClientLogger","frontendUrls","IntegrationPageSectionProvider","serviceData","defaultClientId","queryParams","typeQueryParam","pathname","jsonConfiguration","acc","getCodeConfigurations","environment","flat","val","frontendCodeConfigurations","backendCodeConfigurations","defaultCodeStatus","defaultLanguageValues","some","appQueryParam","defaultCardFieldsConfigurator","useReducer","IntegrationPageSectionReducer","getDownloadUrl","Provider","fetchEcmContent","logs","apiHistory","apiHistoryItems","fetchingHistory","hasMounted","testAccounts","testPanelReducer","TestPanelProvider","TestPanelReducer","updateApiHistory","updateTestAccounts","HtmlContent","wrapper","classNameStyle","HtmlList","Icon","TabsSection","jsonContent","clickTabHandler","_evt","cardContent","CardsRow","sm","handleNavigation","behavior","ClickableCardsSection","columns","BenefitCard","benefit_card","benefit_logo","benefit_title","benefit_description","OverviewBenefits","overview_benefits_container","OverviewPaymentMethods","icons","OverviewWelcomeMessage","buttonConfig","demoUrl","ViewIcon","LogViewer","loadable","resolved","chunkName","isReady","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","__webpack_require__","fallback","Loading","inverse","TestAccounts","ApiHistory","OthersIcon","enabled","CodeIcon","studio_enable_rest_apps","EXPERIMENT_MAP","TREATMENT","DocumentIcon","isTestPanelOpen","closeBtnRef","dragPanelRef","dragHandleRef","headerIndex","setHeaderIndex","panelHeight","setPanelHeight","history","getApiHistory","items","refreshApiHistory","isNumber","focus","panelElement","panelStyle","getComputedStyle","parseInt","yCord","onMouseMoveResize","dy","clientY","PANEL_MAX_HEIGHT","innerHeight","onMouseUpResize","removeEventListener","onMouseDownResize","addEventListener","panelDragElement","handleToggleTestPanel","removeProperty","panel_container","panel_header","drag_container","drag_panel","tab_container","tab_heading","currentHeaderIndex","handleTabClick","currentIndex","tab","active_container","title_active","close_container","CloseIcon","close_text","panel_content","panel_btn_container","panel_btn","apiResponse","fetchTestAccounts","accounts","fetchTestAccountDetails","accountId","details","componentMap","Map","Title","alertClassNames","Alert","PayPalDivider","fluid","clx","setIsOpen","backgroundImage","backgroundPosition","cursor","ContextualAlert","resp","blob","createObjectURL","a","download","click","revokeObjectURL","trackModalError","downloadImage","trackModalShown","trackModalClosed","PageComponentFactory","PageComponent","pageComponentMap","SEO","pathName","titleElements","descriptionElements","Page","initialState","setInitialState","pageNotFound","setPageNotFound","setError","controllerRef","isReloading","fpti","page","visibilityState","trackPageFocus","trackPageLostFocus","abort","pageMetaData","AbortController","signal","trackPageShown","ServerErrorPage","status_code_container","message_container","page_loader_container","page_loader","page_container","ComponentFactory","memoizedEcmContent","createSelector","serviceDataSelector","connect","appSelector","docUrl","origin","ENABLE_FASTLANE_ACDC","TREATMENT_FASTLANE","STUDIO_ROUTES","ADVANCED","OVERVIEW","TREATMENT_ACDC","FASTLANE","GETSTARTED","CONTROL","unifiedLoginUrl","unifiedLoginUrlFormatted","protocol","host","startsWith","enableShippingOptions","payload","log","purchase_units","purchaseUnit","payments","captures","capture","authorizations","callback","selectedShippingOption","responses","refundRequests","Promise","all","r","captureId"],"sourceRoot":""}