{"version":3,"file":"983.bundle.js","mappings":"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","sources":["webpack:///../node_modules/classnames/index.js","webpack:///./components/hero-module/index.js","webpack:///./components/topic-tree/index.js","webpack:///./constants/api.js","webpack:///./components/article-content/index.js","webpack:///./components/tab-switcher/index.js","webpack:///./components/article-content-tabs/index.js","webpack:///./components/article-feedback-reason/index.js","webpack:///./components/article-feedback/index.js","webpack:///./components/article-links/index.js","webpack:///./components/breadcrumbs/index.js","webpack:///./components/error-views/article-content-error.js","webpack:///./components/intent-chatbot-container/index.js","webpack:///./pages/article/index.js","webpack:///./utils/api.js"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { Col, HeadingText, Link, Row, BodyText } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport classNames from 'classnames'\nimport React, { Suspense, useEffect, useState, useMemo } from 'react'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { HERO_MODULE_DATA } from '../../utils/prop-type-shape'\nimport ShimmerLoader from '../loaders/shimmerLoader'\nimport { PERSONAL, BUSINESS, TECHNICAL } from '../../constants'\n\n// Hooks\nimport { useHelper } from '../../hooks/useHelper'\nimport useTracking from '../../hooks/useTracking'\nimport { useMessage } from '../../hooks/useMessage'\n\n// styles\nimport './hero-module.less'\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() {\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 HERO_MODULE_VERSIONS = {\n V1: 'v1', // Blue hero module version - home page exp version\n V2: 'v2', // Gray hero module version - Default version\n }\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 getUserExperienceLabel = () => {\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 }\n const userExperienceLabel = useMemo(() => getUserExperienceLabel(), [])\n\n const experiencePath = getHomePathByExperience()\n\n const isHomeGreetingStyle = [PERSONAL, BUSINESS, TECHNICAL].includes(\n getPageName(),\n )\n\n // Const to set design version based in the pages/exp\n const DESIGN_VERSION = isHomeGreetingStyle\n ? HERO_MODULE_VERSIONS.V1\n : HERO_MODULE_VERSIONS.V2\n\n const renderSearchBar = () => {\n if (isSearchReady) {\n return (\n }>\n \n \n )\n }\n return \n }\n\n const renderUserGreering = () => {\n if (DESIGN_VERSION === HERO_MODULE_VERSIONS.V1) {\n const greeting = isLoggedIn() ? (\n \n ) : (\n \n )\n\n return (\n \n {greeting}\n \n )\n }\n return
\n }\n\n const getExperienceLabel = () => {\n if (DESIGN_VERSION === HERO_MODULE_VERSIONS.V2) {\n return (\n \n {userExperienceLabel}\n \n )\n }\n\n return (\n \n {userExperienceLabel}\n \n )\n }\n\n return (\n \n \n {getExperienceLabel()}\n\n {renderUserGreering()}\n {renderSearchBar()}\n \n \n )\n}\n\nHeroModule.propTypes = HERO_MODULE_DATA\n\nexport default HeroModule\n","import { Link } from '@paypalcorp/pp-react'\nimport classNames from 'classnames'\nimport React, { useEffect, useState } from 'react'\nimport { TOPIC_TREE_COMPLETE_DATA } from '../../utils/prop-type-shape'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { Message } from '@paypalcorp/worldready-react'\n\n//Hooks\nimport { useHelper } from '../../hooks/useHelper'\nimport useTracking from '../../hooks/useTracking'\nimport { useAppContext } from '../../contexts/app-context'\n\n// styles\nimport './topic-tree.less'\n\n// Topic Tree Component\nfunction TopicTree({ breadCrumbPath, topicTreeData }) {\n const [selectedTopic, setSelectedTopic] = useState('')\n const { generateLinkWithCoBrand, getHomePathByExperience } = useHelper()\n const { trackActivity, trackClick } = useTracking()\n const {\n pageProps: { pageName },\n } = useAppContext()\n\n useEffect(() => {\n trackActivity({ name: componentNames.TOPIC_TREE, type: fptiTypes.SUCCESS })\n }, [trackActivity])\n\n useEffect(() => {\n if (breadCrumbPath) {\n setSelectedTopic(breadCrumbPath.split('/')[0])\n }\n if (pageName === 'home') {\n setSelectedTopic('home')\n }\n }, [breadCrumbPath, pageName])\n\n // on click topic tree item handler\n const onClickHandler = (e, topic) => {\n e.stopPropagation()\n let link = ''\n\n if (typeof topic === 'string' && topic === 'home') {\n link = 'topic-tree|home|clicked'\n } else {\n link = `topic-tree|${topic.topicId}|clicked`\n }\n // track topictree item on click\n trackClick({\n name: componentNames.TOPIC_TREE,\n type: fptiTypes.ON_CLICK,\n link,\n })\n }\n\n const isTopicTreeExist = () =>\n Array.isArray(topicTreeData) && topicTreeData.length\n\n const renderHomeLink = () => {\n return (\n onClickHandler(e, 'home')}\n key=\"topic-tree-home-link\"\n data-testid=\"hc-topic-tree-home-li\"\n >\n \n \n \n \n )\n }\n\n const renderTopicTree = () => {\n if (isTopicTreeExist()) {\n return topicTreeData.map((topic) => (\n onClickHandler(e, topic)}\n key={topic.topicId}\n data-testid=\"hc-topic-tree-item\"\n >\n \n {topic.topicName}\n \n \n ))\n }\n return <>\n }\n\n return (\n <>\n
    \n {renderHomeLink()}\n {renderTopicTree()}\n
\n \n )\n}\n\nTopicTree.propTypes = TOPIC_TREE_COMPLETE_DATA\n\nexport default TopicTree\n","export const CHECK_BOT_ELIGIBILITY_URL = '/api/check-bot-eligibility'\nexport const MMT_CONVERSATIONS_URL = '/api/mmt-conversations'\nexport const OCP_SET_CONTEXT_URL = '/api/ocp-set-context'\nexport const UPDATE_BNA_URL = '/api/update-bna'\n","import { HeadingText } from '@paypalcorp/pp-react'\nimport React, { useEffect, useRef } from 'react'\nimport { PAYPAL_OBJECTS_BASE_URL } from '../../constants'\nimport useTracking from '../../hooks/useTracking'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport {\n getArticleVideoIframeSrcDoc,\n loadYTIframeScript,\n} from '../../utils/helper'\nimport { ARTICLE_CONTENT_DATA } from '../../utils/prop-type-shape'\n\n// styles\nimport './article-content.less'\n\n// Article Component\nfunction ArticleContent(props) {\n const { articleContent, articleId, exp } = props\n const { trackActivity, trackClick } = useTracking()\n const articleContentRef = useRef(null)\n // get the ECM API tags from article data\n const { ecmComponentIds, ecmDocId } = articleContent\n const helpDocId = ecmDocId || articleId || ''\n const helpComponentIds = ecmComponentIds || ''\n\n // On component mount\n useEffect(() => {\n const loadYTIframeAPI = (onScriptLoad) => {\n loadYTIframeScript()\n window.onYouTubeIframeAPIReady = onScriptLoad\n }\n\n const handleClickOnLinks = (e, link) => {\n const href = link.getAttribute('href')\n\n if (!href) {\n e.preventDefault()\n trackClick({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n type: fptiTypes.ON_CLICK,\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n link: `article-content|${helpDocId}|broken-link-clicked`,\n })\n } else {\n trackClick({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n type: fptiTypes.ON_CLICK,\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n link: `article-content|${helpDocId}|link-clicked|${href}`,\n })\n }\n }\n\n const trackVideoPlayEvents = (videoSrc) => {\n // Add FPTI event for when video would be played\n trackClick({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n link: `article-content-video-played|${videoSrc}`,\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n event_name: 'article_content_video_played_in_article_page',\n type: fptiTypes.SUCCESS,\n })\n }\n\n const trackVideoPauseEvents = (videoSrc) => {\n // Add FPTI event for when video would be paused\n trackClick({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n link: `article-content-video-paused|${videoSrc}`,\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n event_name: 'article_content_video_paused_in_article_page',\n type: fptiTypes.SUCCESS,\n })\n }\n\n const onPlayerStateChange = (event, videoSrc) => {\n // eslint-disable-next-line default-case\n switch (event.data) {\n case window.YT.PlayerState.PLAYING:\n trackVideoPlayEvents(videoSrc)\n break\n case window.YT.PlayerState.PAUSED:\n trackVideoPauseEvents(videoSrc)\n break\n }\n }\n\n const trackYTVideoEvents = (videos) => {\n videos.forEach((video) => {\n if (window.YT) {\n // eslint-disable-next-line no-new\n new window.YT.Player(video, {\n events: {\n onStateChange: (e) => onPlayerStateChange(e, video.src),\n onReady: () => {\n trackActivity({\n name: componentNames.ARTICLE_CONTENT,\n exp,\n link: `article-content-video-displayed|${video.src}`,\n event_name: 'article_content_video_displayed_in_article_page',\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n type: fptiTypes.SUCCESS,\n })\n },\n },\n })\n }\n })\n }\n\n // FPTI Events for video play and pause controls\n const addFPTIsForVideoPlayPause = (videoElement, videoSrc) => {\n videoElement.addEventListener('play', () =>\n trackVideoPlayEvents(videoSrc),\n )\n\n videoElement.addEventListener('pause', () =>\n trackVideoPauseEvents(videoSrc),\n )\n }\n\n const parseArticleContent = () => {\n // Adding setTimeout on top as tag element is not picked immediately safari and IE versions\n setTimeout(() => {\n if (!articleContentRef) {\n return\n }\n\n // Link click Tracking in Article Component\n const contentLinks =\n articleContentRef.current.querySelectorAll('a[href]')\n Array.from(contentLinks).forEach((link) => {\n link.addEventListener('click', (e) => {\n const clickTarget = e.target\n const { id } = clickTarget\n\n // To check if the click content is solutionLink\n if (id && clickTarget.name === 'solutionLink') {\n // make the faqId the href for fpti usage\n link.href = id\n }\n\n handleClickOnLinks(e, link)\n })\n })\n\n // warp image in the article content\n let imageTags = articleContentRef.current.getElementsByTagName('img')\n imageTags = Array.prototype.slice.call(imageTags)\n imageTags.forEach((tag) => {\n const divEl = document.createElement('img')\n divEl.setAttribute('src', tag.src)\n divEl.style.height = `${tag.height}px`\n divEl.style.maxWidth = `${tag.width}px`\n divEl.setAttribute('alt', tag.alt)\n divEl.className = 'hc_article-content__image'\n tag.parentNode.replaceChild(divEl, tag)\n })\n\n // Logic to add video event listeners for play and pause for the videos [Paypal object videos] that are inside iframe.\n let iframeTags =\n articleContentRef.current.getElementsByTagName('iframe')\n iframeTags = Array.prototype.slice.call(iframeTags)\n const ytVideos = []\n iframeTags.forEach((tag) => {\n const videoEl = tag\n videoEl.className = 'hc_article-content__iFrame'\n\n if (tag.src && tag.src.includes('youtube')) {\n videoEl.setAttribute(\n 'src',\n tag.src &&\n tag.src.replace('youtube.com', 'youtube-nocookie.com') +\n '?enablejsapi=1',\n )\n ytVideos.push(videoEl)\n return\n }\n\n // This should not be done ideally, we should get proper format from ECM to display video and track events\n if (\n videoEl.src &&\n videoEl.src.startsWith(PAYPAL_OBJECTS_BASE_URL) &&\n !videoEl.srcdoc\n ) {\n videoEl.setAttribute('srcdoc', getArticleVideoIframeSrcDoc(videoEl))\n }\n tag.parentNode.replaceChild(videoEl, tag)\n\n videoEl.onload = function () {\n const iFrameDocument = videoEl.contentDocument\n const videoSrc = videoEl.src\n\n if (iFrameDocument) {\n const videoElement =\n iFrameDocument.getElementsByTagName('video')[0] || null\n if (videoElement) {\n // set video element width to 100% to display videos appropriatly for all device resolutions\n videoElement.setAttribute('width', '100%')\n\n trackActivity({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n link: `article-content-video-displayed|${videoSrc}`,\n event_name: 'article_content_video_displayed_in_article_page',\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n type: fptiTypes.SUCCESS,\n })\n\n addFPTIsForVideoPlayPause(videoElement, videoSrc)\n }\n }\n }\n })\n\n if (ytVideos.length) {\n loadYTIframeAPI(() => trackYTVideoEvents(ytVideos))\n }\n\n // Logic to add video event listeners for play and pause for the videos\n // that are coming directly with out iframe.\n let videoTags = articleContentRef.current.getElementsByTagName('video')\n videoTags = Array.prototype.slice.call(videoTags)\n\n videoTags.forEach((videoElement) => {\n const videoSrc = videoElement.currentSrc\n\n trackActivity({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n link: `article-content-video-displayed|${videoSrc}`,\n event_name: 'article_content_video_displayed_in_article_page',\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n type: fptiTypes.SUCCESS,\n })\n\n // FPTI event listeners for play and pause\n addFPTIsForVideoPlayPause(videoElement, videoSrc)\n })\n })\n }\n if (!articleContent) {\n return trackActivity({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n type: fptiTypes.ERROR,\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n })\n }\n\n parseArticleContent()\n\n return trackActivity({\n name: componentNames.ARTICLE_CONTENT,\n articleContentExp: exp,\n type: fptiTypes.SUCCESS,\n help_doc_id: helpDocId,\n help_component_ids: helpComponentIds,\n })\n }, [\n articleContent,\n exp,\n helpComponentIds,\n helpDocId,\n articleContentRef,\n trackActivity,\n trackClick,\n ])\n\n return (\n <>\n \n {articleContent.articleTitle}\n \n\n \n \n )\n}\n\nArticleContent.propTypes = ARTICLE_CONTENT_DATA\n\nexport default ArticleContent\n","import { TabPanel, Tabs } from '@paypalcorp/pp-react'\nimport React, { useState } from 'react'\n\nimport useTracking from '../../hooks/useTracking'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { TAB_SWITCHER_DATA } from '../../utils/prop-type-shape'\n\nimport './tab-switcher.less'\n\nfunction TabSwitcher(props) {\n const { name, tabsInfo, renderTabContent, articleId } = props\n const [selectedTabIdx, setSelectedTabIdx] = useState(0)\n const { trackClick } = useTracking()\n\n const onTabClickHandler = (_, tabIndex) => {\n if (tabIndex === selectedTabIdx) {\n return\n }\n const { componentName, exp } = tabsInfo[tabIndex].tabProps\n trackClick({\n name: componentNames.TAB_SWITCHER,\n type: fptiTypes.ON_CLICK,\n help_doc_id: articleId,\n exp,\n link: `${componentNames.TAB_SWITCHER}|${articleId}|${componentName}`,\n })\n setSelectedTabIdx(tabIndex)\n }\n\n const renderTabs = () => {\n let tabsProps = []\n if (Array.isArray(tabsInfo)) {\n tabsProps = tabsInfo.map((tab) => ({\n id: tab.id,\n panelId: `p-${tab.id}`,\n label: tab.label,\n }))\n }\n if (Array.isArray(tabsProps) && tabsProps.length) {\n return (\n \n {tabsInfo.map(({ id, tabProps }) => (\n \n {renderTabContent(tabProps)}\n \n ))}\n \n )\n }\n return null\n }\n\n return renderTabs()\n}\n\nTabSwitcher.propTypes = TAB_SWITCHER_DATA\n\nexport default TabSwitcher\n","import React from 'react'\nimport { BUSINESS, MERCHANT, PERSONAL } from '../../constants'\nimport { useMessage } from '../../hooks/useMessage'\nimport { componentNames } from '../../utils/analytics/fpti-constants'\nimport { ARTICLE_CONTENT_TABS_DATA } from '../../utils/prop-type-shape'\nimport ArticleContent from '../article-content'\nimport TabSwitcher from '../tab-switcher'\n\nimport './article-content-tabs.less'\n\nexport const ArticleContentTabs = ({\n articleContent,\n articleId,\n accountType,\n}) => {\n const {\n personalContent,\n businessContent,\n articleContent: aContent,\n } = articleContent\n const { getMessage } = useMessage()\n\n const renderArticleContent = ({ content, exp }) => {\n const { articleTitle, ecmComponentIds, ecmDocId } = articleContent\n return (\n \n )\n }\n\n const renderTabSwitcher = () => {\n /*\n Personal content or business content key values exists for only the channels that are ECM enabled \n so in order to handle non ecm article content -\n If no personal content or business content exists dont show the tabs and instead show the article \n content from key articleContent\n */\n if (!(personalContent || businessContent)) {\n return renderArticleContent({\n content: aContent,\n exp: accountType, // TODO:: Revisit this after implementing home page experience routes\n })\n }\n\n const tabs = []\n if (personalContent) {\n tabs.push({\n id: 'consumerArticleContent',\n label: getMessage('app.helpcenter.experience.personal'),\n tabProps: {\n content: personalContent,\n exp: PERSONAL,\n componentName: componentNames.ARTICLE_CONTENT,\n },\n })\n }\n if (businessContent) {\n tabs.push({\n id: 'merchantArticleContent',\n label: getMessage('app.helpcenter.experience.business'),\n tabProps: {\n content: businessContent,\n exp: BUSINESS,\n componentName: componentNames.ARTICLE_CONTENT,\n },\n })\n }\n if (tabs.length === 2 && accountType === MERCHANT) {\n tabs.reverse()\n }\n if (tabs.length) {\n return (\n \n )\n }\n return null\n }\n\n return renderTabSwitcher()\n}\n\nArticleContentTabs.propTypes = ARTICLE_CONTENT_TABS_DATA\n","import { Button, Card, TextArea, BodyText } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport React, { useState } from 'react'\nimport classNames from 'classnames'\nimport { useMessage } from '../../hooks/useMessage'\nimport { ARTICLE_FEEDBACK_REASON_DATA } from '../../utils/prop-type-shape'\n\nimport './article-feedback-reason.less'\n\nconst formMetaData = {\n reasons: [\n 'toomuchinfo',\n 'notenoughinfo',\n 'lookingfor',\n 'incorrect',\n 'dontlike',\n 'other',\n ],\n rows: 3,\n maxLength: 100,\n}\nconst ArticleFeedbackReason = ({ onSubmit }) => {\n const [selectedReason, setSelectedReason] = useState('')\n const [reasonDesc, setReasonDesc] = useState('')\n const { getMessage } = useMessage()\n\n const reasonClickHandler = (reason) => {\n setSelectedReason(reason)\n }\n\n const reasonSubmitHandler = () => {\n onSubmit(selectedReason, reasonDesc)\n }\n\n const renderReasonDescriptionForm = (reason) => {\n if (reason !== selectedReason) {\n return null\n }\n return (\n <>\n setReasonDesc(e.target.value)}\n maxCharacters={formMetaData.maxLength}\n rows={formMetaData.rows}\n showCharacterCounter={true}\n maxLength={formMetaData.maxLength}\n placeholder={getMessage(\n 'app.article.feedback.reason.form.placeholder',\n )}\n data-testid=\"hc-fb-reason-option-desc\"\n />\n \n \n \n \n )\n }\n\n const renderReasons = () => {\n const { reasons } = formMetaData\n return (\n \n {reasons.map((reason) => {\n return (\n
  • \n reasonClickHandler(reason)}\n data-testid=\"hc-fb-reason-option-title\"\n role=\"button\"\n >\n \n \n {renderReasonDescriptionForm(reason)}\n
  • \n )\n })}\n \n )\n }\n\n return (\n \n \n \n \n {renderReasons()}\n \n )\n}\n\nArticleFeedbackReason.propTypes = ARTICLE_FEEDBACK_REASON_DATA\n\nexport default ArticleFeedbackReason\n","import { Alert, Button, Col, HeadingText, Row } from '@paypalcorp/pp-react'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { Message } from '@paypalcorp/worldready-react'\nimport useTracking from '../../hooks/useTracking'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\nimport { dataMasking } from '../../utils/helper'\nimport { ARTICLE_FEEDBACK_DATA } from '../../utils/prop-type-shape'\nimport ArticleFeedbackReason from '../article-feedback-reason'\nimport './article-feedback.less'\n\nconst { YES, NO } = {\n YES: 'Y',\n NO: 'N',\n}\n\nconst HCAR_MAPPINGS = {\n Y: 'Y',\n toomuchinfo: 'N1',\n notenoughinfo: 'N2',\n lookingfor: 'N3',\n incorrect: 'N4',\n dontlike: 'N5',\n other: 'N99',\n}\n\nfunction ArticleFeedback({ articleId, helpComponentIds }) {\n const [isFbCaptured, setIsFbCaptured] = useState(false)\n const [isReasonRequired, setIsReasonRequired] = useState(false)\n const { trackClick } = useTracking()\n\n const closeFbReasonForm = useCallback(() => {\n setIsReasonRequired(false)\n }, [setIsReasonRequired])\n\n useEffect(() => {\n if (isReasonRequired) {\n document.addEventListener('click', closeFbReasonForm)\n } else {\n document.removeEventListener('click', closeFbReasonForm)\n }\n }, [isReasonRequired, closeFbReasonForm])\n\n const captureFeedback = (reason, reasonDesc) => {\n setIsFbCaptured(true)\n setIsReasonRequired(false)\n const hcar = HCAR_MAPPINGS[reason]\n let hcaf = `${articleId}|${hcar}`\n if (reasonDesc) {\n hcaf += `|${dataMasking(reasonDesc)}`\n }\n trackClick({\n name: componentNames.ARTICLE_FEEDBACK,\n type: fptiTypes.ON_CLICK,\n hcar,\n hcaf,\n help_doc_id: articleId,\n help_component_ids: helpComponentIds,\n link: `${componentNames.ARTICLE_FEEDBACK}|${articleId}|feedback`,\n })\n }\n\n const fbAnswerHandler = (event, answer) => {\n event.stopPropagation()\n if (answer === NO) {\n setIsReasonRequired(true)\n return\n }\n captureFeedback(answer)\n }\n\n const renderFbSection = () => {\n if (!isFbCaptured) {\n return (\n <>\n \n \n \n \n \n \n fbAnswerHandler(e, YES)}\n fullWidthOnMobile={false}\n secondary\n >\n \n \n fbAnswerHandler(e, NO)}\n secondary\n >\n \n \n \n \n )\n }\n\n return null\n }\n\n const renderReasonCaptureBlock = () => {\n if (!isFbCaptured && isReasonRequired) {\n return (\n \n e.stopPropagation()}\n >\n \n
    \n \n )\n }\n return null\n }\n\n const renderFbRecieved = () => {\n if (isFbCaptured) {\n return (\n \n \n \n \n \n )\n }\n\n return null\n }\n\n return (\n \n {renderFbRecieved()}\n {renderFbSection()}\n {renderReasonCaptureBlock()}\n \n )\n}\n\nArticleFeedback.propTypes = ARTICLE_FEEDBACK_DATA\n\nexport default ArticleFeedback\n","import { Link } from '@paypalcorp/pp-react'\nimport React, { useEffect } from 'react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport { ARTICLE_LINKS_DATA } from '../../utils/prop-type-shape'\nimport { getTitleForArticleUrl } from '../../utils/helper'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\n\n// Hooks\nimport useTracking from '../../hooks/useTracking'\nimport { useHelper } from '../../hooks/useHelper'\n\n// styles\nimport './article-links.less'\n\nconst linkTargetMappings = {\n [componentNames.COMMUNITY_POSTS]: '_blank',\n}\n\n// Note: If you need to implement any custom logic for any of the sections using this component, please clone it.\n// Ref: https://github.paypal.com/Customer-Support-R/helpcenternodeweb/pull/35#discussion_r4273361\nfunction ArticleLinks({ articleId, articlesData, componentName }) {\n const { trackActivity, trackClick } = useTracking()\n const { generateLinkWithCoBrand } = useHelper()\n\n // Component onmount\n useEffect(() => {\n trackActivity({\n name: componentName,\n type: fptiTypes.SUCCESS,\n })\n }, [componentName, trackActivity])\n\n // article link onclick handler\n const articleOnClickHandler = (e, url, articleData) => {\n e.preventDefault()\n\n // FPTI\n const fptiOptions = {\n name: componentName,\n type: fptiTypes.ON_CLICK,\n help_doc_id: articleId,\n link: `${componentName}|${articleId}|${articleData.articleId}|clicked|${url}`,\n }\n trackClick(fptiOptions)\n window.open(url, linkTargetMappings[componentName] || '_self')\n }\n\n const isArticleLinksExist = () =>\n articlesData && Array.isArray(articlesData) && articlesData.length\n\n const renderLinkTitle = (articleTitle, views) => {\n if (componentName === componentNames.COMMUNITY_POSTS) {\n return (\n \n )\n }\n return articleTitle\n }\n const renderArticleLinks = () => {\n if (isArticleLinksExist()) {\n return articlesData.map((articleData) => {\n const formattedTitle = () =>\n getTitleForArticleUrl(articleData.articleTitle, articleData.articleId)\n const url =\n articleData.link ||\n generateLinkWithCoBrand(`/cshelp/article/${formattedTitle()}`)\n\n return (\n
    \n articleOnClickHandler(e, url, articleData)}\n >\n {renderLinkTitle(articleData.articleTitle, articleData.views)}\n \n
    \n )\n })\n }\n return null\n }\n return <>{renderArticleLinks()}\n}\n\nArticleLinks.propTypes = ARTICLE_LINKS_DATA\n\nexport default ArticleLinks\n","import React, { useEffect, useState } from 'react'\nimport { Icon, Link } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport { BREADCRUMBS_DATA } from '../../utils/prop-type-shape'\nimport { componentNames, fptiTypes } from '../../utils/analytics/fpti-constants'\n\n//styles\nimport './breadcrumbs.less'\n\n// Hooks\nimport useTracking from '../../hooks/useTracking'\nimport { useHelper } from '../../hooks/useHelper'\n\nfunction Breadcrumbs({ breadCrumbTitle, breadCrumbPath }) {\n const [topicTitle, setTopicTitle] = useState(null)\n const [articleTitle, setArticleTitle] = useState(null)\n const [topicPath, setTopicPath] = useState(null)\n const { trackClick } = useTracking()\n\n //Hooks\n const { generateLinkWithCoBrand } = useHelper()\n\n useEffect(() => {\n if (breadCrumbTitle && breadCrumbPath) {\n const [currentTopicTitle, currentArticleTitle] =\n breadCrumbTitle.split('/')\n const [currentTopicPath] = breadCrumbPath.split('/')\n setTopicTitle(currentTopicTitle)\n setArticleTitle(currentArticleTitle)\n setTopicPath(currentTopicPath)\n }\n }, [breadCrumbTitle, breadCrumbPath])\n\n const isTopicLinkExist = () => topicPath && topicTitle\n\n const onClickHandler = (e, topic) => {\n e.stopPropagation()\n trackClick({\n name: componentNames.BREADCRUMB,\n type: fptiTypes.ON_CLICK,\n link: `breadcrumb|${topic}|clicked`,\n })\n }\n\n const renderTopicLink = () => {\n if (isTopicLinkExist()) {\n return (\n <>\n \n onClickHandler(e, topicPath)}\n >\n {topicTitle}\n \n \n )\n }\n return null\n }\n\n const renderArticleLink = () => {\n if (isTopicLinkExist() && articleTitle) {\n return (\n <>\n \n onClickHandler(e, topicPath)}\n >\n {articleTitle}\n \n \n )\n }\n return null\n }\n\n return (\n \n \n \n \n {renderTopicLink()}\n {renderArticleLink()}\n \n )\n}\n\nBreadcrumbs.propTypes = BREADCRUMBS_DATA\n\nexport default Breadcrumbs\n","import React from 'react'\nimport { HeadingText } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\n\nimport './error-views.less'\n\nfunction ArticleContentError() {\n return (\n
    \n
    \n \n \n \n
    \n
    \n \n {innerMessage}}\n />\n \n
    \n
    \n )\n}\n\nexport default ArticleContentError\n","import React, { lazy, Suspense, useEffect, useState } from 'react'\nimport { INTENT_CHATBOT_CONTAINER_DATA } from '../../utils/prop-type-shape'\n\nimport { FAQ } from '../../constants'\nimport { CHECK_BOT_ELIGIBILITY_URL } from '../../constants/api'\n\nimport { getAPI } from '../../utils/api'\nimport ShimmerLoader from '../loaders/shimmerLoader'\n\nconst IntentChatBotPrompt = lazy(() => import('../intent-chatbot-prompt'))\n\nconst IntentChatBotContainer = (props) => {\n const [chatEligibilityData, setChatEligibilityData] = useState({\n isLoading: false,\n })\n\n const { config, articleId, articleTitle } = props\n\n const callCheckBotEligibityAPI = async () => {\n setChatEligibilityData({ isLoading: true })\n try {\n const queryParams = {\n page: articleId,\n intentId: config.intentId,\n intentType: FAQ,\n }\n const { data } = await getAPI(CHECK_BOT_ELIGIBILITY_URL, { queryParams })\n setChatEligibilityData({\n ...data,\n displayChatPrompt: data && data.result === 'ELIGIBLE',\n isLoading: false,\n })\n } catch (error) {\n setChatEligibilityData({ isLoading: false, displayChatPrompt: false })\n }\n }\n\n useEffect(() => {\n if (config && config.isEnabled) {\n callCheckBotEligibityAPI()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const renderChatPrompt = () => {\n if (!config || !config.isEnabled) {\n return null\n }\n if (chatEligibilityData.isLoading) {\n return \n }\n if (chatEligibilityData && chatEligibilityData.displayChatPrompt) {\n return (\n }>\n \n \n )\n }\n return null\n }\n return renderChatPrompt()\n}\n\nIntentChatBotContainer.propTypes = INTENT_CHATBOT_CONTAINER_DATA\n\nexport default IntentChatBotContainer\n","import { Col, Container, HeadingText, Row } from '@paypalcorp/pp-react'\nimport { Message } from '@paypalcorp/worldready-react'\nimport _get from 'lodash/get'\nimport React, { Suspense, useEffect } from 'react'\nimport ShimmerLoader from '../../components/loaders/shimmerLoader'\nimport { useAppContext } from '../../contexts/app-context'\nimport useTracking from '../../hooks/useTracking'\nimport ErrorBoundary from '../../shared/ErrorBoundary'\nimport {\n componentNames,\n COMPONENT_NAME,\n fptiTypes,\n FPTI_PREFIX,\n ARTICLE_INTENTS_NO_DATA_EVENT,\n} from '../../utils/analytics/fpti-constants'\n\n// UI Components\nimport { ArticleContentTabs } from '../../components/article-content-tabs'\nimport ArticleFeedback from '../../components/article-feedback'\nimport ArticleLinks from '../../components/article-links'\nimport Breadcrumbs from '../../components/breadcrumbs'\nimport ArticleContentError from '../../components/error-views/article-content-error'\nimport HeroModule from '../../components/hero-module'\nimport MoreWaysOfHelp from '../../components/more-ways-of-help'\nimport TabSwitcher from '../../components/tab-switcher'\nimport TopicTree from '../../components/topic-tree'\nimport { useMessage } from '../../hooks/useMessage'\n\nimport IntentChatBotContainer from '../../components/intent-chatbot-container'\nimport '../../styles/pages/article.less'\nimport { postAPI } from '../../utils/api'\nimport { OCP_SET_CONTEXT_URL } from '../../constants/api'\n\nconst Alerts = React.lazy(() =>\n import('../../components/alerts' /* webpackPrefetch: true */),\n)\n\nconst RefundTracker = React.lazy(() =>\n import('../../components/refund-tracker' /* webpackPrefetch: true */),\n)\n\nconst DisputeTracker = React.lazy(() =>\n import('../../components/dispute-tracker' /* webpackPrefetch: true */),\n)\n\nconst Survey = React.lazy(() =>\n import('../../components/survey' /* webpackPrefetch: true */),\n)\n\nconst CurrencyConverter = React.lazy(() =>\n import(\n '@paypalcorp/helpcomponents-currency-conv' /* webpackPrefetch: true */\n ).then((module) => {\n return { default: module.HcCurrencyConv }\n }),\n)\n\n/* \n Article page - This is the page/container for article view which will have the\n layout and components placement\n*/\nfunction Article() {\n const { trackActivity, fptiTypeByStatusCode } = useTracking()\n const { getMessage } = useMessage()\n const appCtx = useAppContext()\n\n const {\n pageProps,\n reqContextData: { exp, isLoggedIn },\n } = appCtx\n const { apiData, pageName, articleId, configs } = pageProps\n const { article, topicTree, helpChannels, communityPosts } = apiData\n const {\n isDisputeTrackerEnabled,\n isRefundTrackerEnabled,\n intentChatBot: intentChatbotConfig,\n isCurrencyConverterEnabled,\n } = configs || {}\n\n const isArticleContentExist = () =>\n article &&\n article.articleContent &&\n (article.articleContent.personalContent ||\n article.articleContent.businessContent ||\n article.articleContent.articleContent)\n\n const isCommunityPostsExist = () =>\n Array.isArray(communityPosts) && communityPosts.length\n\n const isRelatedArticlesExist = () =>\n isArticleContentExist() &&\n Array.isArray(article.articleContent.relatedArticles) &&\n article.articleContent.relatedArticles.length\n\n const isTabSwitcherExist = () =>\n isRelatedArticlesExist() && isCommunityPostsExist()\n\n const setOCPContext = async () => {\n if (isArticleContentExist()) {\n const tags = article?.articleContent?.tags\n // extract predictions from tags if exist\n const predictions =\n Array.isArray(tags) && tags.length && tags[0].predictions\n if (Array.isArray(predictions) && predictions.length) {\n const intents = predictions.map(({ intent, score }) => ({\n customer_intent: intent,\n score,\n }))\n try {\n const body = {\n intents,\n articleId,\n }\n await postAPI(OCP_SET_CONTEXT_URL, { body })\n } catch (error) {\n // In case of failure ignore it\n }\n } else {\n // This FPTI will help to know which articles are missing the intent mappings.\n trackActivity({\n name: componentNames.ARTICLE_INTENTS,\n type: fptiTypes.NO_DATA,\n event_name: ARTICLE_INTENTS_NO_DATA_EVENT,\n help_doc_id: articleId,\n })\n }\n }\n }\n\n useEffect(() => {\n if (isLoggedIn) {\n setOCPContext()\n }\n }, [])\n\n // <----------------------- START OF RELATED TOPICS SECTION ----------------------->\n const renderRelatedTopics = () => {\n const renderArticleLinks = ({\n currentArticleId,\n articlesData,\n componentName,\n }) => {\n return (\n \n )\n }\n\n // Tab switcher\n const renderTabSwitcher = () => {\n if (isTabSwitcherExist()) {\n const relatedTopicsTabsInfo = [\n {\n id: 'hcRelatedArticles',\n label: getMessage('app.helpcenter.helpArticles'),\n tabProps: {\n articlesData: article.articleContent.relatedArticles,\n componentName: componentNames.RELATED_ARTICLES,\n currentArticleId: articleId,\n },\n },\n {\n id: 'hcArticleCommunityPosts',\n label: getMessage('app.helpcenter.communityPosts'),\n tabProps: {\n articlesData: communityPosts,\n componentName: componentNames.COMMUNITY_POSTS,\n currentArticleId: articleId,\n },\n },\n ]\n return (\n \n )\n }\n return null\n }\n\n const renderRelatedArticlesOrCommunityPosts = () => {\n if (!isTabSwitcherExist()) {\n if (isRelatedArticlesExist()) {\n const props = {\n articlesData: article.articleContent.relatedArticles,\n componentName: componentNames.RELATED_ARTICLES,\n currentArticleId: articleId,\n }\n return renderArticleLinks(props)\n }\n if (isCommunityPostsExist()) {\n const props = {\n articlesData: communityPosts,\n componentName: componentNames.COMMUNITY_POSTS,\n currentArticleId: articleId,\n }\n return renderArticleLinks(props)\n }\n }\n return null\n }\n\n if (isRelatedArticlesExist() || isCommunityPostsExist()) {\n return (\n <>\n \n \n \n {renderTabSwitcher()}\n {renderRelatedArticlesOrCommunityPosts()}\n \n )\n }\n\n trackActivity({\n name: componentNames.RELATED_ARTICLES,\n type: fptiTypes.NO_DATA,\n help_doc_id: articleId,\n })\n trackActivity({\n name: componentNames.COMMUNITY_POSTS,\n type: fptiTypes.NO_DATA,\n help_doc_id: articleId,\n })\n return null\n }\n\n // <----------------------- END OF RELATED TOPICS SECTION ----------------------->\n\n // ARTICLE FEEDBACK SECTION\n const renderArticleFeedback = () => {\n if (isArticleContentExist()) {\n const helpComponentIds = _get(\n article,\n 'articleContent.ecmComponentIds',\n '',\n )\n\n return (\n \n )\n }\n return null\n }\n\n // TOPIC TREE SECTION\n const renderTopicTree = () => {\n const { data, isError, statusCode } = topicTree\n\n if (!isError && Array.isArray(data) && data.length) {\n const breadcrumbPath = _get(\n article,\n 'articleContent.breadCrumbPath',\n null,\n )\n\n return \n }\n\n // FPTI Tracking\n const type = isError && fptiTypeByStatusCode(statusCode)\n trackActivity({\n name: componentNames.TOPIC_TREE,\n type,\n help_doc_id: articleId,\n })\n return null\n }\n\n // ARTICLE CONTENT SECTION\n const renderArticleContent = () => {\n if (isArticleContentExist()) {\n return (\n \n )\n }\n\n const { isError, statusCode } = article\n const type = isError && fptiTypeByStatusCode(statusCode)\n\n trackActivity({\n name: componentNames.ARTICLE_CONTENT,\n type,\n help_doc_id: articleId,\n })\n return \n }\n\n // BREADCRUMB SECTION\n const renderBreadCrumb = () => {\n if (\n isArticleContentExist() &&\n article.articleContent.breadCrumbPath &&\n article.articleContent.breadCrumbTitle\n ) {\n const { breadCrumbPath, breadCrumbTitle } = article.articleContent\n return (\n \n )\n }\n return null\n }\n\n // MORE WAYS OF HELP SECTION\n const renderMoreWaysOfHelp = () => {\n const { data, isError, statusCode } = helpChannels\n if (!isError && Array.isArray(data) && data.length) {\n return \n }\n\n const type = isError && fptiTypeByStatusCode(statusCode)\n trackActivity({\n name: componentNames.MORE_WAYS_OF_HELP,\n type,\n help_doc_id: articleId,\n })\n\n return null\n }\n\n // CURRENCY CONVERTER\n const renderCurrencyConverter = () => {\n if (isCurrencyConverterEnabled) {\n return (\n }>\n \n \n )\n }\n return null\n }\n\n const renderDisputeTracker = () => {\n if (!isDisputeTrackerEnabled) return null\n\n return (\n \n }>\n \n \n \n )\n }\n\n const renderRefundTracker = () => {\n if (!isRefundTrackerEnabled) return null\n\n return (\n <>\n }>\n \n \n \n )\n }\n\n const renderIntentChatbot = () => {\n if (intentChatbotConfig && articleId && isArticleContentExist()) {\n const { articleContent } = article\n return (\n \n \n \n )\n }\n return null\n }\n\n return (\n <>\n \n \n }>\n \n \n \n \n\n \n\n {/* <--------- TRACKER SECTION - all the trackers (refund, dispute) or external components goes here ------------>*/}\n \n {renderDisputeTracker()}\n {renderRefundTracker()}\n \n {/* <------------------- END OF TRACKER SECTION -----------------> */}\n\n \n \n {renderBreadCrumb()}\n \n\n \n \n {renderTopicTree()}\n \n\n \n {/* We are wrapping error boundaries with individual widgets/components to protect crashing the rest of the application */}\n \n {renderArticleContent()}\n \n\n {renderCurrencyConverter()}\n {renderArticleFeedback()}\n {renderIntentChatbot()}\n {renderRelatedTopics()}\n \n \n\n {renderMoreWaysOfHelp()}\n \n }>\n \n \n \n \n \n )\n}\n\nexport default Article\n","import axios from 'axios'\nimport _get from 'lodash/get'\nimport serverData from '../utils/server-data'\n\n// TODO: remove all direct axios uses inside components and replace with fetch call\n\n// GET csrf token from server data\nconst getCSRFToken = () => {\n return _get(serverData, '_csrf', '')\n}\n\n// attach query params in url\nconst attachQueryParams = (url, queryParams = {}) => {\n url += '?'\n for (const param in queryParams) {\n url += `${encodeURIComponent(param)}=${encodeURIComponent(\n queryParams[param],\n )}&`\n }\n url = url.slice(0, -1)\n return url\n}\n\n/**\n * call this for any GET API call invocation from UI\n * @param { string } url\n * @param { object } query params\n * @returns { Promise } API response\n */\nexport const getAPI = (url, options = {}) => {\n const { queryParams = {} } = options\n url = attachQueryParams(url, queryParams)\n return axios.get(`/cshelp${url}`)\n}\n\n/**\n * call this for any POST API call invocation from UI\n * @param { string } url\n * @param { object } request body and query params\n * @returns { Promise } API response\n */\nexport const postAPI = (url, options = { body: {}, queryParams: {} }) => {\n const { body = {}, queryParams = {} } = options\n url = attachQueryParams(url, queryParams)\n return axios.post(`/cshelp${url}`, { ...body, _csrf: getCSRFToken() })\n}\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","searchBar","SearchBarComponent","React","HeroModule","useHelper","isLoggedIn","getDisplayName","generateLinkWithCoBrand","getPageName","getUserUiExp","getHomePathByExperience","trackActivity","useTracking","getMessage","useMessage","useState","isSearchReady","setIsSearchReady","HERO_MODULE_VERSIONS","useEffect","name","componentNames","type","fptiTypes","userExperienceLabel","useMemo","PERSONAL","BUSINESS","TECHNICAL","experiencePath","DESIGN_VERSION","className","md","lg","xxl","href","strong","as","greeting","id","size","Suspense","fallback","propTypes","HERO_MODULE_DATA","TopicTree","breadCrumbPath","topicTreeData","selectedTopic","setSelectedTopic","trackClick","pageName","useAppContext","pageProps","split","onClickHandler","e","topic","stopPropagation","link","topicId","onClick","secondary","map","topicName","TOPIC_TREE_COMPLETE_DATA","CHECK_BOT_ELIGIBILITY_URL","MMT_CONVERSATIONS_URL","OCP_SET_CONTEXT_URL","UPDATE_BNA_URL","ArticleContent","props","articleContent","articleId","exp","articleContentRef","useRef","ecmComponentIds","helpDocId","ecmDocId","helpComponentIds","trackVideoPlayEvents","videoSrc","articleContentExp","help_doc_id","help_component_ids","event_name","trackVideoPauseEvents","addFPTIsForVideoPlayPause","videoElement","addEventListener","setTimeout","contentLinks","current","querySelectorAll","from","forEach","clickTarget","target","getAttribute","preventDefault","handleClickOnLinks","imageTags","getElementsByTagName","slice","tag","divEl","document","createElement","setAttribute","src","style","height","maxWidth","width","alt","parentNode","replaceChild","iframeTags","onScriptLoad","ytVideos","videoEl","replace","startsWith","PAYPAL_OBJECTS_BASE_URL","srcdoc","getArticleVideoIframeSrcDoc","onload","iFrameDocument","contentDocument","video","window","YT","Player","events","onStateChange","event","data","PlayerState","PLAYING","PAUSED","onPlayerStateChange","onReady","loadYTIframeScript","onYouTubeIframeAPIReady","videoTags","currentSrc","articleTitle","dangerouslySetInnerHTML","__html","ref","ARTICLE_CONTENT_DATA","TabSwitcher","tabsProps","tabsInfo","renderTabContent","selectedTabIdx","setSelectedTabIdx","tab","panelId","label","_","tabIndex","tabProps","componentName","tabs","tabClassName","tabId","TAB_SWITCHER_DATA","ArticleContentTabs","accountType","personalContent","businessContent","aContent","renderArticleContent","content","MERCHANT","reverse","ARTICLE_CONTENT_TABS_DATA","formMetaData","ArticleFeedbackReason","reasons","onSubmit","selectedReason","setSelectedReason","reasonDesc","setReasonDesc","reasonSubmitHandler","reason","reasonClickHandler","role","inputClassName","onChange","value","maxCharacters","rows","showCharacterCounter","maxLength","placeholder","fullWidthOnMobile","renderReasonDescriptionForm","ARTICLE_FEEDBACK_REASON_DATA","HCAR_MAPPINGS","Y","toomuchinfo","notenoughinfo","lookingfor","incorrect","dontlike","other","ArticleFeedback","isFbCaptured","setIsFbCaptured","isReasonRequired","setIsReasonRequired","closeFbReasonForm","useCallback","removeEventListener","captureFeedback","hcar","hcaf","dataMasking","fbAnswerHandler","answer","xs","sm","ARTICLE_FEEDBACK_DATA","linkTargetMappings","ArticleLinks","articlesData","articleData","views","url","getTitleForArticleUrl","fptiOptions","open","articleOnClickHandler","title","ARTICLE_LINKS_DATA","Breadcrumbs","breadCrumbTitle","topicTitle","setTopicTitle","setArticleTitle","topicPath","setTopicPath","currentTopicTitle","currentArticleTitle","currentTopicPath","isTopicLinkExist","BREADCRUMBS_DATA","innerMessage","IntentChatBotPrompt","lazy","IntentChatBotContainer","isLoading","chatEligibilityData","setChatEligibilityData","config","callCheckBotEligibityAPI","queryParams","page","intentId","intentType","FAQ","getAPI","displayChatPrompt","result","isEnabled","INTENT_CHATBOT_CONTAINER_DATA","Alerts","RefundTracker","DisputeTracker","Survey","CurrencyConverter","then","HcCurrencyConv","renderArticleLinks","fptiTypeByStatusCode","appCtx","reqContextData","apiData","configs","article","topicTree","helpChannels","communityPosts","isDisputeTrackerEnabled","isRefundTrackerEnabled","intentChatbotConfig","intentChatBot","isCurrencyConverterEnabled","isArticleContentExist","isCommunityPostsExist","isRelatedArticlesExist","relatedArticles","isTabSwitcherExist","setOCPContext","tags","predictions","intents","customer_intent","intent","score","body","postAPI","ARTICLE_INTENTS_NO_DATA_EVENT","isTrackerEnabled","display","span","isError","statusCode","breadcrumbPath","_get","ErrorBoundary","COMPONENT_NAME","FPTI_PREFIX","pgrp","spinnerType","currentArticleId","relatedTopicsTabsInfo","renderTabSwitcher","renderRelatedArticlesOrCommunityPosts","attachQueryParams","param","encodeURIComponent","axios","options","_csrf","serverData"],"sourceRoot":""}