{"version":3,"sources":["components/Header.jsx","img/maybank.png","data/Helper.js","components/Loading.jsx","components/Home.jsx","components/FormContainer.jsx","core/customComponents.jsx","data/countries.js","data/IdType.js","data/IdTypeCheck.js","core/validationRules.jsx","components/PersonalDetails.jsx","data/banklist.js","data/pricing.js","data/pricingHNW.js","data/pricingMbnkOuters.js","components/FundTransferCreate.jsx","components/FundTransferView.jsx","components/FundTransfer.jsx","components/ReviewDetails.jsx","components/error.jsx","App.js","serviceWorker.js","index.js"],"names":["Header","props","useState","showCloseAction","setshowCloseAction","toCloseDialog","className","Dialog","onClose","title","style","margin","textAlign","configData","LBL_AREYOUSURE_EXIST","DialogActionsBar","onClick","document","location","href","URL_NAVIGATE_COB","OK","src","alt","ciphertext","CryptoJS","AES","decrypt","config","SECRET_KEY","toString","enc","Utf8","value","isMBCard","i","mbCards","url","params","localStorage","getItem","queryStr","SRC_CODE_HNW","SRC_CODE_CCFT03","SRC_CODE_CCFT04","SRC_CODE_CCFT05","SRC_CODE_CCFT06","SRC_CODE_CCFT","SRC_CODE_OUTSIDERS","SERVER_STATUS","URL_ToHomeScreen_SIT","URL_ToHomeScreen","URL_ToHomeScreen_PROD","str","amt","Loading","Home","history","useHistory","showLoading","setShowLoading","useEffect","console","log","clear","setItem","getQueryString","parsed","require","parse","search","p","paramText","dText","helper","push","ex","FormContainer","children","FormInput","fieldRenderProps","validationMessage","touched","label","id","valid","disabled","hint","type","others","optional","showValidationMessage","showHint","hintId","errorId","FieldWrapper","Input","ariaDescribedBy","Hint","Error","FormNumericTextBox","NumericTextBox","culture","format","FormComboBox","wrapperStyle","editorRef","React","labelId","ComboBox","ariaLabelledBy","ref","filterable","allowCustom","countries","idType","toFetchIDValue","item","dataValue","returnID","itemObject","toUpperCase","Object","keys","map","key","emailRegex","RegExp","ccardRegex","notAllowSpcl","notAllowSpclname","allowOnlyChars","nameValidator","test","length","nricValidator","countryValidator","IDTypeValidator","emailValidator","TransferFromValidator","crditAbleValidator","substring","trim","priceValidator","TransferToValidator","acntNameValidator","fullNameInID","nameOfAcntHolderVal","nameOfAcntHolder","split","itemsArray","updatedItems","charAt","toremoveSpaceArry","replace","items","combinations","combinationswithspace","combinationswithReverse","combinationswithRevSpace","j","mergedArray","concat","arraySet1","Set","allPresent1","every","has","cardValidator1","AmountValidator","amtVal","parseInt","cradNAccountNumber","cardValue","join","tovalidateExpdate","localExpTime","window","PersonalDetails","updateInputValue","e","a","re","target","setState","OTPValue","state","OtpconfirmDisabled","isNumber","evt","event","charCode","which","keyCode","verifyOTPDetails","req","setAllOTPResponces","email","requestBody","idNum","nric","idIssueCountryCode","countryselected","name","fullname","by_prdType","PRODUCT_TYPE","cifNum","otp","mobileNum","accessID","uniqueRequestid","uuidv4","appId","requestOptions","method","headers","body","JSON","stringify","baseUrl","getVerifyOTPURL","fetch","then","response","json","data","didError","res","model","msg","resMsgBdy","msgBody","resMsgHdr","msgHdr","token","refNo","tokenid","expirytoken","tokenExpirationDate","RefferenceNo","Date","getMinutes","statusCode","notificationFlag","statusDesc","count3TimeToExist","errorMessage","alert","catch","error","handleChange","fullNameChange","idTypeChange","filterChange","countrySelectChange","nricChange","touppervalue","URL_VERIFY_OTP_PROD","URL_VERIFY_OTP_SIT","URL_VERIFY_OTP","getSaveURL","URL_SEND_SAVEDETAILS_PROD","URL_SEND_SAVEDETAILS_SIT","URL_SEND_SAVEDETAILS","bind","handleSubmit","OtpResendDisabled","RESEND","timer","settimerZero","startTimer","countDown","inputuuid","tohideNotification","maskSetMobileNumber","getAllDataValues","setAllstateValues","setClockTrue","time","seconds","setTimeIntOTP","secs","divisor_for_minutes","divisor_for_seconds","Math","floor","ceil","timeLeftVar","this","secondsToTime","clearInterval","setInterval","by_idNum","by_idType","by_idIssueCountryCode","stateId","prod_Type","by_name","referenceNo","APP_NAME","Form","initialValues","onSubmit","render","formRenderProps","FormElement","marginTop","HDR_PER_DETAILS","Field","placeholder","component","validator","fullName","onChange","onFilterChange","Button","primary","allowSubmit","ON_NEXT","NotificationGroup","right","bottom","alignItems","flexWrap","Notification","icon","closable","color","s","m","padding","width","onKeyPress","pattern","maxLength","minLength","Component","banklist","pricing","pricingHNW","pricingMbnkOuters","acntType","CCACNTNo","CRACNTNo","handleSelect","checkCAAcntFlag","checkCCAcntFlag","FundTransferList","FundTransferDetails","val","idx","AddActiontohide","transferFrom","CreditAcntNO","transferto","Nameancnt","CreditCardnumber","Amount","pricingHNWData","pricingData","min","display","index","FundTransferView","random","CreditAbleAcntNO","includes","dataset","addNewRow","prevState","deteteRow","filter","sindex","delrecord","r","add","delete","clickOnDelete","iv","FundTransfer","ftdetails","setftdetails","referenceno","num","Accept","Pragma","Authorization","getFTDataURL","fields","Fields","scrollTo","err","FT1","decrypt1","decrypt2","Number","GET_FTDATA_PROD","GET_FTDATA_SIT","GET_FTDATA","getPromoCode","selectedPricing","sc","getSchemeCode","result","getSourceCode","onSubmitClick","isValid","acnt_Type","values","count","transfertoid","PROMO_CODE","SCHEME_CODE","SOURCE_CODE","URL_SAVE_FT_PROD","URL_SAVE_FT_SIT","URL_SAVE_FT","HDR_FT_DETAILS","TERMS_CONDITIONS","TF1FRM1","CCCANO1","Pricing1","Trnsferto1","NameacntHolder1","CCAnCNTNO1","AMNT1","SourceCodehandle","LBL_SUBMITTED_TEXT","hideContentForSubmit","responsesetitesms","cmpnt","wordBreak","URL_TERMS","url1","URL_TERMS1","urlTerms","URL_TERMS_203_209","urlIngersoll","URL_GarminWatch","URL_Ingersoll","ReviewDetails","setResponce","setOTPValue","setOtpconfirmDisabled","toshowResend","settoshowResend","isLoading","setIsLoading","checkedTerms","setcheckedTerms","disabltoRequestotp","setdisabltoRequestotp","ALLOTPgenration","setALLOTPgenration","setcount3TimeToExist","useCountDown","timeLeft","start","pause","resume","reset","currentDateTime","setcurrentDateTime","trimMobile","settrimMobile","settohideNotification","setOtpMobilenumberGen","emailValue","setemailValue","emailAddress","idIssueCountry","SavedInformation","setSavedInformation","NEWReffID","assaginvalueCCANo1","setAcntTypename","LBL_RVWLBL_CCANO","LBL_RVWLBL_CAANO","decryptCA","decryptCA11","handleSubmit1","responseOBJ","resObj","validateForm","customerName","uniqueRequestId","getSendOTPURL","decryptMbl","mobiltrim","datestr","SubmitFormdetails","getSubmitURL","status","handleResendSubmit","termscheckoption","toBackFTDetails","toMaybankHome","URL_NAV_MAYBANK","URL_SEND_OTP_PROD","URL_SEND_OTP_SIT","URL_SEND_OTP","URL_SUBMIT_PROD","URL_SUBMIT_SIT","URL_SUBMIT","HDR_RVW_DETAILS","HDR_RVW_APPLICATION","backgroundColor","borderTopLeftRadius","borderTopRightRadius","LBL_FT_REQUEST","float","cursor","Checkbox","checked","marginLeft","ON_DONE","sec_num","hours","minutes","toHHMMSS","errorscreen","APP_NAMEHDR","fontweight","App","projectName","exact","path","to","Boolean","hostname","match","process","NODE_check","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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SAAUC,EAAkCP,EAAlCO,KAAMkB,EAA4BzB,EAA5ByB,aAAiBhB,EAAvF,YAAkGT,EAAlG,GACM0B,EAAYC,SAAa,MAEzBhB,EAAwBT,GAAWD,EACnCW,GAAYD,GAAyBJ,EACrCM,EAASD,EAAQ,UAAMR,EAAN,SAAkB,GACnCU,EAAUH,EAAqB,UAAMP,EAAN,UAAmB,GAClDwB,EAAUzB,EAAK,UAAMC,EAAN,UAAmB,GAExC,OAGI,sBAAK9E,UAAU,yCAAf,UACI,qBAAKA,UAAU,uCAAf,SACI,qBAAKA,UAAU,MAAf,SAAsB6E,MACpB,qBAAK7E,UAAU,uCAAf,SACF,qBAAKA,UAAU,MAAf,SACI,eAACyF,EAAA,EAAD,CAAcrF,MAAO+F,EAArB,UAGI,cAACI,EAAA,EAAD,aAAUvG,UAAU,WAChBwG,eAAgBF,EAChBX,gBAAe,UAAKJ,EAAL,YAAeC,GAC9BiB,IAAKL,EACLrB,MAAOA,EACP2B,YAAY,EACZC,aAAa,EAEb7B,GAAIA,EACJE,SAAUA,GACNG,IAGJG,GACA,cAACM,EAAA,EAAD,CAAMd,GAAIS,EAAV,SAAmBN,IAGnBI,GACA,cAACQ,EAAA,EAAD,CAAOf,GAAIU,EAAX,SAAqBb,eC3PlCiC,GAnQU,CACrB,YACA,WACA,cACA,gBACA,UACA,UACA,iBACA,UACA,SACA,WACA,aACA,sBACA,YACA,UACA,QACA,YACA,UACA,aACA,UACA,UACA,aACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,UACA,qBACA,WACA,gBACA,SACA,iCACA,oBACA,WACA,eACA,UACA,WACA,UACA,SACA,aACA,yBACA,YACA,sBACA,OACA,QACA,QACA,eACA,0BACA,WACA,UACA,QACA,UACA,aACA,8BACA,UACA,OACA,UACA,SACA,iBACA,UACA,WACA,WACA,qBACA,aACA,UACA,QACA,cACA,oBACA,UACA,UACA,WACA,8BACA,gBACA,OACA,UACA,SACA,gBACA,mBACA,8BACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,aACA,OACA,YACA,WACA,SACA,gBACA,SACA,QACA,8BACA,gCACA,WACA,WACA,UACA,UACA,QACA,YACA,4BACA,OACA,UACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,SACA,aACA,aACA,QACA,WACA,+CACA,qBACA,SACA,SACA,aACA,mCACA,SACA,UACA,UACA,UACA,yBACA,iBACA,YACA,aACA,QACA,6CACA,aACA,SACA,WACA,OACA,QACA,cACA,aACA,aACA,YACA,UACA,SACA,kCACA,uBACA,SACA,WACA,aACA,aACA,UACA,aACA,kBACA,UACA,UACA,QACA,QACA,uBACA,cACA,gBACA,cACA,YACA,QACA,UACA,OACA,iBACA,sBACA,SACA,OACA,uCACA,WACA,QACA,kCACA,SACA,mBACA,WACA,OACA,cACA,WACA,SACA,WACA,cACA,QACA,UACA,UACA,qBACA,SACA,sBACA,oBACA,cACA,eACA,4BACA,mCACA,QACA,aACA,wBACA,eACA,UACA,SACA,aACA,eACA,WACA,WACA,aACA,UACA,eACA,+CACA,cACA,QACA,YACA,YACA,YACA,QACA,WACA,4BACA,YACA,SACA,cACA,+BACA,4BACA,aACA,+BACA,WACA,cACA,OACA,QACA,sBACA,UACA,SACA,eACA,sBACA,SACA,SACA,UACA,uBACA,iBACA,uCACA,2BACA,UACA,aACA,UACA,YACA,WACA,sBACA,0BACA,oBACA,iBACA,qCACA,QACA,aACA,QACA,SACA,YC3PWC,GANO,CAErB,oBACA,+BACA,wB,QCkgBcC,GAzgBQ,SAACC,EAAMC,GAAe,IAAD,EAGpCC,EAAW,GACXC,EAAa,GAObN,GAAS,GACT,UAAa,KACb,SAAY,KACZ,QAAW,KACX,uBAAwB,KACxB,YAAe,KACf,sBAAuB,KACvB,SAAY,KACZ,QAAW,KACX,QAAW,KACX,uBAAwB,KACxB,OAAU,KACV,UAAa,KACb,iBAAkB,KAClB,QAAW,KACX,UAAa,KACb,MAAS,KACT,WAAc,KACd,qBAAsB,KACtB,SAAY,KACZ,WAAc,KACd,QAAW,KACX,eAAgB,KAChB,SAAY,KACZ,QAAW,KACX,Q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AAMsO,YA0gBrB/J,M,UC5LAgK,GAjWS,CACpB,MACA,OACA,MACA,cACA,6BACA,gCACA,4CACA,OACA,gBACA,oBACA,gBACA,+BACA,yCACA,kCACA,qBACA,oBACA,yBACA,wBACA,gBACA,sBACA,sBACA,iBACA,oBACA,kCACA,cACA,kCACA,gCACA,qCACA,0BACA,mBACA,yBACA,iCACA,oDACA,kCACA,mBACA,qBACA,mBACA,0CACA,cACA,eACA,mBACA,uBACA,6BACA,oCACA,iBACA,UACA,yBACA,+BACA,MACA,qBACA,cACA,uBACA,wCACA,cACA,yBACA,2BACA,gBACA,gBACA,sBACA,+BACA,yBACA,qCACA,mBACA,kCACA,6BACA,kCACA,sBACA,0BACA,MACA,8BACA,0CACA,qCACA,WACA,uCACA,kBACA,uBACA,eACA,4BACA,mCACA,sCACA,uBACA,sBACA,sCACA,kCACA,iCACA,qBACA,6BACA,kCACA,uBACA,+BACA,wBACA,+BACA,SACA,WACA,kCACA,wCACA,kBACA,8BACA,cChEWC,GAJQ,CACnB,kIACA,qICjBWC,GAjBW,CACtB,iIACA,mPCSWC,GAXkB,CAC7B,6GCgCEC,GAAW,CAACzU,EAAW0U,SAAU1U,EAAW2U,UAG5CC,GAAY,uCAAG,WAAO3J,GAAP,SAAAT,EAAA,sDAGQ,uBAAvBS,EAAMP,OAAOtJ,QACfpB,EAAW6U,iBAAkB,EAC7B7U,EAAW8U,iBAAkB,GAEJ,uBAAvB7J,EAAMP,OAAOtJ,QACfpB,EAAW6U,iBAAkB,EAC7B7U,EAAW8U,iBAAkB,GATZ,2CAAH,sDA0JHC,GA3IU,SAAC3V,GACxB,OAAOA,EAAM4V,oBAAoBjO,KAAI,SAACkO,EAAKC,GAAS,IAAD,IAC7CA,GAAO,IACTlV,EAAWmV,iBAAkB,GAG/B,IAAIC,EAAY,eACdC,EAAY,eAEZf,EAAO,UACPgB,EAAU,aACVC,EAAS,YACTC,EAAgB,mBAChBC,EAAM,SAER,OACE,gCAEE,uBACA,cAACjD,EAAA,EAAD,CAEEjO,GAAI6Q,EACJtJ,KAAMsJ,EACN3V,UAAU,wBACV6E,MAAO,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","file":"static/js/main.bcc0d6da.chunk.js","sourcesContent":["import React, { useState } from 'react';\nimport maybank from '../img/maybank.png';\nimport { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';\nimport configData from \"../config/config.json\";\n\nexport const Header = (props) => {\n\n const [showCloseAction, setshowCloseAction] = useState(false)\n\n const toCloseDialog = () => {\n\n setshowCloseAction(!showCloseAction);\n }\n const toNavigateHome = () => {\n \n document.location.href = configData.URL_NAVIGATE_COB;\n }\n const handleSubmit = () => {\n setshowCloseAction(!showCloseAction);\n }\n\n return (\n
\n {showCloseAction && \n\n

{configData.LBL_AREYOUSURE_EXIST}

\n \n \n \n \n
}\n\n
\n
\n
\n \n\n maybank\n\n \n
\n\n
\n
\n \n
\n
\n
\n\n\n\n\n )\n}","export default \"data:image/png;base64,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\"","import CryptoJS from 'crypto-js';\r\nimport config from '../config/config.json';\r\nimport mbCards from '../data/mayBankCardBIN.json';\r\n\r\n\r\nconst encrypt = (text) => {\r\n // return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text));\r\n return CryptoJS.AES.encrypt(text, config.SECRET_KEY).toString();\r\n};\r\n\r\nconst decrypt = (ciphertext) => {\r\n // return CryptoJS.enc.Base64.parse(data).toString(CryptoJS.enc.Utf8);\r\n let originalText = '';\r\n let bytes = CryptoJS.AES.decrypt(ciphertext, config.SECRET_KEY);\r\n\r\n originalText = bytes.toString(CryptoJS.enc.Utf8);\r\n return originalText;\r\n};\r\n\r\nconst isMayBankCardBINList = (value) => {\r\n let isMBCard = false;\r\n for (let i in mbCards) {\r\n if (value === mbCards[i]) {\r\n isMBCard = true;\r\n return isMBCard\r\n }\r\n }\r\n\r\n return isMBCard\r\n}\r\n\r\nconst toHomeScreen = () => {\r\n let url = '';\r\n let params = localStorage.getItem('p');\r\n let queryStr = '';\r\n\r\n if (params) {\r\n if (params === config.SRC_CODE_HNW) {\r\n queryStr = '?p=U2FsdGVkX18njfeygnz2PJtTtbOsoJt29npOcJgM0kM'\r\n } else if (params === config.SRC_CODE_CCFT03) {\r\n queryStr = '?p=U2FsdGVkX191x3XcxVyb8riWQnTBPFuRJiTnzJ8lPrw'\r\n } else if (params === config.SRC_CODE_CCFT04) {\r\n queryStr = '?p=U2FsdGVkX19spgrgxtU55243WOzLbGULj44RaIl8bt0'\r\n } else if (params === config.SRC_CODE_CCFT05) {\r\n queryStr = '?p=U2FsdGVkX19SmWK3JZEXKKbjFwVaxznXadU9IVKiIu4'\r\n } else if (params === config.SRC_CODE_CCFT06) {\r\n queryStr = '?p=U2FsdGVkX19sSvYm2kWiDBUET64zAsU95ppkcHpDKFc'\r\n } else if (params === config.SRC_CODE_CCFT) {\r\n queryStr = '?p=U2FsdGVkX186eY9LS3f6elp6OcUvVL2o1UliENaneSo'\r\n } else if (params === config.SRC_CODE_OUTSIDERS) {\r\n queryStr = '?p=U2FsdGVkX18R2Kokj3yUy3XUW1PSktWTmpwJt0CZPpg'\r\n }\r\n }\r\n // U2FsdGVkX1+YNrcpzk8kfOFOJO03pS09+hAeuAWbOIU=\r\n // 810204 U2FsdGVkX19spgrgxtU55243WOzLbGULj44RaIl8bt0=\r\n // 810205 U2FsdGVkX19SmWK3JZEXKKbjFwVaxznXadU9IVKiIu4=\r\n // 810206 U2FsdGVkX19sSvYm2kWiDBUET64zAsU95ppkcHpDKFc==\r\n\r\n\r\n if (config.SERVER_STATUS === 'SIT') {\r\n url = config.URL_ToHomeScreen_SIT;\r\n document.location.href = url + queryStr;\r\n }\r\n else if (config.SERVER_STATUS === 'UAT') {\r\n url = config.URL_ToHomeScreen;\r\n document.location.href = url + queryStr;\r\n }\r\n else if (config.SERVER_STATUS === 'PROD') {\r\n url = config.URL_ToHomeScreen_PROD;\r\n document.location.href = url + queryStr;\r\n }\r\n}\r\n\r\nconst displayAmtNote = () => {\r\n let params = localStorage.getItem('p');\r\n let str = '';\r\n if (params) { // Apr 2024\r\n if (params === config.SRC_CODE_HNW || params === config.SRC_CODE_OUTSIDERS) {\r\n str = 'S$2,000';\r\n } else if (params === config.SRC_CODE_CCFT || params === config.SRC_CODE_CCFT03 || params === config.SRC_CODE_CCFT04 || params === config.SRC_CODE_CCFT05 || params === config.SRC_CODE_CCFT06) {\r\n str = 'S$1,000';\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\nconst getAmtValidValue = () => {\r\n let params = localStorage.getItem('p');\r\n let amt = 2000;\r\n if (params) {\r\n if (params === config.SRC_CODE_HNW || params === config.SRC_CODE_OUTSIDERS) {\r\n amt = 2000;\r\n } else if (params === config.SRC_CODE_CCFT || params === config.SRC_CODE_CCFT03 || params === config.SRC_CODE_CCFT04 || params === config.SRC_CODE_CCFT05 || params === config.SRC_CODE_CCFT06) {\r\n amt = 1000\r\n }\r\n }\r\n return amt;\r\n}\r\n\r\n\r\nexport default {\r\n encrypt,\r\n decrypt,\r\n isMayBankCardBINList,\r\n toHomeScreen,\r\n displayAmtNote,\r\n getAmtValidValue\r\n}","import * as React from 'react';\r\nimport { Loader } from \"@progress/kendo-react-indicators\";\r\n\r\nconst Loading = () => {\r\n \r\n return( \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Loading;\r\n ","import React, { useEffect, useState } from \"react\";\nimport configData from \"../config/config.json\";\nimport { useHistory } from \"react-router-dom\";\nimport helper from \"../data/Helper\";\nimport Loading from \"./Loading\";\n\nconst Home = (props) => {\n let history = useHistory();\n const [showLoading, setShowLoading] = useState(true);\n\n const toApplyCardsNew = () => {\n document.location.href = configData.URL_NAVIGATE_COB;\n }\n\n useEffect(() => {\n console.log('@home useEffect')\n localStorage.clear();\n\n // DONOT DELETE below 3 commented lines- for SRC unique URL genration \n // let mytest = '810209'\n // const dText1 = helper.encrypt(mytest);\n // const dText = helper.decrypt(dText1);\n // alert(dText1);\n // alert(dText);\n\n localStorage.setItem('CFN', '');\n getQueryString();\n })\n\n const getQueryString = () => {\n try {\n const queryString = require('query-string');\n const parsed = queryString.parse(props.location.search);\n if (parsed.p) {\n\n setShowLoading(false);\n const paramText = parsed.p;\n const dText = helper.decrypt(paramText);\n \n // disable HNW campaign on 20 Aug 2024 //dText === configData.SRC_CODE_HNW\n if (dText === configData.SRC_CODE_CCFT || (dText === configData.SRC_CODE_OUTSIDERS && paramText !== 'U2FsdGVkX18R2Kokj3yUy3XUW1PSktWTmpwJt0CZPpg')) {\n localStorage.setItem('p', dText)\n }\n //New 30th APR\n else if (dText === configData.SRC_CODE_CCFT03 || dText === configData.SRC_CODE_CCFT04 || dText === configData.SRC_CODE_CCFT05 || dText === configData.SRC_CODE_CCFT06) {\n localStorage.setItem('p', dText)\n }\n\n\n // if (dText === configData.SRC_CODE_CCFT) {\n // localStorage.setItem('p', dText)\n // }\n\n // //CR - Disable HNW campaign, remove 810207 request on 20230717 on UAT\n // if(dText === configData.SRC_CODE_CCFT) {\n // localStorage.setItem('p',dText)\n // }\n else {\n //redirect to error screen\n console.log('invalid url')\n props.history.push(\"fundtrf/error\");\n }\n }\n else {\n setShowLoading(false);\n console.log('invalid url')\n props.history.push(\"fundtrf/error\");\n }\n } catch (ex) {\n console.log('invalid url')\n setShowLoading(false);\n props.history.push(\"fundtrf/error\");\n }\n }\n\n\n if (showLoading) {\n return (\n \n )\n }\n\n return (\n
\n \n
\n
\n
\n

Maybank Fund Transfer Application

\n
\n
\n
\n
\n

Maybank Fund Transfer Application

\n
\n
\n \n
\n
\n\n
\n
\n
\n

\n For existing Maybank Credit Card or CreditAble Accounts\n

\n\n \n
\n
\n

\n Don't have a Maybank Credit Card or CreditAble Account Yet?\n

\n \n
\n
\n
\n
\n
\n
\n
\n
\n )\n}\n\n\n\nexport default Home;","import React from 'react';\n\nconst FormContainer = (props) => {\n return (\n
\n
\n
\n
\n
\n {props.children}\n
\n
\n
\n
\n \n
\n );\n}\nexport default FormContainer;","import * as React from 'react';\nimport { FieldWrapper } from '@progress/kendo-react-form';\nimport {\n Input, MaskedTextBox, NumericTextBox,\n Checkbox, Switch, RadioGroup,\n Slider, SliderLabel, RangeSlider, TextArea\n} from '@progress/kendo-react-inputs';\nimport { DatePicker, DateTimePicker } from '@progress/kendo-react-dateinputs';\nimport { Label, Error, Hint } from '@progress/kendo-react-labels';\nimport { DropDownList, AutoComplete, ComboBox } from '@progress/kendo-react-dropdowns';\n\nexport const FormInput = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, type, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n
\n
\n
{label}
\n
\n
\n \n
\n\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n );\n};\nexport const FormReviewLabel = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, type, optional, ...others } = fieldRenderProps;\n return (\n
\n
\n
{id}
\n
\n {label}\n
\n
\n );\n};\n\nexport const FormRadioGroup = (fieldRenderProps) => {\n const { validationMessage, touched, id, label, valid, disabled, hint, visited, modified, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormNumericTextBox = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n
\n
\n
{label}
\n
\n
\n \n
\n\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n\n\n\n\n\n );\n};\n\nexport const FormCheckbox = (fieldRenderProps) => {\n const { validationMessage, touched, id, valid, disabled, hint, optional, label, visited, modified, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormSwitch = (fieldRenderProps) => {\n const { validationMessage, touched, label, optional, id, valid, disabled, hint, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n {label}\n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormMaskedTextBox = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, hint, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n\n
\n
\n
{label}
\n
\n
\n \n
\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n
\n );\n};\n\nexport const FormTextArea = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, hint, disabled, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormSlider = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, data, ...others } = fieldRenderProps;\n\n const editorRef = React.useRef(null);\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n {label}\n \n \n {\n data.map(value => (\n \n {value.toString()}\n \n ))\n }\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormRangeSlider = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, hint, disabled, data, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n \n {\n data.map(value => {\n return (\n \n {value.toString()}\n \n )\n })\n }\n \n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormDropDownList = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, wrapperStyle, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n {label}\n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormAutoComplete = fieldRenderProps => {\n const {\n validationMessage,\n touched,\n label,\n id,\n valid,\n disabled,\n hint,\n wrapperStyle,\n ...others\n } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : \"\";\n const errorId = showValidationMessage ? `${id}_error` : \"\";\n const labelId = label ? `${id}_label` : \"\";\n\n return (\n \n \n {label}\n \n \n {showHint && {hint}}\n {showValidationMessage && {validationMessage}}\n \n );\n};\n\nexport const FormComboBox = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, wrapperStyle, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n\n\n
\n
\n
{label}
\n
\n
\n \n\n\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n\n
\n
\n
\n\n\n\n\n );\n};\n\nexport const FormDatePicker = (fieldRenderProps) => {\n const {\n validationMessage, touched, label, id, valid,\n disabled, hint, wrapperStyle, hintDirection, ...others\n } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n
\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n );\n};\n\nexport const FormDateTimePicker = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, wrapperStyle, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\n","//import * as React from 'react';\n\n\nexport const countries = [\n \"SINGAPORE\",\n \"MALAYSIA\",\n \"AFGHANISTAN\",\n \"ALAND ISLANDS\",\n \"ALBANIA\",\n \"ALGERIA\",\n \"AMERICAN SAMOA\",\n \"ANDORRA\",\n \"ANGOLA\",\n \"ANGUILLA\",\n \"ANTARCTICA\",\n \"ANTIGUA AND BARBUDA\",\n \"ARGENTINA\",\n \"ARMENIA\",\n \"ARUBA\",\n \"AUSTRALIA\",\n \"AUSTRIA\",\n \"AZERBAIJAN\",\n \"BAHAMAS\",\n \"BAHRAIN\",\n \"BANGLADESH\",\n \"BARBADOS\",\n \"BELARUS\",\n \"BELGIUM\",\n \"BELIZE\",\n \"BENIN\",\n \"BERMUDA\",\n \"BHUTAN\",\n \"BOLIVIA\",\n \"BOSNIA-HERZEGOVINA\",\n \"BOTSWANA\",\n \"BOUVET ISLAND\",\n \"BRAZIL\",\n \"BRITISH INDIAN OCEAN TERRITORY\",\n \"BRUNEI DARUSSALAM\",\n \"BULGARIA\",\n \"BURKINA FASO\",\n \"BURUNDI\",\n \"CAMBODIA\",\n \"CAMERON\",\n \"CANADA\",\n \"CAPE VERDE\",\n \"CARRIBBEAN NETHERLANDS\",\n \"CAYMAN IS\",\n \"CENTRAL AFRICAN REP\",\n \"CHAD\",\n \"CHILE\",\n \"CHINA\",\n \"CHRISTMAS IS\",\n \"COCOS (KEELING) ISLANDS\",\n \"COLOMBIA\",\n \"COMOROS\",\n \"CONGO\",\n \"COOK IS\",\n \"COSTA RICA\",\n \"COTE D'IVOIRE (IVORY COAST)\",\n \"CROATIA\",\n \"CUBA\",\n \"CURACAO\",\n \"CYPRUS\",\n \"CZECH REPUBLIC\",\n \"DENMARK\",\n \"DJIBOUTI\",\n \"DOMINICA\",\n \"DOMINICAN REPUBLIC\",\n \"EAST TIMOR\",\n \"ECUADOR\",\n \"EGYPT\",\n \"EL SALVADOR\",\n \"EQUATORIAL GUINEA\",\n \"ERITREA\",\n \"ESTONIA\",\n \"ETHIOPIA\",\n \"FALKLAND ISLANDS (MALVINAS)\",\n \"FAROE ISLANDS\",\n \"FIJI\",\n \"FINLAND\",\n \"FRANCE\",\n \"FRENCH GUIANA\",\n \"FRENCH POLYNESIA\",\n \"FRENCH SOUTHERN TERRITORIES\",\n \"GABON\",\n \"GAMBIA\",\n \"GEORGIA\",\n \"GERMANY\",\n \"GHANA\",\n \"GIBRALTAR\",\n \"GREECE\",\n \"GREENLAND\",\n \"GRENADA\",\n \"GUADELOUPE\",\n \"GUAM\",\n \"GUATEMALA\",\n \"GUERNSEY\",\n \"GUINEA\",\n \"GUINEA-BISSAU\",\n \"GUYANA\",\n \"HAITI\",\n \"HEARD AND MCDONALD ISLASNDS\",\n \"HOLY SEE (VATICAN CITY STATE)\",\n \"HONDURAS\",\n \"HONGKONG\",\n \"HUNGARY\",\n \"ICELAND\",\n \"INDIA\",\n \"INDONESIA\",\n \"IRAN, ISLAMIC REPUBLIC OF\",\n \"IRAQ\",\n \"IRELAND\",\n \"ISLE OF MAN\",\n \"ISRAEL\",\n \"ITALY\",\n \"JAMAICA\",\n \"JAPAN\",\n \"JERSEY\",\n \"JERSEY\",\n \"JORDAN\",\n \"KAZAKHSTAN\",\n \"KAZAKHSTAN\",\n \"KENYA\",\n \"KIRIBATI\",\n \"KOREA, DEMOCRATIC PEOPLE REPUBLIC OF (NORTH)\",\n \"KOREA, REPUBLIC OF\",\n \"KOSOVO\",\n \"KUWAIT\",\n \"KYRGYZSTAN\",\n \"LAO PEOPLE'S DEMOCRATIC REPUBLIC\",\n \"LATVIA\",\n \"LEBANON\",\n \"LESOTHO\",\n \"LIBERIA\",\n \"LIBYAN ARAB JAMAHIRIYA\",\n \"LIECHSTENSTEIN\",\n \"LITHUANIA\",\n \"LUXEMBOURG\",\n \"MACAO\",\n \"MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF\",\n \"MADAGASCAR\",\n \"MALAWI\",\n \"MALDIVES\",\n \"MALI\",\n \"MALTA\",\n \"MARSHALL IS\",\n \"MARTINIQUE\",\n \"MAURITANIA\",\n \"MAURITIUS\",\n \"MAYOTTE\",\n \"MEXICO\",\n \"MICRONESIA, FEDERATED STATES OF\",\n \"MOLDOVA, REPUBLIC OF\",\n \"MONACO\",\n \"MONGOLIA\",\n \"MONTENEGRO\",\n \"MONTSERRAT\",\n \"MOROCCO\",\n \"MOZAMBIQUE\",\n \"MYANMAR (BURMA)\",\n \"MYANMAR\",\n \"NAMIBIA\",\n \"NAURU\",\n \"NEPAL\",\n \"NETHERLANDS ANTILLES\",\n \"NETHERLANDS\",\n \"NEW CALEDONIA\",\n \"NEW ZEALAND\",\n \"NICARAGUA\",\n \"NIGER\",\n \"NIGERIA\",\n \"NIUE\",\n \"NORFOLK ISLAND\",\n \"NORTHERN MARIANA IS\",\n \"NORWAY\",\n \"OMAN\",\n \"ONGO, THE DEMOCRATIC REPUBLIC OF THE\",\n \"PAKISTAN\",\n \"PALAU\",\n \"PALESTINIAN TERRITORY, OCCUPIED\",\n \"PANAMA\",\n \"PAPUA NEW GUINEA\",\n \"PARAGUAY\",\n \"PERU\",\n \"PHILIPPINES\",\n \"PITCAIRN\",\n \"POLAND\",\n \"PORTUGAL\",\n \"PUERTO RICO\",\n \"QATAR\",\n \"REUNION\",\n \"ROMANIA\",\n \"RUSSIAN FEDERATION\",\n \"RWANDA\",\n \"SAINT BARTHÉLEMY\",\n \"SAINT KITTS-NEVIS\",\n \"SAINT LUCIA\",\n \"SAINT MARTIN\",\n \"SAINT PIERRE AND MIQUELON\",\n \"SAINT VINCENT AND THE GRENADINES\",\n \"SAMOA\",\n \"SAN MARINO\",\n \"SAO TOME AND PRINCIPE\",\n \"SAUDI ARABIA\",\n \"SENEGAL\",\n \"SERBIA\",\n \"SEYCHELLES\",\n \"SIERRA LEONE\",\n \"SLOVAKIA\",\n \"SLOVENIA\",\n \"SOLOMAN IS\",\n \"SOMALIA\",\n \"SOUTH AFRICA\",\n \"SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS\",\n \"SOUTH SUDAN\",\n \"SPAIN\",\n \"SRI LANKA\",\n \"ST HELENA\",\n \"STATELESS\",\n \"SUDAN\",\n \"SURINAME\",\n \"SVALBARD AND JAN MAYEN IS\",\n \"SWAZILAND\",\n \"SWEDEN\",\n \"SWITZERLAND\",\n \"SYRIAN ARAB REPUBLIC (SYRIA)\",\n \"TAIWAN, PROVINCE OF CHINA\",\n \"TAJIKISTAN\",\n \"TANZANIA, UNITED REPUBLIC OF\",\n \"THAILAND\",\n \"TIMOR-LESTE\",\n \"TOGO\",\n \"TONGA\",\n \"TRINIDAD AND TOBAGO\",\n \"TUNISIA\",\n \"TURKEY\",\n \"TURKMENISTAN\",\n \"TURKS AND CAICOS IS\",\n \"TUVALU\",\n \"UGANDA\",\n \"UKRAINE\",\n \"UNITED ARAB EMIRATES\",\n \"UNITED KINGDOM\",\n \"UNITED STATES MINOR OUTLYING ISLANDS\",\n \"UNITED STATES OF AMERICA\",\n \"URUGUAY\",\n \"UZBEKISTAN\",\n \"VANUATU\",\n \"VENEZUELA\",\n \"VIET NAM\",\n \"VIRGIN ISLANDS (US)\",\n \"VIRGIN ISLANDS, BRITISH\",\n \"WALLIS AND FUTUNA\",\n \"WESTERN SAHARA\",\n \"YEMEN PEOPLE'S DEMOCRATIC REPUBLIC\",\n \"YEMEN\",\n \"YUGOSLAVIA\",\n \"ZAIRE\",\n \"ZAMBIA\",\n \"ZIMBABWE\" \n];\nexport default countries","//import * as React from 'react';\n\n\nexport const idType = [\n\n \"SINGAPORE CITIZEN\",\n \"SINGAPORE PERMANENT RESIDENT\",\n \"FOREIGNER (PASSPORT)\"\n];\nexport default idType\n\n\n\n\n","const toFetchIDValue = (item, dataValue) => {\n\n\n let returnID = \"\";\n let itemObject = {};\n\n let IDTYPE = {\n \"SINGAPORE CITIZEN\": \"SP\",\n \"SINGAPORE PERMANENT RESIDENT\": \"SB\",\n \"FOREIGNER (PASSPORT)\": \"PP\"\n }\n let countries = {\n \"SINGAPORE\": \"SG\",\n \"MALAYSIA\": \"MY\",\n \"ANDORRA\": \"AD\",\n \"UNITED ARAB EMIRATES\": \"AE\",\n \"AFGHANISTAN\": \"AF\",\n \"ANTIGUA AND BARBUDA\": \"AG\",\n \"ANGUILLA\": \"AI\",\n \"ALBANIA\": \"AL\",\n \"ARMENIA\": \"AM\",\n \"NETHERLANDS ANTILLES\": \"AN\",\n \"ANGOLA\": \"AO\",\n \"ARGENTINA\": \"AR\",\n \"AMERICAN SAMOA\": \"AS\",\n \"AUSTRIA\": \"AT\",\n \"AUSTRALIA\": \"AU\",\n \"ARUBA\": \"AW\",\n \"AZERBAIJAN\": \"AZ\",\n \"BOSNIA-HERZEGOVINA\": \"BA\",\n \"BARBADOS\": \"BB\",\n \"BANGLADESH\": \"BD\",\n \"BELGIUM\": \"BE\",\n \"BURKINA FASO\": \"BF\",\n \"BULGARIA\": \"BG\",\n \"BAHRAIN\": \"BH\",\n \"BURUNDI\": \"BI\",\n \"BENIN\": \"BJ\",\n \"BERMUDA\": \"BM\",\n \"BRUNEI DARUSSALAM\": \"BN\",\n \"BOLIVIA\": \"BO\",\n \"BRAZIL\": \"BR\",\n \"BAHAMAS\": \"BS\",\n \"BHUTAN\": \"BT\",\n \"MYANMAR\": \"BU\",\n \"BOUVET ISLAND\": \"BV\",\n \"BOTSWANA\": \"BW\",\n \"BELARUS\": \"BY\",\n \"BELIZE\": \"BZ\",\n \"CANADA\": \"CA\",\n \"COCOS (KEELING) ISLANDS\": \"CC\",\n \"CENTRAL AFRICAN REP\": \"CF\",\n \"CONGO\": \"CG\",\n \"SWITZERLAND\": \"CH\",\n \"COTE D'IVOIRE (IVORY COAST)\": \"CI\",\n \"COOK IS\": \"CK\",\n \"CHILE\": \"CL\",\n \"CAMERON\": \"CM\",\n \"CHINA\": \"CN\",\n \"COLOMBIA\": \"CO\",\n \"COSTA RICA\": \"CR\",\n \"CUBA\": \"CU\",\n \"CAPE VERDE\": \"CV\",\n \"CHRISTMAS IS\": \"CX\",\n \"CYPRUS\": \"CY\",\n \"CZECH REPUBLIC\": \"CZ\",\n \"GERMANY\": \"DE\",\n \"DJIBOUTI\": \"DJ\",\n \"DENMARK\": \"DK\",\n \"DOMINICA\": \"DM\",\n \"DOMINICAN REPUBLIC\": \"DO\",\n \"ALGERIA\": \"DZ\",\n \"ECUADOR\": \"EC\",\n \"ESTONIA\": \"EE\",\n \"EGYPT\": \"EG\",\n \"WESTERN SAHARA\": \"EH\",\n \"SPAIN\": \"ES\",\n \"ETHIOPIA\": \"ET\",\n \"FINLAND\": \"FI\",\n \"FIJI\": \"FJ\",\n \"FALKLAND ISLANDS (MALVINAS)\": \"FK\",\n \"MICRONESIA, FEDERATED STATES OF\": \"FM\",\n \"FAROE ISLANDS\": \"FO\",\n \"FRANCE\": \"FR\",\n \"GABON\": \"GA\",\n \"UNITED KINGDOM\": \"GB\",\n \"GRENADA\": \"GD\",\n \"FRENCH GUIANA\": \"GF\",\n \"GUERNSEY\": \"GG\",\n \"GHANA\": \"GH\",\n \"GIBRALTAR\": \"GI\",\n \"GREENLAND\": \"GL\",\n \"GAMBIA\": \"GM\",\n \"GUINEA\": \"GN\",\n \"GUADELOUPE\": \"GP\",\n \"EQUATORIAL GUINEA\": \"GQ\",\n \"GREECE\": \"GR\",\n \"GUATEMALA\": \"GT\",\n \"GUAM\": \"GU\",\n \"GUINEA-BISSAU\": \"GW\",\n \"GUYANA\": \"GY\",\n \"HONGKONG\": \"HK\",\n \"HEARD AND MCDONALD ISLASNDS\": \"HM\",\n \"HONDURAS\": \"HN\",\n \"CROATIA\": \"HR\",\n \"HAITI\": \"HT\",\n \"HUNGARY\": \"HU\",\n \"INDONESIA\": \"ID\",\n \"IRELAND\": \"IE\",\n \"ISRAEL\": \"IL\",\n \"ISLE OF MAN\": \"IM\",\n \"INDIA\": \"IN\",\n \"BRITISH INDIAN OCEAN TERRITORY\": \"IO\",\n \"IRAQ\": \"IQ\",\n \"IRAN, ISLAMIC REPUBLIC OF\": \"IR\",\n \"ICELAND\": \"IS\",\n \"ITALY\": \"IT \",\n \"JERSEY\": \"JE \",\n \"JAMAICA\": \"JM \",\n \"JORDAN\": \"JO \",\n \"JAPAN\": \"JP \",\n \"JERSEY\": \"JS \",\n \"KENYA\": \"KE \",\n \"KYRGYZSTAN\": \"KG \",\n \"CAMBODIA\": \"KH \",\n \"KIRIBATI\": \"KI \",\n \"KAZAKHSTAN\": \"KK \",\n \"COMOROS\": \"KM \",\n \"SAINT KITTS-NEVIS\": \"KN \",\n \"KOREA, DEMOCRATIC PEOPLE REPUBLIC OF (NORTH)\": \"KP \",\n \"KOREA, REPUBLIC OF\": \"KR \",\n \"KUWAIT\": \"KW \",\n \"CAYMAN IS\": \"KY \",\n \"LAO PEOPLE'S DEMOCRATIC REPUBLIC\": \"LA \",\n \"LEBANON\": \"LB \",\n \"SAINT LUCIA\": \"LC \",\n \"LIECHSTENSTEIN\": \"LI \",\n \"SRI LANKA\": \"LK \",\n \"LIBERIA\": \"LR \",\n \"LESOTHO\": \"LS \",\n \"LITHUANIA\": \"LT \",\n \"LUXEMBOURG\": \"LU \",\n \"LATVIA\": \"LV \",\n \"LIBYAN ARAB JAMAHIRIYA\": \"LY \",\n \"MOROCCO\": \"MA \",\n \"MONACO\": \"MC \",\n \"MOLDOVA, REPUBLIC OF\": \"MD \",\n \"MADAGASCAR\": \"MG \",\n \"MARSHALL IS\": \"MH \",\n \"MALI\": \"ML \",\n \"MONGOLIA\": \"MN\",\n \"MACAO\": \"MO\",\n \"NORTHERN MARIANA IS\": \"MP\",\n \"MARTINIQUE\": \"MQ\",\n \"MAURITANIA\": \"MR\",\n \"MONTSERRAT\": \"MS\",\n \"MALTA\": \"MT\",\n \"MAURITIUS\": \"MU\",\n \"MALDIVES\": \"MV\",\n \"MALAWI\": \"MW\",\n \"MEXICO\": \"MX\",\n\n \"MOZAMBIQUE\": \"MZ\",\n \"NAMIBIA\": \"NA\",\n \"NEW CALEDONIA\": \"NC\",\n \"NIGER\": \"NE\",\n \"NORFOLK ISLAND\": \"NF\",\n \"NIGERIA\": \"NG\",\n \"NICARAGUA\": \"NI\",\n \"NETHERLANDS\": \"NL\",\n \"NORWAY\": \"NO\",\n \"NEPAL\": \"NP\",\n \"NAURU\": \"NR\",\n \"NIUE\": \"NU\",\n \"NEW ZEALAND\": \"NZ\",\n \"OMAN\": \"OM\",\n \"PANAMA\": \"PA\",\n \"PERU\": \"PE\",\n \"FRENCH POLYNESIA\": \"PF\",\n \"PAPUA NEW GUINEA\": \"PG\",\n \"PHILIPPINES\": \"PH\",\n \"PAKISTAN\": \"PK\",\n \"POLAND\": \"PL\",\n \"SAINT PIERRE AND MIQUELON\": \"PM\",\n \"PITCAIRN\": \"PN\",\n \"PUERTO RICO\": \"PR\",\n \"PALESTINIAN TERRITORY, OCCUPIED\": \"PS\",\n \"PORTUGAL\": \"PT\",\n \"PALAU\": \"PW\",\n \"PARAGUAY\": \"PY\",\n \"QATAR\": \"QA\",\n \"REUNION\": \"RE\",\n \"ROMANIA\": \"RO\",\n \"RUSSIAN FEDERATION\": \"RU\",\n \"RWANDA\": \"RW\",\n \"SAUDI ARABIA\": \"SA\",\n \"SOLOMAN IS\": \"SB\",\n \"SEYCHELLES\": \"SC\",\n \"SUDAN\": \"SD\",\n \"SWEDEN\": \"SE\",\n\n \"ST HELENA\": \"SH\",\n \"SLOVENIA\": \"SI\",\n \"SVALBARD AND JAN MAYEN IS\": \"SJ\",\n \"SLOVAKIA\": \"SK\",\n \"SIERRA LEONE\": \"SL\",\n \"SAN MARINO\": \"SM\",\n \"SENEGAL\": \"SN\",\n \"SOMALIA\": \"SO\",\n \"SURINAME\": \"SR\",\n \"SOUTH SUDAN\": \"SS\",\n \"SAO TOME AND PRINCIPE\": \"ST\",\n \"EL SALVADOR\": \"SV\",\n \"SYRIAN ARAB REPUBLIC (SYRIA)\": \"SY\",\n \"SWAZILAND\": \"SZ\",\n \"TURKS AND CAICOS IS\": \"TC\",\n \"CHAD\": \"TD\",\n \"FRENCH SOUTHERN TERRITORIES\": \"TF\",\n \"TOGO\": \"TG\",\n \"THAILAND\": \"TH\",\n \"TAJIKISTAN\": \"TJ\",\n \"TURKMENISTAN\": \"TM\",\n \"TUNISIA\": \"TN\",\n \"TONGA\": \"TO\",\n \"EAST TIMOR\": \"TP\",\n \"TURKEY\": \"TR\",\n \"TRINIDAD AND TOBAGO\": \"TT\",\n \"TUVALU\": \"TV\",\n \"TAIWAN, PROVINCE OF CHINA\": \"TW\",\n \"TANZANIA, UNITED REPUBLIC OF\": \"TZ\",\n \"UKRAINE\": \"UA\",\n \"UGANDA\": \"UG\",\n \"UNITED STATES MINOR OUTLYING ISLANDS\": \"UM\",\n \"UNITED STATES OF AMERICA\": \"US\",\n \"URUGUAY\": \"UY\",\n \"UZBEKISTAN\": \"UZ\",\n \"HOLY SEE (VATICAN CITY STATE)\": \"VA\",\n \"SAINT VINCENT AND THE GRENADINES\": \"VC\",\n \"VENEZUELA\": \"VE\",\n \"VIRGIN ISLANDS, BRITISH\": \"VG\",\n \"VIRGIN ISLANDS (US)\": \"VI\",\n \"VIET NAM\": \"VN\",\n \"VANUATU\": \"VU\",\n \"WALLIS AND FUTUNA\": \"WF\",\n \"SAMOA\": \"WS\",\n \"YEMEN PEOPLE'S DEMOCRATIC REPUBLIC\": \"YD\",\n \"YEMEN\": \"YE\",\n \"MAYOTTE\": \"YT\",\n \"YUGOSLAVIA\": \"YU\",\n \"SOUTH AFRICA\": \"ZA\",\n \"ZAMBIA\": \"ZM\",\n \"ZAIRE\": \"ZR\",\n \"ZIMBABWE\": \"ZW\",\n \"ALAND ISLANDS\": \"AX\",\n \"ANTARCTICA\": \"AQ\",\n \"ONGO, THE DEMOCRATIC REPUBLIC OF THE\": \"CD\",\n \"ERITREA\": \"ER\",\n \"MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF\": \"MK\",\n \"MONTENEGRO\": \"ME\",\n \"SAINT BARTHÉLEMY\": \"BL\",\n \"SAINT MARTIN\": \"MF\",\n \"SERBIA\": \"RS\",\n \"SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS\": \"GS\",\n \"TIMOR-LESTE\": \"TL\",\n \"GEORGIA\": \"GE\",\n \"KAZAKHSTAN\": \"KZ\",\n \"MYANMAR (BURMA)\": \"MM\",\n \"STATELESS\": \"ZZ\",\n \"CURACAO\": \"CW\",\n \"KOSOVO\": \"XK\",\n \"CARRIBBEAN NETHERLANDS\": \"BQ\"\n\n\n\n }\n\n let BANKDATALIST = {\n \"DBS\": \"7171\",\n \"OCBC\": \"7339\",\n \"UOB\": \"7375\",\n \"CITIBANK NA\": \"7214\",\n \"Citibank Singapore Limited\": \"9201\",\n // \"HSBC\": \"7232\", // for CR - Pre login FT changes Apr 2023.docx\n \"HSBC Bank (Singapore) Limited\": \"9548\",\n // \"Standard Chartered Bank\": \"7144\", // for CR - Pre login FT changes Apr 2023.docx\n \"Standard Chartered Bank Singapore Limited\": \"9496\",\n \"AMEX\": \"7454\",\n \"ABSA Bank Ltd\": \"8828\",\n \"ANZ Banking Group\": \"7931\",\n \"Arab Bank PLC\": \"8253\",\n \"Arab Banking Corporation BSC\": \"8217\",\n \"Banca Monte dei Paschi di Siena S.p.A.\": \"8411\",\n \"Bangkok Bank Public Company Ltd\": \"7047\",\n \"BANK OF AMERICA NA\": \"7065\",\n \"BANK OF CHINA LTD\": \"7083\",\n \"Bank of Communications\": \"8916\",\n \"Bank of East Asia Ltd\": \"7092\",\n \"Bank of India\": \"7108\",\n \"Bank of New Zealand\": \"8129\",\n \"Bank of Nova Scotia\": \"7658\",\n \"BANK OF TAIWAN\": \"8846\",\n \"BARCLAYS BANK PLC\": \"7533\",\n \"Bayerische Hypo-Und Vereinsbank\": \"8855\",\n \"BNP Paribas\": \"7418\",\n \"BNP PARIBAS SECURITIES SERVICES\": \"9344\",\n \"Chang Hwa Commercial Bank Ltd\": \"9025\",\n \"China CITIC Bank International Ltd\": \"9423\",\n \"China Construction Bank\": \"9043\",\n \"CIMB Bank Berhad\": \"7986\",\n \"CLS BANK INTERNATIONAL\": \"9991\",\n \"Commerzbank Aktiengesellschaft\": \"8606\",\n \"Credit Agricole Corporate & Investment Bank-SG BR\": \"7135\",\n \"CREDIT INDUSTRIEL ET COMMERCIAL\": \"8299\",\n \"CREDIT SUISSE AG\": \"7481\",\n \"CTBC Bank Co., Ltd\": \"9353\",\n \"Deutsche Bank AG\": \"7463\",\n \"Dexia Banque International a Luxembourg\": \"8581\",\n \"Diners Club\": \"1111\",\n \"DNB Bank ASA\": \"7737\",\n \"Dresdner Bank AG\": \"7393\",\n \"Far Eastern Bank Ltd\": \"7199\",\n \"First Commercial Bank, Ltd\": \"7764\",\n \"Fleet National Bank - Head Office\": \"7843\",\n \"Habib Bank Ltd\": \"7409\",\n \"HL Bank\": \"7287\",\n \"Hong Leong Finance Ltd\": \"5027\",\n \"Hua Nan Commercial Bank, Ltd\": \"8864\",\n \"ICB\": \"7269\",\n \"ICICI Bank Limited\": \"9186\",\n \"Indian Bank\": \"7241\",\n \"INDIAN OVERSEAS BANK\": \"7250\",\n \"Industrial & Commercial Bank of China\": \"8712\",\n \"ING BANK NV\": \"8509\",\n \"Intesa Sanpaolo S.p.A.\": \"8350\",\n \"JPMorgan Chase Bank N.A.\": \"7153\",\n \"KBC Bank N.V.\": \"8703\",\n \"KEB HANA BANK\": \"7490\",\n \"Krung Thai Bank PCL\": \"8785\",\n \"LANDESBANK BADEN-WURTTEMBERG\": \"8873\",\n \"MACQUARIE BANK LIMITED\": \"9432\",\n \"Mega Intl Commercial Bank Co., Ltd\": \"8235\",\n \"Mizuho Bank, Ltd\": \"7621\",\n \"MUFG BANK LTD, SINGAPORE BRANCH\": \"7126\",\n \"Natexis Banques Popularies\": \"8156\",\n \"National Australia Bank Limited\": \"8077\",\n \"NATWEST MARKETS PLC\": \"7010\",\n \"Nordea Bank Finland Plc\": \"8518\",\n \"OUB\": \"7348\",\n \"P.T. Bank Mandiri (Persero)\": \"8749\",\n \"Philippine National Bank - Cecil Street\": \"7870\",\n \"PT BANK NEGARA INDONESIA (PERSERO)\": \"7056\",\n \"Rabobank\": \"8439\",\n \"Raiffeisen Zentralbank Osterreich AG\": \"9034\",\n \"RHB Bank Berhad\": \"7366\",\n \"ROYAL BANK OF CANADA\": \"7667\",\n \"SHINHAN BANK\": \"8615\",\n \"Singapore Island Bank Ltd\": \"7117\",\n \"Skandinaviska Enskilda Banken AB\": \"8527\",\n \"Societe Generale - Singapore Branch\": \"7852\",\n \"Southern Bank Berhad\": \"7038\",\n \"State Bank of India\": \"7791\",\n \"Sumitomo Mitsui Banking Corporation\": \"7472\",\n \"Svenska Handelsbanken AB (publ)\": \"8493\",\n \"The Agricultural Bank of China\": \"8837\",\n \"The Bank of Taiwan\": \"8846\",\n \"The Korea Development Bank\": \"8934\",\n \"The National Bank of Kuwait SAK\": \"8280\",\n \"The Norinchukin Bank\": \"8688\",\n \"The Siam Commercial Bank PCL\": \"8800\",\n \"TORONTO-DOMINION BANK\": \"8882\",\n \"TRUST BANK SINGAPORE LIMITED\": \"9733\",\n \"UBS AG\": \"7685\",\n \"UCO Bank\": \"7357\",\n \"UFJ Bank Ltd - Singapore Branch\": \"7807\",\n \"Union de Banques Arabes et Francaises\": \"8110\",\n \"VTB Capital Plc\": \"7427\",\n \"Westpac Banking Corporation\": \"7889\",\n \"Woori Bank\": \"7995\"\n }\n // FT Pre login – Pre login FT changes Apr 2023.docx\n let PRICINGPROMO = {\n \"0% p.a. for 6 months with 2.28% processing fee (EIR at 4.87% p.a.) and prevailing interest rate applies thereafter (min $1,000)\": \"U\",\n \"0% p.a. for for 12 months 4.38% processing fee (EIR at 5.06% p.a.), and prevailing interest rate applies thereafter (min S$1,000)\": \"Y\"\n }\n\n let PRICINGCAFTSCHME = {\n \"0% p.a. for 6 months with 2.28% processing fee (EIR at 4.87% p.a.) and prevailing interest rate applies thereafter (min $1,000)\": \"FT2086\",\n \"0% p.a. for for 12 months 4.38% processing fee (EIR at 5.06% p.a.), and prevailing interest rate applies thereafter (min S$1,000)\": \"FT2082\"\n }\n\n\n\n //APRIL 15th 2024\n\n let PRICINGPROMOHNW = {\n \"0% p.a. for 6 months with 1.48% processing fee (EIR at 3.17% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"W\",\n \"0% p.a. for 12 months 3.88% processing fee (EIR at 4.49% p.a.), prevailing interest rate applies thereafter (min S$ 2,000) *Be awarded with an automatic Ingersoll timepiece worth $358 with minimum approved Funds Transfer amount of S$10,000\": \"T\",\n\n }\n\n let PRICINGSCHMEHNW = {\n \"0% p.a. for 6 months with 1.48% processing fee (EIR at 3.17% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"FT148F\",\n \"0% p.a. for 12 months 3.88% processing fee (EIR at 4.49% p.a.), prevailing interest rate applies thereafter (min S$ 2,000) *Be awarded with an automatic Ingersoll timepiece worth $358 with minimum approved Funds Transfer amount of S$10,000\": \"FT388F\",\n\n }\n\n //end by Sept 22nd 2023\n // let PRICINGPROMOHNW = {\n // \"0% p.a. for 6 months with 0.99% processing fee (EIR at 2.13% p.a.) and prevailing interest rate applies thereafter (min $2,000)\": \"W\",\n // \"0% p.a. for for 12 months 1.28% processing fee (EIR at 1.50% p.a.), and prevailing interest rate applies thereafter (min S$2,000)\": \"T\"\n // }\n\n // let PRICINGSCHMEHNW = {\n // \"0% p.a. for 6 months with 0.99% processing fee (EIR at 2.13% p.a.) and prevailing interest rate applies thereafter (min $2,000)\": \"FT099F\",\n // \"0% p.a. for for 12 months 1.28% processing fee (EIR at 1.50% p.a.), and prevailing interest rate applies thereafter (min S$2,000)\": \"FT128C\"\n // }\n\n //APR 2024\n\n let PRICINGPROMOMBANKOUTSIDERS = {\n \"2.38% p.a. for 6 months with 0% processing fee, prevailing interest rate applies thereafter (min S$2,000)\": \"M\",\n\n }\n\n let PRICINGSCHMEMBANKOUTSIDERS = {\n \"2.38% p.a. for 6 months with 0% processing fee, prevailing interest rate applies thereafter (min S$2,000)\": \"FT238R\",\n\n }\n\n\n //Before APR 2024\n // let PRICINGPROMOMBANKOUTSIDERS = {\n // \"2.48% p.a. for 6 months, prevailing interest rate applies thereafter (min S$2,000)\": \"X\",\n // \"3.48% p.a. for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"M\"\n // }\n\n // let PRICINGSCHMEMBANKOUTSIDERS = {\n // \"2.48% p.a. for 6 months, prevailing interest rate applies thereafter (min S$2,000)\": \"FT248R\",\n // \"3.48% p.a. for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"FT348R\"\n // }\n\n\n\n\n //FT Pre login – 2022 Year End Arbutus FT campaign for the period 20 Oct 2022 ~ 17 Jan 2023\n // let PRICINGPROMO = {\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (receive an elegant Arbutus Automatic Timepiece with minimum approved amount of S$10,000)\": \"U\",\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (min S$2,000)\": \"U\",\n // \"4.99% p.a interest for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"Y\"\n // }\n\n // let PRICINGCAFTSCHME = {\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (receive an elegant Arbutus Automatic Timepiece with minimum approved amount of S$10,000)\": \"FT138F\",\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (min S$2,000)\": \"FT138F\",\n // \"4.99% p.a interest for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"FT499R\"\n // }\n //end promotion by oct 20\n // let PRICINGPROMO = {\n // \"0% for 6 months with 0.99% processing fee (EIR 2.13%) and prevailing interest rate applies thereafter (min S$2,000)\": \"W\",\n // \"0% for 12 months with 1.68% processing fee (EIR 1.96%) and prevailing interest rate applies thereafter (min S$2,000)\": \"T\"\n // }\n // let PRICINGCAFTSCHME = {\n // \"0% for 6 months with 0.99% processing fee (EIR 2.13%) and prevailing interest rate applies thereafter (min S$2,000)\": \"FT099F\",\n // \"0% for 12 months with 1.68% processing fee (EIR 1.96%) and prevailing interest rate applies thereafter (min S$2,000)\": \"FT168F\"\n // }\n //end promotion by oct 20\n\n\n // let PRICINGPROMO = {\n // \"0% for 3 months with 1.28% processing fee (EIR 5.26%) and prevailing interest rate applies thereafter (min S$1,000)\":\"R\",\n // \"0% for 6 months with 2.28% processing fee (EIR 4.87%) and prevailing interest rate applies thereafter (min S$1,000)\":\"S\",\n // \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$1,000)\":\"V\"\n // }\n // let PRICINGCAFTSCHME = {\n // \"0% for 3 months with 1.28% processing fee (EIR 5.26%) and prevailing interest rate applies thereafter (min S$1,000)\":\"FT128F\",\n // \"0% for 6 months with 2.28% processing fee (EIR 4.87%) and prevailing interest rate applies thereafter (min S$1,000)\":\"FT228F\",\n // \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$1,000)\":\"FT499R\"\n // }\n\n switch (item.toUpperCase()) {\n case \"IDTYPE\":\n itemObject = IDTYPE;\n break;\n case \"COUNTRIES\":\n itemObject = countries;\n break;\n case \"PRICINGPROMO\":\n itemObject = PRICINGPROMO;\n break;\n case \"PRICINGCAFTSCHME\":\n itemObject = PRICINGCAFTSCHME;\n break;\n case \"BANKDATALIST\":\n itemObject = BANKDATALIST;\n break;\n case \"PRICINGPROMOHNW\":\n itemObject = PRICINGPROMOHNW;\n break;\n case \"PRICINGSCHMEHNW\":\n itemObject = PRICINGSCHMEHNW;\n break;\n case \"PRICINGPROMOMBANKOUTSIDERS\":\n itemObject = PRICINGPROMOMBANKOUTSIDERS;\n break;\n case \"PRICINGSCHMEMBANKOUTSIDERS\":\n itemObject = PRICINGSCHMEMBANKOUTSIDERS;\n break;\n\n default:\n break;\n }\n\n Object.keys(itemObject).map(function (key) {\n if (dataValue === key) {\n returnID = itemObject[key];\n }\n });\n\n return returnID;\n}\n\nexport default toFetchIDValue","import helper from '../data/Helper';\n\nconst emailRegex = new RegExp(/\\S+@\\S+\\.\\S+/);\nconst phoneRegex = new RegExp(/^[0-9 ()+-]+$/);\nconst ccardRegex = new RegExp(/^[0-9-]+$/);\nconst cvcRegex = new RegExp(/^[0-9]+$/);\nconst notAllowSpcl = new RegExp(/^[A-Za-z0-9]+$/);\nconst notAllowSpclname = new RegExp(/^[a-zA-Z ]*$/);//april 2024// \nconst allowOnlyChars = new RegExp(/^[a-zA-Z ]+$/);\n\n\nexport const termsValidator = (value) => value ? \"\" : \"Please accept terms & conditions of the application to proceed\";\n\n//Personal info\nexport const nameValidator = (value) => {\n if (!value) {\n return \"Please Enter Full Name as in your NRIC/Passport\"\n } else if (!notAllowSpclname.test(value)) {\n return \"Please Enter Full Name as in your NRIC/Passport\"\n } else if (value.length > 80) {\n return \"Please Enter Full Name as in your NRIC/Passport\"\n }\n}\nexport const nricValidator = (value) => {\n if (!value) {\n return \"Please Enter your NRIC/Passport Number\"\n }\n else if (value.length > 20) {\n return \"Please Enter your NRIC/Passport Number\"\n } else if (!notAllowSpcl.test(value)) {\n return \"Please Enter your NRIC/Passport Number\"\n }\n}\n\nexport const countryValidator = (value) => value ? \"\" : \"Please Select a Valid Country from the list\";\nexport const IDTypeValidator = (value) => value ? \"\" : \"Please Select a Valid ID Type from the list\";\n\nexport const emailValidator = (value) => {\n // if (!value) {\n // return \"Please Enter a Valid Email Address\"\n // } else\n if (value) {\n if (!emailRegex.test(value)) {\n return \"Please Enter a Valid Email Address\"\n } else if (value.length > 50) {\n return \"Please Enter a Valid Email Address\"\n }\n }\n}\n\n\n//Fund transfer\nexport const TransferFromValidator = (value) => value ? \"\" : \"Please select a card / account for the transfer.\";\n\nexport const crditAbleValidator = (value) => {\n\n if (!value) {\n return \"Please enter a valid CreditAble account number\"\n }\n if (value) {\n if (!ccardRegex.test(value)) {\n return \"Please enter a valid Creditable account number\"\n }\n else if (value.substring(0, 5).trim() !== \"04137\" && value.substring(0, 5).trim() !== '04138') {\n return \"Please enter a valid CreditAble account number.\"\n }\n else if (value.length !== 11) {\n return \"Please enter a valid CreditAble account number\"\n }\n\n }\n}\n\nexport const priceValidator = (value) => value ? \"\" : \"Please select your preferred loan plan\";\nexport const TransferToValidator = (value) => value ? \"\" : \"Please nominate a bank to receive the Fund Transfer.\";\nexport const acntNameValidator = (value) => {\n if (!value) {\n return \"Please enter name of the account holder of nominated bank.\";\n }\n else if (value.length > 80) {\n return \"Please enter name of the account holder of nominated bank.\";\n }\n else if (!allowOnlyChars.test(value)) {\n return \"Numeric Account Holder Name not acceptable.\"\n } else if (value) {\n\n //APR 2024 new validation rules \n\n let fullNameInID = localStorage.getItem('CFN');\n fullNameInID = fullNameInID.toUpperCase();\n\n\n let nameOfAcntHolderVal = value;\n nameOfAcntHolderVal = nameOfAcntHolderVal.toUpperCase();\n let nameOfAcntHolder = nameOfAcntHolderVal.split(\" \");\n\n const itemsArray = fullNameInID.split(\" \"); //logic 3 to separate all string value to array items\n ////console.log(\"itemsArray----->\" + itemsArray);\n const updatedItems = itemsArray.map(item => item.charAt(0)); //logic #002 to get first char\n ////console.log(updatedItems);\n\n const toremoveSpaceArry = fullNameInID.replace(/\\s/g, '') //logic #001 to merge text\n ////console.log(\"toremoveSpaceArry---->\" + toremoveSpaceArry);\n\n ////console.log(toremoveSpaceArry);\n\n\n\n let items = fullNameInID; //logic #4 to concact with all string\n items = items.split(\" \");\n const combinations = [];\n const combinationswithspace = [];\n const combinationswithReverse = [];\n const combinationswithRevSpace = [];\n\n\n for (let i = 0; i < items.length; i++) {\n for (let j = i + 1; j < items.length; j++) {\n combinations.push(items[i].toUpperCase() + items[j].toUpperCase());\n combinationswithspace.push(items[i].toUpperCase() + \" \" + items[j].toUpperCase());\n combinationswithReverse.push(items[j].toUpperCase() + items[i].toUpperCase());\n combinationswithRevSpace.push(items[j].toUpperCase() + \" \" + items[i].toUpperCase());\n }\n }\n\n\n // insert to array items \n const mergedArray = itemsArray.concat(updatedItems, toremoveSpaceArry, combinations, combinationswithspace, combinationswithReverse, combinationswithRevSpace);\n ////console.log('Merged--->' + mergedArray);\n\n const arraySet1 = new Set(mergedArray);\n const allPresent1 = nameOfAcntHolder.every(value => arraySet1.has(value.toUpperCase()));\n if (!allPresent1) {\n return \"Account Holder Name must be the same as full name in NRIC/Passport\";\n }\n ////////console.log('final result----->' + allPresent1); // Output: true\n }\n\n}\n\n\n\n\nexport const cardValidator = (value) => {\n if (!value) {\n return \"Please enter a valid credit card number\"\n } else if (!ccardRegex.test(value)) {\n return \"Please enter a valid credit card number\"\n }\n else if (value.length !== 16) {\n return \"Please enter a valid credit card number\"\n }\n\n}\n\nexport const cardValidator1 = (value) => {\n if (!value) {\n return \"Please enter a valid credit card number\"\n } else if (!ccardRegex.test(value)) {\n return \"Please enter a valid credit card number\"\n }\n else if (!helper.isMayBankCardBINList(value.substring(0, 8))) { \n return \"Please enter a valid Credit Card Account number\"\n } else if (value.length !== 16) {\n return \"Please enter a valid credit card number\"\n }\n\n}\n\nexport const AmountValidator = (value) => {\n const amtVal = parseInt(helper.getAmtValidValue());\n if (!value) {\n return \"Please enter the transfer amount.\"\n } else if (value < amtVal) {\n return \"Minimum amount is \" + helper.displayAmtNote() + \" and should be in multiples of S$100.\";\n } else if (value > 9999999999.99) {\n return \"Please enter valid transfer amount.\"\n } else if (parseInt(value) % 100 !== 0) {\n return \"Minimum amount is \" + helper.displayAmtNote() + \" and should be in multiples of S$100.\";\n }\n}\n\nexport const phoneValidator = (value) => !value ?\n \"Phone number is required.\" :\n phoneRegex.test(value) || value < 8 ? \"\" : \"Not a valid phone number.\";\n\nexport const bankAcntValidator = (value) => {\n if (!value) {\n return \"Please input a valid Credit Card Number\"\n } else if (value.length !== 16) {\n return \"Please enter a vaild NRIC/Passport Number\"\n } else if (value.length > 20) {\n return \"Please enter a vaild NRIC/Passport Number\"\n }\n}\n\nexport const cradNAccountNumber = (value) => {\n //before Pre login FT changes Apr 2023.docx\n // if (!value) {\n // return \"Please enter credit card/line of credit/current or savings account number of nominated bank. \"\n // } else if (value.length > 20) {\n // return \"Please enter credit card/line of credit/current or savings account number of nominated bank. \"\n // }\n\n //Pre login FT changes Apr 2023.docx\n const sValue = value.replace(/[^A-Za-z0-9 ]/g, \"\");\n const cardValue = sValue.split(\" \").join(\"\");\n\n if (!value) {\n return \"Please enter credit card/line of credit/current or savings account number of nominated bank. \"\n }\n else if (value.length > 20) {\n return \"Please enter credit card/line of credit/current or savings account number of nominated bank. \"\n }\n else if ((cardValue.substring(0, 2) === '14' || cardValue.substring(0, 2) === '04') && cardValue.length === 11) {\n return \"Please provide a non-Maybank Account number\"\n }\n else if (cardValue.substring(0, 4) === '0413' && cardValue.length === 11) {\n return \"Please provide a non-Maybank Account number\"\n }\n else if (cardValue.substring(0, 6) === '518834' && cardValue.length > 6) { // APR 2024\n return \"Please provide a non-Maybank Account number\"\n }\n else if (cardValue.substring(0, 3) === '413' && cardValue.length === 10) {\n return \"Please provide a non-Maybank Account number\"\n }\n // else if(cardValue.substring(0,6) === '518834' || cardValue.substring(0,6) === '554704'\n // || cardValue.substring(0,6) === '496643' || cardValue.substring(0,6) === '401636' \n // || cardValue.substring(0,6) === '469619') {\n // return \"Please provide a non-Maybank Account number\"\n // }\n else if (helper.isMayBankCardBINList(cardValue.substring(0, 8))) {\n return \"Please provide a non-Maybank Account number\"\n }\n}\n\nexport const cvcValidator = (value) => !value ?\n \"CVC code is required,\" :\n cvcRegex.test(value) || value.length !== 3 ? \"\" : \"Not a valid CVC code format.\";\nexport const guestsValidator = (value) => !value ?\n \"Number of items is required\" :\n value < 5 ? \"\" : \"Maximum 5 items\";\n\nexport const requiredValidator = (value) => value ? \"\" : \"Error: This field is required.\";\nexport const passwordValidator = (value) => value && value.length > 8 ? '' : 'Password must be at least 8 symbols.';\nexport const addressValidator = (value) => value ? \"\" : \"Address is required.\";\nexport const tovalidateExpdate = (value) => {\n let localExpTime = window.localStorage.getItem('expid');\n if (value > parseInt(localExpTime) + 9) {\n return false\n\n } else {\n return true\n //nothing\n }\n\n\n}","\nimport React from 'react';\nimport configData from \"../config/config.json\";\nimport { Notification, NotificationGroup } from '@progress/kendo-react-notification';\nimport { Form, Field, FormElement } from '@progress/kendo-react-form';\nimport FormContainer from './FormContainer';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { Button } from '@progress/kendo-react-buttons';\nimport { FormInput, FormComboBox } from '../core/customComponents';\nimport countries from '../data/countries';\nimport idType from '../data/IdType';\nimport toFetchIDValue from '../data/IdTypeCheck';\nimport { emailValidator, nameValidator, nricValidator, requiredValidator, countryValidator, IDTypeValidator } from '../core/validationRules';\nimport Loading from './Loading';\nimport helper from '../data/Helper';\n\nvar CryptoJS = require(\"crypto-js\");\nlet key = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\nlet iv = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\n\nclass PersonalDetails extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.updateInputValue = this.updateInputValue.bind(this)\n configData.OtpResendDisabled = true;\n configData.count3TimeToExist = 0;\n configData.RESEND = 0;\n this.timer = 0;\n configData.settimerZero = 0;\n this.startTimer = this.startTimer.bind(this);\n this.countDown = this.countDown.bind(this);\n\n this.state = {\n OTPValue: '',\n inputuuid: '',\n\n OtpconfirmDisabled: false,\n tohideNotification: false,\n notificationFlag: false,\n maskSetMobileNumber: '',\n getAllDataValues: '',\n setAllstateValues: {},\n setAllOTPResponces: {},\n setClockTrue: true,\n time: {},\n seconds: configData.setTimeIntOTP, //in sec 3 min 180sec,\n showLoading: false\n };\n\n }\n\n secondsToTime(secs) {\n\n let hours = Math.floor(secs / (60 * 60));\n let divisor_for_minutes = secs % (60 * 60);\n let minutes = Math.floor(divisor_for_minutes / 60);\n let divisor_for_seconds = divisor_for_minutes % 60;\n let seconds = Math.ceil(divisor_for_seconds);\n\n let obj = {\n \"h\": hours,\n \"m\": minutes,\n \"s\": seconds\n };\n\n return obj;\n\n }\n\n componentDidMount() {\n //this.startTimer();//remove\n let timeLeftVar = this.secondsToTime(this.state.seconds);\n this.setState({ time: timeLeftVar });\n }\n\n reSendOTP() {\n\n this.setState({ OTPValue: \"\" });\n configData.RESEND = configData.RESEND + 1;\n if (configData.RESEND <= 2) {\n configData.OtpResendDisabled = false;\n clearInterval(this.timer);\n this.state.seconds = configData.setTimeIntOTP;\n this.startTimer();\n } else {\n configData.OtpResendDisabled = true;\n alert(\"You have exceeded the max OTP request, please try after some time\");\n helper.toHomeScreen();\n return;\n }\n }\n //timer set starts \n startTimer() {\n\n this.state.notificationFlag = false;\n if ((this.timer === 0) && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n } else if (configData.RESEND <= 2 && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n configData.OtpResendDisabled = true;\n }\n }\n countDown() {\n // Remove one second, set state so a re-render happens.\n let seconds = this.state.seconds - 1;\n this.setState({\n time: this.secondsToTime(seconds),\n seconds: seconds,\n });\n if (seconds === 0) {\n clearInterval(this.timer);\n }\n }\n\n handleSubmit(event) {\n\n const responseOBJ = {};\n let requestBody = {\n by_idNum: this.state.nric,\n by_idType: toFetchIDValue(\"IDTYPE\", this.state.idType),\n by_idIssueCountryCode: toFetchIDValue(\"countries\", this.state.countryselected),\n stateId: uuidv4(),\n email: this.state.email,\n prod_Type: configData.PRODUCT_TYPE,\n by_name: this.state.fullname\n\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Access-Control-Allow-Headers': 'Content-Type'\n },\n };\n\n if (!requestBody.email) {\n requestBody.email = \"\";\n }\n\n // save locally for OTP GENERATION API\n /*\n localStorage.setItem(\"Otp_nric\", requestBody.by_idNum);\n localStorage.setItem(\"Otp_idtype\", requestBody.by_idType);\n localStorage.setItem(\"Otp_countCode\", requestBody.by_idIssueCountryCode);\n localStorage.setItem(\"Otp_StateIDvalue\", requestBody.stateId);\n localStorage.setItem(\"Otp_email\", requestBody.email);\n localStorage.setItem(\"Otp_Prod_type\", requestBody.prod_Type);\n localStorage.setItem(\"Otp_Name\", requestBody.by_name);\n */\n\n this.setState({ showLoading: true });\n\n const baseUrl = this.getSaveURL();\n\n fetch(baseUrl + \"?by_idNum=\" + requestBody.by_idNum + \"&by_idType=\" + requestBody.by_idType + \"&by_idIssueCountryCode=\" + requestBody.by_idIssueCountryCode + \"&stateId=\" + requestBody.stateId + \"&email=\" + requestBody.email + \"&prod_Type=\" + requestBody.prod_Type + \"&by_name=\" + requestBody.by_name\n , requestOptions)\n .then(async response => {\n this.setState({ showLoading: false });\n const data = await response.json();\n if (!data.didError) {\n let res = data.model;\n if (res.token && res.referenceNo) {\n let tokenid = res.token;\n let expirytoken = data.tokenExpirationDate;\n //Reference\n localStorage.setItem(\"Ref\", res.referenceNo);\n configData.RefferenceNo = res.referenceNo;//STORING GLOBAL\n\n //token id\n localStorage.setItem(\"tkn\", tokenid);\n localStorage.setItem(\"expdte\", expirytoken);\n localStorage.setItem(\"expid\", new Date().getMinutes());\n\n if (res.data) {\n localStorage.setItem(\"nricval\", res.data);\n }\n\n this.props.history.push('Fundtransfer');\n\n } else {\n console.log(\"error:Token/Reff no \")\n }\n\n } else {\n localStorage.clear();\n this.props.history.push('error');\n }\n })\n .catch(error => {\n\n this.setState({\n errorMessage: error,\n showLoading: false\n });\n if (configData.RESEND <= 1) {\n }\n console.error('There was an error!', error);\n\n });\n }\n\n updateInputValue = async (e) => {\n const re = /^[0-9\\b]+$/;\n if (e.target.value === '' || re.test(e.target.value)) {\n await this.setState({ OTPValue: e.target.value });\n }\n if (this.state.OTPValue.length === 6) {\n await this.setState({ OtpconfirmDisabled: true });\n } else {\n await this.setState({ OtpconfirmDisabled: false });\n }\n }\n\n isNumber = async (evt) => {\n evt = (evt) ? evt : window.event;\n var charCode = (evt.which) ? evt.which : evt.keyCode;\n\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n await this.setState({ OTPValue: \"\" });\n await this.setState({ OtpconfirmDisabled: false });\n return false;\n } else {\n return true;\n }\n }\n\n verifyOTPDetails = async () => {\n console.log('verifyOTPDetails');\n\n if (this.state.OTPValue) {\n let req = this.state.setAllOTPResponces;\n if (!this.state.email) {\n this.state.email = \"\";\n }\n\n const requestBody = {\n\n //new changes passing details to save at verification\n idNum: this.state.nric,\n idType: toFetchIDValue(\"IDTYPE\", this.state.idType),\n idIssueCountryCode: toFetchIDValue(\"countries\", this.state.countryselected),\n email: this.state.email,\n name: this.state.fullname,\n by_prdType: configData.PRODUCT_TYPE,\n\n cifNum: req.cifNum,\n otp: this.state.OTPValue,\n mobileNum: \"0\",//req.mobileNum ? req.mobileNum.substring(3) : '',\n accessID: \"00000000\",//this.state.setAccessID,\n uniqueRequestid: uuidv4(),//req.uniqueID,\n appId: '0'//configData.AUTH_CODE_Encrypt\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n },\n body: JSON.stringify(requestBody)\n };\n\n this.setState({ showLoading: true });\n\n const baseUrl = this.getVerifyOTPURL();\n\n fetch(baseUrl, requestOptions)\n\n .then(async response => {\n this.setState({ showLoading: false });\n const data = await response.json();\n if (!data.didError) {\n let res = data.model.msg;\n let resMsgBdy = res.msgBody;\n let resMsgHdr = res.msgHdr;\n\n if (data.token && data.refNo) {\n let tokenid = data.token;\n let expirytoken = data.tokenExpirationDate;\n //TODO\n localStorage.setItem(\"Ref\", data.refNo);\n configData.RefferenceNo = data.refNo;//STORING GLOBAL\n localStorage.setItem(\"tkn\", tokenid);\n localStorage.setItem(\"expdte\", expirytoken);\n localStorage.setItem(\"expid\", new Date().getMinutes());\n if (resMsgBdy) {\n localStorage.setItem(\"nricval\", resMsgBdy.nric);\n }\n if (resMsgHdr.statusCode === \"0\") {\n this.props.history.push('Fundtransfer');\n this.state.notificationFlag = false;\n }\n else {\n if (resMsgHdr.statusDesc)\n configData.count3TimeToExist = configData.count3TimeToExist + 1\n if (configData.count3TimeToExist <= 3) {\n await this.setState({ errorMessage: resMsgHdr.statusDesc });\n alert(\"The OTP entered has expired/is invalid. Please re-enter the 6 Digit OTP.\")\n } else {\n alert(\"You have exceeded the max OTP to confirm, please try after some time\");\n document.location.href = configData.URL_ToHomeScreen;\n localStorage.clear();\n return;\n }\n }\n } else {\n this.props.history.push('error');\n localStorage.clear();\n }\n } else {\n this.props.history.push('error');\n localStorage.clear();\n }\n })\n .catch(error => {\n this.setState({ showLoading: false });\n console.error('There was an error!', error);\n });\n\n } else {\n await this.setState({ OtpconfirmDisabled: true });\n alert(\"Please enter valid numeric 6 digit OTP\");\n }\n }\n\n handleChange = async (event) => {\n await this.setState({ email: event.target.value });\n }\n fullNameChange = async (event) => {\n localStorage.setItem('CFN', event.target.value);\n await this.setState({ fullname: event.target.value });\n }\n idTypeChange = async (event) => {\n\n await this.setState({ idType: event.target.value });\n }\n filterChange = async (event) => {\n\n await this.setState({ idType: event.target.value });\n }\n\n countrySelectChange = async (event) => {\n await this.setState({ countryselected: event.target.value });\n }\n nricChange = async (event) => {\n let touppervalue = event.target.value;\n touppervalue = touppervalue.toUpperCase();\n await this.setState({ nric: touppervalue });\n }\n\n getVerifyOTPURL = () => {\n let baseUrl = configData.URL_VERIFY_OTP_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_VERIFY_OTP_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_VERIFY_OTP;\n }\n else {\n baseUrl = configData.URL_VERIFY_OTP_PROD;\n }\n return baseUrl;\n }\n\n getSaveURL = () => {\n let baseUrl = configData.URL_SEND_SAVEDETAILS_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SEND_SAVEDETAILS_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SEND_SAVEDETAILS;\n }\n else {\n baseUrl = configData.URL_SEND_SAVEDETAILS_PROD;\n }\n return baseUrl;\n }\n\n render() {\n const { tohideNotification } = this.state;\n return (\n\n
\n
\n
\n

{configData.APP_NAME}

\n
\n\n \n (\n \n
\n
\n
\n {configData.HDR_PER_DETAILS} \n
\n
\n\n \n \n\n \n\n \n\n \n\n
\n\n\n \n\n {!this.state.tohideNotification &&
\n \n
}\n

\n
\n )} />\n\n\n {(tohideNotification) ? (\n\n \n
\n
\n
\n
\n
\n
\n
\n

OTP has been sent to XXXX {this.state.maskSetMobileNumber}

\n

Please confirm received OTP with in 2 minutes.

\n
\n
\n {this.state.time.s > 0 &&
\n
\n
\n

Resend in {this.state.time.m} : {this.state.time.s}\n \n

\n
\n
\n
}\n\n {this.state.time.s <= 0 &&
\n
\n
\n {(this.state.time.m <= 0 && this.state.time.s <= 0 && configData.OtpResendDisabled) &&\n
\n \n
}\n
\n
\n
\n }\n
\n
\n
\n \n
\n
\n
\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n ) : \"\"}\n
\n {this.state.showLoading && }\n
\n
\n )\n }\n}\n\nexport default PersonalDetails;\n","//import * as React from 'react';\n\nexport const banklist = [\n \"DBS\",\n \"OCBC\",\n \"UOB\",\n \"CITIBANK NA\",\n \"Citibank Singapore Limited\",\n \"HSBC Bank (Singapore) Limited\",\n \"Standard Chartered Bank Singapore Limited\",\n \"AMEX\",\n \"ABSA Bank Ltd\",\n \"ANZ Banking Group\",\n \"Arab Bank PLC\",\n \"Arab Banking Corporation BSC\",\n \"Banca Monte dei Paschi di Siena S.p.A.\",\n \"Bangkok Bank Public Company Ltd\",\n \"BANK OF AMERICA NA\",\n \"BANK OF CHINA LTD\",\n \"Bank of Communications\",\n \"Bank of East Asia Ltd\",\n \"Bank of India\",\n \"Bank of New Zealand\",\n \"Bank of Nova Scotia\",\n \"BANK OF TAIWAN\",\n \"BARCLAYS BANK PLC\",\n \"Bayerische Hypo-Und Vereinsbank\",\n \"BNP Paribas\",\n \"BNP PARIBAS SECURITIES SERVICES\",\n \"Chang Hwa Commercial Bank Ltd\",\n \"China CITIC Bank International Ltd\",\n \"China Construction Bank\",\n \"CIMB Bank Berhad\",\n \"CLS BANK INTERNATIONAL\",\n \"Commerzbank Aktiengesellschaft\",\n \"Credit Agricole Corporate & Investment Bank-SG BR\",\n \"CREDIT INDUSTRIEL ET COMMERCIAL\",\n \"CREDIT SUISSE AG\",\n \"CTBC Bank Co., Ltd\",\n \"Deutsche Bank AG\",\n \"Dexia Banque International a Luxembourg\",\n \"Diners Club\",\n \"DNB Bank ASA\",\n \"Dresdner Bank AG\",\n \"Far Eastern Bank Ltd\",\n \"First Commercial Bank, Ltd\",\n \"Fleet National Bank - Head Office\",\n \"Habib Bank Ltd\",\n \"HL Bank\",\n \"Hong Leong Finance Ltd\",\n \"Hua Nan Commercial Bank, Ltd\",\n \"ICB\",\n \"ICICI Bank Limited\",\n \"Indian Bank\",\n \"INDIAN OVERSEAS BANK\",\n \"Industrial & Commercial Bank of China\",\n \"ING BANK NV\",\n \"Intesa Sanpaolo S.p.A.\",\n \"JPMorgan Chase Bank N.A.\",\n \"KBC Bank N.V.\",\n \"KEB HANA BANK\",\n \"Krung Thai Bank PCL\",\n \"LANDESBANK BADEN-WURTTEMBERG\",\n \"MACQUARIE BANK LIMITED\",\n \"Mega Intl Commercial Bank Co., Ltd\",\n \"Mizuho Bank, Ltd\",\n \"MUFG BANK LTD, SINGAPORE BRANCH\",\n \"Natexis Banques Popularies\",\n \"National Australia Bank Limited\",\n \"NATWEST MARKETS PLC\",\n \"Nordea Bank Finland Plc\",\n \"OUB\",\n \"P.T. Bank Mandiri (Persero)\",\n \"Philippine National Bank - Cecil Street\",\n \"PT BANK NEGARA INDONESIA (PERSERO)\",\n \"Rabobank\",\n \"Raiffeisen Zentralbank Osterreich AG\",\n \"RHB Bank Berhad\",\n \"ROYAL BANK OF CANADA\",\n \"SHINHAN BANK\",\n \"Singapore Island Bank Ltd\",\n \"Skandinaviska Enskilda Banken AB\",\n \"Societe Generale - Singapore Branch\",\n \"Southern Bank Berhad\",\n \"State Bank of India\",\n \"Sumitomo Mitsui Banking Corporation\",\n \"Svenska Handelsbanken AB (publ)\",\n \"The Agricultural Bank of China\",\n \"The Bank of Taiwan\",\n \"The Korea Development Bank\",\n \"The National Bank of Kuwait SAK\",\n \"The Norinchukin Bank\",\n \"The Siam Commercial Bank PCL\",\n \"TORONTO-DOMINION BANK\",\n \"TRUST BANK SINGAPORE LIMITED\",\n \"UBS AG\",\n \"UCO Bank\",\n \"UFJ Bank Ltd - Singapore Branch\",\n \"Union de Banques Arabes et Francaises\",\n \"VTB Capital Plc\",\n \"Westpac Banking Corporation\",\n \"Woori Bank\"\n\n //Before CR - Pre login FT changes Apr 2023.docx\n // \"DBS\",\n // \"OCBC\",\n // \"UOB\",\n // \"CITIBANK NA\",\n // \"Citibank Singapore Limited\",\n // \"HSBC\",\n // \"HSBC Bank (Singapore) Limited\",\n // \"Standard Chartered Bank\",\n // \"Standard Chartered Bank Singapore Limited\",\n // \"AMEX\",\n // \"ABSA Bank Ltd\",\n // \"ANZ Banking Group\",\n // \"Arab Bank PLC\",\n // \"Arab Banking Corporation BSC\",\n // \"Banca Monte dei Paschi di Siena S.p.A.\",\n // \"Bangkok Bank Public Company Ltd\",\n // \"BANK OF AMERICA NA\",\n // \"BANK OF CHINA LTD\",\n // \"Bank of Communications\",\n // \"Bank of East Asia Ltd\",\n // \"Bank of India\",\n // \"Bank of New Zealand\",\n // \"Bank of Nova Scotia\",\n // \"BANK OF TAIWAN\",\n // \"BARCLAYS BANK PLC\",\n // \"Bayerische Hypo-Und Vereinsbank\",\n // \"BNP Paribas\",\n // \"BNP PARIBAS SECURITIES SERVICES\",\n // \"Chang Hwa Commercial Bank Ltd\",\n // \"China CITIC Bank International Ltd\",\n // \"China Construction Bank\",\n // \"CIMB Bank Berhad\",\n // \"CLS BANK INTERNATIONAL\",\n // \"Commerzbank Aktiengesellschaft\",\n // \"Credit Agricole Corporate & Investment Bank-SG BR\",\n // \"CREDIT INDUSTRIEL ET COMMERCIAL\",\n // \"CREDIT SUISSE AG\",\n // \"CTBC Bank Co., Ltd\",\n // \"Deutsche Bank AG\",\n // \"Dexia Banque International a Luxembourg\",\n // \"Diners Club\",\n // \"DNB Bank ASA\",\n // \"Dresdner Bank AG\",\n // \"Far Eastern Bank Ltd\",\n // \"First Commercial Bank, Ltd\",\n // \"Fleet National Bank - Head Office\",\n // \"Habib Bank Ltd\",\n // \"HL Bank\",\n // \"Hong Leong Finance Ltd\",\n // \"Hua Nan Commercial Bank, Ltd\",\n // \"ICB\",\n // \"ICICI Bank Limited\",\n // \"Indian Bank\",\n // \"INDIAN OVERSEAS BANK\",\n // \"Industrial & Commercial Bank of China\",\n // \"ING BANK NV\",\n // \"Intesa Sanpaolo S.p.A.\",\n // \"JPMorgan Chase Bank N.A.\",\n // \"KBC Bank N.V.\",\n // \"KEB HANA BANK\",\n // \"Krung Thai Bank PCL\",\n // \"LANDESBANK BADEN-WURTTEMBERG\",\n // \"MACQUARIE BANK LIMITED\",\n // \"Mega Intl Commercial Bank Co., Ltd\",\n // \"Mizuho Bank, Ltd\",\n // \"MUFG BANK LTD, SINGAPORE BRANCH\",\n // \"Natexis Banques Popularies\",\n // \"National Australia Bank Limited\",\n // \"NATWEST MARKETS PLC\",\n // \"Nordea Bank Finland Plc\",\n // \"OUB\",\n // \"P.T. Bank Mandiri (Persero)\",\n // \"Philippine National Bank - Cecil Street\",\n // \"PT BANK NEGARA INDONESIA (PERSERO)\",\n // \"Rabobank\",\n // \"Raiffeisen Zentralbank Osterreich AG\",\n // \"RHB Bank Berhad\",\n // \"ROYAL BANK OF CANADA\",\n // \"SHINHAN BANK\",\n // \"Singapore Island Bank Ltd\",\n // \"Skandinaviska Enskilda Banken AB\",\n // \"Societe Generale - Singapore Branch\",\n // \"Southern Bank Berhad\",\n // \"State Bank of India\",\n // \"Sumitomo Mitsui Banking Corporation\",\n // \"Svenska Handelsbanken AB (publ)\",\n // \"The Agricultural Bank of China\",\n // \"The Bank of Taiwan\",\n // \"The Korea Development Bank\",\n // \"The National Bank of Kuwait SAK\",\n // \"The Norinchukin Bank\",\n // \"The Siam Commercial Bank PCL\",\n // \"TORONTO-DOMINION BANK\",\n // \"TRUST BANK SINGAPORE LIMITED\",\n // \"UBS AG\",\n // \"UCO Bank\",\n // \"UFJ Bank Ltd - Singapore Branch\",\n // \"Union de Banques Arabes et Francaises\",\n // \"VTB Capital Plc\",\n // \"Westpac Banking Corporation\",\n // \"Woori Bank\",\n\n //old values before jan 27\n // \"ABSA Bank Ltd\",\n // \"AMEX\",\n // \"ANZ Banking Group\",\n // \"Arab Bank PLC\",\n // \"Arab Banking Corporation BSC\",\n // \"Banca Monte dei Paschi di Siena S.p.A.\",\n // \"Bangkok Bank Public Company Ltd\",\n // \"Bank of China Limited\",\n // \"Bank of Communications\",\n // \"Bank of East Asia Ltd\",\n // \"Bank of India\",\n // \"Bank of New Zealand\",\n // \"Bank of Nova Scotia\",\n // \"Bank of Tokyo - Mitsubishi Ltd\",\n // \"Bayerische Hypo-Und Vereinsbank\",\n // \"BNP Paribas\",\n // \"BOA\",\n // \"Chang Hwa Commercial Bank Ltd\",\n // \"China CITIC Bank International Ltd\",\n // \"China Construction Bank\",\n // \"Cho Hung Bank\",\n // \"CIMB Bank Berhad\",\n // \"Citibank\",\n // \"Citibank Singapore Limited\",\n // \"Commerzbank Aktiengesellschaft\",\n // \"Compagnie Financiere de CIC et de\",\n // \"Credit Agricole Corporate & Investment Bank-SG BR\",\n // \"CTBC Bank Co., Ltd\",\n // \"DBS\",\n // \"Deutsche Bank AG\",\n // \"Dexia Banque International a Luxembourg\",\n // \"Diners Club\",\n // \"DNB Bank ASA\",\n // \"Dresdner Bank AG\",\n // \"Far Eastern Bank Ltd\",\n // \"First Commercial Bank, Ltd\",\n // \"Fleet National Bank - Head Office\",\n // \"Habib Bank Ltd\",\n // \"HL Bank\",\n // \"Hong Leong Finance Ltd\",\n // \"HSBC\",\n // \"HSBC Bank (Singapore) Limited\",\n // \"Hua Nan Commercial Bank, Ltd\",\n // \"ICB\",\n // \"ICICI Bank Limited\",\n // \"Indian Bank\",\n // \"Industrial & Commercial Bank of China\",\n // \"ING Bank N.V.\",\n // \"Intesa Sanpaolo S.p.A.\",\n // \"JPMorgan Chase Bank N.A.\",\n // \"KBC Bank N.V.\",\n // \"Korea Exchange Bank\",\n // \"Krung Thai Bank PCL\",\n // \"LANDESBANK BADEN-WURTTEMBERG\",\n // \"Maybank\",\n // \"Mega Intl Commercial Bank Co., Ltd\",\n // \"Mizuho Bank, Ltd\",\n // \"Monetary Authority of Singapore\",\n // \"Natexis Banques Popularies\",\n // \"National Australia Bank Limited\",\n // \"Nordea Bank Finland Plc\",\n // \"OCBC\",\n // \"Others\",\n // \"OUB\",\n // \"P.T. Bank Mandiri (Persero)\",\n // \"P.T.Bank Negara Indonesia(Persero)Tbk\",\n // \"Philippine National Bank - Cecil Street\",\n // \"Rabobank\",\n // \"Raiffeisen Zentralbank Osterreich AG\",\n // \"RHB Bank Berhad\",\n // \"Singapore Island Bank Ltd\",\n // \"Skandinaviska Enskilda Banken AB\",\n // \"Societe Generale - Singapore Branch\",\n // \"Southern Bank Berhad\",\n // \"Standard Chartered Bank\",\n // \"Standard Chartered Bank Singapore Limited\",\n // \"State Bank of India\",\n // \"Sumitomo Mitsui Banking Corporation\",\n // \"Svenska Handelsbanken AB (publ)\",\n // \"The Agricultural Bank of China\",\n // \"The Bank of Taiwan\",\n // \"The Korea Development Bank\",\n // \"The National Bank of Kuwait SAK\",\n // \"The Norinchukin Bank\",\n // \"The Royal Bank of Scotland plc\",\n // \"The Siam Commercial Bank PCL\",\n // \"UBS AG\",\n // \"UCO Bank\",\n // \"UFJ Bank Ltd - Singapore Branch\",\n // \"Union de Banques Arabes et Francaises\",\n // \"UOB\",\n // \"VTB Capital Plc\",\n // \"Westpac Banking Corporation\",\n // \"Woori Bank\",\n\n\n\n //old values before jan 22\n // \"BNP Paribas\",\n // \"Bangkok Bank Public Company Ltd\",\n // \"Bank of America NA\",\n // \"Bank of China Limited\",\n // \"Bank of East Asia Ltd\",\n // \"Bank of India\",\n // \"CIMB Bank Berhad\",\n // \"CTBC Bank Co., Ltd\",\n // \"Citibank NA\",\n // \"Citibank Singapore Limited\",\n // \"Commerzbank AG\",\n // \"Credit Agricole Corporate and Investment Bank\",\n // \"DBS Bank Ltd / POSB\",\n // \"Deutsche Bank AG\",\n // \"First Commercial Bank,Ltd\",\n // \"GPay Network (S) Pte Ltd\",\n // \"HL Bank\",\n // \"HSBC Bank (Singapore) Limited\",\n // \"HongKong & Shanghai Banking Corporation Ltd\",\n // \"ICICI Bank Limited\",\n // \"Indian Bank\",\n // \"Indian Overseas Bank\",\n // \"Industrial and Commercial Bank of China Limited\",\n // \"Intesa Sanpaolo S.p.A\",\n // \"JPMorgan Chase Bank, N.A.\",\n // \"Korea Exchange Bank\",\n // \"Liquid Group Pte Ltd\",\n // \"MUFG Bank, Ltd\",\n // \"MatchMove Pay Pte Ltd\",\n // \"Mizuho Bank, Ltd\",\n // \"National Australia Bank Ltd\",\n // \"Overseas-Chinese Banking Corporation Ltd\",\n // \"P.T.Bank Negara Indonesia(Persero)Tbk\",\n // \"Qatar National Bank SAQ\",\n // \"RHB Bank Berhad\",\n // \"Sing Investments & Finance Limited\",\n // \"SingCash Pte Ltd\",\n // \"Singapura Finance Ltd\",\n // \"Skandinaviska Enskilda Banken AB (publ)\",\n // \"Societe Generale\",\n // \"Standard Chartered Bank (Singapore) Limited\",\n // \"State Bank of India\",\n // \"Sumitomo Mitsui Bank Ltd\",\n // \"Transferwise Singapore Pte Ltd\",\n // \"UCO Bank\",\n // \"UniCredit Bank AG\",\n // \"Union Bank of Switzerland AG\",\n // \"United Overseas Bank Ltd\"\n\n];\nexport default banklist","\n\n\n//JUNE 2022 to AUG 31st 2022\n\n// export const pricing = [\n// \"0% for 6 months with 0.99% processing fee (EIR 2.13%) and prevailing interest rate applies thereafter (min S$2,000)\",\n// \"0% for 12 months with 1.68% processing fee (EIR 1.96%) and prevailing interest rate applies thereafter (min S$2,000)\"\n// ];\n\n// From SEPT 2022\n\n// export const pricing = [\n// \"0% for 3 months with 1.28% processing fee (EIR 5.26%) and prevailing interest rate applies thereafter (min S$1,000)\",\n// \"0% for 6 months with 2.28% processing fee (EIR 4.87%) and prevailing interest rate applies thereafter (min S$1,000)\",\n// \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$1,000)\"\n// ];\n\n// //From OCT 20 2022 FT Pre login – 2022 Year End Arbutus FT campaign for the period 20 Oct 2022 ~ 17 Jan 2023\n// export const pricing = [\n// \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (receive an elegant Arbutus Automatic Timepiece with minimum approved amount of S$10,000)\",\n// \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (min S$2,000)\",\n// \"4.99% p.a interest for 12 months, prevailing interest rate applies thereafter (min S$2,000)\"\n// ];\n\n//Pre login FT changes Apr 2023.docx\n// export const pricing = [\n// \"0% p.a. for 6 months with 2.28% processing fee (EIR at 4.87% p.a.) and prevailing interest rate applies thereafter (min $1,000)\",\n// \"0% p.a. for for 12 months 4.38% processing fee (EIR at 5.06% p.a.), and prevailing interest rate applies thereafter (min S$1,000)\"\n// ];\n\n\n//Pre login FT changes Apr 2024.docx\nexport const pricing = [\n \"0% p.a. for 6 months with 2.28% processing fee (EIR at 4.87% p.a.) and prevailing interest rate applies thereafter (min $1,000)\",\n \"0% p.a. for for 12 months 4.38% processing fee (EIR at 5.06% p.a.), and prevailing interest rate applies thereafter (min S$1,000)\"\n];\nexport default pricing;\n\n\n\n// \"PRICINGOLD\": {\n// \"PRNG001\": \"0% p.a. for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (min. S$10,000)\",\n// \"PRNG002\": \"0% p.a. for 6 months with 1.88% processing fee (EIR at 4.02% p.a.) and prevailing interest rate applies thereafter (min. S$2,000)\",\n// \"PRNG003\": \"0% p.a. for 3 months with 0.68% processing fee (EIR at 2.80% p.a.), prevailing interest rate thereafter (min S$1,000)\",\n// \"PRNG004\": \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$2,000)\"\n// },\n// \"PRICINGOLD2\": {\n// \"PRNG001\": \"0% for 3 months with 1.28% processing fee (EIR 5.26%) and prevailing interest rate applies thereafter (min S$1,000)\",\n// \"PRNG002\": \"0% for 6 months with 2.28% processing fee (EIR 4.87%) and prevailing interest rate applies thereafter (min S$1,000)\",\n// \"PRNG003\": \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$1,000)\"\n// },","//Pre login FT changes APR 2024.docx\r\nexport const pricingHNW = [\r\n \"0% p.a. for 6 months with 1.48% processing fee (EIR at 3.17% p.a.), prevailing interest rate applies thereafter (min S$2,000)\",\r\n \"0% p.a. for 12 months 3.88% processing fee (EIR at 4.49% p.a.), prevailing interest rate applies thereafter (min S$ 2,000) *Be awarded with an automatic Ingersoll timepiece worth $358 with minimum approved Funds Transfer amount of S$10,000\",\r\n];\r\n\r\n//Pre login FT changes Apr 2023.docx\r\n// export const pricingHNW = [\r\n// \"0% p.a. for 6 months with 0.99% processing fee (EIR at 2.13% p.a.) and prevailing interest rate applies thereafter (min $2,000)\",\r\n// \"0% p.a. for for 12 months 1.28% processing fee (EIR at 1.50% p.a.), and prevailing interest rate applies thereafter (min S$2,000)\"\r\n// ];\r\n//Pre login FT changes Sept 2023.docx\r\n// export const pricingHNW = [\r\n// \"0% p.a. for 6 months with 2.68% processing fee (EIR at 5.72% p.a.), prevailing interest rate applies thereafter (min S$2,000)\",\r\n// \"0% p.a. for 12 months 4.68% processing fee (EIR at 5.40% p.a.), prevailing interest rate applies thereafter (min S$2,000)\"\r\n\r\n// ];\r\n\r\nexport default pricingHNW;","//Pre login FT changes Apr 2024.docx\r\nexport const pricingMbnkOuters = [\r\n \"2.38% p.a. for 6 months with 0% processing fee, prevailing interest rate applies thereafter (min S$2,000)\",\r\n];\r\n\r\n//Pre login FT changes Apr 2023.docx\r\n// export const pricingMbnkOuters = [\r\n// \"2.50% p.a. for 6 months with 0% processing fee, prevailing interest rate applies thereafter (min S$2,000)\",\r\n// \"2.48% p.a. for 6 months, prevailing interest rate applies thereafter (min S$2,000)\",\r\n// \"3.48% p.a. for 12 months, prevailing interest rate applies thereafter (min S$2,000)\"\r\n// ];\r\n\r\nexport default pricingMbnkOuters;","import React, { } from \"react\";\nimport { Field } from \"@progress/kendo-react-form\";\nimport {\n FormInput,\n FormComboBox,\n FormNumericTextBox\n} from \"../core/customComponents\";\nimport {\n cardValidator,\n crditAbleValidator,\n cradNAccountNumber,\n acntNameValidator,\n AmountValidator,\n TransferFromValidator,\n priceValidator,\n TransferToValidator,\n cardValidator1,\n} from \"../core/validationRules\";\nimport configData from \"../config/config.json\";\nimport banklist from \"../data/banklist\";\n\nimport pricingData from \"../data/pricing\";\nimport pricingHNWData from '../data/pricingHNW.js';\nimport pricingMbnkOuters from '../data/pricingMbnkOuters.js';\nimport helper from '../data/Helper';\n\n\n\nlet responsesetitesms;\nlet checkCAAcntFlag;\nlet checkCCAcntFlag;\n\n\n\nconst acntType = [configData.CCACNTNo, configData.CRACNTNo];\n\nlet spceobj = ' '\nconst handleSelect = async (event) => {\n\n\n if (event.target.value === \"CreditAble Account\") {\n configData.checkCAAcntFlag = true;\n configData.checkCCAcntFlag = false;\n }\n if (event.target.value !== \"CreditAble Account\") {\n configData.checkCAAcntFlag = false;\n configData.checkCCAcntFlag = true;\n }\n};\n\n\n\nconst FundTransferList = (props) => {\n return props.FundTransferDetails.map((val, idx) => {\n if (idx >= 4) {\n configData.AddActiontohide = false;\n }\n\n let transferFrom = `transferFrom`,\n CreditAcntNO = `CreditAcntNO`,\n CreditAbleAcntNO = `CreditAbleAcntNO`,\n pricing = `pricing`,\n transferto = `transferto`,\n Nameancnt = `Nameancnt`,\n CreditCardnumber = `CreditCardnumber`,\n Amount = `Amount`;\n\n return (\n
\n\n

\n \n\n {configData.checkCCAcntFlag && ( \n \n )}\n\n {configData.checkCAAcntFlag && (\n \n )}\n\n \n \n \n \n \n\n
\n
\n
\n
\n
\n
\n

\n Note: Minumum {helper.displayAmtNote()} round down to the nearest hundred. Maximum approved loan amount will be at 95% of available credit limit during time of processing.

For example, if your available credit limit is $6,000 then the maximum Fund Transfer amount is $5,700.

\n
\n
\n\n

\n\n
\n );\n });\n};\nexport default FundTransferList;\n","import React from \"react\";\nimport FundTransferList from \"./FundTransferCreate\";\nimport configData from \"../config/config.json\";\n\nclass FundTransferView extends React.Component {\n state = {\n FundTransferDetails: [\n {\n index: Math.random(),\n transferFrom: \"\",\n CreditAcntNO: \"\",\n CreditAbleAcntNO: \"\",\n pricing: \"\",\n transferto: \"\",\n Nameancnt: \"\",\n CreditCardnumber: \"\",\n Amount: \"\",\n\n }\n ]\n };\n\n\n handleChange = e => {\n if (\n [\"transferFrom\",\n \"CreditAcntNO\",\n \"CreditAbleAcntNO\",\n \"pricing\",\n \"transferto\",\n \"Nameancnt\",\n \"CreditCardnumber\", \"Amount\"].includes(\n e.target.name\n )\n ) {\n let FundTransferDetails = [...this.state.FundTransferDetails];\n FundTransferDetails[e.target.dataset.id][e.target.name] = e.target.value;\n\n } else {\n this.setState({ [e.target.name]: e.target.value });\n }\n };\n\n addNewRow = e => {\n this.setState(prevState => ({\n\n FundTransferDetails: [\n ...prevState.FundTransferDetails,\n {\n index: Math.random(),\n transferFrom: \"\",\n CreditAcntNO: \"\",\n CreditAbleAcntNO: \"\",\n pricing: \"\",\n transferto: \"\",\n Nameancnt: \"\",\n CreditCardnumber: \"\",\n Amount: \"\"\n }\n ]\n\n }));\n\n };\n\n deteteRow = index => {\n this.setState({\n FundTransferDetails: this.state.FundTransferDetails.filter(\n (s, sindex) => index !== sindex\n )\n });\n\n };\n\n clickOnDelete(delrecord) {\n configData.AddActiontohide = true;\n this.setState({\n FundTransferDetails: this.state.FundTransferDetails.filter(r => r !== delrecord)\n });\n\n }\n render() {\n\n let { FundTransferDetails } = this.state;\n return (\n
\n\n \n\n\n
\n );\n }\n}\nexport default FundTransferView;\n","import React, { useState, useEffect } from \"react\";\nimport configData from \"../config/config.json\";\nimport { Form, FormElement } from \"@progress/kendo-react-form\";\nimport { Button } from \"@progress/kendo-react-buttons\";\nimport FundTransferView from \"../components/FundTransferView\";\nimport { useHistory } from \"react-router-dom\";\nimport { tovalidateExpdate } from \"../core/validationRules\";\nimport toFetchIDValue from '../data/IdTypeCheck';\nimport helper from \"../data/Helper\";\nimport Loading from \"./Loading\";\n\n\nvar CryptoJS = require(\"crypto-js\");\nlet key = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\nlet iv = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\n\nconst FundTransfer = () => {\n let history = useHistory();\n\n configData.RefferenceNo = localStorage.getItem(\"Ref\");\n const [showLoading, setShowLoading] = useState(false);\n\n const [ftdetails, setftdetails] = useState({\n transferFrom: \"\",\n CreditAcntNO: \"\",\n CreditAbleAcntNO: \"\",\n pricing: \"\",\n transferto: \"\",\n Nameancnt: localStorage.getItem('CFN'),\n CreditCardnumber: \"\",\n Amount: null,\n });\n\n useEffect(() => {\n\n if (tovalidateExpdate(new Date().getMinutes())) {\n if (configData.RefferenceNo) {\n if (configData.RefferenceNo) {\n const requestBody = {\n //new changes passing details to save at verification\n referenceno: configData.RefferenceNo,\n num: localStorage.getItem(\"nricval\"),\n };\n const requestOptions = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"Access-Control-Allow-Headers\": \"Content-Type\",\n \"Cache-Control\": \"no-cache\", //for IE issues\n Pragma: \"no-cache\",\n Authorization: \"Maybank\" + \" \" + localStorage.getItem(\"tkn\"),\n },\n body: JSON.stringify(requestBody),\n };\n\n setShowLoading(true);\n\n let url = getFTDataURL();\n\n fetch(url, requestOptions)\n .then(async (response) => {\n\n setShowLoading(false);\n const data = await response.json();\n if (!data.didError) {\n if (data.model.fields) {\n if (data.model.fields.Fields) {\n setftdetails(data.model.fields.Fields);\n window.scrollTo(0, 0);\n }\n }\n } else {\n }\n })\n .catch((err) => {\n setShowLoading(false);\n console.log(err);\n });\n }\n } else {\n alert(\"This session has timed out for your security.Please try again\");\n helper.toHomeScreen();\n }\n } else {\n alert(\"This session has timed out for your security.\");\n helper.toHomeScreen();\n }\n }, []);\n\n\n if (!ftdetails) {\n return false;\n } else {\n let data = ftdetails.FT1;\n if (data) {\n if (data.CreditAcntNO) {\n configData.checkCCAcntFlag = true;\n } else if (data.CreditAbleAcntNO) {\n configData.checkCAAcntFlag = true;\n }\n\n if (data.CreditCardnumber) {\n try {\n configData.decrypt = CryptoJS.AES.decrypt(\n data.CreditCardnumber,\n key,\n { iv: iv }\n );\n configData.decrypt = configData.decrypt.toString(CryptoJS.enc.Utf8);\n } catch (ex) {\n configData.decrypt = data.CreditCardnumber;\n console.log(\"ex\", ex);\n }\n } else {\n configData.decrypt = data.CreditCardnumber;\n }\n\n if (data.CreditAcntNO) {\n configData.decrypt1 = CryptoJS.AES.decrypt(data.CreditAcntNO, key, {\n iv: iv,\n });\n configData.decrypt1 = configData.decrypt1.toString(CryptoJS.enc.Utf8);\n } else {\n configData.decrypt1 = data.CreditAcntNO;\n }\n\n if (data.CreditAbleAcntNO) {\n configData.decrypt2 = CryptoJS.AES.decrypt(data.CreditAbleAcntNO, key, {\n iv: iv,\n });\n configData.decrypt2 = configData.decrypt2.toString(CryptoJS.enc.Utf8);\n } else {\n configData.decrypt2 = data.CreditAbleAcntNO;\n }\n\n setftdetails({\n Nameancnt: data.Nameancnt,\n transferFrom: data.transferFrom,\n CreditAcntNO: configData.decrypt1,\n CreditAbleAcntNO: configData.decrypt2,\n pricing: data.pricing,\n transferto: data.transferto,\n Nameancnt: data.Nameancnt,\n CreditCardnumber: configData.decrypt,\n Amount: Number(data.Amount),\n });\n }\n }\n\n const getFTDataURL = () => {\n let baseUrl = configData.GET_FTDATA_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.GET_FTDATA_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.GET_FTDATA;\n }\n else {\n baseUrl = configData.GET_FTDATA_PROD;\n }\n\n return baseUrl;\n }\n\n\n const getSaveURL = () => {\n let baseUrl = configData.URL_SAVE_FT_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SAVE_FT_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SAVE_FT;\n }\n else {\n baseUrl = configData.URL_SAVE_FT_PROD;\n }\n\n return baseUrl;\n }\n\n \n // const compare1 = (p1, p2) => {\n // const sc = localStorage.getItem('p');\n // if (p1 === p2) {\n // return true;\n // }\n // else {\n // return false;\n // }\n\n // }\n\n const getPromoCode = (transferFrom, selectedPricing) => {\n // event.values.transferFrom === \"Credit Card Account\" ? toFetchIDValue(\"PRICINGPROMO\", event.values.pricing) : \"NA\"\n\n const sc = localStorage.getItem('p'); //get source code from local storage\n let result = '';\n if (transferFrom === 'Credit Card Account') {\n if (sc === configData.SRC_CODE_HNW) { //HNW Campaign 810207\n result = toFetchIDValue(\"PRICINGPROMOHNW\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_CCFT03) { //810203\n result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_CCFT04) { //810204\n result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_CCFT05) { //810205\n result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_CCFT06) { //810206\n result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_CCFT) { //810208\n result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_OUTSIDERS) { //810209 SEPT9th2023\n //Create new FT pre login url tagged to source code 810209 to support FT campaign targeting Revolvers outside Maybank\n // https://apply.maybank.com.sg/fundtrf?p=345jNwy1Pxzr94tsjnvuHH70gqpql6b4xmmlaLUiZ8by\n\n result = toFetchIDValue(\"PRICINGPROMOMBANKOUTSIDERS\", selectedPricing)\n }\n else {\n result = 'NA';\n }\n }\n else {\n result = 'NA';\n }\n return result;\n }\n\n const getSchemeCode = (transferFrom, selectedPricing) => {\n // event.values.transferFrom === \"Credit Card Account\" ? \"NA\" : toFetchIDValue(\"PRICINGCAFTSCHME\", event.values.pricing)\n\n const sc = localStorage.getItem('p'); //get source code from local storage\n\n let result = 'NA';\n if (transferFrom === \"Credit Card Account\") {\n result = 'NA';\n }\n else { //Creditable Account\n if (sc === configData.SRC_CODE_HNW) { //HNw Campaign 810207\n result = toFetchIDValue(\"PRICINGSCHMEHNW\", selectedPricing);\n }\n else if (sc === configData.SRC_CODE_CCFT03) { //810203\n result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n } else if (sc === configData.SRC_CODE_CCFT04) { //810204\n result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n } else if (sc === configData.SRC_CODE_CCFT05) { //810205\n result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n } else if (sc === configData.SRC_CODE_CCFT06) { //810206\n result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_CCFT) { //810208\n result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n }\n else if (sc === configData.SRC_CODE_OUTSIDERS) { //810209 SEPT9th2023\n result = toFetchIDValue(\"PRICINGSCHMEMBANKOUTSIDERS\", selectedPricing)\n }\n }\n\n return result;\n }\n\n const getSourceCode = (transferFrom) => {\n\n //event.values.transferFrom === \"Credit Card Account\" ? configData.SRC_CODE_CCFT : configData.SRC_CODE_CAFT,\n let result = '';\n const sc = localStorage.getItem('p');\n if (sc === configData.SRC_CODE_HNW) {\n result = configData.SRC_CODE_HNW;\n }\n else if (sc === configData.SRC_CODE_CCFT) {\n result = configData.SRC_CODE_CCFT;\n } else if (sc === configData.SRC_CODE_CCFT03) {\n result = configData.SRC_CODE_CCFT03;\n } else if (sc === configData.SRC_CODE_CCFT04) {\n result = configData.SRC_CODE_CCFT04;\n } else if (sc === configData.SRC_CODE_CCFT05) {\n result = configData.SRC_CODE_CCFT05;\n } else if (sc === configData.SRC_CODE_CCFT06) {\n result = configData.SRC_CODE_CCFT06;\n }\n else if (sc === configData.SRC_CODE_OUTSIDERS) {\n result = configData.SRC_CODE_OUTSIDERS;\n }\n else {\n result = configData.SRC_CODE_CCFT;\n }\n\n return result;\n }\n\n\n\n const handleSubmit = (event) => {\n setShowLoading(true);\n if (event.isValid) {\n let countset = 1;\n\n configData.acnt_Type =\n event.values.transferFrom === \"Credit Card Account\"\n ? \"FTCACC\"\n : \"FTCACR\";\n\n const requestBody = {\n count: countset,\n FT1: {\n transferFrom: event.values.transferFrom,\n CreditAcntNO:\n event.values.transferFrom === \"Credit Card Account\"\n ? event.values.CreditAcntNO\n : \"\",\n CreditAbleAcntNO:\n event.values.transferFrom !== \"Credit Card Account\"\n ? event.values.CreditAbleAcntNO\n : \"\",\n pricing: event.values.pricing,\n transferto: event.values.transferto,\n transfertoid: toFetchIDValue(\"BANKDATALIST\", event.values.transferto),\n Nameancnt: event.values.Nameancnt,\n CreditCardnumber: event.values.CreditCardnumber,\n Amount: event.values.Amount,\n PRODUCT_TYPE:\n event.values.transferFrom === \"Credit Card Account\"\n ? \"FTCACC\"\n : \"FTCACR\",\n PROMO_CODE: getPromoCode(event.values.transferFrom, event.values.pricing),\n SCHEME_CODE: getSchemeCode(event.values.transferFrom, event.values.pricing),\n SOURCE_CODE: getSourceCode(event.values.transferFrom)\n },\n };\n\n const requestOptions = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"Access-Control-Allow-Headers\": \"Content-Type\",\n \"Cache-Control\": \"no-cache\", //for IE issues\n Pragma: \"no-cache\",\n Authorization: \"Maybank\" + \" \" + localStorage.getItem(\"tkn\"),\n },\n body: JSON.stringify(requestBody),\n };\n\n let url = getSaveURL();\n\n fetch(\n url +\n \"?refno=\" +\n configData.RefferenceNo +\n \"&prodtype=\" +\n configData.acnt_Type,\n requestOptions\n )\n .then(async (response) => {\n setShowLoading(false);\n const data = await response.json();\n if (!data.didError) {\n localStorage.setItem(\"RefNEW\", data.refNo);\n\n history.push(\"ReviewDetails\");\n } else {\n alert(\"Something went wrong, please try again\");\n }\n })\n .catch((error) => {\n setShowLoading(false);\n alert(\"Some thing went wrong! please try again\");\n helper.toHomeScreen();\n });\n }\n\n };\n\n\n\n return (\n
\n
\n
\n

{configData.APP_NAME}

\n
\n\n
\n
\n
\n
\n
\n (\n \n
\n \n
\n \n {configData.HDR_FT_DETAILS}\n \n
\n
\n \n \n \n {configData.ON_NEXT}\n \n
\n \n\n

\n \n )}\n />\n {showLoading && }\n
\n
\n
\n
\n \n \n );\n};\n\nexport default FundTransfer;\n","import React, { useEffect, useState } from 'react';\nimport configData from \"../config/config.json\";\nimport { Form } from '@progress/kendo-react-form';\nimport { Field } from '@progress/kendo-react-form';\nimport { FormReviewLabel } from '../core/customComponents';\nimport { tovalidateExpdate } from '../core/validationRules';\nimport FormContainer from './FormContainer';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { Checkbox } from \"@progress/kendo-react-inputs\";\nimport helper from '../data/Helper';\nimport Loading from './Loading';\n\nimport { useHistory } from \"react-router-dom\";\n\nimport { v4 as uuidv4 } from 'uuid';\nimport useCountDown from \"react-countdown-hook\";\nimport {\n Notification,\n NotificationGroup,\n} from \"@progress/kendo-react-notification\";\nimport toFetchIDValue from '../data/IdTypeCheck';\n\nvar CryptoJS = require(\"crypto-js\");\nlet key = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\nlet iv = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\n\nconfigData.RefferenceNo = localStorage.getItem('Ref');\nlet LBL_TNC = configData.TERMS_CONDITIONS;\nlet LBL_SUBMITTED_TEXT = configData.LBL_SUBMITTED_TEXT;\nlet hideContentForSubmit = false;\nlet responsesetitesms = 1;\nlet cmpnt = FormReviewLabel;\n\nlet url = configData.URL_TERMS;\nlet url1 = configData.URL_TERMS1;\nlet urlTerms = configData.URL_TERMS_203_209;\nlet urlGarmin = configData.URL_GarminWatch;\nlet urlIngersoll = configData.URL_Ingersoll;\n\nlet TF1FRM1;\nlet CCCANO1;\nlet Pricing1;\nlet Trnsferto1;\nlet NameacntHolder1;\nlet CCAnCNTNO1;\nlet AMNT1;\nlet SourceCodehandle;\n\n\nconst ReviewDetails = (props) => {\n let history = useHistory();\n // TODO\n const [response, setResponce] = useState(null);\n\n const [OTPValue, setOTPValue] = useState(\"\");\n const [OtpconfirmDisabled, setOtpconfirmDisabled] = useState(false);\n const [toshowResend, settoshowResend] = useState(false);\n const [isLoading, setIsLoading] = useState(false); //to show api call\n const [checkedTerms, setcheckedTerms] = useState(false); //to show api call\n const [disabltoRequestotp, setdisabltoRequestotp] = useState(true); //to show api call\n const [ALLOTPgenration, setALLOTPgenration] = useState(\"\");\n\n\n\n const [count3TimeToExist, setcount3TimeToExist] = useState(0);\n const initialTime = 120 * 1000; // initial time in milliseconds, defaults to 60000\n const interval = 1000; // interval to change remaining time amount, defaults to 1000\n const [timeLeft, { start, pause, resume, reset }] = useCountDown(\n initialTime,\n interval\n );\n\n const [currentDateTime, setcurrentDateTime] = useState(); //to show api call\n\n\n const [trimMobile, settrimMobile] = useState(\"\");\n\n let resMobile;\n let resCountrycode;\n\n const [tohideNotification, settohideNotification] = useState(false);\n const [OtpMobilenumberGen, setOtpMobilenumberGen] = useState('');\n\n const [emailValue, setemailValue] = useState('');\n const [cifNum, setcifNum] = useState('');\n const [fullnameValue, setfullnameValue] = useState('');\n\n\n const [SavedInformation, setSavedInformation] = useState({\n emailAddress: \"\",\n idNum: \"\",\n idType: \"\",\n idIssueCountry: \"\",\n emailAddress: \"\",\n customerName: \"\",\n by_prdType: \"\",\n uniqueRequestId: \"\"\n });\n\n\n useEffect(() => {\n\n setIsLoading(true);\n\n if (tovalidateExpdate(new Date().getMinutes())) {\n if (configData.RefferenceNo) {\n const requestBody = {\n //new changes passing details to save at verification\n referenceno: configData.RefferenceNo,\n num: localStorage.getItem('nricval')\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Authorization': \"Maybank\" + \" \" + localStorage.getItem('tkn')\n\n },\n body: JSON.stringify(requestBody)\n };\n\n let baseUrl = configData.GET_FTDATA_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.GET_FTDATA_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.GET_FTDATA;\n }\n else {\n baseUrl = configData.GET_FTDATA_PROD;\n }\n\n fetch(baseUrl, requestOptions)\n\n .then(async response => {\n\n setIsLoading(false);\n const data = await response.json();\n if (!data.didError) {\n if (data.model.fields) {\n setResponce(data);\n configData.NEWReffID = data.refNo;\n setSavedInformation(data.model);\n window.scrollTo(0, 0);\n }\n\n } else {\n\n }\n })\n .catch(err => {\n console.log(err)\n setIsLoading(false);\n alert(\"This session has timed out for your security.Please try again\")\n helper.toHomeScreen();\n })\n }\n else {\n setIsLoading(false);\n alert(\"This session has timed out for your security.Please try again\")\n helper.toHomeScreen();\n }\n }\n else {\n setIsLoading(false);\n alert(\"This session has timed out for your security.\");\n helper.toHomeScreen();\n }\n }, [])\n\n if (!response) {\n return false;\n } else {\n responsesetitesms = response.model.fields.Fields.count;\n if (response.model.fields.Fields.FT1) {\n\n let res = response.model.fields.Fields.FT1;\n let assaginvalueCCANo1;\n if (res.CreditAcntNO) {\n assaginvalueCCANo1 = res.CreditAcntNO;\n configData.setAcntTypename = configData.LBL_RVWLBL_CCANO;\n } else if (res.CreditAbleAcntNO) {\n assaginvalueCCANo1 = res.CreditAbleAcntNO;\n configData.setAcntTypename = configData.LBL_RVWLBL_CAANO;\n }\n\n if (res.CreditCardnumber) {\n try {\n configData.decryptCA = CryptoJS.AES.decrypt(res.CreditCardnumber, key, { iv: iv });\n configData.decryptCA = configData.decryptCA.toString(CryptoJS.enc.Utf8);\n } catch (ex) {\n console.log(ex);\n }\n } else {\n configData.decryptCA = res.CreditCardnumber;\n }\n\n\n if (configData.setAcntTypename) {\n try {\n configData.decryptCA11 = CryptoJS.AES.decrypt(assaginvalueCCANo1, key, { iv: iv });\n configData.decryptCA11 = configData.decryptCA11.toString(CryptoJS.enc.Utf8);\n } catch (ex) {\n console.log(ex);\n }\n } else {\n configData.decryptCA11 = assaginvalueCCANo1;\n }\n\n TF1FRM1 = res.transferFrom;\n CCCANO1 = configData.decryptCA11;\n Pricing1 = res.pricing;\n Trnsferto1 = res.transferto;\n NameacntHolder1 = res.Nameancnt;\n CCAnCNTNO1 = configData.decryptCA;\n AMNT1 = res.Amount;\n SourceCodehandle = res.SOURCE_CODE;\n\n }\n }\n\n\n const toHHMMSS = (val) => {\n\n var sec_num = parseInt(val / 1000, 10); // don't forget the second param\n var hours = Math.floor(sec_num / 3600);\n var minutes = Math.floor((sec_num - hours * 3600) / 60);\n var seconds = sec_num - hours * 3600 - minutes * 60;\n\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n return minutes + \":\" + seconds;\n };\n\n const updateInputValue = async (e) => {\n const re = /^[0-9\\b]+$/;\n if (e.target.value === \"\" || re.test(e.target.value)) {\n await setOTPValue(e.target.value);\n }\n\n if (OTPValue.length === 5) {\n await setOtpconfirmDisabled(true);\n } else {\n await setOtpconfirmDisabled(false);\n }\n };\n\n const isNumber = async (evt) => {\n evt = evt ? evt : window.event;\n var charCode = evt.which ? evt.which : evt.keyCode;\n\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n await setOTPValue(\"\");\n await setOtpconfirmDisabled(false);\n return false;\n } else {\n await setOtpconfirmDisabled(true);\n return true;\n }\n };\n\n const validateForm = () => {\n let isValid = true;\n const resObj = response.model.fields.Fields.FT1;\n\n if (resObj.SOURCE_CODE === null || resObj.SOURCE_CODE === '' || resObj.SOURCE_CODE.length === 0) {\n isValid = false;\n }\n else if (resObj.SCHEME_CODE === 'NA' && resObj.PROMO_CODE === 'NA') {\n isValid = false;\n }\n\n return isValid;\n }\n\n const handleSubmit1 = () => {\n //OTP GENERATION START\n\n const responseOBJ = {};\n\n if (validateForm() === false) {\n alert('Some thing went wrong! please try again');\n helper.toHomeScreen();\n return;\n }\n\n let requestBody = {\n idNum: SavedInformation.nric,//localStorage.getItem('Otp_nric'),\n idType: SavedInformation.idType,//localStorage.getItem('Otp_idtype'),\n idIssueCountryCode: SavedInformation.idIssueCountry,//localStorage.getItem('Otp_countCode'),\n email: SavedInformation.emailAddress,//localStorage.getItem('Otp_email'),\n name: SavedInformation.customerName,//localStorage.getItem('Otp_Name'),\n by_prdType: localStorage.getItem('Otp_Prod_type'),\n uniqueRequestId: uuidv4(),//localStorage.getItem('Otp_StateIDvalue')// uuidv4()\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Access-Control-Allow-Headers': 'Content-Type'\n }\n };\n\n if (!requestBody.email) {\n requestBody.email = \"\";\n }\n\n\n const url = getSendOTPURL();\n\n fetch(url + requestBody.idNum + '/' + requestBody.idType + '/' + requestBody.idIssueCountryCode + '/' + uuidv4() + \"?email=\" + requestBody.email + \"&name=\" + requestBody.name + \"&by_prodType=\" + requestBody.by_prdType, requestOptions)\n .then(async response => {\n const data = await response.json();\n if (!data.didError) {\n setIsLoading(false);\n let res = data.model.msg;\n let resMsgBdy = res.msgBody;\n let resMsgHdr = res.msgHdr;\n setALLOTPgenration(res.msgBody);\n\n if (resMsgHdr.statusCode === \"0\") {\n setdisabltoRequestotp(true);\n settohideNotification(true);\n settoshowResend(true);\n start();\n setIsLoading(false);\n responseOBJ.refNo = data.refNo;\n\n if (resMsgBdy.mobileNum) {\n configData.decryptMbl = CryptoJS.AES.decrypt(resMsgBdy.mobileNum, key, { iv: iv })\n configData.decryptMbl = configData.decryptMbl.toString(CryptoJS.enc.Utf8)\n\n setOtpMobilenumberGen(configData.decryptMbl);\n let mobiltrim = (configData.decryptMbl).substring(6);\n settrimMobile(mobiltrim)\n } else {\n configData.decryptMbl = resMsgBdy.mobileNum;\n setOtpMobilenumberGen(configData.decryptMbl);\n settrimMobile(configData.decryptMbl);\n }\n } else {\n settoshowResend(false);\n setIsLoading(false);\n localStorage.clear();\n history.push(\"error\");\n localStorage.clear();\n }\n } else {\n setIsLoading(false);\n localStorage.clear();\n setdisabltoRequestotp(false);\n history.push(\"error\");\n }\n })\n .catch(error => {\n setIsLoading(false);\n // this.setState({ errorMessage: error });\n if (configData.RESEND <= 1) {\n //alert(error);\n }\n setdisabltoRequestotp(false);\n console.error('There was an error!', error);\n });\n }\n\n const verifyOTPDetails = async () => {\n\n\n if (OTPValue) {\n if (!emailValue) {\n setemailValue('');\n }\n\n const requestBody = {\n idNum: SavedInformation.nric,//localStorage.getItem('Otp_nric'),\n idType: toFetchIDValue(\"IDTYPE\", SavedInformation.idType,),\n idIssueCountryCode: toFetchIDValue(\"countries\", SavedInformation.idIssueCountry),\n email: SavedInformation.emailAddress,//emailValue,\n name: SavedInformation.customerName,//fullnameValue,\n by_prdType: configData.PRODUCT_TYPE,\n cifNum: ALLOTPgenration.cifNum,// cifNum,\n otp: OTPValue,\n mobileNum: \"0\",//req.mobileNum ? req.mobileNum.substring(3) : '',\n accessID: \"00000000\",//this.state.setAccessID,\n uniqueRequestid: uuidv4(),//req.uniqueID,\n appId: '0'//configData.AUTH_CODE_Encrypt\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n },\n body: JSON.stringify(requestBody)\n\n };\n\n const url = getVerifyOTPURL();\n\n fetch(url, requestOptions)\n\n .then(async response => {\n\n const data = await response.json();\n if (!data.didError) {\n let res = data.model.msg;\n let resMsgBdy = res.msgBody;\n let resMsgHdr = res.msgHdr;\n\n if (data.token) {\n let tokenid = data.token;\n let expirytoken = data.tokenExpirationDate;\n\n if (resMsgBdy) {\n localStorage.setItem(\"nricval\", resMsgBdy.nric);\n }\n if (resMsgHdr.statusCode === \"0\") {\n //this.props.history.push('Fundtransfer');\n let datestr = new Date();\n localStorage.setItem(\"ddt\", datestr);\n setcurrentDateTime(localStorage.getItem('ddt'));\n settohideNotification(false);\n SubmitFormdetails();\n }\n else {\n if (resMsgHdr.statusDesc)\n setcount3TimeToExist(count3TimeToExist + 1)\n if (count3TimeToExist <= 1) {\n alert(\"The OTP entered has expired/is invalid. Please re-enter the 6 Digit OTP.\")\n } else if (count3TimeToExist === 2) {\n alert(\"You have exceeded the max OTP to confirm, please try after some time\");\n helper.toHomeScreen();\n return;\n } else {\n alert(\"You have exceeded the max OTP to confirm, please try after some time\");\n helper.toHomeScreen();\n return;\n }\n }\n } else {\n history.push(\"error\");\n localStorage.clear();\n }\n } else {\n history.push(\"error\");\n localStorage.clear();\n }\n })\n .catch(error => {\n console.error('There was an error!', error);\n });\n\n } else {\n await setOtpconfirmDisabled(true);\n alert(\"Please enter valid numeric 6 digit OTP\");\n }\n\n }\n\n\n const SubmitFormdetails = async () => {\n\n //TODO OTPCHANGES\n hideContentForSubmit = true\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Authorization': \"Maybank\" + \" \" + localStorage.getItem('tkn')\n }\n };\n\n const url = getSubmitURL();\n fetch(url + \"?refno=\" + configData.RefferenceNo + \"&submit=true\", requestOptions)\n .then(async response => {\n const data = await response.json();\n if (data.status === \"Submitted\") {\n hideContentForSubmit = true;\n window.scrollTo(0, 0);\n localStorage.clear();\n } else {\n hideContentForSubmit = false;\n alert(\"error\");\n }\n })\n .catch(error => {\n hideContentForSubmit = false;\n console.error('There was an error!', error);\n });\n }\n\n const restart = () => {\n\n const newTime = 10 * 1000;\n start(newTime);\n setOTPValue(\"\");\n settoshowResend(false);\n handleResendSubmit();\n }\n\n const handleResendSubmit = () => {\n handleSubmit1();\n };\n\n\n const termscheckoption = () => {\n setcheckedTerms(!checkedTerms);\n setdisabltoRequestotp(!disabltoRequestotp)\n }\n\n const toBackFTDetails = () => {\n history.push('Fundtransfer');\n }\n\n const toMaybankHome = () => {\n document.location.href = configData.URL_NAV_MAYBANK;\n }\n\n const getVerifyOTPURL = () => {\n let baseUrl = configData.URL_VERIFY_OTP_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_VERIFY_OTP_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_VERIFY_OTP;\n }\n else {\n baseUrl = configData.URL_VERIFY_OTP_PROD;\n }\n return baseUrl;\n }\n\n const getSendOTPURL = () => {\n let baseUrl = configData.URL_SEND_OTP_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SEND_OTP_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SEND_OTP;\n }\n else {\n baseUrl = configData.URL_SEND_OTP_PROD;\n }\n return baseUrl;\n }\n\n const getSubmitURL = () => {\n\n let baseUrl = configData.URL_SUBMIT_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SUBMIT_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SUBMIT;\n }\n else {\n baseUrl = configData.URL_SUBMIT_PROD;\n }\n return baseUrl;\n }\n\n\n return (\n
\n {isLoading && }\n
\n
\n

{configData.APP_NAME}

\n
\n \n (\n
\n
\n

\n
\n
\n {!hideContentForSubmit && {configData.HDR_RVW_DETAILS}}\n {hideContentForSubmit && {configData.HDR_RVW_APPLICATION}}\n
\n
\n
\n
\n\n
\n\n {!hideContentForSubmit &&
\n
\n\n {configData.LBL_FT_REQUEST}\n \n\n\n
\n
}\n {hideContentForSubmit &&
\n
\n\n Success!\n
\n\n
}\n\n
\n {responsesetitesms >= 1 &&
\n\n \n \n \n \n \n \n \n
\n
}\n\n



\n
\n {hideContentForSubmit &&\n\n \n\n }\n {hideContentForSubmit &&\n\n \n\n\n }\n
\n

\n\n\n {!hideContentForSubmit && <>\n {SourceCodehandle === configData.SRC_CODE_HNW ? (\n // {!hideContentForSubmit &&\n
\n \n\n\n I have read, understood and agreed to be bounded by \n Terms and Conditions for Maybank Funds Transfer Ingersoll Timepiece Promotion\n and other \n Terms and Conditions\n on Fees and Charges.\n\n\n
}\n onChange={termscheckoption}\n />\n {/* I have read , understood and agreed to be bounded by \n Terms and Conditions\n for Maybank Funds Transfer Garmin Vivomove Timepiece Promotion and other \n Terms and Conditions\n on Fees and Charges. */}\n\n {\n checkedTerms === false &&\n {\"Please accept terms & conditions of the application to proceed\"}\n }\n
\n // }\n\n ) : SourceCodehandle === configData.SRC_CODE_OUTSIDERS || SourceCodehandle === configData.SRC_CODE_CCFT03 ? (\n
\n \n I have read, understood and agreed to be bounded by \n Terms and Conditions\n for Maybank Funds Transfer and other \n Terms and Conditions\n on Fees and Charges.\n\n\n
}\n onChange={termscheckoption}\n />\n\n {\n checkedTerms === false &&\n {\"Please accept terms & conditions of the application to proceed\"}\n }\n
\n ) \n \n :
\n \n I have read, understood and agreed to be bounded by \n Terms and Conditions\n Governing Maybank Credit Card or CreditAble Funds Transfer Facility (where applicable) and other \n Terms and Conditions\n on Fees and Charges.\n\n\n
}\n onChange={termscheckoption}\n />\n\n {\n checkedTerms === false &&\n {\"Please accept terms & conditions of the application to proceed\"}\n }\n \n\n }\n }\n\n



\n {hideContentForSubmit && {LBL_SUBMITTED_TEXT}}\n



\n {!hideContentForSubmit &&
\n\n\n \n\n
\n }\n

\n {hideContentForSubmit &&
\n \n\n
}\n



\n \n\n )} />\n\n\n\n\n {tohideNotification ? (\n \n\n \n\n
\n
\n
\n
\n
\n \n

  OTP will be sent to XXXX {trimMobile}

{\" \"}\n

  Please confirm received OTP within 2 minutes.

\n
\n
\n\n
\n \n\n
\n

\n {timeLeft === 0 && toshowResend ? (\n \n RESEND OTP\n \n ) : (\n

\n )}\n\n\n {toshowResend ? (\n
\n {\" \"}\n Resend in {toHHMMSS(timeLeft)}{\" \"}\n \n
\n ) : (\n
\n )}\n
\n
\n \n\n
\n
\n \n \n
\n
\n \n

\n
\n
\n \n {timeLeft === 0 ? (\n {\"REQUEST\"}\n ) :\n\n (\n CONFIRM\n )}\n
\n
\n \n
\n
\n
\n \n \n \n ) : (\n \"\"\n )}\n \n\n \n \n )\n}\n\nexport default ReviewDetails;","import React from \"react\";\nimport configData from \"../config/config.json\";\n\nconst errorscreen = (props) => {\n const toMaybankHome = () => {\n document.location.href = configData.URL_NAVIGATE_COB;\n };\n return (\n
\n
\n
\n
\n

{configData.APP_NAME}

\n
\n
\n
\n
\n

{configData.APP_NAMEHDR}

\n
\n
\n \n
\n
\n
\n

Sorry, we are unable to process your information.

\n
\n
\n
\n
\n

\n {\" \"}\n You can apply using our online form instead:\n

\n

Get in touch at 1800-629-2265 if you have any quiries

\n
\n
\n\n

\n\n
\n \n Using Online form\n \n
\n

\n\n
\n

\n Note : For foreigners, please visit any Maybank branch to\n apply.\n

\n
\n
\n

\n \n Click here for Branch Locater\n \n

\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default errorscreen;\n","import React from 'react';\nimport './App.scss';\nimport { Header } from './components/Header';\nimport { BrowserRouter as Router, Route, Redirect } from \"react-router-dom\";\n\n\n//Declare New Components Here\nimport Home from './components/Home';\nimport PersonalDetails from \"./components/PersonalDetails.jsx\";\nimport FundTransfer from \"./components/FundTransfer\";\nimport ReviewDetails from \"./components/ReviewDetails\";\nimport errorscreen from \"./components/error\";\n\nfunction App() {\n return (\n \n
\n
\n \n \n \n \n \n \n
\n



\n
\n );\n}\n\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload(false);\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\nprocess.env.NODE_check=\"testing\"","import 'react-app-polyfill/ie9';\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}