{"version":3,"sources":["assets/downarrow.png","assets/globe.svg","assets/step-completed.svg","assets/step-started.svg","assets/step-future.svg","assets/app-store.png","assets/google-play.png","assets/expand-icon.png","assets/right-from-bracket.svg","assets/chevron-right.png","assets/step5-completed-mobile.svg","assets/equal-housing-logo.png","assets/chevron-down.png","assets/gear.svg","assets/phone.svg","assets/spinner.gif","assets/phone-background.png","assets/phone-background-mobile.png","assets/desk-chair.svg","assets/chevron-left.png","Authentication/PrivateRoute.js","utils.js","components/Footer.js","components/GenericLayout.js","components/Default.js","components/NavBar.js","components/Layout.js","components/MarketingScripts.js","components/StepsIndicator/StepsIndicator.js","components/Registration.js","components/MovrRedirect.js","pages/MovrRedirect/index.jsx","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","__webpack_require__","p","connect","state","layout","translations","dispatch","bindActionCreators","AppActions","withRouter","React","Component","constructor","props","super","penny","registration","this","authenticate","render","_this$props","_this$props$layout","location","logedIn","uiData","children","pathname","indexOf","createElement","style","marginTop","display","flexDirection","justifyContent","alignItems","fontSize","fontWeight","FadeLoader","size","color","loading","windowObject","window","hostname","checkForAllNumbers","inputtxt","length","toString","match","getActiveFeatures","features","feature","whitelisted","find","s","toggled","phazOne","status","_loanIsForbearance","_genericStatusCheck3","ammountPaymentPastDue","genericStatusCheck","hasSubStatus","_status$processStatus3","_status$processPhaseS","isForbearance","processStatus","toLowerCase","forbearanceStatus","processPhaseStatus","loanIsForbearance","_status","_status$processStatus5","logic","statuses","substatuses","_statuses$processStat","hasStatus","includes","_statuses$processPhas","paymentStatus","_statuses$processStat2","_statuses$paymentStat","_statuses$paymentSubS","paymentSubStatus","numPayment","_paymentStatus6","greater","arguments","undefined","lessthan","d","_paymentStatus7","_paymentStatus8","_paymentStatus9","i","_paymentStatus10","Footer","statedis","_layout$selectedLoanA","matches","stat","selectedLoanAvailability","textStyle","theme","role","backgroundColor","paddingBottom","maxWidth","margin","padding","width","small","height","src","require","className","PnmacText","fontFamily","dangerouslySetInnerHTML","__html","EqualHousingLegal","href","rel","target","numberOfLines","clickableLinkMedium","styles","disclosureContainerRegistration","onClick","setState","alt","chevronContainer","disclosureContainer","disclosureText","StateDisclosuresFooterweb2","aria-hidden","marginLeft","lineHeight","marginRight","BankruptcyCheck","_genericStatusCheck","_genericStatusCheck2","_genericStatusCheck4","_genericStatusCheck5","_genericStatusCheck6","BKStatus","activeBk7","activeBk11","activeBk12","activeBk13","dischargedBk7","completeBk7","Object","keys","map","key","bankruptcyChapter7","bankruptcyChapter11","bankruptcyChapter12","bankruptcyChapter13","bankruptcyChapter7Discharged","bankruptcyChapter7DischargedSurrender","StateDisclosuresFooterweb1","cursor","dislpay","textDecoration","textDecorationLine","GenericLayout","showHeader","PnmacMediaQuery","queries","xSmall","medium","large","PnmacAppBar","assign","Default","PureComponent","Redirect","to","TOGGLE_DRAWER","SELECT_LOAN","TrackerHitTypeLID_ENUM","TrackerActionLID_ENUM","TrackerCategoryLID_ENUM","UserLanguage_ENUM","AppEvents","DefaultComponent","PnmacCardContent","View","minHeight","NavBar","loanId","_layout$currentLoan","_layout$currentLoan2","_layout$currentLoan3","_layout$currentLoan4","_layout$currentLoan5","_loanArray2","_layout$currentLoan8","_layout$currentLoan9","_location$pathname2","menuItems","hasPmi","currentLoan","mortgageType","wisconsinoption","modPortalVisible","isTaxOptionsLoan","isModPortalVisible","hasEscrowShortageAnalysis","isEscrowAnalysisEnabled","isProductAndFeaturesEnabled","isRefinanceOrBuyAHomeEnabled","hasTaxOptionsEnabled","checkTaxOptionFeatureToggle","listItems","name","isSubServicingLoan","SubServicingMyHome","MyPennyHomeLink","canExpand","action","route","internal","ProductsAndOffers","pennyWise","refinanceOrBuyAHome","subList","ApplyOnline","_layout$userProfile","open","pennyHomeUrl","token","userProfile","user_id","MortgageRates","HomeEquityLoans","loanInformation","disabled","helocFlag","MakeADrawPageTitle","PendingDrawPageTitle","makeAPayment","oneTimePayment","automaticPayments","paymentViewPending","recentActivity","statementsDocuments","EscrowCenter","escrow","EscrowAnalysisPaymentChange","TaxOptionsTitle","mortgageInsuranceMonthlyPaymentAmount","MortgageInsurance","filter","PayoffDemands","amoritizationCalculator","messageCenter","faq","splice","ModificationCenter","ModificationStatus","ModificationForms","loanArray","sort","a","b","Date","loanAddedDate","_loanArray","_layout$currentLoan6","_layout$currentLoan7","_location$pathname","propertyAddressLine1","drawerOpen","paddingLeft","paddingTop","paddingRight","borderBottomColor","borderBottomWidth","alignContent","PnmacContextConsumer","title","alightItems","shadowOffset","shadowColor","shadowOpacity","shadowRadius","elevation","PnmacLoanSwitcher","isMobile","loans","parseInt","lienPriorityType","propertyStreet","displayTitle","selectedValue","selectedLoanNumber","contentStyle","position","top","left","onValueChange","itemValue","itemIndex","type","refreshSingleLoanData","refreshResourcesAfterLoanSwitching","marginBottom","PnmacCard","nativeID","Fragment","PnmacNavPanel","accessibilityRole","aria-role","selected","substring","toggleIcon","imageUp","Image","source","imageDown","aria-label","transform","selectedContainerStyles","borderLeftColor","borderLeftWidth","selectedStyles","onListItemClick","label","trackerDispatcher","English","Event","Click","history","push","message","toggle","clearListCookies","nav","baseRoute","logout","tab","containerStyles","navPanel","listItemStyles","subListItemStyles","textItemContainerStyles","textItemStyles","underLineColor","upIcon","downIcon","loanStyles","Layout_TrackerHitTypeLID_ENUM","Layout_TrackerActionLID_ENUM","Layout_TrackerCategoryLID_ENUM","Layout_UserLanguage_ENUM","Layout_TOGGLE_DRAWER","LOG_IN","FEATURE_TOGGLES","GET_MESSAGES","PAYMENT_VALIDATION","E_DIS","CHANGE_LANGUAGE","StyledDialog","withStyles","root","zIndex","& .MuiPaper-root","overflow","& .MuiPaper-elevation24","boxShadow","Dialog","BootstrapButton","textTransform","join","Button","PnmacMenu","hovering","setHovering","useState","handleClick","event","Hoverable","onHoverIn","onHoverOut","TouchableOpacity","onPress","hoverTabBg","defaultTabBg","selectTabBg","tintColor","Text","defaultTab","selectTab","Settings","AccountSettings","MiniDrawer","hoveringLang","setHoveringLang","hoveringContact","setHoveringContact","hoveringLogout","setHoveringLogout","PnmacAppbarHeader","PnmacAppbarContent","MenuIcon","titleAccess","flexGrow","logoUrl","lang","language","dontPost","Platform","OS","contactUs","PnmacUIButton","mode","hubCallback","textAlign","minWidth","marginHorizontal","borderRadius","paddingVertical","borderWidth","borderColor","takePayload","incomingMessages","mess","JSON","parse","showMessage","setTimeout","messag","messages","messageId","dataModel","MessageId","forEach","body","Body","idsUserId","IdsUserId","parentMessageId","ParentMessageId","receivedDateTimeUtc","ReceivedDateTimeUtc","readDateTimeUtc","ReadDateTimeUtc","subjectLID","SubjectLID","statusLID","StatusLID","messageTypeLID","MessageTypeLID","documentId","DocumentId","recipientLID","RecipientLID","senderLID","SenderLID","messageSourceLID","MessageSourceLID","firstName","FirstName","lastName","LastName","chatLog","ChatLog","LoanId","attachment","Attachment","closedEndSeconds","parseFloat","refreshBankData","banksToAdd","newBank","loanBankDetailAltId","pending","socketPrepend","customerObjectModel","loanActivity","loanSummary","docTemplates","loanNumber","pennyCanTalk","pennyCanHear","showChat","isSpeaking","isListening","timer","closeIconHover","hubIntitailized","[object Object]","_props$layout","_props$layout2","_props$layout3","borrowerId","Events","init","rest","chatMessages","chatIsInitialized","chatIsBlocked","trans","BackdropProps","DialogContent","isIE","PnmacActivityIndicatorGif","alignSelf","image","wrapedMobile","PnmacToaster","visible","shadow","animation","hideOnPress","customStyles","right","MacChat","flexBasis","flexShrink","w","border","MarketingScripts","env","host","dataLayer","isNaN","segmentId","digitalData","user","userName","username","ipAddress","loanStatus","loanStatusDescription","cookiesEnabled","propertyRegion","city","propertyLocality","zip","propertyPostalCode","page","pageName","getCurrentPageName","channel","pageUrl","environment","lead","form1","fields","currentCustomer","loanType","errors","phone","calculator","cta","linkName","chat","customerWebsite","rates","request","loanPurpose","propertyValue","loanAmount","county","isVa","response","currentProductName","mobile","direction","section","document","getElementById","data","userFields","field","lower","setAttribute","appendChild","prd","StepsIndicator","_ref","currentStep","steps","completed","currentStepObject","LargeMedium","step","index","stepColor","stepNumber","stepIcon","stepFuture","stepStarted","stepCompleted","stepLabel","Small","step5CompletedMobile","borderStyle","StyleSheet","create","container","line","circle","blueCircle","greenCircle","Registration_CHANGE_LANGUAGE","LOAN_NUMBERS","Registration_LOG_IN","Registration_TrackerHitTypeLID_ENUM","Registration_TrackerActionLID_ENUM","Registration_TrackerCategoryLID_ENUM","Registration_UserLanguage_ENUM","getWindowDimensions","innerWidth","innerHeight","AllSetView","onPressContinue","largeMedium","windowDimensions","setWindowDimensions","useEffect","handleResize","addEventListener","removeEventListener","phoneBackground","PnmacPaper","pageTitle","AllSet","notificationText","LoginAnytime","textDecorationColor","OnOurApp","idTag","GoToMyAccount","objectFit","DownloadPennymac","subtitleText","UseSameLogin","bottom","withPnmacContext","setValue","value","property","postRegistration","lastFour","termsAndConditions","dob","electronicCommunicaitons","propertyZip","stringify","moment","format","fetch","method","headers","Content-Type","Authorization","then","res","json","_data$lastFourError","_data$dobError","_data$loanError","_data$propertyZipErro","errorType","registerComplete","responseData","lastFourError","dobError","loanError","propertyZipError","catch","err","goToAccount","ln","loanNumbers","valid","ssn","checked","openedTerms","openedElectronics","timeOpen","loanErrorMsg","modalOpenTe","modalOpenEl","modalData","cancel","accept","header","node","link","content","modelId","callbackPath","isValid","componentDidMount","text","path","console","log","isFullURLContainsSubservicing","AgreeAndContinue","BannerView","InvalidDataPointsUserReg","NoActiveLoan","LockOut","DefaultErrorMessage","PnmacTermsModal","cancelTerms","ACE","callbackOnAccept","enject","handleClose","LoginSetup","ContactInfo","SecurityQuestions","LoanInfo","ConfirmLoanInfo","formBody","VerifyAdditionalDetails","LoanNumber","PnmacTextInput","placeholderTextColor","maxLength","error","onChangeText","onBlur","YourLoanNumberIsWelcomeLetter","formBodyError","ValidLoanId","PropertyZIPCode","EnterPropertyZip","LastFourSSN","EnterLast4DigitsSSN","DateOfBirth","translationText","multiline","toggleTheme","underlineColorAndroid","editable","selectionColor","toggleLanguage","testID","st","reduce","PnmacInputMask","mask","onChange","e","EnterDateOfBirth","Close","TermsContentDescription","ViewAsSeparatePage","TermsContent","IhaveReadAndAgree","textDecorationStyle","TermsConditionsLink","ElectronicCommunicationsDescription","ElectronicCommunicationsContent","CompleteRegistration","back","Back","movr_url","form","input","submit","MovrRedirect","queryString","search","urlParams","URLSearchParams","cookie","get","cookieName","PENNYWISE","App_CHANGE_LANGUAGE","SET_TOKEN","App_LOG_IN","LOG_OUT","OFFLINE_MODE","USER_IDLE_TIMEOUT","App_TrackerHitTypeLID_ENUM","App_TrackerActionLID_ENUM","App_TrackerCategoryLID_ENUM","App_UserLanguage_ENUM","TagManager","initialize","gtmId","LogIn","updateTracking","there","localStorage","getItem","handleOnIdle","setupTest","routeFound","register","languageSet","isMounted","directed","that","windowNav","BroadcastChannel","has","routerName","setItem","tok","pnmac_user","ss","is","url","pennyWiseAuth","checkConfig","unloadWindowUTCTimeString","removeItem","unloadWindowUTCTime","getTime","mobieWrapped","mobileWr","mobileWraped","preventDefault","currentUTCTime","toUTCString","evt","valu","componentDidUpdate","_this$props$layout$cu","_props$layout4","_props$layout5","_props$layout7","_props$layout8","Sentry","scope","setTag","_props$layout6","customerPreference","_props$layout9","_props$layout9$custom","_props$layout9$custom2","prefenceTypeId","prefenceValueTypeId","_window$location$path","_window$location$path2","PnmacContext","PnmacSessionTimer","closeCallBack","throttle","onAction","timeOutTime","IdleMessageLogout","keepMeLoggedIn","IdleMessageTitle","timeoutint","userIdleDetected","LocalizationProvider","dateAdapter","MomentUtils","PrivateRoute","Layout","Switch","Route","exact","component","Landing","ForceUpdate","Payment","testFixture","test","isOtp","refreshProp","PendingPayments","AchSuccess","StatementsAndDocuments","AmortizationCalculator","FAQ","LoanSummary","MessageCenter","ContactUs","LoanActivity","LoanEscrow","WisconsinTaxOptions","TaxOptions","Offers","PayoffDemand","AccountSettingsPage","ModForms","Mod","Interstitial","postMessage","pennyHomeFullyQualified","close","MakeADraw","makeadraw","MovrRed","Registration","BillMatrixHolder","EmailVerification","SuccessfulLogout","isLocalhost","Boolean","registerValidSW","swUrl","navigator","serviceWorker","onupdatefound","installingWorker","installing","onstatechange","controller","notifyNewContent","__webpack_exports__","store","dsn","integrations","Integrations","BrowserTracing","tracesSampleRate","baseUrl","getElementsByTagName","getAttribute","createBrowserHistory","ConditionalWrapper","condition","wrapper","ErrorComponent","AppDemo","componentDidCatch","errorInfo","ready","unregister","URL","process","origin","registerServiceWorker","hasError","Provider","PersistGate","persistor","Router","basename","App","AppRegistry","registerComponent","runApplication","rootTag"],"mappings":"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","file":"static/js/main.848853b6.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAICAYAAADJEc7MAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAWUlEQVQoU42L2w3AMAjErsvBQizHdGkOKVUeBNUfAREbrWNmHL8YLrgAaCIShwo6dKOZD1W8OxGSKs7+vpBkQnYjS0hm8RaRIyQjuEXk4dOFA1WN6e4xV4AXk8o3yaxhdsgAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/globe.69de574c.svg\";","module.exports = __webpack_public_path__ + \"static/media/step-completed.c67a172a.svg\";","module.exports = __webpack_public_path__ + \"static/media/step-started.e0865d3d.svg\";","module.exports = __webpack_public_path__ + \"static/media/step-future.ee47a869.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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hLe3N8uXL6ekpASTqXl6skVYUVFRWK1W5s2bx5YtWzCZTLz22mv88pe/5Nlnn2Xx4sWkp6czdepUnn76aRYtWgTgPlewceNG9979G9HOpvBqH8ul+0bEAvEwEnzgNPes2YW5qoZ6oxkjLsx6AwV6Oxvqitl6uYDS+jqanD9sUrCwsBCHw0FgYCDx8fHs37+/1f0ZM2bg5+eHy+VCRNDpdKxevZpu3bqhqiqjR48GYOnSpWRnZ7vL7dixg1WrVvHCCy8wbtw4zp8/T69evSgpKSE5Odl9iKK6uprk5GRGjx5NdHQ0gwYN4sEHH0TTND788EM++OADXFeXqzIzM/nb3/7GsmXLWjVJLpcLLy8vHn/8cQDefvttunfvztKlS0lMTKRz584cPXqU9PT0b92UGB4ezpQpU9yvS0tLWbBgAa+//nqrzYot3YLk5GSys7OJj49n4cKFWK1WLly4AEBiYiIul4slS5YwefJkpk6dyt///neqq6uZOXMmLpeLv/71r9/aR/wm32u6wenSrhkVqohJR9DePGLWfI5W14hDb8KsU7mst5HacJEtl89QVmfF6bo5p27E8ePHOXz4MP3792fmzJlthPXNT1VMTAyhoaFYrVbOnz9P586dAVrN+bRw8uRJoHniNSQkBGjeo9XyAFqora0lPz+f6OhoQkND6dSpk9s31zfWQE+fPg3Qpt+n1+sJCGg+K/zyyy/j5eWFyWRi48aNpKens2vXru+cnf/ss8946aWX0DQNm83GuXPnqKysbDNgaYlYzz77LH/84x8xm82ICC6Xyy0+s9mMXq/n1KlTfPTRR0ycOJHhw4dTUlJCnz592L179031rVpo15d/6BSleemmJRl06MwGOn9+mvDUL1AbBMXkSaXFyFpXETMv7mX1+UNcqam8ZaICaGho4PXXX8fpdDJ+/Hjmzp2LwWBok69lL9Xy5csxmUzs2LGDL7/80r0/feDAga2iiKIo7onHwsJCzp49i4jQtWtXYmJiWtnu1KmTu4919uxZd3/k/vvvbxVhrrV5reAURcFms7kFqygKixcvJi4ujkmTJrF582ZsNhtOp/NbR29Xrlxh37597N69mwMHDlBSUnLdUbDdbiciIoJFixah0+l4/vnniYqKIjIykhdffBFovR07JSUFl8vF7373O1544QUUReHNN9+86WgF7RSWqqoYrq4J6k06dAaNTp9+zc/WHERr0lHmqWcTF5lTtJ2UM3spri7DJbdnB8P69etZunQpdrudxYsXk5aWxqOPPkpYWBj+/v5ERUUxduxYtm/fztChQ7l06RILFizAZrOxYcMGXC4Xs2fPZuTIkfj4+ODr6+tuApxOJ2vXriUnJ4fMzEz8/PxYsmQJ3bp1w9vbm/DwcJYvX05ISAgnT55k79697NixA7vdzqhRo3j++efx8/PDx8eHJ554wj05ea1AFEWhtraWjRs3uqPHv//9by5duoSnpyeTJk1i//79TJw48VtHuN+1b/9anE4nXbt2xWAwcP78ed577z1KS0upr68nPDy8Tf7du3ezbds2EhISSEpK4ujRo63OXt4sN3386xczZsr8g4dl7oEDMu9Alvz/F9fIyujfybLu0+Wp2BESEvCzH/2o0YsvviiXLl2SFoqLi+XkyZNSUlIiIiIOh0OOHTsmgwcPdpcxGo2yfv16sdvtIiJy8OBBOXz4sIiINDQ0SEpKimiaJoDcf//9UlBQICIi5eXlsnfvXvf7lZaWymOPPea2u3jxYqmtrRURka+//loOHjwoIiKNjY0iIrJ69Wrx9PQUq9UqIiKDBw8Wg8EgmzdvlqamJhEROXDggOTk5LjLrVy50u1LS5o+fbqIiPzzn//8zrpZsGCBiIgsWbJEAgIC5MqVKyIism7dOpkzZ45kZGS46y0zM7PVUbghQ4aIw+EQEZEZM2a0+/hXu3Y3/HzAAGISB6I1uLB8dJqmTTkcUvLZULWPzwuzqWm48Yz5reaLL77gs88+o66uDovFgl6vx2w209DQwJkzZ1i9ejWzZ8/m+PHj7jJOp5OtW7eiKAqBgYF06tQJDw8P8vPzWb58OfPnz3f3a4qKiti3bx++vr74+/sTHBxMQ0MD+/bt4/e//z07d+502921axeXL192717w9PRk37597g7zV199RUZGBgMGDKCsrIxNmzZx8eJFtm7diqZp+Pn5ERQUhNls5syZMyxbtoyXXnqpTRMUExNDnz59+Oqrr/jkk0++tW569+5NTEwMBw4cYPv27Vy4cIF77rmHfv36MXToUHx8fMjIyMBsNpOXl8fGjRvdzbWmaUydOpXKykqmT59OfX19ex5LObQjYsWPGCHJezLlD7PelokR/yU/D4wVtDt+OLJVJIqJiZH77rtPunXrJnq9/oZl/Pz8JCEhQeLj48XDw+M780ZEREj//v0lOjq6zT2DwSCRkZESFhYmgPTs2VN69OghgMydO1dERJYuXSqAaJomqqqKoiitbHh7e0vv3r2lR48ebQ7SXpt8fHwkNjZWgoODv9Nff39/iY2NlcDAQPe10NBQmTBhgkyZMkXi4+MFkJiYGAkNDW3lz8KFC0VEZOHChd/nWZxql7AUnSqx9z4oUb7dBPXOC+mnlMLDwyUnJ0fOnTsnDzzwgOh0OlFVVeLj4+Xs2bMiIjJmzJg77ufNpICAACkpKZG6ujqJjIz8PjbaJ6yO9N0PY/v27SIiUltbK++//76sWbNGiouLRURk586d4unpecf9vFFSFEVeeeUVERFJS0v7vnY6hHUrU0BAgCxdutQdoUREioqKJDU19brN508xaZom8+bNk7S0NImLi/u+dk61a6NfBzfHfffdR2RkJIqicPHiRQ4dOnTdHQY/RRRFwWg04nK5fsh3TOQpQDXgfetc66ADTqt0fPV2B7cBFbi9X7LQwf9F8jRAA4bfaU86uKt4UaP5FwUCgfvusDMd3B0sBFa1LO0bgVHAOCCW5gM0HXRwsziAr2j+yZPPAcf/ANzEN2eYvypSAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAWlBMVEUAAACAgICqqqqAgICenp6Xl5ebm5uVlZWZmZmdnZ2Xl5ebm5uXl5eXl5ebm5uYmJiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZn////O7P/cAAAAHHRSTlMAAgMEFRYXGBkaGxwgOz0+mZ3KzdHU1tfZ2tvf9F0gcgAAAAFiS0dEHesDcZEAAACrSURBVEjH7dTJEoIwEATQYVEjkR2DYv//d3oISyhaHe/p43S9miIERGJiYrK6THiTlHXG5sYBvaFNDzjWtAAwksaMANAS0oEbL9AR0oCaWaAhJJ+YWcSUs6e8ON8+rtvsfPezZ8HP8mh+iaNZxFR8fpt7swr77QaERidCc1IKETuftXNasRmf101zo0Oj2bE3uh2h0e7YjH6HiIgdgMH+91WnVZXGf1tMzD5vs4caVxdnoK8AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/right-from-bracket.9801665a.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAsCAYAAAB/nHhDAAAABHNCSVQICAgIfAhkiAAAAUVJREFUWEftlrEKAjEMhu0kODv6CK6u4uQriJMPoLj4DLq5iD6HuDoJbo7i6CP4Ak7nX+jJUa5N2hBEuIPSG3L/lyZNLqal/Bhl/VYDICP8mxAVRTGCazOsDtbVGLMnXQ0Y1J4AgDPs++6bN/ZtLiQEuEO0W3EqGxICnCA+8E6dBQkm2QtTyXrhZYlwXbg5id4iQG4Q6nliSRAKYG/TzsuH5bEhZB24K5sNIQHW3QjkiXwMY/lgAQjIA5BxCMIGOMgU+war7QkGIUkAB1lgX3EhyQACYvvWpHq6LAABOQIyLyHZAAJyAGRtbUQAB6l23tLxb6hEANRHKOHyE0TE5TmIiMtvUUS8ttiScgBxvUqONDx5L1Ltpqr/A6k4Wcmq/2TVqQLiunMRAOqTnfpsauchvemaOxZy7JJ6EUfQt2kAZNT+P0Qf5hqpLZw5OFAAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/step5-completed-mobile.dea66850.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAjCAYAAAD8BaggAAAABHNCSVQICAgIfAhkiAAAA6VJREFUWEftmL1rU1EYxnvToLYNGEEXFyOIDi4d3BQah0j6gXbWofkP7CiINF2d2v8gWZw6qLSl4y2Ii5Sm4OSgibh1MENaAkkTf0/ICdebe5OTj+rSC4ebe973vOc5z/ucrzgTIz6Li4srzWYzSxi30Wis7+3tFUcJ6Qzb2ABxHCfhjQG43CjABgYUBsQ/MAGLRCL57e1td5BBWwFKJpPx6enplwTO+Bmx6MylzbotsJ6ADBACrtJxPKhzmNinbOAzi32V99UQkFbAAgHZAiElWe/I2+0EfmhgfwEaFoifkXacLGwpzWGPtJXb2dnJex1agMYFxN9zOp1OTE5OaklYCUNFuosAzxpgzsLCwlovjRDoSHZbUQZ1bAuM5eK5wzRuhoi1RH12d3c3ZzGTrFz6AYOtt2GAjqBQs6brgdEtGLtjgwC/pzD70+9LDOlrzV8fCkhTGWaSQZ3C6Ffq79sAIs494nwbCBBopfYJEM+Zhv8B0BF9lsHwrjPtvVr614AA8thMmoEBSZgwedkmZcfHx98PDg5q/VI2EqBUKnWTteWSDaBqtfrLdd36uQI6D1GPxNAFIOW71yxjmfiIy10bDbEVpIOOtP6FcaSU2QDp5zMMoCJBc/0CD2uHEe0CnZ2gL0PDdjRsuwtA/ZgLZGhpaSlwd+8XbBz2SqVSYEUvtzb5cQQcZ4wOIKZihsC3Tk9PN2dmZjI6DnCrKGoXFnv1el1n31nqC9FoNGF2Z2MTKPyT+MRPTk5ysVisdcBjLdKxIkk7l5KQnTpXNvbEZeri9LnRxRBbQg7jD/xKAkKjVgo5YGW1bvAzrmAUXZWTqpe93a6pW6rqebc6M+01ADMQbI8wXZe9VqttMbAH8tdgzQLqPX60ABHoC05PaPOMsi7WKNcoGl0Zn0+8X/DO67wtsAYEdWL599nZ2aZuGxq9rtT4t2LwjvFdabOpPyd0hyuofdd5SE7eR1cj0WjefnvYd5C/J9YVYlZ7xeowND8/vwzShMk/6HWk/UCdcj5Hyeu39EApiGa+dd8qY5OffpeMPqQzozvYKk9NTX1GKykYuiHW8d+HScWTPMpdKYP6DRpk+VNBNOo5xPm2aOctbSlts9xGMiZNBFrB5pg66cosH0ZP7bQUAfcakK/weaNzvC4R7YmU8V4o/Bo6BEBJIjSiVeceAa9i1z3umlc3XkD4a3ZJS5p178WC/gNAxA/9gOTjja/vgdch9BANOpZaaiyCX6OX7x/9nt/PxdkeGwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAGCAYAAAAVMmT4AAAABHNCSVQICAgIfAhkiAAAAHdJREFUGFdjZCABMILUent7x////9+WhYWlcNOmTZ9h+j08PNSZmJja/v37V7Vjx46bYMUgQWZm5oNADTeAGnxBGrCJgRWjawCaVArUvBlZM0gNXDGShjVAtg5Q4TqgLQnIzkJRDNLg5+fH+/fv36CtW7cuRPc7AFLyQwc0F/3xAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/gear.346fedea.svg\";","module.exports = __webpack_public_path__ + \"static/media/phone.56dce07d.svg\";","module.exports = \"data:image/gif;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/phone-background.539eb8e3.png\";","module.exports = __webpack_public_path__ + \"static/media/phone-background-mobile.21484ddd.png\";","module.exports = __webpack_public_path__ + \"static/media/desk-chair.4bb79f27.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAsCAYAAAB/nHhDAAAABHNCSVQICAgIfAhkiAAAAW9JREFUWEdjZKAxYKSx+QyjFhAM4cEdRDExMer//v1zZ2Rk/MjOzr5u3rx5n9G9RLYPQIb/////INBwcZChQHbv0qVLS6hiAbrhUEMPLlmyxIFiC3AYzgAMqtply5a1UGRBUlIS769fvzYDDbFHNghX8IDUEB0HeAxfBwz7YFzplSgLcBkONPQgGxubL7bUA7OQoAWUGE5UEAEjdQ5QYTJaEBB0OVE+iI6O7gGm82JyDcfrA2yGA1PLy79//xqtWLHiGcFCCKoAaxzgMhzoG3tgZrpJrOFYfRAVFZXHxMQ0ES2dvyTHcAwLgBEaABRcTy3DUSwABosp0JWnqGk4igU4ggZrCUlWHNDcByBX0TQOYN6maSqCWULTfEDIEqrkZHyWEFNEI6cygsU1TUtTkEtoXh9QagnBIIKFJ03rZCIswVmkEO0DmCU0bRcRsIQ6LTtcllC1bYpsCc1a18TWCSRHMrEGw9SNWkAwxIZ+EAEArnIePAXwub8AAAAASUVORK5CYII=\"","import React from 'react'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { withRouter } from \"react-router\";\r\nimport FadeLoader from \"react-spinners/FadeLoader\";\r\nimport { AppActions } from 'pnmac-universal-components'\r\nclass PrivateRoutePnMac extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n if (!props.penny && !props.registration) {\r\n this.props.authenticate() \r\n }\r\n\r\n }\r\n\r\n\r\n render() {\r\n const { location, translations } = this.props;\r\n if ((this.props.layout.logedIn || this.props.penny) && translations && this.props?.layout?.uiData) {\r\n return this.props.children\r\n }\r\n\r\n if (location.pathname.indexOf(\"Registration\") > -1) {\r\n return this.props.children\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n layout: state,\r\n translations: state.translations\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n dispatch: dispatch,\r\n ...bindActionCreators(AppActions,\r\n dispatch\r\n )\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(PrivateRoutePnMac))","\r\n\r\nexport function versionCompare(v1, v2, options) {\r\n var lexicographical = options && options.lexicographical,\r\n zeroExtend = options && options.zeroExtend,\r\n v1parts = v1?.split('.') || [],\r\n v2parts = v2?.split('.') || [];\r\n\r\n function isValidPart(x) {\r\n return (lexicographical ? /^\\d+[A-Za-z]*$/ : /^\\d+$/).test(x);\r\n }\r\n\r\n if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {\r\n return NaN;\r\n }\r\n\r\n if (zeroExtend) {\r\n while (v1parts.length < v2parts.length) v1parts.push(\"0\");\r\n while (v2parts.length < v1parts.length) v2parts.push(\"0\");\r\n }\r\n\r\n if (!lexicographical) {\r\n v1parts = v1parts.map(Number);\r\n v2parts = v2parts.map(Number);\r\n }\r\n\r\n for (var i = 0; i < v1parts.length; ++i) {\r\n if (v2parts.length == i) {\r\n return 1;\r\n }\r\n\r\n if (v1parts[i] == v2parts[i]) {\r\n continue;\r\n }\r\n else if (v1parts[i] > v2parts[i]) {\r\n return 1;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n\r\n if (v1parts.length != v2parts.length) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n}\r\nexport const maskBankInfo = (value) => {\r\n if (value) {\r\n var keep = value.slice(-4)\r\n return `******${keep}`\r\n }\r\n return \"\"\r\n \r\n}\r\n\r\nexport const windowObject = typeof window !== 'undefined' && window ? window : {\r\n location: {\r\n pathname: \"Screen\",\r\n hostname: \"Mobile\"\r\n }\r\n}\r\nexport const checkForAllNumbers = (inputtxt, length) => {\r\n var numbers = /^[0-9]+$/;\r\n if (inputtxt && inputtxt.toString().match(numbers) || inputtxt == '') {\r\n if (length && (inputtxt.length == length)) {\r\n return true\r\n } else if (length) {\r\n return false\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport const checkForAllNumbersWithLengthGreater = (inputtxt, length) => {\r\n var numbers = /^[0-9]+$/;\r\n if (inputtxt.match(numbers) || inputtxt == '') {\r\n if (length && (inputtxt.length >= length)) {\r\n return true\r\n } else if (length) {\r\n return false\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport const checkForAllNumbersWBetweenMinLengthAndMaxLength = (inputtxt, minlength, maxlength) => {\r\n var numbers = /^[0-9]+$/;\r\n if (inputtxt.match(numbers) || inputtxt == '') {\r\n if (minlength && maxlength && (inputtxt.length >= minlength && inputtxt.length <= maxlength)) {\r\n return true\r\n } else if (minlength && maxlength) {\r\n return false\r\n }\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\nexport const findUpTag = (el, attr) => {\r\n while (el.parentNode) {\r\n el = el.parentNode;\r\n if (el[attr]) {\r\n return el;\r\n }\r\n }\r\n return null;\r\n}\r\nexport const checkForAllNumbersAndSpecial = (inputtxt, length) => {\r\n var numbers = length ? new RegExp(`^[0-9]${length}+$`) : /^[0-9]+$/;\r\n if (inputtxt.match(numbers) || inputtxt == '') {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n\r\n}\r\n\r\nexport const checkForAllNumbersAndSpecialZip = (inputtxt, length) => {\r\n var numbers = /^[0-9-]+$/;\r\n if (length == '-a-zA-Z') {\r\n numbers = /^[0-9a-zA-Z\\-]+$/;\r\n }\r\n if (inputtxt.match(numbers) || inputtxt == '') {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\nexport const checkForZip = (inputtxt) => {\r\n if (!inputtxt.includes(\"-\")) {\r\n return true;\r\n }\r\n var numbers = /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/;\r\n if (inputtxt.match(numbers)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\nexport const isValidateZipLengthNew = (inputtxt) => {\r\n if (inputtxt.includes(\"-\")) {\r\n return inputtxt.length <= 10;\r\n }\r\n else {\r\n return inputtxt.length <= 9;\r\n }\r\n}\r\nexport const checkForForeignZip = (inputtxt) => {\r\n if (inputtxt.includes(\"-\") && (inputtxt.charAt(0) == \"-\" || inputtxt.charAt(9) == \"-\")) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\nexport const checkForAllNumbersCurrency = (inputtxt) => {\r\n var numbers = new RegExp(`^[0-9,.]*$`)\r\n if (inputtxt.match(numbers) || inputtxt == '') {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n\r\n}\r\n\r\n\r\nexport function toCamel(o) {\r\n var newO, origKey, newKey, value\r\n if (o instanceof Array) {\r\n return o.map(function (value) {\r\n if (typeof value === \"object\") {\r\n value = toCamel(value)\r\n }\r\n return value\r\n })\r\n } else {\r\n newO = {}\r\n for (origKey in o) {\r\n if (o.hasOwnProperty(origKey)) {\r\n newKey = (origKey.charAt(0).toLowerCase() + origKey.slice(1) || origKey).toString()\r\n value = o[origKey]\r\n if (value instanceof Array || (value !== null && value.constructor === Object)) {\r\n value = toCamel(value)\r\n }\r\n newO[newKey] = value\r\n }\r\n }\r\n }\r\n return newO\r\n}\r\nexport function checkIfStringHasSpecialChar(_string) {\r\n\r\n for (var i = 0; i < _string.length; i++) {\r\n if (_string.charCodeAt(i) <= 31 || _string.charCodeAt(i) > 126) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexport const paymentTypes = {\r\n 0: \"Unknown\",\r\n 201296: \"Trial Payment\",\r\n 201297: \"Principal Reduction\",\r\n 201298: \"Monthly Payment\",\r\n 201299: \"Additional Amounts\",\r\n 1000145: \"Forbearance\",\r\n 201309: \"Pennymac AutoPay Monthly\"\r\n}\r\n\r\nexport const paymentsource = {\r\n 0: \"Web\",\r\n 1: \"Telephone\",\r\n 2: \"Unknown\",\r\n 3: \"Customer Service Rep\",\r\n 4: \"Pennymac AutoPay Monthly\",\r\n 5: \"Pennymac AutoPay BiWeekly\",\r\n 6: \"Mobile\"\r\n}\r\n\r\nexport const accountype = {\r\n 0: \"Unknown\",\r\n 201286: \"Checking\",\r\n 201287: \"Saving\",\r\n 201288: \"DebitCard\"\r\n}\r\n\r\nexport const paystatus = {\r\n 0: \"Processing\",\r\n 201290: \"Processing\",\r\n 201291: \"Scheduled\",\r\n 201292: \"Complete\",\r\n 201293: \"Cancelled\",\r\n 201294: \"Cancelling\",\r\n 201295: \"Failed\",\r\n 1000008: \"Processing\",\r\n 301296: \"Pending\",\r\n 201289: \"ProcessingPayment\"\r\n}\r\n\r\nexport const isValidatePhoneNumberLength = (data) => {\r\n let regdata = data.replace(/[^\\w]/gi, '')\r\n return regdata?.length <= 10\r\n}\r\nexport const isValidateZipLength = (data) => {\r\n let regdata = data.replace(/[^\\w]/gi, '')\r\n return regdata?.length <= 10\r\n}\r\n\r\nexport const currencyFormatter = (locals, style, currency, number) => {\r\n return new Intl.NumberFormat(locals, {\r\n style: style,\r\n currency: currency,\r\n minimumFractionDigits: 2\r\n }).format(number)\r\n}\r\n\r\nexport const percentFormatter = (locals, style, number, digits = 3) => {\r\n return new Intl.NumberFormat(locals, {\r\n style: style,\r\n minimumFractionDigits: digits,\r\n maximumFractionDigits: digits\r\n }).format(number)\r\n}\r\n\r\nexport const loanTerm = (d1, d2) => {\r\n var months;\r\n months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n months -= d1.getMonth();\r\n months += d2.getMonth();\r\n return months <= 0 ? 0 : months;\r\n}\r\n\r\n\r\nexport const addMonths = (date, months) => {\r\n var d = date.getDate();\r\n date.setMonth(date.getMonth() + +months);\r\n if (date.getDate() != d) {\r\n date.setDate(0);\r\n }\r\n return date;\r\n}\r\n\r\nexport const getActiveFeatures = (features, feature, whitelisted) => {\r\n if (features && features.find(s => s.feature == feature) && features.find(s => s.feature == feature && s.toggled == true)) {\r\n return true\r\n }\r\n return whitelisted || false;\r\n}\r\n\r\nexport const closingLogOut = async () => {\r\n await fetch(`/oauth/logout?logout=${true}`)\r\n}\r\n\r\nexport const showTakeActionDeterminStatus = (status, stat) => {\r\n const logic = (_status) => \"default,bankruptcy,completedtwo\".toLowerCase().indexOf(_status?.processStatus?.toLowerCase()) > -1;\r\n if (stat?.statusTypeIsInTrial || paymentStatus(status, \"current\", [])?.hasStatus || genericStatusCheck(status, \"completeOne\", [\"servicereleased\"])?.hasSubStatus || logic(status)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport const socialMediaDeterminStatus = (status, modifcation) => {\r\n const logic = (_status) => \"default,bankruptcy,completedtwo\".toLowerCase().indexOf(_status?.processStatus?.toLowerCase()) > -1;\r\n if (paymentStatus(status, \"delinquent\", [\"2PaymentsPastDue\"])?.hasSubStatus || modifcation?.statusTypeIsInTrial || paymentStatus(status, \"current\", [])?.hasStatus || genericStatusCheck(status, \"completeOne\", [\"servicereleased\"])?.hasSubStatus || logic(status)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n\r\nexport const loanIsForbearance = (status) => {\r\n return {\r\n isForbearance: status?.processStatus?.toLowerCase() == \"lossmitigation\",\r\n forbearanceStatus: status?.processPhaseStatus?.toLowerCase()\r\n }\r\n}\r\n\r\n\r\n\r\nexport const loanCompletedOne = (status) => {\r\n return {\r\n isCompletedOne: \"completedtwo,completedone\".toLowerCase().indexOf(status?.processStatus?.toLowerCase()) > -1,\r\n completedOneStatus: status?.processPhaseStatus?.toLowerCase()\r\n }\r\n}\r\n\r\nexport const phazOne = (status) => {\r\n const logic = (_status) => \"default,foreclosure,completedtwo,completedone,delinquentliquidation,hhf,shortSale,deedinlieu\".toLowerCase().indexOf(_status?.processStatus?.toLowerCase()) > -1;\r\n\r\n if (ammountPaymentPastDue(status, 3, true, false) || genericStatusCheck(status, \"completeone\", [\"servicereleased\"]).hasSubStatus || loanIsForbearance(status)?.isForbearance || logic(status)) {\r\n if (genericStatusCheck(status, \"bankruptcy\", [\"bankruptcyChapter12\", \"BankruptcyChapter12Discharged\", \"bankruptcyChapter7\", \"BankruptcyChapter7Discharged\"])?.hasSubStatus) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport const isValidatePhoneNumber = (input_str) => {\r\n var re = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/im;\r\n\r\n return re.test(input_str);\r\n}\r\n\r\nexport const isEmptyOrSpaces = (str) => {\r\n return str === null || str.match(/^ *$/) !== null;\r\n}\r\n\r\nexport const checkIfHasPreference = (userPreferences, preference) => {\r\n\r\n if (userPreferences != null) {\r\n return userPreferences.find(d => d.preferenceTypeLId == preference) != null\r\n }\r\n return false\r\n}\r\n\r\nexport const userHasPreference = (userPreferences, loanPreferenceTypeLID, loanPreferenceValueLID, eventNotificationPreference) => {\r\n\r\n\r\n var isPreferenceSelected = false;\r\n if (userPreferences != null) {\r\n if (parseInt(loanPreferenceTypeLID) == 300103) {\r\n // for the payment reminder preference\r\n isPreferenceSelected = userPreferences.find(x => x.prefenceValueTypeId == loanPreferenceValueLID && parseInt(x.prefenceTypeId) == parseInt(loanPreferenceTypeLID) && parseInt(x.eventNotificationPreference) == parseInt(eventNotificationPreference)) != null;\r\n } else {\r\n isPreferenceSelected = userPreferences.find(x => /*x.prefenceValueTypeId == loanPreferenceValueLID &&*/ parseInt(x.prefenceTypeId) == parseInt(loanPreferenceTypeLID) && parseInt(x.eventNotificationPreference) == parseInt(eventNotificationPreference)) != null;\r\n }\r\n\r\n }\r\n return isPreferenceSelected;\r\n\r\n}\r\n\r\nexport const setCookie = (cname, cvalue, exdays) => {\r\n const d = new Date();\r\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\r\n let expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/;secure=true;samesite=none\";\r\n}\r\n\r\n\r\nexport const getCookie = (cname) => {\r\n try {\r\n var name = cname + \"=\";\r\n var decodedCookie = decodeURIComponent(document.cookie);\r\n var ca = decodedCookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n\r\n return \"\";\r\n } catch (err) {\r\n\r\n }\r\n\r\n}\r\n\r\nexport const modificationOrDelinquent = (status, modification) => {\r\n\r\n if (modification) {\r\n return true\r\n }\r\n if (paymentStatus(status, \"delinquent\", [])?.hasStatus) {\r\n return true\r\n }\r\n return false\r\n}\r\n\r\n\r\nexport const genericStatusCheck = (statuses, status, substatuses) => {\r\n return {\r\n hasStatus: status.toLowerCase().includes(statuses?.processStatus?.toLowerCase()),\r\n hasSubStatus: substatuses.find(s => s.toLowerCase() == statuses?.processPhaseStatus?.toLowerCase())\r\n }\r\n}\r\n\r\n\r\n\r\nexport const paymentStatus = (statuses, status, substatuses) => {\r\n if (\"normalservicing\".includes(statuses?.processStatus?.toLowerCase())) {\r\n return {\r\n hasStatus: status.toLowerCase().includes(statuses?.paymentStatus?.toLowerCase()),\r\n hasSubStatus: substatuses.find(s => s.toLowerCase() == statuses?.paymentSubStatus?.toLowerCase())\r\n }\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\n\r\nexport const ammountPaymentAhead = (statuses, numPayment) => {\r\n\r\n for (var d = numPayment; d <= 100; d++) {\r\n if (paymentStatus(statuses, \"paidahead\", [`paidAhead${d}Payments`])?.hasSubStatus) {\r\n return true\r\n }\r\n }\r\n return false;\r\n}\r\nexport const ammountPaymentPastDue = (statuses, numPayment, greater = false, lessthan = false) => {\r\n if (paymentStatus(statuses, \"delinquent\", [])?.hasStatus) {\r\n if (lessthan) {\r\n for (var d = numPayment; d >= 0; d--) {\r\n if (paymentStatus(statuses, \"delinquent\", [`${d}PaymentsPastDue`])?.hasSubStatus) {\r\n return true\r\n }\r\n }\r\n }\r\n if (greater) {\r\n\r\n if (numPayment >= 7 && paymentStatus(statuses, \"delinquent\", [`7PaymentsPastDue`])?.hasSubStatus) {\r\n return true\r\n }\r\n\r\n for (var d = numPayment; d <= 100; d++) {\r\n\r\n\r\n if (paymentStatus(statuses, \"delinquent\", [`${d}PaymentsPastDue`])?.hasSubStatus) {\r\n return true\r\n }\r\n }\r\n }\r\n\r\n for (var i = 1; i <= numPayment; i++) {\r\n if (paymentStatus(statuses, \"delinquent\", [`${d}PaymentsPastDue`])?.hasSubStatus) {\r\n return true\r\n }\r\n }\r\n\r\n return false\r\n } else {\r\n\r\n return false;\r\n }\r\n}\r\n\r\n\r\nexport const checkPasswordValidation = (nPassword) => {\r\n var newPWFormat = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[#$@!%&*?])[A-Za-z\\d#$@!%&*?]{8,30}$/;\r\n if (nPassword.match(newPWFormat)) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\n\r\n\r\nexport const endsWith = (str, suffix) => {\r\n return str.toLowerCase().indexOf(suffix.toLowerCase(), str.length - suffix.length) !== -1;\r\n}\r\n\r\nexport const calulateFees = (obj) => {\r\n\r\n}\r\n\r\nexport const checkForAlphanumericAndSpace = (inputtxt) => {\r\n var alphanumericAndSpace = new RegExp(\"^[A-Za-z0-9 ]+$\");\r\n if (inputtxt.match(alphanumericAndSpace) || inputtxt == '') {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n\r\n}\r\n\r\n\r\n","import React, { Component } from \"react\";\r\nimport { PnmacText, theme } from 'pnmac-universal-components'\r\nimport { genericStatusCheck } from '../utils'\r\nclass Footer extends Component {\r\n \r\n state = {\r\n statedis: false\r\n }\r\n render() {\r\n let { translations = {}, matches, layout } = this.props\r\n let stat = layout?.selectedLoanAvailability?.status\r\n const BankruptcyCheck = () => {\r\n let BKStatus =\r\n {\r\n activeBk7: genericStatusCheck(stat, \"bankruptcy\", [\"bankruptcyChapter7\"])?.hasSubStatus,\r\n activeBk11: genericStatusCheck(stat, \"bankruptcy\", [\"bankruptcyChapter11\"])?.hasSubStatus,\r\n activeBk12: genericStatusCheck(stat, \"bankruptcy\", [\"bankruptcyChapter12\"])?.hasSubStatus,\r\n activeBk13: genericStatusCheck(stat, \"bankruptcy\", [\"bankruptcyChapter13\"])?.hasSubStatus,\r\n dischargedBk7: genericStatusCheck(stat, \"bankruptcy\", [\"bankruptcyChapter7Discharged\"])?.hasSubStatus,\r\n completeBk7: genericStatusCheck(stat, \"bankruptcy\", [\"bankruptcyChapter7DischargedSurrender\"])?.hasSubStatus\r\n }\r\n\r\n return Object.keys(BKStatus).map((s, i) => {\r\n\r\n if (BKStatus[s] != undefined) {\r\n\r\n switch (s) {\r\n case 'activeBk7':\r\n return
{translations?.bankruptcyChapter7}
\r\n break;\r\n case 'activeBk11':\r\n return
{translations?.bankruptcyChapter11}
\r\n break;\r\n case 'activeBk12':\r\n return
{translations?.bankruptcyChapter12}
\r\n break;\r\n case 'activeBk13':\r\n return
{translations?.bankruptcyChapter13}
\r\n break;\r\n case 'dischargedBk7':\r\n return
{translations?.bankruptcyChapter7Discharged}
\r\n break;\r\n case 'completeBk7':\r\n return
{translations?.bankruptcyChapter7DischargedSurrender}
\r\n break;\r\n default:\r\n\r\n }\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n const { textStyle } = theme;\r\n\r\n return (\r\n\r\n this.props.registration ? (\r\n \r\n ) : (\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport default Footer\r\n\r\nconst styles = {\r\n disclosureContainerRegistration: { cursor: \"pointer\", dislpay: \"flex\", flexDirection: \"row\", marginTop: 10 },\r\n chevronContainer: { height: 6, width: 11, marginLeft: 12.6 },\r\n disclosureContainer: {...theme.textStyle.clickableLinkMedium, marginTop: 10, textDecoration: \"none\", textDecorationLine: \"none\" },\r\n disclosureText: {...theme.textStyle.clickableLinkMedium, textDecoration: \"none\", textDecorationLine: \"none\" }\r\n}","import React, { Component } from \"react\";\r\nimport Footer from \"./Footer\";\r\nimport {\r\n PnmacAppBar,\r\n PnmacMediaQuery\r\n} from 'pnmac-universal-components'\r\n\r\n\r\n\r\nclass GenericLayout extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n \r\n }\r\n }\r\n\r\n render() {\r\n let { showHeader} = this.props\r\n return (\r\n
\r\n \r\n \r\n {matches => (\r\n
\r\n {showHeader? \r\n : null}\r\n
\r\n \r\n {this.props.children}\r\n
\r\n\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n\r\nexport default GenericLayout;\r\n","import React from 'react'\r\nimport { Redirect } from 'react-router'\r\nexport default class Default extends React.PureComponent {\r\n render() {\r\n return \r\n }\r\n}\r\n\r\nexport class DefaultReg extends React.PureComponent {\r\n render() {\r\n return \r\n }\r\n}","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport React, { Component } from \"react\";\r\nimport { PnmacNavPanel, PnmacLoanSwitcher, PnmacText, PnmacCard, PnmacCardContent,PnmacContextConsumer, AppActions, AppEvents, commonStyle as styles, isSubServicingLoan, isTaxOptionsLoan, checkTaxOptionFeatureToggle } from \"pnmac-universal-components\";\r\nimport { phazOne, getActiveFeatures } from '../utils.js'\r\nimport { Image, View } from 'react-native'\r\nimport FadeLoader from \"react-spinners/FadeLoader\";\r\n\r\nconst { TOGGLE_DRAWER, SELECT_LOAN } = AppActions\r\nconst { TrackerHitTypeLID_ENUM, TrackerActionLID_ENUM, TrackerCategoryLID_ENUM, UserLanguage_ENUM } = AppEvents\r\n\r\nconst DefaultComponent = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nclass NavBar extends Component {\r\n state = {\r\n loanId: 0\r\n }\r\n render() {\r\n let { translations, menuItems, location, matches, layout, dispatch } = this.props;\r\n let status = layout.selectedLoanAvailability?.status\r\n let hasPmi = (layout.currentLoan?.mortgageType == 1 || layout.currentLoan?.mortgageType == 6 || layout.currentLoan?.mortgageType == 9);\r\n let makeApPayment = (!phazOne(status) && !layout.modPortalVisible)\r\n //let wisconsinoption = layout.currentLoan?.propertyRegion == \"WI\" && makeApPayment && layout.currentLoan?.escrowTax?.find(s => s.taxEscrowedFlag == true)\r\n let wisconsinoption = isTaxOptionsLoan(layout) //SVT-59709\r\n let isModPortalVisible = layout.modPortalVisible\r\n\r\n let hasEscrowShortageAnalysis = getActiveFeatures(layout?.features, `View_Escrow_Analysis_Payment_Change`, layout?.whitelisted) && (layout.isEscrowAnalysisEnabled)\r\n let isProductAndFeaturesEnabled = getActiveFeatures(layout?.features, `View_Products_And_Offers_web`, layout?.whitelisted)\r\n let isRefinanceOrBuyAHomeEnabled = getActiveFeatures(layout?.features, `View_Refinance_Or_Buy_Home_Web`, layout?.whitelisted)\r\n let hasTaxOptionsEnabled = checkTaxOptionFeatureToggle(layout)\r\n\r\n let listItems = [\r\n {\r\n name: isSubServicingLoan(layout) ? translations.SubServicingMyHome : translations.MyPennyHomeLink,\r\n canExpand: false,\r\n action: \"HomePage\",\r\n route: \"\",\r\n internal: true,\r\n },\r\n isProductAndFeaturesEnabled && {\r\n name: translations.ProductsAndOffers,\r\n canExpand: false,\r\n action: \"LoanSummary\",\r\n route: \"Offers\",\r\n internal: true,\r\n }, \r\n !layout.pennyWise && !isSubServicingLoan(layout) && isRefinanceOrBuyAHomeEnabled &&{ \r\n name: translations.refinanceOrBuyAHome,\r\n canExpand: true,\r\n subList: [\r\n {\r\n name: translations.ApplyOnline,\r\n canExpand: false,\r\n action: () => window.open(`${layout.pennyHomeUrl}api/main/redirect?goingto=BlendUrl&&ids_token=${layout.token}&&user=${layout.userProfile?.user_id}`, \"_blank\"),\r\n internal: false,\r\n },\r\n {\r\n name: translations.MortgageRates,\r\n canExpand: false,\r\n action: () => window.open(\"https://www.pennymac.com/rates\", \"_blank\"),\r\n internal: false,\r\n },\r\n {\r\n name: translations.HomeEquityLoans,\r\n canExpand: false,\r\n action: () => window.open(\"https://www.pennymac.com/mortgage-rates/equity\", \"_blank\"),\r\n internal: false,\r\n },\r\n ],\r\n },\r\n {\r\n name: translations.loanInformation,\r\n canExpand: false,\r\n action: \"LoanSummary\",\r\n route: `Loan`,\r\n internal: true,\r\n disabled: !layout.pennyWise\r\n },\r\n layout.currentLoan?.helocFlag && {\r\n name: translations.MakeADrawPageTitle,\r\n canExpand: true,\r\n subList: [\r\n {\r\n name: translations.MakeADrawPageTitle,\r\n canExpand: false,\r\n action: \"MakeADraw\",\r\n route: `MakeADraw`,\r\n internal: true\r\n },\r\n {\r\n name: translations.PendingDrawPageTitle,\r\n canExpand: false,\r\n action: \"ViewPendingDraws\",\r\n route: `MakeADraw/ViewPendingDraws`,\r\n internal: true,\r\n }\r\n ],\r\n },\r\n {\r\n name: translations.makeAPayment,\r\n canExpand: true,\r\n subList: [\r\n {\r\n name: translations.oneTimePayment,\r\n canExpand: false,\r\n action: \"Payment\",\r\n route: `Payment`,\r\n internal: true,\r\n disabled: !layout.pennyWise\r\n },\r\n {\r\n name: translations.automaticPayments,\r\n canExpand: false,\r\n action: \"Ach\",\r\n route: `Payment/Ach`,\r\n internal: true,\r\n disabled: !layout.pennyWise\r\n },\r\n {\r\n name: translations.paymentViewPending,\r\n canExpand: false,\r\n action: \"Pending\",\r\n route: `Payment/Pending`,\r\n internal: true,\r\n disabled: !layout.pennyWise\r\n },\r\n ],\r\n },\r\n {\r\n name: translations.recentActivity,\r\n canExpand: false,\r\n action: \"LoanActivity\",\r\n route: `Loan/Activity`,\r\n internal: true,\r\n },\r\n {\r\n name: translations.statementsDocuments,\r\n canExpand: false,\r\n action: \"StatementsAndDocuments\",\r\n route: `StatementsAndDocuments`,\r\n internal: true,\r\n },\r\n {\r\n name: ((hasPmi || wisconsinoption || hasEscrowShortageAnalysis) ? translations.EscrowCenter : translations.escrow),\r\n canExpand: ((hasPmi || wisconsinoption || hasEscrowShortageAnalysis) || false),\r\n action: \"Escrow\",\r\n route: `Loan/Escrow`,\r\n internal: true,\r\n subList: [\r\n {\r\n name: translations.escrow,\r\n canExpand: false,\r\n action: \"Escrow\",\r\n route: `Loan/Escrow`,\r\n internal: true,\r\n },\r\n hasEscrowShortageAnalysis && {\r\n name: translations.EscrowAnalysisPaymentChange,\r\n canExpand: false,\r\n action: \"Escrow_Analysis_Payment_Change\",\r\n route: \"Loan/EscrowAnalysisPaymentChange\",\r\n internal: true,\r\n },\r\n wisconsinoption && hasTaxOptionsEnabled && {\r\n name: translations.TaxOptionsTitle,\r\n canExpand: false,\r\n action: \"TaxOptions\",\r\n route: `Loan/TaxOptions`,\r\n internal: true,\r\n },\r\n (hasPmi && layout.currentLoan?.mortgageInsuranceMonthlyPaymentAmount > 0) && {\r\n name: translations.MortgageInsurance,\r\n canExpand: false,\r\n action: \"MortgageInsurance\",\r\n route: `Loan/MortgageInsurance`,\r\n internal: true,\r\n }\r\n\r\n ].filter(s => s)\r\n },\r\n {\r\n name: translations.PayoffDemands,\r\n canExpand: false,\r\n action: \"PayoffDemand\",\r\n route: `Payoff`,\r\n internal: true,\r\n },\r\n {\r\n name: translations.amoritizationCalculator,\r\n canExpand: false,\r\n action: \"AmortizationCalculator\",\r\n route: `AmortizationCalculator`,\r\n internal: true,\r\n },\r\n {\r\n name: translations.messageCenter,\r\n canExpand: false,\r\n action: \"MessageCenter\",\r\n route: `MessageCenter`,\r\n internal: true,\r\n },\r\n {\r\n name: translations.faq,\r\n canExpand: false,\r\n action: \"FAQ\",\r\n route: `Home/FAQ`,\r\n internal: true,\r\n\r\n },\r\n ];\r\n if (isModPortalVisible) {\r\n listItems.splice(3, 0, {\r\n name: translations.ModificationCenter,\r\n canExpand: true,\r\n subList: [\r\n {\r\n name: translations.ModificationStatus,\r\n route: `Mod`,\r\n canExpand: false,\r\n action: \"Mod\",\r\n internal: true,\r\n },\r\n {\r\n name: translations.ModificationForms,\r\n route: `Mod/Forms`,\r\n canExpand: false,\r\n action: \"ModForms\",\r\n internal: true,\r\n }\r\n ],\r\n })\r\n }\r\n\r\n let loanArray = layout?.loanArray.sort((a, b) => new Date(b.loanAddedDate) - new Date(a.loanAddedDate)) || []\r\n\r\n listItems = listItems.filter(s => s)\r\n if (loanArray.length == 0) {\r\n loanArray = [{ loanId: 0, propertyAddressLine1: \"\" }]\r\n }\r\n\r\n if (matches.small || matches.medium) {\r\n return (\r\n \r\n {getActiveFeatures(layout.features, `theme_switcher`, layout.whitelisted) && \r\n \r\n }\r\n\r\n {loanArray?.length > 1 ? \r\n {\r\n let title = (parseInt(s.lienPriorityType) === 2)? 'Closed End Second' : (s.helocFlag ? `- HELOC - Loan` : \"Mortgage Loan\")\r\n return { loanId: parseInt(s.loanId), propertyStreet: s.propertyAddressLine1, displayTitle: `${title} ${parseInt(s.loanId)}`,lienPriorityType:s.lienPriorityType }\r\n })}\r\n selectedValue={layout.selectedLoanNumber}\r\n contentStyle={{ marginTop: 25 }}\r\n style={{ position: \"relative\", top: \"unset\", left: \"unset\", width: '100%' }}\r\n onValueChange={(itemValue, itemIndex) => {\r\n if (itemValue != layout.selectedLoanNumber) {\r\n this.props.dispatch({ type: SELECT_LOAN, loanId: itemValue })\r\n this.props.refreshSingleLoanData(itemValue)\r\n this.props.refreshResourcesAfterLoanSwitching()\r\n\r\n }\r\n }}\r\n />\r\n :
\r\n\r\n \r\n {parseInt(layout.selectedLoanNumber) > 0 ? <>\r\n LOAN - {layout.selectedLoanNumber} {layout.currentLoan?.helocFlag ? \" ( HELOC )\" : null}\r\n {layout?.currentLoan?.propertyAddressLine1}\r\n : }\r\n \r\n\r\n
}\r\n , imageDown: \"Expanded }}\r\n selectedContainerStyles={{ borderLeftColor: \"#003087\", borderLeftWidth: 3, backgroundColor: \"#efefef\", display: \"flex\" }}\r\n selectedStyles={{ color: \"#000\" }}\r\n onListItemClick={(d) => {\r\n if (!this.props.layout.loading) {\r\n if (typeof d.action == \"function\") {\r\n d.action()\r\n let label = d?.action === \"Products\" ? \"Left-Navigation/Offers|Desktop\":`${d?.name} Page Viewed` \r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.NavBar, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, label, -1)\r\n } else {\r\n if (d.internal && getActiveFeatures(this.props.layout.features, `View_${d.action}`, this.props.layout.whitelisted)) {\r\n this.props.history.push(`/${d.route}`);\r\n let message = d.action + ` Page Viewed`;\r\n if(d.action === 'Escrow_Analysis_Payment_Change'){\r\n message = \"Escrow Analysis Payment Change Viewed\";\r\n }else if(d.action === \"TaxOptions\"){\r\n message = \"Customer Viewed Tax Option Page\"\r\n }\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.NavBar, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, message, 0)\r\n if (this.props.layout.drawerOpen) {\r\n this.props.dispatch({ type: TOGGLE_DRAWER, toggle: false });\r\n }\r\n } else {\r\n this.props.clearListCookies({\r\n nav: `${layout.baseRoute}${d.route}`, loading: true, logout: false, tab: false\r\n })\r\n }\r\n }\r\n }\r\n }}\r\n containerStyles={styles.navPanel.containerStyles}\r\n listItemStyles={styles.navPanel.listItemStyles}\r\n subListItemStyles={styles.navPanel.subListItemStyles}\r\n textItemContainerStyles={styles.textItemContainerStyles}\r\n textItemStyles={styles.navPanel.textItemStyles}\r\n listItems={menuItems ? menuItems : listItems}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n\r\n
\r\n\r\n \r\n {getActiveFeatures(layout.features, `theme_switcher`, layout.whitelisted) && \r\n \r\n }\r\n {loanArray?.length > 1 ?\r\n \r\n }\r\n downIcon={\"Collapsed}\r\n loanStyles={{}}\r\n loans={loanArray.map(s => {\r\n let title = (parseInt(s.lienPriorityType) === 2)? 'Closed End Second' : (s.helocFlag ? `- HELOC - Loan` : \"Mortgage Loan\")\r\n return { loanId: parseInt(s.loanId), propertyStreet: s.propertyAddressLine1, displayTitle: `${title} ${parseInt(s.loanId)}`, lienPriorityType:s.lienPriorityType }\r\n })}\r\n selectedValue={layout.selectedLoanNumber}\r\n contentStyle={{ marginTop: 25 }}\r\n style={{ position: \"relative\", top: \"unset\", left: \"unset\", width: '100%' }}\r\n onValueChange={(itemValue, itemIndex) => {\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.NavBar, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, \"Loan Selection is changed\", 0)\r\n if (itemValue != layout.selectedLoanNumber) {\r\n this.props.dispatch({ type: SELECT_LOAN, loanId: itemValue })\r\n this.props.refreshSingleLoanData(itemValue)\r\n this.props.refreshResourcesAfterLoanSwitching()\r\n }\r\n }}\r\n />\r\n
\r\n :
\r\n\r\n \r\n {parseInt(layout.selectedLoanNumber) > 0 ? <>\r\n LOAN - {layout.selectedLoanNumber} {layout.currentLoan?.helocFlag ? \" ( HELOC )\" : null}\r\n {layout?.currentLoan?.propertyAddressLine1}\r\n : }\r\n \r\n\r\n
}\r\n , imageDown: \"Expanded }}\r\n onListItemClick={(d) => {\r\n if (!this.props.layout.loading) {\r\n if (typeof d.action == \"function\") {\r\n d.action()\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.NavBar, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, d.name + ` Page Viewed`, -1);\r\n } else {\r\n if (d.internal && getActiveFeatures(this.props.layout.features, `View_${d.action}`, this.props.layout.whitelisted)) {\r\n this.props.history.push(`/${d.route}`);\r\n let message = d.action + ` Page Viewed`;\r\n if(d.action === 'Escrow_Analysis_Payment_Change'){\r\n message = \"Escrow Analysis Payment Change Viewed\";\r\n }else if(d.action === \"TaxOptions\"){\r\n message = \"Customer Viewed Tax Option Page\"\r\n }else if(d.route === \"Offers\")\r\n {\r\n message = \"Left-Navigation/Offers|Desktop\"\r\n }\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.NavBar, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, message, 0)\r\n if (this.props.layout.drawerOpen) {\r\n this.props.dispatch({ type: TOGGLE_DRAWER, toggle: false });\r\n }\r\n\r\n } else {\r\n this.props.clearListCookies({\r\n nav: `${layout.baseRoute}${d.route}`, loading: true, logout: false, tab: false\r\n })\r\n }\r\n }\r\n }\r\n }}\r\n containerStyles={styles.navPanel.containerStyles}\r\n listItemStyles={styles.navPanel.listItemStyles}\r\n subListItemStyles={styles.navPanel.subListItemStyles}\r\n textItemStyles={styles.navPanel.textItemStyles}\r\n listItems={menuItems ? menuItems : listItems}\r\n />\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default NavBar\r\n","import React, {Component, useState} from \"react\";\r\nimport {View, Text, Image, Platform, TouchableOpacity} from \"react-native\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators} from \"redux\";\r\nimport NavBar from \"./NavBar\";\r\nimport Footer from \"./Footer\";\r\nimport {withRouter} from \"react-router\";\r\nimport {\r\n PnmacUIButton,\r\n PnmacAppbarHeader,\r\n PnmacAppbarContent,\r\n PnmacToaster,\r\n PnmacActivityIndicatorGif,\r\n PnmacMediaQuery,\r\n AppActions,\r\n AppEvents,\r\n Events,\r\n MacChat,\r\n Hoverable,\r\n isSubServicingLoan\r\n} from 'pnmac-universal-components'\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport {getActiveFeatures, toCamel, windowObject} from '../utils.js'\r\nimport Button from '@material-ui/core/Button';\r\nimport {withStyles} from '@material-ui/core/styles';\r\nimport {isIE} from 'react-device-detect';\r\nimport {Dialog, DialogContent} from '@material-ui/core';\r\nimport _ from \"underscore\";\r\n\r\nconst {TrackerHitTypeLID_ENUM, TrackerActionLID_ENUM, TrackerCategoryLID_ENUM, UserLanguage_ENUM} = AppEvents\r\nconst {\r\n TOGGLE_DRAWER, LOG_IN, FEATURE_TOGGLES, GET_MESSAGES, PAYMENT_VALIDATION, E_DIS,\r\n CHANGE_LANGUAGE\r\n} = AppActions\r\n\r\nconst StyledDialog = withStyles({\r\n root: {\r\n zIndex: 90,\r\n \"& .MuiPaper-root\": {backgroundColor: \"transparent\", overflow: \"visible\"},\r\n \"& .MuiPaper-elevation24\": {boxShadow: \"none\"}\r\n },\r\n})(Dialog);\r\n\r\nconst BootstrapButton = withStyles({\r\n root: {\r\n boxShadow: 'none',\r\n textTransform: 'none',\r\n fontSize: 16,\r\n padding: '6px 12px',\r\n lineHeight: 1.5,\r\n fontFamily: [\r\n 'HalenoirCompactText-Regular',\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n 'Roboto',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(',')\r\n },\r\n})(Button);\r\n\r\n\r\nfunction PnmacMenu(props) {\r\n let {translations, matches} = props\r\n const [hovering, setHovering] = useState(false)\r\n const handleClick = (event) => {\r\n props.history.push(`/Account/AccountSettings`)\r\n if (props.layout.drawerOpen) {\r\n props.dispatch({type: TOGGLE_DRAWER, toggle: false});\r\n }\r\n \r\n };\r\n\r\n\r\n return (\r\n
\r\n {matches.small ? setHovering(true)}\r\n onHoverOut={() => setHovering(false)}\r\n >\r\n \r\n \r\n {translations.Settings}\r\n \r\n :\r\n \r\n {translations.AccountSettings}\r\n }\r\n
\r\n );\r\n}\r\n\r\nfunction MiniDrawer(props) {\r\n\r\n let {translations, matches, layout} = props\r\n const [hoveringLang, setHoveringLang] = useState(false)\r\n const [hoveringContact, setHoveringContact] = useState(false)\r\n const [hoveringLogout, setHoveringLogout] = useState(false)\r\n\r\n return (\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n props.dispatch({type: TOGGLE_DRAWER, toggle: true})\r\n }\r\n\r\n >\r\n \r\n
\r\n\r\n :\r\n
\r\n \"logo\" \r\n
\r\n\r\n }\r\n />\r\n\r\n\r\n
\r\n {matches.small ?\r\n setHoveringLang(true)}\r\n onHoverOut={() => setHoveringLang(false)}\r\n >\r\n {\r\n\r\n props.dispatch({\r\n type: CHANGE_LANGUAGE,\r\n lang: layout.language == \"en\" ? 'es' : 'en', dontPost: true\r\n })\r\n\r\n }}>{layout.language == \"en\" ?\r\n \r\n \r\n Español\r\n \r\n :\r\n \r\n \r\n English\r\n }\r\n \r\n :\r\n {\r\n\r\n props.dispatch({\r\n type: CHANGE_LANGUAGE,\r\n lang: layout.language == \"en\" ? 'es' : 'en', dontPost: true\r\n })\r\n\r\n }}\r\n >{layout.language == \"en\" ?\r\n Español :\r\n English}\r\n \r\n }\r\n\r\n {matches.small ? setHoveringContact(true)}\r\n onHoverOut={() => setHoveringContact(false)}\r\n >\r\n {\r\n\r\n props.history.push(`/Home/Contact`);\r\n props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, \"Contact Us Link Clicked\", 0);\r\n \r\n }}\r\n >\r\n \r\n {translations.contactUs}\r\n \r\n :\r\n
\r\n {\r\n\r\n props.history.push(`/Home/Contact`);\r\n props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, \"Contact Us Link Clicked\", 0);\r\n \r\n }} style={{\r\n ...(window.location.pathname === '/Home/Contact' ? styles.selectTab : styles.defaultTab),\r\n fontSize: matches.small ? 12 : 16,\r\n padding: matches.small ? '0px 9px' : '6px 12px',\r\n }}>{translations.contactUs}\r\n
}\r\n\r\n {!layout.pennyWise &&
\r\n \r\n
}\r\n {!layout.pennyWise ? matches.small ? setHoveringLogout(true)}\r\n onHoverOut={() => setHoveringLogout(false)}\r\n >\r\n {\r\n props.trackerDispatcher(\r\n UserLanguage_ENUM.English,\r\n TrackerCategoryLID_ENUM.Button,\r\n TrackerHitTypeLID_ENUM.Event,\r\n TrackerActionLID_ENUM.Click,\r\n \" LogOut Button Clicked\",\r\n 0\r\n )\r\n props.dispatch({\r\n type: LOG_IN,\r\n logedIn: false\r\n })\r\n props.clearListCookies({\r\n nav: \"/oauth/log_out\",\r\n loading: true,\r\n logout: true\r\n })\r\n }}\r\n >\r\n \r\n {translations.logout}\r\n \r\n :\r\n {\r\n props.trackerDispatcher(\r\n UserLanguage_ENUM.English,\r\n TrackerCategoryLID_ENUM.Button,\r\n TrackerHitTypeLID_ENUM.Event,\r\n TrackerActionLID_ENUM.Click,\r\n \" LogOut Button Clicked\",\r\n 0\r\n )\r\n\r\n props.dispatch({type: LOG_IN, logedIn: false})\r\n props.clearListCookies({nav: \"/oauth/log_out\", loading: true, logout: true})\r\n }}\r\n >\r\n {translations.logout}\r\n : null}\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nlet hubCallback = null\r\n\r\nclass Layout extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n customerObjectModel: null,\r\n loanActivity: null,\r\n loanSummary: null,\r\n docTemplates: null,\r\n Redirect: false,\r\n loanNumber: null,\r\n showMessage: null,\r\n pennyCanTalk: false,\r\n pennyCanHear: false,\r\n showChat: false,\r\n isSpeaking: false,\r\n isListening: false,\r\n timer: null,\r\n closeIconHover: false,\r\n incomingMessages: [
],\r\n hubIntitailized: false,\r\n }\r\n hubCallback = this.takePayload;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n\r\n if (!props.layout?.pennyWise && props.layout?.token && parseInt(props.layout?.borrowerId) > 0 && !state.hubIntitailized && hubCallback != null) {\r\n\r\n Events.init(hubCallback, props.layout.token)\r\n\r\n return {\r\n ...state,\r\n hubIntitailized: true\r\n }\r\n }\r\n return null\r\n }\r\n\r\n takePayload = (message, type) => {\r\n let incomingMessages = this.state.incomingMessages\r\n\r\n switch (type) {\r\n case \"FeatureToggle\":\r\n if (message) {\r\n let mess = JSON.parse(message)\r\n this.props.dispatch({type: FEATURE_TOGGLES, features: mess})\r\n }\r\n break;\r\n case \"ReceiveMessage\":\r\n\r\n incomingMessages.push(
{message.toString()}
)\r\n this.setState({\r\n showMessage: true,\r\n incomingMessages: incomingMessages\r\n }, () => {\r\n setTimeout(() => {\r\n incomingMessages.splice(0, 1)\r\n this.setState({showMessage: false})\r\n }, 1000)\r\n })\r\n break;\r\n case \"InternalMessage\":\r\n message = JSON.parse(message)\r\n switch (message.type) {\r\n case '1':\r\n case 1:\r\n let {layout} = this.props\r\n var messag = layout.messages\r\n if (messag.find(s => s.messageId == message.dataModel.MessageId)) {\r\n messag.forEach(s => {\r\n if (s.messageId == message.dataModel.MessageId) {\r\n s.body = message.dataModel.Body;\r\n }\r\n })\r\n } else {\r\n\r\n messag.push({\r\n \"idsUserId\": message.dataModel.IdsUserId,\r\n \"messageId\": message.dataModel.MessageId,\r\n \"parentMessageId\": message.dataModel.ParentMessageId,\r\n \"body\": message.dataModel.Body,\r\n \"receivedDateTimeUtc\": message.dataModel.ReceivedDateTimeUtc,\r\n \"readDateTimeUtc\": message.dataModel.ReadDateTimeUtc,\r\n \"subjectLID\": message.dataModel.SubjectLID,\r\n \"statusLID\": message.dataModel.StatusLID,\r\n \"messageTypeLID\": message.dataModel.MessageTypeLID,\r\n \"documentId\": message.dataModel.DocumentId,\r\n \"recipientLID\": message.dataModel.RecipientLID,\r\n \"senderLID\": message.dataModel.SenderLID,\r\n \"messageSourceLID\": message.dataModel.MessageSourceLID,\r\n \"firstName\": message.dataModel.FirstName,\r\n \"lastName\": message.dataModel.LastName,\r\n \"chatLog\": message.dataModel.ChatLog,\r\n \"loanId\": message.dataModel.LoanId,\r\n \"attachment\": message.dataModel.Attachment,\r\n })\r\n }\r\n\r\n this.props.dispatch({type: GET_MESSAGES, messages: messag})\r\n break;\r\n case 2:\r\n case \"2\":\r\n\r\n let {selectedLoanNumber, closedEndSeconds} = this.props.layout\r\n \r\n if(parseFloat(selectedLoanNumber) > 0 && !closedEndSeconds){\r\n this.props.refreshBankData(selectedLoanNumber)\r\n }\r\n break;\r\n case 3:\r\n case \"3\":\r\n\r\n let {banksToAdd} = this.props.layout\r\n\r\n let newBank = message.dataModel\r\n\r\n if (newBank) {\r\n if (banksToAdd && banksToAdd.length > 0) {\r\n banksToAdd.forEach(s => {\r\n if (s.loanBankDetailAltId == newBank.loanBankDetailAltId) {\r\n return newBank\r\n }\r\n return s\r\n })\r\n } else {\r\n banksToAdd = []\r\n banksToAdd.push(newBank)\r\n }\r\n this.props.dispatch({type: E_DIS, banksToAdd: banksToAdd})\r\n\r\n } else {\r\n\r\n this.props.dispatch({type: E_DIS, banksToAdd: (banksToAdd || []).filter(s => !s.pending)})\r\n\r\n }\r\n\r\n break;\r\n }\r\n\r\n break;\r\n }\r\n\r\n }\r\n\r\n socketPrepend = null\r\n\r\n\r\n render() {\r\n let {layout, translations, dispatch, ...rest} = this.props\r\n let {\r\n chatMessages,\r\n pennyCanTalk,\r\n pennyCanHear,\r\n isSpeaking,\r\n isListening,\r\n chatIsInitialized,\r\n chatIsBlocked\r\n } = layout\r\n let trans = (translations && translations[windowObject.location.pathname]) ? JSON.parse(translations[windowObject.location.pathname]) : []\r\n\r\n return (\r\n
\r\n\r\n\r\n \r\n {matches => (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

Loading...

\r\n
\r\n\r\n \r\n {!layout.wrapedMobile && }\r\n {layout.pennyWise ?
\r\n
Penny Wise
\r\n
: null}\r\n {this.state.incomingMessages}\r\n \r\n\r\n\r\n {matches.small || matches.medium ? : null}\r\n
\r\n
\r\n
\r\n
\r\n {matches.large ?\r\n
\r\n
\r\n \r\n
\r\n
\r\n : null}\r\n
\r\n {!this.props.layout.drawerOpen ?\r\n
\r\n
\r\n {trans && (\r\n
\r\n {trans.map((w, i) =>\r\n \r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n {this.props.children}\r\n
: null}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n layout: state,\r\n translations: state.translations\r\n\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n dispatch: dispatch,\r\n ...bindActionCreators(AppActions, dispatch),\r\n };\r\n};\r\n\r\n\r\nconst styles = {\r\n selectTab: {\r\n fontFamily: \"HalenoirCompactText-Bold\",\r\n fontSize: 12,\r\n color: '#117AAA',\r\n textAlign: 'center',\r\n },\r\n defaultTab: {\r\n fontFamily: \"HalenoirCompactText-Medium\",\r\n fontWeight: '500',\r\n fontSize: 12,\r\n color: '#1B1B1B',\r\n textAlign: 'center',\r\n width: '100%'\r\n },\r\n selectTabBg: {\r\n minWidth: 60,\r\n maxWidth: 80,\r\n backgroundColor: '#EAF5F8',\r\n marginHorizontal: 5,\r\n borderRadius: 5,\r\n alignItems: 'center',\r\n paddingVertical:10,\r\n\r\n },\r\n defaultTabBg: {\r\n paddingVertical:10,\r\n minWidth: 60,\r\n maxWidth: 80,\r\n height: 60,\r\n marginHorizontal: 5,\r\n borderRadius: 10,\r\n alignItems: 'center',\r\n },\r\n hoverTabBg: {\r\n paddingVertical:10,\r\n minWidth: 60,\r\n maxWidth: 80,\r\n marginHorizontal: 5,\r\n borderRadius: 10,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: '#EAF5F8',\r\n borderWidth:1,\r\n borderColor:'#39AFDD'\r\n },\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(Layout))\r\n\r\n","export const MarketingScripts = (toggle, layout) => {\r\n var env = window.location.host.indexOf(\"-\") > -1 || window.location.host.indexOf(\"localhost\") > -1\r\n window.dataLayer = window.dataLayer || [];\r\n if (toggle) {\r\n if (!isNaN(layout.segmentId)) {\r\n var digitalData = {\r\n user: {\r\n userName: layout.userProfile?.username,\r\n ipAddress: \"174.128.191.1\",\r\n loanNumber: layout.currentLoan.loanId,\r\n loanStatus: layout.currentLoan.loanStatusDescription,\r\n cookiesEnabled: \"Yes\",\r\n state: layout.currentLoan?.propertyRegion,\r\n city: layout.currentLoan?.propertyLocality,\r\n zip: layout.currentLoan?.propertyPostalCode,\r\n segmentId: layout.segmentId\r\n },\r\n page: {\r\n pageName: \"cr\" + window.window.getCurrentPageName(),\r\n channel: \"customers\",\r\n pageUrl: \"\",\r\n environment: \"production\",\r\n lead: {\r\n form1: {\r\n name: {},\r\n fields: {\r\n currentCustomer: {},\r\n loanType: {},\r\n state: {}\r\n },\r\n errors: {}\r\n },\r\n phone: {},\r\n calculator: {\r\n name: {}\r\n },\r\n cta: {\r\n linkName: {}\r\n },\r\n chat: {},\r\n customerWebsite: {\r\n linkName: {}\r\n },\r\n rates: {\r\n request: {\r\n loanPurpose: {},\r\n propertyValue: {},\r\n loanAmount: {},\r\n state: {},\r\n county: {},\r\n isVa: {}\r\n },\r\n response: {\r\n currentProductName: {}\r\n },\r\n mobile: {\r\n direction: {},\r\n section: {}\r\n }\r\n }\r\n }\r\n }\r\n };\r\n window.window.digitalData = digitalData\r\n }\r\n if (!document.getElementById('marketing-script')) {\r\n let data = { event: 'marketingScriptData' },\r\n fields = ['borrowerId', 'borrowerLoans', 'language', 'loanArray', 'loanNumbers', 'logedIn', 'logedInState', 'mobile', 'segmentData', 'segmentId', 'selectedLoanNumber'],\r\n userFields = ['customer_id', 'is_active', 'login_count', 'previous_login_on', 'user_id', 'username', 'verified_email'];\r\n fields.forEach(field => {\r\n if (layout[field])\r\n data[field] = layout[field];\r\n });\r\n if (layout.userProfile) {\r\n data.userProfile = {};\r\n userFields.forEach(field => {\r\n if (layout.userProfile[field])\r\n data.userProfile[field] = layout.userProfile[field];\r\n });\r\n }\r\n window.dataLayer.push(data);\r\n\r\n if (env) {\r\n let lower = document.createElement(\"script\");\r\n lower.setAttribute(\"src\", \"https://assets.adobedtm.com/c52783cec8b1/b490159dbd62/launch-7d7413fb35dc-staging.min.js\");\r\n lower.setAttribute(\"async\", \"true\");\r\n lower.setAttribute(\"id\", \"marketing-script\");\r\n document.body.appendChild(lower);\r\n } else {\r\n let prd = document.createElement(\"script\");\r\n prd.setAttribute(\"src\", \"https://assets.adobedtm.com/c52783cec8b1/b490159dbd62/launch-830b0903b192.min.js\");\r\n prd.setAttribute(\"async\", \"true\");\r\n prd.setAttribute(\"id\", \"marketing-script\");\r\n document.body.appendChild(prd);\r\n }\r\n }\r\n }\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { StyleSheet } from \"react-native\";\r\nimport { PnmacText } from 'pnmac-universal-components';\r\nimport stepStarted from \"../../assets/step-started.svg\";\r\nimport stepFuture from \"../../assets/step-future.svg\";\r\nimport stepCompleted from \"../../assets/step-completed.svg\";\r\nimport step5CompletedMobile from \"../../assets/step5-completed-mobile.svg\";\r\n\r\nconst StepsIndicator = ({\r\n currentStep, steps, matches, completed\r\n}) => {\r\n\r\n const colorCyan = \"#30AEDF\";\r\n const colorGreen = \"#56AC69\"; \r\n const colorGrayMediumDark = \"#5C5C5C\";\r\n\r\n const LargeMedium = () => (\r\n <>\r\n
\r\n {steps.map((step, index) => { \r\n \r\n let stepColor = currentStep === index ? colorGrayMediumDark : colorGreen;\r\n\r\n if(completed) stepColor = colorGreen;\r\n\r\n return {step.stepNumber}\r\n })}\r\n
\r\n
\r\n \r\n {steps.map((step, index) => {\r\n\r\n let stepIcon = stepFuture;\r\n if(currentStep === index) stepIcon = stepStarted; \r\n if(currentStep > index) stepIcon = stepCompleted;\r\n\r\n let stepColor = index === steps.length - 2? colorCyan : colorGreen;\r\n if(completed){ stepColor = colorGreen; stepIcon = stepCompleted };\r\n\r\n return (\r\n <> \r\n \"Step \r\n \r\n {index < steps.length -1 && (\r\n
\r\n )} \r\n \r\n );\r\n })}\r\n
\r\n \r\n
\r\n {steps.map((step, index) => {\r\n \r\n let stepColor = currentStep === index ? colorGrayMediumDark : colorGreen;\r\n if(completed) stepColor = colorGreen;\r\n \r\n return (\r\n
\r\n {step.stepLabel}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n\r\n const currentStepObject = steps[currentStep];\r\n\r\n const Small = () => (\r\n <> \r\n \r\n {completed ? \r\n \"Step :
\r\n \r\n
\r\n \r\n {currentStepObject.stepNumber}\r\n \r\n
\r\n
}\r\n\r\n
\r\n {`STEP ${currentStepObject.stepNumber}/${steps.length}`}\r\n \r\n {currentStepObject.stepLabel}\r\n \r\n
\r\n
\r\n\r\n
\r\n {steps.map((step, index) => {\r\n\r\n let stepIcon = stepFuture;\r\n if(currentStep === index) stepIcon = stepStarted; \r\n if(currentStep > index) stepIcon = stepCompleted;\r\n\r\n let stepColor = colorGreen;\r\n\r\n if(currentStep === index) stepColor = colorCyan;\r\n if(currentStep > index) stepIcon = colorGreen;\r\n if(completed) stepColor = colorGreen;\r\n\r\n return ( \r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n\r\n if(matches.large || matches.medium) return ;\r\n return ;\r\n};\r\n\r\nconst StepShape = PropTypes.shape({\r\n stepNumber: PropTypes.number.isRequired,\r\n stepLabel: PropTypes.string.isRequired\r\n});\r\n\r\nStepsIndicator.propTypes = {\r\n currentStep: PropTypes.number.isRequired,\r\n steps: PropTypes.arrayOf(StepShape).isRequired,\r\n matches: PropTypes.object.isRequired,\r\n completed: PropTypes.bool.isRequired\r\n};\r\n\r\nexport default StepsIndicator;\r\n\r\nconst styles = StyleSheet.create({\r\n container: {\r\n flexDirection: \"row\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n width: \"100%\",\r\n },\r\n line: { \r\n height: 2,\r\n width: \"100%\", \r\n backgroundColor: \"black\"\r\n },\r\n circle: {\r\n width: 30,\r\n height: 30,\r\n borderRadius: 25,\r\n backgroundColor: \"green\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\"\r\n },\r\n blueCircle: {\r\n backgroundColor: \"blue\"\r\n },\r\n greenCircle: {\r\n backgroundColor: \"green\"\r\n },\r\n stepNumber: {\r\n fontSize: 16,\r\n fontWeight: \"bold\",\r\n color: \"black\",\r\n },\r\n stepLabel: {\r\n fontSize: 14,\r\n color: \"black\",\r\n \r\n }\r\n})\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n PnmacTextInput,\r\n PnmacUIButton,\r\n PnmacPaper,\r\n PnmacAppBar,\r\n PnmacCheckBox,\r\n PnmacTermsModal,\r\n AppActions,\r\n AppEvents,\r\n PnmacInputMask,\r\n PnmacMediaQuery,\r\n BannerView,\r\n PnmacText,\r\n withPnmacContext,\r\n PnmacAppbarHeader,\r\n PnmacAppbarContent,\r\n Hoverable,\r\n isSubServicingLoan\r\n} from 'pnmac-universal-components'\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport { View, Text, Image, Platform, TouchableOpacity, ScrollView } from \"react-native\";\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport FadeLoader from \"react-spinners/FadeLoader\";\r\nimport Button from '@material-ui/core/Button';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport Footer from './Footer.js'\r\nimport { checkForAllNumbers, getActiveFeatures } from '../utils'\r\nimport moment from 'moment'\r\nimport StepsIndicator from \"./StepsIndicator/StepsIndicator\";\r\n\r\nconst { CHANGE_LANGUAGE, LOAN_NUMBERS, LOG_IN } = AppActions\r\nconst { TrackerHitTypeLID_ENUM, TrackerActionLID_ENUM, TrackerCategoryLID_ENUM, UserLanguage_ENUM } = AppEvents\r\n\r\nconst BootstrapButton = withStyles({\r\n root: {\r\n boxShadow: 'none',\r\n textTransform: 'none',\r\n fontSize: 16,\r\n padding: '6px 12px',\r\n lineHeight: 1.5\r\n },\r\n}, { index: 1 })(Button);\r\n\r\nfunction getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n}\r\n\r\nconst AllSetView = ({ matches, theme, onPressContinue, translations, layout }) => {\r\n\r\n const largeMedium = (matches.large || matches.medium);\r\n const small = matches.small;\r\n\r\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n \r\n const phoneBackground = largeMedium ? require('../assets/phone-background.png') : require('../assets/phone-background-mobile.png');\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {translations.AllSet}\r\n \r\n {translations.LoginAnytime}\r\n {\" \"}pennymac.com/login\r\n {\" \"}{translations.OnOurApp}\r\n \r\n \r\n \r\n \r\n {translations.GoToMyAccount}\r\n \r\n\r\n \"Chevron\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n {translations.DownloadPennymac}\r\n {translations.UseSameLogin}\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n );\r\n}\r\n\r\nfunction MiniDrawer(props) {\r\n\r\n let { translations, matches, layout } = props\r\n const [hoveringLang, setHoveringLang] = useState(false)\r\n const [hoveringContact, setHoveringContact] = useState(false)\r\n const [hoveringLogout, setHoveringLogout] = useState(false)\r\n\r\n \r\n return (\r\n
\r\n
\r\n \r\n {!matches.small && (\r\n \r\n \"logo\"\r\n
\r\n }\r\n />\r\n )}\r\n\r\n\r\n
\r\n {matches.small ?\r\n setHoveringLang(true)}\r\n onHoverOut={() => setHoveringLang(false)}\r\n >\r\n {\r\n\r\n props.dispatch({\r\n type: CHANGE_LANGUAGE,\r\n lang: layout.language == \"en\" ? 'es' : 'en', dontPost: true\r\n })\r\n\r\n }}>{layout.language == \"en\" ?\r\n \r\n \r\n Español\r\n \r\n :\r\n \r\n \r\n English\r\n }\r\n \r\n :\r\n {\r\n\r\n props.dispatch({\r\n type: CHANGE_LANGUAGE,\r\n lang: layout.language == \"en\" ? 'es' : 'en', dontPost: true\r\n })\r\n\r\n }}\r\n >{layout.language == \"en\" ?\r\n Español :\r\n English}\r\n \r\n }\r\n\r\n {matches.small ? setHoveringLogout(true)}\r\n onHoverOut={() => setHoveringLogout(false)}\r\n >\r\n {\r\n props.dispatch({ type: LOG_IN, logedIn: false })\r\n window.location.href = \"/oauth/log_out\";\r\n }}\r\n >\r\n \r\n {translations.logout}\r\n \r\n :\r\n {\r\n props.dispatch({ type: LOG_IN, logedIn: false })\r\n window.location.href = \"/oauth/log_out\";\r\n }}\r\n >\r\n \r\n {translations.logout}\r\n \r\n }\r\n
\r\n\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nclass Registration extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n loanId: \"\",\r\n dob: \"\",\r\n valid: false,\r\n ssn: \"\",\r\n lastFour: \"\",\r\n propertyZip: \"\",\r\n checked: false,\r\n termsAndConditions: false,\r\n electronicCommunicaitons: false,\r\n lastFourError: false,\r\n dobError: false,\r\n openedTerms: false,\r\n openedElectronics: false,\r\n timeOpen: false,\r\n loanError: false,\r\n loanErrorMsg: \"Please input a valid 10 digit number\",\r\n modalOpenTe: false,\r\n modalOpenEl: false,\r\n loading: false,\r\n errorType: 1,\r\n modalData: {\r\n cancel: null,\r\n accept: null,\r\n header: null,\r\n node: \"\",\r\n link: null,\r\n content: null,\r\n modelId: null,\r\n title: null\r\n },\r\n registerComplete: false,\r\n responseData: null, \r\n callbackPath: \"\"\r\n\r\n }\r\n }\r\n\r\n\r\n setValue = (value, property) => {\r\n\r\n this.setState({ [property]: value })\r\n }\r\n\r\n postRegistration = () => {\r\n let { loanId, lastFour, termsAndConditions, dob, electronicCommunicaitons, propertyZip } = this.state\r\n let request = JSON.stringify({\r\n loanId: parseInt(loanId),\r\n lastFour: lastFour,\r\n propertyZip: propertyZip,\r\n dob: moment(dob).format(\"YYYY-MM-DD\"),\r\n electronicCommunicaitons: electronicCommunicaitons,\r\n termsAndConditions: termsAndConditions\r\n })\r\n fetch('api/registration/association', {\r\n method: 'POST',\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n \"Authorization\": `Bearer ${this.props.layout.token}`\r\n },\r\n body: request\r\n }).then(res => res.json()).then((data) => { \r\n if (data?.errorType == 1) {\r\n this.setState({ registerComplete: true, responseData: data })\r\n } else {\r\n this.setState({ lastFourError: (data.lastFourError ?? true), dobError: (data.dobError ?? true), loanError: (data.loanError ?? true), propertyZipError: (data.propertyZipError ?? true), loading: false, errorType: data.errorType })\r\n }\r\n }).catch(err => {\r\n this.setState({ loading: false })\r\n });\r\n }\r\n\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n\r\n let { loanId, lastFour, dob, termsAndConditions, electronicCommunicaitons, propertyZip } = state\r\n if (\r\n checkForAllNumbers(lastFour, \"4\") &&\r\n checkForAllNumbers(loanId, \"10\") &&\r\n checkForAllNumbers(propertyZip, \"5\") &&\r\n termsAndConditions &&\r\n electronicCommunicaitons &&\r\n moment(dob).isValid()\r\n ) {\r\n return {\r\n ...state,\r\n valid: true\r\n }\r\n } else {\r\n return {\r\n ...state,\r\n valid: false\r\n }\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.props.authenticate(true)\r\n\r\n fetch(`api/account/callbackPath`, {\r\n method: 'GET',\r\n headers: {\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n \"Authorization\": `Bearer ${this.props.layout.token}`\r\n },\r\n }).then((data) => data.text()).then((path) => {\r\n this.setState({ callbackPath: path })\r\n }).catch(err => {\r\n console.log(err)\r\n\r\n });\r\n\r\n }\r\n\r\n goToAccount = () => {\r\n if (this.state.responseData && this.state.responseData.mobile) {\r\n window.location.href = `/?ids_token=${this.props.layout.token}&&loan_numbers=${this.state.responseData.ln}&&ids_user=${this.state.responseData.idsUserId}`\r\n } else {\r\n this.props.dispatch({ type: LOAN_NUMBERS, loanNumbers: this.state.responseData.ln, token: this.state.responseData.token })\r\n this.props.authenticate()\r\n this.props.history.push(`/?ids_token=${this.props.layout.token}&&loan_numbers=${this.state.responseData.ln}`)\r\n }\r\n }\r\n\r\n render() {\r\n let { loanId, lastFour, lastFourError, loanError, dob, dobError, timeOpen, errorType, propertyZip, propertyZipError } = this.state\r\n let { translations, layout, theme } = this.props\r\n const isFullURLContainsSubservicing = this.state.callbackPath.includes(\"subservicing\");\r\n\r\n if (this.props.layout.logedIn && translations.AgreeAndContinue) {\r\n return (\r\n \r\n {matches => (\r\n
\r\n {!layout.wrapedMobile && }\r\n\r\n {errorType == 6 ?\r\n \r\n
\r\n \r\n : errorType == 3 ?\r\n \r\n
\r\n \r\n : errorType == 5 ?\r\n \r\n
\r\n \r\n : errorType == 2 ?\r\n \r\n
\r\n :\r\n errorType == 4 ?\r\n \r\n
\r\n : null\r\n }\r\n \r\n null}\r\n open={this.state.modalOpenTe}\r\n ACE\r\n callbackOnAccept={(data) => {\r\n this.setState({\r\n termsAndConditions: true, modalOpenTe: false, openedTerms: true\r\n })\r\n }}\r\n enject\r\n handleClose={() => this.setState({ modalOpenTe: false })}\r\n data={this.state.modalData}\r\n />\r\n\r\n null}\r\n open={this.state.modalOpenEl}\r\n ACE\r\n callbackOnAccept={(data) => this.setState({\r\n electronicCommunicaitons: true, modalOpenEl: false, openedElectronics: true\r\n\r\n })}\r\n enject\r\n handleClose={() => this.setState({ modalOpenEl: false })}\r\n data={this.state.modalData}\r\n />\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {!this.state.registerComplete && \r\n
\r\n {translations.ConfirmLoanInfo}\r\n \r\n {translations.VerifyAdditionalDetails}\r\n \r\n
\r\n\r\n {(matches.large || matches.medium) && ()}\r\n\r\n
\r\n
\r\n {translations.LoanNumber}\r\n {\r\n if (checkForAllNumbers(text)) {\r\n this.setValue(text, \"loanId\")\r\n }\r\n }}\r\n onBlur={() => {\r\n if (!checkForAllNumbers(this.state.loanId, \"10\")) {\r\n this.setState({ loanError: true });\r\n\r\n } else {\r\n this.setState({ loanError: false })\r\n }\r\n }}\r\n />\r\n {!this.state.loanError && (\r\n {translations.YourLoanNumberIsWelcomeLetter}\r\n )}\r\n {this.state.loanError && (\r\n {translations.ValidLoanId}\r\n )}\r\n
\r\n\r\n
\r\n {translations.PropertyZIPCode}\r\n {\r\n if (checkForAllNumbers(text)) {\r\n this.setValue(text, \"propertyZip\")\r\n }\r\n }}\r\n onBlur={() => {\r\n if (!checkForAllNumbers(this.state.propertyZip, \"5\")) {\r\n this.setState({ propertyZipError: true });\r\n } else {\r\n this.setState({ propertyZipError: false })\r\n }\r\n }}\r\n />\r\n\r\n {this.state.propertyZipError && (\r\n {translations.EnterPropertyZip}\r\n )}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {translations.LastFourSSN}\r\n {\r\n\r\n if (checkForAllNumbers(text)) {\r\n this.setValue(text, \"lastFour\")\r\n }\r\n }}\r\n onBlur={() => {\r\n if (!checkForAllNumbers(this.state.lastFour, \"4\")) {\r\n this.setState({ lastFourError: true });\r\n } else {\r\n this.setState({ lastFourError: false })\r\n }\r\n }}\r\n />\r\n {this.state.lastFourError && (\r\n {translations.EnterLast4DigitsSSN}\r\n )}\r\n
\r\n\r\n
\r\n {translations.DateOfBirth}\r\n \r\n {\r\n this.setValue(text, \"dob\")\r\n }}\r\n onBlur={() => {\r\n if (!moment(this.state.dob, \"MM/DD/YYYY\", true).isValid()) {\r\n this.setState({ dobError: true });\r\n\r\n } else {\r\n this.setState({ dobError: false })\r\n }\r\n }}\r\n render={(props) => {\r\n let { style, translationText, multiline, toggleTheme, underlineColorAndroid, editable, selectionColor, toggleLanguage, placeholderTextColor, onChangeText, testID, ...rest } = props\r\n let st = style.reduce(function (a, i) {\r\n return {\r\n ...a,\r\n ...i\r\n }\r\n })\r\n st.paddingTop = 0\r\n st.backgroundColor = 'unset'\r\n st.border = 'unset'\r\n\r\n return (\r\n <>\r\n {\r\n\r\n onChangeText(e.target.value)\r\n }} />\r\n\r\n \r\n )\r\n }}\r\n />\r\n {this.state.dobError && (\r\n {translations.EnterDateOfBirth}\r\n )}\r\n
\r\n
\r\n\r\n \r\n
\r\n
{\r\n if (translations.AgreeAndContinue && !this.state.openedTerms) {\r\n this.setState({\r\n modalOpenTe: true,\r\n modalData: {\r\n ...this.state.modalData,\r\n cancel: translations.Close,\r\n node: \"termsAndConditions\",\r\n accept: translations.AgreeAndContinue,\r\n header: translations.TermsContentDescription,\r\n link: `${translations.ViewAsSeparatePage}`,\r\n content: translations.TermsContent,\r\n title: translations.TermsContentDescription\r\n }\r\n })\r\n } else {\r\n this.setState({ termsAndConditions: !this.state.termsAndConditions })\r\n }\r\n }}>\r\n { }}\r\n role=\"checkbox\"\r\n aria-label=\"Checkbox\"\r\n />\r\n
\r\n
{\r\n this.setState({\r\n modalOpenTe: true,\r\n modalData: {\r\n ...this.state.modalData,\r\n cancel: translations.Close,\r\n node: \"termsAndConditions\",\r\n accept: translations.AgreeAndContinue,\r\n header: translations.TermsContentDescription,\r\n link: `${translations.ViewAsSeparatePage}`,\r\n content: translations.TermsContent,\r\n title: translations.TermsContentDescription\r\n }\r\n })\r\n\r\n }}>\r\n \r\n \r\n {`${translations.IhaveReadAndAgree}`} {translations.TermsConditionsLink}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
{\r\n if (translations.AgreeAndContinue && !this.state.openedElectronics) {\r\n this.setState({\r\n modalOpenEl: true,\r\n modalData: {\r\n ...this.state.modalData,\r\n cancel: translations.Close,\r\n accept: translations.AgreeAndContinue,\r\n node: \"electronicCommunicaitons\",\r\n header: translations.ElectronicCommunicationsDescription,\r\n link: `${translations.ViewAsSeparatePage}`,\r\n content: translations.ElectronicCommunicationsContent,\r\n title: translations.ElectronicCommunicationsDescription\r\n }\r\n })\r\n } else {\r\n this.setState({ electronicCommunicaitons: !this.state.electronicCommunicaitons })\r\n }\r\n }}>\r\n { }}\r\n role=\"checkbox\"\r\n aria-label=\"Checkbox\"\r\n />\r\n
\r\n
{\r\n this.setState({\r\n modalOpenEl: true,\r\n modalData: {\r\n ...this.state.modalData,\r\n cancel: translations.Close,\r\n accept: translations.AgreeAndContinue,\r\n node: \"electronicCommunicaitons\",\r\n header: translations.ElectronicCommunicationsDescription,\r\n link: `${translations.ViewAsSeparatePage}`,\r\n content: translations.ElectronicCommunicationsContent,\r\n title: translations.ElectronicCommunicationsDescription\r\n }\r\n })\r\n\r\n }}>\r\n \r\n {`${translations.IhaveReadAndAgree} `} Electronic Communications Disclosure and Consent Agreement.\r\n \r\n
\r\n
\r\n
\r\n\r\n {(matches.large || matches.medium) && ()}\r\n\r\n \r\n\r\n {\r\n this.setState({ \r\n loading: true,\r\n errorType: 1,\r\n lastFourError: false,\r\n dobError: false,\r\n loanError: false,\r\n propertyZipError: false }, () => {\r\n this.postRegistration()\r\n })\r\n }}\r\n\r\n >\r\n \r\n {translations.CompleteRegistration}\r\n \r\n\r\n \"Chevron\r\n \r\n
\r\n\r\n {matches.small &&\r\n ( window.history.back()}>\r\n \r\n \"Chevron\r\n \r\n {translations.Back}\r\n \r\n
\r\n )}\r\n\r\n }\r\n {this.state.registerComplete && }\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n\r\n )\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n layout: state,\r\n translations: state.translations\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n dispatch: dispatch,\r\n ...bindActionCreators(AppActions,\r\n dispatch\r\n )\r\n }\r\n}\r\n\r\nconst styles = {\r\n selectTab: {\r\n fontFamily: \"HalenoirCompactText-Bold\",\r\n fontSize: 12,\r\n color: '#117AAA',\r\n textAlign: 'center',\r\n },\r\n defaultTab: {\r\n fontFamily: \"HalenoirCompactText-Medium\",\r\n fontWeight: '500',\r\n fontSize: 12,\r\n color: '#1B1B1B',\r\n textAlign: 'center',\r\n width: '100%'\r\n },\r\n selectTabBg: {\r\n minWidth: 60,\r\n maxWidth: 80,\r\n backgroundColor: '#EAF5F8',\r\n marginHorizontal: 5,\r\n borderRadius: 5,\r\n alignItems: 'center',\r\n paddingVertical: 10,\r\n\r\n },\r\n defaultTabBg: {\r\n paddingVertical: 10,\r\n minWidth: 60,\r\n maxWidth: 80,\r\n height: 60,\r\n marginHorizontal: 5,\r\n borderRadius: 10,\r\n alignItems: 'center',\r\n },\r\n hoverTabBg: {\r\n paddingVertical: 10,\r\n minWidth: 60,\r\n maxWidth: 80,\r\n marginHorizontal: 5,\r\n borderRadius: 10,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: '#EAF5F8',\r\n borderWidth: 1,\r\n borderColor: '#39AFDD'\r\n },\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withPnmacContext(Registration))\r\n","import React from 'react'\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { AppActions } from 'pnmac-universal-components'\r\n\r\n\r\nclass MovrRedirect extends React.Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {}\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n\r\n let { selectedLoanNumber,movr_url } = props.layout\r\n if (selectedLoanNumber) {\r\n var form = document.createElement(\"form\");\r\n form.action = movr_url;\r\n form.method = \"POST\";\r\n form.target = \"_self\";\r\n\r\n var input = document.createElement(\"input\");\r\n input.name = \"LoanNumber\";\r\n input.value = selectedLoanNumber;\r\n form.appendChild(input);\r\n\r\n form.style.display = 'none';\r\n document.body.appendChild(form);\r\n form.submit();\r\n }\r\n return state\r\n }\r\n\r\n render() {\r\n return
Redirecting
\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n layout: state,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n dispatch: dispatch,\r\n ...bindActionCreators(AppActions,\r\n dispatch\r\n )\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MovrRedirect)\r\n","import React, { Component } from 'react';\r\nimport { useEffect } from 'react';\r\n\r\nconst env = window.location.hostname ?\r\n window.location.hostname.indexOf(\"-dev\") > -1 ? \"development\" :\r\n window.location.hostname.indexOf(\"-qa\") > -1 ? \"qa\" :\r\n window.location.hostname.indexOf(\"-stg\") > -1 ? \"staging\" :\r\n window.location.hostname.indexOf(\"localhost\") == -1 ? \"production\" : \"debug\" : \"debug\"\r\n\r\n\r\n\r\nexport default function MovrRedirect() {\r\n useEffect(() => {\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n const cookie = urlParams.get('movr_session_cookie')\r\n const selectedLoanNumber = urlParams.get('selectedLoanNumber')\r\n const movr_url = urlParams.get('movr_url')\r\n\r\n const cookieName = env === 'production' ? '' : '_identity_staging_pennymac_com_session'\r\n document.cookie = cookieName + '=' + cookie\r\n if (selectedLoanNumber && cookie && movr_url) {\r\n const form = document.createElement(\"form\");\r\n form.action = movr_url;\r\n form.method = \"POST\";\r\n form.target = \"_self\";\r\n\r\n const input = document.createElement(\"input\");\r\n input.name = \"LoanNumber\";\r\n input.value = selectedLoanNumber;\r\n form.appendChild(input);\r\n\r\n form.style.display = 'none';\r\n document.body.appendChild(form);\r\n form.submit();\r\n }\r\n }, [])\r\n\r\n\r\n return
\r\n}\r\n","\r\nimport React, { Component, Suspense } from 'react';\r\nimport { Route, Switch, withRouter } from 'react-router';\r\nimport PrivateRoute from './Authentication/PrivateRoute.js';\r\nimport GenericLayout from './components/GenericLayout.js';\r\nimport { bindActionCreators } from \"redux\";\r\nimport { LocalizationProvider } from \"@material-ui/pickers\";\r\nimport MomentUtils from '@material-ui/pickers/adapter/moment';\r\nimport { getActiveFeatures, getCookie, setCookie } from './utils.js';\r\nimport './PayoffTileStyle.css'\r\nimport Default from './components/Default.js'\r\nimport Layout from './components/Layout';\r\nimport * as Sentry from \"@sentry/react\";\r\nimport { MarketingScripts } from './components/MarketingScripts.js'\r\nimport TagManager from 'react-gtm-module';\r\n// import FadeLoader from 'pnmac-universal-components/src/Spinners/FadeSpinner/FadeSpinner.js';\r\nimport Registration from './components/Registration'\r\nimport MovrRed from './components/MovrRedirect.js';\r\nimport { connect } from 'react-redux'\r\nimport {\r\n AppActions,\r\n Interstitial,\r\n PnmacSessionTimer,\r\n ForceUpdate,\r\n BillMatrixHolder,\r\n MakeADraw,\r\n Offers,\r\n AchSuccess,\r\n AppEvents,\r\n PnmacContext,\r\n PendingPayments,\r\n Payment,\r\n SuccessfulLogout,\r\n MortgageInsurance,\r\n WisconsinTaxOptions,\r\n EmailVerification,\r\n Landing,\r\n Mod,\r\n ModForms,\r\n PayoffDemand,\r\n LoanActivity,\r\n LoanEscrow,\r\n MessageCenter,\r\n StatementsAndDocuments,\r\n AmortizationCalculator,\r\n FAQ,\r\n ContactUs,\r\n LoanSummary,\r\n AccountSettingsPage,\r\n EscrowAnalysisPaymentChange,\r\n TaxOptions\r\n} from 'pnmac-universal-components';\r\nimport MovrRedirect from './pages/MovrRedirect/index.jsx';\r\n\r\n\r\n\r\n\r\nconst { PENNYWISE, CHANGE_LANGUAGE, SET_TOKEN, LOG_IN, LOG_OUT, OFFLINE_MODE, USER_IDLE_TIMEOUT } = AppActions\r\nconst { TrackerHitTypeLID_ENUM, TrackerActionLID_ENUM, TrackerCategoryLID_ENUM, UserLanguage_ENUM } = AppEvents\r\n\r\nlet env = window.location.hostname ?\r\n window.location.hostname.indexOf(\"-dev\") > -1 ? \"development\" :\r\n window.location.hostname.indexOf(\"-qa\") > -1 ? \"qa\" :\r\n window.location.hostname.indexOf(\"-stg\") > -1 ? \"staging\" :\r\n window.location.hostname.indexOf(\"localhost\") == -1 ? \"production\" : \"debug\" : \"debug\"\r\n\r\nTagManager.initialize({\r\n gtmId: 'GTM-T8X4NKQ'\r\n});\r\nfunction checkConfig(urlParams, props) {\r\n let tok = urlParams.get('token');\r\n fetch(`/api/main/get_app_info?appId=23`, {\r\n method: \"GET\",\r\n headers: {\r\n 'Authorization': `Bearer ${tok}`,\r\n 'Content-Type': 'application/json',\r\n 'pnmac_user': 'True'\r\n }\r\n }).then(s => {\r\n if (s.status >= 200 && s.status <= 299) {\r\n return s.json()\r\n } else {\r\n window.location.href = '/oauth/index'\r\n return false\r\n }\r\n }).then(ss => {\r\n if (ss) {\r\n let url = ss;\r\n if (url) {\r\n props.dispatch({\r\n type: PENNYWISE,\r\n is: true,\r\n url: '/',\r\n token: tok,\r\n loanId: urlParams.get('loanId')\r\n })\r\n props.pennyWiseAuth(tok, \"/\")\r\n props.history.push(\"/\")\r\n }\r\n }\r\n }).catch(err => {\r\n window.location.href = '/oauth/log_out'\r\n console.log(\"Err\", err)\r\n })\r\n}\r\n\r\n//if (window?.performance?.navigation?.type === 2 && window?.location?.pathname === \"/\") {\r\n// window.location.reload();\r\n//}\r\n\r\nconst LogIn = () => {\r\n return window.location.href = `/oauth/index`\r\n}\r\nclass App extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n routeFound: true,\r\n register: null,\r\n languageSet: false,\r\n isMounted: false,\r\n urlParams: new URLSearchParams(window.location.search),\r\n directed: false,\r\n isProductAndFeaturesEnabled: false,\r\n\r\n }\r\n let that = this\r\n window.windowNav = (nav) => {\r\n\r\n props.history.push(`/${nav.route}`);\r\n \r\n }\r\n\r\n this.channel = new BroadcastChannel('app-navigate')\r\n\r\n if (this.state.urlParams.has('dlink')) {\r\n const routerName = this.state.urlParams.get('dlink');\r\n localStorage.setItem('KEY_DLINK_ROUTE',routerName)\r\n }\r\n\r\n if (this.state.urlParams.has('p3nnywis3')) {\r\n if (this.state.urlParams.has('token') && this.state.urlParams.get('token') != null && this.state.urlParams.get('token') !== \"\") {\r\n checkConfig(this.state.urlParams, props)\r\n } else {\r\n window.location.href = '/oauth/index'\r\n }\r\n }\r\n let unloadWindowUTCTimeString = localStorage.getItem(\"PennyWindowUnloadTime\")\r\n if(unloadWindowUTCTimeString != null)\r\n {\r\n localStorage.removeItem(\"PennyWindowUnloadTime\") \r\n const unloadWindowUTCTime = new Date(unloadWindowUTCTimeString);\r\n if(unloadWindowUTCTime!= null)\r\n {\r\n // Get the current time as a Date object\r\n const currentTime = new Date();\r\n \r\n // Calculate the difference in milliseconds\r\n const timeDifference = currentTime.getTime() - unloadWindowUTCTime.getTime();\r\n \r\n // Check if the difference is within 15 minutes (900,000 milliseconds)\r\n if (timeDifference >= 900000) {\r\n this.props.dispatch({ type: LOG_OUT, logedIn: false })\r\n this.props.clearListCookies({ nav: \"/oauth/log_out\", loading: false, logout: true })\r\n }\r\n }\r\n\r\n \r\n }\r\n if (this.state.urlParams.has('ids_token')) {\r\n let mobieWrapped = new URLSearchParams(window.location.search)\r\n\r\n let mobileWr = mobieWrapped?.has('mobile_wrap')\r\n\r\n if (mobileWr) {\r\n localStorage.setItem(\"PennyTime\", mobieWrapped?.get('mobile_wrap'))\r\n }\r\n\r\n props.dispatch({\r\n type: SET_TOKEN,\r\n token: this.state.urlParams.get('ids_token'),\r\n mobileWraped: mobileWr,\r\n ...(mobileWr ? { selectedLoanNumber: mobieWrapped?.get('mobile_wrap') } : null)\r\n })\r\n this.props.history.push(window.location.pathname)\r\n }\r\n window.addEventListener('beforeinstallprompt', e => {\r\n e.preventDefault()\r\n props.dispatch({ type: OFFLINE_MODE, event: e })\r\n })\r\n window.addEventListener('beforeunload', e => {\r\n if(window.location.pathname != '/SuccessfulLogout')\r\n {\r\n props.trackerDispatcher(UserLanguage_ENUM.English,\r\n TrackerCategoryLID_ENUM.Button,\r\n TrackerHitTypeLID_ENUM.Event,\r\n TrackerActionLID_ENUM.Click,\r\n \"Window unloaded by user action or system\", 0);\r\n // Create a new Date object\r\n let currentDateUTC = new Date();\r\n // Get current UTC time as a string\r\n let currentUTCTime = currentDateUTC.toUTCString();\r\n \r\n localStorage.setItem(\"PennyWindowUnloadTime\", currentUTCTime);\r\n\r\n }\r\n\r\n })\r\n localStorage.removeItem(\"navigation\")\r\n window.addEventListener('storage', storageEventHandler, false);\r\n function storageEventHandler(evt) {\r\n let valu = localStorage.getItem(\"navigation\")\r\n\r\n if (valu) {\r\n that.props.history.push(valu)\r\n that.props.authenticate()\r\n }\r\n\r\n }\r\n\r\n this.channel.addEventListener('message', (event) => {\r\n let route = event.data\r\n that.props.history.push(route)\r\n that.props.authenticate()\r\n })\r\n\r\n }\r\n\r\n componentDidUpdate(){\r\n const routerName = localStorage.getItem('KEY_DLINK_ROUTE')\r\n if (this.props.layout?.currentLoan && this.props.layout.currentLoan?.loanId && routerName ) {\r\n localStorage.removeItem('KEY_DLINK_ROUTE')\r\n if(routerName.includes('EscrowAnalysisPaymentChange')){\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, \"Dlink/EscrowPayment Change|WEB\", 0);\r\n }\r\n else if(routerName.includes('Mod')){\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, \"Dlink/Modification|WEB\", 0);\r\n } \r\n else if(routerName.includes('Ach'))\r\n {\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click, \"Dlink/Autopay|WEB\", 0);\r\n }\r\n else if(routerName.includes('StatementsAndDocuments'))\r\n {\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click,\"Dlink/Statements&Documents|WEB\", 0);\r\n }\r\n else if (routerName.includes('Paperless')){\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click,\"Dlink/Paperless|WEB\", 0);\r\n }\r\n else if (routerName.includes('OTPpayment')){\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English, TrackerCategoryLID_ENUM.Button, TrackerHitTypeLID_ENUM.Event, TrackerActionLID_ENUM.Click,\"Dlink/OTP|WEB\" , 0); \r\n } \r\n }\r\n }\r\n\r\n\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n let isProductAndFeaturesEnabled = getActiveFeatures(props.layout?.features, `View_Products_And_Offers_web`, props.layout?.whitelisted)\r\n\r\n var isDirected = false;\r\n if (env == \"staging\" || env == \"development\") {\r\n window.layout = props.layout\r\n }\r\n if (props?.layout?.selectedLoanNumber) {\r\n Sentry.configureScope(scope => {\r\n scope.setTag(\"transaction_id\", `Pennymac Loan NUmber: ${props.layout.selectedLoanNumber}`);\r\n });\r\n }\r\n\r\n if (props.layout?.pennyWise) {\r\n } else if (props.layout && props.layout?.currentLoan) {\r\n MarketingScripts(getActiveFeatures(props.layout?.features, `ad_butler_code`, false), props.layout);\r\n }\r\n\r\n if (!state.languageSet && props.layout?.customerPreference && props.layout?.customerPreference.length > 0) {\r\n let lang = props.layout?.customerPreference?.find(s => s.prefenceTypeId == 300097)?.prefenceValueTypeId == 300100 ? \"es\" : \"en\"\r\n props.dispatch({ type: CHANGE_LANGUAGE, lang: lang, dontPost: true })\r\n state.languageSet = true\r\n }\r\n return {\r\n ...state,\r\n directed: isDirected,\r\n isProductAndFeaturesEnabled: isProductAndFeaturesEnabled,\r\n }\r\n\r\n }\r\n\r\n updateTracking = () => {\r\n let { layout } = this.props\r\n if (parseInt(layout.selectedLoanNumber) > 0) {\r\n\r\n let there = localStorage.getItem(\"PennyTime\")\r\n let currentLoanId = parseInt(there) || layout.selectedLoanNumber\r\n\r\n if (currentLoanId > 0 || there == \"there\") {\r\n fetch(`/api/account/track_ui_session`, {\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${layout.token}`,\r\n },\r\n body: JSON.stringify({ loanId: layout.selectedLoanNumber })\r\n }).catch(err => { })\r\n } else {\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English,\r\n TrackerCategoryLID_ENUM.Button,\r\n TrackerHitTypeLID_ENUM.Event,\r\n TrackerActionLID_ENUM.Click,\r\n \"LogOut Clicked Via Web SessionTimeOut\", 0)\r\n this.props.clearListCookies({ nav: \"/oauth/log_out\", loading: false, logout: true })\r\n }\r\n }\r\n }\r\n\r\n handleOnIdle = (event) => {\r\n this.props.trackerDispatcher(UserLanguage_ENUM.English,\r\n TrackerCategoryLID_ENUM.Button,\r\n TrackerHitTypeLID_ENUM.Event,\r\n TrackerActionLID_ENUM.Click,\r\n \"LogOut Clicked Via Web SessionTimeOut\", 0)\r\n this.props.dispatch({ type: LOG_IN, logedIn: false })\r\n this.props.clearListCookies({ nav: \"/oauth/log_out\", loading: true, logout: true })\r\n }\r\n\r\n setupTest = (data) => {\r\n if (env == \"staging\" || env == \"development\") {\r\n window.layout = data\r\n }\r\n }\r\n render() {\r\n\r\n let { layout, translations, dispatch } = this.props\r\n\r\n\r\n const blackListRoutes = ['/EmailVerification', '/SuccessfulLogout', '/post_debit_payment', '/Home/Terms', '/Movr/redirect']\r\n return \r\n {!layout.pennyWise && window.location.pathname?.indexOf(\"/SuccessfulLogout\") == -1 && env != \"development\" ?\r\n null}\r\n throttle={1000}\r\n onAction={(throttle) => this.updateTracking()}\r\n handleOnIdle={this.handleOnIdle}\r\n timeOutTime={870000} // 14 minutes 30 seconds in milli seconds\r\n message={translations?.IdleMessageLogout}\r\n keepMeLoggedIn={translations?.IdleMessageTitle}\r\n title={translations?.IdleMessageTitle}\r\n timeoutint={\"45\"}\r\n userIdleDetected={(data)=>{\r\n this.props.dispatch({\r\n type: USER_IDLE_TIMEOUT,\r\n value: data\r\n })\r\n }}\r\n />\r\n : null}\r\n \r\n {/* \r\n
\r\n
\r\n \r\n
\r\n
\r\n
}> */}\r\n {(blackListRoutes.find(e => window.location.pathname.indexOf(e) > -1) == undefined) ? \r\n {window.location.pathname !== \"/Account/Registration\" ?\r\n \r\n {/**/}\r\n \r\n \r\n \r\n { this.setupTest(test) }} isOtp={true} />} />\r\n { this.setupTest(test) }} isOtp={true} />} />\r\n { this.setupTest(test) }} isOtp={false} />} />\r\n { this.setupTest(test) }} isOtp={false} refreshProp={true} />} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.isProductAndFeaturesEnabled && }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.channel.postMessage(\"/Payment/Pending\", layout.pennyHomeFullyQualified);\r\n localStorage.setItem(\"navigation\", \"/Payment/Pending\")\r\n setTimeout(function () {\r\n window.close()\r\n }, 500)\r\n return
\r\n }} />\r\n {\r\n this.channel.postMessage(\"/Payment/Pending\", layout.pennyHomeFullyQualified);\r\n localStorage.setItem(\"navigation\", \"/Payment/Pending\")\r\n setTimeout(function () {\r\n window.close()\r\n }, 500)\r\n return
\r\n }} />\r\n } />\r\n } />\r\n \r\n \r\n
\r\n
: \r\n }\r\n
:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {/* */}\r\n \r\n \r\n }\r\n}\r\nconst mapStateToProps = (state) => ({\r\n layout: state,\r\n translations: state.translations\r\n\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n dispatch: dispatch,\r\n ...bindActionCreators(AppActions, dispatch),\r\n };\r\n};\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(App));\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nlet env = window.location.hostname ? window.location.hostname.indexOf(\"-dev\") > -1 ? \"development\" : window.location.hostname.indexOf(\"-stg\") > -1 ? \"staging\" : window.location.hostname.indexOf(\"localhost\") == -1 ? \"production\" : \"debug\" : \"debug\"\r\n\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register() {\r\n //if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n const swFileName = 'custom-sw.js'\r\n\r\n const swUrl = `${process.env.PUBLIC_URL}/${swFileName}`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n //checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n\r\n}\r\n\r\nfunction registerValidSW(swUrl) {\r\n if (navigator && navigator.serviceWorker) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n if (window.notifyNewContent) {\r\n if (env != \"production\") {\r\n window.notifyNewContent();\r\n }\r\n }\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.6\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n } \r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'unfetch/polyfill';\r\nimport 'abortcontroller-polyfill';\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport 'broadcastchannel-polyfill'\r\nimport React from 'react';\r\nimport { Router } from 'react-router-dom';\r\nimport App from './App';\r\nimport { Provider } from 'react-redux'\r\nimport { store as s } from 'pnmac-universal-components'\r\nimport { AppRegistry } from 'react-native'\r\nimport { createBrowserHistory } from 'history';\r\nimport { PersistGate } from 'redux-persist/integration/react'\r\nimport registerServiceWorker, { unregister } from './registerServiceWorker';\r\nimport { getCookie } from './utils.js'\r\nimport * as Sentry from \"@sentry/react\";\r\nimport { Integrations } from \"@sentry/tracing\";\r\n\r\n\r\n\r\nlet env = window.location.hostname ? window.location.hostname.indexOf(\"-dev\") > -1 ? \"development\" : window.location.hostname.indexOf(\"-stg\") > -1 ? \"staging\" : window.location.hostname.indexOf(\"localhost\") == -1 ? \"production\" : \"debug\" : \"debug\"\r\n\r\nvar urlParams = new URLSearchParams(window.location.search);\r\n\r\nlet pennyWise = urlParams.has('p3nnywis3');\r\n\r\nif (!pennyWise) {\r\n if (env == \"staging\") {\r\n Sentry.init({\r\n dsn: \"https://73fb236729e644a7bc4783900871a845@o504691.ingest.sentry.io/5592858\",\r\n integrations: [new Integrations.BrowserTracing()],\r\n tracesSampleRate: 1.0,\r\n environment: pennyWise ? \"pennywise_staging\" : \"staging\"\r\n });\r\n }\r\n}\r\n\r\nvar urlParams = new URLSearchParams(window.location.search);\r\n\r\n\r\nconst baseUrl = document.getElementsByTagName('base') && document.getElementsByTagName('base').length > 0 ? document.getElementsByTagName('base')[0].getAttribute('href') : \"/\";\r\n\r\n\r\nconst history = createBrowserHistory();\r\n\r\n\r\nconst ConditionalWrapper = ({ condition, wrapper, children }) => condition ? wrapper(children) : children;\r\n\r\n\r\nexport const store = s(pennyWise, !pennyWise, \"correlation\")\r\n\r\nclass ErrorComponent extends React.Component {\r\n render() {\r\n return (\r\n
\r\n

Sorry, something went wrong.

\r\n
\r\n );\r\n }\r\n}\r\n\r\nclass AppDemo extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n\r\n }\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // You can also log the error to an error reporting service\r\n console.log(error, errorInfo);\r\n this.setState({error: error, errorInfo: errorInfo})\r\n }\r\n\r\n componentDidMount() {\r\n if (!pennyWise) {\r\n //unregister()\r\n if (window.location.hostname.indexOf(\"customers\") > -1) {\r\n unregister()\r\n } else {\r\n registerServiceWorker();\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n static getDerivedStateFromError(error) {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n this.state.hasError ? : (\r\n \r\n {children}}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n )\r\n\r\n }\r\n}\r\n\r\n\r\n\r\nAppRegistry.registerComponent('Pennymac', () => AppDemo)\r\nAppRegistry.runApplication('Pennymac', {\r\n rootTag: document.getElementById('root'),\r\n})\r\n\r\n"],"sourceRoot":""}