{"version":3,"file":"266.bundle.js","mappings":"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","sources":["webpack:///./components/hero-module/index.js","webpack:///./components/loaders/shimmerLoader.js","webpack:///./components/help-option/index.js","webpack:///./components/more-ways-of-help/index.js","webpack:///./hooks/useHelper.js","webpack:///./hooks/useMessage.js","webpack:///./components/error-views/technical-exp-error-view.js","webpack:///./pages/home/index.js"],"sourcesContent":["// styles\nimport './hero-module.less'\n\nimport {\n BodyText,\n Col,\n Container,\n HeadingText,\n Link,\n Row,\n} from '@paypalcorp/pp-react'\nimport React, {\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react'\nimport {\n BUSINESS,\n PERSONAL,\n TECHNICAL,\n pageNames,\n urlConstants,\n} from '../../constants'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\n\nimport { Message } from '@paypalcorp/worldready-react'\nimport { HERO_MODULE_DATA } from '../../utils/prop-type-shape'\nimport ShimmerLoader from '../loaders/shimmerLoader'\n// Hooks\nimport { useHelper } from '../../hooks/useHelper'\nimport { useMessage } from '../../hooks/useMessage'\nimport useTracking from '../../hooks/useTracking'\n\nconst searchBar = () => import('../search-bar' /* webpackPrefetch: true */)\n\nconst SearchBarComponent = React.lazy(searchBar)\n\n// Hero Module Component - The top section with search component\nfunction HeroModule(props) {\n const { searchQuery, appliedFilter } = props\n const {\n isLoggedIn,\n getDisplayName,\n generateLinkWithCoBrand,\n getPageName,\n getUserUiExp,\n getHomePathByExperience,\n } = useHelper()\n const { trackActivity } = useTracking()\n const { getMessage } = useMessage()\n const [isSearchReady, setIsSearchReady] = useState(false)\n\n const pageName = getPageName()\n\n useEffect(() => {\n ;(async () => {\n await searchBar()\n setIsSearchReady(true)\n })()\n }, [])\n\n useEffect(() => {\n trackActivity({\n name: componentNames.HERO_MODULE,\n type: fptiTypes.SUCCESS,\n })\n }, [trackActivity])\n\n const experiencePath = getHomePathByExperience()\n\n const isExpHomePage = [PERSONAL, BUSINESS, TECHNICAL].includes(pageName)\n\n const isContactUsPages = [\n pageNames.CONTACT_US,\n pageNames.TOPIC_DETAILS,\n ].includes(pageName)\n\n const getUserExperienceLabel = useCallback(() => {\n if (isContactUsPages) {\n return getMessage('app.helpcenter.experience.contactUsLabel')\n }\n const mapping = {\n [PERSONAL]: 'app.helpcenter.experience.personalLabel',\n [BUSINESS]: 'app.helpcenter.experience.businessLabel',\n [TECHNICAL]: 'app.helpcenter.experience.technicalLabel',\n }\n\n return getMessage(mapping[getUserUiExp()])\n }, [getUserUiExp, getMessage, isContactUsPages])\n\n const userExperienceLabel = useMemo(\n () => getUserExperienceLabel(),\n [getUserExperienceLabel],\n )\n\n const renderSearchBar = () => {\n if (isSearchReady) {\n return (\n }>\n \n \n )\n }\n return \n }\n\n const renderUserGreering = () => {\n if (isExpHomePage || isContactUsPages) {\n const greeting = isLoggedIn() ? (\n \n ) : (\n \n )\n\n return (\n \n {greeting}\n \n )\n }\n return null\n }\n\n const getExperienceLabel = () => {\n if (!isExpHomePage && !isContactUsPages) {\n return (\n \n {userExperienceLabel}\n \n )\n }\n\n return (\n \n {userExperienceLabel}\n \n )\n }\n\n const renderHeroSectionInAupViolationPage = () => {\n return (\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n )\n }\n\n if (pageName === pageNames.AUPVIOLATION) {\n return (\n \n \n {renderHeroSectionInAupViolationPage()}\n \n \n )\n }\n\n return (\n \n \n \n {getExperienceLabel()}\n \n \n {renderUserGreering()}\n \n \n {renderSearchBar()}\n \n \n \n )\n}\n\nHeroModule.propTypes = HERO_MODULE_DATA\n\nexport default HeroModule\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Card } from '@paypalcorp/pp-react'\n\nimport './shimmer-loader.less'\n\n// component to load different shimmers with different sizes based on the props.\nconst ShimmerLoader = (props) => {\n const { customLoaderStyle, rows } = props\n\n const getShimmer = () => {\n const defaultShimmerStyle = {\n height: '10rem',\n width: '100%',\n marginBottom: '1rem',\n }\n const customStyle = { ...defaultShimmerStyle, ...customLoaderStyle }\n\n const shimmers = Array.from({ length: rows }, (_, i) => {\n return (\n \n \n \n )\n })\n\n return <>{shimmers}\n }\n\n return getShimmer()\n}\n\nShimmerLoader.propTypes = {\n customLoaderStyle: PropTypes.shape({}),\n rows: PropTypes.number,\n}\n\nShimmerLoader.defaultProps = {\n rows: 1,\n}\nexport default ShimmerLoader\n","import {\n CaptionText,\n Card,\n Col,\n Icon,\n Link,\n} from '@paypalcorp/pp-react'\nimport React from 'react'\nimport { HELP_CHANNEL_DATA } from '../../utils/prop-type-shape'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\n\n// Hooks\nimport useTracking from '../../hooks/useTracking'\n\n// styles\nimport './help-option.less'\n\n// HelpOption Component to render individual help option card\nfunction HelpOption({ iconName, title, desc, target, url, id }) {\n const { trackClick } = useTracking()\n\n const handleOnClick = (event) => {\n event.preventDefault()\n\n // Track click event through FPTI\n trackClick({\n name: componentNames.MORE_WAYS_OF_HELP,\n type: fptiTypes.ON_CLICK,\n link: `help-option|${id}|clicked`,\n })\n\n window.open(url, target || '_blank')\n }\n\n return (\n \n handleOnClick(e)}\n className=\"hc_more-help-option__card\"\n data-testid=\"hc-help-option-card\"\n >\n
\n \n
\n
\n \n {title}\n \n \n {desc}\n \n
\n
\n \n )\n}\n\nHelpOption.propTypes = HELP_CHANNEL_DATA\n\nexport default HelpOption\n","import { Col, HeadingText, Row } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport React, { useEffect } from 'react'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { MORE_WAYS_OF_HELP_DATA } from '../../utils/prop-type-shape'\nimport HelpOption from '../help-option'\nimport useTracking from '../../hooks/useTracking'\nimport './more-ways-of-help.less'\n\n// MoreWaysOfHelp Component - To display help contact channels\nfunction MoreWaysOfHelp({ helpChannels }) {\n const { trackActivity } = useTracking()\n\n // On component mount\n useEffect(() => {\n trackActivity({\n name: componentNames.MORE_WAYS_OF_HELP,\n type: fptiTypes.SUCCESS,\n })\n }, [trackActivity])\n\n const isHelpChannelsExist = () => {\n return Array.isArray(helpChannels) && helpChannels.length\n }\n\n const renderHelpOptions = () => {\n return (\n isHelpChannelsExist() && (\n \n \n \n \n \n \n \n \n \n {helpChannels.map((helpChannel) => (\n \n ))}\n \n \n )\n )\n }\n\n return <>{renderHelpOptions()}\n}\n\nMoreWaysOfHelp.propTypes = MORE_WAYS_OF_HELP_DATA\n\nexport default MoreWaysOfHelp\n","import { useCallback } from 'react'\nimport { JP, PERSONAL, BUSINESS, TECHNICAL } from '../constants'\nimport { useAppContext } from '../contexts/app-context'\n\nexport const useHelper = () => {\n const { reqContextData, pageProps } = useAppContext()\n\n const generateLinkWithCoBrand = useCallback(\n (link) => {\n if (reqContextData.coBrand) {\n return `/${reqContextData.coBrand}${link}`\n }\n return link\n },\n [reqContextData],\n )\n\n const isLoggedIn = useCallback(() => {\n return reqContextData.isLoggedIn\n }, [reqContextData])\n\n const getPageName = useCallback(() => {\n return pageProps.pageName\n }, [pageProps])\n\n const getDisplayName = useCallback(() => {\n const { user, country } = reqContextData\n if (user && typeof user === 'object') {\n if (country === JP) {\n return user.lastName || ''\n }\n return user.firstName || ''\n }\n return ''\n }, [reqContextData])\n\n const getUserUiExp = useCallback(() => {\n return reqContextData.userUiExp\n }, [reqContextData])\n\n const getHomePathByExperience = useCallback(\n (exp) => {\n const experience = exp || reqContextData.userUiExp\n const experiencePathMapping = {\n [PERSONAL]: '/cshelp/personal',\n [BUSINESS]: '/cshelp/business',\n [TECHNICAL]: '/cshelp/technical',\n }\n\n return experiencePathMapping[experience] || '/cshelp/home'\n },\n [reqContextData],\n )\n\n return {\n generateLinkWithCoBrand,\n isLoggedIn,\n getDisplayName,\n getPageName,\n getUserUiExp,\n getHomePathByExperience,\n }\n}\n","import { MessageFormat } from '@paypalcorp/worldready'\nimport { Context as WorldReadyContext } from '@paypalcorp/worldready-react'\nimport { useContext, useCallback } from 'react'\n\nexport const useMessage = () => {\n const worldReady = useContext(WorldReadyContext)\n\n const getMessage = useCallback(\n (messageId, data) => {\n if (data) {\n return new MessageFormat(worldReady, { id: messageId }).format(data)\n }\n return new MessageFormat(worldReady, { id: messageId }).format()\n },\n [worldReady],\n )\n\n return { getMessage }\n}\n","import React from 'react'\nimport { HeadingText, Row, Container, Link } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\n\nimport './error-views.less'\n\nfunction TechnicalExpErrorView() {\n return (\n \n \n \n \n \n \n \n \n (\n {innerMessage}\n )}\n businessHelpLink={(innerMessage) => (\n {innerMessage}\n )}\n />\n \n \n \n )\n}\n\nexport default TechnicalExpErrorView\n","// styles\nimport '../../styles/pages/home.less'\n\nimport {\n AW_POSITION_EVENTS,\n componentNames,\n fptiTypes,\n} from '../../utils/analytics/fpti-constants'\nimport {\n BodyText,\n Col,\n Container,\n HeadingText,\n LoadingSpinner,\n Row,\n} from '@paypalcorp/pp-react'\nimport { POSITIONS, pageNames } from '../../constants/index'\nimport React, { Suspense, startTransition, useEffect, useState, useRef } from 'react'\n\nimport HeroModule from '../../components/hero-module'\nimport { Message } from '@paypalcorp/worldready-react'\nimport MoreWaysOfHelp from '../../components/more-ways-of-help'\nimport ShimmerLoader from '../../components/loaders/shimmerLoader'\n// Components\nimport TechnicalExpErrorView from '../../components/error-views/technical-exp-error-view'\nimport { useAppContext } from '../../contexts/app-context'\nimport useTracking from '../../hooks/useTracking'\n\n// Experience Pages\nconst PersonalExp = React.lazy(() =>\n import('../experiences/personal' /* webpackPrefetch: true */),\n)\nconst BusinessExp = React.lazy(() =>\n import('../experiences/business' /* webpackPrefetch: true */),\n)\nconst TechnicalExp = React.lazy(() =>\n import('../experiences/technical' /* webpackPrefetch: true */),\n)\nconst Alerts = React.lazy(() =>\n import('../../components/alerts' /* webpackPrefetch: true */),\n)\nconst DisputeTracker = React.lazy(() =>\n import('../../components/dispute-tracker' /* webpackPrefetch: true */),\n)\nconst RefundTracker = React.lazy(() =>\n import('../../components/refund-tracker' /* webpackPrefetch: true */),\n)\nconst Survey = React.lazy(() =>\n import('../../components/survey' /* webpackPrefetch: true */),\n)\nconst StepupAuthConfirmPrompt = React.lazy(() =>\n import('../../components/stepup-auth-confirm' /* webpackPrefetch: true */),\n)\n\nconst expToComponentLayoutMapping = {\n [pageNames.PERSONAL]: PersonalExp,\n [pageNames.BUSINESS]: BusinessExp,\n [pageNames.TECHNICAL]: TechnicalExp,\n}\n\n// Home page - This is the page/container for home view which will have the layout and components placement\nfunction Home() {\n const appCtx = useAppContext()\n const { trackErrorFPTI, trackActivity } = useTracking()\n const { pageProps, reqContextData } = appCtx\n const { apiData, pageName, configs, stepUpAuthValidation = {} } = pageProps\n const { helpChannels, activityWidget } = apiData\n const { userUiExp, isLoggedIn } = reqContextData\n const {\n isRefundTrackerEnabled,\n isDisputeTrackerEnabled,\n isLimitationWidgetEnabled,\n } = configs\n const { awPosition, widgetHtml = '', isError:isActivityWidgetError, isWidgetSPFEnabled = false } = activityWidget || {}\n\n const widgetDivRef = useRef()\n const [LimitationWidget, setLimitationWidget] = useState(null)\n\n // mount third party node module: resolve window not defined issue\n useEffect(() => {\n startTransition(() => {\n setLimitationWidget(\n React.lazy(() => import('../../components/limitations-help')),\n )\n })\n }, [])\n\n useEffect(() => {\n if (!isActivityWidgetError && isWidgetSPFEnabled && document?.createRange) {\n // eslint-disable-next-line no-unsanitized/method\n const fragment = document\n .createRange()\n .createContextualFragment(widgetHtml)\n // eslint-disable-next-line no-unused-expressions\n widgetDivRef.current?.append(fragment)\n }\n }, [])\n\n // MORE WAYS OF HELP SECTION\n const renderMoreWaysOfHelp = () => {\n const { data, isError } = helpChannels\n if (!isError && Array.isArray(data) && data.length) {\n return \n }\n\n trackErrorFPTI(helpChannels, componentNames.MORE_WAYS_OF_HELP)\n return null\n }\n\n const renderLimitationHelp = () => {\n if (!isLimitationWidgetEnabled || !LimitationWidget) {\n return null\n }\n return (\n <>\n }>\n \n \n \n )\n }\n\n const renderDisputeTracker = () => {\n if (!isDisputeTrackerEnabled) {\n return null\n }\n return (\n <>\n }>\n \n \n \n )\n }\n\n const renderRefundTracker = () => {\n if (!isRefundTrackerEnabled) {\n return null\n }\n return (\n <>\n }>\n \n \n \n )\n }\n\n // render activity widget\n const renderActivityWidget = (position) => {\n if (!isLoggedIn || position !== awPosition) {\n return null\n }\n\n if (!isActivityWidgetError && widgetHtml) {\n // track activity widget to identify placement\n trackActivity({\n name: componentNames.ACTIVITY_WIDGET,\n type: fptiTypes.SUCCESS,\n event_name: AW_POSITION_EVENTS[position],\n })\n return (\n }>\n \n \n \n \n \n \n \n \n \n \n {/* render activity widget */}\n { isWidgetSPFEnabled ? \n
:\n
\n }\n \n )\n }\n if (isActivityWidgetError) {\n trackErrorFPTI(activityWidget, componentNames.ACTIVITY_WIDGET)\n }\n return null\n }\n\n const renderWidgetsInExpLayout = () => {\n return renderActivityWidget(POSITIONS.BOTTOM)\n }\n\n // render stepup auth confirmation prompt\n const renderStepUpAuthConfirmPrompt = () => {\n const { showPrompt, stepUpUUID } = stepUpAuthValidation\n if (showPrompt && stepUpUUID) {\n return (\n <>\n }>\n \n \n \n )\n }\n return null\n }\n\n // Common components/layout for all the experiences will be handled here.\n const renderExperienceView = () => {\n // The page/exp is technical. check if the exp is available for the selected language.\n // If not available show error view, if not move forward with exp view.\n if (pageName === pageNames.TECHNICAL) {\n if (!pageProps.configs.isTechnicalExpAvailable) {\n // Tracking of error for this has already been implemented in layout/fptiSetup.js\n return \n }\n }\n\n // Experience component mapping\n const ExperienceLayout = expToComponentLayoutMapping[userUiExp]\n\n return (\n <>\n {/* <-------------- TOP SECTION - Common components for all the experiences will go here -------> */}\n \n \n }>\n \n \n \n \n\n \n {/* <------------------- END OF TOP SECTION -----------------> */}\n\n {/* <--------- TRACKER SECTION - all the trackers (refund, dispute) or external components goes here ------------>*/}\n \n {renderLimitationHelp()}\n {renderDisputeTracker()}\n {renderRefundTracker()}\n {renderActivityWidget(POSITIONS.TOP)}\n \n {/* <------------------- END OF TRACKER SECTION -----------------> */}\n\n {/* <--------- MIDDLE SECTION - Custom layout based on the experience goes here ------------>*/}\n }\n >\n \n \n {/* <------------------- END OF MIDDLE/ EXPERIENCE SECTION -----------------> */}\n\n {/* BOTTOM SECTION - Common components for all the experiences */}\n \n {renderMoreWaysOfHelp()}\n\n }>\n \n \n \n {/* <------------------- END OF BOTTOM SECTION -----------------> */}\n\n {/* <------------------- DIALOGS / PROMPTS -----------------> */}\n {renderStepUpAuthConfirmPrompt()}\n \n )\n }\n\n return renderExperienceView()\n}\n\nexport default Home\n"],"names":["searchBar","SearchBarComponent","React","HeroModule","props","searchQuery","appliedFilter","useHelper","isLoggedIn","getDisplayName","generateLinkWithCoBrand","getPageName","getUserUiExp","getHomePathByExperience","trackActivity","useTracking","getMessage","useMessage","useState","isSearchReady","setIsSearchReady","pageName","useEffect","name","componentNames","HERO_MODULE","type","fptiTypes","SUCCESS","experiencePath","isExpHomePage","PERSONAL","BUSINESS","TECHNICAL","includes","isContactUsPages","pageNames","CONTACT_US","TOPIC_DETAILS","getUserExperienceLabel","useCallback","mapping","userExperienceLabel","useMemo","AUPVIOLATION","className","xxl","href","urlConstants","CSHELP_HOME","size","Message","id","DEFAULT_COMMUNITY_LINK","DISPUTES","as","strong","greeting","Suspense","fallback","propTypes","HERO_MODULE_DATA","ShimmerLoader","customStyle","shimmers","customLoaderStyle","rows","height","width","marginBottom","Array","from","length","_","i","key","style","isLoading","PropTypes","defaultProps","HelpOption","iconName","title","desc","target","url","trackClick","sm","lg","onClick","e","preventDefault","MORE_WAYS_OF_HELP","ON_CLICK","link","window","open","color","secondary","HELP_CHANNEL_DATA","MoreWaysOfHelp","helpChannels","isArray","map","helpChannel","MORE_WAYS_OF_HELP_DATA","useAppContext","reqContextData","pageProps","coBrand","user","country","JP","lastName","firstName","userUiExp","exp","experience","worldReady","useContext","WorldReadyContext","messageId","data","MessageFormat","format","personalHelpLink","innerMessage","businessHelpLink","PersonalExp","BusinessExp","TechnicalExp","Alerts","DisputeTracker","RefundTracker","Survey","StepupAuthConfirmPrompt","expToComponentLayoutMapping","appCtx","trackErrorFPTI","apiData","configs","stepUpAuthValidation","activityWidget","isRefundTrackerEnabled","isDisputeTrackerEnabled","isLimitationWidgetEnabled","awPosition","widgetHtml","isActivityWidgetError","isError","isWidgetSPFEnabled","widgetDivRef","useRef","LimitationWidget","setLimitationWidget","startTransition","document","createRange","fragment","createContextualFragment","current","append","renderActivityWidget","position","ACTIVITY_WIDGET","event_name","AW_POSITION_EVENTS","ref","dangerouslySetInnerHTML","__html","renderWidgetsInExpLayout","POSITIONS","BOTTOM","isTechnicalExpAvailable","showPrompt","stepUpUUID","ExperienceLayout","isTrackerEnabled","TOP","screenReaderText","renderWidgets","uuid"],"sourceRoot":""}