{"version":3,"mappings":"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","names":["relList","link","processPreload","mutations","mutation","node","getFetchOpts","script","fetchOpts","store","createStore","state","layout","upsertData","key","value","route","token","obj","rest","features","action","stack","status","flows","loading","progress","document","disable","loader","url","indexData","index","path","newNavStack","data","result","commit","to","from","feature","base64","usePopupManager","initPopups","popups","getActivePopups","isPopupShown","openPopup","id","newId","parseId","closePopup","str","getPopupScreen","getPopupParams","popupOnClose","showPopup","Analytics","event_params","_b","ev","label","val","_a","isValidURL","s","res","isBase64","isDataURL","API_RETRY_CONFIG","HTTP_METHOD_GET","HTTP_METHOD_POST","HTTP_METHOD_PUT","HTTP_METHOD_DELETE","PAN_UPLOAD","DIGILOCKER","ABUUID","urltoFile","filename","mimeType","buf","getFileTypeFromExtension","fileName","getBase64FileType","validImageDataURL","dataURL","regex","checkToken","JWT","jwt_decode","currentDate","error","getBase64URL","screenId","cb","type","imageUrl","myHeaders","init","reader","base64data","imageData","finalImage","e","getBase64FromURL","fileToBase64","file","convertUrlToBase64JPEG","imgUrl","img","binary","uri","getImage","imageName","convertBlobToBase64","blob","blobToBase64","resolve","reject","compressImage","quality","Compressor","err","decodeBase64","string","truncate","text","length","suffix","enableDisableButton","state1","state2","disable_btn","isObjectEmpty","getConcatedValueFromStore","items","getGUID","c","r","getDeviceId","deviceIdFromLocalStorage","deviceId","isNetworkError","isTimeout","isRetryRequired","response","config","getHttpErrorForAnalytics","statusCode","CLCM_API_ENDPOINTS","setCookie","name","days","minutesEnable","secure","expires","domain","date","getCookieValue","nameEQ","ca","i","deleteCookieWithDomain","appVersion","packageJson","headers","injectToken","currentSearch","urlParams","successUrl","backUrl","errorUrl","isAndroid","isiOS","intent","CONFIGDATA","showErrorMessage","injectSource","msg","toast","useToast","showInfoMessage","timeout","HttpClient","c_headers","http","axios","axiosRetry","method","formData","header","_c","_d","_e","_f","_g","_h","v","ipNum","isLongitude","isLatitude","ClickStreamAnalytics","__publicField","position","eventsToSend","localCs","requestParams","UserJourneyType","_Journey","csEvent","forcePush","clikS","delay","data1","pair","ip6","parseIp6","ip6str","ar","sar","slen","j","ip6parsed","dt","year","month","hours","minutes","secs","milliseconds","item","dt1","results","ele","sessionID","Cookies","deviceName","browserName","appID","expDate","event","metaDataBody","params","parsedBody","fieldValue","screens","routeKey","routeKeyPopUp","_j","useBodyParser","bodyParametersValue","jsonObj","bodyData","keyParam","cookieVal","keyParam1","keyParam2","configVal","baseUrl","finalUrl","sessionVal","cond1","val1","cond2","val2","DEFAULT_STATE","useMessageonSnackBar","condition","messageData","fieldArray","derivedLHSValue","findAllByKey","messageJson","keyArray","_LocalNavigator","router","failure","goBackAlert","navStack","topRoute","routes","previousRoute","getPopup","currentRoute","previousPage","backAction","ActionHandler","LocalNavigator","useUrlCreator","rawUrl","variableRegex","variable","loadingEnum","ACTION_TYPES","API_ACTION_TYPES","clearUploadKeys","_ActionHandler","routerRef","widgetId","formRef","singleAction","parsedHeader","activeButton","resetFormDataOnFailure","push","valid","forcePop","popToRoute","filePath","ref","validationStatus","body","apiEndpoint","startTime","networkType","apiValidationParameters","os","reqbody","sessionToken","mobile","dataVal","existingVal","f","m","userAgent","splittedHost","clientId","_i","expire","_k","_m","_n","captcha","tokenApiRes","jsonPayload","partyCode","userType","products","bytes","len","compressed","zlibSync","strToU8","b64Data","rettype","charData","x","binData","decompressSync","byte","respData","parsedData","objUsertypeResp","arrAccounts","account","clientCode","rekycNeeded","active","journeyDirectionUrl","redirectionUrl","journeyUrl","urlQuery","accountTypeToCheck","accountStatusDemat","accountStatusLoans","clientCodeDetail","apiSuccessEv","_l","progressEvent","percentCompleted","uuidValue","k","randomValue","total","sum","uniqueKey","arrayData","isPopup","popupId","dlEvent","bodyParam","parsedBodyData","useLifecycleHooks","_onMounted","onLoad","_onUnmounted","onUnLoad","_onErrorCaptured","onError","sfc","props","target","_sfc_main","useStore","computed","closeSnackBar","_component_v_snackbar","_cache","$setup","_withCtx","_createVNode","_component_v_btn","MOBILE_WIDTH_THRESHOLD","useMobileTabletDetector","isMobile","checkMobile","screenWidth","onBeforeUnmount","reactive","_openBlock","_createCommentVNode","useFormValue","dayjs","customParseFormat","validAccountNumber","banknumber","phoneNumber","number","numberonly","characterSpace","char","validIfsc","ifsc","validEmail","email","alphaNum","pincode","validPAN","pan","validAadhaar","addressValidators","nameValidators","dateValidators","futureDateValidators","todayDate","dateOne","is18yearsOld","dob","dateofBirth","calculateAge","is99yearsOld","today","birthDate","age","dateGap","ageVal","isMonthValid","isDayValid","dayy","isYearValid","yearr","d","isYearRequired","birthday","ageDifMs","ageDate","useRuleParser","firstRule","validationRule","secondRule","firstRuleResult","checkConditons","secondRuleResult","conditions","getDataFromCond","field","typeConditionValue","cond","expectedValue","defaultValue","arrayField","optionalField","derivedRHSValue","evaluateCondition","toBoolean","lhs","rhs","checkArrayNumber","checkArrayNumberOptional","optionalFiled","strValue","useCreateValidationRule","validations","rules","formButtonId","validation","element","checkPattern","relations","relation","inCaseCanNotBeMinor","checkMatch","lessthanTotal","error_code","error_codes","errorMessage","checkLessthan","checkUniqueInArrayObj","searchedData","editNominee","ruleString","storedResponse","dataField","joiner","titleFormat","row","title","acc","current","onSearch","emit","onEnter","_withKeys","_normalizeClass","_createElementBlock","btnImageUrl","rowDatas","storeKey","onClick","apiRoute","apiCallNeeded","requestAction","handleActionArray","clickStreamArray","isDisabled","flow","dependentDisableKey","_hoisted_1","_hoisted_2","_hoisted_3","_createBlock","_Fragment","_createElementVNode","_withModifiers","_hoisted_4","_toDisplayString","isButtonDisabled","disabledRule","checkRuleAndStateValue","_normalizeStyle","_component_v_icon","imageFile","watch","currentValue","ImageWidget","cardConfig","tableData","editData","editFields","editIndexKey","editAction","deleteData","deleteFields","tableArrayData","elementData","storeData","storeDeleteKeyData","sharePecentStore","isSessionStore","uniqueID","deleteAction","_hoisted_7","_renderList","icon","_component_ImageWidget","_component_v_card","_component_v_img","chk_start_value","dependentKey","dependentKeyRule","onMounted","watchCheckBox","updateTextfieldId","textFieldStoreKeys","concatedValue","redirectionAction","redirectActions","_createSlots","labelText","customStyles","selectedDocumentState","selectedDocumentFileState","setFileUrl","listCompleted","list","list2","selectType","fileType","downloadFile","fileTypeFromName","fileUrl","onUpdated","formDataStateKey","parsed","api","submitForm","onSubmit","parseValue","time","timeReactive","getGroup","option","groupData","slotTime","_withScopeId","_component_v_col","_withDirectives","headerData","_ctx","faceImage","docImage","docImageBase64","faceImageBase64","c_script","hVUrl","isDataUrlC","onBeforeMount","loadingHyperverge","submitSelfie","runLiveness","hyperVergeStartSession","loadScript","removeScript","scriptExists","startSession","tokenArray","runOCR","hvDocConfig","customizeDocInstructionsScreen","customizeDocCaptureScreen","ocrCallback","customizeFaceCaptureInstructionsScreen","hvFaceConfig","faceTextConfig","livelinessCallback","csEvents","HVError","HVResponse","para","cropperImage","image","crop","VueCropper","_component_vue_cropper","_component_v_alert","buttonParams","multiplePartyCodes","getBase64","DatePicker","input","select","datepicker_overlay","day","newDate","weekdays","w","wd","getDay","daysInMonth","day2","arrow","months","mainContent","y","selector","Boolean","textFieldRef","newVal","isblurr","isFocus","onKeyUp","isNumber","isBlurred","isFocused","evt","charCode","onChange","disabledText","_createTextVNode","_hoisted_5","_component_v_text_field","_hoisted_6","_hoisted_10","useButtonDisabledHooks","handleButtonDisabledState","layoutData","validationField","vl","formDataValueChecker","minColWidth","isRadioSmall","minWebColWidth","isCleared","clearFiled","isActive","emoticon","submitRating","rating","requestOn","resendTime","count","showResend","disableResend","disableResendBtn","showResendTimer","resendRIghtAlign","submitApi","clickStream","setTimer","timer","checkValidation","requiredIf","isFieldRequired","v$","useValidate","_","signaturePad","isEnabled","clearSignature","onBegin","onEnd","_component_VueSignaturePad","timeoutHandle","inScreenPopups","source","dispatchSubmitState","imageURL","setFormData","screenPopups","reSignApplication","submit","signature","_component_v_row","_component_SignaturePadWidget","$event","useRouter","activeStep","computed_step","stepArray","a","b","currentPath","_hoisted_8","n","step","elementMultValue","elementValue","elementKey","elementKey1","handleAction","onAction","typeAllowedOnly","fieldType","ctrl","shouldDisable","isErrorCodeIncluded","e_code","updateValue","isUpperCaseValue","onChangeAction","isOnChangeAction","requestActionOnChange","toggleMarker","appendInnerIcon","toggledAppendIcon","textInput","disableKey","clearFiledBeforeCreateEnable","pastePrevent","preventPaste","copyPrevent","preventCopy","ResendWidget","_component_ResendWidget","isUploadStarted","isCropOn","croppedValue","croppedImageSrc","showHint","progressValue","errorText","fileInput","isSuccess","isURL","isUrlReactive","imageId","showPreview","uploadButtonId","hideReuploadBtn","setFileName","fileSizeDef","extensions","showUpload","validExtension","fileExtension","dlEvents","pseudoFileName","uploadProgress","isLoadingState","pressed","fileSizeByte","previewImageFunc","croppedImageSrcValue","base64CompressedImage","reuploadClick","errorReuploadClick","skipFileManager","reuploadClickFresh","reuploadAgainClick","reuploadCsEvents","reuploadDlEvents","cropOn","src","cropChange","doneCrop","isCropped","rotateLeft","imgg","angle","rotateRight","rotateBase64Image90deg","base64Image","isClockwise","offScreenCanvas","offScreenCanvasCtx","setUploadedFileData","getFileName","fileNameFromUrl","AlertWidget","ImageCropper","_hoisted_22","_hoisted_23","_component_v_progress_circular","_Transition","_component_ImageCropper","_hoisted_26","__default__","margin","padding","flex","size","backgroundColor","textColor","$options","ButtonWidgetVue","StepperWidgetVue","ImageWidgetVue","HeadingWidgetVue","TextElementWidgetVue","DynamicTextElementWidgetVue","UploadFileWidgetVue","AlertWidgetVue","RadioButtonVue","SelectDropdownVue","InfoWidgetVue","AutoCompleteWidgetVue","CheckboxWidgetVue","TextFieldWidgetVue","ListWidgetVue","SignaturePadWidgetParentVue","CardWidgetVue","CardCollectionWidgetVue","RatingWidgetVue","CarouselsWidgetVue","NetworkImageWidgetVue","HyperVergeWidgetVue","DocumentListVue","GroupSelectDropdownWidgetVue","FormButtonVue","NewDatePickerVue","ResendWidgetVue","ImageCropperVue","GuidelineDetailsWidgetVue","TextElementWValueWidgetVue","ButtonLoopWidgetVue","MultipleUsersVue","BrowserSettingsVue","shouldDisableStateKey","debHandleAction","isflexColumn","useMobileDetector","layoutItemWidth","customFormStyles","isStyleNeededInMobile","styles","widget","_resolveDynamicComponent","screenData","onUnmounted","onErrorCaptured","_component_DynamicLayout","useCreateRoutes","steps","allSteps","paths","sortSteps","_.uniq","getObjectArray","screenKey","currentScreen","ScreenView","useDigilocker","onFinishDigilocker","currentUrl","hmac","code","error_description","useEsign","onFinishEsign","message","apiValidationAnalytics","useDigio","onFinishDigio","useGetInitialRoute","initialRoute","persistedNavStack","useNomineeEsign","onFinishNomineeEsign","addNomineeRoute","nomineeData","sessionMobileNumber","stateMobileNumber","getPayload","payload","referralCode","useStartApp","getLayout","events","appJson","nvS","applicationStatus","eligibleFlows","redirectToLoginPage","redirectToErrorPage","assignReferralCode","referrarCode","getIPAddress","getJourneyType","csEventsForAPI","setUrlParam","loginJson","getPanAadhaarSeeed","panAadhaarJourney","onClose","$props","_component_v_card_title","_component_ScreenView","defineAsyncComponent","__vitePreload","PopupWidgetVue","stepList","allStepList","useRoute","layoutConfig","goBack","stepsArray","loginAppJson","next","modalOpened","guideline","imageParams","oneCrImageParams","imageStyle","needSupportImageParams","stepperStyle","drawer","currVal","isLoaded","digiLockerLoader","esignLoader","camsLoaded","checkRoute","guide","el","checkBrokerageRoute","isStepperVisible","isFullPageView","isRegisterEmailPage","isSegmentActivationPage","_component_v_app","_component_v_bottom_sheet","_component_Image","_component_router_view","cstmLtTheme","vuetify","createVuetify","loadFonts","NotFound","createRouter","createMemoryHistory","options","currentHash","createApp","App","Toast","VueSignaturePad","vue3GoogleLogin","binding"],"sources":["../../vite/modulepreload-polyfill","../../src/store/store.js","../../src/composables/usePopupManager.js","../../src/composables/analytics.js","../../src/utils/url.js","../../src/constants/index.js","../../src/utils/utils.js","../../src/utils/httpUtils.js","../../src/services/HttpClient.js","../../src/composables/clickStreamAnalytics.js","../../src/composables/useBodyValue.js","../../src/composables/useMessages.js","../../src/composables/useNavigation.js","../../src/composables/useUrlCreator.js","../../src/constants/enums.js","../../src/handlers/action.js","../../src/composables/useLifecycleHooks.js","../../plugin-vue:export-helper","../../src/widgets/SnackBarWidget.vue","../../src/composables/useMobileDetector.js","../../src/widgets/AlertWidget.vue","../../src/composables/useFormValue.js","../../src/validation/validation.js","../../src/composables/useRuleParser.js","../../src/composables/useCreateValidationRule.js","../../src/widgets/AutoCompleteWidget.vue","../../src/widgets/ButtonLoopWidget.vue","../../src/widgets/ButtonWidget.vue","../../src/widgets/ImageWidget.vue","../../src/widgets/CardCollectionWidget.vue","../../src/widgets/CardWidget.vue","../../src/widgets/CarouselsWidget.vue","../../src/widgets/CheckboxWidget.vue","../../src/widgets/DocumentList.vue","../../src/widgets/DynamicTextElementWidget.vue","../../src/widgets/FormButton.vue","../../src/widgets/GroupSelectWidget.vue","../../src/widgets/GuidelineDetailsWidget.vue","../../src/widgets/HeadingWidget.vue","../../src/widgets/HyperVergeWidget.vue","../../src/widgets/ImageCropper.vue","../../src/widgets/InfoWidget.vue","../../src/widgets/ListWidget.vue","../../src/widgets/MultipleUsers.vue","../../src/widgets/NetworkImageWidget.vue","../../src/plugins/m-datepicker.js","../../src/widgets/NewDatePicker.vue","../../src/composables/useButtonDisabledHooks.js","../../src/widgets/RadioButtonWidget.vue","../../src/widgets/RatingWidget.vue","../../src/widgets/ResendWidget.vue","../../src/widgets/SelectDropdownWidget.vue","../../src/widgets/SignaturePadWidget.vue","../../src/widgets/SignatureWidgetParent.vue","../../src/widgets/StepperWidget.vue","../../src/widgets/TextElementWValueWidget.vue","../../src/widgets/TextElementWidget.vue","../../src/widgets/TextFieldWidget.vue","../../src/widgets/UploadFileWidget.vue","../../src/components/StyleContainer.vue","../../src/widgets/BrowserSettings.vue","../../src/components/DynamicLayout.vue","../../src/components/ScreenView.vue","../../src/composables/useCreateRoutes.js","../../src/composables/useDigilocker.js","../../src/composables/useEsign.js","../../src/composables/useDigio.js","../../src/composables/useGetInitialRoute.js","../../src/composables/useNomineeEsign.js","../../src/composables/useStartApp.js","../../src/widgets/PopupWidget.vue","../../src/App.vue","../../src/plugins/vuetify.js","../../src/plugins/webfontloader.js","../../src/main.js"],"sourcesContent":["__VITE_IS_MODERN__&&(function polyfill() {\n const relList = document.createElement('link').relList;\n if (relList && relList.supports && relList.supports('modulepreload')) {\n return;\n }\n for (const link of document.querySelectorAll('link[rel=\"modulepreload\"]')) {\n processPreload(link);\n }\n new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type !== 'childList') {\n continue;\n }\n for (const node of mutation.addedNodes) {\n if (node.tagName === 'LINK' && node.rel === 'modulepreload')\n processPreload(node);\n }\n }\n }).observe(document, { childList: true, subtree: true });\n function getFetchOpts(script) {\n const fetchOpts = {};\n if (script.integrity)\n fetchOpts.integrity = script.integrity;\n if (script.referrerpolicy)\n fetchOpts.referrerPolicy = script.referrerpolicy;\n if (script.crossorigin === 'use-credentials')\n fetchOpts.credentials = 'include';\n else if (script.crossorigin === 'anonymous')\n fetchOpts.credentials = 'omit';\n else\n fetchOpts.credentials = 'same-origin';\n return fetchOpts;\n }\n function processPreload(link) {\n if (link.ep)\n // ep marker = processed\n return;\n link.ep = true;\n // prepopulate the load record\n const fetchOpts = getFetchOpts(link);\n fetch(link.href, fetchOpts);\n }\n}());","import { createStore } from \"vuex\";\nexport default createStore({\n state() {\n return {\n layout: {},\n formData: {\n documents: [],\n totalSharePercent: 0,\n },\n formState: {},\n popups: {},\n activeRoute: null,\n previousRoute: null,\n hyperVergeToken: \"\",\n features: {},\n action: {},\n navStack: [],\n persistedNavStack: [],\n snack_bar: {\n text: \"\",\n snackbar: false,\n timeout: 0,\n color: \"\",\n multiLine: false,\n },\n loadingIndicators: {},\n progressIndicators: {},\n apiResponses: {},\n pageLoader: false,\n buttonDisable: false,\n isDigilockerLoaded: true,\n isEsignLoaded: true,\n isPageSubmitButton: \"\",\n isModalSubmitButton: \"\",\n ignoreBrowserPromt: false,\n croppedImage: null,\n textFieldDisables: {},\n loginAuthenticationAttemptMessage: {},\n };\n },\n mutations: {\n SET_LAYOUT_DATA(state, layout) {\n if (layout && Object.getPrototypeOf(layout) === Object.prototype) {\n state.layout = layout;\n } else {\n throw new Error(\n \"layout contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_FORM_DATA(state, upsertData) {\n if (Object.getPrototypeOf(upsertData) === Object.prototype) {\n const { key, value } = upsertData;\n state.formData[key] = value;\n } else {\n throw new Error(\n \"FormData upsert contract voilated, extected an object with key & value properties\"\n );\n }\n },\n CLEAR_FORM_DATA(state, key) {\n if (state.formData[key]) {\n delete state.formData[key];\n }\n },\n SET_API_DATA(state, upsertData) {\n if (upsertData) {\n const { key, value } = upsertData;\n state.apiResponses[key] = value;\n }\n },\n SET_POPUP(state, upsertData) {\n if (Object.getPrototypeOf(upsertData) === Object.prototype) {\n const { key, value } = upsertData;\n if (key && typeof key == \"string\") {\n state.popups[key] = value;\n }\n } else {\n throw new Error(\n \"FormData upsert contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_FORM_STATE(state, upsertData) {\n if (Object.getPrototypeOf(upsertData) === Object.prototype) {\n const { key, value } = upsertData;\n state.formState[key] = value;\n } else {\n throw new Error(\n \"FormData upsert contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_ACTIVE_ROUTE(state, route) {\n if (typeof route == \"string\") {\n state.activeRoute = route;\n } else {\n throw new Error(\"route must be a string\");\n }\n },\n SET_PREVIOUS_ROUTE(state, route) {\n if (typeof route == \"string\") {\n state.previousRoute = route;\n } else {\n throw new Error(\"route must be a string\");\n }\n },\n SET_HYPERVERGE_TOKEN(state, token) {\n if (typeof token == \"string\") {\n state.hyperVergeToken = token;\n } else {\n throw new Error(\"token must be a string\");\n }\n },\n SET_SNACK_BAR(state, obj) {\n if (Object.getPrototypeOf(obj) == Object.prototype) {\n const { text, snackbar, timeout, color, ...rest } = obj;\n state.snack_bar = { text, snackbar, timeout, color, ...rest };\n } else {\n throw new Error(\"Snackbar Object is not valid\");\n }\n },\n SET_SNACK_BAR_CLOSE(state) {\n state.snack_bar = {\n text: \"\",\n snackbar: false,\n timeout: 0,\n color: \"\",\n multiLine: false,\n };\n },\n SET_FEATURES(state, features) {\n if (features && Object.getPrototypeOf(features) === Object.prototype) {\n state.features = features;\n } else {\n throw new Error(\n \"features contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_ACTION(state, action) {\n if (action && Object.getPrototypeOf(action) === Object.prototype) {\n state.action = action;\n } else {\n throw new Error(\n \"action contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_PERSIST_NAV_STACK(state, stack) {\n if (stack && Object.getPrototypeOf(stack) === Array.prototype) {\n state.persistedNavStack = stack;\n } else {\n throw new Error(\n \"stack contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_APPLICATION_STATUS(state, status) {\n if (status) {\n state.applicationStatus = status;\n } else {\n throw new Error(\"Invalid Status\");\n }\n },\n SET_ELIGIBLE_FLOWS(state, flows) {\n if (flows && Object.getPrototypeOf(flows) === Array.prototype) {\n state.eligibleFlows = [...flows];\n } else {\n throw new Error(\n \"flows contract voilated, extected an array properties\"\n );\n }\n },\n SET_LOADING(state, loading) {\n if (typeof loading == \"object\") {\n state.loadingIndicators = { ...state.loadingIndicators, ...loading };\n } else {\n throw new Error(\"Loading must be a object\");\n }\n },\n SET_CLEAR_LOADING(state) {\n state.loadingIndicators = {};\n },\n SET_CLEAR_EDITINDEX(state, value) {\n state[value] = \"\";\n },\n SET_LOADING_PROGRESS(state, progress) {\n if (typeof progress == \"object\") {\n state.progressIndicators = { ...state.progressIndicators, ...progress };\n } else {\n throw new Error(\"Progress must be a object\");\n }\n },\n SET_CLEAR_PROGRESS(state) {\n state.progressIndicators = {};\n },\n SET_DOCUMENT_LIST(state, document) {\n if (document && Object.getPrototypeOf(document) === Array.prototype) {\n state.formData.documents = [...document];\n } else {\n throw new Error(\n \"document contract voilated, extected an array properties\"\n );\n }\n },\n CLEAR_DOCUMENT_FORMDATA(state) {\n state.formData[\"documentList\"] = [];\n },\n SET_PAGELOADER(state, loading) {\n if (loading && typeof loading == \"boolean\") {\n state.pageLoader = loading;\n } else {\n throw new Error(\n \"loading contract voilated, extected an boolean properties\"\n );\n }\n },\n SET_BUTTON_DISABLE(state, disable) {\n if (disable && typeof disable == \"boolean\") {\n state.buttonDisable = disable;\n } else {\n throw new Error(\n \"button disable contract voilated, extected an boolean properties\"\n );\n }\n },\n SET_DIGILOCERLOADER(state, loader) {\n if (typeof loader == \"boolean\") {\n state.isDigilockerLoaded = loader;\n } else {\n throw new Error(\n \"digilocer loader contract voilated, extected an boolean properties\"\n );\n }\n },\n SET_ESIGNLOADER(state, loader) {\n if (typeof loader == \"boolean\") {\n state.isEsignLoaded = loader;\n } else {\n throw new Error(\n \"esign loader contract voilated, extected an boolean properties\"\n );\n }\n },\n SET_SELFI_URL(state, url) {\n if (typeof url == \"string\") {\n state.formData.selfieImageUrl = url;\n } else {\n throw new Error(\n \"selfie url contract voilated, extected an string properties\"\n );\n }\n },\n SET_CROPPED_IMAGE(state, url) {\n if (typeof url == \"string\") {\n state.croppedImage = url;\n } else {\n throw new Error(\n \"croppedImage url contract voilated, extected an string properties\"\n );\n }\n },\n SET_INDEXKEY_VALUE(state, indexData) {\n if (Object.getPrototypeOf(indexData) === Object.prototype) {\n const { key, value } = indexData;\n state[key] = value;\n } else {\n throw new Error(\"Invalid Key\");\n }\n },\n PUSH_NAV(state, route) {\n if (route && Object.getPrototypeOf(route) === String.prototype) {\n state.navStack.push(route);\n } else {\n throw new Error(\n \"route contract voilated, extected an object with key & value properties\"\n );\n }\n },\n SET_TEXT_FIELD_DISABLE(state, value) {\n if (typeof value == \"object\") {\n state.textFieldDisables = { ...state.textFieldDisables, ...value };\n } else {\n throw new Error(\"Invalid value\");\n }\n },\n POP_NAV(state) {\n if (state.navStack.length > 1) {\n state.navStack.pop();\n } else {\n console.warn(\"nav stack is already empty\");\n }\n },\n POP_NAV_ROUTE(state, route = \"\") {\n if (route) {\n let index = state.navStack.findIndex((path) => path == route);\n if (state.navStack.length > 1 && index > -1) {\n let newNavStack = state.navStack.slice(0, index + 1);\n state.navStack = [...newNavStack];\n } else {\n console.warn(\"nav stack is already empty\");\n }\n } else {\n throw new Error(\n \"route contract voilated, extected an string properties\"\n );\n }\n },\n MANAGE_ACTIVE_SUBMIT_BUTTON(state, data) {\n state[data.state] = data.value;\n },\n SET_BUTTON_TO_DISABLE(state, value) {\n let result = null;\n Object.keys(state.popups).forEach((key) => {\n if (state.popups[key] == true) result = key;\n });\n if (result) {\n state[state.isModalSubmitButton] = value;\n } else {\n state[state.isPageSubmitButton] = value;\n }\n },\n IGNORE_BROWSER_PROMPT(state, value) {\n state.ignoreBrowserPromt = value;\n },\n DELETE_FORM_FIELD(state, key) {\n if (state.formData[key]) {\n if (key && Object.getPrototypeOf(key) === String.prototype) {\n delete state.formData[key];\n } else {\n throw new Error(\n \"delete contract voilated, extected an object with key & value properties\"\n );\n }\n }\n },\n CLEAR_CORP_IMAGE(state) {\n state.croppedImage = null;\n },\n CLEAR_DERIVATIVE_SELECTION(state) {\n state.formData.derivativeProofFile = null;\n state.formData.derivativesType = null;\n },\n\n SET_NOMINIEES_PERCENT(state, value) {\n state.formData.totalSharePercent = value;\n },\n SET_AUTHENTICATION_MESSAGE(state, value) {\n if (typeof value == \"object\") {\n state.loginAuthenticationAttemptMessage = {\n ...state.loginAuthenticationAttemptMessage,\n ...value,\n };\n } else {\n throw new Error(\"Invalid value\");\n }\n },\n SET_API_V2_ROUTE(state, value) {\n state[\"callApiV2StoreKey\"] = value;\n },\n },\n actions: {\n setLayout({ commit }, layout) {\n commit(\"SET_LAYOUT_DATA\", layout);\n },\n setFormData({ commit }, upsertData) {\n commit(\"SET_FORM_DATA\", upsertData);\n },\n setAPIData({ commit }, upsertData) {\n commit(\"SET_API_DATA\", upsertData);\n },\n setFormState({ commit }, upsertData) {\n commit(\"SET_FORM_STATE\", upsertData);\n },\n setPopup({ commit }, upsertData) {\n commit(\"SET_POPUP\", upsertData);\n },\n openPopup({ commit }, key) {\n if (!key) return;\n commit(\"SET_POPUP\", {\n key,\n value: true,\n });\n },\n closePopup({ commit }, key) {\n commit(\"SET_POPUP\", {\n key,\n value: false,\n });\n },\n setRoute({ commit }, { to, from }) {\n commit(\"SET_ACTIVE_ROUTE\", to.path);\n commit(\"SET_PREVIOUS_ROUTE\", from.path);\n },\n setHyperToken({ commit }, token) {\n commit(\"SET_HYPERVERGE_TOKEN\", token);\n },\n setSnackBar({ commit }, obj) {\n commit(\"SET_SNACK_BAR\", obj);\n },\n closeSnackBar({ commit }) {\n commit(\"SET_SNACK_BAR\");\n },\n setFeatures({ commit }, feature) {\n commit(\"SET_FEATURES\", feature);\n },\n setAction({ commit }, action) {\n commit(\"SET_ACTION\", action);\n },\n setPersistNavStack({ commit }, stack) {\n commit(\"SET_PERSIST_NAV_STACK\", stack);\n },\n setApplicationStatus({ commit }, status) {\n commit(\"SET_APPLICATION_STATUS\", status);\n },\n setEligibleFlows({ commit }, flows) {\n commit(\"SET_ELIGIBLE_FLOWS\", flows);\n },\n setLoading({ commit }, loading) {\n commit(\"SET_LOADING\", loading);\n },\n clearFormData({ commit }, key) {\n commit(\"CLEAR_FORM_DATA\", key);\n },\n setClearLoading({ commit }) {\n commit(\"SET_CLEAR_LOADING\");\n },\n setClearEditIndex({ commit }, value) {\n commit(\"SET_CLEAR_EDITINDEX\", value);\n },\n setProgress({ commit }, progress) {\n commit(\"SET_LOADING_PROGRESS\", progress);\n },\n setClearProgress({ commit }) {\n commit(\"SET_CLEAR_PROGRESS\");\n },\n setDocumentList({ commit }, document) {\n commit(\"SET_DOCUMENT_LIST\", document);\n },\n clearDocumentListFormdata({ commit }) {\n commit(\"CLEAR_DOCUMENT_FORMDATA\");\n },\n setPageLoading({ commit }, loading) {\n commit(\"SET_PAGELOADER\", loading);\n },\n setDigiLocader({ commit }, loading) {\n commit(\"SET_DIGILOCERLOADER\", loading);\n },\n setEsignLoader({ commit }, loading) {\n commit(\"SET_ESIGNLOADER\", loading);\n },\n setButtonDisable({ commit }, disable) {\n commit(\"SET_BUTTON_DISABLE\", disable);\n },\n setSelfieURL({ commit }, url) {\n commit(\"SET_SELFI_URL\", url);\n },\n pushNav({ commit }, route) {\n commit(\"PUSH_NAV\", route);\n },\n popNav({ commit }) {\n commit(\"POP_NAV\");\n },\n popRouteToNav({ commit }, route) {\n commit(\"POP_NAV_ROUTE\", route);\n },\n manageActiveSubmitButton({ commit }, data) {\n commit(\"MANAGE_ACTIVE_SUBMIT_BUTTON\", data);\n },\n setButtonToDisable({ commit }, data) {\n commit(\"SET_BUTTON_TO_DISABLE\", data);\n },\n setTextFieldDisable({ commit }, value) {\n commit(\"SET_TEXT_FIELD_DISABLE\", value);\n },\n ignoreBrowserPrompt({ commit }, data) {\n commit(\"IGNORE_BROWSER_PROMPT\", data);\n },\n deleteFormField({ commit }, key) {\n commit(\"DELETE_FORM_FIELD\", key);\n },\n setCroppedImage({ commit }, base64) {\n commit(\"SET_CROPPED_IMAGE\", base64);\n },\n setIndexValue({ commit }, indexData) {\n commit(\"SET_INDEXKEY_VALUE\", indexData);\n },\n clearCroppedImage({ commit }) {\n commit(\"CLEAR_CORP_IMAGE\");\n },\n clearDerivativeFile({ commit }) {\n commit(\"CLEAR_DERIVATIVE_SELECTION\");\n },\n setTotalPercentOfNominees({ commit }, value) {\n commit(\"SET_NOMINIEES_PERCENT\", value);\n },\n setAuthenticationMessage({ commit }, value) {\n commit(\"SET_AUTHENTICATION_MESSAGE\", value);\n },\n setApiV2Route({ commit }, value) {\n commit(\"SET_API_V2_ROUTE\", value);\n },\n },\n});\n","import store from \"@/store/store\";\n\nexport default function usePopupManager() {\n function initPopups() {\n const {\n state: {\n layout: { popups },\n },\n } = store;\n if (popups && Object.getPrototypeOf(popups) === Object.prototype) {\n Object.keys(popups).forEach((key) => {\n store.dispatch(\"setPopup\", {\n key,\n value: false,\n });\n });\n }\n }\n\n function getActivePopups() {\n let result = null;\n Object.keys(store.state.popups).forEach((key) => {\n if (store.state.popups[key] == true) result = key;\n });\n return result;\n }\n\n function isPopupShown() {\n let result = false;\n Object.keys(store.state.popups).forEach((key) => {\n if (store.state.popups[key] == true) result = true;\n });\n return result;\n }\n\n function openPopup(id) {\n const newId = parseId(id);\n if (newId) {\n return store.dispatch(\"openPopup\", newId);\n } else {\n console.error(\"invalid popup id\");\n }\n }\n\n function closePopup(id) {\n const newId = parseId(id);\n if (newId) {\n store.dispatch(\"closePopup\", newId);\n store.dispatch(\"clearDocumentListFormdata\");\n } else {\n console.error(\"invalid popup id\");\n }\n }\n\n function parseId(id) {\n if (id && id.includes(\"$\")) {\n const str = id.replace(\"$\", \"\");\n const newId = store.state.formData[str];\n return newId;\n } else {\n return id;\n }\n }\n function getPopupScreen() {\n if (!getActivePopups()) return;\n const screen = store.state.layout.popups[getActivePopups()];\n return screen;\n }\n\n function getPopupParams() {\n return {\n hasHeader: true,\n hasMaxWidth: true,\n };\n }\n\n function popupOnClose(id) {\n closePopup(id);\n }\n\n function showPopup() {\n return isPopupShown();\n }\n\n return {\n initPopups,\n openPopup,\n closePopup,\n getPopupScreen,\n getPopupParams,\n popupOnClose,\n showPopup,\n getActivePopups,\n };\n}\n","import store from \"@/store/store\";\n\nclass Analytics {\n static analyticsEventLog(event_params) {\n window.dataLayer.push({\n event: event_params?.event_name,\n eventCategory: event_params?.event_category,\n eventAction: event_params?.event_action,\n eventLabel: event_params?.event_label\n ? event_params?.event_label !== \"NA\"\n ? this.getEventLabel(event_params?.event_label)\n : \"NA\"\n : window.location.href,\n AUC: `${store?.state?.formData?.appNumber}`,\n });\n }\n static getEventLabel(ev) {\n let label;\n switch (ev) {\n case \"yes\":\n label = \"yes\";\n break;\n case \"no\":\n case \"do_it_later\":\n label = \"no\";\n break;\n case \"android\":\n label = \"Android\";\n break;\n case \"ios\":\n label = \"iOS\";\n break;\n default:\n var val = `${store?.state?.formData[ev]}`;\n label = val != \"undefined\" ? val : \"NA\";\n }\n return label;\n }\n}\n\nexport default Analytics;\n","/* eslint-disable */\nexport function isValidURL(s = \"\") {\n if (typeof s != \"string\") return false;\n var res = s.match(\n /(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g,\n );\n return res !== null;\n}\n\nexport function isBase64(s = \"\") {\n if (typeof s != \"string\") return false;\n var res = s.match(\n /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,\n );\n return res !== null;\n}\n\nexport function isDataURL(s) {\n if (typeof s != \"string\") return false;\n return !!s.match(isDataURL.regex);\n}\nisDataURL.regex =\n /^\\s*data:([a-z]+\\/[a-z]+(;[a-z\\-]+\\=[a-z\\-]+)?)?(;base64)?,[a-z0-9\\!\\$\\&\\'\\,\\(\\)\\*\\+\\,\\;\\=\\-\\.\\_\\~\\:\\@\\/\\?\\%\\s]*\\s*$/i;\n","export const API_RETRY_CONFIG = {\n RETRY_COUNT: 2,\n RETRY_ERROR_CODES: [500, 502, 503, 504],\n RETRY_DELAY: 2000,\n};\n\nexport const HTTP_METHOD_GET = \"GET\";\nexport const HTTP_METHOD_POST = \"POST\";\nexport const HTTP_METHOD_PUT = \"PUT\";\nexport const HTTP_METHOD_DELETE = \"DELETE\";\nexport const TIMEOUT = 10000;\nexport const DYNAMIC_LAYOUT_MOBILE_WIDTH = \"300px\";\nexport const PAN_UPLOAD = \"pan-upload\";\nexport const DIGILOCKER = \"digilocker\";\n\nexport const ABUUID = \"ABUUID\";\n","import jwt_decode from \"jwt-decode\";\nimport store from \"@/store/store\";\nimport Compressor from \"compressorjs\";\nimport { isBase64 } from \"./url\";\nimport ActionHandler from \"@/handlers/action\";\nimport { ABUUID } from \"@/constants\";\n\nexport function urltoFile(url, filename) {\n let mimeType = (url.match(/^data:([^;]+);/) || \"\")[1];\n return fetch(url)\n .then(function (res) {\n return res.arrayBuffer();\n })\n .then(function (buf) {\n return new File([buf], filename, { type: mimeType });\n })\n .catch((e) => {\n console.error(e);\n });\n}\n\nfunction getFileTypeFromExtension(fileName) {\n const re = /(?:\\.([^.]+))?$/;\n return re.exec(fileName)[1];\n}\n\nexport function getBase64FileType(fileName) {\n const fileType = getFileTypeFromExtension(fileName);\n switch (fileType) {\n case \"pdf\":\n return \"data:application/pdf;base64\";\n case \"png\":\n return \"data:image/png;base64\";\n case \"jpg\":\n case \"jpeg\":\n return \"data:image/jpeg;base64\";\n\n default:\n return null;\n }\n}\n\nexport const validImageDataURL = (dataURL) => {\n const regex = /data:(image\\/(?=png|jpg|jpeg);*)/i;\n return typeof dataURL === \"string\" && dataURL.match(regex)\n ? dataURL.match(regex).length\n : false;\n};\n\nexport function getBase64(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n}\n\n/* no longer used */\n// export function isPWA() {\n// return window && window.matchMedia(\"(display-mode: standalone)\").matches;\n// }\n\nexport function checkToken(token) {\n try {\n const JWT = jwt_decode(token);\n const currentDate = Math.round(new Date().getTime() / 1000);\n if (JWT && JWT.exp > currentDate) {\n return JWT;\n }\n return null;\n } catch (error) {\n return null;\n }\n}\n\nexport async function getBase64URL(\n screenId,\n cb,\n type = \"data:image/png;base64\" //getBase64 data:application/pdf;base64\n) {\n let imageUrl = store.state.formData[screenId];\n var myHeaders = new Headers();\n myHeaders.append(\"pragma\", \"no-cache\");\n myHeaders.append(\"cache-control\", \"no-cache\");\n myHeaders.append(\"Origin\", window.location.origin);\n myHeaders.append(\"Access-Control-Allow-Origin\", window.location.origin);\n myHeaders.append(\"Access-Control-Allow-Methods\", \"GET\");\n var init = {\n method: \"GET\",\n headers: myHeaders,\n };\n return fetch(imageUrl, init)\n .then((data) => {\n return data.blob();\n })\n .then((data) => {\n var reader = new FileReader();\n reader.readAsDataURL(data);\n reader.onload = async function () {\n var base64data = reader.result;\n var imageData = [...base64data.split(\",\")];\n imageData[0] = type;\n let finalImage = imageData.join(\", \");\n store.dispatch(\"setFormData\", {\n key: screenId,\n value: finalImage,\n });\n cb(finalImage);\n };\n })\n .catch((e) => {\n console.error(e);\n });\n}\n\nexport async function getBase64FromURL(\n id,\n type = \"data:application/pdf;base64\", //getBase64 \"data:application/pdf;base64\"\n cb\n) {\n const url = store.state.formData[id];\n var myHeaders = new Headers();\n myHeaders.append(\"pragma\", \"no-cache\");\n myHeaders.append(\"cache-control\", \"no-cache\");\n myHeaders.append(\"Origin\", window.location.origin);\n myHeaders.append(\"Access-Control-Allow-Origin\", window.location.origin);\n myHeaders.append(\"Access-Control-Allow-Methods\", \"GET\");\n var init = {\n method: \"GET\",\n headers: myHeaders,\n };\n return fetch(url, init)\n .then((data) => {\n return data.blob();\n })\n .then((data) => {\n var reader = new FileReader();\n reader.readAsDataURL(data);\n reader.onload = async function () {\n var base64data = reader.result;\n var imageData = [...base64data.split(\",\")];\n imageData[0] = type;\n let finalImage = imageData.join(\", \");\n cb(finalImage);\n };\n })\n .catch((e) => {\n console.error(e);\n });\n}\n\n// Need to refactor the code\nexport function fileToBase64(file, cb) {\n var reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = function () {\n cb(reader.result);\n };\n}\n\nexport function convertUrlToBase64JPEG(\n imgUrl,\n id,\n type = \"data:image/jpeg;base64\"\n) {\n var myHeaders = new Headers();\n myHeaders.append(\"pragma\", \"no-cache\");\n myHeaders.append(\"cache-control\", \"no-cache\");\n myHeaders.append(\"Origin\", window.location.origin);\n myHeaders.append(\"Access-Control-Allow-Origin\", window.location.origin);\n myHeaders.append(\"Access-Control-Allow-Methods\", \"GET\");\n var init = {\n method: \"GET\",\n headers: myHeaders,\n };\n fetch(imgUrl, init)\n .then((data) => {\n return data.blob();\n })\n .then((data) => {\n var reader = new FileReader();\n const img = new Image();\n reader.onload = async function () {\n const value = reader.result;\n var binary = [...value.split(\",\")];\n binary[0] = type;\n let uri = binary.join(\", \");\n img.src = uri;\n await img.decode();\n store.dispatch(\"setFormData\", {\n key: id,\n value: img.src,\n });\n };\n reader.readAsDataURL(data);\n })\n .catch((e) => {\n console.error(e);\n });\n}\n\nexport const getImage = (imageName) =>\n `https://cdn.angelone.in/kyc/images/${imageName}`;\n\nexport const convertBlobToBase64 = async (blob) => {\n // blob data\n return await blobToBase64(blob);\n};\n\nconst blobToBase64 = (blob) =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n\nexport const compressImage = (file, quality = 0.8) => {\n return new Promise((resolve, reject) => {\n new Compressor(file, {\n quality: quality,\n success(result) {\n resolve(result);\n },\n error(err) {\n reject(err);\n },\n });\n });\n};\n\nexport const decodeBase64 = (string) => {\n if (isBase64(string)) {\n return window.atob(decodeURIComponent(string));\n }\n return string;\n};\n\nexport const truncate = (text, length, suffix) => {\n if (text.length > length) {\n return text.substring(0, length) + suffix;\n } else {\n return text;\n }\n};\n\nexport function enableDisableButton(state1, state2) {\n if (state1 && state2) {\n const disable_btn = !!(state1 && state2);\n store.dispatch(\"setButtonToDisable\", disable_btn ? false : true);\n }\n}\n\nexport function isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\nexport function setNominee(nominees = [], mobileNumber) {\n let totalPercent = 0;\n sessionStorage.setItem(\"nominees\", nominees);\n nominees.forEach((item) => {\n totalPercent += item.sharePercent;\n });\n sessionStorage.setItem(\"totalSharePercent\", totalPercent);\n let sessionData = {\n totalSharePercent: totalPercent,\n nominees: nominees,\n };\n if (mobileNumber) {\n // sessionStorage.setItem(\"mobile\", mobileNumber);\n sessionData.mobile = mobileNumber;\n }\n ActionHandler.setSessionDataFromOBJ(sessionData);\n\n store.dispatch(\"setTotalPercentOfNominees\", totalPercent);\n}\n\nexport const getConcatedValueFromStore = (items) => {\n let str = \"\";\n items.forEach((key) => {\n str += store.state.formData[key] || \"\";\n });\n return str;\n};\n\nexport function isMobileBrowser() {\n const userAgent = navigator.userAgent;\n const mobileBrowsers = [\n \"Android\",\n \"webOS\",\n \"iPhone\",\n \"iPad\",\n \"iPod\",\n \"BlackBerry\",\n \"Windows Phone\",\n ];\n\n return mobileBrowsers.some((browser) => userAgent.includes(browser));\n}\n\nexport function isInsideApp() {\n const userAgent = navigator.userAgent;\n const isOpenedInApp = /webview|wv|ip((?!.*Safari)|(?=.*like Safari))/i.test(\n userAgent\n );\n return isOpenedInApp;\n}\n\nexport const getGUID = () => {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n};\n\nexport const getDeviceId = () => {\n const deviceIdFromLocalStorage = localStorage.getItem(ABUUID);\n\n if (deviceIdFromLocalStorage) {\n return deviceIdFromLocalStorage;\n }\n\n const deviceId = getGUID();\n localStorage.setItem(ABUUID, deviceId);\n return deviceId;\n};\n","import { API_RETRY_CONFIG } from \"../constants\";\n\nconst isNetworkError = (error) =>\n error.response && error.message.toLowerCase().indexOf(\"network error\") !== -1;\n\nconst isTimeout = (error) =>\n !error.response && error.message.toLowerCase().indexOf(\"timeout\") !== -1;\n\nexport const isRetryRequired = (error) => {\n const { config = {}, response = {} } = error;\n const { status } = response;\n\n if (config.retry) {\n // Set the variable for keeping track of the retry count\n config.__retryCount = config.__retryCount || 0;\n\n // Check if we've maxed out the total number of retries\n if (\n config.__retryCount >= (config.retryCount || API_RETRY_CONFIG.RETRY_COUNT)\n ) {\n return false;\n }\n\n const errorCodes =\n config.retryErrorCodes || API_RETRY_CONFIG.RETRY_ERROR_CODES;\n // if error code matches error codes provided in the config\n if (errorCodes.includes(status)) {\n return true;\n }\n // check for timeout or network error\n if (isTimeout(error) || isNetworkError(error)) {\n return true;\n }\n }\n return false;\n};\n\nexport const getHttpErrorForAnalytics = (error) => {\n if (error.data) {\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n return `server response: ${JSON.stringify(error.data)}, status: ${\n error.status\n }`;\n } else if (error.request) {\n // The request was made but no response was received\n return `no response received, reponseURL: ${error.request.responseURL}, status: ${error.status}`;\n }\n return error.data.message;\n};\n","import store from \"@/store/store\";\nimport axios from \"axios\";\nimport { useToast } from \"vue-toastification\";\nimport { createMockInstance } from \"../../mocks\";\nimport packageJson from \"../../package.json\";\nimport CONFIGDATA from \"../../src/config/configData.json\";\nimport { checkToken } from \"../utils/utils\";\n\nimport {\n API_RETRY_CONFIG,\n HTTP_METHOD_DELETE,\n HTTP_METHOD_GET,\n HTTP_METHOD_POST,\n HTTP_METHOD_PUT,\n} from \"../constants\";\nimport { isRetryRequired } from \"../utils/httpUtils\";\n// import CryptoJS from \"crypto-js\";\n\nconst statusCode = {\n Unauthorized: 401,\n Forbidden: 403,\n TooManyRequests: 429,\n InternalServerError: 500,\n BadRequest: 400,\n};\n\nconst CLCM_API_ENDPOINTS = [\"/v1/kra/journey-type\", \"/v1/pan\"];\n\n// function setCookie(name, value, days) {\n// var expires = \"\";\n// if (days) {\n// var date = new Date();\n// date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n// expires = \"; expires=\" + date.toUTCString();\n// }\n// document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\n// }\n\nfunction setCookie(name, value, days, minutesEnable = false) {\n let secure = \"\";\n var expires = \"\";\n let domain = \"\";\n if (days) {\n const date = new Date();\n if (minutesEnable) {\n date.setTime(date.getTime() + days * 60 * 1000);\n } else {\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n }\n expires = \"; expires=\" + date.toUTCString();\n }\n\n if (import.meta.env.VITE_APP_BUILD_RELEASE == \"prod\") {\n secure = \"SameSite=strict; Secure\";\n domain = \"domain=.angelone.in;\";\n }\n // document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\n document.cookie =\n name + \"=\" + value + \"; \" + expires + \";\" + domain + \"path=/;\" + secure;\n}\n\nfunction getCookieValue(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(\";\");\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == \" \") c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n}\n\nfunction deleteCookie(name) {\n document.cookie = name + \"=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\n if (getCookieValue(name)) {\n deleteDomainCookie(name);\n }\n}\n\nfunction deleteCookieWithDomain(name, domain) {\n document.cookie =\n name +\n \"=; Path=/;\" +\n (domain ? \"Domain=\" + domain + \";\" : \"\") +\n \"Expires=Thu, 01 Jan 1970 00:00:01 GMT\";\n}\n\nfunction deleteDomainCookie(name) {\n document.cookie =\n name +\n \"=; domain=.angelone.in; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;\";\n}\n\nfunction clearAllCookie() {}\nconst appVersion = packageJson.version;\n\nlet headers = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"Accept-Language\": \"en-US\",\n \"X-appVersion\": `${appVersion}|${appVersion}`,\n};\n\nconst injectToken = (config) => {\n try {\n if (\n config.url.includes(\"/generateOTPPostCaptcha\") ||\n config.url.includes(\"/verifyLoginOTP\") ||\n config.url.includes(\"https://icanhazip.com\")\n ) {\n config[\"baseURL\"] = import.meta.env.VITE_LOGIN_API_BASE_URL;\n // config[\"headers\"][\"x-captcha\"] = await getCapchaCode();\n } else if (\n config.url.includes(\"https://pro.ip-api.com/json/?key=pCLDTuyrbjxazN9\")\n ) {\n config[\"baseURL\"] = import.meta.env.VITE_GETIP_API_BASE_URL;\n } else {\n if (\n config.url.includes(\"/journey-type\") ||\n config.url.includes(\"/v1/pan\")\n ) {\n config[\"baseURL\"] = import.meta.env.VITE_CLCM_API_BASE_URL;\n } else {\n config[\"baseURL\"] = import.meta.env.VITE_API_BASE_URL;\n }\n\n const currentSearch = window.location.toString().split(\"?\");\n const urlParams = new URLSearchParams(`${currentSearch[1]}`);\n // let token = urlParams.get(\"ntt\");\n let token =\n urlParams.get(\"ntt\") && urlParams.get(\"ntt\")?.includes(\"#\")\n ? urlParams.get(\"ntt\").split(\"#\")[0]\n : urlParams.get(\"ntt\");\n let successUrl = urlParams.get(\"success-url\");\n let backUrl = urlParams.get(\"back-url\");\n let errorUrl = urlParams.get(\"error-url\");\n // Check if running on Android\n var isAndroid = /(android)/i.test(navigator.userAgent);\n const isiOS = /(ipod|iphone|ipad)/i.test(\n navigator.userAgent.toLowerCase()\n );\n\n // Check if running on iOS\n // Example usage\n if (isAndroid) {\n console.log(\"Running on Android \", navigator.userAgent);\n let configData = CONFIGDATA.CONFIGDATA;\n let intent = configData[\"VITE_ANDROIDINTENT\"];\n setCookie(\"successUrl\", intent, 360, true);\n setCookie(\"backUrl\", intent, 360, true);\n setCookie(\"errorUrl\", intent, 360, true);\n } else if (isiOS) {\n console.log(\"Running on another platform \", navigator.userAgent);\n if (urlParams.has(\"success-url\")) {\n setCookie(\"successUrl\", successUrl, 360, true);\n }\n if (urlParams.has(\"back-url\")) {\n setCookie(\"backUrl\", backUrl, 360, true);\n }\n if (urlParams.has(\"error-url\")) {\n setCookie(\"errorUrl\", errorUrl, 360, true);\n }\n } else {\n successUrl\n ? setCookie(\"successUrl\", successUrl, 360, true)\n : setCookie(\n \"successUrl\",\n import.meta.env.VITE_LOGIN_REDIRECT_ACTIVE_USER,\n 360,\n true\n );\n backUrl\n ? setCookie(\"backUrl\", backUrl, 360, true)\n : setCookie(\n \"backUrl\",\n import.meta.env.VITE_LOGIN_REDIRECT_ACTIVE_USER,\n 360,\n true\n );\n errorUrl\n ? setCookie(\"errorUrl\", errorUrl, 360, true)\n : setCookie(\n \"errorUrl\",\n import.meta.env.VITE_LOGIN_REDIRECT_ACTIVE_USER,\n 360,\n true\n );\n }\n if (!token && getCookieValue(\"NonTradeToken\")) {\n token = getCookieValue(\"NonTradeToken\");\n setCookie(\"ABNonTradeToken\", token, 360, true);\n } else if (!token && getCookieValue(\"ABNonTradeToken\")) {\n token = getCookieValue(\"ABNonTradeToken\");\n } else if (checkToken(token) && token) {\n setCookie(\"ABNonTradeToken\", token, 360, true);\n }\n if (token != null && checkToken(token)) {\n config[\"headers\"][\"Authorization\"] = `Bearer ${token}`;\n }\n }\n // config[\"headers\"][\"Access-Control-Allow-Origin\"] = \"*\";\n return config;\n } catch (error) {\n showErrorMessage(\"Invalid Token\", \"ntt\");\n throw new Error(error);\n }\n};\n\nconst injectSource = (config) => {\n try {\n if (config.url.includes(\"/journey-type\")) {\n config[\"headers\"][\"X-source\"] = \"rekra\";\n } else if (config.url.includes(\"/v1/pan\")) {\n config[\"headers\"][\"X-source\"] = \"spark\";\n } else {\n config[\"headers\"][\"X-source\"] = getCookieValue(\"source\") || \"spark-emod\";\n }\n\n if (config.baseURL.includes(\"angelone.in\")) {\n config[\"headers\"][\"X-tokenType\"] = \"non_trade_access_token\";\n }\n return config;\n } catch (error) {\n config[\"headers\"][\"X-source\"] = \"spark-emod\";\n }\n};\n\nconst showErrorMessage = (msg, id = \"toastIdError\") => {\n let toast = useToast();\n if (window.screen.width < 768) {\n if (msg) {\n store.commit(\"SET_SNACK_BAR\", {\n text: msg,\n snackbar: true,\n timeout: 2000,\n multiLine: true,\n });\n } else {\n store.commit(\"SET_SNACK_BAR\", {\n text: \"Something went wrong\",\n snackbar: true,\n timeout: 2000,\n });\n }\n } else {\n if (msg) {\n toast.error(msg, { id: id });\n } else {\n toast.error(\"Something went wrong\", { id: id });\n }\n }\n};\nconst showInfoMessage = (msg, id = \"toastIdInfo\", timeout) => {\n let toast = useToast();\n if (window.screen.width < 768) {\n if (msg) {\n store.commit(\"SET_SNACK_BAR\", {\n text: msg,\n snackbar: true,\n timeout: timeout,\n multiLine: true,\n });\n }\n } else {\n if (msg) {\n toast.info(msg, { id: id });\n }\n }\n};\nclass HttpClient {\n constructor(c_headers = {}) {\n headers = { ...headers, ...c_headers };\n this.instance = null;\n this.b_url = \"\";\n }\n\n static getBaseUrl() {\n return this.b_url;\n }\n\n get http() {\n return this.instance != null ? this.instance : this.init();\n }\n\n init() {\n const http = axios.create({\n baseURL: import.meta.env.VITE_API_BASE_URL,\n headers,\n });\n if (import.meta.env.VITE_ENABLE_MOCK_RESPONSE === \"true\") {\n createMockInstance(http);\n }\n //eslint-disable-next-line\n http.interceptors.request.use(injectToken, (error) => {\n Promise.reject(error);\n });\n\n //eslint-disable-next-line\n http.interceptors.request.use(injectSource, (error) => {\n Promise.reject(error);\n });\n\n http.interceptors.response.use(\n (response) => response,\n async (error) => {\n const { config, response } = error;\n\n if (isRetryRequired(error)) {\n config.__retryCount += 1;\n\n const axiosRetry = new Promise((resolve) => {\n setTimeout(() => {\n resolve(axios(config));\n }, (config.retryDelay || API_RETRY_CONFIG.RETRY_DELAY) * config.__retryCount);\n });\n if (error.code == \"ECONNABORTED\") {\n return showErrorMessage(error?.message);\n }\n return axiosRetry.then(() => {\n this.exec(config);\n });\n }\n if (error.code === \"ERR_NETWORK\") {\n return showErrorMessage(\"No Internet Connection\");\n }\n if (error.code == \"ECONNABORTED\") {\n return showErrorMessage(error?.message);\n }\n return this.handleError(response);\n }\n );\n\n this.instance = http;\n return http;\n }\n\n request(config) {\n return this.http.request(config);\n }\n\n exec(config) {\n const { method, url, data, ...rest } = config;\n switch (method.toUpperCase()) {\n case HTTP_METHOD_GET:\n return this.get(url, { ...rest, ...data });\n case HTTP_METHOD_POST:\n return this.post(url, data, rest);\n case HTTP_METHOD_PUT:\n return this.put(url, data, rest);\n case HTTP_METHOD_DELETE:\n return this.delete(url, { ...rest, ...data });\n default:\n return null;\n }\n }\n\n get(url, config) {\n if (!CLCM_API_ENDPOINTS.includes(url)) {\n config = { ...config, withCredentials: true };\n }\n return this.http.get(url, config);\n }\n\n post(url, data, config) {\n if (!CLCM_API_ENDPOINTS.includes(url)) {\n config = { ...config, withCredentials: true };\n }\n return this.http.post(url, data, config);\n }\n\n put(url, data, config) {\n if (!CLCM_API_ENDPOINTS.includes(url)) {\n config = { ...config, withCredentials: true };\n }\n return this.http.put(url, data, config);\n }\n\n delete(url, config) {\n if (!CLCM_API_ENDPOINTS.includes(url)) {\n config = { ...config, withCredentials: true };\n }\n return this.http.delete(url, config);\n }\n\n upload(url, data = {}, config) {\n let formData = new FormData();\n for (let [key, value] of Object.entries(data)) {\n formData.append(key, value);\n }\n if (!CLCM_API_ENDPOINTS.includes(url)) {\n config = { ...config, withCredentials: true };\n }\n\n let header = {\n ...config,\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n };\n return this.post(url, formData, header);\n }\n\n handleError(error) {\n if (error) {\n const { status } = error;\n switch (status) {\n case statusCode.InternalServerError: {\n // InternalServerError\n showErrorMessage(error?.data?.message);\n break;\n }\n case statusCode.Forbidden: {\n // Forbidden\n showErrorMessage(error?.data?.message);\n break;\n }\n case statusCode.Unauthorized: {\n // Unauthorized\n showErrorMessage(error?.data?.message);\n break;\n }\n case statusCode.TooManyRequests: {\n // TooManyRequests\n break;\n }\n case statusCode.BadRequest:\n {\n {\n if (\n error?.data?.error_code == \"F-101\" ||\n error?.data?.error_code == \"UA-101\"\n ) {\n store.dispatch(\"setAuthenticationMessage\", {\n message: error?.data?.message,\n error_code: error?.data?.error_code,\n });\n } else {\n showErrorMessage(error?.data?.message);\n store.dispatch(\"setAuthenticationMessage\", {\n message: \"\",\n error_code: \"\",\n });\n }\n }\n }\n break;\n default:\n break;\n }\n return Promise.reject(error);\n }\n }\n}\n\n// const checkPanSeedLinkIntent = () => {\n// const curentLocation = window.location;\n// if (curentLocation.toString().includes(\"/pan-aadhaar-seed-landing\")) {\n// return \"pan-aadhaar-seed\";\n// }\n// return null;\n// };\n\n// const checkGuestUserIntent = () => {\n// return getCookieValue(\"ABGuestCookie\") && \"rekra-guest\";\n// };\n\nconst http = new HttpClient({\n \"X-requestId\": getCookieValue(\"requestId\") || getGUID(),\n \"X-platform\": getCookieValue(\"platform\") || \"Web\",\n \"X-intent\": getCookieValue(\"intent\") || \"rekra\",\n \"x-tag\": \"rekra\",\n});\n\nfunction getGUID() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport {\n HttpClient,\n clearAllCookie,\n deleteCookie,\n deleteDomainCookie,\n deleteCookieWithDomain,\n getCookieValue,\n http,\n // getCookie,\n setCookie,\n showErrorMessage,\n showInfoMessage,\n};\n","import store from \"@/store/store\";\n// import { http } from \"../services/HttpClient\";\n\nimport Cookies from \"js-cookie\";\nimport axios from \"axios\";\nimport { getCookieValue } from \"@/services/HttpClient\";\nimport jwt_decode from \"jwt-decode\";\nlet headers = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n \"Accept-Language\": \"en-US\",\n};\n\nlet partyCode;\n\nvar ipNum;\nvar isLongitude;\nvar isLatitude;\nclass ClickStreamAnalytics {\n constructor() {\n this.getIpParameters().then((data) => {\n ipNum = data;\n });\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(function (position) {\n isLongitude = position.coords.latitude.toString();\n isLatitude = position.coords.longitude.toString();\n });\n }\n }\n\n sendClickStreamEvent(eventsToSend) {\n // this.globalEventList = [];\n if (eventsToSend.length > 0) {\n const clickStreamURL = import.meta.env.VITE_CLICKSTREAM_URL;\n fetch(clickStreamURL, {\n body: JSON.stringify(this.getRequestParams(eventsToSend)),\n method: \"POST\",\n headers,\n keepalive: true,\n })\n .then(() => {\n // this.globalEventList = [];\n })\n .catch(() => {\n console.log(\"error while sending clickstream data\");\n })\n .finally(() => {\n let localCs = JSON.parse(localStorage.getItem(\"CLICKSTREAM\") || \"[]\");\n if (localCs.length === eventsToSend.length) {\n localStorage.setItem(\"CLICKSTREAM\", []);\n } else {\n localCs.splice(0, eventsToSend.length);\n localStorage.setItem(\"CLICKSTREAM\", [JSON.stringify(localCs)]);\n }\n });\n }\n }\n\n getRequestParams(eventsToSend) {\n let requestParams = {\n app_id: \"\",\n api_dt: \"\", // null\n api_hr: \"\", // null\n api_min: \"\", // null\n api_timestamp: \"\", // null\n api_timestamp_unix: \"\", // null\n device_token: \"\", // null\n pipe_topic: \"\",\n session_id: \"\",\n release_code: \"analytics1.0\",\n build_release: import.meta.env.VITE_BUILD_RELEASE,\n app_version_id: import.meta.env.VITE_VERSION,\n platform: this.getDeviceName(),\n os_version: navigator.appVersion,\n device_manufacturer: navigator.platform,\n device_model: this.getBrowserName(),\n user_id: \"\",\n client_id: \"\", // null\n client_latitude: \"\",\n client_longitude: \"\",\n client_ip: \"\",\n pipeline_uuid: \"\",\n eventList: eventsToSend,\n sparkSessionCookie: \"KYC-2.0\",\n cookieName: \"KYC-2.0\",\n };\n requestParams.pipe_topic = import.meta.env.VITE_PIPE_TOPIC;\n requestParams.session_id = this.getSessionID(requestParams);\n requestParams.eventList = eventsToSend;\n requestParams.app_id = this.getAppID(requestParams);\n requestParams.client_ip = ipNum ? ipNum : \"Permission Denied\";\n requestParams.user_id = this.getUserId();\n requestParams.client_latitude = isLatitude\n ? isLatitude\n : \"Permission Denied\";\n requestParams.client_longitude = isLongitude\n ? isLongitude\n : \"Permission Denied\";\n // return JSON.stringify(requestParams);\n return requestParams;\n }\n\n getUserId() {\n // eslint-disable-next-line\n const userIdBody = `{application_id: ${\n store?.state?.formData?.appNumber\n },user_id:${this.getPartyCode()}, auc: , clevertap_id: , gtm_id: , analytics_kyc_id: , kyc_platform: spark_web, journey_id: ${this.journey_Id()}}`;\n return userIdBody;\n }\n\n getPartyCode() {\n const currentSearch = window.location.toString().split(\"?\");\n const urlParams = new URLSearchParams(`${currentSearch[1]}`);\n let token = urlParams.get(\"ntt\")?.includes(\"#\")\n ? urlParams.get(\"ntt\").split(\"#\")[0]\n : urlParams.get(\"ntt\");\n if (\n !token &&\n (getCookieValue(\"NonTradeToken\") || getCookieValue(\"ABNonTradeToken\"))\n ) {\n token =\n getCookieValue(\"ABNonTradeToken\") || getCookieValue(\"NonTradeToken\");\n }\n const JWT = jwt_decode(token);\n return (partyCode = JWT.userData.user_id);\n }\n\n journey_Id() {\n let UserJourneyType = {\n KRA: \"Select_KRA\",\n OCR: \"Select_OCR\",\n DIGILOCKER: \"Select_Digilocker\",\n MANUAL: \"Select_Manual\",\n };\n let _Journey = \"\";\n const oldJourneyBool =\n (store?.state?.formData[\"isKRA\"] == true &&\n store?.state?.formData[\"isCKYC\"] == true) ||\n (store?.state?.formData[\"isKRACompliant\"] == true &&\n store?.state?.formData[\"isCvlKRA\"] == true);\n if (oldJourneyBool && store?.state?.formData[\"isKRAJourney\"]) {\n _Journey = UserJourneyType.KRA;\n } else if (store?.state?.formData[\"poaType\"] == \"digilocker\") {\n _Journey = UserJourneyType.DIGILOCKER;\n } else if (store?.state?.formData[\"isPOAOCR\"] == true) {\n _Journey = UserJourneyType.OCR;\n } else {\n _Journey = UserJourneyType.MANUAL;\n }\n return _Journey;\n }\n\n // globalEventList = JSON.parse(localStorage.getItem(\"CLICKSTREAM\") || \"[]\");\n eventInterval;\n addEventList(csEvent, forcePush) {\n let clikS = [\n ...JSON.parse(localStorage.getItem(\"CLICKSTREAM\") || \"[]\"),\n {\n screen_name: csEvent?.event_screen ? csEvent?.event_screen : \"\",\n content_source: location.href,\n event_type: csEvent?.event_type ? csEvent?.event_type : \"\",\n event_sub_type: csEvent?.event_sub_type ? csEvent?.event_sub_type : \"\",\n event_location: \"\",\n event_name: csEvent?.event_name ? csEvent?.event_name : \"\",\n event_property: window.VITE_SERVER_IP ? window.VITE_SERVER_IP : \"\",\n event_id: csEvent?.event_id ? csEvent?.event_id : \"\",\n event_metadata: csEvent?.event_metadata\n ? this.metadataBuilder(csEvent)\n : \"NA\",\n referred_from: \"\", // null\n client_timestamp: this.getFormattedDateTime(new Date()),\n client_timestamp_unix: Math.round(new Date().getTime() / 1000),\n client_timestamp_utc: this.getFormattedUTCDateTime(new Date()),\n client_timestamp_utc_unix:\n new Date().getTime() +\n (new Date().getTimezoneOffset() * 60 * 1000) / 1000,\n server_timestamp: \"\", // null\n server_timestamp_unix: \"\", // null\n server_timestamp_utc: \"\", // null\n server_timestamp_utc_unix: \"\", // null\n utm_source: this.getUrlParameter(\"utm_source\"),\n utm_medium: this.getUrlParameter(\"utm_medium\"),\n utm_campaign: this.getUrlParameter(\"utm_campaign\"),\n utm_content: this.getUrlParameter(\"utm_content\"),\n utm_metadata: this.getUrlParameter(\"utm_metadata\"),\n source_url: \"\", // null\n source_metadata: \"\", // null\n },\n ];\n\n localStorage.setItem(\"CLICKSTREAM\", [JSON.stringify(clikS)]);\n let delay = 30;\n this.eventInterval = setInterval(() => {\n this.sendClickStreamEvent(\n JSON.parse(localStorage.getItem(\"CLICKSTREAM\") || \"[]\")\n );\n }, delay * 1000);\n if (\n JSON.parse(localStorage.getItem(\"CLICKSTREAM\") || \"[]\").length == 10 ||\n forcePush\n ) {\n this.sendClickStreamEvent(\n JSON.parse(localStorage.getItem(\"CLICKSTREAM\") || \"[]\")\n );\n clearInterval(this.eventInterval);\n }\n }\n\n async getIpParameters() {\n try {\n let { data } = await axios.get(\n \"https://www.cloudflare.com/cdn-cgi/trace\"\n );\n let data1 = data\n .trim()\n .split(\"\\n\")\n .reduce(function (obj, pair) {\n pair = pair.split(\"=\");\n return (obj[pair[0]] = pair[1]), obj;\n }, {});\n const ipParam = this.IP6to4(data1.ip);\n return ipParam;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n }\n }\n IP6to4(ip6) {\n function parseIp6(ip6str) {\n const str = ip6str.toString();\n const ar = new Array();\n for (var i = 0; i < 8; i++) ar[i] = 0;\n if (str == \"::\") return ar;\n const sar = str.split(\":\");\n let slen = sar.length;\n if (slen > 8) slen = 8;\n let j = 0;\n i = 0;\n for (i = 0; i < slen; i++) {\n if (i && sar[i] == \"\") {\n j = 9 - slen + i;\n continue;\n }\n ar[j] = parseInt(`0x0${sar[i]}`);\n j++;\n }\n return ar;\n }\n var ip6parsed = parseIp6(ip6);\n const ip4 = `${ip6parsed[6] >> 8}.${ip6parsed[6] & 0xff}.${\n ip6parsed[7] >> 8\n }.${ip6parsed[7] & 0xff}`;\n return ip4;\n }\n getFormattedDateTime(dt) {\n var year = dt.getFullYear().toString().padStart(4, \"0\");\n var month = (dt.getMonth() + 1).toString().padStart(2, \"0\");\n var date = dt.getDate().toString().padStart(2, \"0\");\n var hours = dt.getHours().toString().padStart(2, \"0\");\n var minutes = dt.getMinutes().toString().padStart(2, \"0\");\n var secs = dt.getSeconds().toString().padStart(2, \"0\");\n var milliseconds = dt.getMilliseconds().toString().padStart(3, \"0\");\n\n // YYYY-MM-DD HH:MM:SS.sss\n return (\n year +\n \"-\" +\n month +\n \"-\" +\n date +\n \" \" +\n hours +\n \":\" +\n minutes +\n \":\" +\n secs +\n \":\" +\n milliseconds\n );\n }\n getFormattedUTCDateTime(item) {\n var dt1 = new Date(item);\n var year = dt1.getUTCFullYear().toString().padStart(4, \"0\");\n var month = (dt1.getUTCMonth() + 1).toString().padStart(2, \"0\");\n var date = dt1.getUTCDate().toString().padStart(2, \"0\");\n var hours = dt1.getUTCHours().toString().padStart(2, \"0\");\n var minutes = dt1.getUTCMinutes().toString().padStart(2, \"0\");\n var secs = dt1.getUTCSeconds().toString().padStart(2, \"0\");\n var milliseconds = dt1.getUTCMilliseconds().toString().padStart(3, \"0\");\n\n // YYYY-MM-DD HH:MM:SS.sss\n return (\n year +\n \"-\" +\n month +\n \"-\" +\n date +\n \" \" +\n hours +\n \":\" +\n minutes +\n \":\" +\n secs +\n \":\" +\n milliseconds\n );\n }\n getGUID() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n var r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n }\n getUrlParameter(name, url) {\n if (!url) url = window.location.href;\n\n if (!url.toString().includes(\"utm_source\")) url = document.referrer;\n\n name = name.replace(/[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return \"\";\n\n if (!results[2]) return \"\";\n\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n }\n getSessionID(ele) {\n var sessionID = \"\";\n if (Cookies.get(ele.sparkSessionCookie)) {\n sessionID = Cookies.get(ele.sparkSessionCookie);\n } else {\n sessionID = this.getGUID().replace(/-/g, \"\");\n Cookies.set(ele.sparkSessionCookie, sessionID, {\n secure: import.meta.env.VITE_ISCUG == \"true\" ? true : \"\",\n sameSite: \"strict\",\n });\n }\n return sessionID;\n }\n getDeviceName() {\n var deviceName = \"\";\n if (window.matchMedia(\"(max-width: 767px)\").matches) {\n // The viewport is less than 768 pixels wide\n deviceName = \"Flutter_Mweb\";\n } else if (window.matchMedia(\"(max-width: 959px)\").matches) {\n // The viewport is less than 959 pixels wide\n deviceName = \"Flutter_Tweb\";\n } else {\n // The viewport is at least 960 pixels wide\n deviceName = \"Flutter_Web\";\n }\n return deviceName;\n }\n\n getBrowserName() {\n // eslint-disable-next-line no-unused-vars\n var browserName = \"\";\n\n // The order matters here, and this may report false positives for unlisted browsers.\n\n if (navigator.userAgent.indexOf(\"Firefox\") > -1) {\n browserName = \"Mozilla Firefox\";\n // \"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0\"\n } else if (navigator.userAgent.indexOf(\"SamsungBrowser\") > -1) {\n browserName = \"Samsung Internet\";\n // \"Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-G955F Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.4 Chrome/67.0.3396.87 Mobile Safari/537.36\n } else if (\n navigator.userAgent.indexOf(\"Opera\") > -1 ||\n navigator.userAgent.indexOf(\"OPR\") > -1\n ) {\n browserName = \"Opera\";\n // \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.106\"\n } else if (navigator.userAgent.indexOf(\"Trident\") > -1) {\n browserName = \"Microsoft Internet Explorer\";\n // \"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko\"\n } else if (navigator.userAgent.indexOf(\"Edge\") > -1) {\n browserName = \"Microsoft Edge (Legacy)\";\n // \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299\"\n } else if (navigator.userAgent.indexOf(\"Edg\") > -1) {\n browserName = \"Microsoft Edge (Chromium)\";\n // Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64\n } else if (navigator.userAgent.indexOf(\"Chrome\") > -1) {\n browserName = \"Google Chrome or Chromium\";\n // \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36\"\n } else if (navigator.userAgent.indexOf(\"Safari\") > -1) {\n browserName = \"Apple Safari\";\n // \"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306\"\n } else {\n browserName = \"unknown\";\n }\n\n return browserName;\n }\n getAppID(ele) {\n var appID = \"\";\n if (Cookies.get(ele.cookieName)) {\n appID = Cookies.get(ele.cookieName);\n } else {\n appID = \"kyc-\" + this.getGUID().replace(/-/g, \"\");\n let expDate = new Date();\n expDate.setFullYear(expDate.getFullYear() + 15);\n\n Cookies.set(ele.cookieName, appID, {\n secure: import.meta.env.VITE_ISCUG == \"true\" ? true : \"\",\n sameSite: \"strict\",\n });\n }\n return appID;\n }\n\n metadataBuilder(event) {\n let metaDataBody = \"\";\n if (event?.event_metadata?.params) {\n metaDataBody = this.dataBuilder(event?.event_metadata?.params);\n return metaDataBody;\n } else if (event?.event_metadata?.backPopup) {\n metaDataBody = `{ ScreenName: ${this.getScreenName()}, Backtype: ${\n this.getDeviceName() + \" \"\n }Back}`;\n return metaDataBody;\n } else {\n return event?.event_metadata;\n }\n }\n dataBuilder(params) {\n const parsedBody = {};\n for (const key in params) {\n const value = params[key];\n const fieldValue =\n typeof store.state.formData[value] != \"undefined\"\n ? store.state.formData[value]\n : \"\";\n if (fieldValue.toString()) {\n parsedBody[key] = fieldValue;\n }\n }\n return JSON.stringify(parsedBody);\n }\n getScreenName() {\n const state = store?.state;\n const screens = state?.layout?.screens;\n const routeKey = state?.activeRoute;\n const routeKeyPopUp = routeKey.split(\"/\")[1] ?? routeKey;\n return screens[routeKeyPopUp].events?.onLoad?.cs?.bodyParameters\n ?.event_screen\n ? screens[routeKeyPopUp].events?.onLoad?.cs?.bodyParameters?.event_screen\n : screens[routeKeyPopUp];\n }\n}\n\nexport default ClickStreamAnalytics;\n","import { getCookieValue } from \"@/services/HttpClient\";\nimport CONFIGDATA from \"../../src/config/configData.json\";\n\nexport default function useBodyParser(bodyParametersValue) {\n let jsonObj = {};\n if (bodyParametersValue) {\n let bodyData = JSON.parse(JSON.stringify(bodyParametersValue));\n Object.keys(bodyData).forEach((key) => {\n let [type, keyParam] = bodyData[key].split(\":\");\n if (type === \"cookie\") {\n let cookieVal;\n if (keyParam.includes(\"||\")) {\n let [keyParam1, keyParam2] = keyParam.split(\"||\");\n cookieVal = getCookieValue(keyParam1)\n ? getCookieValue(keyParam1)\n : getCookieValue(keyParam2);\n } else {\n cookieVal = getCookieValue(keyParam);\n }\n bodyData[key] = bodyData[key].replace(bodyData[key], cookieVal);\n } else if (type === \"config\") {\n let configData = CONFIGDATA.CONFIGDATA;\n let configVal = configData[keyParam];\n bodyData[key] = bodyData[key].replace(bodyData[key], configVal);\n } else if (type === \"baseUrl\") {\n let baseUrl = import.meta.env.VITE_BASEURL;\n let configData = CONFIGDATA.CONFIGDATA;\n let configVal = configData[keyParam];\n let finalUrl = baseUrl + configVal;\n bodyData[key] = bodyData[key].replace(bodyData[key], finalUrl);\n } else if (type === \"session\") {\n let sessionVal = sessionStorage.getItem(keyParam) ?? \"\";\n bodyData[key] = bodyData[key].replace(bodyData[key], sessionVal);\n } else if (type === \"cookieCond\") {\n let val;\n if (keyParam.includes(\"||\")) {\n let [keyParam1, keyParam2] = keyParam.split(\"||\");\n let [cond1, val1] = keyParam1.split(\"=\");\n let [cond2, val2] = keyParam2.split(\"=\");\n if (getCookieValue(cond1)) {\n val = val1;\n } else if (getCookieValue(cond2)) {\n val = val2;\n }\n } else {\n let [cond1, val1] = keyParam1.split(\"=\");\n\n if (getCookieValue(cond1)) {\n val = val1;\n }\n }\n bodyData[key] = bodyData[key].replace(bodyData[key], val);\n } else {\n bodyData[key].replace(type);\n }\n jsonObj[key] = bodyData[key];\n });\n return jsonObj;\n } else if (!bodyParametersValue) {\n console.error(\"Body Parsing error, skipping default Body\");\n return \"Body Parsing error, skipping default Body\";\n }\n}\n","import { showInfoMessage, showErrorMessage } from \"@/services/HttpClient\";\nimport store from \"@/store/store\";\nconst DEFAULT_STATE = true;\n\nexport function useMessageonSnackBar(condition, messageData) {\n if (!condition) return DEFAULT_STATE;\n if (condition.constructor !== String) {\n //TODO show a warning here\n return DEFAULT_STATE;\n }\n const formData = store?.state;\n if (!formData) return DEFAULT_STATE;\n const fieldArray = condition.split(\".\");\n const derivedLHSValue = findAllByKey(formData, fieldArray);\n\n let messageJson = messageData.find((item) => {\n return item.conditionVal == derivedLHSValue;\n });\n\n switch (messageJson.type) {\n case \"error\":\n showErrorMessage(messageJson.message, \"errorMessage\");\n break;\n default:\n showInfoMessage(messageJson.message, \"infoMessage\", 3000);\n }\n}\n\nexport function findAllByKey(obj, keyArray) {\n if (keyArray.constructor == Array) {\n for (let i = 0; i < keyArray.length; i++) {\n let value = obj[keyArray[i]];\n if (typeof value == \"object\") {\n keyArray.splice(i, 1);\n return findAllByKey(value, keyArray);\n // break;\n } else if (typeof value == \"string\" || typeof value == \"boolean\") {\n return value;\n }\n }\n } else {\n return obj[keyArray];\n }\n}\n","import ActionHandler from \"@/handlers/action\";\nimport store from \"@/store/store\";\n\nexport default class LocalNavigator {\n static _router = null;\n static useRouter(router) {\n LocalNavigator._router = router;\n }\n\n static pushState(route) {\n store.dispatch(\"pushNav\", route);\n }\n\n static pushStateless(route) {\n return LocalNavigator._router.replace(route);\n }\n\n static push(route) {\n if (!route) return;\n route = route.includes(\"/\") ? route : \"/\" + route;\n if (!LocalNavigator._router) {\n console.warn(\"router is undefined..\");\n } else {\n LocalNavigator._router.push(route).then((failure) => {\n history.replaceState({}, \"\", `#${route}`);\n if (!failure) {\n store.dispatch(\"pushNav\", route);\n } else {\n console.warn(\"FAILED TO ADD ROUTE \");\n }\n });\n }\n }\n\n static showBackAlert() {\n let goBackAlert;\n const state = store?.state;\n const navStack = state.navStack ? [...state.navStack] : [];\n const screens = state?.layout?.screens;\n if (navStack.length >= 1) {\n const topRoute = navStack[navStack.length - 1].replace(\"/\", \"\");\n goBackAlert = screens[topRoute]?.goBackAlert === true ? true : false;\n }\n return goBackAlert;\n }\n\n static forcePop() {\n store?.dispatch(\"popNav\");\n const navStack = store?.state?.navStack;\n if (navStack?.length >= 1) {\n const topRoute = navStack[navStack.length - 1];\n LocalNavigator._router.replace(topRoute);\n history.replaceState({}, \"\", `#${topRoute}`);\n }\n }\n static popToRoute(route) {\n store?.dispatch(\"popRouteToNav\", route);\n const navStack = store?.state?.navStack;\n if (navStack?.length >= 1) {\n const topRoute = navStack[navStack.length - 1];\n LocalNavigator._router.replace(topRoute);\n history.replaceState({}, \"\", `#${topRoute}`);\n }\n }\n\n static pop() {\n const routes = [\n \"aadhaar\",\n \"/aadhaar\",\n \"/selfie\",\n \"selfie\",\n \"panUpload\",\n \"/panUpload\",\n ];\n const previousRoute = [\"bank\", \"/bank\"];\n const state = store?.state;\n const navStack = state?.navStack;\n const screens = state?.layout?.screens;\n function getPopup(currentRoute, previousPage) {\n if (\n routes.includes(currentRoute) &&\n previousRoute.includes(previousPage)\n ) {\n return \"bankEditCofirmation\";\n }\n return \"backConfirmation\";\n }\n return new Promise((resolve) => {\n if (!LocalNavigator._router) {\n console.warn(\"router is undefined..\");\n resolve(false);\n } else {\n if (LocalNavigator.showBackAlert()) {\n const routeKey = navStack[navStack.length - 1];\n\n const previousPage = navStack[navStack.length - 2];\n\n const routeKeyPopUp = routeKey.split(\"/\")[1] ?? routeKey;\n const popUpKey = screens[routeKeyPopUp]?.goBackAlertKey\n ? screens[routeKeyPopUp]?.goBackAlertKey\n : getPopup(routeKey, previousPage);\n\n const backAction = {\n type: \"openPopup\",\n value: popUpKey,\n };\n Promise.all([ActionHandler.handleAction(backAction, routeKey)]).then(\n () => {\n resolve(true);\n }\n );\n } else {\n LocalNavigator.forcePop();\n resolve(true);\n }\n }\n });\n }\n}\n","import store from \"@/store/store\";\n\nexport default function useUrlCreator(rawUrl) {\n let url = rawUrl;\n try {\n const {\n state: { formData },\n } = store;\n var variableRegex = new RegExp(/\\$([a-zA-Z_]+)/, \"g\");\n var res = url.matchAll(variableRegex);\n for (const variable of res) {\n url = url.replace(variable[0], formData[variable[1]]);\n }\n } catch (err) {\n console.error(\"url creation error, skipping default url\");\n }\n return url;\n}\n","const loadingEnum = {\n progress: \"progress\",\n error: \"error\",\n success: \"success\",\n};\n\nexport { loadingEnum };\n","import usePopupManager from \"@/composables/usePopupManager\";\nimport store from \"@/store/store\";\n\nimport Analytics from \"@/composables/analytics\";\nimport ClickStreamAnalytics from \"@/composables/clickStreamAnalytics\";\nimport useBodyParser from \"@/composables/useBodyValue\";\nimport { useMessageonSnackBar } from \"@/composables/useMessages\";\nimport LocalNavigator from \"@/composables/useNavigation\";\nimport useUrlCreator from \"@/composables/useUrlCreator\";\nimport { loadingEnum } from \"@/constants/enums\";\nimport {\n deleteCookieWithDomain,\n getCookieValue,\n http,\n setCookie,\n showErrorMessage,\n showInfoMessage,\n} from \"@/services/HttpClient\";\nimport { getHttpErrorForAnalytics } from \"@/utils/httpUtils\";\nimport { getDeviceId, isObjectEmpty } from \"@/utils/utils\";\nimport { decompressSync, strToU8, zlibSync } from \"fflate\";\nimport CONFIGDATA from \"../../src/config/configData.json\";\nimport axios from \"axios\";\n\nexport const ACTION_TYPES = {\n navigateWithAPI: \"navigateWithAPI\",\n navigateToRoute: \"navigateToRoute\",\n openWebView: \"openWebView\",\n openDeepLink: \"openDeepLink\",\n openBotomSheet: \"openBotomSheet\",\n openCallback: \"openCallback\",\n callAPI: \"callAPI\",\n callAPIOnLoad: \"callAPIOnLoad\",\n captureImage: \"captureImage\",\n openPopup: \"openPopup\",\n closePopup: \"closePopup\",\n // uploadSignature: \"uploadSignature\",\n goBack: \"goBack\",\n forceGoBack: \"forceGoBack\",\n popToRoute: \"popToRoute\",\n closeWindow: \"closeWindow\",\n showMessage: \"showMessage\",\n callAnalyitcs: \"callAnalyitcs\",\n ignorePrompt: \"ignorePrompt\",\n redirectToUrl: \"redirectToUrl\",\n addDataToForm: \"addDataToForm\",\n addArrayElement: \"addArrayElement\",\n clearFormData: \"clearFormData\",\n clearEditIndex: \"clearEditIndex\",\n CROP: \"CROP\",\n setSession: \"setSession\",\n clearSession: \"clearSession\",\n reloadPage: \"reloadPage\",\n redirectToExternalPage: \"redirectToExternalPage\",\n redirectToExternaPageNwTab: \"redirectToExternaPageNwTab\",\n redrctToEmodPageNwTabWdToken: \"redrctToEmodPageNwTabWdToken\",\n callAPILogin: \"callAPILogin\",\n callAPIOTPVerification: \"callAPIOTPVerification\",\n closeAppRedirection: \"closeAppRedirection\",\n redirect: \"redirect\",\n redirectToMultiPleUserPicker: \"redirectToMultiPleUserPicker\",\n downloadPdf: \"downloadPdf\",\n redirectToFormDataUrl: \"redirectToFormDataUrl\",\n redirectToKRA: \"redirectToKRA\",\n};\n\nexport const API_ACTION_TYPES = {\n navigate: \"navigate\",\n openBottomSheet: \"openBottomSheet\",\n openWebView: \"openWebView\",\n openPopup: \"openPopup\",\n};\n\nexport function clearUploadKeys() {\n store.dispatch(\"setClearLoading\");\n store.dispatch(\"setClearProgress\");\n}\n\nclass ActionHandler {\n static router;\n static isAndroid = /(android)/i.test(navigator.userAgent.toLowerCase());\n static isiOS = /(ipod|iphone|ipad)/i.test(navigator.userAgent.toLowerCase());\n static isWindows = /(windows)/i.test(navigator.userAgent.toLowerCase());\n static isMac = /(mac)/i.test(navigator.userAgent.toLowerCase());\n static isLinux = /(linux)/i.test(navigator.userAgent.toLowerCase());\n\n static useRouter(routerRef) {\n this.router = routerRef;\n }\n\n static clickStream = new ClickStreamAnalytics();\n static handleAction(action, widgetId, formRef, screenId) {\n if (action == null) return;\n if (action.constructor === Array) {\n // It is multiple action\n return action.forEach((singleAction) => {\n return ActionHandler.handleSingleAction(\n singleAction,\n widgetId,\n formRef,\n screenId\n );\n });\n } else if (action.constructor === Object) {\n // It is single action\n return ActionHandler.handleSingleAction(\n action,\n widgetId,\n formRef,\n screenId\n );\n } else {\n console.warn(\"invalid action type supplied\");\n }\n }\n\n /* handling user actions*/\n static async handleSingleAction(action, widgetId, formRef, screenId) {\n const { push, pop, forcePop, popToRoute } = LocalNavigator;\n const { openPopup, closePopup, getActivePopups } = usePopupManager();\n const parsedBody = ActionHandler.dataBuilder(action.bodyParameters);\n const parsedHeader = ActionHandler.dataBuilder(action.headerParams);\n let activeButton = getActivePopups()\n ? \"isModalSubmitButton\"\n : \"isPageSubmitButton\";\n const resetFormDataOnFailure = action.resetFormDataOnFailure || false;\n switch (action.type) {\n case ACTION_TYPES.navigateToRoute:\n push(action.value);\n break;\n case ACTION_TYPES.openPopup:\n ActionHandler.clickStream.addEventList(action?.eventsParams);\n return openPopup(action.value);\n\n case ACTION_TYPES.showMessage:\n useMessageonSnackBar(action.value, action.messageData);\n break;\n case ACTION_TYPES.closePopup:\n closePopup(action.value);\n break;\n case ACTION_TYPES.redirectToUrl:\n ActionHandler.redirectToUrl(action.value);\n break;\n case ACTION_TYPES.addArrayElement:\n ActionHandler.addArrayElement(action);\n break;\n case ACTION_TYPES.clearFormData:\n ActionHandler.clearFormData(action.bodyParameters);\n break;\n case ACTION_TYPES.clearEditIndex:\n ActionHandler.clearEditIndex(action);\n break;\n case ACTION_TYPES.navigateWithAPI:\n if (formRef == null) {\n return;\n } else {\n let { valid, error } = await ActionHandler.validateForm(\n formRef,\n action\n );\n if (valid) {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: false,\n });\n return ActionHandler.handleAPI(\n action,\n parsedBody,\n { header: parsedHeader },\n widgetId,\n screenId,\n resetFormDataOnFailure\n );\n } else {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: true,\n });\n if (!error) {\n showErrorMessage(\"Please submit a valid form\", \"invalidForm\");\n } else {\n showErrorMessage(error, \"invalidForm\");\n }\n }\n }\n break;\n case ACTION_TYPES.callAPI:\n if (formRef == null) return;\n if (await ActionHandler.validateForm(formRef, action)) {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: false,\n });\n } else {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: true,\n });\n }\n return ActionHandler.fetchAPI(\n action,\n parsedBody,\n { header: parsedHeader },\n widgetId\n );\n case ACTION_TYPES.callAPIOnLoad:\n return ActionHandler.fetchAPI(\n action,\n parsedBody,\n { header: parsedHeader },\n action.widgetId\n );\n case ACTION_TYPES.goBack:\n LocalNavigator.forcePop();\n // pop();\n // if (action.clearKey) {\n // clearUploadKeys(action.clearKey);\n clearUploadKeys();\n // }\n break;\n case ACTION_TYPES.addDataToForm:\n if (formRef == null) {\n return;\n } else {\n let { valid, error } = await ActionHandler.validateForm(\n formRef,\n action\n );\n if (valid) {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: false,\n });\n ActionHandler.addDataToForm(\n parsedBody,\n action.arrayKey,\n action.uniqueKey,\n action\n );\n } else {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: true,\n });\n if (!error) {\n showErrorMessage(\"Please submit a valid form\", \"invalidForm\");\n } else {\n showErrorMessage(error, \"invalidForm\");\n }\n }\n }\n break;\n case ACTION_TYPES.forceGoBack:\n forcePop();\n break;\n case ACTION_TYPES.callAnalyitcs:\n if (action?.native) {\n Analytics.analyticsEventLog(action?.native?.bodyParameters);\n }\n if (action?.cs) {\n const forcePush = action?.cs?.forcePush || false;\n ActionHandler.clickStream.addEventList(\n action?.cs?.bodyParameters,\n forcePush\n );\n }\n break;\n case ACTION_TYPES.popToRoute:\n popToRoute(action.value);\n break;\n case ACTION_TYPES.closeWindow:\n window.location.href = \"https://uattrade.angelbroking.com/\";\n break;\n case ACTION_TYPES.ignorePrompt:\n store.dispatch(\"ignoreBrowserPrompt\", action.value);\n break;\n case ACTION_TYPES.setSession:\n ActionHandler.setSessionData(action.value);\n break;\n case ACTION_TYPES.clearSession:\n ActionHandler.clearSessionData();\n break;\n case ACTION_TYPES.reloadPage:\n ActionHandler.reloadPage();\n break;\n case ACTION_TYPES.redirectToExternalPage:\n ActionHandler.redirectToExternalPage(action.bodyParameters);\n break;\n case ACTION_TYPES.closeAppRedirection:\n ActionHandler.closeAppRedirection(action.bodyParameters);\n break;\n case ACTION_TYPES.redirectToExternaPageNwTab:\n ActionHandler.redirectToExternaPageNwTab(action.bodyParameters);\n break;\n case ACTION_TYPES.redrctToEmodPageNwTabWdToken:\n ActionHandler.redrctToEmodPageNwTabWdToken(action.bodyParameters);\n break;\n case ACTION_TYPES.redirectToFormDataUrl:\n ActionHandler.redirectToFormDataUrl(action);\n break;\n case ACTION_TYPES.redirectToKRA:\n ActionHandler.redirectToKRA(action);\n break;\n case ACTION_TYPES.callAPILogin:\n if (formRef == null) return;\n // if (await ActionHandler.validateForm(formRef, action)) {\n // store.dispatch(\"manageActiveSubmitButton\", {\n // state: store.state[activeButton],\n // value: false,\n // });\n // } else {\n // store.dispatch(\"manageActiveSubmitButton\", {\n // state: store.state[activeButton],\n // value: true,\n // });\n // }\n return ActionHandler.fetchAPILogin(\n action,\n action.bodyParameters,\n { header: parsedHeader },\n widgetId\n );\n case ACTION_TYPES.callAPIOTPVerification:\n if (formRef == null) {\n return;\n } else {\n let { valid, error } = await ActionHandler.validateForm(\n formRef,\n action\n );\n if (valid) {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: false,\n });\n return ActionHandler.fetchAPIOTPVerification(\n action,\n action.bodyParameters,\n { header: parsedHeader },\n widgetId\n );\n } else {\n store.dispatch(\"manageActiveSubmitButton\", {\n state: store.state[activeButton],\n value: true,\n });\n if (!error) {\n showErrorMessage(\"Please submit a valid form\", \"invalidForm\");\n } else {\n showErrorMessage(error, \"invalidForm\");\n }\n }\n }\n\n break;\n case ACTION_TYPES.redirectToMultiPleUserPicker:\n return ActionHandler.redirectToMultiPleUserPicker(\n action,\n action.widgetId\n );\n case ACTION_TYPES.redirect:\n ActionHandler.redirectToUrl(action?.value?.name);\n break;\n case ACTION_TYPES.downloadPdf:\n await ActionHandler.downloadPdf(action);\n break;\n default:\n console.warn(\"THIS ROUTE IS NOT HANDLED\");\n }\n }\n\n static async downloadPdf(action) {\n // let link = document.createElement(\"a\");\n // link.setAttribute(\"type\", \"hidden\");\n // link.href = \"./src/assets/pdf/\" + action.value;\n // link.download = action.value;\n // document.body.appendChild(link);\n // link.setAttribute(\"target\", \"_blank\");\n // link.click();\n // link.remove();\n\n let filePath = \"assets/\" + action.value;\n\n // Create a hidden anchor element\n const link = document.createElement(\"a\");\n console.log(\"hello :\", filePath);\n link.href = filePath;\n\n link.download = action.value;\n\n link.click();\n link.remove();\n }\n\n static async validateForm(ref, action) {\n if (action?.requestOn == \"onChangeVal\") {\n if (ref) {\n return {\n valid: true,\n error: null,\n };\n }\n } else {\n if (ref.id === \"frmFormButton\") return true;\n const validationStatus = await ref.validate();\n return {\n valid: validationStatus?.valid,\n error: validationStatus?.errors[0]?.errorMessages[0] || null,\n };\n }\n }\n\n static dataBuilder(params) {\n const parsedBody = {};\n for (const key in params) {\n const value = params[key];\n const fieldValue = store.state.formData[value];\n if (fieldValue || typeof fieldValue == \"boolean\") {\n parsedBody[key] = fieldValue;\n }\n }\n return parsedBody;\n }\n\n static fetchAPI(action, body, config, widgetId) {\n const apiEndpoint = useUrlCreator(action.api);\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n const startTime = Date.now();\n const networkType = navigator?.connection?.effectiveType || \"\";\n const forcePush = action?.forcePush || false;\n const apiValidationParameters = {\n event_name: action?.apiValidationEvent?.event_name,\n event_id: action?.apiValidationEvent?.event_id,\n event_type: \"api\",\n event_sub_type: \"apirequest-response\",\n };\n switch (action.method) {\n case \"POST\":\n return http\n .post(apiEndpoint, { data: body }, { ...config })\n .then(async (res) => {\n apiValidationParameters[\"event_metadata\"] =\n await `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API Success: ${JSON.stringify(res?.data)}`\n : `API Failure: ${JSON.stringify(res?.data)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}`;\n await ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n if (res?.data?.status && res?.data?.status == \"success\") {\n showInfoMessage(res?.data?.message, \"apiSuccessResp\", 2000);\n }\n store.dispatch(\"setAPIData\", {\n key: widgetId,\n value: res?.data,\n });\n ActionHandler.handleAPIData(res?.data?.data);\n })\n .catch((error) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${false}, message: ${getHttpErrorForAnalytics(\n error\n )}, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n });\n case \"GET\":\n http\n .get(apiEndpoint)\n .then((res) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API Success: ${JSON.stringify(res?.data)}`\n : `API Failure: ${JSON.stringify(res?.data)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n store.dispatch(\"setAPIData\", {\n key: widgetId,\n value: res?.data,\n });\n ActionHandler.handleAPIData(res?.data?.data);\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n })\n .catch((error) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${false}, message: ${getHttpErrorForAnalytics(\n error\n )}, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n });\n break;\n }\n }\n\n static getOs() {\n let os;\n switch (true) {\n case this.isAndroid:\n os = \"android\";\n break;\n case this.isiOS:\n os = \"ios\";\n break;\n case this.isMac:\n os = \"mac\";\n break;\n case this.isLinux:\n os = \"linux\";\n break;\n case this.isWindows:\n os = \"windows\";\n break;\n default:\n console.warn(\"No OS detected\");\n }\n return os;\n }\n\n static async fetchAPILogin(action, body, config, widgetId) {\n const apiEndpoint = import.meta.env.VITE_LOGIN_API_BASE_URL + action.api;\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n const reqbody = {\n country_code: \"+91\",\n mob_no: store.state.formData[body.mobile],\n is_otp_resend: body.isOtpResend,\n user_id: \"\",\n };\n // let captcha = await ActionHandler.loginHeader(\n // store.state.formData[body.mobile]\n // );\n\n let sessionToken = await ActionHandler.getSessionTokenForLogin();\n\n let headers = {\n \"Content-type\": \"application/json\",\n // \"x-captcha\": captcha,\n \"x-deviceid\": getDeviceId(),\n \"x-clientlocalip\": localStorage.getItem(\"myip\"),\n \"x-clientpublicip\": localStorage.getItem(\"myip\"),\n \"x-sourceid\": this.sourceId,\n \"x-usertype\": this.usertype,\n \"X-macaddress\": getCookieValue(\"macAddress\") || \"00:00:5e:00:53:af\",\n ApplicationName: \"Kra-Web\",\n \"X-Appid\": \"Kra-web\",\n \"X-OperatingSystem\": ActionHandler.checkOS(),\n \"X-Location\": \"\",\n \"X-Systeminfo\": \"\",\n \"X-Productversion\": \"\",\n };\n headers = {\n ...headers,\n ...sessionToken,\n };\n const startTime = Date.now();\n const networkType = navigator?.connection?.effectiveType || \"\";\n const apiValidationParameters = {\n event_name: action?.apiValidationEvent?.event_name,\n event_id: action?.apiValidationEvent?.event_id,\n event_type: \"api\",\n event_sub_type: \"apirequest-response\",\n };\n\n const loginResponse = await fetch(apiEndpoint, {\n method: \"POST\",\n headers: headers,\n body: JSON.stringify(reqbody),\n credentials: \"include\",\n });\n\n const res = await loginResponse.json();\n\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n if (res?.status && res?.status == \"success\") {\n showInfoMessage(res?.message, \"apiSuccessResp\", 2000);\n }\n store.dispatch(\"setAPIData\", {\n key: widgetId,\n value: res,\n });\n ActionHandler.handleAPIData(res?.data);\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API Success: ${JSON.stringify(res)}`\n : `API Failure: ${JSON.stringify(res)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}`;\n this.clickStream.addEventList(apiValidationParameters);\n }\n\n static async loginHeader(mobile) {\n let dataVal = [];\n if (getCookieValue(\"GuestAuthToken\")) {\n dataVal = JSON.parse(atob(getCookieValue(\"GuestAuthToken\")));\n }\n let existingVal = dataVal\n .filter((f) => f.MobileNo === mobile)\n .map((m) => ({ accessTokenData: m.GuestAuthToken }))[0];\n if (existingVal != undefined) {\n return { Authorization: \"Bearer \" + existingVal.accessTokenData };\n } else {\n return { \"x-captcha\": await ActionHandler.getCapchaCode() };\n }\n }\n\n static checkOS() {\n const userAgent = navigator.userAgent.toLowerCase();\n switch (true) {\n case /windows/.test(userAgent):\n return \"windows\";\n case /mac/.test(userAgent):\n return \"Mac OS\";\n case /linux/.test(userAgent):\n return \"Linux\";\n case /(android)/i.test(userAgent):\n return \"Android\";\n case /(ipod|iphone|ipad)/i.test(userAgent):\n return \"IOS\";\n default:\n return \"\";\n }\n }\n\n static async fetchAPIOTPVerification(action, body, config, widgetId) {\n const host = window.location.host;\n const splittedHost = host.replace(\"www\", \"\");\n\n deleteCookieWithDomain(\"LoggedInUsers\", splittedHost);\n deleteCookieWithDomain(\"ABNonTradeToken\", splittedHost);\n deleteCookieWithDomain(\"ABNonTradeRefreshToken\", splittedHost);\n deleteCookieWithDomain(\"ABGuestCookie\", splittedHost);\n\n const apiEndpoint = import.meta.env.VITE_LOGIN_API_BASE_URL + action.api;\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n const reqbody = {\n request_id: store?.state?.apiResponses?.mobileNumber?.data?.request_id,\n country_code: import.meta.env.VITE_COUNTRY_CODE,\n mob_no: store.state.formData[body.mobile],\n otp: store.state.formData[body.mobileOtp],\n source: import.meta.env.VITE_LOGIN_SOURCE,\n app_id: import.meta.env.VITE_APP_ID,\n require_token_flag: \"all\",\n user_id: \"\",\n };\n\n let sessionToken = await ActionHandler.getSessionTokenForLogin();\n let headers = {\n \"Content-type\": \"application/json\",\n \"x-clientlocalip\": localStorage.getItem(\"myip\"),\n \"x-clientpublicip\": localStorage.getItem(\"myip\"),\n \"x-deviceid\": getDeviceId(),\n \"x-sourceid\": 3,\n \"x-usertype\": 1,\n \"X-macaddress\": getCookieValue(\"macAddress\") || \"00:00:5e:00:53:af\",\n ApplicationName: \"Kra-Web\",\n \"X-Appid\": \"Kra-web\",\n \"X-OperatingSystem\": ActionHandler.checkOS(),\n \"X-Location\": \"\",\n \"X-Systeminfo\": \"\",\n \"X-Productversion\": \"\",\n };\n const startTime = Date.now();\n const networkType = navigator?.connection?.effectiveType || \"\";\n const apiValidationParameters = {\n event_name: action?.apiValidationEvent?.event_name,\n event_id: action?.apiValidationEvent?.event_id,\n event_type: \"api\",\n event_sub_type: \"apirequest-response\",\n };\n // return http\n // .post(apiEndpoint, reqbody, { headers })\n // .then(async (res) => {\n // store.dispatch(\"setAPIData\", {\n // key: widgetId,\n // value: res?.data,\n // });\n // // push(\"register\");\n // ActionHandler.handleAPIData(res?.data?.data);\n // apiValidationParameters[\n // \"event_metadata\"\n // ] = `{ url: ${apiEndpoint}, status: ${\n // res?.status == 200 ? \"true\" : \"false\"\n // }, message: ${\n // res?.status == 200\n // ? `API Success: ${JSON.stringify(res?.data)}`\n // : `API Failure: ${JSON.stringify(res?.data)}`\n // }, response-time: ${\n // (Date.now() - startTime) / 1000\n // }s, network-type: ${networkType}`;\n // ActionHandler.clickStream.addEventList(\n // apiValidationParameters,\n // forcePush\n // );\n // if (res?.data?.status && res?.data?.status == \"success\") {\n // showInfoMessage(res?.data?.message, \"apiSuccessResp\", 2000);\n // if (ActionHandler.isGuest(res?.data)) {\n // showErrorMessage(\"User Not Registered\", \"inactiveUser\");\n // // let redirectionUrl = store.state.formData.rawUrl.includes(\n // // \"/#/login/\"\n // // )\n // // ? store.state.formData.rawUrl.replace(\"/#/login/\", \"/\")\n // // : store.state.formData.rawUrl.replace(\"/#/login\", \"/\");\n // // store.dispatch(\"ignoreBrowserPrompt\", true);\n // // setTimeout(() => {\n // // window.location.replace(redirectionUrl, \"\");\n // // }, 1000);\n // // if (widgetId) {\n // // store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n // // }\n // } else if (\n // Object.keys(res?.data?.data?.PartyCodeDetails).length > 0\n // ) {\n // let clientId = Object.keys(res?.data?.data?.PartyCodeDetails)[0];\n // let expire = ActionHandler.parseJwt(\n // res?.data?.data?.PartyCodeDetails[clientId]\n // ?.non_trading_access_token\n // );\n // // setTokenExp(expire?.exp);\n // setCookie(\n // \"ABNonTradeToken\",\n // res?.data?.data?.PartyCodeDetails[clientId]\n // ?.non_trading_access_token,\n // 360,\n // true\n // );\n // ActionHandler.checkUserType(\n // res?.data?.data?.PartyCodeDetails,\n // res?.data\n // );\n // if (widgetId) {\n // store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n // }\n // }\n // }\n // })\n // .catch((error) => {\n // if (widgetId) {\n // store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n // }\n // apiValidationParameters[\n // \"event_metadata\"\n // ] = `{ url: ${apiEndpoint}, status: ${false}, message: ${getHttpErrorForAnalytics(\n // error\n // )}, response-time: ${\n // (Date.now() - startTime) / 1000\n // }s, network-type: ${networkType}}`;\n // ActionHandler.clickStream.addEventList(\n // apiValidationParameters,\n // forcePush\n // );\n // });\n\n let otpResp = await fetch(apiEndpoint, {\n method: \"POST\",\n headers: { ...headers, ...sessionToken },\n body: JSON.stringify(reqbody),\n credentials: \"include\",\n });\n const res = await otpResp.json();\n\n store.dispatch(\"setAPIData\", {\n key: widgetId,\n value: res?.data,\n });\n // push(\"register\");\n ActionHandler.handleAPIData(res?.data);\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API Success: ${JSON.stringify(res?.data)}`\n : `API Failure: ${JSON.stringify(res?.data)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}`;\n this.clickStream.addEventList(apiValidationParameters);\n\n if (res?.status == \"success\") {\n if (ActionHandler.isGuest(res?.data)) {\n showErrorMessage(\"User Not Registered\", \"inactiveUser\");\n } else if (Object.keys(res?.data?.PartyCodeDetails).length > 0) {\n let clientId = Object.keys(res?.data?.PartyCodeDetails)[0];\n let expire = ActionHandler.parseJwt(\n res?.data?.PartyCodeDetails[clientId]?.non_trading_access_token\n );\n setCookie(\n \"ABNonTradeToken\",\n res?.data?.PartyCodeDetails[clientId]?.non_trading_access_token,\n expire.exp\n );\n ActionHandler.checkUserType(res?.data?.PartyCodeDetails, res);\n if (widgetId) {\n store.dispatch(\"setLoading\", {\n [widgetId]: loadingEnum.success,\n });\n }\n }\n }\n }\n\n static async getSessionTokenForLogin() {\n if (ActionHandler.sessionToken) {\n return {\n Authorization: `Bearer ${ActionHandler.sessionToken}`,\n };\n }\n\n const captcha = await ActionHandler.getCapchaCode();\n const tokenApiRes = await ActionHandler.generateSessionToken(captcha);\n\n if (\n tokenApiRes?.data?.status === \"success\" &&\n tokenApiRes?.data?.data?.session_token\n ) {\n ActionHandler.sessionToken = tokenApiRes.data.data.session_token;\n\n return {\n Authorization: `Bearer ${ActionHandler.sessionToken}`,\n };\n }\n\n return {};\n }\n\n static async generateSessionToken(captcha) {\n return axios.get(\n import.meta.env.VITE_LOGIN_API_BASE_URL + \"/login/v3/session-token\",\n {\n headers: {\n \"Content-Type\": \"application/json\",\n ApplicationName: \"Kra-WEB\",\n \"x-captcha\": captcha,\n \"x-source\": \"Kra-WEB\",\n \"x-sourceid\": this.sourceId,\n \"x-usertype\": this.usertype,\n \"x-operatingsystem\": ActionHandler.checkOS(),\n \"x-clientlocalip\": localStorage.getItem(\"myip\"),\n \"x-clientpublicip\": localStorage.getItem(\"myip\"),\n \"x-macaddress\": getCookieValue(\"macAddress\") || \"00:00:5e:00:53:af\",\n \"x-deviceid\": getDeviceId(),\n },\n }\n );\n }\n\n static parseJwt(token) {\n const base64Url = token.split(\".\")[1];\n const base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const jsonPayload = decodeURIComponent(\n window\n .atob(base64)\n .split(\"\")\n .map((c) => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(\"\")\n );\n\n return JSON.parse(jsonPayload);\n }\n static isGuest(data) {\n const partyCode = Object.keys(data?.PartyCodeDetails || {})[0];\n const userType = data?.PartyCodeDetails?.[partyCode]?.user_type;\n const products = data?.PartyCodeDetails?.[partyCode]?.products;\n\n return userType === \"guest\" && Object.keys(products || {}).length === 0;\n }\n\n static _arrayBufferToBase64(bytes) {\n var binary = \"\";\n var len = bytes.byteLength;\n for (var i = 0; i < len; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n\n static fnCompressData(str) {\n if (!str) return;\n const compressed = zlibSync(strToU8(str));\n const cs = ActionHandler._arrayBufferToBase64(compressed);\n return cs;\n }\n\n static fnDecompressData(b64Data, rettype) {\n if (!b64Data) return {};\n // Decode base64 (convert ascii to binary)\n const strData = atob(b64Data);\n\n // Convert binary string to character-number array\n const charData = strData.split(\"\").map(function (x) {\n return x.charCodeAt(0);\n });\n\n // Turn number array into byte-array\n const binData = new Uint8Array(charData);\n\n // fflate magic\n try {\n const data = decompressSync(binData);\n const response = data.reduce(function (data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n\n if (rettype) return response;\n else return JSON.parse(response);\n } catch (error) {\n console.log(\"error\", error);\n return {};\n }\n }\n\n static async checkUserType(data, respData) {\n const parsedData = ActionHandler.fnCompressData(JSON.stringify(respData));\n const { push } = LocalNavigator;\n setCookie(import.meta.env.VITE_APP_USER_COOKIE, parsedData, 360, true);\n let objUsertypeResp = data;\n let arrAccounts = [];\n for (var account in objUsertypeResp) {\n arrAccounts.push(account);\n }\n if (arrAccounts.length == 1) {\n let clientCode = arrAccounts[0];\n let account = objUsertypeResp[clientCode];\n const rekycNeeded = ActionHandler.checkAccountStatus(\"dormant\", account);\n const active = ActionHandler.checkAccountStatus(\"active\", account);\n if (rekycNeeded && !active) {\n ActionHandler.fnRedirectToReKycUrl();\n } else if (!rekycNeeded && !active) {\n showErrorMessage(\"In Active Account\", \"inactiveUser\");\n } else {\n setCookie(\n \"ABNonTradeToken\",\n account?.non_trading_access_token,\n 360,\n true\n );\n\n let journeyDirectionUrl =\n \"/panAadhaarWithJourney/?ntt=\" + account?.non_trading_access_token;\n let redirectionUrl = \"\";\n\n if (store.state.formData?.rawUrl.includes(\"/#/login/\")) {\n redirectionUrl = store.state.formData.rawUrl.replace(\n \"/#/login/\",\n journeyDirectionUrl\n );\n } else if (store.state.formData?.rawUrl.includes(\"#/login\")) {\n let journeyUrl =\n \"panAadhaarWithJourney/?ntt=\" + account?.non_trading_access_token;\n redirectionUrl = store.state.formData.rawUrl.replace(\n \"#/login\",\n journeyUrl\n );\n } else if (\n store.state.formData?.rawUrl == `${import.meta.env.VITE_BASEURL}/`\n ) {\n redirectionUrl = `${\n import.meta.env.VITE_BASEURL\n }/panAadhaarWithJourney?ntt=${account?.non_trading_access_token}`;\n } else if (\n store.state.formData?.rawUrl.includes(\"panAadhaarWithJourney\")\n ) {\n const urlQuery = store.state.formData?.rawUrl.split(\"?\");\n\n if (urlQuery[1] && urlParams.get(\"back-url\")) {\n const urlParams = new URLSearchParams(`${urlQuery[1]}`);\n redirectionUrl = `${\n import.meta.env.VITE_BASEURL\n }/panAadhaarWithJourney?back-url=${urlParams.get(\n \"back-url\"\n )}&error-url=${urlParams.get(\n \"error-url\"\n )}&success-url=${urlParams.get(\"success-url\")}&ntt=${\n account?.non_trading_access_token\n }`;\n } else {\n redirectionUrl = `${\n import.meta.env.VITE_BASEURL\n }/panAadhaarWithJourney?ntt=${account?.non_trading_access_token}`;\n }\n } else {\n redirectionUrl = `${\n import.meta.env.VITE_BASEURL\n }/panAadhaarWithJourney?ntt=${account?.non_trading_access_token}`;\n }\n\n store.dispatch(\"ignoreBrowserPrompt\", true);\n // setTimeout(async () => {\n window.open(redirectionUrl, \"_self\");\n // location.reload(false);\n // }, 2000);\n }\n } else {\n setCookie(\n \"LoggedInUsers\",\n ActionHandler.fnCompressData(JSON.stringify(objUsertypeResp)),\n 360,\n true\n );\n push(\"selectUser\");\n }\n }\n\n static checkAccountStatus(accountTypeToCheck, data) {\n const accountStatusDemat = data?.products?.demat?.status;\n const accountStatusLoans = data?.products?.nbu_lending?.status;\n switch (accountTypeToCheck) {\n case \"dormant\":\n return [accountStatusDemat, accountStatusLoans].includes(\"dormant\");\n case \"active\":\n return [accountStatusDemat, accountStatusLoans].includes(\"active\");\n default:\n return false;\n }\n }\n\n static redirectToMultiPleUserPicker(action) {\n let UserDetails = ActionHandler.fnDecompressData(\n getCookieValue(\"LoggedInUsers\")\n );\n let clientCodeDetail = UserDetails[action.value];\n store.state.formData[\"rawUrl\"] = window.location.toString();\n\n let expire = ActionHandler.parseJwt(\n clientCodeDetail?.non_trading_access_token\n );\n setCookie(\n \"ABNonTradeToken\",\n clientCodeDetail?.non_trading_access_token,\n 360,\n true\n );\n let journeyDirectionUrl =\n \"/panAadhaarWithJourney/?ntt=\" +\n clientCodeDetail?.non_trading_access_token;\n\n let redirectionUrl = store.state.formData.rawUrl.includes(\"/#/selectUser/\")\n ? store.state.formData.rawUrl.replace(\n \"/#/selectUser/\",\n journeyDirectionUrl\n )\n : store.state.formData.rawUrl.replace(\n \"/#/selectUser\",\n journeyDirectionUrl\n );\n store.dispatch(\"ignoreBrowserPrompt\", true);\n window.location.href = redirectionUrl;\n }\n\n static fnRedirectToReKycUrl() {\n store.dispatch(\"ignoreBrowserPrompt\", true);\n window.location.replace(\n `${import.meta.env.VITE_APP_REKYC_URL}?data=${\n getCookieValue(\"ABNonTradeToken\") + \"&source=kra-web\"\n }`,\n \"\"\n );\n }\n\n static async handleAPI(\n action,\n body,\n config,\n widgetId,\n screenId,\n resetFormDataOnFailure\n ) {\n const { closePopup } = usePopupManager();\n let apiEndpoint;\n if (\n store.state[\"callApiV2StoreKey\"] === action[\"callApiV2StoreKey\"] &&\n action?.apiV2\n ) {\n apiEndpoint = useUrlCreator(action.apiV2);\n } else {\n apiEndpoint = useUrlCreator(action.api);\n }\n\n const startTime = Date.now();\n const networkType = navigator?.connection?.effectiveType || \"\";\n const apiValidationParameters = {\n event_name: action?.apiValidationEvent?.event_name,\n event_id: action?.apiValidationEvent?.event_id,\n event_type: \"api\",\n event_sub_type: \"apirequest-response\",\n };\n const forcePush = action?.forcePush || false;\n switch (action.method) {\n case \"GET\":\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n http\n .get(apiEndpoint)\n .then((res) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API Success: ${JSON.stringify(res?.data)}`\n : `API Failure: ${JSON.stringify(res?.data)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n ActionHandler.handleAPIData(res?.data?.data);\n ActionHandler.handleAPIData(res?.data?.events?.data);\n ActionHandler.handleAPIAction(res?.data?.action);\n })\n .catch((e) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${false}, message: ${getHttpErrorForAnalytics(\n e\n )}, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n });\n break;\n case \"POST\":\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n return http\n .post(apiEndpoint, { data: body }, { ...config })\n .then(async (res) => {\n apiValidationParameters[\"event_metadata\"] =\n await `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API sucess: ${JSON.stringify(res?.data)}`\n : `API failure: ${JSON.stringify(res?.data)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n await ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (widgetId) {\n console.log(\"widgetId\", loadingEnum);\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n\n ActionHandler.handleAPIData(res?.data?.data);\n if (res?.data?.action) {\n store.dispatch(\"setAction\", res?.data?.action);\n }\n ActionHandler.handleAPIData(res?.data?.events?.data);\n if (action.showMessageOnApiResp) {\n // Added timeout to avoid conlicts in navigation animation and snackBar animation\n setTimeout(() => {\n useMessageonSnackBar(action.value, action.messageData);\n }, 10);\n }\n\n ActionHandler.handleAPIAction(res?.data?.action);\n if (res?.data?.eligibleFlows) {\n store.dispatch(\"setEligibleFlows\", res?.data?.eligibleFlows);\n }\n let apiSuccessEv;\n apiSuccessEv = {\n event_name: action?.apiSuccessEvent?.event_name,\n event_category: action?.apiSuccessEvent?.event_category,\n event_action: action?.apiSuccessEvent?.event_action,\n event_metadata: `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200 ? \"API Success\" : res?.data?.message\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`,\n };\n if (\n (res?.status == 200 || res?.status == \"success\") &&\n action.apiSuccess\n ) {\n Analytics.analyticsEventLog(apiSuccessEv);\n }\n\n if (action.isPopup && action.popupId) {\n ActionHandler.closePopupFn(action.isPopup, action.popupId);\n } else {\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n }\n if (action?.resetFields && !isObjectEmpty(action?.resetFields)) {\n ActionHandler.clearFormData(action.resetFields);\n }\n })\n .catch((error) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${false}, message: ${getHttpErrorForAnalytics(\n error\n )}, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (\n (!action.isPopup || !action.popupId) &&\n screenId &&\n store.state.popups[screenId]\n ) {\n closePopup(screenId);\n }\n if (resetFormDataOnFailure) {\n ActionHandler.clearFormData(action.bodyParameters);\n }\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n });\n case \"PUT\":\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n http\n .put(apiEndpoint, { ...body }, { ...config })\n .then((res) => {\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n ActionHandler.handleAPIData(res?.data?.data);\n ActionHandler.handleAPIAction(res?.data?.action);\n })\n .catch(() => {\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n });\n break;\n case \"DELETE\":\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n http\n .delete(apiEndpoint, { ...config })\n .then((res) => {\n ActionHandler.handleAPIData(res?.data?.data);\n ActionHandler.handleAPIAction(res?.data?.action);\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n })\n .catch(() => {\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n });\n break;\n case \"UPLOAD\":\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.progress });\n }\n http\n .upload(\n apiEndpoint,\n { ...body },\n {\n ...config,\n onUploadProgress(progressEvent) {\n const percentCompleted = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total\n );\n if (widgetId) {\n store.dispatch(\"setProgress\", {\n [widgetId]: percentCompleted,\n });\n }\n },\n }\n )\n .then(async (res) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200\n ? `API Success: ${JSON.stringify(res?.data)}`\n : `API failure: ${JSON.stringify(res?.data)}`\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (screenId && store.state.popups[screenId]) {\n await closePopup(screenId);\n }\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.success });\n }\n ActionHandler.handleAPIData(res?.data?.data);\n ActionHandler.handleAPIAction(res?.data?.action);\n if (res?.status == 200 || res?.status == \"success\") {\n let apiSuccessEv;\n apiSuccessEv = {\n event_name: action.apiSuccessEvent?.event_name,\n event_category: action.apiSuccessEvent?.event_category,\n event_action: action.apiSuccessEvent?.event_action,\n event_metadata: `{ url: ${apiEndpoint}, status: ${\n res?.status == 200 ? \"true\" : \"false\"\n }, message: ${\n res?.status == 200 ? \"API Success\" : res?.data?.message\n }, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`,\n };\n Analytics.analyticsEventLog(apiSuccessEv);\n }\n })\n .catch((error) => {\n apiValidationParameters[\n \"event_metadata\"\n ] = `{ url: ${apiEndpoint}, status: ${false}, message: ${getHttpErrorForAnalytics(\n error\n )}, response-time: ${\n (Date.now() - startTime) / 1000\n }s, network-type: ${networkType}}`;\n ActionHandler.clickStream.addEventList(\n apiValidationParameters,\n forcePush\n );\n if (screenId && store.state.popups[screenId]) {\n closePopup(screenId);\n }\n if (widgetId) {\n store.dispatch(\"setLoading\", { [widgetId]: loadingEnum.error });\n }\n if (resetFormDataOnFailure) {\n ActionHandler.clearFormData(action.bodyParameters);\n }\n });\n\n break;\n default:\n break;\n }\n }\n static getCapchaCode() {\n return new Promise((resolve) => {\n window.grecaptcha.enterprise.ready(function () {\n window.grecaptcha.enterprise\n .execute(import.meta.env.VITE_APP_CAPTCHA_SITE_KEY, {\n action: \"submit\",\n })\n .then(function (token) {\n resolve(token);\n })\n .catch(function (err) {\n console.error(\"Error getting captcha\", err);\n resolve(\"\");\n });\n });\n });\n }\n\n static fnGenerateUniqueID() {\n var uuidValue = \"\",\n k,\n randomValue;\n for (k = 0; k < 32; k++) {\n randomValue = (Math.random() * 16) | 0;\n\n if (k == 8 || k == 12 || k == 16 || k == 20) {\n uuidValue += \"-\";\n }\n uuidValue += (\n k == 12 ? 4 : k == 16 ? (randomValue & 3) | 8 : randomValue\n ).toString(16);\n }\n\n return uuidValue;\n }\n\n /* handling api data*/\n static async handleAPIData(data) {\n if (!data) return;\n for (const key in data) {\n if (!key) return;\n store.dispatch(\"setFormData\", {\n key: key,\n value: data[key],\n });\n }\n }\n\n static redirectToUrl(url) {\n store.dispatch(\"ignoreBrowserPrompt\", true);\n window.location.href = url;\n }\n\n static redirectToFormDataUrl(action) {\n store.dispatch(\"ignoreBrowserPrompt\", true);\n window.location.href = store?.state?.formData[action.value];\n }\n\n static redirectToKRA() {\n store.dispatch(\"ignoreBrowserPrompt\", true);\n let token = getCookieValue(\"ABNonTradeToken\");\n token && setCookie(\"journeyType\", \"rekra\", 360, true);\n\n let redirectionUrl = `${import.meta.env.VITE_BASEURL}/?ntt=${token}`;\n // alert(redirectionUrl);\n window.open(redirectionUrl, \"_self\");\n }\n\n /* handling api actions*/\n static async handleAPIAction(action) {\n const { openPopup } = usePopupManager();\n const { push } = LocalNavigator;\n if (!action) return;\n switch (action?.type) {\n case API_ACTION_TYPES.openPopup:\n case API_ACTION_TYPES.openBottomSheet:\n openPopup(action?.value?.name);\n break;\n case API_ACTION_TYPES.navigate:\n push(action?.value?.name);\n break;\n case API_ACTION_TYPES.openWebView:\n break;\n case ACTION_TYPES.redirect:\n ActionHandler.redirectToUrl(action?.value?.name);\n break;\n default:\n console.warn(\"THIS ROUTE IS NOT HANDLED\");\n }\n }\n static logApiEvent(csEvent) {\n this.apiValidationAnalytics = {\n event_name: csEvent?.event_name,\n event_id: csEvent?.event_id,\n };\n let result = this.apiValidationAnalytics;\n return result;\n }\n\n static addArrayElement(action) {\n let arrayData = store?.state?.formData[action.arrayKey]\n ? store?.state?.formData[action.arrayKey]\n : [];\n const total = arrayData.reduce(function (sum, data) {\n return sum + parseInt(data[action.sharePercentKey]);\n }, 0);\n store.dispatch(\"setFormData\", {\n key: action.storeKey,\n value: total,\n });\n sessionStorage.setItem(action.storeKey, total);\n }\n\n static addDataToForm(parsedData, key, uniqueKey, action) {\n const { closePopup } = usePopupManager();\n const { push } = LocalNavigator;\n let arrayData;\n switch (action?.dataType) {\n case \"array\":\n arrayData = store?.state?.formData[key]\n ? store?.state?.formData[key]\n : [];\n if (!store?.state[action?.editIndexKey].toString()) {\n if (arrayData.length < action.maxArrayLength) {\n arrayData.push(parsedData);\n } else {\n showErrorMessage(\"Maximum limit reached\", \"maxArrayLimit\");\n }\n } else {\n arrayData[store?.state[action.editIndexKey]] = parsedData;\n }\n store.dispatch(\"setFormData\", {\n key: key,\n value: arrayData,\n });\n sessionStorage.setItem(key, JSON.stringify(arrayData));\n ActionHandler.clearFormData(action.bodyParameters);\n ActionHandler.addArrayElement(action);\n push(action.routeTo);\n closePopup(action.screenId);\n break;\n default:\n store.dispatch(\"setFormData\", {\n key: key,\n value: parsedData,\n });\n }\n }\n\n static clearFormData(data) {\n for (const key in data) {\n const value = data[key];\n store.dispatch(\"clearFormData\", value);\n }\n }\n\n static closePopupFn(isPopup, popupId) {\n const { closePopup } = usePopupManager();\n if (isPopup && popupId) {\n closePopup(popupId);\n }\n }\n\n static clearEditIndex(data) {\n store.dispatch(\"setClearEditIndex\", data.value);\n }\n\n static logApiSuccessEvent(dlEvent) {\n this.apiSuccessParams = {\n event_name: dlEvent?.event_name,\n event_category: dlEvent?.event_category,\n event_action: dlEvent?.event_action,\n };\n let result = this.apiSuccessParams;\n return result;\n }\n\n static setSessionData(value) {\n for (const key in value) {\n const v = value[key];\n const k = store.state.formData[v];\n sessionStorage.setItem(key, JSON.stringify(k));\n }\n }\n\n static reloadPage() {\n window.location.reload();\n }\n\n static async redirectToExternalPage(bodyParam) {\n const parsedBodyData = await useBodyParser(bodyParam);\n window.location.href = parsedBodyData.url;\n }\n\n static async closeAppRedirection(bodyParam) {\n if (this.isAndroid) {\n const configData = CONFIGDATA.CONFIGDATA;\n const intent =\n import.meta.env.VITE_BUILD_RELEASE === \"PROD\"\n ? configData[\"VITE_ANDROIDINTENT\"]\n : configData[\"VITE_ANDROIDINTENT_UAT\"];\n window.open(intent, \"_self\");\n } else {\n ActionHandler.redirectToExternalPage(bodyParam);\n }\n }\n\n static async redirectToExternaPageNwTab(bodyParam) {\n if (this.isiOS || this.isAndroid) {\n window.location.href = bodyParam.url;\n } else {\n window.open(bodyParam.url, \"_blank\");\n }\n }\n\n static async redrctToEmodPageNwTabWdToken(bodyParam) {\n window.open(\n `${import.meta.env.VITE_EMOD_URL}${bodyParam.url}${getCookieValue(\n \"ABNonTradeToken\"\n )}`,\n \"_blank\"\n );\n }\n\n static setSessionDataFromOBJ(value) {\n for (const key in value) {\n const v = value[key];\n sessionStorage.setItem(key, JSON.stringify(v));\n }\n }\n\n static removeSessionData(value) {\n for (const key in value) {\n const k = value[key];\n sessionStorage.removeItem(k);\n }\n }\n}\n\nexport default ActionHandler;\n","import ActionHandler from \"@/handlers/action\";\n\nexport default function useLifecycleHooks() {\n function _onMounted() {\n if (!this.events) return;\n const { screenId, onLoad } = this.events;\n if (onLoad) {\n ActionHandler.handleAction(onLoad, screenId);\n }\n }\n\n function _onUnmounted() {\n if (!this.events) return;\n const { screenId, onUnLoad } = this.events;\n if (onUnLoad) {\n ActionHandler.handleAction(onUnLoad, screenId);\n }\n }\n\n function _onErrorCaptured() {\n if (!this.events) return;\n const { screenId, onError } = this.events;\n if (onError) {\n ActionHandler.handleAction(onError, screenId);\n }\n }\n\n return {\n _onMounted,\n _onUnmounted,\n _onErrorCaptured,\n };\n}\n","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","\n\n\n\n\n","import { ref, onMounted, onBeforeUnmount } from \"vue\";\n\nconst MOBILE_WIDTH_THRESHOLD = 768;\n\nconst useMobileTabletDetector = () => {\n const isMobile = ref();\n\n const checkMobile = () => {\n const screenWidth =\n window?.innerWidth ||\n document?.documentElement?.clientWidth ||\n document?.body?.clientWidth;\n\n isMobile.value = screenWidth < MOBILE_WIDTH_THRESHOLD;\n };\n\n onMounted(() => {\n checkMobile();\n window.addEventListener(\"resize\", checkMobile);\n });\n onBeforeUnmount(() => {\n window.removeEventListener(\"resize\", checkMobile);\n });\n\n return isMobile;\n};\n\nexport default useMobileTabletDetector;\n","\n\n\n\n\n","import store from \"@/store/store\";\nimport { computed } from \"vue\";\n\nexport default function useFormValue(widgetId) {\n const value = computed({\n get() {\n return store.state.formData[widgetId];\n },\n set(value) {\n store.dispatch(\"setFormData\", {\n key: widgetId,\n value,\n });\n },\n });\n return { value };\n}\n","import dayjs from \"dayjs\";\n// import { http } from \"../services/HttpClient\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\n\ndayjs.extend(customParseFormat);\nexport function isValidDate(date) {\n const dateValid = dayjs(date);\n return dateValid.isValid();\n}\n\n// export const emailRegex = \"^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$\";\n\nexport function validAccountNumber(banknumber) {\n if (banknumber) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^\\d{9,18}$/;\n return regex.test(banknumber);\n }\n return false;\n}\nexport function phoneNumber(number) {\n if (number) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^[6-9]\\d{9}$/gi;\n return regex.test(number);\n }\n return false;\n}\nexport function numberonly(number) {\n if (number) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^[0-9]*$/;\n return regex.test(number);\n }\n return false;\n}\nexport function characterSpace(char) {\n if (char) {\n if (/^\\s/.test(char)) return false;\n // eslint-disable-next-line no-useless-escape\n var regex = /^[a-zA-Z\\s]*$/g;\n return regex.test(char);\n }\n return false;\n}\n/* no longer used */\n\n// export async function checkUniqeAccountNumber(banknumber, path) {\n// if (!banknumber) return true;\n// const response = await http.get(path, {\n// params: {\n// banknumber: banknumber,\n// },\n// });\n// return Boolean(await response);\n// }\n\nexport function validIfsc(ifsc) {\n if (ifsc && typeof ifsc === \"string\") {\n ifsc = ifsc.toUpperCase();\n // eslint-disable-next-line no-useless-escape\n var regex = /[a-zA-Z]{4}0[a-zA-Z0-9]{6}$/;\n return regex.test(ifsc);\n }\n return false;\n}\nexport function validEmail(email) {\n if (email) {\n const regex = new RegExp(\n \"^.+@[a-zA-Z]+\\\\.{1}[a-zA-Z]+(\\\\.{0,1}[a-zA-Z]+)+$\"\n );\n return regex.test(email);\n }\n return false;\n}\nexport function alphaNum(value) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^[A-Za-z0-9]+$/;\n return regex.test(value) || false;\n}\nexport function pincode(value) {\n if (value) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^(\\d{4}|\\d{6})$/;\n return regex.test(value);\n }\n return false;\n}\n/* no longer used */\n\n// export async function uniqeEmailAddress(email, path) {\n// if (!email) return true;\n// const response = await http.get(path, {\n// params: {\n// email: email,\n// },\n// });\n// return Boolean(await response);\n// }\n\nexport function validPAN(pan) {\n if (pan) {\n pan = pan.toUpperCase();\n // eslint-disable-next-line no-useless-escape\n var regex = /^[a-zA-Z]{3}[P]{1}[A-Za-z]{1}([0-9]){4}([a-zA-Z]){1}?$/;\n return regex.test(pan);\n }\n return false;\n}\nexport function validAadhaar(value) {\n if (value) {\n value = value.toUpperCase();\n // eslint-disable-next-line no-useless-escape\n var regex = /^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$/;\n return regex.test(value);\n }\n return false;\n}\nexport function addressValidators(value) {\n if (value) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^[-@,.\\/#&+\\w\\s]*$/;\n return regex.test(value);\n }\n return false;\n}\nexport function nameValidators(value) {\n if (value) {\n // eslint-disable-next-line no-useless-escape\n var regex = /^[a-z ,.'-]+$/i;\n return regex.test(value);\n }\n return false;\n}\n/* no longer used */\n\n// export async function checkUniqePan(banknumber, path) {\n// if (!banknumber) return true;\n// const response = await http.get(path, {\n// params: {\n// banknumber: banknumber,\n// },\n// });\n// return Boolean(await response);\n// }\n\nexport function dateValidators(value) {\n if (value) {\n // eslint-disable-next-line no-useless-escape\n var regex = /(((0|1)[0-9]|2[0-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/((19|20)\\d\\d))$/;\n return regex.test(value);\n }\n return false;\n}\nexport function futureDateValidators(value) {\n if (value) {\n let todayDate = dayjs(); //Today Date\n let dateOne = dayjs(value, \"DD/MM/YYYY\");\n if (todayDate > dateOne) {\n return true;\n } else {\n return false;\n }\n }\n}\n\nexport function is18yearsOld(dob) {\n let dateofBirth = dayjs(dob, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\");\n let ageVal = calculateAge(dateofBirth);\n return ageVal >= 18;\n}\nexport function is99yearsOld(dob) {\n let dateofBirth = dayjs(dob, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\");\n let today = new Date();\n let birthDate = new Date(dateofBirth);\n let age = today.getFullYear() - birthDate.getFullYear();\n let m = today.getMonth() - birthDate.getMonth();\n let dateGap = today.getDate() - birthDate.getDate();\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n age--;\n }\n let ageVal;\n if (age >= 99 && m > 0) {\n ageVal = false;\n } else if (age < 99) {\n ageVal = true;\n } else if (age == 99 && m < 0) {\n ageVal = true;\n } else if (age <= 99 && m == 0 && dateGap <= 0) {\n ageVal = true;\n }\n return ageVal;\n}\nexport function isMonthValid(dob) {\n const month = dob.split(\"/\");\n if (month[1] > 0 && month[1] <= 12) {\n return true;\n }\n return false;\n}\nexport function isDayValid(dob) {\n const dayy = dob.split(\"/\");\n if (dayy[0] > 0 && dayy[0] <= 31) {\n return true;\n }\n return false;\n}\nexport function isYearValid(dob) {\n const yearr = dob.split(\"/\");\n const d = dayjs().format(\"YYYY\");\n if (parseInt(yearr[2]) <= parseInt(d)) {\n return true;\n }\n return false;\n}\nexport function isYearRequired(dob) {\n const yearr = dob.split(\"/\");\n if (yearr[2] && yearr[2].length == 4) {\n return true;\n }\n return false;\n}\n\nexport function calculateAge(birthday) {\n const ageDifMs = Date.now() - new Date(birthday).getTime();\n const ageDate = new Date(ageDifMs);\n return Math.abs(ageDate.getUTCFullYear() - 1970);\n}\n","/* prettier-ignore */\nimport ActionHandler from \"@/handlers/action\";\nimport { getCookieValue } from \"@/services/HttpClient\";\nimport store from \"@/store/store\";\nimport { calculateAge } from \"@/validation/validation\";\nimport dayjs from \"dayjs\";\nconst DEFAULT_STATE = true;\n\nexport default function useRuleParser(condition) {\n let result = false;\n /*\n validate if conditions is a valid condition\n if condition is invalid we want widget to be visible\n */\n if (!condition) return DEFAULT_STATE;\n if (condition.constructor !== String) {\n //TODO show a warning here\n return DEFAULT_STATE;\n }\n if (condition.includes(\"|<>|\")) {\n const [firstRule, validationRule, secondRule] = condition.split(\"|<>|\");\n const firstRuleResult = checkConditons(firstRule);\n let secondRuleResult = false;\n /*\n ===> The purpose of below line here is to determine whether validation rule should be considered for validations or not.\n */\n if (checkConditons(validationRule)) {\n secondRuleResult = checkConditons(secondRule);\n }\n result = firstRuleResult || secondRuleResult;\n } else {\n result = checkConditons(condition);\n }\n\n return result;\n}\n\nconst checkConditons = (condition) => {\n if (condition.includes(\"&&\")) {\n const conditions = condition.split(\"&&\");\n for (let i = 0; i < conditions.length; i++) {\n let conditionResult = getDataFromCond(conditions[i]);\n if (!conditionResult) {\n return false;\n }\n }\n return true;\n } else if (condition.includes(\"OR\")) {\n const conditions = condition.split(\"OR\");\n for (let i = 0; i < conditions.length; i++) {\n let conditionResult = getDataFromCond(conditions[i]);\n if (conditionResult) {\n return true;\n }\n }\n return false;\n } else {\n return getDataFromCond(condition);\n }\n};\n\nexport function getDataFromCond(condition) {\n let result = false;\n let [field, typeConditionValue] = condition.split(\":\");\n const [type, cond, expectedValue, defaultValue] =\n typeConditionValue.split(\"|\");\n if (!field || !type || expectedValue == undefined) {\n //TODO show a warning here\n return DEFAULT_STATE;\n }\n const formData = store?.state;\n let arrayField = \"\";\n let optionalField = \"\";\n\n if (type == \"array.number\") {\n [field, arrayField] = field.split(\".\");\n }\n\n if (type == \"array.number.optional\") {\n [field, arrayField, optionalField] = field.split(\".\");\n }\n\n if (!formData) return DEFAULT_STATE;\n const isVariableValue = expectedValue.split(\"\")[0] === \"$\";\n\n let derivedRHSValue = isVariableValue\n ? findAllByKey(formData, expectedValue)\n : expectedValue;\n\n if (type === \"cookie\") {\n const derivedLHSValue = ActionHandler.fnDecompressData(\n getCookieValue(field)\n );\n result = evaluateCondition(\n type,\n cond,\n derivedRHSValue,\n derivedLHSValue,\n arrayField,\n optionalField\n );\n return result;\n }\n\n const fieldArray = field.split(\".\");\n const derivedLHSValue = findAllByKey(formData, fieldArray);\n\n if (derivedLHSValue == null && defaultValue) {\n result = toBoolean(defaultValue);\n return result;\n }\n\n result = evaluateCondition(\n type,\n cond,\n derivedRHSValue,\n derivedLHSValue,\n arrayField,\n optionalField\n );\n return result;\n}\n\nexport function evaluateCondition(\n type,\n cond,\n derivedRHSValue,\n derivedLHSValue,\n arrayField,\n optionalField\n) {\n let result = false;\n /*\n We have valid fields here, lets evaluate condition\n */\n switch (type) {\n case \"string\":\n switch (cond) {\n case \"=\":\n result = derivedLHSValue == derivedRHSValue;\n break;\n }\n break;\n case \"boolean\":\n switch (cond) {\n case \"=\":\n result = derivedLHSValue == toBoolean(derivedRHSValue);\n break;\n }\n break;\n case \"number\":\n // eslint-disable-next-line no-case-declarations\n let lhs = parseInt(derivedLHSValue) || 0;\n // eslint-disable-next-line no-case-declarations\n let rhs = parseInt(derivedRHSValue) || 0;\n switch (cond) {\n case \"=\":\n result = lhs == rhs;\n break;\n case \"<\":\n result = lhs < rhs;\n break;\n case \">\":\n result = lhs > rhs;\n break;\n case \"<=\":\n result = lhs <= rhs;\n break;\n case \">=\":\n result = lhs >= rhs;\n break;\n }\n break;\n case \"age\":\n switch (cond) {\n case \"=\":\n result =\n calculateAge(\n dayjs(derivedLHSValue, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\")\n ) == parseInt(derivedRHSValue);\n break;\n case \"<\":\n result =\n calculateAge(\n dayjs(derivedLHSValue, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\")\n ) < parseInt(derivedRHSValue);\n break;\n case \">\":\n result =\n calculateAge(\n dayjs(derivedLHSValue, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\")\n ) > parseInt(derivedRHSValue);\n break;\n case \"<=\":\n result =\n calculateAge(\n dayjs(derivedLHSValue, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\")\n ) <= parseInt(derivedRHSValue);\n break;\n case \">=\":\n result =\n calculateAge(\n dayjs(derivedLHSValue, \"DD/MM/YYYY\").format(\"YYYY/MM/DD\")\n ) >= parseInt(derivedRHSValue);\n break;\n }\n break;\n case \"array\":\n result = derivedRHSValue.includes(derivedLHSValue);\n break;\n case \"array.number\":\n result = checkArrayNumber(derivedLHSValue, derivedRHSValue, arrayField);\n break;\n case \"array.number.optional\":\n result = checkArrayNumberOptional(\n derivedLHSValue,\n derivedRHSValue,\n arrayField,\n optionalField\n );\n break;\n case \"arrayLength\":\n switch (cond) {\n case \"=\":\n result = derivedLHSValue?.length === parseInt(derivedRHSValue);\n break;\n }\n break;\n case \"object\":\n result = DEFAULT_STATE;\n break;\n case \"notnull\":\n result = derivedLHSValue ? false : true;\n break;\n case \"cookie\":\n switch (cond) {\n case \"notNull\":\n result = Object.keys(derivedLHSValue)?.length ? true : false;\n break;\n }\n break;\n default:\n // unmatchd type return DEFAULT State\n result = DEFAULT_STATE;\n }\n return result;\n}\n\nexport function checkArrayNumber(derivedLHSValue, derivedRHSValue, arrayField) {\n if (!derivedLHSValue) {\n console.log(\"* DERIVED LHS is undefined\", derivedLHSValue);\n return false;\n }\n console.log(\"* DERIVED LHS : \", derivedLHSValue);\n return !derivedLHSValue.every((item) => {\n console.log(\"Item validation \", item);\n console.log(\"arrayField validation \", arrayField);\n item[arrayField] == derivedRHSValue;\n });\n}\n\nexport function checkArrayNumberOptional(\n derivedLHSValue,\n derivedRHSValue,\n arrayField,\n optionalFiled\n) {\n if (!derivedLHSValue) {\n console.log(\"* DERIVED LHS is undefined\", derivedLHSValue);\n return false;\n }\n // optionalFiled = [\"email\", \"pan-upload\"]; // for testing\n // console.log(\"optionalFiled \", optionalFiled);\n // console.log(\"* DERIVED LHS : \", derivedLHSValue);\n console.log(\n \"return statement \",\n derivedLHSValue.every((item) => item[arrayField] == derivedRHSValue)\n );\n for (let i = 0; i < derivedLHSValue.length; i++) {\n console.log(\"derivedLHSValue \", derivedLHSValue[i]);\n if (\n optionalFiled.includes(derivedLHSValue[i].flow) &&\n derivedLHSValue[i].status != derivedRHSValue\n ) {\n continue;\n } else if (derivedLHSValue[i].status != derivedRHSValue) {\n return true;\n }\n }\n // return false;\n // return !derivedLHSValue.every((item) => {\n // item[arrayField] == derivedRHSValue;\n // });\n}\n\nexport function toBoolean(value) {\n var strValue = String(value).toLowerCase();\n strValue =\n !isNaN(strValue) &&\n strValue !== \"0\" &&\n strValue !== \"\" &&\n strValue !== \"null\" &&\n strValue !== \"undefined\"\n ? \"1\"\n : strValue;\n return strValue === \"true\" || strValue === \"1\" ? true : false;\n}\n\nexport function findAllByKey(obj, keyArray) {\n if (keyArray.constructor == Array) {\n for (let i = 0; i < keyArray.length; i++) {\n let value = obj[keyArray[i]];\n\n if (Array.isArray(value)) {\n return value;\n } else if (typeof value == \"object\") {\n keyArray.splice(i, 1);\n return findAllByKey(value, keyArray);\n } else if (\n typeof value == \"string\" ||\n typeof value == \"boolean\" ||\n typeof value == \"number\"\n ) {\n return value;\n }\n }\n } else {\n return obj[keyArray];\n }\n}\n","/* eslint-disable no-case-declarations */\nimport {\n characterSpace,\n phoneNumber,\n validAccountNumber,\n validIfsc,\n validPAN,\n validEmail,\n alphaNum,\n pincode,\n numberonly,\n validAadhaar,\n addressValidators,\n dateValidators,\n is18yearsOld,\n is99yearsOld,\n isMonthValid,\n isDayValid,\n isYearRequired,\n isYearValid,\n nameValidators,\n futureDateValidators,\n} from \"@/validation/validation\";\n\nimport store from \"@/store/store\";\nimport useRuleParser from \"./useRuleParser\";\n\nexport default function useCreateValidationRule(validations) {\n const rules = [];\n const formButtonId =\n validations &&\n validations.find((validation) => validation.type === \"formButtonId\");\n if (validations) {\n validations.forEach((element) => {\n rules.push((v) => {\n switch (element.type) {\n case \"required\":\n if (!v) {\n formButtonId && store.dispatch(\"setButtonToDisable\", !v);\n return element.message;\n }\n break;\n case \"requiredif\":\n // eslint-disable-next-line no-case-declarations\n const requiredIf = useRuleParser(element?.requiredif);\n if (requiredIf && !v) {\n formButtonId && store.dispatch(\"setButtonToDisable\", !v);\n return element.message;\n }\n break;\n case \"maxLength\":\n if (v && v.length > element.value) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && v.length > element.value\n );\n return element.message;\n }\n break;\n case \"minLength\":\n if (v && v.length < element.value) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && v.length < element.value\n );\n return element.message;\n }\n break;\n case \"pattern\":\n if (v && !checkPattern(v, element)) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && !checkPattern(v, element)\n );\n return element.message;\n }\n break;\n case \"isMinor\":\n // eslint-disable-next-line no-case-declarations\n const relations = element?.relations || [];\n const relation = store.state.formData[element.checkRelationKey];\n const inCaseCanNotBeMinor = [...relations].includes(relation);\n if (v && !checkPattern(v, element) && inCaseCanNotBeMinor) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && !checkPattern(v, element)\n );\n return element.message;\n }\n break;\n case \"match\":\n if (v && !checkMatch(v, element)) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && !checkMatch(v, element)\n );\n return element.message;\n }\n break;\n case \"lessthanTotal\":\n if (v && !lessthanTotal(v, element)) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && !lessthanTotal(v, element)\n );\n return element.message;\n }\n break;\n case \"authenticationError\":\n const error_code =\n store.state.loginAuthenticationAttemptMessage[element.error_code];\n const error_codes = [...element.error_codes].includes(error_code);\n const errorMessage =\n store.state.loginAuthenticationAttemptMessage[element.message];\n if (v && error_codes) {\n formButtonId &&\n store.dispatch(\"setButtonToDisable\", v && error_codes);\n return errorMessage;\n }\n break;\n case \"checkLessthan\":\n if (v && !checkLessthan(v, element)) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && !checkLessthan(v, element)\n );\n return element.message;\n }\n break;\n case \"checkUniqueInArrayObj\":\n if (v && !checkUniqueInArrayObj(v, element)) {\n formButtonId &&\n store.dispatch(\n \"setButtonToDisable\",\n v && !checkUniqueInArrayObj(v, element)\n );\n return element.message;\n }\n break;\n default:\n return true;\n }\n });\n });\n }\n\n function lessthanTotal(v, element) {\n let arrayData = store?.state?.formData[element?.arrayKey]\n ? store?.state?.formData[element?.arrayKey]\n : [];\n let total = arrayData.reduce(function (sum, data, index) {\n if (index?.toString() == store?.state[element?.editIndex]?.toString()) {\n return sum;\n } else {\n return sum + parseInt(data[element.sharePercentKey]);\n }\n }, 0);\n total = total + parseInt(v);\n return total <= element.totalVal;\n }\n\n function checkUniqueInArrayObj(v, element) {\n let arrayData = store?.state?.formData[element?.arrayKey]\n ? store?.state?.formData[element?.arrayKey]\n : [];\n let searchedData = arrayData.filter((data) => {\n return data[element.searchKey].toString() == v.toString();\n });\n\n let editNominee = {};\n if (store?.state[element?.editIndex]?.toString()) {\n editNominee =\n store?.state?.formData[element?.arrayKey][\n store?.state[element?.editIndex]\n ];\n }\n\n if (\n store?.state[element?.editIndex]?.toString() &&\n v == editNominee[element.searchKey]\n ) {\n return searchedData.length == 1 ? true : false;\n } else {\n return searchedData.length == 0 ? true : false;\n }\n }\n\n function checkMatch(v, element) {\n return v === store?.state?.formData[`${element?.value}`];\n }\n\n function checkLessthan(v, element) {\n return parseInt(v) <= parseInt(element?.value);\n }\n\n function checkPattern(v, element) {\n switch (element.value) {\n case \"character_only\":\n return characterSpace(v);\n case \"ifsc\":\n return validIfsc(v);\n case \"pan\":\n return validPAN(v);\n case \"nomineePan\":\n return validPAN(v);\n case \"phone_number\":\n return phoneNumber(v);\n case \"bank_ac_number\":\n return validAccountNumber(v);\n case \"email\":\n return validEmail(v);\n case \"alphaNum\":\n return alphaNum(v);\n case \"pincode\":\n return pincode(v);\n case \"numberonly\":\n return numberonly(v);\n case \"aadhaar\":\n return validAadhaar(v);\n case \"address\":\n return addressValidators(v);\n case \"date\":\n return dateValidators(v);\n case \"futureDate\":\n return futureDateValidators(v);\n case \"is99year\":\n return is99yearsOld(v);\n case \"is18year\":\n return is18yearsOld(v);\n case \"isMonthValid\":\n return isMonthValid(v);\n case \"isDayValid\":\n return isDayValid(v);\n case \"isYearRequired\":\n return isYearRequired(v);\n case \"isYearValid\":\n return isYearValid(v);\n case \"name\":\n return nameValidators(v);\n default:\n return true;\n }\n }\n\n return { rules };\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","