{"version":3,"sources":["webpack:///./src/features/transfers/new.transfer/components/HeaderV2/Container.ts","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/index.ts","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/PrimaryNavigation.tsx","webpack:///./src/constants/faqsLinks.js","webpack:///./src/features/transfers/new.transfer/components/OnlineKyc/reducer.ts","webpack:///./src/features/transfers/new.transfer/components/OnlineKyc/components/NewTransferButton/Container.ts","webpack:///./src/features/transfers/new.transfer/components/OnlineKyc/components/NewTransferButton/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/AethosMessageModal/index.ts","webpack:///./src/features/transfers/new.transfer/components/AethosMessageModal/Container.tsx","webpack:///./src/features/transfers/new.transfer/components/AethosMessageModal/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/NewTransferOptIn/NewTransferOptInModalContainer.ts","webpack:///./src/features/transfers/new.transfer/components/NewTransferOptIn/NewTransferOptInModal.tsx","webpack:///./src/assets/illustrations/NewFeature.tsx","webpack:///./src/features/transfers/new.transfer/components/NewTransferOptIn/NewTransferAutoOptIn.tsx","webpack:///./src/features/transfers/new.transfer/components/VerificationModal/index.ts","webpack:///./src/features/transfers/new.transfer/components/VerificationModal/Container.tsx","webpack:///./src/features/transfers/new.transfer/components/VerificationModal/Component.tsx","webpack:///./src/constants/partners.js","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/SecondaryNavigation.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/IconMenu.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/AccountDetails.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/Activity/index.ts","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/Activity/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/Activity/OnlineKYCMessage.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/Activity/EmptyActivity.tsx","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/MobileMenu.tsx","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/Container.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/ReviewMobileNumber/index.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/ReviewMobileNumber/Container.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/ReviewMobileNumber/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/MobileNumberUpdateForm/index.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/MobileNumberUpdateForm/Container.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/MobileNumberUpdateForm/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/Fields/PhoneNumberField.tsx","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/MobileNumberUpdateForm/actions.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/reducer.ts","webpack:///./src/features/transfers/new.transfer/components/Brexit/index.ts","webpack:///./src/features/transfers/new.transfer/components/Brexit/Container.tsx","webpack:///./src/features/transfers/new.transfer/components/Brexit/Component.tsx","webpack:///./src/features/transfers/new.transfer/components/HolidayMessageModal/index.ts","webpack:///./src/features/transfers/new.transfer/components/HolidayMessageModal/HolidayMessageModalContainer.ts","webpack:///./src/features/transfers/new.transfer/components/HolidayMessageModal/HolidayMessageModal.tsx","webpack:///./src/features/transfers/new.transfer/components/UpdateBrowserModal/index.ts","webpack:///./src/features/transfers/new.transfer/components/UpdateBrowserModal/UpdateBrowserModalContainer.tsx","webpack:///./src/features/transfers/new.transfer/components/UpdateBrowserModal/UpdateBrowserModal.tsx","webpack:///./src/features/transfers/new.transfer/components/UpdateBrowserModal/constants.ts","webpack:///./src/features/transfers/new.transfer/components/UpdateBrowserModal/UpdateBrowserColumn.tsx","webpack:///./src/features/transfers/new.transfer/components/VerifyByQRCodeModal/VerifyByQRCodeModalContainer.ts","webpack:///./src/features/transfers/new.transfer/components/VerifyByQRCodeModal/VerifyByQRCodeModal.tsx","webpack:///./node_modules/react-qr-code/lib/index.js","webpack:///./node_modules/react-qr-code/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/react-qr-code/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/qr.js/lib/QRCode.js","webpack:///./node_modules/qr.js/lib/8BitByte.js","webpack:///./node_modules/qr.js/lib/RSBlock.js","webpack:///./node_modules/qr.js/lib/BitBuffer.js","webpack:///./node_modules/qr.js/lib/util.js","webpack:///./node_modules/react-qr-code/lib/QRCodeSvg/index.js","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/reducer.ts","webpack:///./src/features/transfers/new.transfer/routes/Dashboard/components/Banner/Onboarding/constants.ts","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/index.ts","webpack:///./src/components/WebSocketHandler/WebSocketEvents/ComplianceEvents.ts","webpack:///./src/features/transfers/new.transfer/components/OnlineKyc/index.ts","webpack:///./src/features/transfers/new.transfer/routes/Dashboard/components/Banner/ConsumerOnboarding/constants.ts","webpack:///./src/features/transfers/new.transfer/helpers/newTransferOptInHelpers.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/index.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/constants.ts","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/components/navigation/menuConfig.ts","webpack:///./src/features/transfers/new.transfer/helpers/renderCustomerSupportNumber.tsx","webpack:///./src/constants/entityTypesHelper.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/components/MobileNumberUpdateForm/constants.ts","webpack:///./src/features/transfers/new.transfer/routes/Dashboard/components/Banner/Onboarding/actions.ts","webpack:///./src/features/transfers/new.transfer/routes/Dashboard/components/Banner/ConsumerOnboarding/actions.ts","webpack:///./src/components/QuoteCalculator/reducers.js","webpack:///./src/features/transfers/new.transfer/routes/Dashboard/constants/index.ts","webpack:///./src/features/transfers/new.transfer/components/OnlineKyc/components/NewTransferButton/index.ts","webpack:///./src/features/transfers/new.transfer/components/OnlineKyc/components/NewTransferButton/types.ts","webpack:///./src/features/transfers/new.transfer/components/NewTransferOptIn/index.ts","webpack:///./src/features/transfers/new.transfer/components/MFA/MfaNotice/actions.ts","webpack:///./src/libs/errorCodes.ts","webpack:///./src/features/transfers/new.transfer/components/HeaderV2/helpers/complianceCheck.ts","webpack:///./node_modules/react-qr-code/node_modules/prop-types/index.js","webpack:///./node_modules/qr.js/lib/ErrorCorrectLevel.js","webpack:///./node_modules/qr.js/lib/mode.js","webpack:///./node_modules/qr.js/lib/Polynomial.js","webpack:///./node_modules/qr.js/lib/math.js","webpack:///./src/libs/getCorpUserIsOnfidoComplete.ts"],"names":["actions","openModal","connect","state","headerPartition","PARTITION","secureUserInfo","get","gcaUrl","Contacts","User","accountDetails","email","identificationId","businessName","personName","username","isOnfidoComplete","getIn","isOnfidoCompleteFetched","hasToDoOnfido","isUserVerified","pendingVerification","clearToDeal","isPassfortMigrated","partnershipState","leuwinObjVal","config","leuwinFlowDetails","find","x","y","partnerAppId","PartnerAppId","beneSelfManagement","BeneSelfManagement","consumerOnboardingStatus","onboardingStatus","OnlineSalesKycStatus","isAddContactHistorySucceed","verifySecurityInfo","dispatch","bindActionCreators","props","getCanShowUpdateBrowser","browserName","getBrowserName","browserVersion","getBrowserVersionInt","openCovidMessage","legalEntity","ofxUserInfo","isoLegalEntity","AU","window","open","toLowerCase","openTandCsMessage","openAltMfaGuide","openBrexit","BrexitModal","openHolidayMessage","modalTitle","modalBodyHtml","modalButtonText","HolidayMessageModal","title","bodyHtml","buttonText","openKycModal","onlineKycFlow","OnlineKycFlowEnum","BANNER_NOTIFICATION","openMfaNoticeModal","MfaNotice","openBrowserVersion","toggleMobileMenu","setState","isMobileNavOpen","document","documentElement","classList","toggle","toggleBanner","showBanner","value","updateUser","country","custom","legalEntityIsoCode","componentDidMount","this","fetchAppInitData","componentDidUpdate","prevProps","flags","Country","undefined","enableCorporateOnboardingFrontEnd","isEnabledFeatureFlag","prevEnableCorporateOnboardingFrontEnd","prevFlags","corEnabled","onfidoReleaseDates","isCorEnabled","checkOnfidoJourney","isEnableComplianceModeByCountry","enableComplianceModeByCountry","complianceCheckHelper","fetchConsumerComplianceCheck","Result","OnlineSalesKycStatusEnum","Expired","fetchCompleteUserInfo","isPersonal","businessType","INDIVIDUAL","fetchUserVerificationStatus","Id","onfidoEnabledCountries","indexOf","Brand","fetchOnfidoComplianceStatus","toastCreator","success","error","secureHolidayBanner","currentLocale","toUpperCase","holidayBanner","holidayBannerValue","modalBody","modalButton","dataLayer","push","event","userId","deviceId","Cookie","deviceType","isMobile","isTablet","enableMobileDeviceVerification","HAS_VERIFIED_MOBILE_DEVICE","renderBannerNotification","canShowCovidMessage","canShowBrexit","canShowHolidayMessage","canShowOnlineKYC","canShowMfaNotice","canShowUpdateBrowser","canShowNewTNCsBanner","canShowMfaAtLoginBanner","BannerNotificationWarning","message","actionName","onClick","testClassName","triggerOnClickActionOnMount","flagValue","en","summaryText","summaryButton","BannerNotification","action","isLegalBanner","message2","customStyle","outerDiv","innerDiv","isAnnouncementBanner","render","recipientOnly","covid19BannerEnabled","brexitBannerEnabled","enableUpdatedTNCBanner","Object","keys","length","secureMfaAtLoginBanner","mfaNoticeEnabled","storage","getUser","isDoneWithMFANotice","isSpotlightPartner","PARTNER_COOKIE","SPOTLIGHT_PARTNER_ID","isAvaskPartner","AVASK_PARTNER_ID","logoClassName","classNames","onClose","PrimaryNavigation","className","role","Link","SPOTLIGHT_LOGO_TITLE","AVASK_LOGO_TITLE","to","id","NewTransferButton","btnGtmClass","NewTransferBtnGtmClassEnum","NAV","SecondaryNavigation","hasPendingActivity","href","target","rel","name","stroke","displayName","React","Component","FeatureFlagsDecorator","default","primaryNav","primaryNavForBSM","navList","map","itemList","key","localisationKey","openInNewTab","route","uiaClassName","iconClassName","CA","GB","HK","NZ","SG","US","IE","initState","OnlineKycStepEnum","KYC_DETAILS","reducer","handleActions","actionTypes","UPDATE_ONLINE_KYC_STEP","setIn","payload","Map","closeModal","checkIfRecipientExists","NewTransferButtonContainer","withRouter","userVerificationStatus","userSalesKycStatus","numberOfDeals","currencyPreferences","buttonConfig","btnStyleClass","localisationToken","DASHBOARD_BANNER","DASHBOARD_QUOTE","SPOT_PATH","transfers","basePath","subPaths","spot","NEW_TRANSFER_BUTTON","openNewTransferOptInModal","history","NewTransferOptInModal","openVerificationModal","openAethosModal","AethosMessageModal","navigateToNewTransfer","location","newTransferUrl","useNewTransfer","isAethosEnabled","enableAethos","isUserOptedInToNewTransfer","isComingFromAethos","PARTNERS","AETHOS","currencyCodes","AUD","shouldShowVerificationModal","SocialSecurityNumberRequired","pathname","body","locale","Fragment","renderCustomerSupportNumberLink","footer","onCloseHandler","type","formatCustomerSupportNumber","headerTitle","handleClose","errors","onSubmitHandler","setUserAsManuallyOptedInToNewTransfer","analytics","getGtmTrackingId","gtmElementType","button","analyticsEventCategory","newTransfer","width","viewBox","fill","xmlns","clipPath","d","fillRule","clipRule","filter","height","rx","maskUnits","mask","cx","cy","r","strokeWidth","filterUnits","colorInterpolationFilters","floodOpacity","result","in","values","dy","stdDeviation","mode","in2","gradientUnits","gradientTransform","stopColor","offset","stopOpacity","autoOptInToNewTransferDate","useEffect","autoOptInUserToNewTransferCheck","user","entityType","ccaBackendStatus","userBrand","brand","status","DOC_UPLOADED_FLAG","content","paragraph1","paragraph2","EntityTypes","ccaComplete","CCA_BACKEND_STATE","ONLINE_CCA_COMPLETE","ONFIDO_JOURNEY_URL","heliosBaseUrl","DEFAULT_SECONDARY_NAV_STATES","activityIsOpen","accountIsOpen","togglePageOverflow","shouldHideOverflow","htmlRootTag","add","remove","toggleSubNavDropdown","itemClassName","iconsClassNames","activity","secondaryNavStatus","account","getIconMenuProps","item","baseProps","buttonLabel","handleOnClick","dropDownContent","hasNotification","isDropdownOpen","arrowPosition","prevState","IconMenu","tabIndex","AccountDetails","isOktaSecureEnable","oktaSecureEnable","userAccount","routes","logout","iconName","singleLogoutPath","openReviewDetailsModal","children","updateMfaNoticeStep","Container","mfaNoticeStep","securityVerificationStatus","MfaNoticeStepEnum","MOBILE_PHONE_UPDATE_FORM","Valid","SECURITY_QUESTIONS","mobileNumber","TelephoneNumbers","telephoneNumber","Type","DEFAULT_CONTENT","ReviewMobileNumber","confirmMobileNumber","setUser","SecurityQuestions","NOTICE_REVIEW","onSuccessHandler","MobileNumberUpdateForm","ReviewMobileNumberContainer","header","i18n","formatPhoneNumber","mapStateToProps","contacts","initMobileNumber","getPhoneNumberByType","phoneNumberTypes","Mobile","homeAddress","findAddressByType","addressTypes","Home","submitErrors","getFormSubmitErrors","FORM_NAME","securityQuestionsVerificationResults","initialValues","isEmailInvalidOnSubmit","_code","ErrorCodes","USUpdateUserContacts0007","Form","reduxForm","form","onSubmit","formData","updateMobileNumber","onSubmitSuccess","fetchUserContacts","MobileNumberUpdateFormContainer","errorMsg","emailErrorMsg","textToken","handleSubmit","noValidate","label","defaultCountry","numberType","NumberTypeEnum","MOBILE","validationErrorMsg","typeErrorMsg","token","autoScrollToModalContent","submit","validationRules","validation","required","isValidPhoneNumber","isPhoneType","componentType","validate","normalise","focusSelectFlag","UPDATE_MOBILE_NUMBER","ACTION_NAMESPACE","createAction","mobilePhoneUpdateFormData","getPhoneNumber","SubmissionError","show","userContactPayload","Number","Email","UserApi","updateUserContacts","catch","response","ensureAuthorised","scrollToFirstError","inModalErrorClassName","handleServerError","initialState","UPDATE_MFA_NOTICE_STEP","dangerouslySetInnerHTML","__html","UpdateBrowserColumnPropsDict","browserTypes","chrome","svgClassName","organizationName","url","CHROME_URL","edge","EDGE_URL","firefox","FIREFOX_URL","safari","SAFARI_URL","getSuggestedBrowsers","getOSName","WINDOWS","MAC","UpdateBrowserModal","importantInfos","set","expires","domain","defineProperty","exports","QRCode","_extends","assign","i","arguments","source","prototype","hasOwnProperty","call","_propTypes2","_interopRequireDefault","_ErrorCorrectLevel2","_QRCode2","_react","_react2","_QRCodeSvg2","obj","__esModule","propTypes","bgColor","oneOfType","object","string","fgColor","level","size","number","isRequired","forwardRef","_ref","ref","_ref$bgColor","_ref$fgColor","_ref$level","_ref$size","_objectWithoutProperties","qrcode","addData","make","cells","modules","createElement","bgD","row","rowIndex","cell","cellIndex","join","fgD","viewBoxSize","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","shim","propName","componentName","propFullName","secret","err","Error","getShim","ReactPropTypes","array","bigint","bool","func","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","shape","exact","checkPropTypes","PropTypes","BitByte","RSBlock","BitBuffer","util","Polynomial","typeNumber","errorCorrectLevel","moduleCount","dataCache","dataList","proto","data","newData","isDark","col","getModuleCount","rsBlocks","getRSBlocks","buffer","totalDataCount","dataCount","put","getLength","getLengthInBits","write","makeImpl","getBestMaskPattern","test","maskPattern","Array","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","c","minLostPoint","pattern","lostPoint","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","beginFill","moveTo","lineTo","endFill","pos","getPatternPosition","j","bits","getBCHTypeNumber","mod","Math","floor","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","max","rsPoly","getErrorCorrectPolynomial","modPoly","modIndex","totalCodeCount","index","QR8bitByte","MODE_8BIT_BYTE","charCodeAt","ECL","QRRSBlock","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","count","L","M","Q","H","QRBitBuffer","bufIndex","num","bit","Mode","math","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","a","multiply","gexp","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","qrCode","sameCount","darkCount","abs","QRCodeSvg","_ref$xmlns","FETCH_USER","FETCH_USER_DETAILS","FETCH_SECURE_USER_INFO","FETCH_USER_OCCUPATION","Occupation","FETCH_USER_ADDRESSES","FETCH_USER_CONTACT_DETAILS","FETCH_USER_VERIFICATION_STATUS","FETCH_ONLINE_SALES_KYC","ADD_CONTACT_HISTORY","Active","FETCH_USER_CURRENCY_PREFERENCES","transformPreferenceResult","FETCH_USER_DEALS","Deals","FETCH_PASSFORT_MIGRATION_STATUS","passfortMigrationStatus","PassfortMigrationStatus","FAILED","PARTITION_NAMESPACE","ONFIDO_VERIFICATION_START_URL_PATH","VERIFICATION_UPLOAD_URL_PATH","DOCUMENT_UPLOAD_URL","POA_DOCUMENT_UPLOAD_URL","onfidoDateCheck","entityTypeId","individual","corporate","IPartition","fetchPassfortMigrationStatus","Channels","PassfortWebhookEventTypes","CommonStatus","PoaStatus","ManualStatus","IComplianceCheckResultChangedTypes","ComplianceEventTypes","CTD_STATUS_PASSED","CTD_STATUS_FAILED","STATUS_PASSED","STATUS_FAILED","STATUS_ERROR","STATUS_INCOMPLETED","STATUS_IN_PROGRESS","STATUS_COMPLETED_PASS","STATUS_COMPLETED_FAIL","isUserManuallyOptedInToNewTransfer","isUserAutoOptedInToNewTransfer","isUserManuallyOptedIn","Date","enteredAt","getTime","recipients","rateAlerts","paymentAccounts","userIsoLegalEntity","getFaqsLink","userActivity","profileAndSettings","phoneNumber","replace","contactNumber","SOLE_TRADER","TRUST","PARTNERSHIP","ASSOCIATION_COOPERATIVE_CHARITY","GOVERNMENT_BODY","PRIVATE_COMPANY","PUBLIC_COMPANY","FETCH_ONFIDO_COMPLIANCE_STATUS","userName","getCorpUserIsOnfidoComplete","FETCH_CONSUMER_COMPLIANCE_CHECK","FETCH_SET_CONSUMER_COMPLIANCE_CHECK","createProfile","complianceEvent","getOnboardingStatus","getConsumerComplianceCheck","actionPrefix","partition","mapCurrencyPreferences","BuyCurrency","SellCurrency","BuyAmount","SellAmount","hasBuyEdit","DefaultAmount","Amount","Currency","FETCH_USER_SETTLEMENT_LIMIT_CURRENCIES","FETCH_TRADED_CURRENCIES","FETCH_CURRENCIES_START","FETCH_CURRENCIES_SUCCESS","FETCH_CURRENCIES_ERROR","UPDATE_USER_CURRENCY_PREFERENCES","fetchAllowedCurrenciesAction","getAllowedCurrencies","fetchTradedCurrenciesAction","QuoteApi","getCurrencies","fetchCurrenciesAction","types","sequence","fetchUserCurrencyPreferences","getUserCurrencyPreferences","updateUserCurrencyPreferences","getCurrencyAmount","defaultCurrency","defaultAmount","currency","currencyfrom","amount","currencyto","reducers","preferences","Currencies","allowedCurrencies","tradedCurrencies","fromCurrencies","currencyCode","Code","foundCurrency","currencyName","Name","text","toCurrencies","loading","i18nPrefix","FEATURE_NAMESPACE","CREATE_TRANSFER_ROUTE","UPLOAD_DOCUMENTS_ROUTE","openDealStatus","attachLaterName","attachLaterLabel","allDeals","USER_VERIFICATION_STATUS","VERIFIED","UNVERIFIED","PennyCreditTestStatus","PendingConfirmation","Passed","None","MaxAttemptsViolated","PennyCreditTestResult","NotDone","Pass","Fail","dealStatusPaid","NULL","NO_CONTACT","AUTO_NO_CONTACT","ONLINE_CCA_NOT_STARTED","ONLINE_CCA_PRIMARY_USER","ONLINE_CCA_SHAREHOLDERS","CCA_STATE","AWAITING_PRIMARY_USER_INFO","AWAITING_BUSINESS_INFO","AWAITING_VERIFICATION","getCcaState","ccaBackendState","request","passfortStatus","shouldCreatePassfortProfile","QRPolynomial","shift","e","glog","ratio","QRMath","n","LOG_TABLE","EXP_TABLE","ComplianceEventOnfidoStatus","IdentityCheck","COMPLIANCE_EVENT_TYPE_ONFIDO","onfidoStatus","ComplianceCheckId","EventType","Status","UpdatedOn","IsOnfidoCompleteFetched","SecureApi","getSpentaCorporateStatus","spentaCorporateStatusResponse","Inactive","hasCorpUsers","corpUsers","hasIdentityCheckOnfido","identityCheckOnfido","identityCheck","COMPLETED_PASS","getComplianceStatusByEvent"],"mappings":"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","file":"bundle.cb1ac4faf40e6cfb447f.js","sourcesContent":["import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { get as _get } from 'lodash';\nimport { User as IUser } from 'libs/@types/user';\nimport * as config from 'ofxSettings';\nimport { LeuwinFlowDetails } from 'leuwin-flow-details';\nimport Component, { HeaderV2Props } from './Component';\nimport headerV2Actions from './actions';\nimport { PARTITION } from './constants';\nimport { IPartition } from './types';\nimport { IPartition as ISecurityQuestionsPartition } from '../SecurityQuestions/reducer';\nimport { PARTITION as SecurityQuestionsPartition } from '../SecurityQuestions/constants';\nimport { openModal } from 'components/ModalV2/reducer';\nimport { IPartition as IOnboardingPartition } from '../../routes/Dashboard/components/Banner/Onboarding/types';\nimport onboardingActions from '../../routes/Dashboard/components/Banner/Onboarding/actions';\n// eslint-disable-next-line max-len\nimport { PARTITION_NAMESPACE as onboardingPartition } from '../../routes/Dashboard/components/Banner/Onboarding/constants';\nimport { IConsumerComplianceCheck } from '../../routes/Dashboard/components/Banner/ConsumerOnboarding/types';\nimport consumerOnboardingActions from '../../routes/Dashboard/components/Banner/ConsumerOnboarding/actions';\n// eslint-disable-next-line max-len\nimport { PARTITION_NAMESPACE as consumerOnboardingPartition } from '../../routes/Dashboard/components/Banner/ConsumerOnboarding/constants';\nimport {\n IMappedPartnerDetails,\n IPartition as IPartnershipPartition,\n PARTITION as PARTNERSHIP_PARTITION,\n} from '../Partnerships/constants';\n\nconst mapStateToProps = (state: any): Partial => {\n const headerPartition = state[PARTITION];\n const secureUserInfo = headerPartition.get(\"SecureUserInfo\");\n const gcaUrl = _get(secureUserInfo, [\n \"gcaSettings\",\n \"gcaUrl\",\n ]);\n\n const Contacts = headerPartition.get(\"Contacts\");\n const User = headerPartition.get(\"User\");\n const accountDetails = {\n email: _get(\n Contacts,\n \"Email\",\n '',\n ),\n identificationId: _get(\n User,\n \"CustomerReferenceNumber\",\n '',\n ),\n businessName: _get(\n User,\n \"BusinessName\",\n '',\n ),\n personName: `${_get(\n User,\n \"FirstName\",\n '',\n )} ${_get(\n User,\n \"LastName\",\n '',\n )}`,\n username: _get(\n User,\n \"Username\",\n '',\n ),\n };\n const isOnfidoComplete = state[onboardingPartition].getIn([\n \"isOnfidoComplete\",\n ]);\n const isOnfidoCompleteFetched = state[onboardingPartition].getIn([\n \"isOnfidoCompleteFetched\",\n ]);\n const hasToDoOnfido = state[onboardingPartition].getIn([\n \"hasToDoOnfido\",\n ]);\n const isUserVerified = state[onboardingPartition].getIn([\n \"isUserVerified\",\n ]);\n const pendingVerification = state[consumerOnboardingPartition].getIn([\n \"pendingVerification\",\n ]);\n const clearToDeal = state[consumerOnboardingPartition].getIn([\n \"clearToDeal\",\n ]);\n const isPassfortMigrated = headerPartition.get(\"isPassfortMigrated\");\n\n const partnershipState = state[PARTNERSHIP_PARTITION];\n const leuwinObjVal = config.leuwinFlowDetails.find((x: LeuwinFlowDetails) => {\n const partner = partnershipState\n .get(\"partners\")\n .find((y: IMappedPartnerDetails) => y.partnerAppId === x.PartnerAppId);\n if (partner) {\n return true;\n }\n return false;\n });\n const beneSelfManagement =\n leuwinObjVal && leuwinObjVal.BeneSelfManagement ? leuwinObjVal.BeneSelfManagement : false;\n\n return {\n accountDetails,\n gcaUrl,\n User,\n isPassfortMigrated,\n consumerOnboardingStatus: {\n pendingVerification,\n clearToDeal,\n },\n onboardingStatus: {\n isOnfidoComplete,\n isOnfidoCompleteFetched,\n hasToDoOnfido,\n isUserVerified,\n },\n OnlineSalesKycStatus: headerPartition.get(\n \"OnlineSalesKycStatus\",\n ),\n isAddContactHistorySucceed: headerPartition.get(\n \"isAddContactHistorySucceed\",\n ),\n verifySecurityInfo: state[SecurityQuestionsPartition].get(\n \"result\",\n ),\n beneSelfManagement,\n };\n};\n\nexport const actions = {\n openModal,\n ...headerV2Actions,\n ...onboardingActions,\n ...consumerOnboardingActions,\n};\n\nconst mapDispatchToProps = (dispatch: Dispatch) =>\n bindActionCreators(actions, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Component);\n","import * as React from 'react';\nimport { Link } from 'react-router-dom';\nimport * as Cookie from 'js-cookie';\nimport * as classNames from 'classnames';\nimport * as storage from 'libs/storage';\nimport i18n from 'libs/i18n';\nimport * as ofxUserInfo from 'ofxUserInfo';\nimport isoLegalEntities from 'constants/isoLegalEntities';\nimport businessType from 'constants/businessTypes';\nimport { toastCreator } from 'components/Toast';\nimport SVG from 'components/Icons/SVG';\nimport {\n FeatureFlagsDecorator,\n IFeatureFlagsDecoratorChildrenProps,\n} from 'components/FeatureFlags';\nimport { BannerNotification, BannerNotificationWarning } from 'components';\nimport ldFlags from 'constants/ldFlags';\nimport { isEnabledFeatureFlag } from 'libs/featureFlagLookUp';\nimport { getBrowserName, getBrowserVersionInt, isMobile, isTablet } from 'libs/deviceInfo';\nimport { PrimaryNavigation, SecondaryNavigation } from './components/navigation';\nimport MobileMenu from './components/MobileMenu';\nimport { IAccountDetails } from './components/navigation/AccountDetails';\nimport { IPartition, OnlineSalesKycStatusEnum } from './types';\nimport { actions } from './Container';\nimport OnlineKyc, { NewTransferButton, NewTransferBtnGtmClassEnum } from '../OnlineKyc';\nimport { OnlineKycFlowEnum } from '../OnlineKyc/constants';\nimport { MfaNotice } from '../MFA/MfaNotice';\nimport { BrexitModal } from '../Brexit';\nimport { HolidayMessageModal } from '../HolidayMessageModal';\nimport UpdateBrowserModal from '../UpdateBrowserModal';\nimport {\n PARTNER_COOKIE,\n SPOTLIGHT_PARTNER_ID,\n SPOTLIGHT_LOGO_TITLE,\n AVASK_PARTNER_ID,\n AVASK_LOGO_TITLE,\n HAS_VERIFIED_MOBILE_DEVICE,\n} from './constants';\nimport onboardingActions from '../../routes/Dashboard/components/Banner/Onboarding/actions';\nimport consumerOnboardingActions from '../../routes/Dashboard/components/Banner/ConsumerOnboarding/actions';\nimport { onfidoEnabledCountries } from '../../routes/Dashboard/components/Banner/Onboarding/constants';\nimport { IPartition as IOnboardingPartition } from '../../routes/Dashboard/components/Banner/Onboarding/types';\nimport { IConsumerComplianceCheck } from '../../routes/Dashboard/components/Banner/ConsumerOnboarding/types';\nimport { complianceCheckHelper } from './helpers/complianceCheck';\nimport VerifyByQRCodeModal from '../VerifyByQRCodeModal/VerifyByQRCodeModalContainer';\n\ninterface IProps extends IPartition, IFeatureFlagsDecoratorChildrenProps {\n accountDetails: IAccountDetails;\n onboardingStatus: IOnboardingPartition;\n consumerOnboardingStatus: IConsumerComplianceCheck;\n}\ninterface IState {\n isMobileNavOpen: boolean;\n showBanner: boolean;\n modalTitle: string;\n modalBodyHtml: string;\n modalButtonText: string;\n}\n\nexport type HeaderV2Props = IProps &\n typeof actions &\n typeof onboardingActions &\n typeof consumerOnboardingActions;\n\nclass Component extends React.Component {\n static displayName = 'HeaderV2';\n constructor(props: HeaderV2Props) {\n super(props);\n this.props.value.updateUser({\n country: ofxUserInfo.country,\n custom: {\n legalEntityIsoCode: ofxUserInfo.isoLegalEntity,\n },\n });\n this.state = {\n isMobileNavOpen: false,\n showBanner: true,\n modalTitle: '',\n modalBodyHtml: '',\n modalButtonText: '',\n };\n }\n\n componentDidMount() {\n this.props.fetchAppInitData();\n }\n\n componentDidUpdate(prevProps: HeaderV2Props): void {\n const { flags } = this.props.value;\n const { flags: prevFlags } = prevProps.value;\n\n const country =\n typeof this.props.User !== 'undefined' ? this.props.User.Country : undefined;\n\n const enableCorporateOnboardingFrontEnd = isEnabledFeatureFlag(\n flags,\n ldFlags.enableCorporateOnboardingFrontEnd,\n );\n\n const prevEnableCorporateOnboardingFrontEnd = isEnabledFeatureFlag(\n prevFlags,\n ldFlags.enableCorporateOnboardingFrontEnd,\n );\n\n if (\n flags[ldFlags.corEnabled] !== prevFlags[ldFlags.corEnabled] ||\n flags[ldFlags.onfidoReleaseDates] !== prevFlags[ldFlags.onfidoReleaseDates] ||\n enableCorporateOnboardingFrontEnd !== prevEnableCorporateOnboardingFrontEnd ||\n prevProps.isPassfortMigrated !== this.props.isPassfortMigrated\n ) {\n const isCorEnabled = flags[ldFlags.corEnabled];\n const onfidoReleaseDates = isEnabledFeatureFlag(flags, ldFlags.onfidoReleaseDates);\n\n if (\n enableCorporateOnboardingFrontEnd !== undefined &&\n this.props.isPassfortMigrated !== undefined\n ) {\n this.props.checkOnfidoJourney({\n onfidoReleaseDates,\n isCorEnabled,\n enableCorporateOnboardingFrontEnd,\n isPassfortMigrated: this.props.isPassfortMigrated,\n });\n }\n }\n\n if (\n flags[ldFlags.corEnabled] !== prevFlags[ldFlags.corEnabled] ||\n flags[ldFlags.onfidoReleaseDates] !== prevFlags[ldFlags.onfidoReleaseDates]\n ) {\n const isEnableComplianceModeByCountry = flags[ldFlags.enableComplianceModeByCountry];\n\n // Remove the flag, COR is already LIVE\n complianceCheckHelper(\n this.props.fetchConsumerComplianceCheck,\n isEnableComplianceModeByCountry,\n country,\n );\n }\n\n if (\n this.props.OnlineSalesKycStatus.Result !== prevProps.OnlineSalesKycStatus.Result &&\n this.props.OnlineSalesKycStatus.Result === OnlineSalesKycStatusEnum.Expired\n ) {\n this.props.fetchCompleteUserInfo();\n }\n\n if (\n (prevProps.User !== this.props.User ||\n enableCorporateOnboardingFrontEnd !== prevEnableCorporateOnboardingFrontEnd) &&\n this.props.User\n ) {\n if (enableCorporateOnboardingFrontEnd !== undefined) {\n const isPersonal = ofxUserInfo.businessType === businessType.INDIVIDUAL;\n this.props.fetchUserVerificationStatus(\n this.props.User.Id,\n isPersonal,\n enableCorporateOnboardingFrontEnd,\n );\n }\n }\n\n if (\n (prevProps.User !== this.props.User ||\n enableCorporateOnboardingFrontEnd !== prevEnableCorporateOnboardingFrontEnd ||\n prevProps.isPassfortMigrated !== this.props.isPassfortMigrated) &&\n this.props.User\n ) {\n if (\n enableCorporateOnboardingFrontEnd !== undefined &&\n this.props.isPassfortMigrated !== null\n ) {\n if (onfidoEnabledCountries.indexOf(this.props.User.Brand) >= 0) {\n this.props.fetchOnfidoComplianceStatus(\n ofxUserInfo.username,\n enableCorporateOnboardingFrontEnd,\n this.props.isPassfortMigrated,\n );\n }\n }\n }\n\n if (\n this.props.isAddContactHistorySucceed !== undefined &&\n this.props.isAddContactHistorySucceed !== prevProps.isAddContactHistorySucceed\n ) {\n if (this.props.isAddContactHistorySucceed) {\n toastCreator.success(i18n('header-v2-update-online-kyc-success-message'));\n } else {\n // Todo: what do we do in the case of AddContactHistorySucceed api failed?\n toastCreator.error('something went wrong');\n }\n }\n\n if (flags[ldFlags.secureHolidayBanner] !== prevFlags[ldFlags.secureHolidayBanner]) {\n const currentLocale = ofxUserInfo.isoLegalEntity\n ? ofxUserInfo.isoLegalEntity.toUpperCase()\n : 'en';\n const holidayBanner = flags[ldFlags.secureHolidayBanner];\n const holidayBannerValue =\n holidayBanner[currentLocale] ||\n holidayBanner[`en-${currentLocale}`] ||\n holidayBanner['en'];\n if (holidayBannerValue) {\n this.setState({\n modalTitle: holidayBannerValue.modalTitle,\n modalBodyHtml: holidayBannerValue.modalBody,\n modalButtonText: holidayBannerValue.modalButton,\n });\n }\n }\n\n // #1 retrieve Google Analytics Device ID for mobile & desktop\n if (this.props.User && this.props.User !== prevProps.User) {\n window.dataLayer.push({\n event: 'userIdentification',\n userId: this.props.User.Id,\n deviceId: Cookie.get('_ga'),\n deviceType: isMobile() || isTablet() ? 'mobile' : 'desktop',\n });\n }\n\n // #2 if user is logged in with desktop device display QR Code modal\n if (\n flags[ldFlags.enableMobileDeviceVerification] !==\n prevFlags[ldFlags.enableMobileDeviceVerification] &&\n flags[ldFlags.enableMobileDeviceVerification] &&\n !Cookie.get(HAS_VERIFIED_MOBILE_DEVICE) &&\n !isMobile() &&\n !isTablet()\n ) {\n this.props.openModal();\n }\n }\n\n getCanShowUpdateBrowser = (): boolean => {\n const browserName = getBrowserName();\n const browserVersion = getBrowserVersionInt();\n switch (browserName) {\n case 'IE':\n return true;\n case 'Chrome':\n return !!browserVersion && browserVersion < 65;\n case 'Firefox':\n return !!browserVersion && browserVersion < 58;\n case 'Edge':\n return !!browserVersion && browserVersion < 16;\n case 'Safari':\n return !!browserVersion && browserVersion < 10;\n default:\n return false;\n }\n };\n\n openCovidMessage = () => {\n const legalEntity = ofxUserInfo.isoLegalEntity\n ? ofxUserInfo.isoLegalEntity\n : isoLegalEntities.AU;\n window.open(`https://www.ofx.com/en-${legalEntity.toLowerCase()}/covid19/`, '_blank');\n };\n\n openTandCsMessage = () => {\n window.open('https://www.ofx.com/legal/terms-and-conditions/', '_blank');\n };\n\n openAltMfaGuide = () => {\n window.open(\n 'https://www.ofx.com/en-au/security-identity-protection-how-to-set-up-google-authenticator-for-2-step-verification/',\n '_blank',\n );\n };\n\n openBrexit = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n openHolidayMessage = () => {\n const { openModal } = this.props;\n const { modalTitle, modalBodyHtml, modalButtonText } = this.state;\n openModal(\n ,\n );\n };\n\n openKycModal = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n openMfaNoticeModal = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n openBrowserVersion = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n toggleMobileMenu = () => {\n this.setState({ isMobileNavOpen: !this.state.isMobileNavOpen });\n document.documentElement.classList.toggle('mobile-menu-open');\n };\n\n toggleBanner = () => {\n this.setState({\n showBanner: !this.state.showBanner,\n });\n };\n\n renderBannerNotification(\n canShowCovidMessage: boolean,\n canShowBrexit: boolean,\n canShowHolidayMessage: boolean,\n canShowOnlineKYC: boolean,\n canShowMfaNotice: boolean,\n canShowUpdateBrowser: boolean,\n canShowNewTNCsBanner: boolean,\n canShowMfaAtLoginBanner: boolean,\n ) {\n switch (true) {\n case canShowBrexit:\n return (\n \n );\n\n case canShowCovidMessage:\n return (\n \n );\n\n case canShowHolidayMessage: {\n const flagValue = this.props.value.flags[ldFlags.secureHolidayBanner];\n return (\n \n );\n }\n\n case canShowOnlineKYC:\n return (\n \n );\n\n case canShowMfaNotice:\n return (\n \n );\n\n case canShowMfaAtLoginBanner:\n return (\n \n );\n\n case canShowUpdateBrowser:\n return (\n \n );\n\n case canShowNewTNCsBanner:\n return (\n \n );\n\n default:\n return null;\n }\n }\n\n render() {\n const {\n accountDetails,\n OnlineSalesKycStatus,\n gcaUrl,\n value,\n beneSelfManagement,\n } = this.props;\n const { recipientOnly } = ofxUserInfo;\n const isPersonal = ofxUserInfo.businessType === businessType.INDIVIDUAL;\n const canShowOnlineKYC =\n isPersonal && OnlineSalesKycStatus.Result === OnlineSalesKycStatusEnum.Expired;\n\n const canShowCovidMessage = isEnabledFeatureFlag(value.flags, ldFlags.covid19BannerEnabled);\n const canShowBrexit = isEnabledFeatureFlag(value.flags, ldFlags.brexitBannerEnabled);\n const canShowNewTNCsBanner = isEnabledFeatureFlag(\n value.flags,\n ldFlags.enableUpdatedTNCBanner,\n );\n const canShowHolidayMessage =\n Object.keys(this.props.value.flags[ldFlags.secureHolidayBanner]).length > 0;\n const canShowMfaAtLoginBanner = isEnabledFeatureFlag(\n value.flags,\n ldFlags.secureMfaAtLoginBanner,\n );\n const canShowMfaNotice =\n OnlineSalesKycStatus.Result &&\n isEnabledFeatureFlag(value.flags, ldFlags.mfaNoticeEnabled) &&\n !storage.getUser().isDoneWithMFANotice;\n\n const canShowUpdateBrowser = this.getCanShowUpdateBrowser();\n\n const isSpotlightPartner = Cookie.get()[PARTNER_COOKIE] === SPOTLIGHT_PARTNER_ID;\n const isAvaskPartner = Cookie.get()[PARTNER_COOKIE] === AVASK_PARTNER_ID;\n\n const logoClassName = classNames(\n 'header-logo',\n { 'spotlight-partner-logo': isSpotlightPartner, 'avask-partner-logo': isAvaskPartner },\n 'm-auto',\n );\n\n return (\n
\n \n \n \n {this.state.showBanner &&\n this.renderBannerNotification(\n canShowCovidMessage,\n canShowBrexit,\n canShowHolidayMessage,\n canShowOnlineKYC,\n canShowMfaNotice,\n canShowUpdateBrowser,\n canShowNewTNCsBanner,\n canShowMfaAtLoginBanner,\n )}\n
\n
\n \n {(!recipientOnly || beneSelfManagement) && (\n \n )}\n {i18n('header-v2-logo-menu-sr')}\n \n \n \n {i18n('header-v2-logo-brand-sr')}\n \n
\n
\n {(!recipientOnly || beneSelfManagement) && (\n \n )}\n
\n
\n {!recipientOnly && (\n \n )}\n
\n
\n \n
\n
\n {gcaUrl && (\n
\n \n \n {i18n('header-v2-gca-label')}\n \n
\n )}\n
\n );\n }\n}\n\nexport default FeatureFlagsDecorator(Component);\n","export { default as PrimaryNavigation } from './PrimaryNavigation';\nexport { default as SecondaryNavigation } from './SecondaryNavigation';\n","import * as React from 'react';\nimport { Link } from 'react-router-dom';\nimport i18n from 'libs/i18n';\nimport * as ofxUserInfo from 'ofxUserInfo';\nimport { IPrimaryNavItem } from './types';\nimport menuConfig from './menuConfig';\nimport { NewTransferButton, NewTransferBtnGtmClassEnum } from '../../../OnlineKyc';\n\ninterface IProps {\n toggleMobileMenu?: () => void;\n beneSelfManagement?: boolean;\n}\n\nclass PrimaryNavigation extends React.Component {\n render() {\n let primaryNav = menuConfig.primaryNav;\n if (ofxUserInfo.recipientOnly && this.props.beneSelfManagement) {\n primaryNav = menuConfig.primaryNavForBSM;\n }\n const navList = primaryNav.map((itemList: IPrimaryNavItem) => (\n
  • \n {itemList.openInNewTab ? (\n // Use tag for external link\n // https://github.com/ReactTraining/react-router/issues/1147\n \n {i18n(itemList.localisationKey)}\n \n \n ) : (\n \n {i18n(itemList.localisationKey)}\n \n \n )}\n
  • \n ));\n\n return (\n \n
      {navList}
    \n
    \n \n
    \n \n );\n }\n}\n\nexport default PrimaryNavigation;\n","import isoLegalEntities from './isoLegalEntities';\n\nexport default {\n [isoLegalEntities.AU]: 'https://www.ofx.com/en-au/faqs',\n [isoLegalEntities.CA]: 'https://www.ofx.com/en-ca/faqs',\n [isoLegalEntities.GB]: 'https://www.ofx.com/en-gb/faqs',\n [isoLegalEntities.HK]: 'https://www.ofx.com/en-hk/faqs',\n [isoLegalEntities.NZ]: 'https://www.ofx.com/en-nz/faqs',\n [isoLegalEntities.SG]: 'https://www.ofx.com/en-sg/faqs',\n [isoLegalEntities.US]: 'https://www.ofx.com/en-us/faqs',\n [isoLegalEntities.IE]: 'https://www.ofx.com/en-ie/faqs',\n};\n","import { Map } from 'immutable';\nimport { handleActions } from 'redux-actions';\nimport { PARTITION, OnlineKycStepEnum } from './constants';\nimport { actionTypes } from './actions';\nimport { IPartition } from './Container';\n\nconst initState = {\n [\"onlineKycStep\"]: OnlineKycStepEnum.KYC_DETAILS,\n};\n\nconst reducer = handleActions>(\n {\n [actionTypes.UPDATE_ONLINE_KYC_STEP]: (state, action) =>\n state.setIn([\"onlineKycStep\"], action.payload),\n },\n Map(initState),\n);\n\nexport default {\n [PARTITION]: reducer,\n};\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { User } from 'libs/@types/user';\nimport { Verification } from 'libs/@types/verification';\nimport { closeModal, openModal } from 'components/ModalV2/reducer';\nimport { withRouter } from 'react-router-dom';\nimport Component from './Component';\nimport headerV2Actions from '../../../HeaderV2/actions';\nimport { PARTITION } from '../../../HeaderV2/constants';\nimport { IPartition } from '../../../HeaderV2/types';\n// eslint-disable-next-line max-len\nimport { PARTITION_NAMESPACE as onboardingPartition } from '../../../../routes/Dashboard/components/Banner/Onboarding/constants';\nimport { IPartition as IOnboardingPartition } from '../../../../routes/Dashboard/components/Banner/Onboarding/types';\nimport { IConsumerComplianceCheck } from '../../../../routes/Dashboard/components/Banner/ConsumerOnboarding/types';\nimport { PARTITION_NAMESPACE as consumerOnboardingPartition } from '../../../../routes/Dashboard/components/Banner/ConsumerOnboarding/constants';\n\nexport interface IContainerProps {\n userVerificationStatus?: User.VerificationResponse;\n userSalesKycStatus: Verification.IOnlineSalesKycStatusResponse;\n numberOfDeals: number;\n currencyPreferences: IPartition['currencyPreferences'];\n onboardingStatus: IOnboardingPartition;\n consumerOnboardingStatus: {\n clearToDeal: boolean;\n };\n}\n\nexport const actions = {\n openModal,\n closeModal,\n checkIfRecipientExists: headerV2Actions.checkIfRecipientExists,\n};\n\nconst mapStateToProps = (state: any): IContainerProps => ({\n userVerificationStatus: state[PARTITION].get(\"Verification\"),\n userSalesKycStatus: state[PARTITION].get(\"OnlineSalesKycStatus\"),\n numberOfDeals: state[PARTITION].get(\"numberOfDeals\"),\n currencyPreferences: state[PARTITION].get(\"currencyPreferences\"),\n onboardingStatus: {\n isOnfidoComplete: state[onboardingPartition].getIn([\n \"isOnfidoComplete\",\n ]),\n isOnfidoCompleteFetched: state[onboardingPartition].getIn([\n \"isOnfidoCompleteFetched\",\n ]),\n hasToDoOnfido: state[onboardingPartition].getIn([\n \"hasToDoOnfido\",\n ]),\n isUserVerified: state[onboardingPartition].getIn([\n \"isUserVerified\",\n ]),\n },\n consumerOnboardingStatus: {\n clearToDeal: state[consumerOnboardingPartition].getIn([\n \"clearToDeal\",\n ]),\n },\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch) =>\n bindActionCreators(actions, dispatch);\n\nconst NewTransferButtonContainer = withRouter(\n connect(mapStateToProps, mapDispatchToProps)(Component),\n);\n\nNewTransferButtonContainer.displayName = 'NewTransferButtonContainer';\n\nexport default NewTransferButtonContainer;\n","import * as React from 'react';\nimport { RouteComponentProps } from 'react-router-dom';\nimport i18n from 'libs/i18n';\nimport * as ofxUserInfo from 'ofxUserInfo';\nimport * as config from 'ofxSettings';\nimport businessType from 'constants/businessTypes';\nimport appRoutesConfig from 'constants/appRoutesConfig';\nimport { OnlineSalesKycStatusEnum } from '../../../HeaderV2/types';\nimport { IContainerProps, actions } from './Container';\nimport { NewTransferBtnGtmClassEnum, INewTransferButtonConfig } from './types';\nimport OnlineKycModal from '../../Container';\nimport { OnlineKycFlowEnum } from '../../constants';\nimport { isUserOptedInToNewTransfer } from '../../../../helpers/newTransferOptInHelpers';\nimport { AethosMessageModal } from '../../../AethosMessageModal';\nimport { NewTransferOptInModal } from '../../../NewTransferOptIn';\nimport VerificationModal from '../../../VerificationModal';\nimport {\n FeatureFlagsDecorator,\n IFeatureFlagsDecoratorChildrenProps,\n} from 'components/FeatureFlags';\nimport ldFlags from 'constants/ldFlags';\nimport { isEnabledFeatureFlag } from 'libs/featureFlagLookUp';\nimport { currencyCodes } from 'components/BankDetails/constants';\nimport { PARTNERS } from 'constants/partners';\n\ninterface IProps {\n btnGtmClass: NewTransferBtnGtmClassEnum;\n toggleMobileMenu?: () => void;\n routeUrl?: string;\n}\n\nexport type NewTransferButtonProps = IProps &\n IContainerProps &\n typeof actions &\n RouteComponentProps<{}> &\n IFeatureFlagsDecoratorChildrenProps;\n\nconst buttonConfig: INewTransferButtonConfig = {\n [NewTransferBtnGtmClassEnum.NAV]: {\n btnGtmClass: NewTransferBtnGtmClassEnum.NAV,\n btnStyleClass:\n 'btn btn-primary new-transfer d-flex align-items-center justify-content-center w-100',\n localisationToken: 'new-transfer-btn-nav',\n },\n [NewTransferBtnGtmClassEnum.DASHBOARD_BANNER]: {\n btnGtmClass: NewTransferBtnGtmClassEnum.DASHBOARD_BANNER,\n btnStyleClass: 'btn btn-primary btn-slim',\n localisationToken: 'new-transfer-btn-dashboard-banner',\n },\n [NewTransferBtnGtmClassEnum.DASHBOARD_QUOTE]: {\n btnGtmClass: NewTransferBtnGtmClassEnum.DASHBOARD_QUOTE,\n btnStyleClass: 'btn btn-slim button--secondary-oval-orange ofx-transfer-now ',\n localisationToken: 'new-transfer-btn-dashboard-quote',\n },\n};\n\nconst SPOT_PATH = `${appRoutesConfig.transfers.basePath}${appRoutesConfig.transfers.subPaths.spot}`;\n\nclass Component extends React.Component {\n private openKycModal = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n private openNewTransferOptInModal = () => {\n const { openModal, history } = this.props;\n openModal();\n };\n\n openVerificationModal = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n private openAethosModal = () => {\n const { openModal } = this.props;\n openModal();\n };\n\n private navigateToNewTransfer = () => {\n window.location.href = `${config.newTransferUrl}transfer/new/spot`;\n };\n\n onClick = () => {\n const { value } = this.props;\n const useNewTransfer = isEnabledFeatureFlag(value.flags, ldFlags.useNewTransfer);\n const isAethosEnabled = isEnabledFeatureFlag(value.flags, ldFlags.enableAethos);\n const isPersonal = ofxUserInfo.businessType === businessType.INDIVIDUAL;\n\n const {\n userSalesKycStatus,\n onboardingStatus: { isUserVerified, isOnfidoComplete, hasToDoOnfido },\n checkIfRecipientExists,\n } = this.props;\n\n if (!isPersonal && hasToDoOnfido && (!isOnfidoComplete || !isUserVerified)) {\n this.openVerificationModal();\n } else if (isPersonal && userSalesKycStatus.Result === OnlineSalesKycStatusEnum.Expired) {\n this.openKycModal();\n } else if (useNewTransfer || isUserOptedInToNewTransfer()) {\n if (isAethosEnabled && ofxUserInfo.isComingFromAethos) {\n checkIfRecipientExists(\n PARTNERS.AETHOS,\n currencyCodes.AUD,\n this.navigateToNewTransfer,\n this.openAethosModal,\n );\n } else {\n this.navigateToNewTransfer();\n }\n } else {\n this.openNewTransferOptInModal();\n }\n };\n\n render() {\n const {\n userVerificationStatus,\n btnGtmClass,\n location,\n onboardingStatus: { isUserVerified, hasToDoOnfido, isOnfidoComplete },\n consumerOnboardingStatus: { clearToDeal },\n value,\n } = this.props;\n\n const isCorEnabled = value.flags[ldFlags.corEnabled];\n const isPersonal = ofxUserInfo.businessType === businessType.INDIVIDUAL;\n const shouldShowVerificationModal =\n !isPersonal && hasToDoOnfido && (!isOnfidoComplete || !isUserVerified);\n\n if (\n (!isCorEnabled &&\n isUserVerified &&\n userVerificationStatus &&\n !userVerificationStatus.SocialSecurityNumberRequired &&\n location.pathname !== SPOT_PATH) ||\n shouldShowVerificationModal ||\n (clearToDeal && isPersonal && isCorEnabled)\n ) {\n const { btnStyleClass, localisationToken } = buttonConfig[btnGtmClass];\n\n return (\n \n );\n }\n\n return null;\n }\n}\n\nexport default FeatureFlagsDecorator(Component);\n","export { default as AethosMessageModal } from './Container';\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport Component from './Component';\nimport { IPartition } from '../HeaderV2/types';\nimport { PARTITION } from '../HeaderV2/constants';\nimport { get } from 'lodash';\nimport { INDIVIDUAL } from 'constants/entityTypes';\n\nexport const actions = {\n closeModal,\n};\n\ntype IAction = typeof actions;\n\ninterface IState {\n isPersonal: boolean;\n}\n\nexport type IContainerProps = IAction & IState;\n\nconst mapStateToProps = (state: any): IState => {\n return {\n isPersonal:\n get(\n state[PARTITION].get(\"User\"),\n 'EntityTypeId',\n '',\n ).toUpperCase() === INDIVIDUAL,\n };\n};\n\nconst mapDispatchToProps = (dispatch: Dispatch) => bindActionCreators(actions, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Component);\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { IContainerProps } from './Container';\nimport contactUsLinks from 'constants/contactUsLinks';\nimport * as ofxUserInfo from 'ofxUserInfo';\nimport isoLegalEntities from 'constants/isoLegalEntities';\nimport {\n formatCustomerSupportNumber,\n renderCustomerSupportNumberLink,\n} from '../../helpers/renderCustomerSupportNumber';\n\nconst body = (isPersonal: boolean) => {\n const locale = (ofxUserInfo && ofxUserInfo.isoLegalEntity) || isoLegalEntities.AU;\n return (\n \n

    {i18n('notice-aethos-text-1')}

    \n

    \n {i18n('notice-aethos-text-2')}{' '}\n \n {i18n('notice-aethos-text-3')}\n {' '}\n {i18n('notice-aethos-text-4')} {renderCustomerSupportNumberLink(isPersonal)}{' '}\n {i18n('notice-aethos-text-5')}\n

    \n
    \n );\n};\n\nconst footer = (onCloseHandler: () => void, isPersonal: boolean) => (\n
    \n \n {i18n('notice-aethos-close-button')}\n \n \n (location.href = `tel:${formatCustomerSupportNumber(\n i18n(\n `dashboard-side-need-help-${\n isPersonal ? 'personal' : 'business'\n }-contact-number`,\n ),\n )}`)\n }\n >\n {i18n('notice-aethos-call-button')}\n \n
    \n);\n\nconst Component: React.SFC = ({ closeModal, isPersonal }: IContainerProps) => (\n \n);\n\nComponent.displayName = 'AethosMessageModal';\n\nexport default Component;\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport NewTransferOptInModal from './NewTransferOptInModal';\n\nexport const actions = {\n closeModal,\n};\n\ntype IAction = typeof actions;\n\nexport interface IContainerProps {\n closeModal: () => void;\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch) => bindActionCreators(actions, dispatch);\n\nexport default connect(null, mapDispatchToProps)(NewTransferOptInModal);\n","import * as React from 'react';\nimport * as analytics from 'libs/analytics';\nimport i18n from 'libs/i18n';\nimport * as config from 'ofxSettings';\nimport { RouteComponentProps } from 'react-router';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport NewFeature from 'assets/illustrations/NewFeature';\nimport routes from 'constants/appRoutesConfig';\nimport { setUserAsManuallyOptedInToNewTransfer } from '../../helpers/newTransferOptInHelpers';\nimport { IContainerProps } from './NewTransferOptInModalContainer';\n\nconst body = (\n
    \n \n
    \n

    {i18n('new-transfer-opt-in-text')}

    \n
    \n
    \n);\n\nconst footer = (onCloseHandler: () => void, onSubmitHandler: () => void) => (\n
    \n \n {i18n('new-transfer-opt-in-text-link')}\n \n \n {i18n('new-transfer-opt-in-text-button')}\n \n
    \n);\n\ntype Props = IContainerProps & RouteComponentProps;\nconst SPOT_PATH = `${routes.transfers.basePath}${routes.transfers.subPaths.spot}`;\n\nconst NewTransferModal: React.FC = ({ closeModal, history }) => (\n {\n closeModal();\n history.push(SPOT_PATH);\n },\n () => {\n setUserAsManuallyOptedInToNewTransfer();\n window.location.href = `${config.newTransferUrl}transfer/new/spot`;\n },\n )}\n handleClose={() => {\n closeModal();\n history.push(SPOT_PATH);\n }}\n errors={[]}\n />\n);\n\nexport default NewTransferModal;\n","import * as React from 'react';\n\nconst Component: React.FC = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default Component;\n","import * as React from 'react';\nimport {\n FeatureFlagsDecorator,\n IFeatureFlagsDecoratorChildrenProps,\n} from 'components/FeatureFlags';\nimport ldFlags from 'constants/ldFlags';\nimport { autoOptInUserToNewTransferCheck } from '../../helpers/newTransferOptInHelpers';\n\nconst NewTransferAutoOptIn: React.FC = ({\n value: { flags },\n}) => {\n // Date is in milliseconds\n const autoOptInToNewTransferDate = flags[ldFlags.autoOptInToNewTransferDate];\n\n React.useEffect(() => {\n if (autoOptInToNewTransferDate >= 0) {\n autoOptInUserToNewTransferCheck(autoOptInToNewTransferDate);\n }\n }, [autoOptInToNewTransferDate]);\n\n return null;\n};\n\nexport default FeatureFlagsDecorator(NewTransferAutoOptIn);\n","export { default } from './Container';\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport Component from './Component';\n\nimport { PARTITION_NAMESPACE as onboardingPartition } from '../../routes/Dashboard/components/Banner/Onboarding/constants';\nimport { IPartition as IOnboardingPartition } from '../../routes/Dashboard/components/Banner/Onboarding/types';\nimport { IUser } from '../../routes/Dashboard/reducers';\n\nexport const actions = {\n closeModal,\n};\n\ntype IAction = typeof actions;\n\nexport interface IContainerProps {\n closeModal: () => void;\n onboardingStatus: IOnboardingPartition;\n entityType: string;\n ccaBackendStatus: string;\n userBrand: string;\n}\n\ninterface IPartition {\n user: IUser;\n}\nconst mapStateToProps = (state: any) => {\n const onboardingStatus = {\n isOnfidoComplete: state[onboardingPartition].getIn([\n \"isOnfidoComplete\",\n ]),\n isOnfidoCompleteFetched: state[onboardingPartition].getIn([\n \"isOnfidoCompleteFetched\",\n ]),\n hasToDoOnfido: state[onboardingPartition].getIn([\n \"hasToDoOnfido\",\n ]),\n isUserVerified: state[onboardingPartition].getIn([\n \"isUserVerified\",\n ]),\n };\n const user = state['dashboard'].get(\"user\");\n\n return {\n onboardingStatus,\n entityType: user.entityType,\n ccaBackendStatus: user.ccaBackendStatus,\n userBrand: user.brand,\n };\n};\n\nconst mapDispatchToProps = (dispatch: Dispatch) => bindActionCreators(actions, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Component);\n","import * as React from 'react';\nimport * as config from 'ofxSettings';\nimport * as Cookie from 'js-cookie';\nimport i18n from 'libs/i18n';\nimport VerificationDone from 'assets/illustrations/VerificationDone';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { DOC_UPLOADED_FLAG } from 'constants/onboarding';\nimport { IContainerProps } from './Container';\nimport { ONFIDO_JOURNEY_URL } from '../../routes/Dashboard/components/Banner/Onboarding/constants';\nimport { IPartition as IOnboardingPartition } from '../../routes/Dashboard/components/Banner/Onboarding/types';\nimport { CCA_BACKEND_STATE } from '../../routes/Dashboard/constants';\nimport { EntityTypes } from 'constants/entityTypesHelper';\n\nconst getContent = (\n { isOnfidoComplete }: IOnboardingPartition,\n closeModal: () => void,\n entityType: string,\n ccaBackendStatus: string,\n) => {\n const verificationInProgress = isOnfidoComplete && Cookie.get(DOC_UPLOADED_FLAG);\n const status = verificationInProgress ? 'awaiting' : 'continuation';\n const content = {\n title: i18n(`verification-${status}-title`),\n paragraph1: i18n(`verification-${status}-text-1`),\n paragraph2: i18n(`verification-${status}-text-2`),\n button: i18n(`verification-${status}-button`),\n };\n\n const handleClick = () => {\n const isPersonal = entityType === EntityTypes.INDIVIDUAL;\n const ccaComplete = ccaBackendStatus === CCA_BACKEND_STATE.ONLINE_CCA_COMPLETE;\n\n switch (true) {\n case !isOnfidoComplete:\n return (window.location.href = ONFIDO_JOURNEY_URL);\n case isOnfidoComplete && !isPersonal && !ccaComplete:\n return (window.location.href = config.heliosBaseUrl);\n default:\n return closeModal();\n }\n };\n\n return {\n body: (\n \n
    \n

    {content.title}

    \n
    \n
    \n \n
    \n

    {content.paragraph1}

    \n

    {content.paragraph2}

    \n
    \n ),\n footer: (\n
    \n \n {content.button}\n \n
    \n ),\n };\n};\n\nconst Component: React.FC = ({\n closeModal,\n onboardingStatus,\n entityType,\n ccaBackendStatus,\n}: IContainerProps) => {\n const { body, footer } = getContent(onboardingStatus, closeModal, entityType, ccaBackendStatus);\n return (\n \n );\n};\n\nComponent.displayName = 'VerificationModal';\n\nexport default Component;\n","/* eslint-disable import/prefer-default-export */\nexport const PARTNERS = {\n AETHOS: 'Aethos',\n};\n","import * as React from 'react';\nimport { map as _map, isEqual as _isEqual, includes as _includes } from 'lodash';\nimport i18n from 'libs/i18n';\nimport { ISecondaryNavItem } from './types';\nimport menuConfig from './menuConfig';\nimport IconMenu, { IProps as IconMenuProps } from './IconMenu';\nimport AccountDetails, { IAccountDetails } from './AccountDetails';\nimport Activity from './Activity';\nimport { iconsClassNames } from '../../constants';\n\ninterface IProps {\n accountDetails: IAccountDetails;\n hasPendingActivity: boolean;\n openModal: () => void;\n}\n\ninterface IState {\n secondaryNavStatus: {\n activityIsOpen: boolean;\n accountIsOpen: boolean;\n };\n}\n\nexport default class SecondaryNavigation extends React.Component {\n private readonly DEFAULT_SECONDARY_NAV_STATES = {\n activityIsOpen: false,\n accountIsOpen: false,\n };\n constructor(props: IProps) {\n super(props);\n this.state = {\n secondaryNavStatus: this.DEFAULT_SECONDARY_NAV_STATES,\n };\n }\n\n componentDidUpdate(prevProps: IProps, prevState: IState) {\n if (!_isEqual(prevState, this.state)) {\n this.togglePageOverflow(_includes(this.state.secondaryNavStatus, true));\n }\n }\n\n togglePageOverflow = (shouldHideOverflow: boolean) => {\n const htmlRootTag = document.documentElement;\n if (shouldHideOverflow) {\n htmlRootTag.classList.add('mobile-menu-open');\n } else {\n htmlRootTag.classList.remove('mobile-menu-open');\n }\n };\n\n toggleSubNavDropdown = (itemClassName?: string) => {\n switch (itemClassName) {\n case iconsClassNames.activity:\n this.setState({\n secondaryNavStatus: {\n activityIsOpen: !this.state.secondaryNavStatus.activityIsOpen,\n accountIsOpen: false,\n },\n });\n break;\n case iconsClassNames.account:\n this.setState({\n secondaryNavStatus: {\n activityIsOpen: false,\n accountIsOpen: !this.state.secondaryNavStatus.accountIsOpen,\n },\n });\n break;\n default:\n this.setState({ secondaryNavStatus: this.DEFAULT_SECONDARY_NAV_STATES });\n break;\n }\n };\n\n getIconMenuProps = (item: ISecondaryNavItem): IconMenuProps => {\n const baseProps = {\n uiaClassName: item.uiaClassName,\n iconClassName: item.iconClassName,\n buttonLabel: i18n(item.localisationKey),\n handleOnClick: () => {\n this.toggleSubNavDropdown(item.iconClassName);\n },\n };\n\n switch (item.iconClassName) {\n case iconsClassNames.activity:\n return {\n ...baseProps,\n dropDownContent: (\n \n ),\n hasNotification: this.props.hasPendingActivity,\n isDropdownOpen: this.state.secondaryNavStatus.activityIsOpen,\n arrowPosition: 'left',\n };\n case iconsClassNames.account:\n return {\n ...baseProps,\n dropDownContent: (\n \n ),\n hasNotification: false,\n isDropdownOpen: this.state.secondaryNavStatus.accountIsOpen,\n arrowPosition: 'right',\n };\n default:\n return {\n uiaClassName: '',\n iconClassName: '',\n buttonLabel: '',\n arrowPosition: '',\n isDropdownOpen: false,\n hasNotification: false,\n handleOnClick: () => ({}),\n dropDownContent: ,\n };\n }\n };\n\n render() {\n return (\n \n
      \n {_map(menuConfig.actions, (item) => (\n
    • \n \n
    • \n ))}\n
    \n \n );\n }\n}\n","import * as React from 'react';\nimport { isEmpty as _isEmpty } from 'lodash';\nimport * as classNames from 'classnames';\n\nexport interface IProps {\n tabIndex?: number;\n uiaClassName: string;\n iconClassName: string;\n buttonLabel: string;\n arrowPosition: string;\n isDropdownOpen: boolean;\n hasNotification: boolean;\n handleOnClick: () => void;\n dropDownContent: JSX.Element;\n}\n\nconst IconMenu: React.SFC = (props: IProps) => {\n const {\n uiaClassName,\n iconClassName,\n buttonLabel,\n isDropdownOpen,\n handleOnClick,\n arrowPosition,\n tabIndex,\n hasNotification,\n dropDownContent,\n } = props;\n\n return _isEmpty(uiaClassName) ? null : (\n
    \n \n \n {buttonLabel}\n \n \n
    \n \n {dropDownContent}\n
    \n
    \n );\n};\n\nIconMenu.displayName = 'IconMenu';\n\nexport default IconMenu;\n","import * as React from 'react';\nimport { Link } from 'react-router-dom';\nimport appRoutesConfig from 'constants/appRoutesConfig';\nimport SVG from 'components/Icons/SVG';\nimport i18n from 'libs/i18n';\nimport menuConfig from './menuConfig';\nimport ldFlags from 'constants/ldFlags';\nimport { isEnabledFeatureFlag } from 'libs/featureFlagLookUp';\nimport {\n FeatureFlagsDecorator,\n IFeatureFlagsDecoratorChildrenProps,\n} from 'components/FeatureFlags';\n\nexport interface IAccountDetails {\n businessName: string;\n identificationId: string;\n personName: string;\n username: string;\n}\n\ninterface IProps extends IAccountDetails, IFeatureFlagsDecoratorChildrenProps {\n toggleSubNavDropdown: () => void;\n}\n\nconst AccountDetails: React.SFC = (props: IProps) => {\n const isOktaSecureEnable = isEnabledFeatureFlag(props.value.flags, ldFlags.oktaSecureEnable);\n\n return (\n
      \n
    • \n \n {props.businessName || props.personName}\n \n
    • \n
    • \n \n {i18n('header-v2-sub-navigation-customer-number')}\n \n {props.identificationId}\n
    • \n
    • \n \n {i18n('header-v2-sub-navigation-username')}\n \n {props.username}\n
    • \n
    • \n
        \n {menuConfig.actions.userAccount.routes!.map((route) => (\n
      • \n {route.route !== appRoutesConfig.logout.basePath ? (\n \n {i18n(route.localisationKey)}{' '}\n \n \n ) : (\n \n {i18n(route.localisationKey)}{' '}\n \n \n )}\n
      • \n ))}\n
      \n
    • \n
    \n );\n};\n\nAccountDetails.displayName = 'AccountDetails';\n\nexport default FeatureFlagsDecorator(AccountDetails);\n","export { default } from './Component';\n","import * as React from 'react';\nimport OnlineKYCMessage from './OnlineKYCMessage';\nimport EmptyActivity from './EmptyActivity';\n\ninterface IProps {\n toggleSubNavDropdown: () => void;\n openModal: () => void;\n hasNotification: boolean;\n}\n\nconst Activity: React.SFC = ({ openModal, toggleSubNavDropdown, hasNotification }) => {\n return (\n
    \n {hasNotification ? (\n \n ) : (\n \n )}\n
    \n );\n};\n\nexport default Activity;\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\n\ninterface IProps {\n toggleSubNavDropdown: () => void;\n openModal: () => void;\n}\nclass Component extends React.Component {\n static displayName = 'OnlineKYCMessage';\n\n openReviewDetailsModal = () => {\n this.props.toggleSubNavDropdown();\n this.props.openModal();\n };\n\n render() {\n return (\n
    \n
    \n \n {i18n('header-v2-activity-online-kyc-message')}\n \n \n {i18n('header-v2-activity-online-kyc-button-label')}\n \n
    \n );\n }\n}\n\nexport default Component;\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\n\nexport default () => (\n
      \n
    • \n {i18n('header-v2-activity-recent')}\n
    • \n
    • \n
      \n \n {i18n('header-v2-empty-activity-header')}\n \n \n {i18n('header-v2-empty-activity-message')}\n \n
    • \n
    \n);\n","import * as React from 'react';\nimport * as classNames from 'classnames';\n\ninterface IProps {\n children: JSX.Element;\n onClose: () => void;\n open: boolean;\n}\n\nexport default (props: IProps) => {\n const className = classNames('bg-white', 'd-lg-none', 'position-fixed', 'uia-mobile-menu', {\n open: props.open,\n });\n\n return (\n
    \n \n \n \n {props.children}\n
    \n );\n};\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { User } from 'libs/@types/user';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport { updateMfaNoticeStep } from './actions';\nimport Component from './Component';\nimport { PARTITION as MFA_NOTICE_PARTITION } from './constants';\nimport { IPartition as IMfaNoticePartition } from './reducer';\nimport { PARTITION as SECURITY_QUESTIONS_PARTITION } from '../../SecurityQuestions/constants';\nimport {\n IPartition as ISecurityQuestionsPartition,\n IResponse,\n} from '../../SecurityQuestions/reducer';\nimport { PARTITION as headerV2Partition } from '../../HeaderV2/constants';\nimport { IPartition as IHeaderV2Partition } from '../../HeaderV2/types';\n\nexport interface IContainerProps extends IMfaNoticePartition {\n securityVerificationStatus: IResponse;\n Contacts: User.IContactDetails;\n}\n\nexport const actions = {\n updateMfaNoticeStep,\n closeModal,\n};\n\nconst mapStateToProps = (state: any): IContainerProps => ({\n mfaNoticeStep: state[MFA_NOTICE_PARTITION].get(\"mfaNoticeStep\"),\n securityVerificationStatus: state[SECURITY_QUESTIONS_PARTITION].get(\n \"result\",\n ),\n Contacts: state[headerV2Partition].get(\"Contacts\"),\n});\n\nconst mapDispatchToProps = (dispatch: Dispatch) =>\n bindActionCreators(actions, dispatch);\n\nconst Container = connect(mapStateToProps, mapDispatchToProps)(Component);\n\nexport default Container;\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\nimport * as storage from 'libs/storage';\nimport { toastCreator } from 'components/Toast';\nimport { ReviewMobileNumber } from './components/ReviewMobileNumber';\nimport { MobileNumberUpdateForm } from './components/MobileNumberUpdateForm';\nimport { SecurityQuestions } from '../../SecurityQuestions';\nimport { actions, IContainerProps } from './Container';\nimport { MfaNoticeStepEnum } from './constants';\n\ntype ComponentProps = IContainerProps & typeof actions;\n\nclass Component extends React.Component {\n static displayName = 'MfaNotice';\n\n componentDidUpdate(prevProps: Readonly): void {\n if (\n prevProps.mfaNoticeStep !== this.props.mfaNoticeStep &&\n this.props.mfaNoticeStep === MfaNoticeStepEnum.MOBILE_PHONE_UPDATE_FORM &&\n !this.props.securityVerificationStatus.Valid\n ) {\n this.props.updateMfaNoticeStep(MfaNoticeStepEnum.SECURITY_QUESTIONS);\n }\n }\n\n render() {\n const { mfaNoticeStep, closeModal, updateMfaNoticeStep, Contacts } = this.props;\n const mobileNumber =\n Contacts &&\n Contacts.TelephoneNumbers &&\n Contacts.TelephoneNumbers.find((telephoneNumber) => telephoneNumber.Type === 'Mobile');\n\n const DEFAULT_CONTENT = (\n {\n storage.setUser({\n isDoneWithMFANotice: true,\n });\n\n closeModal();\n }}\n updateMfaNoticeStep={() => {\n updateMfaNoticeStep(MfaNoticeStepEnum.MOBILE_PHONE_UPDATE_FORM);\n }}\n onCloseHandler={closeModal}\n />\n );\n\n switch (mfaNoticeStep) {\n case MfaNoticeStepEnum.SECURITY_QUESTIONS:\n return (\n {\n closeModal();\n updateMfaNoticeStep(MfaNoticeStepEnum.NOTICE_REVIEW);\n }}\n onSuccessHandler={() => {\n updateMfaNoticeStep(MfaNoticeStepEnum.MOBILE_PHONE_UPDATE_FORM);\n }}\n />\n );\n case MfaNoticeStepEnum.MOBILE_PHONE_UPDATE_FORM:\n return (\n {\n closeModal();\n updateMfaNoticeStep(MfaNoticeStepEnum.NOTICE_REVIEW);\n }}\n onSuccessHandler={() => {\n storage.setUser({\n isDoneWithMFANotice: true,\n });\n\n closeModal();\n\n updateMfaNoticeStep(MfaNoticeStepEnum.NOTICE_REVIEW);\n toastCreator.success(\n i18n(\n mobileNumber\n ? 'mfa-update-mobile-number-success-message'\n : 'mfa-add-mobile-number-success-message',\n ),\n );\n }}\n />\n );\n default:\n return DEFAULT_CONTENT;\n }\n }\n}\n\nexport default Component;\n","export { default as ReviewMobileNumber } from './Container';\n","import { connect } from 'react-redux';\nimport { IPartition } from '../../../../HeaderV2/types';\nimport { PARTITION } from '../../../../HeaderV2/constants';\nimport Component from './Component';\n\nconst mapStateToProps = (state: any): Partial => ({\n Contacts: state[PARTITION].get(\"Contacts\"),\n});\n\nconst ReviewMobileNumberContainer = connect(mapStateToProps)(Component);\n\nReviewMobileNumberContainer.displayName = 'ReviewMobileNumberContainer';\n\nexport default ReviewMobileNumberContainer;\n","import * as React from 'react';\nimport { i18n } from 'libs/i18n';\nimport { formatPhoneNumber } from 'libs/phoneNumber';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { IPartition } from '../../../../HeaderV2/types';\n\ninterface IProps {\n confirmMobileNumber: () => void;\n updateMfaNoticeStep: () => void;\n onCloseHandler: () => void;\n}\n\ntype ComponentProps = IProps & Partial;\n\nconst Component = (props: ComponentProps) => {\n const { Contacts, onCloseHandler, confirmMobileNumber, updateMfaNoticeStep } = props;\n const mobileNumber =\n Contacts &&\n Contacts.TelephoneNumbers &&\n Contacts.TelephoneNumbers.find((telephoneNumber) => telephoneNumber.Type === 'Mobile');\n\n const header = i18n('header-v2-mfa-review-mobile-details-title');\n const body = (\n \n

    {i18n('header-v2-mfa-review-mobile-details-1')}

    \n

    \n {i18n(\n mobileNumber\n ? 'header-v2-mfa-review-mobile-details-2'\n : 'header-v2-mfa-review-mobile-details-3',\n )}\n

    \n {mobileNumber && (\n
    \n
    {i18n('header-v2-mobile-number')}
    \n
    {formatPhoneNumber(mobileNumber)}
    \n
    \n )}\n
    \n );\n\n const footer = (\n
    \n \n {i18n(mobileNumber ? 'header-v2-update-mobile' : 'header-v2-add-later')}\n \n \n {i18n(mobileNumber ? 'header-v2-confirm' : 'header-v2-add-mobile')}\n \n
    \n );\n return ;\n};\n\nexport default Component;\n","export { default as MobileNumberUpdateForm } from './Container';\n","import { connect, Dispatch } from 'react-redux';\nimport { reduxForm, getFormSubmitErrors } from 'redux-form';\nimport { bindActionCreators } from 'redux';\nimport { formatPhoneNumber, getPhoneNumberByType, phoneNumberTypes } from 'libs/phoneNumber';\nimport { addressTypes, findAddressByType } from 'libs/address';\nimport { ErrorCodes } from 'libs/errorCodes';\nimport { User } from 'libs/@types/user';\nimport Component, { MobileNumberUpdateFormProps } from './Component';\nimport { PARTITION as headerV2Partition } from '../../../../HeaderV2/constants';\nimport { IPartition as IHeaderV2Partition } from '../../../../HeaderV2/types';\nimport { fetchUserContacts } from '../../../../HeaderV2/actions';\nimport { PARTITION as SECURITY_QUESTIONS_PARTITION } from '../../../../SecurityQuestions/constants';\nimport { IPartition as ISecurityQuestionsPartition } from '../../../../SecurityQuestions/reducer';\nimport { FORM_NAME } from './constants';\nimport { IMobilePhoneUpdateFormData } from './types';\nimport mobileNumberUpdateFormActions from './actions';\n\nexport interface IContainerProps {\n securityQuestionsVerificationResults: {\n Valid: boolean;\n SecurityAnswer: string;\n DOB: string;\n };\n Contacts: User.IContactDetails;\n Country: string;\n // This is a workaround and this prop is used to pre-populate mobile number field since initialValues\n // in redux form cannot access mobile number from state and changing form value in\n // componentDidMount/componentDidUpdate cannot auto-fill the flags correctly\n initialValues: {\n mobileNumber: string;\n };\n isEmailInvalidOnSubmit: boolean;\n}\n\nexport const mapStateToProps = (state: any): IContainerProps => {\n const contacts = state[headerV2Partition].get(\"Contacts\");\n const initMobileNumber = formatPhoneNumber(\n getPhoneNumberByType(\n contacts\n ? contacts[\"TelephoneNumbers\"]\n : [],\n phoneNumberTypes.Mobile,\n ),\n );\n const homeAddress = findAddressByType(\n state[headerV2Partition].get(\"Addresses\"),\n addressTypes.Home,\n );\n const submitErrors = getFormSubmitErrors(FORM_NAME)(state);\n\n return {\n securityQuestionsVerificationResults: state[SECURITY_QUESTIONS_PARTITION].get(\n \"result\",\n ),\n Contacts: state[headerV2Partition].get(\"Contacts\"),\n Country: homeAddress ? homeAddress.Country : '',\n // This is a workaround and this prop is used to pre-populate mobile number field since initialValues\n // in redux form cannot access mobile number from state and changing form value in\n // componentDidMount/componentDidUpdate cannot auto-fill the flags correctly\n initialValues: {\n mobileNumber: initMobileNumber || '',\n },\n isEmailInvalidOnSubmit:\n submitErrors && submitErrors._code === ErrorCodes.USUpdateUserContacts0007,\n };\n};\n\nexport const actions = {\n ...mobileNumberUpdateFormActions,\n};\n\nconst mapDispatchToProps = (dispatch: Dispatch) =>\n bindActionCreators(actions, dispatch);\n\nconst Form = reduxForm({\n form: FORM_NAME,\n onSubmit: (\n formData: IMobilePhoneUpdateFormData,\n dispatch: Dispatch,\n props: MobileNumberUpdateFormProps,\n ) =>\n props.updateMobileNumber(\n formData,\n props.securityQuestionsVerificationResults,\n props.Contacts,\n ),\n onSubmitSuccess: (\n result: {},\n dispatch: Dispatch,\n props: MobileNumberUpdateFormProps,\n ) => {\n props.onSuccessHandler();\n dispatch(fetchUserContacts());\n },\n})(Component);\n\nconst MobileNumberUpdateFormContainer = connect(mapStateToProps, mapDispatchToProps)(Form);\n\nMobileNumberUpdateFormContainer.displayName = 'MobileNumberUpdateFormContainer';\n\nexport default MobileNumberUpdateFormContainer;\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\nimport { FormProps } from 'redux-form';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { IMobilePhoneUpdateFormData } from './types';\nimport { actions, IContainerProps } from './Container';\nimport { autoScrollToModalContent } from '../../../../../helpers/autoScrolling';\nimport PhoneNumberField, { NumberTypeEnum } from '../../../../Fields/PhoneNumberField';\nimport { FORM_NAME } from './constants';\n\nconst errorMsg = (error = '') => error;\n\nconst emailErrorMsg = (isEmailInvalidOnSubmit: boolean, mobileNumber: any) =>\n isEmailInvalidOnSubmit\n ? i18n(\n mobileNumber\n ? 'mfa-update-mobile-invalid-email-error'\n : 'mfa-add-mobile-invalid-email-error',\n )\n : '';\n\nconst header = (token: string): string => i18n(token);\nconst body = (textToken: string, handleSubmit, Country) => (\n \n

    {i18n(textToken)}

    \n
    \n \n \n
    \n);\nconst footer = (token: string, onCloseHandler: () => void, handleSubmit: () => void) => (\n
    \n \n {i18n(token)}\n \n \n {i18n('header-v2-update-confirm-personal-detail')}\n \n
    \n);\n\nexport interface IProps {\n onCloseHandler: () => void;\n onSuccessHandler: () => void;\n}\n\nexport type MobileNumberUpdateFormProps = FormProps &\n IProps &\n IContainerProps &\n typeof actions;\n\nclass Component extends React.Component {\n static displayName = 'MobileNumberUpdateForm';\n\n componentDidMount() {\n autoScrollToModalContent();\n }\n\n render() {\n const {\n handleSubmit,\n error,\n Country,\n Contacts,\n submit,\n isEmailInvalidOnSubmit,\n onCloseHandler,\n } = this.props;\n const mobileNumber =\n Contacts &&\n Contacts.TelephoneNumbers &&\n Contacts.TelephoneNumbers.find((telephoneNumber) => telephoneNumber.Type === 'Mobile');\n\n return (\n submit(FORM_NAME),\n )}\n handleClose={onCloseHandler}\n errors={[errorMsg(error), emailErrorMsg(isEmailInvalidOnSubmit, mobileNumber)]}\n />\n );\n }\n}\n\nexport default Component;\n","import * as React from 'react';\nimport * as validation from 'validation';\nimport SimpleField from 'components/Form/SimpleField';\nimport Phone from 'components/Form/Phone';\n\nexport enum NumberTypeEnum {\n MOBILE = 'MOBILE',\n LAND_LINE = 'FIXED_LINE',\n FIXED_LINE_OR_MOBILE = 'FIXED_LINE_OR_MOBILE',\n}\n\ninterface IProps {\n label: string;\n name: string;\n defaultCountry: string;\n numberType: NumberTypeEnum;\n validationErrorMsg: string;\n typeErrorMsg?: string;\n}\n\nconst PhoneNumberField: React.SFC = ({\n name,\n label,\n defaultCountry,\n numberType,\n typeErrorMsg,\n validationErrorMsg,\n}: IProps) => {\n const validationRules = [\n validation.required(true),\n validation.isValidPhoneNumber(validationErrorMsg),\n ];\n\n if (typeErrorMsg) {\n validationRules.push(validation.isPhoneType(numberType, typeErrorMsg));\n }\n\n return (\n \n );\n};\n\nexport default PhoneNumberField;\n","import { createAction } from 'redux-actions';\nimport { UserApi } from 'libs/api';\nimport { SubmissionError } from 'redux-form';\nimport { handleServerError, ensureAuthorised } from 'libs/ajax';\nimport { User } from 'libs/@types/user';\nimport { inModalErrorClassName } from 'constants/cssClassConstants';\nimport { scrollToFirstError } from 'libs/events';\nimport i18n from 'libs/i18n';\nimport { getPhoneNumber } from 'libs/phoneNumber';\nimport { ACTION_NAMESPACE } from './constants';\nimport { IResponse as ISecurityQuestionsVerificationResults } from '../../../../SecurityQuestions/reducer';\nimport { IMobilePhoneUpdateFormData } from './types';\n\nexport const actionTypes = {\n UPDATE_MOBILE_NUMBER: `${ACTION_NAMESPACE}/UPDATE_MOBILE_NUMBER`,\n};\n\nconst updateMobileNumber = createAction(\n actionTypes.UPDATE_MOBILE_NUMBER,\n (\n mobilePhoneUpdateFormData: IMobilePhoneUpdateFormData,\n securityQuestionsVerificationResults: ISecurityQuestionsVerificationResults,\n Contacts: User.IContactDetails,\n ) => {\n const mobileNumber = getPhoneNumber(mobilePhoneUpdateFormData.mobileNumber);\n if (!mobileNumber) {\n throw new SubmissionError({\n mobileNumber: {\n title: i18n('header-v2-update-personal-contact-details-mobile-number-error'),\n show: true,\n },\n });\n }\n\n const userContactPayload = {\n TelephoneNumbers: [\n {\n Type: 'Mobile',\n Number: mobileNumber,\n },\n ],\n Email: Contacts.Email,\n };\n\n return UserApi.updateUserContacts(\n userContactPayload,\n securityQuestionsVerificationResults,\n ).catch((response: {}) => {\n if (response instanceof SubmissionError) {\n throw response;\n }\n\n ensureAuthorised(response, true);\n scrollToFirstError(inModalErrorClassName);\n\n return handleServerError(response, {\n Mobile: \"mobileNumber\",\n });\n });\n },\n);\n\nexport default {\n updateMobileNumber,\n};\n","import { Map } from 'immutable';\nimport { handleActions } from 'redux-actions';\nimport { PARTITION, MfaNoticeStepEnum } from './constants';\nimport { actionTypes } from './actions';\n\nexport interface IPartition {\n mfaNoticeStep: MfaNoticeStepEnum;\n}\n\nconst initialState = {\n [\"mfaNoticeStep\"]: MfaNoticeStepEnum.NOTICE_REVIEW,\n};\n\nexport const reducer = handleActions>(\n {\n [actionTypes.UPDATE_MFA_NOTICE_STEP]: (state, action) =>\n state.setIn([\"mfaNoticeStep\"], action.payload),\n },\n Map(initialState),\n);\n\nexport default {\n [PARTITION]: reducer,\n};\n","export { default as BrexitModal } from './Container';\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport Component from './Component';\n\nexport const actions = {\n closeModal,\n};\n\ntype IAction = typeof actions;\n\nexport interface IContainerProps {\n closeModal: () => void;\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch) => bindActionCreators(actions, dispatch);\n\nexport default connect(null, mapDispatchToProps)(Component);\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { IContainerProps } from './Container';\n\nconst body = (\n \n

    {i18n('notice-brexit-text-1')}

    \n

    \n {i18n('notice-brexit-text-2')}{' '}\n {i18n('notice-brexit-customer-service-phone-text')}{' '}\n {i18n('notice-brexit-text-3')}{' '}\n \n {i18n('notice-brexit-customer-service-email-text')}\n {' '}\n {i18n('notice-brexit-text-4')}{' '}\n \n {i18n('notice-brexit-faq-url-text')}\n {' '}\n {i18n('notice-brexit-text-5')}\n

    \n
    \n);\n\nconst footer = (onCloseHandler: () => void) => (\n
    \n \n {i18n('notice-brexit-button')}\n \n
    \n);\n\nconst Component: React.SFC = ({ closeModal }: IContainerProps) => {\n return (\n \n );\n};\n\nComponent.displayName = 'BrexitModal';\n\nexport default Component;\n","export { default as HolidayMessageModal } from './HolidayMessageModalContainer';\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport HolidayMessageModal from './HolidayMessageModal';\n\nexport const actions = {\n closeModal,\n};\n\nexport interface IContainerProps {\n closeModal: () => void;\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch) =>\n bindActionCreators(actions, dispatch);\n\nexport default connect(null, mapDispatchToProps)(HolidayMessageModal);\n","import * as React from 'react';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { IContainerProps } from './HolidayMessageModalContainer';\n\ninterface IProps extends IContainerProps {\n title: string;\n bodyHtml: string;\n buttonText: string;\n}\n\nconst Component: React.FC = ({ closeModal, title, bodyHtml, buttonText }: IProps) => {\n const body = () => (\n \n
    \n
    \n );\n\n const footer = (onCloseHandler: () => void) => (\n
    \n \n {buttonText}\n \n
    \n );\n\n return (\n \n );\n};\n\nComponent.displayName = 'HolidayMessageModal';\n\nexport default Component;\n","export { default } from './UpdateBrowserModalContainer';\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport UpdateBrowserModal from './UpdateBrowserModal';\n\nexport const actions = {\n closeModal,\n};\n\ntype IAction = typeof actions;\n\nexport interface IContainerProps {\n closeModal: () => void;\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch) => bindActionCreators(actions, dispatch);\n\nexport default connect(null, mapDispatchToProps)(UpdateBrowserModal);\n","import * as React from 'react';\nimport { Map } from 'immutable';\nimport i18n from 'libs/i18n';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { getOSName } from 'libs/deviceInfo';\nimport { IContainerProps } from './UpdateBrowserModalContainer';\nimport {\n CHROME_URL,\n EDGE_URL,\n FIREFOX_URL,\n SAFARI_URL,\n WINDOWS,\n MAC,\n browserTypes,\n} from './constants';\nimport UpdateBrowserColumn, { IUpdateBrowserColumn } from './UpdateBrowserColumn';\n\nexport const UpdateBrowserColumnPropsDict = Map([\n [\n browserTypes.chrome,\n {\n svgClassName: 'illustration chrome',\n buttonText: i18n('notice-update-browser-1-button'),\n organizationName: i18n('notice-update-browser-1-text'),\n url: CHROME_URL,\n },\n ],\n [\n browserTypes.edge,\n {\n svgClassName: 'illustration edge',\n buttonText: i18n('notice-update-browser-2-button'),\n organizationName: i18n('notice-update-browser-2-text'),\n url: EDGE_URL,\n },\n ],\n [\n browserTypes.firefox,\n {\n svgClassName: 'illustration firefox',\n buttonText: i18n('notice-update-browser-3-button'),\n organizationName: i18n('notice-update-browser-3-text'),\n url: FIREFOX_URL,\n },\n ],\n [\n browserTypes.safari,\n {\n svgClassName: 'illustration safari',\n buttonText: i18n('notice-update-browser-4-button'),\n organizationName: i18n('notice-update-browser-4-text'),\n url: SAFARI_URL,\n },\n ],\n]);\n\nconst getSuggestedBrowsers = () => {\n switch (getOSName()) {\n case WINDOWS:\n return [browserTypes.chrome, browserTypes.firefox, browserTypes.edge];\n case MAC:\n return [browserTypes.chrome, browserTypes.firefox, browserTypes.safari];\n default:\n return [browserTypes.chrome, browserTypes.firefox];\n }\n};\n\nconst footer = (onCloseHandler: () => void) => (\n
    \n \n {i18n('notice-update-browser-link')}\n \n
    \n);\n\nconst UpdateBrowserModal: React.SFC = ({ closeModal }: IContainerProps) => {\n return (\n \n {getSuggestedBrowsers().map((d) => (\n \n ))}\n
    \n }\n footer={footer(closeModal)}\n handleClose={closeModal}\n importantInfos={[i18n('notice-update-browser-feedback-text')]}\n />\n );\n};\n\nUpdateBrowserModal.displayName = 'UpdateBrowserModal';\n\nexport default UpdateBrowserModal;\n","export const CHROME_URL = 'https://www.google.com/chrome/';\nexport const EDGE_URL = 'https://www.microsoft.com/windows/microsoft-edge/';\nexport const FIREFOX_URL = 'https://www.mozilla.org/firefox/';\nexport const SAFARI_URL = 'https://www.apple.com/safari/';\n\nexport const WINDOWS = 'Windows';\nexport const MAC = 'Mac OS';\n\nexport enum browserTypes {\n chrome,\n edge,\n firefox,\n safari,\n}\n","import * as React from 'react';\n\nexport interface IUpdateBrowserColumn {\n svgClassName: string;\n buttonText: string;\n organizationName: string;\n url: string;\n}\n\nconst UpdateBrowserColumn: React.SFC = ({\n svgClassName,\n buttonText,\n organizationName,\n url,\n}) => {\n return (\n
    \n
    \n \n {buttonText}\n \n {organizationName}\n
    \n );\n};\n\nexport default UpdateBrowserColumn;\n","import { bindActionCreators } from 'redux';\nimport { connect, Dispatch } from 'react-redux';\nimport { closeModal } from 'components/ModalV2/reducer';\nimport VerifyByQRCodeModal from './VerifyByQRCodeModal';\n\nexport const actions = {\n closeModal,\n};\n\nconst mapStateToProps = (state: any): Partial<{ userId: string }> => {\n const headerPartition = state['headerV2'];\n\n const User = headerPartition.get('User');\n\n return {\n userId: User ? User.Id : '',\n };\n};\n\nexport interface IContainerProps {\n closeModal: () => void;\n}\n\nconst mapDispatchToProps = (dispatch: Dispatch) =>\n bindActionCreators(actions, dispatch);\n\nexport default connect<{ userId: string }, IContainerProps, {}>(\n mapStateToProps,\n mapDispatchToProps,\n)(VerifyByQRCodeModal);\n","import * as React from 'react';\nimport * as config from 'ofxSettings';\nimport * as Cookie from 'js-cookie';\nimport ModalContentContainer from 'components/ModalV2/ModalContent/ModalContentContainer';\nimport { IContainerProps } from './VerifyByQRCodeModalContainer';\nimport QRCode from 'react-qr-code';\nimport { HAS_VERIFIED_MOBILE_DEVICE } from '../HeaderV2/constants';\n\ninterface IProps extends IContainerProps {\n userId: string;\n}\n\nconst Component: React.FC = ({ userId, closeModal }: IProps) => {\n React.useEffect(() => {\n Cookie.set(HAS_VERIFIED_MOBILE_DEVICE, 'true', { expires: 90, domain: 'ofx.com' });\n }, []);\n\n const footer = (onCloseHandler: () => void) => (\n
    \n \n Ok, Done\n \n
    \n );\n\n const body = () => (\n \n
    \n

    \n Scan the QR code below with your mobile device to help us verify your mobile\n device.\n

    \n \n
    \n
    \n );\n\n return (\n \n );\n};\n\nComponent.displayName = 'VerifyByQRCodeModal';\n\nexport default Component;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QRCode = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ErrorCorrectLevel = require(\"qr.js/lib/ErrorCorrectLevel\");\n\nvar _ErrorCorrectLevel2 = _interopRequireDefault(_ErrorCorrectLevel);\n\nvar _QRCode = require(\"qr.js/lib/QRCode\");\n\nvar _QRCode2 = _interopRequireDefault(_QRCode);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _QRCodeSvg = require(\"./QRCodeSvg\");\n\nvar _QRCodeSvg2 = _interopRequireDefault(_QRCodeSvg);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n// A `qr.js` doesn't handle error level of zero (M) so we need to do it right, thus the deep require.\n\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),\n level: _propTypes2.default.string,\n size: _propTypes2.default.number,\n value: _propTypes2.default.string.isRequired\n};\n\nvar QRCode = (0, _react.forwardRef)(function (_ref, ref) {\n var _ref$bgColor = _ref.bgColor,\n bgColor = _ref$bgColor === undefined ? \"#FFFFFF\" : _ref$bgColor,\n _ref$fgColor = _ref.fgColor,\n fgColor = _ref$fgColor === undefined ? \"#000000\" : _ref$fgColor,\n _ref$level = _ref.level,\n level = _ref$level === undefined ? \"L\" : _ref$level,\n _ref$size = _ref.size,\n size = _ref$size === undefined ? 256 : _ref$size,\n value = _ref.value,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"fgColor\", \"level\", \"size\", \"value\"]);\n\n // Use type === -1 to automatically pick the best type.\n var qrcode = new _QRCode2.default(-1, _ErrorCorrectLevel2.default[level]);\n qrcode.addData(value);\n qrcode.make();\n var cells = qrcode.modules;\n return _react2.default.createElement(_QRCodeSvg2.default, _extends({}, props, {\n bgColor: bgColor,\n bgD: cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n return !cell ? \"M \" + cellIndex + \" \" + rowIndex + \" l 1 0 0 1 -1 0 Z\" : \"\";\n }).join(\" \");\n }).join(\" \"),\n fgColor: fgColor,\n fgD: cells.map(function (row, rowIndex) {\n return row.map(function (cell, cellIndex) {\n return cell ? \"M \" + cellIndex + \" \" + rowIndex + \" l 1 0 0 1 -1 0 Z\" : \"\";\n }).join(\" \");\n }).join(\" \"),\n ref: ref,\n size: size,\n viewBoxSize: cells.length\n }));\n});\n\nexports.QRCode = QRCode;\nQRCode.displayName = \"QRCode\";\nQRCode.propTypes = propTypes;\n\nexports.default = QRCode;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar propTypes = {\n bgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired,\n bgD: _propTypes2.default.string.isRequired,\n fgColor: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired,\n fgD: _propTypes2.default.string.isRequired,\n size: _propTypes2.default.number.isRequired,\n title: _propTypes2.default.string,\n viewBoxSize: _propTypes2.default.number.isRequired,\n xmlns: _propTypes2.default.string\n};\n\nvar QRCodeSvg = (0, _react.forwardRef)(function (_ref, ref) {\n var bgColor = _ref.bgColor,\n bgD = _ref.bgD,\n fgD = _ref.fgD,\n fgColor = _ref.fgColor,\n size = _ref.size,\n title = _ref.title,\n viewBoxSize = _ref.viewBoxSize,\n _ref$xmlns = _ref.xmlns,\n xmlns = _ref$xmlns === undefined ? \"http://www.w3.org/2000/svg\" : _ref$xmlns,\n props = _objectWithoutProperties(_ref, [\"bgColor\", \"bgD\", \"fgD\", \"fgColor\", \"size\", \"title\", \"viewBoxSize\", \"xmlns\"]);\n\n return _react2.default.createElement(\n \"svg\",\n _extends({}, props, { height: size, ref: ref, viewBox: \"0 0 \" + viewBoxSize + \" \" + viewBoxSize, width: size, xmlns: xmlns }),\n title ? _react2.default.createElement(\n \"title\",\n null,\n title\n ) : null,\n _react2.default.createElement(\"path\", { d: bgD, fill: bgColor }),\n _react2.default.createElement(\"path\", { d: fgD, fill: fgColor })\n );\n});\n\nQRCodeSvg.displayName = \"QRCodeSvg\";\nQRCodeSvg.propTypes = propTypes;\n\nexports.default = QRCodeSvg;","import { Map } from 'immutable';\nimport { handleActions } from 'redux-actions';\nimport { PARTITION } from './constants';\nimport { actionTypes } from './actions';\nimport { IPartition, OnlineSalesKycStatusEnum } from './types';\nimport { reducer as securityQuestionsReducer } from '../SecurityQuestions';\nimport { reducer as personalDetailFormReducer } from '../OnlineKyc/components/PersonalDetailForm';\nimport { transformPreferenceResult } from 'components/QuoteCalculator/reducers';\nimport { PassfortMigrationStatus } from 'components/WebSocketHandler/WebSocketEvents/ComplianceEvents';\n\nconst initState = {\n [\"OnlineSalesKycStatus\"]: {\n [\"Result\"]: undefined,\n },\n [\"isPassfortMigrated\"]: undefined,\n};\n\nconst reducer = handleActions, any>(\n {\n [`${actionTypes.FETCH_USER}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"User\",\n payload,\n ),\n [`${actionTypes.FETCH_USER_DETAILS}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"UserDetails\",\n payload,\n ),\n [`${actionTypes.FETCH_SECURE_USER_INFO}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"SecureUserInfo\",\n payload,\n ),\n [`${actionTypes.FETCH_USER_OCCUPATION}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"Occupation\",\n payload!.Occupation,\n ),\n [`${actionTypes.FETCH_USER_ADDRESSES}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"Addresses\",\n payload,\n ),\n [`${actionTypes.FETCH_USER_CONTACT_DETAILS}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"Contacts\",\n payload,\n ),\n [`${actionTypes.FETCH_USER_VERIFICATION_STATUS}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"Verification\",\n payload,\n ),\n [`${actionTypes.FETCH_ONLINE_SALES_KYC}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"OnlineSalesKycStatus\",\n payload,\n ),\n [`${actionTypes.ADD_CONTACT_HISTORY}_PENDING`]: (state) =>\n state.set(\n \"isAddContactHistorySucceed\",\n undefined,\n ),\n [`${actionTypes.ADD_CONTACT_HISTORY}_FULFILLED`]: (state) =>\n state\n .set(\n \"OnlineSalesKycStatus\",\n {\n Result: OnlineSalesKycStatusEnum.Active,\n },\n )\n .set(\n \"isAddContactHistorySucceed\",\n true,\n ),\n [`${actionTypes.ADD_CONTACT_HISTORY}_REJECTED`]: (state) =>\n state.set(\n \"isAddContactHistorySucceed\",\n false,\n ),\n [`${actionTypes.FETCH_USER_CURRENCY_PREFERENCES}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"currencyPreferences\",\n transformPreferenceResult(payload),\n ),\n [`${actionTypes.FETCH_USER_DEALS}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"numberOfDeals\",\n payload!.Deals.length,\n ),\n [`${actionTypes.FETCH_PASSFORT_MIGRATION_STATUS}_FULFILLED`]: (state, { payload }) =>\n state.set(\n \"isPassfortMigrated\",\n payload.passfortMigrationStatus !== PassfortMigrationStatus.FAILED &&\n !!payload.passfortMigrationStatus,\n ),\n },\n Map(initState),\n);\n\nexport default {\n [PARTITION]: reducer,\n ...securityQuestionsReducer,\n ...personalDetailFormReducer,\n};\n","import * as config from 'ofxSettings';\nimport { INDIVIDUAL } from 'constants/entityTypes';\nimport { US, CA, SG, HK, IE } from 'constants/brands';\n\nexport const PARTITION_NAMESPACE = 'onboardingStatus';\nexport const ONFIDO_VERIFICATION_START_URL_PATH = 'verification';\nexport const VERIFICATION_UPLOAD_URL_PATH = 'verification/upload';\nexport const ONFIDO_JOURNEY_URL = `${config.heliosBaseUrl}${ONFIDO_VERIFICATION_START_URL_PATH}`;\nexport const DOCUMENT_UPLOAD_URL = `${config.heliosBaseUrl}${VERIFICATION_UPLOAD_URL_PATH}`;\nexport const POA_DOCUMENT_UPLOAD_URL = `${config.heliosBaseUrl}${VERIFICATION_UPLOAD_URL_PATH}/poa`;\n\nexport const onfidoDateCheck = (onfidoReleaseDates, entityTypeId: string) =>\n // Corporate and Personal require different timestamps for the same LegalEntities\n entityTypeId === INDIVIDUAL ? onfidoReleaseDates.individual : onfidoReleaseDates.corporate;\n\nexport const onfidoEnabledCountries = [US, CA, SG, HK, IE];\n","export { default } from './Container';\nexport { default as reducer } from './reducer';\nexport { PARTITION as headerV2Partition } from './constants';\nexport { IPartition as IHeaderV2Partition } from './types';\nexport { fetchUserVerificationStatus, fetchPassfortMigrationStatus } from './actions';\n","export type AllComplianceEvents =\n | IUserCreated\n | IComplianceCheckResultChanged\n | IPassfortWebhookResult;\n\nexport enum Channels {\n COMPLIANCE = 'Compliance',\n}\n\nexport enum PassfortWebhookEventTypes {\n IDENTITY_CHECK = 'IDENTITY_CHECK',\n IDENTITY_CHECK_ONFIDO = 'IDENTITY_CHECK_ONFIDO',\n MANUAL_IDENTITY_CHECK = 'MANUAL_IDENTITY_CHECK',\n POA = 'POA',\n}\nexport enum CommonStatus {\n PASS = 'PASS',\n FAIL = 'FAIL',\n ERROR = 'ERROR',\n IN_PROGRESS = 'IN_PROGRESS',\n}\n\nexport enum PoaStatus {\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED_PASS = 'COMPLETED_PASS',\n COMPLETED_FAIL = 'COMPLETED_FAIL',\n EMPTY = '',\n}\n\nexport enum ManualStatus {\n TRUE = 'TRUE',\n FALSE = 'FALSE',\n}\n\nexport enum PassfortMigrationStatus {\n IN_PROGRESS = 'IN_PROGRESS',\n FAILED = 'FAILED',\n MIGRATED = 'MIGRATED',\n}\n\ntype AllPassfortEventStatuses = CommonStatus | PoaStatus | ManualStatus | PassfortMigrationStatus;\n\nexport interface IWebSocketEvent {\n type: string;\n data: string;\n UserID: string;\n name: Channels;\n}\n\ninterface ICommonEventFields {\n userId: string;\n complianceEventType: ComplianceEventTypes;\n}\n\nexport interface IUserCreated extends ICommonEventFields {\n isActive: boolean;\n createdDateTime: Date;\n passfortMigrationStatus: PassfortMigrationStatus;\n}\n\nexport interface IComplianceCheckResultChanged extends ICommonEventFields {\n type: IComplianceCheckResultChangedTypes;\n isPassed: boolean;\n lastUpdated: Date;\n}\n\nexport interface IPassfortWebhookResult extends ICommonEventFields {\n eventType: PassfortWebhookEventTypes;\n status: AllPassfortEventStatuses;\n lastUpdated: Date;\n createdDateTime: Date;\n IsRetryAllowed: boolean | null;\n}\n\nexport enum IComplianceCheckResultChangedTypes {\n ClearToPayAsRecipient = 'ClearToPayAsRecipient',\n ClearToPayAsFullUser = 'ClearToPayAsFullUser',\n ClearToDeal = 'ClearToDeal',\n ClearToPayAsFullPartner = 'ClearToPayAsFullPartner',\n}\n\nexport enum ComplianceEventTypes {\n USER_UPDATED = 'UserUpdated',\n USER_CREATED = 'UserCreated',\n COMPLIANCE_CHECKRESULT_CHANGED = 'ComplianceCheckResultChanged',\n PASSFORT_WEB_HOOK_RESULT = 'PassfortWebhookResult',\n}\n","export { default } from './Container';\nexport { default as onlineKycReducer } from './reducer';\nexport { default as NewTransferButton } from './components/NewTransferButton';\nexport { NewTransferBtnGtmClassEnum } from './components/NewTransferButton';\n","import * as config from 'ofxSettings';\n\nexport const PARTITION_NAMESPACE = 'consumerOnboardingStatus';\nexport const ONFIDO_VERIFICATION_START_URL_PATH = 'verification';\nexport const VERIFICATION_UPLOAD_URL_PATH = 'verification/upload';\nexport const ONFIDO_JOURNEY_URL = `${config.heliosBaseUrl}${ONFIDO_VERIFICATION_START_URL_PATH}`;\nexport const DOCUMENT_UPLOAD_URL = `${config.heliosBaseUrl}${VERIFICATION_UPLOAD_URL_PATH}`;\nexport const CTD_STATUS_PASSED = true;\nexport const CTD_STATUS_FAILED = false;\nexport const STATUS_PASSED = 'PASS';\nexport const STATUS_FAILED = 'FAIL';\nexport const STATUS_ERROR = 'ERROR';\nexport const STATUS_INCOMPLETED = 'INCOMPLETE';\nexport const STATUS_IN_PROGRESS = 'IN_PROGRESS';\nexport const STATUS_COMPLETED_PASS = 'COMPLETED_PASS';\nexport const STATUS_COMPLETED_FAIL = 'COMPLETED_FAIL';\n","import * as Cookie from 'js-cookie';\nimport * as ofxUserInfo from 'ofxUserInfo';\n\nconst IS_NEW_TRANSFER_OPTED_IN = 'isNewTransferOptedIn';\nconst IS_NEW_TRANSFER_AUTO_OPTED_IN = 'isNewTransferAutoOptedIn';\n\nconst OPT_IN = 'opt-in';\n\n/**\n * Manual Opt In/Out Helpers\n */\nconst isUserManuallyOptedInToNewTransfer = () => Cookie.get(IS_NEW_TRANSFER_OPTED_IN) === OPT_IN;\n\nexport const setUserAsManuallyOptedInToNewTransfer = () => {\n Cookie.set(IS_NEW_TRANSFER_OPTED_IN, OPT_IN, { domain: 'ofx.com' });\n};\n\n/**\n * Auto Opt In Helpers\n */\nexport const isUserAutoOptedInToNewTransfer = () =>\n Cookie.get(IS_NEW_TRANSFER_AUTO_OPTED_IN) === OPT_IN;\n\nexport const autoOptInUserToNewTransferCheck = (autoOptInToNewTransferDate: number) => {\n const isUserManuallyOptedIn = isUserManuallyOptedInToNewTransfer();\n const isUserAutoOptedIn = isUserAutoOptedInToNewTransfer();\n\n if (\n !isUserAutoOptedIn &&\n !isUserManuallyOptedIn &&\n new Date(ofxUserInfo.enteredAt).getTime() >= autoOptInToNewTransferDate\n ) {\n Cookie.set(IS_NEW_TRANSFER_AUTO_OPTED_IN, OPT_IN, { domain: 'ofx.com' });\n }\n};\n\nexport const isUserOptedInToNewTransfer = () =>\n isUserManuallyOptedInToNewTransfer() || isUserAutoOptedInToNewTransfer();\n","export { default as MfaNotice } from './Container';\nexport { default as mfaNoticeReducer } from './reducer';\n","export enum MfaNoticeStepEnum {\n NOTICE_REVIEW = 'NOTICE_REVIEW',\n SECURITY_QUESTIONS = 'SECURITY_QUESTIONS',\n MOBILE_PHONE_UPDATE_FORM = 'MOBILE_PHONE_UPDATE_FORM',\n}\n\nexport const PARTITION = 'mfaNotice';\n\nexport const ACTION_NAMESPACE = 'MFA_NOTICE';\n","import { INavConfig } from './types';\nimport * as ofxUserInfo from 'ofxUserInfo';\nimport isoLegalEntities from 'constants/isoLegalEntities';\nimport appRoutesConfig from 'constants/appRoutesConfig';\nimport faqsLinks from 'constants/faqsLinks';\nimport { iconsClassNames } from '../../constants';\n\nconst getFaqsLink = (userIsoLegalEntity?: string) => {\n let location = isoLegalEntities.AU;\n if (userIsoLegalEntity) {\n location = userIsoLegalEntity.toLowerCase();\n }\n return faqsLinks[location];\n};\n\nexport default {\n primaryNav: [\n {\n localisationKey: 'header-v2-nav-transfers',\n route: appRoutesConfig.transfers.basePath,\n uiaClassName: 'uia-nav-transfers',\n openInNewTab: false,\n iconClassName: 'transfers',\n },\n {\n localisationKey: 'header-v2-nav-recipients',\n route: appRoutesConfig.recipients.basePath,\n uiaClassName: 'uia-nav-recipients',\n openInNewTab: false,\n iconClassName: 'recipients',\n },\n {\n localisationKey: 'header-v2-nav-rate-alerts',\n route: appRoutesConfig.rateAlerts.basePath,\n uiaClassName: 'uia-nav-rate-alerts',\n openInNewTab: false,\n iconClassName: 'rate-alerts',\n },\n {\n localisationKey: 'header-v2-nav-ofx-bank-details',\n route: appRoutesConfig.paymentAccounts.basePath,\n uiaClassName: 'uia-nav-payment-accounts',\n openInNewTab: false,\n iconClassName: 'bank-details',\n },\n {\n localisationKey: 'header-v2-nav-faqs',\n route: getFaqsLink(ofxUserInfo.isoLegalEntity),\n uiaClassName: 'uia-nav-faq',\n openInNewTab: true,\n iconClassName: 'faqs',\n },\n ],\n primaryNavForBSM: [\n {\n localisationKey: 'header-v2-nav-recipients',\n route: appRoutesConfig.recipients.basePath,\n uiaClassName: 'uia-nav-recipients',\n openInNewTab: false,\n iconClassName: 'recipients',\n },\n ],\n actions: {\n userActivity: {\n localisationKey: 'header-v2-nav-activity',\n uiaClassName: 'uia-nav-activity',\n iconClassName: iconsClassNames.activity,\n },\n userAccount: {\n localisationKey: 'header-v2-nav-account',\n uiaClassName: 'uia-nav-account',\n iconClassName: iconsClassNames.account,\n routes: [\n {\n route: appRoutesConfig.profileAndSettings.basePath,\n localisationKey: 'header-v2-sub-navigation-profile-settings',\n iconName: 'settings',\n },\n {\n route: appRoutesConfig.logout.basePath,\n localisationKey: 'header-v2-sub-navigation-logout',\n iconName: 'logout',\n },\n ],\n },\n },\n} as INavConfig;\n","import * as React from 'react';\nimport i18n from 'libs/i18n';\n\n// Ensures the number is in a callable format for href=tel\nexport const formatCustomerSupportNumber = (phoneNumber: string) =>\n phoneNumber.replace(/[()]/g, '').replace(/ /g, '-');\n\nexport const renderCustomerSupportNumberLink = (isPersonal: boolean) => {\n const contactNumber = i18n(\n `dashboard-side-need-help-${isPersonal ? 'personal' : 'business'}-contact-number`,\n );\n\n return (\n \n {contactNumber}\n \n );\n};\n","import { Map } from 'immutable';\n\nexport enum EntityTypes {\n INDIVIDUAL = 'Individual',\n SOLE_TRADER = 'Sole Trader',\n TRUST = 'Trust',\n PARTNERSHIP = 'Partnership',\n ASSOCIATION_COOPERATIVE_CHARITY = 'Association/Co-operative/Charity',\n GOVERNMENT_BODY = 'Government Body',\n PRIVATE_COMPANY = 'Private Company',\n PUBLIC_COMPANY = 'Public Company',\n}\n\nexport default Map({\n '4268e97f-7e79-42f7-8c8e-97cea3b3ec98': EntityTypes.INDIVIDUAL,\n '3949f7ed-c6fd-417f-94ea-a694e764c74d': EntityTypes.SOLE_TRADER,\n '6ca3ae8e-7377-4b01-82bd-ae9534a81193': EntityTypes.TRUST,\n '92120555-d681-4703-874f-47f613bd5522': EntityTypes.PARTNERSHIP,\n 'b7440a9a-1831-4866-b7af-06b6da8e7f00': EntityTypes.ASSOCIATION_COOPERATIVE_CHARITY,\n 'e6089531-943c-439b-99d8-97726fc51890': EntityTypes.GOVERNMENT_BODY,\n '634e1072-291c-4f0b-8e06-c49f2a3cba41': EntityTypes.PRIVATE_COMPANY,\n 'fe59ebeb-6e81-4e5e-8aa2-4c1538578cbd': EntityTypes.PUBLIC_COMPANY,\n});\n","export const ACTION_NAMESPACE = 'MFA-MOBILE-NUMBER-UPDATE-FORM';\nexport const FORM_NAME = 'mfaMobileNumberUpdateForm';\n","import { createAction } from 'redux-actions';\nimport { getCorpUserIsOnfidoComplete } from 'libs/getCorpUserIsOnfidoComplete';\n\nexport const actionTypes = {\n FETCH_ONFIDO_COMPLIANCE_STATUS: 'FETCH_ONFIDO_COMPLIANCE_STATUS',\n};\n\nexport default {\n fetchOnfidoComplianceStatus: createAction(\n actionTypes.FETCH_ONFIDO_COMPLIANCE_STATUS,\n (\n userName: string,\n enableCorporateOnboardingFrontEnd: boolean | undefined,\n isPassfortMigrated: boolean | undefined,\n ) =>\n getCorpUserIsOnfidoComplete(\n userName,\n enableCorporateOnboardingFrontEnd,\n isPassfortMigrated,\n ),\n ),\n};\n","import { createAction } from 'redux-actions';\nimport { UserApi } from 'libs/api';\nimport { IConsumerComplianceCheck, IConsumerComplianceEvent } from './types';\n\nexport const actionTypes = {\n FETCH_CONSUMER_COMPLIANCE_CHECK: 'FETCH_CONSUMER_COMPLIANCE_CHECK',\n FETCH_SET_CONSUMER_COMPLIANCE_CHECK: 'FETCH_SET_COMPLIANCE_CHECK',\n};\n\nconst fetchConsumerComplianceCheck = (\n createProfile: boolean,\n isEnableComplianceModeByCountry: boolean,\n country?: string,\n complianceEvent?: IConsumerComplianceEvent,\n): Promise => {\n if (isEnableComplianceModeByCountry && typeof country !== 'undefined') {\n return UserApi.getOnboardingStatus(country, complianceEvent);\n }\n return UserApi.getConsumerComplianceCheck(createProfile);\n};\n\nexport default {\n fetchConsumerComplianceCheck: createAction(\n actionTypes.FETCH_CONSUMER_COMPLIANCE_CHECK,\n fetchConsumerComplianceCheck,\n ),\n};\n","import { createAction, handleActions } from 'redux-actions';\nimport { Map } from 'immutable';\nimport { UserApi, QuoteApi } from 'libs/api';\nimport { SPOT_TRANSFER } from 'constants/dealTypes';\n\nconst actionPrefix = 'QuoteCalculator/';\nexport const partition = 'quoteCalculator';\n\nfunction mapCurrencyPreferences(values) {\n const { BuyCurrency, SellCurrency, BuyAmount, SellAmount, hasBuyEdit } = values;\n return {\n BuyCurrency,\n SellCurrency,\n DefaultAmount: {\n Amount: hasBuyEdit ? BuyAmount : SellAmount,\n Currency: hasBuyEdit ? BuyCurrency : SellCurrency,\n },\n };\n}\n\n// Action Creators\nexport const actionTypes = {\n FETCH_USER_SETTLEMENT_LIMIT_CURRENCIES: `${actionPrefix}FETCH_USER_SETTLEMENT_LIMIT_CURRENCIES`,\n FETCH_TRADED_CURRENCIES: `${actionPrefix}FETCH_TRADED_CURRENCIES`,\n FETCH_CURRENCIES_START: `${actionPrefix}FETCH_CURRENCIES_START`,\n FETCH_CURRENCIES_SUCCESS: `${actionPrefix}FETCH_CURRENCIES_SUCCESS`,\n FETCH_CURRENCIES_ERROR: `${actionPrefix}FETCH_CURRENCIES_ERROR`,\n FETCH_USER_CURRENCY_PREFERENCES: `${actionPrefix}_FETCH_USER_CURRENCY_PREFERENCES`,\n UPDATE_USER_CURRENCY_PREFERENCES: `${actionPrefix}_UPDATE_USER_CURRENCY_PREFERENCES`,\n};\n\n// Actions\nexport const fetchAllowedCurrenciesAction = createAction(\n actionTypes.FETCH_USER_SETTLEMENT_LIMIT_CURRENCIES,\n () => UserApi.getAllowedCurrencies(),\n);\n\nexport const fetchTradedCurrenciesAction = createAction(actionTypes.FETCH_TRADED_CURRENCIES, () =>\n QuoteApi.getCurrencies(SPOT_TRANSFER),\n);\n\nexport const fetchCurrenciesAction = {\n types: [\n actionTypes.FETCH_CURRENCIES_START,\n actionTypes.FETCH_CURRENCIES_SUCCESS,\n actionTypes.FETCH_CURRENCIES_ERROR,\n ],\n sequence: true,\n payload: [() => fetchTradedCurrenciesAction(), () => fetchAllowedCurrenciesAction()],\n};\n\nexport const fetchUserCurrencyPreferences = createAction(\n actionTypes.FETCH_USER_CURRENCY_PREFERENCES,\n UserApi.getUserCurrencyPreferences,\n);\n\nexport const updateUserCurrencyPreferences = createAction(\n actionTypes.UPDATE_USER_CURRENCY_PREFERENCES,\n (data) => {\n try {\n UserApi.updateUserCurrencyPreferences(mapCurrencyPreferences(data));\n } catch (err) {\n // suppress error\n }\n },\n);\n\nconst getCurrencyAmount = (defaultCurrency, defaultAmount, currency) =>\n defaultCurrency === currency ? defaultAmount : 0;\n\nexport const transformPreferenceResult = (payload) => {\n const preferences = {\n currencyfrom: {\n currency: payload.BuyCurrency,\n amount: getCurrencyAmount(\n payload.DefaultAmount.Currency,\n payload.DefaultAmount.Amount,\n payload.BuyCurrency,\n ),\n },\n currencyto: {\n currency: payload.SellCurrency,\n amount: getCurrencyAmount(\n payload.DefaultAmount.Currency,\n payload.DefaultAmount.Amount,\n payload.SellCurrency,\n ),\n },\n };\n return preferences;\n};\n\n// Reducers\nexport const reducers = handleActions(\n {\n [`${actionTypes.FETCH_USER_CURRENCY_PREFERENCES}_PENDING`]: (state) =>\n state.set('loading', true).set('preferences', null),\n [`${actionTypes.FETCH_USER_CURRENCY_PREFERENCES}_FULFILLED`]: (state, action) => {\n const preferences = transformPreferenceResult(action.payload);\n return state.set('loading', false).set('preferences', preferences);\n },\n [`${actionTypes.FETCH_USER_CURRENCY_PREFERENCES}_REJECTED`]: (state) =>\n state.set('loading', false).set('preferences', null),\n\n [`${actionTypes.FETCH_USER_SETTLEMENT_LIMIT_CURRENCIES}_FULFILLED`]: (state, action) =>\n state.set('allowedCurrencies', action.payload.Currencies),\n [`${actionTypes.FETCH_TRADED_CURRENCIES}_FULFILLED`]: (state, action) =>\n state.set('tradedCurrencies', action.payload.Currencies),\n [`${actionTypes.FETCH_CURRENCIES_SUCCESS}`]: (state) => {\n const allowedCurrencies = state.get('allowedCurrencies');\n const tradedCurrencies = state.get('tradedCurrencies');\n const fromCurrencies = allowedCurrencies.map((c) => {\n const currencyCode = c.Code;\n const foundCurrency = tradedCurrencies.find(\n (currency) => currency.Code === currencyCode,\n );\n const currencyName = foundCurrency ? foundCurrency.Name : '';\n return {\n text: `${currencyCode} (${currencyName})`,\n value: `${currencyCode}`,\n };\n });\n const toCurrencies = tradedCurrencies.map((currency) => ({\n value: currency.Code,\n text: `${currency.Code} (${currency.Name})`,\n }));\n return state\n .set('fromCurrencies', fromCurrencies)\n .set('toCurrencies', toCurrencies)\n .set('loading', false);\n },\n [`${actionTypes.FETCH_CURRENCIES_START}`]: (state) => state.set('loading', true),\n [`${actionTypes.FETCH_CURRENCIES_ERROR}`]: (state) => state.set('loading', false),\n },\n new Map({\n fromCurrencies: [],\n toCurrencies: [],\n loading: false,\n user: null,\n }),\n);\n\nexport default {\n [partition]: reducers,\n};\n","export const i18nPrefix = 'dashboard';\nexport const FEATURE_NAMESPACE = 'DASHBOARD';\nexport const CREATE_TRANSFER_ROUTE = 'transfersCreate';\nexport const UPLOAD_DOCUMENTS_ROUTE = 'uploadDocuments';\nexport const openDealStatus = 'open';\nexport const attachLaterName = 'TBA';\nexport const attachLaterLabel = '(Attach Later)';\nexport const allDeals = 'All';\n\nexport const USER_VERIFICATION_STATUS = {\n VERIFIED: 'Verified',\n UNVERIFIED: 'Unverified',\n};\n\nexport const PennyCreditTestStatus = {\n PendingConfirmation: 'PendingConfirmation',\n Passed: 'Passed',\n None: 'None',\n MaxAttemptsViolated: 'MaxAttemptsViolated',\n};\n\nexport const PennyCreditTestResult = {\n NotDone: 'NotDone',\n Pass: 'Pass',\n Fail: 'Fail',\n MaxAttemptsViolated: 'MaxAttemptsViolated',\n};\n\nexport const dealStatusPaid = 'Remitted';\n\nexport const CCA_BACKEND_STATE = {\n NULL: 'CCANotStarted',\n NO_CONTACT: '1',\n AUTO_NO_CONTACT: '9',\n ONLINE_CCA_NOT_STARTED: '100',\n ONLINE_CCA_PRIMARY_USER: 'CCAStarted',\n ONLINE_CCA_SHAREHOLDERS: 'CCAShareholdersStarted',\n ONLINE_CCA_COMPLETE: 'CCADocsUploaded',\n};\n\nexport const CCA_STATE = {\n AWAITING_PRIMARY_USER_INFO: 'AWAITING_PRIMARY_USER_INFO',\n AWAITING_BUSINESS_INFO: 'AWAITING_BUSINESS_INFO',\n AWAITING_VERIFICATION: 'AWAITING_VERIFICATION',\n};\n\nexport const getCcaState = (ccaBackendState: string | undefined): string | undefined => {\n switch (ccaBackendState) {\n case CCA_BACKEND_STATE.NULL:\n case CCA_BACKEND_STATE.NO_CONTACT:\n case CCA_BACKEND_STATE.AUTO_NO_CONTACT:\n case CCA_BACKEND_STATE.ONLINE_CCA_NOT_STARTED:\n case CCA_BACKEND_STATE.ONLINE_CCA_PRIMARY_USER:\n return CCA_STATE.AWAITING_PRIMARY_USER_INFO;\n\n case CCA_BACKEND_STATE.ONLINE_CCA_SHAREHOLDERS:\n return CCA_STATE.AWAITING_BUSINESS_INFO;\n\n case CCA_BACKEND_STATE.ONLINE_CCA_COMPLETE:\n return CCA_STATE.AWAITING_VERIFICATION;\n\n default:\n return undefined;\n }\n};\n","export { default } from './Container';\nexport { NewTransferBtnGtmClassEnum } from './types';\n","export enum NewTransferBtnGtmClassEnum {\n NAV = 'gtm-nav-transfer-now',\n DASHBOARD_BANNER = 'gtm-dashboard-new-transfer',\n DASHBOARD_QUOTE = 'gtm-quote-calculator-transfer-now',\n}\n\nexport interface INewTransferButtonConfig {\n [key: string]: {\n btnGtmClass: NewTransferBtnGtmClassEnum;\n btnStyleClass: string;\n localisationToken: string;\n };\n}\n","export { default as NewTransferOptInModal } from './NewTransferOptInModalContainer';\nexport { default as NewTransferAutoOptIn } from './NewTransferAutoOptIn';\n","import { createAction } from 'redux-actions';\nimport { ACTION_NAMESPACE, MfaNoticeStepEnum } from './constants';\n\nexport const actionTypes = {\n UPDATE_MFA_NOTICE_STEP: `${ACTION_NAMESPACE}/UPDATE_MFA_NOTICE_STEP`,\n};\n\nexport const updateMfaNoticeStep = createAction(\n actionTypes.UPDATE_MFA_NOTICE_STEP,\n (payload: MfaNoticeStepEnum) => payload,\n);\n\nexport default {\n updateMfaNoticeStep,\n};\n","export enum ErrorCodes {\n QUSettlementLimitRule0004 = 'QU:SettlementLimitRule:0004',\n QUSettlementLimitRule0005 = 'QU:SettlementLimitRule:0005',\n QUMinimumDealAmountRule0001 = 'QU:MinimumDealAmountRule:0001',\n QUCreateQuoteRule0001 = 'QU:CreateQuote:0001',\n QUSettlementLimitRule0002 = 'QU:SettlementLimitRule:0002',\n USUpdateUserContacts0007 = 'US:UpdateUserContacts:0007',\n}\n","import { get } from 'lodash';\nimport { IConsumerComplianceEvent } from '../../../routes/Dashboard/components/Banner/ConsumerOnboarding/types';\n\n// Request data from compliance check API\n// If the Passfort user profile still doesnt exist or failed\n// make another request to the same endpoint passing a URL param\n// to trigger the Passfort profile creation flow in the backend\n// TODO: after remove isEnableComplianceModeByCountry flag we should remove this helper at all\nexport const complianceCheckHelper = async (\n request: any,\n isEnableComplianceModeByCountry: boolean,\n country?: string,\n complianceEvent?: IConsumerComplianceEvent,\n) => {\n let response = await request(false, isEnableComplianceModeByCountry, country, complianceEvent);\n if (isEnableComplianceModeByCountry) {\n return response;\n }\n const passfortStatus = get(response.value, 'passfortMigrationStatus');\n const shouldCreatePassfortProfile = !passfortStatus || passfortStatus === 'FAILED';\n if (shouldCreatePassfortProfile) response = request(shouldCreatePassfortProfile);\n return response;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","import { UserApi, SecureApi } from 'libs/api';\nimport { SecureMvc } from 'libs/@types/secureMvc';\n\ntype IComplianceSuccessful = {\n ComplianceCheckId: number;\n EventType: string;\n Status: 'Active' | 'Inactive' | '';\n UpdatedOn: number;\n};\n\ntype IComplianceDontExist = {\n ErrorCode: string;\n Message: string;\n SystemMessage: string;\n Errors: [\n {\n ErrorCode: string;\n Message: string;\n SystemMessage: string;\n },\n ];\n};\n\ntype OnfidoStatus = {\n IsOnfidoCompleteFetched: boolean;\n} & (IComplianceSuccessful | IComplianceDontExist);\n\nexport const COMPLIANCE_EVENT_TYPE_ONFIDO = 'Onfido Check Completed';\n\nexport enum ComplianceEventOnfidoStatus {\n Active = 'Active',\n Inactive = 'Inactive',\n}\n\nexport enum IdentityCheck {\n COMPLETED_PASS = 'COMPLETED_PASS',\n INCOMPLETE = 'INCOMPLETE',\n}\n\nconst ONFIDO_COMPLIANCE_CHECK_ID = 61;\n\nexport const getCorpUserIsOnfidoComplete = async (\n userName: string,\n enableCorporateOnboardingFrontEnd: boolean | undefined,\n isPassfortMigrated: boolean | undefined,\n) => {\n let onfidoStatus: OnfidoStatus;\n\n if (enableCorporateOnboardingFrontEnd === undefined || isPassfortMigrated === undefined) {\n // Corporate, LD flag or isPassfortMigrated not ready, we don't know which backend to hit,\n // return isOnfidoCompleteFetched false to indicate to component(s) its not ready\n onfidoStatus = {\n ComplianceCheckId: ONFIDO_COMPLIANCE_CHECK_ID,\n EventType: COMPLIANCE_EVENT_TYPE_ONFIDO,\n Status: '',\n UpdatedOn: 0,\n IsOnfidoCompleteFetched: false,\n };\n } else {\n // Corporate, LD flag ready\n const isNewCorporateOnboardingFlow =\n enableCorporateOnboardingFrontEnd && isPassfortMigrated;\n\n if (isNewCorporateOnboardingFlow) {\n // eslint-disable-next-line max-len\n const spentaCorporateStatusResponse: SecureMvc.ISpentaCorporateStatusResponse = await SecureApi.getSpentaCorporateStatus();\n onfidoStatus = {\n ComplianceCheckId: ONFIDO_COMPLIANCE_CHECK_ID,\n EventType: COMPLIANCE_EVENT_TYPE_ONFIDO,\n Status: ComplianceEventOnfidoStatus.Inactive,\n UpdatedOn: 0,\n IsOnfidoCompleteFetched: true,\n };\n\n const hasCorpUsers =\n spentaCorporateStatusResponse &&\n spentaCorporateStatusResponse.corpUsers &&\n spentaCorporateStatusResponse.corpUsers.length > 0;\n const hasIdentityCheckOnfido =\n hasCorpUsers && !!spentaCorporateStatusResponse.corpUsers[0].identityCheckOnfido;\n const hasIdentityCheck =\n hasCorpUsers &&\n spentaCorporateStatusResponse.corpUsers[0].identityCheck ===\n IdentityCheck.COMPLETED_PASS;\n\n // if identity was checked skip onfido check\n if (hasIdentityCheck || hasIdentityCheckOnfido) {\n onfidoStatus.Status = ComplianceEventOnfidoStatus.Active;\n }\n } else {\n onfidoStatus = await UserApi.getComplianceStatusByEvent(\n ONFIDO_COMPLIANCE_CHECK_ID,\n userName,\n );\n onfidoStatus.IsOnfidoCompleteFetched = true;\n }\n }\n return onfidoStatus;\n};\n"],"sourceRoot":""}