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

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/../../../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/./src/components/CustomErrorComponent.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/./src/pages/citizen/Home/ImageUpload/UploadDrawer.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/UserProfile.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/./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/react-responsive/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 \"@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/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/./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/index.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","/**\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 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};\nconst CitizenHome = ({\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n}) => {\n const paymentModule = modules.filter(({ code }) => code === \"Payment\")[0];\n const moduleArr = modules.filter(({ code }) => code !== \"Payment\");\n const moduleArray = [paymentModule, ...moduleArr];\n const { t } = useTranslation();\n if (isLoading) {\n return <Loader />;\n }\n\n return (\n <React.Fragment>\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 {moduleArray\n .filter((mod) => mod)\n .map(({ code }, index) => {\n let mdmsDataObj;\n if (fetchedCitizen)\n mdmsDataObj = fetchedCitizen\n ? processLinkData(getCitizenMenu, code, t)\n : undefined;\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <CitizenHomeCard\n header={t(mdmsDataObj?.header)}\n links={mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)}\n Icon={() => iconSelector(code)}\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(\n `BPA_CITIZEN_HOME_STAKEHOLDER_INCLUDES_INFO_LABEL`\n )}\n />\n )\n : null\n }\n isInfo={code === \"OBPS\" ? true : false}\n />\n );\n } else return <React.Fragment />;\n })}\n </div>\n </div>\n </React.Fragment>\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?.map((i) => {\n i.code === tenantId ? (\n <div className=\"link\">\n <a href={`tel:${storeData?.tenants?.[i].contactNumber}`}>{storeData?.tenants?.[i].contactNumber}</a>\n </div>\n ) : (\n <div className=\"link\">\n <a href={`tel:${storeData?.tenants?.[0].contactNumber}`}>{storeData?.tenants?.[0].contactNumber}</a>\n </div>\n );\n })}\n <div className=\"link\">\n <a href={`tel:${storeData?.tenants?.[0].contactNumber}`}>{storeData?.tenants?.[0].contactNumber}</a>\n </div>\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 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 UserProfile = ({ 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 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","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","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 } 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\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 const navigate = useNavigate();\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 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 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 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 navigate(`/${window?.contextPath}/employee/user/language-selection`);\n }\n else{\n navigate(`/${window?.contextPath}/citizen/login`);\n\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 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 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.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`);\n }\n const goToHome= () => {\n if(isEmployee){\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 {\n label: t(\"EDIT_PROFILE\"),\n type: \"custom\",\n icon: \"Edit\",\n key: \"editProfile\",\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}\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};\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 == \"/\") {\n return;\n } \n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n const hostUrl = window.location.origin;\n let updatedUrl=null;\n if(isMultiRootTenant){\n url=url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${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__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 return (\n <div className=\"bannerHeader\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} style={!showTenant ? { borderRight: \"unset\" } : {}} alt=\"Digit Banner\" />\n {showTenant && stateInfo?.code && <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>}\n </div>\n );\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\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","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\"; // Updated imports for v6\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\"; // This variable is unused, consider removing\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 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 [tokens, setTokens] = useState(null); // This variable is unused, consider removing\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data); // Renamed setParmas to setParams for consistency\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 } // `replace: true` for history.replace\n );\n } else {\n navigate(redirectPath, { replace: true }); // `replace: true` for history.replace\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\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;","/**\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 \"/Dy97GzuD4+fvL0uPg5O7T2efb4OvR1+Xr7vTk5/Df4+37/P3v8fbO1eTt8PUsnq5FAAAGqElEQVR4nO2d25ajIBBFCajgvf/\" +\n \"/a0eMyZgEjcI5xgt7Hmatme507UaxuJXidiDqjmSgeVIMlB1ZR1WZAf2gbdu0QwixSYzjOJPmHurfEGEfY9XzjNGG9whQCeVAuv5xQEySLtR9hPuIcwj0EeroN5m3D1IbsbgHK0esiQ9MKs\" +\n \"qXVr8Hm/a/Pulk6wihpCIXBw3dh7bTvRBt9+dC5NfS1VH3xETdM3MxXRN1T0zUPTNR98xcS1dlV9NNfx3DhkTdM6PKqHteVBF1z0vU5f0sKdpc2zWLKutXrjJjdLvpesRmukqYonauPhXpds\" +\n \"Lb6CppmpnltsYIuY2yavi6Mi2/rzAWm1zUfF0limVLqkZyA+mDYevKBS37aGC+L1lX5e7uyU1Cv565uiua9k5LFqbqqrnu2I3m+jJ11ZoLeRtfmdB0Uw/ZDsP0VTxdn7a1VERfmq7Xl\" +\n \"Xyn5D2QWLoq8bZlPoBJumphJjVBw/Ll6CoTZGsTDs4NrGqKbqBth8ZHJUi6cn168QmleSm6GmB7Kxm+6obXlf7PoDHosCwM3QpiS2legi6ocSl3L0G3BdneDDgwQdENfeY+SfDJBkF37Z\" +\n \"B+GvwzA6/rMaafAn8143VhPZWdjMWG1oHXhdnemgPoAvLlB/iZyRTfVeF06wPoQhJmlm4bdcOAZRlRN5gcPc5SoPEQR1fDdbOo6wn+uYvXxY0QCLom6gYROKH+Aj5nvphuFXWDiLpRdxl\" +\n \"/19LFT95k6CHCrnW7pCDqBn1i1PUFvii2c11oZOJ6usWeH0RRNzC4Zs+6FTi2nevCVwCjbugnXklX5fkfTldL8PEilUB1kfNyN1u9MME2sATr4lbuB7AjfLAuvsRm1A0g6gYRdcPAjvBlje\" +\n \"2Z8brI8OC68AcRdlCkwLohx2mcZMjw9q+LzarQurjtnwPYAydX08WecECO/u6Ad0GBdYG7jO5gB4Ap+PwKcA9ZT43dn4/W9TyiPAn4OAJaF7h3uwe8StSCddFdM3jqFa2LvnnB5zzhuuBBAj\" +\n \"Y4gi50cg694gnXhTYvfMdrjtcFZhrwE9r41gUem8IXWMC3LrBzxh+a0gRd1N1LOK7M0IUUGuggvEmHoStA2/MJh7MpupiDU4TzjhxdzLAoO4ouZvqVURbFMHQlZD6SUeWHoguZsSLUGegreh\" +\n \"A+FZFowPdUWTi6iMoZlIpGGUUXkDbjj/9ZOLqAQS/+GIKl5BQOCn/ycqpzkXSDm5dU7ZWkG7wUyGlcmm7g5Ux56AqirgoaJ7BeokPTDbp9CbVunjFxPrl7+HqnkrSq1Da7JX20f3dV8yJi6v\" +\n \"oO81mX8vV0mx3qUsZCPRfTlVRdz2EvdufYGDvNQvvwqHtmXd+a1ITinwNcXc+lT6JuzdT1XDyBn/x7wtX1HCQQdW9MXc8xArGrirowfLeUEbMqqq6f7TF1lfRdOuGNiGi6SpT+WxY06xUfNN\" +\n \"2wBfyE9I4tlm7w5hvOPDNJN3yNiLMipji6gE3chKhouoCtN5x3QlF0EZt8OW/8ougitqJQlk1aii7iFC9l0MvRReyao7xNjKML2Z/PuHlzhi5mFxljiZeiC9rPTEisNEMX9KYAwo5Xhi7qaA\" +\n \"3hamboYm7dG+NVrXhdaYDv5zFaQZsYrCtbbAGnjkQDX2+J1FXCwOsqWOpKoIQNTFdqYBWydxqNqUoG0pVpCS+H8kaJaGKErlIaXj7CRRE+gRWuKwW9YZ80oVOUgbpdT0zpnSZJTIiwCtJVelv\" +\n \"Xntr4P5j6BWfPb5Wcx84C4cq3hb11lco2u2Mdwp6XdJ/Ne3wb8DWdfiRenZaXrhLwOj4e+GQeHroy3YOspS7TlU28Wle2m2QUS0mqdcbrdNW+ZHsSsyK7tBfm0q/dWcv+Z3mytVx3t7KWulq\" +\n \"Ue6ilunu8jF8pFwgv1FXp3mUt35OtRbr7eM4u4Gs6vUBXgeuHc5kfE/cbvWZtkROLm1DMtLCy80tzsu2PRj0hTI8fvrQuvsjlJkyutszq+m423wHaLTyniy/XuiGZ84LuT+m5ZfNfRxyGs7L\" +\n \"XZOvia7VujatUwVTrIt+Q/Csc7Tuhe+BOakT10b4TuoiiJjvgU9emTO42PwEfBa+cuodKkuf42DXr1D3JpXz73Hnn0j10evHKe+nufgfUm+7B84sX9FfdEzXux2DBpWuKokkCqN/5pa/8pmvn\" +\n \"L+RGKCddCGmatiPyPB/+ekO/M/q/7uvbt22kTt3zEnXPzCV13T3Gel4/6NduDu66xRvlPNkM1RjjxUdv+4WhGx6TftD19Q/dfzpwcHO+rE3fAAAAAElFTkSuQmCC\";","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 mobileNumber: data.mobileNumber,\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?mobile_number=${data.mobileNumber}&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(userId.label),\n type: userId.type,\n populators: {\n name: userId.name,\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 >\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 >\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;\n","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","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","props","propName","componentName","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","imgUrl","infoHeader","infoMessage","buttonInfo","action","globalPath","Card","showTenant","CardHeader","Button","variation","isSuffix","e","preventDefault","useLoginConfig","moduleName","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","Components","RoleBasedEmployeeHome","_Object$keys","sortedConfigEmployeesSidebar","isLoading","useAccessControl","ULBService","getStateId","mdmsOrderData","setMdmsOrderData","MdmsRes","useCustomMDMS","_data$HomeScreenOrder","moduleConfigData","isModuleConfigLoading","_data$SandBoxLanding","getLinkByType","moduleData","moduleConfig","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","Loader","page","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","size","endChildren","LandingPageCard","buttonSize","LandingPageWrapper","React","child","FaqComponent","question","isLabelLink","answer","content","lastIndex","isOpen","toggleOpen","ListTag","justifyContent","display","float","ArrowForward","CardSectionSubText","marginTop","listStyleType","fulllink","baseURL","hostname","description","CardC","title","CardSectionHeader","FAQ","faqs","width","faq","cardConfig","overflowY","flexWrap","id","BreakLine","border","formData","control","formState","_objectWithoutProperties","_excluded","QuickSetup","processLinkData","newData","obj","i18nKey","newObj","reverse","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","CitizenHome","getCitizenMenu","fetchedCitizen","moduleArray","_ref4","history","back","mod","_ref5","_mdmsDataObj","mdmsDataObj","_mdmsDataObj2","_mdmsDataObj3","CitizenHomeCard","ele","x","y","orderNumber","Icon","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","iconSelector","Info","CitizenInfoLabel","text","isInfo","EmployeeHome","_ref6","_ref7","ComponentRegistryService","getComponent","Component","_ref8","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","browser","isMobile","QuickSetupConfigComponent","moduleState","setModuleState","loading","retryCount","initialDelayComplete","retryTimeout","initialTimeout","loadModule","Module","prev","delay","Math","pow","clearTimeout","loadingText","defaultValue","encodeURIComponent","setParams","ifSuperUserExists","setIfSuperUserExist","email","enabled","staleTime","cacheTime","RoleLandingUrl","component","withoutLabel","customProps","required","OtpConfig","_user$info","_user$info2","setEmployeeDetail","userObject","token","_JSON$parse","JSON","parse","sessionStorage","getItem","getDefaultLanguage","localStorage","setItem","stringify","redirectPathOtpLogin","getRedirectPathOtpLogin","locationPathname","_user$info3","_MdmsRes$","isSuperUser","rolesForLandingPage","_formData$OtpComponen","OtpComponent","_yield$Digit$UserServ","authenticate","UserRequest","tokens","FormComposerV2","onFormValueChange","setValue","formValue","_otpValue$otp","otpValue","heading","headingStyle","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","Array","isArray","getEventValue","event","target","checked","isNameInFieldArray","names","has","getNodeParentName","isWeb","HTMLElement","document","cloneObject","copy","Set","Blob","FileList","tempObject","prototypeCopy","constructor","prototype","hasOwnProperty","isPlainObject","compact","Boolean","isUndefined","val","result","split","isBoolean","isKey","test","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","startsWith","useSubscribe","_props","subscription","disabled","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","errors","_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","slice","iterateFieldsByAction","fieldsNames","abortEarly","currentField","refs","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isFunction","isHTMLElement","owner","ownerDocument","defaultView","isMessage","isRadioInput","isRegex","RegExp","defaultResult","validResult","getCheckboxValue","options","attributes","defaultReturn","getRadioValue","previous","getValidateError","every","getValueAndMessage","validationData","validateField","async","shouldUseNativeValidation","isFieldArray","maxLength","minLength","min","max","pattern","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","o","isPrimitive","deepEqual","object1","object2","getTime","keys1","keys2","val1","val2","isMultipleSelect","live","isConnected","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","NaN","getFieldValue","files","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","setError","currentError","currentRef","restOfErrorTree","delete","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","querySelectorAll","radioOrCheckbox","_focusError","handleSubmit","onValid","onInvalid","onValidError","persist","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","form","closest","reset","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","method","args","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","unsetEmptyArray","_getFieldArray","_resetDefaultValues","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","previousPage","SearchField","DatePicker","date","submit","_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","_excluded2","propsMobileInboxCards","_data$roles$slice","BackButton","tabData","Download","Excel","handleExcelDownload","HeaderComponent","SearchAction","handleActionClick","PopUp","DetailsCard","count","initialValues","offset","limit","sortOrder","_formControl","_values","useForm","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","backgroundColor","Table","totalRecords","getCellProps","cellInfo","minWidth","column","fontSize","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","_data$ElasticSearchDa","_data$ElasticSearchDa2","getCitizenCurrentTenant","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","trim","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","getCurrentTenantId","selectedLanguage","StoreData","getCurrentLanguage","setselected","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","fill","xmlns","d","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","language","CustomButton","LocalizationService","changeLanguage","handleChangeLanguage","videosJson","videos","position","marginBottom","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","for","REACT_FRAGMENT_TYPE","jsxProd","maybeKey","$$typeof","jsx","jsxs","ViewUrl","useRef","getUserRoles","buttonDisabled","setButtonDisabled","gcTime","SVG","TickMark","CardLabel","TextInput","nonEditable","host","navigator","clipboard","writeText","onButtonClick","roleForLandingPage","_getUserRoles$","_window5","_window5$getConfig","LoginOtpConfig","validation","disable","Login","_Digit$ComponentRegis","_Digit2","_config$","_config$2","loginOTPBased","cities","useTenants","isStoreLoading","setDisable","DynamicLoginComponent","_user$info4","_user$info5","_user$info6","_user$info7","_user$info8","_window6","decodeURIComponent","onLogin","_requestData$city","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_Digit3","_onSuccess","inputEmail","mutate","userName","onError","variables","_error$response","_error$response2","Errors","onSuccess","_window7","_Digit4","_x3","_x2","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","emailId","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$tenants6","_storeData$tenants7","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","handleLogout","_storeData$tenants2","_storeData$tenants3","_storeData$tenants4","_storeData$tenants5","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","top","pointerzevents","flexDirection","zIndex","LogoutDialog","handleOnSubmit","logout","onCancel","onDismiss","setProfilePic","closeDrawer","removeProfilePic","uploadedFile","setUploadedFile","file","setFile","_response$data","UploadServices","Filestorage","_response$data2","fileStoreId","left","right","bottom","onOverlayBodyClick","alignItems","flex","gap","GalleryIcon","accept","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","userInfo","setUserDetails","setName","setEmail","gender","setGender","setCity","permanentCity","setMobileNo","profilePic","profileImg","setProfileImg","openUploadSlide","setOpenUploadSide","changepassword","setChangepassword","currentPassword","setCurrentPassword","setNewPassword","setConfirmPassword","toast","setToast","setLoading","windowWidth","setWindowWidth","innerWidth","setErrors","mapConfigToRegExp","_config$UserProfileVa","entries","lastIndexOf","lastSlashIndex","flags","validationConfig","setValidationConfig","mdmsValidationData","isValidationConfigLoading","commonUiConfig","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","uuid","usersResponse","userSearch","handleResize","addEventListener","removeEventListener","_userDetails$photo","thumbs","photo","at","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","setUserEmailAddress","emailAddress","duration","updateProfile","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","responseInfo","updateUser","status","existingPassword","res","changePasswordResponseInfo","_error$Errors","errorObj","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","thumbnails","getThumbnails","ids","Filefetch","fileStoreIds","images","getFileUrl","BreadCrumb","crumbs","internalLink","show","boxShadow","background","borderRadius","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","ErrorMessage","truncateMessage","wrapperClassName","showIcon","placeholder","MobileNumber","_validationConfig$mob","setUserMobileNumber","getOTPBasedLogin","TogleforPassword","paddingLeft","_e$target","_e$target2","_e$target3","fontWeight","Footer","actionFields","SubmitBar","setactionFieldsToRight","UploadDrawer","savedCallback","setInterval","clearInterval","_userDetails$info2","_userDetails$info3","_userDetails$info4","_cityDetails$city","_cityDetails$city2","_stateInfo$code","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","_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","WrappedComponent","mainSelector","handleFirstTab","main","querySelector","setAttribute","outline","defaultLanguage","_Digit$getDefaultLang","_defaultLanguages","defaultLanguages","hasMultipleLanguages","now","_loginConfig$","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","borderRight","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","_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","submitBarLabel","selectCity","RadioButtonProps","additionalWrapperClass","selectedOption","PageBasedInput","redirectBackTo","SearchOnRadioButtons","loginSteps","cardText","nextText","minlength","maxlength","onMobileChange","onEmailChange","isEmail","setIsEmail","core_mobile_config","EMAIL_REGEX","rawPattern","mobileNumberPattern","isEmailValid","isMobileValid","linkLabel","InputCard","onNext","isDisable","FieldV1","charCount","prefix","mobilePrefix","mobileNumberLength","fieldStyle","LinkLabel","userSelect","textDecoration","switchMode","TYPE_REGISTER","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","searchParams","_location$state7","isUserRegistered","setTokens","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","_location$state2","setCitizenDetail","stepItems","selectMobileNumber","_location$state4","_location$state3","_location$state5","selectName","selectOtp","_location$state6","ResponseInfo","roleInfo","userRole","_yield$Digit$UserServ2","registerUser","resendOtp","AppContainer","SelectMobileNumber","showRegisterLink","SelectName","useGetFAQsJSON","moduleFaqs","FAQsSection","HowItWorks","Search","StaticDynamicCard","sidebarHiddenFor","_window7$getConfig","DSO","isLinkDataFetched","_data$ACCESSCONTROLA","el","_a$b$parentModule","classname","useRouteSubscription","hideSidebar","ModuleLevelLinkHomePages","bannerImage","_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","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/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 \"/Dy97GzuD4+fvL0uPg5O7T2efb4OvR1+Xr7vTk5/Df4+37/P3v8fbO1eTt8PUsnq5FAAAGqElEQVR4nO2d25ajIBBFCajgvf/\" +\n \"/a0eMyZgEjcI5xgt7Hmatme507UaxuJXidiDqjmSgeVIMlB1ZR1WZAf2gbdu0QwixSYzjOJPmHurfEGEfY9XzjNGG9whQCeVAuv5xQEySLtR9hPuIcwj0EeroN5m3D1IbsbgHK0esiQ9MKs\" +\n \"qXVr8Hm/a/Pulk6wihpCIXBw3dh7bTvRBt9+dC5NfS1VH3xETdM3MxXRN1T0zUPTNR98xcS1dlV9NNfx3DhkTdM6PKqHteVBF1z0vU5f0sKdpc2zWLKutXrjJjdLvpesRmukqYonauPhXpds\" +\n \"Lb6CppmpnltsYIuY2yavi6Mi2/rzAWm1zUfF0limVLqkZyA+mDYevKBS37aGC+L1lX5e7uyU1Cv565uiua9k5LFqbqqrnu2I3m+jJ11ZoLeRtfmdB0Uw/ZDsP0VTxdn7a1VERfmq7Xl\" +\n \"Xyn5D2QWLoq8bZlPoBJumphJjVBw/Ll6CoTZGsTDs4NrGqKbqBth8ZHJUi6cn168QmleSm6GmB7Kxm+6obXlf7PoDHosCwM3QpiS2legi6ocSl3L0G3BdneDDgwQdENfeY+SfDJBkF37Z\" +\n \"B+GvwzA6/rMaafAn8143VhPZWdjMWG1oHXhdnemgPoAvLlB/iZyRTfVeF06wPoQhJmlm4bdcOAZRlRN5gcPc5SoPEQR1fDdbOo6wn+uYvXxY0QCLom6gYROKH+Aj5nvphuFXWDiLpRdxl\" +\n \"/19LFT95k6CHCrnW7pCDqBn1i1PUFvii2c11oZOJ6usWeH0RRNzC4Zs+6FTi2nevCVwCjbugnXklX5fkfTldL8PEilUB1kfNyN1u9MME2sATr4lbuB7AjfLAuvsRm1A0g6gYRdcPAjvBlje\" +\n \"2Z8brI8OC68AcRdlCkwLohx2mcZMjw9q+LzarQurjtnwPYAydX08WecECO/u6Ad0GBdYG7jO5gB4Ap+PwKcA9ZT43dn4/W9TyiPAn4OAJaF7h3uwe8StSCddFdM3jqFa2LvnnB5zzhuuBBAj\" +\n \"Y4gi50cg694gnXhTYvfMdrjtcFZhrwE9r41gUem8IXWMC3LrBzxh+a0gRd1N1LOK7M0IUUGuggvEmHoStA2/MJh7MpupiDU4TzjhxdzLAoO4ouZvqVURbFMHQlZD6SUeWHoguZsSLUGegreh\" +\n \"A+FZFowPdUWTi6iMoZlIpGGUUXkDbjj/9ZOLqAQS/+GIKl5BQOCn/ycqpzkXSDm5dU7ZWkG7wUyGlcmm7g5Ux56AqirgoaJ7BeokPTDbp9CbVunjFxPrl7+HqnkrSq1Da7JX20f3dV8yJi6v\" +\n \"oO81mX8vV0mx3qUsZCPRfTlVRdz2EvdufYGDvNQvvwqHtmXd+a1ITinwNcXc+lT6JuzdT1XDyBn/x7wtX1HCQQdW9MXc8xArGrirowfLeUEbMqqq6f7TF1lfRdOuGNiGi6SpT+WxY06xUfNN\" +\n \"2wBfyE9I4tlm7w5hvOPDNJN3yNiLMipji6gE3chKhouoCtN5x3QlF0EZt8OW/8ougitqJQlk1aii7iFC9l0MvRReyao7xNjKML2Z/PuHlzhi5mFxljiZeiC9rPTEisNEMX9KYAwo5Xhi7qaA\" +\n \"3hamboYm7dG+NVrXhdaYDv5zFaQZsYrCtbbAGnjkQDX2+J1FXCwOsqWOpKoIQNTFdqYBWydxqNqUoG0pVpCS+H8kaJaGKErlIaXj7CRRE+gRWuKwW9YZ80oVOUgbpdT0zpnSZJTIiwCtJVelv\" +\n \"Xntr4P5j6BWfPb5Wcx84C4cq3hb11lco2u2Mdwp6XdJ/Ne3wb8DWdfiRenZaXrhLwOj4e+GQeHroy3YOspS7TlU28Wle2m2QUS0mqdcbrdNW+ZHsSsyK7tBfm0q/dWcv+Z3mytVx3t7KWulq\" +\n \"Ue6ilunu8jF8pFwgv1FXp3mUt35OtRbr7eM4u4Gs6vUBXgeuHc5kfE/cbvWZtkROLm1DMtLCy80tzsu2PRj0hTI8fvrQuvsjlJkyutszq+m423wHaLTyniy/XuiGZ84LuT+m5ZfNfRxyGs7L\" +\n \"XZOvia7VujatUwVTrIt+Q/Csc7Tuhe+BOakT10b4TuoiiJjvgU9emTO42PwEfBa+cuodKkuf42DXr1D3JpXz73Hnn0j10evHKe+nufgfUm+7B84sX9FfdEzXux2DBpWuKokkCqN/5pa/8pmvn\" +\n \"L+RGKCddCGmatiPyPB/+ekO/M/q/7uvbt22kTt3zEnXPzCV13T3Gel4/6NduDu66xRvlPNkM1RjjxUdv+4WhGx6TftD19Q/dfzpwcHO+rE3fAAAAAElFTkSuQmCC\";","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":""}