@egovernments/digit-ui-module-core 2.0.0-dev-09 → 2.0.0-dev-11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","mappings":"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","sources":["webpack://@egovernments/digit-ui-module-core/webpack/universalModuleDefinition","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/changePassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/AppModules.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/index.js","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-svg-components\"","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeCity.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectOtp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/ImageUpload/UploadDrawer.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/IndividualUserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/UserProfile.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/./src/components/CustomErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectMobileNumber.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectName.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/IndividualLogin.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useLoginConfig.js","webpack://@egovernments/digit-ui-module-core/./src/components/RoleBasedEmployeeHome.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/QuickSetup.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/Config.js","webpack://@egovernments/digit-ui-module-core/./src/components/Home.js","webpack://@egovernments/digit-ui-module-core/./src/components/DynamicModuleLoader.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/react-hook-form/dist/index.esm.mjs","webpack://@egovernments/digit-ui-module-core/./src/components/Search/SearchFields.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/MobileSearchApplication.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/SearchApp.js","webpack://@egovernments/digit-ui-module-core/external umd \"redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-redux\"","webpack://@egovernments/digit-ui-module-core/../../../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/external umd \"redux-thunk\"","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/HowItWorks/howItWorks.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeLanguage.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ViewUrl/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/ConfigOtp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/login.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorBoundaries.js","webpack://@egovernments/digit-ui-module-core/external umd \"react-router-dom\"","webpack://@egovernments/digit-ui-module-core/external umd \"@tanstack/react-query\"","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/config/sidebar-menu.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/external umd \"React\"","webpack://@egovernments/digit-ui-module-core/./src/hooks/useInterval.js","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-react-components\"","webpack://@egovernments/digit-ui-module-core/./src/hoc/withAutoFocusMain.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/LanguageSelection/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/Carousel/Carousel.js","webpack://@egovernments/digit-ui-module-core/./src/components/Header.js","webpack://@egovernments/digit-ui-module-core/./src/components/Background.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/TopBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/CitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/hyphenate-style-name/index.js","webpack://@egovernments/digit-ui-module-core/./node_modules/react-responsive/dist/esm/index.js","webpack://@egovernments/digit-ui-module-core/./node_modules/shallow-equal/dist/index.modern.mjs","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/EmployeeSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/index.js","webpack://@egovernments/digit-ui-module-core/external umd \"react-i18next\"","webpack://@egovernments/digit-ui-module-core/./src/components/ImageComponent.js","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-components\"","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/Dialog/LogoutDialog.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/react/jsx-runtime.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LocationSelection.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FaqComponent.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FAQs.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/signUp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/matchmediaquery/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/utils.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/forgotPassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LanguageSelection.js","webpack://@egovernments/digit-ui-module-core/./src/components/DummyLoader.js","webpack://@egovernments/digit-ui-module-core/webpack/bootstrap","webpack://@egovernments/digit-ui-module-core/webpack/runtime/compat get default export","webpack://@egovernments/digit-ui-module-core/webpack/runtime/define property getters","webpack://@egovernments/digit-ui-module-core/webpack/runtime/hasOwnProperty shorthand","webpack://@egovernments/digit-ui-module-core/webpack/runtime/make namespace object","webpack://@egovernments/digit-ui-module-core/./src/App.js","webpack://@egovernments/digit-ui-module-core/./src/redux/store.js","webpack://@egovernments/digit-ui-module-core/./src/redux/reducers/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/PrivacyComponent.js","webpack://@egovernments/digit-ui-module-core/./src/Module.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/OtpCustomComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/ForgotOrganizationTooltip.js","webpack://@egovernments/digit-ui-module-core/./src/components/LoginSignupSelector.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"React\", \"react-i18next\", \"@tanstack/react-query\", \"react-redux\", \"react-router-dom\", \"@egovernments/digit-ui-svg-components\", \"@egovernments/digit-ui-react-components\", \"redux\", \"redux-thunk\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@egovernments/digit-ui-module-core\"] = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"React\"], root[\"react-i18next\"], root[\"@tanstack/react-query\"], root[\"react-redux\"], root[\"react-router-dom\"], root[\"@egovernments/digit-ui-svg-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"redux\"], root[\"redux-thunk\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__) => {\nreturn ","import { CardSubHeader, FormComposer,CardText} from \"@egovernments/digit-ui-react-components\";\nimport { BackLink,Toast} from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport SelectOtp from \"../../citizen/Login/SelectOtp\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ChangePasswordComponent = ({ config: propsConfig, t }) => {\n const [user, setUser] = useState(null);\n const { mobile_number: mobileNumber, tenantId } = Digit.Hooks.useQueryParams();\n const navigate = useNavigate();\n const [otp, setOtp] = useState(\"\");\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onResendOTP = async () => {\n const requestData = {\n otp: {\n mobileNumber,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId,\n },\n };\n\n try {\n await Digit.UserService.sendOtp(requestData, tenantId);\n setShowToast(t(\"ES_OTP_RESEND\"));\n } catch (err) {\n setShowToast(err?.response?.data?.error_description || t(\"ES_INVALID_LOGIN_CREDENTIALS\"));\n }\n setTimeout(closeToast, 5000);\n };\n\n const onChangePassword = async (data) => {\n try {\n if (data.newPassword !== data.confirmPassword) {\n return setShowToast(t(\"ERR_PASSWORD_DO_NOT_MATCH\"));\n }\n const requestData = {\n ...data,\n otpReference: otp,\n tenantId,\n type: getUserType().toUpperCase(),\n };\n\n const response = await Digit.UserService.changePassword(requestData, tenantId);\n navigateToLogin();\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || t(\"ES_SOMETHING_WRONG\"));\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/user/login`, {replace:true});\n };\n\n const [username, password, confirmPassword] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(username.label),\n type: username.type,\n populators: {\n name: username.name,\n },\n isMandatory: true,\n },\n {\n label: t(password.label),\n type: password.type,\n populators: {\n name: password.name,\n },\n isMandatory: true,\n },\n {\n label: t(confirmPassword.label),\n type: confirmPassword.type,\n populators: {\n name: confirmPassword.name,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink variant=\"primary\" style={{ borderBottom: \"none\" }} />\n </div>\n <FormComposer\n onSubmit={onChangePassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeChangePassword\"\n >\n <Header />\n <CardSubHeader style={{ textAlign: \"center\" }}> {propsConfig.texts.header} </CardSubHeader>\n <CardText>\n {`${t(`CS_LOGIN_OTP_TEXT`)} `}\n <b>\n {\" \"}\n {`${t(`+ 91 - `)}`} {mobileNumber}\n </b>\n </CardText>\n <SelectOtp t={t} userType=\"employee\" otp={otp} onOtpChange={setOtp} error={isOtpValid} onResend={onResendOTP} />\n {/* <div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_SENT_MESSAGE\")}</CardLabel>\n <CardLabelDesc style={{ marginBottom: \"0px\" }}> {mobileNumber} </CardLabelDesc>\n <CardLabelDesc style={{ marginBottom: \"8px\" }}> {t(\"CORE_EMPLOYEE_OTP_CHECK_MESSAGE\")}</CardLabelDesc>\n </div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_OTP\")} *</CardLabel>\n <TextInput className=\"field\" name={otpReference} isRequired={true} onChange={updateOtp} type={\"text\"} style={{ marginBottom: \"10px\" }} />\n <div className=\"flex-right\">\n <div className=\"primary-label-btn\" onClick={onResendOTP}>\n {t(\"CORE_OTP_RESEND\")}\n </div>\n </div> */}\n </FormComposer>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nChangePasswordComponent.propTypes = {\n loginParams: PropTypes.any,\n};\n\nChangePasswordComponent.defaultProps = {\n loginParams: null,\n};\n\nexport default ChangePasswordComponent;\n","export const config = [\n {\n texts: {\n header: \"CORE_COMMON_RESET_PASSWORD_LABEL\",\n submitButtonLabel: \"CORE_COMMON_CHANGE_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n name: \"userName\",\n error: \"ERR_HRMS_INVALID_USERNAME\",\n },\n {\n label: \"CORE_LOGIN_NEW_PASSWORD\",\n type: \"password\",\n name: \"newPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n {\n label: \"CORE_LOGIN_CONFIRM_NEW_PASSWORD\",\n type: \"password\",\n name: \"confirmPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n ],\n },\n];\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport ChangePasswordComponent from \"./changePassword\";\nimport { config } from \"./config\";\n\nconst EmployeeChangePassword = () => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n config.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [config]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ChangePasswordComponent config={params[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeChangePassword;\n","import React from \"react\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"./DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-change-password\" */ \"../pages/employee/ChangePassword/index\"),\n () => require(\"../pages/employee/ChangePassword/index\").default,\n { loaderText: \"Loading Change Password...\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-forgot-password\" */ \"../pages/employee/ForgotPassword/index\"),\n () => require(\"../pages/employee/ForgotPassword/index\").default,\n { loaderText: \"Loading Forgot Password...\" }\n);\n\nconst AppHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-home\" */ \"./Home\").then(module => ({ default: module.AppHome })),\n () => require(\"./Home\").AppHome,\n { loaderText: \"Loading Home...\" }\n);\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes?.map?.((item) => item.code).includes(tenant.code));\n};\n\nexport const AppModules = ({ stateCode, userType, modules, appTenants, additionalComponent }) => {\n const location = useLocation();\n const user = Digit.UserService.getUser();\n\n if (!user || !user?.access_token || !user?.info) {\n return <Navigate to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }} replace />;\n }\n\n // Create app routes with dynamic module loading and loading states\n const appRoutes = modules?.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType={userType}\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n return (\n <div className=\"ground-container digit-home-ground\">\n <Routes>\n {appRoutes}\n <Route\n path=\"login\"\n element={\n <Navigate\n to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }}\n replace\n />\n }\n />\n <Route path=\"forgot-password\" element={<ForgotPassword />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"*\"\n element={\n <AppHome\n userType={userType}\n modules={modules}\n additionalComponent={additionalComponent}\n />\n }\n />\n </Routes>\n </div>\n );\n};","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate, Navigate } from \"react-router-dom\";\nimport { AppModules } from \"../../components/AppModules\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport { PrivateRoute } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport withAutoFocusMain from \"../../hoc/withAutoFocusMain\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-change-password\" */ \"./ChangePassword\"),\n () => require(\"./ChangePassword\").default,\n { loaderText: \"Loading Change Password...\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-forgot-password\" */ \"./ForgotPassword\"),\n () => require(\"./ForgotPassword\").default,\n { loaderText: \"Loading Forgot Password...\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-language-selection\" */ \"./LanguageSelection\"),\n () => require(\"./LanguageSelection\").default,\n { loaderText: \"Loading Language Selection...\" }\n);\n\nconst EmployeeLogin = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"Loading Login...\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-otp\" */ \"./Otp\"),\n () => require(\"./Otp\").default,\n { loaderText: \"Loading OTP...\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"user-profile\" */ \"../citizen/Home/UserProfile\"),\n () => require(\"../citizen/Home/UserProfile\").default,\n { loaderText: \"Loading User Profile...\" }\n);\n\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"Loading Error Component...\" }\n);\n\nconst userScreensExempted = [\"user/landing\", \"user/profile\", \"user/error\", \"user/productPage\"];\n\nconst EmployeeApp = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname, // This prop seems unused, consider removing\n initData,\n noTopBar = false,\n}) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const showLanguageChange = location?.pathname?.includes(\"language-selection\");\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n\n useEffect(() => {\n Digit.UserService.setType(\"employee\");\n }, []);\n\n const additionalComponent = initData?.modules?.filter((i) => i?.additionalComponent)?.map((i) => i?.additionalComponent);\n\n return (\n <div className=\"employee\">\n <Routes>\n <Route path=\"user/*\" element={\n <>\n {isUserProfile && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showSidebar={isUserProfile ? true : false}\n showLanguageChange={!showLanguageChange}\n />\n )}\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile\n ? { padding: 0, paddingTop: \"0\", marginLeft: mobileView ? \"0\" : \"0\" }\n : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path=\"login\" element={<EmployeeLogin stateCode={stateCode} />} />\n <Route path=\"login/otp\" element={<Otp isLogin={true} />} />\n <Route path=\"forgot-password\" element={<ForgotPassword stateCode={stateCode} />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"profile\"\n element={ <UserProfile stateCode={stateCode} userType={\"employee\"} cityDetails={cityDetails} />}\n />\n <Route\n path=\"error\"\n element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n }\n />\n <Route path=\"language-selection\" element={<LanguageSelection />} />\n <Route path=\"*\" element={<Navigate to=\"language-selection\" replace />} />\n </Routes>\n </div>\n </>}\n />\n\n <Route path=\"*\" element={\n <>\n {!noTopBar && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n modules={modules}\n />\n )}\n <div className={!noTopBar ? `main digit-home-main` : \"\"}>\n <div className=\"employee-app-wrapper digit-home-app-wrapper\">\n <ErrorBoundary initData={initData}>\n <AppModules\n stateCode={stateCode}\n userType=\"employee\"\n modules={modules}\n appTenants={appTenants}\n additionalComponent={additionalComponent}\n />\n </ErrorBoundary>\n </div>\n <div className=\"employee-home-footer\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.1em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n </>\n }/>\n\n <Route path=\"*\" element={<Navigate to={`user/language-selection`} replace />} />\n </Routes>\n </div>\n );\n};\n\nexport default withAutoFocusMain(EmployeeApp, \".digit-home-main\");","module.exports = __WEBPACK_EXTERNAL_MODULE__338__;","import { CardText, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n};\n\nconst ChangeCity = (prop) => {\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); \n const navigate = useNavigate();\n const isDropdown = prop.dropdown || false;\n let selectedCities = [];\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: `TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`,\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n // if (isDropdown) {\n return (\n <div style={prop?.mobileView ? { color: \"#767676\" } : {}}>\n {\n (isMultiRootTenant && selectCityData.length==1) ? \n <CardText style={{color:\"#363636\"}}>{selectCityData?.[0]?.value}</CardText>\n :\n <Dropdown\n t={prop?.t}\n option={selectCityData}\n selected={selectCityData.find((cityValue) => cityValue.value === dropDownData?.value)}\n optionKey={\"label\"}\n select={handleChangeCity}\n freeze={true}\n customSelector={\n <label className=\"cp\">\n {prop?.t(`TENANT_TENANTS_${stringReplaceAll(Digit.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`)}\n </label>\n }\n />\n}\n </div>\n );\n // } else {\n // return (\n // <React.Fragment>\n // <div style={{ marginBottom: \"5px\" }}>City</div>\n // <div className=\"language-selector\" style={{display: \"flex\", flexWrap: \"wrap\"}}>\n // {selectCityData?.map((city, index) => (\n // <div className=\"language-button-container\" key={index}>\n // <CustomButton\n // selected={city.value === Digit.SessionStorage.get(\"Employee.tenantId\")}\n // text={city.label}\n // onClick={() => handleChangeCity(city)}\n // ></CustomButton>\n // </div>\n // ))}\n // </div>\n // </React.Fragment>\n // );\n // }\n};\n\nexport default ChangeCity;\n","import { CardText, CardLabelError, FormStep } from \"@egovernments/digit-ui-components\";\nimport React, { Fragment, useState } from \"react\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\n\nconst SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = \"citizen\", canSubmit }) => {\n const [timeLeft, setTimeLeft] = useState(30);\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleResendOtp = () => {\n onResend();\n setTimeLeft(2);\n };\n\n if (userType === \"employee\") {\n return (\n <Fragment>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button resend-otp\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </Fragment>\n );\n }\n\n return (\n <FormStep onSelect={onSelect} config={config} t={t} isDisabled={!(otp?.length === 6 && canSubmit)}>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </FormStep>\n );\n};\n\nexport default SelectOtp;\n","import React, { useState, useEffect } from \"react\";\nimport { GalleryIcon, RemoveIcon } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) {\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(\"\");\n const [error, setError] = useState(null);\n const { t } = useTranslation();\n const selectfile = (e) => setFile(e.target.files[0]);\n const removeimg = () => {removeProfilePic(); closeDrawer()};\n const onOverlayBodyClick = () => closeDrawer();\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 1000000) {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"))\n setError(t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(`${userType}-profile`, file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n const fileStoreId = response?.data?.files[0]?.fileStoreId;\n setUploadedFile(fileStoreId);\n setProfilePic(fileStoreId);\n } else {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"))\n setError(t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n showToast(\"error\",t(\"CORE_COMMON_PROFILE_INVALID_FILE_INPUT\"))\n // setError(t(\"PT_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n return (\n <React.Fragment>\n <div\n style={{\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"rgba(0,0,0,.5)\",\n // zIndex: \"9998\",\n }}\n onClick={onOverlayBodyClick}\n ></div>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n display: \"flex\",\n backgroundColor: \"white\",\n alignItems: \"center\",\n position: \"fixed\",\n left: \"0\",\n right: \"0\",\n height: \"20%\",\n bottom: userType === \"citizen\" ? \"2.5rem\" : \"0\",\n zIndex: \"1000\",\n }}\n >\n <div\n style={{ display: \"flex\", flex: \"1\", flexDirection: \"column\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", gap: \"8px 0\" }}\n >\n <label for=\"file\" style={{ cursor: \"pointer\" }}>\n {\" \"}\n <GalleryIcon />\n </label>\n <label style={{ cursor: \"pointer\" }}> Gallery</label>\n <input type=\"file\" id=\"file\" accept=\"image/*, .png, .jpeg, .jpg\" onChange={selectfile} style={{ display: \"none\" }} />\n </div>\n\n <div\n style={{ display: \"flex\", flex: \"1\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: \"8px 0\" }}\n >\n <button onClick={removeimg}>\n <RemoveIcon />\n </button>\n <label style={{ cursor: \"pointer\" }}>Remove</label>\n </div>\n </div>\n </React.Fragment>\n );\n}\n\nexport default UploadDrawer;\n","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_TENANT = Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst IndividualUserProfile = ({ stateCode, userType, cityDetails }) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n // const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\"); // Handled in parent\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n\n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n\n if (uuid) {\n // New API using health-individual\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_search`,\n useCache: false,\n method: \"POST\",\n userService: true,\n params: {\n limit: 1000,\n offset: 0,\n tenantId: tenant,\n },\n body: {\n Individual: {\n userUuid: [uuid],\n tenantId: tenant,\n },\n },\n });\n\n if (response?.Individual?.length) {\n setUserDetails(response.Individual[0]);\n }\n }\n };\n\n React.useEffect(() => {\n window.addEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n return () => {\n window.removeEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n };\n });\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n if (name) {\n setName((prev) => prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n let responseInfo;\n\n // Build Individual object dynamically\n const individualPayload = {\n ...userDetails,\n tenantId: tenant,\n name: {\n givenName: name.trim(),\n familyName: userDetails?.name?.familyName,\n otherNames: userDetails?.name?.otherNames,\n },\n mobileNumber: mobileNumber,\n isDeleted: false,\n isSystemUser: true,\n isSystemUserActive: true,\n };\n\n // Only add optional fields if they have values\n if (gender?.value) {\n individualPayload.gender = gender.value;\n }\n\n if (email) {\n individualPayload.email = email;\n }\n\n if (profilePic) {\n individualPayload.photo = profilePic;\n }\n\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_update`,\n useCache: false,\n method: \"POST\",\n userService: true,\n body: {\n Individual: individualPayload,\n },\n });\n responseInfo = response?.responseInfo;\n \n\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message: error?.response?.data?.Errors?.[0]?.description || \"CORE_COMMON_PROFILE_UPDATE_ERROR\",\n };\n }\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n // ... (RENDER JSX FROM NEW FILE) ...\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"100%\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"20rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default IndividualUserProfile;","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport IndividualUserProfile from \"./IndividualUserProfile\";\n\nconst DEFAULT_TENANT=Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} isUserRegistered={isUserRegistered} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n const requestData = {\n ...userInfo,\n name,\n gender: gender?.value,\n emailId: email,\n photo: profilePic,\n };\n\n if(name){\n setName((prev)=>prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n // Updating state with trimmed values\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n \n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n const { responseInfo, user } = await Digit.UserService.updateUser(requestData, stateCode);\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n const errorObj = JSON.parse(error);\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"40rem\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"40rem\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"40rem\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"0rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default UserProfile;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Background from \"./Background\";\nimport { Button, Card, CardHeader, CardText } from \"@egovernments/digit-ui-components\";\nimport Header from \"./Header\";\n\nconst CustomErrorComponent = (props) => {\n const { state = {} } = useLocation();\n // const module = state?.module;\n const { t } = useTranslation();\n const stateInfo = props.stateInfo;\n\n const navigate = useNavigate();\n const ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://s3.ap-south-1.amazonaws.com/egov-qa-assets/error-image.png`,\n infoHeader: \"WRONG_TENANT_SIGN_UP\",\n infoMessage: \"WRONG_TENANT_SIGN_UP_MESSAGE\",\n buttonInfo: \"WRONG_TENANT_SIGN_UP_BUTTON\",\n action: () => {\n navigate(`/${window.globalPath}/`);\n },\n },\n };\n const config = ModuleBasedErrorConfig[\"sandbox\"];\n\n return (\n <Background>\n <Card className={`digit-employee-card customError`}>\n <Header showTenant={false} />\n <CardHeader className={\"center\"}>{t(config.infoHeader)}</CardHeader>\n <CardText className={\"center\"}>{t(config.infoMessage)}</CardText>\n <Button\n className=\"customErrorButton\"\n label={t(config?.buttonInfo)}\n variation={\"primary\"}\n isSuffix={true}\n onClick={(e) => {\n e.preventDefault();\n config?.action();\n }}\n />\n </Card>\n </Background>\n );\n};\n\nexport default CustomErrorComponent;\n","export const loginSteps = [\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_MOBILE_NUMBER\",\n cardText: \"CS_LOGIN_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"text\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOB_NO\",\n validation: {\n required: true,\n minlength: 10,\n maxlength: 10,\n },\n },\n ],\n },\n {\n texts: {\n header: \"CS_LOGIN_OTP\",\n cardText: \"CS_LOGIN_OTP_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n },\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_NAME\",\n cardText: \"CS_LOGIN_NAME_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_NAME\",\n type: \"text\",\n name: \"name\",\n error: \"CORE_COMMON_NAME_VALIDMSG\",\n validation: {\n required: true,\n minlength: 1,\n maxlength: 50,\n // pattern: /^[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}$/i,\n // pattern: /^(?!\\s)[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}(?!\\s)$/i\n pattern: \"^[A-Za-z]+( [A-Za-z]+)*$\",\n },\n },\n ],\n },\n];\n","import { InputCard, TextBlock, FieldV1, LinkLabel } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo, useState } from \"react\";\n\nconst SelectMobileNumber = ({ t, onSelect, mobileNumber,emailId, onMobileChange,onEmailChange, config, canSubmit }) => {\n const [isEmail, setIsEmail] = useState(emailId? true : false);\n const [error, setError] = useState(\"\");\n\n const core_mobile_config = window?.globalConfigs?.getConfig(\"CORE_MOBILE_CONFIGS\") || {};\n const EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const rawPattern = core_mobile_config?.mobileNumberPattern || \"^\\\\d+$\";\n const mobileNumberPattern = new RegExp(rawPattern);\n\n const isEmailValid = useMemo(() => EMAIL_REGEX.test(emailId), [emailId]);\n const isMobileValid = useMemo(() => mobileNumberPattern.test(mobileNumber || \"\"), [mobileNumber, mobileNumberPattern]);\n\n const handleSubmit = () => {\n if (isEmail) {\n if (!isEmailValid) {\n setError(t(\"ERR_INVALID_EMAIL\"));\n return;\n }\n onSelect({ userName: emailId });\n } else {\n if (!isMobileValid) {\n setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n return;\n }\n onSelect({ mobileNumber });\n }\n };\n\n const handleChange = (e) => {\n const value = e.target.value;\n setError(\"\");\n if (isEmail) {\n onEmailChange(e)\n if (value && !EMAIL_REGEX.test(value)) setError(t(\"ERR_INVALID_EMAIL\"));\n } else {\n onMobileChange(e);\n if (value && !mobileNumberPattern.test(value)) setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n }\n };\n\n const switchMode = () => {\n setIsEmail(!isEmail);\n setError(\"\");\n if(isEmail)\n onEmailChange({ target: { value: \"\" } });\n else\n onMobileChange({ target: { value: \"\" } }); // clear mobile input\n };\n\n const isDisabled = useMemo(() => {\n return isEmail ? !(isEmailValid && canSubmit) : !(isMobileValid && canSubmit);\n }, [isEmail, isEmailValid, isMobileValid, canSubmit]);\n\n const mobileViewStyles = {\n marginLeft:\"0px\",\n userSelect: \"none\",\n color: \"inherit\", \n cursor: \"pointer\", // keeps it clickable\n textDecoration: \"underline\",\n };\n\n // Responsive label\n const linkLabel = useMemo(() => {\n if (window.innerWidth <= 768) {\n return isEmail ? t(\"LOGIN_WITH_MOBILE\") : t(\"LOGIN_WITH_EMAIL\");\n }\n return isEmail ? t(\"CS_USE_MOBILE_INSTEAD\") : t(\"CS_LOGIN_REGISTER_WITH_EMAIL\");\n }, [isEmail, t]);\n\n return (\n <InputCard\n t={t}\n texts={config?.texts}\n submit\n onNext={handleSubmit}\n isDisable={isDisabled}\n >\n <div>\n <FieldV1\n key={isEmail ? \"email\" : \"mobile\"}\n withoutLabel\n charCount\n error={error}\n onChange={handleChange}\n placeholder={isEmail ? t(\"ENTER_EMAIL_PLACEHOLDER\") : t(\"ENTER_MOBILE_PLACEHOLDER\")}\n populators={{\n name: isEmail ? \"userName\" : \"mobileNumber\",\n prefix: isEmail ? \"\" : core_mobile_config?.mobilePrefix,\n validation: {\n maxlength: isEmail ? 256 : (core_mobile_config?.mobileNumberLength || 10),\n pattern: isEmail ? EMAIL_REGEX : mobileNumberPattern,\n },\n }}\n props={{ fieldStyle: { width: \"100%\" } }}\n type=\"text\"\n value={isEmail ? emailId : mobileNumber}\n />\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"1rem\", marginBottom: \"1.5rem\", marginTop: \"-24px\" }}>\n <LinkLabel style={{ display: \"inline\", ...mobileViewStyles }} onClick={switchMode}>\n {linkLabel}\n </LinkLabel>\n </div>\n </InputCard>\n );\n};\n\nexport default SelectMobileNumber;","import { FormStep } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\n\nconst SelectName = ({ config, onSelect, t, isDisabled }) => {\n return <FormStep config={config} onSelect={onSelect} t={t} isDisabled={isDisabled}></FormStep>;\n};\n\nexport default SelectName;\n","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nlet DEFAULT_REDIRECT_URL = `/${window?.contextPath || window?.globalConfigs?.getConfig(\"CONTEXT_PATH\")}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst IndividualLogin = ({ stateCode, isUserRegistered = true }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate();\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(() =>\n loginSteps.map(\n (step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginSteps]\n )\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const handleEmailChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, userName: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n if (isUserRegistered) {\n // LOGIN FLOW: Send OTP\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { \n state: { \n from: getFromLocation(location.state, searchParams) \n }, \n replace: true \n });\n return;\n } else {\n setCanSubmitNo(true);\n setError(t(\"USER_NOT_REGISTERED\") || \"User not registered.\");\n }\n } else {\n // REGISTER FLOW: Go directly to name screen (no OTP needed yet)\n setCanSubmitNo(true);\n navigate(`name`, {\n state: {\n from: getFromLocation(location.state, searchParams),\n data: data\n },\n replace: true\n });\n }\n };\n\n const selectName = async (name) => {\n setCanSubmitName(true);\n\n const userData = {\n ...params,\n ...name,\n };\n\n setParams(userData);\n\n // Call the Individual service registration API\n const registerURL = `${individualServicePath}/v1/_register`;\n\n const requestData = {\n IndividualRegister: {\n tenantId: stateCode,\n name: userData.name,\n emailId: userData.userName || \"\",\n mobileNumber: userData.mobileNumber || \"\",\n requestType: \"Register\"\n }\n };\n\n try {\n const registerResponse = await Digit.CustomService.getResponse({\n url: registerURL,\n body: requestData,\n useCache: false,\n method: \"POST\",\n userService: false,\n auth: false,\n params: {}\n });\n\n if (!registerResponse) {\n throw new Error(\"Registration API failed\");\n }\n\n setCanSubmitName(false);\n // After registration, go to OTP screen\n navigate(`otp`, {\n state: {\n from: getFromLocation(location.state, searchParams)\n },\n replace: true\n });\n\n } catch (err) {\n console.error(\"Registration error:\", err);\n setCanSubmitName(false);\n setError(t(\"REGISTRATION_FAILED\") || \"Registration failed. Please try again.\");\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, userName } = params;\n\n // Authenticate with OTP\n const requestData = {\n username: mobileNumber || userName,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n setError(t(\"INVALID_OTP\") || \"Invalid OTP\");\n }\n };\n\n const resendOtp = async () => {\n if (!isUserRegistered) {\n // For registration flow, user needs to complete registration first\n setError(t(\"PLEASE_COMPLETE_REGISTRATION\") || \"Please enter the OTP sent during registration.\");\n } else {\n // For login flow, resend OTP\n const { mobileNumber, userName } = params;\n const data = {\n mobileNumber,\n userName,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (err) {\n setError(t(\"OTP_RESEND_ERROR\") || \"Failed to resend OTP\");\n }\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n return (\n <div className=\"citizen-form-wrapper\">\n <AppContainer>\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => window.history.back()} />}\n <Routes>\n <Route\n path=\"/\" \n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n emailId={params.userName || \"\"}\n onMobileChange={handleMobileChange}\n onEmailChange={handleEmailChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered}\n t={t}\n />\n } \n />\n <Route \n path=\"otp\" \n element={\n <SelectOtp\n config={{ \n ...stepItems[1], \n texts: { \n ...stepItems[1].texts, \n cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || params.userName || \"\"}` \n } \n }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n } \n />\n <Route \n path=\"name\" \n element={\n <SelectName \n config={stepItems[2]} \n onSelect={selectName} \n t={t} \n isDisabled={canSubmitName} \n />\n } \n />\n </Routes>\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </AppContainer>\n </div>\n );\n};\n\nexport default IndividualLogin;","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\nimport IndividualLogin from \"./IndividualLogin\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nconst DEFAULT_REDIRECT_URL = `/${window?.contextPath}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst Login = ({ stateCode, isUserRegistered = true }) => {\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualLogin stateCode={stateCode} isUserRegistered={isUserRegistered} />;\n }\n\n // Otherwise, continue with standard login flow\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n // useRouteMatch is removed in v6. Path matching is handled by Routes/Route.\n // `path` and `url` were used for constructing sub-routes. In v6, paths are often relative.\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(\n () =>\n loginSteps.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginSteps]\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n // Use relative path for navigation, `.` means current base path\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams), role: location.state?.role }, replace: true });\n return;\n } else {\n setCanSubmitNo(true);\n if (!(location.state && location.state.role === \"FSM_DSO\")) {\n // Use absolute path if navigating outside the current route's scope, or relative if it's a sibling route\n navigate(`/${window?.contextPath}/citizen/register/name`, { state: { from: getFromLocation(location.state, searchParams), data: data } });\n }\n }\n if (location.state?.role) {\n setCanSubmitNo(true);\n setError(location.state?.role === \"FSM_DSO\" ? t(\"ES_ERROR_DSO_LOGIN\") : \"User not registered.\");\n }\n } else {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n return;\n }\n setCanSubmitNo(true);\n }\n };\n\n const selectName = async (name) => {\n const data = {\n ...params,\n tenantId: stateCode,\n userType: getUserType(),\n ...name,\n };\n setParams({ ...params, ...name });\n setCanSubmitName(true);\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (res) {\n setCanSubmitName(false);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n } else {\n setCanSubmitName(false);\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, name } = params;\n if (isUserRegistered) {\n const requestData = {\n username: mobileNumber,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (location.state?.role) {\n const roleInfo = info.roles.find((userRole) => userRole.code === location.state.role);\n if (!roleInfo || !roleInfo.code) {\n setError(t(\"ES_ERROR_USER_NOT_PERMITTED\"));\n // navigate also handles timeouts for redirects\n setTimeout(() => navigate(DEFAULT_REDIRECT_URL, { replace: true }), 5000);\n return;\n }\n }\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n } else if (!isUserRegistered) {\n const requestData = {\n name,\n username: mobileNumber,\n otpReference: otp,\n tenantId: stateCode,\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.registerUser(requestData, stateCode);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n }\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n }\n };\n\n const resendOtp = async () => {\n const { mobileNumber } = params;\n const data = {\n mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (!isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n } else if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n return (\n <div className=\"citizen-form-wrapper\">\n <AppContainer>\n {/* BackLink now uses navigate(-1) for going back */}\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => navigate(-1)} />}\n <Routes> {/* Replaced Switch with Routes */}\n {/* Route path is now relative to the parent <Routes> */}\n <Route\n path=\"/\" // This will match the base path where this component is rendered (e.g., /citizen/login if mounted there)\n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n onMobileChange={handleMobileChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered && !location.state?.role}\n t={t}\n />\n }\n />\n <Route\n path=\"otp\" // This will match /path/to/current/route/otp\n element={\n <SelectOtp\n config={{ ...stepItems[1], texts: { ...stepItems[1].texts, cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || \"\"}` } }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n }\n />\n <Route\n path=\"name\" // This will match /path/to/current/route/name\n element={<SelectName config={stepItems[2]} onSelect={selectName} t={t} isDisabled={canSubmitName} />}\n />\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </Routes>\n </AppContainer>\n </div>\n );\n};\n\nexport default Login;","export const useLoginConfig = (stateCode) => {\n const moduleName = Digit.Utils.getConfigModuleName();\n\n return Digit.Hooks.useCommonMDMS(\n stateCode,\n moduleName,\n [\"LoginConfig\"],\n {\n select: (data) => ({\n config: data?.[moduleName]?.LoginConfig,\n }),\n retry: false,\n }\n );\n};\n","import React, { Fragment, useState, useEffect } from \"react\";\nimport { Button, LandingPageCard, LandingPageWrapper } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\n\nimport { CustomSVG } from \"@egovernments/digit-ui-components\";\nconst Components = require(\"@egovernments/digit-ui-svg-components\");\n\nexport const RoleBasedEmployeeHome = ({ modules, additionalComponent }) => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate= useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n let sortedConfigEmployeesSidebar = null;\n const [mdmsOrderData, setMdmsOrderData] = useState([{}]);\n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"HomeScreenOrder\",\n [\n {\n name: \"CardsAndLinksOrder\",\n },\n ],\n {\n select: (data) => {\n return data?.[\"HomeScreenOrder\"]?.[\"CardsAndLinksOrder\"];\n },\n }\n );\n\n\n\n const { data: moduleConfigData, isLoading: isModuleConfigLoading } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"SandBoxLanding\",\n [\n {\n name: \"AdditionalModuleLinks\",\n },\n ],\n {\n \n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"AdditionalModuleLinks\"];\n },\n }\n );\n \n useEffect(() => {\n setMdmsOrderData(MdmsRes);\n }, [MdmsRes]);\n\n const transformURL = (url = \"\") => {\n if (url == \"/\") {\n return;\n }\n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n let updatedUrl = null;\n if (isMultiRootTenant) {\n url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n updatedUrl = url;\n } else {\n updatedUrl = url;\n }\n return updatedUrl;\n } else {\n return url;\n }\n };\n\n const getLinkByType = (moduleData, type) => {\n if (!moduleData || !type) return null;\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n const linkKey = moduleConfig?.[type];\n const links = moduleData?.links;\n return links?.find((item) => item?.displayName === linkKey) || null;\n };\n\n // Function to filter links dynamically based on module config\n const getFilteredLinks = (moduleData) => {\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n return moduleData?.links?.filter((item) => {\n const displayName = item.displayName;\n const isNotConfigureMaster = displayName !== \"Configure_master\";\n const isNotHowItWorks = displayName !== moduleConfig?.howItWorksLink;\n const isNotUserManual = displayName !== moduleConfig?.userManualLink;\n\n return isNotConfigureMaster && isNotHowItWorks && isNotUserManual;\n });\n };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n kpis: [],\n icon: item.leftIcon ? Digit.Utils.iconRender({iconName: item.leftIcon, iconFill: \"white\",CustomSVG,Components}) : \"\",\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = transformURL(item.navigationURL);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: linkUrl,\n icon: item.leftIcon,\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n displayName: item.displayName,\n });\n return acc;\n }, {});\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n\n const sortCardAndLink = (configEmployeeSideBar) => {\n const sortedModules = Object.keys(configEmployeeSideBar)\n .sort((a, b) => {\n const cardOrderA = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === a)?.order || null;\n const cardOrderB = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === b)?.order || null;\n return cardOrderA - cardOrderB;\n })\n .reduce((acc, module) => {\n const sortedLinks = configEmployeeSideBar?.[module]?.links?.sort((linkA, linkB) => {\n const labelA = linkA?.displayName;\n const labelB = linkB?.displayName;\n const orderA =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelA.replace(/\\s+/g, \"_\")}`)?.order || null;\n const orderB =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelB.replace(/\\s+/g, \"_\")}`)?.order || null;\n\n return orderA - orderB;\n });\n\n acc[module] = {\n ...configEmployeeSideBar[module],\n links: sortedLinks,\n };\n\n return acc;\n }, {});\n\n return sortedModules;\n };\n\n if (isMultiRootTenant) {\n sortedConfigEmployeesSidebar = sortCardAndLink(configEmployeeSideBar);\n } else {\n sortedConfigEmployeesSidebar = configEmployeeSideBar;\n }\n\n const children = Object.keys(sortedConfigEmployeesSidebar)?.map((current, index) => {\n const moduleData = sortedConfigEmployeesSidebar?.[current];\n const configureData = moduleData?.links?.find((item) => item?.displayName === \"Configure_master\");\n const howItWorks = getLinkByType(moduleData, \"howItWorksLink\");\n const userManual = getLinkByType(moduleData, \"userManualLink\");\n\n const propsForModuleCard = {\n icon: \"SupervisorAccount\",\n moduleName: t(moduleData?.label),\n metrics: [],\n links: Digit.Utils.getMultiRootTenant() ? getFilteredLinks(moduleData) : moduleData?.links,\n centreChildren: [\n <div>{t(Digit.Utils.locale.getTransformedLocale(`MODULE_CARD_DESC_${current}`))}</div>,\n howItWorks && (\n <Button\n variation=\"teritiary\"\n label={howItWorks?.label}\n icon={howItWorks?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(howItWorks?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ],\n endChildren: Digit.Utils.getMultiRootTenant()\n ? [\n configureData && (\n <Button\n variation=\"teritiary\"\n label={configureData?.label}\n icon={configureData?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => navigate(configureData?.link)}\n style={{ padding: \"0px\" }}\n />\n ),\n userManual && (\n <Button\n variation=\"teritiary\"\n label={userManual?.label}\n icon={userManual?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(userManual?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ]\n : null,\n };\n\n return <LandingPageCard buttonSize={\"medium\"} {...propsForModuleCard} />;\n });\n\n return (\n <>\n <LandingPageWrapper>{React.Children.map(children, (child) => React.cloneElement(child))}</LandingPageWrapper>\n </>\n );\n};","import React from \"react\";\nimport{ useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardHeader, LinkLabel, Card, Button } from \"@egovernments/digit-ui-components\";\nimport { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport { CardSubHeader, CardSectionHeader, BreakLine, CardSectionSubText } from \"@egovernments/digit-ui-react-components\";\n\nconst FaqComponent = (props) => {\n const { question,isLabelLink, answer,type,actions,content, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getStateId();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {isLabelLink ? (\n action?.label ? (\n <Button\n variation=\"teritiary\"\n label={t(action?.label)} \n type=\"button\"\n size={\"medium\"}\n onClick={() => {\n if (action?.fulllink) {\n window.open(action?.link, \"_blank\");\n } else {\n const baseURL = `https://${window.location.hostname}/${window?.globalPath}/${tenantId}`;\n window.open(`${baseURL}/${action?.link}`, \"_blank\");\n }\n }}\n style={{ padding: \"0px\" }}\n />\n ) : null\n ) : (\n action?.label ? <strong>{t(action?.label)}:</strong> : null\n )} \n {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nconst CardC = ({ type, title, content, actions, style }) => {\n const { t } = useTranslation();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div>\n {/* <div style={{ border: \"1px solid #ccc\", borderRadius: \"8px\", padding: \"16px\", margin: \"16px\", ...style }}> */}\n <CardSectionHeader>{t(title)}</CardSectionHeader>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {action?.label ? <strong>{t(action?.label)}:</strong> : null} {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n );\n};\n\nconst FAQ = ({ key, title, content, faqs ,type}) => {\n const { t } = useTranslation();\n return (\n <div style={{ width: \"100%\" }}>\n <div style={{ width: \"100%\" }}>\n {faqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} isLabelLink={faq.isLabelLink} type ={type} actions={faq.answer} content ={faq.content}lastIndex={i === faqs?.length - 1} />\n ))}\n </div>\n </div>\n );\n};\nconst QuickSetup = ({ cardConfig }) => {\n const { t } = useTranslation();\n\n const moduleFaqs = [\n {\n question: \"SANDBOX_FAQ_QUES_ONE\",\n answer: \"SANDBOX_FAQ_ANS_ONE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_TWO\",\n answer: \"SANDBOX_FAQ_ANS_TWO\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_THREE\",\n answer: \"SANDBOX_FAQ_ANS_THREE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_FOUR\",\n answer: \"SANDBOX_FAQ_ANS_FOUR\",\n },\n ];\n return (\n <Card className={\"sandbox-guide\"} style={{ width: \"25rem\", height: \"47rem\", overflowY: \"scroll\" }}>\n {/* <Card style={{ height: \"47rem\", overflowY: \"scroll\" }}> */}\n <CardHeader>{t(\"GUIDE_TO_SETUP\")}</CardHeader>\n <div style={{ display: \"flex\", flexWrap: \"wrap\" }}>\n {cardConfig.map((config, index) => {\n return config?.type === \"faqs\" ? (\n <FAQ key={config.id} title={config.title} type = {config?.type} content={config.content} faqs={config.actions} />\n ) : (\n <React.Fragment>\n <CardC\n type={config?.type}\n key={config.id}\n title={config.title}\n content={config.content}\n actions={config.actions}\n style={config.style}\n />\n {index !== cardConfig?.length - 1 && <BreakLine style={{ width: \"100%\", border: \"1px solid #d6d5d4\" }} />}\n </React.Fragment>\n );\n })}\n </div>\n </Card>\n );\n};\n\nexport default QuickSetup;","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardLabelError, Toast, CardLabel, Card, CardHeader, LinkLabel, Loader } from \"@egovernments/digit-ui-components\";\nimport QuickSetupComponent from \".\";\nimport QuickSetup from \"./QuickSetup\";\n\nconst QuickSetupConfigComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit.ULBService.getStateId();\n\n // const transformURL = (url = \"\") => {\n // if (url == \"/\") {\n // return;\n // }\n // if (Digit.Utils.isContextPathMissing(url)) {\n // let updatedUrl = null;\n // if (isMultiRootTenant) {\n // url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n // updatedUrl = url;\n // } else {\n // updatedUrl = DIGIT_UI_CONTEXTS?.every((e) => url?.indexOf(`/${e}`) === -1) ? \"/employee/\" + url : url;\n // }\n // return updatedUrl;\n // } else {\n // return url;\n // }\n // };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = Digit.Utils.transformURL(item.navigationURL, tenantId);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: queryParamIndex === -1 ? linkUrl : linkUrl.substring(0, queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n description: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}_DESCRIPTION`)),\n });\n return acc;\n }, {});\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n const QuickSetupConfig = [\n {\n sectionHeader: \"WELCOME_TO_SANDBOX\",\n sections: [\n {\n label: \"SANDBOX_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_3\",\n },\n ],\n },\n {\n sectionHeader: \"QUICK_SETUP\",\n links: configEmployeeSideBar,\n },\n ];\n\n const cardConfig = [\n {\n id: 1,\n type: \"faqs\",\n actions: [\n {\n question: \"SANDBOX_FAQ_QUES_14\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_14_LABEL_1\",\n fulllink:true,\n link:\"https://egov-digit.gitbook.io/digit-sandbox/specifications/user-manual/walkthrough-videos\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_1\",\n content: \"SANDBOX_FAQ_CONTENT_1\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_1\",\n link:\"citizen/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_2\",\n link: \"employee/user/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_2\",\n content: \"SANDBOX_FAQ_CONTENT_2\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_3\",\n content: \"SANDBOX_FAQ_CONTENT_3\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_4\",\n content: \"SANDBOX_FAQ_CONTENT_4\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_5\",\n content: \"SANDBOX_FAQ_CONTENT_5\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_4\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_5\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_5\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_6\",\n content: \"SANDBOX_FAQ_CONTENT_6\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_7\",\n content: \"SANDBOX_FAQ_CONTENT_7\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_8\",\n content: \"SANDBOX_FAQ_CONTENT_8\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_4\",\n },\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_9\",\n content: \"SANDBOX_FAQ_CONTENT_9\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_10\",\n content: \"SANDBOX_FAQ_CONTENT_10\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_11\",\n content: \"SANDBOX_FAQ_CONTENT_11\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_12\",\n content: \"SANDBOX_FAQ_CONTENT_12\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_13\",\n content: \"SANDBOX_FAQ_CONTENT_13\",\n } \n ],\n },\n ];\n\n // return <QuickSetupComponent config={QuickSetupConfig}></QuickSetupComponent>;\n return <QuickSetup cardConfig={cardConfig}></QuickSetup>;\n};\n\nexport default QuickSetupConfigComponent;\n","import {\n CitizenHomeCard,\n CitizenInfoLabel,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\n\nimport { BackLink, CustomSVG ,LandingPageWrapper } from \"@egovernments/digit-ui-components\";\n\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { RoleBasedEmployeeHome } from \"./RoleBasedEmployeeHome\";\nimport QuickSetupConfigComponent from \"../pages/employee/QuickStart/Config\";\n\n/* \nFeature :: Citizen All service screen cards\n*/\nexport const processLinkData = (newData, code, t) => {\n const obj = newData?.[`${code}`];\n if (obj) {\n obj.map((link) => {\n if (Digit.Utils.getMultiRootTenant()) {\n link[\"navigationURL\"] = link[\"navigationURL\"].replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${Digit.ULBService.getStateId()}/citizen`);\n }\n link.link = link[\"navigationURL\"];\n link.i18nKey = t(link[\"name\"]);\n\n });\n }\n const newObj = {\n links: obj?.reverse(),\n header: Digit.Utils.locale.getTransformedLocale(`ACTION_TEST_${code}`),\n iconName: `CITIZEN_${code}_ICON`,\n };\n if (code === \"FSM\") {\n const roleBasedLoginRoutes = [\n {\n role: \"FSM_DSO\",\n from: `/${window?.contextPath}/citizen/fsm/dso-dashboard`,\n dashoardLink: \"CS_LINK_DSO_DASHBOARD\",\n loginLink: \"CS_LINK_LOGIN_DSO\",\n },\n ];\n //RAIN-7297\n roleBasedLoginRoutes.map(({ role, from, loginLink, dashoardLink }) => {\n if (Digit.UserService.hasAccess(role))\n newObj?.links?.push({\n link: from,\n i18nKey: t(dashoardLink),\n });\n else\n newObj?.links?.push({\n link: `/${window?.contextPath}/citizen/login`,\n state: { role: \"FSM_DSO\", from },\n i18nKey: t(loginLink),\n });\n });\n }\n\n return newObj;\n};\nconst iconSelector = (code) => {\n switch (code) {\n case \"PT\":\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n case \"WS\":\n return <CustomSVG.WSICon className=\"fill-path-primary-main\" />;\n case \"FSM\":\n return <CustomSVG.FSMIcon className=\"fill-path-primary-main\" />;\n case \"MCollect\":\n return <CustomSVG.MCollectIcon className=\"fill-path-primary-main\" />;\n case \"PGR\":\n return <CustomSVG.PGRIcon className=\"fill-path-primary-main\" />;\n case \"TL\":\n return <CustomSVG.TLIcon className=\"fill-path-primary-main\" />;\n case \"OBPS\":\n return <CustomSVG.OBPSIcon className=\"fill-path-primary-main\" />;\n case \"Bills\":\n return <CustomSVG.BillsIcon className=\"fill-path-primary-main\" />;\n default:\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n }\n};\nimport { useNavigate } from \"react-router-dom\";\n\n// Inside CitizenHome component\nconst CitizenHome = ({ getCitizenMenu, fetchedCitizen, isLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n if (isLoading || !fetchedCitizen || !getCitizenMenu) {\n return <Loader />;\n }\n\n const parentModules = Object.keys(getCitizenMenu);\n\n const handleLinkClick = (e, link) => {\n e.preventDefault();\n navigate(link);\n };\n\n return (\n <div className=\"citizen-all-services-wrapper\">\n {location.pathname.includes(\n \"sanitation-ui/citizen/all-services\"\n ) || (location.pathname.includes(\"sandbox-ui\") && location.pathname.includes(\"all-services\")) ? null : (\n <BackLink onClick={() => window.history.back()}/>\n )}\n <div className=\"citizenAllServiceGrid\">\n {parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <div className=\"CitizenHomeCard\" key={code}>\n <div className=\"header\">\n <h2>{t(mdmsDataObj?.header)}</h2>\n {iconSelector(code)}\n </div>\n <div className=\"links\">\n {mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .map((link, i) => (\n <div className=\"linksWrapper\" key={i}>\n <a \n href={link.link} \n onClick={(e) => handleLinkClick(e, link.link)}\n >\n {link.i18nKey}\n </a>\n </div>\n ))}\n </div>\n </div>\n );\n }\n return null;\n })}\n </div>\n </div>\n );\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* <div className=\"ground-container moduleCardWrapper gridModuleWrapper digit-home-moduleCardWrapper\"> */}\n <LandingPageWrapper>\n {modules?.map(({ code }, index) => {\n const Card =\n Digit.ComponentRegistryService.getComponent(`${code}Card`) ||\n (() => <React.Fragment />);\n return <Card key={index} />;\n })}\n </LandingPageWrapper>\n {/* </div> */}\n </div>\n\n {additionalComponent &&\n additionalComponent?.length > 0 &&\n additionalComponent.map((i) => {\n const Component =\n typeof i === \"string\"\n ? Digit.ComponentRegistryService.getComponent(i)\n : null;\n return Component ? (\n <div className=\"additional-component-wrapper\">\n <Component />\n </div>\n ) : null;\n })}\n </>\n );\n};\n\nexport const AppHome = ({\n userType,\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n additionalComponent,\n}) => {\n if (userType === \"citizen\") {\n return (\n <CitizenHome\n modules={modules}\n getCitizenMenu={getCitizenMenu}\n fetchedCitizen={fetchedCitizen}\n isLoading={isLoading}\n />\n );\n }\n const isSuperUserWithMultipleRootTenant = Digit.UserService.hasAccess(\"SUPERUSER\") && Digit.Utils.getMultiRootTenant()\n return Digit.Utils.getRoleBasedHomeCard() ? (\n <div className={isSuperUserWithMultipleRootTenant ? \"homeWrapper\" : \"\"}>\n <RoleBasedEmployeeHome modules={modules} additionalComponent={additionalComponent} />\n {isSuperUserWithMultipleRootTenant && !window.Digit.Utils.browser.isMobile() ? <QuickSetupConfigComponent /> : null}\n </div>\n ) : (\n <EmployeeHome modules={modules} additionalComponent={additionalComponent} />\n );\n};\n","import React, { useState, useEffect } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * DynamicModuleLoader handles loading of modules from the ComponentRegistryService\n * with loading states, retries, and graceful error handling\n */\nconst DynamicModuleLoader = ({ \n moduleCode, \n stateCode, \n userType, \n tenants, \n maxRetries = 5, \n retryDelay = 1500,\n initialDelay = 100 // Initial delay before first check to allow modules to register\n}) => {\n const [moduleState, setModuleState] = useState({\n module: null,\n loading: true,\n error: null,\n retryCount: 0,\n initialDelayComplete: false\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n let retryTimeout;\n let initialTimeout;\n\n const loadModule = async () => {\n try {\n // Check if module is available in ComponentRegistryService\n const Module = Digit.ComponentRegistryService.getComponent(`${moduleCode}Module`);\n \n if (Module) {\n setModuleState({\n module: Module,\n loading: false,\n error: null,\n retryCount: 0,\n initialDelayComplete: true\n });\n } else {\n // Module not found, check if we should retry\n if (moduleState.retryCount < maxRetries) {\n setModuleState(prev => ({\n ...prev,\n retryCount: prev.retryCount + 1\n }));\n \n // Retry after delay (exponential backoff)\n const delay = retryDelay * Math.pow(1.5, moduleState.retryCount);\n retryTimeout = setTimeout(() => {\n loadModule();\n }, delay);\n } else {\n // Max retries reached\n setModuleState({\n module: null,\n loading: false,\n error: `Module \"${moduleCode}\" not found after ${maxRetries} attempts`,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n }\n } catch (error) {\n console.error(`Error loading module ${moduleCode}:`, error);\n setModuleState({\n module: null,\n loading: false,\n error: error.message,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n };\n\n // Start with initial delay to allow modules to register\n if (!moduleState.initialDelayComplete) {\n initialTimeout = setTimeout(() => {\n setModuleState(prev => ({ ...prev, initialDelayComplete: true }));\n loadModule();\n }, initialDelay);\n } else {\n loadModule();\n }\n\n // Cleanup timeouts on unmount\n return () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout);\n }\n if (initialTimeout) {\n clearTimeout(initialTimeout);\n }\n };\n }, [moduleCode, moduleState.retryCount, moduleState.initialDelayComplete, maxRetries, retryDelay, initialDelay]);\n\n // Show loading state\n if (moduleState.loading) {\n const loadingText = !moduleState.initialDelayComplete\n ? t(\"CORE_INITIALIZING_MODULE\", { moduleCode, defaultValue: \"Initializing {{moduleCode}} module...\" })\n : t(\"CORE_LOADING_MODULE\", { moduleCode, defaultValue: \"Loading {{moduleCode}} module...\" });\n\n return (\n <div className=\"module-loading-container\">\n <Loader \n page={true} \n variant=\"PageLoader\" \n loaderText={loadingText}\n />\n {moduleState.retryCount > 0 && moduleState.initialDelayComplete && (\n <div className=\"retry-info\" style={{ textAlign: 'center', marginTop: '1rem', color: '#666' }}>\n {t(\"CORE_MODULE_RETRY_ATTEMPT\", { retryCount: moduleState.retryCount, maxRetries, defaultValue: \"Retry attempt {{retryCount}}/{{maxRetries}}\" })}\n </div>\n )}\n </div>\n );\n }\n\n // Show error state and redirect\n if (moduleState.error || !moduleState.module) {\n console.warn(`Module loading failed for ${moduleCode}:`, moduleState.error);\n return (\n <Navigate\n to={`/${window?.contextPath}/employee/user/error?type=notfound&module=${moduleCode}&reason=${encodeURIComponent(moduleState.error || 'Module not found')}`}\n replace\n />\n );\n }\n\n // Render the loaded module\n const Module = moduleState.module;\n return (\n <Module \n stateCode={stateCode} \n moduleCode={moduleCode} \n userType={userType} \n tenants={tenants} \n />\n );\n};\n\nexport default DynamicModuleLoader;","import React, { useState, useEffect } from \"react\";\nimport { BackLink, CardLabel, Loader, Toast } from \"@egovernments/digit-ui-components\";\nimport { FormComposerV2 } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\"; // Updated imports for v6\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\n/* set employee details to enable backward compatible */\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Otp = ({ isLogin = false }) => {\n const { t } = useTranslation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(false);\n const [user, setUser] = useState(null);\n const [params, setParams] = useState(location?.state?.data || {});\n const [ifSuperUserExists, setIfSuperUserExist] = useState(false);\n // In v6, location.state is directly available, no need for destructuring within another object\n const { email, tenant } = location.state || {}; \n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const config = [\n {\n body: [\n {\n type: \"component\",\n component: \"OtpComponent\",\n key: \"OtpComponent\",\n withoutLabel: true,\n isMandatory: false,\n customProps: {\n email: email,\n tenant: tenant,\n },\n populators: {\n required: true,\n },\n },\n ],\n },\n ];\n\n const OtpConfig = [\n {\n texts: {\n // header: t(\"CORE_COMMON_OTP_LABEL\"),\n header: t(\"SANDBOX_OTP_VERIFICATION\"),\n submitButtonLabel: \"CORE_COMMON_SUBMIT\",\n },\n },\n ];\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.globalPath}/user/setup`;\n\n const getRedirectPathOtpLogin = (locationPathname, user, MdmsRes, RoleLandingUrl) => {\n const userRole = user?.info?.roles?.[0]?.code;\n const isSuperUser = userRole === \"SUPERUSER\";\n const contextPath = window?.contextPath;\n\n switch (true) {\n case locationPathname === \"/sandbox-ui/user/otp\" && isSuperUser:\n return `/${contextPath}/employee/sandbox/landing`;\n\n case isSuperUser && MdmsRes?.[0]?.rolesForLandingPage?.includes(\"SUPERUSER\"):\n return `/${contextPath}${RoleLandingUrl}`;\n\n default:\n return `/${contextPath}/employee`;\n }\n };\n\n // Usage\n const redirectPathOtpLogin = getRedirectPathOtpLogin(location.pathname, user, MdmsRes, RoleLandingUrl);\n\n if (isLogin) {\n navigate(redirectPathOtpLogin); // Replaced history.push with navigate\n return;\n } else {\n navigate(\n {\n pathname: redirectPath,\n },\n { state: { tenant: tenant } } // Pass state as a separate options object\n );\n return;\n }\n }, [user]);\n\n const onSubmit = async (formData) => {\n const requestData = {\n username: email,\n password: formData?.OtpComponent?.otp,\n tenantId: tenant,\n userType: \"EMPLOYEE\",\n };\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => navigate(-1)} /> {/* navigate(-1) for going back */}\n </div>\n <FormComposerV2\n onSubmit={onSubmit}\n noBoxShadow\n inline\n submitInForm\n onFormValueChange={(setValue, formValue) => {\n const otpValue = formValue[\"OtpComponent\"];\n if (otpValue?.otp?.length === 6) {\n setIsOtpValid(true);\n } else {\n setIsOtpValid(false);\n }\n }}\n isDisabled={!isOtpValid}\n config={config}\n label={OtpConfig[0].texts.submitButtonLabel}\n heading={OtpConfig[0].texts.header}\n headingStyle={{ textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"sandbox-onboarding-wrapper\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default Otp;","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: React.useCallback((elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n }, [control._fields, name]),\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { DatePicker, SearchField, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { Controller } from \"react-hook-form\";\nconst SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => {\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_FROM_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"fromDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_TO_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"toDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-search-action-submit\">\n <Button\n style={{ marginTop: isMobile ? \"510px\" : \"25px\", marginLeft: isMobile ? \"0\" : \"-30px\", maxWidth: isMobile ? \"100%\" : \"240px\" }}\n label={t(\"ES_COMMON_APPLY\")}\n submit\n />\n </SearchField>\n </>\n );\n};\nexport default SearchFields;\n","import {\n BackButton,\n DetailsCard,\n HeaderComponent,\n Loader,\n PopUp,\n SearchAction,\n SearchForm,\n CloseSvg,\n DownloadBtnCommon,\n} from \"@egovernments/digit-ui-components\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useState,\n} from \"react\";\nimport SearchFormFields from \"./SearchFields\";\n// import { convertEpochToDateDMY } from \"../../utils\";\n\nconst MobileSearchApplication = ({\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n isLoading,\n}) => {\n function activateModal(state, action) {\n switch (action.type) {\n case \"set\":\n return action.payload;\n case \"remove\":\n return false;\n default:\n break;\n }\n }\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [currentlyActiveMobileModal, setActiveMobileModal] = useReducer(\n activateModal,\n false\n );\n\n const closeMobilePopupModal = () => {\n setActiveMobileModal({ type: \"remove\" });\n };\n\n const MobilePopUpCloseButton = () => (\n <div\n className=\"InboxMobilePopupCloseButtonWrapper\"\n onClick={closeMobilePopupModal}\n >\n <CloseSvg />\n </div>\n );\n const searchFormFieldsComponentProps = {\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n };\n\n const MobileComponentDirectory = ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) => {\n const { closeMobilePopupModal } = props;\n switch (currentlyActiveMobileModal) {\n case \"SearchFormComponent\":\n return (\n <SearchForm {...props}>\n <MobilePopUpCloseButton />\n <div className=\"MobilePopupHeadingWrapper\">\n <h2>{t(\"PRIVACY_AUDIT_REPORT\")}:</h2>\n </div>\n <SearchFormFields\n {...searchFormFieldsComponentProps}\n {...{ closeMobilePopupModal, tenantId, t }}\n />\n {/* <SearchField className=\"submit\">\n <SubmitBar label={t(\"ES_COMMON_SEARCH\")} submit form=\"search-form\"/>\n <p onClick={onResetSearchForm}>{t(`ES_COMMON_CLEAR_ALL`)}</p>\n </SearchField> */}\n </SearchForm>\n );\n default:\n return <span></span>;\n }\n };\n const CurrentMobileModalComponent = useCallback(\n ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) =>\n MobileComponentDirectory({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props,\n }),\n [currentlyActiveMobileModal]\n );\n let roles = [];\n data?.roles?.forEach((item) => {\n roles.push(item?.name);\n });\n const propsMobileInboxCards = useMemo(() => {\n if (data?.display) {\n return [];\n }\n if (data === \"\") {\n return [];\n }\n return data?.map((data) => ({\n [t(\"AUDIT_DATE_LABEL\")]: convertEpochToDate(data.timestamp),\n [t(\"AUDIT_TIME_LABEL\")]: convertEpochToTimeInHours(data.timestamp),\n [t(\"AUDIT_DATAVIEWED_LABEL\")]: data.dataView[0] + \",\" + data.dataView[1],\n [t(\"AUDIT_DATAVIEWED_BY_LABEL\")]: data.dataViewedBy,\n [t(\"AUDIT_ROLE_LABEL\")]: data.roles\n .slice(0, 3)\n ?.map((e) => e.name)\n .join(\",\"),\n }));\n }, [data]);\n\n return (\n <React.Fragment>\n <BackButton />\n <div\n className=\"sideContent\"\n style={{ marginLeft: \"70%\", marginTop: \"-12%\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}:</HeaderComponent>\n <div className=\"digit-search-box\">\n <SearchAction\n text={t(\"ES_COMMON_SEARCH\")}\n handleActionClick={() =>\n setActiveMobileModal({\n type: \"set\",\n payload: \"SearchFormComponent\",\n })\n }\n {...{ tenantId, t }}\n />\n </div>\n {currentlyActiveMobileModal ? (\n <PopUp>\n <CurrentMobileModalComponent\n onSubmit={(data) => {\n setActiveMobileModal({ type: \"remove\" });\n onSubmit(data);\n }}\n handleSubmit={handleSubmit}\n id=\"search-form\"\n className=\"rm-mb form-field-flex-one inboxPopupMobileWrapper\"\n {...{\n searchFormFieldsComponentProps,\n currentlyActiveMobileModal,\n closeMobilePopupModal,\n tenantId,\n }}\n />\n </PopUp>\n ) : null}\n {isLoading && <Loader />}\n <DetailsCard\n {...{\n data: propsMobileInboxCards,\n }}\n />\n </React.Fragment>\n );\n};\n\nexport default MobileSearchApplication;\n","import {\n DownloadBtnCommon,\n Table,\n} from \"@egovernments/digit-ui-react-components\";\nimport {\n BackButton,\n Loader,\n SearchForm,\n HeaderComponent\n} from \"@egovernments/digit-ui-components\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport MobileSearchApplication from \"./MobileSearchApplication\";\nimport SearchFields from \"./SearchFields\";\n\nconst SearchApplication = ({ tenantId, t, onSubmit, data, count }) => {\n const initialValues = Digit.SessionStorage.get(\n \"AUDIT_APPLICATION_DETAIL\"\n ) || {\n offset: 0,\n limit: 5,\n sortOrder: \"DESC\",\n };\n const {\n register,\n control,\n handleSubmit,\n setValue,\n getValues,\n reset,\n } = useForm({\n defaultValues: initialValues,\n });\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n register(\"offset\", 0);\n register(\"limit\", 5);\n register(\"sortOrder\", \"DESC\");\n }, [register]);\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const onSort = useCallback((args) => {\n if (args.length === 0) return;\n setValue(\"sortBy\", args.id);\n setValue(\"sortOrder\", args.desc ? \"DESC\" : \"ASC\");\n }, []);\n\n function onPageSizeChange(e) {\n setValue(\"limit\", Number(e.target.value));\n handleSubmit(onSubmit)();\n }\n\n function nextPage() {\n setValue(\"offset\", getValues(\"offset\") + getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n function previousPage() {\n setValue(\"offset\", getValues(\"offset\") - getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isMobile) {\n return (\n <MobileSearchApplication\n {...{\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n }}\n />\n );\n }\n\n //need to get from workflow\n const GetCell = (value) => <span className=\"cell-text\">{value}</span>;\n const columns = useMemo(\n () => [\n {\n Header: t(\"AUDIT_DATE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToDate(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: t(\"AUDIT_TIME_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToTimeInHours(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_LABEL\")\n : t(\"AUDIT_DATAVIEWED_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataView}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_BY_LABEL\")\n : t(\"AUDIT_DATAVIEWED_BY_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataViewedBy}`);\n },\n },\n {\n Header: t(\"AUDIT_ROLE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.roles.slice(0, 3)?.map((e) => e.name)}`);\n },\n },\n ],\n []\n );\n\n return (\n <React.Fragment>\n <div style={{ marginRight: \"-70px\" }}>\n {\" \"}\n <BackButton />{\" \"}\n </div>\n <div style={{ marginTop: \"30px\", marginLeft: \"30px\" }}>\n {\" \"}\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}</HeaderComponent>{\" \"}\n </div>\n <SearchForm\n className=\"audit-card\"\n onSubmit={onSubmit}\n handleSubmit={handleSubmit}\n >\n <SearchFields\n {...{ register, control, reset, tenantId, t, previousPage }}\n />\n </SearchForm>\n <div\n style={{\n marginTop: \"240px\",\n marginLeft: \"-55%\",\n maxWidth: \"80%\",\n marginRight: \"52px\",\n }}\n >\n {data?.display ? (\n <div\n style={{\n marginTop: \"20x\",\n width: \"1025px\",\n marginLeft: \"25px\",\n backgroundColor: \"white\",\n height: \"60px\",\n }}\n >\n {t(data.display)\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </div>\n ) : data !== \"\" ? (\n <div\n style={{\n backgroundColor: \"white\",\n marginRight: \"-30px\",\n marginLeft: \"30px\",\n }}\n >\n <div\n className=\"sideContent\"\n style={{ float: \"right\", padding: \"10px 30px\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <Table\n t={t}\n data={data}\n totalRecords={count}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n minWidth:\n cellInfo.column.Header === t(\"ES_INBOX_APPLICATION_NO\")\n ? \"240px\"\n : \"\",\n padding: \"20px 18px\",\n fontSize: \"16px\",\n },\n };\n }}\n onPageSizeChange={onPageSizeChange}\n currentPage={getValues(\"offset\") / getValues(\"limit\")}\n onNextPage={nextPage}\n onPrevPage={previousPage}\n manualPagination={false}\n pageSizeLimit={getValues(\"limit\")}\n onSort={onSort}\n disableSort={false}\n sortParams={[\n {\n id: getValues(\"sortBy\"),\n desc: getValues(\"sortOrder\") === \"DESC\" ? true : false,\n },\n ]}\n />\n </div>\n ) : (\n <Loader />\n )}\n </div>\n </React.Fragment>\n );\n};\n\nexport default SearchApplication;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport AuditSearchApplication from \"../../components/Search\";\nconst Search = ({ path }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant()\n const [payload, setPayload] = useState({});\n const convertDateToEpoch = (dateString, dayStartOrEnd = \"dayend\") => {\n //example input format : \"2018-10-02\"\n try {\n const parts = dateString.match(/(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n const DateObj = new Date(Date.UTC(parts[1], parts[2] - 1, parts[3]));\n DateObj.setMinutes(DateObj.getMinutes() + DateObj.getTimezoneOffset());\n if (dayStartOrEnd === \"dayend\") {\n DateObj.setHours(DateObj.getHours() + 24);\n DateObj.setSeconds(DateObj.getSeconds() - 1);\n }\n return DateObj.getTime();\n } catch (e) {\n return dateString;\n }\n };\n function onSubmit(_data) {\n Digit.SessionStorage.set(\"AUDIT_APPLICATION_DETAIL\", {\n offset: 0,\n limit: 5,\n sortBy: \"commencementDate\",\n sortOrder: \"DESC\",\n });\n const data = {\n ..._data,\n fromDate: convertDateToEpoch(_data?.fromDate),\n toDate: convertDateToEpoch(_data?.toDate),\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key] : data[key] }), {})\n );\n }\n useEffect(() => {\n const storedPayload = Digit.SessionStorage.get(\"AUDIT_APPLICATION_DETAIL\") || {};\n if (storedPayload) {\n const data = {\n ...storedPayload,\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key].code : data[key] }), {})\n );\n }\n }, []);\n const config = {\n enabled: !!(payload && Object.keys(payload).length > 0),\n };\n const newObj = { ...payload };\n \n const {\n isLoading,\n data,\n} = Digit.Hooks.useAudit({\n tenantId,\n filters: {\n ...newObj,\n },\n config,\n });\n\n return (\n <AuditSearchApplication\n t={t}\n tenantId={tenantId}\n onSubmit={onSubmit}\n data={\n !isLoading\n ? data?.ElasticSearchData?.length > 0\n ? data?.ElasticSearchData\n : { display: \"ES_COMMON_NO_DATA\" }\n : \"\"\n }\n count={data?.ElasticSearchData?.length}\n />\n );\n };\n export default Search;","module.exports = __WEBPACK_EXTERNAL_MODULE__1954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2148__;","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2247__;","import {\n BackButton,\n HeaderComponent,\n Loader,\n CloseSvg,\n DownloadImgIcon,\n PDFSvg,\n} from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HowItWorks = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId =\n user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const storeData = Digit.SessionStorage.get(\"initData\");\n const stateInfo = storeData.stateInfo;\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n const [videoPlay, setVideoPlay] = useState(false);\n const [vidSrc, setVidSrc] = useState(\"\");\n\n const ViDSvg = () => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 24C5.38053 24 0 18.6143 0 12C0 5.38054 5.38053 1.90735e-06 12 1.90735e-06C18.6143 1.90735e-06 24 5.38054 24 12C24 18.6143 18.6143 24 12 24ZM16.3488 10.7852L11.3855 7.25251C11.1263 7.0701 10.8238 6.97889 10.5214 6.97889C10.291 6.97889 10.0557 7.03172 9.83976 7.14202C9.34054 7.40118 9.02857 7.91006 9.02857 8.46694L9.02877 15.5323C9.02877 16.0892 9.34076 16.5979 9.83996 16.8572C10.3344 17.1116 10.9296 17.0732 11.3857 16.7467L16.349 13.214C16.7426 12.9356 16.9778 12.4795 16.9778 11.9996C16.9776 11.5197 16.7426 11.0636 16.3489 10.7852L16.3488 10.7852Z\"\n fill=\"white\"\n />\n </svg>\n );\n const onClickVideo = (vidObj) => {\n if (selected === \"hi_IN\") {\n setVidSrc(vidObj[\"hi_IN\"]);\n } else {\n setVidSrc(vidObj[\"en_IN\"]);\n }\n setVideoPlay(true);\n };\n const onClose = () => {\n setVideoPlay(false);\n };\n\n const { isLoading, data } = Digit.Hooks.useGetHowItWorksJSON(\n Digit.ULBService.getStateId()\n );\n\n const mdmsConfigResult =\n data?.MdmsRes[\"common-masters\"]?.howItWorks[0]?.[`${module}`];\n const languages = [\n {\n label: \"ENGLISH\",\n value: \"en_IN\",\n },\n {\n label: \"हिंदी\",\n value: \"hi_IN\",\n },\n ];\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"how-it-works-page\">\n <BackButton></BackButton>\n <div className=\"how-it-works-page-header\">\n <HeaderComponent>\n {t(\n mdmsConfigResult.screenHeader\n ? mdmsConfigResult.screenHeader\n : \"HOW_IT_WORKS\"\n )}\n </HeaderComponent>\n </div>\n <div className=\"language-selector\" style={{ margin: \"10px\" }}>\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={language.label}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n {mdmsConfigResult.videosJson.map((videos, index) => (\n <div>\n <div\n className=\"WhatsNewCard\"\n style={{\n float: \"left\",\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n }}\n >\n <div className=\"video-icon\" onClick={() => onClickVideo(videos)}>\n <div className=\"vid-svg\">\n <ViDSvg></ViDSvg>\n </div>\n </div>\n <div className=\"how-it-works-header-description\">\n <h2>{t(videos.headerLabel)}</h2>\n <p>{t(videos.description)}</p>\n </div>\n </div>\n </div>\n ))}\n {mdmsConfigResult.pdfHeader && mdmsConfigResult.pdfDesc && (\n <div\n className=\"WhatsNewCard\"\n style={{\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n display: \"inline-block\",\n }}\n >\n <div className=\"how-it-works-pdf-section\">\n <div className=\"pdf-icon-header-desc\">\n <div className=\"pdf-icon\">\n <PDFSvg></PDFSvg>\n </div>\n <div className=\"pdf-header-desc\">\n <h2>{t(mdmsConfigResult.pdfHeader)}</h2>\n <p>{t(mdmsConfigResult.pdfDesc)}</p>\n </div>\n </div>\n <div className=\"download-icon\">\n <DownloadImgIcon />\n </div>\n </div>\n </div>\n )}\n {videoPlay && (\n <div className=\"how-it-works-video-play\">\n <div className=\"close-button\">\n <CloseSvg onClick={onClose}></CloseSvg>\n </div>\n <video width={500} height={500} controls autoPlay>\n <source src={vidSrc} type=\"video/mp4\"></source>\n </video>\n </div>\n )}\n </div>\n </Fragment>\n );\n};\n\nexport default HowItWorks;\n","import {\n Card,\n Loader,\n CaseIcon,\n ComplaintIcon,\n HelpLineIcon,\n MCollectIcon,\n PTIcon,\n RupeeSymbol,\n ServiceCenterIcon,\n TimerIcon,\n ValidityTimeIcon,\n WhatsappIconGreen,\n} from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StaticDynamicCard = ({ moduleCode }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant();\n const {\n isLoading: isMdmsLoading,\n data: mdmsData,\n } = Digit.Hooks.useStaticData(Digit.ULBService.getStateId());\n const {\n isLoading: isSearchLoading,\n error,\n data: dynamicData,\n isSuccess,\n } = Digit.Hooks.useDynamicData({\n moduleCode,\n tenantId: tenantId,\n filters: {},\n t,\n });\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const IconComponent = ({ module, styles }) => {\n switch (module) {\n case \"TL\":\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"PT\":\n return <PTIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"MCOLLECT\":\n return (\n <MCollectIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n case \"PGR\":\n return (\n <ComplaintIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n default:\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n }\n };\n const mdmsConfigResult =\n mdmsData?.MdmsRes[\"common-masters\"]?.StaticData[0]?.[`${moduleCode}`];\n\n const StaticDataIconComponentOne = ({ module }) => {\n switch (module) {\n case \"PT\":\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const StaticDataIconComponentTwo = ({ module }) => {\n switch (module) {\n case \"PT\":\n return (\n <span className=\"rupeeSymbol\">\n <RupeeSymbol />\n </span>\n );\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const staticContent = (module) => {\n switch (module) {\n case \"TL\":\n case \"PT\":\n case \"MCOLLECT\":\n return {\n staticCommonContent: t(\"COMMON_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n case \"PGR\":\n return {\n staticCommonContent: t(\"ACTION_TEST_COMPLAINT_TYPES\"),\n };\n case \"OBPS\":\n return {\n staticCommonContent: t(\"BUILDING_PLAN_PERMIT_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n \" \" +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n default:\n return {\n staticCommonContent: \"\",\n };\n }\n };\n\n const staticData = (module) => {\n switch (module) {\n case \"PT\":\n return {\n staticDataOne:\n mdmsConfigResult?.staticDataOne + \" \" + t(\"COMMON_DAYS\"),\n staticDataOneHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n staticDataTwo: mdmsConfigResult?.staticDataTwo,\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_FEE\"),\n };\n case \"WS\":\n return {\n staticDataOne: \"\",\n staticDataOneHeader:\n t(\"PAY_WATER_CHARGES_BY\") +\n \" \" +\n mdmsConfigResult?.staticDataOne +\n \" \" +\n t(\"COMMON_DAYS\") +\n \" \" +\n t(\"OF_BILL_GEN_TO_AVOID_LATE_FEE\"),\n staticDataTwo:\n mdmsConfigResult?.staticDataTwo + \" \" + t(\"COMMON_DAYS\"),\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n };\n default:\n return {};\n }\n };\n\n if (isMdmsLoading || isSearchLoading) {\n return <Loader />;\n }\n return mdmsConfigResult ? (\n <React.Fragment>\n {mdmsConfigResult && mdmsConfigResult?.payViaWhatsApp ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div\n className=\"pay-whatsapp-card\"\n onClick={() =>\n handleClickOnWhatsApp(mdmsConfigResult?.payViaWhatsApp)\n }\n >\n <div className=\"pay-whatsapp-text\">{t(\"PAY_VIA_WHATSAPP\")}</div>\n <div className=\"whatsAppIconG\">\n <WhatsappIconGreen />\n </div>\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.helpline ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CALL_CENTER_HELPLINE\")}\n </div>\n <div className=\"helplineIcon\">\n <HelpLineIcon />\n </div>\n </div>\n <div className=\"call-center-card-text\">\n {mdmsConfigResult?.helpline?.contactOne ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactOne}`}>\n {mdmsConfigResult?.helpline?.contactOne}\n </a>\n </div>\n ) : null}\n {mdmsConfigResult?.helpline?.contactTwo ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactTwo}`}>\n {mdmsConfigResult?.helpline?.contactTwo}\n </a>\n </div>\n ) : null}\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.serviceCenter ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CITIZEN_SERVICE_CENTER\")}\n </div>\n <div className=\"serviceCentrIcon\">\n <ServiceCenterIcon />\n </div>\n </div>\n <div className=\"service-center-details-card\">\n <div className=\"service-center-details-text\">\n {mdmsConfigResult?.serviceCenter}\n </div>\n </div>\n {mdmsConfigResult?.viewMapLocation ? (\n <div className=\"link\">\n <a href={mdmsConfigResult?.viewMapLocation}>{t(\"VIEW_ON_MAP\")}</a>\n </div>\n ) : null}\n </Card>\n ) : (\n <div />\n )}\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataOne === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataOne}\n </span>\n </div>\n </div>\n )}\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataTwo === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataTwo}\n </span>\n </div>\n </div>\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataOne ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentOne module={moduleCode} />\n <span className=\"static-data-content\">\n <span\n className=\"static-data-content-first\"\n style={{\n marginTop:\n staticData(moduleCode)?.staticDataOne === \"\"\n ? \"8px\"\n : \"unset\",\n }}\n >\n {staticData(moduleCode)?.staticDataOneHeader}\n </span>\n <span className=\"static-data-content-second\">{`${\n staticData(moduleCode)?.staticDataOne\n }`}</span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataTwo ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentTwo module={moduleCode} />\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticData(moduleCode)?.staticDataTwoHeader}\n </span>\n <span className=\"static-data-content-second\">\n {staticData(moduleCode)?.staticDataTwo}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.validity ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {staticContent(moduleCode)?.validity}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {error ||\n dynamicData == null ||\n !dynamicData?.staticData ||\n dynamicData?.staticData === null ? (\n <div />\n ) : (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n {moduleCode === \"PGR\" ? (\n <IconComponent\n module={moduleCode}\n styles={{\n width: \"24px\",\n height: \"24px\",\n marginLeft: \"13px\",\n marginTop: \"12px\",\n }}\n />\n ) : (\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n )}\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {dynamicData?.staticData}\n </span>\n </span>\n </div>\n </div>\n )}\n </Card>\n </React.Fragment>\n ) : (\n <React.Fragment />\n );\n};\n\nexport default StaticDynamicCard;\n","import { Button, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguage = (prop) => {\n const isDropdown = prop.dropdown || false;\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n const { t } = useTranslation();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n if (isLoading) return null;\n\n if (isDropdown) {\n return (\n <div>\n <Dropdown\n className={\"language-dropdown\"}\n option={languages}\n selected={languages?.find((language) => language?.value === selectedLanguage)}\n optionKey={\"label\"}\n select={handleChangeLanguage}\n freeze={true}\n customSelector={<label className=\"cp\">{t(languages?.find((language) => language?.value === selected)?.label)}</label>}\n />\n </div>\n );\n } else {\n return (\n <React.Fragment>\n <div style={{ marginBottom: \"5px\" }}>Language</div>\n <div className=\"language-selector\">\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <Button\n label={language.label}\n onClick={() => handleChangeLanguage(language)}\n variation={language.value === selected ? \"primary\" : \"\"}\n />\n </div>\n ))}\n </div>\n </React.Fragment>\n );\n }\n};\n\nexport default ChangeLanguage;\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { BackLink, Button, Card, CardHeader, CardLabel, CardText, FieldV1, SVG, TextInput } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ViewUrl = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { tenant } = location.state || {};\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime:0,\n gcTime:0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n const handleCopyUrl = () => {\n navigator.clipboard.writeText(ref.current.value);\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <Card className=\"card-sandbox\">\n <Header showTenant={false} />\n <div className=\"sandbox-success-signup\">\n <SVG.TickMark fill={\"#fff\"} height={30} width={70} />\n </div>\n <CardHeader className=\"cardHeader-sandbox\" styles={{ color: \"#00703c\" }}>\n {t(\"SANDBOX_HEADER\")}\n </CardHeader>\n <CardText className=\"cardText-sandbox\">{t(\"SAMDBOX_URL_SUB\")}</CardText>\n <CardLabel> {t(\"SANDBOX_URL\")} </CardLabel>\n <div className=\"sandbox-url-wrapper\">\n <TextInput\n inputRef={ref}\n className={\"urlInputText\"}\n onChange={() => {}}\n nonEditable={true}\n value={`${window.location.host}/${window?.globalPath}/${tenant}/employee`}\n />\n <Button className=\"copyButton\" variation={\"secondary\"} onClick={() => handleCopyUrl()} label={t(\"COPY_URL\")}></Button>\n </div>\n <div className=\"sandbox-url-footer\">{t(\"SANDBOX_URL_FOOT\")}</div>\n <Button isDisabled={buttonDisabled} onClick={onButtonClick} label={t(\"SIGN_IN\")}></Button>\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nexport default ViewUrl;\n","export const LoginOtpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"Sandbox\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport Carousel from \"./Carousel/Carousel\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n// import SkipToMainContent from \"../SkipToMainContent/SkipToMainContent\";\nimport withAutoFocusMain from \"../../../hoc/withAutoFocusMain\";\n\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant() && process.env.NODE_ENV !== \"development\") {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Login = ({ config: propsConfig, t, isDisabled, loginOTPBased }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [user, setUser] = useState(null);\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n const navigate = useNavigate(); \n const DynamicLoginComponent = Digit.ComponentRegistryService?.getComponent(\"DynamicLoginComponent\");\n\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.contextPath}/employee`;\n\n /* logic to redirect back to same screen where we left off */\n if (window?.location?.href?.includes(\"from=\")) {\n redirectPath = decodeURIComponent(window?.location?.href?.split(\"from=\")?.[1]) || `/${window?.contextPath}/employee`;\n }\n\n /* RAIN-6489 Logic to navigate to National DSS home in case user has only one role [NATADMIN]*/\n if (user?.info?.roles && user?.info?.roles?.length > 0 && user?.info?.roles?.every((e) => e.code === \"NATADMIN\")) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/NURT_DASHBOARD`;\n }\n /* RAIN-6489 Logic to navigate to National DSS home in case user has only one role [NATADMIN]*/\n if (user?.info?.roles && user?.info?.roles?.length > 0 && user?.info?.roles?.every((e) => e.code === \"STADMIN\")) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/home`;\n }\n\n navigate(redirectPath, { replace: true }); // Replaced history.replace with navigate\n }, [user]);\n\n const onLogin = async (data) => {\n // if (!data.city) {\n // alert(\"Please Select City!\");\n // return;\n // }\n if (data?.username) {\n data.username = data.username.trim();\n }\n if (data?.password) {\n data.password = data.password.trim();\n }\n\n setDisable(true);\n\n const requestData = {\n ...data,\n ...defaultValues,\n userType: \"EMPLOYEE\",\n };\n requestData.tenantId = requestData?.city?.code || Digit?.ULBService?.getStateId();\n delete requestData.city;\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n setDisable(false);\n };\n\n const reqCreate = {\n url: `/user-otp/v1/_send`,\n params: { tenantId: Digit?.ULBService?.getStateId() },\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onOtpLogin = async (data) => {\n const inputEmail = data.email;\n await mutation.mutate(\n {\n body: {\n otp: {\n userName: data.email,\n type: \"login\",\n tenantId: Digit?.ULBService?.getStateId(),\n userType: \"EMPLOYEE\",\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast(\n error?.response?.data?.Errors?.[0].code ? `SANDBOX_RESEND_OTP${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_RESEND_OTP_ERROR`\n );\n setTimeout(closeToast, 5000);\n },\n onSuccess: async (data) => {\n navigate(`/${window?.contextPath}/employee/user/login/otp`, {\n state: { email: inputEmail, tenant: Digit?.ULBService?.getStateId() },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = () => {\n navigate(`/${window?.contextPath}/employee/user/forgot-password`);\n };\n const defaultTenant = Digit.ULBService.getStateId();\n\n const defaultValue = {\n code: defaultTenant,\n name: Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${defaultTenant}`),\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const defaultValues = useMemo(()=>Object.fromEntries(\n config[0].body\n .filter(field => field?.populators?.defaultValue && field?.populators?.name)\n .map(field => [field.populators.name, field.populators.defaultValue])\n ),[])\n\n const onFormValueChange = (setValue, formData, formState) => {\n\n // Extract keys from the config \n const keys = config[0].body.filter(field => field?.isMandatory).map((field) => field?.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || value === false;\n });\n\n setDisable(hasEmptyFields);\n };\n\n const renderLoginForm = (extraClasses = \"\", cardClassName = \"\", wrapperClass = \"\") => (\n <FormComposerV2\n onSubmit={loginOTPBased ? onOtpLogin : onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={\n propsConfig?.texts?.secondaryButtonLabel +\n (extraClasses.includes(\"login-form-container\") ? \"?\" : \"\")\n }\n onSecondayActionClick={onForgotPassword}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className={`${wrapperClass}`}\n cardSubHeaderClassName=\"loginCardSubHeaderClassName\"\n cardClassName={cardClassName}\n buttonClassName=\"buttonClassName\"\n defaultValues={defaultValues}\n >\n {stateInfo?.code ? <Header /> : <Header showTenant={false} />}\n </FormComposerV2>\n );\n \n const renderFooter = (footerClassName) => (\n <div className={footerClassName} style={{ backgroundColor: \"unset\" }}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n );\n \n\n if(isLoading || isStoreLoading ){\n return <Loader page={true} variant=\"PageLoader\" />\n }\n return propsConfig?.bannerImages ? (\n <div className=\"login-container\">\n {/* <SkipToMainContent class_name={\".login-form-container\"}/> */}\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n {renderLoginForm(\"login-form-container\", \"\", loginOTPBased ? \"sandbox-onboarding-wrapper\" : \"\")}\n {DynamicLoginComponent && <DynamicLoginComponent />} \n {showToast && <Toast type=\"error\" label={t(showToast)} onClose={closeToast} />}\n {renderFooter(\"EmployeeLoginFooter\")}\n </div>\n </div>\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n {renderLoginForm(\n \"loginFormStyleEmployee\",\n \"loginCardClassName\",\n loginOTPBased ? \"sandbox-onboarding-wrapper\" : \"\"\n )}\n {DynamicLoginComponent && <DynamicLoginComponent />}\n {showToast && <Toast type=\"error\" label={t(showToast)} onClose={closeToast} />}\n {renderFooter(\"employee-login-home-footer\")}\n </Background>\n );\n \n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default withAutoFocusMain(Login, \".login-form-container\");\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\"; // Updated imports for v6\nimport { loginConfig as defaultLoginConfig } from \"./config\";\nimport { LoginOtpConfig as defaultLoginOtpConfig } from \"./ConfigOtp\";\nimport LoginComponent from \"./login\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeLogin = ({ stateCode }) => {\n const { t } = useTranslation();\n const [loginConfig, setloginConfig] = useState(defaultLoginConfig);\n const [loginOtpConfig, setloginOtpConfig] = useState(defaultLoginOtpConfig);\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n const loginType = window?.globalConfigs?.getConfig(\"OTP_BASED_LOGIN\") || false;\n const { data: mdmsData, isLoading } = useLoginConfig(stateCode);\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix,\n });\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) { \n setloginConfig(mdmsData?.config);\n } else {\n setloginConfig(defaultLoginConfig);\n }\n }, [mdmsData, isLoading]); \n\n const loginParams = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginConfig]\n )\n );\n\n const loginOtpParams = useMemo(\n () =>\n loginOtpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginOtpConfig]\n )\n );\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n return (\n <Routes> {/* Replaced Switch with Routes */}\n <Route\n path=\"/\" \n element={ \n loginType ? (\n <LoginComponent config={loginOtpParams[0]} t={t} loginOTPBased={loginType} />\n ) : (\n <LoginComponent config={loginParams[0]} t={t} />\n )\n }\n />\n </Routes>\n );\n};\n\nexport default EmployeeLogin;","import React from \"react\";\nimport ErrorComponent from \"./ErrorComponent\";\n\nconst Redircter = () => {\n // Add safety checks for window object\n if (typeof window === 'undefined') {\n return <span></span>;\n }\n\n try {\n const contextPath = window?.contextPath || '';\n const userType = Digit.UserService.getType();\n const path = userType === \"employee\" \n ? `/${contextPath}/employee/user/error` \n : `/${contextPath}/citizen/error`;\n \n const currentHref = window.location.href;\n \n // Check if we're already on an error page or in development\n if (\n currentHref.includes(\"employee/user/error\") ||\n currentHref.includes(\"citizen/error\") ||\n process.env.NODE_ENV === \"development\"\n ) {\n // Do nothing - already on error page or in development\n return <span></span>;\n }\n \n // Safe navigation with error handling\n try {\n window.location.href = path;\n } catch (navigationError) {\n console.warn('Navigation failed in error boundary:', navigationError);\n // Fallback: try using replace instead\n try {\n window.location.replace(path);\n } catch (replaceError) {\n console.error('Both href and replace failed:', replaceError);\n }\n }\n } catch (error) {\n console.error('Error in Redircter component:', error);\n }\n\n return <span></span>;\n};\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorStack: null, hasError: false, module: null, action: null, info: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { error: error?.message, hasError: true, errorStack: error?.stack, module: error?.module, action: error?.action, info: error?.info };\n }\n\n componentDidCatch(error, errorInfo) {\n // Catch errors in any components below and re-render with error message\n this.setState({ \n error: error?.message, \n hasError: true, \n errorStack: error?.stack,\n module: error?.module,\n action: error?.action,\n info: errorInfo\n });\n \n // Enhanced error logging with safety checks\n try {\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.group('🚨 Error Boundary Caught Error');\n console.error('Error:', error);\n console.error('Error Info:', errorInfo);\n console.error('Component Stack:', errorInfo?.componentStack);\n console.groupEnd();\n }\n \n // You can also log error messages to an error reporting service here\n // Example: errorReportingService.captureException(error, { extra: errorInfo });\n \n } catch (loggingError) {\n console.warn('Failed to log error in ErrorBoundary:', loggingError);\n }\n }\n\n render() {\n if (this.state.hasError) {\n // (\"UI-errorInfo\", this.state?.errorStack);\n // (\"UI-component-details\", this.props);\n // You can render any custom fallback UI\n return (\n <div className=\"error-boundary\">\n <Redircter />\n <ErrorComponent initData={this.props.initData} errorData={this.state} goToHome={() => {\n window.location.href = `/${window?.contextPath}/${Digit?.UserService?.getType?.()}`; // Use navigate\n }}/>\n\n {/* <summary>Something went wrong</summary>\n <details style={{ whiteSpace: \"pre-wrap\" }}>\n {this.state?.errorStack && this.state.errorStack.toString().substring(0, 600)}\n {this.state?.error}\n </details> */}\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__4442__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4456__;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n ],\n },\n];\n","import React from \"react\";\nimport { LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon } from \"@egovernments/digit-ui-react-components\";\nimport ChangeLanguage from \"../components/ChangeLanguage\";\n\nconst SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee) => [\n {\n type: \"component\",\n element: \"LANGUAGE\",\n action: <ChangeLanguage />,\n icon: \"LanguageIcon\",\n },\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n];\n\nexport default SideBarMenu;\n","import React, { useEffect, useState } from \"react\";\nimport {\n HomeIcon,\n EditPencilIcon,\n LogoutIcon,\n AddressBookIcon,\n PropertyHouse,\n CaseIcon,\n CollectionIcon,\n PTIcon,\n OBPSIcon,\n PGRIcon,\n FSMIcon,\n WSICon,\n MCollectIcon,\n Phone,\n BirthIcon,\n DeathIcon,\n FirenocIcon,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport SideBarMenu from \"../../../config/sidebar-menu\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport ImageComponent from \"../../ImageComponent\";\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nconst Profile = ({ info, stateName, t }) => (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent className=\"img-responsive img-circle img-Profile\" src={defaultImage} alt=\"Profile Logo\" />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") && <ChangeCity t={t} mobileView={true} />}\n </div>\n);\nconst IconsObject = {\n CommonPTIcon: <PTIcon className=\"icon\" />,\n OBPSIcon: <OBPSIcon className=\"icon\" />,\n propertyIcon: <PropertyHouse className=\"icon\" />,\n TLIcon: <CaseIcon className=\"icon\" />,\n PGRIcon: <PGRIcon className=\"icon\" />,\n FSMIcon: <FSMIcon className=\"icon\" />,\n WSIcon: <WSICon className=\"icon\" />,\n MCollectIcon: <MCollectIcon className=\"icon\" />,\n BillsIcon: <CollectionIcon className=\"icon\" />,\n BirthIcon: <BirthIcon className=\"icon\" />,\n DeathIcon: <DeathIcon className=\"icon\" />,\n FirenocIcon: <FirenocIcon className=\"icon\" />,\n HomeIcon: <HomeIcon className=\"icon\" />,\n EditPencilIcon: <EditPencilIcon className=\"icon\" />,\n LogoutIcon: <LogoutIcon className=\"icon\" />,\n Phone: <Phone className=\"icon\" />,\n};\nconst StaticCitizenSideBar = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n const { pathname } = location;\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const [isEmployee, setisEmployee] = useState(false);\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n if (Digit.Utils.getMultiRootTenant()) {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n } else {\n Digit.UserService.logout();\n setShowDialog(false);\n }\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const redirectToLoginPage = () => {\n \n navigate(`/${window?.contextPath}/citizen/login`);\n };\n const showProfilePage = () => {\n navigate(`/${window?.contextPath}/citizen/user/profile`);\n };\n\n const closeSidebar = () => {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n };\n\n let menuItems = [...SideBarMenu(t, showProfilePage, redirectToLoginPage, isEmployee)];\n\n menuItems = menuItems.filter((item) => item.element !== \"LANGUAGE\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const MenuItem = ({ item }) => {\n const leftIconArray = item?.icon || item.icon?.type?.name;\n const leftIcon = leftIconArray ? IconsObject[leftIconArray] : IconsObject.BillsIcon;\n let itemComponent;\n if (item.type === \"component\") {\n itemComponent = item.action;\n } else {\n itemComponent = item.text;\n }\n const Item = () => (\n <span className=\"menu-item\" {...item.populators}>\n {leftIcon}\n <div className=\"menu-label\">{itemComponent}</div>\n </span>\n );\n if (item.type === \"external-link\") {\n return (\n <a href={item.link}>\n <Item />\n </a>\n );\n }\n if (item.type === \"link\") {\n return (\n <Link to={item?.link}>\n <Item />\n </Link>\n );\n }\n\n return <Item />;\n };\n let profileItem;\n\n if (isFetched && user && user.access_token && user?.info?.type === \"CITIZEN\") {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n menuItems = [\n ...menuItems,\n {\n type: \"link\",\n icon: \"HomeIcon\",\n element: \"HOME\",\n text: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n link: isEmployee ? `/${window?.contextPath}/employee` : `/${window?.contextPath}/citizen`,\n populators: {\n onClick: closeSidebar,\n },\n },\n {\n text: t(\"EDIT_PROFILE\"),\n element: \"PROFILE\",\n icon: \"EditPencilIcon\",\n populators: {\n onClick: showProfilePage,\n },\n },\n {\n text: t(\"CORE_COMMON_LOGOUT\"),\n element: \"LOGOUT\",\n icon: \"LogoutIcon\",\n populators: { onClick: handleLogout },\n },\n {\n text: (\n <React.Fragment>\n {t(\"CS_COMMON_HELPLINE\")}\n <div className=\"telephone\" style={{ marginTop: \"-10%\" }}>\n {storeData?.tenants?.length > 0 && (\n <div className=\"link\">\n <a href={`tel:${\n storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || ''\n }`}>\n {storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || t(\"CS_NA\")}\n </a>\n </div>\n )}\n </div>\n </React.Fragment>\n ),\n element: \"Helpline\",\n icon: \"Phone\",\n}\n ];\n }\n Object.keys(linkData || {})\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === `${window.contextPath}-links`) {\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n }\n });\n\n return (\n <React.Fragment>\n <div>\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n top: \"0px\",\n backgroundColor: \"rgba(0, 0, 0, 0.54)\",\n pointerzevents: \"auto\",\n }}\n ></div>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: isMobile ? \"calc(100vh - 56px)\" : \"auto\",\n zIndex: \"99\",\n }}\n >\n {profileItem}\n <div className=\"drawer-desktop\">\n {menuItems?.map((item, index) => (\n <div className={`sidebar-list ${pathname === item?.link || pathname === item?.sidebarURL ? \"active\" : \"\"}`} key={index}>\n <MenuItem item={item} />\n </div>\n ))}\n </div>\n </div>\n <div>{showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}</div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default StaticCitizenSideBar;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__4883__;","import React, { useEffect, useRef } from \"react\";\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const timer = setInterval(tick, delay);\n return () => clearInterval(timer);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5053__;","import React, { useEffect } from 'react';\n\nconst withAutoFocusMain = (WrappedComponent, mainSelector = '.digit-home-main') => {\n return function WithAutoFocusWrapper(props) {\n useEffect(() => {\n const handleFirstTab = (e) => {\n if (e.key === 'Tab') {\n const main = document.querySelector(mainSelector);\n if (main) {\n main.setAttribute('tabindex', '-1');\n main.style.outline = 'none';\n main.focus();\n }\n window.removeEventListener('keydown', handleFirstTab);\n }\n };\n\n window.addEventListener('keydown', handleFirstTab);\n return () => window.removeEventListener('keydown', handleFirstTab);\n }, []);\n\n return <WrappedComponent {...props} />;\n };\n};\n\nexport default withAutoFocusMain;","import { Button, Card, SubmitBar, Loader } from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_LOCALE=Digit?.Utils?.getDefaultLanguage?.();\n\nconst defaultLanguage = { label: \"English\", value: DEFAULT_LOCALE};\n\nconst LanguageSelection = () => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { languages, stateInfo } = storeData || {};\n let defaultLanguages = languages;\n if (!defaultLanguages || defaultLanguages?.length == 0) {\n defaultLanguages = [defaultLanguage];\n }\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n function getContextPath(contextPath) {\n if (!contextPath || typeof contextPath !== \"string\") return \"\";\n return contextPath.split(\"/\")[0];\n }\n \n const hasMultipleLanguages = languages?.length > 1;\n\n const handleSubmit = (event) => {\n navigate(`/${getContextPath(window.contextPath)}/user/login?ts=${Date.now()}`);\n };\n\n if (isLoading) return <Loader />;\n\n if (!hasMultipleLanguages) {\n return <Navigate to={`/${window?.contextPath}/employee/user/login`} replace />;\n }\n\n return (\n <Background>\n <Card className={\"bannerCard removeBottomMargin languageSelection\"}>\n <div className=\"bannerHeader\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} alt=\"Digit Banner Image\" />\n\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n </div>\n <div className=\"language-selector\" style={{ justifyContent: \"space-around\", marginBottom: \"24px\", padding: \"0 5%\" }}>\n {defaultLanguages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={t(language.label)}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n <SubmitBar style={{ width: \"100%\" }} label={t(`CORE_COMMON_CONTINUE`)} onSubmit={handleSubmit} />\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default LanguageSelection;\n","import React, { useState, useEffect, Fragment } from 'react';\nimport { loginConfig } from '../config';\nimport { useTranslation } from \"react-i18next\";\n\nconst Carousel = ({bannerImages=[]}) => {\n const [currentSlide, setCurrentSlide] = useState(0);\n const { t } = useTranslation();\n\n const carouselItems = bannerImages|| loginConfig[0]?.bannerImages || [];\n\n const nextSlide = () => {\n setCurrentSlide(prev => (prev === carouselItems.length - 1 ? 0 : prev + 1));\n };\n\n const prevSlide = () => {\n setCurrentSlide(prev => (prev === 0 ? carouselItems.length - 1 : prev - 1));\n };\n\n const goToSlide = (index) => {\n setCurrentSlide(index);\n };\n\n // Auto-rotate carousel every 5 seconds\n useEffect(() => {\n const interval = setInterval(() => {\n nextSlide();\n }, 5000);\n return () => clearInterval(interval);\n }, [carouselItems.length]);\n\n return (\n <Fragment>\n\n {/* Carousel Background (70% width) */}\n\n <div className=\"carousel-container\">\n {carouselItems.sort((x,y)=>x?.id-y?.id).map((item, index) => (\n <div\n key={item.id}\n className={`carousel-slide ${index === currentSlide ? 'active' : ''}`}\n style={{ backgroundImage: `url(${item.image})` }}\n >\n <div className=\"carousel-content\">\n <h2>{t(item.title)}</h2>\n <p>{t(item.description)}</p>\n </div>\n </div>\n ))}\n\n {/* Combined Navigation and Indicators (Bottom Center) */}\n <div className=\"carousel-controls\">\n <button className=\"carousel-nav\" onClick={prevSlide}>\n &lt;\n </button>\n\n <div className=\"carousel-indicators\">\n {carouselItems.map((_, index) => (\n <button\n key={index}\n className={`indicator ${index === currentSlide ? 'active' : ''}`}\n onClick={() => goToSlide(index)}\n />\n ))}\n </div>\n\n <button className=\"carousel-nav\" onClick={nextSlide}>\n &gt;\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","import { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst Header = ({ showTenant = true }) => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const { t } = useTranslation();\n\n if (isLoading) return <Loader />;\n\n //If HEADER_SVG config exists, return the custom block\n const headerSvgSecondaryUrl = window?.globalConfigs?.getConfig(\"SVG_HEADER_SECONDARY_LOGO_URL\");\n if (headerSvgSecondaryUrl) {\n return (\n <div className=\"bannerHeader secondaryBannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n <span style={{fontSize: \"xx-large\"}}>|</span>\n <ImageComponent\n className=\"svgHeaderLogo\"\n src={headerSvgSecondaryUrl}\n alt=\"DIGIT Logo\"\n />\n </div>\n );\n }\n\n // Default logic\n return (\n <div className=\"bannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n {showTenant && stateInfo?.code && (\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n )}\n </div>\n );\n};\n\nexport default Header;","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { Hamburger, TopBar as TopBarComponent } from \"@egovernments/digit-ui-react-components\";\nimport { Dropdown } from \"@egovernments/digit-ui-components\";\nimport React,{Fragment} from \"react\";\nimport {useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../ChangeCity\";\nimport ChangeLanguage from \"../ChangeLanguage\";\nimport { Header as TopBarComponentMain } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../ImageComponent\";\n\nconst DEFAULT_EGOV_LOGO =\"https://egov-dev-assets.s3.ap-south-1.amazonaws.com/egov-logo-2025.png\";\n\n\nconst TopBar = ({\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showLanguageChange = true,\n}) => {\n const [profilePic, setProfilePic] = React.useState(null);\n\n React.useEffect( () => {\n const app=async ()=>{\n const tenant = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCurrentTenantId();\n const uuid = userDetails?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse.user.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }\n app()\n }, [profilePic !== null, userDetails?.info?.uuid]);\n\n const CitizenHomePageTenantId = Digit.ULBService.getCitizenCurrentTenant(true);\n\n let navigate = useNavigate();\n const { pathname } = useLocation();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (Digit.UserService?.getUser()?.info?.type === \"CITIZEN\") {\n if (!CitizenHomePageTenantId) return false;\n else return true;\n }\n return false;\n };\n\n const { data: { unreadCount: unreadNotificationCount } = {}, isSuccess: notificationCountLoaded } = Digit.Hooks.useNotificationCount({\n tenantId: CitizenHomePageTenantId,\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n const updateSidebar = () => {\n if (!Digit.clikOusideFired) {\n toggleSidebar(true);\n } else {\n Digit.clikOusideFired = false;\n }\n };\n\n function onNotificationIconClick() {\n navigate(`/${window?.contextPath}/citizen/engagement/notifications`);\n }\n\n const urlsToDisableNotificationIcon = (pathname) =>\n !!Digit.UserService?.getUser()?.access_token\n ? false\n : [`/${window?.contextPath}/citizen/select-language`, `/${window?.contextPath}/citizen/select-location`].includes(pathname);\n\n if (CITIZEN) {\n return (\n <div>\n <TopBarComponent\n img={stateInfo?.logoUrlWhite}\n isMobile={true}\n toggleSidebar={updateSidebar}\n logoUrl={stateInfo?.logoUrlWhite}\n onLogout={handleLogout}\n userDetails={userDetails}\n notificationCount={unreadNotificationCount < 99 ? unreadNotificationCount : 99}\n notificationCountLoaded={notificationCountLoaded}\n cityOfCitizenShownBesideLogo={t(CitizenHomePageTenantId)}\n onNotificationIconClick={onNotificationIconClick}\n hideNotificationIconOnSomeUrlsWhenNotLoggedIn={urlsToDisableNotificationIcon(pathname)}\n changeLanguage={!mobileView ? <ChangeLanguage dropdown={true} /> : null}\n />\n </div>\n );\n }\n const loggedin = userDetails?.access_token ? true : false;\n\n //checking for custom topbar components\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n if (CustomEmployeeTopBar) {\n return (\n <CustomEmployeeTopBar\n {...{\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n showLanguageChange,\n loggedin,\n }}\n />\n );\n }\n return (\n <TopBarComponentMain\n actionFields={[\n <ChangeCity dropdown={true} t={t} />,\n showLanguageChange && <ChangeLanguage dropdown={true} />,\n userDetails?.access_token && (\n <Dropdown\n option={userOptions}\n optionKey=\"name\"\n profilePic={profilePic ? profilePic : userDetails?.info?.name || userDetails?.info?.userInfo?.name || \"Employee\"}\n select={handleUserDropdownSelection}\n showArrow={true}\n menuStyles={{ marginTop: \"1rem\" }}\n theme=\"light\"\n />\n ),\n ]}\n onHamburgerClick={() => {\n toggleSidebar();\n }}\n className=\"digit-employee-header\"\n img={logoUrl}\n logoWidth={\"64px\"}\n logoHeight={\"48px\"}\n logo={(loggedin ? cityDetails?.logoId : stateInfo?.statelogo)||DEFAULT_EGOV_LOGO}\n onImageClick={() => {}}\n onLogoClick={() => {}}\n props={{}}\n showDeafultImg\n style={{}}\n theme={window?.globalConfigs?.getConfig(\"HEADER_THEME\") || \"light\"}\n ulb={\n loggedin ? (\n cityDetails?.city?.ulbGrade ? (\n <>\n {t(cityDetails?.i18nKey).toUpperCase()}{\" \"}\n {t(`ULBGRADE_${cityDetails?.city?.ulbGrade.toUpperCase().replace(\" \", \"_\").replace(\".\", \"_\")}`).toUpperCase()}\n </>\n ) : (\n <ImageComponent className=\"state\" src={logoUrlWhite} alt=\"State Logo\" />\n )\n ) : (\n <>\n {t(`MYCITY_${stateInfo?.code?.toUpperCase()}_LABEL`)} {t(`MYCITY_STATECODE_LABEL`)}\n </>\n )\n }\n />\n );\n};\n\nexport default TopBar;\n","// import { NavBar } from \"@egovernments/digit-ui-react-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React, { useState, Fragment, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport StaticCitizenSideBar from \"./StaticCitizenSideBar\";\nimport { Hamburger } from \"@egovernments/digit-ui-components\";\nimport { LogoutIcon } from \"@egovernments/digit-ui-react-components\";\nimport ImageComponent from \"../../ImageComponent\";\n\nconst Profile = ({ info, stateName, t }) => {\n const [profilePic, setProfilePic] = React.useState(null);\n React.useEffect(async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }, [profilePic !== null]);\n\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n return (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent\n className=\"img-responsive img-circle img-Profile\"\n src={profilePic ? profilePic : defaultImage}\n style={{ objectFit: \"cover\", objectPosition: \"center\" }}\n alt=\"Profile Image\"\n />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") &&\n !CustomEmployeeTopBar && <ChangeCity t={t} mobileView={true} />}\n </div>\n );\n};\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nexport const CitizenSideBar = ({\n isOpen,\n isMobile = false,\n toggleSidebar,\n onLogout,\n isEmployee = false,\n linkData,\n islinkDataLoading,\n userProfile,\n}) => {\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [profilePic, setProfilePic] = useState(null);\n const { languages, stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n const [search, setSearch] = useState(\"\");\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); //selectedCities?.[0]?.value\n const [selected, setselected] = useState(selectedLanguage);\n let selectedCities = [];\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n \n // React Router v6: useNavigate replaces useHistory\n const navigate = useNavigate();\n // React Router v6: useLocation for accessing location object\n const location = useLocation();\n\n const stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: t(`TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`),\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n const closeSidebar = () => {\n Digit.clikOusideFired = true;\n toggleSidebar(false);\n };\n\n useEffect(() => {\n const fetchUserProfile = async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = user?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n const userData = usersResponse?.user?.[0];\n if (userData) {\n const currentUser = Digit.UserService.getUser();\n Digit.UserService.setUser({\n ...currentUser,\n info: userData\n });\n }\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n };\n if (!profilePic) {\n fetchUserProfile();\n }\n }, [profilePic]);\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n\n // React Router v6: navigate with { replace: true } instead of history.replace()\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n const handleModuleClick = (url) => {\n let updatedUrl = null;\n if (Digit.Utils.getMultiRootTenant()) {\n updatedUrl = isEmployee\n ? url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`)\n : url.replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${tenantId}/citizen`);\n // React Router v6: navigate() instead of history.push()\n navigate(updatedUrl);\n toggleSidebar();\n } else {\n url[0] === \"/\"\n ? navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}${url}`)\n : navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}/${url}`);\n toggleSidebar();\n }\n };\n\n const redirectToLoginPage = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee/user/language-selection`);\n } else {\n navigate(`/${window?.contextPath}/citizen/login`);\n }\n closeSidebar();\n };\n\n if (islinkDataLoading || isLoading) {\n return <Loader />;\n }\n\n let menuItems = [\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n ];\n\n let profileItem;\n if (isFetched && user && user.access_token) {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n }\n\n let configEmployeeSideBar = {};\n\n if (!isEmployee) {\n Object.keys(linkData)\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === \"digit-ui-links\")\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n });\n } else {\n data?.actions\n .filter((e) => e.url === \"url\" && e.displayName !== \"Home\")\n .forEach((item) => {\n if (search == \"\" && item.path !== \"\") {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n } else if (item.path !== \"\" && item?.displayName?.toLowerCase().includes(search.toLowerCase())) {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n }\n });\n const keys = Object.keys(configEmployeeSideBar);\n for (let i = 0; i < keys?.length; i++) {\n const getSingleDisplayName = configEmployeeSideBar[keys[i]][0]?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\");\n const getParentDisplayName = keys[i]?.toUpperCase()?.replace(/[ -]/g, \"_\");\n\n if (configEmployeeSideBar[keys[i]][0].path.indexOf(\".\") === -1) {\n menuItems.splice(1, 0, {\n type: \"link\",\n text: t(`ACTION_TEST_${getSingleDisplayName}`),\n link: configEmployeeSideBar[keys[i]][0]?.navigationURL,\n icon: configEmployeeSideBar[keys[i]][0]?.leftIcon,\n populators: {\n onClick: () => {\n // React Router v6: navigate() instead of history.push()\n navigate(configEmployeeSideBar[keys[i]][0]?.navigationURL);\n closeSidebar();\n },\n },\n });\n } else {\n menuItems.splice(1, 0, {\n type: \"dynamic\",\n moduleName: t(`ACTION_TEST_${getParentDisplayName}`),\n links: configEmployeeSideBar[keys[i]]?.map((ob) => {\n return {\n ...ob,\n displayName: t(`ACTION_TEST_${ob?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\")}`),\n };\n }),\n icon: configEmployeeSideBar[keys[i]][1]?.leftIcon,\n });\n }\n }\n const indx = menuItems.findIndex((a) => a.element === \"HOME\");\n const home = menuItems.splice(indx, 1);\n const comp = menuItems.findIndex((a) => a.element === \"LANGUAGE\");\n const part = menuItems.splice(comp, menuItems?.length - comp);\n menuItems.sort((a, b) => {\n let c1 = a?.type === \"dynamic\" ? a?.moduleName : a?.text;\n let c2 = b?.type === \"dynamic\" ? b?.moduleName : b?.text;\n return c1.localeCompare(c2);\n });\n home?.[0] && menuItems.splice(0, 0, home[0]);\n menuItems = part?.length > 0 ? menuItems.concat(part) : menuItems;\n }\n\n /* URL with openlink wont have sidebar and actions */\n // React Router v6: location.pathname instead of history.location.pathname\n if (location.pathname.includes(\"/openlink\")) {\n profileItem = <span></span>;\n menuItems = menuItems.filter((ele) => ele.element === \"LANGUAGE\");\n }\n\n menuItems = menuItems?.map((item) => ({\n ...item,\n label: item?.text || item?.moduleName || \"\",\n icon: item?.icon ? item?.icon : undefined,\n }));\n\n let city = \"\";\n if (Digit.Utils.getMultiRootTenant()) {\n city = t(`TENANT_TENANTS_${tenantId}`);\n } else {\n city = t(`TENANT_TENANTS_${stringReplaceAll(Digit.ULBService.getCurrentTenantId(), \".\", \"_\")?.toUpperCase()}`);\n // city = \"TEST\";\n }\n const goToHome = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee`);\n } else {\n navigate(`/${window?.contextPath}/citizen`);\n }\n };\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationURL) {\n handleModuleClick(item?.navigationURL);\n } else if (item?.link) {\n handleModuleClick(item?.link);\n } else if (item?.type === \"custom\") {\n switch (item?.key) {\n case \"home\":\n goToHome();\n toggleSidebar();\n break;\n case \"editProfile\":\n userProfile();\n toggleSidebar();\n break;\n case \"language\":\n handleChangeLanguage(item);\n toggleSidebar();\n break;\n case \"city\":\n handleChangeCity(item);\n toggleSidebar();\n break;\n }\n } else {\n return;\n }\n };\n\n const transformedMenuItems = menuItems?.map((item) => {\n if (item?.type === \"dynamic\") {\n return {\n ...item,\n children: item?.links?.map((link) => ({\n ...link,\n label: link?.displayName,\n icon: link?.leftIcon,\n })),\n };\n } else {\n return item;\n }\n });\n\n const transformedSelectedCityData = selectCityData?.map((city) => ({\n ...city,\n type: \"custom\",\n key: \"city\",\n }));\n\n const transformedLanguageData = languages?.map((language) => ({\n ...language,\n type: \"custom\",\n key: \"language\",\n icon: \"Language\",\n }));\n\n const hamburgerItems = [\n {\n label: \"HOME\",\n value: \"HOME\",\n icon: \"Home\",\n // children: transformedSelectedCityData?.length>0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n key: \"home\",\n },\n {\n label: city,\n value: city,\n children: transformedSelectedCityData?.length > 0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n icon: \"LocationCity\",\n key: \"city\",\n },\n {\n label: t(\"Language\"),\n children: transformedLanguageData?.length > 0 ? transformedLanguageData : undefined,\n type: \"custom\",\n icon: \"Language\",\n key: \"language\",\n },\n ...(user && user.access_token\n ? [\n {\n label: t(\"EDIT_PROFILE\"),\n type: \"custom\",\n icon: \"Edit\",\n key: \"editProfile\",\n },\n ]\n : []),\n {\n label: t(\"Modules\"),\n icon: \"DriveFileMove\",\n children: transformedMenuItems,\n },\n ];\n return isMobile ? (\n <Hamburger\n items={hamburgerItems}\n profileName={user?.info?.name}\n profileNumber={user?.info?.mobileNumber || user?.info?.emailId}\n theme=\"dark\"\n transitionDuration={0.3}\n styles={{ marginTop: \"64px\", height: \"93%\" }}\n onLogout={onLogout}\n hideUserManuals={true}\n profile={profilePic ? profilePic : undefined}\n isSearchable={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n />\n ) : (\n <StaticCitizenSideBar logout={onLogout} />\n );\n};","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import { createContext, useRef, useEffect, useContext, useState } from 'react';\nimport matchMedia from 'matchmediaquery';\nimport hyphenate from 'hyphenate-style-name';\nimport { shallowEqualObjects } from 'shallow-equal';\nimport PropTypes from 'prop-types';\n\nconst stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n// media types\nconst types = {\n all: PropTypes.bool,\n grid: PropTypes.bool,\n aural: PropTypes.bool,\n braille: PropTypes.bool,\n handheld: PropTypes.bool,\n print: PropTypes.bool,\n projection: PropTypes.bool,\n screen: PropTypes.bool,\n tty: PropTypes.bool,\n tv: PropTypes.bool,\n embossed: PropTypes.bool\n};\n// properties that match media queries\nconst matchers = {\n orientation: PropTypes.oneOf(['portrait', 'landscape']),\n scan: PropTypes.oneOf(['progressive', 'interlace']),\n aspectRatio: PropTypes.string,\n deviceAspectRatio: PropTypes.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: PropTypes.bool,\n colorIndex: PropTypes.bool,\n monochrome: PropTypes.bool,\n resolution: stringOrNumber,\n type: Object.keys(types)\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst { type, ...featureMatchers } = matchers;\n// media features\nconst features = {\n minAspectRatio: PropTypes.string,\n maxAspectRatio: PropTypes.string,\n minDeviceAspectRatio: PropTypes.string,\n maxDeviceAspectRatio: PropTypes.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: PropTypes.number,\n maxColor: PropTypes.number,\n minColorIndex: PropTypes.number,\n maxColorIndex: PropTypes.number,\n minMonochrome: PropTypes.number,\n maxMonochrome: PropTypes.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber,\n ...featureMatchers\n};\nconst all = { ...types, ...features };\nvar mq = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n};\n\nconst negate = (cond) => `not ${cond}`;\nconst keyVal = (k, v) => {\n const realKey = hyphenate(k);\n // px shorthand\n if (typeof v === 'number') {\n v = `${v}px`;\n }\n if (v === true) {\n return realKey;\n }\n if (v === false) {\n return negate(realKey);\n }\n return `(${realKey}: ${v})`;\n};\nconst join = (conds) => conds.join(' and ');\nconst toQuery = (obj) => {\n const rules = [];\n Object.keys(mq.all).forEach((k) => {\n const v = obj[k];\n if (v != null) {\n rules.push(keyVal(k, v));\n }\n });\n return join(rules);\n};\n\nconst Context = createContext(undefined);\n\nconst makeQuery = (settings) => settings.query || toQuery(settings);\nconst hyphenateKeys = (obj) => {\n if (!obj)\n return undefined;\n const keys = Object.keys(obj);\n return keys.reduce((result, key) => {\n result[hyphenate(key)] = obj[key];\n return result;\n }, {});\n};\nconst useIsUpdate = () => {\n const ref = useRef(false);\n useEffect(() => {\n ref.current = true;\n }, []);\n return ref.current;\n};\nconst useDevice = (deviceFromProps) => {\n const deviceFromContext = useContext(Context);\n const getDevice = () => hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n const [device, setDevice] = useState(getDevice);\n useEffect(() => {\n const newDevice = getDevice();\n if (!shallowEqualObjects(device, newDevice)) {\n setDevice(newDevice);\n }\n }, [deviceFromProps, deviceFromContext]);\n return device;\n};\nconst useQuery = (settings) => {\n const getQuery = () => makeQuery(settings);\n const [query, setQuery] = useState(getQuery);\n useEffect(() => {\n const newQuery = getQuery();\n if (query !== newQuery) {\n setQuery(newQuery);\n }\n }, [settings]);\n return query;\n};\nconst useMatchMedia = (query, device) => {\n const getMatchMedia = () => matchMedia(query, device || {}, !!device);\n const [mq, setMq] = useState(getMatchMedia);\n const isUpdate = useIsUpdate();\n useEffect(() => {\n if (isUpdate) {\n // skip on mounting, it has already been set\n const newMq = getMatchMedia();\n setMq(newMq);\n return () => {\n if (newMq) {\n newMq.dispose();\n }\n };\n }\n }, [query, device]);\n return mq;\n};\nconst useMatches = (mediaQuery) => {\n const [matches, setMatches] = useState(mediaQuery.matches);\n useEffect(() => {\n const updateMatches = (ev) => {\n setMatches(ev.matches);\n };\n mediaQuery.addListener(updateMatches);\n setMatches(mediaQuery.matches);\n return () => {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]);\n return matches;\n};\nconst useMediaQuery = (settings, device, onChange) => {\n const deviceSettings = useDevice(device);\n const query = useQuery(settings);\n if (!query)\n throw new Error('Invalid or missing MediaQuery!');\n const mq = useMatchMedia(query, deviceSettings);\n const matches = useMatches(mq);\n const isUpdate = useIsUpdate();\n useEffect(() => {\n if (isUpdate && onChange) {\n onChange(matches);\n }\n }, [matches]);\n useEffect(() => () => {\n if (mq) {\n mq.dispose();\n }\n }, []);\n return matches;\n};\n\n// ReactNode and ReactElement typings are a little funky for functional components, so the ReactElement cast is needed on the return\nconst MediaQuery = ({ children, device, onChange, ...settings }) => {\n const matches = useMediaQuery(settings, device, onChange);\n if (typeof children === 'function') {\n return children(matches);\n }\n return matches ? children : null;\n};\n\nexport { Context, MediaQuery, MediaQuery as default, toQuery, useMediaQuery };\n//# sourceMappingURL=index.js.map\n","function shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n if (!arrA || !arrB) {\n return false;\n }\n const len = arrA.length;\n if (arrB.length !== len) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n const aKeys = Object.keys(objA);\n const bKeys = Object.keys(objB);\n const len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n const key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n\nfunction shallowEqual(a, b) {\n const aIsArr = Array.isArray(a);\n const bIsArr = Array.isArray(b);\n if (aIsArr !== bIsArr) {\n return false;\n }\n if (aIsArr && bIsArr) {\n return shallowEqualArrays(a, b);\n }\n return shallowEqualObjects(a, b);\n}\n\nexport { shallowEqual, shallowEqualArrays, shallowEqualObjects };\n//# sourceMappingURL=index.modern.mjs.map\n","import React, { useRef, useEffect, useState } from \"react\";\nimport { SideNav, Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport MediaQuery from 'react-responsive';\n\n\n\n\nconst EmployeeSideBar = () => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n\n function extractLeftIcon(data = {}) {\n for (const key in data) {\n const item = data[key];\n if (key === \"item\" && item?.leftIcon !== \"\") {\n return item?.leftIcon;\n }\n if (typeof data[key] === \"object\" && !Array.isArray(data[key])) {\n const subResult = extractLeftIcon(data[key]);\n if (subResult) {\n return subResult;\n }\n }\n }\n return null;\n }\n\n function mergeObjects(obj1, obj2) {\n for (const key in obj2) {\n if (obj2.hasOwnProperty(key)) {\n if (typeof obj2[key] === \"object\" && !Array.isArray(obj2[key])) {\n if (!obj1[key]) {\n obj1[key] = {};\n }\n mergeObjects(obj1[key], obj2[key]);\n } else {\n if (!obj1[key]) {\n obj1[key] = obj2[key];\n }\n }\n }\n }\n }\n\n const configEmployeeSideBar = {};\n data?.actions\n .filter((e) => e.url === \"url\")\n .forEach((item) => {\n let index = item?.path?.split(\".\")?.[0] || \"\";\n if (item?.path !== \"\") {\n const keys = item?.path?.split(\".\");\n let hierarchicalMap = {};\n\n keys.reduce((acc, key, index) => {\n if (index === keys.length - 1) {\n acc[key] = { item };\n } else {\n acc[key] = {};\n return acc[key];\n }\n }, hierarchicalMap);\n mergeObjects(configEmployeeSideBar, hierarchicalMap);\n }\n });\n\n const splitKeyValue = (configEmployeeSideBar) => {\n const objectArray = Object.entries(configEmployeeSideBar);\n objectArray.sort((a, b) => {\n if (a[0] < b[0]) {\n return -1;\n }\n if (a[0] > b[0]) {\n return 1;\n }\n return 0;\n });\n const sortedObject = Object.fromEntries(objectArray);\n configEmployeeSideBar = sortedObject;\n return configEmployeeSideBar;\n };\n\n const navigateToRespectiveURL = (navigate = {}, url = \"\") => {\n if (!url || url === \"/\") return;\n\n //Detect if it's an external link (starts with http or https)\n const isExternal = /^https?:\\/\\//i.test(url);\n\n if (isExternal) {\n //Open external links in a new tab\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n //Internal navigation logic\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n let updatedUrl;\n\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/employee`, `/${contextPath}/${tenantId}/employee`);\n updatedUrl = url;\n navigate(updatedUrl);\n }\n else{\n updatedUrl = hostUrl + url;\n try {\n if (typeof window !== 'undefined') {\n window.location.href = updatedUrl;\n }\n } catch (error) {\n console.warn('Navigation failed, attempting fallback:', error);\n try {\n window.location.replace(updatedUrl);\n } catch (fallbackError) {\n console.error('All navigation methods failed:', fallbackError);\n }\n }\n }\n } else {\n navigate(url);\n }\n};\n\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationUrl) {\n navigateToRespectiveURL(navigate, item?.navigationUrl);\n } else {\n return;\n } \n };\n\n function transformData(data) {\n const transformItem = (key, value) => {\n if (value.item) {\n return {\n label: t(value.item.displayName),\n icon: { icon: value.item.leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: value.item.navigationURL,\n orderNumber:value.item.orderNumber,\n };\n }\n const children = Object.keys(value).map((childKey) => transformItem(childKey, value[childKey]));\n const iconKey = extractLeftIcon(value);\n return {\n label: t(key),\n icon: { icon: iconKey, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n };\n };\n return Object.keys(data).map((key) => transformItem(key, data[key]));\n }\n\n const sortDataByOrderNumber = (data) => {\n // Sort the current level of data by orderNumber, handling cases where orderNumber might be missing\n data.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n return aOrder - bOrder;\n });\n \n // Recursively sort the children if they exist\n data.forEach((item) => {\n if (item.children && item.children.length > 0) {\n sortDataByOrderNumber(item.children);\n }\n });\n \n return data;\n };\n\n const transformedData = transformData(splitKeyValue(configEmployeeSideBar));\n const sortedTransformedData= sortDataByOrderNumber(transformedData);\n if (isLoading) {\n return <Loader />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n \n return (\n <MediaQuery minWidth={768}>\n <SideNav\n items={sortedTransformedData}\n hideAccessbilityTools={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"dark\"}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={() => { }}\n />\n </MediaQuery>\n );\n};\n\nexport default EmployeeSideBar;\n\n\n\n\n\n","import React from \"react\";\nimport { CitizenSideBar } from \"./CitizenSideBar\";\nimport EmployeeSideBar from \"./EmployeeSideBar\";\n\nconst SideBar = ({ t, CITIZEN, isSidebarOpen, toggleSidebar, handleLogout, mobileView, userDetails, modules, linkData, islinkDataLoading,userProfile}) => {\n if (CITIZEN)\n return (\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n linkData={linkData}\n islinkDataLoading={islinkDataLoading}\n userProfile={userProfile}\n isEmployee={false}\n />\n );\n else {\n return !isSidebarOpen && userDetails?.access_token ? (\n <div className=\"digit-employeeSidebar\">\n <EmployeeSideBar {...{ mobileView, userDetails, modules }} />\n </div>\n ) : (\n <div className=\"digit-citizenSidebar\">\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n isEmployee={true}\n userProfile={userProfile}\n />\n </div>\n );\n }\n};\n\nexport default SideBar;\n","import React, { useState } from \"react\";\nimport TopBar from \"./TopBar\";\nimport { useNavigate } from \"react-router-dom\";\nimport SideBar from \"./SideBar\";\nimport LogoutDialog from \"../Dialog/LogoutDialog\";\nconst TopBarSideBar = ({\n t,\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showSidebar = true,\n showLanguageChange,\n linkData,\n islinkDataLoading,\n}) => {\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const navigate = useNavigate()\n const [showDialog, setShowDialog] = useState(false);\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n Digit.UserService.logout();\n setShowDialog(false);\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n const handleSidebar = () => {\n toggleSidebar(!isSidebarOpen);\n };\n const userProfile = () => {\n CITIZEN ? navigate(`/${window?.contextPath}/citizen/user/profile`) : navigate(`/${window?.contextPath}/employee/user/profile`);\n };\n const userOptions = [\n { name: t(\"EDIT_PROFILE\"), icon: \"Edit\", func: userProfile },\n { name: t(\"CORE_COMMON_LOGOUT\"), icon: \"Logout\", func: handleLogout },\n ];\n\n return (\n <React.Fragment>\n <TopBar\n t={t}\n stateInfo={stateInfo}\n toggleSidebar={handleSidebar}\n isSidebarOpen={isSidebarOpen}\n handleLogout={handleLogout}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n userOptions={userOptions}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showLanguageChange={showLanguageChange}\n />\n {showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}\n {!CITIZEN\n ? showSidebar && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : CITIZEN\n ? showSidebar && isSidebarOpen && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : null}\n </React.Fragment>\n );\n};\nexport default TopBarSideBar;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5953__;","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ImageComponent = ({\n src,\n alt = \"Image not found\",\n decorative = false,\n ariaLabel = \"No Image description set\",\n ariaLabelledby = \"no-image-description\",\n ...props\n}) => {\n // Determine the appropriate attributes based on the props\n const accessibilityProps = {};\n\n if (decorative) {\n // For decorative images\n accessibilityProps.alt = \"\";\n } else if (alt) {\n // Provide meaningful alt text if available\n accessibilityProps.alt = alt;\n } else if (ariaLabel) {\n // Use aria-label if alt is not provided\n accessibilityProps[\"aria-label\"] = ariaLabel;\n } else if (ariaLabelledby) {\n // Use aria-labelledby for descriptive associations\n accessibilityProps[\"aria-labelledby\"] = ariaLabelledby;\n } else {\n console.warn(\"AccessibleImage: Missing alt, aria-label, or aria-labelledby for non-decorative image.\");\n }\n\n return (\n <img\n src={src}\n {...accessibilityProps}\n {...props}\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }\n }}\n />\n );\n};\n\nImageComponent.propTypes = {\n src: PropTypes.string.isRequired, // The source URL for the image\n alt: PropTypes.string, // Alternative text for the image\n decorative: PropTypes.bool, // If true, image is decorative\n ariaLabel: PropTypes.string, // Custom label for screen readers\n ariaLabelledby: PropTypes.string, // Association with another descriptive element\n};\n\nexport default ImageComponent;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6243__;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst ErrorConfig = {\n error: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"CORE_SOMETHING_WENT_WRONG\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n maintenance: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/maintainence-image.png`,\n infoMessage: \"CORE_UNDER_MAINTENANCE\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n notfound: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/PageNotFound.png`,\n infoMessage: \"MODULE_NOT_FOUND\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n};\n\nconst ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"WRONG_TENANT_SIGN_UP\",\n buttonInfo: \"CREATE_TENANT_ERROR_BUTTON\",\n },\n};\n\nconst ErrorComponent = (props) => {\n const { type = \"error\" } = Digit.Hooks.useQueryParams();\n const module = props?.errorData?.module;\n const { t } = useTranslation();\n const config = module ? ModuleBasedErrorConfig[module] : ErrorConfig[type];\n const stateInfo = props.stateInfo;\n\n return (\n <div className=\"error-boundary\">\n <div className=\"error-container\">\n <ImageComponent src={config.imgUrl} alt=\"error\" />\n <h1>{t(config.infoMessage)}</h1>\n <button\n onClick={() => {\n module ? props?.errorData?.action() : props?.goToHome?.();\n }}\n >\n {t(config.buttonInfo)}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ErrorComponent;\n","import {\n Calender,\n CardBasedOptions,\n CaseIcon,\n ComplaintIcon,\n DocumentIcon,\n HomeIcon,\n OBPSIcon,\n PTIcon,\n Loader,\n WhatsNewCard,\n} from \"@egovernments/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCitizenCurrentTenant(true);\n const { data: { stateInfo, uiHomePage } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (!Digit.UserService?.getUser()?.access_token) return false;\n return true;\n };\n\n const { data: EventsData, isLoading: EventsDataLoading } = Digit.Hooks.useEvents({\n tenantId,\n variant: \"whats-new\",\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n if (!tenantId) {\n navigate(`/${window?.contextPath}/citizen/select-language`);\n }\n\n const appBannerWebObj = uiHomePage?.appBannerDesktop;\n const appBannerMobObj = uiHomePage?.appBannerMobile;\n const citizenServicesObj = uiHomePage?.citizenServicesCard;\n const infoAndUpdatesObj = uiHomePage?.informationAndUpdatesCard;\n const whatsAppBannerWebObj = uiHomePage?.whatsAppBannerDesktop;\n const whatsAppBannerMobObj = uiHomePage?.whatsAppBannerMobile;\n const whatsNewSectionObj = uiHomePage?.whatsNewSection;\n const redirectURL = uiHomePage?.redirectURL;\n /* configure redirect URL only if it is required to overide the default citizen home screen */\n if (redirectURL) {\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n /* fix for sanitation ui & sandbox*/\n if (window?.location?.href?.includes?.(\"sanitation-ui\") || window?.location?.href?.includes?.(\"sandbox-ui\")) {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n }\n\n const handleClickOnWhatsAppBanner = (obj) => {\n window.open(obj?.navigationUrl);\n };\n\n const allCitizenServicesProps = {\n header: t(citizenServicesObj?.headerLabel),\n sideOption: {\n name: t(citizenServicesObj?.sideOption?.name),\n onClick: () =>\n navigate(citizenServicesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(citizenServicesObj?.props?.[0]?.label),\n Icon: <ComplaintIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[1]?.label),\n Icon: <PTIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[2]?.label),\n Icon: <CaseIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[2]?.navigationUrl),\n },\n // {\n // name: t(\"ACTION_TEST_WATER_AND_SEWERAGE\"),\n // Icon: <DropIcon/>,\n // onClick: () => history.push(`/${window?.contextPath}/citizen`)\n // },\n {\n name: t(citizenServicesObj?.props?.[3]?.label),\n Icon: <OBPSIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[3]?.navigationUrl),\n },\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n const allInfoAndUpdatesProps = {\n header: t(infoAndUpdatesObj?.headerLabel),\n sideOption: {\n name: t(infoAndUpdatesObj?.sideOption?.name),\n onClick: () => navigate(infoAndUpdatesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(infoAndUpdatesObj?.props?.[0]?.label),\n Icon: <HomeIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[1]?.label),\n Icon: <Calender />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[2]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[2]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[3]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[3]?.navigationUrl),\n },\n // {\n // name: t(\"CS_COMMON_HELP\"),\n // Icon: <HelpIcon/>\n // }\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"HomePageContainer\">\n {/* <div className=\"SideBarStatic\">\n <StaticCitizenSideBar />\n </div> */}\n <div className=\"HomePageWrapper\">\n {\n <div className=\"BannerWithSearch\">\n {isMobile ? (\n <ImageComponent src={appBannerMobObj?.bannerUrl} alt=\"Banner Image\" />\n ) : (\n <ImageComponent src={appBannerWebObj?.bannerUrl} alt=\"Banner Image\" />\n )}\n {/* <div className=\"Search\">\n <StandaloneSearchBar placeholder={t(\"CS_COMMON_SEARCH_PLACEHOLDER\")} />\n </div> */}\n <div className=\"ServicesSection\">\n <CardBasedOptions style={{ marginTop: \"-30px\" }} {...allCitizenServicesProps} />\n <CardBasedOptions style={isMobile ? {} : { marginTop: \"-30px\" }} {...allInfoAndUpdatesProps} />\n </div>\n </div>\n }\n\n {(whatsAppBannerMobObj || whatsAppBannerWebObj) && (\n <div className=\"WhatsAppBanner\">\n {isMobile ? (\n <ImageComponent\n src={whatsAppBannerMobObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerMobObj)}\n alt=\"Whatsapp Banner\"\n />\n ) : (\n <ImageComponent\n src={whatsAppBannerWebObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerWebObj)}\n alt=\"Whatsapp Banner\"\n />\n )}\n </div>\n )}\n\n {conditionsToDisableNotificationCountTrigger() ? (\n EventsDataLoading ? (\n <Loader />\n ) : (\n <div className=\"WhatsNewSection\">\n <div className=\"headSection\">\n <h2>{t(whatsNewSectionObj?.headerLabel)}</h2>\n <p onClick={() => navigate(whatsNewSectionObj?.sideOption?.navigationUrl)}>{t(whatsNewSectionObj?.sideOption?.name)}</p>\n </div>\n <WhatsNewCard {...EventsData?.[0]} />\n </div>\n )\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Home;\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoutDialog = ({ onSelect, onCancel, onDismiss, PopupStyles, isDisabled, hideSubmit }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>\n {t(\"CORE_LOGOUT_WEB_CONFIRMATION_MESSAGE\") + \" \"}\n <strong>{t(\"CORE_LOGOUT_MESSAGE\")}</strong>\n </CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"CORE_LOGOUT_WEB_YES\")}\n formId={\"modal-action\"}\n onClick={onSelect}\n isDisabled={isDisabled}\n />\n ];\n\n const footerWithoutSubmit = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"digit-action-cancel\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(\"CORE_LOGOUT_WEB_HEADER\")}\n footerChildren={hideSubmit ? footerWithoutSubmit : footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-logout-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default LogoutDialog;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { BackLink } from \"@egovernments/digit-ui-components\";\nimport { CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from \"@egovernments/digit-ui-react-components\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\n\nconst LocationSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\nconst {\n data: { stateInfo, uiHomePage } = {},\n isLoading: initisLoading,\n} = Digit.Hooks.useStore.getInitData();\n\nconst redirectURL = uiHomePage?.redirectURL;\n\nconst { data: cities, isLoading } = Digit.Hooks.useTenants();\n\n\n const [selectedCity, setSelectedCity] = useState(() => ({ code: Digit.ULBService.getCitizenCurrentTenant(true) }));\n const [showError, setShowError] = useState(false);\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LOCATION\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n function selectCity(city) {\n setSelectedCity(city);\n setShowError(false);\n }\n\n const RadioButtonProps = useMemo(() => {\n return {\n options: cities,\n optionsKey:\"i18nKey\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: selectCity,\n selectedOption: selectedCity,\n };\n }, [cities, t, selectedCity]);\n\n function onSubmit() {\n if (selectedCity) {\n Digit.SessionStorage.set(\"CITIZEN.COMMON.HOME.CITY\", selectedCity);\n const redirectBackTo = location.state?.redirectBackTo;\n if(redirectURL){\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n else{\n if (redirectBackTo) {\n navigate(redirectBackTo, {replace:true});\n } else navigate(`/${window?.contextPath}/citizen`);\n }\n } else {\n setShowError(true);\n }\n }\n\n return isLoading ? (\n <loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <BackLink onClick={() => window.history.back()}/>\n <PageBasedInput texts={texts} onSubmit={onSubmit} className=\"location-selection-container\">\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LOCATION\")}</CardHeader>\n <SearchOnRadioButtons {...RadioButtonProps} placeholder={t(\"COMMON_TABLE_SEARCH\")} />\n {showError ? <CardLabelError>{t(\"CS_COMMON_LOCATION_SELECTION_ERROR\")}</CardLabelError> : null}\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LocationSelection;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FaqComponent = (props) => {\n const { question, answer, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <span>{t(answer)}</span>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nexport default FaqComponent;\n","import { BackButton, HeaderComponent, Loader ,SearchIconSvg} from \"@egovernments/digit-ui-components\";\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport FaqComponent from \"./FaqComponent\";\n\nconst FAQsSection = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId = user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n const SearchImg = () => {\n return <SearchIconSvg className=\"signature-img\" />;\n };\n\n const { isLoading, data } = Digit.Hooks.useGetFAQsJSON(Digit.ULBService.getStateId());\n\n const moduleFaqs = data?.MdmsRes[\"common-masters\"]?.faqs[0]?.[`${module}`].faqs;\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"faq-page\">\n <BackButton style={{ marginLeft: \"unset\" }}></BackButton>\n <div style={{ marginBottom: \"15px\" }}>\n <HeaderComponent styles={{ marginLeft: \"0px\", paddingTop: \"10px\", fontSize: \"32px\" }}>{t(\"FAQ_S\")}</HeaderComponent>\n </div>\n <div className=\"faq-list\">\n {moduleFaqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} lastIndex={i === moduleFaqs?.length - 1} />\n ))}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default FAQsSection;\n","import { BackLink, CitizenHomeCard, CitizenInfoLabel } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useNavigate, useLocation } from \"react-router-dom\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport { AppHome, processLinkData } from \"../../components/Home\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport StaticCitizenSideBar from \"../../components/TopBarSideBar/SideBar/StaticCitizenSideBar\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"../../components/DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"Loading Error Component...\" }\n);\n\nconst FAQsSection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-faqs\" */ \"./FAQs/FAQs\"),\n () => require(\"./FAQs/FAQs\").default,\n { loaderText: \"Loading FAQs...\" }\n);\n\nconst CitizenHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-home\" */ \"./Home\"),\n () => require(\"./Home\").default,\n { loaderText: \"Loading Home...\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-language-selection\" */ \"./Home/LanguageSelection\"),\n () => require(\"./Home/LanguageSelection\").default,\n { loaderText: \"Loading Language Selection...\" }\n);\n\nconst LocationSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-location-selection\" */ \"./Home/LocationSelection\"),\n () => require(\"./Home/LocationSelection\").default,\n { loaderText: \"Loading Location Selection...\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-user-profile\" */ \"./Home/UserProfile\"),\n () => require(\"./Home/UserProfile\").default,\n { loaderText: \"Loading User Profile...\" }\n);\n\nconst HowItWorks = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-how-it-works\" */ \"./HowItWorks/howItWorks\"),\n () => require(\"./HowItWorks/howItWorks\").default,\n { loaderText: \"Loading How It Works...\" }\n);\n\nconst Login = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"Loading Login...\" }\n);\n\nconst Search = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-search\" */ \"./SearchApp\"),\n () => require(\"./SearchApp\").default,\n { loaderText: \"Loading Search...\" }\n);\n\nconst StaticDynamicCard = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-static-dynamic-card\" */ \"./StaticDynamicComponent/StaticDynamicCard\"),\n () => require(\"./StaticDynamicComponent/StaticDynamicCard\").default,\n { loaderText: \"Loading Dynamic Content...\" }\n);\n\nconst sidebarHiddenFor = [\n `${window?.contextPath}/citizen/register/name`,\n `/${window?.contextPath}/citizen/select-language`,\n `/${window?.contextPath}/citizen/select-location`,\n `/${window?.contextPath}/citizen/login`,\n `/${window?.contextPath}/citizen/register/otp`,\n];\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes.map((item) => item.code).includes(tenant.code));\n};\n\nconst Home = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl, // This prop seems unused, consider removing\n pathname, // This prop seems unused, `useLocation().pathname` is used directly\n initData,\n}) => {\n const { isLoading: islinkDataLoading, data: linkData, isFetched: isLinkDataFetched } = Digit.Hooks.useCustomMDMS(\n Digit.ULBService.getStateId(),\n \"ACCESSCONTROL-ACTIONS-TEST\",\n [\n {\n name: \"actions-test\",\n filter: `[?(@.url == '${Digit.Utils.getMultiRootTenant() ? window.globalPath : window.contextPath}-card')]`,\n },\n ],\n {\n select: (data) => {\n const formattedData = data?.[\"ACCESSCONTROL-ACTIONS-TEST\"]?.[\"actions-test\"]\n ?.filter((el) => el.enabled === true)\n .reduce((a, b) => {\n a[b.parentModule] = a[b.parentModule]?.length > 0 ? [b, ...a[b.parentModule]] : [b];\n return a;\n }, {});\n return formattedData;\n },\n }\n );\n const classname = Digit.Hooks.useRouteSubscription(pathname);\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const hideSidebar = sidebarHiddenFor.some((e) => window.location.href.includes(e));\n\n // Create app routes with dynamic module loading and loading states for citizen modules\n const appRoutes = modules.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType=\"citizen\"\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n const ModuleLevelLinkHomePages = modules.map(({ code, bannerImage }, index) => {\n let Links = Digit.ComponentRegistryService.getComponent(`${code}Links`) || (() => <React.Fragment />);\n let mdmsDataObj = isLinkDataFetched ? processLinkData(linkData, code, t) : undefined;\n\n if (mdmsDataObj?.header === \"ACTION_TEST_WS\") {\n mdmsDataObj?.links.sort((a, b) => {\n return b.orderNumber - a.orderNumber;\n });\n }\n return (\n <React.Fragment key={code + \"-routes\"}>\n <Route path={`${code.toLowerCase()}-home`} element={\n <div className=\"moduleLinkHomePage\">\n <ImageComponent src={bannerImage || stateInfo?.bannerUrl} alt=\"noimagefound\" />\n <BackLink className=\"moduleLinkHomePageBackButton\" onClick={() => navigate(-1)} />\n <h1>{t(\"MODULE_\" + code.toUpperCase())}</h1>\n <div className=\"moduleLinkHomePageModuleLinks\">\n {mdmsDataObj && (\n <CitizenHomeCard\n header={t(mdmsDataObj?.header)}\n links={mdmsDataObj?.links}\n Icon={() => <span />}\n Info={\n code === \"OBPS\"\n ? () => (\n <CitizenInfoLabel\n style={{ margin: \"0px\", padding: \"10px\" }}\n info={t(\"CS_FILE_APPLICATION_INFO_LABEL\")}\n text={t(`BPA_CITIZEN_HOME_STAKEHOLDER_INCLUDES_INFO_LABEL`)}\n />\n )\n : null\n }\n isInfo={code === \"OBPS\" ? true : false}\n />\n )}\n </div>\n <StaticDynamicCard moduleCode={code?.toUpperCase()} />\n </div>\n } />\n <Route path={`${code.toLowerCase()}-faq`} element={<FAQsSection module={code?.toUpperCase()} />} />\n <Route path={`${code.toLowerCase()}-how-it-works`} element={<HowItWorks module={code?.toUpperCase()} />} />\n </React.Fragment>\n );\n });\n\n return (\n <div className={classname}>\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n showSidebar={CITIZEN ? true : false}\n linkData={linkData}\n islinkDataLoading={islinkDataLoading}\n />\n\n <div className={`main center-container citizen-home-container mb-25`}>\n {hideSidebar ? null : (\n <div className=\"SideBarStatic\">\n <StaticCitizenSideBar linkData={linkData} islinkDataLoading={islinkDataLoading} />\n </div>\n )}\n\n <Routes>\n <Route path=\"/\" element={<CitizenHome />} />\n\n <Route path=\"select-language\" element={<LanguageSelection />} />\n\n <Route path=\"select-location\" element={<LocationSelection />} />\n\n <Route path=\"error\" element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n } />\n\n <Route path=\"all-services\" element={\n <AppHome\n userType=\"citizen\"\n modules={modules}\n getCitizenMenu={linkData}\n fetchedCitizen={isLinkDataFetched}\n isLoading={islinkDataLoading}\n />\n } />\n\n <Route path=\"login/*\" element={<Login stateCode={stateCode} />} />\n\n <Route path=\"register/*\" element={<Login stateCode={stateCode} isUserRegistered={false} />} />\n\n <Route path=\"user/profile\" element={<UserProfile stateCode={stateCode} userType={\"citizen\"} cityDetails={cityDetails} />} />\n\n <Route path=\"Audit\" element={<Search />} />\n\n {/* Dynamic App Routes and Module Level Link Home Pages */}\n {appRoutes}\n {ModuleLevelLinkHomePages}\n </Routes>\n </div>\n <div className=\"citizen-home-footer\" style={window.location.href.includes(\"citizen/obps\") ? { zIndex: \"-1\" } : {}}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.2em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Home;","export const SignUpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_SIGN_UP\",\n submitButtonLabel: \"CORE_COMMON_SIGN_UP_BUTTON\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n maxLength: 64,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n label: \"CORE_SIGNUP_ACCOUNT_NAME\",\n type: \"text\",\n key: \"accountName\",\n isMandatory: true,\n populators: {\n name: \"accountName\",\n validation: {\n required: true,\n pattern: /^[A-Za-z]+( [A-Za-z]+)*$/,\n maxLength: 50,\n },\n error: \"ERR_ACCOUNT_NAME_REQUIRED\",\n },\n infoMessage:\"SANDBOX_SIGNUP_ACCOUNT_NAME_TOOLTIP\"\n },\n {\n isMandatory: false,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"SandboxSignUp\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n bannerImages: [{\n id: 1,\n image: 'https://images.unsplash.com/photo-1746277121508-f44615ff09bb',\n title: 'A digital partner for frontline workers',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio nobis temporibus provident expedita consequuntur, repudiandae pariatur! Deleniti molestias vero, cumque vel error labore ipsam totam?\"\n },\n {\n id: 2,\n image: 'https://images.unsplash.com/photo-1581094271901-8022df4466f9',\n title: 'Feature 2 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 3,\n image: 'https://images.unsplash.com/photo-1624555130581-1d9cca783bc0',\n title: 'Feature 3 Title',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate aut autem aperiam et modi saepe obcaecati doloremque voluptatem iusto quidem!\"\n },\n {\n id: 4,\n image: 'https://images.unsplash.com/photo-1547481887-a26e2cacb5b2',\n title: 'Feature 4 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 5,\n image: 'https://images.unsplash.com/photo-1536782376847-5c9d14d97cc0',\n title: 'Feature 5 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 6,\n image: 'https://images.unsplash.com/photo-1490730141103-6cac27aaab94',\n title: 'Feature 6 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast, useCustomAPIMutationHook } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Login = ({ config: propsConfig, t, isDisabled }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n\n const navigate = useNavigate();\n\n const reqCreate = {\n url: `/tenant-management/tenant/_create`,\n params: {},\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onLogin = async (data) => {\n await mutation.mutate(\n {\n body: {\n tenant: {\n name: data.accountName,\n email: data.email,\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0]?.code ? `SANDBOX_SIGNUP_${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_SIGNUP_ERROR`,\n });\n },\n onSuccess: async (data) => {\n navigate({\n pathname: `/${window?.globalPath}/user/otp`,\n state: { email: data?.Tenants[0]?.email, tenant: data?.Tenants[0]?.code },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const onFormValueChange = (setValue, formData, formState) => {\n // Extract keys from the config\n const keys = config[0].body.map((field) => field.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || (key === \"check\" && value === false) || (key === \"captcha\" && value === false);\n });\n\n // Set disable based on the check\n setDisable(hasEmptyFields);\n };\n\n return isLoading || isStoreLoading ? (\n <Loader />\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={propsConfig?.texts?.secondaryButtonLabel}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className=\"sandbox-signup-form\"\n cardSubHeaderClassName=\"signupCardSubHeaderClassName\"\n cardClassName=\"signupCardClassName sandbox-onboarding-wrapper\"\n buttonClassName=\"buttonClassName\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast?.label)} onClose={closeToast} />}\n <div className=\"employee-login-home-footer\" style={{ backgroundColor: \"unset\" }}>\n <img\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default Login;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport { SignUpConfig as defaultSignUpConfig } from \"./config\";\nimport Login from \"./signUp\";\n\nconst SignUp = ({ stateCode }) => {\n const { t } = useTranslation();\n const [SignUpConfig, setSignUpConfig] = useState(defaultSignUpConfig);\n\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix\n });\n\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(\n stateCode,\n \"commonUiConfig\",\n [\"SignUpConfig\"],\n {\n select: (data) => ({\n config: data?.commonUiConfig?.SignUpConfig\n }),\n retry: false\n }\n );\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) {\n setSignUpConfig(mdmsData.config);\n } else {\n setSignUpConfig(defaultSignUpConfig);\n }\n }, [mdmsData, isLoading]);\n\n const SignUpParams = useMemo(\n () =>\n SignUpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [SignUpConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<Login config={SignUpParams[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default SignUp;\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n var mql;\n\n // matchMedia will return null in FF when it's called in a hidden iframe\n // ref: https://stackoverflow.com/a/12330568\n if(dynamicMatch && !forceStatic) mql = dynamicMatch.call(window, query);\n\n if (mql) {\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","export const defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"ES_FORGOT_PASSWORD_DESC\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"mobileNumber\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOBILE_NUMBER\",\n },\n {\n label: \"CORE_COMMON_CITY\",\n type: \"dropdown\",\n name: \"city\",\n error: \"ERR_HRMS_INVALID_CITY\",\n },\n ]\n },\n];\n","// import { FormComposer } from \"@egovernments/digit-ui-react-components\";\nimport { BackLink, Dropdown, Loader, Toast, FormComposerV2 } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport Carousel from \"../Login/Carousel/Carousel\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\n\nconst ForgotPassword = ({ config: propsConfig, t, stateCode }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const [user, setUser] = useState(null);\n const navigate = useNavigate();\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n \n const { data : mdmsData } = useLoginConfig(stateCode);\n \n if(mdmsData?.config){\n const bannerImages = mdmsData?.config[0]?.bannerImages;\n propsConfig.bannerImages = bannerImages;\n }\n\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = async (data) => {\n if (!data.city) {\n alert(\"Please Select City!\");\n return;\n }\n const requestData = {\n otp: {\n userName: data.username,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId: data.city.code,\n },\n };\n try {\n await Digit.UserService.sendOtp(requestData, data.city.code);\n navigate(`/${window?.contextPath}/employee/user/change-password?USERNAME=${data.username}&tenantId=${data.city.code}`);\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || \"Invalid login credentials!\");\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/login`);\n };\n\n const [userId, city] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(\"USERNAME\"),\n type: \"text\",\n populators: {\n name: \"username\",\n },\n isMandatory: true,\n },\n {\n label: t(city.label),\n type: city.type,\n populators: {\n name: city.name,\n optionsKey: \"name\",\n required: true,\n options: cities,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n if (isLoading) {\n return <Loader page={true} variant=\"PageLoader\" />\n }\n\n return (\n propsConfig?.bannerImages ? (\n <React.Fragment>\n <div className=\"login-container\">\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </div>\n </div>\n </React.Fragment>\n ) :\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nForgotPassword.propTypes = {\n loginParams: PropTypes.any,\n};\n\nForgotPassword.defaultProps = {\n loginParams: null,\n};\n\nexport default ForgotPassword;","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { loginConfig } from \"./config\";\nimport ForgotPasswordComponent from \"./forgotPassword\";\n\nconst EmployeeForgotPassword = ({ stateCode }) => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ForgotPasswordComponent config={params[0]} t={t} stateCode={stateCode} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeForgotPassword;\n","import { PageBasedInput, Loader, RadioButtons, CardHeader } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst LanguageSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LANGUAGE\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n const RadioButtonProps = useMemo(\n () => ({\n options: languages,\n optionsKey: \"label\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: (language) => Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n selectedOption: languages?.filter((i) => i.value === selectedLanguage)[0],\n }),\n [selectedLanguage, languages]\n );\n\n function onSubmit() {\n navigate(`/${window?.contextPath}/citizen/select-location`);\n }\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <PageBasedInput texts={texts} onSubmit={onSubmit}>\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LANGUAGE\")}</CardHeader>\n <RadioButtons {...RadioButtonProps} />\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LanguageSelection;\n","import React, {useRef, useEffect, useState } from \"react\";\nimport { CheckCircle } from \"@egovernments/digit-ui-svg-components\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DummyLoaderScreen = () => {\n const [currentStep, setCurrentStep] = useState(0);\n const navigate = useNavigate();\n const location = useLocation();\n const { t } = useTranslation();\n const { tenant } = location.state || {};\n const steps = [\n \"SANDBOX_GUIDE_SETUP_ACCOUNT\",\n \"SANDBOX_GUIDE_DEFAULT_MASTER_DATA\",\n \"SANDBOX_GUIDE_CONFIGURING_COMPLAINTS\",\n \"SANDBOX_GUIDE_CONFIGURING_EMPLOYEE_MANAGEMENT\",\n \"SANDBOX_GUIDE_SETTING_UP_CITIZEN_PORTAL\",\n \"SANDBOX_GUIDE_SETTING_UP_EMPLOYEE_PORTAL\",\n \"SANDBOX_GUIDE_LOADING_CONFIGURATION_INTERFACE\",\n \"SANDBOX_GUIDE_CREATING_DASHBOARD\",\n \"SANDBOX_GUIDE_ALL_SETUP_DONE\",\n ];\n useEffect(() => {\n const stepInterval = setInterval(() => {\n if (currentStep < steps.length) {\n setCurrentStep((prev) => prev + 1);\n }\n }, 2000); // 1 second delay for each step\n\n if (currentStep === steps.length) {\n clearInterval(stepInterval); // Clear the interval to stop further updates\n const globalPath = typeof window !== 'undefined' ? window?.globalPath : '';\n\n const navigateTimeout = setTimeout(() => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}${RoleLandingUrl}`,\n state: { tenant: tenant },\n });\n\n } else {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}/employee`,\n state: { tenant: tenant },\n });\n }\n }, 1000);\n\n return () => clearTimeout(navigateTimeout); // Cleanup timeout\n }\n\n return () => {\n clearInterval(stepInterval);\n };\n }, [currentStep]);\n\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n return (\n <div className=\"sandbox-loader-screen\">\n <div className=\"sandbox-loader\"></div>\n <ul className=\"sandbox-installation-steps\">\n {steps.map((step, index) => (\n <li key={index} className={`sandbox-step ${index < currentStep ? \"sandbox-visible\" : \"\"}`}>\n <span className=\"sandbox-step-text\">{t(step)}</span>\n {index < currentStep && <CheckCircle fill=\"#00703C\" />}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nexport default DummyLoaderScreen;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"Loading Citizen App...\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"Loading Employee App...\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"Loading Sign Up...\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"Loading OTP...\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"Loading View URL...\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"Loading Error Component...\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"Loading...\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>&#8226;</span>\n )}\n {description.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' }}>{subIndex + 1}. </span>\n )}\n {t(description.text)}\n </div>\n {description?.subDescriptions && description?.subDescriptions.length > 0 && (\n <div className=\"policy-subdescription\">\n {description.subDescriptions.map((subDesc, subSubIndex) => (\n <div key={subSubIndex} className=\"policy-subdescription-points\">\n {subDesc.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' , paddingLeft: '1rem'}}>&#8226;</span>\n )}\n {subDesc.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' , paddingLeft: '1rem'}}>{subSubIndex + 1}. </span>\n )}\n {subDesc.type === null && (\n <span style={{ marginRight: '0.5rem', paddingLeft: '1rem'}}> </span>\n )}\n {t(subDesc.text)}\n </div>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n ))}\n </PopUp>\n )}\n </React.Fragment>\n );\n};\n\nexport default PrivacyComponent;\n","import { BodyContainer } from \"@egovernments/digit-ui-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { getI18n } from \"react-i18next\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { Provider } from \"react-redux\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { DigitApp, DigitAppWrapper } from \"./App\";\nimport SelectOtp from \"./pages/citizen/Login/SelectOtp\";\nimport ChangeCity from \"./components/ChangeCity\";\nimport ChangeLanguage from \"./components/ChangeLanguage\";\nimport { useState, useMemo, useCallback } from \"react\";\nimport ErrorBoundary from \"./components/ErrorBoundaries\";\nimport getStore from \"./redux/store\";\nimport PrivacyComponent from \"./components/PrivacyComponent\";\nimport OtpComponent from \"./pages/employee/Otp/OtpCustomComponent\";\nimport LoginSignupSelector from \"./components/LoginSignupSelector\";\nimport ForgotOrganizationTooltip from \"./components/ForgotOrganizationTooltip\";\n\n// Create QueryClient instance outside component to prevent recreation\nconst createQueryClient = () => new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 15 * 60 * 1000,\n gcTime: 50 * 60 * 1000,\n retry: false,\n retryDelay: (attemptIndex) => Infinity,\n /*\n enable this to have auto retry incase of failure\n retryDelay: attemptIndex => Math.min(1000 * 3 ** attemptIndex, 60000)\n */\n },\n },\n});\n\nconst DigitUIWrapper = ({ stateCode, enabledModules, defaultLanding,allowedUserTypes }) => {\n const { isLoading, data: initData={} } = Digit.Hooks.useInitStore(stateCode, enabledModules);\n if (isLoading) {\n return <Loader page={true} variant={\"PageLoader\"} />;\n }\n const data=getStore(initData) || {};\n const i18n = getI18n();\n if(!Digit.ComponentRegistryService.getComponent(\"PrivacyComponent\")){\n Digit.ComponentRegistryService.setComponent(\"PrivacyComponent\", PrivacyComponent);\n }\n return (\n <Provider store={data}>\n <Router>\n <BodyContainer>\n {Digit.Utils.getMultiRootTenant() ? (\n <DigitAppWrapper\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n logoUrlWhite={initData?.stateInfo?.logoUrlWhite}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n ) : (\n <DigitApp\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n )}\n </BodyContainer>\n </Router>\n </Provider>\n );\n};\n\n/**\n * DigitUI Component - The main entry point for the UI.\n *\n * @param {Object} props - The properties passed to the component.\n * @param {string} props.stateCode - The state code for the application.\n * @param {Object} props.registry - The registry object containing components registrations.\n * @param {Array<string>} props.enabledModules - A list of enabled modules, if any modules to be disabled due to some condition.\n * @param {Object} props.moduleReducers - Reducers associated with enabled modules.\n * @param {string} props.defaultLanding - The default landing page (e.g., \"employee\", \"citizen\"), default is citizen.\n * @param {Array<string>} props.allowedUserTypes - A list of allowed user types (e.g., [\"employee\", \"citizen\"]) if any restriction to be applied, and default is both employee & citizen.\n * \n * @author jagankumar-egov\n *\n * @example\n * <DigitUI\n * stateCode=\"pg\"\n * registry={registry}\n * enabledModules={[\"Workbench\", \"PGR\"]}\n * defaultLanding=\"employee\"\n * allowedUserTypes={[\"employee\", \"citizen\"]}\n * moduleReducers={moduleReducers}\n * />\n */\nexport const DigitUI = ({ stateCode, registry, enabledModules, defaultLanding,allowedUserTypes }) => {\n // Memoize initial privacy state to prevent unnecessary re-renders\n const initialPrivacy = useMemo(() => Digit.Utils.getPrivacyObject() || {}, []);\n const [privacy, setPrivacy] = useState(initialPrivacy);\n \n const userType = Digit.UserService.getType();\n \n // Use memoized QueryClient to prevent recreation on every render\n const queryClient = useMemo(() => createQueryClient(), []);\n\n const ComponentProvider = Digit.Contexts.ComponentProvider;\n const PrivacyProvider = Digit.Contexts.PrivacyProvider;\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n\n // Memoize privacy context methods to prevent unnecessary re-renders\n const resetPrivacy = useCallback((_data) => {\n Digit.Utils.setPrivacyObject({});\n setPrivacy({});\n }, []);\n\n const getPrivacy = useCallback(() => {\n const privacyObj = Digit.Utils.getPrivacyObject();\n setPrivacy(privacyObj);\n return privacyObj;\n }, []);\n\n const updatePrivacyDescoped = useCallback((_data) => {\n const privacyObj = Digit.Utils.getAllPrivacyObject();\n // Safely access pathname with fallback\n const pathname = typeof window !== 'undefined' ? window.location.pathname : '';\n const newObj = { ...privacyObj, [pathname]: _data };\n Digit.Utils.setPrivacyObject({ ...newObj });\n setPrivacy(privacyObj?.[pathname] || {});\n }, []);\n\n const updatePrivacy = useCallback((uuid, fieldName) => {\n setPrivacy(Digit.Utils.updatePrivacy(uuid, fieldName) || {});\n }, []);\n\n // Memoize privacy context value to prevent unnecessary re-renders\n const privacyContextValue = useMemo(() => ({\n privacy: typeof window !== 'undefined' ? privacy?.[window.location.pathname] : privacy,\n resetPrivacy,\n getPrivacy,\n updatePrivacyDescoped,\n updatePrivacy,\n }), [privacy, resetPrivacy, getPrivacy, updatePrivacyDescoped, updatePrivacy]);\n\n return (\n <div>\n <ErrorBoundary>\n <QueryClientProvider client={queryClient}>\n <ComponentProvider.Provider value={registry}>\n <PrivacyProvider.Provider value={privacyContextValue}>\n <DigitUIWrapper stateCode={stateCode} enabledModules={enabledModules} defaultLanding={defaultLanding} allowedUserTypes={allowedUserTypes} />\n </PrivacyProvider.Provider>\n </ComponentProvider.Provider>\n </QueryClientProvider>\n </ErrorBoundary>\n </div>\n );\n};\n\nconst componentsToRegister = {\n SelectOtp,\n ChangeCity,\n ChangeLanguage,\n PrivacyComponent,\n OtpComponent,\n ForgotOrganizationTooltip,\n LoginSignupSelector\n};\n\nexport const initCoreComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n","import React, { Fragment, useState } from \"react\";\nimport { CardText, CardLabelError, Toast, CardLabel } from \"@egovernments/digit-ui-components\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport Background from \"../../../components/Background\";\nimport { useEffect } from \"react\";\n\nconst OtpComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [params, setParams] = useState({});\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [timeLeft, setTimeLeft] = useState(30);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n useEffect(() => {\n onSelect(\"OtpComponent\", params);\n }, [params]);\n\n const reqCreate = {\n url: `/user-otp/v1/_send`,\n params: { tenantId: props?.props?.code },\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const resendOtp = async () => {\n setTimeLeft(30);\n await mutation.mutate(\n {\n body: {\n \"otp\": {\n \"userName\": props?.props?.email,\n \"type\": \"login\",\n \"tenantId\": props?.props?.tenant,\n \"userType\": \"EMPLOYEE\"\n }\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0].code\n ? `SANDBOX_RESEND_OTP${error?.response?.data?.Errors?.[0]?.code}`\n : `SANDBOX_RESEND_OTP_ERROR`,\n });\n setTimeout(closeToast, 5000);\n },\n onSuccess: async (data) => {\n setShowToast({ key: \"info\", label: t(\"OTP_RESNED_SUCCESFULL\") });\n setTimeout(closeToast, 5000);\n },\n }\n );\n };\n\n return (\n <>\n <CardLabel className={\"sandbox-custom-otp-subheader\"}>{t(\"SANDBOX_ENTER_OTP\")}</CardLabel>\n <CardLabel className={\"sandbox-custom-otp-header\"} >{t(\"CS_OTP_EMAIL\")}</CardLabel>\n <CardLabel className={\"sandbox-custom-otp-email\"} style={{fontWeight: 'bold'}}>{props?.props?.email}</CardLabel>\n <OTPInput className={\"sandbox-otp-input\"} length={6} onChange={handleOtpChange} value={params?.otp} />\n {timeLeft > 0 ? (\n <CardText className={\"sandbox-resend-otp\"}>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button sandbox-otp-input\" onClick={resendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!isOtpValid && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n {showToast && <Toast type={showToast?.key} label={t(showToast?.label)} onClose={closeToast} />}\n </>\n );\n};\n\nexport default OtpComponent;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst ForgotOrganizationTooltip = ({ onSelect }) => {\n const { t } = useTranslation();\n const [showTip, setShowTip] = useState(false);\n const wrapperRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\n setShowTip(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, []);\n return (\n <div ref={wrapperRef} className=\"loginSignUpSelector\" style={{ position: \"relative\", marginTop: \"-2rem\" }}>\n <Button\n label={t(`SB_FORGOTORGANIZATION_TOOLTIP`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={() => setShowTip((prev) => !prev)}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n {showTip && (\n <div\n style={{\n position: \"absolute\",\n bottom: \"100%\",\n left: \"50%\",\n transform: \"translateY(-4px)\",\n backgroundColor: \"#0b4b66\",\n color: \"white\",\n padding: \"6px 10px\",\n borderRadius: \"4px\",\n whiteSpace: \"normal\",\n wordBreak: \"break-word\",\n maxWidth: \"20rem\",\n zIndex: 1000,\n fontSize: \"0.875rem\"\n }}\n >\n {t(\"SB_FORGOTORGANIZATION_TOOLTIP_TEXT\")}\n </div>\n )}\n </div>\n );\n};\n\nexport default ForgotOrganizationTooltip;\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nconst LoginSignupSelector = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const [isChecked, setIsChecked] = useState(true);\n\n\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClickLogin = () => {\n window.location.replace(`/${window?.contextPath}/user/login`);\n };\n\n const onButtonClickSignUP = () => {\n window.location.replace(`/${window?.contextPath}/user/sign-up`);\n };\n\n const isSignupPage = window.location.href.includes(\"sandbox-ui/user/sign-up\");\n return (\n <React.Fragment>\n <div className=\"loginSignUpSelector\" style={{ marginTop: '-2rem' }}>\n {\n isSignupPage ?\n <Button\n label={t(`SB_ALREADY_HAVE_ACCOUNT`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClickLogin}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button> :\n <Button\n label={t(`SB_DONT_HAVE_ACCOUNT`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClickSignUP}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n\n }\n\n </div>\n </React.Fragment>\n );\n};\n\nexport default LoginSignupSelector;\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__6243__","__WEBPACK_EXTERNAL_MODULE__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","ChangePasswordComponent","_ref","_window3","_window3$getConfig","config","propsConfig","t","user","setUser","useState","mobile_number","mobileNumber","tenantId","Digit","Hooks","useQueryParams","navigate","useNavigate","otp","setOtp","isOtpValid","setIsOtpValid","showToast","setShowToast","getUserType","UserService","getType","useEffect","_location$state","_window","redirectPath","location","state","from","concat","window","contextPath","replace","setType","closeToast","onResendOTP","_ref2","_asyncToGenerator","requestData","userType","toUpperCase","type","sendOtp","err","_err$response","response","data","error_description","setTimeout","apply","arguments","onChangePassword","_ref3","newPassword","confirmPassword","_objectSpread","otpReference","changePassword","navigateToLogin","_err$response2","error","fields","message","_x","_window2","username","password","inputs","body","label","populators","name","isMandatory","_jsxs","Background","children","_jsx","className","BackLink","variant","style","borderBottom","FormComposer","onSubmit","noBoxShadow","inline","submitInForm","texts","submitButtonLabel","cardStyle","maxWidth","margin","Header","CardSubHeader","textAlign","header","CardText","SelectOtp","onOtpChange","onResend","Toast","onClose","ImageComponent","alt","src","globalConfigs","getConfig","call","cursor","onClick","_window4","_window4$getConfig","open","focus","propTypes","loginParams","PropTypes","defaultProps","EmployeeChangePassword","useTranslation","params","useMemo","map","step","key","Routes","Route","path","element","ChangePassword","lazyWithFallback","loaderText","ForgotPassword","AppHome","then","default","getTenants","codes","tenants","filter","tenant","_codes$map","item","code","includes","AppModules","stateCode","modules","appTenants","additionalComponent","useLocation","getUser","access_token","info","Navigate","to","pathname","search","appRoutes","index","toLowerCase","DynamicModuleLoader","moduleCode","maxRetries","retryDelay","initialDelay","LanguageSelection","EmployeeLogin","Otp","UserProfile","ErrorComponent","userScreensExempted","withAutoFocusMain","_location$pathname","_initData$modules","_window2$getConfig","stateInfo","userDetails","CITIZEN","cityDetails","mobileView","handleUserDropdownSelection","logoUrl","logoUrlWhite","sourceUrl","initData","noTopBar","showLanguageChange","isUserProfile","some","url","_location$pathname2","i","_Fragment","TopBarSideBar","showSidebar","padding","paddingTop","marginLeft","bannerUrl","isLogin","goToHome","_Digit","_Digit$getType","ErrorBoundary","height","stringReplaceAll","str","length","undefined","searcher","replaceWith","_str","_str2","prop","_selectCityData$","_stringReplaceAll2","dropDownData","setDropDownData","selectCityData","setSelectCityData","selectedCity","setSelectedCity","isMultiRootTenant","dropdown","Utils","getMultiRootTenant","_userloggedValues$inf","userloggedValues","SessionStorage","get","teantsArray","filteredArray","roles","forEach","role","push","unique","ar","indexOf","uniCode","_stringReplaceAll","value","select","color","Dropdown","option","selected","find","cityValue","optionKey","city","_Digit$SessionStorage","_window$location","loggedInData","filteredRoles","set","href","reload","console","warn","freeze","customSelector","onSelect","canSubmit","timeLeft","setTimeLeft","useInterval","handleResendOtp","Fragment","OTPInput","onChange","CardLabelError","FormStep","isDisabled","setProfilePic","closeDrawer","removeProfilePic","uploadedFile","setUploadedFile","file","setFile","setError","size","_response$data","UploadServices","Filestorage","ULBService","getStateId","files","_response$data2","fileStoreId","React","position","top","left","right","bottom","width","backgroundColor","onOverlayBodyClick","justifyContent","display","alignItems","zIndex","flex","flexDirection","gap","for","GalleryIcon","id","accept","e","target","removeimg","RemoveIcon","DEFAULT_TENANT","_Digit$getStateId","defaultValidationConfig","UserProfileValidationConfig","_Digit$UserService$ge","_mdmsValidationData$U2","_defaultValidationCon","_errors$userName","_errors$emailAddress","_mdmsValidationData$U3","_defaultValidationCon2","_errors$userName2","_mdmsValidationData$U4","_defaultValidationCon3","_errors$mobileNumber","_errors$emailAddress2","_mdmsValidationData$U5","_defaultValidationCon4","_errors$currentPasswo","_mdmsValidationData$U6","_defaultValidationCon5","_errors$newPassword","_mdmsValidationData$U7","_defaultValidationCon6","_errors$confirmPasswo","stateId","getCurrentTenantId","userInfo","setUserDetails","setName","email","setEmail","emailId","gender","setGender","setCity","permanentCity","setMobileNo","profilePic","profileImg","setProfileImg","openUploadSlide","setOpenUploadSide","changepassword","setChangepassword","currentPassword","setCurrentPassword","setNewPassword","setConfirmPassword","toast","setToast","loading","setLoading","windowWidth","setWindowWidth","innerWidth","errors","setErrors","isMobile","browser","individualServicePath","mapConfigToRegExp","_config$UserProfileVa","Object","entries","reduce","acc","startsWith","lastIndexOf","lastSlashIndex","pattern","slice","flags","RegExp","validationConfig","setValidationConfig","mdmsValidationData","isValidationConfigLoading","useCustomMDMS","commonUiConfig","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","uuid","_response$Individual","CustomService","getResponse","useCache","method","userService","limit","offset","Individual","userUuid","addEventListener","removeEventListener","_userDetails$photo","i18nKey","thumbs","photo","split","at","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","test","userName","setUserEmailAddress","emailAddress","duration","action","updateProfile","_ref4","_userDetails$name","_userDetails$name2","_responseInfo","prev","trim","JSON","stringify","responseInfo","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","individualPayload","givenName","familyName","otherNames","isDeleted","isSystemUser","isSystemUserActive","status","existingPassword","res","changePasswordResponseInfo","logout","_error$Errors","Errors","description","errorObj","parse","_error$response","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","_ref5","thumbnails","getThumbnails","_ref6","ids","Filefetch","fileStoreIds","o","images","getFileUrl","_x2","_x3","Loader","BreadCrumb","marginTop","marginBottom","crumbs","internalLink","content","show","boxShadow","background","borderRadius","border","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","CardLabel","TextInput","isRequired","title","disable","ErrorMessage","truncateMessage","maxLength","wrapperClassName","showIcon","fontSize","disabled","placeholder","locale","getTransformedLocale","MobileNumber","_validationConfig$mob","setUserMobileNumber","required","getOTPBasedLogin","Button","variation","TogleforPassword","paddingLeft","_e$target","_e$target2","_e$target3","fontWeight","Footer","actionFields","SubmitBar","setactionFieldsToRight","UploadDrawer","_window5","useAnIndividual","IndividualUserProfile","isUserRegistered","usersResponse","userSearch","handleResize","updateUser","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","Error","getShim","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","imgUrl","infoHeader","infoMessage","buttonInfo","globalPath","Card","showTenant","CardHeader","isSuffix","preventDefault","loginSteps","cardText","nextText","submitBarLabel","validation","minlength","maxlength","onMobileChange","onEmailChange","isEmail","setIsEmail","core_mobile_config","EMAIL_REGEX","rawPattern","mobileNumberPattern","isEmailValid","isMobileValid","linkLabel","InputCard","submit","onNext","handleSubmit","isDisable","FieldV1","withoutLabel","charCount","prefix","mobilePrefix","mobileNumberLength","fieldStyle","LinkLabel","userSelect","textDecoration","switchMode","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","searchParams","setParams","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","clearTimeout","_location$state2","setCitizenDetail","userObject","token","_JSON$parse","sessionStorage","getItem","selectedLanguage","localStorage","setItem","getCitizenCurrentTenant","redirectBackTo","stepItems","selectMobileNumber","selectName","userData","registerURL","IndividualRegister","requestType","auth","selectOtp","_yield$Digit$UserServ","authenticate","ResponseInfo","UserRequest","tokens","_objectWithoutProperties","_excluded","resendOtp","AppContainer","history","back","SelectMobileNumber","event","showRegisterLink","SelectName","TYPE_REGISTER","_location$state7","IndividualLogin","_location$state4","_location$state3","_location$state5","_location$state6","_window6","roleInfo","userRole","_window7","_yield$Digit$UserServ2","registerUser","_excluded2","useLoginConfig","moduleName","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","Components","RoleBasedEmployeeHome","_Object$keys","sortedConfigEmployeesSidebar","isLoading","useAccessControl","mdmsOrderData","setMdmsOrderData","MdmsRes","_data$HomeScreenOrder","moduleConfigData","isModuleConfigLoading","_data$SandBoxLanding","getLinkByType","moduleData","moduleConfig","linkKey","links","displayName","getFilteredLinks","_moduleData$links","isNotConfigureMaster","isNotHowItWorks","howItWorksLink","isNotUserManual","userManualLink","configEmployeeSideBar","actions","parentModule","kpis","icon","leftIcon","iconRender","iconName","iconFill","CustomSVG","linkUrl","_url","transformURL","navigationURL","queryParamIndex","link","queryParams","substring","page","keys","sort","a","b","_mdmsOrderData$find","_mdmsOrderData$find2","moduleType","order","_configEmployeeSideBa","sortedLinks","linkA","linkB","_mdmsOrderData$find3","_mdmsOrderData$find4","labelA","labelB","sortCardAndLink","current","_sortedConfigEmployee","_moduleData$links2","configureData","howItWorks","userManual","propsForModuleCard","metrics","centreChildren","endChildren","LandingPageCard","buttonSize","LandingPageWrapper","child","FaqComponent","question","isLabelLink","answer","lastIndex","isOpen","toggleOpen","ListTag","float","ArrowForward","CardSectionSubText","listStyleType","fulllink","baseURL","hostname","CardC","CardSectionHeader","FAQ","faqs","faq","cardConfig","overflowY","flexWrap","BreakLine","formData","control","formState","QuickSetup","processLinkData","newData","obj","newObj","reverse","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","iconSelector","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","CitizenHome","getCitizenMenu","fetchedCitizen","parentModules","_mdmsDataObj$links","_mdmsDataObj$links2","mdmsDataObj","ele","x","y","orderNumber","handleLinkClick","EmployeeHome","ComponentRegistryService","getComponent","Component","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","QuickSetupConfigComponent","moduleState","setModuleState","retryCount","initialDelayComplete","retryTimeout","initialTimeout","loadModule","Module","delay","Math","pow","loadingText","defaultValue","encodeURIComponent","ifSuperUserExists","setIfSuperUserExist","enabled","staleTime","cacheTime","RoleLandingUrl","component","customProps","OtpConfig","_user$info","_user$info2","setEmployeeDetail","getDefaultLanguage","redirectPathOtpLogin","getRedirectPathOtpLogin","locationPathname","_user$info3","_MdmsRes$","isSuperUser","rolesForLandingPage","_formData$OtpComponen","OtpComponent","FormComposerV2","onFormValueChange","setValue","formValue","_otpValue$otp","otpValue","heading","headingStyle","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","Array","isArray","getEventValue","checked","isNameInFieldArray","names","has","getNodeParentName","isWeb","HTMLElement","document","cloneObject","copy","Set","Blob","FileList","tempObject","prototypeCopy","constructor","prototype","hasOwnProperty","isPlainObject","compact","Boolean","isUndefined","val","result","isBoolean","isKey","stringToPath","input","tempPath","newValue","objValue","isNaN","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","getProxyFormState","localProxyFormState","isRoot","defaultValues","_defaultValues","defineProperty","_key","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","currentName","useSubscribe","_props","subscription","subject","subscribe","next","unsubscribe","isString","generateWatchOutput","_names","formValues","isGlobal","watch","add","fieldName","watchAll","Controller","render","methods","shouldUnregister","isArrayField","_name","_subjects","values","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","isValid","_updateFormState","_updateValid","useFormState","_registerProps","register","rules","_shouldUnregisterField","_options","updateMounted","field","_fields","_f","mount","_state","unregister","_updateDisabledField","onBlur","ref","elm","setCustomValidity","reportValidity","fieldState","defineProperties","invalid","enumerable","isTouched","useController","appendErrors","validateAllFieldCriteria","types","getValidationModes","mode","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","abortEarly","currentField","refs","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isFunction","isHTMLElement","owner","ownerDocument","defaultView","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","options","attributes","defaultReturn","getRadioValue","previous","getValidateError","every","getValueAndMessage","validationData","validateField","async","shouldUseNativeValidation","isFieldArray","minLength","min","max","validate","valueAsNumber","inputValue","inputRef","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","bind","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","time","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","match","validateError","validationResult","unset","paths","childObject","updatePath","baseGet","isEmptyArray","createSubject","_observers","observers","observer","isPrimitive","deepEqual","object1","object2","getTime","keys1","keys2","val1","val2","isMultipleSelect","live","isConnected","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","NaN","getFieldValue","selectedOptions","getRuleValue","rule","source","schemaErrorLookup","join","foundError","pop","defaultOptions","reValidateMode","shouldFocusError","createFormControl","delayErrorCallback","submitCount","isSubmitted","isSubmitting","isSubmitSuccessful","unMount","timer","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","defaultChecked","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","context","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","Number","shouldSkipValidation","deps","skipValidation","watched","previousErrorLookupResult","errorLookupResult","previousFieldError","callback","delayError","updateErrors","wait","updatedFormState","shouldRenderByError","_focusInput","fieldNames","executeSchemaAndUpdateState","Promise","all","shouldFocus","getFieldState","currentError","currentRef","restOfErrorTree","delete","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","querySelectorAll","radioOrCheckbox","_focusError","onValid","onInvalid","onValidError","persist","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","form","closest","reset","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","args","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","unsetEmptyArray","_getFieldArray","_resetDefaultValues","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","previousPage","SearchField","DatePicker","date","_data$roles","tabledata","settabledata","DownloadBtn","DownloadBtnCommon","returnObject","convertEpochToDate","timestamp","convertEpochToTimeInHours","dataView","dataViewedBy","dateEpoch","dateFromApi","month","getMonth","day","getDate","year","getFullYear","hour","getHours","getMinutes","period","currentlyActiveMobileModal","setActiveMobileModal","useReducer","closeMobilePopupModal","MobilePopUpCloseButton","CloseSvg","searchFormFieldsComponentProps","CurrentMobileModalComponent","useCallback","SearchForm","SearchFormFields","MobileComponentDirectory","propsMobileInboxCards","_data$roles$slice","BackButton","tabData","Download","Excel","handleExcelDownload","HeaderComponent","SearchAction","text","handleActionClick","PopUp","DetailsCard","count","initialValues","sortOrder","_formControl","_values","useForm","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","Table","totalRecords","getCellProps","cellInfo","minWidth","column","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","_data$ElasticSearchDa","_data$ElasticSearchDa2","setPayload","convertDateToEpoch","dateString","dayStartOrEnd","parts","DateObj","UTC","setMinutes","getTimezoneOffset","setHours","setSeconds","getSeconds","storedPayload","k","useAudit","filters","AuditSearchApplication","_data","sortBy","fromDate","toDate","ElasticSearchData","mediaQuery","query","captures","RE_MEDIA_QUERY","modifier","expressions","parsed","inverse","expression","RE_MQ_EXPRESSION","feature","RE_MQ_FEATURE","parseQuery","typeMatch","expressionsMatch","expValue","toPx","toDpi","toDecimal","parseInt","RE_LENGTH_UNIT","RE_RESOLUTION_UNIT","ratio","numbers","decimal","resolution","parseFloat","String","_data$MdmsRes$common","StoreData","getCurrentLanguage","setselected","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","fill","xmlns","d","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","language","CustomButton","LocalizationService","changeLanguage","handleChangeLanguage","videosJson","videos","onClickVideo","vidObj","headerLabel","pdfHeader","pdfDesc","PDFSvg","DownloadImgIcon","controls","autoPlay","_mdmsData$MdmsRes$com","_mdmsConfigResult$hel","_mdmsConfigResult$hel2","_mdmsConfigResult$hel3","_mdmsConfigResult$hel4","_mdmsConfigResult$hel5","_mdmsConfigResult$hel6","_staticData","_staticData2","_staticData3","_staticData4","_staticData5","_staticContent","_staticContent2","_staticContent3","isMdmsLoading","mdmsData","useStaticData","isSearchLoading","dynamicData","isSuccess","useDynamicData","IconComponent","styles","CaseIcon","ComplaintIcon","StaticData","StaticDataIconComponentOne","TimerIcon","StaticDataIconComponentTwo","RupeeSymbol","staticContent","staticCommonContent","validity","staticData","staticDataOne","staticDataOneHeader","staticDataTwo","staticDataTwoHeader","payViaWhatsApp","handleClickOnWhatsApp","WhatsappIconGreen","helpline","HelpLineIcon","contactOne","contactTwo","serviceCenter","ServiceCenterIcon","viewMapLocation","dynamicDataOne","dynamicDataTwo","ValidityTimeIcon","_languages$find","isDropdown","storeData","useStore","getInitData","languages","REACT_ELEMENT_TYPE","Symbol","REACT_FRAGMENT_TYPE","jsxProd","maybeKey","$$typeof","jsx","jsxs","ViewUrl","useRef","getUserRoles","buttonDisabled","setButtonDisabled","gcTime","SVG","TickMark","nonEditable","host","navigator","clipboard","writeText","onButtonClick","roleForLandingPage","_getUserRoles$","_window5$getConfig","LoginOtpConfig","Login","_Digit$ComponentRegis","_Digit2","_config$","_config$2","loginOTPBased","cities","useTenants","isStoreLoading","setDisable","DynamicLoginComponent","_user$info4","_user$info5","_user$info6","_user$info7","_user$info8","decodeURIComponent","onLogin","_requestData$city","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","_error$response2","onSuccess","_Digit4","onForgotPassword","_window8","defaultTenant","fromEntries","_field$populators","_field$populators2","hasEmptyFields","renderLoginForm","_propsConfig$texts","_propsConfig$texts2","_propsConfig$texts3","extraClasses","cardClassName","wrapperClass","secondaryActionLabel","secondaryButtonLabel","onSecondayActionClick","cardSubHeaderClassName","buttonClassName","renderFooter","footerClassName","_window9","_window9$getConfig","_window0","_window0$getConfig","bannerImages","Carousel","loginConfig","setloginConfig","defaultLoginConfig","loginOtpConfig","setloginOtpConfig","defaultLoginOtpConfig","loginType","store","Services","modulePrefix","loginOtpParams","LoginComponent","Redircter","currentHref","navigationError","replaceError","super","errorStack","hasError","getDerivedStateFromError","stack","componentDidCatch","errorInfo","setState","errorData","optionsKey","mdmsConfig","masterName","localePrefix","SideBarMenu","closeSidebar","redirectToLoginPage","isEmployee","ChangeLanguage","LogoutIcon","Profile","stateName","defaultImage","ChangeCity","IconsObject","CommonPTIcon","propertyIcon","PropertyHouse","WSIcon","CollectionIcon","BirthIcon","DeathIcon","FirenocIcon","HomeIcon","EditPencilIcon","Phone","_menuItems","linkData","islinkDataLoading","isFetched","setisEmployee","isSidebarOpen","toggleSidebar","showDialog","setShowDialog","handleOnCancel","showProfilePage","menuItems","profileItem","_storeData$tenants","_storeData$tenants$fi","_storeData$tenants$","_storeData$tenants$fi2","_storeData$tenants$2","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","handleLogout","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","pointerzevents","LogoutDialog","handleOnSubmit","onCancel","onDismiss","savedCallback","setInterval","clearInterval","WrappedComponent","mainSelector","handleFirstTab","main","querySelector","setAttribute","outline","defaultLanguage","_Digit$getDefaultLang","_defaultLanguages","_stateInfo$code","defaultLanguages","hasMultipleLanguages","now","_loginConfig$","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","headerSvgSecondaryUrl","borderRight","_userDetails$info2","_userDetails$info3","_userDetails$info4","_cityDetails$city","_cityDetails$city2","userOptions","app","_userDetails$info","_Digit$UserService","_Digit$UserService2","CitizenHomePageTenantId","unreadCount","unreadNotificationCount","notificationCountLoaded","useNotificationCount","TopBarComponent","img","updateSidebar","clikOusideFired","onLogout","notificationCount","cityOfCitizenShownBesideLogo","onNotificationIconClick","hideNotificationIconOnSomeUrlsWhenNotLoggedIn","_Digit$UserService3","urlsToDisableNotificationIcon","loggedin","CustomEmployeeTopBar","TopBarComponentMain","showArrow","menuStyles","theme","onHamburgerClick","logoWidth","logoHeight","logo","logoId","statelogo","onImageClick","onLogoClick","showDeafultImg","ulb","ulbGrade","CitizenSideBar","_menuItems2","_menuItems3","userProfile","setSearch","fetchUserProfile","_usersResponse$user2","_usersResponse$user3","currentUser","_userDetails$photo2","handleModuleClick","updatedUrl","_item$displayName","_loop","_keys$i","_configEmployeeSideBa2","_configEmployeeSideBa3","_configEmployeeSideBa5","_configEmployeeSideBa6","getSingleDisplayName","getParentDisplayName","_configEmployeeSideBa4","ob","_ob$displayName","indx","findIndex","home","comp","part","c1","c2","transformedMenuItems","_item$links","transformedSelectedCityData","transformedLanguageData","hamburgerItems","Hamburger","items","profileName","profileNumber","transitionDuration","hideUserManuals","profile","isSearchable","parentIndex","handleChangeCity","onItemSelect","StaticCitizenSideBar","uppercasePattern","msPattern","cache","toHyphenLower","hName","stringOrNumber","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","featureMatchers","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","mq","Context","createContext","hyphenateKeys","useIsUpdate","useQuery","settings","getQuery","v","realKey","keyVal","toQuery","makeQuery","setQuery","newQuery","useMediaQuery","device","deviceSettings","deviceFromProps","deviceFromContext","useContext","getDevice","setDevice","newDevice","objA","objB","aKeys","bKeys","len","shallowEqualObjects","useDevice","getMatchMedia","setMq","isUpdate","newMq","dispose","useMatchMedia","matches","setMatches","updateMatches","ev","addListener","removeListener","useMatches","MediaQuery","EmployeeSideBar","extractLeftIcon","subResult","mergeObjects","obj1","obj2","_item$path","_item$path2","hierarchicalMap","sortDataByOrderNumber","Infinity","transformedData","transformItem","navigationUrl","childKey","iconKey","transformData","objectArray","splitKeyValue","sortedTransformedData","SideNav","hideAccessbilityTools","hostUrl","origin","fallbackError","navigateToRespectiveURL","expandedWidth","collapsedWidth","onBottomItemClick","handleSidebar","TopBar","SideBar","decorative","ariaLabel","ariaLabelledby","accessibilityProps","tabIndex","onKeyDown","_window$getConfig","ErrorConfig","maintenance","notfound","ModuleBasedErrorConfig","sandbox","_props$errorData","_props$errorData2","_props$goToHome","Home","_window3$includes","_window4$includes","_citizenServicesObj$s","_citizenServicesObj$p","_citizenServicesObj$p3","_citizenServicesObj$p5","_citizenServicesObj$p7","_infoAndUpdatesObj$si","_infoAndUpdatesObj$pr","_infoAndUpdatesObj$pr3","_infoAndUpdatesObj$pr5","_infoAndUpdatesObj$pr7","_whatsNewSectionObj$s2","uiHomePage","conditionsToDisableNotificationCountTrigger","EventsData","EventsDataLoading","useEvents","appBannerWebObj","appBannerDesktop","appBannerMobObj","appBannerMobile","citizenServicesObj","citizenServicesCard","infoAndUpdatesObj","informationAndUpdatesCard","whatsAppBannerWebObj","whatsAppBannerDesktop","whatsAppBannerMobObj","whatsAppBannerMobile","whatsNewSectionObj","whatsNewSection","redirectURL","handleClickOnWhatsAppBanner","allCitizenServicesProps","sideOption","_citizenServicesObj$s2","Icon","_citizenServicesObj$p2","_citizenServicesObj$p4","_citizenServicesObj$p6","_citizenServicesObj$p8","allInfoAndUpdatesProps","_infoAndUpdatesObj$si2","_infoAndUpdatesObj$pr2","Calender","_infoAndUpdatesObj$pr4","DocumentIcon","_infoAndUpdatesObj$pr6","_infoAndUpdatesObj$pr8","CardBasedOptions","_whatsNewSectionObj$s","WhatsNewCard","PopupStyles","hideSubmit","footer","formId","footerWithoutSubmit","footerChildren","sortFooterButtons","onOverlayClick","equalWidthButtons","LocationSelection","initisLoading","showError","setShowError","selectCity","RadioButtonProps","additionalWrapperClass","selectedOption","PageBasedInput","SearchOnRadioButtons","useGetFAQsJSON","moduleFaqs","FAQsSection","HowItWorks","Search","StaticDynamicCard","sidebarHiddenFor","_window7$getConfig","DSO","isLinkDataFetched","_data$ACCESSCONTROLA","el","_a$b$parentModule","classname","useRouteSubscription","hideSidebar","ModuleLevelLinkHomePages","bannerImage","CitizenHomeCard","Info","CitizenInfoLabel","isInfo","_window8$getConfig","SignUpConfig","accountName","_data$Tenants$","_data$Tenants$2","Tenants","setSignUpConfig","defaultSignUpConfig","_data$commonUiConfig","SignUpParams","staticMatch","dynamicMatch","matchMedia","Mql","forceStatic","mql","self","update","evt","media","listener","_window6$getConfig","_mdmsData$config$","alert","userId","descriptionStyles","secondaryActionId","ForgotPasswordComponent","RadioButtons","DummyLoaderScreen","currentStep","setCurrentStep","steps","stepInterval","navigateTimeout","CheckCircle","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","definition","r","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","defaultLanding","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_window1","_window10","_window11","_location","middleware","thunk","enhancer","composeEnhancers","compose","applyMiddleware","defaultStore","moduleReducers","createStore","getRootReducer","combineReducers","common","defaultData","isChecked","setIsChecked","showPopUp","setShowPopUp","privacy","PrivacyPolicy","policy","_props$props","CheckBox","footerclassName","sortFooterChildren","contents","getElementById","scrollIntoView","behavior","isSpaceRequired","descriptions","subIndex","isBold","subDescriptions","subDesc","subSubIndex","DigitUIWrapper","_initData$stateInfo","_initData$stateInfo2","_initData$stateInfo3","enabledModules","useInitStore","getStore","getI18n","setComponent","PrivacyComponent","Provider","Router","BodyContainer","DigitUI","registry","initialPrivacy","getPrivacyObject","setPrivacy","queryClient","QueryClient","queries","attemptIndex","ComponentProvider","Contexts","PrivacyProvider","resetPrivacy","setPrivacyObject","getPrivacy","privacyObj","updatePrivacyDescoped","getAllPrivacyObject","updatePrivacy","privacyContextValue","QueryClientProvider","client","componentsToRegister","_props$props4","_props$props2","_props$props3","ForgotOrganizationTooltip","showTip","setShowTip","wrapperRef","handleClickOutside","contains","whiteSpace","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"ignoreList":[],"sourceRoot":""}
1
+ {"version":3,"file":"main.js","mappings":"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","sources":["webpack://@egovernments/digit-ui-module-core/webpack/universalModuleDefinition","webpack://@egovernments/digit-ui-module-core/./src/components/Background.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeCity.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeLanguage.js","webpack://@egovernments/digit-ui-module-core/./src/components/CustomErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/Dialog/LogoutDialog.js","webpack://@egovernments/digit-ui-module-core/./src/components/DummyLoader.js","webpack://@egovernments/digit-ui-module-core/./src/components/DynamicModuleLoader.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorBoundaries.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/Header.js","webpack://@egovernments/digit-ui-module-core/./src/components/RoleBasedEmployeeHome.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/QuickSetup.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/Config.js","webpack://@egovernments/digit-ui-module-core/./src/components/Home.js","webpack://@egovernments/digit-ui-module-core/./src/components/ImageComponent.js","webpack://@egovernments/digit-ui-module-core/./src/config/sidebar-menu.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/TopBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/CitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/hyphenate-style-name/index.js","webpack://@egovernments/digit-ui-module-core/./node_modules/react-responsive/dist/esm/index.js","webpack://@egovernments/digit-ui-module-core/./node_modules/shallow-equal/dist/index.modern.mjs","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/EmployeeSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/utils.js","webpack://@egovernments/digit-ui-module-core/./src/hoc/withAutoFocusMain.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useInterval.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useLoginConfig.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FaqComponent.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FAQs.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LanguageSelection.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LocationSelection.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/ImageUpload/UploadDrawer.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/IndividualUserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/UserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/HowItWorks/howItWorks.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectOtp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectMobileNumber.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectName.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/IndividualLogin.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/react-hook-form/dist/index.esm.mjs","webpack://@egovernments/digit-ui-module-core/./src/components/Search/SearchFields.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/MobileSearchApplication.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/SearchApp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/changePassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/forgotPassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/LanguageSelection/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/Carousel/Carousel.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/ConfigOtp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/login.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/signUp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ViewUrl/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/AppModules.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/matchmediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@egovernments/digit-ui-module-core/../../../node_modules/react/jsx-runtime.js","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-react-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-svg-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@tanstack/react-query\"","webpack://@egovernments/digit-ui-module-core/external umd \"React\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-i18next\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-router-dom\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux-thunk\"","webpack://@egovernments/digit-ui-module-core/webpack/bootstrap","webpack://@egovernments/digit-ui-module-core/webpack/runtime/compat get default export","webpack://@egovernments/digit-ui-module-core/webpack/runtime/define property getters","webpack://@egovernments/digit-ui-module-core/webpack/runtime/hasOwnProperty shorthand","webpack://@egovernments/digit-ui-module-core/webpack/runtime/make namespace object","webpack://@egovernments/digit-ui-module-core/./src/App.js","webpack://@egovernments/digit-ui-module-core/./src/redux/store.js","webpack://@egovernments/digit-ui-module-core/./src/redux/reducers/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/PrivacyComponent.js","webpack://@egovernments/digit-ui-module-core/./src/Module.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/OtpCustomComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/ForgotOrganizationTooltip.js","webpack://@egovernments/digit-ui-module-core/./src/components/LoginSignupSelector.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"React\", \"react-i18next\", \"@tanstack/react-query\", \"react-redux\", \"react-router-dom\", \"@egovernments/digit-ui-svg-components\", \"@egovernments/digit-ui-react-components\", \"redux\", \"redux-thunk\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@egovernments/digit-ui-module-core\"] = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"React\"], root[\"react-i18next\"], root[\"@tanstack/react-query\"], root[\"react-redux\"], root[\"react-router-dom\"], root[\"@egovernments/digit-ui-svg-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"redux\"], root[\"redux-thunk\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__) => {\nreturn ","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { CardText, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n};\n\nconst ChangeCity = (prop) => {\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); \n const navigate = useNavigate();\n const isDropdown = prop.dropdown || false;\n let selectedCities = [];\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: `TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`,\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n // if (isDropdown) {\n return (\n <div style={prop?.mobileView ? { color: \"#767676\" } : {}}>\n {\n (isMultiRootTenant && selectCityData.length==1) ? \n <CardText style={{color:\"#363636\"}}>{selectCityData?.[0]?.value}</CardText>\n :\n <Dropdown\n t={prop?.t}\n option={selectCityData}\n selected={selectCityData.find((cityValue) => cityValue.value === dropDownData?.value)}\n optionKey={\"label\"}\n select={handleChangeCity}\n freeze={true}\n customSelector={\n <label className=\"cp\">\n {prop?.t(`TENANT_TENANTS_${stringReplaceAll(Digit.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`)}\n </label>\n }\n />\n}\n </div>\n );\n // } else {\n // return (\n // <React.Fragment>\n // <div style={{ marginBottom: \"5px\" }}>City</div>\n // <div className=\"language-selector\" style={{display: \"flex\", flexWrap: \"wrap\"}}>\n // {selectCityData?.map((city, index) => (\n // <div className=\"language-button-container\" key={index}>\n // <CustomButton\n // selected={city.value === Digit.SessionStorage.get(\"Employee.tenantId\")}\n // text={city.label}\n // onClick={() => handleChangeCity(city)}\n // ></CustomButton>\n // </div>\n // ))}\n // </div>\n // </React.Fragment>\n // );\n // }\n};\n\nexport default ChangeCity;\n","import { Button, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguage = (prop) => {\n const isDropdown = prop.dropdown || false;\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n const { t } = useTranslation();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n if (isLoading) return null;\n\n if (isDropdown) {\n return (\n <div>\n <Dropdown\n className={\"language-dropdown\"}\n option={languages}\n selected={languages?.find((language) => language?.value === selectedLanguage)}\n optionKey={\"label\"}\n select={handleChangeLanguage}\n freeze={true}\n customSelector={<label className=\"cp\">{t(languages?.find((language) => language?.value === selected)?.label)}</label>}\n />\n </div>\n );\n } else {\n return (\n <React.Fragment>\n <div style={{ marginBottom: \"5px\" }}>Language</div>\n <div className=\"language-selector\">\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <Button\n label={language.label}\n onClick={() => handleChangeLanguage(language)}\n variation={language.value === selected ? \"primary\" : \"\"}\n />\n </div>\n ))}\n </div>\n </React.Fragment>\n );\n }\n};\n\nexport default ChangeLanguage;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Background from \"./Background\";\nimport { Button, Card, CardHeader, CardText } from \"@egovernments/digit-ui-components\";\nimport Header from \"./Header\";\n\nconst CustomErrorComponent = (props) => {\n const { state = {} } = useLocation();\n // const module = state?.module;\n const { t } = useTranslation();\n const stateInfo = props.stateInfo;\n\n const navigate = useNavigate();\n const ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://s3.ap-south-1.amazonaws.com/egov-qa-assets/error-image.png`,\n infoHeader: \"WRONG_TENANT_SIGN_UP\",\n infoMessage: \"WRONG_TENANT_SIGN_UP_MESSAGE\",\n buttonInfo: \"WRONG_TENANT_SIGN_UP_BUTTON\",\n action: () => {\n navigate(`/${window.globalPath}/`);\n },\n },\n };\n const config = ModuleBasedErrorConfig[\"sandbox\"];\n\n return (\n <Background>\n <Card className={`digit-employee-card customError`}>\n <Header showTenant={false} />\n <CardHeader className={\"center\"}>{t(config.infoHeader)}</CardHeader>\n <CardText className={\"center\"}>{t(config.infoMessage)}</CardText>\n <Button\n className=\"customErrorButton\"\n label={t(config?.buttonInfo)}\n variation={\"primary\"}\n isSuffix={true}\n onClick={(e) => {\n e.preventDefault();\n config?.action();\n }}\n />\n </Card>\n </Background>\n );\n};\n\nexport default CustomErrorComponent;\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoutDialog = ({ onSelect, onCancel, onDismiss, PopupStyles, isDisabled, hideSubmit }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>\n {t(\"CORE_LOGOUT_WEB_CONFIRMATION_MESSAGE\") + \" \"}\n <strong>{t(\"CORE_LOGOUT_MESSAGE\")}</strong>\n </CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"CORE_LOGOUT_WEB_YES\")}\n formId={\"modal-action\"}\n onClick={onSelect}\n isDisabled={isDisabled}\n />\n ];\n\n const footerWithoutSubmit = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"digit-action-cancel\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(\"CORE_LOGOUT_WEB_HEADER\")}\n footerChildren={hideSubmit ? footerWithoutSubmit : footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-logout-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default LogoutDialog;","import React, {useRef, useEffect, useState } from \"react\";\nimport { CheckCircle } from \"@egovernments/digit-ui-svg-components\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DummyLoaderScreen = () => {\n const [currentStep, setCurrentStep] = useState(0);\n const navigate = useNavigate();\n const location = useLocation();\n const { t } = useTranslation();\n const { tenant } = location.state || {};\n const steps = [\n \"SANDBOX_GUIDE_SETUP_ACCOUNT\",\n \"SANDBOX_GUIDE_DEFAULT_MASTER_DATA\",\n \"SANDBOX_GUIDE_CONFIGURING_COMPLAINTS\",\n \"SANDBOX_GUIDE_CONFIGURING_EMPLOYEE_MANAGEMENT\",\n \"SANDBOX_GUIDE_SETTING_UP_CITIZEN_PORTAL\",\n \"SANDBOX_GUIDE_SETTING_UP_EMPLOYEE_PORTAL\",\n \"SANDBOX_GUIDE_LOADING_CONFIGURATION_INTERFACE\",\n \"SANDBOX_GUIDE_CREATING_DASHBOARD\",\n \"SANDBOX_GUIDE_ALL_SETUP_DONE\",\n ];\n useEffect(() => {\n const stepInterval = setInterval(() => {\n if (currentStep < steps.length) {\n setCurrentStep((prev) => prev + 1);\n }\n }, 2000); // 1 second delay for each step\n\n if (currentStep === steps.length) {\n clearInterval(stepInterval); // Clear the interval to stop further updates\n const globalPath = typeof window !== 'undefined' ? window?.globalPath : '';\n\n const navigateTimeout = setTimeout(() => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}${RoleLandingUrl}`,\n state: { tenant: tenant },\n });\n\n } else {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}/employee`,\n state: { tenant: tenant },\n });\n }\n }, 1000);\n\n return () => clearTimeout(navigateTimeout); // Cleanup timeout\n }\n\n return () => {\n clearInterval(stepInterval);\n };\n }, [currentStep]);\n\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n return (\n <div className=\"sandbox-loader-screen\">\n <div className=\"sandbox-loader\"></div>\n <ul className=\"sandbox-installation-steps\">\n {steps.map((step, index) => (\n <li key={index} className={`sandbox-step ${index < currentStep ? \"sandbox-visible\" : \"\"}`}>\n <span className=\"sandbox-step-text\">{t(step)}</span>\n {index < currentStep && <CheckCircle fill=\"#00703C\" />}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nexport default DummyLoaderScreen;\n","import React, { useState, useEffect } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * DynamicModuleLoader handles loading of modules from the ComponentRegistryService\n * with loading states, retries, and graceful error handling\n */\nconst DynamicModuleLoader = ({ \n moduleCode, \n stateCode, \n userType, \n tenants, \n maxRetries = 5, \n retryDelay = 1500,\n initialDelay = 100 // Initial delay before first check to allow modules to register\n}) => {\n const [moduleState, setModuleState] = useState({\n module: null,\n loading: true,\n error: null,\n retryCount: 0,\n initialDelayComplete: false\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n let retryTimeout;\n let initialTimeout;\n\n const loadModule = async () => {\n try {\n // Check if module is available in ComponentRegistryService\n const Module = Digit.ComponentRegistryService.getComponent(`${moduleCode}Module`);\n \n if (Module) {\n setModuleState({\n module: Module,\n loading: false,\n error: null,\n retryCount: 0,\n initialDelayComplete: true\n });\n } else {\n // Module not found, check if we should retry\n if (moduleState.retryCount < maxRetries) {\n setModuleState(prev => ({\n ...prev,\n retryCount: prev.retryCount + 1\n }));\n \n // Retry after delay (exponential backoff)\n const delay = retryDelay * Math.pow(1.5, moduleState.retryCount);\n retryTimeout = setTimeout(() => {\n loadModule();\n }, delay);\n } else {\n // Max retries reached\n setModuleState({\n module: null,\n loading: false,\n error: `Module \"${moduleCode}\" not found after ${maxRetries} attempts`,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n }\n } catch (error) {\n console.error(`Error loading module ${moduleCode}:`, error);\n setModuleState({\n module: null,\n loading: false,\n error: error.message,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n };\n\n // Start with initial delay to allow modules to register\n if (!moduleState.initialDelayComplete) {\n initialTimeout = setTimeout(() => {\n setModuleState(prev => ({ ...prev, initialDelayComplete: true }));\n loadModule();\n }, initialDelay);\n } else {\n loadModule();\n }\n\n // Cleanup timeouts on unmount\n return () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout);\n }\n if (initialTimeout) {\n clearTimeout(initialTimeout);\n }\n };\n }, [moduleCode, moduleState.retryCount, moduleState.initialDelayComplete, maxRetries, retryDelay, initialDelay]);\n\n // Show loading state\n if (moduleState.loading) {\n const loadingText = !moduleState.initialDelayComplete\n ? t(\"CORE_INITIALIZING_MODULE\", { moduleCode, defaultValue: \"Initializing {{moduleCode}} module...\" })\n : t(\"CORE_LOADING_MODULE\", { moduleCode, defaultValue: \"Loading {{moduleCode}} module...\" });\n\n return (\n <div className=\"module-loading-container\">\n <Loader \n page={true} \n variant=\"PageLoader\" \n loaderText={loadingText}\n />\n {moduleState.retryCount > 0 && moduleState.initialDelayComplete && (\n <div className=\"retry-info\" style={{ textAlign: 'center', marginTop: '1rem', color: '#666' }}>\n {t(\"CORE_MODULE_RETRY_ATTEMPT\", { retryCount: moduleState.retryCount, maxRetries, defaultValue: \"Retry attempt {{retryCount}}/{{maxRetries}}\" })}\n </div>\n )}\n </div>\n );\n }\n\n // Show error state and redirect\n if (moduleState.error || !moduleState.module) {\n console.warn(`Module loading failed for ${moduleCode}:`, moduleState.error);\n return (\n <Navigate\n to={`/${window?.contextPath}/employee/user/error?type=notfound&module=${moduleCode}&reason=${encodeURIComponent(moduleState.error || 'Module not found')}`}\n replace\n />\n );\n }\n\n // Render the loaded module\n const Module = moduleState.module;\n return (\n <Module \n stateCode={stateCode} \n moduleCode={moduleCode} \n userType={userType} \n tenants={tenants} \n />\n );\n};\n\nexport default DynamicModuleLoader;","import React from \"react\";\nimport ErrorComponent from \"./ErrorComponent\";\n\nconst Redircter = () => {\n // Add safety checks for window object\n if (typeof window === 'undefined') {\n return <span></span>;\n }\n\n try {\n const contextPath = window?.contextPath || '';\n const userType = Digit.UserService.getType();\n const path = userType === \"employee\" \n ? `/${contextPath}/employee/user/error` \n : `/${contextPath}/citizen/error`;\n \n const currentHref = window.location.href;\n \n // Check if we're already on an error page or in development\n if (\n currentHref.includes(\"employee/user/error\") ||\n currentHref.includes(\"citizen/error\") ||\n process.env.NODE_ENV === \"development\"\n ) {\n // Do nothing - already on error page or in development\n return <span></span>;\n }\n \n // Safe navigation with error handling\n try {\n window.location.href = path;\n } catch (navigationError) {\n console.warn('Navigation failed in error boundary:', navigationError);\n // Fallback: try using replace instead\n try {\n window.location.replace(path);\n } catch (replaceError) {\n console.error('Both href and replace failed:', replaceError);\n }\n }\n } catch (error) {\n console.error('Error in Redircter component:', error);\n }\n\n return <span></span>;\n};\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorStack: null, hasError: false, module: null, action: null, info: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { error: error?.message, hasError: true, errorStack: error?.stack, module: error?.module, action: error?.action, info: error?.info };\n }\n\n componentDidCatch(error, errorInfo) {\n // Catch errors in any components below and re-render with error message\n this.setState({ \n error: error?.message, \n hasError: true, \n errorStack: error?.stack,\n module: error?.module,\n action: error?.action,\n info: errorInfo\n });\n \n // Enhanced error logging with safety checks\n try {\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.group('🚨 Error Boundary Caught Error');\n console.error('Error:', error);\n console.error('Error Info:', errorInfo);\n console.error('Component Stack:', errorInfo?.componentStack);\n console.groupEnd();\n }\n \n // You can also log error messages to an error reporting service here\n // Example: errorReportingService.captureException(error, { extra: errorInfo });\n \n } catch (loggingError) {\n console.warn('Failed to log error in ErrorBoundary:', loggingError);\n }\n }\n\n render() {\n if (this.state.hasError) {\n // (\"UI-errorInfo\", this.state?.errorStack);\n // (\"UI-component-details\", this.props);\n // You can render any custom fallback UI\n return (\n <div className=\"error-boundary\">\n <Redircter />\n <ErrorComponent initData={this.props.initData} errorData={this.state} goToHome={() => {\n window.location.href = `/${window?.contextPath}/${Digit?.UserService?.getType?.()}`; // Use navigate\n }}/>\n\n {/* <summary>Something went wrong</summary>\n <details style={{ whiteSpace: \"pre-wrap\" }}>\n {this.state?.errorStack && this.state.errorStack.toString().substring(0, 600)}\n {this.state?.error}\n </details> */}\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst ErrorConfig = {\n error: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"CORE_SOMETHING_WENT_WRONG\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n maintenance: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/maintainence-image.png`,\n infoMessage: \"CORE_UNDER_MAINTENANCE\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n notfound: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/PageNotFound.png`,\n infoMessage: \"MODULE_NOT_FOUND\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n};\n\nconst ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"WRONG_TENANT_SIGN_UP\",\n buttonInfo: \"CREATE_TENANT_ERROR_BUTTON\",\n },\n};\n\nconst ErrorComponent = (props) => {\n const { type = \"error\" } = Digit.Hooks.useQueryParams();\n const module = props?.errorData?.module;\n const { t } = useTranslation();\n const config = module ? ModuleBasedErrorConfig[module] : ErrorConfig[type];\n const stateInfo = props.stateInfo;\n\n return (\n <div className=\"error-boundary\">\n <div className=\"error-container\">\n <ImageComponent src={config.imgUrl} alt=\"error\" />\n <h1>{t(config.infoMessage)}</h1>\n <button\n onClick={() => {\n module ? props?.errorData?.action() : props?.goToHome?.();\n }}\n >\n {t(config.buttonInfo)}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ErrorComponent;\n","import { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst Header = ({ showTenant = true }) => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const { t } = useTranslation();\n\n if (isLoading) return <Loader />;\n\n //If HEADER_SVG config exists, return the custom block\n const headerSvgSecondaryUrl = window?.globalConfigs?.getConfig(\"SVG_HEADER_SECONDARY_LOGO_URL\");\n if (headerSvgSecondaryUrl) {\n return (\n <div className=\"bannerHeader secondaryBannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n <span style={{fontSize: \"xx-large\"}}>|</span>\n <ImageComponent\n className=\"svgHeaderLogo\"\n src={headerSvgSecondaryUrl}\n alt=\"DIGIT Logo\"\n />\n </div>\n );\n }\n\n // Default logic\n return (\n <div className=\"bannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n {showTenant && stateInfo?.code && (\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n )}\n </div>\n );\n};\n\nexport default Header;","import React, { Fragment, useState, useEffect } from \"react\";\nimport { Button, LandingPageCard, LandingPageWrapper } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\n\nimport { CustomSVG } from \"@egovernments/digit-ui-components\";\nconst Components = require(\"@egovernments/digit-ui-svg-components\");\n\nexport const RoleBasedEmployeeHome = ({ modules, additionalComponent }) => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate= useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n let sortedConfigEmployeesSidebar = null;\n const [mdmsOrderData, setMdmsOrderData] = useState([{}]);\n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"HomeScreenOrder\",\n [\n {\n name: \"CardsAndLinksOrder\",\n },\n ],\n {\n select: (data) => {\n return data?.[\"HomeScreenOrder\"]?.[\"CardsAndLinksOrder\"];\n },\n }\n );\n\n\n\n const { data: moduleConfigData, isLoading: isModuleConfigLoading } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"SandBoxLanding\",\n [\n {\n name: \"AdditionalModuleLinks\",\n },\n ],\n {\n \n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"AdditionalModuleLinks\"];\n },\n }\n );\n \n useEffect(() => {\n setMdmsOrderData(MdmsRes);\n }, [MdmsRes]);\n\n const transformURL = (url = \"\") => {\n if (url == \"/\") {\n return;\n }\n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n let updatedUrl = null;\n if (isMultiRootTenant) {\n url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n updatedUrl = url;\n } else {\n updatedUrl = url;\n }\n return updatedUrl;\n } else {\n return url;\n }\n };\n\n const getLinkByType = (moduleData, type) => {\n if (!moduleData || !type) return null;\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n const linkKey = moduleConfig?.[type];\n const links = moduleData?.links;\n return links?.find((item) => item?.displayName === linkKey) || null;\n };\n\n // Function to filter links dynamically based on module config\n const getFilteredLinks = (moduleData) => {\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n return moduleData?.links?.filter((item) => {\n const displayName = item.displayName;\n const isNotConfigureMaster = displayName !== \"Configure_master\";\n const isNotHowItWorks = displayName !== moduleConfig?.howItWorksLink;\n const isNotUserManual = displayName !== moduleConfig?.userManualLink;\n\n return isNotConfigureMaster && isNotHowItWorks && isNotUserManual;\n });\n };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n kpis: [],\n icon: item.leftIcon ? Digit.Utils.iconRender({iconName: item.leftIcon, iconFill: \"white\",CustomSVG,Components}) : \"\",\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = transformURL(item.navigationURL);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: linkUrl,\n icon: item.leftIcon,\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n displayName: item.displayName,\n });\n return acc;\n }, {});\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n\n const sortCardAndLink = (configEmployeeSideBar) => {\n const sortedModules = Object.keys(configEmployeeSideBar)\n .sort((a, b) => {\n const cardOrderA = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === a)?.order || null;\n const cardOrderB = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === b)?.order || null;\n return cardOrderA - cardOrderB;\n })\n .reduce((acc, module) => {\n const sortedLinks = configEmployeeSideBar?.[module]?.links?.sort((linkA, linkB) => {\n const labelA = linkA?.displayName;\n const labelB = linkB?.displayName;\n const orderA =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelA.replace(/\\s+/g, \"_\")}`)?.order || null;\n const orderB =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelB.replace(/\\s+/g, \"_\")}`)?.order || null;\n\n return orderA - orderB;\n });\n\n acc[module] = {\n ...configEmployeeSideBar[module],\n links: sortedLinks,\n };\n\n return acc;\n }, {});\n\n return sortedModules;\n };\n\n if (isMultiRootTenant) {\n sortedConfigEmployeesSidebar = sortCardAndLink(configEmployeeSideBar);\n } else {\n sortedConfigEmployeesSidebar = configEmployeeSideBar;\n }\n\n const children = Object.keys(sortedConfigEmployeesSidebar)?.map((current, index) => {\n const moduleData = sortedConfigEmployeesSidebar?.[current];\n const configureData = moduleData?.links?.find((item) => item?.displayName === \"Configure_master\");\n const howItWorks = getLinkByType(moduleData, \"howItWorksLink\");\n const userManual = getLinkByType(moduleData, \"userManualLink\");\n\n const propsForModuleCard = {\n icon: \"SupervisorAccount\",\n moduleName: t(moduleData?.label),\n metrics: [],\n links: Digit.Utils.getMultiRootTenant() ? getFilteredLinks(moduleData) : moduleData?.links,\n centreChildren: [\n <div>{t(Digit.Utils.locale.getTransformedLocale(`MODULE_CARD_DESC_${current}`))}</div>,\n howItWorks && (\n <Button\n variation=\"teritiary\"\n label={howItWorks?.label}\n icon={howItWorks?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(howItWorks?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ],\n endChildren: Digit.Utils.getMultiRootTenant()\n ? [\n configureData && (\n <Button\n variation=\"teritiary\"\n label={configureData?.label}\n icon={configureData?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => navigate(configureData?.link)}\n style={{ padding: \"0px\" }}\n />\n ),\n userManual && (\n <Button\n variation=\"teritiary\"\n label={userManual?.label}\n icon={userManual?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(userManual?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ]\n : null,\n };\n\n return <LandingPageCard buttonSize={\"medium\"} {...propsForModuleCard} />;\n });\n\n return (\n <>\n <LandingPageWrapper>{React.Children.map(children, (child) => React.cloneElement(child))}</LandingPageWrapper>\n </>\n );\n};","import React from \"react\";\nimport{ useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardHeader, LinkLabel, Card, Button } from \"@egovernments/digit-ui-components\";\nimport { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport { CardSubHeader, CardSectionHeader, BreakLine, CardSectionSubText } from \"@egovernments/digit-ui-react-components\";\n\nconst FaqComponent = (props) => {\n const { question,isLabelLink, answer,type,actions,content, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getStateId();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {isLabelLink ? (\n action?.label ? (\n <Button\n variation=\"teritiary\"\n label={t(action?.label)} \n type=\"button\"\n size={\"medium\"}\n onClick={() => {\n if (action?.fulllink) {\n window.open(action?.link, \"_blank\");\n } else {\n const baseURL = `https://${window.location.hostname}/${window?.globalPath}/${tenantId}`;\n window.open(`${baseURL}/${action?.link}`, \"_blank\");\n }\n }}\n style={{ padding: \"0px\" }}\n />\n ) : null\n ) : (\n action?.label ? <strong>{t(action?.label)}:</strong> : null\n )} \n {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nconst CardC = ({ type, title, content, actions, style }) => {\n const { t } = useTranslation();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div>\n {/* <div style={{ border: \"1px solid #ccc\", borderRadius: \"8px\", padding: \"16px\", margin: \"16px\", ...style }}> */}\n <CardSectionHeader>{t(title)}</CardSectionHeader>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {action?.label ? <strong>{t(action?.label)}:</strong> : null} {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n );\n};\n\nconst FAQ = ({ key, title, content, faqs ,type}) => {\n const { t } = useTranslation();\n return (\n <div style={{ width: \"100%\" }}>\n <div style={{ width: \"100%\" }}>\n {faqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} isLabelLink={faq.isLabelLink} type ={type} actions={faq.answer} content ={faq.content}lastIndex={i === faqs?.length - 1} />\n ))}\n </div>\n </div>\n );\n};\nconst QuickSetup = ({ cardConfig }) => {\n const { t } = useTranslation();\n\n const moduleFaqs = [\n {\n question: \"SANDBOX_FAQ_QUES_ONE\",\n answer: \"SANDBOX_FAQ_ANS_ONE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_TWO\",\n answer: \"SANDBOX_FAQ_ANS_TWO\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_THREE\",\n answer: \"SANDBOX_FAQ_ANS_THREE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_FOUR\",\n answer: \"SANDBOX_FAQ_ANS_FOUR\",\n },\n ];\n return (\n <Card className={\"sandbox-guide\"} style={{ width: \"25rem\", height: \"47rem\", overflowY: \"scroll\" }}>\n {/* <Card style={{ height: \"47rem\", overflowY: \"scroll\" }}> */}\n <CardHeader>{t(\"GUIDE_TO_SETUP\")}</CardHeader>\n <div style={{ display: \"flex\", flexWrap: \"wrap\" }}>\n {cardConfig.map((config, index) => {\n return config?.type === \"faqs\" ? (\n <FAQ key={config.id} title={config.title} type = {config?.type} content={config.content} faqs={config.actions} />\n ) : (\n <React.Fragment>\n <CardC\n type={config?.type}\n key={config.id}\n title={config.title}\n content={config.content}\n actions={config.actions}\n style={config.style}\n />\n {index !== cardConfig?.length - 1 && <BreakLine style={{ width: \"100%\", border: \"1px solid #d6d5d4\" }} />}\n </React.Fragment>\n );\n })}\n </div>\n </Card>\n );\n};\n\nexport default QuickSetup;","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardLabelError, Toast, CardLabel, Card, CardHeader, LinkLabel, Loader } from \"@egovernments/digit-ui-components\";\nimport QuickSetupComponent from \".\";\nimport QuickSetup from \"./QuickSetup\";\n\nconst QuickSetupConfigComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit.ULBService.getStateId();\n\n // const transformURL = (url = \"\") => {\n // if (url == \"/\") {\n // return;\n // }\n // if (Digit.Utils.isContextPathMissing(url)) {\n // let updatedUrl = null;\n // if (isMultiRootTenant) {\n // url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n // updatedUrl = url;\n // } else {\n // updatedUrl = DIGIT_UI_CONTEXTS?.every((e) => url?.indexOf(`/${e}`) === -1) ? \"/employee/\" + url : url;\n // }\n // return updatedUrl;\n // } else {\n // return url;\n // }\n // };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = Digit.Utils.transformURL(item.navigationURL, tenantId);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: queryParamIndex === -1 ? linkUrl : linkUrl.substring(0, queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n description: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}_DESCRIPTION`)),\n });\n return acc;\n }, {});\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n const QuickSetupConfig = [\n {\n sectionHeader: \"WELCOME_TO_SANDBOX\",\n sections: [\n {\n label: \"SANDBOX_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_3\",\n },\n ],\n },\n {\n sectionHeader: \"QUICK_SETUP\",\n links: configEmployeeSideBar,\n },\n ];\n\n const cardConfig = [\n {\n id: 1,\n type: \"faqs\",\n actions: [\n {\n question: \"SANDBOX_FAQ_QUES_14\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_14_LABEL_1\",\n fulllink:true,\n link:\"https://egov-digit.gitbook.io/digit-sandbox/specifications/user-manual/walkthrough-videos\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_1\",\n content: \"SANDBOX_FAQ_CONTENT_1\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_1\",\n link:\"citizen/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_2\",\n link: \"employee/user/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_2\",\n content: \"SANDBOX_FAQ_CONTENT_2\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_3\",\n content: \"SANDBOX_FAQ_CONTENT_3\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_4\",\n content: \"SANDBOX_FAQ_CONTENT_4\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_5\",\n content: \"SANDBOX_FAQ_CONTENT_5\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_4\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_5\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_5\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_6\",\n content: \"SANDBOX_FAQ_CONTENT_6\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_7\",\n content: \"SANDBOX_FAQ_CONTENT_7\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_8\",\n content: \"SANDBOX_FAQ_CONTENT_8\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_4\",\n },\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_9\",\n content: \"SANDBOX_FAQ_CONTENT_9\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_10\",\n content: \"SANDBOX_FAQ_CONTENT_10\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_11\",\n content: \"SANDBOX_FAQ_CONTENT_11\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_12\",\n content: \"SANDBOX_FAQ_CONTENT_12\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_13\",\n content: \"SANDBOX_FAQ_CONTENT_13\",\n } \n ],\n },\n ];\n\n // return <QuickSetupComponent config={QuickSetupConfig}></QuickSetupComponent>;\n return <QuickSetup cardConfig={cardConfig}></QuickSetup>;\n};\n\nexport default QuickSetupConfigComponent;\n","import {\n CitizenHomeCard,\n CitizenInfoLabel,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\n\nimport { BackLink, CustomSVG ,LandingPageWrapper } from \"@egovernments/digit-ui-components\";\n\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { RoleBasedEmployeeHome } from \"./RoleBasedEmployeeHome\";\nimport QuickSetupConfigComponent from \"../pages/employee/QuickStart/Config\";\n\n/* \nFeature :: Citizen All service screen cards\n*/\nexport const processLinkData = (newData, code, t) => {\n const obj = newData?.[`${code}`];\n if (obj) {\n obj.map((link) => {\n if (Digit.Utils.getMultiRootTenant()) {\n link[\"navigationURL\"] = link[\"navigationURL\"].replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${Digit.ULBService.getStateId()}/citizen`);\n }\n link.link = link[\"navigationURL\"];\n link.i18nKey = t(link[\"name\"]);\n\n });\n }\n const newObj = {\n links: obj?.reverse(),\n header: Digit.Utils.locale.getTransformedLocale(`ACTION_TEST_${code}`),\n iconName: `CITIZEN_${code}_ICON`,\n };\n if (code === \"FSM\") {\n const roleBasedLoginRoutes = [\n {\n role: \"FSM_DSO\",\n from: `/${window?.contextPath}/citizen/fsm/dso-dashboard`,\n dashoardLink: \"CS_LINK_DSO_DASHBOARD\",\n loginLink: \"CS_LINK_LOGIN_DSO\",\n },\n ];\n //RAIN-7297\n roleBasedLoginRoutes.map(({ role, from, loginLink, dashoardLink }) => {\n if (Digit.UserService.hasAccess(role))\n newObj?.links?.push({\n link: from,\n i18nKey: t(dashoardLink),\n });\n else\n newObj?.links?.push({\n link: `/${window?.contextPath}/citizen/login`,\n state: { role: \"FSM_DSO\", from },\n i18nKey: t(loginLink),\n });\n });\n }\n\n return newObj;\n};\nconst iconSelector = (code) => {\n switch (code) {\n case \"PT\":\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n case \"WS\":\n return <CustomSVG.WSICon className=\"fill-path-primary-main\" />;\n case \"FSM\":\n return <CustomSVG.FSMIcon className=\"fill-path-primary-main\" />;\n case \"MCollect\":\n return <CustomSVG.MCollectIcon className=\"fill-path-primary-main\" />;\n case \"PGR\":\n return <CustomSVG.PGRIcon className=\"fill-path-primary-main\" />;\n case \"TL\":\n return <CustomSVG.TLIcon className=\"fill-path-primary-main\" />;\n case \"OBPS\":\n return <CustomSVG.OBPSIcon className=\"fill-path-primary-main\" />;\n case \"Bills\":\n return <CustomSVG.BillsIcon className=\"fill-path-primary-main\" />;\n default:\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n }\n};\nimport { useNavigate } from \"react-router-dom\";\n\n// Inside CitizenHome component\nconst CitizenHome = ({ getCitizenMenu, fetchedCitizen, isLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n if (isLoading || !fetchedCitizen || !getCitizenMenu) {\n return <Loader />;\n }\n\n const parentModules = Object.keys(getCitizenMenu);\n\n const handleLinkClick = (e, link) => {\n e.preventDefault();\n navigate(link);\n };\n\n return (\n <div className=\"citizen-all-services-wrapper\">\n {location.pathname.includes(\n \"sanitation-ui/citizen/all-services\"\n ) || (location.pathname.includes(\"sandbox-ui\") && location.pathname.includes(\"all-services\")) ? null : (\n <BackLink onClick={() => window.history.back()}/>\n )}\n <div className=\"citizenAllServiceGrid\">\n {parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <div className=\"CitizenHomeCard\" key={code}>\n <div className=\"header\">\n <h2>{t(mdmsDataObj?.header)}</h2>\n {iconSelector(code)}\n </div>\n <div className=\"links\">\n {mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .map((link, i) => (\n <div className=\"linksWrapper\" key={i}>\n <a \n href={link.link} \n onClick={(e) => handleLinkClick(e, link.link)}\n >\n {link.i18nKey}\n </a>\n </div>\n ))}\n </div>\n </div>\n );\n }\n return null;\n })}\n </div>\n </div>\n );\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* <div className=\"ground-container moduleCardWrapper gridModuleWrapper digit-home-moduleCardWrapper\"> */}\n <LandingPageWrapper>\n {modules?.map(({ code }, index) => {\n const Card =\n Digit.ComponentRegistryService.getComponent(`${code}Card`) ||\n (() => <React.Fragment />);\n return <Card key={index} />;\n })}\n </LandingPageWrapper>\n {/* </div> */}\n </div>\n\n {additionalComponent &&\n additionalComponent?.length > 0 &&\n additionalComponent.map((i) => {\n const Component =\n typeof i === \"string\"\n ? Digit.ComponentRegistryService.getComponent(i)\n : null;\n return Component ? (\n <div className=\"additional-component-wrapper\">\n <Component />\n </div>\n ) : null;\n })}\n </>\n );\n};\n\nexport const AppHome = ({\n userType,\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n additionalComponent,\n}) => {\n if (userType === \"citizen\") {\n return (\n <CitizenHome\n modules={modules}\n getCitizenMenu={getCitizenMenu}\n fetchedCitizen={fetchedCitizen}\n isLoading={isLoading}\n />\n );\n }\n const isSuperUserWithMultipleRootTenant = Digit.UserService.hasAccess(\"SUPERUSER\") && Digit.Utils.getMultiRootTenant()\n return Digit.Utils.getRoleBasedHomeCard() ? (\n <div className={isSuperUserWithMultipleRootTenant ? \"homeWrapper\" : \"\"}>\n <RoleBasedEmployeeHome modules={modules} additionalComponent={additionalComponent} />\n {isSuperUserWithMultipleRootTenant && !window.Digit.Utils.browser.isMobile() ? <QuickSetupConfigComponent /> : null}\n </div>\n ) : (\n <EmployeeHome modules={modules} additionalComponent={additionalComponent} />\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ImageComponent = ({\n src,\n alt = \"Image not found\",\n decorative = false,\n ariaLabel = \"No Image description set\",\n ariaLabelledby = \"no-image-description\",\n ...props\n}) => {\n // Determine the appropriate attributes based on the props\n const accessibilityProps = {};\n\n if (decorative) {\n // For decorative images\n accessibilityProps.alt = \"\";\n } else if (alt) {\n // Provide meaningful alt text if available\n accessibilityProps.alt = alt;\n } else if (ariaLabel) {\n // Use aria-label if alt is not provided\n accessibilityProps[\"aria-label\"] = ariaLabel;\n } else if (ariaLabelledby) {\n // Use aria-labelledby for descriptive associations\n accessibilityProps[\"aria-labelledby\"] = ariaLabelledby;\n } else {\n console.warn(\"AccessibleImage: Missing alt, aria-label, or aria-labelledby for non-decorative image.\");\n }\n\n return (\n <img\n src={src}\n {...accessibilityProps}\n {...props}\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }\n }}\n />\n );\n};\n\nImageComponent.propTypes = {\n src: PropTypes.string.isRequired, // The source URL for the image\n alt: PropTypes.string, // Alternative text for the image\n decorative: PropTypes.bool, // If true, image is decorative\n ariaLabel: PropTypes.string, // Custom label for screen readers\n ariaLabelledby: PropTypes.string, // Association with another descriptive element\n};\n\nexport default ImageComponent;\n","import React from \"react\";\nimport { LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon } from \"@egovernments/digit-ui-react-components\";\nimport ChangeLanguage from \"../components/ChangeLanguage\";\n\nconst SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee) => [\n {\n type: \"component\",\n element: \"LANGUAGE\",\n action: <ChangeLanguage />,\n icon: \"LanguageIcon\",\n },\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n];\n\nexport default SideBarMenu;\n","import React, { useEffect, useState } from \"react\";\nimport {\n HomeIcon,\n EditPencilIcon,\n LogoutIcon,\n AddressBookIcon,\n PropertyHouse,\n CaseIcon,\n CollectionIcon,\n PTIcon,\n OBPSIcon,\n PGRIcon,\n FSMIcon,\n WSICon,\n MCollectIcon,\n Phone,\n BirthIcon,\n DeathIcon,\n FirenocIcon,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport SideBarMenu from \"../../../config/sidebar-menu\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport ImageComponent from \"../../ImageComponent\";\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nconst Profile = ({ info, stateName, t }) => (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent className=\"img-responsive img-circle img-Profile\" src={defaultImage} alt=\"Profile Logo\" />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") && <ChangeCity t={t} mobileView={true} />}\n </div>\n);\nconst IconsObject = {\n CommonPTIcon: <PTIcon className=\"icon\" />,\n OBPSIcon: <OBPSIcon className=\"icon\" />,\n propertyIcon: <PropertyHouse className=\"icon\" />,\n TLIcon: <CaseIcon className=\"icon\" />,\n PGRIcon: <PGRIcon className=\"icon\" />,\n FSMIcon: <FSMIcon className=\"icon\" />,\n WSIcon: <WSICon className=\"icon\" />,\n MCollectIcon: <MCollectIcon className=\"icon\" />,\n BillsIcon: <CollectionIcon className=\"icon\" />,\n BirthIcon: <BirthIcon className=\"icon\" />,\n DeathIcon: <DeathIcon className=\"icon\" />,\n FirenocIcon: <FirenocIcon className=\"icon\" />,\n HomeIcon: <HomeIcon className=\"icon\" />,\n EditPencilIcon: <EditPencilIcon className=\"icon\" />,\n LogoutIcon: <LogoutIcon className=\"icon\" />,\n Phone: <Phone className=\"icon\" />,\n};\nconst StaticCitizenSideBar = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n const { pathname } = location;\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const [isEmployee, setisEmployee] = useState(false);\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n if (Digit.Utils.getMultiRootTenant()) {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n } else {\n Digit.UserService.logout();\n setShowDialog(false);\n }\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const redirectToLoginPage = () => {\n \n navigate(`/${window?.contextPath}/citizen/login`);\n };\n const showProfilePage = () => {\n navigate(`/${window?.contextPath}/citizen/user/profile`);\n };\n\n const closeSidebar = () => {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n };\n\n let menuItems = [...SideBarMenu(t, showProfilePage, redirectToLoginPage, isEmployee)];\n\n menuItems = menuItems.filter((item) => item.element !== \"LANGUAGE\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const MenuItem = ({ item }) => {\n const leftIconArray = item?.icon || item.icon?.type?.name;\n const leftIcon = leftIconArray ? IconsObject[leftIconArray] : IconsObject.BillsIcon;\n let itemComponent;\n if (item.type === \"component\") {\n itemComponent = item.action;\n } else {\n itemComponent = item.text;\n }\n const Item = () => (\n <span className=\"menu-item\" {...item.populators}>\n {leftIcon}\n <div className=\"menu-label\">{itemComponent}</div>\n </span>\n );\n if (item.type === \"external-link\") {\n return (\n <a href={item.link}>\n <Item />\n </a>\n );\n }\n if (item.type === \"link\") {\n return (\n <Link to={item?.link}>\n <Item />\n </Link>\n );\n }\n\n return <Item />;\n };\n let profileItem;\n\n if (isFetched && user && user.access_token && user?.info?.type === \"CITIZEN\") {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n menuItems = [\n ...menuItems,\n {\n type: \"link\",\n icon: \"HomeIcon\",\n element: \"HOME\",\n text: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n link: isEmployee ? `/${window?.contextPath}/employee` : `/${window?.contextPath}/citizen`,\n populators: {\n onClick: closeSidebar,\n },\n },\n {\n text: t(\"EDIT_PROFILE\"),\n element: \"PROFILE\",\n icon: \"EditPencilIcon\",\n populators: {\n onClick: showProfilePage,\n },\n },\n {\n text: t(\"CORE_COMMON_LOGOUT\"),\n element: \"LOGOUT\",\n icon: \"LogoutIcon\",\n populators: { onClick: handleLogout },\n },\n {\n text: (\n <React.Fragment>\n {t(\"CS_COMMON_HELPLINE\")}\n <div className=\"telephone\" style={{ marginTop: \"-10%\" }}>\n {storeData?.tenants?.length > 0 && (\n <div className=\"link\">\n <a href={`tel:${\n storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || ''\n }`}>\n {storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || t(\"CS_NA\")}\n </a>\n </div>\n )}\n </div>\n </React.Fragment>\n ),\n element: \"Helpline\",\n icon: \"Phone\",\n}\n ];\n }\n Object.keys(linkData || {})\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === `${window.contextPath}-links`) {\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n }\n });\n\n return (\n <React.Fragment>\n <div>\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n top: \"0px\",\n backgroundColor: \"rgba(0, 0, 0, 0.54)\",\n pointerzevents: \"auto\",\n }}\n ></div>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: isMobile ? \"calc(100vh - 56px)\" : \"auto\",\n zIndex: \"99\",\n }}\n >\n {profileItem}\n <div className=\"drawer-desktop\">\n {menuItems?.map((item, index) => (\n <div className={`sidebar-list ${pathname === item?.link || pathname === item?.sidebarURL ? \"active\" : \"\"}`} key={index}>\n <MenuItem item={item} />\n </div>\n ))}\n </div>\n </div>\n <div>{showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}</div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default StaticCitizenSideBar;\n","import { Hamburger, TopBar as TopBarComponent } from \"@egovernments/digit-ui-react-components\";\nimport { Dropdown } from \"@egovernments/digit-ui-components\";\nimport React,{Fragment} from \"react\";\nimport {useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../ChangeCity\";\nimport ChangeLanguage from \"../ChangeLanguage\";\nimport { Header as TopBarComponentMain } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../ImageComponent\";\n\nconst DEFAULT_EGOV_LOGO =\"https://egov-dev-assets.s3.ap-south-1.amazonaws.com/egov-logo-2025.png\";\n\n\nconst TopBar = ({\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showLanguageChange = true,\n}) => {\n const [profilePic, setProfilePic] = React.useState(null);\n\n React.useEffect( () => {\n const app=async ()=>{\n const tenant = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCurrentTenantId();\n const uuid = userDetails?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse.user.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }\n app()\n }, [profilePic !== null, userDetails?.info?.uuid]);\n\n const CitizenHomePageTenantId = Digit.ULBService.getCitizenCurrentTenant(true);\n\n let navigate = useNavigate();\n const { pathname } = useLocation();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (Digit.UserService?.getUser()?.info?.type === \"CITIZEN\") {\n if (!CitizenHomePageTenantId) return false;\n else return true;\n }\n return false;\n };\n\n const { data: { unreadCount: unreadNotificationCount } = {}, isSuccess: notificationCountLoaded } = Digit.Hooks.useNotificationCount({\n tenantId: CitizenHomePageTenantId,\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n const updateSidebar = () => {\n if (!Digit.clikOusideFired) {\n toggleSidebar(true);\n } else {\n Digit.clikOusideFired = false;\n }\n };\n\n function onNotificationIconClick() {\n navigate(`/${window?.contextPath}/citizen/engagement/notifications`);\n }\n\n const urlsToDisableNotificationIcon = (pathname) =>\n !!Digit.UserService?.getUser()?.access_token\n ? false\n : [`/${window?.contextPath}/citizen/select-language`, `/${window?.contextPath}/citizen/select-location`].includes(pathname);\n\n if (CITIZEN) {\n return (\n <div>\n <TopBarComponent\n img={stateInfo?.logoUrlWhite}\n isMobile={true}\n toggleSidebar={updateSidebar}\n logoUrl={stateInfo?.logoUrlWhite}\n onLogout={handleLogout}\n userDetails={userDetails}\n notificationCount={unreadNotificationCount < 99 ? unreadNotificationCount : 99}\n notificationCountLoaded={notificationCountLoaded}\n cityOfCitizenShownBesideLogo={t(CitizenHomePageTenantId)}\n onNotificationIconClick={onNotificationIconClick}\n hideNotificationIconOnSomeUrlsWhenNotLoggedIn={urlsToDisableNotificationIcon(pathname)}\n changeLanguage={!mobileView ? <ChangeLanguage dropdown={true} /> : null}\n />\n </div>\n );\n }\n const loggedin = userDetails?.access_token ? true : false;\n\n //checking for custom topbar components\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n if (CustomEmployeeTopBar) {\n return (\n <CustomEmployeeTopBar\n {...{\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n showLanguageChange,\n loggedin,\n }}\n />\n );\n }\n return (\n <TopBarComponentMain\n actionFields={[\n <ChangeCity dropdown={true} t={t} />,\n showLanguageChange && <ChangeLanguage dropdown={true} />,\n userDetails?.access_token && (\n <Dropdown\n option={userOptions}\n optionKey=\"name\"\n profilePic={profilePic ? profilePic : userDetails?.info?.name || userDetails?.info?.userInfo?.name || \"Employee\"}\n select={handleUserDropdownSelection}\n showArrow={true}\n menuStyles={{ marginTop: \"1rem\" }}\n theme=\"light\"\n />\n ),\n ]}\n onHamburgerClick={() => {\n toggleSidebar();\n }}\n className=\"digit-employee-header\"\n img={logoUrl}\n logoWidth={\"64px\"}\n logoHeight={\"48px\"}\n logo={(loggedin ? cityDetails?.logoId : stateInfo?.statelogo)||DEFAULT_EGOV_LOGO}\n onImageClick={() => {}}\n onLogoClick={() => {}}\n props={{}}\n showDeafultImg\n style={{}}\n theme={window?.globalConfigs?.getConfig(\"HEADER_THEME\") || \"light\"}\n ulb={\n loggedin ? (\n cityDetails?.city?.ulbGrade ? (\n <>\n {t(cityDetails?.i18nKey).toUpperCase()}{\" \"}\n {t(`ULBGRADE_${cityDetails?.city?.ulbGrade.toUpperCase().replace(\" \", \"_\").replace(\".\", \"_\")}`).toUpperCase()}\n </>\n ) : (\n <ImageComponent className=\"state\" src={logoUrlWhite} alt=\"State Logo\" />\n )\n ) : (\n <>\n {t(`MYCITY_${stateInfo?.code?.toUpperCase()}_LABEL`)} {t(`MYCITY_STATECODE_LABEL`)}\n </>\n )\n }\n />\n );\n};\n\nexport default TopBar;\n","// import { NavBar } from \"@egovernments/digit-ui-react-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React, { useState, Fragment, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport StaticCitizenSideBar from \"./StaticCitizenSideBar\";\nimport { Hamburger } from \"@egovernments/digit-ui-components\";\nimport { LogoutIcon } from \"@egovernments/digit-ui-react-components\";\nimport ImageComponent from \"../../ImageComponent\";\n\nconst Profile = ({ info, stateName, t }) => {\n const [profilePic, setProfilePic] = React.useState(null);\n React.useEffect(async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }, [profilePic !== null]);\n\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n return (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent\n className=\"img-responsive img-circle img-Profile\"\n src={profilePic ? profilePic : defaultImage}\n style={{ objectFit: \"cover\", objectPosition: \"center\" }}\n alt=\"Profile Image\"\n />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") &&\n !CustomEmployeeTopBar && <ChangeCity t={t} mobileView={true} />}\n </div>\n );\n};\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nexport const CitizenSideBar = ({\n isOpen,\n isMobile = false,\n toggleSidebar,\n onLogout,\n isEmployee = false,\n linkData,\n islinkDataLoading,\n userProfile,\n}) => {\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [profilePic, setProfilePic] = useState(null);\n const { languages, stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n const [search, setSearch] = useState(\"\");\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); //selectedCities?.[0]?.value\n const [selected, setselected] = useState(selectedLanguage);\n let selectedCities = [];\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n \n // React Router v6: useNavigate replaces useHistory\n const navigate = useNavigate();\n // React Router v6: useLocation for accessing location object\n const location = useLocation();\n\n const stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: t(`TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`),\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n const closeSidebar = () => {\n Digit.clikOusideFired = true;\n toggleSidebar(false);\n };\n\n useEffect(() => {\n const fetchUserProfile = async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = user?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n const userData = usersResponse?.user?.[0];\n if (userData) {\n const currentUser = Digit.UserService.getUser();\n Digit.UserService.setUser({\n ...currentUser,\n info: userData\n });\n }\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n };\n if (!profilePic) {\n fetchUserProfile();\n }\n }, [profilePic]);\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n\n // React Router v6: navigate with { replace: true } instead of history.replace()\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n const handleModuleClick = (url) => {\n let updatedUrl = null;\n if (Digit.Utils.getMultiRootTenant()) {\n updatedUrl = isEmployee\n ? url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`)\n : url.replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${tenantId}/citizen`);\n // React Router v6: navigate() instead of history.push()\n navigate(updatedUrl);\n toggleSidebar();\n } else {\n url[0] === \"/\"\n ? navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}${url}`)\n : navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}/${url}`);\n toggleSidebar();\n }\n };\n\n const redirectToLoginPage = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee/user/language-selection`);\n } else {\n navigate(`/${window?.contextPath}/citizen/login`);\n }\n closeSidebar();\n };\n\n if (islinkDataLoading || isLoading) {\n return <Loader />;\n }\n\n let menuItems = [\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n ];\n\n let profileItem;\n if (isFetched && user && user.access_token) {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n }\n\n let configEmployeeSideBar = {};\n\n if (!isEmployee) {\n Object.keys(linkData)\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === \"digit-ui-links\")\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n });\n } else {\n data?.actions\n .filter((e) => e.url === \"url\" && e.displayName !== \"Home\")\n .forEach((item) => {\n if (search == \"\" && item.path !== \"\") {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n } else if (item.path !== \"\" && item?.displayName?.toLowerCase().includes(search.toLowerCase())) {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n }\n });\n const keys = Object.keys(configEmployeeSideBar);\n for (let i = 0; i < keys?.length; i++) {\n const getSingleDisplayName = configEmployeeSideBar[keys[i]][0]?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\");\n const getParentDisplayName = keys[i]?.toUpperCase()?.replace(/[ -]/g, \"_\");\n\n if (configEmployeeSideBar[keys[i]][0].path.indexOf(\".\") === -1) {\n menuItems.splice(1, 0, {\n type: \"link\",\n text: t(`ACTION_TEST_${getSingleDisplayName}`),\n link: configEmployeeSideBar[keys[i]][0]?.navigationURL,\n icon: configEmployeeSideBar[keys[i]][0]?.leftIcon,\n populators: {\n onClick: () => {\n // React Router v6: navigate() instead of history.push()\n navigate(configEmployeeSideBar[keys[i]][0]?.navigationURL);\n closeSidebar();\n },\n },\n });\n } else {\n menuItems.splice(1, 0, {\n type: \"dynamic\",\n moduleName: t(`ACTION_TEST_${getParentDisplayName}`),\n links: configEmployeeSideBar[keys[i]]?.map((ob) => {\n return {\n ...ob,\n displayName: t(`ACTION_TEST_${ob?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\")}`),\n };\n }),\n icon: configEmployeeSideBar[keys[i]][1]?.leftIcon,\n });\n }\n }\n const indx = menuItems.findIndex((a) => a.element === \"HOME\");\n const home = menuItems.splice(indx, 1);\n const comp = menuItems.findIndex((a) => a.element === \"LANGUAGE\");\n const part = menuItems.splice(comp, menuItems?.length - comp);\n menuItems.sort((a, b) => {\n let c1 = a?.type === \"dynamic\" ? a?.moduleName : a?.text;\n let c2 = b?.type === \"dynamic\" ? b?.moduleName : b?.text;\n return c1.localeCompare(c2);\n });\n home?.[0] && menuItems.splice(0, 0, home[0]);\n menuItems = part?.length > 0 ? menuItems.concat(part) : menuItems;\n }\n\n /* URL with openlink wont have sidebar and actions */\n // React Router v6: location.pathname instead of history.location.pathname\n if (location.pathname.includes(\"/openlink\")) {\n profileItem = <span></span>;\n menuItems = menuItems.filter((ele) => ele.element === \"LANGUAGE\");\n }\n\n menuItems = menuItems?.map((item) => ({\n ...item,\n label: item?.text || item?.moduleName || \"\",\n icon: item?.icon ? item?.icon : undefined,\n }));\n\n let city = \"\";\n if (Digit.Utils.getMultiRootTenant()) {\n city = t(`TENANT_TENANTS_${tenantId}`);\n } else {\n city = t(`TENANT_TENANTS_${stringReplaceAll(Digit.ULBService.getCurrentTenantId(), \".\", \"_\")?.toUpperCase()}`);\n // city = \"TEST\";\n }\n const goToHome = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee`);\n } else {\n navigate(`/${window?.contextPath}/citizen`);\n }\n };\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationURL) {\n handleModuleClick(item?.navigationURL);\n } else if (item?.link) {\n handleModuleClick(item?.link);\n } else if (item?.type === \"custom\") {\n switch (item?.key) {\n case \"home\":\n goToHome();\n toggleSidebar();\n break;\n case \"editProfile\":\n userProfile();\n toggleSidebar();\n break;\n case \"language\":\n handleChangeLanguage(item);\n toggleSidebar();\n break;\n case \"city\":\n handleChangeCity(item);\n toggleSidebar();\n break;\n }\n } else {\n return;\n }\n };\n\n const transformedMenuItems = menuItems?.map((item) => {\n if (item?.type === \"dynamic\") {\n return {\n ...item,\n children: item?.links?.map((link) => ({\n ...link,\n label: link?.displayName,\n icon: link?.leftIcon,\n })),\n };\n } else {\n return item;\n }\n });\n\n const transformedSelectedCityData = selectCityData?.map((city) => ({\n ...city,\n type: \"custom\",\n key: \"city\",\n }));\n\n const transformedLanguageData = languages?.map((language) => ({\n ...language,\n type: \"custom\",\n key: \"language\",\n icon: \"Language\",\n }));\n\n const hamburgerItems = [\n {\n label: \"HOME\",\n value: \"HOME\",\n icon: \"Home\",\n // children: transformedSelectedCityData?.length>0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n key: \"home\",\n },\n {\n label: city,\n value: city,\n children: transformedSelectedCityData?.length > 0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n icon: \"LocationCity\",\n key: \"city\",\n },\n {\n label: t(\"Language\"),\n children: transformedLanguageData?.length > 0 ? transformedLanguageData : undefined,\n type: \"custom\",\n icon: \"Language\",\n key: \"language\",\n },\n ...(user && user.access_token\n ? [\n {\n label: t(\"EDIT_PROFILE\"),\n type: \"custom\",\n icon: \"Edit\",\n key: \"editProfile\",\n },\n ]\n : []),\n {\n label: t(\"Modules\"),\n icon: \"DriveFileMove\",\n children: transformedMenuItems,\n },\n ];\n return isMobile ? (\n <Hamburger\n items={hamburgerItems}\n profileName={user?.info?.name}\n profileNumber={user?.info?.mobileNumber || user?.info?.emailId}\n theme=\"dark\"\n transitionDuration={0.3}\n styles={{ marginTop: \"64px\", height: \"93%\" }}\n onLogout={onLogout}\n hideUserManuals={true}\n profile={profilePic ? profilePic : undefined}\n isSearchable={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n />\n ) : (\n <StaticCitizenSideBar logout={onLogout} />\n );\n};","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import { createContext, useRef, useEffect, useContext, useState } from 'react';\nimport matchMedia from 'matchmediaquery';\nimport hyphenate from 'hyphenate-style-name';\nimport { shallowEqualObjects } from 'shallow-equal';\nimport PropTypes from 'prop-types';\n\nconst stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n// media types\nconst types = {\n all: PropTypes.bool,\n grid: PropTypes.bool,\n aural: PropTypes.bool,\n braille: PropTypes.bool,\n handheld: PropTypes.bool,\n print: PropTypes.bool,\n projection: PropTypes.bool,\n screen: PropTypes.bool,\n tty: PropTypes.bool,\n tv: PropTypes.bool,\n embossed: PropTypes.bool\n};\n// properties that match media queries\nconst matchers = {\n orientation: PropTypes.oneOf(['portrait', 'landscape']),\n scan: PropTypes.oneOf(['progressive', 'interlace']),\n aspectRatio: PropTypes.string,\n deviceAspectRatio: PropTypes.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: PropTypes.bool,\n colorIndex: PropTypes.bool,\n monochrome: PropTypes.bool,\n resolution: stringOrNumber,\n type: Object.keys(types)\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst { type, ...featureMatchers } = matchers;\n// media features\nconst features = {\n minAspectRatio: PropTypes.string,\n maxAspectRatio: PropTypes.string,\n minDeviceAspectRatio: PropTypes.string,\n maxDeviceAspectRatio: PropTypes.string,\n minHeight: stringOrNumber,\n maxHeight: stringOrNumber,\n minDeviceHeight: stringOrNumber,\n maxDeviceHeight: stringOrNumber,\n minWidth: stringOrNumber,\n maxWidth: stringOrNumber,\n minDeviceWidth: stringOrNumber,\n maxDeviceWidth: stringOrNumber,\n minColor: PropTypes.number,\n maxColor: PropTypes.number,\n minColorIndex: PropTypes.number,\n maxColorIndex: PropTypes.number,\n minMonochrome: PropTypes.number,\n maxMonochrome: PropTypes.number,\n minResolution: stringOrNumber,\n maxResolution: stringOrNumber,\n ...featureMatchers\n};\nconst all = { ...types, ...features };\nvar mq = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n};\n\nconst negate = (cond) => `not ${cond}`;\nconst keyVal = (k, v) => {\n const realKey = hyphenate(k);\n // px shorthand\n if (typeof v === 'number') {\n v = `${v}px`;\n }\n if (v === true) {\n return realKey;\n }\n if (v === false) {\n return negate(realKey);\n }\n return `(${realKey}: ${v})`;\n};\nconst join = (conds) => conds.join(' and ');\nconst toQuery = (obj) => {\n const rules = [];\n Object.keys(mq.all).forEach((k) => {\n const v = obj[k];\n if (v != null) {\n rules.push(keyVal(k, v));\n }\n });\n return join(rules);\n};\n\nconst Context = createContext(undefined);\n\nconst makeQuery = (settings) => settings.query || toQuery(settings);\nconst hyphenateKeys = (obj) => {\n if (!obj)\n return undefined;\n const keys = Object.keys(obj);\n return keys.reduce((result, key) => {\n result[hyphenate(key)] = obj[key];\n return result;\n }, {});\n};\nconst useIsUpdate = () => {\n const ref = useRef(false);\n useEffect(() => {\n ref.current = true;\n }, []);\n return ref.current;\n};\nconst useDevice = (deviceFromProps) => {\n const deviceFromContext = useContext(Context);\n const getDevice = () => hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n const [device, setDevice] = useState(getDevice);\n useEffect(() => {\n const newDevice = getDevice();\n if (!shallowEqualObjects(device, newDevice)) {\n setDevice(newDevice);\n }\n }, [deviceFromProps, deviceFromContext]);\n return device;\n};\nconst useQuery = (settings) => {\n const getQuery = () => makeQuery(settings);\n const [query, setQuery] = useState(getQuery);\n useEffect(() => {\n const newQuery = getQuery();\n if (query !== newQuery) {\n setQuery(newQuery);\n }\n }, [settings]);\n return query;\n};\nconst useMatchMedia = (query, device) => {\n const getMatchMedia = () => matchMedia(query, device || {}, !!device);\n const [mq, setMq] = useState(getMatchMedia);\n const isUpdate = useIsUpdate();\n useEffect(() => {\n if (isUpdate) {\n // skip on mounting, it has already been set\n const newMq = getMatchMedia();\n setMq(newMq);\n return () => {\n if (newMq) {\n newMq.dispose();\n }\n };\n }\n }, [query, device]);\n return mq;\n};\nconst useMatches = (mediaQuery) => {\n const [matches, setMatches] = useState(mediaQuery.matches);\n useEffect(() => {\n const updateMatches = (ev) => {\n setMatches(ev.matches);\n };\n mediaQuery.addListener(updateMatches);\n setMatches(mediaQuery.matches);\n return () => {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]);\n return matches;\n};\nconst useMediaQuery = (settings, device, onChange) => {\n const deviceSettings = useDevice(device);\n const query = useQuery(settings);\n if (!query)\n throw new Error('Invalid or missing MediaQuery!');\n const mq = useMatchMedia(query, deviceSettings);\n const matches = useMatches(mq);\n const isUpdate = useIsUpdate();\n useEffect(() => {\n if (isUpdate && onChange) {\n onChange(matches);\n }\n }, [matches]);\n useEffect(() => () => {\n if (mq) {\n mq.dispose();\n }\n }, []);\n return matches;\n};\n\n// ReactNode and ReactElement typings are a little funky for functional components, so the ReactElement cast is needed on the return\nconst MediaQuery = ({ children, device, onChange, ...settings }) => {\n const matches = useMediaQuery(settings, device, onChange);\n if (typeof children === 'function') {\n return children(matches);\n }\n return matches ? children : null;\n};\n\nexport { Context, MediaQuery, MediaQuery as default, toQuery, useMediaQuery };\n//# sourceMappingURL=index.js.map\n","function shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n if (!arrA || !arrB) {\n return false;\n }\n const len = arrA.length;\n if (arrB.length !== len) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n const aKeys = Object.keys(objA);\n const bKeys = Object.keys(objB);\n const len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n const key = aKeys[i];\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n\nfunction shallowEqual(a, b) {\n const aIsArr = Array.isArray(a);\n const bIsArr = Array.isArray(b);\n if (aIsArr !== bIsArr) {\n return false;\n }\n if (aIsArr && bIsArr) {\n return shallowEqualArrays(a, b);\n }\n return shallowEqualObjects(a, b);\n}\n\nexport { shallowEqual, shallowEqualArrays, shallowEqualObjects };\n//# sourceMappingURL=index.modern.mjs.map\n","import React, { useRef, useEffect, useState } from \"react\";\nimport { SideNav, Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport MediaQuery from 'react-responsive';\n\n\n\n\nconst EmployeeSideBar = () => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n\n function extractLeftIcon(data = {}) {\n for (const key in data) {\n const item = data[key];\n if (key === \"item\" && item?.leftIcon !== \"\") {\n return item?.leftIcon;\n }\n if (typeof data[key] === \"object\" && !Array.isArray(data[key])) {\n const subResult = extractLeftIcon(data[key]);\n if (subResult) {\n return subResult;\n }\n }\n }\n return null;\n }\n\n function mergeObjects(obj1, obj2) {\n for (const key in obj2) {\n if (obj2.hasOwnProperty(key)) {\n if (typeof obj2[key] === \"object\" && !Array.isArray(obj2[key])) {\n if (!obj1[key]) {\n obj1[key] = {};\n }\n mergeObjects(obj1[key], obj2[key]);\n } else {\n if (!obj1[key]) {\n obj1[key] = obj2[key];\n }\n }\n }\n }\n }\n\n const configEmployeeSideBar = {};\n data?.actions\n .filter((e) => e.url === \"url\")\n .forEach((item) => {\n let index = item?.path?.split(\".\")?.[0] || \"\";\n if (item?.path !== \"\") {\n const keys = item?.path?.split(\".\");\n let hierarchicalMap = {};\n\n keys.reduce((acc, key, index) => {\n if (index === keys.length - 1) {\n acc[key] = { item };\n } else {\n acc[key] = {};\n return acc[key];\n }\n }, hierarchicalMap);\n mergeObjects(configEmployeeSideBar, hierarchicalMap);\n }\n });\n\n const splitKeyValue = (configEmployeeSideBar) => {\n const objectArray = Object.entries(configEmployeeSideBar);\n objectArray.sort((a, b) => {\n if (a[0] < b[0]) {\n return -1;\n }\n if (a[0] > b[0]) {\n return 1;\n }\n return 0;\n });\n const sortedObject = Object.fromEntries(objectArray);\n configEmployeeSideBar = sortedObject;\n return configEmployeeSideBar;\n };\n\n const navigateToRespectiveURL = (navigate = {}, url = \"\") => {\n if (!url || url === \"/\") return;\n\n //Detect if it's an external link (starts with http or https)\n const isExternal = /^https?:\\/\\//i.test(url);\n\n if (isExternal) {\n //Open external links in a new tab\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n //Internal navigation logic\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n let updatedUrl;\n\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/employee`, `/${contextPath}/${tenantId}/employee`);\n updatedUrl = url;\n navigate(updatedUrl);\n }\n else{\n updatedUrl = hostUrl + url;\n try {\n if (typeof window !== 'undefined') {\n window.location.href = updatedUrl;\n }\n } catch (error) {\n console.warn('Navigation failed, attempting fallback:', error);\n try {\n window.location.replace(updatedUrl);\n } catch (fallbackError) {\n console.error('All navigation methods failed:', fallbackError);\n }\n }\n }\n } else {\n navigate(url);\n }\n};\n\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationUrl) {\n navigateToRespectiveURL(navigate, item?.navigationUrl);\n } else {\n return;\n } \n };\n\n function transformData(data) {\n const transformItem = (key, value) => {\n if (value.item) {\n return {\n label: t(value.item.displayName),\n icon: { icon: value.item.leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: value.item.navigationURL,\n orderNumber:value.item.orderNumber,\n };\n }\n const children = Object.keys(value).map((childKey) => transformItem(childKey, value[childKey]));\n const iconKey = extractLeftIcon(value);\n return {\n label: t(key),\n icon: { icon: iconKey, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n };\n };\n return Object.keys(data).map((key) => transformItem(key, data[key]));\n }\n\n const sortDataByOrderNumber = (data) => {\n // Sort the current level of data by orderNumber, handling cases where orderNumber might be missing\n data.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n return aOrder - bOrder;\n });\n \n // Recursively sort the children if they exist\n data.forEach((item) => {\n if (item.children && item.children.length > 0) {\n sortDataByOrderNumber(item.children);\n }\n });\n \n return data;\n };\n\n const transformedData = transformData(splitKeyValue(configEmployeeSideBar));\n const sortedTransformedData= sortDataByOrderNumber(transformedData);\n if (isLoading) {\n return <Loader />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n \n return (\n <MediaQuery minWidth={768}>\n <SideNav\n items={sortedTransformedData}\n hideAccessbilityTools={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"dark\"}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={() => { }}\n />\n </MediaQuery>\n );\n};\n\nexport default EmployeeSideBar;\n\n\n\n\n\n","import React from \"react\";\nimport { CitizenSideBar } from \"./CitizenSideBar\";\nimport EmployeeSideBar from \"./EmployeeSideBar\";\n\nconst SideBar = ({ t, CITIZEN, isSidebarOpen, toggleSidebar, handleLogout, mobileView, userDetails, modules, linkData, islinkDataLoading,userProfile}) => {\n if (CITIZEN)\n return (\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n linkData={linkData}\n islinkDataLoading={islinkDataLoading}\n userProfile={userProfile}\n isEmployee={false}\n />\n );\n else {\n return !isSidebarOpen && userDetails?.access_token ? (\n <div className=\"digit-employeeSidebar\">\n <EmployeeSideBar {...{ mobileView, userDetails, modules }} />\n </div>\n ) : (\n <div className=\"digit-citizenSidebar\">\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n isEmployee={true}\n userProfile={userProfile}\n />\n </div>\n );\n }\n};\n\nexport default SideBar;\n","import React, { useState } from \"react\";\nimport TopBar from \"./TopBar\";\nimport { useNavigate } from \"react-router-dom\";\nimport SideBar from \"./SideBar\";\nimport LogoutDialog from \"../Dialog/LogoutDialog\";\nconst TopBarSideBar = ({\n t,\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showSidebar = true,\n showLanguageChange,\n linkData,\n islinkDataLoading,\n}) => {\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const navigate = useNavigate()\n const [showDialog, setShowDialog] = useState(false);\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n Digit.UserService.logout();\n setShowDialog(false);\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n const handleSidebar = () => {\n toggleSidebar(!isSidebarOpen);\n };\n const userProfile = () => {\n CITIZEN ? navigate(`/${window?.contextPath}/citizen/user/profile`) : navigate(`/${window?.contextPath}/employee/user/profile`);\n };\n const userOptions = [\n { name: t(\"EDIT_PROFILE\"), icon: \"Edit\", func: userProfile },\n { name: t(\"CORE_COMMON_LOGOUT\"), icon: \"Logout\", func: handleLogout },\n ];\n\n return (\n <React.Fragment>\n <TopBar\n t={t}\n stateInfo={stateInfo}\n toggleSidebar={handleSidebar}\n isSidebarOpen={isSidebarOpen}\n handleLogout={handleLogout}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n userOptions={userOptions}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showLanguageChange={showLanguageChange}\n />\n {showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}\n {!CITIZEN\n ? showSidebar && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : CITIZEN\n ? showSidebar && isSidebarOpen && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : null}\n </React.Fragment>\n );\n};\nexport default TopBarSideBar;\n","export const defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";","import React, { useEffect } from 'react';\n\nconst withAutoFocusMain = (WrappedComponent, mainSelector = '.digit-home-main') => {\n return function WithAutoFocusWrapper(props) {\n useEffect(() => {\n const handleFirstTab = (e) => {\n if (e.key === 'Tab') {\n const main = document.querySelector(mainSelector);\n if (main) {\n main.setAttribute('tabindex', '-1');\n main.style.outline = 'none';\n main.focus();\n }\n window.removeEventListener('keydown', handleFirstTab);\n }\n };\n\n window.addEventListener('keydown', handleFirstTab);\n return () => window.removeEventListener('keydown', handleFirstTab);\n }, []);\n\n return <WrappedComponent {...props} />;\n };\n};\n\nexport default withAutoFocusMain;","import React, { useEffect, useRef } from \"react\";\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const timer = setInterval(tick, delay);\n return () => clearInterval(timer);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n","export const useLoginConfig = (stateCode) => {\n const moduleName = Digit.Utils.getConfigModuleName();\n\n return Digit.Hooks.useCommonMDMS(\n stateCode,\n moduleName,\n [\"LoginConfig\"],\n {\n select: (data) => ({\n config: data?.[moduleName]?.LoginConfig,\n }),\n retry: false,\n }\n );\n};\n","import { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FaqComponent = (props) => {\n const { question, answer, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <span>{t(answer)}</span>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nexport default FaqComponent;\n","import { BackButton, HeaderComponent, Loader ,SearchIconSvg} from \"@egovernments/digit-ui-components\";\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport FaqComponent from \"./FaqComponent\";\n\nconst FAQsSection = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId = user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n const SearchImg = () => {\n return <SearchIconSvg className=\"signature-img\" />;\n };\n\n const { isLoading, data } = Digit.Hooks.useGetFAQsJSON(Digit.ULBService.getStateId());\n\n const moduleFaqs = data?.MdmsRes[\"common-masters\"]?.faqs[0]?.[`${module}`].faqs;\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"faq-page\">\n <BackButton style={{ marginLeft: \"unset\" }}></BackButton>\n <div style={{ marginBottom: \"15px\" }}>\n <HeaderComponent styles={{ marginLeft: \"0px\", paddingTop: \"10px\", fontSize: \"32px\" }}>{t(\"FAQ_S\")}</HeaderComponent>\n </div>\n <div className=\"faq-list\">\n {moduleFaqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} lastIndex={i === moduleFaqs?.length - 1} />\n ))}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default FAQsSection;\n","import { PageBasedInput, Loader, RadioButtons, CardHeader } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst LanguageSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LANGUAGE\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n const RadioButtonProps = useMemo(\n () => ({\n options: languages,\n optionsKey: \"label\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: (language) => Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n selectedOption: languages?.filter((i) => i.value === selectedLanguage)[0],\n }),\n [selectedLanguage, languages]\n );\n\n function onSubmit() {\n navigate(`/${window?.contextPath}/citizen/select-location`);\n }\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <PageBasedInput texts={texts} onSubmit={onSubmit}>\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LANGUAGE\")}</CardHeader>\n <RadioButtons {...RadioButtonProps} />\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LanguageSelection;\n","import { BackLink } from \"@egovernments/digit-ui-components\";\nimport { CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from \"@egovernments/digit-ui-react-components\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\n\nconst LocationSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\nconst {\n data: { stateInfo, uiHomePage } = {},\n isLoading: initisLoading,\n} = Digit.Hooks.useStore.getInitData();\n\nconst redirectURL = uiHomePage?.redirectURL;\n\nconst { data: cities, isLoading } = Digit.Hooks.useTenants();\n\n\n const [selectedCity, setSelectedCity] = useState(() => ({ code: Digit.ULBService.getCitizenCurrentTenant(true) }));\n const [showError, setShowError] = useState(false);\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LOCATION\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n function selectCity(city) {\n setSelectedCity(city);\n setShowError(false);\n }\n\n const RadioButtonProps = useMemo(() => {\n return {\n options: cities,\n optionsKey:\"i18nKey\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: selectCity,\n selectedOption: selectedCity,\n };\n }, [cities, t, selectedCity]);\n\n function onSubmit() {\n if (selectedCity) {\n Digit.SessionStorage.set(\"CITIZEN.COMMON.HOME.CITY\", selectedCity);\n const redirectBackTo = location.state?.redirectBackTo;\n if(redirectURL){\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n else{\n if (redirectBackTo) {\n navigate(redirectBackTo, {replace:true});\n } else navigate(`/${window?.contextPath}/citizen`);\n }\n } else {\n setShowError(true);\n }\n }\n\n return isLoading ? (\n <loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <BackLink onClick={() => window.history.back()}/>\n <PageBasedInput texts={texts} onSubmit={onSubmit} className=\"location-selection-container\">\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LOCATION\")}</CardHeader>\n <SearchOnRadioButtons {...RadioButtonProps} placeholder={t(\"COMMON_TABLE_SEARCH\")} />\n {showError ? <CardLabelError>{t(\"CS_COMMON_LOCATION_SELECTION_ERROR\")}</CardLabelError> : null}\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LocationSelection;\n","import React, { useState, useEffect } from \"react\";\nimport { GalleryIcon, RemoveIcon } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) {\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(\"\");\n const [error, setError] = useState(null);\n const { t } = useTranslation();\n const selectfile = (e) => setFile(e.target.files[0]);\n const removeimg = () => {removeProfilePic(); closeDrawer()};\n const onOverlayBodyClick = () => closeDrawer();\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 1000000) {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"))\n setError(t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(`${userType}-profile`, file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n const fileStoreId = response?.data?.files[0]?.fileStoreId;\n setUploadedFile(fileStoreId);\n setProfilePic(fileStoreId);\n } else {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"))\n setError(t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n showToast(\"error\",t(\"CORE_COMMON_PROFILE_INVALID_FILE_INPUT\"))\n // setError(t(\"PT_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n return (\n <React.Fragment>\n <div\n style={{\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"rgba(0,0,0,.5)\",\n // zIndex: \"9998\",\n }}\n onClick={onOverlayBodyClick}\n ></div>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n display: \"flex\",\n backgroundColor: \"white\",\n alignItems: \"center\",\n position: \"fixed\",\n left: \"0\",\n right: \"0\",\n height: \"20%\",\n bottom: userType === \"citizen\" ? \"2.5rem\" : \"0\",\n zIndex: \"1000\",\n }}\n >\n <div\n style={{ display: \"flex\", flex: \"1\", flexDirection: \"column\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", gap: \"8px 0\" }}\n >\n <label for=\"file\" style={{ cursor: \"pointer\" }}>\n {\" \"}\n <GalleryIcon />\n </label>\n <label style={{ cursor: \"pointer\" }}> Gallery</label>\n <input type=\"file\" id=\"file\" accept=\"image/*, .png, .jpeg, .jpg\" onChange={selectfile} style={{ display: \"none\" }} />\n </div>\n\n <div\n style={{ display: \"flex\", flex: \"1\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: \"8px 0\" }}\n >\n <button onClick={removeimg}>\n <RemoveIcon />\n </button>\n <label style={{ cursor: \"pointer\" }}>Remove</label>\n </div>\n </div>\n </React.Fragment>\n );\n}\n\nexport default UploadDrawer;\n","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_TENANT = Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst IndividualUserProfile = ({ stateCode, userType, cityDetails }) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n // const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\"); // Handled in parent\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n\n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n\n if (uuid) {\n // New API using health-individual\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_search`,\n useCache: false,\n method: \"POST\",\n userService: true,\n params: {\n limit: 1000,\n offset: 0,\n tenantId: tenant,\n },\n body: {\n Individual: {\n userUuid: [uuid],\n tenantId: tenant,\n },\n },\n });\n\n if (response?.Individual?.length) {\n setUserDetails(response.Individual[0]);\n }\n }\n };\n\n React.useEffect(() => {\n window.addEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n return () => {\n window.removeEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n };\n });\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n if (name) {\n setName((prev) => prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n let responseInfo;\n\n // Build Individual object dynamically\n const individualPayload = {\n ...userDetails,\n tenantId: tenant,\n name: {\n givenName: name.trim(),\n familyName: userDetails?.name?.familyName,\n otherNames: userDetails?.name?.otherNames,\n },\n mobileNumber: mobileNumber,\n isDeleted: false,\n isSystemUser: true,\n isSystemUserActive: true,\n };\n\n // Only add optional fields if they have values\n if (gender?.value) {\n individualPayload.gender = gender.value;\n }\n\n if (email) {\n individualPayload.email = email;\n }\n\n if (profilePic) {\n individualPayload.photo = profilePic;\n }\n\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_update`,\n useCache: false,\n method: \"POST\",\n userService: true,\n body: {\n Individual: individualPayload,\n },\n });\n responseInfo = response?.responseInfo;\n \n\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message: error?.response?.data?.Errors?.[0]?.description || \"CORE_COMMON_PROFILE_UPDATE_ERROR\",\n };\n }\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n // ... (RENDER JSX FROM NEW FILE) ...\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"100%\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"20rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default IndividualUserProfile;","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport IndividualUserProfile from \"./IndividualUserProfile\";\n\nconst DEFAULT_TENANT=Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n const requestData = {\n ...userInfo,\n name,\n gender: gender?.value,\n emailId: email,\n photo: profilePic,\n };\n\n if(name){\n setName((prev)=>prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n // Updating state with trimmed values\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n \n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n const { responseInfo, user } = await Digit.UserService.updateUser(requestData, stateCode);\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n const errorObj = JSON.parse(error);\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"40rem\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"40rem\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"40rem\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"0rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default UserProfile;","import {\n Calender,\n CardBasedOptions,\n CaseIcon,\n ComplaintIcon,\n DocumentIcon,\n HomeIcon,\n OBPSIcon,\n PTIcon,\n Loader,\n WhatsNewCard,\n} from \"@egovernments/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCitizenCurrentTenant(true);\n const { data: { stateInfo, uiHomePage } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (!Digit.UserService?.getUser()?.access_token) return false;\n return true;\n };\n\n const { data: EventsData, isLoading: EventsDataLoading } = Digit.Hooks.useEvents({\n tenantId,\n variant: \"whats-new\",\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n if (!tenantId) {\n navigate(`/${window?.contextPath}/citizen/select-language`);\n }\n\n const appBannerWebObj = uiHomePage?.appBannerDesktop;\n const appBannerMobObj = uiHomePage?.appBannerMobile;\n const citizenServicesObj = uiHomePage?.citizenServicesCard;\n const infoAndUpdatesObj = uiHomePage?.informationAndUpdatesCard;\n const whatsAppBannerWebObj = uiHomePage?.whatsAppBannerDesktop;\n const whatsAppBannerMobObj = uiHomePage?.whatsAppBannerMobile;\n const whatsNewSectionObj = uiHomePage?.whatsNewSection;\n const redirectURL = uiHomePage?.redirectURL;\n /* configure redirect URL only if it is required to overide the default citizen home screen */\n if (redirectURL) {\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n /* fix for sanitation ui & sandbox*/\n if (window?.location?.href?.includes?.(\"sanitation-ui\") || window?.location?.href?.includes?.(\"sandbox-ui\")) {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n }\n\n const handleClickOnWhatsAppBanner = (obj) => {\n window.open(obj?.navigationUrl);\n };\n\n const allCitizenServicesProps = {\n header: t(citizenServicesObj?.headerLabel),\n sideOption: {\n name: t(citizenServicesObj?.sideOption?.name),\n onClick: () =>\n navigate(citizenServicesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(citizenServicesObj?.props?.[0]?.label),\n Icon: <ComplaintIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[1]?.label),\n Icon: <PTIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[2]?.label),\n Icon: <CaseIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[2]?.navigationUrl),\n },\n // {\n // name: t(\"ACTION_TEST_WATER_AND_SEWERAGE\"),\n // Icon: <DropIcon/>,\n // onClick: () => history.push(`/${window?.contextPath}/citizen`)\n // },\n {\n name: t(citizenServicesObj?.props?.[3]?.label),\n Icon: <OBPSIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[3]?.navigationUrl),\n },\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n const allInfoAndUpdatesProps = {\n header: t(infoAndUpdatesObj?.headerLabel),\n sideOption: {\n name: t(infoAndUpdatesObj?.sideOption?.name),\n onClick: () => navigate(infoAndUpdatesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(infoAndUpdatesObj?.props?.[0]?.label),\n Icon: <HomeIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[1]?.label),\n Icon: <Calender />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[2]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[2]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[3]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[3]?.navigationUrl),\n },\n // {\n // name: t(\"CS_COMMON_HELP\"),\n // Icon: <HelpIcon/>\n // }\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"HomePageContainer\">\n {/* <div className=\"SideBarStatic\">\n <StaticCitizenSideBar />\n </div> */}\n <div className=\"HomePageWrapper\">\n {\n <div className=\"BannerWithSearch\">\n {isMobile ? (\n <ImageComponent src={appBannerMobObj?.bannerUrl} alt=\"Banner Image\" />\n ) : (\n <ImageComponent src={appBannerWebObj?.bannerUrl} alt=\"Banner Image\" />\n )}\n {/* <div className=\"Search\">\n <StandaloneSearchBar placeholder={t(\"CS_COMMON_SEARCH_PLACEHOLDER\")} />\n </div> */}\n <div className=\"ServicesSection\">\n <CardBasedOptions style={{ marginTop: \"-30px\" }} {...allCitizenServicesProps} />\n <CardBasedOptions style={isMobile ? {} : { marginTop: \"-30px\" }} {...allInfoAndUpdatesProps} />\n </div>\n </div>\n }\n\n {(whatsAppBannerMobObj || whatsAppBannerWebObj) && (\n <div className=\"WhatsAppBanner\">\n {isMobile ? (\n <ImageComponent\n src={whatsAppBannerMobObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerMobObj)}\n alt=\"Whatsapp Banner\"\n />\n ) : (\n <ImageComponent\n src={whatsAppBannerWebObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerWebObj)}\n alt=\"Whatsapp Banner\"\n />\n )}\n </div>\n )}\n\n {conditionsToDisableNotificationCountTrigger() ? (\n EventsDataLoading ? (\n <Loader />\n ) : (\n <div className=\"WhatsNewSection\">\n <div className=\"headSection\">\n <h2>{t(whatsNewSectionObj?.headerLabel)}</h2>\n <p onClick={() => navigate(whatsNewSectionObj?.sideOption?.navigationUrl)}>{t(whatsNewSectionObj?.sideOption?.name)}</p>\n </div>\n <WhatsNewCard {...EventsData?.[0]} />\n </div>\n )\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Home;\n","import {\n BackButton,\n HeaderComponent,\n Loader,\n CloseSvg,\n DownloadImgIcon,\n PDFSvg,\n} from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HowItWorks = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId =\n user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const storeData = Digit.SessionStorage.get(\"initData\");\n const stateInfo = storeData.stateInfo;\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n const [videoPlay, setVideoPlay] = useState(false);\n const [vidSrc, setVidSrc] = useState(\"\");\n\n const ViDSvg = () => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 24C5.38053 24 0 18.6143 0 12C0 5.38054 5.38053 1.90735e-06 12 1.90735e-06C18.6143 1.90735e-06 24 5.38054 24 12C24 18.6143 18.6143 24 12 24ZM16.3488 10.7852L11.3855 7.25251C11.1263 7.0701 10.8238 6.97889 10.5214 6.97889C10.291 6.97889 10.0557 7.03172 9.83976 7.14202C9.34054 7.40118 9.02857 7.91006 9.02857 8.46694L9.02877 15.5323C9.02877 16.0892 9.34076 16.5979 9.83996 16.8572C10.3344 17.1116 10.9296 17.0732 11.3857 16.7467L16.349 13.214C16.7426 12.9356 16.9778 12.4795 16.9778 11.9996C16.9776 11.5197 16.7426 11.0636 16.3489 10.7852L16.3488 10.7852Z\"\n fill=\"white\"\n />\n </svg>\n );\n const onClickVideo = (vidObj) => {\n if (selected === \"hi_IN\") {\n setVidSrc(vidObj[\"hi_IN\"]);\n } else {\n setVidSrc(vidObj[\"en_IN\"]);\n }\n setVideoPlay(true);\n };\n const onClose = () => {\n setVideoPlay(false);\n };\n\n const { isLoading, data } = Digit.Hooks.useGetHowItWorksJSON(\n Digit.ULBService.getStateId()\n );\n\n const mdmsConfigResult =\n data?.MdmsRes[\"common-masters\"]?.howItWorks[0]?.[`${module}`];\n const languages = [\n {\n label: \"ENGLISH\",\n value: \"en_IN\",\n },\n {\n label: \"हिंदी\",\n value: \"hi_IN\",\n },\n ];\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"how-it-works-page\">\n <BackButton></BackButton>\n <div className=\"how-it-works-page-header\">\n <HeaderComponent>\n {t(\n mdmsConfigResult.screenHeader\n ? mdmsConfigResult.screenHeader\n : \"HOW_IT_WORKS\"\n )}\n </HeaderComponent>\n </div>\n <div className=\"language-selector\" style={{ margin: \"10px\" }}>\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={language.label}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n {mdmsConfigResult.videosJson.map((videos, index) => (\n <div>\n <div\n className=\"WhatsNewCard\"\n style={{\n float: \"left\",\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n }}\n >\n <div className=\"video-icon\" onClick={() => onClickVideo(videos)}>\n <div className=\"vid-svg\">\n <ViDSvg></ViDSvg>\n </div>\n </div>\n <div className=\"how-it-works-header-description\">\n <h2>{t(videos.headerLabel)}</h2>\n <p>{t(videos.description)}</p>\n </div>\n </div>\n </div>\n ))}\n {mdmsConfigResult.pdfHeader && mdmsConfigResult.pdfDesc && (\n <div\n className=\"WhatsNewCard\"\n style={{\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n display: \"inline-block\",\n }}\n >\n <div className=\"how-it-works-pdf-section\">\n <div className=\"pdf-icon-header-desc\">\n <div className=\"pdf-icon\">\n <PDFSvg></PDFSvg>\n </div>\n <div className=\"pdf-header-desc\">\n <h2>{t(mdmsConfigResult.pdfHeader)}</h2>\n <p>{t(mdmsConfigResult.pdfDesc)}</p>\n </div>\n </div>\n <div className=\"download-icon\">\n <DownloadImgIcon />\n </div>\n </div>\n </div>\n )}\n {videoPlay && (\n <div className=\"how-it-works-video-play\">\n <div className=\"close-button\">\n <CloseSvg onClick={onClose}></CloseSvg>\n </div>\n <video width={500} height={500} controls autoPlay>\n <source src={vidSrc} type=\"video/mp4\"></source>\n </video>\n </div>\n )}\n </div>\n </Fragment>\n );\n};\n\nexport default HowItWorks;\n","import { CardText, CardLabelError, FormStep } from \"@egovernments/digit-ui-components\";\nimport React, { Fragment, useState } from \"react\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\n\nconst SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = \"citizen\", canSubmit }) => {\n const [timeLeft, setTimeLeft] = useState(30);\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleResendOtp = () => {\n onResend();\n setTimeLeft(2);\n };\n\n if (userType === \"employee\") {\n return (\n <Fragment>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button resend-otp\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </Fragment>\n );\n }\n\n return (\n <FormStep onSelect={onSelect} config={config} t={t} isDisabled={!(otp?.length === 6 && canSubmit)}>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </FormStep>\n );\n};\n\nexport default SelectOtp;\n","export const loginSteps = [\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_MOBILE_NUMBER\",\n cardText: \"CS_LOGIN_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"text\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOB_NO\",\n validation: {\n required: true,\n minlength: 10,\n maxlength: 10,\n },\n },\n ],\n },\n {\n texts: {\n header: \"CS_LOGIN_OTP\",\n cardText: \"CS_LOGIN_OTP_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n },\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_NAME\",\n cardText: \"CS_LOGIN_NAME_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_NAME\",\n type: \"text\",\n name: \"name\",\n error: \"CORE_COMMON_NAME_VALIDMSG\",\n validation: {\n required: true,\n minlength: 1,\n maxlength: 50,\n // pattern: /^[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}$/i,\n // pattern: /^(?!\\s)[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}(?!\\s)$/i\n pattern: \"^[A-Za-z]+( [A-Za-z]+)*$\",\n },\n },\n ],\n },\n];\n","import { InputCard, TextBlock, FieldV1, LinkLabel } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo, useState } from \"react\";\n\nconst SelectMobileNumber = ({ t, onSelect, mobileNumber,emailId, onMobileChange,onEmailChange, config, canSubmit }) => {\n const [isEmail, setIsEmail] = useState(emailId? true : false);\n const [error, setError] = useState(\"\");\n\n const core_mobile_config = window?.globalConfigs?.getConfig(\"CORE_MOBILE_CONFIGS\") || {};\n const EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const rawPattern = core_mobile_config?.mobileNumberPattern || \"^\\\\d+$\";\n const mobileNumberPattern = new RegExp(rawPattern);\n\n const isEmailValid = useMemo(() => EMAIL_REGEX.test(emailId), [emailId]);\n const isMobileValid = useMemo(() => mobileNumberPattern.test(mobileNumber || \"\"), [mobileNumber, mobileNumberPattern]);\n\n const handleSubmit = () => {\n if (isEmail) {\n if (!isEmailValid) {\n setError(t(\"ERR_INVALID_EMAIL\"));\n return;\n }\n onSelect({ userName: emailId });\n } else {\n if (!isMobileValid) {\n setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n return;\n }\n onSelect({ mobileNumber });\n }\n };\n\n const handleChange = (e) => {\n const value = e.target.value;\n setError(\"\");\n if (isEmail) {\n onEmailChange(e)\n if (value && !EMAIL_REGEX.test(value)) setError(t(\"ERR_INVALID_EMAIL\"));\n } else {\n onMobileChange(e);\n if (value && !mobileNumberPattern.test(value)) setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n }\n };\n\n const switchMode = () => {\n setIsEmail(!isEmail);\n setError(\"\");\n if(isEmail)\n onEmailChange({ target: { value: \"\" } });\n else\n onMobileChange({ target: { value: \"\" } }); // clear mobile input\n };\n\n const isDisabled = useMemo(() => {\n return isEmail ? !(isEmailValid && canSubmit) : !(isMobileValid && canSubmit);\n }, [isEmail, isEmailValid, isMobileValid, canSubmit]);\n\n const mobileViewStyles = {\n marginLeft:\"0px\",\n userSelect: \"none\",\n color: \"inherit\", \n cursor: \"pointer\", // keeps it clickable\n textDecoration: \"underline\",\n };\n\n // Responsive label\n const linkLabel = useMemo(() => {\n if (window.innerWidth <= 768) {\n return isEmail ? t(\"LOGIN_WITH_MOBILE\") : t(\"LOGIN_WITH_EMAIL\");\n }\n return isEmail ? t(\"CS_USE_MOBILE_INSTEAD\") : t(\"CS_LOGIN_REGISTER_WITH_EMAIL\");\n }, [isEmail, t]);\n\n return (\n <InputCard\n t={t}\n texts={config?.texts}\n submit\n onNext={handleSubmit}\n isDisable={isDisabled}\n >\n <div>\n <FieldV1\n key={isEmail ? \"email\" : \"mobile\"}\n withoutLabel\n charCount\n error={error}\n onChange={handleChange}\n placeholder={isEmail ? t(\"ENTER_EMAIL_PLACEHOLDER\") : t(\"ENTER_MOBILE_PLACEHOLDER\")}\n populators={{\n name: isEmail ? \"userName\" : \"mobileNumber\",\n prefix: isEmail ? \"\" : core_mobile_config?.mobilePrefix,\n validation: {\n maxlength: isEmail ? 256 : (core_mobile_config?.mobileNumberLength || 10),\n pattern: isEmail ? EMAIL_REGEX : mobileNumberPattern,\n },\n }}\n props={{ fieldStyle: { width: \"100%\" } }}\n type=\"text\"\n value={isEmail ? emailId : mobileNumber}\n />\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"1rem\", marginBottom: \"1.5rem\", marginTop: \"-24px\" }}>\n <LinkLabel style={{ display: \"inline\", ...mobileViewStyles }} onClick={switchMode}>\n {linkLabel}\n </LinkLabel>\n </div>\n </InputCard>\n );\n};\n\nexport default SelectMobileNumber;","import { FormStep } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\n\nconst SelectName = ({ config, onSelect, t, isDisabled }) => {\n return <FormStep config={config} onSelect={onSelect} t={t} isDisabled={isDisabled}></FormStep>;\n};\n\nexport default SelectName;\n","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nlet DEFAULT_REDIRECT_URL = `/${window?.contextPath || window?.globalConfigs?.getConfig(\"CONTEXT_PATH\")}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst IndividualLogin = ({ stateCode, isUserRegistered = true }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate();\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(() =>\n loginSteps.map(\n (step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginSteps]\n )\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const handleEmailChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, userName: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n if (isUserRegistered) {\n // LOGIN FLOW: Send OTP\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { \n state: { \n from: getFromLocation(location.state, searchParams) \n }, \n replace: true \n });\n return;\n } else {\n setCanSubmitNo(true);\n setError(t(\"USER_NOT_REGISTERED\") || \"User not registered.\");\n }\n } else {\n // REGISTER FLOW: Go directly to name screen (no OTP needed yet)\n setCanSubmitNo(true);\n navigate(`name`, {\n state: {\n from: getFromLocation(location.state, searchParams),\n data: data\n },\n replace: true\n });\n }\n };\n\n const selectName = async (name) => {\n setCanSubmitName(true);\n\n const userData = {\n ...params,\n ...name,\n };\n\n setParams(userData);\n\n // Call the Individual service registration API\n const registerURL = `${individualServicePath}/v1/_register`;\n\n const requestData = {\n IndividualRegister: {\n tenantId: stateCode,\n name: userData.name,\n emailId: userData.userName || \"\",\n mobileNumber: userData.mobileNumber || \"\",\n requestType: \"Register\"\n }\n };\n\n try {\n const registerResponse = await Digit.CustomService.getResponse({\n url: registerURL,\n body: requestData,\n useCache: false,\n method: \"POST\",\n userService: false,\n auth: false,\n params: {}\n });\n\n if (!registerResponse) {\n throw new Error(\"Registration API failed\");\n }\n\n setCanSubmitName(false);\n // After registration, go to OTP screen\n navigate(`otp`, {\n state: {\n from: getFromLocation(location.state, searchParams)\n },\n replace: true\n });\n\n } catch (err) {\n console.error(\"Registration error:\", err);\n setCanSubmitName(false);\n setError(t(\"REGISTRATION_FAILED\") || \"Registration failed. Please try again.\");\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, userName } = params;\n\n // Authenticate with OTP\n const requestData = {\n username: mobileNumber || userName,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n setError(t(\"INVALID_OTP\") || \"Invalid OTP\");\n }\n };\n\n const resendOtp = async () => {\n if (!isUserRegistered) {\n // For registration flow, user needs to complete registration first\n setError(t(\"PLEASE_COMPLETE_REGISTRATION\") || \"Please enter the OTP sent during registration.\");\n } else {\n // For login flow, resend OTP\n const { mobileNumber, userName } = params;\n const data = {\n mobileNumber,\n userName,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (err) {\n setError(t(\"OTP_RESEND_ERROR\") || \"Failed to resend OTP\");\n }\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n return (\n <div className=\"citizen-form-wrapper\">\n <AppContainer>\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => window.history.back()} />}\n <Routes>\n <Route\n path=\"/\" \n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n emailId={params.userName || \"\"}\n onMobileChange={handleMobileChange}\n onEmailChange={handleEmailChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered}\n t={t}\n />\n } \n />\n <Route \n path=\"otp\" \n element={\n <SelectOtp\n config={{ \n ...stepItems[1], \n texts: { \n ...stepItems[1].texts, \n cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || params.userName || \"\"}` \n } \n }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n } \n />\n <Route \n path=\"name\" \n element={\n <SelectName \n config={stepItems[2]} \n onSelect={selectName} \n t={t} \n isDisabled={canSubmitName} \n />\n } \n />\n </Routes>\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </AppContainer>\n </div>\n );\n};\n\nexport default IndividualLogin;","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\nimport IndividualLogin from \"./IndividualLogin\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nconst DEFAULT_REDIRECT_URL = `/${window?.contextPath}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst Login = ({ stateCode, isUserRegistered = true }) => {\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualLogin stateCode={stateCode} isUserRegistered={isUserRegistered} />;\n }\n\n // Otherwise, continue with standard login flow\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n // useRouteMatch is removed in v6. Path matching is handled by Routes/Route.\n // `path` and `url` were used for constructing sub-routes. In v6, paths are often relative.\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(\n () =>\n loginSteps.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginSteps]\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n // Use relative path for navigation, `.` means current base path\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams), role: location.state?.role }, replace: true });\n return;\n } else {\n setCanSubmitNo(true);\n if (!(location.state && location.state.role === \"FSM_DSO\")) {\n // Use absolute path if navigating outside the current route's scope, or relative if it's a sibling route\n navigate(`/${window?.contextPath}/citizen/register/name`, { state: { from: getFromLocation(location.state, searchParams), data: data } });\n }\n }\n if (location.state?.role) {\n setCanSubmitNo(true);\n setError(location.state?.role === \"FSM_DSO\" ? t(\"ES_ERROR_DSO_LOGIN\") : \"User not registered.\");\n }\n } else {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n return;\n }\n setCanSubmitNo(true);\n }\n };\n\n const selectName = async (name) => {\n const data = {\n ...params,\n tenantId: stateCode,\n userType: getUserType(),\n ...name,\n };\n setParams({ ...params, ...name });\n setCanSubmitName(true);\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (res) {\n setCanSubmitName(false);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n } else {\n setCanSubmitName(false);\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, name } = params;\n if (isUserRegistered) {\n const requestData = {\n username: mobileNumber,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (location.state?.role) {\n const roleInfo = info.roles.find((userRole) => userRole.code === location.state.role);\n if (!roleInfo || !roleInfo.code) {\n setError(t(\"ES_ERROR_USER_NOT_PERMITTED\"));\n // navigate also handles timeouts for redirects\n setTimeout(() => navigate(DEFAULT_REDIRECT_URL, { replace: true }), 5000);\n return;\n }\n }\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n } else if (!isUserRegistered) {\n const requestData = {\n name,\n username: mobileNumber,\n otpReference: otp,\n tenantId: stateCode,\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.registerUser(requestData, stateCode);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n }\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n }\n };\n\n const resendOtp = async () => {\n const { mobileNumber } = params;\n const data = {\n mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (!isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n } else if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n return (\n <div className=\"citizen-form-wrapper\">\n <AppContainer>\n {/* BackLink now uses navigate(-1) for going back */}\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => navigate(-1)} />}\n <Routes> {/* Replaced Switch with Routes */}\n {/* Route path is now relative to the parent <Routes> */}\n <Route\n path=\"/\" // This will match the base path where this component is rendered (e.g., /citizen/login if mounted there)\n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n onMobileChange={handleMobileChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered && !location.state?.role}\n t={t}\n />\n }\n />\n <Route\n path=\"otp\" // This will match /path/to/current/route/otp\n element={\n <SelectOtp\n config={{ ...stepItems[1], texts: { ...stepItems[1].texts, cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || \"\"}` } }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n }\n />\n <Route\n path=\"name\" // This will match /path/to/current/route/name\n element={<SelectName config={stepItems[2]} onSelect={selectName} t={t} isDisabled={canSubmitName} />}\n />\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </Routes>\n </AppContainer>\n </div>\n );\n};\n\nexport default Login;","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: React.useCallback((elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n }, [control._fields, name]),\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { DatePicker, SearchField, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { Controller } from \"react-hook-form\";\nconst SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => {\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_FROM_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"fromDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_TO_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"toDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-search-action-submit\">\n <Button\n style={{ marginTop: isMobile ? \"510px\" : \"25px\", marginLeft: isMobile ? \"0\" : \"-30px\", maxWidth: isMobile ? \"100%\" : \"240px\" }}\n label={t(\"ES_COMMON_APPLY\")}\n submit\n />\n </SearchField>\n </>\n );\n};\nexport default SearchFields;\n","import {\n BackButton,\n DetailsCard,\n HeaderComponent,\n Loader,\n PopUp,\n SearchAction,\n SearchForm,\n CloseSvg,\n DownloadBtnCommon,\n} from \"@egovernments/digit-ui-components\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useState,\n} from \"react\";\nimport SearchFormFields from \"./SearchFields\";\n// import { convertEpochToDateDMY } from \"../../utils\";\n\nconst MobileSearchApplication = ({\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n isLoading,\n}) => {\n function activateModal(state, action) {\n switch (action.type) {\n case \"set\":\n return action.payload;\n case \"remove\":\n return false;\n default:\n break;\n }\n }\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [currentlyActiveMobileModal, setActiveMobileModal] = useReducer(\n activateModal,\n false\n );\n\n const closeMobilePopupModal = () => {\n setActiveMobileModal({ type: \"remove\" });\n };\n\n const MobilePopUpCloseButton = () => (\n <div\n className=\"InboxMobilePopupCloseButtonWrapper\"\n onClick={closeMobilePopupModal}\n >\n <CloseSvg />\n </div>\n );\n const searchFormFieldsComponentProps = {\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n };\n\n const MobileComponentDirectory = ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) => {\n const { closeMobilePopupModal } = props;\n switch (currentlyActiveMobileModal) {\n case \"SearchFormComponent\":\n return (\n <SearchForm {...props}>\n <MobilePopUpCloseButton />\n <div className=\"MobilePopupHeadingWrapper\">\n <h2>{t(\"PRIVACY_AUDIT_REPORT\")}:</h2>\n </div>\n <SearchFormFields\n {...searchFormFieldsComponentProps}\n {...{ closeMobilePopupModal, tenantId, t }}\n />\n {/* <SearchField className=\"submit\">\n <SubmitBar label={t(\"ES_COMMON_SEARCH\")} submit form=\"search-form\"/>\n <p onClick={onResetSearchForm}>{t(`ES_COMMON_CLEAR_ALL`)}</p>\n </SearchField> */}\n </SearchForm>\n );\n default:\n return <span></span>;\n }\n };\n const CurrentMobileModalComponent = useCallback(\n ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) =>\n MobileComponentDirectory({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props,\n }),\n [currentlyActiveMobileModal]\n );\n let roles = [];\n data?.roles?.forEach((item) => {\n roles.push(item?.name);\n });\n const propsMobileInboxCards = useMemo(() => {\n if (data?.display) {\n return [];\n }\n if (data === \"\") {\n return [];\n }\n return data?.map((data) => ({\n [t(\"AUDIT_DATE_LABEL\")]: convertEpochToDate(data.timestamp),\n [t(\"AUDIT_TIME_LABEL\")]: convertEpochToTimeInHours(data.timestamp),\n [t(\"AUDIT_DATAVIEWED_LABEL\")]: data.dataView[0] + \",\" + data.dataView[1],\n [t(\"AUDIT_DATAVIEWED_BY_LABEL\")]: data.dataViewedBy,\n [t(\"AUDIT_ROLE_LABEL\")]: data.roles\n .slice(0, 3)\n ?.map((e) => e.name)\n .join(\",\"),\n }));\n }, [data]);\n\n return (\n <React.Fragment>\n <BackButton />\n <div\n className=\"sideContent\"\n style={{ marginLeft: \"70%\", marginTop: \"-12%\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}:</HeaderComponent>\n <div className=\"digit-search-box\">\n <SearchAction\n text={t(\"ES_COMMON_SEARCH\")}\n handleActionClick={() =>\n setActiveMobileModal({\n type: \"set\",\n payload: \"SearchFormComponent\",\n })\n }\n {...{ tenantId, t }}\n />\n </div>\n {currentlyActiveMobileModal ? (\n <PopUp>\n <CurrentMobileModalComponent\n onSubmit={(data) => {\n setActiveMobileModal({ type: \"remove\" });\n onSubmit(data);\n }}\n handleSubmit={handleSubmit}\n id=\"search-form\"\n className=\"rm-mb form-field-flex-one inboxPopupMobileWrapper\"\n {...{\n searchFormFieldsComponentProps,\n currentlyActiveMobileModal,\n closeMobilePopupModal,\n tenantId,\n }}\n />\n </PopUp>\n ) : null}\n {isLoading && <Loader />}\n <DetailsCard\n {...{\n data: propsMobileInboxCards,\n }}\n />\n </React.Fragment>\n );\n};\n\nexport default MobileSearchApplication;\n","import {\n DownloadBtnCommon,\n Table,\n} from \"@egovernments/digit-ui-react-components\";\nimport {\n BackButton,\n Loader,\n SearchForm,\n HeaderComponent\n} from \"@egovernments/digit-ui-components\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport MobileSearchApplication from \"./MobileSearchApplication\";\nimport SearchFields from \"./SearchFields\";\n\nconst SearchApplication = ({ tenantId, t, onSubmit, data, count }) => {\n const initialValues = Digit.SessionStorage.get(\n \"AUDIT_APPLICATION_DETAIL\"\n ) || {\n offset: 0,\n limit: 5,\n sortOrder: \"DESC\",\n };\n const {\n register,\n control,\n handleSubmit,\n setValue,\n getValues,\n reset,\n } = useForm({\n defaultValues: initialValues,\n });\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n register(\"offset\", 0);\n register(\"limit\", 5);\n register(\"sortOrder\", \"DESC\");\n }, [register]);\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const onSort = useCallback((args) => {\n if (args.length === 0) return;\n setValue(\"sortBy\", args.id);\n setValue(\"sortOrder\", args.desc ? \"DESC\" : \"ASC\");\n }, []);\n\n function onPageSizeChange(e) {\n setValue(\"limit\", Number(e.target.value));\n handleSubmit(onSubmit)();\n }\n\n function nextPage() {\n setValue(\"offset\", getValues(\"offset\") + getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n function previousPage() {\n setValue(\"offset\", getValues(\"offset\") - getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isMobile) {\n return (\n <MobileSearchApplication\n {...{\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n }}\n />\n );\n }\n\n //need to get from workflow\n const GetCell = (value) => <span className=\"cell-text\">{value}</span>;\n const columns = useMemo(\n () => [\n {\n Header: t(\"AUDIT_DATE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToDate(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: t(\"AUDIT_TIME_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToTimeInHours(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_LABEL\")\n : t(\"AUDIT_DATAVIEWED_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataView}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_BY_LABEL\")\n : t(\"AUDIT_DATAVIEWED_BY_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataViewedBy}`);\n },\n },\n {\n Header: t(\"AUDIT_ROLE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.roles.slice(0, 3)?.map((e) => e.name)}`);\n },\n },\n ],\n []\n );\n\n return (\n <React.Fragment>\n <div style={{ marginRight: \"-70px\" }}>\n {\" \"}\n <BackButton />{\" \"}\n </div>\n <div style={{ marginTop: \"30px\", marginLeft: \"30px\" }}>\n {\" \"}\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}</HeaderComponent>{\" \"}\n </div>\n <SearchForm\n className=\"audit-card\"\n onSubmit={onSubmit}\n handleSubmit={handleSubmit}\n >\n <SearchFields\n {...{ register, control, reset, tenantId, t, previousPage }}\n />\n </SearchForm>\n <div\n style={{\n marginTop: \"240px\",\n marginLeft: \"-55%\",\n maxWidth: \"80%\",\n marginRight: \"52px\",\n }}\n >\n {data?.display ? (\n <div\n style={{\n marginTop: \"20x\",\n width: \"1025px\",\n marginLeft: \"25px\",\n backgroundColor: \"white\",\n height: \"60px\",\n }}\n >\n {t(data.display)\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </div>\n ) : data !== \"\" ? (\n <div\n style={{\n backgroundColor: \"white\",\n marginRight: \"-30px\",\n marginLeft: \"30px\",\n }}\n >\n <div\n className=\"sideContent\"\n style={{ float: \"right\", padding: \"10px 30px\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <Table\n t={t}\n data={data}\n totalRecords={count}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n minWidth:\n cellInfo.column.Header === t(\"ES_INBOX_APPLICATION_NO\")\n ? \"240px\"\n : \"\",\n padding: \"20px 18px\",\n fontSize: \"16px\",\n },\n };\n }}\n onPageSizeChange={onPageSizeChange}\n currentPage={getValues(\"offset\") / getValues(\"limit\")}\n onNextPage={nextPage}\n onPrevPage={previousPage}\n manualPagination={false}\n pageSizeLimit={getValues(\"limit\")}\n onSort={onSort}\n disableSort={false}\n sortParams={[\n {\n id: getValues(\"sortBy\"),\n desc: getValues(\"sortOrder\") === \"DESC\" ? true : false,\n },\n ]}\n />\n </div>\n ) : (\n <Loader />\n )}\n </div>\n </React.Fragment>\n );\n};\n\nexport default SearchApplication;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport AuditSearchApplication from \"../../components/Search\";\nconst Search = ({ path }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant()\n const [payload, setPayload] = useState({});\n const convertDateToEpoch = (dateString, dayStartOrEnd = \"dayend\") => {\n //example input format : \"2018-10-02\"\n try {\n const parts = dateString.match(/(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n const DateObj = new Date(Date.UTC(parts[1], parts[2] - 1, parts[3]));\n DateObj.setMinutes(DateObj.getMinutes() + DateObj.getTimezoneOffset());\n if (dayStartOrEnd === \"dayend\") {\n DateObj.setHours(DateObj.getHours() + 24);\n DateObj.setSeconds(DateObj.getSeconds() - 1);\n }\n return DateObj.getTime();\n } catch (e) {\n return dateString;\n }\n };\n function onSubmit(_data) {\n Digit.SessionStorage.set(\"AUDIT_APPLICATION_DETAIL\", {\n offset: 0,\n limit: 5,\n sortBy: \"commencementDate\",\n sortOrder: \"DESC\",\n });\n const data = {\n ..._data,\n fromDate: convertDateToEpoch(_data?.fromDate),\n toDate: convertDateToEpoch(_data?.toDate),\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key] : data[key] }), {})\n );\n }\n useEffect(() => {\n const storedPayload = Digit.SessionStorage.get(\"AUDIT_APPLICATION_DETAIL\") || {};\n if (storedPayload) {\n const data = {\n ...storedPayload,\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key].code : data[key] }), {})\n );\n }\n }, []);\n const config = {\n enabled: !!(payload && Object.keys(payload).length > 0),\n };\n const newObj = { ...payload };\n \n const {\n isLoading,\n data,\n} = Digit.Hooks.useAudit({\n tenantId,\n filters: {\n ...newObj,\n },\n config,\n });\n\n return (\n <AuditSearchApplication\n t={t}\n tenantId={tenantId}\n onSubmit={onSubmit}\n data={\n !isLoading\n ? data?.ElasticSearchData?.length > 0\n ? data?.ElasticSearchData\n : { display: \"ES_COMMON_NO_DATA\" }\n : \"\"\n }\n count={data?.ElasticSearchData?.length}\n />\n );\n };\n export default Search;","import {\n Card,\n Loader,\n CaseIcon,\n ComplaintIcon,\n HelpLineIcon,\n MCollectIcon,\n PTIcon,\n RupeeSymbol,\n ServiceCenterIcon,\n TimerIcon,\n ValidityTimeIcon,\n WhatsappIconGreen,\n} from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StaticDynamicCard = ({ moduleCode }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant();\n const {\n isLoading: isMdmsLoading,\n data: mdmsData,\n } = Digit.Hooks.useStaticData(Digit.ULBService.getStateId());\n const {\n isLoading: isSearchLoading,\n error,\n data: dynamicData,\n isSuccess,\n } = Digit.Hooks.useDynamicData({\n moduleCode,\n tenantId: tenantId,\n filters: {},\n t,\n });\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const IconComponent = ({ module, styles }) => {\n switch (module) {\n case \"TL\":\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"PT\":\n return <PTIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"MCOLLECT\":\n return (\n <MCollectIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n case \"PGR\":\n return (\n <ComplaintIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n default:\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n }\n };\n const mdmsConfigResult =\n mdmsData?.MdmsRes[\"common-masters\"]?.StaticData[0]?.[`${moduleCode}`];\n\n const StaticDataIconComponentOne = ({ module }) => {\n switch (module) {\n case \"PT\":\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const StaticDataIconComponentTwo = ({ module }) => {\n switch (module) {\n case \"PT\":\n return (\n <span className=\"rupeeSymbol\">\n <RupeeSymbol />\n </span>\n );\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const staticContent = (module) => {\n switch (module) {\n case \"TL\":\n case \"PT\":\n case \"MCOLLECT\":\n return {\n staticCommonContent: t(\"COMMON_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n case \"PGR\":\n return {\n staticCommonContent: t(\"ACTION_TEST_COMPLAINT_TYPES\"),\n };\n case \"OBPS\":\n return {\n staticCommonContent: t(\"BUILDING_PLAN_PERMIT_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n \" \" +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n default:\n return {\n staticCommonContent: \"\",\n };\n }\n };\n\n const staticData = (module) => {\n switch (module) {\n case \"PT\":\n return {\n staticDataOne:\n mdmsConfigResult?.staticDataOne + \" \" + t(\"COMMON_DAYS\"),\n staticDataOneHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n staticDataTwo: mdmsConfigResult?.staticDataTwo,\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_FEE\"),\n };\n case \"WS\":\n return {\n staticDataOne: \"\",\n staticDataOneHeader:\n t(\"PAY_WATER_CHARGES_BY\") +\n \" \" +\n mdmsConfigResult?.staticDataOne +\n \" \" +\n t(\"COMMON_DAYS\") +\n \" \" +\n t(\"OF_BILL_GEN_TO_AVOID_LATE_FEE\"),\n staticDataTwo:\n mdmsConfigResult?.staticDataTwo + \" \" + t(\"COMMON_DAYS\"),\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n };\n default:\n return {};\n }\n };\n\n if (isMdmsLoading || isSearchLoading) {\n return <Loader />;\n }\n return mdmsConfigResult ? (\n <React.Fragment>\n {mdmsConfigResult && mdmsConfigResult?.payViaWhatsApp ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div\n className=\"pay-whatsapp-card\"\n onClick={() =>\n handleClickOnWhatsApp(mdmsConfigResult?.payViaWhatsApp)\n }\n >\n <div className=\"pay-whatsapp-text\">{t(\"PAY_VIA_WHATSAPP\")}</div>\n <div className=\"whatsAppIconG\">\n <WhatsappIconGreen />\n </div>\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.helpline ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CALL_CENTER_HELPLINE\")}\n </div>\n <div className=\"helplineIcon\">\n <HelpLineIcon />\n </div>\n </div>\n <div className=\"call-center-card-text\">\n {mdmsConfigResult?.helpline?.contactOne ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactOne}`}>\n {mdmsConfigResult?.helpline?.contactOne}\n </a>\n </div>\n ) : null}\n {mdmsConfigResult?.helpline?.contactTwo ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactTwo}`}>\n {mdmsConfigResult?.helpline?.contactTwo}\n </a>\n </div>\n ) : null}\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.serviceCenter ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CITIZEN_SERVICE_CENTER\")}\n </div>\n <div className=\"serviceCentrIcon\">\n <ServiceCenterIcon />\n </div>\n </div>\n <div className=\"service-center-details-card\">\n <div className=\"service-center-details-text\">\n {mdmsConfigResult?.serviceCenter}\n </div>\n </div>\n {mdmsConfigResult?.viewMapLocation ? (\n <div className=\"link\">\n <a href={mdmsConfigResult?.viewMapLocation}>{t(\"VIEW_ON_MAP\")}</a>\n </div>\n ) : null}\n </Card>\n ) : (\n <div />\n )}\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataOne === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataOne}\n </span>\n </div>\n </div>\n )}\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataTwo === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataTwo}\n </span>\n </div>\n </div>\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataOne ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentOne module={moduleCode} />\n <span className=\"static-data-content\">\n <span\n className=\"static-data-content-first\"\n style={{\n marginTop:\n staticData(moduleCode)?.staticDataOne === \"\"\n ? \"8px\"\n : \"unset\",\n }}\n >\n {staticData(moduleCode)?.staticDataOneHeader}\n </span>\n <span className=\"static-data-content-second\">{`${\n staticData(moduleCode)?.staticDataOne\n }`}</span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataTwo ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentTwo module={moduleCode} />\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticData(moduleCode)?.staticDataTwoHeader}\n </span>\n <span className=\"static-data-content-second\">\n {staticData(moduleCode)?.staticDataTwo}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.validity ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {staticContent(moduleCode)?.validity}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {error ||\n dynamicData == null ||\n !dynamicData?.staticData ||\n dynamicData?.staticData === null ? (\n <div />\n ) : (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n {moduleCode === \"PGR\" ? (\n <IconComponent\n module={moduleCode}\n styles={{\n width: \"24px\",\n height: \"24px\",\n marginLeft: \"13px\",\n marginTop: \"12px\",\n }}\n />\n ) : (\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n )}\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {dynamicData?.staticData}\n </span>\n </span>\n </div>\n </div>\n )}\n </Card>\n </React.Fragment>\n ) : (\n <React.Fragment />\n );\n};\n\nexport default StaticDynamicCard;\n","import { BackLink, CitizenHomeCard, CitizenInfoLabel } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useNavigate, useLocation } from \"react-router-dom\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport { AppHome, processLinkData } from \"../../components/Home\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport StaticCitizenSideBar from \"../../components/TopBarSideBar/SideBar/StaticCitizenSideBar\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"../../components/DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst FAQsSection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-faqs\" */ \"./FAQs/FAQs\"),\n () => require(\"./FAQs/FAQs\").default,\n { loaderText: \"CORE_LOADING_FAQS\" }\n);\n\nconst CitizenHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-home\" */ \"./Home\"),\n () => require(\"./Home\").default,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-language-selection\" */ \"./Home/LanguageSelection\"),\n () => require(\"./Home/LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst LocationSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-location-selection\" */ \"./Home/LocationSelection\"),\n () => require(\"./Home/LocationSelection\").default,\n { loaderText: \"CORE_LOADING_LOCATION_SELECTION\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-user-profile\" */ \"./Home/UserProfile\"),\n () => require(\"./Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst HowItWorks = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-how-it-works\" */ \"./HowItWorks/howItWorks\"),\n () => require(\"./HowItWorks/howItWorks\").default,\n { loaderText: \"CORE_LOADING_HOW_IT_WORKS\" }\n);\n\nconst Login = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Search = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-search\" */ \"./SearchApp\"),\n () => require(\"./SearchApp\").default,\n { loaderText: \"CORE_LOADING_SEARCH\" }\n);\n\nconst StaticDynamicCard = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-static-dynamic-card\" */ \"./StaticDynamicComponent/StaticDynamicCard\"),\n () => require(\"./StaticDynamicComponent/StaticDynamicCard\").default,\n { loaderText: \"CORE_LOADING_DYNAMIC_CONTENT\" }\n);\n\nconst sidebarHiddenFor = [\n `${window?.contextPath}/citizen/register/name`,\n `/${window?.contextPath}/citizen/select-language`,\n `/${window?.contextPath}/citizen/select-location`,\n `/${window?.contextPath}/citizen/login`,\n `/${window?.contextPath}/citizen/register/otp`,\n];\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes.map((item) => item.code).includes(tenant.code));\n};\n\nconst Home = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl, // This prop seems unused, consider removing\n pathname, // This prop seems unused, `useLocation().pathname` is used directly\n initData,\n}) => {\n const { isLoading: islinkDataLoading, data: linkData, isFetched: isLinkDataFetched } = Digit.Hooks.useCustomMDMS(\n Digit.ULBService.getStateId(),\n \"ACCESSCONTROL-ACTIONS-TEST\",\n [\n {\n name: \"actions-test\",\n filter: `[?(@.url == '${Digit.Utils.getMultiRootTenant() ? window.globalPath : window.contextPath}-card')]`,\n },\n ],\n {\n select: (data) => {\n const formattedData = data?.[\"ACCESSCONTROL-ACTIONS-TEST\"]?.[\"actions-test\"]\n ?.filter((el) => el.enabled === true)\n .reduce((a, b) => {\n a[b.parentModule] = a[b.parentModule]?.length > 0 ? [b, ...a[b.parentModule]] : [b];\n return a;\n }, {});\n return formattedData;\n },\n }\n );\n const classname = Digit.Hooks.useRouteSubscription(pathname);\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const hideSidebar = sidebarHiddenFor.some((e) => window.location.href.includes(e));\n\n // Create app routes with dynamic module loading and loading states for citizen modules\n const appRoutes = modules.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType=\"citizen\"\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n const ModuleLevelLinkHomePages = modules.map(({ code, bannerImage }, index) => {\n let Links = Digit.ComponentRegistryService.getComponent(`${code}Links`) || (() => <React.Fragment />);\n let mdmsDataObj = isLinkDataFetched ? processLinkData(linkData, code, t) : undefined;\n\n if (mdmsDataObj?.header === \"ACTION_TEST_WS\") {\n mdmsDataObj?.links.sort((a, b) => {\n return b.orderNumber - a.orderNumber;\n });\n }\n return (\n <React.Fragment key={code + \"-routes\"}>\n <Route path={`${code.toLowerCase()}-home`} element={\n <div className=\"moduleLinkHomePage\">\n <ImageComponent src={bannerImage || stateInfo?.bannerUrl} alt=\"noimagefound\" />\n <BackLink className=\"moduleLinkHomePageBackButton\" onClick={() => navigate(-1)} />\n <h1>{t(\"MODULE_\" + code.toUpperCase())}</h1>\n <div className=\"moduleLinkHomePageModuleLinks\">\n {mdmsDataObj && (\n <CitizenHomeCard\n header={t(mdmsDataObj?.header)}\n links={mdmsDataObj?.links}\n Icon={() => <span />}\n Info={\n code === \"OBPS\"\n ? () => (\n <CitizenInfoLabel\n style={{ margin: \"0px\", padding: \"10px\" }}\n info={t(\"CS_FILE_APPLICATION_INFO_LABEL\")}\n text={t(`BPA_CITIZEN_HOME_STAKEHOLDER_INCLUDES_INFO_LABEL`)}\n />\n )\n : null\n }\n isInfo={code === \"OBPS\" ? true : false}\n />\n )}\n </div>\n <StaticDynamicCard moduleCode={code?.toUpperCase()} />\n </div>\n } />\n <Route path={`${code.toLowerCase()}-faq`} element={<FAQsSection module={code?.toUpperCase()} />} />\n <Route path={`${code.toLowerCase()}-how-it-works`} element={<HowItWorks module={code?.toUpperCase()} />} />\n </React.Fragment>\n );\n });\n\n return (\n <div className={classname}>\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n showSidebar={CITIZEN ? true : false}\n linkData={linkData}\n islinkDataLoading={islinkDataLoading}\n />\n\n <div className={`main center-container citizen-home-container mb-25`}>\n {hideSidebar ? null : (\n <div className=\"SideBarStatic\">\n <StaticCitizenSideBar linkData={linkData} islinkDataLoading={islinkDataLoading} />\n </div>\n )}\n\n <Routes>\n <Route path=\"/\" element={<CitizenHome />} />\n\n <Route path=\"select-language\" element={<LanguageSelection />} />\n\n <Route path=\"select-location\" element={<LocationSelection />} />\n\n <Route path=\"error\" element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n } />\n\n <Route path=\"all-services\" element={\n <AppHome\n userType=\"citizen\"\n modules={modules}\n getCitizenMenu={linkData}\n fetchedCitizen={isLinkDataFetched}\n isLoading={islinkDataLoading}\n />\n } />\n\n <Route path=\"login/*\" element={<Login stateCode={stateCode} />} />\n\n <Route path=\"register/*\" element={<Login stateCode={stateCode} isUserRegistered={false} />} />\n\n <Route path=\"user/profile\" element={<UserProfile stateCode={stateCode} userType={\"citizen\"} cityDetails={cityDetails} />} />\n\n <Route path=\"Audit\" element={<Search />} />\n\n {/* Dynamic App Routes and Module Level Link Home Pages */}\n {appRoutes}\n {ModuleLevelLinkHomePages}\n </Routes>\n </div>\n <div className=\"citizen-home-footer\" style={window.location.href.includes(\"citizen/obps\") ? { zIndex: \"-1\" } : {}}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.2em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Home;","import { CardSubHeader, FormComposer,CardText} from \"@egovernments/digit-ui-react-components\";\nimport { BackLink,Toast} from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport SelectOtp from \"../../citizen/Login/SelectOtp\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ChangePasswordComponent = ({ config: propsConfig, t }) => {\n const [user, setUser] = useState(null);\n const { mobile_number: mobileNumber, tenantId } = Digit.Hooks.useQueryParams();\n const navigate = useNavigate();\n const [otp, setOtp] = useState(\"\");\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onResendOTP = async () => {\n const requestData = {\n otp: {\n mobileNumber,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId,\n },\n };\n\n try {\n await Digit.UserService.sendOtp(requestData, tenantId);\n setShowToast(t(\"ES_OTP_RESEND\"));\n } catch (err) {\n setShowToast(err?.response?.data?.error_description || t(\"ES_INVALID_LOGIN_CREDENTIALS\"));\n }\n setTimeout(closeToast, 5000);\n };\n\n const onChangePassword = async (data) => {\n try {\n if (data.newPassword !== data.confirmPassword) {\n return setShowToast(t(\"ERR_PASSWORD_DO_NOT_MATCH\"));\n }\n const requestData = {\n ...data,\n otpReference: otp,\n tenantId,\n type: getUserType().toUpperCase(),\n };\n\n const response = await Digit.UserService.changePassword(requestData, tenantId);\n navigateToLogin();\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || t(\"ES_SOMETHING_WRONG\"));\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/user/login`, {replace:true});\n };\n\n const [username, password, confirmPassword] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(username.label),\n type: username.type,\n populators: {\n name: username.name,\n },\n isMandatory: true,\n },\n {\n label: t(password.label),\n type: password.type,\n populators: {\n name: password.name,\n },\n isMandatory: true,\n },\n {\n label: t(confirmPassword.label),\n type: confirmPassword.type,\n populators: {\n name: confirmPassword.name,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink variant=\"primary\" style={{ borderBottom: \"none\" }} />\n </div>\n <FormComposer\n onSubmit={onChangePassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeChangePassword\"\n >\n <Header />\n <CardSubHeader style={{ textAlign: \"center\" }}> {propsConfig.texts.header} </CardSubHeader>\n <CardText>\n {`${t(`CS_LOGIN_OTP_TEXT`)} `}\n <b>\n {\" \"}\n {`${t(`+ 91 - `)}`} {mobileNumber}\n </b>\n </CardText>\n <SelectOtp t={t} userType=\"employee\" otp={otp} onOtpChange={setOtp} error={isOtpValid} onResend={onResendOTP} />\n {/* <div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_SENT_MESSAGE\")}</CardLabel>\n <CardLabelDesc style={{ marginBottom: \"0px\" }}> {mobileNumber} </CardLabelDesc>\n <CardLabelDesc style={{ marginBottom: \"8px\" }}> {t(\"CORE_EMPLOYEE_OTP_CHECK_MESSAGE\")}</CardLabelDesc>\n </div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_OTP\")} *</CardLabel>\n <TextInput className=\"field\" name={otpReference} isRequired={true} onChange={updateOtp} type={\"text\"} style={{ marginBottom: \"10px\" }} />\n <div className=\"flex-right\">\n <div className=\"primary-label-btn\" onClick={onResendOTP}>\n {t(\"CORE_OTP_RESEND\")}\n </div>\n </div> */}\n </FormComposer>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nChangePasswordComponent.propTypes = {\n loginParams: PropTypes.any,\n};\n\nChangePasswordComponent.defaultProps = {\n loginParams: null,\n};\n\nexport default ChangePasswordComponent;\n","export const config = [\n {\n texts: {\n header: \"CORE_COMMON_RESET_PASSWORD_LABEL\",\n submitButtonLabel: \"CORE_COMMON_CHANGE_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n name: \"userName\",\n error: \"ERR_HRMS_INVALID_USERNAME\",\n },\n {\n label: \"CORE_LOGIN_NEW_PASSWORD\",\n type: \"password\",\n name: \"newPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n {\n label: \"CORE_LOGIN_CONFIRM_NEW_PASSWORD\",\n type: \"password\",\n name: \"confirmPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n ],\n },\n];\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport ChangePasswordComponent from \"./changePassword\";\nimport { config } from \"./config\";\n\nconst EmployeeChangePassword = () => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n config.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [config]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ChangePasswordComponent config={params[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeChangePassword;\n","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"ES_FORGOT_PASSWORD_DESC\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"mobileNumber\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOBILE_NUMBER\",\n },\n {\n label: \"CORE_COMMON_CITY\",\n type: \"dropdown\",\n name: \"city\",\n error: \"ERR_HRMS_INVALID_CITY\",\n },\n ]\n },\n];\n","// import { FormComposer } from \"@egovernments/digit-ui-react-components\";\nimport { BackLink, Dropdown, Loader, Toast, FormComposerV2 } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport Carousel from \"../Login/Carousel/Carousel\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\n\nconst ForgotPassword = ({ config: propsConfig, t, stateCode }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const [user, setUser] = useState(null);\n const navigate = useNavigate();\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n \n const { data : mdmsData } = useLoginConfig(stateCode);\n \n if(mdmsData?.config){\n const bannerImages = mdmsData?.config[0]?.bannerImages;\n propsConfig.bannerImages = bannerImages;\n }\n\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = async (data) => {\n if (!data.city) {\n alert(\"Please Select City!\");\n return;\n }\n const requestData = {\n otp: {\n userName: data.username,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId: data.city.code,\n },\n };\n try {\n await Digit.UserService.sendOtp(requestData, data.city.code);\n navigate(`/${window?.contextPath}/employee/user/change-password?USERNAME=${data.username}&tenantId=${data.city.code}`);\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || \"Invalid login credentials!\");\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/login`);\n };\n\n const [userId, city] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(\"USERNAME\"),\n type: \"text\",\n populators: {\n name: \"username\",\n },\n isMandatory: true,\n },\n {\n label: t(city.label),\n type: city.type,\n populators: {\n name: city.name,\n optionsKey: \"name\",\n required: true,\n options: cities,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n if (isLoading) {\n return <Loader page={true} variant=\"PageLoader\" />\n }\n\n return (\n propsConfig?.bannerImages ? (\n <React.Fragment>\n <div className=\"login-container\">\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </div>\n </div>\n </React.Fragment>\n ) :\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nForgotPassword.propTypes = {\n loginParams: PropTypes.any,\n};\n\nForgotPassword.defaultProps = {\n loginParams: null,\n};\n\nexport default ForgotPassword;","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { loginConfig } from \"./config\";\nimport ForgotPasswordComponent from \"./forgotPassword\";\n\nconst EmployeeForgotPassword = ({ stateCode }) => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ForgotPasswordComponent config={params[0]} t={t} stateCode={stateCode} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeForgotPassword;\n","import { Button, Card, SubmitBar, Loader } from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_LOCALE=Digit?.Utils?.getDefaultLanguage?.();\n\nconst defaultLanguage = { label: \"English\", value: DEFAULT_LOCALE};\n\nconst LanguageSelection = () => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { languages, stateInfo } = storeData || {};\n let defaultLanguages = languages;\n if (!defaultLanguages || defaultLanguages?.length == 0) {\n defaultLanguages = [defaultLanguage];\n }\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n function getContextPath(contextPath) {\n if (!contextPath || typeof contextPath !== \"string\") return \"\";\n return contextPath.split(\"/\")[0];\n }\n \n const hasMultipleLanguages = languages?.length > 1;\n\n const handleSubmit = (event) => {\n navigate(`/${getContextPath(window.contextPath)}/user/login?ts=${Date.now()}`);\n };\n\n if (isLoading) return <Loader />;\n\n if (!hasMultipleLanguages) {\n return <Navigate to={`/${window?.contextPath}/employee/user/login`} replace />;\n }\n\n return (\n <Background>\n <Card className={\"bannerCard removeBottomMargin languageSelection\"}>\n <div className=\"bannerHeader\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} alt=\"Digit Banner Image\" />\n\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n </div>\n <div className=\"language-selector\" style={{ justifyContent: \"space-around\", marginBottom: \"24px\", padding: \"0 5%\" }}>\n {defaultLanguages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={t(language.label)}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n <SubmitBar style={{ width: \"100%\" }} label={t(`CORE_COMMON_CONTINUE`)} onSubmit={handleSubmit} />\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default LanguageSelection;\n","import React, { useState, useEffect, Fragment } from 'react';\nimport { loginConfig } from '../config';\nimport { useTranslation } from \"react-i18next\";\n\nconst Carousel = ({bannerImages=[]}) => {\n const [currentSlide, setCurrentSlide] = useState(0);\n const { t } = useTranslation();\n\n const carouselItems = bannerImages|| loginConfig[0]?.bannerImages || [];\n\n const nextSlide = () => {\n setCurrentSlide(prev => (prev === carouselItems.length - 1 ? 0 : prev + 1));\n };\n\n const prevSlide = () => {\n setCurrentSlide(prev => (prev === 0 ? carouselItems.length - 1 : prev - 1));\n };\n\n const goToSlide = (index) => {\n setCurrentSlide(index);\n };\n\n // Auto-rotate carousel every 5 seconds\n useEffect(() => {\n const interval = setInterval(() => {\n nextSlide();\n }, 5000);\n return () => clearInterval(interval);\n }, [carouselItems.length]);\n\n return (\n <Fragment>\n\n {/* Carousel Background (70% width) */}\n\n <div className=\"carousel-container\">\n {carouselItems.sort((x,y)=>x?.id-y?.id).map((item, index) => (\n <div\n key={item.id}\n className={`carousel-slide ${index === currentSlide ? 'active' : ''}`}\n style={{ backgroundImage: `url(${item.image})` }}\n >\n <div className=\"carousel-content\">\n <h2>{t(item.title)}</h2>\n <p>{t(item.description)}</p>\n </div>\n </div>\n ))}\n\n {/* Combined Navigation and Indicators (Bottom Center) */}\n <div className=\"carousel-controls\">\n <button className=\"carousel-nav\" onClick={prevSlide}>\n &lt;\n </button>\n\n <div className=\"carousel-indicators\">\n {carouselItems.map((_, index) => (\n <button\n key={index}\n className={`indicator ${index === currentSlide ? 'active' : ''}`}\n onClick={() => goToSlide(index)}\n />\n ))}\n </div>\n\n <button className=\"carousel-nav\" onClick={nextSlide}>\n &gt;\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n ],\n },\n];\n","export const LoginOtpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"Sandbox\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport Carousel from \"./Carousel/Carousel\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n// import SkipToMainContent from \"../SkipToMainContent/SkipToMainContent\";\nimport withAutoFocusMain from \"../../../hoc/withAutoFocusMain\";\n\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant() && process.env.NODE_ENV !== \"development\") {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Login = ({ config: propsConfig, t, isDisabled, loginOTPBased }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [user, setUser] = useState(null);\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n const navigate = useNavigate(); \n const DynamicLoginComponent = Digit.ComponentRegistryService?.getComponent(\"DynamicLoginComponent\");\n\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.contextPath}/employee`;\n\n /* logic to redirect back to same screen where we left off */\n if (window?.location?.href?.includes(\"from=\")) {\n redirectPath = decodeURIComponent(window?.location?.href?.split(\"from=\")?.[1]) || `/${window?.contextPath}/employee`;\n }\n\n /* RAIN-6489 Logic to navigate to National DSS home in case user has only one role [NATADMIN]*/\n if (user?.info?.roles && user?.info?.roles?.length > 0 && user?.info?.roles?.every((e) => e.code === \"NATADMIN\")) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/NURT_DASHBOARD`;\n }\n /* RAIN-6489 Logic to navigate to National DSS home in case user has only one role [NATADMIN]*/\n if (user?.info?.roles && user?.info?.roles?.length > 0 && user?.info?.roles?.every((e) => e.code === \"STADMIN\")) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/home`;\n }\n\n navigate(redirectPath, { replace: true }); // Replaced history.replace with navigate\n }, [user]);\n\n const onLogin = async (data) => {\n // if (!data.city) {\n // alert(\"Please Select City!\");\n // return;\n // }\n if (data?.username) {\n data.username = data.username.trim();\n }\n if (data?.password) {\n data.password = data.password.trim();\n }\n\n setDisable(true);\n\n const requestData = {\n ...data,\n ...defaultValues,\n userType: \"EMPLOYEE\",\n };\n requestData.tenantId = requestData?.city?.code || Digit?.ULBService?.getStateId();\n delete requestData.city;\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n setDisable(false);\n };\n\n const reqCreate = {\n url: `/user-otp/v1/_send`,\n params: { tenantId: Digit?.ULBService?.getStateId() },\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onOtpLogin = async (data) => {\n const inputEmail = data.email;\n await mutation.mutate(\n {\n body: {\n otp: {\n userName: data.email,\n type: \"login\",\n tenantId: Digit?.ULBService?.getStateId(),\n userType: \"EMPLOYEE\",\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast(\n error?.response?.data?.Errors?.[0].code ? `SANDBOX_RESEND_OTP${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_RESEND_OTP_ERROR`\n );\n setTimeout(closeToast, 5000);\n },\n onSuccess: async (data) => {\n navigate(`/${window?.contextPath}/employee/user/login/otp`, {\n state: { email: inputEmail, tenant: Digit?.ULBService?.getStateId() },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = () => {\n navigate(`/${window?.contextPath}/employee/user/forgot-password`);\n };\n const defaultTenant = Digit.ULBService.getStateId();\n\n const defaultValue = {\n code: defaultTenant,\n name: Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${defaultTenant}`),\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const defaultValues = useMemo(()=>Object.fromEntries(\n config[0].body\n .filter(field => field?.populators?.defaultValue && field?.populators?.name)\n .map(field => [field.populators.name, field.populators.defaultValue])\n ),[])\n\n const onFormValueChange = (setValue, formData, formState) => {\n\n // Extract keys from the config \n const keys = config[0].body.filter(field => field?.isMandatory).map((field) => field?.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || value === false;\n });\n\n setDisable(hasEmptyFields);\n };\n\n const renderLoginForm = (extraClasses = \"\", cardClassName = \"\", wrapperClass = \"\") => (\n <FormComposerV2\n onSubmit={loginOTPBased ? onOtpLogin : onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={\n propsConfig?.texts?.secondaryButtonLabel +\n (extraClasses.includes(\"login-form-container\") ? \"?\" : \"\")\n }\n onSecondayActionClick={onForgotPassword}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className={`${wrapperClass}`}\n cardSubHeaderClassName=\"loginCardSubHeaderClassName\"\n cardClassName={cardClassName}\n buttonClassName=\"buttonClassName\"\n defaultValues={defaultValues}\n >\n {stateInfo?.code ? <Header /> : <Header showTenant={false} />}\n </FormComposerV2>\n );\n \n const renderFooter = (footerClassName) => (\n <div className={footerClassName} style={{ backgroundColor: \"unset\" }}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n );\n \n\n if(isLoading || isStoreLoading ){\n return <Loader page={true} variant=\"PageLoader\" />\n }\n return propsConfig?.bannerImages ? (\n <div className=\"login-container\">\n {/* <SkipToMainContent class_name={\".login-form-container\"}/> */}\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n {renderLoginForm(\"login-form-container\", \"\", loginOTPBased ? \"sandbox-onboarding-wrapper\" : \"\")}\n {DynamicLoginComponent && <DynamicLoginComponent />} \n {showToast && <Toast type=\"error\" label={t(showToast)} onClose={closeToast} />}\n {renderFooter(\"EmployeeLoginFooter\")}\n </div>\n </div>\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n {renderLoginForm(\n \"loginFormStyleEmployee\",\n \"loginCardClassName\",\n loginOTPBased ? \"sandbox-onboarding-wrapper\" : \"\"\n )}\n {DynamicLoginComponent && <DynamicLoginComponent />}\n {showToast && <Toast type=\"error\" label={t(showToast)} onClose={closeToast} />}\n {renderFooter(\"employee-login-home-footer\")}\n </Background>\n );\n \n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default withAutoFocusMain(Login, \".login-form-container\");\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\"; // Updated imports for v6\nimport { loginConfig as defaultLoginConfig } from \"./config\";\nimport { LoginOtpConfig as defaultLoginOtpConfig } from \"./ConfigOtp\";\nimport LoginComponent from \"./login\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeLogin = ({ stateCode }) => {\n const { t } = useTranslation();\n const [loginConfig, setloginConfig] = useState(defaultLoginConfig);\n const [loginOtpConfig, setloginOtpConfig] = useState(defaultLoginOtpConfig);\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n const loginType = window?.globalConfigs?.getConfig(\"OTP_BASED_LOGIN\") || false;\n const { data: mdmsData, isLoading } = useLoginConfig(stateCode);\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix,\n });\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) { \n setloginConfig(mdmsData?.config);\n } else {\n setloginConfig(defaultLoginConfig);\n }\n }, [mdmsData, isLoading]); \n\n const loginParams = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginConfig]\n )\n );\n\n const loginOtpParams = useMemo(\n () =>\n loginOtpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginOtpConfig]\n )\n );\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n return (\n <Routes> {/* Replaced Switch with Routes */}\n <Route\n path=\"/\" \n element={ \n loginType ? (\n <LoginComponent config={loginOtpParams[0]} t={t} loginOTPBased={loginType} />\n ) : (\n <LoginComponent config={loginParams[0]} t={t} />\n )\n }\n />\n </Routes>\n );\n};\n\nexport default EmployeeLogin;","import React, { useState, useEffect } from \"react\";\nimport { BackLink, CardLabel, Loader, Toast } from \"@egovernments/digit-ui-components\";\nimport { FormComposerV2 } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\"; // Updated imports for v6\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\n/* set employee details to enable backward compatible */\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Otp = ({ isLogin = false }) => {\n const { t } = useTranslation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(false);\n const [user, setUser] = useState(null);\n const [params, setParams] = useState(location?.state?.data || {});\n const [ifSuperUserExists, setIfSuperUserExist] = useState(false);\n // In v6, location.state is directly available, no need for destructuring within another object\n const { email, tenant } = location.state || {}; \n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const config = [\n {\n body: [\n {\n type: \"component\",\n component: \"OtpComponent\",\n key: \"OtpComponent\",\n withoutLabel: true,\n isMandatory: false,\n customProps: {\n email: email,\n tenant: tenant,\n },\n populators: {\n required: true,\n },\n },\n ],\n },\n ];\n\n const OtpConfig = [\n {\n texts: {\n // header: t(\"CORE_COMMON_OTP_LABEL\"),\n header: t(\"SANDBOX_OTP_VERIFICATION\"),\n submitButtonLabel: \"CORE_COMMON_SUBMIT\",\n },\n },\n ];\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.globalPath}/user/setup`;\n\n const getRedirectPathOtpLogin = (locationPathname, user, MdmsRes, RoleLandingUrl) => {\n const userRole = user?.info?.roles?.[0]?.code;\n const isSuperUser = userRole === \"SUPERUSER\";\n const contextPath = window?.contextPath;\n\n switch (true) {\n case locationPathname === \"/sandbox-ui/user/otp\" && isSuperUser:\n return `/${contextPath}/employee/sandbox/landing`;\n\n case isSuperUser && MdmsRes?.[0]?.rolesForLandingPage?.includes(\"SUPERUSER\"):\n return `/${contextPath}${RoleLandingUrl}`;\n\n default:\n return `/${contextPath}/employee`;\n }\n };\n\n // Usage\n const redirectPathOtpLogin = getRedirectPathOtpLogin(location.pathname, user, MdmsRes, RoleLandingUrl);\n\n if (isLogin) {\n navigate(redirectPathOtpLogin); // Replaced history.push with navigate\n return;\n } else {\n navigate(\n {\n pathname: redirectPath,\n },\n { state: { tenant: tenant } } // Pass state as a separate options object\n );\n return;\n }\n }, [user]);\n\n const onSubmit = async (formData) => {\n const requestData = {\n username: email,\n password: formData?.OtpComponent?.otp,\n tenantId: tenant,\n userType: \"EMPLOYEE\",\n };\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => navigate(-1)} /> {/* navigate(-1) for going back */}\n </div>\n <FormComposerV2\n onSubmit={onSubmit}\n noBoxShadow\n inline\n submitInForm\n onFormValueChange={(setValue, formValue) => {\n const otpValue = formValue[\"OtpComponent\"];\n if (otpValue?.otp?.length === 6) {\n setIsOtpValid(true);\n } else {\n setIsOtpValid(false);\n }\n }}\n isDisabled={!isOtpValid}\n config={config}\n label={OtpConfig[0].texts.submitButtonLabel}\n heading={OtpConfig[0].texts.header}\n headingStyle={{ textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"sandbox-onboarding-wrapper\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default Otp;","export const SignUpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_SIGN_UP\",\n submitButtonLabel: \"CORE_COMMON_SIGN_UP_BUTTON\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n maxLength: 64,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n label: \"CORE_SIGNUP_ACCOUNT_NAME\",\n type: \"text\",\n key: \"accountName\",\n isMandatory: true,\n populators: {\n name: \"accountName\",\n validation: {\n required: true,\n pattern: /^[A-Za-z]+( [A-Za-z]+)*$/,\n maxLength: 50,\n },\n error: \"ERR_ACCOUNT_NAME_REQUIRED\",\n },\n infoMessage:\"SANDBOX_SIGNUP_ACCOUNT_NAME_TOOLTIP\"\n },\n {\n isMandatory: false,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"SandboxSignUp\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n bannerImages: [{\n id: 1,\n image: 'https://images.unsplash.com/photo-1746277121508-f44615ff09bb',\n title: 'A digital partner for frontline workers',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio nobis temporibus provident expedita consequuntur, repudiandae pariatur! Deleniti molestias vero, cumque vel error labore ipsam totam?\"\n },\n {\n id: 2,\n image: 'https://images.unsplash.com/photo-1581094271901-8022df4466f9',\n title: 'Feature 2 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 3,\n image: 'https://images.unsplash.com/photo-1624555130581-1d9cca783bc0',\n title: 'Feature 3 Title',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate aut autem aperiam et modi saepe obcaecati doloremque voluptatem iusto quidem!\"\n },\n {\n id: 4,\n image: 'https://images.unsplash.com/photo-1547481887-a26e2cacb5b2',\n title: 'Feature 4 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 5,\n image: 'https://images.unsplash.com/photo-1536782376847-5c9d14d97cc0',\n title: 'Feature 5 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 6,\n image: 'https://images.unsplash.com/photo-1490730141103-6cac27aaab94',\n title: 'Feature 6 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast, useCustomAPIMutationHook } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Login = ({ config: propsConfig, t, isDisabled }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n\n const navigate = useNavigate();\n\n const reqCreate = {\n url: `/tenant-management/tenant/_create`,\n params: {},\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onLogin = async (data) => {\n await mutation.mutate(\n {\n body: {\n tenant: {\n name: data.accountName,\n email: data.email,\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0]?.code ? `SANDBOX_SIGNUP_${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_SIGNUP_ERROR`,\n });\n },\n onSuccess: async (data) => {\n navigate({\n pathname: `/${window?.globalPath}/user/otp`,\n state: { email: data?.Tenants[0]?.email, tenant: data?.Tenants[0]?.code },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const onFormValueChange = (setValue, formData, formState) => {\n // Extract keys from the config\n const keys = config[0].body.map((field) => field.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || (key === \"check\" && value === false) || (key === \"captcha\" && value === false);\n });\n\n // Set disable based on the check\n setDisable(hasEmptyFields);\n };\n\n return isLoading || isStoreLoading ? (\n <Loader />\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={propsConfig?.texts?.secondaryButtonLabel}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className=\"sandbox-signup-form\"\n cardSubHeaderClassName=\"signupCardSubHeaderClassName\"\n cardClassName=\"signupCardClassName sandbox-onboarding-wrapper\"\n buttonClassName=\"buttonClassName\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast?.label)} onClose={closeToast} />}\n <div className=\"employee-login-home-footer\" style={{ backgroundColor: \"unset\" }}>\n <img\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default Login;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport { SignUpConfig as defaultSignUpConfig } from \"./config\";\nimport Login from \"./signUp\";\n\nconst SignUp = ({ stateCode }) => {\n const { t } = useTranslation();\n const [SignUpConfig, setSignUpConfig] = useState(defaultSignUpConfig);\n\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix\n });\n\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(\n stateCode,\n \"commonUiConfig\",\n [\"SignUpConfig\"],\n {\n select: (data) => ({\n config: data?.commonUiConfig?.SignUpConfig\n }),\n retry: false\n }\n );\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) {\n setSignUpConfig(mdmsData.config);\n } else {\n setSignUpConfig(defaultSignUpConfig);\n }\n }, [mdmsData, isLoading]);\n\n const SignUpParams = useMemo(\n () =>\n SignUpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [SignUpConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<Login config={SignUpParams[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default SignUp;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { BackLink, Button, Card, CardHeader, CardLabel, CardText, FieldV1, SVG, TextInput } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ViewUrl = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { tenant } = location.state || {};\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime:0,\n gcTime:0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n const handleCopyUrl = () => {\n navigator.clipboard.writeText(ref.current.value);\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <Card className=\"card-sandbox\">\n <Header showTenant={false} />\n <div className=\"sandbox-success-signup\">\n <SVG.TickMark fill={\"#fff\"} height={30} width={70} />\n </div>\n <CardHeader className=\"cardHeader-sandbox\" styles={{ color: \"#00703c\" }}>\n {t(\"SANDBOX_HEADER\")}\n </CardHeader>\n <CardText className=\"cardText-sandbox\">{t(\"SAMDBOX_URL_SUB\")}</CardText>\n <CardLabel> {t(\"SANDBOX_URL\")} </CardLabel>\n <div className=\"sandbox-url-wrapper\">\n <TextInput\n inputRef={ref}\n className={\"urlInputText\"}\n onChange={() => {}}\n nonEditable={true}\n value={`${window.location.host}/${window?.globalPath}/${tenant}/employee`}\n />\n <Button className=\"copyButton\" variation={\"secondary\"} onClick={() => handleCopyUrl()} label={t(\"COPY_URL\")}></Button>\n </div>\n <div className=\"sandbox-url-footer\">{t(\"SANDBOX_URL_FOOT\")}</div>\n <Button isDisabled={buttonDisabled} onClick={onButtonClick} label={t(\"SIGN_IN\")}></Button>\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nexport default ViewUrl;\n","import React from \"react\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"./DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-change-password\" */ \"../pages/employee/ChangePassword/index\"),\n () => require(\"../pages/employee/ChangePassword/index\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-forgot-password\" */ \"../pages/employee/ForgotPassword/index\"),\n () => require(\"../pages/employee/ForgotPassword/index\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst AppHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-home\" */ \"./Home\").then(module => ({ default: module.AppHome })),\n () => require(\"./Home\").AppHome,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes?.map?.((item) => item.code).includes(tenant.code));\n};\n\nexport const AppModules = ({ stateCode, userType, modules, appTenants, additionalComponent }) => {\n const location = useLocation();\n const user = Digit.UserService.getUser();\n\n if (!user || !user?.access_token || !user?.info) {\n return <Navigate to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }} replace />;\n }\n\n // Create app routes with dynamic module loading and loading states\n const appRoutes = modules?.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType={userType}\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n return (\n <div className=\"ground-container digit-home-ground\">\n <Routes>\n {appRoutes}\n <Route\n path=\"login\"\n element={\n <Navigate\n to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }}\n replace\n />\n }\n />\n <Route path=\"forgot-password\" element={<ForgotPassword />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"*\"\n element={\n <AppHome\n userType={userType}\n modules={modules}\n additionalComponent={additionalComponent}\n />\n }\n />\n </Routes>\n </div>\n );\n};","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate, Navigate } from \"react-router-dom\";\nimport { AppModules } from \"../../components/AppModules\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport { PrivateRoute } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport withAutoFocusMain from \"../../hoc/withAutoFocusMain\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-change-password\" */ \"./ChangePassword\"),\n () => require(\"./ChangePassword\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-forgot-password\" */ \"./ForgotPassword\"),\n () => require(\"./ForgotPassword\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-language-selection\" */ \"./LanguageSelection\"),\n () => require(\"./LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst EmployeeLogin = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-otp\" */ \"./Otp\"),\n () => require(\"./Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"user-profile\" */ \"../citizen/Home/UserProfile\"),\n () => require(\"../citizen/Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst userScreensExempted = [\"user/landing\", \"user/profile\", \"user/error\", \"user/productPage\"];\n\nconst EmployeeApp = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname, // This prop seems unused, consider removing\n initData,\n noTopBar = false,\n}) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const showLanguageChange = location?.pathname?.includes(\"language-selection\");\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n\n useEffect(() => {\n Digit.UserService.setType(\"employee\");\n }, []);\n\n const additionalComponent = initData?.modules?.filter((i) => i?.additionalComponent)?.map((i) => i?.additionalComponent);\n\n return (\n <div className=\"employee\">\n <Routes>\n <Route path=\"user/*\" element={\n <>\n {isUserProfile && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showSidebar={isUserProfile ? true : false}\n showLanguageChange={!showLanguageChange}\n />\n )}\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile\n ? { padding: 0, paddingTop: \"0\", marginLeft: mobileView ? \"0\" : \"0\" }\n : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path=\"login\" element={<EmployeeLogin stateCode={stateCode} />} />\n <Route path=\"login/otp\" element={<Otp isLogin={true} />} />\n <Route path=\"forgot-password\" element={<ForgotPassword stateCode={stateCode} />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"profile\"\n element={ <UserProfile stateCode={stateCode} userType={\"employee\"} cityDetails={cityDetails} />}\n />\n <Route\n path=\"error\"\n element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n }\n />\n <Route path=\"language-selection\" element={<LanguageSelection />} />\n <Route path=\"*\" element={<Navigate to=\"language-selection\" replace />} />\n </Routes>\n </div>\n </>}\n />\n\n <Route path=\"*\" element={\n <>\n {!noTopBar && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n modules={modules}\n />\n )}\n <div className={!noTopBar ? `main digit-home-main` : \"\"}>\n <div className=\"employee-app-wrapper digit-home-app-wrapper\">\n <ErrorBoundary initData={initData}>\n <AppModules\n stateCode={stateCode}\n userType=\"employee\"\n modules={modules}\n appTenants={appTenants}\n additionalComponent={additionalComponent}\n />\n </ErrorBoundary>\n </div>\n <div className=\"employee-home-footer\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.1em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n </>\n }/>\n\n <Route path=\"*\" element={<Navigate to={`user/language-selection`} replace />} />\n </Routes>\n </div>\n );\n};\n\nexport default withAutoFocusMain(EmployeeApp, \".digit-home-main\");","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n var mql;\n\n // matchMedia will return null in FF when it's called in a hidden iframe\n // ref: https://stackoverflow.com/a/12330568\n if(dynamicMatch && !forceStatic) mql = dynamicMatch.call(window, query);\n\n if (mql) {\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6243__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5053__;","module.exports = __WEBPACK_EXTERNAL_MODULE__338__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4456__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4883__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5953__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2148__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4442__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2247__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"CORE_LOADING_CITIZEN_APP\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"CORE_LOADING_EMPLOYEE_APP\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"CORE_LOADING_SIGN_UP\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"CORE_LOADING_VIEW_URL\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"CORE_LOADING\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>&#8226;</span>\n )}\n {description.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' }}>{subIndex + 1}. </span>\n )}\n {t(description.text)}\n </div>\n {description?.subDescriptions && description?.subDescriptions.length > 0 && (\n <div className=\"policy-subdescription\">\n {description.subDescriptions.map((subDesc, subSubIndex) => (\n <div key={subSubIndex} className=\"policy-subdescription-points\">\n {subDesc.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' , paddingLeft: '1rem'}}>&#8226;</span>\n )}\n {subDesc.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' , paddingLeft: '1rem'}}>{subSubIndex + 1}. </span>\n )}\n {subDesc.type === null && (\n <span style={{ marginRight: '0.5rem', paddingLeft: '1rem'}}> </span>\n )}\n {t(subDesc.text)}\n </div>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n ))}\n </PopUp>\n )}\n </React.Fragment>\n );\n};\n\nexport default PrivacyComponent;\n","import { BodyContainer } from \"@egovernments/digit-ui-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { getI18n } from \"react-i18next\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { Provider } from \"react-redux\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { DigitApp, DigitAppWrapper } from \"./App\";\nimport SelectOtp from \"./pages/citizen/Login/SelectOtp\";\nimport ChangeCity from \"./components/ChangeCity\";\nimport ChangeLanguage from \"./components/ChangeLanguage\";\nimport { useState, useMemo, useCallback } from \"react\";\nimport ErrorBoundary from \"./components/ErrorBoundaries\";\nimport getStore from \"./redux/store\";\nimport PrivacyComponent from \"./components/PrivacyComponent\";\nimport OtpComponent from \"./pages/employee/Otp/OtpCustomComponent\";\nimport LoginSignupSelector from \"./components/LoginSignupSelector\";\nimport ForgotOrganizationTooltip from \"./components/ForgotOrganizationTooltip\";\n\n// Create QueryClient instance outside component to prevent recreation\nconst createQueryClient = () => new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 15 * 60 * 1000,\n gcTime: 50 * 60 * 1000,\n retry: false,\n retryDelay: (attemptIndex) => Infinity,\n /*\n enable this to have auto retry incase of failure\n retryDelay: attemptIndex => Math.min(1000 * 3 ** attemptIndex, 60000)\n */\n },\n },\n});\n\nconst DigitUIWrapper = ({ stateCode, enabledModules, defaultLanding,allowedUserTypes }) => {\n const { isLoading, data: initData={} } = Digit.Hooks.useInitStore(stateCode, enabledModules);\n if (isLoading) {\n return <Loader page={true} variant={\"PageLoader\"} />;\n }\n const data=getStore(initData) || {};\n const i18n = getI18n();\n if(!Digit.ComponentRegistryService.getComponent(\"PrivacyComponent\")){\n Digit.ComponentRegistryService.setComponent(\"PrivacyComponent\", PrivacyComponent);\n }\n return (\n <Provider store={data}>\n <Router>\n <BodyContainer>\n {Digit.Utils.getMultiRootTenant() ? (\n <DigitAppWrapper\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n logoUrlWhite={initData?.stateInfo?.logoUrlWhite}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n ) : (\n <DigitApp\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n )}\n </BodyContainer>\n </Router>\n </Provider>\n );\n};\n\n/**\n * DigitUI Component - The main entry point for the UI.\n *\n * @param {Object} props - The properties passed to the component.\n * @param {string} props.stateCode - The state code for the application.\n * @param {Object} props.registry - The registry object containing components registrations.\n * @param {Array<string>} props.enabledModules - A list of enabled modules, if any modules to be disabled due to some condition.\n * @param {Object} props.moduleReducers - Reducers associated with enabled modules.\n * @param {string} props.defaultLanding - The default landing page (e.g., \"employee\", \"citizen\"), default is citizen.\n * @param {Array<string>} props.allowedUserTypes - A list of allowed user types (e.g., [\"employee\", \"citizen\"]) if any restriction to be applied, and default is both employee & citizen.\n * \n * @author jagankumar-egov\n *\n * @example\n * <DigitUI\n * stateCode=\"pg\"\n * registry={registry}\n * enabledModules={[\"Workbench\", \"PGR\"]}\n * defaultLanding=\"employee\"\n * allowedUserTypes={[\"employee\", \"citizen\"]}\n * moduleReducers={moduleReducers}\n * />\n */\nexport const DigitUI = ({ stateCode, registry, enabledModules, defaultLanding,allowedUserTypes }) => {\n // Memoize initial privacy state to prevent unnecessary re-renders\n const initialPrivacy = useMemo(() => Digit.Utils.getPrivacyObject() || {}, []);\n const [privacy, setPrivacy] = useState(initialPrivacy);\n \n const userType = Digit.UserService.getType();\n \n // Use memoized QueryClient to prevent recreation on every render\n const queryClient = useMemo(() => createQueryClient(), []);\n\n const ComponentProvider = Digit.Contexts.ComponentProvider;\n const PrivacyProvider = Digit.Contexts.PrivacyProvider;\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n\n // Memoize privacy context methods to prevent unnecessary re-renders\n const resetPrivacy = useCallback((_data) => {\n Digit.Utils.setPrivacyObject({});\n setPrivacy({});\n }, []);\n\n const getPrivacy = useCallback(() => {\n const privacyObj = Digit.Utils.getPrivacyObject();\n setPrivacy(privacyObj);\n return privacyObj;\n }, []);\n\n const updatePrivacyDescoped = useCallback((_data) => {\n const privacyObj = Digit.Utils.getAllPrivacyObject();\n // Safely access pathname with fallback\n const pathname = typeof window !== 'undefined' ? window.location.pathname : '';\n const newObj = { ...privacyObj, [pathname]: _data };\n Digit.Utils.setPrivacyObject({ ...newObj });\n setPrivacy(privacyObj?.[pathname] || {});\n }, []);\n\n const updatePrivacy = useCallback((uuid, fieldName) => {\n setPrivacy(Digit.Utils.updatePrivacy(uuid, fieldName) || {});\n }, []);\n\n // Memoize privacy context value to prevent unnecessary re-renders\n const privacyContextValue = useMemo(() => ({\n privacy: typeof window !== 'undefined' ? privacy?.[window.location.pathname] : privacy,\n resetPrivacy,\n getPrivacy,\n updatePrivacyDescoped,\n updatePrivacy,\n }), [privacy, resetPrivacy, getPrivacy, updatePrivacyDescoped, updatePrivacy]);\n\n return (\n <div>\n <ErrorBoundary>\n <QueryClientProvider client={queryClient}>\n <ComponentProvider.Provider value={registry}>\n <PrivacyProvider.Provider value={privacyContextValue}>\n <DigitUIWrapper stateCode={stateCode} enabledModules={enabledModules} defaultLanding={defaultLanding} allowedUserTypes={allowedUserTypes} />\n </PrivacyProvider.Provider>\n </ComponentProvider.Provider>\n </QueryClientProvider>\n </ErrorBoundary>\n </div>\n );\n};\n\nconst componentsToRegister = {\n SelectOtp,\n ChangeCity,\n ChangeLanguage,\n PrivacyComponent,\n OtpComponent,\n ForgotOrganizationTooltip,\n LoginSignupSelector\n};\n\nexport const initCoreComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n","import React, { Fragment, useState } from \"react\";\nimport { CardText, CardLabelError, Toast, CardLabel } from \"@egovernments/digit-ui-components\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport Background from \"../../../components/Background\";\nimport { useEffect } from \"react\";\n\nconst OtpComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [params, setParams] = useState({});\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [timeLeft, setTimeLeft] = useState(30);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n useEffect(() => {\n onSelect(\"OtpComponent\", params);\n }, [params]);\n\n const reqCreate = {\n url: `/user-otp/v1/_send`,\n params: { tenantId: props?.props?.code },\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const resendOtp = async () => {\n setTimeLeft(30);\n await mutation.mutate(\n {\n body: {\n \"otp\": {\n \"userName\": props?.props?.email,\n \"type\": \"login\",\n \"tenantId\": props?.props?.tenant,\n \"userType\": \"EMPLOYEE\"\n }\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0].code\n ? `SANDBOX_RESEND_OTP${error?.response?.data?.Errors?.[0]?.code}`\n : `SANDBOX_RESEND_OTP_ERROR`,\n });\n setTimeout(closeToast, 5000);\n },\n onSuccess: async (data) => {\n setShowToast({ key: \"info\", label: t(\"OTP_RESNED_SUCCESFULL\") });\n setTimeout(closeToast, 5000);\n },\n }\n );\n };\n\n return (\n <>\n <CardLabel className={\"sandbox-custom-otp-subheader\"}>{t(\"SANDBOX_ENTER_OTP\")}</CardLabel>\n <CardLabel className={\"sandbox-custom-otp-header\"} >{t(\"CS_OTP_EMAIL\")}</CardLabel>\n <CardLabel className={\"sandbox-custom-otp-email\"} style={{fontWeight: 'bold'}}>{props?.props?.email}</CardLabel>\n <OTPInput className={\"sandbox-otp-input\"} length={6} onChange={handleOtpChange} value={params?.otp} />\n {timeLeft > 0 ? (\n <CardText className={\"sandbox-resend-otp\"}>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button sandbox-otp-input\" onClick={resendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!isOtpValid && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n {showToast && <Toast type={showToast?.key} label={t(showToast?.label)} onClose={closeToast} />}\n </>\n );\n};\n\nexport default OtpComponent;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst ForgotOrganizationTooltip = ({ onSelect }) => {\n const { t } = useTranslation();\n const [showTip, setShowTip] = useState(false);\n const wrapperRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\n setShowTip(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, []);\n return (\n <div ref={wrapperRef} className=\"loginSignUpSelector\" style={{ position: \"relative\", marginTop: \"-2rem\" }}>\n <Button\n label={t(`SB_FORGOTORGANIZATION_TOOLTIP`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={() => setShowTip((prev) => !prev)}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n {showTip && (\n <div\n style={{\n position: \"absolute\",\n bottom: \"100%\",\n left: \"50%\",\n transform: \"translateY(-4px)\",\n backgroundColor: \"#0b4b66\",\n color: \"white\",\n padding: \"6px 10px\",\n borderRadius: \"4px\",\n whiteSpace: \"normal\",\n wordBreak: \"break-word\",\n maxWidth: \"20rem\",\n zIndex: 1000,\n fontSize: \"0.875rem\"\n }}\n >\n {t(\"SB_FORGOTORGANIZATION_TOOLTIP_TEXT\")}\n </div>\n )}\n </div>\n );\n};\n\nexport default ForgotOrganizationTooltip;\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nconst LoginSignupSelector = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const [isChecked, setIsChecked] = useState(true);\n\n\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClickLogin = () => {\n window.location.replace(`/${window?.contextPath}/user/login`);\n };\n\n const onButtonClickSignUP = () => {\n window.location.replace(`/${window?.contextPath}/user/sign-up`);\n };\n\n const isSignupPage = window.location.href.includes(\"sandbox-ui/user/sign-up\");\n return (\n <React.Fragment>\n <div className=\"loginSignUpSelector\" style={{ marginTop: '-2rem' }}>\n {\n isSignupPage ?\n <Button\n label={t(`SB_ALREADY_HAVE_ACCOUNT`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClickLogin}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button> :\n <Button\n label={t(`SB_DONT_HAVE_ACCOUNT`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClickSignUP}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n\n }\n\n </div>\n </React.Fragment>\n );\n};\n\nexport default LoginSignupSelector;\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__6243__","__WEBPACK_EXTERNAL_MODULE__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","_ref","children","_jsx","className","stringReplaceAll","str","arguments","length","undefined","searcher","replaceWith","_str","includes","_str2","replace","prop","_selectCityData$","_stringReplaceAll2","dropDownData","setDropDownData","useState","selectCityData","setSelectCityData","selectedCity","setSelectedCity","navigate","useNavigate","isMultiRootTenant","dropdown","Digit","Utils","getMultiRootTenant","useEffect","_userloggedValues$inf","userloggedValues","SessionStorage","get","teantsArray","filteredArray","info","roles","forEach","role","push","tenantId","unique","filter","item","i","ar","indexOf","uniCode","_stringReplaceAll","label","concat","toUpperCase","value","select","style","mobileView","color","CardText","Dropdown","t","option","selected","find","cityValue","optionKey","city","_Digit$SessionStorage","_window$location","_window","loggedInData","filteredRoles","set","UserService","setUser","window","location","href","contextPath","_location$state","_window2","redirectPath","state","from","reload","error","console","warn","freeze","customSelector","_languages$find","isDropdown","data","storeData","isLoading","Hooks","useStore","getInitData","languages","stateInfo","useTranslation","selectedLanguage","StoreData","getCurrentLanguage","setselected","handleChangeLanguage","language","LocalizationService","changeLanguage","code","_jsxs","React","marginBottom","map","index","Button","onClick","variation","props","useLocation","config","imgUrl","infoHeader","infoMessage","buttonInfo","action","globalPath","Background","Card","Header","showTenant","CardHeader","isSuffix","e","preventDefault","onSelect","onCancel","onDismiss","PopupStyles","isDisabled","hideSubmit","footer","type","size","formId","footerWithoutSubmit","PopUp","heading","footerChildren","sortFooterButtons","onClose","onOverlayClick","equalWidthButtons","DummyLoaderScreen","currentStep","setCurrentStep","tenant","steps","stepInterval","setInterval","prev","clearInterval","navigateTimeout","setTimeout","_window3","roleForLandingPage","getUserRoles","MdmsRes","pathname","RoleLandingUrl","clearTimeout","useRef","buttonDisabled","setButtonDisabled","useCustomMDMS","name","enabled","staleTime","cacheTime","_data$SandBoxLanding","url","_getUserRoles$","some","page","rolesForLandingPage","step","CheckCircle","fill","moduleCode","stateCode","userType","tenants","maxRetries","retryDelay","initialDelay","moduleState","setModuleState","loading","retryCount","initialDelayComplete","retryTimeout","initialTimeout","loadModule","_ref2","Module","ComponentRegistryService","getComponent","_objectSpread","delay","Math","pow","message","apply","loadingText","defaultValue","Loader","variant","loaderText","textAlign","marginTop","Navigate","to","encodeURIComponent","Redircter","getType","path","currentHref","navigationError","replaceError","ErrorBoundary","constructor","super","errorStack","hasError","getDerivedStateFromError","stack","componentDidCatch","errorInfo","setState","render","ErrorComponent","initData","errorData","goToHome","_Digit","_Digit$getType","call","ErrorConfig","maintenance","notfound","ModuleBasedErrorConfig","sandbox","_props$errorData","useQueryParams","ImageComponent","src","alt","_props$errorData2","_props$goToHome","_stateInfo$code","headerSvgSecondaryUrl","globalConfigs","getConfig","logoUrl","borderRight","fontSize","Components","RoleBasedEmployeeHome","_Object$keys","sortedConfigEmployeesSidebar","modules","additionalComponent","useAccessControl","ULBService","getStateId","mdmsOrderData","setMdmsOrderData","_data$HomeScreenOrder","moduleConfigData","isModuleConfigLoading","getLinkByType","moduleData","moduleConfig","moduleName","linkKey","links","displayName","getFilteredLinks","_moduleData$links","isNotConfigureMaster","isNotHowItWorks","howItWorksLink","isNotUserManual","userManualLink","configEmployeeSideBar","actions","parentModule","reduce","acc","kpis","icon","leftIcon","iconRender","iconName","iconFill","CustomSVG","locale","getTransformedLocale","linkUrl","_url","transformURL","navigationURL","queryParamIndex","link","queryParams","substring","Object","keys","sort","a","b","_mdmsOrderData$find","_mdmsOrderData$find2","moduleType","order","_configEmployeeSideBa","sortedLinks","linkA","linkB","_mdmsOrderData$find3","_mdmsOrderData$find4","labelA","labelB","sortCardAndLink","current","_sortedConfigEmployee","_moduleData$links2","configureData","howItWorks","userManual","propsForModuleCard","metrics","centreChildren","open","padding","endChildren","LandingPageCard","buttonSize","_Fragment","LandingPageWrapper","child","FaqComponent","question","isLabelLink","answer","content","lastIndex","isOpen","toggleOpen","ListTag","justifyContent","display","float","ArrowForward","CardSectionSubText","listStyleType","margin","fulllink","baseURL","hostname","description","CardC","title","CardSectionHeader","FAQ","key","faqs","width","faq","_ref3","cardConfig","height","overflowY","flexWrap","id","BreakLine","border","formData","control","formState","_objectWithoutProperties","_excluded","QuickSetup","processLinkData","newData","obj","i18nKey","newObj","reverse","header","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","iconSelector","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","CitizenHome","getCitizenMenu","fetchedCitizen","parentModules","BackLink","history","back","_mdmsDataObj$links","_mdmsDataObj$links2","mdmsDataObj","ele","x","y","orderNumber","handleLinkClick","EmployeeHome","_ref4","Component","AppHome","_ref5","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","browser","isMobile","QuickSetupConfigComponent","decorative","ariaLabel","ariaLabelledby","accessibilityProps","tabIndex","onKeyDown","_window$getConfig","focus","propTypes","PropTypes","isRequired","SideBarMenu","closeSidebar","redirectToLoginPage","isEmployee","element","ChangeLanguage","text","LogoutIcon","populators","Profile","stateName","defaultImage","mobileNumber","emailId","ChangeCity","IconsObject","CommonPTIcon","propertyIcon","PropertyHouse","CaseIcon","WSIcon","CollectionIcon","BirthIcon","DeathIcon","FirenocIcon","HomeIcon","EditPencilIcon","Phone","_user$info","_menuItems","linkData","islinkDataLoading","isFetched","user","getUser","setisEmployee","isSidebarOpen","toggleSidebar","showDialog","setShowDialog","handleOnCancel","showProfilePage","menuItems","profileItem","_window5","_window6","_storeData$tenants","_storeData$tenants$fi","_storeData$tenants$","_storeData$tenants$fi2","_storeData$tenants$2","getCurrentTenantId","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","access_token","_window4","handleLogout","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_window7","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","top","backgroundColor","pointerzevents","flexDirection","zIndex","LogoutDialog","handleOnSubmit","logout","_userDetails$info2","_Digit$ComponentRegis","_userDetails$info3","_userDetails$info4","_cityDetails$city","_cityDetails$city2","userDetails","CITIZEN","cityDetails","userOptions","handleUserDropdownSelection","logoUrlWhite","showLanguageChange","profilePic","setProfilePic","app","_userDetails$info","uuid","usersResponse","userSearch","_userDetails$photo","thumbs","photo","split","at","_Digit$UserService","_Digit$UserService2","CitizenHomePageTenantId","getCitizenCurrentTenant","unreadCount","unreadNotificationCount","isSuccess","notificationCountLoaded","useNotificationCount","TopBarComponent","img","updateSidebar","clikOusideFired","onLogout","notificationCount","cityOfCitizenShownBesideLogo","onNotificationIconClick","hideNotificationIconOnSomeUrlsWhenNotLoggedIn","_Digit$UserService3","urlsToDisableNotificationIcon","loggedin","CustomEmployeeTopBar","TopBarComponentMain","actionFields","userInfo","showArrow","menuStyles","theme","onHamburgerClick","logoWidth","logoHeight","logo","logoId","statelogo","onImageClick","onLogoClick","showDeafultImg","ulb","ulbGrade","CitizenSideBar","_menuItems2","_menuItems3","_user$info2","_user$info3","_user$info4","userProfile","search","setSearch","fetchUserProfile","_asyncToGenerator","_usersResponse$user2","_usersResponse$user3","userData","currentUser","_userDetails$photo2","handleModuleClick","updatedUrl","_item$displayName","toLowerCase","_loop","_keys$i","_configEmployeeSideBa2","_configEmployeeSideBa3","_configEmployeeSideBa5","_configEmployeeSideBa6","getSingleDisplayName","getParentDisplayName","_configEmployeeSideBa4","ob","_ob$displayName","indx","findIndex","home","comp","part","c1","c2","transformedMenuItems","_item$links","transformedSelectedCityData","transformedLanguageData","hamburgerItems","Hamburger","items","profileName","profileNumber","transitionDuration","styles","hideUserManuals","profile","isSearchable","_ref6","parentIndex","_window8","_window9","handleChangeCity","onItemSelect","StaticCitizenSideBar","uppercasePattern","msPattern","cache","toHyphenLower","match","hasOwnProperty","hName","test","stringOrNumber","types","all","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","resolution","featureMatchers","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minWidth","maxWidth","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","mq","Context","createContext","hyphenateKeys","result","useIsUpdate","ref","useQuery","settings","getQuery","query","rules","k","v","realKey","keyVal","join","toQuery","makeQuery","setQuery","newQuery","useMediaQuery","device","onChange","deviceSettings","deviceFromProps","deviceFromContext","useContext","getDevice","setDevice","newDevice","objA","objB","aKeys","bKeys","len","prototype","shallowEqualObjects","useDevice","Error","getMatchMedia","setMq","isUpdate","newMq","dispose","useMatchMedia","matches","mediaQuery","setMatches","updateMatches","ev","addListener","removeListener","useMatches","MediaQuery","EmployeeSideBar","extractLeftIcon","Array","isArray","subResult","mergeObjects","obj1","obj2","_item$path","_item$path2","hierarchicalMap","sortDataByOrderNumber","Infinity","transformedData","transformItem","navigationUrl","childKey","iconKey","transformData","objectArray","entries","fromEntries","splitKeyValue","sortedTransformedData","SideNav","hideAccessbilityTools","hostUrl","origin","fallbackError","navigateToRespectiveURL","expandedWidth","collapsedWidth","onBottomItemClick","showSidebar","handleSidebar","func","TopBar","SideBar","WrappedComponent","mainSelector","handleFirstTab","main","document","querySelector","setAttribute","outline","removeEventListener","addEventListener","callback","savedCallback","timer","useLoginConfig","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","_data$MdmsRes$common","useGetFAQsJSON","moduleFaqs","Fragment","BackButton","marginLeft","HeaderComponent","paddingTop","LanguageSelection","texts","useMemo","submitBarLabel","RadioButtonProps","options","optionsKey","additionalWrapperClass","selectedOption","PageBasedInput","onSubmit","RadioButtons","LocationSelection","uiHomePage","initisLoading","redirectURL","cities","useTenants","showError","setShowError","selectCity","redirectBackTo","SearchOnRadioButtons","placeholder","CardLabelError","closeDrawer","removeProfilePic","showToast","uploadedFile","setUploadedFile","file","setFile","setError","_response$data","response","UploadServices","Filestorage","files","_response$data2","fileStoreId","err","position","left","right","bottom","onOverlayBodyClick","alignItems","flex","gap","for","cursor","GalleryIcon","accept","target","removeimg","RemoveIcon","DEFAULT_TENANT","_Digit$getStateId","defaultValidationConfig","UserProfileValidationConfig","password","_Digit$UserService$ge","_mdmsValidationData$U2","_defaultValidationCon","_errors$userName","_errors$emailAddress","_mdmsValidationData$U3","_defaultValidationCon2","_errors$userName2","_mdmsValidationData$U4","_defaultValidationCon3","_errors$mobileNumber","_errors$emailAddress2","_mdmsValidationData$U5","_defaultValidationCon4","_errors$currentPasswo","_mdmsValidationData$U6","_defaultValidationCon5","_errors$newPassword","_mdmsValidationData$U7","_defaultValidationCon6","_errors$confirmPasswo","stateId","setUserDetails","setName","email","setEmail","gender","setGender","setCity","permanentCity","setMobileNo","profileImg","setProfileImg","openUploadSlide","setOpenUploadSide","changepassword","setChangepassword","currentPassword","setCurrentPassword","newPassword","setNewPassword","confirmPassword","setConfirmPassword","toast","setToast","setLoading","windowWidth","setWindowWidth","innerWidth","errors","setErrors","individualServicePath","mapConfigToRegExp","_config$UserProfileVa","startsWith","lastIndexOf","lastSlashIndex","pattern","slice","flags","RegExp","validationConfig","setValidationConfig","mdmsValidationData","isValidationConfigLoading","commonUiConfig","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","_response$Individual","CustomService","getResponse","useCache","method","userService","params","limit","offset","body","Individual","userUuid","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","userName","setUserEmailAddress","emailAddress","duration","updateProfile","_userDetails$name","_userDetails$name2","_responseInfo","trim","JSON","stringify","responseInfo","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","individualPayload","givenName","familyName","otherNames","isDeleted","isSystemUser","isSystemUserActive","status","requestData","existingPassword","username","res","changePassword","changePasswordResponseInfo","_error$Errors","Errors","errorObj","parse","_error$response","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","thumbnails","getThumbnails","_x","ids","Filefetch","fileStoreIds","o","images","getFileUrl","_x2","_x3","BreadCrumb","crumbs","internalLink","show","boxShadow","background","borderRadius","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","CardLabel","TextInput","isMandatory","disable","ErrorMessage","truncateMessage","maxLength","wrapperClassName","showIcon","disabled","borderBottom","MobileNumber","_validationConfig$mob","setUserMobileNumber","required","getOTPBasedLogin","TogleforPassword","paddingLeft","_e$target","_e$target2","_e$target3","fontWeight","Footer","SubmitBar","setactionFieldsToRight","Toast","UploadDrawer","useAnIndividual","IndividualUserProfile","handleResize","updateUser","Home","_window3$includes","_window4$includes","_citizenServicesObj$s","_citizenServicesObj$p","_citizenServicesObj$p3","_citizenServicesObj$p5","_citizenServicesObj$p7","_infoAndUpdatesObj$si","_infoAndUpdatesObj$pr","_infoAndUpdatesObj$pr3","_infoAndUpdatesObj$pr5","_infoAndUpdatesObj$pr7","_whatsNewSectionObj$s2","conditionsToDisableNotificationCountTrigger","EventsData","EventsDataLoading","useEvents","appBannerWebObj","appBannerDesktop","appBannerMobObj","appBannerMobile","citizenServicesObj","citizenServicesCard","infoAndUpdatesObj","informationAndUpdatesCard","whatsAppBannerWebObj","whatsAppBannerDesktop","whatsAppBannerMobObj","whatsAppBannerMobile","whatsNewSectionObj","whatsNewSection","handleClickOnWhatsAppBanner","allCitizenServicesProps","headerLabel","sideOption","_citizenServicesObj$s2","Icon","ComplaintIcon","_citizenServicesObj$p2","_citizenServicesObj$p4","_citizenServicesObj$p6","_citizenServicesObj$p8","allInfoAndUpdatesProps","_infoAndUpdatesObj$si2","_infoAndUpdatesObj$pr2","Calender","_infoAndUpdatesObj$pr4","DocumentIcon","_infoAndUpdatesObj$pr6","_infoAndUpdatesObj$pr8","bannerUrl","CardBasedOptions","_whatsNewSectionObj$s","WhatsNewCard","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","xmlns","d","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","CustomButton","videosJson","videos","onClickVideo","vidObj","pdfHeader","pdfDesc","PDFSvg","DownloadImgIcon","CloseSvg","controls","autoPlay","otp","onOtpChange","onResend","canSubmit","timeLeft","setTimeLeft","useInterval","handleResendOtp","OTPInput","FormStep","loginSteps","cardText","nextText","inputs","validation","minlength","maxlength","onMobileChange","onEmailChange","isEmail","setIsEmail","core_mobile_config","EMAIL_REGEX","rawPattern","mobileNumberPattern","isEmailValid","isMobileValid","linkLabel","InputCard","submit","onNext","handleSubmit","isDisable","FieldV1","withoutLabel","charCount","prefix","mobilePrefix","mobileNumberLength","fieldStyle","LinkLabel","userSelect","textDecoration","switchMode","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","searchParams","isUserRegistered","isOtpValid","setIsOtpValid","setParams","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","_location$state2","setCitizenDetail","userObject","token","_JSON$parse","sessionStorage","getItem","localStorage","setItem","stepItems","selectMobileNumber","sendOtp","selectName","registerURL","IndividualRegister","requestType","auth","selectOtp","_yield$Digit$UserServ","authenticate","ResponseInfo","UserRequest","tokens","resendOtp","AppContainer","Routes","Route","SelectMobileNumber","event","showRegisterLink","SelectOtp","SelectName","TYPE_REGISTER","_location$state7","IndividualLogin","_location$state4","_location$state3","_location$state5","_location$state6","roleInfo","userRole","otpReference","_yield$Digit$UserServ2","registerUser","_excluded2","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","getEventValue","checked","isNameInFieldArray","names","has","getNodeParentName","isWeb","HTMLElement","cloneObject","copy","Set","Blob","FileList","tempObject","prototypeCopy","isPlainObject","compact","Boolean","isUndefined","val","object","isBoolean","isKey","stringToPath","input","tempPath","newValue","objValue","isNaN","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","getProxyFormState","localProxyFormState","isRoot","defaultValues","_defaultValues","defineProperty","_key","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","subject","subscribe","next","unsubscribe","isString","generateWatchOutput","_names","formValues","isGlobal","watch","add","fieldName","watchAll","Controller","methods","shouldUnregister","isArrayField","array","_name","_subjects","values","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","isValid","_updateFormState","_updateValid","useFormState","_registerProps","register","_shouldUnregisterField","_options","updateMounted","field","_fields","_f","mount","_state","unregister","_updateDisabledField","fields","onBlur","elm","setCustomValidity","reportValidity","fieldState","defineProperties","invalid","enumerable","isTouched","useController","appendErrors","validateAllFieldCriteria","getValidationModes","mode","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","abortEarly","currentField","refs","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isFunction","isHTMLElement","owner","ownerDocument","defaultView","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","attributes","defaultReturn","getRadioValue","previous","getValidateError","every","getValueAndMessage","validationData","validateField","async","shouldUseNativeValidation","isFieldArray","minLength","min","max","validate","valueAsNumber","inputValue","inputRef","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","bind","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","time","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","unset","paths","childObject","updatePath","baseGet","isEmptyArray","createSubject","_observers","observers","observer","isPrimitive","deepEqual","object1","object2","getTime","keys1","keys2","val1","val2","isMultipleSelect","live","isConnected","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","NaN","getFieldValue","selectedOptions","getRuleValue","rule","source","schemaErrorLookup","foundError","pop","defaultOptions","reValidateMode","shouldFocusError","createFormControl","delayErrorCallback","submitCount","isSubmitted","isSubmitting","isSubmitSuccessful","unMount","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","defaultChecked","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","context","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","setValue","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","Number","shouldSkipValidation","deps","skipValidation","watched","previousErrorLookupResult","errorLookupResult","previousFieldError","delayError","updateErrors","wait","updatedFormState","shouldRenderByError","_focusInput","fieldNames","executeSchemaAndUpdateState","Promise","shouldFocus","getFieldState","currentError","currentRef","restOfErrorTree","delete","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","querySelectorAll","radioOrCheckbox","_focusError","onValid","onInvalid","onValidError","persist","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","form","closest","reset","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","args","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","unsetEmptyArray","_getFieldArray","_resetDefaultValues","then","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","previousPage","SearchField","DatePicker","date","_data$roles","tabledata","settabledata","DownloadBtn","DownloadBtnCommon","returnObject","convertEpochToDate","timestamp","convertEpochToTimeInHours","dataView","dataViewedBy","dateEpoch","dateFromApi","month","getMonth","day","getDate","year","getFullYear","hour","getHours","getMinutes","period","currentlyActiveMobileModal","setActiveMobileModal","useReducer","closeMobilePopupModal","MobilePopUpCloseButton","searchFormFieldsComponentProps","CurrentMobileModalComponent","useCallback","SearchForm","SearchFormFields","MobileComponentDirectory","propsMobileInboxCards","_data$roles$slice","tabData","Download","Excel","handleExcelDownload","SearchAction","handleActionClick","DetailsCard","count","initialValues","sortOrder","_formControl","_values","useForm","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","Table","totalRecords","getCellProps","cellInfo","column","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","_data$ElasticSearchDa","_data$ElasticSearchDa2","setPayload","convertDateToEpoch","dateString","dayStartOrEnd","parts","DateObj","UTC","setMinutes","getTimezoneOffset","setHours","setSeconds","getSeconds","storedPayload","useAudit","filters","AuditSearchApplication","_data","sortBy","fromDate","toDate","ElasticSearchData","_mdmsData$MdmsRes$com","_mdmsConfigResult$hel","_mdmsConfigResult$hel2","_mdmsConfigResult$hel3","_mdmsConfigResult$hel4","_mdmsConfigResult$hel5","_mdmsConfigResult$hel6","_staticData","_staticData2","_staticData3","_staticData4","_staticData5","_staticContent","_staticContent2","_staticContent3","isMdmsLoading","mdmsData","useStaticData","isSearchLoading","dynamicData","useDynamicData","IconComponent","StaticData","StaticDataIconComponentOne","TimerIcon","StaticDataIconComponentTwo","RupeeSymbol","staticContent","staticCommonContent","validity","staticData","staticDataOne","staticDataOneHeader","staticDataTwo","staticDataTwoHeader","payViaWhatsApp","handleClickOnWhatsApp","WhatsappIconGreen","helpline","HelpLineIcon","contactOne","contactTwo","serviceCenter","ServiceCenterIcon","viewMapLocation","dynamicDataOne","dynamicDataTwo","ValidityTimeIcon","lazyWithFallback","FAQsSection","UserProfile","HowItWorks","Login","Search","StaticDynamicCard","sidebarHiddenFor","getTenants","codes","_window7$getConfig","DSO","appTenants","sourceUrl","isLinkDataFetched","_data$ACCESSCONTROLA","el","_a$b$parentModule","classname","useRouteSubscription","hideSidebar","appRoutes","DynamicModuleLoader","ModuleLevelLinkHomePages","bannerImage","CitizenHomeCard","Info","CitizenInfoLabel","isInfo","TopBarSideBar","_window8$getConfig","ChangePasswordComponent","_window3$getConfig","propsConfig","mobile_number","setOtp","setShowToast","getUserType","setType","closeToast","onResendOTP","_err$response","error_description","onChangePassword","navigateToLogin","_err$response2","FormComposer","noBoxShadow","inline","submitInForm","submitButtonLabel","cardStyle","CardSubHeader","_window4$getConfig","loginParams","defaultProps","EmployeeChangePassword","loginConfig","ForgotPassword","_window6$getConfig","_mdmsData$config$","bannerImages","onForgotPassword","alert","userId","Carousel","FormComposerV2","secondaryActionLabel","secondaryButtonLabel","onSecondayActionClick","headingStyle","descriptionStyles","secondaryActionId","_window5$getConfig","ForgotPasswordComponent","defaultLanguage","_Digit$getDefaultLang","getDefaultLanguage","_defaultLanguages","_window2$getConfig","defaultLanguages","hasMultipleLanguages","now","_loginConfig$","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","mdmsConfig","masterName","localePrefix","component","customProps","LoginOtpConfig","_Digit2","_config$","_config$2","loginOTPBased","isStoreLoading","setDisable","DynamicLoginComponent","_user$info5","_user$info6","_user$info7","_user$info8","setEmployeeDetail","decodeURIComponent","onLogin","_requestData$city","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","_error$response2","onSuccess","_Digit4","defaultTenant","_field$populators","_field$populators2","onFormValueChange","hasEmptyFields","renderLoginForm","_propsConfig$texts","_propsConfig$texts2","_propsConfig$texts3","extraClasses","cardClassName","wrapperClass","cardSubHeaderClassName","buttonClassName","renderFooter","footerClassName","_window9$getConfig","_window0","_window0$getConfig","withAutoFocusMain","setloginConfig","defaultLoginConfig","loginOtpConfig","setloginOtpConfig","defaultLoginOtpConfig","loginType","store","Services","modulePrefix","loginOtpParams","LoginComponent","isLogin","ifSuperUserExists","setIfSuperUserExist","OtpConfig","redirectPathOtpLogin","getRedirectPathOtpLogin","locationPathname","_MdmsRes$","isSuperUser","_formData$OtpComponen","OtpComponent","formValue","_otpValue$otp","otpValue","SignUpConfig","accountName","_data$Tenants$","_data$Tenants$2","Tenants","setSignUpConfig","defaultSignUpConfig","_data$commonUiConfig","SignUpParams","ViewUrl","gcTime","SVG","TickMark","nonEditable","host","navigator","clipboard","writeText","onButtonClick","ChangePassword","default","_codes$map","AppModules","EmployeeLogin","Otp","userScreensExempted","_location$pathname","_initData$modules","noTopBar","isUserProfile","_location$pathname2","captures","RE_MEDIA_QUERY","modifier","expressions","parsed","inverse","expression","RE_MQ_EXPRESSION","feature","RE_MQ_FEATURE","parseQuery","typeMatch","expressionsMatch","expValue","toPx","toDpi","toDecimal","parseInt","RE_LENGTH_UNIT","RE_RESOLUTION_UNIT","ratio","numbers","decimal","parseFloat","String","staticMatch","dynamicMatch","matchMedia","Mql","forceStatic","mql","self","update","evt","media","listener","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","number","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","REACT_ELEMENT_TYPE","Symbol","REACT_FRAGMENT_TYPE","jsxProd","maybeKey","$$typeof","jsx","jsxs","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","definition","r","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","defaultLanding","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_window1","_window10","_window11","_location","middleware","thunk","enhancer","composeEnhancers","compose","applyMiddleware","defaultStore","moduleReducers","createStore","getRootReducer","combineReducers","common","defaultData","isChecked","setIsChecked","showPopUp","setShowPopUp","privacy","PrivacyPolicy","policy","_props$props","CheckBox","footerclassName","sortFooterChildren","contents","getElementById","scrollIntoView","behavior","isSpaceRequired","descriptions","subIndex","isBold","subDescriptions","subDesc","subSubIndex","DigitUIWrapper","_initData$stateInfo","_initData$stateInfo2","_initData$stateInfo3","enabledModules","useInitStore","getStore","getI18n","setComponent","PrivacyComponent","Provider","Router","BodyContainer","DigitUI","registry","initialPrivacy","getPrivacyObject","setPrivacy","queryClient","QueryClient","queries","attemptIndex","ComponentProvider","Contexts","PrivacyProvider","resetPrivacy","setPrivacyObject","getPrivacy","privacyObj","updatePrivacyDescoped","getAllPrivacyObject","updatePrivacy","privacyContextValue","QueryClientProvider","client","componentsToRegister","_props$props4","_props$props2","_props$props3","ForgotOrganizationTooltip","showTip","setShowTip","wrapperRef","handleClickOutside","contains","whiteSpace","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"sourceRoot":""}