{"version":3,"file":"js/client-containers-PageContainer.js","mappings":"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","sources":["webpack://developerstudionodeweb/./src/client/components/AlertBox/index.js","webpack://developerstudionodeweb/./src/client/components/AlertBox/AlertBox.module.less?01f8","webpack://developerstudionodeweb/./src/client/components/Loading/Loading.js","webpack://developerstudionodeweb/./src/client/components/Loading/Loading.module.less?a096","webpack://developerstudionodeweb/./src/client/components/Overlay/index.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/IntroSection/IntroSection.module.less?083b","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/IntroSection/IntroSection.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/NextSteps/NextSteps.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/PaymentMethods/PaymentMethods.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/SetUpInfo/EnvSetUp/EnvSetUp.module.less?e47a","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/SetUpInfo/EnvSetUp/EnvSetUp.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/SetUpInfo/KnowBefore/KnowBefore.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/SetUpInfo/Resources/Resources.js","webpack://developerstudionodeweb/./src/client/components/Page/GetStarted/SetUpInfo/SetUpInfo.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/CodeActions/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/CodeActions/CodeActions.module.less?1c4c","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/Configurator.module.less?1383","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/SectionToggle/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/SectionToggle/SectionToggle.module.less?413f","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/OrderActions/OrderActionButton.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/OrderActions/OrderActions.module.less?ec9d","webpack://developerstudionodeweb/./src/client/components/LoadingOverlay/index.js","webpack://developerstudionodeweb/./src/client/components/LoadingOverlay/LoadingOverlay.module.less?d423","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/OrderActions/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/CardConfigurator/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/CardConfigurator/CardConfigurator.module.less?a88c","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/HtmlPageSection/HtmlPageSectionComponent.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/ButtonConfigurator/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/SdkConfigurator/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/OrderConfigurator/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/HtmlPageSection/HtmlPageSection.module.less?755d","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/HtmlPageSection/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/IntegrationPageSectionContext.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/TestPanelContext.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/IntegrationPageSection.module.less?ea6d","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/CodeWrapper/CodeWrapper.module.less?63c6","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/CodeWrapper/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/PreviewWrapper/Preview.module.less?380a","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/PreviewWrapper/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/dynamicCodeSnippetsHelper.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/IntegrationPageSectionReducer.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/IntegrationPageSectionProvider.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/ControlPanel/ControlPanel.module.less?67f3","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/ControlPanel/index.js","webpack://developerstudionodeweb/./src/client/components/Page/TestPanel/index.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/TestPanelReducer.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/StateManagement/TestPanelProvider.js","webpack://developerstudionodeweb/./src/client/components/Page/IntegrationPageSection/index.js","webpack://developerstudionodeweb/./src/client/components/Page/NoCode/HtmlContent/index.js","webpack://developerstudionodeweb/./src/client/components/Page/NoCode/HtmlContent/HtmlContent.module.less?8b51","webpack://developerstudionodeweb/./src/client/components/Page/NoCode/HtmlList/index.js","webpack://developerstudionodeweb/./src/client/components/Page/NoCode/TabsSection/index.js","webpack://developerstudionodeweb/./src/client/components/Page/NoCode/TabsSection/TabsSection.module.less?8340","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/ClickableCardsSection/CardsRow.js","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/ClickableCardsSection/ClickableCardsSection.module.less?bcfd","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/ClickableCardsSection/index.js","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewBenefits/OverviewBenefits.module.less?e96c","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewBenefits/BenefitCard.js","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewBenefits/index.js","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewPaymentMethods/index.js","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewPaymentMethods/OverviewPaymentMethods.module.less?105e","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewWelcomeMessage/index.js","webpack://developerstudionodeweb/./src/client/components/Page/OverviewPage/OverviewWelcomeMessage/OverviewWelcomeMessage.module.less?1384","webpack://developerstudionodeweb/./src/client/components/Page/TestPanel/TestPanel.js","webpack://developerstudionodeweb/./src/client/components/Page/Title/index.js","webpack://developerstudionodeweb/./src/client/components/Page/pageComponentMap.js","webpack://developerstudionodeweb/./src/client/constants/experimentMap.js","webpack://developerstudionodeweb/./src/client/components/Page/PageComponentFactory.js","webpack://developerstudionodeweb/./src/client/components/Page/Page.module.less?7cd0","webpack://developerstudionodeweb/./src/client/components/App/SEO.js","webpack://developerstudionodeweb/./src/client/components/Page/index.js","webpack://developerstudionodeweb/./src/client/containers/PageContainer.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/components/Page/TestPanel/TestPanel.module.less?05b7"],"sourcesContent":["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","// 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\",\"alert_box\":\"AlertBox-module_alert_box__PAHnU\"};","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","// 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 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\nconst Overlay = ({ src, fileName, caption, 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 Icon: 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 className: PropTypes.string.isRequired\n};\n\nexport default Overlay;\n","// extracted by mini-css-extract-plugin\nexport default {\"getting_started_container\":\"IntroSection-module_getting_started_container__PRJTc\",\"overview_title\":\"IntroSection-module_overview_title___1_Nv\",\"xo_container\":\"IntroSection-module_xo_container__auPD0\",\"overview_container\":\"IntroSection-module_overview_container__WncYP\",\"description_wrapper\":\"IntroSection-module_description_wrapper__WrGYx\",\"steps\":\"IntroSection-module_steps__vej9g\",\"steps_wrapper\":\"IntroSection-module_steps_wrapper__HLf7x\",\"text\":\"IntroSection-module_text__o1n1J\",\"custom_badge\":\"IntroSection-module_custom_badge__nXEUV\",\"custom_badge_text\":\"IntroSection-module_custom_badge_text__gTQLC\",\"description_text\":\"IntroSection-module_description_text__WSLVQ\",\"sxo_summary_wrapper\":\"IntroSection-module_sxo_summary_wrapper__wVXJo\",\"overlay\":\"IntroSection-module_overlay__aZimH\"};","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 '../../../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 {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","import React from 'react';\nimport { Card, Row, Col } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport styles from './NextSteps.module.less';\nimport { trackButtonClick } from '../../../../lib/fpti';\nimport isAbsolutePath from '../../../../util/isAbsolutePath';\n\nconst NextSteps = ({ ecmContent }) => {\n const { jsonObject } = ecmContent.content;\n const { title, images } = jsonObject;\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
{title}
\n \n {images.map((image) => (\n \n handleClick(image.sub_header, image.url)}>\n \"\"\n
{image.sub_header}
\n
{image.sub_text}
\n
\n \n ))}\n
\n
\n );\n};\n\nNextSteps.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default NextSteps;\n","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 } = jsonObject;\n return (\n
\n
{title}
\n \n {images.map((image) => (\n \n \"\"\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__B3S7A\",\"dev_env_content_box\":\"EnvSetUp-module_dev_env_content_box___7EPX\",\"dev_env_content\":\"EnvSetUp-module_dev_env_content__yJi34\",\"dev_env_code_block\":\"EnvSetUp-module_dev_env_code_block__a00ku\",\"dev_env_custom_badge\":\"EnvSetUp-module_dev_env_custom_badge__QXV0C\",\"dev_env_custom_badge_text\":\"EnvSetUp-module_dev_env_custom_badge_text__KncS1\",\"info_box\":\"EnvSetUp-module_info_box__RfP46\",\"info_box_text\":\"EnvSetUp-module_info_box_text__WRQ1T\"};","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 }) {\n return (\n
\n \n

{devEnv.setUpTitle}

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

{1}

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

{2}

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

{3}

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

{4}

\n
\n \n
\n\n \n \n \n\n
\n \n \n
\n
\n
\n );\n}\n\nEnvSetUp.propTypes = {\n devEnv: 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 window.open(url, '_blank');\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 // Need to refactor so ECM order takes rendering precedent\n let devEnv;\n let knowBeforeCards;\n let resourceCards;\n pageContent.forEach((content) => {\n const key = content?.content?.key;\n if (key === 'devEnvironmentSetup') {\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","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: {\n language: { frontend = '' }\n }\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(url[frontend]);\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__UIcAI\",\"code_action_button_container\":\"CodeActions-module_code_action_button_container__T_rh5\",\"code_action_button_content\":\"CodeActions-module_code_action_button_content__YVCKe\",\"code_action_icon\":\"CodeActions-module_code_action_icon__cV1N0\"};","// extracted by mini-css-extract-plugin\nexport default {\"configuration\":\"Configurator-module_configuration__jaU9D\",\"configuration_item\":\"Configurator-module_configuration_item__FSwO1\",\"configuration_text\":\"Configurator-module_configuration_text__FJksd\",\"configuration_radio\":\"Configurator-module_configuration_radio__Qdg4B\",\"selection_disabled\":\"Configurator-module_selection_disabled___gmOO\",\"configuration_dropdown\":\"Configurator-module_configuration_dropdown__mtOzM\",\"configuration_field_wrapper\":\"Configurator-module_configuration_field_wrapper__m5Lv_\",\"configuration_field_helpertext\":\"Configurator-module_configuration_field_helpertext__FiWox\"};","import React, { 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 }) {\n const {\n code: { updateActiveCodeBlock, updateCurrentSectionKey }\n } = useContext(IntegrationPageSectionContext);\n\n const handleOnChange = (event) => {\n trackButtonChange(title, event.target.checked);\n updateActiveCodeBlock({ key: contentKey, value: event.target.checked });\n updateCurrentSectionKey(event.target.checked ? sectionKey : undefined);\n };\n return (\n handleOnChange(event)}\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};\n","// extracted by mini-css-extract-plugin\nexport default {\"section_toggle\":\"SectionToggle-module_section_toggle___AzSL\"};","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__ad5IK\",\"order_action_button\":\"OrderActions-module_order_action_button__lRY1_\"};","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 '../../../LoadingOverlay';\n\nconst OrderActions = ({ codeBlockKey, content }) => {\n const [loading, setLoading] = useState(false);\n\n const {\n // lastOrder,\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 lastOrderId = lastOrder.value?.id;\n\n const handleRefund = useCallback(async () => {\n setLoading(true);\n await refundCapture(\n captureIds,\n csrfToken,\n updateLogs,\n toggleTestPanel,\n lastCapture.updateLastCapture,\n isUserLoggedIn ? clientId : null\n );\n setLoading(false);\n }, [refundCapture, isUserLoggedIn, clientId, captureIds, csrfToken, updateLogs]);\n\n // const handleVoidOrder = async () => {\n // setLoading(true);\n // await voidOrder(lastOrderId, csrfToken, updateLogs);\n // setLoading(false);\n // };\n\n if (!isSectionActive) return <>;\n\n return (\n <>\n {loading && }\n
\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__WqdOo\",\"card_header\":\"CardConfigurator-module_card_header___3F0w\",\"card_content\":\"CardConfigurator-module_card_content___2EnJ\"};","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\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';\n\nconst ComponentMap = {\n CodeActions,\n ButtonConfigurator,\n SdkConfigurator,\n OrderConfigurator,\n OrderActions,\n CardConfigurator\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 styles from '../Configurator.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackFieldChange, trackFieldFocus, trackFieldClosed } from '../../../../lib/fpti';\n\nexport default function SdkConfigurator() {\n const {\n SdkConfigurator: { sdkSettings, buyerCountryOptions, buyerCurrencyOptions, updateSdkSettings }\n } = useContext(IntegrationPageSectionContext);\n\n return (\n
\n
\n Buyer Country\n trackFieldFocus('Buyer Country')}\n onChange={(e) => {\n trackFieldChange('Buyer Country', e.target.value);\n updateSdkSettings(e.target.value, 'buyerCountry');\n }}\n onClose={() => trackFieldClosed('Buyer Country')}\n />\n
\n
\n Currency\n trackFieldFocus('Currency:SDK')}\n onChange={(e) => {\n trackFieldChange('Currency:SDK', e.target.value);\n updateSdkSettings(e.target.value, 'currency');\n }}\n onClose={() => trackFieldClosed('Currency:SDK')}\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 IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport styles from '../Configurator.module.less';\nimport { trackFieldChange, trackFieldFocus, trackFieldClosed } from '../../../../lib/fpti';\n\nexport default function OrderConfigurator() {\n const {\n OrderConfigurator: { updateAmount },\n SdkConfigurator: {\n sdkSettings: { currency, intent },\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 return (\n
\n
\n Intent\n trackFieldFocus('Intent')}\n onChange={(e) => {\n const selectedIntent = e.target.value;\n trackFieldChange('Intent', selectedIntent);\n updateSdkSettings(selectedIntent, '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
\n Currency Code\n trackFieldFocus('Currency:Orders')}\n onChange={(e) => {\n trackFieldChange('Currency:Orders', e.target.value);\n updateSdkSettings(e.target.value, 'currency');\n }}\n onClose={() => trackFieldClosed('Currency:Orders')}\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","// extracted by mini-css-extract-plugin\nexport default {\"step_content_section\":\"HtmlPageSection-module_step_content_section__kvDYs\",\"highlighted_section\":\"HtmlPageSection-module_highlighted_section__mZzLc\"};","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 '../../../AlertBox';\n\nconst ComponentMap = {\n alertBox: AlertBox\n};\n\nexport default function IntegrationSteps({ ecmContent: { contents = [] } = {} }) {\n const {\n code: {\n language: { frontend, backend } = {},\n updateHighlightedCode,\n consolidatedCode,\n status,\n updateCurrentSectionKey\n },\n SdkConfigurator: {\n sdkSettings: { intent = '' }\n },\n codeHighlight: { currentSectionKey }\n } = useContext(IntegrationPageSectionContext);\n const threshold = 0.8;\n\n const filteredContent = useMemo(() => {\n return contents.filter(({ content = {} } = {}) => {\n const languagesEntry = content.contentJson?.languages;\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 (contentEnabled && ordersEntry) {\n if (ordersEntry.intent) {\n contentEnabled = ordersEntry.intent?.includes(intent);\n }\n }\n return contentEnabled;\n });\n }, [contents, frontend, backend, intent, status]);\n\n const getSection = (tag) => contents.find((section) => section.content.key === tag);\n const getCodeBlock = (key, filename) => {\n const codeBlocks = consolidatedCode.reduce((prev, curr) => {\n return [...prev, ...curr.metadata];\n }, []);\n\n // Let's find the code for a contentKey and filename combination\n let codeBlock = codeBlocks.find((block) => block.key === key && 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 === key);\n }\n\n return codeBlock;\n };\n\n const updateHiglight = (tag) => {\n const {\n content: { key, codeBlockKey, codeBlockFileName, contentJson = {} }\n } = getSection(tag) || {};\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 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 handleIntersection = (sections) => {\n if (sections.length > 5 && currentSectionKey !== undefined) return;\n const mostVisibleSection = sections\n .filter((section) => section.isIntersecting)\n .reduce(\n (accSection, currentSection) =>\n currentSection.intersectionRatio > accSection.intersectionRatio\n ? currentSection\n : accSection,\n sections[0]\n );\n if (mostVisibleSection.intersectionRatio < threshold) {\n return;\n }\n updateHiglight(mostVisibleSection.target.dataset.tag);\n };\n\n const [observer, setObserver] = useState();\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 if (observer) observer.disconnect();\n setObserver(\n new IntersectionObserver(handleIntersection, {\n threshold,\n rootMargin: '-15% 0px -6% 0px'\n })\n );\n }, [frontend, backend, status]);\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","// extracted by mini-css-extract-plugin\nexport default {\"heading_container\":\"IntegrationPageSection-module_heading_container__cETP_\",\"page_section\":\"IntegrationPageSection-module_page_section__sFF1W\",\"AlertBox-module_alert_box_container__kNSfQ\":\"IntegrationPageSection-module_AlertBox-module_alert_box_container__kNSfQ__g9yRa\",\"page_section_container\":\"IntegrationPageSection-module_page_section_container___Q572\",\"integration_code_container\":\"IntegrationPageSection-module_integration_code_container__vs75G\"};","// extracted by mini-css-extract-plugin\nexport default {\"code_content\":\"CodeWrapper-module_code_content___yuiO\",\"code_snippet\":\"CodeWrapper-module_code_snippet___nXfy\",\"code_actions_bar\":\"CodeWrapper-module_code_actions_bar__VNL7h\",\"code_tabs\":\"CodeWrapper-module_code_tabs__mkPk_\",\"tab_nav_button\":\"CodeWrapper-module_tab_nav_button___VLV2\",\"tab_nav_button_selected\":\"CodeWrapper-module_tab_nav_button_selected__d_7rX\",\"code_btn_bar\":\"CodeWrapper-module_code_btn_bar__lr52v\",\"code_action_btn\":\"CodeWrapper-module_code_action_btn__cNr9V\",\"code_share_link\":\"CodeWrapper-module_code_share_link__AX1cI\",\"guide_code_wrapper\":\"CodeWrapper-module_guide_code_wrapper___yTdF\"};","import React, { useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { IconButton, CopyToClipboardIcon, DownloadIcon, Button } 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 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 = [] },\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 changeDownloadIconState = (state, srText) => {\n setDownloadIconState({\n state,\n srText\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 handleDownload = async () => {\n const zip = new JSZip();\n consolidatedCode.forEach((file) => {\n zip.file(file?.filename, file?.code);\n });\n const content = await zip.generateAsync({ type: 'blob' });\n saveAs(content, 'IntegrationCode.zip');\n changeDownloadIconState('success', 'Success');\n setTimeout(() => {\n changeDownloadIconState('initial', '');\n }, 3000);\n };\n\n const calculatedStyle = (lineNumber) => {\n const style = {\n display: 'block',\n wordBreak: 'break-all',\n whiteSpace: 'pre-wrap'\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 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.isRequired\n};\n\nCodeWrapper.defaultProps = {};\n\nexport default CodeWrapper;\n","// extracted by mini-css-extract-plugin\nexport default {\"preview_wrapper\":\"Preview-module_preview_wrapper__VBPDa\",\"preview_checkout_wrapper\":\"Preview-module_preview_checkout_wrapper__r1dzL\",\"preview_checkout_container\":\"Preview-module_preview_checkout_container__KbJ1S\",\"preview_loader_container\":\"Preview-module_preview_loader_container__IgFVS\",\"preview_loader\":\"Preview-module_preview_loader__LNUB6\"};","import React, { useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { Divider, Accordion, AccordionRow, LoadingSpinner } from '@paypalcorp/pp-react';\nimport { PayPalScriptProvider, PayPalButtons } from '@paypal/react-paypal-js';\nimport styles from './Preview.module.less';\nimport IntegrationPageSectionContext from '../StateManagement/IntegrationPageSectionContext';\nimport { trackButtonChange, 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';\n\nconst PreviewWrapper = ({ isUserLoggedIn }) => {\n const [isOpen, setOpen] = useState(true);\n const [buttonLoading, setButtonLoading] = useState(true);\n\n const {\n ButtonConfigurator: { buttonSettings = {} } = {},\n SdkConfigurator: { sdkSettings },\n OrderConfigurator: { amount: { value: orderAmount } = {} } = {},\n code: { status: { handleShippingAddress = false, configureButtonMessages = false } = {} } = {},\n lastOrder: { updateLastOrder },\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 const [sdkPropsChange, setSdkPropsChange] = useState(true);\n // TODO: Need a better approach to re-render the preview window.\n // ForceRerender prop support for also the provider is ideal.\n useEffect(() => {\n setSdkPropsChange(false);\n setTimeout(() => {\n setSdkPropsChange(true);\n }, 10);\n }, [sdkSettings]);\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 sdkSettings?.currency,\n orderAmount,\n sdkSettings?.intent,\n handleShippingAddress,\n csrfToken,\n updateLogs,\n updateLastOrder,\n 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,\n csrfToken,\n updateLogs,\n updateLastCapture,\n isUserLoggedIn ? clientId : null\n );\n toggleTestPanel(true);\n };\n\n const handleAuthorizeOrder = async ({ orderID }) => {\n const authorizationId = await authorizeOrder(\n orderID,\n csrfToken,\n updateLogs,\n isUserLoggedIn ? clientId : null\n );\n await captureAuthorize(\n authorizationId,\n csrfToken,\n updateLogs,\n updateLastCapture,\n 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 trackButtonChange('Preview Dropdown', state);\n setOpen(state);\n }}\n >\n
\n
\n {buttonLoading && (\n
\n \n
\n )}\n {sdkPropsChange && (\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\n ? { message: { amount: Number(orderAmount) } }\n : {})}\n />\n \n )}\n
\n
\n \n
\n \n
\n );\n};\n\nPreviewWrapper.propTypes = {\n isUserLoggedIn: PropTypes.bool.isRequired\n};\n\nexport default PreviewWrapper;\n","import prettier from 'prettier';\nimport parserHtml from 'prettier/parser-html';\nimport parserBabel from 'prettier/parser-babel';\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 const splitBaseFile = baseFile.split(regex || insertString);\n splitBaseFile[0] += codeSnippet;\n if (!placeholderReplacement) {\n splitBaseFile[0] += `\\n${insertString}`;\n }\n const formatted = splitBaseFile.join('');\n const result = prettier.format(formatted, {\n parser,\n plugins: [parserHtml, parserBabel],\n semi: true\n });\n return result;\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 = (consolidatedFrontend, frontendLanguage, codeStatus) => {\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 return entry.key === 'baseHtml';\n });\n if (!baseFile) return undefined;\n\n const result = [baseFile];\n const baseHtmlAppJs = consolidatedFrontend.find((entry) => {\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\n return;\n }\n 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 (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'; // 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 'babel'\n );\n });\n\n return [baseNodeJs];\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 { clientId, buyerCountry, currency, intent } = {} /* SDK settings */,\n { frontend: frontendLanguage, backend: backendLanguage, status: codeStatus } /* code language */,\n { amount: { value } = {} } = {} /* create order settings */,\n { buttonSettings: { color, label, shape, layout } = {} } = {}\n) {\n const result = [];\n const frontEndTemplatesToInterpolate = [\n 'initializeSdkViaScriptTag',\n 'configureButtons',\n 'configureButtonMessages',\n 'baseHtmlAppJs',\n 'baseReact',\n 'onApprove'\n ];\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 const 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 };\n return interpolateCode(entry, replacements);\n }\n\n return { ...entry };\n });\n inputNestedCodeBlock(interpolatedFrontendCode, codeStatus, 'configureButtonMessages');\n\n let newConsolidatedFrontend = constructBaseFrontend(\n interpolatedFrontendCode,\n frontendLanguage,\n codeStatus\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 (entry.key === 'createOrderPayload' || entry.key === 'handleShippingAddress') {\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 };\n return interpolateCode(entry, replacements);\n }\n return { ...entry };\n });\n\n inputNestedCodeBlock(interpolatedBackendCode, codeStatus, 'handleShippingAddress');\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 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 },\n buyerCountryOptions: [],\n buyerCurrencyOptions: []\n },\n code: {\n frontend: [],\n backend: [],\n language: {\n frontend: '',\n backend: ''\n },\n status: { captureOrder: true }\n },\n OrderConfigurator: {\n amount: { value: '' },\n intent: ''\n },\n lastOrder: { value: null },\n lastCapture: { value: null }\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 );\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 );\n draftState.code.consolidatedCode = newConsolidatedCode;\n if (action.category === 'clientId') {\n draftState.lastCapture.value = null;\n }\n });\n\n case 'UPDATE_CODE_SELECTION':\n return produce(state, (draftState) => {\n draftState.code.language[action.category] = action.value;\n\n const codeLanguage = {\n ...draftState.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 state.ButtonConfigurator\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 );\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 );\n });\n case 'UPDATE_LAST_ORDER':\n return produce(state, (draftState) => {\n draftState.lastOrder.value = action.value;\n });\n case 'UPDATE_LAST_CAPTURE':\n return produce(state, (draftState) => {\n draftState.lastCapture.value = action.value;\n });\n default:\n return state;\n }\n}\n","import React, { useMemo, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport IntegrationPageSectionContext from './IntegrationPageSectionContext';\nimport IntegrationPageSectionReducer from './IntegrationPageSectionReducer';\nimport updateConsolidatedCode from './dynamicCodeSnippetsHelper';\n\nexport default function IntegrationPageSectionProvider({\n children,\n ecmContent = [],\n apps = [],\n defaultSdkOptions = {}\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 frontendCodeConfigurations =\n useMemo(\n () =>\n ecmContent.codes\n ?.map((entry) => entry.content.codeFileMappings)\n .flat()\n .map(({ content } = {}) => content)\n .filter((val) => val),\n []\n ) || [];\n\n const backendCodeConfigurations =\n useMemo(\n () =>\n ecmContent.codes\n ?.map((entry) => entry.content.backendCodeFileMappings)\n .flat()\n .map(({ content } = {}) => content)\n .filter((val) => val),\n []\n ) || [];\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: 'html',\n backend: 'javascript',\n status: defaultCodeStatus\n };\n\n const {\n SdkConfigurator = {},\n OrderConfigurator = {},\n ButtonConfigurator = {}\n } = jsonConfiguration;\n\n const clientId = apps[0]?.clientId || SdkConfigurator.sdkSettings?.clientId;\n\n const sdkSettings = {\n ...SdkConfigurator?.sdkSettings,\n sdkBaseUrl: defaultSdkOptions.sdkBaseUrl,\n clientId\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 ),\n []\n ),\n language: {\n frontend: defaultLanguageValues.frontend,\n backend: defaultLanguageValues.backend\n },\n status: defaultCodeStatus\n },\n codeHighlight: {\n codeBlock: {},\n currentSectionKey: undefined\n },\n lastOrder: { value: null },\n lastCapture: { value: null }\n });\n\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 },\n code: {\n ...state.code,\n updateCodeSelection: (value, category) =>\n dispatch({ type: 'UPDATE_CODE_SELECTION', value, category }),\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 },\n lastOrder: {\n ...state.lastOrder,\n updateLastOrder: (value) => dispatch({ type: 'UPDATE_LAST_ORDER', value })\n },\n lastCapture: {\n ...state.lastCapture,\n updateLastCapture: (value) => dispatch({ type: 'UPDATE_LAST_CAPTURE', value })\n }\n }}\n >\n {children}\n \n );\n}\n\nIntegrationPageSectionProvider.propTypes = {\n ecmContent: PropTypes.object.isRequired,\n children: PropTypes.node.isRequired,\n apps: PropTypes.array.isRequired,\n defaultSdkOptions: PropTypes.object.isRequired\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"language_sticky_bar\":\"ControlPanel-module_language_sticky_bar__UhCDj\",\"language_field\":\"ControlPanel-module_language_field__ou_G2\",\"language_field_text\":\"ControlPanel-module_language_field_text___NeOe\",\"language_dropdown\":\"ControlPanel-module_language_dropdown__a6a_j\",\"credentials_container\":\"ControlPanel-module_credentials_container__NUTKy\",\"language_sticky_bar_logged_out\":\"ControlPanel-module_language_sticky_bar_logged_out__GHPaz\",\"language_sticky_bar_logged_in\":\"ControlPanel-module_language_sticky_bar_logged_in__pzVQF\"};","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\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';\n\nexport default function ControlPanel({ prunedUser, apps = [] }) {\n const {\n code: {\n language: { frontend = '', backend = '' },\n updateCodeSelection\n },\n SdkConfigurator: {\n updateSdkSettings,\n sdkSettings: { clientId }\n }\n } = useContext(IntegrationPageSectionContext);\n\n const { resetTestPanel } = useContext(TestPanelContext);\n\n const langBarClassNames = classNames(styles.language_sticky_bar, {\n [styles.language_sticky_bar_logged_out]: !prunedUser?.isUserLoggedIn,\n [styles.language_sticky_bar_logged_in]: prunedUser?.isUserLoggedIn\n });\n\n const appsDropdownOptions = apps.map((app) => {\n return {\n value: app.clientId,\n primaryText: app.name\n };\n });\n\n return (\n \n \n trackFieldFocus('Frontend')}\n onChange={(e) => {\n trackFieldChange('Frontend', e.target.value);\n updateCodeSelection(e.target.value, 'frontend');\n }}\n onClose={() => trackFieldClosed('Frontend')}\n value={frontend}\n />\n \n \n trackFieldFocus('Backend')}\n onChange={(e) => {\n trackFieldChange('Backend', e.target.value);\n updateCodeSelection(e.target.value, 'backend');\n }}\n onClose={() => trackFieldClosed('Backend')}\n value={backend}\n />\n \n {apps.length > 0 && (\n \n }\n />\n trackFieldFocus('App')}\n onChange={(e) => {\n if (clientId !== e.target.value) {\n trackFieldChange('App', e.target.value);\n updateSdkSettings(e.target.value, 'clientId');\n resetTestPanel();\n }\n }}\n onClose={() => trackFieldClosed('App')}\n value={clientId}\n />\n \n \n )}\n \n );\n}\n\nControlPanel.propTypes = {\n prunedUser: PropTypes.object.isRequired,\n apps: PropTypes.array.isRequired\n};\n","import TestPanel from './TestPanel';\n\nexport default TestPanel;\n","/* eslint-disable no-param-reassign */\nimport produce from 'immer';\n\nconst defaultState = {\n isOpen: false,\n logs: [],\n apiHistory: null,\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 draftState.logs = [action.value, ...state.logs];\n });\n case 'UPDATE_API_HISTORY':\n return produce(state, (draftState) => {\n draftState.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 = null;\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: null,\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 React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { HeadingText, Row, Col } from '@paypalcorp/pp-react';\nimport styles from './IntegrationPageSection.module.less';\nimport CodeWrapper from './CodeWrapper';\nimport PreviewWrapper from './PreviewWrapper';\nimport IntegrationPageSectionProvider from './StateManagement/IntegrationPageSectionProvider';\nimport ControlPanel from './ControlPanel';\nimport TestPanel from '../TestPanel';\nimport HtmlPageSection from './HtmlPageSection';\nimport TestPanelProvider from './StateManagement/TestPanelProvider';\n\nexport default function IntegrationPageSection({\n ecmContent: { content } = {},\n prunedUser = {},\n apps = []\n}) {\n if (!content) {\n return <>;\n }\n\n const defaultSdkOptions = useSelector((state) => state?.app?.defaultSdkOptions);\n\n return (\n <>\n \n \n \n {content?.title && (\n
\n \n {content?.title}\n \n
\n )}\n \n \n \n \n \n \n \n \n \n \n
\n \n \n );\n}\n\nIntegrationPageSection.propTypes = {\n ecmContent: PropTypes.object.isRequired,\n prunedUser: PropTypes.object.isRequired,\n apps: PropTypes.array.isRequired\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './HtmlContent.module.less';\n\nconst HtmlContent = ({ ecmContent }) => {\n const { content } = ecmContent;\n return
;\n};\n\nHtmlContent.propTypes = {\n ecmContent: PropTypes.object.isRequired\n};\n\nexport default HtmlContent;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"HtmlContent-module_container__wJQ_C\"};","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 '../../../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__rZVsF\",\"checkoutOptionsList\":\"TabsSection-module_checkoutOptionsList__rpmNN\",\"checkoutlist\":\"TabsSection-module_checkoutlist__uh2Vo\",\"xo_container\":\"TabsSection-module_xo_container___5opl\",\"overview_container\":\"TabsSection-module_overview_container___Ht4p\",\"description_container\":\"TabsSection-module_description_container__xBq7p\",\"steps\":\"TabsSection-module_steps__ByVW3\",\"steps_wrapper\":\"TabsSection-module_steps_wrapper___E8Bh\",\"text\":\"TabsSection-module_text__bzGVc\",\"custom_badge\":\"TabsSection-module_custom_badge__I9trt\",\"custom_badge_text\":\"TabsSection-module_custom_badge_text__xY3h8\",\"overlay\":\"TabsSection-module_overlay__fnVFc\"};","import React from 'react';\nimport { Card, Row, Col, Icon } from '@paypalcorp/pp-react';\nimport { useNavigate } from 'react-router';\nimport PropTypes from 'prop-types';\nimport styles from './ClickableCardsSection.module.less';\nimport isAbsolutePath from '../../../../util/isAbsolutePath';\nimport { trackButtonClick } from '../../../../lib/fpti';\n\nconst CardsRow = ({ row }) => {\n const navigate = useNavigate();\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 navigate(url);\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__Kt0yE\",\"card_section_title\":\"ClickableCardsSection-module_card_section_title__vKBBB\",\"card_section_subtitle\":\"ClickableCardsSection-module_card_section_subtitle___3uq0\",\"title_container\":\"ClickableCardsSection-module_title_container__mEEhM\",\"card_title\":\"ClickableCardsSection-module_card_title___66Ic\",\"card_description\":\"ClickableCardsSection-module_card_description__gNJ0k\",\"card\":\"ClickableCardsSection-module_card__nLqW3\",\"card_container\":\"ClickableCardsSection-module_card_container__ExalG\"};","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___kr3B\",\"benefit_logo\":\"OverviewBenefits-module_benefit_logo___LtM4\",\"benefit_title\":\"OverviewBenefits-module_benefit_title__HMbRi\",\"benefit_description\":\"OverviewBenefits-module_benefit_description__nSRTm\"};","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__lt0kA\",\"logos_row_container\":\"OverviewPaymentMethods-module_logos_row_container__LFjty\",\"payment_method_logo_container\":\"OverviewPaymentMethods-module_payment_method_logo_container__h2RoX\",\"payment_method_logo\":\"OverviewPaymentMethods-module_payment_method_logo__gyxZ3\"};","import React from 'react';\nimport { Button, ViewIcon } from '@paypalcorp/pp-react';\nimport PropTypes from 'prop-types';\nimport { useNavigate } from 'react-router';\nimport styles from './OverviewWelcomeMessage.module.less';\nimport { trackButtonClick } from '../../../../lib/fpti';\nimport isAbsolutePath from '../../../../util/isAbsolutePath';\n\nconst OverviewWelcomeMessage = ({ ecmContent }) => {\n const { content, contentJson } = ecmContent.content;\n const { buttonConfig, imageUrl, demoUrl } = contentJson;\n const navigate = useNavigate();\n\n const handleNavigation = (url) => {\n if (isAbsolutePath(url)) {\n window.open(url);\n } else {\n navigate(url);\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__m0CBl\",\"welcome_message_html\":\"OverviewWelcomeMessage-module_welcome_message_html___yM__\",\"integration_button_container\":\"OverviewWelcomeMessage-module_integration_button_container__Yf96p\",\"view_demo_container\":\"OverviewWelcomeMessage-module_view_demo_container___2xtX\",\"view_demo_button\":\"OverviewWelcomeMessage-module_view_demo_button___xi3_\"};","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 PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport styles from './TestPanel.module.less';\nimport TestPanelContext from '../IntegrationPageSection/StateManagement/TestPanelContext';\nimport { trackButtonChange, trackTabClick } from '../../../lib/fpti';\nimport Loading from '../../Loading/Loading';\nimport EXPERIMENT_MAP from '../../../constants/experimentMap';\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 = ({ prunedUser = {} }) => {\n const panelHeading = 'Test Panel:';\n const isUserLoggedIn = prunedUser?.isUserLoggedIn;\n const experiments = useSelector((state) => state?.app?.experiments);\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 { isOpen: isTestPanelOpen, toggleTestPanel } = 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 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\nTestPanel.propTypes = {\n prunedUser: PropTypes.object.isRequired\n};\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 { Divider } from '@paypalcorp/pp-react';\nimport loadable from '@loadable/component';\nimport Title from './Title';\nimport IntegrationPageSection from './IntegrationPageSection';\nimport OverviewWelcomeMessage from './OverviewPage/OverviewWelcomeMessage';\nimport OverviewBenefits from './OverviewPage/OverviewBenefits';\nimport OverviewPaymentMethods from './OverviewPage/OverviewPaymentMethods';\nimport AlertBox from '../AlertBox';\nimport ClickableCardsSection from './OverviewPage/ClickableCardsSection';\nimport IntroSection from './GetStarted/IntroSection/IntroSection';\nimport PaymentMethods from './GetStarted/PaymentMethods/PaymentMethods';\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';\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('setUpInfo', SetUpInfo);\ncomponentMap.set('nextSteps', NextSteps);\n\nexport default componentMap;\n","const EXPERIMENT_MAP = {\n studio_enable_rest_apps: {\n CONTROL: 'Ctrl_studio_enable_rest_apps',\n TREATMENT: 'Trmt_studio_enable_rest_apps'\n }\n};\n\nexport default EXPERIMENT_MAP;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport pageComponentMap from './pageComponentMap';\n\nconst PageComponentFactory = ({ pageContent, prunedUser, apps }) => {\n // eslint-disable-next-line react/destructuring-assignment\n const PageComponent = pageComponentMap.get(pageContent?.content?.key) || (() => <>);\n return ;\n};\n\nPageComponentFactory.propTypes = {\n pageContent: PropTypes.object,\n prunedUser: PropTypes.object.isRequired,\n apps: PropTypes.array.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__IIg_g\",\"page_container\":\"Page-module_page_container__ABboM\",\"page_loader_container\":\"Page-module_page_loader_container___V7Wc\",\"page_loader\":\"Page-module_page_loader__DeHm_\"};","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 } 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 '../App/ServerErrorPage';\nimport clientLogger from '../../lib/logger';\nimport SEO from '../App/SEO';\n\nconst Page = ({ ecmContent, prunedUser, apps }) => {\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\n useEffect(() => {\n window.fpti.page = url.substring(1).replace(/\\//g, '_');\n }, [url]);\n\n useEffect(() => {\n if (!initialState || initialState.pageMetaData.content.url !== url) {\n setLoading(true);\n const fetchEcmContent = async () => {\n try {\n const response = await fetch(`/studio/api/v1/ecm/data?url=${url}`);\n const result = await response.json();\n if (response.ok) {\n setInitialState(result.data);\n setPageNotFound(false);\n setError(false);\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 } catch (err) {\n setError(true);\n }\n setLoading(false);\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\nPage.propTypes = {\n ecmContent: PropTypes.object,\n prunedUser: PropTypes.object.isRequired,\n apps: PropTypes.array.isRequired\n};\nPage.defaultProps = { ecmContent: null };\n\nexport default Page;\n","import { createSelector } from 'reselect';\nimport { connect } from 'react-redux';\nimport Page from '../components/Page';\n\nconst memoizedEcmContent = createSelector(\n [(state) => state.pageContent[0]?.content],\n (pageContent) => pageContent\n);\nconst prunedUserSelector = (state) => state.app.prunedUser;\nconst appsSelector = (state) => state.pageContent.apps;\n\nfunction mapStateToProps(state) {\n return {\n ecmContent: memoizedEcmContent(state),\n prunedUser: prunedUserSelector(state),\n apps: appsSelector(state)\n };\n}\n\nexport default connect(mapStateToProps)(Page);\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 const returnUri = unifiedLoginUrlFormatted.searchParams.get('returnUri');\n unifiedLoginUrlFormatted.searchParams.set('returnUri', returnUri + location.pathname);\n unifiedLoginUrlFormatted.searchParams.set('intent', 'developer');\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 updateLastOrder,\n clientId\n) => {\n const payload = {\n clientId,\n currencyCode,\n amount,\n intent: intent ? intent.toUpperCase() : null,\n enableShippingOptions\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 updateLastOrder(response);\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\nexport {\n createOrder,\n captureOrder,\n authorizeOrder,\n shippingAddressChange,\n shippingOptionsChange,\n refundCapture,\n voidOrder,\n captureAuthorize\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"panel_container\":\"TestPanel-module_panel_container__EmHcu\",\"panel_header\":\"TestPanel-module_panel_header__DFsGc\",\"drag_container\":\"TestPanel-module_drag_container__IC_EY\",\"drag_panel\":\"TestPanel-module_drag_panel__hNCTh\",\"tab_container\":\"TestPanel-module_tab_container__s11oR\",\"tabs\":\"TestPanel-module_tabs__Sae8U\",\"tab_heading\":\"TestPanel-module_tab_heading__WimUn\",\"tab\":\"TestPanel-module_tab__VIkl_\",\"title_active\":\"TestPanel-module_title_active__hremL\",\"title\":\"TestPanel-module_title__WQyIK\",\"active_container\":\"TestPanel-module_active_container__Lyk28\",\"active\":\"TestPanel-module_active__DlE9A\",\"close_container\":\"TestPanel-module_close_container__POiDa\",\"close_text\":\"TestPanel-module_close_text___OpXk\",\"panel_content\":\"TestPanel-module_panel_content__E9Bqq\",\"panel_btn_container\":\"TestPanel-module_panel_btn_container__gKWvo\",\"panel_btn\":\"TestPanel-module_panel_btn____Zzq\"};"],"names":["AlertBox","ecmContent","disablePadding","content","contentJson","type","alertClassNames","classNames","React","className","Alert","dangerouslySetInnerHTML","__html","propTypes","PropTypes","defaultProps","Loading","inverse","size","Container","fluid","Row","Col","LoadingSpinner","clx","Overlay","src","fileName","caption","isOpen","setIsOpen","useState","style","backgroundImage","backgroundSize","backgroundPosition","cursor","ContextualAlert","color","IconButton","buttonType","svgIconComponent","DownloadIcon","onClick","async","fetch","then","resp","blob","url","window","URL","createObjectURL","a","document","createElement","display","href","download","body","appendChild","click","revokeObjectURL","catch","trackModalError","downloadImage","trackButtonClick","ViewIcon","trackModalShown","trackModalClosed","alt","Icon","IntroSection","gettingStartedSummary","technicalOverview","checkoutSummary","checkoutSummarySteps","text","imageUrl","descriptions","downloadName","overlayCaption","steps","hash","useLocation","useEffect","location","id","xs","xxl","map","description","index","styles","step","sxoSummary","NextSteps","jsonObject","title","images","navigate","useNavigate","image","lg","Card","handleClick","key","sub_header","isAbsolutePath","open","image_url","sub_text","PaymentMethods","EnvSetUp","devEnv","setUpTitle","setUp","third_party","npm_install","third_party_2","verify_package","verify_code_sample","verify_package_2","env","pp_client","InformationIcon","client_id_info","KnowBefore","knowBeforeCards","cards","card","badge","Resources","resourceCards","SetUpInfo","pageContent","forEach","md","CodeActions","code","language","frontend","useContext","IntegrationPageSectionContext","rows","buttons","icon","action","Button","handleAction","secondary","SectionToggle","contentKey","sectionKey","label","updateActiveCodeBlock","updateCurrentSectionKey","Switch","hideLabel","onChange","event","trackButtonChange","target","checked","value","undefined","handleOnChange","OrderActionButton","data","coachTipText","isCoachOpen","setIsCoachOpen","length","CoachTip","caretPos","targetElementId","onClose","LoadingOverlay","screenReaderText","OrderActions","codeBlockKey","loading","setLoading","lastCapture","SdkConfigurator","sdkSettings","clientId","updateLogs","toggleTestPanel","TestPanelContext","isSectionActive","status","csrfToken","useSelector","state","app","isUserLoggedIn","prunedUser","captureIds","handleRefund","useCallback","refundCapture","updateLastCapture","CardConfigurator","loginUrl","getLoginUrl","login_text","Link","link_text","ComponentMap","ButtonConfigurator","colorOptions","labelOptions","buttonSettings","layoutOptions","shapeOptions","updateButtonSettings","buyerCountry","CaptionText","RadioButton","name","shape","e","trackFieldChange","options","DropdownMenu","default","trackFieldFocus","trackFieldClosed","layout","configureButtonMessages","buyerCountryOptions","buyerCurrencyOptions","updateSdkSettings","currency","OrderConfigurator","updateAmount","intent","debouncedAmountUpdate","useMemo","debounce","orderAmount","setOrderAmount","primaryText","selectedIntent","TextInput","HtmlPageSection","forwardRef","highlighted","ref","contentDetails","onKeyDown","role","tabIndex","CodeBlockToggle","Object","keys","componentKey","Component","componentContent","alertBox","IntegrationSteps","contents","backend","updateHighlightedCode","consolidatedCode","codeHighlight","currentSectionKey","filteredContent","filter","languagesEntry","languages","ordersEntry","orders","contentEnabled","includes","getSection","tag","find","section","getCodeBlock","filename","codeBlocks","reduce","prev","curr","metadata","codeBlock","block","updateHiglight","codeBlockFileName","handleIntersection","sections","mostVisibleSection","isIntersecting","accSection","currentSection","intersectionRatio","dataset","observer","setObserver","handleSectionClick","querySelectorAll","observe","disconnect","IntersectionObserver","threshold","rootMargin","firstSelectableContent","isSelectableSection","rest","HtmlPageSectionComponent","createContext","CodeWrapper","sectionIndex","selectedTabIdx","setSelectedTabIdx","codeSnippetIconState","setCodeSnippetIconState","srText","downloadIconState","setDownloadIconState","highlightedLines","setHighlightedLines","changeCodeIconState","changeDownloadIconState","fileIndex","indexOf","currentCodeBlock","codeLineNumberProducer","start","end","startLine","endLine","Array","from","i","setTimeout","firstHighlightLineNum","getElementById","scrollTop","entry","clickedTabIndex","trackTabClick","trackTabShown","$codeLines","children","element","btnState","CopyToClipboardIcon","copy","file","zip","JSZip","generateAsync","saveAs","handleDownload","SyntaxHighlighter","react","vscDarkPlus","showLineNumbers","lineProps","lineNumber","wordBreak","whiteSpace","backgroundColor","wrapLines","PreviewWrapper","setOpen","buttonLoading","setButtonLoading","amount","handleShippingAddress","lastOrder","updateLastOrder","sdkPropsChange","setSdkPropsChange","Accordion","AccordionRow","heading","_evt","_row","PayPalScriptProvider","PayPalButtons","_extends","fundingSource","forceReRender","onInit","createOrder","orderId","err","handleCreateOrder","onApprove","orderID","captureOrder","handleCaptureOrder","authorizationId","authorizeOrder","captureAuthorize","handleAuthorizeOrder","handleOrderIntent","onShippingAddressChange","shippingAddressChange","handleShippingAddressChange","onShippingOptionsChange","shippingOptionsChange","handleShippingOptionsChange","message","Number","Divider","interpolateCode","ecmEntry","replacements","ecmEntryCopy","regex","RegExp","join","replace","match","addToCodeSnippet","baseFile","codeSnippet","insertString","placeholderReplacement","parser","splitBaseFile","split","formatted","prettier","plugins","parserHtml","parserBabel","semi","inputNestedCodeBlock","interpolatedBackendCode","codeStatus","childKey","childBlock","parentBlock","parentCodeBlock","codeToUpdate","constructBaseFrontend","consolidatedFrontend","frontendLanguage","result","baseHtmlAppJs","push","frontEndBaseTemplates","constructBaseBackend","consolidatedBackend","baseNodeJs","getLineCount","initializeEntry","getEntryTags","calculateEntryLines","files","newEntry","currFile","startIndex","endIndex","substring","clearTags","entries","mapEntryProperties","active","updateConsolidatedCode","backendLanguage","frontEndTemplatesToInterpolate","interpolatedFrontendCode","newConsolidatedFrontend","toUpperCase","newConsolidatedBackend","defaultState","sdkBaseUrl","integrationPageSectionReducer","produce","draftState","category","codeLanguage","newConsolidatedCode","IntegrationPageSectionProvider","apps","defaultSdkOptions","jsonConfiguration","acc","frontendCodeConfigurations","codes","codeFileMappings","flat","val","backendCodeConfigurations","backendCodeFileMappings","defaultCodeStatus","defaultLanguageValues","dispatch","useReducer","IntegrationPageSectionReducer","updateCodeSelection","ControlPanel","resetTestPanel","langBarClassNames","appsDropdownOptions","noGutters","TextDisplay","valueClassName","isLabelHidden","rightIcon","Tooltip","logs","apiHistory","testAccounts","testPanelReducer","TestPanelProvider","TestPanelReducer","updateApiHistory","updateTestAccounts","IntegrationPageSection","HeadingText","level","titleFormat","TestPanel","HtmlContent","HtmlList","list","TabsSection","jsonContent","Tabs","tabs","clickTabHandler","cardContent","toLowerCase","TabPanel","as","CardsRow","row","sm","handleNavigation","behavior","ClickableCardsSection","subtitle","columns","BenefitCard","OverviewBenefits","OverviewPaymentMethods","icons","OverviewWelcomeMessage","buttonConfig","demoUrl","iconComponent","LogViewer","loadable","resolved","chunkName","isReady","props","resolve","__webpack_modules__","importAsync","requireAsync","requireSync","__webpack_require__","fallback","TestAccounts","ApiHistory","experiments","headers","OthersIcon","enabled","CodeIcon","studio_enable_rest_apps","EXPERIMENT_MAP","DocumentIcon","item","isTestPanelOpen","height","closeBtnRef","useRef","dragPanelRef","dragHandleRef","headerIndex","setHeaderIndex","panelHeight","setPanelHeight","isNumber","current","focus","panelElement","panelStyle","getComputedStyle","parseInt","yCord","onMouseMoveResize","dy","clientY","PANEL_MAX_HEIGHT","innerHeight","onMouseUpResize","removeEventListener","onMouseDownResize","addEventListener","panelDragElement","handleToggleTestPanel","removeProperty","currentHeaderIndex","handleTabClick","currentIndex","tertiary","CloseIcon","Title","componentMap","Map","set","CONTROL","TREATMENT","PageComponentFactory","PageComponent","pageComponentMap","SEO","pathName","titleElements","descriptionElements","Helmet","isRequired","Page","pathname","initialState","setInitialState","pageNotFound","setPageNotFound","error","setError","fpti","page","pageMetaData","response","json","ok","clientLogger","fetchEcmContent","ServerErrorPage","ComponentFactory","memoizedEcmContent","createSelector","prunedUserSelector","appsSelector","connect","unifiedLoginUrl","unifiedLoginUrlFormatted","returnUri","searchParams","get","toString","path","startsWith","currencyCode","enableShippingOptions","payload","request","log","apiResponse","method","JSON","stringify","timestamp","Date","toLocaleString","sys","purchase_units","purchaseUnit","payments","captures","capture","authorizations","callback","shippingAddress","selectedShippingOption","responses","refundRequests","Promise","all","r","captureId"],"sourceRoot":""}