{"version":3,"sources":["providers/authProvider/authContext.js","providers/authProvider/authProvider.js","redux/startup/actions.js","config/sharedConfig.ts","constants/commonConstants.js","utils/portalApi.js","utils/reactAdapter.js","hooks/useOnDismount.js","hooks/useOnFairGoMessage.js","hooks/useIsFirstRender.js","hooks/usePendingPrefill.js","hooks/useNumberInputFilter.js","hooks/useQueryString.js","hooks/index.js","hooks/useSetDefaultValue.js","services/apiRoutes.js","redux/utility/actions.js","config/fgf.ts","components/textButton/TextButton.js","components/loader/components/spinner.style.js","components/loader/components/spinner.js","theme/config/default/variables.js","theme/config/allThemes/zIndexes.ts","theme/config/allThemes/breakpoints.ts","theme/config/default/index.ts","theme/config/default/palette.ts","theme/config/default/fonts.ts","theme/config/default/borderRadii.ts","theme/config/default/projectSpecific.ts","theme/config/default/buttons.ts","theme/config/nimble/variables.js","theme/config/nimble/index.ts","theme/config/nimble/palette.ts","theme/config/nimble/fonts.ts","theme/config/nimble/borderRadii.ts","theme/config/nimble/projectSpecific.ts","theme/config/nimble/buttons.ts","theme/config/theme.config.ts","config/nimble.ts","services/parseQueryString.js","constants/authConst.js","services/safeRedirectHome.js","services/authService.js","utils/localStorageAdapter.js","utils/helpers/dateHelper.js","route.constants.js","utils/windowAdapter.js","constants/options.js","components/modal/modal.js","components/modal/modal.styles.js","components/modal/portal.js","components/modal/modalParent.js","components/modal/index.js","containers/Forms/schema/applyBankStepSchema.js","components/paper/paper.js","components/paper/index.js","utils/helpers/convertDomainToCorrespondingBrand.js","utils/helpers/environment.js","components/contentWrapper/index.js","utils/helpers/browserHelper.js","components/contentWrapper/contentWrapper.js","config/domainSpecificConfig.ts","utils/helpers/getEnvironmentType.ts","constants/environmentSettings.js","redux/client/actions.js","hooks/useOnMount.js","hooks/useFocus.js","redux/contentDelivery/actions.js","components/loader/loader.style.js","components/loader/loader.js","components/axiosAuthInterceptor/getTokens.js","constants/now.js","redux/applicationForm/actions.js","theme/config/index.ts","redux/manageRepaymentsForm/actions.js","components/loader/loadingStubber.js","components/loader/index.js","containers/PageWrapper/pageWrapper.styles.js","components/sidebar/sidebarLeftMobile.styles.js","components/sidebar/sidebarContent.styles.js","components/sidebar/sidebarMenuItems.js","components/sidebar/sidebarContentAnimate.js","theme/assets/newDashboardIcons/ico-navigation-dashboard.svg","theme/assets/newDashboardIcons/ico-navigation-history.svg","theme/assets/newDashboardIcons/ico-navigation-help.svg","theme/assets/newDashboardIcons/ico-navigation-apply-now.svg","theme/assets/newDashboardIcons/ico-navigation-manage-repayments.svg","theme/assets/newDashboardIcons/ico-navigation-PayOnline.svg","theme/assets/newDashboardIcons/ico-navigation-LogOut.svg","components/sidebar/sidebarContent.js","components/footer/footer.styles.js","components/footer/footer.js","components/sidebar/sidebarLeftMobile.js","components/sidebar/sidebarRightMobile.styles.js","components/sidebar/sidebarRightMobile.js","components/sidebar/index.js","components/sidebar/sidebarMobile.js","components/mainHeader/mobileHeader.styles.js","theme/assets/fairgo-logo.svg","theme/assets/nimble-logo.svg","components/mainHeader/mobileHeader.js","components/mainHeader/mainHeader.styles.js","components/mainHeader/index.js","components/mainHeader/mainHeader.js","components/sidebar/sidebarRightDesktop.styles.js","components/sidebar/sidebarRightDesktop.js","components/sidebar/sidebarLeftDesktop.styles.js","components/sidebar/sidebarLeftDesktop.js","containers/PageWrapper/index.js","containers/PageWrapper/pageWrapper.js","theme/assets/fonts/SharpGroteskBook20-Regular.woff2","theme/global/globalStyles.js","redux/startup/reducer.js","models/blankClient.model.js","redux/client/reducer.js","redux/applicationForm/reducer.js","redux/manageRepaymentsForm/reducer.js","redux/contentDelivery/reducer.js","redux/startup/sagas.js","services/clientApi.js","redux/client/sagas.js","services/applicationFormApi.js","constants/commonMessage.js","redux/utility/shared.js","redux/applicationForm/sagas.js","redux/manageRepaymentsForm/sagas.js","services/contentRoutes.js","utils/strapiApi.js","services/contentApi.js","redux/contentDelivery/sagas.js","redux/root-saga.js","redux/devActionsMiddleware/constants.js","redux/devActionsMiddleware/bootstrapReplacers.js","redux/devActionsMiddleware/replacers/createJohnClientReplacer.js","redux/devActionsMiddleware/createDevActionsMiddleware.js","redux/devActionsMiddleware/bootstrapWindowsTools.js","redux/store.js","redux/root-reducer.js","ErrorBoundary.js","hooks/auth/useAuthMountCallback.js","components/auth/callback.js","components/auth/loggedOut.js","components/auth/logout.js","components/auth/logoutCallback.js","components/auth/silentRenew.js","components/routes/redirectToSignin.js","components/routes/privateRoute.js","components/triggerGet/TriggerGet.js","containers/FourOhFour/fourOhFour.js","containers/FourOhFour/index.js","routes.js","components/axiosAuthInterceptor/AxiosAuthInterceptor.js","hooks/useSetHashedCookies.js","utils/helpers/cookiesHelper.js","AppProvider.js","redux/boot.js","App.js","serviceWorker.js","index.js"],"names":["AuthContext","React","createContext","signinRedirectCallback","logout","signoutRedirectCallback","isAuthenticated","signinRedirect","signinSilentCallback","createSigninRequest","getUser","Promise","resolve","AuthProvider","children","useState","authService","auth","Provider","value","START_UP","INITIALISE_QUERY_STRING","CHANGE_BRAND","FILL_FORM","GET_LOAN_REASONS_START","actions","startUp","createPayloadAction","getLoanReasonsRequest","createEmptyAction","parseQueryString","type","payload","queryStringParser","window","location","search","changeTheme","fillForm","GOOGLE_API_KEY","GLOBAL_CDS_UID_PREFIX","APP_STATE","LOADING","READY","ERROR","PRODUCT_TYPE","PERSONAL_LOAN","CAR_LOAN","LINE_OF_CREDIT","LINE_OF_CREDIT_DRAW_DOWN","STATES","ACT","NSW","NT","QLD","SA","TAS","VIC","WA","IDENTIFICATION_TYPES_VALUES","DRIVERS_LICENCE","MEDICARE","LIVING_SITUATIONS","LIVE_WITH_PARTNER","LIVE_WITH_MY_FRIEND","RESIDENTIAL_STATUS","RENTING","MORTGAGE","BOARDING","HOMEOWNER","FIELD_NAMES","BANK_STATEMENTS_ID","LOAN_AMOUNT","LOAN_AMOUNT_ADDITIONAL","REPAYMENT_FREQUENCY","LOAN_TYPE","MINIMUM_REPAYMENT","ACCOUNT_PURPOSE","NEW_LOAN_AMOUNT","REDRAW_AMOUNT","PREVIOUS_ACCOUNT_TYPE","ACCOUNT_ID","DRAW_DOWN_AMOUNT","REPAYMENT_AMOUNT","PROMISE_VALUE","PROMISE_FIRST_DATE","START_DATE","PAYMENT_VALUE","CONTRACTUAL_PAYMENT_REGULAR","NETBALANCE_VALUE","MINIMUM_PAYMENT_VALUE","ACCOUNT_TYPE","CATEGORY_OPTIONS","BRAND","FORM_ID_PORTAL_PL_APPLY","FORM_ID_PORTAL_LOC_APPLY","FORM_ID_PORTAL_CAR_LOAN_APPLY","FORM_ID_PORTAL_REFINANCE","FORM_ID_PORTAL_LOC_DRAWDOWN","isPositionStickySupported","CSS","supports","REDIRECT_DELAY_SECONDS","STANDARD","FREQUENCY","WEEKLY","FORTNIGHTLY","MONTHLY","INCREASE_PAYMENT_STATES","PAYMENT_ENDING","SCHEDULE_LESS_THAN_TWO","SCHEDULE_MORE_THAN_TWO","NO_PAYMENT","MANAGE_MY_ARREARS_STATES","ARREARS","ARREARS_LESS_THAN_THREE","ARREARS_EXPIRED_MATURITY_DATE","SHOW_CONTACT_US","REDIRECT_MANAGE_REPAYMENTS","ARREARS_LOC","DECREASE_PAYMENT_STATES","LOAN_RANGE","SACC","MAX","MIN","convertDomainToCorrespondingBrand","MIN_HAS_SACC","MIN_REDRAW_AMOUNT","OPEN_ACCOUNT_NOTES","TRANSACTION_SYMBOL","TRANSACTION_NOTE","LOC_REPAYMENT_SYMBOL","LOC_REPAYMENT_NOTE","BALANCE_SYMBOL","BALANCE_NOTE","ACCOUNT_WIDGET_DATA","PAYMENT_DATE","REPAYMENT","NETBALANCE","APPLICATION_SUBMITTED","REQUESTED_AMOUNT","MISSED_HARDSHIP_REPAYMENTS","NOTIFICATION_UID","1","2","3","4","MONITOR_CATEGORY_A","PREHARDSHIP","HARDSHIP","MINIMUM_TOP_UP","COOKIES_NAME","EMAIL_ADDRESS_COOKIE","CLIENT_ID_COOKIE","authenticatedPopsApi","axios","create","baseURL","BASE_URL","timeout","headers","accept","environmentSettings","ocpApimSubscriptionKey","useUnmount","messageEventName","useOnFairGoMessage","messageId","callBack","useEffect","messageIdEventListener","messageEvent","data","addEventListener","removeEventListener","useIsFirstRender","useRendersCount","pendingFieldsSelector","state","applicationForm","pendingFields","usePendingPrefill","fieldName","dispatch","useDispatch","pendingField","useSelector","shouldDispatchPendingField","isUndefined","setFieldInitialValue","removePendingField","useNumberInputFilter","name","decimalPlaces","customFieldUpdater","useFormikContext","setFieldValue","handleChange","event","strippedValue","target","replace","fixedRegex","RegExp","fixedValue","match","useQueryString","useLocation","useOnMount","_useOnMount","useOnDismount","_useOnDismount","_useOnFairGoMessage","_useIsFirstRender","_usePendingPrefill","useSetDefaultValue","defaultValue","isLoading","hasSetDefault","setHasSetDefault","initialValue","hasNoValue","useFocus","_useFocus","_useNumberInputFilter","_useQueryString","apiManagement","GET_CLIENT_PROFILE","LOAN_REASONS","REAPPLY_POST","REFINANCE_POST","DRAWDOWN_POST","getAccountTransactionsEndpoint","accountId","getIncreaseRepaymentsEndpoint","getDoubleNextPaymentEndpoint","bankTransferLogIncreaseEndpoint","bankTransferLogArrearsEndpoint","getDownloadTransactionPdfEndpoint","getDownloadContractPdfEndpoint","getPayOverThreeRepaymentsEndpoint","getCreatePaymentPromiseIncreaseEndpoint","getCreatePaymentPromiseArrearsEndpoint","fgfConfig","phone","email","acn","acl","compliance","faq","companyName","termsAndConditions","privacy","partnerLogo","useChatbot","directDebitBank","directDebitBSB","directDebitAccountNumber","ezidebitUrl","cdsPrefix","cdsApp","privacyConsentAndElectronicAuthorisation","creditGuide","fgfFavicon","UnStyledButton","styled","button","attrs","theme","css","fonts","body","props","removeOutline","UnStyledLinkA","a","UnStyledRouterLink","Link","UnStyledLinkButton","UnStyledLink","to","onClick","href","otherProps","TextButton","buttons","link","hoverColor","color","Wrapper","svg","className","palette","main","primary","secondary","status","good","Spinner","primaryCircle","data-testid","viewBox","cx","cy","r","fill","strokeWidth","VARIABLES","Object","freeze","COLORS","themeBody","themeDisclaimer","enchantedForestGreen","oceanBlue","darkGreenEleven","mantisGreen","teaGreen","orange","salmon","white","black","lighterGray","lightGray","gray","mediumGray","darkGray","darkerGray","lightFourteenGrayOpaque","zIndexes","normal","modal","modalForeground","breakpoints","XS","S","M","MD","XM","XXM","L","LG","XL","fullScreen","windowWidth","windowHeight","defaultTheme","border","fieldWell","goodAlt","bad","badAlt","medium","hardship","grayscale","text","heading","disclaimer","header","background","mobileColor","active","icon","iconActive","footer","overlay","accent","input","boxShadow","valid","error","label","borderAlt","placeholder","checkbox","thankYou","envelop","title","skip","headingCase","headingWeight","sizes","h1","h2","h3","h4","h5","h6","p0","p1","p2","p3","p4","p5","borderRadii","default","big","focusWell","projectSpecific","portalWell","pill","formNote","accordion","headColor","headBackgroundOne","headBackgroundTwo","panelBackground","ballBreadCrumb","completeMobile","borderRadius","fontSize","fontWeight","colorHover","backgroundHover","padding","primaryAlt","secondaryAlt","disabled","slate","nimbleRed","pink","lightPink","cream","darkGreen","lightGreen","yellow","whiteOpaque","slateLight","darkRed","darkerRed","formError","nimbleTheme","defaultBrand","themeName","file","configFile","nimbleBrand","nimbleConfig","loadingBrand","brands","determineBrandAndBrandKey","keys","brandKey","brand","includes","getBrandFromHost","host","length","hasNonEmptyHost","isNimbleTheme","isFgfTheme","determineBrandFromHost","nimbleFavicon","filterOnEmptyString","str","trim","slice","indexOf","split","filter","reduce","accumulator","chunk","key","val","decodeURIComponent","authUrl","appUrl","IDENTITY_CONFIG","authority","client_id","authClientId","redirect_uri","automaticSilentRenew","silent_redirect_uri","includeIdTokenInSilentRenew","response_type","scope","post_logout_redirect_uri","loadUserInfo","login","METADATA_OIDC","issuer","jwks_uri","authorization_endpoint","token_endpoint","userinfo_endpoint","end_session_endpoint","check_session_iframe","revocation_endpoint","introspection_endpoint","signingHasAttemptedRedirectKey","redirectHome","localStorage","setItem","Date","safeRedirectHome","signInRedirectAttempted","getItem","parse","getTime","portalDebug","redirectUriKey","UserManager","user","getWindow","locationUrl","URL","usernameParam","searchParams","get","extraQueryParams","delete","pathname","hash","settings","navigateToScreen","redirectUri","oidcStorage","JSON","sessionStorage","id_token","signinSilent","catch","err","console","log","signoutRedirect","id_token_hint","clearStaleState","this","userStore","WebStorageStateStore","store","metadata","Log","logger","level","INFO","NONE","events","addUserLoaded","addSilentRenewError","e","message","addAccessTokenExpired","currentYear","getFullYear","numberToStringOrEmptyString","isNaN","toString","parseIntoDateObject","date","day","getDate","month","getMonth","year","PUBLIC_ROUTE","INDEX","PAGE_NOT_FOUND","LOG_OUT","PRIVATE_ROUTE","LANDING","PAYMENT","EZIDEBIT","APPLY_PERSONAL_LOAN_APPLY","APPLY_REFINANCE","APPLY_LOC_APPLY","APPLY_CAR_LOAN_APPLY","APPLY_LOC_DRAWDOWN","APPLY_TRY_LATER_PARTIAL_ROUTE","APPLY_NOW_MENU","MANAGE_REPAYMENTS","LOAN_HISTORY","HELP","global","unsetValue","createOption","PAYMENT_FREQUENCY_OPTIONS","DAYS","Days","i","push","MONTHS","DEPENDENTS_OPTIONS","YEARS","min","max","upcommingYears","years","getUTCFullYear","EMPLOYMENT_OPTIONS","RESIDENTIAL_STATUS_OPTIONS","STATE_OPTIONS","Modal","onClose","visible","closeable","size","modalContentLabel","attemptClose","useTransition","from","opacity","transform","enter","leave","map","item","spring","isOpen","overlayClassName","parentSelector","document","querySelector","contentLabel","onRequestClose","shouldCloseOnOverlayClick","div","style","aria-label","isIE11","Portal","parentId","useBody","mount","getElementById","el","createElement","appendChild","removeChild","createPortal","ReactModal","setAppElement","ModalParent","id","applyBankStepSchema","Yup","Paper","PaddedPaper","PaddedPaperDashboard","hostname","toLowerCase","runConfiguration","isDevelopment","isProduction","ContentWrapper","MSInputMethodContext","documentMode","maxWidth","hidePadding","domainSpecificConfig","local","FGF","googleApiKey","bankStatementIframeUrl","cookieDomain","publicWebsite","newCustomerForm","contentManagementUrl","contentToken","fsaPrivacyPolicy","gtmId","gtmAuth","gtmPreview","NIM","development","test","production","environmentTypes","config","__PORTAL__","environmentType","brandKeyFromHost","getEnvironmentType","REACT_APP_ENVIRONMENT_RUN_CONFIGURATION","GET_CLIENT_DATA_START","GET_CLIENT_DATA_FAILED","GET_CLIENT_DATA_SUCCESS","SET_ACCOUNT_ID","SET_ARREARS_AMOUNT","SET_INELIGIBLE","GET_ACCOUNT_TRANSACTIONS_START","GET_ACCOUNT_TRANSACTIONS_SUCCESS","GET_ACCOUNT_TRANSACTIONS_FAILED","CLEAR_ACCOUNT_INFO","SET_FULL_ARREARS","setFullArrears","clearAccountInfo","getClientData","getClientDataFailed","getClientDataSuccess","setAccountId","setArrearsAmount","setIneligible","getTransactionsStart","getTransactionsSuccess","getTransactionsFailed","onMountFunc","focusEventName","blurEventName","defaultState","customRef","undefined","defaultRef","useRef","ref","setState","onFocus","onBlur","current","GET_HELP_CONTENT_DATA_START","GET_HELP_CONTENT_DATA_FAILED","GET_HELP_CONTENT_DATA_SUCCESS","GET_BANNER_CONTENT_DATA_START","GET_BANNER_CONTENT_DATA_FAILED","GET_BANNER_CONTENT_DATA_SUCCESS","GET_ACCOUNT_NOTIFICATIONS_DATA_START","GET_ACCOUNT_NOTIFICATIONS_DATA_FAILED","GET_ACCOUNT_NOTIFICATIONS_DATA_SUCCESS","getHelpContentData","getHelpContentDataFailed","getHelpContentDataSuccess","getBannerContentData","getBannerContentDataFailed","getBannerContentDataSuccess","getAccountNotificationsData","getAccountNotificationsDataFailed","getAccountNotificationsDataSuccess","Loader","loading","createTokenFromUser","access_token","hasTokenExpired","expiresAt","expires_at","getUnixTime","now","getTokens","newUser","POST_APPLICATION","MERGE_INITIAL_FIELD_VALUE","REMOVE_PENDING_FIELD","RESET_FORM","SET_BREADCRUMB_STEP","POST_LOAN_FORM_START","POST_LOAN_FORM_SUCCESS","POST_LOAN_FORM_ERROR","CLEAR_ERROR","PAGE_SUBMITTED","postRequest","postLoanFormStart","postLoanFormSuccess","postLoanFormError","resetForm","setBreadcrumbStep","clearError","pageSubmitted","MANAGE_REPAYMENT_POST_APPLICATION","MANAGE_REPAYMENT_MERGE_INITIAL_FIELD_VALUE","MANAGE_REPAYMENT_REMOVE_PENDING_FIELD","MANAGE_REPAYMENT_RESET_FORM","MANAGE_REPAYMENT_POST_LOAN_FORM_START","MANAGE_REPAYMENT_POST_LOAN_FORM_SUCCESS","MANAGE_REPAYMENT_POST_LOAN_FORM_ERROR","MANAGE_REPAYMENT_CLEAR_ERROR","MANAGE_REPAYMENT_VALIDATE_FORM","MANAGE_REPAYMENT_INVALIDATE_FORM","markFormAsValid","markFormAsInvalid","LoadingStubber","StartUp","appState","Client","justifyAttribute","menuListRight","faEnvelopeOpen","side","faQuestionCircle","faSignOutAlt","handleExpandLabel","apiLabelLeft","apiLabelRight","setIsLeftExpanded","setIsRightExpanded","translateValue","start","width","handleMinimiseLabel","_extends","assign","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","d","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","SvgIcoNavigationDashboard","_ref","svgRef","titleId","height","xmlns","ForwardRef","_ref10","_ref11","_ref12","SvgIcoNavigationHistory","SvgIcoNavigationHelp","SvgIcoNavigationApplyNow","SvgIcoNavigationManageRepayments","SvgIcoNavigationPayOnline","fillRule","clipRule","SvgIcoNavigationLogOut","useAppReady","SidebarContent","shouldShowSidebarContent","menuSide","isExpandedLeftNav","isExpandedRightNav","setShowSidebarLeft","setShowSidebarRight","setShowNotifications","isManageRepaymentsEnabled","appReady","openAccounts","clientData","useHasRepaymentsToManage","getSessionStorageValueLeft","isLeftExpanded","getSessionStorageValueRight","isRightExpanded","useSpring","springsLabelLeft","springsLabelRight","menuList","faBookmark","faCalendarAlt","faFolderOpen","faEdit","faCreditCard","menuListLeft","springsLabel","eachItem","index","activeClassName","handleClickNavigationItem","preventDefault","handleNotALink","navItem","useTheme","faEnvelope","DashboardIconSvg","Footer","SidebarLeftMobile","showSidebarLeft","isSidebarReady","SidebarRightMobile","showSidebarRight","SidebarMobile","MobileHeader","logo","FairGoLogo","NimbleLogo","faBars","src","alt","faEllipsisV","MainHeader","shouldShowHeader","SidebarRightDesktop","getSessionStorageValue","setIsExpandedRightNav","springs","api","SidebarLeftDesktop","setIsExpandedLeftNav","collapsedNavWidth","springsLogo","apiLogo","springsFooter","apiFooter","handleExpandLeftNav","useCallback","handleCollapseLeftNav","PageWrapper","isNimbleSite","siteMeta","favicon","rel","content","GlobalStyles","createGlobalStyle","NimbleFont","initState","action","queryString","blankClient","clientDetails","firstName","lastName","emailAddress","mobile","creditScores","tailoredMessage","bannerMessage","desktopMessage","mobileMessage","eligibilityResult","accountWillReceiveTransactions","accountNumber","account","payFullArrears","arrearsAmount","eligibilityState","isFetchingTransactions","selectOpenAccounts","selectClosedAccounts","closedAccounts","createNewAccountWithTransactions","accountToAddTransactionsTo","accountState","accountWithTransactions","transactions","items","blankClientData","find","closedAccountToAddTransactionsTo","isEligible","prepareLoanForm","values","loanFormError","loanFormSuccessfullySubmitted","loanFormErrorMessage","isFetching","stepNavigation","breadcrumbStep","hasShownLoanFormError","hasFormStarted","newPendingFields","step","errMessage","isFormValidated","helpData","helpContentState","bannerData","bannerDataState","accountNotificationData","accountNotificationDataState","setInitialTheme","rootSaga","toLocaleLowerCase","put","all","takeLatest","getAccountTransactions","getClientDataCall","getAccountTransactionsCall","response","code","success","accountTransactions","postLoanForm","endpoint","loanForm","post","WENT_WRONG_MESSAGE","submitForm","loanFormValues","submitFormStep","loanFormPost","CONTENT_URL","CONTENT_TOKEN","strapiApi","Authorization","getAccountNotificationsContentData","getHelpContentDataCall","getBannerContentDataCall","getAccountNotificationsDataCall","getState","startUpSagas","clientSagas","applicationFormSagas","manageRepaymentsFormSagas","contentDeliverySagas","eligibleKey","johnAccountKey","bootstrapReplacers","replacements","optionalDispatchIntercept","clientId","unitNumber","streetNumber","suburb","street","postCode","businessName","employerPhone","employmentBasis","dateStarted","numberOfDependents","percentRepaid","monitorCategoryA","availableCredit","accountType","accountDescription","accountPurpose","netBalance","contractedPaymentRegular","minimumPaymentValue","openedDate","dateQuoted","nextPaymentDate","arrearsValue","nextPaymentAmount","loanAmountAdvanced","loanAmountRefinance","payFrequency","hasPendingTransaction","increaseRepayments","decreaseRepayments","arrears","termCycle","paymentPercentages","repaid","unpaid","scheduledPayment","totalPercentage","scheduledPayments","balance","amount","isPaymentPromise","quoteAccounts","clientNotifications","dashboardMessage","dashboardPrimaryMessageModel","banner","desktopContent","mobileContent","dashboardPriorityPrimaryMessageModel","subBanner","expiry","dashboardSecondaryMessageModel","reapply","show","score","hasHadFundedAccount","applyNewAutoLoan","applyNewLineOfCredit","applyNewPersonalLoan","applyTopUpPersonalLoan","drawDownLineOfCredit","lineOfCreditLimitIncrease","createJohnClientReplacer","optionName","createOptionalDispatchIntercept","createDevActionsMiddleware","setDevToolsEnabled","eligible","johnAccount","badOptions","join","storeAPI","next","replacementAction","sagaMiddleware","createSagaMiddleware","middlewares","createStore","combineReducers","manageRepaymentsForm","ContentDelivery","middleware","devActionsMiddleware","composeWithDevTools","applyMiddleware","bindMiddleware","run","ErrorWrapper","ErrorContainer","ErrorBoundary","hasError","Component","useAuthMountCallback","callback","secondsDelay","authContext","useContext","setTimeout","Callback","loaderMessage","setLoaderMessage","hangInThereTimeoutId","tryReloadingTimeoutId","hangInThereDelay","clearTimeout","useLoaderMessage","shouldShowMobileFooter","LoggedOut","Logout","LogoutCallback","SilentRenew","RedirectToSignin","PrivateRoute","path","exact","component","TriggerGet","sub","profile","setProfile","runGetUser","useAuthProfile","hasLoggedInUser","clientActions","PreHeading","FourOhFour","privateRoutes","lazy","Routes","useSearchParams","setSearchParams","cachedSearchParamsValue","useMemo","utmTagKeys","searchParamObject","some","entries","existingParams","fromEntries","fallback","route","AxiosAuthInterceptor","interceptor","interceptors","request","use","accessToken","params","eject","useSetHashedCookies","options","cookies","Cookies","hashedValue","MD5","set","defaultCookiesOptions","expires","setUTCFullYear","oneYearFromToday","domain","sameSite","AppProvider","showOrHideChatbot","zE","then","App","Boolean","tagManagerArgs","preview","TagManager","initialize","ReactDOM","render","context","StrictMode","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.da25170d.chunk.js","sourcesContent":["import React from \"react\";\r\n\r\nexport const AuthContext = React.createContext({\r\n signinRedirectCallback: () => ({}),\r\n logout: () => ({}),\r\n signoutRedirectCallback: () => ({}),\r\n isAuthenticated: () => ({}),\r\n signinRedirect: () => ({}),\r\n signinSilentCallback: () => ({}),\r\n createSigninRequest: () => ({}),\r\n getUser: () => Promise.resolve({}),\r\n});","import React, { useState } from \"react\";\r\nimport authService from \"../../services/authService\";\r\nimport { AuthContext } from \"./authContext\";\r\n\r\nexport const AuthProvider = ({children}) => {\r\n const [auth] = useState(() => new authService());\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}","import { createEmptyAction, createPayloadAction } from \"../utility/actions\";\r\nimport { parseQueryString as queryStringParser } from \"../../services/parseQueryString\";\r\n\r\nconst START_UP = \"START_UP\";\r\nconst INITIALISE_QUERY_STRING = \"INITIALISE_QUERY_STRING\";\r\nconst CHANGE_BRAND=\"CHANGE_BRAND\";\r\nconst FILL_FORM=\"FILL_FORM\";\r\nconst GET_LOAN_REASONS_START=\"GET_LOAN_REASONS_START\";\r\nconst parseQueryString = () => {\r\n return {\r\n type: INITIALISE_QUERY_STRING,\r\n payload: queryStringParser(window.location.search || \"\")\r\n };\r\n};\r\n\r\nconst actions = {\r\n START_UP,\r\n INITIALISE_QUERY_STRING,\r\n CHANGE_BRAND,\r\n FILL_FORM,\r\n GET_LOAN_REASONS_START,\r\n startUp: createPayloadAction(START_UP),\r\n getLoanReasonsRequest: createEmptyAction(GET_LOAN_REASONS_START),\r\n parseQueryString: parseQueryString,\r\n changeTheme: createPayloadAction(CHANGE_BRAND),\r\n fillForm: createEmptyAction(FILL_FORM)\r\n};\r\n\r\nexport default actions;\r\n","export const GOOGLE_API_KEY = 'AIzaSyAYmGp4lUqeXNlZgN0zPUUTH-w_EPlwUno';\r\nexport const GLOBAL_CDS_UID_PREFIX = 'global-';","import { convertDomainToCorrespondingBrand } from \"@utils/helpers/convertDomainToCorrespondingBrand\";\r\n\r\nexport const APP_STATE = {\r\n LOADING: \"loading\",\r\n READY: \"ready\",\r\n ERROR: \"error\"\r\n}\r\n\r\nexport const TRUE_FALSE_VALUES = {\r\n TRUE: \"true\",\r\n FALSE: \"false\"\r\n};\r\n\r\nexport const PRODUCT_TYPE = {\r\n PERSONAL_LOAN: \"personalLoan\",\r\n CAR_LOAN: \"carLoan\",\r\n LINE_OF_CREDIT: \"lineOfCredit\",\r\n LINE_OF_CREDIT_DRAW_DOWN: \"lineOfCreditDrawDown\",\r\n};\r\n\r\nexport const STATES = {\r\n ACT: \"ACT\",\r\n NSW: \"NSW\",\r\n NT: \"NT\",\r\n QLD: \"QLD\",\r\n SA: \"SA\",\r\n TAS: \"TAS\",\r\n VIC: \"VIC\",\r\n WA: \"WA\",\r\n};\r\n\r\nexport const IDENTIFICATION_TYPES_VALUES = {\r\n DRIVERS_LICENCE: \"DriversLicence\",\r\n MEDICARE: \"MedicareCard\"\r\n};\r\n\r\nexport const LOAN_STATUS = {\r\n DECLINED: \"Declined\",\r\n CREATED: \"Created\",\r\n DECLINED_IN_PROGRESS: \"DeclinedInProgress\",\r\n NOT_RETRIEVABLE: \"NotRetrievable\",\r\n NOT_FOUND: \"NotFound\",\r\n INVALID: \"Invalid\"\r\n};\r\n\r\nexport const LIVING_SITUATIONS = {\r\n LIVE_WITH_PARTNER: \"I live with my partner\",\r\n LIVE_WITH_MY_FRIEND: \"I live with friend(s)\"\r\n};\r\n\r\nexport const RESIDENTIAL_STATUS = {\r\n RENTING: \"Renting\",\r\n MORTGAGE: \"Mortgage\",\r\n BOARDING: \"Boarding\",\r\n HOMEOWNER: \"Homeowner\",\r\n};\r\n\r\nexport const FIELD_NAMES = {\r\n BANK_STATEMENTS_ID: \"BankStatementsId\",\r\n LOAN_AMOUNT: \"loanAmount\",\r\n LOAN_AMOUNT_ADDITIONAL: \"__clientsideonly__loanAmountAdditional\", // this is used purely in the form to determine to show SACC warning as loanAmount incs prev loan\r\n REPAYMENT_FREQUENCY: \"repaymentFrequency\",\r\n RESIDENTIAL_STATUS: \"residentialStatus\",\r\n LOAN_TYPE: \"loanType\",\r\n MINIMUM_REPAYMENT: \"minimumRepayment\",\r\n ACCOUNT_PURPOSE: \"accountPurpose\",\r\n NEW_LOAN_AMOUNT: \"newLoanAmount\",\r\n REDRAW_AMOUNT: \"__clientsideonly__redrawAmount\",\r\n PREVIOUS_ACCOUNT_TYPE: \"__clientsideonly__previousAccountType\",\r\n ACCOUNT_ID: \"accountId\",\r\n DRAW_DOWN_AMOUNT: \"drawdownAmount\",\r\n REPAYMENT_AMOUNT: \"repaymentAmount\",\r\n PROMISE_VALUE: \"promiseValue\",\r\n PROMISE_FIRST_DATE: \"promiseFirstDate\",\r\n START_DATE: \"startDate\",\r\n PAYMENT_VALUE: \"paymentValue\",\r\n CONTRACTUAL_PAYMENT_REGULAR: \"__clientsideonly__contractualPaymentRegular\",\r\n NETBALANCE_VALUE: \"__clientsideonly__netBalance\",\r\n MINIMUM_PAYMENT_VALUE: \"__clientsideonly__minimumPaymentValue\",\r\n ACCOUNT_TYPE: \"__clientsideonly__accountType\",\r\n CATEGORY_OPTIONS: \"categoryOptions\",\r\n BRAND: \"brand\"\r\n}\r\n\r\nexport const FORM_ID_PORTAL_PL_APPLY = \"portal-form-pl-apply\";\r\nexport const FORM_ID_PORTAL_LOC_APPLY = \"portal-form-loc-apply\";\r\nexport const FORM_ID_PORTAL_CAR_LOAN_APPLY = \"portal-form-cl-apply\";\r\nexport const FORM_ID_PORTAL_REFINANCE = \"portal-form-refinance\";\r\nexport const FORM_ID_PORTAL_LOC_DRAWDOWN = \"portal-form-loc-drawdown\";\r\n\r\nexport const isPositionStickySupported = (() => {\r\n const falseFunc = () => false;\r\n return 'CSS' in window && (CSS.supports || falseFunc)('position', 'sticky');\r\n})();\r\n\r\nexport const REDIRECT_DELAY_SECONDS = {\r\n STANDARD: 1\r\n}\r\n\r\nexport const FREQUENCY = {\r\n WEEKLY: \"Weekly\",\r\n FORTNIGHTLY: \"Fortnightly\",\r\n MONTHLY: \"Monthly\"\r\n}\r\n\r\nexport const INCREASE_PAYMENT_STATES = {\r\n PAYMENT_ENDING: \"payment-ending\",\r\n SCHEDULE_LESS_THAN_TWO: \"scheduled-less-than-two\",\r\n SCHEDULE_MORE_THAN_TWO: \"scheduled-more-than-two\",\r\n NO_PAYMENT: \"no-payment\",\r\n}\r\n\r\nexport const MANAGE_MY_ARREARS_STATES = {\r\n ARREARS: \"arrears\",\r\n ARREARS_LESS_THAN_THREE: \"arrears-less-than-three\",\r\n ARREARS_EXPIRED_MATURITY_DATE: \"arrears-expired-maturity-date\",\r\n SHOW_CONTACT_US: \"show-contact-us\",\r\n REDIRECT_MANAGE_REPAYMENTS: \"redirect-manage-repayments\",\r\n ARREARS_LOC: \"arrears-loc\",\r\n}\r\n\r\nexport const DECREASE_PAYMENT_STATES = {\r\n REDIRECT_MANAGE_REPAYMENTS: \"redirect-manage-repayments\",\r\n SHOW_CONTACT_US: \"show-contact-us\",\r\n}\r\n\r\n\r\nexport const LOAN_RANGE = {\r\n SACC: {\r\n MAX: 2000\r\n },\r\n PERSONAL_LOAN: {\r\n MIN: convertDomainToCorrespondingBrand() === \"Nimble\" ? 500 : 2050,\r\n MIN_HAS_SACC: 2050,\r\n MAX: 10000,\r\n },\r\n LINE_OF_CREDIT: {\r\n MIN: 500,\r\n MAX: 3000,\r\n },\r\n CAR_LOAN: {\r\n MIN: 5001,\r\n MAX: 24000,\r\n },\r\n};\r\nexport const MIN_REDRAW_AMOUNT = 200;\r\n\r\nexport const OPEN_ACCOUNT_NOTES = {\r\n TRANSACTION_SYMBOL: \"#\",\r\n TRANSACTION_NOTE:\r\n \"This does not reflect any pending payments being processed.\",\r\n LOC_REPAYMENT_SYMBOL: \"^\",\r\n LOC_REPAYMENT_NOTE:\r\n \"If you've organised a higher payment this will not be shown.\",\r\n BALANCE_SYMBOL: \"*\",\r\n BALANCE_NOTE:\r\n \"Your outstanding balance may not include all accrued interest or fees.\",\r\n};\r\n\r\nexport const BANNER_NAMES = {\r\n LOC_REDRAW_NOTIFICATION: \"locRedrawMessaging\",\r\n}\r\n\r\nexport const ACCOUNT_WIDGET_DATA = {\r\n ARREARS: \"Total Arrears Amount\",\r\n PAYMENT_DATE: \"Next Payment Due\",\r\n REPAYMENT: \"Repayment Amount\",\r\n NETBALANCE: \"Net Balance\",\r\n APPLICATION_SUBMITTED: \"Application Submitted\",\r\n REQUESTED_AMOUNT: \"Requested Amount\",\r\n MISSED_HARDSHIP_REPAYMENTS: \"Missed Hardship Repayments\",\r\n}\r\n\r\nexport const NOTIFICATION_TYPE = {\r\n CLIENT: \"client_notifications\",\r\n ACCOUNT: \"account_notifications\"\r\n}\r\n\r\nexport const NOTIFICATION_UID = {\r\n 1: \"fgf-hardship-active\",\r\n 2: \"nimble-hardship-active\",\r\n 3: \"fgf-hardship-application\",\r\n 4: \"nimble-hardship-application\"\r\n}\r\n\r\nexport const MONITOR_CATEGORY_A = {\r\n PREHARDSHIP: \"PREHSHIP\",\r\n HARDSHIP: \"HARDSHIP\"\r\n};\r\n\r\nexport const MINIMUM_TOP_UP = 500;\r\n\r\nexport const COOKIES_NAME = {\r\n EMAIL_ADDRESS_COOKIE: \"fgfpr_ea\",\r\n CLIENT_ID_COOKIE: \"fgfpr_cin\"\r\n};\r\n","/**\r\n * @description axios for fetching data via services\r\n */\r\nimport axios from \"axios\";\r\nimport { BASE_URL } from \"../services/apiRoutes\";\r\nimport { environmentSettings } from \"../constants/environmentSettings\";\r\n\r\nconst authenticatedPopsApi = \r\n axios.create({\r\n baseURL: BASE_URL,\r\n timeout: 300000, // 5 min\r\n headers: {\r\n \"Content-type\": \"application/json\",\r\n accept: \"application/json\",\r\n \"Ocp-Apim-Subscription-Key\": environmentSettings.ocpApimSubscriptionKey\r\n }\r\n });\r\n\r\nexport default authenticatedPopsApi;","export * from \"react\";","import { useUnmount } from \"react-use\";\r\n\r\nexport default useUnmount;","import { useEffect } from \"react\";\r\n\r\nconst messageEventName = \"message\";\r\n\r\nconst useOnFairGoMessage = (messageId, callBack) => {\r\n useEffect(() => {\r\n const messageIdEventListener = messageEvent => {\r\n if (\r\n messageEvent &&\r\n messageEvent.data &&\r\n messageEvent.data.messageId === messageId\r\n ) {\r\n callBack(messageEvent.data.value);\r\n }\r\n };\r\n \r\n window.addEventListener(messageEventName, messageIdEventListener);\r\n return () => window.removeEventListener(messageEventName, messageIdEventListener);\r\n }, [messageId, callBack])\r\n};\r\n\r\nexport default useOnFairGoMessage;","import { useRendersCount } from \"react-use\";\r\n\r\nconst useIsFirstRender = () => {\r\n return useRendersCount() === 1;\r\n};\r\n\r\nexport default useIsFirstRender;","import { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { isUndefined } from \"lodash\";\r\nimport actions from \"../redux/applicationForm/actions\";\r\n\r\nconst pendingFieldsSelector = state => state.applicationForm.pendingFields;\r\n\r\nconst usePendingPrefill = (fieldName) => {\r\n const dispatch = useDispatch();\r\n const pendingFields = useSelector(pendingFieldsSelector);\r\n const pendingField = pendingFields[fieldName];\r\n const shouldDispatchPendingField = !isUndefined(pendingField);\r\n \r\n useEffect(() => {\r\n if (shouldDispatchPendingField) {\r\n dispatch(actions.setFieldInitialValue({[fieldName]: pendingField}));\r\n dispatch(actions.removePendingField(fieldName));\r\n }\r\n }, [dispatch, fieldName, pendingField, shouldDispatchPendingField])\r\n};\r\n\r\nexport default usePendingPrefill;","import { useFormikContext } from \"formik\";\r\n\r\nconst useNumberInputFilter = (name, decimalPlaces = 0, customFieldUpdater = null) => {\r\n const { setFieldValue } = useFormikContext();\r\n\r\n const handleChange = (event) => {\r\n const strippedValue = event.target.value.replace(/[^\\d.]/g, \"\");\r\n const fixedRegex = decimalPlaces === 0 ? /\\d+/ : new RegExp(`^\\\\d+\\\\.?\\\\d{0,${decimalPlaces}}`, \"g\")\r\n const fixedValue = (strippedValue.match(fixedRegex) || [\"\"])[0];\r\n (customFieldUpdater || setFieldValue)(name, fixedValue)\r\n }\r\n\r\n return handleChange;\r\n};\r\n\r\nexport default useNumberInputFilter;","import { useLocation } from \"react-router-dom\";\r\nimport { parseQueryString } from \"../services/parseQueryString\";\r\n\r\nconst useQueryString = () => {\r\n const location = useLocation();\r\n return parseQueryString(location.search || \"\");\r\n};\r\n\r\nexport default useQueryString;","import _useOnMount from \"./useOnMount\";\r\nimport _useOnDismount from \"./useOnDismount\";\r\nimport _useOnFairGoMessage from \"./useOnFairGoMessage\";\r\nimport _useIsFirstRender from \"./useIsFirstRender\";\r\nimport _useIsFullyVisible from \"./useIsFullyVisible\";\r\nimport _useIsPortrait from \"./useIsPortrait\";\r\nimport _usePendingPrefill from \"./usePendingPrefill\"\r\nimport _useSetDefaultValue from \"./useSetDefaultValue\"\r\nimport _useFocus from \"./useFocus\"\r\nimport _useNumberInputFilter from \"./useNumberInputFilter\";\r\nimport _useQueryString from \"./useQueryString\";\r\n\r\nexport const useOnMount = _useOnMount;\r\nexport const useOnDismount = _useOnDismount;\r\nexport const useOnFairGoMessage = _useOnFairGoMessage;\r\nexport const useIsFirstRender = _useIsFirstRender;\r\nexport const useIsFullyVisible = _useIsFullyVisible;\r\nexport const useIsPortrait = _useIsPortrait;\r\nexport const usePendingPrefill = _usePendingPrefill;\r\nexport const useSetDefaultValue = _useSetDefaultValue;\r\nexport const useFocus = _useFocus;\r\nexport const useNumberInputFilter = _useNumberInputFilter;\r\nexport const useQueryString = _useQueryString;","import { useEffect, useState } from \"react\";\r\nimport { isUndefined } from \"lodash\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport actions from \"../redux/applicationForm/actions\";\r\n\r\nexport default (fieldName, defaultValue = \"\", isLoading = false) => {\r\n const dispatch = useDispatch();\r\n const [hasSetDefault, setHasSetDefault] = useState(false);\r\n const { initialValue } = useSelector(state => state.applicationForm);\r\n const value = initialValue[fieldName]\r\n\r\n useEffect(() => {\r\n const hasNoValue = isUndefined(value) || value === null;\r\n\r\n if (!hasSetDefault && !isLoading && hasNoValue) {\r\n dispatch(actions.setFieldInitialValue({[fieldName]: defaultValue}));\r\n setHasSetDefault(true);\r\n }\r\n }, [fieldName, value, defaultValue, hasSetDefault, setHasSetDefault, dispatch, isLoading]);\r\n};","import { environmentSettings } from \"../constants/environmentSettings\";\r\n\r\nexport const BASE_URL = environmentSettings.apiManagement;\r\nexport const GET_CLIENT_PROFILE = \"/pops/api/client/profile\";\r\nexport const LOAN_REASONS = \"/pops/api/loanReason\";\r\nexport const REAPPLY_POST = \"/pops/api/Reapply\";\r\nexport const REFINANCE_POST = \"/pops/api/Refinance\";\r\nexport const DRAWDOWN_POST = \"/pops/api/Account/Drawdown\";\r\nexport const getAccountTransactionsEndpoint = (accountId) => `/pops/api/Account/${accountId}/Transactions`;\r\nexport const getIncreaseRepaymentsEndpoint = (accountId) => `/pops/api/Account/${accountId}/IncreaseRepayments`;\r\nexport const getDoubleNextPaymentEndpoint = (accountId) => `/pops/api/Account/${accountId}/DoubleNextRepayment`;\r\nexport const bankTransferLogIncreaseEndpoint = (accountId) => `/pops/api/Account/${accountId}/Repayment/BankTransfer`;\r\nexport const bankTransferLogArrearsEndpoint = (accountId) => `/pops/api/Account/${accountId}/Arrears/BankTransfer`;\r\nexport const getDownloadTransactionPdfEndpoint = (accountId) => `${BASE_URL}/pops/api/Account/${accountId}/GetPdfAccountStatement`;\r\nexport const getDownloadContractPdfEndpoint = (accountId) => `${BASE_URL}/pops/api/Account/${accountId}/GetPdfAccountContract`;\r\nexport const getPayOverThreeRepaymentsEndpoint = (accountId) => `${BASE_URL}/pops/api/Account/${accountId}/Arrears/CreateThreePaymentPromise`;\r\nexport const getCreatePaymentPromiseIncreaseEndpoint = (accountId) => `pops/api/Account/${accountId}/Repayment/CreatePaymentPromise`;\r\nexport const getCreatePaymentPromiseArrearsEndpoint = (accountId) => `pops/api/Account/${accountId}/Arrears/CreatePaymentPromise`;\r\n","export const createPayloadAction = type => payload => ({\r\n type,\r\n payload\r\n});\r\n\r\nexport const createEmptyAction = type => () => ({type});","import { Config } from \"./configType\";\r\n\r\nexport const fgfConfig: Config = {\r\n phone: '1300 324 746',\r\n email: 'customercare@fairgofinance.com.au',\r\n acn: '134 369 574',\r\n acl: '387995',\r\n compliance: '',\r\n faq: 'https://www.fairgofinance.com.au/how-it-works/frequently-asked-questions/',\r\n companyName: 'Fair Go Finance',\r\n termsAndConditions: 'https://www.fairgofinance.com.au/legal-and-compliance/terms-and-conditions-of-use/',\r\n privacy: 'https://www.fairgofinance.com.au/legal-and-compliance/privacy-policy',\r\n partnerLogo: 'fairgo-partnership-logo.svg',\r\n useChatbot: true,\r\n directDebitBank: 'Westpac',\r\n directDebitBSB: '036 157',\r\n directDebitAccountNumber: '416 914',\r\n ezidebitUrl: 'https://fair-go-finance.pay.ezidebit.com.au/',\r\n cdsPrefix: 'fgf-',\r\n cdsApp: 'FGF Portal',\r\n privacyConsentAndElectronicAuthorisation: 'https://www.fairgofinance.com.au/about-us/privacy-consents/',\r\n creditGuide: 'https://fairgofinance.com.au/legal-and-compliance/credit-guide/',\r\n};\r\n\r\nexport const fgfFavicon = '/favicon-fgf.png';\r\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport const UnStyledButton = styled.button.attrs(({type = \"button\"}) => ({\r\n type // default TextButton to be button instead of submit\r\n}))(({ theme }) => css`\r\n text-align: left;\r\n font-family: ${theme.fonts.body};\r\n text-decoration: none;\r\n background: none;\r\n margin: 0;\r\n padding: 0;\r\n border: none;\r\n -moz-user-select: text;\r\n cursor: pointer;\r\n outline: none;\r\n ${props => props.removeOutline ? \"outline: none\" : \"\"}\r\n \r\n &:disabled {\r\n cursor: default;\r\n }\r\n`);\r\n\r\nconst UnStyledLinkA = styled.a`\r\n text-decoration: none;\r\n`;\r\n\r\nconst UnStyledRouterLink = styled(Link)`\r\n text-decoration: none;\r\n`;\r\n\r\nconst UnStyledLinkButton = styled.button`\r\n text-decoration: none;\r\n padding: 0;\r\n`;\r\n\r\nexport const UnStyledLink = ({to, onClick, href, ...otherProps}) => {\r\n if (to) {\r\n return ;\r\n }\r\n\r\n if (onClick) {\r\n return ;\r\n }\r\n\r\n return ;\r\n}\r\n\r\nexport const TextButton = styled(UnStyledButton)(({ theme }) => css`\r\n color:${theme.buttons.link.hoverColor};\r\n text-decoration: underline;\r\n font-size: 16px;\r\n \r\n &:hover {\r\n color:${theme.buttons.link.color};\r\n text-decoration: none;\r\n }\r\n`);","import styled, { css } from \"styled-components\";\r\n\r\nconst Wrapper = styled.svg.attrs(({\r\n className: \"spinner\"\r\n}))(({ theme }) => css`\r\n width: 40px;\r\n height: 40px;\r\n animation: svgSpinner 1.4s linear infinite;\r\n\r\n .isoContentLoaderCircle {\r\n animation: svgSpinnerCircle 1.4s ease-in-out infinite;\r\n stroke-dasharray: 80px, 200px;\r\n stroke-dashoffset: 0;\r\n stroke-linecap: round;\r\n }\r\n\r\n .primaryCircle {\r\n stroke: ${theme.palette.main.primary};\r\n }\r\n\r\n .secondaryCircle {\r\n stroke: ${theme.palette.main.secondary};\r\n }\r\n\r\n .goodCircle {\r\n stroke: ${theme.palette.status.good};\r\n }\r\n\r\n @keyframes svgSpinner {\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes svgSpinnerCircle {\r\n 0% {\r\n stroke-dasharray: 1px, 200px;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 100px, 200px;\r\n stroke-dashoffset: -15px;\r\n }\r\n 100% {\r\n stroke-dasharray: 100px, 200px;\r\n stroke-dashoffset: -120px;\r\n }\r\n }\r\n`);\r\n\r\nexport default Wrapper;","import React from \"react\";\r\nimport cx from \"classnames\";\r\nimport Svg from \"./spinner.style\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport const Spinner = ({ type, primaryCircle }) => (\r\n \r\n \r\n \r\n);\r\n\r\nSpinner.propTypes = {\r\n type: PropTypes.string,\r\n primaryCircle: PropTypes.string\r\n}\r\n","// Note: only reference in theme files\r\nconst VARIABLES = Object.freeze({\r\n COLORS: {\r\n themeBody: \"#336164\",\r\n themeDisclaimer: \"#a8a8a8\",\r\n enchantedForestGreen: \"#003a3d\",\r\n oceanBlue: \"#00646D\",\r\n darkGreenEleven: \"#488f74\",\r\n mantisGreen: \"#39D25D\",\r\n teaGreen: \"#D7F6DF\",\r\n orange: \"#FEAC01\",\r\n salmon: \"#DC4141\",\r\n white: \"#FFFFFF\",\r\n black: \"#000000\",\r\n lighterGray: \"#F5F5F5\",\r\n lightGray: \"#D8D8D8\",\r\n gray: \"#c1c1c1\",\r\n mediumGray: \"#aaaaaa\",\r\n darkGray: \"#808080\",\r\n darkerGray: \"#5E6267\",\r\n lightFourteenGrayOpaque: \"rgba(0, 0, 0, 0.8)\"\r\n },\r\n});\r\n\r\nexport default VARIABLES;\r\n","const zIndexes = {\r\n normal: '100',\r\n modal: '200',\r\n modalForeground: '300'\r\n};\r\n\r\nexport { zIndexes };\r\n","const breakpoints = {\r\n XS: \"320px\",\r\n S: \"468px\",\r\n M: \"767px\",\r\n MD: \"959px\",\r\n XM: \"978px\",\r\n XXM: \"1327px\",\r\n L: \"1023px\",\r\n LG: \"1439px\",\r\n XL: \"1810px\",\r\n fullScreen: \"100%\",\r\n windowWidth: \"100vw\",\r\n windowHeight: \"100vh\"\r\n};\r\n\r\nexport { breakpoints };\r\n","import { borderRadii } from './borderRadii';\r\nimport { palette } from './palette';\r\nimport { projectSpecific } from './projectSpecific';\r\nimport { fonts } from './fonts';\r\nimport { zIndexes } from '../allThemes/zIndexes';\r\nimport { breakpoints } from '../allThemes/breakpoints';\r\nimport { buttons } from './buttons';\r\n\r\nconst defaultTheme = {\r\n palette,\r\n fonts,\r\n borderRadii,\r\n projectSpecific,\r\n buttons,\r\n zIndexes,\r\n breakpoints\r\n};\r\n\r\n// for intellisense (assuming Default and Nimble theme structure stays the same) \r\ntype ThemeInterface = typeof defaultTheme;\r\n\r\ndeclare module \"styled-components\" {\r\n interface DefaultTheme extends ThemeInterface {}\r\n}\r\n\r\nexport default defaultTheme;\r\n","import VARIABLES from \"./variables\";\r\n\r\nconst palette = {\r\n main: {\r\n primary: VARIABLES.COLORS.enchantedForestGreen, // check mark 0, 2 |\r\n secondary: VARIABLES.COLORS.enchantedForestGreen, // adding this for green in Nimble theme, primary will be red\r\n white: VARIABLES.COLORS.white, // color 16 | formInputElement 5\r\n black: VARIABLES.COLORS.black, // color 21 |\r\n border: VARIABLES.COLORS.darkGreenEleven,\r\n fieldWell: VARIABLES.COLORS.teaGreen, // bankStatementsPrompt 0 |\r\n },\r\n status: { // used for accent colors and status (ie arrears text)\r\n good: VARIABLES.COLORS.mantisGreen, // vibrant \r\n goodAlt: VARIABLES.COLORS.enchantedForestGreen, // dull\r\n bad: VARIABLES.COLORS.salmon,\r\n badAlt: VARIABLES.COLORS.salmon,\r\n medium: VARIABLES.COLORS.orange, // 0, 49, 62 \r\n hardship: VARIABLES.COLORS.oceanBlue\r\n },\r\n grayscale: {\r\n lighterGray: VARIABLES.COLORS.lighterGray, // 5, 6, 7 lightGrayTwelve\r\n lightGray: VARIABLES.COLORS.lightGray, // 2 lightGrayFour\r\n gray: VARIABLES.COLORS.gray, // 1 lightGrayTwo\r\n mediumGray: VARIABLES.COLORS.mediumGray, // 15 lightGraySeventeen\r\n darkGray: VARIABLES.COLORS.darkGray, // 17 gray\r\n darkerGray: VARIABLES.COLORS.darkerGray // color 46 newDashboardDarkGrey\r\n },\r\n text: {\r\n heading: VARIABLES.COLORS.enchantedForestGreen,\r\n body: VARIABLES.COLORS.themeBody,\r\n disclaimer: VARIABLES.COLORS.themeDisclaimer\r\n },\r\n header: {\r\n background: VARIABLES.COLORS.enchantedForestGreen, // 0, 1\r\n color: VARIABLES.COLORS.white, // 2\r\n mobileColor: VARIABLES.COLORS.enchantedForestGreen, // 3\r\n active: VARIABLES.COLORS.mantisGreen,\r\n icon: VARIABLES.COLORS.mantisGreen,\r\n iconActive: VARIABLES.COLORS.mantisGreen\r\n },\r\n footer: {\r\n border: VARIABLES.COLORS.white, // 0: border top &* only used in frontend\r\n background: VARIABLES.COLORS.themeBody, // 1: BackGround &* only used in frontend\r\n color: VARIABLES.COLORS.white // 2: Text &* only used in frontend\r\n },\r\n modal: {\r\n background: VARIABLES.COLORS.enchantedForestGreen, \r\n overlay: VARIABLES.COLORS.lightFourteenGrayOpaque, // 2\r\n accent: VARIABLES.COLORS.mantisGreen, // 0\r\n header: VARIABLES.COLORS.enchantedForestGreen, // 3\r\n },\r\n input: {\r\n boxShadow: VARIABLES.COLORS.mediumGray, // &* used by frontend\r\n valid: VARIABLES.COLORS.mantisGreen, // \r\n error: VARIABLES.COLORS.salmon, // \r\n label: VARIABLES.COLORS.black, // formInputElement 0, 8 \r\n border: VARIABLES.COLORS.darkGray, // formInputElement 1, 6 | border: 3\r\n borderAlt: VARIABLES.COLORS.mantisGreen, // border: 5: extra light green &* only used in frontend\r\n placeholder: VARIABLES.COLORS.darkGray, // formInputElement 2 &* only used in frontend\r\n icon: VARIABLES.COLORS.darkGray, // 7: dollarsign &* only used in frontend\r\n checkbox: VARIABLES.COLORS.oceanBlue\r\n },\r\n thankYou: {\r\n icon: VARIABLES.COLORS.themeBody, // 3\r\n envelop: VARIABLES.COLORS.mantisGreen, // 6\r\n border: VARIABLES.COLORS.mantisGreen, // 1 \r\n background: VARIABLES.COLORS.teaGreen, // 2\r\n title: VARIABLES.COLORS.themeBody, // 4\r\n skip: VARIABLES.COLORS.themeBody, // 5 \r\n },\r\n};\r\n\r\nexport { palette };\r\n","const fonts = {\r\n heading: \"'DM Sans', sans-serif\",\r\n headingCase: \"none\",\r\n headingWeight: \"700\",\r\n body: \"'DM Sans', sans-serif\",\r\n sizes: {\r\n h1: \"84px\",\r\n h2: \"48px\",\r\n h3: \"33px\",\r\n h4: \"24px\",\r\n h5: \"20px\",\r\n h6: \"18px\",\r\n p0: \"16px\",\r\n p1: \"15px\",\r\n p2: \"13px\",\r\n p3: \"12px\",\r\n p4: \"11px\",\r\n p5: \"10px\"\r\n }\r\n};\r\n\r\nexport { fonts };\r\n","const borderRadii = {\r\n default: \"10px\",\r\n medium: \"12.5px\",\r\n big: \"25px\",\r\n focusWell: \"200px\"\r\n};\r\n\r\nexport { borderRadii };\r\n","import VARIABLES from \"./variables\";\r\n\r\nconst projectSpecific = {\r\n portalWell: {\r\n default: {\r\n border: VARIABLES.COLORS.enchantedForestGreen,\r\n background: VARIABLES.COLORS.enchantedForestGreen\r\n },\r\n pill: {\r\n border: VARIABLES.COLORS.lighterGray,\r\n background: VARIABLES.COLORS.lighterGray\r\n },\r\n formNote: {\r\n border: VARIABLES.COLORS.enchantedForestGreen,\r\n background: VARIABLES.COLORS.teaGreen\r\n },\r\n white: {\r\n border: VARIABLES.COLORS.enchantedForestGreen,\r\n background: VARIABLES.COLORS.white\r\n }\r\n },\r\n accordion: {\r\n headColor: VARIABLES.COLORS.white, // 1\r\n headBackgroundOne: VARIABLES.COLORS.themeBody, // 0\r\n headBackgroundTwo: VARIABLES.COLORS.mantisGreen, // 4\r\n panelBackground: VARIABLES.COLORS.themeBody, // 2\r\n },\r\n ballBreadCrumb: {\r\n main: VARIABLES.COLORS.orange, // 3\r\n active: VARIABLES.COLORS.enchantedForestGreen, // 0, 2\r\n completeMobile: VARIABLES.COLORS.mantisGreen, // 1\r\n color: VARIABLES.COLORS.gray, // 4\r\n },\r\n};\r\n\r\nexport { projectSpecific };\r\n","import VARIABLES from \"./variables\";\r\n\r\nconst buttons = {\r\n borderRadius: \"999px\",\r\n fontSize: \"16px\",\r\n fontWeight: \"700\",\r\n primary: {\r\n color: VARIABLES.COLORS.white,\r\n colorHover: VARIABLES.COLORS.enchantedForestGreen,\r\n background: VARIABLES.COLORS.enchantedForestGreen,\r\n backgroundHover: VARIABLES.COLORS.mantisGreen,\r\n border: \"none\",\r\n padding: \"15px 25px\"\r\n },\r\n secondary: {\r\n color: VARIABLES.COLORS.white,\r\n colorHover: VARIABLES.COLORS.enchantedForestGreen,\r\n background: VARIABLES.COLORS.mantisGreen,\r\n backgroundHover: VARIABLES.COLORS.white,\r\n border: \"none\",\r\n padding: \"15px 25px\"\r\n },\r\n primaryAlt: {\r\n color: VARIABLES.COLORS.enchantedForestGreen,\r\n colorHover: VARIABLES.COLORS.white,\r\n background: VARIABLES.COLORS.white,\r\n backgroundHover: VARIABLES.COLORS.enchantedForestGreen,\r\n border: \"none\",\r\n padding: \"15px 25px\"\r\n },\r\n secondaryAlt: {\r\n color: VARIABLES.COLORS.white,\r\n colorHover: VARIABLES.COLORS.orange,\r\n background: VARIABLES.COLORS.orange,\r\n backgroundHover: VARIABLES.COLORS.white,\r\n border: \"none\",\r\n padding: \"15px 25px\"\r\n },\r\n disabled: {\r\n color: VARIABLES.COLORS.darkerGray,\r\n background: VARIABLES.COLORS.lightGray,\r\n border: \"none\",\r\n padding: \"15px 25px\"\r\n },\r\n link: {\r\n color: VARIABLES.COLORS.themeBody, // 0\r\n hoverColor: VARIABLES.COLORS.enchantedForestGreen // 1\r\n },\r\n};\r\n\r\nexport { buttons };\r\n","// Note: only reference in theme files\r\nconst VARIABLES = Object.freeze({\r\n COLORS: {\r\n slate: \"#212121\",\r\n themeDisclaimer: \"#bdbdbd\",\r\n nimbleRed: \"#DB1A1A\",\r\n pink: \"#FBD4CF\",\r\n lightPink: \"#FDE9E9\",\r\n cream: \"#FFFCF5\", \r\n darkGreen: \"#017A68\",\r\n lightGreen: \"#D9EBE8\",\r\n yellow: \"#F7ED00\",\r\n white: \"#FFFFFF\",\r\n whiteOpaque: \"rgba(255, 255, 255, 0.7)\",\r\n black: \"#1E1E1E\",\r\n lighterGray: \"#F2F2F2\",\r\n lightGray: \"#DDDDDD\",\r\n gray: \"#CECECE\",\r\n slateLight: \"#A8A8A8\",\r\n darkGray: \"#808080\",\r\n darkerGray: \"#4F4F4F\",\r\n lightFourteenGrayOpaque: \"rgba(0, 0, 0, 0.8)\",\r\n orange: \"#EAA92C\",\r\n darkRed: \"#EA2C2E\",\r\n darkerRed: \"#c50000\",\r\n formError: \"#ed2924\"\r\n },\r\n});\r\n\r\nexport default VARIABLES;\r\n","import { borderRadii } from './borderRadii';\r\nimport { palette } from './palette';\r\nimport { projectSpecific } from './projectSpecific';\r\nimport { fonts } from './fonts';\r\nimport { zIndexes } from '../allThemes/zIndexes';\r\nimport { breakpoints } from '../allThemes/breakpoints';\r\nimport { buttons } from './buttons';\r\n\r\nconst nimbleTheme = {\r\n palette,\r\n fonts,\r\n borderRadii,\r\n projectSpecific,\r\n buttons,\r\n zIndexes,\r\n breakpoints\r\n};\r\n\r\nexport default nimbleTheme;\r\n","import VARIABLES from \"./variables\";\r\n\r\nconst palette = {\r\n main: {\r\n primary: VARIABLES.COLORS.nimbleRed, // check mark 0, 2 |\r\n secondary: VARIABLES.COLORS.darkGreen, // adding this for green in Nimble theme, primary will be red\r\n white: VARIABLES.COLORS.white, // color 16 | formInputElement 5\r\n black: VARIABLES.COLORS.black, // color 21 |\r\n border: VARIABLES.COLORS.darkGreen,\r\n fieldWell: VARIABLES.COLORS.lightGreen, // bankStatementsPrompt 0 |\r\n },\r\n status: { // used for accent colors and status (ie arrears text)\r\n good: VARIABLES.COLORS.darkGreen, // vibrant \r\n goodAlt: VARIABLES.COLORS.darkGreen, // dull\r\n bad: VARIABLES.COLORS.darkRed, // vibrant \r\n badAlt: VARIABLES.COLORS.darkerRed, // dull\r\n medium: VARIABLES.COLORS.orange, // 0, 49, 62 \r\n hardship: VARIABLES.COLORS.darkerGray\r\n },\r\n grayscale: {\r\n lighterGray: VARIABLES.COLORS.lighterGray, // 5, 6, 7 lightGrayTwelve\r\n lightGray: VARIABLES.COLORS.lightGray, // 2 lightGrayFour\r\n gray: VARIABLES.COLORS.gray, // 1 lightGrayTwo\r\n mediumGray: VARIABLES.COLORS.slateLight, // 15 lightGraySeventeen\r\n darkGray: VARIABLES.COLORS.darkGray, // 17 gray\r\n darkerGray: VARIABLES.COLORS.darkerGray // color 46 newDashboardDarkGrey\r\n },\r\n text: {\r\n heading: VARIABLES.COLORS.slate,\r\n body: VARIABLES.COLORS.slate,\r\n disclaimer: VARIABLES.COLORS.themeDisclaimer\r\n },\r\n header: {\r\n background: VARIABLES.COLORS.nimbleRed, // 0, 1\r\n color: VARIABLES.COLORS.whiteOpaque, // 2\r\n mobileColor: VARIABLES.COLORS.nimbleRed, // 3\r\n active: VARIABLES.COLORS.white,\r\n icon: VARIABLES.COLORS.whiteOpaque,\r\n iconActive: VARIABLES.COLORS.white\r\n },\r\n footer: {\r\n border: VARIABLES.COLORS.white, // 0: border top &* only used in frontend\r\n background: VARIABLES.COLORS.slate, // 1: BackGround &* only used in frontend\r\n color: VARIABLES.COLORS.white // 2: Text &* only used in frontend\r\n },\r\n modal: {\r\n background: VARIABLES.COLORS.darkerGray, \r\n overlay: VARIABLES.COLORS.lightFourteenGrayOpaque, // 2\r\n accent: VARIABLES.COLORS.lightGreen, // 0\r\n header: VARIABLES.COLORS.darkGreen, // 3\r\n },\r\n input: {\r\n boxShadow: VARIABLES.COLORS.slateLight, // &* used by frontend\r\n valid: VARIABLES.COLORS.darkGreen, // \r\n error: VARIABLES.COLORS.formError, // \r\n label: VARIABLES.COLORS.black, // formInputElement 0, 8 \r\n border: VARIABLES.COLORS.darkGray, // formInputElement 1, 6 | border: 3\r\n borderAlt: VARIABLES.COLORS.darkGreen, // border: 5: extra light green &* only used in frontend\r\n placeholder: VARIABLES.COLORS.darkGray, // formInputElement 2 &* only used in frontend\r\n icon: VARIABLES.COLORS.darkGray, // 7: dollarsign &* only used in frontend\r\n checkbox: VARIABLES.COLORS.darkGreen\r\n },\r\n thankYou: {\r\n icon: VARIABLES.COLORS.slate, // 3\r\n envelop: VARIABLES.COLORS.darkGreen, // 6\r\n border: VARIABLES.COLORS.darkGreen, // 1 \r\n background: VARIABLES.COLORS.lightGreen, // 2\r\n title: VARIABLES.COLORS.slate, // 4\r\n skip: VARIABLES.COLORS.slate, // 5 \r\n },\r\n};\r\n\r\nexport { palette };\r\n","const fonts = {\r\n heading: \"'SharpGroteskBook', sans-serif\",\r\n headingCase: \"none\",\r\n headingWeight: \"600\",\r\n body: \"'SharpGroteskBook', sans-serif\",\r\n sizes: {\r\n h1: \"84px\",\r\n h2: \"48px\",\r\n h3: \"33px\",\r\n h4: \"24px\",\r\n h5: \"20px\",\r\n h6: \"18px\",\r\n p0: \"16px\",\r\n p1: \"15px\",\r\n p2: \"13px\",\r\n p3: \"12px\",\r\n p4: \"11px\",\r\n p5: \"10px\"\r\n }\r\n};\r\n\r\nexport { fonts };\r\n","const borderRadii = {\r\n default: \"8px\",\r\n medium: \"4px\",\r\n big: \"8px\",\r\n focusWell: \"8px\"\r\n};\r\n\r\nexport { borderRadii };\r\n","import VARIABLES from \"./variables\";\r\n\r\nconst projectSpecific = {\r\n portalWell: {\r\n default: {\r\n border: VARIABLES.COLORS.darkGreen,\r\n background: VARIABLES.COLORS.darkGreen\r\n },\r\n pill: {\r\n border: VARIABLES.COLORS.lighterGray,\r\n background: VARIABLES.COLORS.lighterGray\r\n },\r\n formNote: {\r\n border: VARIABLES.COLORS.darkGreen,\r\n background: VARIABLES.COLORS.lightGreen\r\n },\r\n white: {\r\n border: VARIABLES.COLORS.darkGreen,\r\n background: VARIABLES.COLORS.white\r\n }\r\n },\r\n accordion: {\r\n headColor: VARIABLES.COLORS.white, // 1\r\n headBackgroundOne: VARIABLES.COLORS.slate, // 0\r\n headBackgroundTwo: VARIABLES.COLORS.darkerGray, // 4\r\n panelBackground: VARIABLES.COLORS.slate, // 2\r\n },\r\n ballBreadCrumb: {\r\n main: VARIABLES.COLORS.lightGreen, // 3\r\n active: VARIABLES.COLORS.darkGreen, // 0, 2\r\n completeMobile: VARIABLES.COLORS.lightGreen, // 1\r\n color: VARIABLES.COLORS.gray, // 4\r\n },\r\n};\r\n\r\nexport { projectSpecific };\r\n","import VARIABLES from \"./variables\";\r\n\r\nconst buttons = {\r\n borderRadius: \"4px\",\r\n fontSize: \"16px\",\r\n fontWeight: \"600\",\r\n primary: {\r\n color: VARIABLES.COLORS.white,\r\n colorHover: VARIABLES.COLORS.white,\r\n background: VARIABLES.COLORS.darkGreen,\r\n backgroundHover: VARIABLES.COLORS.black,\r\n border: \"none\",\r\n padding: \"11px 20px\"\r\n },\r\n secondary: {\r\n color: VARIABLES.COLORS.white,\r\n colorHover: VARIABLES.COLORS.darkGreen,\r\n background: VARIABLES.COLORS.darkGreen,\r\n backgroundHover: VARIABLES.COLORS.white,\r\n border: \"none\",\r\n padding: \"11px 20px\"\r\n },\r\n primaryAlt: {\r\n color: VARIABLES.COLORS.darkGreen,\r\n colorHover: VARIABLES.COLORS.white,\r\n background: VARIABLES.COLORS.white,\r\n backgroundHover: VARIABLES.COLORS.darkGreen,\r\n border: \"none\",\r\n padding: \"11px 20px\"\r\n },\r\n secondaryAlt: {\r\n color: VARIABLES.COLORS.darkGreen,\r\n colorHover: VARIABLES.COLORS.white,\r\n background: \"transparent\",\r\n backgroundHover: VARIABLES.COLORS.darkGreen,\r\n border: `2px solid ${VARIABLES.COLORS.darkGreen}`,\r\n padding: \"9px 18px\"\r\n },\r\n disabled: {\r\n color: VARIABLES.COLORS.darkerGray,\r\n background: VARIABLES.COLORS.lightGray,\r\n border: \"none\",\r\n padding: \"11px 20px\"\r\n },\r\n link: {\r\n color: VARIABLES.COLORS.slate, // 0\r\n hoverColor: VARIABLES.COLORS.darkGreen // 1\r\n },\r\n};\r\n\r\nexport { buttons };\r\n","import { fgfConfig } from \"@config/fgf\";\r\nimport defaultTheme from \"./default\"\r\nimport nimbleTheme from \"./nimble\";\r\nimport { nimbleConfig } from \"@config/nimble\";\r\n\r\nconst defaultBrand = {\r\n themeName: \"fgfTheme\",\r\n file: defaultTheme,\r\n configFile: fgfConfig\r\n} as const;\r\n\r\nconst nimbleBrand = {\r\n themeName: \"nimbleTheme\",\r\n file: nimbleTheme,\r\n configFile: nimbleConfig\r\n} as const;\r\n\r\nexport const loadingBrand = {\r\n themeName:\"loading\",\r\n file: {},\r\n configFile: fgfConfig\r\n} as const;\r\n\r\nexport type DefaultBrand = typeof defaultBrand;\r\nexport type NimbleBrand = typeof nimbleBrand;\r\nexport type LoadingBrand = typeof loadingBrand;\r\n\r\nexport const brands = {\r\n defaultBrand,\r\n nimbleBrand,\r\n loadingBrand\r\n} as const\r\n\r\nexport type Brands = typeof brands;\r\n\r\nexport type Brand = {\r\n themeName: BrandNames;\r\n file: {};\r\n configFile: {};\r\n};\r\n\r\nexport type BrandData = {\r\n brand: Brand;\r\n brandKey: BrandKeys;\r\n};\r\n \r\nexport type BrandKeys = keyof typeof brands;\r\nexport const brandKeys: BrandKeys[] = Object.keys(brands) as BrandKeys[];\r\n\r\nexport type BrandNames = \r\n | DefaultBrand['themeName']\r\n | NimbleBrand['themeName']\r\n | LoadingBrand['themeName'];\r\n\r\nexport const determineBrandAndBrandKey = (brandKey: BrandKeys): BrandData => {\r\n if (brandKey === \"loadingBrand\") {\r\n return { brandKey, brand: brands[\"loadingBrand\"] };\r\n }\r\n if (Object.keys(brands).includes(brandKey)) {\r\n return { brandKey, brand: brands[brandKey] };\r\n }\r\n return { brandKey: \"defaultBrand\", brand: brands[\"defaultBrand\"] };\r\n};\r\n\r\nconst hasNonEmptyHost = (host?: string): host is string => {\r\n return (!!host && host.length > 0);\r\n}\r\nconst isNimbleTheme = (host: string): host is BrandKeys => {\r\n return host.includes('nimble'); \r\n}\r\nconst isFgfTheme = (host: string): host is BrandKeys => {\r\n return host.includes('fairgofinance') || host.includes('fgf');\r\n}\r\n\r\nconst determineBrandFromHost = (host: string): BrandKeys => {\r\n if (isNimbleTheme(host)) {\r\n return 'nimbleBrand';\r\n }\r\n if (isFgfTheme(host)) {\r\n return 'defaultBrand';\r\n }\r\n return 'defaultBrand';\r\n}\r\n\r\nexport const getBrandFromHost = (host?: string): BrandKeys => {\r\n const hasHost = hasNonEmptyHost(host);\r\n if (hasHost) {\r\n return determineBrandFromHost(host);\r\n }\r\n return 'defaultBrand';\r\n};\r\n","import { Config } from \"./configType\";\r\n\r\nexport const nimbleConfig: Config = {\r\n phone: '133 156',\r\n email: 'customercare@nimble.com.au',\r\n acn: '135 501 807',\r\n acl: '386010',\r\n compliance: '',\r\n faq: 'https://nimble.com.au/faq/',\r\n companyName: 'Nimble',\r\n termsAndConditions: 'https://nimble.com.au/documents/personal_loan_terms_and_conditions.pdf',\r\n privacy: 'https://nimble.com.au/policy/privacy/web.html',\r\n partnerLogo: 'nimble-partnership-logo.svg',\r\n useChatbot: false,\r\n directDebitBank: 'ANZ',\r\n directDebitBSB: '014 701',\r\n directDebitAccountNumber: '4753 4090 6',\r\n ezidebitUrl: 'https://nimble-australia.pay.ezidebit.com.au/',\r\n cdsPrefix: 'nimble-',\r\n cdsApp: 'Nimble Portal',\r\n privacyConsentAndElectronicAuthorisation: 'https://nimble.com.au/about-us/privacy-consents/print.html/',\r\n creditGuide: 'https://nimble.com.au/documents/Credit_Guide.pdf',\r\n};\r\n\r\nexport const nimbleFavicon = '/favicon-nimble.png';","const filterOnEmptyString = (str) => str.trim() !== \"\";\r\n\r\nexport const parseQueryString = (search) => {\r\n const chunkedSearch = \r\n search\r\n .slice(search.indexOf('?') + 1)\r\n .split('&')\r\n .filter(filterOnEmptyString);\r\n \r\n return chunkedSearch.reduce((accumulator, chunk) => {\r\n const [key, val] = chunk.split('=');\r\n accumulator[decodeURIComponent(key)] = decodeURIComponent(val);\r\n\r\n return accumulator;\r\n }, {});\r\n};\r\n\r\nexport const combineHashSearchQueryString = location => {\r\n return {...parseQueryString(location.search), ...parseQueryString(location.hash)};\r\n};\r\n\r\nexport const removeSearch = pathname => {\r\n const safePathname = pathname ?? \"\";\r\n return safePathname.substring(0, safePathname.indexOf(\"?\"));\r\n};\r\n\r\nexport const stringifyQueryStringObject = queryString => {\r\n return Object.entries(queryString).reduce((accumulator, [key, value]) => {\r\n const normalisedValue = value || \"\";\r\n const joinString = accumulator.length !== 0 ? \"&\" : \"\";\r\n const prefix = accumulator === \"\" ? \"?\" : accumulator;\r\n return `${prefix}${joinString}${key}=${normalisedValue}`\r\n }, \"\");\r\n};","import { environmentSettings } from './environmentSettings';\r\n\r\nconst { authUrl, appUrl, authClientId } = environmentSettings;\r\n\r\nexport const IDENTITY_CONFIG = {\r\n authority: authUrl,\r\n client_id: authClientId, //(string): Your client application's identifier as registered with the OIDC provider.\r\n redirect_uri: appUrl + '/signin-oidc', //The URI of your client application to receive a response from the OIDC provider.\r\n automaticSilentRenew: true,\r\n silent_redirect_uri: appUrl + '/silent-refresh.html',\r\n includeIdTokenInSilentRenew: true,\r\n response_type: \"code\",\r\n scope: \"openid profile apiscope:fairgo.site.portal\",\r\n post_logout_redirect_uri: appUrl + '/logged-out',\r\n loadUserInfo: true,\r\n login: authUrl + \"/login\",\r\n logout: authUrl + \"/logout\",\r\n};\r\n\r\nexport const METADATA_OIDC = {\r\n issuer: authUrl,\r\n jwks_uri: authUrl + \"/.well-known/openid-configuration/jwks\",\r\n authorization_endpoint: authUrl + \"/connect/authorize\",\r\n token_endpoint: authUrl + \"/connect/token\",\r\n userinfo_endpoint: authUrl + \"/connect/userinfo\",\r\n end_session_endpoint: authUrl + \"/connect/endsession\",\r\n check_session_iframe: authUrl + \"/connect/checksession\",\r\n revocation_endpoint: authUrl + \"/connect/revocation\",\r\n introspection_endpoint: authUrl + \"/connect/introspect\"\r\n};","const signingHasAttemptedRedirectKey = \"signingHasAttemptedRedirect\";\r\n\r\nconst redirectHome = () => {\r\n window.localStorage.setItem(signingHasAttemptedRedirectKey, new Date());\r\n window.location = \"/\";\r\n};\r\n\r\n// look for a key in localStorage and parse it's date.\r\n// if the date is from over 1 min ago OR there is no key\r\n// redirect to home and set the key so that we don't\r\n// get stuck in a redirect loop\r\nexport const safeRedirectHome = () => {\r\n const signInRedirectAttempted = window.localStorage.getItem(signingHasAttemptedRedirectKey);\r\n if (signInRedirectAttempted !== null) {\r\n const signInRedirectAttemptedTime = Date.parse(signInRedirectAttempted);\r\n\r\n const minAgeBeforeCanRedirectTicks = (new Date()).getTime() - (60 * 1000); // 1 min expiry\r\n if (signInRedirectAttemptedTime < minAgeBeforeCanRedirectTicks) { // if the sign in happened over 1 min ago\r\n redirectHome();\r\n }\r\n } else {\r\n redirectHome();\r\n }\r\n};","import { IDENTITY_CONFIG, METADATA_OIDC } from \"../constants/authConst\";\r\nimport { environmentSettings } from '../constants/environmentSettings';\r\nimport { Log, UserManager, WebStorageStateStore } from \"oidc-client\";\r\nimport { getWindow } from \"../utils/windowAdapter\";\r\nimport { getLocalStorageItem, getSessionStorageItem, setLocalStorageItem } from \"../utils/localStorageAdapter\";\r\nimport { safeRedirectHome } from \"./safeRedirectHome\";\r\n\r\nconst { authClientId, authUrl, portalDebug } = environmentSettings;\r\n\r\nconst redirectUriKey = \"redirectUri\";\r\n\r\nexport default class authService {\r\n UserManager;\r\n\r\n constructor() {\r\n this.UserManager = new UserManager({\r\n ...IDENTITY_CONFIG,\r\n userStore: new WebStorageStateStore({ store: window.sessionStorage }),\r\n metadata: {\r\n ...METADATA_OIDC\r\n }\r\n });\r\n\r\n // Logger\r\n Log.logger = console;\r\n Log.level = portalDebug ? Log.INFO : Log.NONE;\r\n this.UserManager.events.addUserLoaded((user) => {\r\n if (window.location.href.indexOf(\"signin-oidc\") !== -1) {\r\n this.navigateToScreen();\r\n }\r\n });\r\n\r\n this.UserManager.events.addSilentRenewError((e) => {\r\n console.log(\"silent renew error\", e.message);\r\n });\r\n\r\n this.UserManager.events.addAccessTokenExpired(() => {\r\n this.signinSilent();\r\n });\r\n }\r\n\r\n signinRedirectCallback = () => {\r\n (async () => {\r\n try {\r\n await this.UserManager.signinRedirectCallback()\r\n }\r\n catch (err) {\r\n safeRedirectHome();\r\n }\r\n })();\r\n };\r\n\r\n\r\n getUser = async () => {\r\n const user = await this.UserManager.getUser();\r\n if (!user) {\r\n return {};\r\n }\r\n return user;\r\n };\r\n \r\n signinRedirect = () => {\r\n const { location } = getWindow();\r\n const locationUrl = new URL(location.href);\r\n const usernameParam = locationUrl.searchParams.get(\"username\");\r\n\r\n let extraQueryParams = {};\r\n if (usernameParam) {\r\n extraQueryParams[\"username\"] = usernameParam;\r\n locationUrl.searchParams.delete(\"username\");\r\n }\r\n\r\n setLocalStorageItem(redirectUriKey, locationUrl.pathname + locationUrl.search + locationUrl.hash);\r\n if (this.UserManager.settings) {\r\n this.UserManager.settings.extraQueryParams = extraQueryParams;\r\n }\r\n this.UserManager.signinRedirect(); \r\n };\r\n\r\n\r\n navigateToScreen = () => {\r\n const redirectUri = getLocalStorageItem(redirectUriKey);\r\n window.location.replace(redirectUri ?? \"/\");\r\n };\r\n\r\n\r\n isAuthenticated = () => {\r\n const oidcStorage = JSON.parse(getSessionStorageItem(`oidc.user:${authUrl}:${authClientId}`));\r\n return !!oidcStorage && !!oidcStorage.id_token;\r\n };\r\n\r\n signinSilent = () => {\r\n return this.UserManager.signinSilent()\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n signinSilentCallback = () => {\r\n this.UserManager.signinSilentCallback();\r\n };\r\n\r\n createSigninRequest = () => {\r\n return this.UserManager.createSigninRequest();\r\n };\r\n\r\n logout = async () => {\r\n const { id_token } = await this.getUser();\r\n await this.UserManager.signoutRedirect({\r\n id_token_hint: id_token,\r\n });\r\n await this.UserManager.clearStaleState(); \r\n };\r\n\r\n signoutRedirectCallback = async () => {\r\n const { location } = getWindow();\r\n await this.UserManager.signoutRedirectCallback();\r\n await this.UserManager.clearStaleState();\r\n location.replace(IDENTITY_CONFIG.logout);\r\n };\r\n}","export const setLocalStorageItem = (key, value) => window.localStorage.setItem(key, value);\r\nexport const getLocalStorageItem = (key) => window.localStorage.getItem(key);\r\nexport const getSessionStorageItem = (key) => window.sessionStorage.getItem(key);","import { getDaysInMonth } from \"date-fns\";\r\nimport { DAYS } from \"../../constants/options\";\r\n\r\nexport const currentYear = new Date().getFullYear();\r\n\r\nexport const getListOfDaysInMonth = (month, year) => {\r\n const activeDays = [...DAYS];\r\n const maxDaysInMonth = 31;\r\n const daysInMonth = getDaysInMonth(new Date(year, month - 1));\r\n const deleteCount = maxDaysInMonth - daysInMonth;\r\n const start = maxDaysInMonth - deleteCount;\r\n \r\n activeDays.splice(start, deleteCount);\r\n \r\n return activeDays;\r\n};\r\n\r\nexport const wipeValueIfDayLargerThanMonthsAllowed = (day, month, year, wipeValue) => {\r\n const daysInMonth = getDaysInMonth(new Date(year, month - 1));\r\n if (day && day * 1 > daysInMonth) {\r\n wipeValue();\r\n }\r\n};\r\n\r\nconst numberToStringOrEmptyString = (value) => {\r\n return isNaN(value) ? \"\" : value.toString() ;\r\n}\r\n\r\nexport const parseIntoDateObject = (date) => {\r\n return { \r\n day: numberToStringOrEmptyString(date.getDate()),\r\n month: numberToStringOrEmptyString(date.getMonth() + 1),\r\n year: numberToStringOrEmptyString(date.getFullYear()),\r\n };\r\n};","export const PUBLIC_ROUTE = {\r\n INDEX: \"/\",\r\n PAGE_NOT_FOUND: \"\",\r\n LOG_OUT: \"/logout\",\r\n};\r\n\r\nexport const PRIVATE_ROUTE = {\r\n LANDING: \"/dashboard\",\r\n PAYMENT: \"/payment\",\r\n EZIDEBIT: \"/payment/pay-via-card\",\r\n APPLY_PERSONAL_LOAN_APPLY: \"/apply/pl-apply\",\r\n APPLY_REFINANCE: \"/apply/refinance\",\r\n APPLY_LOC_APPLY: \"/apply/loc-apply\",\r\n APPLY_CAR_LOAN_APPLY: \"/apply/cl-apply\",\r\n APPLY_LOC_DRAWDOWN: \"/apply/loc-drawdown\",\r\n APPLY_TRY_LATER_PARTIAL_ROUTE: \"/try-later\",\r\n APPLY_NOW_MENU: \"/apply-now\",\r\n MANAGE_REPAYMENTS: \"/manage-repayments\",\r\n LOAN_HISTORY: \"/loan-history\",\r\n HELP: \"/help\",\r\n};\r\n","export const getWindow = () => global.window;","// once we have unit tests/later we can swap the above to use this utility\r\nimport { IDENTIFICATION_TYPES_VALUES, LIVING_SITUATIONS, RESIDENTIAL_STATUS, STATES, FREQUENCY } from \"./commonConstants\";\r\n\r\nconst unsetValue = \"Unset Option ValueDONOTUSE\";\r\nexport const createOption = (label, value = unsetValue) => ({ label, value: value !== unsetValue ? value : label });\r\n\r\nexport const LOAN_REASON_OPTIONS = Object.freeze([\r\n { label: \"Bond Loan\", value: \"Bond Loan\" },\r\n { label: \"Household Bills\", value: \"Household Bills\" },\r\n { label: \"Travel Holiday\", value: \"Travel Holiday\" },\r\n { label: \"Vehicle Purchase\", value: \"Vehicle Purchase\" },\r\n { label: \"Consolidate Debt\", value: \"Consolidate Debt\" },\r\n { label: \"Home Renovations\", value: \"Home Renovations\" },\r\n { label: \"Furniture Appliances\", value: \"Furniture Appliances\" },\r\n { label: \"Funeral Expenses\", value: \"Funeral Expenses\" },\r\n { label: \"Wedding Expenses\", value: \"Wedding Expenses\" },\r\n { label: \"Medical/Dental Costs\", value: \"Medical/Dental Costs\" },\r\n { label: \"Training For Me\", value: \"Training For Me\" },\r\n { label: \"Education For Children\", value: \"Education For Children\" },\r\n { label: \"Car Repairs\", value: \"Car Repairs\" },\r\n]);\r\n\r\nexport const NAME_PREFIX = Object.freeze([\r\n { label: \"Mr\", value: \"Mr\" },\r\n { label: \"Mrs\", value: \"Mrs\" },\r\n { label: \"Ms\", value: \"Ms\" },\r\n { label: \"Miss\", value: \"Miss\" }\r\n]);\r\n\r\nexport const PAYMENT_FREQUENCY_OPTIONS = Object.freeze([\r\n createOption(FREQUENCY.WEEKLY),\r\n createOption(FREQUENCY.FORTNIGHTLY),\r\n createOption(FREQUENCY.MONTHLY),\r\n]);\r\n\r\nexport const DAYS = (() => {\r\n const Days = [];\r\n for (let i = 1; i < 32; i++) {\r\n const day = i < 10 ? `0${i}` : `${i}`;\r\n Days.push({ label: day, value: i });\r\n }\r\n return Object.freeze(Days);\r\n})();\r\n\r\nexport const MONTHS = Object.freeze([\r\n { value: 1, label: \"Jan\" },\r\n { value: 2, label: \"Feb\" },\r\n { value: 3, label: \"Mar\" },\r\n { value: 4, label: \"Apr\" },\r\n { value: 5, label: \"May\" },\r\n { value: 6, label: \"Jun\" },\r\n { value: 7, label: \"Jul\" },\r\n { value: 8, label: \"Aug\" },\r\n { value: 9, label: \"Sep\" },\r\n { value: 10, label: \"Oct\" },\r\n { value: 11, label: \"Nov\" },\r\n { value: 12, label: \"Dec\" }\r\n]);\r\n\r\nexport const DEPENDENTS_OPTIONS = [\r\n createOption(\"0\"),\r\n createOption(\"1\"),\r\n createOption(\"2\"),\r\n createOption(\"3\"),\r\n createOption(\"4\"),\r\n createOption(\"5\"),\r\n createOption(\"6+\"),\r\n]\r\n\r\nexport const YEARS = (min = 18, max = 81, upcommingYears = false) => {\r\n const years = [];\r\n const date = new Date();\r\n if (upcommingYears)\r\n for (let i = date.getUTCFullYear() - min; i <= date.getUTCFullYear() + max; i++) {\r\n years.push({ label: i, value: i });\r\n }\r\n else\r\n for (let i = date.getUTCFullYear() - min; i > date.getUTCFullYear() - max; i--) {\r\n years.push({ label: i, value: i });\r\n }\r\n return Object.freeze(years);\r\n};\r\n\r\nexport const OCCUPATION_OPTIONS = Object.freeze([\r\n createOption(\"Agriculture, Forestry and Fishing\"),\r\n createOption(\"Mining\"),\r\n createOption(\"Manufacturing\"),\r\n createOption(\"Electricity, Gas, Water and Waste Services\"),\r\n createOption(\"Construction\"),\r\n createOption(\"Wholesale Trade\"),\r\n createOption(\"Retail Trade\"),\r\n createOption(\"Accommodation and Food Services\"),\r\n createOption(\"Transport, Postal and Warehousing\"),\r\n createOption(\"Information Media and Telecommunications\"),\r\n createOption(\"Financial and Insurance Services\"),\r\n createOption(\"Rental, Hiring and Real Estate Services\"),\r\n createOption(\"Professional, Scientific and Technical Services\"),\r\n createOption(\"Administrative and Support Services\"),\r\n createOption(\"Public Administration and Safety\"),\r\n createOption(\"Education and Training\"),\r\n createOption(\"Health Care and Social Assistance\"),\r\n createOption(\"Arts and Recreation Services\"),\r\n createOption(\"Other Services\"),\r\n]);\r\n\r\nexport const EMPLOYMENT_OPTIONS = Object.freeze([\r\n { label: \"Full Time\", value: \"Full Time Work\" },\r\n { label: \"Part Time\", value: \"Part Time Work\" },\r\n { label: \"Casual\", value: \"Casual Work\" },\r\n { label: \"Self Employed\", value: \"Self Employed\" },\r\n { label: \"JobSeeker\", value: \"JobSeeker\" },\r\n { label: \"JobKeeper\", value: \"JobKeeper\" },\r\n { label: \"Centrelink\", value: \"Centrelink\" },\r\n { label: \"Other\", value: \"Other\" }\r\n]);\r\n\r\nexport const LIVING_SITUATION_OPTIONS = Object.freeze([\r\n createOption(\"I live alone\"),\r\n createOption(LIVING_SITUATIONS.LIVE_WITH_MY_FRIEND),\r\n createOption(LIVING_SITUATIONS.LIVE_WITH_PARTNER),\r\n createOption(\"I live with my parents (or other relatives)\", \"I live with my parents\"),\r\n]);\r\n\r\nexport const COUNT_OPTIONS = (min = 0, max = 6) => {\r\n const COUNT = [];\r\n for (let i = min; i <= max; i++) {\r\n if (i !== max) COUNT.push({ label: `${i}`, value: `${i}` });\r\n else COUNT.push({ label: `${i}+`, value: `${i}+` });\r\n }\r\n return Object.freeze(COUNT);\r\n};\r\n\r\nexport const RESIDENTIAL_STATUS_OPTIONS = Object.freeze([\r\n createOption(RESIDENTIAL_STATUS.RENTING),\r\n createOption(RESIDENTIAL_STATUS.MORTGAGE),\r\n createOption(\"Boarding (with friends/family/relatives)\", RESIDENTIAL_STATUS.BOARDING),\r\n createOption(\"Homeowner (no mortgage owing)\", RESIDENTIAL_STATUS.HOMEOWNER),\r\n]);\r\n\r\nexport const RESIDENTIAL_PAYMENT_FREQUENCY = Object.freeze([\r\n createOption(\"Weekly\"),\r\n createOption(\"Fortnightly\"),\r\n createOption(\"Monthly\")\r\n]);\r\n\r\nexport const IDENTIFICATION_TYPE_OPTIONS = Object.freeze([\r\n createOption(\"Drivers Licence\", IDENTIFICATION_TYPES_VALUES.DRIVERS_LICENCE),\r\n createOption(\"Medicare\", IDENTIFICATION_TYPES_VALUES.MEDICARE),\r\n]);\r\n\r\n// todo: move all of the states here into STATES object\r\nexport const STATE_OPTIONS = Object.freeze([\r\n createOption(STATES.ACT),\r\n createOption(STATES.NSW),\r\n createOption(STATES.NT),\r\n createOption(STATES.QLD),\r\n createOption(STATES.SA),\r\n createOption(STATES.TAS),\r\n createOption(STATES.VIC),\r\n createOption(STATES.WA),\r\n]);\r\n\r\nexport const CARD_COLOUR_OPTIONS = Object.freeze([\r\n { label: \"Green\", value: \"Green\" },\r\n { label: \"Blue\", value: \"Blue\" },\r\n { label: \"Yellow\", value: \"Yellow\" },\r\n]);\r\n\r\nexport const RELATIONSHIP_TO_YOU_OPTIONS = Object.freeze([\r\n { label: \"Family (Parent)\", value: \"Parent\" },\r\n { label: \"Family (Sibling)\", value: \"Sibling\" },\r\n { label: \"Friend\", value: \"Friend\" },\r\n { label: \"Relative\", value: \"Relative\" },\r\n { label: \"Colleague\", value: \"Colleague\" },\r\n { label: \"Partner\", value: \"Partner\" },\r\n]);\r\n\r\nexport const AMOUNT_BALANCE_OPTIONS = Object.freeze([\r\n createOption(\"Minimum\"),\r\n createOption(\"Part\"),\r\n createOption(\"Full Balance\")\r\n]);\r\n","import React from \"react\";\r\nimport ReactModal from 'react-modal';\r\nimport {useTransition, animated} from 'react-spring'\r\nimport cx from \"classnames\";\r\n\r\nconst Modal = (props) => {\r\n const { header, children, footer, onClose, visible, closeable, size } = props;\r\n \r\n const modalContentLabel = `${header ?? \"\"} Modal`;\r\n \r\n const attemptClose = () => {\r\n if (closeable) {\r\n onClose();\r\n }\r\n };\r\n\r\n const transitions = useTransition(visible, null, {\r\n from: { opacity: 0, transform: 'translate3d(0,-40px,0) scale(0.98)' },\r\n enter: { opacity: 1, transform: 'translate3d(0,0px,0) scale(1)' },\r\n leave: { opacity: 0, transform: 'translate3d(0,40px,0) scale(0.98)' },\r\n });\r\n\r\n return transitions.map(({item, key, props: spring}) => (\r\n document.querySelector('#modal-parent')}\r\n contentLabel={modalContentLabel}\r\n onRequestClose={attemptClose}\r\n shouldCloseOnOverlayClick={true}\r\n >\r\n \r\n
\r\n
\r\n
{header}
\r\n {closeable && }\r\n
\r\n
{children}
\r\n
{footer}
\r\n
\r\n \r\n )\r\n );\r\n};\r\n\r\nexport default Modal;\r\n","import styled, { css } from \"styled-components\";\r\nimport { isIE11 } from \"../../utils/helpers/browserHelper\";\r\n\r\nconst Wrapper = styled.div(({ theme }) => css`\r\n .modal-overlay {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n z-index: 999999;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n height: 100vh;\r\n width: 100vw;\r\n padding-top: 100px;\r\n padding-bottom: 50px;\r\n\r\n @media only screen and (max-width: ${theme.breakpoints.M}) {\r\n padding-top: 20px;\r\n padding-bottom: 75px;\r\n }\r\n\r\n transition: background-color 0.3s ease;\r\n background-color: rgba(0, 0, 0, 0);\r\n\r\n &.ReactModal__Overlay--after-open {\r\n background-color: ${theme.palette.modal.overlay};\r\n }\r\n\r\n &.is-closing {\r\n background-color: rgba(0, 0, 0, 0);\r\n }\r\n }\r\n\r\n .modal-container {\r\n display: flex;\r\n }\r\n\r\n .modal-container, .modal-content {\r\n max-height: 100%;\r\n }\r\n\r\n .modal-content {\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n background-color: ${theme.palette.main.white};\r\n text-align: left;\r\n font-size: ${theme.fonts.sizes.p5};\r\n\r\n @media only screen and (max-width: ${theme.breakpoints.M}) {\r\n max-width: calc(100vw - 40px) !important;\r\n }\r\n\r\n ${isIE11 && `\r\n max-height: calc(100vh - 100px);\r\n `}\r\n &.extra-small {\r\n max-width: 358px;\r\n /* IE11 max-width px fix */\r\n flex: 1 0 358px;\r\n }\r\n\r\n &.small {\r\n max-width: 500px;\r\n /* IE11 max-width px fix */\r\n flex: 1 0 500px;\r\n }\r\n\r\n &.medium {\r\n max-width: 60vw;\r\n width: 100%;\r\n }\r\n\r\n &.large {\r\n max-width: 90vw;\r\n width: 100%;\r\n }\r\n\r\n p {\r\n margin-top: ${theme.fonts.sizes.p5};\r\n margin-bottom: ${theme.fonts.sizes.p5};\r\n }\r\n }\r\n\r\n .modal-Body {\r\n overflow: auto;\r\n padding: 8px 16px;\r\n color: ${theme.palette.grayscale.gray};\r\n }\r\n\r\n .modal-Header {\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: left;\r\n background: ${theme.palette.modal.header};\r\n color: ${theme.palette.main.white};\r\n padding: 20px;\r\n }\r\n\r\n .modal-Title {\r\n display: block;\r\n width: 90%;\r\n text-align: center;\r\n font-size: 20px;\r\n font-weight: 600;\r\n text-transform: ${theme.fonts.headingCase};\r\n }\r\n\r\n .modal-empty-div {\r\n width: 5%;\r\n }\r\n\r\n .modal-Footer {\r\n display: flex;\r\n flex-shrink: 0;\r\n justify-content: center;\r\n background-color: ${theme.palette.main.white};\r\n color: black;\r\n padding: 12px 16px 14px;\r\n }\r\n\r\n .modal-Close-Icon {\r\n align-self: center;\r\n background: none;\r\n border: none;\r\n color: ${theme.palette.main.white};\r\n float: right;\r\n font-size: 24px;\r\n font-weight: ${theme.fonts.headingWeight};\r\n width: 5%;\r\n }\r\n\r\n .modal-Close-Icon:hover,\r\n .modal-Close-Icon:focus {\r\n color: ${theme.palette.main.black};\r\n cursor: pointer;\r\n }\r\n`);\r\n\r\nexport default Wrapper;\r\n","import { useEffect } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\n\r\nexport const Portal = ({parentId, useBody, children}) => {\r\n const mount = useBody ? document.body : document.getElementById(parentId);\r\n const el = document.createElement(\"div\");\r\n\r\n useEffect(() => {\r\n mount.appendChild(el);\r\n return () => { mount.removeChild(el) };\r\n }, [el, mount]);\r\n\r\n return createPortal(children, el)\r\n};\r\n","import ReactModal from \"react-modal\";\r\nimport React from \"react\";\r\nimport Wrapper from \"./modal.styles\";\r\nimport { Portal } from \"./portal\";\r\n\r\nReactModal.setAppElement(\"#root\");\r\n\r\nexport const ModalParent = () => {\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};","import Modal from './modal';\r\n\r\nexport { ModalParent } from \"./modalParent\"\r\nexport default Modal;","import * as Yup from \"yup\";\r\nimport { FIELD_NAMES } from \"../../../constants/commonConstants\";\r\n\r\nexport const applyBankStepSchema = Yup.object({\r\n [FIELD_NAMES.BANK_STATEMENTS_ID]: Yup.string()\r\n});","import styled, { css } from \"styled-components\";\r\n\r\nexport const Paper = styled.div(({ theme }) => css`\r\n width: 100%;\r\n box-sizing: border-box;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n width: 100%;\r\n padding: 0;\r\n }\r\n`);\r\n\r\nexport const PaddedPaper = styled(Paper)`\r\n padding: 20px;\r\n`;\r\n\r\nexport const PaddedPaperDashboard = styled(Paper)(({ theme }) => css`\r\n padding: 0;\r\n\r\n .desktop-view-accounts {\r\n display: none;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XXM}) {\r\n display: block;\r\n }\r\n }\r\n\r\n .mobile-view-accounts {\r\n display: block;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XXM}) {\r\n display: none;\r\n }\r\n }\r\n`);\r\n","import { Paper } from './paper';\r\n\r\nexport default Paper;\r\nexport { PaddedPaper, PaddedPaperDashboard } from \"./paper\"","import { getBrandFromHost } from \"@theme/config\";\r\n\r\nexport const convertDomainToCorrespondingBrand = () => {\r\n const host = window.location.hostname.toLowerCase();\r\n const brand = getBrandFromHost(host);\r\n\r\n switch (brand) {\r\n case \"defaultBrand\":\r\n return \"Fgf\";\r\n case \"nimbleBrand\":\r\n return \"Nimble\";\r\n default:\r\n return \"Fgf\";\r\n }\r\n};\r\n","import { environmentSettings } from \"../../constants/environmentSettings\";\r\n\r\nconst { runConfiguration } = environmentSettings;\r\n\r\nexport const isDevelopment = () => {\r\n return runConfiguration === 'development'\r\n}\r\n\r\nexport const isProduction = () => {\r\n return runConfiguration === 'production'\r\n}","import ContentWrapper from './contentWrapper';\r\n\r\nexport default ContentWrapper;","export const isIE11 = !!window.MSInputMethodContext && !!document.documentMode;","import styled, { css } from \"styled-components\";\r\n\r\nconst ContentWrapper = styled.div(({ theme }) => css`\r\n\r\n max-width: ${(props) => props.maxWidth || \"none\"};\r\n margin: 0 auto;\r\n background-color: #fff;\r\n padding: ${(props) => props.hidePadding === true? 0 : \"20px 0\" };\r\n\r\n &.welcomeBanner {\r\n background-color: #f3f3f3;\r\n margin: 0px -20px;\r\n }\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n \r\n &.welcomeBanner {\r\n background-color: #fff;\r\n }\r\n }\r\n \r\n`);\r\n\r\nexport default ContentWrapper;\r\n","import { GOOGLE_API_KEY } from \"./sharedConfig\";\r\n\r\nexport const domainSpecificConfig = {\r\n local: {\r\n FGF: {\r\n apiManagement: 'https://fairgo-dev-api-management.azure-api.net',\r\n ocpApimSubscriptionKey: '3af7404c30fb44f78fb622043a277386',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"fairgo\",\r\n bankStatementIframeUrl: 'https://bs.fgfdev.com.au',\r\n portalDebug: true,\r\n authUrl: 'https://auth.fgfdev.com.au',\r\n appUrl: 'https://portal.fgf.localhost',\r\n cookieDomain: 'portal.localhost',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://website.fgfdev.com.au',\r\n newCustomerForm: 'https://ui.fgfdev.com.au',\r\n contentManagementUrl: 'https://cds.fgfdev.com.au',\r\n contentToken: '17bc8584ecaaa3a3defff4d67fd13fafbd0029ebb127feb4917b7d421761e7d5957a5432403a106ff29f8bd31f29518ad4fe9b66b1a58b55cbcc141836a3c102c06a43b1d7550f5590c487a9bffe53517aed3da07b96165f276d59b81b16095b2026d55dc2c594ea0cc5544128cd9302b7e42bc58bcc324378b2d06ead5e77b0',\r\n fsaPrivacyPolicy: 'https://website.fgfdev.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-MMDH47J',\r\n gtmAuth: 'yrDHMzYQxivp5pjLK5hVug',\r\n gtmPreview: 'env-314'\r\n },\r\n NIM: {\r\n apiManagement: 'https://fairgo-dev-api-management.azure-api.net',\r\n ocpApimSubscriptionKey: '3af7404c30fb44f78fb622043a277386',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"nimble\",\r\n bankStatementIframeUrl: 'https://bs.fgfdev.com.au',\r\n portalDebug: true,\r\n authUrl: 'https://auth.nimble-dev.com.au',\r\n appUrl: 'https://portal.nimble.localhost',\r\n cookieDomain: 'portal.nimble.localhost',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://website.fgfdev.com.au',\r\n newCustomerForm: 'https://ui.nimble-dev.com.au',\r\n contentManagementUrl: 'https://cds.fgfdev.com.au',\r\n contentToken: '17bc8584ecaaa3a3defff4d67fd13fafbd0029ebb127feb4917b7d421761e7d5957a5432403a106ff29f8bd31f29518ad4fe9b66b1a58b55cbcc141836a3c102c06a43b1d7550f5590c487a9bffe53517aed3da07b96165f276d59b81b16095b2026d55dc2c594ea0cc5544128cd9302b7e42bc58bcc324378b2d06ead5e77b0',\r\n fsaPrivacyPolicy: 'https://website.fgfdev.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-KR92XT',\r\n gtmAuth: '',\r\n gtmPreview: ''\r\n }\r\n },\r\n development: {\r\n FGF: {\r\n apiManagement: 'https://fairgo-dev-api-management.azure-api.net',\r\n ocpApimSubscriptionKey: '3af7404c30fb44f78fb622043a277386',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"fairgo\",\r\n bankStatementIframeUrl: 'https://bs.fgfdev.com.au',\r\n portalDebug: true,\r\n authUrl: 'https://auth.fgfdev.com.au',\r\n appUrl: 'https://portal.fgfdev.com.au',\r\n cookieDomain: 'fgfdev.com.au',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://website.fgfdev.com.au',\r\n newCustomerForm: 'https://ui.fgfdev.com.au',\r\n contentManagementUrl: 'https://cds.fgfdev.com.au',\r\n contentToken: '17bc8584ecaaa3a3defff4d67fd13fafbd0029ebb127feb4917b7d421761e7d5957a5432403a106ff29f8bd31f29518ad4fe9b66b1a58b55cbcc141836a3c102c06a43b1d7550f5590c487a9bffe53517aed3da07b96165f276d59b81b16095b2026d55dc2c594ea0cc5544128cd9302b7e42bc58bcc324378b2d06ead5e77b0',\r\n fsaPrivacyPolicy: 'https://website.fgfdev.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-MMDH47J',\r\n gtmAuth: 'yrDHMzYQxivp5pjLK5hVug',\r\n gtmPreview: 'env-314'\r\n },\r\n NIM: {\r\n apiManagement: 'https://fairgo-dev-api-management.azure-api.net',\r\n ocpApimSubscriptionKey: '3af7404c30fb44f78fb622043a277386',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"nimble\",\r\n bankStatementIframeUrl: 'https://bs.fgfdev.com.au',\r\n portalDebug: true,\r\n authUrl: 'https://auth.nimble-dev.com.au',\r\n appUrl: 'https://portal.nimble-dev.com.au',\r\n cookieDomain: 'nimble-dev.com.au',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://website.fgfdev.com.au',\r\n newCustomerForm: 'https://ui.nimble-dev.com.au',\r\n contentManagementUrl: 'https://cds.fgfdev.com.au',\r\n contentToken: '17bc8584ecaaa3a3defff4d67fd13fafbd0029ebb127feb4917b7d421761e7d5957a5432403a106ff29f8bd31f29518ad4fe9b66b1a58b55cbcc141836a3c102c06a43b1d7550f5590c487a9bffe53517aed3da07b96165f276d59b81b16095b2026d55dc2c594ea0cc5544128cd9302b7e42bc58bcc324378b2d06ead5e77b0',\r\n fsaPrivacyPolicy: 'https://website.fgfdev.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-KR92XT',\r\n gtmAuth: '',\r\n gtmPreview: ''\r\n }\r\n },\r\n test: {\r\n FGF: {\r\n apiManagement: 'https://fairgo-test-api-management.azure-api.net',\r\n ocpApimSubscriptionKey: 'baeec5c32700455a8f58f024b8484a60',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"fairgo\",\r\n bankStatementIframeUrl: 'https://bs.fgftest.com.au',\r\n portalDebug: false,\r\n authUrl: 'https://auth.fgftest.com.au',\r\n appUrl: 'https://portal.fgftest.com.au',\r\n cookieDomain: 'fgftest.com.au',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://website.fgftest.com.au',\r\n newCustomerForm: 'https://ui.fgftest.com.au',\r\n contentManagementUrl: 'https://cds.fgftest.com.au',\r\n contentToken: '8526cc6182773c17f4fec22e48b88fc14adb48e8a7c231e36196900d3ff191412b754a235e478611f9099cefb804db8982d5c01400534171c6172235ef855cd93ef085c0e07cccd12fca1a3114d688cd0d7e0bc59a616e0bb896c491baad311faccaee1ba1fbfbe347046e1e79ef2de8c0b1aff03392c6e0d40a74a184049fae',\r\n fsaPrivacyPolicy: 'https://website.fgftest.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-MMDH47J',\r\n gtmAuth: 'zCAiAcyYf5HNWAmzTvoUqA',\r\n gtmPreview: 'env-313'\r\n },\r\n NIM: {\r\n apiManagement: 'https://fairgo-test-api-management.azure-api.net',\r\n ocpApimSubscriptionKey: 'baeec5c32700455a8f58f024b8484a60',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"nimble\",\r\n bankStatementIframeUrl: 'https://bs.fgftest.com.au',\r\n portalDebug: false,\r\n authUrl: 'https://auth.nimble-test.com.au',\r\n appUrl: 'https://portal.nimble-test.com.au',\r\n cookieDomain: 'nimble-test.com.au',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://website.fgftest.com.au',\r\n newCustomerForm: 'https://ui.nimble-test.com.au',\r\n contentManagementUrl: 'https://cds.fgftest.com.au',\r\n contentToken: '8526cc6182773c17f4fec22e48b88fc14adb48e8a7c231e36196900d3ff191412b754a235e478611f9099cefb804db8982d5c01400534171c6172235ef855cd93ef085c0e07cccd12fca1a3114d688cd0d7e0bc59a616e0bb896c491baad311faccaee1ba1fbfbe347046e1e79ef2de8c0b1aff03392c6e0d40a74a184049fae',\r\n fsaPrivacyPolicy: 'https://website.fgftest.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-KR92XT',\r\n gtmAuth: '',\r\n gtmPreview: ''\r\n }\r\n },\r\n production: {\r\n FGF: {\r\n apiManagement: 'https://apim.fairgofinance.com.au',\r\n ocpApimSubscriptionKey: '01bf156bbed0498aae6c75fcd0f862cf',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"fairgo\",\r\n bankStatementIframeUrl: 'https://bs.fairgofinance.com.au',\r\n portalDebug: false,\r\n authUrl: 'https://auth.fairgofinance.com.au',\r\n appUrl: 'https://portal.fairgofinance.com.au',\r\n cookieDomain: 'fairgofinance.com.au',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://www.fairgofinance.com.au',\r\n newCustomerForm: 'https://apply.fairgofinance.com.au',\r\n contentManagementUrl: 'https://cds.fairgofinance.com.au',\r\n contentToken: 'd2c30e0f3153c199f6343f0f83c873ae537fcc64e339afd78098cd49625d1000c16c616ab0bcf1cf47aae6711c484340ebe759627f5cbf67f8df87de1f8802809e856fabc84609528da872b5f0e296e7840662eab414516f09d121b8565d721d293c2fe71104c96f631dbb472a54281d2c880b796c38bb844649caf784fe31c9',\r\n fsaPrivacyPolicy: 'https://www.fairgofinance.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-MMDH47J',\r\n gtmAuth: 'cR_Lz3XpRd_mt4fXhlKgBw',\r\n gtmPreview: 'env-1'\r\n },\r\n NIM: {\r\n apiManagement: 'https://apim.fairgofinance.com.au',\r\n ocpApimSubscriptionKey: '01bf156bbed0498aae6c75fcd0f862cf',\r\n googleApiKey: GOOGLE_API_KEY,\r\n authority: \"nimble\",\r\n bankStatementIframeUrl: 'https://bs.fairgofinance.com.au',\r\n portalDebug: false,\r\n authUrl: 'https://auth.nimble.com.au',\r\n appUrl: 'https://portal.nimble.com.au',\r\n cookieDomain: 'nimble.com.au',\r\n authClientId: 'fgf.portal',\r\n publicWebsite: 'https://www.fairgofinance.com.au',\r\n newCustomerForm: 'https://apply.nimble.com.au',\r\n contentManagementUrl: 'https://cds.fairgofinance.com.au',\r\n contentToken: 'd2c30e0f3153c199f6343f0f83c873ae537fcc64e339afd78098cd49625d1000c16c616ab0bcf1cf47aae6711c484340ebe759627f5cbf67f8df87de1f8802809e856fabc84609528da872b5f0e296e7840662eab414516f09d121b8565d721d293c2fe71104c96f631dbb472a54281d2c880b796c38bb844649caf784fe31c9',\r\n fsaPrivacyPolicy: 'https://www.fairgofinance.com.au/legal-and-compliance/fintech-services-privacy-policy',\r\n gtmId: 'GTM-KR92XT',\r\n gtmAuth: '',\r\n gtmPreview: ''\r\n }\r\n }\r\n} as const;","import { BrandKeys } from \"@theme/config/theme.config\";\r\n\r\nconst environmentTypes = {\r\n FGF: 'FGF',\r\n NIM: 'NIM'\r\n} as const;\r\n\r\nexport const getEnvironmentType = (brandKeyFromHost: BrandKeys) => {\r\n switch(brandKeyFromHost) {\r\n case 'defaultBrand':\r\n return environmentTypes.FGF;\r\n case 'nimbleBrand':\r\n return environmentTypes.NIM;\r\n default:\r\n return environmentTypes.FGF;\r\n }\r\n}\r\n\r\n","import { domainSpecificConfig } from \"../config/domainSpecificConfig\";\r\nimport { getBrandFromHost } from \"@theme/config/theme.config\";\r\nimport { getEnvironmentType } from \"../utils/helpers/getEnvironmentType\";\r\n\r\nconst config = window.__PORTAL__.config;\r\n\r\nconst host = window.location.hostname.toLowerCase();\r\nconst brandKeyFromHost = getBrandFromHost(host);\r\n\r\nconst environmentType = getEnvironmentType(brandKeyFromHost);\r\n\r\nconst runConfiguration = config.REACT_APP_ENVIRONMENT_RUN_CONFIGURATION ? config.REACT_APP_ENVIRONMENT_RUN_CONFIGURATION : 'development';\r\n\r\nexport const environmentSettings = {\r\n runConfiguration,\r\n ...domainSpecificConfig[runConfiguration][environmentType]\r\n};\r\n","import { createEmptyAction, createPayloadAction } from \"../utility/actions\";\r\n\r\nconst GET_CLIENT_DATA_START = \"GET_CLIENT_DATA_START\";\r\nconst GET_CLIENT_DATA_FAILED = \"GET_CLIENT_DATA_FAILED\";\r\nconst GET_CLIENT_DATA_SUCCESS = \"GET_CLIENT_DATA_SUCCESS\";\r\nconst SET_ACCOUNT_ID = \"SET_ACCOUNT_ID\";\r\nconst SET_ARREARS_AMOUNT = \"SET_ARREARS_AMOUNT\";\r\nconst SET_INELIGIBLE = \"SET_INELIGIBLE\";\r\nconst GET_ACCOUNT_TRANSACTIONS_START = \"GET_ACCOUNT_TRANSACTIONS_START\";\r\nconst GET_ACCOUNT_TRANSACTIONS_SUCCESS = \"GET_ACCOUNT_TRANSACTIONS_SUCCESS\";\r\nconst GET_ACCOUNT_TRANSACTIONS_FAILED = \"GET_ACCOUNT_TRANSACTIONS_FAILED\";\r\nconst CLEAR_ACCOUNT_INFO = \"CLEAR_ACCOUNT_INFO\";\r\nconst SET_FULL_ARREARS = \"SET_FULL_ARREARS\";\r\n\r\nconst actions = {\r\n GET_CLIENT_DATA_START,\r\n GET_CLIENT_DATA_FAILED,\r\n GET_CLIENT_DATA_SUCCESS,\r\n SET_ACCOUNT_ID,\r\n SET_ARREARS_AMOUNT,\r\n SET_INELIGIBLE,\r\n GET_ACCOUNT_TRANSACTIONS_START,\r\n GET_ACCOUNT_TRANSACTIONS_SUCCESS,\r\n GET_ACCOUNT_TRANSACTIONS_FAILED,\r\n CLEAR_ACCOUNT_INFO,\r\n SET_FULL_ARREARS,\r\n setFullArrears: createEmptyAction(SET_FULL_ARREARS),\r\n clearAccountInfo: createEmptyAction(CLEAR_ACCOUNT_INFO),\r\n getClientData: createEmptyAction(GET_CLIENT_DATA_START),\r\n getClientDataFailed: createEmptyAction(GET_CLIENT_DATA_FAILED),\r\n getClientDataSuccess: createPayloadAction(GET_CLIENT_DATA_SUCCESS),\r\n setAccountId: createPayloadAction(SET_ACCOUNT_ID),\r\n setArrearsAmount: createPayloadAction(SET_ARREARS_AMOUNT),\r\n setIneligible: createPayloadAction(SET_INELIGIBLE),\r\n getTransactionsStart: createPayloadAction(GET_ACCOUNT_TRANSACTIONS_START),\r\n getTransactionsSuccess: createPayloadAction(GET_ACCOUNT_TRANSACTIONS_SUCCESS),\r\n getTransactionsFailed: createEmptyAction(GET_ACCOUNT_TRANSACTIONS_FAILED),\r\n};\r\n\r\nexport default actions;\r\n","import { useEffect } from \"react\";\r\n\r\nexport default (onMountFunc) => {\r\n useEffect(() => {\r\n onMountFunc();\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n}","import { useRef, useState } from \"react\";\r\nimport { useOnDismount, useOnMount } from \"./index\";\r\n\r\nconst focusEventName = \"focus\";\r\nconst blurEventName = \"blur\";\r\n\r\nconst useFocus = (defaultState = false, customRef = undefined) => {\r\n const defaultRef = useRef();\r\n const ref = customRef || defaultRef;\r\n const [state, setState] = useState(defaultState);\r\n\r\n const onFocus = () => setState(true);\r\n const onBlur = () => setState(false);\r\n\r\n useOnMount(() => {\r\n ref.current.addEventListener(focusEventName, onFocus);\r\n ref.current.addEventListener(blurEventName, onBlur);\r\n });\r\n \r\n useOnDismount(() => {\r\n ref.current.removeEventListener(focusEventName, onFocus);\r\n ref.current.removeEventListener(blurEventName, onBlur);\r\n });\r\n \r\n return [state, ref];\r\n};\r\n\r\nexport default useFocus;","import { createEmptyAction, createPayloadAction } from \"../utility/actions\";\r\n\r\nconst GET_HELP_CONTENT_DATA_START = \"GET_HELP_CONTENT_DATA_START\";\r\nconst GET_HELP_CONTENT_DATA_FAILED = \"GET_HELP_CONTENT_DATA_FAILED\";\r\nconst GET_HELP_CONTENT_DATA_SUCCESS = \"GET_HELP_CONTENT_DATA_SUCCESS\";\r\nconst GET_BANNER_CONTENT_DATA_START = \"GET_BANNER_CONTENT_DATA_START\";\r\nconst GET_BANNER_CONTENT_DATA_FAILED = \"GET_BANNER_CONTENT_DATA_FAILED\";\r\nconst GET_BANNER_CONTENT_DATA_SUCCESS = \"GET_BANNER_CONTENT_DATA_SUCCESS\";\r\nconst GET_ACCOUNT_NOTIFICATIONS_DATA_START = \"GET_ACCOUNT_NOTIFICATIONS_DATA_START\";\r\nconst GET_ACCOUNT_NOTIFICATIONS_DATA_FAILED = \"GET_ACCOUNT_NOTIFICATIONS_DATA_FAILED\";\r\nconst GET_ACCOUNT_NOTIFICATIONS_DATA_SUCCESS = \"GET_ACCOUNT_NOTIFICATIONS_DATA_SUCCESS\";\r\n\r\nconst actions = {\r\n GET_HELP_CONTENT_DATA_START,\r\n GET_HELP_CONTENT_DATA_FAILED,\r\n GET_HELP_CONTENT_DATA_SUCCESS,\r\n GET_BANNER_CONTENT_DATA_START,\r\n GET_BANNER_CONTENT_DATA_FAILED,\r\n GET_BANNER_CONTENT_DATA_SUCCESS,\r\n GET_ACCOUNT_NOTIFICATIONS_DATA_START,\r\n GET_ACCOUNT_NOTIFICATIONS_DATA_FAILED,\r\n GET_ACCOUNT_NOTIFICATIONS_DATA_SUCCESS,\r\n getHelpContentData: createEmptyAction(GET_HELP_CONTENT_DATA_START),\r\n getHelpContentDataFailed: createEmptyAction(GET_HELP_CONTENT_DATA_FAILED),\r\n getHelpContentDataSuccess: createPayloadAction(GET_HELP_CONTENT_DATA_SUCCESS),\r\n getBannerContentData: createEmptyAction(GET_BANNER_CONTENT_DATA_START),\r\n getBannerContentDataFailed: createEmptyAction(GET_BANNER_CONTENT_DATA_FAILED),\r\n getBannerContentDataSuccess: createPayloadAction(GET_BANNER_CONTENT_DATA_SUCCESS),\r\n getAccountNotificationsData: createEmptyAction(GET_ACCOUNT_NOTIFICATIONS_DATA_START),\r\n getAccountNotificationsDataFailed: createEmptyAction(GET_ACCOUNT_NOTIFICATIONS_DATA_FAILED),\r\n getAccountNotificationsDataSuccess: createPayloadAction(GET_ACCOUNT_NOTIFICATIONS_DATA_SUCCESS),\r\n};\r\n\r\nexport default actions;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nconst Wrapper = styled.div(({ theme }) => css`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n position: absolute;\r\n z-index: 10000000000;\r\n top: 0;\r\n right: 0;\r\n\r\n @media only screen and (min-width: 768px) and (max-width: 1220px) {\r\n width: calc(100% - 80px);\r\n }\r\n\r\n @media only screen and (max-width: 767px) {\r\n width: 100%;\r\n }\r\n\r\n .message {\r\n font-size: 16px;\r\n font-weight: ${theme.fonts.headingWeight};\r\n padding-bottom: 8px;\r\n color: ${theme.palette.text.body};\r\n }\r\n`);\r\n\r\nexport default Wrapper;\r\n","import React from \"react\";\r\nimport LoaderComponent from \"./loader.style\";\r\nimport { Spinner } from \"./components\";\r\n\r\nexport default function Loader({ ...props }) {\r\n const { type, message, loading } = props;\r\n\r\n return (\r\n loading !== false && (\r\n \r\n {message && {message}}\r\n \r\n \r\n )\r\n );\r\n}\r\n","import { getUnixTime } from \"date-fns\";\r\nimport { getNow } from \"../../constants/now\";\r\n\r\nconst createTokenFromUser = (user) => {\r\n const { access_token, id_token } = user;\r\n return { access_token, id_token };\r\n}\r\n\r\nconst hasTokenExpired = (user) => {\r\n const { expires_at: expiresAt } = user;\r\n const nowEpoch = getUnixTime(getNow());\r\n\r\n return nowEpoch > expiresAt;\r\n}\r\n\r\nexport const getTokens = async ({ getUser, signinSilent } = {}) => {\r\n const user = await getUser();\r\n\r\n if (hasTokenExpired(user)) {\r\n const newUser = await signinSilent();\r\n return createTokenFromUser(newUser);\r\n }\r\n\r\n return createTokenFromUser(user);\r\n};","export const getNow = () => Date.now();","import { createEmptyAction, createPayloadAction } from \"../utility/actions\";\r\n\r\nconst POST_APPLICATION = \"POST_APPLICATION\";\r\nconst MERGE_INITIAL_FIELD_VALUE = \"MERGE_INITIAL_FIELD_VALUE\";\r\nconst REMOVE_PENDING_FIELD = \"REMOVE_PENDING_FIELD\";\r\nconst RESET_FORM = \"RESET_FORM\";\r\nconst SET_BREADCRUMB_STEP = \"SET_BREADCRUMB_STEP\";\r\nconst POST_LOAN_FORM_START = \"POST_LOAN_FORM_START\";\r\nconst POST_LOAN_FORM_SUCCESS = \"POST_LOAN_FORM_SUCCESS\";\r\nconst POST_LOAN_FORM_ERROR = \"POST_LOAN_FORM_ERROR\";\r\nconst CLEAR_ERROR = \"CLEAR_ERROR\";\r\nconst PAGE_SUBMITTED = \"PAGE_SUBMITTED\";\r\n\r\nconst actions = {\r\n POST_APPLICATION,\r\n MERGE_INITIAL_FIELD_VALUE,\r\n REMOVE_PENDING_FIELD,\r\n RESET_FORM,\r\n SET_BREADCRUMB_STEP,\r\n POST_LOAN_FORM_START,\r\n POST_LOAN_FORM_SUCCESS,\r\n POST_LOAN_FORM_ERROR,\r\n CLEAR_ERROR,\r\n PAGE_SUBMITTED,\r\n postRequest: createPayloadAction(POST_APPLICATION),\r\n postLoanFormStart: createEmptyAction(POST_LOAN_FORM_START),\r\n postLoanFormSuccess: createEmptyAction(POST_LOAN_FORM_SUCCESS),\r\n postLoanFormError: createPayloadAction(POST_LOAN_FORM_ERROR),\r\n setFieldInitialValue: createPayloadAction(MERGE_INITIAL_FIELD_VALUE),\r\n removePendingField: createPayloadAction(REMOVE_PENDING_FIELD),\r\n resetForm: createEmptyAction(RESET_FORM),\r\n setBreadcrumbStep: createPayloadAction(SET_BREADCRUMB_STEP),\r\n clearError: createEmptyAction(CLEAR_ERROR),\r\n pageSubmitted: createEmptyAction(PAGE_SUBMITTED),\r\n};\r\n\r\nexport default actions;\r\n","export * from './theme.config'","import { createEmptyAction, createPayloadAction } from \"../utility/actions\";\r\n\r\nconst MANAGE_REPAYMENT_POST_APPLICATION = \"MANAGE_REPAYMENT_POST_APPLICATION\";\r\nconst MANAGE_REPAYMENT_MERGE_INITIAL_FIELD_VALUE = \"MANAGE_REPAYMENT_MERGE_INITIAL_FIELD_VALUE\";\r\nconst MANAGE_REPAYMENT_REMOVE_PENDING_FIELD = \"MANAGE_REPAYMENT_REMOVE_PENDING_FIELD\";\r\nconst MANAGE_REPAYMENT_RESET_FORM = \"MANAGE_REPAYMENT_RESET_FORM\";\r\nconst MANAGE_REPAYMENT_POST_LOAN_FORM_START = \"MANAGE_REPAYMENT_POST_LOAN_FORM_START\";\r\nconst MANAGE_REPAYMENT_POST_LOAN_FORM_SUCCESS = \"MANAGE_REPAYMENT_POST_LOAN_FORM_SUCCESS\";\r\nconst MANAGE_REPAYMENT_POST_LOAN_FORM_ERROR = \"MANAGE_REPAYMENT_POST_LOAN_FORM_ERROR\";\r\nconst MANAGE_REPAYMENT_CLEAR_ERROR = \"MANAGE_REPAYMENT_CLEAR_ERROR\";\r\nconst MANAGE_REPAYMENT_VALIDATE_FORM = \"MANAGE_REPAYMENT_VALIDATE_FORM\";\r\nconst MANAGE_REPAYMENT_INVALIDATE_FORM = \"MANAGE_REPAYMENT_INVALIDATE_FORM\";\r\n\r\nconst actions = {\r\n MANAGE_REPAYMENT_POST_APPLICATION,\r\n MANAGE_REPAYMENT_MERGE_INITIAL_FIELD_VALUE,\r\n MANAGE_REPAYMENT_REMOVE_PENDING_FIELD,\r\n MANAGE_REPAYMENT_RESET_FORM,\r\n MANAGE_REPAYMENT_POST_LOAN_FORM_START,\r\n MANAGE_REPAYMENT_POST_LOAN_FORM_SUCCESS,\r\n MANAGE_REPAYMENT_POST_LOAN_FORM_ERROR,\r\n MANAGE_REPAYMENT_CLEAR_ERROR,\r\n MANAGE_REPAYMENT_VALIDATE_FORM,\r\n MANAGE_REPAYMENT_INVALIDATE_FORM,\r\n markFormAsValid: createEmptyAction(MANAGE_REPAYMENT_VALIDATE_FORM),\r\n markFormAsInvalid: createEmptyAction(MANAGE_REPAYMENT_INVALIDATE_FORM),\r\n postRequest: createPayloadAction(MANAGE_REPAYMENT_POST_APPLICATION),\r\n postLoanFormStart: createEmptyAction(MANAGE_REPAYMENT_POST_LOAN_FORM_START),\r\n postLoanFormSuccess: createEmptyAction(MANAGE_REPAYMENT_POST_LOAN_FORM_SUCCESS),\r\n postLoanFormError: createPayloadAction(MANAGE_REPAYMENT_POST_LOAN_FORM_ERROR),\r\n setFieldInitialValue: createPayloadAction(MANAGE_REPAYMENT_MERGE_INITIAL_FIELD_VALUE),\r\n removePendingField: createPayloadAction(MANAGE_REPAYMENT_REMOVE_PENDING_FIELD),\r\n resetForm: createEmptyAction(MANAGE_REPAYMENT_RESET_FORM),\r\n clearError: createEmptyAction(MANAGE_REPAYMENT_CLEAR_ERROR),\r\n};\r\n\r\nexport default actions;\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Loader from \"./index\";\r\nimport { APP_STATE } from \"../../constants/commonConstants\";\r\nimport { loadingBrand } from \"@theme/config\";\r\n\r\nexport const LoadingStubber = ({children}) => {\r\n const themeName = useSelector(state => state.StartUp.brand.themeName);\r\n const { appState } = useSelector(state => state.Client);\r\n\r\n if (themeName === loadingBrand.themeName || appState === APP_STATE.LOADING) {\r\n return ;\r\n }\r\n\r\n return <>{children};\r\n};","import Loader from './loader';\r\nexport default Loader;\r\nexport * from \"./loadingStubber\";\r\nexport * from \"./components/spinner\";","import styled, { css } from \"styled-components\";\r\n\r\nconst Wrapper = styled.div(({ theme }) => css`\r\n display: flex;\r\n justify-content: space-between;\r\n width: 100%;\r\n\r\n .dashboard-content-group {\r\n margin: none;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n margin: 0 10px;\r\n }\r\n }\r\n\r\n .desktop-nav-left, .desktop-nav-right {\r\n display: none;\r\n height: 100vh;\r\n background: ${theme.palette.header.background};\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.M}) {\r\n display: block;\r\n }\r\n }\r\n\r\n .nav-left-desktop {\r\n display: none;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n }\r\n\r\n .nav-right-desktop {\r\n display: none;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n }\r\n`);\r\n\r\nexport default Wrapper;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css` \r\n\r\n &.show {\r\n .background {\r\n opacity: 0.6;\r\n z-index: 100;\r\n }\r\n \r\n .sidebar{\r\n display: block;\r\n left: 0;\r\n }\r\n }\r\n \r\n .footer-group {\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n }\r\n\r\n .sidebar{\r\n top: 60px;\r\n height: 100vh;\r\n background: ${theme.palette.header.background};\r\n width: 100%;\r\n position: fixed;\r\n z-index: 100;\r\n left: -100%;\r\n transition: left 0.25s linear;\r\n\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n .left-container {\r\n margin-left: 40px;\r\n }\r\n\r\n .left-container span {\r\n font-size: 16px;\r\n font-weight: ${theme.fonts.headingWeight};\r\n margin-right: 10px;\r\n }\r\n\r\n .left-container svg:first-child {\r\n margin: 0px 10px 0px 20px;\r\n }\r\n\r\n .right-container a svg,\r\n .right-container button svg {\r\n margin-right: 20px;\r\n }\r\n\r\n .right-container button {\r\n background: transparent;\r\n border: 0px;\r\n }\r\n\r\n .more-options {\r\n background-color: ${theme.palette.main.border};\r\n }\r\n\r\n .more-options svg {\r\n margin-left: 40px;\r\n margin-top: 15px;\r\n }\r\n\r\n .more-options div:last-child {\r\n padding-bottom: 15px;\r\n }\r\n\r\n .more-options span {\r\n margin-left: 10px;\r\n color: ${theme.palette.main.white};\r\n }\r\n }\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: none;\r\n \r\n .background, \r\n .sidebar {\r\n display: none;\r\n }\r\n \r\n &.show {\r\n .background {\r\n display: none;\r\n }\r\n \r\n .sidebar{\r\n display: none;\r\n }\r\n }\r\n }\r\n`);\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n margin: 30px 0px;\r\n\r\n .label-desktop {\r\n width: 0;\r\n display: none;\r\n z-index: 1;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: block;\r\n }\r\n }\r\n\r\n .label-mobile {\r\n display: block;\r\n padding: 0 20px;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: none;\r\n }\r\n }\r\n \r\n .nav-svg {\r\n position: relative;\r\n z-index: 2;\r\n background: ${theme.palette.header.background};\r\n padding: ${(props) =>\r\n props.justifyAttribute === \"left\"\r\n ? \"0px 0px 0px 17px\"\r\n : \"0px 17px 0px 0px\"};\r\n\r\n .fill {\r\n fill: ${theme.palette.header.icon};\r\n transition: fill 0.35s ease;\r\n }\r\n }\r\n\r\n .link-container {\r\n display: flex;\r\n flex-direction: ${(props) =>\r\n props.justifyAttribute === \"left\" ? \"row\" : \"row-reverse\"};\r\n align-items: center;\r\n justify-content: ${(props) =>\r\n props.justifyAttribute === \"left\" ? \"flex-start\" : \"end\"};\r\n text-decoration: none;\r\n margin-bottom: 15px;\r\n overflow: hidden;\r\n\r\n p {\r\n color: ${theme.palette.header.color};\r\n font-weight: ${theme.fonts.headingWeight};\r\n margin: ${(props) =>\r\n props.justifyAttribute === \"left\" ? \"0 0 0 10px\" : \"0 10px 0 0\"};\r\n transition: 0.15s color linear;\r\n word-break: normal;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-align: ${(props) =>\r\n props.justifyAttribute === \"left\" ? \"left\" : \"right\"};\r\n }\r\n\r\n @media (hover: hover) {\r\n &:hover {\r\n p {\r\n color: ${theme.palette.header.active};\r\n }\r\n\r\n .nav-svg .fill {\r\n fill: ${theme.palette.header.iconActive};\r\n }\r\n }\r\n }\r\n\r\n\r\n &.active {\r\n p {\r\n color: ${theme.palette.header.active};\r\n }\r\n\r\n .nav-svg .fill {\r\n fill: ${theme.palette.header.iconActive};\r\n }\r\n }\r\n }\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n .link {\r\n text-decoration: none;\r\n }\r\n .link-container {\r\n p {\r\n color: ${theme.palette.header.color};\r\n }\r\n }\r\n }\r\n`);\r\n","import {\r\n faSignOutAlt,\r\n faQuestionCircle,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport {\r\n faCreditCard,\r\n faCalendarAlt,\r\n faBookmark,\r\n faEdit,\r\n faFolderOpen,\r\n faEnvelopeOpen,\r\n} from \"@fortawesome/free-regular-svg-icons\";\r\nimport { PRIVATE_ROUTE, PUBLIC_ROUTE } from \"../../route.constants\";\r\n\r\nexport const menuListLeft = (isManageRepaymentsEnabled) => {\r\n return [\r\n { label: \"Dashboard\", link: PRIVATE_ROUTE.LANDING, icon: faBookmark, side: \"left\" },\r\n {\r\n label: \"Loan History\",\r\n link: PRIVATE_ROUTE.LOAN_HISTORY,\r\n icon: faCalendarAlt,\r\n side: \"left\"\r\n },\r\n { label: \"Apply\", link: PRIVATE_ROUTE.APPLY_NOW_MENU, icon: faFolderOpen, side: \"left\" },\r\n {\r\n label: \"Manage Repayments\",\r\n link: PRIVATE_ROUTE.MANAGE_REPAYMENTS,\r\n disabled: !isManageRepaymentsEnabled,\r\n icon: faEdit,\r\n side: \"left\"\r\n },\r\n { label: \"Pay Online\", link: PRIVATE_ROUTE.PAYMENT, icon: faCreditCard, side: \"left\" },\r\n ]\r\n};\r\n\r\nexport const menuListRight = [\r\n { label: \"Notifications\", link: PRIVATE_ROUTE.LANDING, icon: faEnvelopeOpen, side: \"right\" },\r\n { label: \"Help\", link: PRIVATE_ROUTE.HELP, icon: faQuestionCircle, side: \"right\" },\r\n { label: \"Logout\", link: PUBLIC_ROUTE.LOG_OUT, icon: faSignOutAlt, side: \"right\" },\r\n];\r\n","export const handleExpandLabel = (\r\n side,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded\r\n) => {\r\n if (side === \"left\") {\r\n setIsLeftExpanded(true);\r\n } else {\r\n setIsRightExpanded(true);\r\n }\r\n const apiLabel = side === \"left\" ? apiLabelLeft : apiLabelRight;\r\n const translateValue = side === \"left\" ? \"-250px\" : \"250px\";\r\n apiLabel.start({\r\n from: {\r\n width: 0,\r\n transform: `translateX(${translateValue})`,\r\n },\r\n to: {\r\n width: 200,\r\n transform: `translateX(0px)`,\r\n },\r\n });\r\n};\r\n\r\nexport const handleMinimiseLabel = (\r\n side,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded\r\n) => {\r\n if (side === \"left\") {\r\n setIsLeftExpanded(false);\r\n } else {\r\n setIsRightExpanded(false);\r\n }\r\n const apiLabel = side === \"left\" ? apiLabelLeft : apiLabelRight;\r\n const translateValue = side === \"left\" ? \"-250px\" : \"250px\";\r\n apiLabel.start({\r\n from: {\r\n width: 200,\r\n transform: \"translateX(0px)\",\r\n },\r\n to: {\r\n width: 0,\r\n transform: `translateX(${translateValue})`,\r\n },\r\n });\r\n};\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M5.6086 13.9919H3.95271C3.80354 14.0094 3.66597 14.081 3.56613 14.1932C3.46629 14.3053 3.41113 14.4503 3.41113 14.6005C3.41113 14.7507 3.46629 14.8956 3.56613 15.0078C3.66597 15.12 3.80354 15.1916 3.95271 15.209H5.6086C5.69447 15.219 5.7815 15.2108 5.86395 15.1848C5.94641 15.1588 6.02243 15.1156 6.08701 15.0581C6.1516 15.0007 6.20329 14.9302 6.23868 14.8513C6.27408 14.7724 6.29238 14.6869 6.29238 14.6005C6.29238 14.514 6.27408 14.4285 6.23868 14.3497C6.20329 14.2708 6.1516 14.2003 6.08701 14.1428C6.02243 14.0853 5.94641 14.0422 5.86395 14.0162C5.7815 13.9902 5.69447 13.9819 5.6086 13.9919Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M6.56807 11.6415L5.16056 10.8136C5.02113 10.7334 4.85556 10.712 4.70029 10.7539C4.54502 10.7958 4.41277 10.8977 4.33262 11.0371C4.25247 11.1766 4.231 11.3421 4.27292 11.4974C4.31484 11.6527 4.41673 11.7849 4.55616 11.8651L5.95539 12.693C6.04798 12.7482 6.15395 12.7768 6.26173 12.7758C6.36915 12.7757 6.47466 12.7473 6.56766 12.6935C6.66067 12.6398 6.7379 12.5625 6.79161 12.4695C6.83156 12.4005 6.85748 12.3243 6.86786 12.2453C6.87825 12.1662 6.8729 12.0859 6.85212 12.009C6.83134 11.932 6.79555 11.8599 6.7468 11.7969C6.69805 11.7338 6.6373 11.681 6.56807 11.6415Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M7.7568 8.67647C7.67549 8.53829 7.54325 8.43749 7.38846 8.39569C7.23367 8.3539 7.06866 8.37445 6.92885 8.45293C6.85947 8.4923 6.7987 8.5452 6.75014 8.60849C6.70157 8.67178 6.66621 8.74417 6.64613 8.82138C6.62606 8.89859 6.62169 8.97904 6.63327 9.05797C6.64486 9.13689 6.67217 9.21269 6.71359 9.28087L7.54153 10.6884C7.59454 10.7802 7.67046 10.8567 7.76189 10.9104C7.85332 10.9641 7.95712 10.9932 8.06314 10.9947C8.17036 10.9917 8.27534 10.9633 8.36947 10.9119C8.50606 10.8291 8.6055 10.6969 8.64713 10.5427C8.68876 10.3885 8.66938 10.2242 8.59302 10.084L7.7568 8.67647Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M10.4785 10.3407C10.5586 10.3407 10.6378 10.3248 10.7117 10.2939C10.7856 10.2631 10.8526 10.2178 10.9088 10.1608C10.965 10.1038 11.0094 10.0362 11.0393 9.96189C11.0692 9.88761 11.084 9.80812 11.0829 9.72806V8.07217C11.0829 7.91188 11.0192 7.75814 10.9059 7.6448C10.7925 7.53145 10.6388 7.46777 10.4785 7.46777C10.3182 7.46777 10.1645 7.53145 10.0511 7.6448C9.93776 7.75814 9.87408 7.91188 9.87408 8.07217V9.72806C9.87298 9.80812 9.88781 9.88761 9.91769 9.96189C9.94757 10.0362 9.99192 10.1038 10.0481 10.1608C10.1044 10.2178 10.1714 10.2631 10.2453 10.2939C10.3191 10.3248 10.3984 10.3407 10.4785 10.3407Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M16.4006 11.8813C16.4697 11.8411 16.5301 11.7876 16.5785 11.724C16.6269 11.6605 16.6623 11.588 16.6827 11.5107C16.703 11.4334 16.708 11.3529 16.6972 11.2737C16.6865 11.1945 16.6603 11.1183 16.62 11.0492C16.5798 10.9802 16.5264 10.9197 16.4628 10.8713C16.3992 10.8229 16.3267 10.7876 16.2494 10.7672C16.1722 10.7468 16.0916 10.7419 16.0125 10.7526C15.9333 10.7633 15.857 10.7896 15.788 10.8298L14.3887 11.6578C14.2729 11.725 14.1822 11.8283 14.1307 11.952C14.0791 12.0756 14.0695 12.2127 14.1033 12.3424C14.1372 12.472 14.2125 12.5869 14.3179 12.6697C14.4233 12.7524 14.5528 12.7983 14.6868 12.8003C14.794 12.7973 14.899 12.7689 14.9931 12.7175L16.4006 11.8813Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M16.9649 13.9927H15.309C15.2294 13.9916 15.1503 14.0065 15.0764 14.0365C15.0026 14.0665 14.9355 14.1109 14.8792 14.1673C14.8228 14.2236 14.7784 14.2907 14.7484 14.3645C14.7184 14.4384 14.7035 14.5175 14.7046 14.5971C14.7036 14.6772 14.7184 14.7567 14.7483 14.831C14.7781 14.9053 14.8225 14.9729 14.8787 15.0299C14.935 15.0869 15.002 15.1321 15.0758 15.163C15.1497 15.1939 15.229 15.2098 15.309 15.2098H16.9649C17.126 15.2076 17.2797 15.1421 17.3928 15.0275C17.5059 14.9128 17.5693 14.7582 17.5693 14.5971C17.5693 14.4368 17.5057 14.2831 17.3923 14.1698C17.279 14.0564 17.1252 13.9927 16.9649 13.9927Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M13.3749 9.2735L9.83126 12.8088C9.48883 13.1911 9.28728 13.679 9.25998 14.1915V14.5972C9.25244 14.701 9.27042 14.8051 9.31237 14.9003C9.35432 14.9956 9.41895 15.0791 9.50062 15.1436C9.58229 15.2081 9.67852 15.2517 9.78089 15.2704C9.88327 15.2892 9.98868 15.2826 10.0879 15.2513L10.5267 15.1602C10.7651 15.0991 10.9869 14.9857 11.176 14.8282C11.365 14.6706 11.5166 14.4729 11.6196 14.2494L13.5736 9.38114C13.5864 9.36297 13.5933 9.34128 13.5933 9.31904C13.5933 9.2968 13.5864 9.27511 13.5736 9.25695C13.5714 9.2306 13.5588 9.2062 13.5386 9.18912C13.5184 9.17204 13.4923 9.16368 13.4659 9.16587C13.4396 9.16807 13.4152 9.18064 13.3981 9.20083C13.381 9.22101 13.3727 9.24715 13.3749 9.2735Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M2.97322 19.8706H17.9755C18.2952 19.8706 18.6117 19.8077 18.9071 19.6853C19.2024 19.563 19.4707 19.3837 19.6967 19.1577C19.9228 18.9317 20.1021 18.6633 20.2244 18.368C20.3467 18.0727 20.4097 17.7561 20.4097 17.4365V2.43415C20.4097 2.1145 20.3467 1.79797 20.2244 1.50264C20.1021 1.20732 19.9228 0.938979 19.6967 0.712947C19.4707 0.486915 19.2024 0.307616 18.9071 0.185289C18.6117 0.0629612 18.2952 0 17.9755 0L2.97322 0C2.32764 0 1.7085 0.256455 1.25201 0.712947C0.795517 1.16944 0.539063 1.78858 0.539062 2.43415L0.539063 17.4365C0.539063 17.7561 0.602024 18.0727 0.724351 18.368C0.846679 18.6633 1.02598 18.9317 1.25201 19.1577C1.47804 19.3837 1.74638 19.563 2.04171 19.6853C2.33703 19.8077 2.65356 19.8706 2.97322 19.8706ZM10.8884 2.43415C10.8884 2.5979 10.8398 2.75798 10.7488 2.89413C10.6578 3.03029 10.5285 3.13641 10.3772 3.19907C10.226 3.26174 10.0595 3.27813 9.89888 3.24619C9.73828 3.21424 9.59075 3.13539 9.47496 3.0196C9.35917 2.90381 9.28032 2.75628 9.24837 2.59568C9.21643 2.43507 9.23282 2.2686 9.29549 2.11731C9.35815 1.96603 9.46427 1.83672 9.60043 1.74574C9.73658 1.65477 9.89666 1.60621 10.0604 1.60621C10.28 1.60621 10.4906 1.69344 10.6459 1.84871C10.8011 2.00398 10.8884 2.21457 10.8884 2.43415ZM7.99055 2.43415C7.99055 2.5979 7.94199 2.75798 7.85102 2.89413C7.76004 3.03029 7.63073 3.13641 7.47945 3.19907C7.32816 3.26174 7.16169 3.27813 7.00108 3.24619C6.84048 3.21424 6.69295 3.13539 6.57716 3.0196C6.46137 2.90381 6.38252 2.75628 6.35057 2.59568C6.31863 2.43507 6.33502 2.2686 6.39769 2.11731C6.46035 1.96603 6.56647 1.83672 6.70263 1.74574C6.83878 1.65477 6.99886 1.60621 7.16261 1.60621C7.38219 1.60621 7.59278 1.69344 7.74805 1.84871C7.90332 2.00398 7.99055 2.21457 7.99055 2.43415ZM5.09275 2.43415C5.09275 2.5979 5.04419 2.75798 4.95322 2.89413C4.86224 3.03029 4.73293 3.13641 4.58165 3.19907C4.43036 3.26174 4.26389 3.27813 4.10328 3.24619C3.94268 3.21424 3.79515 3.13539 3.67936 3.0196C3.56357 2.90381 3.48472 2.75628 3.45277 2.59568C3.42083 2.43507 3.43722 2.2686 3.49989 2.11731C3.56255 1.96603 3.66867 1.83672 3.80483 1.74574C3.94098 1.65477 4.10105 1.60621 4.26481 1.60621C4.48439 1.60621 4.69498 1.69344 4.85025 1.84871C5.00552 2.00398 5.09275 2.21457 5.09275 2.43415ZM17.9755 18.2147H2.97322C2.75363 18.2147 2.54304 18.1275 2.38777 17.9722C2.2325 17.817 2.14527 17.6064 2.14527 17.3868V5.48926C2.14527 5.26968 2.2325 5.05909 2.38777 4.90382C2.54304 4.74855 2.75363 4.66132 2.97322 4.66132H17.9259C18.1455 4.66132 18.356 4.74855 18.5113 4.90382C18.6666 5.05909 18.7538 5.26968 18.7538 5.48926V17.4365C18.742 17.639 18.6562 17.8302 18.5127 17.9737C18.3692 18.1171 18.1781 18.2029 17.9755 18.2147Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationDashboard(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 20,\n viewBox: \"0 0 21 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationDashboard);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-dashboard.65885c29.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M5.08478 6.41663C5.54204 6.41663 5.91272 6.04594 5.91272 5.58869C5.91272 5.13143 5.54204 4.76074 5.08478 4.76074C4.62752 4.76074 4.25684 5.13143 4.25684 5.58869C4.25684 6.04594 4.62752 6.41663 5.08478 6.41663Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M8.39679 6.41663C8.85406 6.41663 9.22473 6.04594 9.22473 5.58869C9.22473 5.13143 8.85406 4.76074 8.39679 4.76074C7.93953 4.76074 7.56885 5.13143 7.56885 5.58869C7.56885 6.04594 7.93953 6.41663 8.39679 6.41663Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M11.7083 6.41663C12.1656 6.41663 12.5363 6.04594 12.5363 5.58869C12.5363 5.13143 12.1656 4.76074 11.7083 4.76074C11.251 4.76074 10.8804 5.13143 10.8804 5.58869C10.8804 6.04594 11.251 6.41663 11.7083 6.41663Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M5.08478 9.31458C5.54204 9.31458 5.91272 8.94391 5.91272 8.48663C5.91272 8.02938 5.54204 7.65869 5.08478 7.65869C4.62752 7.65869 4.25684 8.02938 4.25684 8.48663C4.25684 8.94391 4.62752 9.31458 5.08478 9.31458Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M8.39679 9.31458C8.85406 9.31458 9.22473 8.94391 9.22473 8.48663C9.22473 8.02938 8.85406 7.65869 8.39679 7.65869C7.93953 7.65869 7.56885 8.02938 7.56885 8.48663C7.56885 8.94391 7.93953 9.31458 8.39679 9.31458Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M5.08478 12.212C5.54204 12.212 5.91272 11.8414 5.91272 11.3841C5.91272 10.9268 5.54204 10.5562 5.08478 10.5562C4.62752 10.5562 4.25684 10.9268 4.25684 11.3841C4.25684 11.8414 4.62752 12.212 5.08478 12.212Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M4.87793 3.31177H10.2596V1.65589H6.32683C6.27194 1.65589 6.21929 1.63408 6.18047 1.59526C6.14165 1.55644 6.11984 1.50379 6.11984 1.4489V0.620957C6.11984 0.45627 6.05442 0.298326 5.93797 0.181874C5.82152 0.0654221 5.66357 0 5.49889 0C5.3342 0 5.17625 0.0654221 5.0598 0.181874C4.94335 0.298326 4.87793 0.45627 4.87793 0.620957V3.31177Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M2.60111 13.6609C2.49131 13.6609 2.38602 13.6173 2.30839 13.5397C2.23075 13.4621 2.18714 13.3567 2.18714 13.247V3.72562C2.18714 3.61583 2.23075 3.51053 2.30839 3.4329C2.38602 3.35526 2.49131 3.31165 2.60111 3.31165H3.63604V1.65576H1.35919C1.13961 1.65576 0.929019 1.74299 0.773749 1.89826C0.61848 2.05353 0.53125 2.26412 0.53125 2.4837V13.6609C0.53125 14.1001 0.705709 14.5213 1.01625 14.8318C1.32679 15.1424 1.74797 15.3168 2.18714 15.3168H8.45467C8.38014 14.7674 8.38014 14.2104 8.45467 13.6609H2.60111Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M11.5015 3.31177H13.7783C13.8881 3.31177 13.9934 3.35539 14.0711 3.43302C14.1486 3.51065 14.1923 3.61595 14.1923 3.72574V7.92342C14.7417 7.84889 15.2987 7.84889 15.8482 7.92342V2.48383C15.8482 2.26424 15.7609 2.05365 15.6057 1.89838C15.4504 1.74312 15.2398 1.65589 15.0202 1.65589H12.9504C12.8955 1.65589 12.8428 1.63408 12.804 1.59526C12.7652 1.55644 12.7434 1.50379 12.7434 1.4489V0.620957C12.7434 0.45627 12.678 0.298326 12.5615 0.181874C12.4451 0.0654221 12.2871 0 12.1224 0C11.9577 0 11.7998 0.0654221 11.6834 0.181874C11.5669 0.298326 11.5015 0.45627 11.5015 0.620957V3.31177Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M15.0203 9.10742C13.9559 9.10742 12.9154 9.42303 12.0304 10.0144C11.1454 10.6058 10.4557 11.4462 10.0483 12.4296C9.64099 13.413 9.53443 14.495 9.74208 15.539C9.94973 16.5829 10.4623 17.5418 11.2149 18.2944C11.9675 19.047 12.9264 19.5596 13.9704 19.7673C15.0143 19.9749 16.0964 19.8684 17.0797 19.461C18.0632 19.0537 18.9036 18.3639 19.495 17.4789C20.0863 16.5939 20.4019 15.5535 20.4019 14.4891C20.4019 13.0618 19.835 11.6929 18.8257 10.6837C17.8164 9.6744 16.4476 9.10742 15.0203 9.10742ZM15.0203 18.2148C14.2834 18.2148 13.5631 17.9963 12.9504 17.5869C12.3377 17.1775 11.8601 16.5956 11.5781 15.9149C11.2961 15.234 11.2224 14.4849 11.3662 13.7622C11.5099 13.0395 11.8648 12.3756 12.3858 11.8545C12.9069 11.3335 13.5707 10.9787 14.2935 10.8349C15.0162 10.6911 15.7653 10.7649 16.4461 11.0469C17.1268 11.3289 17.7087 11.8064 18.1181 12.4191C18.5276 13.0319 18.746 13.7522 18.746 14.4891C18.7471 14.9786 18.6515 15.4636 18.4646 15.9161C18.2778 16.3686 18.0035 16.7798 17.6572 17.126C17.3111 17.4721 16.8999 17.7466 16.4473 17.9334C15.9949 18.1202 15.5099 18.2159 15.0203 18.2148Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M16.6763 13.8682H15.6413V12.4193C15.6413 12.2546 15.5759 12.0966 15.4594 11.9802C15.343 11.8637 15.185 11.7983 15.0204 11.7983C14.8557 11.7983 14.6977 11.8637 14.5813 11.9802C14.4648 12.0966 14.3994 12.2546 14.3994 12.4193V14.4892C14.4016 14.6532 14.4676 14.8099 14.5836 14.9259C14.6996 15.0419 14.8564 15.108 15.0204 15.1101H16.6763C16.8409 15.1101 16.9989 15.0447 17.1153 14.9282C17.2318 14.8118 17.2972 14.6538 17.2972 14.4892C17.2972 14.3245 17.2318 14.1665 17.1153 14.0501C16.9989 13.9336 16.8409 13.8682 16.6763 13.8682Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationHistory(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 20,\n viewBox: \"0 0 21 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationHistory);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-history.6bee5270.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M10.4666 0C8.50155 0 6.58066 0.582696 4.9468 1.6744C3.31295 2.76611 2.03952 4.31779 1.28754 6.13323C0.535555 7.94868 0.338802 9.94633 0.722159 11.8736C1.10552 13.8009 2.05176 15.5712 3.44124 16.9606C4.83072 18.3501 6.60102 19.2964 8.52829 19.6797C10.4555 20.0631 12.4532 19.8663 14.2687 19.1143C16.0841 18.3624 17.6358 17.0889 18.7275 15.4551C19.8192 13.8212 20.4019 11.9003 20.4019 9.93531C20.4019 7.3003 19.3551 4.77322 17.4919 2.90999C15.6287 1.04675 13.1016 0 10.4666 0ZM10.6736 4.13971C10.9192 4.13971 11.1593 4.21255 11.3635 4.34901C11.5678 4.48548 11.7269 4.67944 11.8209 4.90637C11.9149 5.1333 11.9395 5.38301 11.8916 5.62391C11.8437 5.86482 11.7254 6.08611 11.5517 6.25979C11.378 6.43348 11.1567 6.55176 10.9158 6.59968C10.6749 6.6476 10.4252 6.62301 10.1983 6.52901C9.97136 6.43501 9.7774 6.27583 9.64094 6.0716C9.50448 5.86737 9.43164 5.62726 9.43164 5.38163C9.43164 5.05225 9.56248 4.73637 9.79539 4.50346C10.0283 4.27056 10.3442 4.13971 10.6736 4.13971ZM12.5364 15.3169H9.22466C9.00507 15.3169 8.79448 15.2297 8.63921 15.0744C8.48394 14.9192 8.39671 14.7086 8.39671 14.489C8.39671 14.2694 8.48394 14.0588 8.63921 13.9036C8.79448 13.7483 9.00507 13.6611 9.22466 13.6611H9.84561C9.90051 13.6611 9.95316 13.6392 9.99197 13.6004C10.0308 13.5616 10.0526 13.509 10.0526 13.4541V9.72833C10.0526 9.67343 10.0308 9.62078 9.99197 9.58197C9.95316 9.54315 9.90051 9.52134 9.84561 9.52134H9.22466C9.00507 9.52134 8.79448 9.43411 8.63921 9.27884C8.48394 9.12357 8.39671 8.91298 8.39671 8.6934C8.39671 8.47382 8.48394 8.26323 8.63921 8.10796C8.79448 7.95269 9.00507 7.86546 9.22466 7.86546H10.0526C10.4918 7.86546 10.9129 8.03992 11.2235 8.35046C11.534 8.66099 11.7085 9.08217 11.7085 9.52134V13.4541C11.7085 13.509 11.7303 13.5616 11.7691 13.6004C11.8079 13.6392 11.8606 13.6611 11.9155 13.6611H12.5364C12.756 13.6611 12.9666 13.7483 13.1219 13.9036C13.2771 14.0588 13.3644 14.2694 13.3644 14.489C13.3644 14.7086 13.2771 14.9192 13.1219 15.0744C12.9666 15.2297 12.756 15.3169 12.5364 15.3169Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationHelp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 20,\n viewBox: \"0 0 21 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationHelp);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-help.40eaf8a6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M4.16594 8.54209H9.58196C9.7477 8.54209 9.90666 8.47625 10.0239 8.35905C10.141 8.24185 10.2069 8.0829 10.2069 7.91716C10.2069 7.75142 10.141 7.59247 10.0239 7.47527C9.90666 7.35808 9.7477 7.29224 9.58196 7.29224H4.16594C4.0002 7.29224 3.84125 7.35808 3.72405 7.47527C3.60686 7.59247 3.54102 7.75142 3.54102 7.91716C3.54102 8.0829 3.60686 8.24185 3.72405 8.35905C3.84125 8.47625 4.0002 8.54209 4.16594 8.54209Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M4.16594 11.4586H6.66564C6.83138 11.4586 6.99034 11.3928 7.10753 11.2756C7.22473 11.1584 7.29057 10.9994 7.29057 10.8337C7.29057 10.6679 7.22473 10.509 7.10753 10.3918C6.99034 10.2746 6.83138 10.2087 6.66564 10.2087H4.16594C4.0002 10.2087 3.84125 10.2746 3.72405 10.3918C3.60686 10.509 3.54102 10.6679 3.54102 10.8337C3.54102 10.9994 3.60686 11.1584 3.72405 11.2756C3.84125 11.3928 4.0002 11.4586 4.16594 11.4586Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M4.16594 14.3749H6.45734C6.62308 14.3749 6.78203 14.309 6.89922 14.1918C7.01642 14.0746 7.08226 13.9157 7.08226 13.7499C7.08226 13.5842 7.01642 13.4252 6.89922 13.308C6.78203 13.1908 6.62308 13.125 6.45734 13.125H4.16594C4.0002 13.125 3.84125 13.1908 3.72405 13.308C3.60686 13.4252 3.54102 13.5842 3.54102 13.7499C3.54102 13.9157 3.60686 14.0746 3.72405 14.1918C3.84125 14.309 4.0002 14.3749 4.16594 14.3749Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M4.37481 5.20861H11.4573C11.5126 5.20861 11.5655 5.18667 11.6046 5.1476C11.6437 5.10854 11.6656 5.05555 11.6656 5.0003V2.5006C11.6656 2.44535 11.6437 2.39237 11.6046 2.35331C11.5655 2.31424 11.5126 2.29229 11.4573 2.29229H9.99914V2.08398C9.998 1.76233 9.92268 1.44527 9.77904 1.15747C9.6354 0.869669 9.42731 0.618876 9.17096 0.424595C8.91461 0.230313 8.61689 0.0977804 8.30097 0.0373015C7.98506 -0.0231774 7.65944 -0.00997223 7.34946 0.0758902C6.9034 0.209039 6.51341 0.484992 6.23943 0.861335C5.96545 1.23768 5.82265 1.69358 5.83297 2.15898V2.29229H4.37481C4.31957 2.29229 4.26658 2.31424 4.22752 2.35331C4.18845 2.39237 4.1665 2.44535 4.1665 2.5006V5.0003C4.1665 5.05555 4.18845 5.10854 4.22752 5.1476C4.26658 5.18667 4.31957 5.20861 4.37481 5.20861ZM8.54098 1.87568C8.54098 1.99927 8.50433 2.1201 8.43566 2.22287C8.367 2.32563 8.2694 2.40573 8.15521 2.45303C8.04102 2.50033 7.91537 2.51271 7.79414 2.48859C7.67292 2.46448 7.56157 2.40496 7.47417 2.31757C7.38677 2.23017 7.32725 2.11882 7.30314 1.99759C7.27903 1.87637 7.2914 1.75072 7.3387 1.63653C7.386 1.52234 7.4661 1.42474 7.56887 1.35607C7.67164 1.2874 7.79246 1.25075 7.91606 1.25075C8.08113 1.25291 8.23883 1.31944 8.35556 1.43617C8.47229 1.55291 8.53883 1.71061 8.54098 1.87568Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M7.54077 19.166L7.65742 18.5827C7.67131 18.5556 7.67856 18.5256 7.67856 18.4952C7.67856 18.4648 7.67131 18.4348 7.65742 18.4077C7.63806 18.3845 7.61387 18.3657 7.58653 18.3528C7.55919 18.3398 7.52936 18.333 7.49911 18.3327H2.08309C1.97259 18.3327 1.86662 18.2888 1.78849 18.2107C1.71036 18.1326 1.66647 18.0266 1.66647 17.9161V4.37605C1.66647 4.26556 1.71036 4.15959 1.78849 4.08146C1.86662 4.00333 1.97259 3.95944 2.08309 3.95944H2.70801C2.76326 3.95944 2.81624 3.93749 2.85531 3.89843C2.89437 3.85936 2.91632 3.80638 2.91632 3.75113V2.50128C2.91632 2.44603 2.89437 2.39305 2.85531 2.35398C2.81624 2.31492 2.76326 2.29297 2.70801 2.29297H1.66647C1.22449 2.29297 0.800621 2.46854 0.488097 2.78107C0.175574 3.09359 0 3.51746 0 3.95944L0 18.3327C0 18.7747 0.175574 19.1986 0.488097 19.5111C0.800621 19.8236 1.22449 19.9992 1.66647 19.9992H7.3158C7.34952 20.0055 7.38432 20.0027 7.41657 19.9909C7.44881 19.9792 7.47732 19.959 7.49911 19.9325C7.53752 19.8856 7.55817 19.8266 7.55743 19.7659C7.51865 19.5682 7.51302 19.3655 7.54077 19.166Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M15.7319 8.12561C15.762 8.10728 15.7869 8.08162 15.8044 8.05101C15.8219 8.02041 15.8313 7.98587 15.8318 7.95063V3.95944C15.8318 3.51746 15.6563 3.09359 15.3437 2.78107C15.0312 2.46854 14.6074 2.29297 14.1654 2.29297H13.1238C13.0686 2.29297 13.0156 2.31492 12.9765 2.35398C12.9375 2.39305 12.9155 2.44603 12.9155 2.50128V3.75113C12.9155 3.80638 12.9375 3.85936 12.9765 3.89843C13.0156 3.93749 13.0686 3.95944 13.1238 3.95944H13.7488C13.8593 3.95944 13.9652 4.00333 14.0434 4.08146C14.1215 4.15959 14.1654 4.26556 14.1654 4.37605V9.0505C14.1652 9.09115 14.177 9.13096 14.1992 9.16502C14.2214 9.19907 14.2531 9.22588 14.2904 9.24214C14.3291 9.25861 14.3718 9.26344 14.4132 9.25604C14.4547 9.24864 14.493 9.22934 14.5237 9.20048L15.0986 8.62555C15.2905 8.43591 15.5029 8.26823 15.7319 8.12561Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M10.6125 16.6661C10.5611 16.6136 10.4967 16.5757 10.4259 16.5561C10.3551 16.5365 10.2804 16.536 10.2093 16.5546C10.1383 16.5732 10.0734 16.6103 10.0213 16.6621C9.96916 16.7138 9.93166 16.7785 9.91257 16.8494L9.16266 19.4658C9.14175 19.5374 9.1405 19.6135 9.15903 19.6858C9.17757 19.7581 9.21521 19.8242 9.26802 19.877C9.32083 19.9298 9.38687 19.9675 9.45922 19.986C9.53157 20.0045 9.60757 20.0033 9.67927 19.9824L12.2623 19.2408C12.3317 19.2228 12.3948 19.186 12.4448 19.1346C12.4947 19.0832 12.5296 19.019 12.5456 18.9491C12.5658 18.8789 12.5664 18.8046 12.5473 18.734C12.5282 18.6635 12.4901 18.5996 12.4373 18.5492L10.6125 16.6661Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M15.6371 11.0253C15.5984 10.9863 15.5523 10.9553 15.5015 10.9341C15.4508 10.913 15.3963 10.9021 15.3413 10.9021C15.2863 10.9021 15.2319 10.913 15.1811 10.9341C15.1303 10.9553 15.0842 10.9863 15.0455 11.0253L10.8793 15.1915C10.803 15.2694 10.7603 15.3741 10.7603 15.4831C10.7603 15.5922 10.803 15.6969 10.8793 15.7748L13.379 18.2745C13.4585 18.3542 13.5664 18.3992 13.679 18.3995C13.7335 18.3991 13.7874 18.3879 13.8375 18.3665C13.8876 18.345 13.9328 18.3137 13.9706 18.2745L18.1368 14.1083C18.1767 14.0709 18.2084 14.0257 18.2302 13.9756C18.2519 13.9254 18.2631 13.8713 18.2631 13.8167C18.2631 13.762 18.2519 13.7079 18.2302 13.6578C18.2084 13.6076 18.1767 13.5624 18.1368 13.525L15.6371 11.0253Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M16.2346 9.8413C16.1955 9.88003 16.1645 9.92611 16.1434 9.97688C16.1222 10.0276 16.1113 10.0821 16.1113 10.1371C16.1113 10.1921 16.1222 10.2466 16.1434 10.2973C16.1645 10.3481 16.1955 10.3942 16.2346 10.4329L18.7343 12.9326C18.7698 12.9692 18.8126 12.9978 18.8601 13.0164C18.9075 13.0351 18.9583 13.0435 19.0092 13.0409C19.1407 13.0373 19.2659 12.9837 19.3592 12.8909C19.5622 12.6889 19.7234 12.4487 19.8333 12.1841C19.9433 11.9196 19.9999 11.6359 19.9999 11.3495C19.9999 11.063 19.9433 10.7793 19.8333 10.5148C19.7234 10.2503 19.5622 10.0101 19.3592 9.80797C19.1519 9.60482 18.9067 9.44451 18.6374 9.33622C18.3681 9.22793 18.0802 9.17379 17.79 9.17688C17.4998 9.17998 17.213 9.24025 16.9461 9.35426C16.6792 9.46827 16.4374 9.63377 16.2346 9.8413Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationApplyNow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 21,\n viewBox: \"0 0 20 21\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationApplyNow);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-apply-now.54a24132.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M15.4146 7.21572V2.49967C15.4146 2.27869 15.3268 2.06675 15.1706 1.91049C15.0143 1.75423 14.8024 1.66645 14.5814 1.66645H12.4984C12.4431 1.66645 12.3901 1.6445 12.3511 1.60544C12.312 1.56637 12.29 1.51339 12.29 1.45814V0.624918C12.29 0.459179 12.2242 0.300229 12.107 0.183034C11.9898 0.0658393 11.8309 0 11.6651 0C11.4994 0 11.3404 0.0658393 11.2232 0.183034C11.1061 0.300229 11.0402 0.459179 11.0402 0.624918V3.74951C11.0402 3.91524 10.9744 4.07419 10.8572 4.19139C10.74 4.30858 10.581 4.37442 10.4153 4.37442C10.2496 4.37442 10.0906 4.30858 9.97341 4.19139C9.85622 4.07419 9.79038 3.91524 9.79038 3.74951V2.08306C9.79038 1.97257 9.74648 1.8666 9.66835 1.78847C9.59022 1.71034 9.48426 1.66645 9.37376 1.66645H5.83256C5.77732 1.66645 5.72433 1.6445 5.68527 1.60544C5.64621 1.56637 5.62426 1.51339 5.62426 1.45814V0.624918C5.62426 0.459179 5.55842 0.300229 5.44122 0.183034C5.32403 0.0658393 5.16508 0 4.99934 0C4.8336 0 4.67465 0.0658393 4.55746 0.183034C4.44026 0.300229 4.37442 0.459179 4.37442 0.624918V3.74951C4.37442 3.91524 4.30858 4.07419 4.19139 4.19139C4.07419 4.30858 3.91524 4.37442 3.74951 4.37442C3.58377 4.37442 3.42482 4.30858 3.30762 4.19139C3.19043 4.07419 3.12459 3.91524 3.12459 3.74951V2.08306C3.12459 1.97257 3.0807 1.8666 3.00257 1.78847C2.92444 1.71034 2.81847 1.66645 2.70798 1.66645H0.833224C0.612239 1.66645 0.400305 1.75423 0.244046 1.91049C0.0877858 2.06675 0 2.27869 0 2.49967L0 13.7482C0 14.1902 0.175572 14.614 0.488091 14.9265C0.80061 15.2391 1.22448 15.4146 1.66645 15.4146H7.97395C7.8962 14.8619 7.8962 14.301 7.97395 13.7482H2.08306C1.97257 13.7482 1.8666 13.7043 1.78847 13.6262C1.71034 13.548 1.66645 13.4421 1.66645 13.3316V6.24918C1.66645 6.13868 1.71034 6.03272 1.78847 5.95459C1.8666 5.87646 1.97257 5.83256 2.08306 5.83256H13.3316C13.4421 5.83256 13.548 5.87646 13.6262 5.95459C13.7043 6.03272 13.7482 6.13868 13.7482 6.24918V7.34903C14.0779 7.2095 14.4317 7.1359 14.7897 7.13239C15.0007 7.13438 15.2105 7.16236 15.4146 7.21572Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M14.7899 15.4391C15.4801 15.4391 16.0397 14.8796 16.0397 14.1893C16.0397 13.499 15.4801 12.9395 14.7899 12.9395C14.0996 12.9395 13.54 13.499 13.54 14.1893C13.54 14.8796 14.0996 15.4391 14.7899 15.4391Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M19.5992 13.0407C19.8181 12.8085 19.9553 12.5111 19.9899 12.1938C20.0245 11.8765 19.9546 11.5566 19.7909 11.2826C19.6361 11.0063 19.395 10.7883 19.1046 10.6619C18.8142 10.5355 18.4905 10.5077 18.1827 10.5827L17.0079 10.8327C16.9143 10.8519 16.8169 10.8363 16.734 10.7887C16.6512 10.7412 16.5885 10.6649 16.558 10.5744L16.208 9.4162C16.119 9.10933 15.9328 8.83964 15.6774 8.64773C15.4219 8.45581 15.111 8.35205 14.7915 8.35205C14.472 8.35205 14.1611 8.45581 13.9057 8.64773C13.6502 8.83964 13.464 9.10933 13.375 9.4162L13.0251 10.5744C12.9945 10.6649 12.9319 10.7412 12.849 10.7887C12.7662 10.8363 12.6688 10.8519 12.5752 10.8327L11.4003 10.5577C11.0826 10.4717 10.7453 10.4939 10.4415 10.6207C10.1378 10.7475 9.88484 10.9718 9.72256 11.2582C9.56028 11.5445 9.49788 11.8768 9.54518 12.2025C9.59248 12.5282 9.7468 12.829 9.98383 13.0574L10.8171 13.9489C10.882 14.0209 10.918 14.1144 10.918 14.2114C10.918 14.3084 10.882 14.4019 10.8171 14.4739L9.98383 15.3571C9.76689 15.5892 9.63022 15.8848 9.59395 16.2005C9.55767 16.5161 9.62372 16.8351 9.78235 17.1103C9.94099 17.3856 10.1838 17.6027 10.4751 17.7295C10.7664 17.8564 11.0907 17.8864 11.4003 17.8151L12.5752 17.4985C12.669 17.4752 12.7682 17.4891 12.852 17.5372C12.9358 17.5854 12.9979 17.664 13.0251 17.7568L13.375 18.915C13.4689 19.2173 13.657 19.4817 13.9119 19.6694C14.1667 19.8572 14.475 19.9585 14.7915 19.9585C15.1081 19.9585 15.4163 19.8572 15.6712 19.6694C15.9261 19.4817 16.1142 19.2173 16.208 18.915L16.558 17.7568C16.5834 17.6647 16.6438 17.5861 16.7263 17.5379C16.8088 17.4896 16.9068 17.4755 16.9996 17.4985L18.1827 17.7651C18.4905 17.8401 18.8142 17.8123 19.1046 17.6859C19.395 17.5595 19.6361 17.3415 19.7909 17.0652C19.9533 16.7908 20.0224 16.4712 19.9878 16.1542C19.9533 15.8373 19.8169 15.54 19.5992 15.3071L18.766 14.4239C18.701 14.3519 18.665 14.2584 18.665 14.1614C18.665 14.0644 18.701 13.9709 18.766 13.8989L19.5992 13.0407ZM14.7915 16.6652C14.2971 16.6652 13.8139 16.5186 13.4028 16.244C12.9917 15.9693 12.6713 15.5789 12.4821 15.1222C12.2929 14.6654 12.2434 14.1628 12.3399 13.6779C12.4363 13.193 12.6744 12.7476 13.024 12.398C13.3736 12.0485 13.819 11.8104 14.3039 11.7139C14.7888 11.6175 15.2914 11.667 15.7481 11.8562C16.2049 12.0454 16.5953 12.3658 16.8699 12.7768C17.1446 13.1879 17.2912 13.6712 17.2912 14.1656C17.2912 14.8285 17.0278 15.4643 16.5591 15.9331C16.0903 16.4019 15.4545 16.6652 14.7915 16.6652Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationManageRepayments(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationManageRepayments);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-manage-repayments.f921bbf0.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M21 20.75C20.9974 20.5519 20.9176 20.3626 20.7775 20.2225C20.6374 20.0824 20.4481 20.0026 20.25 20H19C18.8011 20 18.6103 20.079 18.4697 20.2197C18.329 20.3603 18.25 20.5511 18.25 20.75C18.25 20.9489 18.329 21.1397 18.4697 21.2803C18.6103 21.421 18.8011 21.5 19 21.5H20.25C20.4481 21.4974 20.6374 21.4176 20.7775 21.2775C20.9176 21.1374 20.9974 20.9481 21 20.75Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M2.5 19.5C2.36739 19.5 2.24021 19.4473 2.14645 19.3536C2.05268 19.2598 2 19.1326 2 19V3.5C2 3.36739 2.05268 3.24021 2.14645 3.14645C2.24021 3.05268 2.36739 3 2.5 3H13.5C13.6326 3 13.7598 3.05268 13.8536 3.14645C13.9473 3.24021 14 3.36739 14 3.5V12H16V3C16 2.20435 15.6839 1.44129 15.1213 0.87868C14.5587 0.31607 13.7956 0 13 0L3 0C2.20435 0 1.44129 0.31607 0.87868 0.87868C0.31607 1.44129 0 2.20435 0 3L0 21C0 21.7956 0.31607 22.5587 0.87868 23.1213C1.44129 23.6839 2.20435 24 3 24H9V19.5H2.5Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M8 5C7.10999 5 6.23996 5.26392 5.49994 5.75839C4.75991 6.25285 4.18314 6.95566 3.84254 7.77792C3.50195 8.60019 3.41283 9.50499 3.58647 10.3779C3.7601 11.2508 4.18868 12.0526 4.81802 12.682C5.44736 13.3113 6.24918 13.7399 7.1221 13.9135C7.99501 14.0872 8.89981 13.9981 9.72208 13.6575C10.5443 13.3169 11.2471 12.7401 11.7416 12.0001C12.2361 11.26 12.5 10.39 12.5 9.5C12.4974 8.30734 12.0224 7.16428 11.1791 6.32094C10.3357 5.4776 9.19266 5.00264 8 5ZM10 10.25H8.75V11.5C8.75 11.6989 8.67098 11.8897 8.53033 12.0303C8.38968 12.171 8.19891 12.25 8 12.25C7.80109 12.25 7.61032 12.171 7.46967 12.0303C7.32902 11.8897 7.25 11.6989 7.25 11.5V10.25H6C5.80109 10.25 5.61032 10.171 5.46967 10.0303C5.32902 9.88968 5.25 9.69891 5.25 9.5C5.25 9.30109 5.32902 9.11032 5.46967 8.96967C5.61032 8.82902 5.80109 8.75 6 8.75H7.25V7.5C7.25 7.30109 7.32902 7.11032 7.46967 6.96967C7.61032 6.82902 7.80109 6.75 8 6.75C8.19891 6.75 8.38968 6.82902 8.53033 6.96967C8.67098 7.11032 8.75 7.30109 8.75 7.5V8.75H10C10.1989 8.75 10.3897 8.82902 10.5303 8.96967C10.671 9.11032 10.75 9.30109 10.75 9.5C10.75 9.69891 10.671 9.88968 10.5303 10.0303C10.3897 10.171 10.1989 10.25 10 10.25Z\",\n fill: \"#39D25D\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n d: \"M24 15.25C23.9974 14.7867 23.8122 14.3431 23.4845 14.0155C23.1569 13.6878 22.7133 13.5026 22.25 13.5H12.25C11.7867 13.5026 11.3431 13.6878 11.0155 14.0155C10.6878 14.3431 10.5026 14.7867 10.5 15.25V22.25C10.5026 22.7133 10.6878 23.1569 11.0155 23.4845C11.3431 23.8122 11.7867 23.9974 12.25 24H22.25C22.7133 23.9974 23.1569 23.8122 23.4845 23.4845C23.8122 23.1569 23.9974 22.7133 24 22.25V15.25ZM22.25 22.5H12.25C12.1837 22.5 12.1201 22.4737 12.0732 22.4268C12.0263 22.3799 12 22.3163 12 22.25V19.25C12 19.1837 12.0263 19.1201 12.0732 19.0732C12.1201 19.0263 12.1837 19 12.25 19H22.25C22.3163 19 22.3799 19.0263 22.4268 19.0732C22.4737 19.1201 22.5 19.1837 22.5 19.25V22.25C22.5 22.3163 22.4737 22.3799 22.4268 22.4268C22.3799 22.4737 22.3163 22.5 22.25 22.5ZM12.25 15H22.25C22.3163 15 22.3799 15.0263 22.4268 15.0732C22.4737 15.1201 22.5 15.1837 22.5 15.25V16.25C22.5 16.3163 22.4737 16.3799 22.4268 16.4268C22.3799 16.4737 22.3163 16.5 22.25 16.5H12.25C12.1837 16.5 12.1201 16.4737 12.0732 16.4268C12.0263 16.3799 12 16.3163 12 16.25V15.25C12 15.1837 12.0263 15.1201 12.0732 15.0732C12.1201 15.0263 12.1837 15 12.25 15Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationPayOnline(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationPayOnline);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-PayOnline.7719d75d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"fill\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.4621 0C14.1216 0 13.8456 0.277999 13.8456 0.620928C13.8456 0.963854 14.1216 1.24186 14.4621 1.24186C15.2128 1.24186 15.8549 1.51344 16.2966 2.02179C16.5208 2.27987 16.9103 2.30603 17.1666 2.08021C17.4229 1.85439 17.4488 1.4621 17.2246 1.20403C16.5171 0.389736 15.5174 0 14.4621 0ZM6.01216 0.835438C5.47232 1.14931 5.28736 1.84447 5.59903 2.38812L9.29293 8.83123C9.43458 9.07836 9.35047 9.39429 9.10508 9.53702C8.85976 9.67967 8.54596 9.59497 8.40432 9.34793L5.30495 3.94178C5.00494 3.41849 4.34048 3.23919 3.82086 3.54132C3.26081 3.86694 3.06892 4.58813 3.39226 5.15213L6.44936 10.4846C6.59103 10.7317 6.50695 11.0476 6.26157 11.1903C6.01619 11.333 5.70243 11.2483 5.56075 11.0012L3.30339 7.06373C2.99172 6.52009 2.30142 6.33382 1.76159 6.64769C1.22175 6.96157 1.03678 7.65674 1.34846 8.20038L6.73534 17.5966C7.98205 19.7712 10.7432 20.5163 12.9025 19.2607L16.483 17.179C17.8064 16.4095 18.6535 15.0182 18.734 13.4814L19.0887 6.72144C19.1248 6.03341 18.6779 5.41378 18.0171 5.23546C17.3208 5.04757 16.5933 5.40388 16.3101 6.07147L15.3739 8.27847L11.0132 0.672027C10.7014 0.128377 10.0112 -0.0578904 9.47132 0.255985C8.93153 0.569861 8.74656 1.26502 9.05822 1.80867L12.1364 7.17793C12.2781 7.42504 12.194 7.74102 11.9486 7.8837C11.7032 8.02637 11.3895 7.9417 11.2478 7.69459L7.55397 1.25148C7.24229 0.707828 6.552 0.521561 6.01216 0.835438ZM13.4352 2.68756C13.4352 2.34462 13.7112 2.06663 14.0517 2.06663C14.5056 2.06663 14.8703 2.18775 15.2146 2.41891C15.4979 2.60913 15.5745 2.99464 15.3856 3.27998C15.1967 3.56532 14.8139 3.64242 14.5305 3.45219C14.3824 3.35269 14.2545 3.30849 14.0517 3.30849C13.7112 3.30849 13.4352 3.03048 13.4352 2.68756ZM3.5447 14.8797C3.88523 14.8797 4.16127 15.1577 4.16127 15.5007C4.16127 16.067 4.62399 16.5331 5.18642 16.5331C5.52694 16.5331 5.803 16.811 5.803 17.154C5.803 17.4969 5.52694 17.7749 5.18642 17.7749C3.94295 17.7749 2.92812 16.7529 2.92812 15.5007C2.92812 15.1577 3.20417 14.8797 3.5447 14.8797ZM2.10913 15.9139C2.10913 15.571 1.83308 15.293 1.49256 15.293C1.15203 15.293 0.875977 15.571 0.875977 15.9139C0.875977 18.0755 2.62957 19.8415 4.77598 19.8415C5.11652 19.8415 5.39256 19.5635 5.39256 19.2206C5.39256 18.8777 5.11652 18.5997 4.77598 18.5997C3.31063 18.5997 2.10913 17.3897 2.10913 15.9139Z\",\n fill: \"#39D25D\"\n});\n\nfunction SvgIcoNavigationLogOut(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIcoNavigationLogOut);\nexport default __webpack_public_path__ + \"static/media/ico-navigation-LogOut.e323c374.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Wrapper from \"./sidebarContent.styles\";\r\nimport { NavLink, useLocation } from \"react-router-dom\";\r\nimport { APP_STATE } from \"../../constants/commonConstants\";\r\nimport actions from \"../../redux/client/actions\";\r\nimport { useSpring, animated } from \"@react-spring/web\";\r\nimport { menuListLeft, menuListRight } from \"./sidebarMenuItems\";\r\nimport {\r\n handleExpandLabel,\r\n handleMinimiseLabel,\r\n} from \"./sidebarContentAnimate\";\r\nimport { ReactComponent as DashboardIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-dashboard.svg\";\r\nimport { ReactComponent as HistoryIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-history.svg\";\r\nimport { ReactComponent as HelpIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-help.svg\";\r\nimport { ReactComponent as ApplyIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-apply-now.svg\";\r\nimport { ReactComponent as ManageRepaymentsIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-manage-repayments.svg\";\r\nimport { ReactComponent as PayOnlineIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-PayOnline.svg\";\r\nimport { ReactComponent as LogoutIcon } from \"../../theme/assets/newDashboardIcons/ico-navigation-LogOut.svg\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faEnvelope,\r\n faEnvelopeOpen\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { useTheme } from 'styled-components';\r\n\r\nconst useAppReady = () => {\r\n const { appState } = useSelector((state) => state.Client);\r\n\r\n return appState === APP_STATE.READY;\r\n};\r\n\r\nconst useHasRepaymentsToManage = () => {\r\n const appReady = useAppReady();\r\n const { clientData } = useSelector((state) => state.Client);\r\n const { openAccounts } = clientData;\r\n\r\n return appReady && openAccounts.length !== 0;\r\n};\r\n\r\nconst DashboardIconSvg = (navItem) => {\r\n const theme = useTheme();\r\n switch (navItem) {\r\n case \"Dashboard\":\r\n return ;\r\n case \"Loan History\":\r\n return ;\r\n case \"Help\":\r\n return ;\r\n case \"Apply\":\r\n return ;\r\n case \"Manage Repayments\":\r\n return ;\r\n case \"Pay Online\":\r\n return ;\r\n case \"Logout\":\r\n return ;\r\n case \"Notifications\":\r\n return sessionStorage.getItem(\"show_notifications\") === \"true\" ? : ;\r\n default:\r\n return <>;\r\n }\r\n};\r\n\r\nconst SidebarContent = ({\r\n shouldShowSidebarContent,\r\n menuSide,\r\n isExpandedLeftNav,\r\n isExpandedRightNav,\r\n setShowSidebarLeft,\r\n setShowSidebarRight,\r\n setShowNotifications,\r\n}) => {\r\n const isManageRepaymentsEnabled = useHasRepaymentsToManage();\r\n const appReady = useAppReady();\r\n const dispatch = useDispatch();\r\n const { pathname } = useLocation();\r\n\r\n const getSessionStorageValueLeft =\r\n sessionStorage.getItem(\"expandedStatusLeft\") === \"true\" ? true : false;\r\n const [isLeftExpanded, setIsLeftExpanded] = useState(\r\n getSessionStorageValueLeft\r\n );\r\n\r\n const getSessionStorageValueRight =\r\n sessionStorage.getItem(\"expandedStatusRight\") === \"true\" ? true : false;\r\n const [isRightExpanded, setIsRightExpanded] = useState(\r\n getSessionStorageValueRight\r\n );\r\n\r\n const [springsLabelLeft, apiLabelLeft] = useSpring(() => ({\r\n from: {\r\n width: isExpandedLeftNav ? 200 : 0,\r\n transform: isExpandedLeftNav ? \"translateX(0px)\" : \"translateX(-250px)\",\r\n },\r\n }));\r\n\r\n const [springsLabelRight, apiLabelRight] = useSpring(() => ({\r\n from: {\r\n width: isExpandedRightNav ? 200 : 0,\r\n transform: isExpandedRightNav ? \"translateX(0px)\" : \"translateX(250px)\",\r\n },\r\n }));\r\n\r\n const menuList =\r\n menuSide === \"left\"\r\n ? menuListLeft(isManageRepaymentsEnabled)\r\n : menuListRight;\r\n\r\n const springsLabel =\r\n menuSide === \"left\" ? springsLabelLeft : springsLabelRight;\r\n\r\n useEffect(() => {\r\n if (isExpandedRightNav === true) {\r\n if (isRightExpanded === true) {\r\n return;\r\n } else {\r\n handleExpandLabel(\r\n menuSide,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded\r\n );\r\n }\r\n }\r\n\r\n if (isExpandedRightNav === false) {\r\n if (isRightExpanded) {\r\n handleMinimiseLabel(\r\n menuSide,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded\r\n );\r\n } else return;\r\n }\r\n }, [\r\n isExpandedRightNav,\r\n isRightExpanded,\r\n menuSide,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (isExpandedLeftNav === true) {\r\n if (isLeftExpanded === true) {\r\n return;\r\n } else {\r\n handleExpandLabel(\r\n menuSide,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded\r\n );\r\n }\r\n }\r\n\r\n if (isExpandedLeftNav === false) {\r\n if (isLeftExpanded) {\r\n handleMinimiseLabel(\r\n menuSide,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded\r\n );\r\n } else return;\r\n }\r\n }, [\r\n isExpandedLeftNav,\r\n isLeftExpanded,\r\n menuSide,\r\n apiLabelLeft,\r\n apiLabelRight,\r\n setIsLeftExpanded,\r\n setIsRightExpanded,\r\n ]);\r\n\r\n const handleClickNavigationItem = (link, side) => {\r\n if (link !== pathname) {\r\n dispatch(actions.clearAccountInfo());\r\n } else {\r\n if (side === \"left\") {\r\n try {\r\n setShowSidebarLeft(false);\r\n } catch {\r\n return;\r\n }\r\n }\r\n if (side === \"right\") {\r\n try {\r\n setShowSidebarRight(false);\r\n } catch {\r\n return;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleNotALink = (e, side) => {\r\n if (pathname === \"/dashboard\") {\r\n e.preventDefault();\r\n\r\n const notificationState = sessionStorage.getItem(\"show_notifications\");\r\n if (notificationState === \"true\") {\r\n setShowNotifications(\"false\");\r\n sessionStorage.setItem(\"show_notifications\", \"false\");\r\n } else {\r\n setShowNotifications(\"true\");\r\n sessionStorage.setItem(\"show_notifications\", \"true\");\r\n }\r\n\r\n if (side === \"left\") {\r\n try {\r\n setShowSidebarLeft(false);\r\n } catch {\r\n return;\r\n }\r\n }\r\n if (side === \"right\") {\r\n try {\r\n setShowSidebarRight(false);\r\n } catch {\r\n return;\r\n }\r\n }\r\n } else {\r\n sessionStorage.setItem(\"show_notifications\", \"true\");\r\n }\r\n };\r\n\r\n return (\r\n \r\n {shouldShowSidebarContent && (\r\n <>\r\n {appReady &&\r\n menuList\r\n .filter((item) => !item.disabled)\r\n .map((eachItem, index) => (\r\n \r\n handleClickNavigationItem(\r\n eachItem.link,\r\n eachItem.side\r\n )\r\n : (e) => handleNotALink(e, eachItem.side)\r\n }\r\n >\r\n {DashboardIconSvg(eachItem.label)}\r\n \r\n

{eachItem.label}

\r\n \r\n

{eachItem.label}

\r\n \r\n ))}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SidebarContent;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n text-align: left;\r\n flex: 1;\r\n padding-bottom: 20px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n\r\n .copyright-container-desktop {\r\n display: none;\r\n }\r\n\r\n .lock-container-desktop {\r\n display: none;\r\n }\r\n\r\n p {\r\n font-size: 11px;\r\n color: ${theme.palette.main.white};\r\n }\r\n\r\n .copyright-container {\r\n padding-left: 10px;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.S}) {\r\n padding-left: 40px;\r\n }\r\n }\r\n\r\n .lock-container {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-start;\r\n padding-left: 10px;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.S}) {\r\n padding-left: 40px;\r\n }\r\n }\r\n\r\n .lock-container p {\r\n margin-top: 5px;\r\n }\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n .lock-container, .copyright-container {\r\n display: none;\r\n }\r\n\r\n .lock-container-desktop {\r\n margin-top: 5px;\r\n }\r\n\r\n .copyright-container-desktop, .lock-container-desktop {\r\n display: block;\r\n padding-left: 20px;\r\n }\r\n }\r\n`);\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Wrapper from \"./footer.styles\";\r\nimport { currentYear } from \"../../utils/helpers/dateHelper\";\r\n\r\nconst Footer = () => {\r\n const config = useSelector((state) => state.StartUp.brand.configFile);\r\n\r\n const { companyName, acn, acl } = config;\r\n\r\n return (\r\n \r\n
\r\n

\r\n © 2012-{currentYear} {companyName} • ACN {acn} | ACL {acl}\r\n

\r\n
\r\n
\r\n

\r\n © 2012-{currentYear} {companyName}

ACN {acn} | ACL {acl}\r\n

\r\n
\r\n
\r\n

\r\n Secure & Private • Your info is safe with us\r\n

\r\n
\r\n
\r\n

\r\n Secure & Private

Your info is safe with us\r\n

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import React from \"react\";\r\nimport Wrapper from \"./sidebarLeftMobile.styles\";\r\nimport { useSelector } from \"react-redux\";\r\nimport SidebarContent from \"./sidebarContent\";\r\nimport { APP_STATE } from \"../../constants/commonConstants\";\r\nimport Footer from \"../footer/footer\";\r\n\r\nconst SidebarLeftMobile = ({ showSidebarLeft, shouldShowSidebarContent, setShowSidebarLeft, setShowSidebarRight }) => {\r\n const { appState } = useSelector((state) => state.Client);\r\n const isSidebarReady = appState === APP_STATE.READY;\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\nexport default SidebarLeftMobile;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n\r\n &.show {\r\n .background {\r\n opacity: 0.6;\r\n z-index: 100;\r\n }\r\n \r\n .sidebar{\r\n display: block;\r\n right: 0;\r\n }\r\n }\r\n\r\n .footer-group {\r\n position: fixed;\r\n bottom: 0;\r\n width: 100%;\r\n }\r\n\r\n .sidebar{\r\n height: 100vh;\r\n top: 60px;\r\n background: ${theme.palette.header.background};\r\n width: 100%;\r\n position: fixed;\r\n z-index: 100;\r\n right: -100%;\r\n transition: right 0.25s linear;\r\n\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n .left-container {\r\n margin-left: 40px;\r\n }\r\n\r\n .left-container span {\r\n font-size: 16px;\r\n font-weight: ${theme.fonts.headingWeight};\r\n margin-right: 10px;\r\n }\r\n\r\n .left-container svg:first-child {\r\n margin: 0px 10px 0px 20px;\r\n }\r\n\r\n .right-container a svg,\r\n .right-container button svg {\r\n margin-right: 20px;\r\n }\r\n\r\n .right-container button {\r\n background: transparent;\r\n border: 0px;\r\n }\r\n\r\n .more-options {\r\n background-color: ${theme.palette.main.border};\r\n }\r\n\r\n .more-options svg {\r\n margin-left: 40px;\r\n margin-top: 15px;\r\n }\r\n\r\n .more-options div:last-child {\r\n padding-bottom: 15px;\r\n }\r\n\r\n .more-options span {\r\n margin-left: 10px;\r\n color: ${theme.palette.main.white};\r\n }\r\n }\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: none;\r\n \r\n .background, \r\n .sidebar {\r\n display: none;\r\n }\r\n \r\n &.show {\r\n .background {\r\n display: none;\r\n }\r\n \r\n .sidebar{\r\n display: none;\r\n }\r\n }\r\n }\r\n`);\r\n","import React from \"react\";\r\nimport Wrapper from \"./sidebarRightMobile.styles\";\r\nimport { useSelector } from \"react-redux\";\r\nimport SidebarContent from \"./sidebarContent\";\r\nimport { APP_STATE } from \"../../constants/commonConstants\";\r\nimport Footer from \"../footer/footer\";\r\n\r\nconst SidebarRightMobile = ({\r\n showSidebarRight,\r\n shouldShowSidebarContent,\r\n setShowSidebarLeft,\r\n setShowSidebarRight,\r\n setShowNotifications\r\n}) => {\r\n const { appState } = useSelector((state) => state.Client);\r\n const isSidebarReady = appState === APP_STATE.READY;\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\nexport default SidebarRightMobile;\r\n","import SidebarMobile from \"./sidebarMobile\";\r\n\r\nexport default SidebarMobile;\r\n","import React from \"react\";\r\nimport SidebarLeftMobile from \"./sidebarLeftMobile\";\r\nimport SidebarRightMobile from \"./sidebarRightMobile\";\r\n\r\nconst SidebarMobile = ({\r\n showSidebarLeft,\r\n setShowSidebarLeft,\r\n showSidebarRight,\r\n setShowSidebarRight,\r\n shouldShowSidebarContent,\r\n setShowNotifications\r\n}) => (\r\n <>\r\n \r\n \r\n \r\n);\r\n\r\nexport default SidebarMobile;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n\r\n .mid-container {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n\r\n .mid-container img {\r\n height: 40px;\r\n width: 90px;\r\n }\r\n\r\n .right-container {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n padding-right: 15px;\r\n }\r\n\r\n .left-container {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n padding-left: 15px;\r\n }\r\n\r\n .right-container button,\r\n a {\r\n background: transparent;\r\n border: 0px;\r\n cursor: pointer;\r\n }\r\n\r\n .right-container button svg,\r\n a svg {\r\n z-index: 2;\r\n }\r\n\r\n .left-container button,\r\n a {\r\n background: transparent;\r\n border: 0px;\r\n cursor: pointer;\r\n }\r\n\r\n .left-container button svg,\r\n a svg {\r\n z-index: 2;\r\n }\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: none;\r\n }\r\n`);\r\n","export default __webpack_public_path__ + \"static/media/fairgo-logo.ad3f36bc.svg\";","export default __webpack_public_path__ + \"static/media/nimble-logo.b2f48a97.svg\";","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Wrapper from \"./mobileHeader.styles\";\r\nimport FairGoLogo from \"../../theme/assets/fairgo-logo.svg\";\r\nimport NimbleLogo from \"../../theme/assets/nimble-logo.svg\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faBars, faEllipsisV } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { UnStyledLink } from \"../textButton\";\r\nimport { PRIVATE_ROUTE } from \"../../route.constants\";\r\nimport { useTheme } from 'styled-components';\r\nimport { brands } from \"@theme/config\";\r\n\r\nconst MobileHeader = ({ showSidebarLeft, setShowSidebarLeft, showSidebarRight, setShowSidebarRight }) => {\r\n const config = useSelector((state) => state.StartUp.brand.configFile);\r\n const themeName = useSelector((state) => state.StartUp.brand.themeName);\r\n const theme = useTheme();\r\n\r\n const { companyName } = config;\r\n\r\n const handleSetNavSideLeft = () => {\r\n if (showSidebarRight === true) {\r\n setShowSidebarRight(false);\r\n }\r\n setShowSidebarLeft(!showSidebarLeft);\r\n }\r\n\r\n const handleSetNavSideRight = () => {\r\n if (showSidebarLeft === true) {\r\n setShowSidebarLeft(false);\r\n }\r\n setShowSidebarRight(!showSidebarRight);\r\n }\r\n\r\n const handleCloseAllNav = () => {\r\n if (showSidebarLeft === true) {\r\n setShowSidebarLeft(false);\r\n }\r\n if (showSidebarRight === true) {\r\n setShowSidebarRight(false);\r\n }\r\n }\r\n\r\n let logo = FairGoLogo;\r\n if (themeName === brands.nimbleBrand.themeName) {\r\n logo = NimbleLogo;\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n \r\n {companyName}/\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MobileHeader;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center; \r\n width: 100%;\r\n height: 60px;\r\n background: ${theme.palette.header.background};\r\n position: sticky;\r\n top: 0;\r\n z-index: 1;\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: none;\r\n }\r\n`);\r\n","import MainHeader from \"./mainHeader\";\r\n\r\nexport default MainHeader;\r\n","import React from \"react\";\r\nimport MobileHeader from \"./mobileHeader\";\r\nimport Wrapper from \"./mainHeader.styles\";\r\n\r\nconst MainHeader = ({\r\n showSidebarLeft,\r\n setShowSidebarLeft,\r\n showSidebarRight,\r\n setShowSidebarRight,\r\n shouldShowHeader,\r\n}) =>\r\n shouldShowHeader && (\r\n \r\n \r\n \r\n );\r\n\r\nexport default MainHeader;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n display: none;\r\n height: 100vh;\r\n width: 100%;\r\n background: ${theme.palette.header.background};\r\n \r\n .sidebar {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .right-nav-expand {\r\n background: transparent;\r\n width: 60px;\r\n border: none;\r\n padding: 10px;\r\n cursor: pointer;\r\n align-self: flex-end;\r\n }\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: block;\r\n }\r\n\r\n .link-container {\r\n p {\r\n margin-right: 10px;\r\n }\r\n\r\n svg {\r\n width: 25px;\r\n }\r\n }\r\n`);\r\n","import React, { useState } from \"react\";\r\nimport Wrapper from \"./sidebarRightDesktop.styles\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faEllipsisV } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { useSpring, animated } from \"@react-spring/web\";\r\nimport SidebarContent from \"./sidebarContent\";\r\nimport { useTheme } from 'styled-components';\r\n\r\nconst SidebarRightDesktop = ({ setShowNotifications }) => {\r\n const theme = useTheme();\r\n const getSessionStorageValue = (sessionStorage.getItem(\"expandedStatusRight\")) === \"true\" ? true : false;\r\n const [isExpandedRightNav, setIsExpandedRightNav] = useState(getSessionStorageValue);\r\n\r\n const [springs, api] = useSpring(() => ({\r\n from: { width: isExpandedRightNav? 340 : 60 },\r\n }));\r\n\r\n const handleExpandRightNav = () => {\r\n sessionStorage.setItem(\"expandedStatusRight\", \"true\");\r\n setIsExpandedRightNav(true);\r\n api.start({\r\n from: {\r\n width: 60,\r\n },\r\n to: {\r\n width: 340,\r\n },\r\n });\r\n };\r\n\r\n const handleCollapseRightNav = () => {\r\n sessionStorage.setItem(\"expandedStatusRight\", \"false\");\r\n setIsExpandedRightNav(false);\r\n api.start({\r\n from: {\r\n width: 340,\r\n },\r\n to: {\r\n width: 60,\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\n\r\nexport default SidebarRightDesktop;\r\n","import styled, { css } from \"styled-components\";\r\n\r\nexport default styled.div(({ theme }) => css`\r\n display: none;\r\n height: 100vh;\r\n background: ${theme.palette.header.background};\r\n width: 100%;\r\n\r\n .sidebar {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .footer-group {\r\n position: fixed;\r\n bottom: 0;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n }\r\n\r\n .left-nav-expand {\r\n background: transparent;\r\n border: none;\r\n padding: 10px;\r\n cursor: pointer;\r\n align-self: flex-start;\r\n width: 60px;\r\n }\r\n\r\n .mid-container-desktop {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n width: 100%;\r\n padding-top: 15px;\r\n height: 135px;\r\n }\r\n\r\n .fgf-logo-animate {\r\n display: flex;\r\n justify-content: left;\r\n overflow: hidden;\r\n }\r\n\r\n .fgf-logo-animate img {\r\n height: 100%;\r\n width: 180px;\r\n }\r\n\r\n @media only screen and (min-width: ${theme.breakpoints.XM}) {\r\n display: block;\r\n }\r\n\r\n .link-container {\r\n svg {\r\n width: 25px;\r\n }\r\n }\r\n`);\r\n","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Wrapper from \"./sidebarLeftDesktop.styles\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faBars } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { useSpring, animated } from \"@react-spring/web\";\r\nimport FairGoLogo from \"../../theme/assets/fairgo-logo.svg\";\r\nimport NimbleLogo from \"../../theme/assets/nimble-logo.svg\";\r\nimport { UnStyledLink } from \"../textButton\";\r\nimport { PRIVATE_ROUTE } from \"../../route.constants\";\r\nimport Footer from \"../footer/footer\";\r\nimport SidebarContent from \"./sidebarContent\";\r\nimport { useTheme } from 'styled-components';\r\nimport { brands } from \"@theme/config\";\r\n\r\nconst SidebarLeftDesktop = () => {\r\n const config = useSelector((state) => state.StartUp.brand.configFile);\r\n const themeName = useSelector((state) => state.StartUp.brand.themeName);\r\n\r\n const { companyName } = config;\r\n\r\n const getSessionStorageValue =\r\n sessionStorage.getItem(\"expandedStatusLeft\") === \"false\" ? false : true;\r\n const [isExpandedLeftNav, setIsExpandedLeftNav] = useState(\r\n getSessionStorageValue\r\n );\r\n\r\n const theme = useTheme();\r\n\r\n const isNimbleTheme = themeName === brands.nimbleBrand.themeName;\r\n const collapsedNavWidth = isNimbleTheme ? 50 : 40;\r\n\r\n const [springs, api] = useSpring(() => ({\r\n from: { width: isExpandedLeftNav ? 340 : 60 },\r\n }));\r\n\r\n const [springsLogo, apiLogo] = useSpring(() => ({\r\n from: {\r\n width: isExpandedLeftNav ? 180 : collapsedNavWidth,\r\n height: isExpandedLeftNav ? 120 : collapsedNavWidth,\r\n },\r\n }));\r\n\r\n const [springsFooter, apiFooter] = useSpring(() => ({\r\n from: {\r\n transform: isExpandedLeftNav ? \"translateX(0px)\" : \"translateX(-250px)\",\r\n },\r\n }));\r\n\r\n const handleExpandLeftNav = useCallback(() => {\r\n sessionStorage.setItem(\"expandedStatusLeft\", \"true\");\r\n setIsExpandedLeftNav(true);\r\n api.start({\r\n from: {\r\n width: 60,\r\n },\r\n to: {\r\n width: 340,\r\n },\r\n });\r\n apiLogo.start({\r\n from: {\r\n width: collapsedNavWidth,\r\n height: 40,\r\n },\r\n to: {\r\n width: 180,\r\n height: 120,\r\n },\r\n });\r\n apiFooter.start({\r\n from: {\r\n transform: \"translateX(-250px)\",\r\n },\r\n to: {\r\n transform: \"translateX(0px)\",\r\n },\r\n });\r\n }, [setIsExpandedLeftNav, apiFooter, apiLogo, api, collapsedNavWidth]);\r\n\r\n const handleCollapseLeftNav = useCallback(() => {\r\n sessionStorage.setItem(\"expandedStatusLeft\", \"false\");\r\n setIsExpandedLeftNav(false);\r\n api.start({\r\n from: {\r\n width: 340,\r\n },\r\n to: {\r\n width: 60,\r\n },\r\n });\r\n apiLogo.start({\r\n from: {\r\n width: 180,\r\n height: 120,\r\n },\r\n to: {\r\n width: collapsedNavWidth,\r\n height: 40,\r\n },\r\n });\r\n apiFooter.start({\r\n from: {\r\n transform: \"translateX(0px)\",\r\n },\r\n to: {\r\n transform: \"translateX(-250px)\",\r\n },\r\n });\r\n }, [setIsExpandedLeftNav, apiFooter, apiLogo, api, collapsedNavWidth]);\r\n\r\n useEffect(() => {\r\n if (sessionStorage.getItem(\"expandedStatusLeft\") === null) {\r\n sessionStorage.setItem(\"expandedStatusLeft\", \"true\");\r\n } else {\r\n return;\r\n }\r\n });\r\n\r\n let logo = FairGoLogo;\r\n if (themeName === brands.nimbleBrand.themeName) {\r\n logo = NimbleLogo;\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 {`${companyName}\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 SidebarLeftDesktop;\r\n","import { PageWrapper } from './pageWrapper';\r\nexport default PageWrapper;","import React, { useState } from \"react\";\r\nimport Wrapper from \"./pageWrapper.styles\";\r\nimport SidebarMobile from \"../../components/sidebar\";\r\nimport MainHeader from \"../../components/mainHeader\";\r\nimport SidebarRightDesktop from \"../../components/sidebar/sidebarRightDesktop\";\r\nimport SidebarLeftDesktop from \"../../components/sidebar/sidebarLeftDesktop\";\r\nimport { Helmet } from 'react-helmet-async';\r\nimport { nimbleFavicon } from '@config/nimble';\r\nimport { fgfFavicon } from '@config/fgf';\r\n\r\nexport const PageWrapper = ({\r\n children,\r\n shouldShowSidebarContent,\r\n shouldShowHeader,\r\n setShowNotifications\r\n}) => {\r\n const [showSidebarLeft, setShowSidebarLeft] = useState(false);\r\n const [showSidebarRight, setShowSidebarRight] = useState(false);\r\n \r\n const isNimbleSite = (window.location.href).includes('nimble');\r\n const siteMeta = {\r\n favicon: isNimbleSite ? nimbleFavicon : fgfFavicon,\r\n title: isNimbleSite ? \"Nimble\" : \"Fair Go Finance\",\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 {children}\r\n
\r\n \r\n
\r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/SharpGroteskBook20-Regular.88704422.woff2\";","import { createGlobalStyle, css } from \"styled-components\";\r\nimport NimbleFont from \"../assets/fonts/SharpGroteskBook20-Regular.woff2\";\r\n\r\nconst GlobalStyles = createGlobalStyle(({ theme }) => css`\r\n@font-face {\r\n font-family: \"SharpGroteskBook\";\r\n src: url(${NimbleFont}) format('woff2');\r\n font-weight: normal;\r\n font-style: normal;\r\n font-display: swap;\r\n}\r\n\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6,\r\na,\r\np,\r\nli,\r\ninput,\r\ntextarea,\r\nspan,\r\ndiv,\r\nimg,\r\nsvg {\r\n &::selection {\r\n background: ${theme.palette.text.body};\r\n color: ${theme.palette.main.white};\r\n }\r\n}\r\n*:focus{\r\n outline: none;\r\n}\r\n/********** Add Your Global CSS Here **********/\r\n\r\nbody {\r\n -webkit-overflow-scrolling: touch;\r\n font-size: 15px;\r\n}\r\n\r\nhtml h1,\r\nhtml h2,\r\nhtml h3,\r\nhtml h4,\r\nhtml h5,\r\nhtml h6,\r\nhtml a,\r\nhtml p,\r\nhtml li,\r\ninput,\r\ntextarea,\r\nspan,\r\ndiv,\r\nhtml,\r\nbody,\r\nhtml a {\r\n margin: 0;\r\n font-family: ${theme.fonts.body};\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);\r\n}\r\n\r\nhtml, body {\r\n height: 100%;\r\n}\r\n\r\n#root {\r\n background-color: #fff;\r\n height: 100%;\r\n min-height: 100%;\r\n}\r\n\r\nhtml ul {\r\n -webkit-padding-start: 0px;\r\n list-style: none;\r\n margin-bottom: 0;\r\n}\r\n\r\n.page-subheading{\r\n max-width: 580px;\r\n margin: 10px auto;\r\n}\r\n\r\na {\r\n word-break: break-all\r\n}\r\n\r\n\r\nselect, \r\ninput{\r\n font-size: 15px;\r\n}\r\n\r\n// // comment/uncomment to disable/enable scroll lock on modal open\r\n// .ReactModal__Body--open {\r\n// overflow: hidden;\r\n// }\r\n\r\n.no-word-break{\r\n word-break: normal;\r\n}\r\n\r\n.mobile-hidden{\r\n display:none;\r\n}\r\n\r\n.desktop-hidden{\r\n display:block;\r\n}\r\n\r\n.flex-column {\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.space-between {\r\n justify-content: space-between;\r\n}\r\n\r\n@media only screen and (min-width: ${theme.breakpoints.M}) {\r\n .desktop-hidden{\r\n display:none;\r\n }\r\n .mobile-hidden{\r\n display:block;\r\n}\r\n}\r\n`);\r\n\r\nexport default GlobalStyles;\r\n","import { loadingBrand } from \"@theme/config\";\r\nimport actions from \"./actions\";\r\n\r\nconst initState = {\r\n brandKey: \"loadingBrand\",\r\n brand: loadingBrand\r\n};\r\n\r\nexport default function(state = initState, action) {\r\n switch (action.type) {\r\n case actions.INITIALISE_QUERY_STRING:\r\n return {\r\n ...state,\r\n queryString: action.payload,\r\n };\r\n case actions.CHANGE_BRAND:\r\n return {\r\n ...state,\r\n ...action.payload\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","const blankClient = {\r\n clientDetails: {\r\n firstName: \"\",\r\n lastName: \"\",\r\n emailAddress: \"\",\r\n mobile: \"\",\r\n },\r\n openAccounts: [],\r\n creditScores: [],\r\n tailoredMessage: {\r\n bannerMessage: null,\r\n desktopMessage: null,\r\n mobileMessage: null,\r\n },\r\n eligibilityResult: {\r\n \"applyTopUpPersonalLoan\":\r\n {\r\n \"isEligible\": false\r\n },\r\n \"applyNewPersonalLoan\":\r\n {\r\n \"isEligible\": false\r\n },\r\n \"applyNewLineOfCredit\":\r\n {\r\n \"isEligible\": false\r\n },\r\n \"drawDownLineOfCredit\":\r\n {\r\n \"isEligible\": false\r\n },\r\n \"lineOfCreditLimitIncrease\":\r\n {\r\n \"isEligible\": false\r\n },\r\n \"applyNewAutoLoan\":\r\n {\r\n \"isEligible\": false\r\n }\r\n }\r\n};\r\nexport default blankClient;","import actions from \"./actions\";\r\nimport { APP_STATE } from \"../../constants/commonConstants\";\r\nimport blankClientData from '../../models/blankClient.model';\r\n\r\nconst accountWillReceiveTransactions = (accountNumber) => (account) => account.accountNumber === accountNumber;\r\n\r\nconst initState = {\r\n clientData: {\r\n eligibilityResult: {}\r\n },\r\n accountId: \"\",\r\n payFullArrears: false,\r\n arrearsAmount: \"\",\r\n appState: APP_STATE.LOADING,\r\n eligibilityState: APP_STATE.LOADING,\r\n isFetchingTransactions: false,\r\n};\r\n\r\nconst selectOpenAccounts = (state) => state.clientData.openAccounts;\r\nconst selectClosedAccounts = (state) => state.clientData.closedAccounts;\r\n\r\nfunction createNewAccountWithTransactions(accountToAddTransactionsTo, payload, state, type) {\r\n const accountWithTransactions = {\r\n ...accountToAddTransactionsTo,\r\n transactions: {\r\n items: payload.transactions\r\n },\r\n };\r\n\r\n let accountState;\r\n\r\n if (type === \"open\") {\r\n accountState = selectOpenAccounts;\r\n }\r\n if (type === \"closed\") {\r\n accountState = selectClosedAccounts;\r\n }\r\n\r\n return accountState(state).map((account) => accountWillReceiveTransactions(payload.accountNumber)(account) ? accountWithTransactions : account);\r\n}\r\n\r\nexport default function (state = initState, action) {\r\n const { type, payload } = action;\r\n switch (type) {\r\n case actions.GET_CLIENT_DATA_START:\r\n return {\r\n ...state,\r\n appState: APP_STATE.LOADING,\r\n eligibilityState: APP_STATE.LOADING\r\n };\r\n case actions.GET_CLIENT_DATA_FAILED:\r\n return {\r\n ...state,\r\n appState: APP_STATE.ERROR,\r\n eligibilityState: APP_STATE.ERROR,\r\n clientData: blankClientData\r\n };\r\n case actions.GET_CLIENT_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n appState: APP_STATE.READY,\r\n eligibilityState: APP_STATE.READY,\r\n clientData: payload,\r\n };\r\n case actions.GET_ACCOUNT_TRANSACTIONS_START:\r\n return {\r\n ...state,\r\n isFetchingTransactions: true,\r\n }\r\n case actions.GET_ACCOUNT_TRANSACTIONS_SUCCESS:\r\n const accountToAddTransactionsTo = selectOpenAccounts(state).find(accountWillReceiveTransactions(payload.accountNumber));\r\n const closedAccountToAddTransactionsTo = selectClosedAccounts(state).find(accountWillReceiveTransactions(payload.accountNumber));\r\n if (typeof (accountToAddTransactionsTo) === \"undefined\") {\r\n if (closedAccountToAddTransactionsTo) {\r\n return {\r\n ...state,\r\n clientData: {\r\n ...state.clientData,\r\n closedAccounts: createNewAccountWithTransactions(closedAccountToAddTransactionsTo, payload, state, \"closed\")\r\n },\r\n isFetchingTransactions: false,\r\n };\r\n }\r\n \r\n return state;\r\n }\r\n\r\n return {\r\n ...state,\r\n clientData: {\r\n ...state.clientData,\r\n openAccounts: createNewAccountWithTransactions(accountToAddTransactionsTo, payload, state, \"open\")\r\n },\r\n isFetchingTransactions: false,\r\n };\r\n case actions.GET_ACCOUNT_TRANSACTIONS_FAILED:\r\n return {\r\n ...state,\r\n isFetchingTransactions: false,\r\n }\r\n case actions.SET_ACCOUNT_ID:\r\n return {\r\n ...state,\r\n accountId: payload,\r\n };\r\n case actions.SET_FULL_ARREARS:\r\n return {\r\n ...state,\r\n payFullArrears: true,\r\n };\r\n case actions.SET_ARREARS_AMOUNT:\r\n return {\r\n ...state,\r\n arrearsAmount: payload,\r\n };\r\n case actions.SET_INELIGIBLE:\r\n return {\r\n ...state,\r\n eligibilityResult: {\r\n ...state.eligibilityResult,\r\n [payload]: {\r\n isEligible: false\r\n }\r\n }\r\n };\r\n case actions.CLEAR_ACCOUNT_INFO:\r\n return {\r\n ...state,\r\n accountId: \"\",\r\n payFullArrears: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\n","import actions from \"./actions\";\r\n\r\nexport const prepareLoanForm = (values = {}) => {\r\n // sanitize\r\n return { ...values };\r\n}\r\n\r\nconst initState = {\r\n pendingFields: {},\r\n initialValue: prepareLoanForm(),\r\n loanFormError: false,\r\n loanFormSuccessfullySubmitted: false,\r\n loanFormErrorMessage: \"\",\r\n isFetching: false,\r\n stepNavigation: -1,\r\n breadcrumbStep: 0,\r\n hasShownLoanFormError: false,\r\n hasFormStarted: false,\r\n};\r\n\r\nexport default function (state = initState, action) {\r\n const { type } = action;\r\n switch (type) {\r\n case actions.MERGE_INITIAL_FIELD_VALUE:\r\n return {\r\n ...state,\r\n initialValue: prepareLoanForm({\r\n ...state.initialValue,\r\n ...action.payload,\r\n }),\r\n }\r\n case actions.REMOVE_PENDING_FIELD:\r\n const newPendingFields = { ...state.pendingFields };\r\n delete newPendingFields[action.payload];\r\n const pendingFields = state.pendingFields.hasOwnProperty(action.payload) ? newPendingFields : state.pendingFields;\r\n\r\n return {\r\n ...state,\r\n pendingFields,\r\n }\r\n\r\n case actions.PAGE_SUBMITTED:\r\n return {\r\n ...state,\r\n hasFormStarted: true,\r\n }\r\n\r\n case actions.POST_APPLICATION:\r\n return {\r\n ...state,\r\n initialValue: prepareLoanForm({\r\n ...state.initialValue,\r\n ...action.payload.values,\r\n }),\r\n stepNavigation: action.payload.step + 1,\r\n }\r\n case actions.SET_BREADCRUMB_STEP:\r\n return {\r\n ...state,\r\n stepNavigation: -1,\r\n breadcrumbStep: action.payload\r\n };\r\n\r\n case actions.POST_LOAN_FORM_START:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n loanFormSuccessfullySubmitted: false,\r\n loanFormErrorMessage: \"\",\r\n loanFormError: false,\r\n };\r\n\r\n case actions.POST_LOAN_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n loanFormSuccessfullySubmitted: true,\r\n isFetching: false,\r\n };\r\n\r\n case actions.POST_LOAN_FORM_ERROR:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n loanFormErrorMessage: action.payload.errMessage,\r\n loanFormError: true,\r\n loanFormSuccessfullySubmitted: false,\r\n hasShownLoanFormError: true,\r\n };\r\n\r\n case actions.CLEAR_ERROR:\r\n return {\r\n ...state,\r\n loanFormErrorMessage: \"\",\r\n loanFormError: false,\r\n }\r\n\r\n case actions.RESET_FORM:\r\n return {\r\n ...initState,\r\n stepNavigation: 0,\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import actions from \"./actions\";\r\n\r\nexport const prepareLoanForm = (values = {}) => {\r\n // sanitize\r\n return { ...values };\r\n}\r\n\r\nconst initState = {\r\n pendingFields: {},\r\n initialValue: prepareLoanForm(),\r\n loanFormError: false,\r\n loanFormSuccessfullySubmitted: false,\r\n loanFormErrorMessage: \"\",\r\n isFetching: false,\r\n hasShownLoanFormError: false,\r\n hasFormStarted: false,\r\n isFormValidated: false,\r\n};\r\n\r\nexport default function (state = initState, action) {\r\n const { type } = action;\r\n switch (type) {\r\n case actions.MANAGE_REPAYMENT_MERGE_INITIAL_FIELD_VALUE:\r\n return {\r\n ...state,\r\n initialValue: prepareLoanForm({\r\n ...state.initialValue,\r\n ...action.payload,\r\n }),\r\n }\r\n case actions.MANAGE_REPAYMENT_REMOVE_PENDING_FIELD:\r\n const newPendingFields = { ...state.pendingFields };\r\n delete newPendingFields[action.payload];\r\n const pendingFields = state.pendingFields.hasOwnProperty(action.payload) ? newPendingFields : state.pendingFields;\r\n\r\n return {\r\n ...state,\r\n pendingFields,\r\n }\r\n\r\n case actions.MANAGE_REPAYMENT_POST_APPLICATION:\r\n return {\r\n ...state,\r\n initialValue: prepareLoanForm({\r\n ...state.initialValue,\r\n ...action.payload.values,\r\n }),\r\n }\r\n\r\n case actions.MANAGE_REPAYMENT_VALIDATE_FORM: //MANAGE_REPAYMENT_VALIDATE_FORM and MANAGE_REPAYMENT_INVALIDATE_FORM exists so we can check if the payment amount input is valid, and show different button text if it is.\r\n return {\r\n ...state,\r\n isFormValidated: true,\r\n }\r\n\r\n case actions.MANAGE_REPAYMENT_INVALIDATE_FORM:\r\n return {\r\n ...state,\r\n isFormValidated: false,\r\n }\r\n \r\n case actions.MANAGE_REPAYMENT_POST_LOAN_FORM_START:\r\n return {\r\n ...state,\r\n isFetching: true,\r\n loanFormSuccessfullySubmitted: false,\r\n loanFormErrorMessage: \"\",\r\n loanFormError: false,\r\n };\r\n\r\n case actions.MANAGE_REPAYMENT_POST_LOAN_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n loanFormSuccessfullySubmitted: true,\r\n isFetching: false,\r\n };\r\n\r\n case actions.MANAGE_REPAYMENT_POST_LOAN_FORM_ERROR:\r\n return {\r\n ...state,\r\n isFetching: false,\r\n loanFormErrorMessage: action.payload.errMessage,\r\n loanFormError: true,\r\n loanFormSuccessfullySubmitted: false,\r\n hasShownLoanFormError: true,\r\n };\r\n\r\n case actions.MANAGE_REPAYMENT_CLEAR_ERROR:\r\n return {\r\n ...state,\r\n loanFormErrorMessage: \"\",\r\n loanFormError: false,\r\n }\r\n\r\n case actions.MANAGE_REPAYMENT_RESET_FORM:\r\n return {\r\n ...initState,\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import actions from \"./actions\";\r\nimport { APP_STATE } from \"../../constants/commonConstants\";\r\n\r\nconst initState = {\r\n helpData: {},\r\n helpContentState: \"\",\r\n bannerData: {},\r\n bannerDataState: \"\",\r\n accountNotificationData: {},\r\n accountNotificationDataState: \"\",\r\n};\r\n\r\nexport default function (state = initState, action) {\r\n const { type, payload } = action;\r\n switch (type) {\r\n case actions.GET_HELP_CONTENT_DATA_START:\r\n return {\r\n ...state,\r\n helpContentState: APP_STATE.LOADING,\r\n };\r\n case actions.GET_HELP_CONTENT_DATA_FAILED:\r\n return {\r\n ...state,\r\n helpContentState: APP_STATE.ERROR,\r\n };\r\n case actions.GET_HELP_CONTENT_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n helpContentState: APP_STATE.READY,\r\n helpData: payload,\r\n };\r\n case actions.GET_BANNER_CONTENT_DATA_START:\r\n return {\r\n ...state,\r\n bannerDataState: APP_STATE.LOADING,\r\n };\r\n case actions.GET_BANNER_CONTENT_DATA_FAILED:\r\n return {\r\n ...state,\r\n bannerDataState: APP_STATE.ERROR,\r\n };\r\n case actions.GET_BANNER_CONTENT_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n bannerDataState: APP_STATE.READY,\r\n bannerData: payload,\r\n };\r\n case actions.GET_ACCOUNT_NOTIFICATIONS_DATA_START:\r\n return {\r\n ...state,\r\n accountNotificationDataState: APP_STATE.LOADING,\r\n };\r\n case actions.GET_ACCOUNT_NOTIFICATIONS_DATA_FAILED:\r\n return {\r\n ...state,\r\n accountNotificationDataState: APP_STATE.ERROR,\r\n };\r\n case actions.GET_ACCOUNT_NOTIFICATIONS_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n accountNotificationDataState: APP_STATE.READY,\r\n accountNotificationData: payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { all, takeLatest, put } from \"redux-saga/effects\";\r\nimport actions from \"./actions\";\r\nimport { determineBrandAndBrandKey, getBrandFromHost } from \"@theme/config\";\r\n\r\nfunction* setInitialTheme() {\r\n const host = window.location.hostname.toLocaleLowerCase();\r\n const brandKeyFromHost = getBrandFromHost(host);\r\n const { brand, brandKey } = determineBrandAndBrandKey(brandKeyFromHost);\r\n yield put(actions.changeTheme({ brandKey, brand }));\r\n}\r\n\r\nexport const __TEST__ = {\r\n setInitialTheme,\r\n};\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeLatest(actions.INITIALISE_QUERY_STRING, setInitialTheme)\r\n ]);\r\n}\r\n","import authenticatedPopsApi from \"../utils/portalApi\";\r\nimport { GET_CLIENT_PROFILE, getAccountTransactionsEndpoint } from \"./apiRoutes\";\r\n\r\nexport const getClientData = async () =>\r\n authenticatedPopsApi.get(GET_CLIENT_PROFILE);\r\n\r\nexport const getAccountTransactions = async (accountNumber) =>\r\n authenticatedPopsApi.get(getAccountTransactionsEndpoint(accountNumber));","import { all, takeLatest, call, put } from \"redux-saga/effects\";\r\nimport actions from \"./actions\";\r\nimport { getAccountTransactions, getClientData } from \"../../services/clientApi\";\r\n\r\nfunction* getClientDataCall() {\r\n try {\r\n const response = yield call(getClientData);\r\n const { data } = response;\r\n const { code, value } = data;\r\n if (code === 200) {\r\n yield put(actions.getClientDataSuccess(value));\r\n } else {\r\n yield put(actions.getClientDataFailed());\r\n }\r\n } catch (e) {\r\n yield put(actions.getClientDataFailed());\r\n }\r\n}\r\n\r\nfunction* getAccountTransactionsCall({ payload: accountNumber }) {\r\n try {\r\n const response = yield call(getAccountTransactions, accountNumber);\r\n const { data, status } = response;\r\n const { value } = data || {};\r\n const { success, accountTransactions } = value;\r\n if (status === 200 && success) {\r\n yield put(actions.getTransactionsSuccess({ accountNumber, transactions: accountTransactions }));\r\n } else {\r\n yield put(actions.getTransactionsFailed());\r\n }\r\n } catch (e) {\r\n yield put(actions.getTransactionsFailed());\r\n }\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeLatest(actions.GET_CLIENT_DATA_START, getClientDataCall),\r\n takeLatest(actions.GET_ACCOUNT_TRANSACTIONS_START, getAccountTransactionsCall),\r\n ]);\r\n}\r\n","import authenticatedPopsApi from \"../utils/portalApi\";\r\n\r\nexport const postLoanForm = async (endpoint, loanForm) =>\r\n authenticatedPopsApi.post(endpoint, loanForm);","export const WENT_WRONG_MESSAGE = \"Something went wrong.\";\r\n","import { call, put } from \"redux-saga/effects\";\r\nimport { postLoanForm } from \"../../services/applicationFormApi\";\r\nimport { WENT_WRONG_MESSAGE } from \"../../constants/commonMessage\";\r\n\r\nexport function* submitForm(endpoint, loanFormValues, actions) {\r\n try {\r\n const response = yield call(postLoanForm, endpoint, loanFormValues);\r\n const { status } = response;\r\n\r\n switch (status) {\r\n case 200:\r\n yield put(actions.postLoanFormSuccess());\r\n break;\r\n default: {\r\n yield put(\r\n actions.postLoanFormError({ errMessage: WENT_WRONG_MESSAGE })\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n yield put(\r\n actions.postLoanFormError({\r\n errMessage: error.message || WENT_WRONG_MESSAGE\r\n })\r\n );\r\n }\r\n}","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\nimport { prepareLoanForm } from \"./reducer\";\r\nimport actions from \"./actions\";\r\nimport { submitForm } from \"../utility/shared\";\r\n\r\nfunction* loanForm(action) {\r\n const { payload } = action;\r\n const { values, step, endpoint, submitFormStep } = payload;\r\n\r\n yield put(actions.pageSubmitted());\r\n\r\n\r\n if (!submitFormStep) {\r\n return;\r\n }\r\n\r\n yield put(actions.postLoanFormStart());\r\n\r\n const loanFormPost = prepareLoanForm({ values, step });\r\n\r\n yield call(submitForm, endpoint, loanFormPost.values, actions);\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeLatest(actions.POST_APPLICATION, loanForm),\r\n ]);\r\n}","import { all, call, put, takeLatest } from \"redux-saga/effects\";\r\nimport { prepareLoanForm } from \"./reducer\";\r\nimport actions from \"./actions\";\r\nimport { submitForm } from \"../utility/shared\";\r\n\r\nfunction* loanForm(action) {\r\n const { payload } = action;\r\n const { values, endpoint } = payload;\r\n\r\n yield put(actions.postLoanFormStart());\r\n\r\n const loanFormPost = prepareLoanForm({ values });\r\n\r\n yield call(submitForm, endpoint, loanFormPost.values, actions);\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeLatest(actions.MANAGE_REPAYMENT_POST_APPLICATION, loanForm),\r\n ]);\r\n}","import { environmentSettings } from \"../constants/environmentSettings\";\r\n\r\nconst { contentManagementUrl, contentToken } = environmentSettings;\r\n\r\nexport const CONTENT_URL = contentManagementUrl;\r\nexport const CONTENT_TOKEN = contentToken;\r\nexport const HELP_CONTENT = \"/api/help-entries?populate=*\";\r\nexport const BANNER_CONTENT = \"/api/banner-messages?populate=*\";\r\nexport const ACCOUNT_NOTIFICATION = \"/api/account-messages?populate=*\";","/**\r\n * @description axios for fetching data via services\r\n */\r\n import axios from \"axios\";\r\n import { CONTENT_URL, CONTENT_TOKEN } from \"../services/contentRoutes\";\r\n \r\n const strapiApi = axios.create({\r\n baseURL: CONTENT_URL,\r\n timeout: 300000, // 5 min\r\n headers: {\r\n Authorization: `Bearer ${CONTENT_TOKEN}`,\r\n },\r\n });\r\n \r\n export default strapiApi;","import strapiApi from \"../utils/strapiApi\";\r\nimport { HELP_CONTENT, BANNER_CONTENT, ACCOUNT_NOTIFICATION } from \"./contentRoutes\";\r\n\r\nexport const getHelpContentData = async () => strapiApi.get(HELP_CONTENT);\r\nexport const getBannerContentData = async () => strapiApi.get(BANNER_CONTENT);\r\nexport const getAccountNotificationsContentData = async () => strapiApi.get(ACCOUNT_NOTIFICATION);\r\n\r\n","import { all, takeLatest, call, put } from \"redux-saga/effects\";\r\nimport actions from \"./actions\";\r\nimport { getHelpContentData, getBannerContentData, getAccountNotificationsContentData } from \"../../services/contentApi\";\r\n\r\nfunction* getHelpContentDataCall() {\r\n try {\r\n const response = yield call(getHelpContentData);\r\n const { data: { data } } = response;\r\n\r\n if (data) {\r\n yield put(actions.getHelpContentDataSuccess(data));\r\n } else {\r\n yield put(actions.getHelpContentDataFailed());\r\n }\r\n } catch (e) {\r\n yield put(actions.getHelpContentDataFailed());\r\n }\r\n}\r\n\r\nfunction* getBannerContentDataCall() {\r\n try {\r\n const response = yield call(getBannerContentData);\r\n const { data: { data } } = response;\r\n\r\n if (data) {\r\n yield put(actions.getBannerContentDataSuccess(data));\r\n } else {\r\n yield put(actions.getBannerContentDataFailed());\r\n }\r\n } catch (e) {\r\n yield put(actions.getBannerContentDataFailed());\r\n }\r\n}\r\n\r\nfunction* getAccountNotificationsDataCall() {\r\n try {\r\n const response = yield call(getAccountNotificationsContentData);\r\n const { data: { data } } = response;\r\n\r\n if (data) {\r\n yield put(actions.getAccountNotificationsDataSuccess(data));\r\n } else {\r\n yield put(actions.getAccountNotificationsDataFailed());\r\n }\r\n } catch (e) {\r\n yield put(actions.getAccountNotificationsDataFailed());\r\n }\r\n}\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n takeLatest(actions.GET_HELP_CONTENT_DATA_START, getHelpContentDataCall),\r\n takeLatest(actions.GET_BANNER_CONTENT_DATA_START, getBannerContentDataCall),\r\n takeLatest(actions.GET_ACCOUNT_NOTIFICATIONS_DATA_START, getAccountNotificationsDataCall),\r\n ]);\r\n}\r\n","/**\r\n * @description Common Saga combined\r\n */\r\n\r\nimport { all } from \"redux-saga/effects\";\r\nimport startUpSagas from \"../redux/startup/sagas\";\r\nimport clientSagas from \"../redux/client/sagas\";\r\nimport applicationFormSagas from \"../redux/applicationForm/sagas\";\r\nimport manageRepaymentsFormSagas from \"../redux/manageRepaymentsForm/sagas\";\r\nimport contentDeliverySagas from \"../redux/contentDelivery/sagas\";\r\n\r\nexport default function* rootSaga(getState) {\r\n yield all([\r\n startUpSagas(getState), \r\n clientSagas(getState),\r\n applicationFormSagas(getState),\r\n manageRepaymentsFormSagas(getState),\r\n contentDeliverySagas(getState),\r\n ]);\r\n}\r\n","export const eligibleKey = \"eligible\";\r\nexport const johnAccountKey = \"johnAccount\";","import { createJohnClientReplacer } from \"./replacers\";\r\n\r\nexport const createOptionalDispatchIntercept = (replacements) => (optionName, action) => {\r\n const isEnabled = window.sessionStorage.getItem(optionName) === \"true\";\r\n\r\n if (isEnabled) {\r\n replacements[action.type] = action;\r\n }\r\n};\r\n\r\nexport const bootstrapReplacers = () => {\r\n const replacements = {};\r\n const optionalDispatchIntercept = createOptionalDispatchIntercept(replacements);\r\n\r\n // createEligibilityTrueReplacer(optionalDispatchIntercept);\r\n createJohnClientReplacer(optionalDispatchIntercept);\r\n\r\n return replacements;\r\n};","import { johnAccountKey } from \"../constants\";\r\nimport {\r\n DECREASE_PAYMENT_STATES,\r\n INCREASE_PAYMENT_STATES,\r\n} from \"../../../constants/commonConstants\";\r\n\r\nexport const createJohnClientReplacer = (optionalDispatchIntercept) => {\r\n optionalDispatchIntercept(johnAccountKey, {\r\n type: \"GET_CLIENT_DATA_SUCCESS\",\r\n payload: {\r\n clientDetails: {\r\n firstName: \"John\",\r\n lastName: \"Doe\",\r\n mobile: \"0415665654\",\r\n emailAddress: \"john.doe@test.com\",\r\n clientId: \"C125053\",\r\n unitNumber: \"\",\r\n streetNumber: \"111\",\r\n suburb: \"North Melbourne\",\r\n street: \"Canning St\",\r\n state: \"VIC\",\r\n postCode: \"3051\",\r\n businessName: \"X Corp\",\r\n employerPhone: \"1800000000\",\r\n employmentBasis: \"Full Time Work\",\r\n dateStarted: {\r\n day: 1,\r\n month: 1,\r\n year: 2009,\r\n },\r\n numberOfDependents: \"0\",\r\n },\r\n openAccounts: [\r\n {\r\n percentRepaid: 0.7723719695381821,\r\n monitorCategoryA: \"\",\r\n availableCredit: -814.51,\r\n accountNumber: \"622529\",\r\n accountType: \"MACC\",\r\n accountDescription: \"PL\",\r\n accountPurpose: \"Wedding Expenses\",\r\n netBalance: 1052.29,\r\n contractedPaymentRegular: 131.87,\r\n minimumPaymentValue: 0,\r\n openedDate: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n dateQuoted: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n nextPaymentDate: { day: 13, month: 6, year: 2023 },\r\n arrearsValue: -2631.87,\r\n nextPaymentAmount: 250,\r\n loanAmountAdvanced: 3000,\r\n loanAmountRefinance: 0,\r\n payFrequency: \"f\",\r\n hasPendingTransaction: false,\r\n increaseRepayments: INCREASE_PAYMENT_STATES.SCHEDULE_MORE_THAN_TWO,\r\n decreaseRepayments:\r\n DECREASE_PAYMENT_STATES.REDIRECT_MANAGE_REPAYMENTS,\r\n arrears: \"\",\r\n termCycle: \"471d\",\r\n paymentPercentages: {\r\n repaid: 100,\r\n unpaid: 0,\r\n arrears: 0,\r\n scheduledPayment: 0,\r\n totalPercentage: 100,\r\n },\r\n\r\n scheduledPayments: [\r\n {\r\n date: { day: 2, month: 5, year: 2023 },\r\n balance: 5500,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 16, month: 5, year: 2023 },\r\n balance: 5350,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 30, month: 5, year: 2023 },\r\n balance: 5200,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 13, month: 6, year: 2023 },\r\n balance: 4900,\r\n status: \"Due\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 27, month: 6, year: 2023 },\r\n balance: 4900,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: true,\r\n },\r\n {\r\n date: { day: 10, month: 7, year: 2023 },\r\n balance: 4920,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 24, month: 7, year: 2023 },\r\n balance: 4500,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 8, month: 8, year: 2023 },\r\n balance: 4350,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 22, month: 8, year: 2023 },\r\n balance: 4300,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 5, month: 9, year: 2023 },\r\n balance: 4200,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 19, month: 9, year: 2023 },\r\n balance: 4100,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 2, month: 10, year: 2023 },\r\n balance: 3950,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 16, month: 10, year: 2023 },\r\n balance: 3800,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 30, month: 10, year: 2023 },\r\n balance: 3550,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 14, month: 11, year: 2023 },\r\n balance: 3320,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 28, month: 11, year: 2023 },\r\n balance: 3100,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 12, month: 12, year: 2023 },\r\n balance: 2950,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 26, month: 12, year: 2023 },\r\n balance: 2700,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 9, month: 1, year: 2024 },\r\n balance: 2550,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 23, month: 1, year: 2024 },\r\n balance: 2250,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 7, month: 2, year: 2024 },\r\n balance: 2100,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 21, month: 2, year: 2024 },\r\n balance: 1900,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 7, month: 3, year: 2024 },\r\n balance: 1850,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 21, month: 3, year: 2024 },\r\n balance: 1750,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 4, month: 4, year: 2024 },\r\n balance: 1600,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 28, month: 4, year: 2024 },\r\n balance: 1500,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n ],\r\n },\r\n {\r\n percentRepaid: 0.7723719695381821,\r\n monitorCategoryA: \"PREHSHIP\",\r\n availableCredit: -814.51,\r\n accountNumber: \"622528\",\r\n accountType: \"LACC\",\r\n accountDescription: \"CL\",\r\n accountPurpose: \"Vehicle Purchase\",\r\n netBalance: 6000.29,\r\n contractedPaymentRegular: 131.87,\r\n minimumPaymentValue: 0,\r\n openedDate: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n dateQuoted: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n nextPaymentDate: { day: 21, month: 3, year: 2024 },\r\n arrearsValue: -0,\r\n nextPaymentAmount: 250,\r\n loanAmountAdvanced: 3000,\r\n loanAmountRefinance: 0,\r\n payFrequency: \"f\",\r\n hasPendingTransaction: false,\r\n increaseRepayments: INCREASE_PAYMENT_STATES.SCHEDULE_MORE_THAN_TWO,\r\n decreaseRepayments:\r\n DECREASE_PAYMENT_STATES.SHOW_CONTACT_US,\r\n arrears: \"\",\r\n termCycle: \"471d\",\r\n paymentPercentages: {\r\n repaid: 0,\r\n unpaid: 70,\r\n arrears: 0,\r\n scheduledPayment: 30,\r\n totalPercentage: 100,\r\n },\r\n\r\n scheduledPayments: [\r\n {\r\n date: { day: 2, month: 5, year: 2023 },\r\n balance: 5500,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 16, month: 5, year: 2023 },\r\n balance: 5350,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 30, month: 5, year: 2023 },\r\n balance: 5200,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 13, month: 6, year: 2023 },\r\n balance: 4900,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 27, month: 6, year: 2023 },\r\n balance: 4900,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 10, month: 7, year: 2023 },\r\n balance: 4920,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 24, month: 7, year: 2023 },\r\n balance: 4500,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 8, month: 8, year: 2023 },\r\n balance: 4350,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 22, month: 8, year: 2023 },\r\n balance: 4300,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 5, month: 9, year: 2023 },\r\n balance: 4200,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 19, month: 9, year: 2023 },\r\n balance: 4100,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 2, month: 10, year: 2023 },\r\n balance: 3950,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 16, month: 10, year: 2023 },\r\n balance: 3800,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 30, month: 10, year: 2023 },\r\n balance: 3550,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 14, month: 11, year: 2023 },\r\n balance: 3320,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 28, month: 11, year: 2023 },\r\n balance: 3100,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 12, month: 12, year: 2023 },\r\n balance: 2950,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 26, month: 12, year: 2023 },\r\n balance: 2700,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 9, month: 1, year: 2024 },\r\n balance: 2550,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 23, month: 1, year: 2024 },\r\n balance: 2250,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 7, month: 2, year: 2024 },\r\n balance: 2100,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 21, month: 2, year: 2024 },\r\n balance: 1900,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 7, month: 3, year: 2024 },\r\n balance: 1850,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 21, month: 3, year: 2024 },\r\n balance: 1750,\r\n status: \"Due\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 4, month: 4, year: 2024 },\r\n balance: 1600,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: true,\r\n },\r\n {\r\n date: { day: 28, month: 4, year: 2024 },\r\n balance: 1500,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: true,\r\n },\r\n ],\r\n },\r\n {\r\n percentRepaid: 0.7723719695381821,\r\n monitorCategoryA: \"\",\r\n availableCredit: 500.29,\r\n accountNumber: \"622527\",\r\n accountType: \"LOC\",\r\n accountDescription: \"LOC\",\r\n accountPurpose: \"Emergency Funds\",\r\n netBalance: 500.29,\r\n contractedPaymentRegular: 131.87,\r\n minimumPaymentValue: 0,\r\n openedDate: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n dateQuoted: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n nextPaymentDate: { day: 5, month: 9, year: 2023 },\r\n arrearsValue: 30,\r\n nextPaymentAmount: 250,\r\n loanAmountAdvanced: 1200,\r\n loanAmountRefinance: 0,\r\n payFrequency: \"f\",\r\n hasPendingTransaction: false,\r\n increaseRepayments: INCREASE_PAYMENT_STATES.SCHEDULE_MORE_THAN_TWO,\r\n decreaseRepayments:\r\n DECREASE_PAYMENT_STATES.REDIRECT_MANAGE_REPAYMENTS,\r\n arrears: \"arrears-loc\",\r\n termCycle: \"471d\",\r\n paymentPercentages: {\r\n repaid: 50,\r\n unpaid: 30,\r\n arrears: 10,\r\n scheduledPayment: 10,\r\n totalPercentage: 100,\r\n },\r\n scheduledPayments: [\r\n {\r\n date: { day: 2, month: 5, year: 2023 },\r\n balance: 5500,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 16, month: 5, year: 2023 },\r\n balance: 5350,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 30, month: 5, year: 2023 },\r\n balance: 5200,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 13, month: 6, year: 2023 },\r\n balance: 4900,\r\n status: \"Missed\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 27, month: 6, year: 2023 },\r\n balance: 4900,\r\n status: \"Missed\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 10, month: 7, year: 2023 },\r\n balance: 4920,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 24, month: 7, year: 2023 },\r\n balance: 4500,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 8, month: 8, year: 2023 },\r\n balance: 4350,\r\n status: \"Paid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 22, month: 8, year: 2023 },\r\n balance: 4300,\r\n status: \"Repaid\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 5, month: 9, year: 2023 },\r\n balance: 4200,\r\n status: \"Due\",\r\n amount: 0,\r\n isPaymentPromise: true,\r\n },\r\n {\r\n date: { day: 19, month: 9, year: 2023 },\r\n balance: 4100,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: true,\r\n },\r\n {\r\n date: { day: 2, month: 10, year: 2023 },\r\n balance: 3950,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: true,\r\n },\r\n {\r\n date: { day: 16, month: 10, year: 2023 },\r\n balance: 3800,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 30, month: 10, year: 2023 },\r\n balance: 3550,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 14, month: 11, year: 2023 },\r\n balance: 3320,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 28, month: 11, year: 2023 },\r\n balance: 3100,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 12, month: 12, year: 2023 },\r\n balance: 2950,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 26, month: 12, year: 2023 },\r\n balance: 2700,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 9, month: 1, year: 2024 },\r\n balance: 2550,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 23, month: 1, year: 2024 },\r\n balance: 2250,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 7, month: 2, year: 2024 },\r\n balance: 2100,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 21, month: 2, year: 2024 },\r\n balance: 1900,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 7, month: 3, year: 2024 },\r\n balance: 1850,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 21, month: 3, year: 2024 },\r\n balance: 1750,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 4, month: 4, year: 2024 },\r\n balance: 1600,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n {\r\n date: { day: 28, month: 4, year: 2024 },\r\n balance: 1500,\r\n status: \"Future\",\r\n amount: 0,\r\n isPaymentPromise: false,\r\n },\r\n ],\r\n },\r\n ],\r\n quoteAccounts: [],\r\n closedAccounts: [],\r\n clientNotifications: [\"account-transaction-activity\", \"preferences-update\"],\r\n dashboardMessage: {\r\n dashboardPrimaryMessageModel: {\r\n banner: \"Hi John,\",\r\n desktopContent:\r\n \"In the coming months our clever tech team will deliver more functionality so you can manage your account. So watch this space!\",\r\n mobileContent:\r\n \"In the coming months our clever tech team will deliver more functionality so you can manage your account. So watch this space!\",\r\n icon: \"SmilingFace\",\r\n theme: \"ComfortGreen\",\r\n },\r\n dashboardPriorityPrimaryMessageModel: {\r\n banner: \"\",\r\n subBanner: \"\",\r\n desktopContent: \"\",\r\n mobileContent: \"\",\r\n expiry: \"\",\r\n icon: \"\",\r\n },\r\n dashboardSecondaryMessageModel: {\r\n banner: \"Combination of Reasons\",\r\n desktopContent:\r\n 'Your current loan request has unfortunately been unsuccessful due to a few reasons including your bank account conduct. To help improve your chances for approval in the future, here is a link to some helpful information. We will also be in touch over the coming months with more helpful tips that we hope can help you go forward, financially',\r\n mobileContent:\r\n 'Your current loan request has unfortunately been unsuccessful due to a few reasons including your bank account conduct. Here is a link to some helpful information and we\\'ll keep in touch with more',\r\n reapply:\r\n \"Please wait -357 days before re-applying (this can help protect your credit rating too.)\",\r\n show: false,\r\n icon: \"Information\",\r\n },\r\n },\r\n creditScores: [\r\n {\r\n score: 539,\r\n date: {\r\n day: 18,\r\n month: 2,\r\n year: 2021,\r\n },\r\n },\r\n ],\r\n hasHadFundedAccount: true,\r\n eligibilityResult: {\r\n applyNewAutoLoan: {\r\n isEligible: true,\r\n },\r\n applyNewLineOfCredit: {\r\n isEligible: true,\r\n },\r\n applyNewPersonalLoan: {\r\n isEligible: true,\r\n },\r\n applyTopUpPersonalLoan: {\r\n isEligible: true,\r\n },\r\n drawDownLineOfCredit: {\r\n isEligible: true,\r\n },\r\n lineOfCreditLimitIncrease: {\r\n isEligible: true,\r\n },\r\n },\r\n },\r\n });\r\n};\r\n","import { bootstrapWindowsTools } from \"./bootstrapWindowsTools\";\r\nimport { bootstrapReplacers } from \"./bootstrapReplacers\";\r\n\r\nexport const createDevActionsMiddleware = () => {\r\n bootstrapWindowsTools();\r\n const replacements = bootstrapReplacers();\r\n\r\n return (storeAPI) => (next) => (action) => {\r\n const { type } = action;\r\n\r\n if (replacements.hasOwnProperty(type)) {\r\n const replacementAction = replacements[type];\r\n\r\n console.log(`Found ${type} replacement via window.setDevToolsEnabled({${type}: true});, disable with window.setDevToolsEnabled({${type}: false});`);\r\n console.log(\"actual action: \", action);\r\n console.log(\"replaced with: \", replacementAction);\r\n\r\n return next(replacementAction);\r\n }\r\n\r\n return next(action);\r\n }\r\n};","import { eligibleKey, johnAccountKey } from \"./constants\";\r\n\r\nexport const bootstrapWindowsTools = () => {\r\n // i.e. window.setDevToolsEnabled({eligible: true, johnAccount: true})\r\n window.setDevToolsEnabled = ({ eligible = false, johnAccount = false, ...badOptions }) => {\r\n window.sessionStorage.setItem(eligibleKey, eligible.toString());\r\n window.sessionStorage.setItem(johnAccountKey, johnAccount.toString());\r\n\r\n if (Object.keys(badOptions).length > 0) {\r\n console.log(`The following options are not supported: ${Object.keys(badOptions).join(\", \")}`);\r\n }\r\n }\r\n};","import { createStore, applyMiddleware } from \"redux\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport { composeWithDevTools } from \"@redux-devtools/extension\";\r\nimport { createRootReducer } from \"./root-reducer\";\r\nimport rootSaga from \"./root-saga\";\r\nimport { createDevActionsMiddleware } from \"./devActionsMiddleware\";\r\nimport { isProduction } from './../utils/helpers/environment';\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst middlewares = [sagaMiddleware];\r\n\r\nconst bindMiddleware = middleware => {\r\n if (!isProduction()) {\r\n const devActionsMiddleware = createDevActionsMiddleware();\r\n return composeWithDevTools(applyMiddleware(...middleware, devActionsMiddleware));\r\n }\r\n return applyMiddleware(...middleware);\r\n};\r\n\r\nconst store = createStore(\r\n createRootReducer(),\r\n bindMiddleware(middlewares)\r\n);\r\n\r\nsagaMiddleware.run(rootSaga);\r\n\r\nexport default store;","import { combineReducers } from \"redux\";\r\nimport StartUp from \"./startup/reducer\";\r\nimport Client from \"./client/reducer\";\r\nimport applicationForm from \"./applicationForm/reducer\";\r\nimport manageRepaymentsForm from \"./manageRepaymentsForm/reducer\";\r\nimport ContentDelivery from \"./contentDelivery/reducer\";\r\n\r\nexport const createRootReducer = () => combineReducers({\r\n StartUp, // todo: make this not capitalised\r\n Client, // todo: make this not capitalised\r\n applicationForm,\r\n manageRepaymentsForm,\r\n ContentDelivery,\r\n});\r\n","import React from 'react';\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst ErrorWrapper = styled.div`\r\n display: flex;\r\n flex: 1;\r\n text-align: center;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 100vh;\r\n`;\r\n\r\nconst ErrorContainer = styled.div(({ theme }) => css`\r\n padding: 50px 20px;\r\n h1 {\r\n font-size: ${theme.fonts.sizes.h2};\r\n color: ${theme.palette.status.bad};\r\n margin-bottom: 12px;\r\n }\r\n\r\n p {\r\n font-size: ${theme.fonts.sizes.h6};\r\n margin-bottom: 8px;\r\n }\r\n`);\r\nclass ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hasError: false };\r\n }\r\n\r\n static getDerivedStateFromError(error) {\r\n return { hasError: true };\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n \r\n \r\n

Loading Failed

\r\n

Sorry, something went wrong.

\r\n

Please try reloading this page.

\r\n
\r\n
\r\n );\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","import { useContext } from \"../../utils/reactAdapter\";\r\nimport { useOnMount } from \"../../hooks\";\r\nimport { AuthContext } from \"../../providers/authProvider\";\r\n\r\nexport const useAuthMountCallback = (callback, secondsDelay = 0) => {\r\n const authContext = useContext(AuthContext);\r\n \r\n useOnMount(() => {\r\n setTimeout(() => {\r\n callback(authContext);\r\n }, secondsDelay * 1000)\r\n });\r\n};","import React, { useEffect, useState } from \"react\";\r\nimport Loader from \"../loader\";\r\nimport PageWrapper from \"../../containers/PageWrapper\";\r\nimport { useAuthMountCallback } from \"../../hooks/auth\";\r\nimport { REDIRECT_DELAY_SECONDS } from \"../../constants/commonConstants\";\r\n\r\nconst hangInThereDelay = 3000;\r\nconst tryReloadingDelay = hangInThereDelay + 7000;\r\n\r\nconst useLoaderMessage = () => {\r\n const [loaderMessage, setLoaderMessage] = useState(redirecting you);\r\n\r\n useEffect(() => {\r\n const hangInThereTimeoutId = setTimeout(() => {\r\n setLoaderMessage(hang in there, almost complete);\r\n }, hangInThereDelay);\r\n\r\n const tryReloadingTimeoutId = setTimeout(() => {\r\n setLoaderMessage(try reloading);\r\n }, tryReloadingDelay);\r\n\r\n return () => {\r\n clearTimeout(hangInThereTimeoutId);\r\n clearTimeout(tryReloadingTimeoutId);\r\n }\r\n }, [setLoaderMessage]);\r\n\r\n return loaderMessage;\r\n};\r\n\r\nexport const Callback = () => {\r\n const loaderMessage = useLoaderMessage();\r\n useAuthMountCallback(\r\n (authService) => authService.signinRedirectCallback(),\r\n REDIRECT_DELAY_SECONDS.STANDARD\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport PageWrapper from \"../../containers/PageWrapper\";\r\nimport Paper from \"../paper\";\r\nimport ContentWrapper from \"../contentWrapper\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst Wrapper = styled.div(({ theme }) => css`\r\n h1 {\r\n font-size: 24px;\r\n line-height: 1.33;\r\n letter-spacing: -0.2px;\r\n color: ${theme.palette.text.heading};\r\n text-align: center;\r\n margin-bottom: 16px;\r\n }\r\n a {\r\n display: block;\r\n text-align: center;\r\n color: ${theme.buttons.link.color};\r\n }\r\n`);\r\n\r\nexport const LoggedOut = () => (\r\n \r\n \r\n \r\n \r\n

Logged Out!

\r\n Home\r\n
\r\n
\r\n
\r\n \r\n);\r\n","import React from \"react\";\r\nimport { useAuthMountCallback } from \"../../hooks/auth\";\r\nimport PageWrapper from \"../../containers/PageWrapper\";\r\nimport Loader from \"../loader\";\r\nimport { REDIRECT_DELAY_SECONDS } from \"../../constants/commonConstants\";\r\n\r\nexport const Logout = () => {\r\n useAuthMountCallback(\r\n (authService) => authService.logout(),\r\n REDIRECT_DELAY_SECONDS.STANDARD\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useAuthMountCallback } from \"../../hooks/auth\";\r\nimport PageWrapper from \"../../containers/PageWrapper\";\r\nimport Loader from \"../loader\";\r\nimport { REDIRECT_DELAY_SECONDS } from \"../../constants/commonConstants\";\r\n\r\nexport const LogoutCallback = () => {\r\n useAuthMountCallback(\r\n (authService) => authService.signoutRedirectCallback(),\r\n REDIRECT_DELAY_SECONDS.STANDARD\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useAuthMountCallback } from \"../../hooks/auth\";\r\nimport PageWrapper from \"../../containers/PageWrapper\";\r\nimport Loader from \"../loader\";\r\nimport { REDIRECT_DELAY_SECONDS } from \"../../constants/commonConstants\";\r\n\r\nexport const SilentRenew = () => {\r\n useAuthMountCallback(\r\n (authService) => authService.signinSilentCallback(),\r\n REDIRECT_DELAY_SECONDS.STANDARD\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import { useAuthMountCallback } from \"../../hooks/auth\";\r\nimport React from \"react\";\r\nimport PageWrapper from \"../../containers/PageWrapper\";\r\nimport Loader from \"../loader\";\r\n\r\nexport const RedirectToSignin = (props) => {\r\n useAuthMountCallback((authContext) => authContext.signinRedirect(), 1);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useContext } from \"../../utils/reactAdapter\";\r\nimport { Route } from \"react-router-dom\";\r\nimport { AuthContext } from \"../../providers/authProvider\";\r\nimport { RedirectToSignin } from \"./redirectToSignin\";\r\n\r\nexport const PrivateRoute = ({ path, exact, component, children }) => {\r\n const authContext = useContext(AuthContext);\r\n \r\n return authContext.isAuthenticated() ? \r\n {children} : \r\n ;\r\n};","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport clientActions from \"../../redux/client/actions\";\r\nimport { useContext } from \"../../utils/reactAdapter\";\r\nimport { AuthContext } from \"../../providers/authProvider\";\r\n\r\nconst useAuthProfile = () => {\r\n const [profile, setProfile] = useState(() => ({}));\r\n const authContext = useContext(AuthContext);\r\n const { getUser } = authContext;\r\n \r\n useEffect(() => {\r\n const runGetUser = async () => {\r\n const user = await getUser();\r\n const {profile} = user || {};\r\n\r\n setProfile(profile);\r\n };\r\n \r\n runGetUser();\r\n }, [getUser, setProfile]);\r\n \r\n return profile;\r\n};\r\n\r\nfunction hasLoggedInUser(sub) {\r\n return !!sub;\r\n}\r\n\r\nconst TriggerGet = () => {\r\n const dispatch = useDispatch();\r\n const profile = useAuthProfile();\r\n const { sub } = profile || {};\r\n \r\n useEffect(() => {\r\n if (hasLoggedInUser(sub)) {\r\n dispatch(clientActions.getClientData());\r\n }\r\n }, [sub, dispatch]);\r\n\r\n return null;\r\n}\r\n\r\nexport default TriggerGet;\r\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst ErrorWrapper = styled.div`\r\n display: flex;\r\n flex: 1;\r\n text-align: center;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 100vh;\r\n`;\r\n\r\nconst ErrorContainer = styled.div(({ theme }) => css`\r\n max-width: 540px;\r\n padding: 50px 20px;\r\n h1 {\r\n font-size: ${theme.fonts.sizes.h2};\r\n color: ${theme.palette.status.bad};\r\n margin-bottom: 12px;\r\n\r\n @media (min-width: ${theme.breakpoints.S}) {\r\n font-size: ${theme.fonts.sizes.h1};\r\n }\r\n }\r\n\r\n p {\r\n font-size: ${theme.fonts.sizes.h6};\r\n margin-bottom: 8px;\r\n }\r\n`);\r\n\r\nconst PreHeading = styled.div(({ theme }) => css`\r\n font-size: ${theme.fonts.sizes.p1};\r\n`);\r\n\r\nexport const FourOhFour = () => {\r\n return (\r\n \r\n \r\n This page doesn't exist\r\n

404

\r\n

Sorry, the page you are looking for may have been moved, deleted, or possibly never existed.

\r\n Go back to the dashboard\r\n
\r\n
\r\n );\r\n};\r\n","import { FourOhFour } from \"./fourOhFour\";\r\n\r\nexport default FourOhFour;","import React, { lazy, Suspense, useEffect, useMemo } from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\nimport {\r\n CompatRoute,\r\n useSearchParams,\r\n useLocation,\r\n Navigate,\r\n} from \"react-router-dom-v5-compat\";\r\nimport { useSelector } from \"react-redux\";\r\nimport ErrorBoundary from \"./ErrorBoundary\";\r\nimport { PRIVATE_ROUTE, PUBLIC_ROUTE } from \"./route.constants\";\r\nimport Loader, { LoadingStubber } from \"./components/loader\";\r\nimport { Callback } from \"./components/auth/callback\";\r\nimport { LoggedOut } from \"./components/auth/loggedOut\";\r\nimport { Logout } from \"./components/auth/logout\";\r\nimport { LogoutCallback } from \"./components/auth/logoutCallback\";\r\nimport { SilentRenew } from \"./components/auth/silentRenew\";\r\nimport { PrivateRoute } from \"./components/routes\";\r\nimport TriggerGet from \"./components/triggerGet/TriggerGet\";\r\nimport FourOhFour from \"./containers/FourOhFour\";\r\n\r\nconst privateRoutes = [\r\n {\r\n path: PRIVATE_ROUTE.LANDING,\r\n exact: true,\r\n component: lazy(() => import(\"./containers/Dashboard\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.PAYMENT,\r\n exact: true,\r\n component: lazy(() => import(\"./containers/Payment\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.EZIDEBIT,\r\n exact: true,\r\n component: lazy(() => import(\"./containers/EziDebitForm\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.APPLY_PERSONAL_LOAN_APPLY,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/Forms/containers/ApplyPL\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.APPLY_REFINANCE,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/Forms/containers/ApplyTopUp\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.APPLY_LOC_APPLY,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/Forms/containers/ApplyLoc\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.APPLY_CAR_LOAN_APPLY,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/Forms/containers/ApplyCL\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.APPLY_LOC_DRAWDOWN,\r\n exact: false,\r\n component: lazy(() =>\r\n import(\"./containers/Forms/containers/ApplyLocDrawDown\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.APPLY_NOW_MENU,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/ApplyNowMenu\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.MANAGE_REPAYMENTS,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/ManageRepayments\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.LOAN_HISTORY,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/LoanHistory\")),\r\n },\r\n {\r\n path: PRIVATE_ROUTE.HELP,\r\n exact: false,\r\n component: lazy(() => import(\"./containers/HelpSection\")),\r\n },\r\n];\r\n\r\nexport default function Routes() {\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n const { queryString } = useSelector((state) => state.StartUp);\r\n const location = useLocation();\r\n\r\n const cachedSearchParamsValue = useMemo(() => {\r\n const utmTagKeys = [\r\n \"utm_source\",\r\n \"utm_medium\",\r\n \"utm_campaign\",\r\n \"utm_term\",\r\n \"utm_content\",\r\n ];\r\n\r\n let searchParamObject = {};\r\n for (const [key, value] of Object.entries(queryString)) {\r\n if (utmTagKeys.some((item) => item === key)) {\r\n searchParamObject[key] = value;\r\n }\r\n }\r\n return searchParamObject;\r\n }, [queryString]);\r\n\r\n useEffect(() => {\r\n const existingParams = Object.fromEntries([...searchParams]);\r\n if (location.pathname !== PUBLIC_ROUTE.INDEX) {\r\n setSearchParams({ ...existingParams, ...cachedSearchParamsValue });\r\n }\r\n }, [\r\n setSearchParams,\r\n cachedSearchParamsValue,\r\n location.pathname,\r\n searchParams,\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\n {privateRoutes.map((route, index) => (\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","import React, { useEffect } from \"react\";\r\nimport { useContext } from \"../../utils/reactAdapter\";\r\nimport { AuthContext } from \"../../providers/authProvider\";\r\nimport authenticatedPopsApi from \"../../utils/portalApi\";\r\nimport { getTokens } from \"./getTokens\";\r\nimport { environmentSettings } from \"@constants/environmentSettings\";\r\n\r\n// potentially gut this and turn it into a custom hook\r\n// that way if we want to use this inline of a component\r\n// we can have that option. For now this solution works\r\n// as we want to define the Auth context provider + setup axios\r\n// integration inside the JSX of a single component\r\nexport const AxiosAuthInterceptor = () => {\r\n const authContext = useContext(AuthContext);\r\n\r\n useEffect(() => {\r\n const interceptor = authenticatedPopsApi.interceptors.request.use(async (config) => {\r\n const { access_token: accessToken } = await getTokens(authContext);\r\n\r\n if (accessToken) {\r\n config.headers['Authorization'] = 'Bearer ' + accessToken;\r\n }\r\n\r\n if (environmentSettings.authority !== null && environmentSettings.authority.length > 0) {\r\n config.params = config.params || {};\r\n config.params[\"authority\"] = environmentSettings.authority;\r\n }\r\n \r\n return config;\r\n });\r\n\r\n return () => { authenticatedPopsApi.interceptors.request.eject(interceptor) }\r\n }, [authContext]);\r\n\r\n return <>;\r\n};","import { useEffect } from \"react\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { MD5 } from \"crypto-js\";\r\n\r\nconst useSetHashedCookies = (name, value, options) => {\r\n useEffect(() => {\r\n const cookies = new Cookies(null, options);\r\n if (value) {\r\n const hashedValue = MD5(value).toString();\r\n cookies.set(name, hashedValue);\r\n }\r\n }, [value, name, options]);\r\n};\r\n\r\nexport default useSetHashedCookies;","import { environmentSettings } from \"../../constants/environmentSettings\";\r\n\r\nexport const oneYearFromToday = () => {\r\n const date = new Date();\r\n date.setUTCFullYear(date.getUTCFullYear() + 1);\r\n\r\n return date;\r\n};\r\n\r\nexport const defaultCookiesOptions = {\r\n path: \"/\",\r\n expires: oneYearFromToday(),\r\n domain: environmentSettings.cookieDomain,\r\n sameSite: \"lax\",\r\n};\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { ThemeProvider } from \"styled-components\";\r\nimport { brands } from \"@theme/config\";\r\nimport { AuthProvider } from \"./providers/authProvider\";\r\nimport { AxiosAuthInterceptor } from \"./components/axiosAuthInterceptor\";\r\nimport useSetHashedCookies from \"@hooks/useSetHashedCookies\";\r\nimport { COOKIES_NAME } from \"./constants/commonConstants\";\r\nimport { defaultCookiesOptions } from \"./utils/helpers/cookiesHelper\";\r\n\r\nexport default function AppProvider({ children }) {\r\n const {\r\n brandKey,\r\n brand: {\r\n configFile: { useChatbot },\r\n },\r\n } = useSelector((state) => state.StartUp);\r\n const { emailAddress, clientId } = useSelector(\r\n (state) => state.Client.clientData.clientDetails || {}\r\n );\r\n const showOrHideChatbot = useChatbot ? \"show\" : \"hide\";\r\n window.zE(\"webWidget\", showOrHideChatbot);\r\n\r\n useSetHashedCookies(COOKIES_NAME.EMAIL_ADDRESS_COOKIE, emailAddress, defaultCookiesOptions);\r\n useSetHashedCookies(COOKIES_NAME.CLIENT_ID_COOKIE, clientId, defaultCookiesOptions);\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n}\r\n","import store from \"./store\";\r\nimport actions from \"../redux/startup/actions\";\r\n\r\nexport default payload =>\r\n new Promise(() => {\r\n store.dispatch(actions.startUp(payload));\r\n store.dispatch(actions.parseQueryString());\r\n });\r\n","import React from 'react';\r\nimport { Provider } from 'react-redux';\r\nimport GlobalStyles from './theme/global/globalStyles';\r\nimport store from './redux/store';\r\nimport Boot from './redux/boot';\r\nimport Routes from './routes';\r\nimport AppProvider from './AppProvider';\r\nimport { ModalParent } from \"./components/modal\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { CompatRouter } from \"react-router-dom-v5-compat\";\r\n\r\nconst App = () => {\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\nBoot()\r\n .then(() => {})\r\n .catch((error) => console.error(error));\r\n\r\nexport default App;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\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 subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\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.0/8 are 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 function register(config) {\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.href);\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/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\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 // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\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\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.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, config);\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\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport 'resize-observer-polyfill/dist/ResizeObserver.global'\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport authService from \"./services/authService\";\r\nimport TagManager from 'react-gtm-module';\r\nimport { environmentSettings } from \"./constants/environmentSettings\";\r\nimport { Helmet, HelmetProvider } from 'react-helmet-async';\r\n\r\nconst helmetContext = {};\r\n\r\nconst tagManagerArgs = {\r\n gtmId: environmentSettings.gtmId,\r\n auth: environmentSettings.gtmAuth,\r\n preview: environmentSettings.gtmPreview\r\n}\r\n\r\nTagManager.initialize(tagManagerArgs);\r\n\r\n// bootstrap singleton auth service.\r\n// this was originally on a useState(() => new authService()) inside of the AuthProvider\r\n// however something was causing the Provider to re-attach and thus create two authServices\r\n// of which oidc-client-js does not provide any documented ways to completly cleanup\r\n// the auth service and I am not sure if calling the methods I found on the event\r\n// object would be enough to fully clean up. Therefore please either keep this\r\n// here OR find a way to stop it from remounting OR if you have found the proper way\r\n// to fully deregister an authService\r\nwindow.authService = new authService();\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\nexport { applyBankStepSchema } from \"./containers/Forms/schema/applyBankStepSchema\";"],"sourceRoot":""}