@egovernments/digit-ui-module-core 2.0.0-dev-34 → 2.0.0-dev-36
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 +1 -1
- package/dist/main.js.br +0 -0
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
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/components/Background.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeCity.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeLanguage.js","webpack://@egovernments/digit-ui-module-core/./src/components/CustomErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/Dialog/LogoutDialog.js","webpack://@egovernments/digit-ui-module-core/./src/components/DummyLoader.js","webpack://@egovernments/digit-ui-module-core/./src/components/DynamicModuleLoader.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorBoundaries.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/Header.js","webpack://@egovernments/digit-ui-module-core/./src/components/RoleBasedEmployeeHome.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/QuickSetup.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/Config.js","webpack://@egovernments/digit-ui-module-core/./src/components/Home.js","webpack://@egovernments/digit-ui-module-core/./src/components/ImageComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/TopBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/utils.js","webpack://@egovernments/digit-ui-module-core/./src/config/sidebar-menu.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/CitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/EmployeeSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/hoc/withAutoFocusMain.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useInterval.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useLoginConfig.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FaqComponent.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FAQs.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LanguageSelection.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LocationSelection.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/ImageUpload/UploadDrawer.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/IndividualUserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/UserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/HowItWorks/howItWorks.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectOtp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectMobileNumber.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectName.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/IndividualLogin.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/index.js","webpack://@egovernments/digit-ui-module-core/javascript/node_modules/react-hook-form/dist/index.esm.mjs","webpack://@egovernments/digit-ui-module-core/./src/components/Search/SearchFields.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/MobileSearchApplication.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/SearchApp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/CitizenSideNav.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/changePassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/forgotPassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/LanguageSelection/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/Carousel/Carousel.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/ConfigOtp.js","webpack://@egovernments/digit-ui-module-core/./src/components/Dialog/ForgotPasswordDialog.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/login.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/signUp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ViewUrl/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/AppModules.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/matchmediaquery/index.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/external umd \"@egovernments/digit-ui-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-react-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-svg-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@tanstack/react-query\"","webpack://@egovernments/digit-ui-module-core/external umd \"React\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-i18next\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-router-dom\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux-thunk\"","webpack://@egovernments/digit-ui-module-core/external umd {\"commonjs\":\"react/jsx-runtime\",\"commonjs2\":\"react/jsx-runtime\"}","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/concatenation wrap","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/components/ForgotOrganizationTooltip.js","webpack://@egovernments/digit-ui-module-core/./src/components/EmployeeSSOLoginOptions.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/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(\"@egovernments/digit-ui-react-components\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@tanstack/react-query\"), require(\"React\"), require(\"react-i18next\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"redux\"), require(\"redux-thunk\"), require(\"react/jsx-runtime\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"@egovernments/digit-ui-react-components\", \"@egovernments/digit-ui-svg-components\", \"@tanstack/react-query\", \"React\", \"react-i18next\", \"react-redux\", \"react-router-dom\", \"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(\"@egovernments/digit-ui-react-components\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@tanstack/react-query\"), require(\"React\"), require(\"react-i18next\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"redux\"), require(\"redux-thunk\"), require(\"react/jsx-runtime\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"@egovernments/digit-ui-svg-components\"], root[\"@tanstack/react-query\"], root[\"React\"], root[\"react-i18next\"], root[\"react-redux\"], root[\"react-router-dom\"], root[\"redux\"], root[\"redux-thunk\"], root[undefined]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__, __WEBPACK_EXTERNAL_MODULE__7122__) => {\nreturn ","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { CardText, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n};\n\nconst ChangeCity = (prop) => {\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); \n const navigate = useNavigate();\n const isDropdown = prop.dropdown || false;\n let selectedCities = [];\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: `TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`,\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n // if (isDropdown) {\n return (\n <div style={prop?.mobileView ? { color: \"#767676\" } : {}}>\n {\n (isMultiRootTenant && selectCityData.length==1) ? \n <CardText style={{color:\"#363636\"}}>{selectCityData?.[0]?.value}</CardText>\n :\n <Dropdown\n t={prop?.t}\n option={selectCityData}\n selected={selectCityData.find((cityValue) => cityValue.value === dropDownData?.value)}\n optionKey={\"label\"}\n showArrow={true}\n select={handleChangeCity}\n freeze={true}\n customSelector={\n <label className=\"cp\">\n {prop?.t(`TENANT_TENANTS_${stringReplaceAll(Digit.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`)}\n </label>\n }\n />\n}\n </div>\n );\n // } else {\n // return (\n // <React.Fragment>\n // <div style={{ marginBottom: \"5px\" }}>City</div>\n // <div className=\"language-selector\" style={{display: \"flex\", flexWrap: \"wrap\"}}>\n // {selectCityData?.map((city, index) => (\n // <div className=\"language-button-container\" key={index}>\n // <CustomButton\n // selected={city.value === Digit.SessionStorage.get(\"Employee.tenantId\")}\n // text={city.label}\n // onClick={() => handleChangeCity(city)}\n // ></CustomButton>\n // </div>\n // ))}\n // </div>\n // </React.Fragment>\n // );\n // }\n};\n\nexport default ChangeCity;\n","import { Button, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguage = (prop) => {\n const isDropdown = prop.dropdown || false;\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n const { t } = useTranslation();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n if (isLoading) return null;\n\n if (isDropdown) {\n return (\n <div>\n <Dropdown\n className={\"language-dropdown\"}\n option={languages}\n selected={languages?.find((language) => language?.value === selectedLanguage)}\n optionKey={\"label\"}\n select={handleChangeLanguage}\n freeze={true}\n showArrow={true}\n customSelector={<label className=\"cp\">{t(languages?.find((language) => language?.value === selected)?.label)}</label>}\n />\n </div>\n );\n } else {\n return (\n <React.Fragment>\n <div style={{ marginBottom: \"5px\" }}>Language</div>\n <div className=\"language-selector\">\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <Button\n label={language.label}\n onClick={() => handleChangeLanguage(language)}\n variation={language.value === selected ? \"primary\" : \"\"}\n />\n </div>\n ))}\n </div>\n </React.Fragment>\n );\n }\n};\n\nexport default ChangeLanguage;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Background from \"./Background\";\nimport { Button, Card, CardHeader, CardText } from \"@egovernments/digit-ui-components\";\nimport Header from \"./Header\";\n\nconst CustomErrorComponent = (props) => {\n const { state = {} } = useLocation();\n // const module = state?.module;\n const { t } = useTranslation();\n const stateInfo = props.stateInfo;\n\n const navigate = useNavigate();\n const ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://s3.ap-south-1.amazonaws.com/egov-qa-assets/error-image.png`,\n infoHeader: \"WRONG_TENANT_SIGN_UP\",\n infoMessage: \"WRONG_TENANT_SIGN_UP_MESSAGE\",\n buttonInfo: \"WRONG_TENANT_SIGN_UP_BUTTON\",\n action: () => {\n navigate(`/${window.globalPath}/`);\n },\n },\n };\n const config = ModuleBasedErrorConfig[\"sandbox\"];\n\n return (\n <Background>\n <Card className={`digit-employee-card customError`}>\n <Header showTenant={false} />\n <CardHeader className={\"center\"}>{t(config.infoHeader)}</CardHeader>\n <CardText className={\"center\"}>{t(config.infoMessage)}</CardText>\n <Button\n className=\"customErrorButton\"\n label={t(config?.buttonInfo)}\n variation={\"primary\"}\n isSuffix={true}\n onClick={(e) => {\n e.preventDefault();\n config?.action();\n }}\n />\n </Card>\n </Background>\n );\n};\n\nexport default CustomErrorComponent;\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoutDialog = ({ onSelect, onCancel, onDismiss, PopupStyles, isDisabled, hideSubmit }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>\n {t(\"CORE_LOGOUT_WEB_CONFIRMATION_MESSAGE\") + \" \"}\n <strong>{t(\"CORE_LOGOUT_MESSAGE\")}</strong>\n </CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"CORE_LOGOUT_WEB_YES\")}\n formId={\"modal-action\"}\n onClick={onSelect}\n isDisabled={isDisabled}\n />\n ];\n\n const footerWithoutSubmit = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"digit-action-cancel\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(\"CORE_LOGOUT_WEB_HEADER\")}\n footerChildren={hideSubmit ? footerWithoutSubmit : footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-logout-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default LogoutDialog;","import React, {useRef, useEffect, useState } from \"react\";\nimport { CheckCircle } from \"@egovernments/digit-ui-svg-components\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DummyLoaderScreen = () => {\n const [currentStep, setCurrentStep] = useState(0);\n const navigate = useNavigate();\n const location = useLocation();\n const { t } = useTranslation();\n const { tenant } = location.state || {};\n const steps = [\n \"SANDBOX_GUIDE_SETUP_ACCOUNT\",\n \"SANDBOX_GUIDE_DEFAULT_MASTER_DATA\",\n \"SANDBOX_GUIDE_CONFIGURING_COMPLAINTS\",\n \"SANDBOX_GUIDE_CONFIGURING_EMPLOYEE_MANAGEMENT\",\n \"SANDBOX_GUIDE_SETTING_UP_CITIZEN_PORTAL\",\n \"SANDBOX_GUIDE_SETTING_UP_EMPLOYEE_PORTAL\",\n \"SANDBOX_GUIDE_LOADING_CONFIGURATION_INTERFACE\",\n \"SANDBOX_GUIDE_CREATING_DASHBOARD\",\n \"SANDBOX_GUIDE_ALL_SETUP_DONE\",\n ];\n useEffect(() => {\n const stepInterval = setInterval(() => {\n if (currentStep < steps.length) {\n setCurrentStep((prev) => prev + 1);\n }\n }, 2000); // 1 second delay for each step\n\n if (currentStep === steps.length) {\n clearInterval(stepInterval); // Clear the interval to stop further updates\n const globalPath = typeof window !== 'undefined' ? window?.globalPath : '';\n\n const navigateTimeout = setTimeout(() => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}${RoleLandingUrl}`,\n state: { tenant: tenant },\n });\n\n } else {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}/employee`,\n state: { tenant: tenant },\n });\n }\n }, 1000);\n\n return () => clearTimeout(navigateTimeout); // Cleanup timeout\n }\n\n return () => {\n clearInterval(stepInterval);\n };\n }, [currentStep]);\n\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n return (\n <div className=\"sandbox-loader-screen\">\n <div className=\"sandbox-loader\"></div>\n <ul className=\"sandbox-installation-steps\">\n {steps.map((step, index) => (\n <li key={index} className={`sandbox-step ${index < currentStep ? \"sandbox-visible\" : \"\"}`}>\n <span className=\"sandbox-step-text\">{t(step)}</span>\n {index < currentStep && <CheckCircle fill=\"#00703C\" />}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nexport default DummyLoaderScreen;\n","import React, { useState, useEffect } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * DynamicModuleLoader handles loading of modules from the ComponentRegistryService\n * with loading states, retries, and graceful error handling\n */\nconst DynamicModuleLoader = ({ \n moduleCode, \n stateCode, \n userType, \n tenants, \n maxRetries = 5, \n retryDelay = 1500,\n initialDelay = 100 // Initial delay before first check to allow modules to register\n}) => {\n const [moduleState, setModuleState] = useState({\n module: null,\n loading: true,\n error: null,\n retryCount: 0,\n initialDelayComplete: false\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n let retryTimeout;\n let initialTimeout;\n\n const loadModule = async () => {\n try {\n // Check if module is available in ComponentRegistryService\n const Module = Digit.ComponentRegistryService.getComponent(`${moduleCode}Module`);\n \n if (Module) {\n setModuleState({\n module: Module,\n loading: false,\n error: null,\n retryCount: 0,\n initialDelayComplete: true\n });\n } else {\n // Module not found, check if we should retry\n if (moduleState.retryCount < maxRetries) {\n setModuleState(prev => ({\n ...prev,\n retryCount: prev.retryCount + 1\n }));\n \n // Retry after delay (exponential backoff)\n const delay = retryDelay * Math.pow(1.5, moduleState.retryCount);\n retryTimeout = setTimeout(() => {\n loadModule();\n }, delay);\n } else {\n // Max retries reached\n setModuleState({\n module: null,\n loading: false,\n error: `Module \"${moduleCode}\" not found after ${maxRetries} attempts`,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n }\n } catch (error) {\n console.error(`Error loading module ${moduleCode}:`, error);\n setModuleState({\n module: null,\n loading: false,\n error: error.message,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n };\n\n // Start with initial delay to allow modules to register\n if (!moduleState.initialDelayComplete) {\n initialTimeout = setTimeout(() => {\n setModuleState(prev => ({ ...prev, initialDelayComplete: true }));\n loadModule();\n }, initialDelay);\n } else {\n loadModule();\n }\n\n // Cleanup timeouts on unmount\n return () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout);\n }\n if (initialTimeout) {\n clearTimeout(initialTimeout);\n }\n };\n }, [moduleCode, moduleState.retryCount, moduleState.initialDelayComplete, maxRetries, retryDelay, initialDelay]);\n\n // Show loading state\n if (moduleState.loading) {\n const loadingText = !moduleState.initialDelayComplete\n ? t(\"CORE_INITIALIZING_MODULE\", { moduleCode, defaultValue: \"Initializing {{moduleCode}} module...\" })\n : t(\"CORE_LOADING_MODULE\", { moduleCode, defaultValue: \"Loading {{moduleCode}} module...\" });\n\n return (\n <div className=\"module-loading-container\">\n <Loader \n page={true} \n variant=\"PageLoader\" \n loaderText={loadingText}\n />\n {moduleState.retryCount > 0 && moduleState.initialDelayComplete && (\n <div className=\"retry-info\" style={{ textAlign: 'center', marginTop: '1rem', color: '#666' }}>\n {t(\"CORE_MODULE_RETRY_ATTEMPT\", { retryCount: moduleState.retryCount, maxRetries, defaultValue: \"Retry attempt {{retryCount}}/{{maxRetries}}\" })}\n </div>\n )}\n </div>\n );\n }\n\n // Show error state and redirect\n if (moduleState.error || !moduleState.module) {\n console.warn(`Module loading failed for ${moduleCode}:`, moduleState.error);\n return (\n <Navigate\n to={`/${window?.contextPath}/employee/user/error?type=notfound&module=${moduleCode}&reason=${encodeURIComponent(moduleState.error || 'Module not found')}`}\n replace\n />\n );\n }\n\n // Render the loaded module\n const Module = moduleState.module;\n return (\n <Module \n stateCode={stateCode} \n moduleCode={moduleCode} \n userType={userType} \n tenants={tenants} \n />\n );\n};\n\nexport default DynamicModuleLoader;","import React from \"react\";\nimport ErrorComponent from \"./ErrorComponent\";\n\nconst Redircter = () => {\n // Add safety checks for window object\n if (typeof window === 'undefined') {\n return <span></span>;\n }\n\n try {\n const contextPath = window?.contextPath || '';\n const userType = Digit.UserService.getType();\n const path = userType === \"employee\" \n ? `/${contextPath}/employee/user/error` \n : `/${contextPath}/citizen/error`;\n \n const currentHref = window.location.href;\n \n // Check if we're already on an error page or in development\n if (\n currentHref.includes(\"employee/user/error\") ||\n currentHref.includes(\"citizen/error\") ||\n process.env.NODE_ENV === \"development\"\n ) {\n // Do nothing - already on error page or in development\n return <span></span>;\n }\n \n // Safe navigation with error handling\n try {\n window.location.href = path;\n } catch (navigationError) {\n console.warn('Navigation failed in error boundary:', navigationError);\n // Fallback: try using replace instead\n try {\n window.location.replace(path);\n } catch (replaceError) {\n console.error('Both href and replace failed:', replaceError);\n }\n }\n } catch (error) {\n console.error('Error in Redircter component:', error);\n }\n\n return <span></span>;\n};\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorStack: null, hasError: false, module: null, action: null, info: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { error: error?.message, hasError: true, errorStack: error?.stack, module: error?.module, action: error?.action, info: error?.info };\n }\n\n componentDidCatch(error, errorInfo) {\n // Catch errors in any components below and re-render with error message\n this.setState({ \n error: error?.message, \n hasError: true, \n errorStack: error?.stack,\n module: error?.module,\n action: error?.action,\n info: errorInfo\n });\n \n // Enhanced error logging with safety checks\n try {\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.group('🚨 Error Boundary Caught Error');\n console.error('Error:', error);\n console.error('Error Info:', errorInfo);\n console.error('Component Stack:', errorInfo?.componentStack);\n console.groupEnd();\n }\n \n // You can also log error messages to an error reporting service here\n // Example: errorReportingService.captureException(error, { extra: errorInfo });\n \n } catch (loggingError) {\n console.warn('Failed to log error in ErrorBoundary:', loggingError);\n }\n }\n\n render() {\n if (this.state.hasError) {\n // (\"UI-errorInfo\", this.state?.errorStack);\n // (\"UI-component-details\", this.props);\n // You can render any custom fallback UI\n return (\n <div className=\"error-boundary\">\n <Redircter />\n <ErrorComponent initData={this.props.initData} errorData={this.state} goToHome={() => {\n window.location.href = `/${window?.contextPath}/${Digit?.UserService?.getType?.()}`; // Use navigate\n }}/>\n\n {/* <summary>Something went wrong</summary>\n <details style={{ whiteSpace: \"pre-wrap\" }}>\n {this.state?.errorStack && this.state.errorStack.toString().substring(0, 600)}\n {this.state?.error}\n </details> */}\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst ErrorConfig = {\n error: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"CORE_SOMETHING_WENT_WRONG\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n maintenance: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/maintainence-image.png`,\n infoMessage: \"CORE_UNDER_MAINTENANCE\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n notfound: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/PageNotFound.png`,\n infoMessage: \"MODULE_NOT_FOUND\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n};\n\nconst ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"WRONG_TENANT_SIGN_UP\",\n buttonInfo: \"CREATE_TENANT_ERROR_BUTTON\",\n },\n};\n\nconst ErrorComponent = (props) => {\n const { type = \"error\" } = Digit.Hooks.useQueryParams();\n const module = props?.errorData?.module;\n const { t } = useTranslation();\n const config = module ? ModuleBasedErrorConfig[module] : ErrorConfig[type];\n const stateInfo = props.stateInfo;\n\n return (\n <div className=\"error-boundary\">\n <div className=\"error-container\">\n <ImageComponent src={config.imgUrl} alt=\"error\" />\n <h1>{t(config.infoMessage)}</h1>\n <button\n onClick={() => {\n module ? props?.errorData?.action() : props?.goToHome?.();\n }}\n >\n {t(config.buttonInfo)}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ErrorComponent;\n","import { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst Header = ({ showTenant = true }) => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const { t } = useTranslation();\n\n if (isLoading) return <Loader />;\n\n //If HEADER_SVG config exists, return the custom block\n const headerSvgSecondaryUrl = window?.globalConfigs?.getConfig(\"SVG_HEADER_SECONDARY_LOGO_URL\");\n if (headerSvgSecondaryUrl) {\n return (\n <div className=\"bannerHeader secondaryBannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n <span style={{fontSize: \"xx-large\"}}>|</span>\n <ImageComponent\n className=\"svgHeaderLogo\"\n src={headerSvgSecondaryUrl}\n alt=\"DIGIT Logo\"\n />\n </div>\n );\n }\n\n // Default logic\n return (\n <div className=\"loginScreen bannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n {showTenant && stateInfo?.code && (\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n )}\n </div>\n );\n};\n\nexport default Header;","import React, { Fragment, useState, useEffect } from \"react\";\nimport { Button, LandingPageCard, LandingPageWrapper } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\n\nimport { CustomSVG } from \"@egovernments/digit-ui-components\";\nconst Components = require(\"@egovernments/digit-ui-svg-components\");\n\nexport const RoleBasedEmployeeHome = ({ modules, additionalComponent }) => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate= useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n let sortedConfigEmployeesSidebar = null;\n const [mdmsOrderData, setMdmsOrderData] = useState([{}]);\n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"HomeScreenOrder\",\n [\n {\n name: \"CardsAndLinksOrder\",\n },\n ],\n {\n select: (data) => {\n return data?.[\"HomeScreenOrder\"]?.[\"CardsAndLinksOrder\"];\n },\n }\n );\n\n\n\n const { data: moduleConfigData, isLoading: isModuleConfigLoading } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"SandBoxLanding\",\n [\n {\n name: \"AdditionalModuleLinks\",\n },\n ],\n {\n \n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"AdditionalModuleLinks\"];\n },\n }\n );\n \n useEffect(() => {\n setMdmsOrderData(MdmsRes);\n }, [MdmsRes]);\n\n const transformURL = (url = \"\") => {\n if (url == \"/\") {\n return;\n }\n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n let updatedUrl = null;\n if (isMultiRootTenant) {\n url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n updatedUrl = url;\n } else {\n updatedUrl = url;\n }\n return updatedUrl;\n } else {\n return url;\n }\n };\n\n const getLinkByType = (moduleData, type) => {\n if (!moduleData || !type) return null;\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n const linkKey = moduleConfig?.[type];\n const links = moduleData?.links;\n return links?.find((item) => item?.displayName === linkKey) || null;\n };\n\n // Function to filter links dynamically based on module config\n const getFilteredLinks = (moduleData) => {\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n return moduleData?.links?.filter((item) => {\n const displayName = item.displayName;\n const isNotConfigureMaster = displayName !== \"Configure_master\";\n const isNotHowItWorks = displayName !== moduleConfig?.howItWorksLink;\n const isNotUserManual = displayName !== moduleConfig?.userManualLink;\n\n return isNotConfigureMaster && isNotHowItWorks && isNotUserManual;\n });\n };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n kpis: [],\n icon: item.leftIcon ? Digit.Utils.iconRender({iconName: item.leftIcon, iconFill: \"white\",CustomSVG,Components}) : \"\",\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = transformURL(item.navigationURL);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: linkUrl,\n icon: item.leftIcon,\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n displayName: item.displayName,\n });\n return acc;\n }, {});\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n\n const sortCardAndLink = (configEmployeeSideBar) => {\n const sortedModules = Object.keys(configEmployeeSideBar)\n .sort((a, b) => {\n const cardOrderA = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === a)?.order || null;\n const cardOrderB = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === b)?.order || null;\n return cardOrderA - cardOrderB;\n })\n .reduce((acc, module) => {\n const sortedLinks = configEmployeeSideBar?.[module]?.links?.sort((linkA, linkB) => {\n const labelA = linkA?.displayName;\n const labelB = linkB?.displayName;\n const orderA =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelA.replace(/\\s+/g, \"_\")}`)?.order || null;\n const orderB =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelB.replace(/\\s+/g, \"_\")}`)?.order || null;\n\n return orderA - orderB;\n });\n\n acc[module] = {\n ...configEmployeeSideBar[module],\n links: sortedLinks,\n };\n\n return acc;\n }, {});\n\n return sortedModules;\n };\n\n if (isMultiRootTenant) {\n sortedConfigEmployeesSidebar = sortCardAndLink(configEmployeeSideBar);\n } else {\n sortedConfigEmployeesSidebar = configEmployeeSideBar;\n }\n\n const children = Object.keys(sortedConfigEmployeesSidebar)?.map((current, index) => {\n const moduleData = sortedConfigEmployeesSidebar?.[current];\n const configureData = moduleData?.links?.find((item) => item?.displayName === \"Configure_master\");\n const howItWorks = getLinkByType(moduleData, \"howItWorksLink\");\n const userManual = getLinkByType(moduleData, \"userManualLink\");\n\n const propsForModuleCard = {\n icon: \"SupervisorAccount\",\n moduleName: t(moduleData?.label),\n metrics: [],\n links: Digit.Utils.getMultiRootTenant() ? getFilteredLinks(moduleData) : moduleData?.links,\n centreChildren: [\n <div>{t(Digit.Utils.locale.getTransformedLocale(`MODULE_CARD_DESC_${current}`))}</div>,\n howItWorks && (\n <Button\n variation=\"teritiary\"\n label={howItWorks?.label}\n icon={howItWorks?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(howItWorks?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ],\n endChildren: Digit.Utils.getMultiRootTenant()\n ? [\n configureData && (\n <Button\n variation=\"teritiary\"\n label={configureData?.label}\n icon={configureData?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => navigate(configureData?.link)}\n style={{ padding: \"0px\" }}\n />\n ),\n userManual && (\n <Button\n variation=\"teritiary\"\n label={userManual?.label}\n icon={userManual?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(userManual?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ]\n : null,\n };\n\n return <LandingPageCard buttonSize={\"medium\"} {...propsForModuleCard} />;\n });\n\n return (\n <>\n <LandingPageWrapper>{React.Children.map(children, (child) => React.cloneElement(child))}</LandingPageWrapper>\n </>\n );\n};","import React from \"react\";\nimport{ useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardHeader, LinkLabel, Card, Button } from \"@egovernments/digit-ui-components\";\nimport { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport { CardSubHeader, CardSectionHeader, BreakLine, CardSectionSubText } from \"@egovernments/digit-ui-react-components\";\n\nconst FaqComponent = (props) => {\n const { question,isLabelLink, answer,type,actions,content, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getStateId();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {isLabelLink ? (\n action?.label ? (\n <Button\n variation=\"teritiary\"\n label={t(action?.label)} \n type=\"button\"\n size={\"medium\"}\n onClick={() => {\n if (action?.fulllink) {\n window.open(action?.link, \"_blank\");\n } else {\n const baseURL = `https://${window.location.hostname}/${window?.globalPath}/${tenantId}`;\n window.open(`${baseURL}/${action?.link}`, \"_blank\");\n }\n }}\n style={{ padding: \"0px\" }}\n />\n ) : null\n ) : (\n action?.label ? <strong>{t(action?.label)}:</strong> : null\n )} \n {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nconst CardC = ({ type, title, content, actions, style }) => {\n const { t } = useTranslation();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div>\n {/* <div style={{ border: \"1px solid #ccc\", borderRadius: \"8px\", padding: \"16px\", margin: \"16px\", ...style }}> */}\n <CardSectionHeader>{t(title)}</CardSectionHeader>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {action?.label ? <strong>{t(action?.label)}:</strong> : null} {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n );\n};\n\nconst FAQ = ({ key, title, content, faqs ,type}) => {\n const { t } = useTranslation();\n return (\n <div style={{ width: \"100%\" }}>\n <div style={{ width: \"100%\" }}>\n {faqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} isLabelLink={faq.isLabelLink} type ={type} actions={faq.answer} content ={faq.content}lastIndex={i === faqs?.length - 1} />\n ))}\n </div>\n </div>\n );\n};\nconst QuickSetup = ({ cardConfig }) => {\n const { t } = useTranslation();\n\n const moduleFaqs = [\n {\n question: \"SANDBOX_FAQ_QUES_ONE\",\n answer: \"SANDBOX_FAQ_ANS_ONE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_TWO\",\n answer: \"SANDBOX_FAQ_ANS_TWO\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_THREE\",\n answer: \"SANDBOX_FAQ_ANS_THREE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_FOUR\",\n answer: \"SANDBOX_FAQ_ANS_FOUR\",\n },\n ];\n return (\n <Card className={\"sandbox-guide\"} style={{ width: \"25rem\", height: \"47rem\", overflowY: \"scroll\" }}>\n {/* <Card style={{ height: \"47rem\", overflowY: \"scroll\" }}> */}\n <CardHeader>{t(\"GUIDE_TO_SETUP\")}</CardHeader>\n <div style={{ display: \"flex\", flexWrap: \"wrap\" }}>\n {cardConfig.map((config, index) => {\n return config?.type === \"faqs\" ? (\n <FAQ key={config.id} title={config.title} type = {config?.type} content={config.content} faqs={config.actions} />\n ) : (\n <React.Fragment>\n <CardC\n type={config?.type}\n key={config.id}\n title={config.title}\n content={config.content}\n actions={config.actions}\n style={config.style}\n />\n {index !== cardConfig?.length - 1 && <BreakLine style={{ width: \"100%\", border: \"1px solid #d6d5d4\" }} />}\n </React.Fragment>\n );\n })}\n </div>\n </Card>\n );\n};\n\nexport default QuickSetup;","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardLabelError, Toast, CardLabel, Card, CardHeader, LinkLabel, Loader } from \"@egovernments/digit-ui-components\";\nimport QuickSetupComponent from \".\";\nimport QuickSetup from \"./QuickSetup\";\n\nconst QuickSetupConfigComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit.ULBService.getStateId();\n\n // const transformURL = (url = \"\") => {\n // if (url == \"/\") {\n // return;\n // }\n // if (Digit.Utils.isContextPathMissing(url)) {\n // let updatedUrl = null;\n // if (isMultiRootTenant) {\n // url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n // updatedUrl = url;\n // } else {\n // updatedUrl = DIGIT_UI_CONTEXTS?.every((e) => url?.indexOf(`/${e}`) === -1) ? \"/employee/\" + url : url;\n // }\n // return updatedUrl;\n // } else {\n // return url;\n // }\n // };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = Digit.Utils.transformURL(item.navigationURL, tenantId);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: queryParamIndex === -1 ? linkUrl : linkUrl.substring(0, queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n description: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}_DESCRIPTION`)),\n });\n return acc;\n }, {});\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n const QuickSetupConfig = [\n {\n sectionHeader: \"WELCOME_TO_SANDBOX\",\n sections: [\n {\n label: \"SANDBOX_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_3\",\n },\n ],\n },\n {\n sectionHeader: \"QUICK_SETUP\",\n links: configEmployeeSideBar,\n },\n ];\n\n const cardConfig = [\n {\n id: 1,\n type: \"faqs\",\n actions: [\n {\n question: \"SANDBOX_FAQ_QUES_14\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_14_LABEL_1\",\n fulllink:true,\n link:\"https://egov-digit.gitbook.io/digit-sandbox/specifications/user-manual/walkthrough-videos\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_1\",\n content: \"SANDBOX_FAQ_CONTENT_1\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_1\",\n link:\"citizen/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_2\",\n link: \"employee/user/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_2\",\n content: \"SANDBOX_FAQ_CONTENT_2\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_3\",\n content: \"SANDBOX_FAQ_CONTENT_3\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_4\",\n content: \"SANDBOX_FAQ_CONTENT_4\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_5\",\n content: \"SANDBOX_FAQ_CONTENT_5\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_4\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_5\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_5\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_6\",\n content: \"SANDBOX_FAQ_CONTENT_6\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_7\",\n content: \"SANDBOX_FAQ_CONTENT_7\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_8\",\n content: \"SANDBOX_FAQ_CONTENT_8\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_4\",\n },\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_9\",\n content: \"SANDBOX_FAQ_CONTENT_9\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_10\",\n content: \"SANDBOX_FAQ_CONTENT_10\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_11\",\n content: \"SANDBOX_FAQ_CONTENT_11\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_12\",\n content: \"SANDBOX_FAQ_CONTENT_12\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_13\",\n content: \"SANDBOX_FAQ_CONTENT_13\",\n } \n ],\n },\n ];\n\n // return <QuickSetupComponent config={QuickSetupConfig}></QuickSetupComponent>;\n return <QuickSetup cardConfig={cardConfig}></QuickSetup>;\n};\n\nexport default QuickSetupConfigComponent;\n","import {\n CitizenHomeCard,\n CitizenInfoLabel,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\n\nimport { BackLink, CustomSVG, SVG, LandingPageWrapper, Card, Divider } 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 const isMobile = window.Digit.Utils.browser.isMobile();\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 \n\n const handleNavigate = (link) => {\n if (!link) return;\n link?.includes(`${window?.contextPath}/`) ? navigate(link) : (window.location.href = link);\n };\n\n const renderApplyIcon = () => (\n <SVG.AddExpense fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const renderMyAppIcon = () => (\n <SVG.ListAlt fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const isApplyLink = (link) => {\n const name = (link.name || link.displayName || \"\").toLowerCase();\n return name.includes(\"apply\") || name.includes(\"_apply\");\n };\n \n\n // Desktop: LandingPageWrapper + custom cards with icons (same grid as employee)\n if (!isMobile) {\n const children = parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (!mdmsDataObj?.links?.length) return null;\n\n const seenLinks = new Set();\n const dedupedLinks = mdmsDataObj.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .filter((link) => {\n const key = link.link;\n if (seenLinks.has(key)) return false;\n seenLinks.add(key);\n return true;\n });\n\n return (\n <Card key={code} className=\"digit-landing-page-card\" style={{ borderRadius: \"1rem\" }}>\n <div className=\"icon-module-header\">\n <div className=\"digit-landingpagecard-icon\">\n <CustomSVG.Devices fill=\"#C84C0E\" width=\"1rem\" height=\"1rem\" />\n </div>\n <div className=\"ladingcard-moduleName\" role=\"heading\" aria-level=\"2\">\n {t(mdmsDataObj?.header)}\n </div>\n </div>\n <Divider className=\"digit-landingpage-divider\" variant=\"small\" />\n {dedupedLinks.map((link, i) => {\n const LinkIcon = link.leftIcon && link.leftIcon !== \"TLIcon\" && CustomSVG[link.leftIcon] ? CustomSVG[link.leftIcon] : null;\n return (\n <button\n key={i}\n className=\"digit-button-teritiary medium\"\n type=\"button\"\n style={{ padding: \"0px\" }}\n onClick={() => handleNavigate(link.link)}\n >\n <div className=\"icon-label-container teritiary medium\">\n {LinkIcon ? <LinkIcon fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" /> : (isApplyLink(link) ? renderApplyIcon() : renderMyAppIcon())}\n <h2 className=\"digit-button-label\">{link.i18nKey}</h2>\n </div>\n </button>\n );\n })}\n </Card>\n );\n }).filter(Boolean);\n\n return (\n <div className=\"citizen-all-services-wrapper\">\n <div className=\"employee-app-container digit-home-employee-app\">\n <LandingPageWrapper>{children}</LandingPageWrapper>\n </div>\n </div>\n );\n }\n\n // Mobile: Original vertical card layout\n return (\n <div className=\"citizen-all-services-wrapper\">\n {location.pathname.includes(\n \"sanitation-ui/citizen/all-services\"\n ) || (location.pathname.includes(\"sandbox-ui\") && location.pathname.includes(\"all-services\")) ? null : (\n <BackLink onClick={() => window.history.back()}/>\n )}\n <div className=\"citizenAllServiceGrid\">\n {parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <div className=\"CitizenHomeCard\" key={code}>\n <div className=\"header\">\n <h2>{t(mdmsDataObj?.header)}</h2>\n {iconSelector(code)}\n </div>\n <div className=\"links\">\n {mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .map((link, i) => (\n <div className=\"linksWrapper\" key={i}>\n <a\n href={link.link}\n onClick={(e) => handleLinkClick(e, link.link)}\n >\n {link.i18nKey}\n </a>\n </div>\n ))}\n </div>\n </div>\n );\n }\n return null;\n })}\n </div>\n </div>\n );\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* <div className=\"ground-container moduleCardWrapper gridModuleWrapper digit-home-moduleCardWrapper\"> */}\n <LandingPageWrapper>\n {modules?.map(({ code }, index) => {\n const Card =\n Digit.ComponentRegistryService.getComponent(`${code}Card`) ||\n (() => <React.Fragment />);\n return <Card key={index} />;\n })}\n </LandingPageWrapper>\n {/* </div> */}\n </div>\n\n {additionalComponent &&\n additionalComponent?.length > 0 &&\n additionalComponent.map((i) => {\n const Component =\n typeof i === \"string\"\n ? Digit.ComponentRegistryService.getComponent(i)\n : null;\n return Component ? (\n <div className=\"additional-component-wrapper\">\n <Component />\n </div>\n ) : null;\n })}\n </>\n );\n};\n\nexport const AppHome = ({\n userType,\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n additionalComponent,\n}) => {\n if (userType === \"citizen\") {\n return (\n <CitizenHome\n modules={modules}\n getCitizenMenu={getCitizenMenu}\n fetchedCitizen={fetchedCitizen}\n isLoading={isLoading}\n />\n );\n }\n const isSuperUserWithMultipleRootTenant = Digit.UserService.hasAccess(\"SUPERUSER\") && Digit.Utils.getMultiRootTenant()\n return Digit.Utils.getRoleBasedHomeCard() ? (\n <div className={isSuperUserWithMultipleRootTenant ? \"homeWrapper\" : \"\"}>\n <RoleBasedEmployeeHome modules={modules} additionalComponent={additionalComponent} />\n {isSuperUserWithMultipleRootTenant && !window.Digit.Utils.browser.isMobile() ? <QuickSetupConfigComponent /> : null}\n </div>\n ) : (\n <EmployeeHome modules={modules} additionalComponent={additionalComponent} />\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ImageComponent = ({\n src,\n alt = \"Image not found\",\n decorative = false,\n ariaLabel = \"No Image description set\",\n ariaLabelledby = \"no-image-description\",\n ...props\n}) => {\n // Determine the appropriate attributes based on the props\n const accessibilityProps = {};\n\n if (decorative) {\n // For decorative images\n accessibilityProps.alt = \"\";\n } else if (alt) {\n // Provide meaningful alt text if available\n accessibilityProps.alt = alt;\n } else if (ariaLabel) {\n // Use aria-label if alt is not provided\n accessibilityProps[\"aria-label\"] = ariaLabel;\n } else if (ariaLabelledby) {\n // Use aria-labelledby for descriptive associations\n accessibilityProps[\"aria-labelledby\"] = ariaLabelledby;\n } else {\n console.warn(\"AccessibleImage: Missing alt, aria-label, or aria-labelledby for non-decorative image.\");\n }\n\n return (\n <img\n src={src}\n {...accessibilityProps}\n {...props}\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }\n }}\n />\n );\n};\n\nImageComponent.propTypes = {\n src: PropTypes.string.isRequired, // The source URL for the image\n alt: PropTypes.string, // Alternative text for the image\n decorative: PropTypes.bool, // If true, image is decorative\n ariaLabel: PropTypes.string, // Custom label for screen readers\n ariaLabelledby: PropTypes.string, // Association with another descriptive element\n};\n\nexport default ImageComponent;\n","import { 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","export const defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";","import React from \"react\";\nimport { LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon } from \"@egovernments/digit-ui-react-components\";\nimport ChangeLanguage from \"../components/ChangeLanguage\";\n\nconst SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee) => [\n {\n type: \"component\",\n element: \"LANGUAGE\",\n action: <ChangeLanguage />,\n icon: \"LanguageIcon\",\n },\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n];\n\nexport default SideBarMenu;\n","import React, { useEffect, useState } from \"react\";\nimport {\n HomeIcon,\n EditPencilIcon,\n LogoutIcon,\n AddressBookIcon,\n PropertyHouse,\n CaseIcon,\n CollectionIcon,\n PTIcon,\n OBPSIcon,\n PGRIcon,\n FSMIcon,\n WSICon,\n MCollectIcon,\n Phone,\n BirthIcon,\n DeathIcon,\n FirenocIcon,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport SideBarMenu from \"../../../config/sidebar-menu\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport ImageComponent from \"../../ImageComponent\";\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nconst Profile = ({ info, stateName, t }) => (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent className=\"img-responsive img-circle img-Profile\" src={defaultImage} alt=\"Profile Logo\" />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") && <ChangeCity t={t} mobileView={true} />}\n </div>\n);\nconst IconsObject = {\n CommonPTIcon: <PTIcon className=\"icon\" />,\n OBPSIcon: <OBPSIcon className=\"icon\" />,\n propertyIcon: <PropertyHouse className=\"icon\" />,\n TLIcon: <CaseIcon className=\"icon\" />,\n PGRIcon: <PGRIcon className=\"icon\" />,\n FSMIcon: <FSMIcon className=\"icon\" />,\n WSIcon: <WSICon className=\"icon\" />,\n MCollectIcon: <MCollectIcon className=\"icon\" />,\n BillsIcon: <CollectionIcon className=\"icon\" />,\n BirthIcon: <BirthIcon className=\"icon\" />,\n DeathIcon: <DeathIcon className=\"icon\" />,\n FirenocIcon: <FirenocIcon className=\"icon\" />,\n HomeIcon: <HomeIcon className=\"icon\" />,\n EditPencilIcon: <EditPencilIcon className=\"icon\" />,\n LogoutIcon: <LogoutIcon className=\"icon\" />,\n Phone: <Phone className=\"icon\" />,\n};\nconst StaticCitizenSideBar = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n const { pathname } = location;\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const [isEmployee, setisEmployee] = useState(false);\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n if (Digit.Utils.getMultiRootTenant()) {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n } else {\n Digit.UserService.logout();\n setShowDialog(false);\n }\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const redirectToLoginPage = () => {\n \n navigate(`/${window?.contextPath}/citizen/login`);\n };\n const showProfilePage = () => {\n navigate(`/${window?.contextPath}/citizen/user/profile`);\n };\n\n const closeSidebar = () => {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n };\n\n let menuItems = [...SideBarMenu(t, showProfilePage, redirectToLoginPage, isEmployee)];\n\n menuItems = menuItems.filter((item) => item.element !== \"LANGUAGE\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const MenuItem = ({ item }) => {\n const leftIconArray = item?.icon || item.icon?.type?.name;\n const leftIcon = leftIconArray ? IconsObject[leftIconArray] : IconsObject.BillsIcon;\n let itemComponent;\n if (item.type === \"component\") {\n itemComponent = item.action;\n } else {\n itemComponent = item.text;\n }\n const Item = () => (\n <span className=\"menu-item\" {...item.populators}>\n {leftIcon}\n <div className=\"menu-label\">{itemComponent}</div>\n </span>\n );\n if (item.type === \"external-link\") {\n return (\n <a href={item.link}>\n <Item />\n </a>\n );\n }\n if (item.type === \"link\") {\n return (\n <Link to={item?.link}>\n <Item />\n </Link>\n );\n }\n\n return <Item />;\n };\n let profileItem;\n\n if (isFetched && user && user.access_token && user?.info?.type === \"CITIZEN\") {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n menuItems = [\n ...menuItems,\n {\n type: \"link\",\n icon: \"HomeIcon\",\n element: \"HOME\",\n text: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n link: isEmployee ? `/${window?.contextPath}/employee` : `/${window?.contextPath}/citizen`,\n populators: {\n onClick: closeSidebar,\n },\n },\n {\n text: t(\"EDIT_PROFILE\"),\n element: \"PROFILE\",\n icon: \"EditPencilIcon\",\n populators: {\n onClick: showProfilePage,\n },\n },\n {\n text: t(\"CORE_COMMON_LOGOUT\"),\n element: \"LOGOUT\",\n icon: \"LogoutIcon\",\n populators: { onClick: handleLogout },\n },\n {\n text: (\n <React.Fragment>\n {t(\"CS_COMMON_HELPLINE\")}\n <div className=\"telephone\" style={{ marginTop: \"-10%\" }}>\n {storeData?.tenants?.length > 0 && (\n <div className=\"link\">\n <a href={`tel:${\n storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || ''\n }`}>\n {storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || t(\"CS_NA\")}\n </a>\n </div>\n )}\n </div>\n </React.Fragment>\n ),\n element: \"Helpline\",\n icon: \"Phone\",\n}\n ];\n }\n Object.keys(linkData || {})\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === `${window.contextPath}-links`) {\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n }\n });\n\n return (\n <React.Fragment>\n <div>\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n top: \"0px\",\n backgroundColor: \"rgba(0, 0, 0, 0.54)\",\n pointerzevents: \"auto\",\n }}\n ></div>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: isMobile ? \"calc(100vh - 56px)\" : \"auto\",\n zIndex: \"99\",\n }}\n >\n {profileItem}\n <div className=\"drawer-desktop\">\n {menuItems?.map((item, index) => (\n <div className={`sidebar-list ${pathname === item?.link || pathname === item?.sidebarURL ? \"active\" : \"\"}`} key={index}>\n <MenuItem item={item} />\n </div>\n ))}\n </div>\n </div>\n <div>{showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}</div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default StaticCitizenSideBar;\n","// import { 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};","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\n const clearSSOLogoutMarkers = () => {\n localStorage.removeItem(\"sso-provider\");\n localStorage.removeItem(\"sso-client-id\");\n localStorage.removeItem(\"sso-tenant-id\");\n localStorage.removeItem(\"sso-authority\");\n localStorage.removeItem(\"sso-logout-url\");\n localStorage.removeItem(\"sso-logout-redirect-param\");\n };\n\n const getSSOPostLogoutRedirectUri = () => `${window.location.origin}/${window?.contextPath || \"\"}/employee`;\n\n const handleSSOLogout = async () => {\n const provider = localStorage.getItem(\"sso-provider\");\n const normalizedProvider = provider?.toUpperCase();\n const logoutUrlFromConfig = localStorage.getItem(\"sso-logout-url\");\n const redirectParamName = localStorage.getItem(\"sso-logout-redirect-param\") || \"post_logout_redirect_uri\";\n\n // Perform provider-specific cleanup before logout\n if (normalizedProvider === \"GOOGLE\") {\n const token = localStorage.getItem(\"google_access_token\");\n\n try {\n if (window.google?.accounts?.id) {\n window.google.accounts.id.disableAutoSelect();\n }\n\n if (token) {\n await fetch(`https://oauth2.googleapis.com/revoke?token=${encodeURIComponent(token)}`, {\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n },\n });\n localStorage.removeItem(\"google_access_token\");\n }\n } catch (error) {\n console.error(\"Provider cleanup error\", error);\n }\n }\n\n // Generic SSO logout handler\n if (logoutUrlFromConfig) {\n const postLogoutRedirectUri = getSSOPostLogoutRedirectUri();\n clearSSOLogoutMarkers();\n\n try {\n await Digit.UserService.logout();\n } finally {\n try {\n const url = new URL(logoutUrlFromConfig);\n url.searchParams.set(redirectParamName, postLogoutRedirectUri);\n window.location.href = url.toString();\n } catch (error) {\n window.location.href = `${logoutUrlFromConfig}?${redirectParamName}=${encodeURIComponent(postLogoutRedirectUri)}`;\n }\n }\n\n return true;\n }\n\n return false;\n };\n\n const handleOnSubmit = async () => {\n const handledBySSO = await handleSSOLogout();\n if (!handledBySSO) {\n Digit.UserService.logout();\n }\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","import React, { useEffect } from 'react';\n\nconst withAutoFocusMain = (WrappedComponent, mainSelector = '.digit-home-main') => {\n return function WithAutoFocusWrapper(props) {\n useEffect(() => {\n const handleFirstTab = (e) => {\n if (e.key === 'Tab') {\n const main = document.querySelector(mainSelector);\n if (main) {\n main.setAttribute('tabindex', '-1');\n main.style.outline = 'none';\n main.focus();\n }\n window.removeEventListener('keydown', handleFirstTab);\n }\n };\n\n window.addEventListener('keydown', handleFirstTab);\n return () => window.removeEventListener('keydown', handleFirstTab);\n }, []);\n\n return <WrappedComponent {...props} />;\n };\n};\n\nexport default withAutoFocusMain;","import React, { useEffect, useRef } from \"react\";\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const timer = setInterval(tick, delay);\n return () => clearInterval(timer);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n","export const useLoginConfig = (stateCode) => {\n const moduleName = Digit.Utils.getConfigModuleName();\n\n return Digit.Hooks.useCommonMDMS(\n stateCode,\n moduleName,\n [\"LoginConfig\"],\n {\n select: (data) => ({\n config: data?.[moduleName]?.LoginConfig,\n }),\n retry: false,\n }\n );\n};\n","import { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FaqComponent = (props) => {\n const { question, answer, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <span>{t(answer)}</span>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nexport default FaqComponent;\n","import { BackButton, HeaderComponent, Loader ,SearchIconSvg} from \"@egovernments/digit-ui-components\";\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport FaqComponent from \"./FaqComponent\";\n\nconst FAQsSection = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId = user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n const SearchImg = () => {\n return <SearchIconSvg className=\"signature-img\" />;\n };\n\n const { isLoading, data } = Digit.Hooks.useGetFAQsJSON(Digit.ULBService.getStateId());\n\n const moduleFaqs = data?.MdmsRes[\"common-masters\"]?.faqs[0]?.[`${module}`].faqs;\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"faq-page\">\n <BackButton style={{ marginLeft: \"unset\" }}></BackButton>\n <div style={{ marginBottom: \"15px\" }}>\n <HeaderComponent styles={{ marginLeft: \"0px\", paddingTop: \"10px\", fontSize: \"32px\" }}>{t(\"FAQ_S\")}</HeaderComponent>\n </div>\n <div className=\"faq-list\">\n {moduleFaqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} lastIndex={i === moduleFaqs?.length - 1} />\n ))}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default FAQsSection;\n","import { PageBasedInput, Loader, RadioButtons, CardHeader } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst LanguageSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LANGUAGE\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n const RadioButtonProps = useMemo(\n () => ({\n options: languages,\n optionsKey: \"label\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: (language) => Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n selectedOption: languages?.filter((i) => i.value === selectedLanguage)[0],\n }),\n [selectedLanguage, languages]\n );\n\n function onSubmit() {\n navigate(`/${window?.contextPath}/citizen/select-location`);\n }\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <PageBasedInput texts={texts} onSubmit={onSubmit}>\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LANGUAGE\")}</CardHeader>\n <RadioButtons {...RadioButtonProps} />\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LanguageSelection;\n","import { BackLink } from \"@egovernments/digit-ui-components\";\nimport { CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from \"@egovernments/digit-ui-react-components\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\n\nconst LocationSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\nconst {\n data: { stateInfo, uiHomePage } = {},\n isLoading: initisLoading,\n} = Digit.Hooks.useStore.getInitData();\n\nconst redirectURL = uiHomePage?.redirectURL;\n\nconst { data: cities, isLoading } = Digit.Hooks.useTenants();\n\n\n const [selectedCity, setSelectedCity] = useState(() => ({ code: Digit.ULBService.getCitizenCurrentTenant(true) }));\n const [showError, setShowError] = useState(false);\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LOCATION\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n function selectCity(city) {\n setSelectedCity(city);\n setShowError(false);\n }\n\n const RadioButtonProps = useMemo(() => {\n return {\n options: cities,\n optionsKey:\"i18nKey\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: selectCity,\n selectedOption: selectedCity,\n };\n }, [cities, t, selectedCity]);\n\n function onSubmit() {\n if (selectedCity) {\n Digit.SessionStorage.set(\"CITIZEN.COMMON.HOME.CITY\", selectedCity);\n const redirectBackTo = location.state?.redirectBackTo;\n if(redirectURL){\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n else{\n if (redirectBackTo) {\n navigate(redirectBackTo, {replace:true});\n } else navigate(`/${window?.contextPath}/citizen`);\n }\n } else {\n setShowError(true);\n }\n }\n\n return isLoading ? (\n <loader />\n ) : (\n <div>\n <BackLink onClick={() => window.history.back()}/>\n <PageBasedInput texts={texts} onSubmit={onSubmit} className=\"location-selection-container\">\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LOCATION\")}</CardHeader>\n <SearchOnRadioButtons {...RadioButtonProps} placeholder={t(\"COMMON_TABLE_SEARCH\")} />\n {showError ? <CardLabelError>{t(\"CS_COMMON_LOCATION_SELECTION_ERROR\")}</CardLabelError> : null}\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LocationSelection;\n","import React, { useState, useEffect } from \"react\";\nimport { GalleryIcon, RemoveIcon } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) {\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(\"\");\n const [error, setError] = useState(null);\n const { t } = useTranslation();\n const selectfile = (e) => setFile(e.target.files[0]);\n const removeimg = () => {removeProfilePic(); closeDrawer()};\n const onOverlayBodyClick = () => closeDrawer();\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 1000000) {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"))\n setError(t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(`${userType}-profile`, file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n const fileStoreId = response?.data?.files[0]?.fileStoreId;\n setUploadedFile(fileStoreId);\n setProfilePic(fileStoreId);\n } else {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"))\n setError(t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n showToast(\"error\",t(\"CORE_COMMON_PROFILE_INVALID_FILE_INPUT\"))\n // setError(t(\"PT_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n return (\n <React.Fragment>\n <div\n style={{\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"rgba(0,0,0,.5)\",\n // zIndex: \"9998\",\n }}\n onClick={onOverlayBodyClick}\n ></div>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n display: \"flex\",\n backgroundColor: \"white\",\n alignItems: \"center\",\n position: \"fixed\",\n left: \"0\",\n right: \"0\",\n height: \"20%\",\n bottom: userType === \"citizen\" ? \"2.5rem\" : \"0\",\n zIndex: \"1000\",\n }}\n >\n <div\n style={{ display: \"flex\", flex: \"1\", flexDirection: \"column\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", gap: \"8px 0\" }}\n >\n <label for=\"file\" style={{ cursor: \"pointer\" }}>\n {\" \"}\n <GalleryIcon />\n </label>\n <label style={{ cursor: \"pointer\" }}> Gallery</label>\n <input type=\"file\" id=\"file\" accept=\"image/*, .png, .jpeg, .jpg\" onChange={selectfile} style={{ display: \"none\" }} />\n </div>\n\n <div\n style={{ display: \"flex\", flex: \"1\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: \"8px 0\" }}\n >\n <button onClick={removeimg}>\n <RemoveIcon />\n </button>\n <label style={{ cursor: \"pointer\" }}>Remove</label>\n </div>\n </div>\n </React.Fragment>\n );\n}\n\nexport default UploadDrawer;\n","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_TENANT = Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst IndividualUserProfile = ({ stateCode, userType, cityDetails }) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n // const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\"); // Handled in parent\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n\n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n\n if (uuid) {\n // New API using health-individual\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_search`,\n useCache: false,\n method: \"POST\",\n userService: true,\n params: {\n limit: 1000,\n offset: 0,\n tenantId: tenant,\n },\n body: {\n Individual: {\n userUuid: [uuid],\n tenantId: tenant,\n },\n },\n });\n\n if (response?.Individual?.length) {\n setUserDetails(response.Individual[0]);\n }\n }\n };\n\n React.useEffect(() => {\n window.addEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n return () => {\n window.removeEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n };\n });\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n if (name) {\n setName((prev) => prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n let responseInfo;\n\n // Build Individual object dynamically\n const individualPayload = {\n ...userDetails,\n tenantId: tenant,\n name: {\n givenName: name.trim(),\n familyName: userDetails?.name?.familyName,\n otherNames: userDetails?.name?.otherNames,\n },\n mobileNumber: mobileNumber,\n isDeleted: false,\n isSystemUser: true,\n isSystemUserActive: true,\n };\n\n // Only add optional fields if they have values\n if (gender?.value) {\n individualPayload.gender = gender.value;\n }\n\n if (email) {\n individualPayload.email = email;\n }\n\n if (profilePic) {\n individualPayload.photo = profilePic;\n }\n\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_update`,\n useCache: false,\n method: \"POST\",\n userService: true,\n body: {\n Individual: individualPayload,\n },\n });\n responseInfo = response?.responseInfo;\n \n\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message: error?.response?.data?.Errors?.[0]?.description || \"CORE_COMMON_PROFILE_UPDATE_ERROR\",\n };\n }\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n // ... (RENDER JSX FROM NEW FILE) ...\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(-1)} />\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 \"/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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n const requestData = {\n ...userInfo,\n name,\n gender: gender?.value,\n emailId: email,\n photo: profilePic,\n };\n\n if(name){\n setName((prev)=>prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n // Updating state with trimmed values\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n \n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n const { responseInfo, user } = await Digit.UserService.updateUser(requestData, stateCode);\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n const errorObj = JSON.parse(error);\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"40rem\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"40rem\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"40rem\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"0rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default UserProfile;","import {\n Calender,\n CardBasedOptions,\n CaseIcon,\n ComplaintIcon,\n DocumentIcon,\n HomeIcon,\n OBPSIcon,\n PTIcon,\n Loader,\n WhatsNewCard,\n} from \"@egovernments/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCitizenCurrentTenant(true);\n const { data: { stateInfo, uiHomePage } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (!Digit.UserService?.getUser()?.access_token) return false;\n return true;\n };\n\n const { data: EventsData, isLoading: EventsDataLoading } = Digit.Hooks.useEvents({\n tenantId,\n variant: \"whats-new\",\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n if (!tenantId) {\n navigate(`/${window?.contextPath}/citizen/select-language`);\n }\n\n const appBannerWebObj = uiHomePage?.appBannerDesktop;\n const appBannerMobObj = uiHomePage?.appBannerMobile;\n const citizenServicesObj = uiHomePage?.citizenServicesCard;\n const infoAndUpdatesObj = uiHomePage?.informationAndUpdatesCard;\n const whatsAppBannerWebObj = uiHomePage?.whatsAppBannerDesktop;\n const whatsAppBannerMobObj = uiHomePage?.whatsAppBannerMobile;\n const whatsNewSectionObj = uiHomePage?.whatsNewSection;\n const redirectURL = uiHomePage?.redirectURL;\n /* configure redirect URL only if it is required to overide the default citizen home screen */\n if (redirectURL) {\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n /* fix for sanitation ui & sandbox*/\n if (window?.location?.href?.includes?.(\"sanitation-ui\") || window?.location?.href?.includes?.(\"sandbox-ui\")) {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n }\n\n const handleClickOnWhatsAppBanner = (obj) => {\n window.open(obj?.navigationUrl);\n };\n\n const allCitizenServicesProps = {\n header: t(citizenServicesObj?.headerLabel),\n sideOption: {\n name: t(citizenServicesObj?.sideOption?.name),\n onClick: () =>\n navigate(citizenServicesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(citizenServicesObj?.props?.[0]?.label),\n Icon: <ComplaintIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[1]?.label),\n Icon: <PTIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[2]?.label),\n Icon: <CaseIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[2]?.navigationUrl),\n },\n // {\n // name: t(\"ACTION_TEST_WATER_AND_SEWERAGE\"),\n // Icon: <DropIcon/>,\n // onClick: () => history.push(`/${window?.contextPath}/citizen`)\n // },\n {\n name: t(citizenServicesObj?.props?.[3]?.label),\n Icon: <OBPSIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[3]?.navigationUrl),\n },\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n const allInfoAndUpdatesProps = {\n header: t(infoAndUpdatesObj?.headerLabel),\n sideOption: {\n name: t(infoAndUpdatesObj?.sideOption?.name),\n onClick: () => navigate(infoAndUpdatesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(infoAndUpdatesObj?.props?.[0]?.label),\n Icon: <HomeIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[1]?.label),\n Icon: <Calender />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[2]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[2]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[3]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[3]?.navigationUrl),\n },\n // {\n // name: t(\"CS_COMMON_HELP\"),\n // Icon: <HelpIcon/>\n // }\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"HomePageContainer\">\n {/* <div className=\"SideBarStatic\">\n <StaticCitizenSideBar />\n </div> */}\n <div className=\"HomePageWrapper\">\n {\n <div className=\"BannerWithSearch\">\n {isMobile ? (\n <ImageComponent src={appBannerMobObj?.bannerUrl} alt=\"Banner Image\" />\n ) : (\n <ImageComponent src={appBannerWebObj?.bannerUrl} alt=\"Banner Image\" />\n )}\n {/* <div className=\"Search\">\n <StandaloneSearchBar placeholder={t(\"CS_COMMON_SEARCH_PLACEHOLDER\")} />\n </div> */}\n <div className=\"ServicesSection\">\n <CardBasedOptions style={{ marginTop: \"-30px\" }} {...allCitizenServicesProps} />\n <CardBasedOptions style={isMobile ? {} : { marginTop: \"-30px\" }} {...allInfoAndUpdatesProps} />\n </div>\n </div>\n }\n\n {(whatsAppBannerMobObj || whatsAppBannerWebObj) && (\n <div className=\"WhatsAppBanner\">\n {isMobile ? (\n <ImageComponent\n src={whatsAppBannerMobObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerMobObj)}\n alt=\"Whatsapp Banner\"\n />\n ) : (\n <ImageComponent\n src={whatsAppBannerWebObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerWebObj)}\n alt=\"Whatsapp Banner\"\n />\n )}\n </div>\n )}\n\n {conditionsToDisableNotificationCountTrigger() ? (\n EventsDataLoading ? (\n <Loader />\n ) : (\n <div className=\"WhatsNewSection\">\n <div className=\"headSection\">\n <h2>{t(whatsNewSectionObj?.headerLabel)}</h2>\n <p onClick={() => navigate(whatsNewSectionObj?.sideOption?.navigationUrl)}>{t(whatsNewSectionObj?.sideOption?.name)}</p>\n </div>\n <WhatsNewCard {...EventsData?.[0]} />\n </div>\n )\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Home;\n","import {\n BackButton,\n HeaderComponent,\n Loader,\n CloseSvg,\n DownloadImgIcon,\n PDFSvg,\n} from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HowItWorks = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId =\n user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const storeData = Digit.SessionStorage.get(\"initData\");\n const stateInfo = storeData.stateInfo;\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n const [videoPlay, setVideoPlay] = useState(false);\n const [vidSrc, setVidSrc] = useState(\"\");\n\n const ViDSvg = () => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 24C5.38053 24 0 18.6143 0 12C0 5.38054 5.38053 1.90735e-06 12 1.90735e-06C18.6143 1.90735e-06 24 5.38054 24 12C24 18.6143 18.6143 24 12 24ZM16.3488 10.7852L11.3855 7.25251C11.1263 7.0701 10.8238 6.97889 10.5214 6.97889C10.291 6.97889 10.0557 7.03172 9.83976 7.14202C9.34054 7.40118 9.02857 7.91006 9.02857 8.46694L9.02877 15.5323C9.02877 16.0892 9.34076 16.5979 9.83996 16.8572C10.3344 17.1116 10.9296 17.0732 11.3857 16.7467L16.349 13.214C16.7426 12.9356 16.9778 12.4795 16.9778 11.9996C16.9776 11.5197 16.7426 11.0636 16.3489 10.7852L16.3488 10.7852Z\"\n fill=\"white\"\n />\n </svg>\n );\n const onClickVideo = (vidObj) => {\n if (selected === \"hi_IN\") {\n setVidSrc(vidObj[\"hi_IN\"]);\n } else {\n setVidSrc(vidObj[\"en_IN\"]);\n }\n setVideoPlay(true);\n };\n const onClose = () => {\n setVideoPlay(false);\n };\n\n const { isLoading, data } = Digit.Hooks.useGetHowItWorksJSON(\n Digit.ULBService.getStateId()\n );\n\n const mdmsConfigResult =\n data?.MdmsRes[\"common-masters\"]?.howItWorks[0]?.[`${module}`];\n const languages = [\n {\n label: \"ENGLISH\",\n value: \"en_IN\",\n },\n {\n label: \"हिंदी\",\n value: \"hi_IN\",\n },\n ];\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"how-it-works-page\">\n <BackButton></BackButton>\n <div className=\"how-it-works-page-header\">\n <HeaderComponent>\n {t(\n mdmsConfigResult.screenHeader\n ? mdmsConfigResult.screenHeader\n : \"HOW_IT_WORKS\"\n )}\n </HeaderComponent>\n </div>\n <div className=\"language-selector\" style={{ margin: \"10px\" }}>\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={language.label}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n {mdmsConfigResult.videosJson.map((videos, index) => (\n <div>\n <div\n className=\"WhatsNewCard\"\n style={{\n float: \"left\",\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n }}\n >\n <div className=\"video-icon\" onClick={() => onClickVideo(videos)}>\n <div className=\"vid-svg\">\n <ViDSvg></ViDSvg>\n </div>\n </div>\n <div className=\"how-it-works-header-description\">\n <h2>{t(videos.headerLabel)}</h2>\n <p>{t(videos.description)}</p>\n </div>\n </div>\n </div>\n ))}\n {mdmsConfigResult.pdfHeader && mdmsConfigResult.pdfDesc && (\n <div\n className=\"WhatsNewCard\"\n style={{\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n display: \"inline-block\",\n }}\n >\n <div className=\"how-it-works-pdf-section\">\n <div className=\"pdf-icon-header-desc\">\n <div className=\"pdf-icon\">\n <PDFSvg></PDFSvg>\n </div>\n <div className=\"pdf-header-desc\">\n <h2>{t(mdmsConfigResult.pdfHeader)}</h2>\n <p>{t(mdmsConfigResult.pdfDesc)}</p>\n </div>\n </div>\n <div className=\"download-icon\">\n <DownloadImgIcon />\n </div>\n </div>\n </div>\n )}\n {videoPlay && (\n <div className=\"how-it-works-video-play\">\n <div className=\"close-button\">\n <CloseSvg onClick={onClose}></CloseSvg>\n </div>\n <video width={500} height={500} controls autoPlay>\n <source src={vidSrc} type=\"video/mp4\"></source>\n </video>\n </div>\n )}\n </div>\n </Fragment>\n );\n};\n\nexport default HowItWorks;\n","import { CardText, CardLabelError, FormStep } from \"@egovernments/digit-ui-components\";\nimport React, { Fragment, useState } from \"react\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\n\nconst SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = \"citizen\", canSubmit }) => {\n const [timeLeft, setTimeLeft] = useState(30);\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleResendOtp = () => {\n onResend();\n setTimeLeft(2);\n };\n\n if (userType === \"employee\") {\n return (\n <Fragment>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button resend-otp\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </Fragment>\n );\n }\n\n return (\n <FormStep onSelect={onSelect} config={config} t={t} isDisabled={!(otp?.length === 6 && canSubmit)}>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </FormStep>\n );\n};\n\nexport default SelectOtp;\n","export const loginSteps = [\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_MOBILE_NUMBER\",\n cardText: \"CS_LOGIN_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"text\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOB_NO\",\n validation: {\n required: true,\n minlength: 10,\n maxlength: 10,\n },\n },\n ],\n },\n {\n texts: {\n header: \"CS_LOGIN_OTP\",\n cardText: \"CS_LOGIN_OTP_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n },\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_NAME\",\n cardText: \"CS_LOGIN_NAME_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_NAME\",\n type: \"text\",\n name: \"name\",\n error: \"CORE_COMMON_NAME_VALIDMSG\",\n validation: {\n required: true,\n minlength: 1,\n maxlength: 50,\n // pattern: /^[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}$/i,\n // pattern: /^(?!\\s)[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}(?!\\s)$/i\n pattern: \"^[A-Za-z]+( [A-Za-z]+)*$\",\n },\n },\n ],\n },\n];\n","import { InputCard, TextBlock, FieldV1, LinkLabel } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo, useState } from \"react\";\n\nconst SelectMobileNumber = ({ t, onSelect, mobileNumber,emailId, onMobileChange,onEmailChange, config, canSubmit }) => {\n const [isEmail, setIsEmail] = useState(emailId? true : false);\n const [error, setError] = useState(\"\");\n\n const core_mobile_config = window?.globalConfigs?.getConfig(\"CORE_MOBILE_CONFIGS\") || {};\n const EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const rawPattern = core_mobile_config?.mobileNumberPattern || \"^\\\\d+$\";\n const mobileNumberPattern = new RegExp(rawPattern);\n\n const isEmailValid = useMemo(() => EMAIL_REGEX.test(emailId), [emailId]);\n const isMobileValid = useMemo(() => mobileNumberPattern.test(mobileNumber || \"\"), [mobileNumber, mobileNumberPattern]);\n\n const handleSubmit = () => {\n if (isEmail) {\n if (!isEmailValid) {\n setError(t(\"ERR_INVALID_EMAIL\"));\n return;\n }\n onSelect({ userName: emailId });\n } else {\n if (!isMobileValid) {\n setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n return;\n }\n onSelect({ mobileNumber });\n }\n };\n\n const handleChange = (e) => {\n const value = e.target.value;\n setError(\"\");\n if (isEmail) {\n onEmailChange(e)\n if (value && !EMAIL_REGEX.test(value)) setError(t(\"ERR_INVALID_EMAIL\"));\n } else {\n onMobileChange(e);\n if (value && !mobileNumberPattern.test(value)) setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n }\n };\n\n const switchMode = () => {\n setIsEmail(!isEmail);\n setError(\"\");\n if(isEmail)\n onEmailChange({ target: { value: \"\" } });\n else\n onMobileChange({ target: { value: \"\" } }); // clear mobile input\n };\n\n const isDisabled = useMemo(() => {\n return isEmail ? !(isEmailValid && canSubmit) : !(isMobileValid && canSubmit);\n }, [isEmail, isEmailValid, isMobileValid, canSubmit]);\n\n const mobileViewStyles = {\n marginLeft:\"0px\",\n userSelect: \"none\",\n color: \"inherit\", \n cursor: \"pointer\", // keeps it clickable\n textDecoration: \"underline\",\n };\n\n // Responsive label\n const linkLabel = useMemo(() => {\n if (window.innerWidth <= 768) {\n return isEmail ? t(\"LOGIN_WITH_MOBILE\") : t(\"LOGIN_WITH_EMAIL\");\n }\n return isEmail ? t(\"CS_USE_MOBILE_INSTEAD\") : t(\"CS_LOGIN_REGISTER_WITH_EMAIL\");\n }, [isEmail, t]);\n\n return (\n <InputCard\n t={t}\n texts={config?.texts}\n submit\n onNext={handleSubmit}\n isDisable={isDisabled}\n >\n <div>\n <FieldV1\n key={isEmail ? \"email\" : \"mobile\"}\n withoutLabel\n charCount\n error={error}\n onChange={handleChange}\n placeholder={isEmail ? t(\"ENTER_EMAIL_PLACEHOLDER\") : t(\"ENTER_MOBILE_PLACEHOLDER\")}\n populators={{\n name: isEmail ? \"userName\" : \"mobileNumber\",\n prefix: isEmail ? \"\" : core_mobile_config?.mobilePrefix,\n validation: {\n maxlength: isEmail ? 256 : (core_mobile_config?.mobileNumberLength || 10),\n pattern: isEmail ? EMAIL_REGEX : mobileNumberPattern,\n },\n }}\n props={{ fieldStyle: { width: \"100%\" } }}\n type=\"text\"\n value={isEmail ? emailId : mobileNumber}\n />\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"1rem\", marginBottom: \"1.5rem\", marginTop: \"-24px\" }}>\n <LinkLabel style={{ display: \"inline\", ...mobileViewStyles }} onClick={switchMode}>\n {linkLabel}\n </LinkLabel>\n </div>\n </InputCard>\n );\n};\n\nexport default SelectMobileNumber;","import { FormStep } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\n\nconst SelectName = ({ config, onSelect, t, isDisabled }) => {\n return <FormStep config={config} onSelect={onSelect} t={t} isDisabled={isDisabled}></FormStep>;\n};\n\nexport default SelectName;\n","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nlet DEFAULT_REDIRECT_URL = `/${window?.contextPath || window?.globalConfigs?.getConfig(\"CONTEXT_PATH\")}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst IndividualLogin = ({ stateCode, isUserRegistered = false }) => {\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 \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 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 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 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 citizen-form-center\">\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 const isCitizenDesktop = window.location.href.includes(\"citizen\") && !window.Digit.Utils.browser.isMobile();\n\n return (\n <div className={`citizen-form-wrapper${isCitizenDesktop ? ' citizen-form-center' : ''}`}>\n <AppContainer>\n {/* BackLink now uses navigate(-1) for going back */}\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => navigate(-1)} />}\n <Routes> {/* Replaced Switch with Routes */}\n {/* Route path is now relative to the parent <Routes> */}\n <Route\n path=\"/\" // This will match the base path where this component is rendered (e.g., /citizen/login if mounted there)\n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n onMobileChange={handleMobileChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered && !location.state?.role}\n t={t}\n />\n }\n />\n <Route\n path=\"otp\" // This will match /path/to/current/route/otp\n element={\n <SelectOtp\n config={{ ...stepItems[1], texts: { ...stepItems[1].texts, cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || \"\"}` } }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n }\n />\n <Route\n path=\"name\" // This will match /path/to/current/route/name\n element={<SelectName config={stepItems[2]} onSelect={selectName} t={t} isDisabled={canSubmitName} />}\n />\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </Routes>\n </AppContainer>\n </div>\n );\n};\n\nexport default Login;","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: React.useCallback((elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n }, [control._fields, name]),\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { DatePicker, SearchField, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { Controller } from \"react-hook-form\";\nconst SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => {\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_FROM_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"fromDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_TO_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"toDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-search-action-submit\">\n <Button\n style={{ marginTop: isMobile ? \"510px\" : \"25px\", marginLeft: isMobile ? \"0\" : \"-30px\", maxWidth: isMobile ? \"100%\" : \"240px\" }}\n label={t(\"ES_COMMON_APPLY\")}\n submit\n />\n </SearchField>\n </>\n );\n};\nexport default SearchFields;\n","import {\n BackButton,\n DetailsCard,\n HeaderComponent,\n Loader,\n PopUp,\n SearchAction,\n SearchForm,\n CloseSvg,\n DownloadBtnCommon,\n} from \"@egovernments/digit-ui-components\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useState,\n} from \"react\";\nimport SearchFormFields from \"./SearchFields\";\n// import { convertEpochToDateDMY } from \"../../utils\";\n\nconst MobileSearchApplication = ({\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n isLoading,\n}) => {\n function activateModal(state, action) {\n switch (action.type) {\n case \"set\":\n return action.payload;\n case \"remove\":\n return false;\n default:\n break;\n }\n }\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [currentlyActiveMobileModal, setActiveMobileModal] = useReducer(\n activateModal,\n false\n );\n\n const closeMobilePopupModal = () => {\n setActiveMobileModal({ type: \"remove\" });\n };\n\n const MobilePopUpCloseButton = () => (\n <div\n className=\"InboxMobilePopupCloseButtonWrapper\"\n onClick={closeMobilePopupModal}\n >\n <CloseSvg />\n </div>\n );\n const searchFormFieldsComponentProps = {\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n };\n\n const MobileComponentDirectory = ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) => {\n const { closeMobilePopupModal } = props;\n switch (currentlyActiveMobileModal) {\n case \"SearchFormComponent\":\n return (\n <SearchForm {...props}>\n <MobilePopUpCloseButton />\n <div className=\"MobilePopupHeadingWrapper\">\n <h2>{t(\"PRIVACY_AUDIT_REPORT\")}:</h2>\n </div>\n <SearchFormFields\n {...searchFormFieldsComponentProps}\n {...{ closeMobilePopupModal, tenantId, t }}\n />\n {/* <SearchField className=\"submit\">\n <SubmitBar label={t(\"ES_COMMON_SEARCH\")} submit form=\"search-form\"/>\n <p onClick={onResetSearchForm}>{t(`ES_COMMON_CLEAR_ALL`)}</p>\n </SearchField> */}\n </SearchForm>\n );\n default:\n return <span></span>;\n }\n };\n const CurrentMobileModalComponent = useCallback(\n ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) =>\n MobileComponentDirectory({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props,\n }),\n [currentlyActiveMobileModal]\n );\n let roles = [];\n data?.roles?.forEach((item) => {\n roles.push(item?.name);\n });\n const propsMobileInboxCards = useMemo(() => {\n if (data?.display) {\n return [];\n }\n if (data === \"\") {\n return [];\n }\n return data?.map((data) => ({\n [t(\"AUDIT_DATE_LABEL\")]: convertEpochToDate(data.timestamp),\n [t(\"AUDIT_TIME_LABEL\")]: convertEpochToTimeInHours(data.timestamp),\n [t(\"AUDIT_DATAVIEWED_LABEL\")]: data.dataView[0] + \",\" + data.dataView[1],\n [t(\"AUDIT_DATAVIEWED_BY_LABEL\")]: data.dataViewedBy,\n [t(\"AUDIT_ROLE_LABEL\")]: data.roles\n .slice(0, 3)\n ?.map((e) => e.name)\n .join(\",\"),\n }));\n }, [data]);\n\n return (\n <React.Fragment>\n <BackButton />\n <div\n className=\"sideContent\"\n style={{ marginLeft: \"70%\", marginTop: \"-12%\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}:</HeaderComponent>\n <div className=\"digit-search-box\">\n <SearchAction\n text={t(\"ES_COMMON_SEARCH\")}\n handleActionClick={() =>\n setActiveMobileModal({\n type: \"set\",\n payload: \"SearchFormComponent\",\n })\n }\n {...{ tenantId, t }}\n />\n </div>\n {currentlyActiveMobileModal ? (\n <PopUp>\n <CurrentMobileModalComponent\n onSubmit={(data) => {\n setActiveMobileModal({ type: \"remove\" });\n onSubmit(data);\n }}\n handleSubmit={handleSubmit}\n id=\"search-form\"\n className=\"rm-mb form-field-flex-one inboxPopupMobileWrapper\"\n {...{\n searchFormFieldsComponentProps,\n currentlyActiveMobileModal,\n closeMobilePopupModal,\n tenantId,\n }}\n />\n </PopUp>\n ) : null}\n {isLoading && <Loader />}\n <DetailsCard\n {...{\n data: propsMobileInboxCards,\n }}\n />\n </React.Fragment>\n );\n};\n\nexport default MobileSearchApplication;\n","import {\n DownloadBtnCommon,\n Table,\n} from \"@egovernments/digit-ui-react-components\";\nimport {\n BackButton,\n Loader,\n SearchForm,\n HeaderComponent\n} from \"@egovernments/digit-ui-components\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport MobileSearchApplication from \"./MobileSearchApplication\";\nimport SearchFields from \"./SearchFields\";\n\nconst SearchApplication = ({ tenantId, t, onSubmit, data, count }) => {\n const initialValues = Digit.SessionStorage.get(\n \"AUDIT_APPLICATION_DETAIL\"\n ) || {\n offset: 0,\n limit: 5,\n sortOrder: \"DESC\",\n };\n const {\n register,\n control,\n handleSubmit,\n setValue,\n getValues,\n reset,\n } = useForm({\n defaultValues: initialValues,\n });\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n register(\"offset\", 0);\n register(\"limit\", 5);\n register(\"sortOrder\", \"DESC\");\n }, [register]);\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const onSort = useCallback((args) => {\n if (args.length === 0) return;\n setValue(\"sortBy\", args.id);\n setValue(\"sortOrder\", args.desc ? \"DESC\" : \"ASC\");\n }, []);\n\n function onPageSizeChange(e) {\n setValue(\"limit\", Number(e.target.value));\n handleSubmit(onSubmit)();\n }\n\n function nextPage() {\n setValue(\"offset\", getValues(\"offset\") + getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n function previousPage() {\n setValue(\"offset\", getValues(\"offset\") - getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isMobile) {\n return (\n <MobileSearchApplication\n {...{\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n }}\n />\n );\n }\n\n //need to get from workflow\n const GetCell = (value) => <span className=\"cell-text\">{value}</span>;\n const columns = useMemo(\n () => [\n {\n Header: t(\"AUDIT_DATE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToDate(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: t(\"AUDIT_TIME_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToTimeInHours(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_LABEL\")\n : t(\"AUDIT_DATAVIEWED_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataView}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_BY_LABEL\")\n : t(\"AUDIT_DATAVIEWED_BY_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataViewedBy}`);\n },\n },\n {\n Header: t(\"AUDIT_ROLE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.roles.slice(0, 3)?.map((e) => e.name)}`);\n },\n },\n ],\n []\n );\n\n return (\n <React.Fragment>\n <div style={{ marginRight: \"-70px\" }}>\n {\" \"}\n <BackButton />{\" \"}\n </div>\n <div style={{ marginTop: \"30px\", marginLeft: \"30px\" }}>\n {\" \"}\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}</HeaderComponent>{\" \"}\n </div>\n <SearchForm\n className=\"audit-card\"\n onSubmit={onSubmit}\n handleSubmit={handleSubmit}\n >\n <SearchFields\n {...{ register, control, reset, tenantId, t, previousPage }}\n />\n </SearchForm>\n <div\n style={{\n marginTop: \"240px\",\n marginLeft: \"-55%\",\n maxWidth: \"80%\",\n marginRight: \"52px\",\n }}\n >\n {data?.display ? (\n <div\n style={{\n marginTop: \"20x\",\n width: \"1025px\",\n marginLeft: \"25px\",\n backgroundColor: \"white\",\n height: \"60px\",\n }}\n >\n {t(data.display)\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </div>\n ) : data !== \"\" ? (\n <div\n style={{\n backgroundColor: \"white\",\n marginRight: \"-30px\",\n marginLeft: \"30px\",\n }}\n >\n <div\n className=\"sideContent\"\n style={{ float: \"right\", padding: \"10px 30px\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <Table\n t={t}\n data={data}\n totalRecords={count}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n minWidth:\n cellInfo.column.Header === t(\"ES_INBOX_APPLICATION_NO\")\n ? \"240px\"\n : \"\",\n padding: \"20px 18px\",\n fontSize: \"16px\",\n },\n };\n }}\n onPageSizeChange={onPageSizeChange}\n currentPage={getValues(\"offset\") / getValues(\"limit\")}\n onNextPage={nextPage}\n onPrevPage={previousPage}\n manualPagination={false}\n pageSizeLimit={getValues(\"limit\")}\n onSort={onSort}\n disableSort={false}\n sortParams={[\n {\n id: getValues(\"sortBy\"),\n desc: getValues(\"sortOrder\") === \"DESC\" ? true : false,\n },\n ]}\n />\n </div>\n ) : (\n <Loader />\n )}\n </div>\n </React.Fragment>\n );\n};\n\nexport default SearchApplication;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport AuditSearchApplication from \"../../components/Search\";\nconst Search = ({ path }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant()\n const [payload, setPayload] = useState({});\n const convertDateToEpoch = (dateString, dayStartOrEnd = \"dayend\") => {\n //example input format : \"2018-10-02\"\n try {\n const parts = dateString.match(/(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n const DateObj = new Date(Date.UTC(parts[1], parts[2] - 1, parts[3]));\n DateObj.setMinutes(DateObj.getMinutes() + DateObj.getTimezoneOffset());\n if (dayStartOrEnd === \"dayend\") {\n DateObj.setHours(DateObj.getHours() + 24);\n DateObj.setSeconds(DateObj.getSeconds() - 1);\n }\n return DateObj.getTime();\n } catch (e) {\n return dateString;\n }\n };\n function onSubmit(_data) {\n Digit.SessionStorage.set(\"AUDIT_APPLICATION_DETAIL\", {\n offset: 0,\n limit: 5,\n sortBy: \"commencementDate\",\n sortOrder: \"DESC\",\n });\n const data = {\n ..._data,\n fromDate: convertDateToEpoch(_data?.fromDate),\n toDate: convertDateToEpoch(_data?.toDate),\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key] : data[key] }), {})\n );\n }\n useEffect(() => {\n const storedPayload = Digit.SessionStorage.get(\"AUDIT_APPLICATION_DETAIL\") || {};\n if (storedPayload) {\n const data = {\n ...storedPayload,\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key].code : data[key] }), {})\n );\n }\n }, []);\n const config = {\n enabled: !!(payload && Object.keys(payload).length > 0),\n };\n const newObj = { ...payload };\n \n const {\n isLoading,\n data,\n} = Digit.Hooks.useAudit({\n tenantId,\n filters: {\n ...newObj,\n },\n config,\n });\n\n return (\n <AuditSearchApplication\n t={t}\n tenantId={tenantId}\n onSubmit={onSubmit}\n data={\n !isLoading\n ? data?.ElasticSearchData?.length > 0\n ? data?.ElasticSearchData\n : { display: \"ES_COMMON_NO_DATA\" }\n : \"\"\n }\n count={data?.ElasticSearchData?.length}\n />\n );\n };\n export default Search;","import {\n Card,\n Loader,\n CaseIcon,\n ComplaintIcon,\n HelpLineIcon,\n MCollectIcon,\n PTIcon,\n RupeeSymbol,\n ServiceCenterIcon,\n TimerIcon,\n ValidityTimeIcon,\n WhatsappIconGreen,\n} from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StaticDynamicCard = ({ moduleCode }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant();\n const {\n isLoading: isMdmsLoading,\n data: mdmsData,\n } = Digit.Hooks.useStaticData(Digit.ULBService.getStateId());\n const {\n isLoading: isSearchLoading,\n error,\n data: dynamicData,\n isSuccess,\n } = Digit.Hooks.useDynamicData({\n moduleCode,\n tenantId: tenantId,\n filters: {},\n t,\n });\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const IconComponent = ({ module, styles }) => {\n switch (module) {\n case \"TL\":\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"PT\":\n return <PTIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"MCOLLECT\":\n return (\n <MCollectIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n case \"PGR\":\n return (\n <ComplaintIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n default:\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n }\n };\n const mdmsConfigResult =\n mdmsData?.MdmsRes[\"common-masters\"]?.StaticData[0]?.[`${moduleCode}`];\n\n const StaticDataIconComponentOne = ({ module }) => {\n switch (module) {\n case \"PT\":\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const StaticDataIconComponentTwo = ({ module }) => {\n switch (module) {\n case \"PT\":\n return (\n <span className=\"rupeeSymbol\">\n <RupeeSymbol />\n </span>\n );\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const staticContent = (module) => {\n switch (module) {\n case \"TL\":\n case \"PT\":\n case \"MCOLLECT\":\n return {\n staticCommonContent: t(\"COMMON_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n case \"PGR\":\n return {\n staticCommonContent: t(\"ACTION_TEST_COMPLAINT_TYPES\"),\n };\n case \"OBPS\":\n return {\n staticCommonContent: t(\"BUILDING_PLAN_PERMIT_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n \" \" +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n default:\n return {\n staticCommonContent: \"\",\n };\n }\n };\n\n const staticData = (module) => {\n switch (module) {\n case \"PT\":\n return {\n staticDataOne:\n mdmsConfigResult?.staticDataOne + \" \" + t(\"COMMON_DAYS\"),\n staticDataOneHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n staticDataTwo: mdmsConfigResult?.staticDataTwo,\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_FEE\"),\n };\n case \"WS\":\n return {\n staticDataOne: \"\",\n staticDataOneHeader:\n t(\"PAY_WATER_CHARGES_BY\") +\n \" \" +\n mdmsConfigResult?.staticDataOne +\n \" \" +\n t(\"COMMON_DAYS\") +\n \" \" +\n t(\"OF_BILL_GEN_TO_AVOID_LATE_FEE\"),\n staticDataTwo:\n mdmsConfigResult?.staticDataTwo + \" \" + t(\"COMMON_DAYS\"),\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n };\n default:\n return {};\n }\n };\n\n if (isMdmsLoading || isSearchLoading) {\n return <Loader />;\n }\n return mdmsConfigResult ? (\n <React.Fragment>\n {mdmsConfigResult && mdmsConfigResult?.payViaWhatsApp ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div\n className=\"pay-whatsapp-card\"\n onClick={() =>\n handleClickOnWhatsApp(mdmsConfigResult?.payViaWhatsApp)\n }\n >\n <div className=\"pay-whatsapp-text\">{t(\"PAY_VIA_WHATSAPP\")}</div>\n <div className=\"whatsAppIconG\">\n <WhatsappIconGreen />\n </div>\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.helpline ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CALL_CENTER_HELPLINE\")}\n </div>\n <div className=\"helplineIcon\">\n <HelpLineIcon />\n </div>\n </div>\n <div className=\"call-center-card-text\">\n {mdmsConfigResult?.helpline?.contactOne ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactOne}`}>\n {mdmsConfigResult?.helpline?.contactOne}\n </a>\n </div>\n ) : null}\n {mdmsConfigResult?.helpline?.contactTwo ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactTwo}`}>\n {mdmsConfigResult?.helpline?.contactTwo}\n </a>\n </div>\n ) : null}\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.serviceCenter ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CITIZEN_SERVICE_CENTER\")}\n </div>\n <div className=\"serviceCentrIcon\">\n <ServiceCenterIcon />\n </div>\n </div>\n <div className=\"service-center-details-card\">\n <div className=\"service-center-details-text\">\n {mdmsConfigResult?.serviceCenter}\n </div>\n </div>\n {mdmsConfigResult?.viewMapLocation ? (\n <div className=\"link\">\n <a href={mdmsConfigResult?.viewMapLocation}>{t(\"VIEW_ON_MAP\")}</a>\n </div>\n ) : null}\n </Card>\n ) : (\n <div />\n )}\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataOne === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataOne}\n </span>\n </div>\n </div>\n )}\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataTwo === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataTwo}\n </span>\n </div>\n </div>\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataOne ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentOne module={moduleCode} />\n <span className=\"static-data-content\">\n <span\n className=\"static-data-content-first\"\n style={{\n marginTop:\n staticData(moduleCode)?.staticDataOne === \"\"\n ? \"8px\"\n : \"unset\",\n }}\n >\n {staticData(moduleCode)?.staticDataOneHeader}\n </span>\n <span className=\"static-data-content-second\">{`${\n staticData(moduleCode)?.staticDataOne\n }`}</span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataTwo ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentTwo module={moduleCode} />\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticData(moduleCode)?.staticDataTwoHeader}\n </span>\n <span className=\"static-data-content-second\">\n {staticData(moduleCode)?.staticDataTwo}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.validity ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {staticContent(moduleCode)?.validity}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {error ||\n dynamicData == null ||\n !dynamicData?.staticData ||\n dynamicData?.staticData === null ? (\n <div />\n ) : (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n {moduleCode === \"PGR\" ? (\n <IconComponent\n module={moduleCode}\n styles={{\n width: \"24px\",\n height: \"24px\",\n marginLeft: \"13px\",\n marginTop: \"12px\",\n }}\n />\n ) : (\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n )}\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {dynamicData?.staticData}\n </span>\n </span>\n </div>\n </div>\n )}\n </Card>\n </React.Fragment>\n ) : (\n <React.Fragment />\n );\n};\n\nexport default StaticDynamicCard;\n","import React, { 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\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\n\nconst CitizenSideNav = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit?.ULBService?.getStateId();\n const user = Digit.UserService.getUser();\n const isLoggedIn = user && user.access_token && user?.info?.type === \"CITIZEN\";\n\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogoutSubmit = () => {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n };\n\n const handleLogoutCancel = () => {\n setShowDialog(false);\n };\n\n const navigateToUrl = (url) => {\n if (!url || url === \"/\") return;\n\n const isExternal = /^https?:\\/\\//i.test(url);\n if (isExternal) {\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/citizen`, `/${contextPath}/${tenantId}/citizen`);\n navigate(url);\n } else {\n const updatedUrl = hostUrl + url;\n try {\n window.location.href = updatedUrl;\n } catch (error) {\n console.warn(\"Navigation failed, attempting fallback:\", error);\n window.location.replace(updatedUrl);\n }\n }\n } else {\n navigate(url);\n }\n };\n\n const onItemSelect = ({ item }) => {\n if (item?.navigationUrl) {\n navigateToUrl(item.navigationUrl);\n }\n };\n\n const onBottomItemClick = (item) => {\n if (item === \"Logout\") {\n setShowDialog(true);\n }\n };\n\n const buildItems = () => {\n const isDigitStudio = window.location.href.includes(\"digit-studio\");\n const items = [];\n let orderCounter = 1;\n\n if (isLoggedIn) {\n items.push({\n label: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n icon: { icon: \"Home\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen`,\n orderNumber: orderCounter++,\n });\n\n items.push({\n label: t(\"EDIT_PROFILE\"),\n icon: { icon: \"Edit\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen/user/profile`,\n orderNumber: orderCounter++,\n });\n }\n\n Object.keys(linkData || {})\n ?.sort((x, y) => x.localeCompare(y))\n ?.forEach((key) => {\n const moduleEntries = linkData[key];\n if (!moduleEntries || moduleEntries.length === 0) return;\n\n // Check if any entry in this module has a sidebar value ending with \"-links\"\n const hasSidebarLink = moduleEntries.some((entry) => entry.sidebar?.endsWith(\"-links\"));\n if (!hasSidebarLink) return;\n\n const rawIcon = moduleEntries[0]?.leftIcon;\n const leftIcon = isDigitStudio && (!rawIcon || rawIcon === \"TLIcon\") ? \"Devices\" : (rawIcon || \"ViewModule\");\n\n // Deduplicate entries by name to avoid duplicate children\n const seen = new Set();\n const uniqueEntries = moduleEntries.filter((entry) => {\n if (seen.has(entry.name)) return false;\n seen.add(entry.name);\n return true;\n });\n\n // Build children from all entries (Apply, My Applications, etc.)\n const children = uniqueEntries.map((entry) => ({\n label: t(entry.displayName || entry.i18nKey),\n icon: { icon: isDigitStudio && (!entry.leftIcon || entry.leftIcon === \"TLIcon\") ? \"Devices\" : (entry.leftIcon || \"ViewModule\"), width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: entry.navigationURL || entry.link,\n orderNumber: entry.orderNumber,\n }));\n\n // Sort children by orderNumber\n children.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n if (children.length === 1) {\n // Single entry — render as flat item (no parent/child nesting)\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: children[0].navigationUrl,\n orderNumber: orderCounter++,\n });\n } else {\n // Multiple entries — render as parent with children\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n orderNumber: orderCounter++,\n });\n }\n });\n\n items.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n return items;\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const items = buildItems();\n\n return (\n <React.Fragment>\n <MediaQuery minWidth={768}>\n <SideNav\n items={items}\n hideAccessbilityTools={!isLoggedIn}\n onSelect={onItemSelect}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"light\"}\n enableSearch={true}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{ position : \"unset\"}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={onBottomItemClick}\n />\n </MediaQuery>\n {showDialog && (\n <LogoutDialog\n onSelect={handleLogoutSubmit}\n onCancel={handleLogoutCancel}\n onDismiss={handleLogoutCancel}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default CitizenSideNav;\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 CitizenSideNav from \"../../components/TopBarSideBar/SideBar/CitizenSideNav\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"../../components/DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst FAQsSection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-faqs\" */ \"./FAQs/FAQs\"),\n () => require(\"./FAQs/FAQs\").default,\n { loaderText: \"CORE_LOADING_FAQS\" }\n);\n\nconst CitizenHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-home\" */ \"./Home\"),\n () => require(\"./Home\").default,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-language-selection\" */ \"./Home/LanguageSelection\"),\n () => require(\"./Home/LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst LocationSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-location-selection\" */ \"./Home/LocationSelection\"),\n () => require(\"./Home/LocationSelection\").default,\n { loaderText: \"CORE_LOADING_LOCATION_SELECTION\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-user-profile\" */ \"./Home/UserProfile\"),\n () => require(\"./Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst HowItWorks = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-how-it-works\" */ \"./HowItWorks/howItWorks\"),\n () => require(\"./HowItWorks/howItWorks\").default,\n { loaderText: \"CORE_LOADING_HOW_IT_WORKS\" }\n);\n\nconst Login = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Search = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-search\" */ \"./SearchApp\"),\n () => require(\"./SearchApp\").default,\n { loaderText: \"CORE_LOADING_SEARCH\" }\n);\n\nconst StaticDynamicCard = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-static-dynamic-card\" */ \"./StaticDynamicComponent/StaticDynamicCard\"),\n () => require(\"./StaticDynamicComponent/StaticDynamicCard\").default,\n { loaderText: \"CORE_LOADING_DYNAMIC_CONTENT\" }\n);\n\nconst sidebarHiddenFor = [\n `${window?.contextPath}/citizen/register/name`,\n `/${window?.contextPath}/citizen/select-language`,\n `/${window?.contextPath}/citizen/select-location`,\n `/${window?.contextPath}/citizen/login`,\n `/${window?.contextPath}/citizen/register/otp`,\n];\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes.map((item) => item.code).includes(tenant.code));\n};\n\nconst Home = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl, // This prop seems unused, consider removing\n pathname, // This prop seems unused, `useLocation().pathname` is used directly\n initData,\n}) => {\n const { isLoading: islinkDataLoading, data: linkData, isFetched: isLinkDataFetched } = Digit.Hooks.useCustomMDMS(\n Digit.ULBService.getStateId(),\n \"ACCESSCONTROL-ACTIONS-TEST\",\n [\n {\n name: \"actions-test\",\n filter: `[?(@.url == '${Digit.Utils.getMultiRootTenant() ? window.globalPath : window.contextPath}-card')]`,\n },\n ],\n {\n select: (data) => {\n const formattedData = data?.[\"ACCESSCONTROL-ACTIONS-TEST\"]?.[\"actions-test\"]\n ?.filter((el) => el.enabled === true)\n .reduce((a, b) => {\n a[b.parentModule] = a[b.parentModule]?.length > 0 ? [b, ...a[b.parentModule]] : [b];\n return a;\n }, {});\n return formattedData;\n },\n }\n );\n const classname = Digit.Hooks.useRouteSubscription(pathname);\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const hideSidebar = sidebarHiddenFor.some((e) => window.location.href.includes(e));\n\n // DIGIT Studio configurable citizen pages — rendered inside the citizen Home\n // shell so they inherit the real DIGIT top bar + footer (routes added below).\n const CitizenLandingPage = Digit.ComponentRegistryService?.getComponent(\"CitizenLandingPage\");\n const ServiceLandingPage = Digit.ComponentRegistryService?.getComponent(\"ServiceLandingPage\");\n const ServiceActionsPage = Digit.ComponentRegistryService?.getComponent(\"ServiceActionsPage\");\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>\n <CitizenSideNav 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={\n <div className=\"citizen-location-selection-wrapper\">\n <LocationSelection />\n </div>\n } />\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 {/* DIGIT Studio configurable citizen pages */}\n {CitizenLandingPage && <Route path=\"user/citizen-landing\" element={<CitizenLandingPage />} />}\n {ServiceLandingPage && <Route path=\"user/service-landing\" element={<ServiceLandingPage />} />}\n {ServiceActionsPage && <Route path=\"user/service-actions\" element={<ServiceActionsPage />} />}\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={\n <div className=\"citizen-user-profile-wrapper\">\n <UserProfile stateCode={stateCode} userType={\"citizen\"} cityDetails={cityDetails} />\n </div>\n } />\n\n <Route path=\"Audit\" element={<Search />} />\n\n {/* Dynamic App Routes and Module Level Link Home Pages */}\n {appRoutes}\n {ModuleLevelLinkHomePages}\n </Routes>\n </div>\n <div className=\"citizen-home-footer\" style={window.location.href.includes(\"citizen/obps\") ? { zIndex: \"-1\" } : {}}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.2em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Home;","import { CardSubHeader, FormComposer,CardText} from \"@egovernments/digit-ui-react-components\";\nimport { BackLink,Toast} from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport SelectOtp from \"../../citizen/Login/SelectOtp\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ChangePasswordComponent = ({ config: propsConfig, t }) => {\n const [user, setUser] = useState(null);\n const { mobile_number: mobileNumber, tenantId } = Digit.Hooks.useQueryParams();\n const navigate = useNavigate();\n const [otp, setOtp] = useState(\"\");\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onResendOTP = async () => {\n const requestData = {\n otp: {\n mobileNumber,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId,\n },\n };\n\n try {\n await Digit.UserService.sendOtp(requestData, tenantId);\n setShowToast(t(\"ES_OTP_RESEND\"));\n } catch (err) {\n setShowToast(err?.response?.data?.error_description || t(\"ES_INVALID_LOGIN_CREDENTIALS\"));\n }\n setTimeout(closeToast, 5000);\n };\n\n const onChangePassword = async (data) => {\n try {\n if (data.newPassword !== data.confirmPassword) {\n return setShowToast(t(\"ERR_PASSWORD_DO_NOT_MATCH\"));\n }\n const requestData = {\n ...data,\n otpReference: otp,\n tenantId,\n type: getUserType().toUpperCase(),\n };\n\n const response = await Digit.UserService.changePassword(requestData, tenantId);\n navigateToLogin();\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || t(\"ES_SOMETHING_WRONG\"));\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/user/login`, {replace:true});\n };\n\n const [username, password, confirmPassword] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(username.label),\n type: username.type,\n populators: {\n name: username.name,\n },\n isMandatory: true,\n },\n {\n label: t(password.label),\n type: password.type,\n populators: {\n name: password.name,\n },\n isMandatory: true,\n },\n {\n label: t(confirmPassword.label),\n type: confirmPassword.type,\n populators: {\n name: confirmPassword.name,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink variant=\"primary\" style={{ borderBottom: \"none\" }} />\n </div>\n <FormComposer\n onSubmit={onChangePassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeChangePassword\"\n >\n <Header />\n <CardSubHeader style={{ textAlign: \"center\" }}> {propsConfig.texts.header} </CardSubHeader>\n <CardText>\n {`${t(`CS_LOGIN_OTP_TEXT`)} `}\n <b>\n {\" \"}\n {`${t(`+ 91 - `)}`} {mobileNumber}\n </b>\n </CardText>\n <SelectOtp t={t} userType=\"employee\" otp={otp} onOtpChange={setOtp} error={isOtpValid} onResend={onResendOTP} />\n {/* <div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_SENT_MESSAGE\")}</CardLabel>\n <CardLabelDesc style={{ marginBottom: \"0px\" }}> {mobileNumber} </CardLabelDesc>\n <CardLabelDesc style={{ marginBottom: \"8px\" }}> {t(\"CORE_EMPLOYEE_OTP_CHECK_MESSAGE\")}</CardLabelDesc>\n </div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_OTP\")} *</CardLabel>\n <TextInput className=\"field\" name={otpReference} isRequired={true} onChange={updateOtp} type={\"text\"} style={{ marginBottom: \"10px\" }} />\n <div className=\"flex-right\">\n <div className=\"primary-label-btn\" onClick={onResendOTP}>\n {t(\"CORE_OTP_RESEND\")}\n </div>\n </div> */}\n </FormComposer>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nChangePasswordComponent.propTypes = {\n loginParams: PropTypes.any,\n};\n\nChangePasswordComponent.defaultProps = {\n loginParams: null,\n};\n\nexport default ChangePasswordComponent;\n","export const config = [\n {\n texts: {\n header: \"CORE_COMMON_RESET_PASSWORD_LABEL\",\n submitButtonLabel: \"CORE_COMMON_CHANGE_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n name: \"userName\",\n error: \"ERR_HRMS_INVALID_USERNAME\",\n },\n {\n label: \"CORE_LOGIN_NEW_PASSWORD\",\n type: \"password\",\n name: \"newPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n {\n label: \"CORE_LOGIN_CONFIRM_NEW_PASSWORD\",\n type: \"password\",\n name: \"confirmPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n ],\n },\n];\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport ChangePasswordComponent from \"./changePassword\";\nimport { config } from \"./config\";\n\nconst EmployeeChangePassword = () => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n config.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [config]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ChangePasswordComponent config={params[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeChangePassword;\n","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"ES_FORGOT_PASSWORD_DESC\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"mobileNumber\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOBILE_NUMBER\",\n },\n {\n label: \"CORE_COMMON_CITY\",\n type: \"dropdown\",\n name: \"city\",\n error: \"ERR_HRMS_INVALID_CITY\",\n },\n ]\n },\n];\n","// import { FormComposer } from \"@egovernments/digit-ui-react-components\";\nimport { BackLink, Dropdown, Loader, Toast, FormComposerV2 } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport Carousel from \"../Login/Carousel/Carousel\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\n\nconst ForgotPassword = ({ config: propsConfig, t, stateCode }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const [user, setUser] = useState(null);\n const navigate = useNavigate();\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n \n const { data : mdmsData } = useLoginConfig(stateCode);\n \n if(mdmsData?.config){\n const bannerImages = mdmsData?.config[0]?.bannerImages;\n propsConfig.bannerImages = bannerImages;\n }\n\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = async (data) => {\n if (!data.city) {\n alert(\"Please Select City!\");\n return;\n }\n const requestData = {\n otp: {\n userName: data.username,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId: data.city.code,\n },\n };\n try {\n await Digit.UserService.sendOtp(requestData, data.city.code);\n navigate(`/${window?.contextPath}/employee/user/change-password?USERNAME=${data.username}&tenantId=${data.city.code}`);\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || \"Invalid login credentials!\");\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/login`);\n };\n\n const [userId, city] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(\"USERNAME\"),\n type: \"text\",\n populators: {\n name: \"username\",\n },\n isMandatory: true,\n },\n {\n label: t(city.label),\n type: city.type,\n populators: {\n name: city.name,\n optionsKey: \"name\",\n required: true,\n options: cities,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n if (isLoading) {\n return <Loader page={true} variant=\"PageLoader\" />\n }\n\n return (\n propsConfig?.bannerImages ? (\n <React.Fragment>\n <div className=\"login-container\">\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </div>\n </div>\n </React.Fragment>\n ) :\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nForgotPassword.propTypes = {\n loginParams: PropTypes.any,\n};\n\nForgotPassword.defaultProps = {\n loginParams: null,\n};\n\nexport default ForgotPassword;","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { loginConfig } from \"./config\";\nimport ForgotPasswordComponent from \"./forgotPassword\";\n\nconst EmployeeForgotPassword = ({ stateCode }) => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ForgotPasswordComponent config={params[0]} t={t} stateCode={stateCode} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeForgotPassword;\n","import { Button, Card, SubmitBar, Loader } from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport { loginConfig as defaultLoginConfig } from \"../Login/config\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\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 // Same LoginConfig (MDMS override, else local default) the Login screen uses for showTenant.\n const { data: loginMdmsData } = useLoginConfig(Digit.ULBService.getStateId());\n const loginScreenConfig = loginMdmsData?.config?.[0] || defaultLoginConfig?.[0];\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 [isChangingLanguage, setIsChangingLanguage] = useState(false);\n const handleChangeLanguage = async (language) => {\n setselected(language.value);\n setIsChangingLanguage(true);\n await Promise.all([\n Digit.LocalizationService.getLocale({ modules: [\"digit-ui\", \"digit-privacy-policy\"], locale: language.value, tenantId: stateInfo.code }),\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n ]);\n setIsChangingLanguage(false);\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 if (isChangingLanguage) return;\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 language-selector\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} alt=\"Digit Banner Image\" />\n\n {loginScreenConfig?.showTenant !== false && <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>}\n </div>\n <div className=\"language-selector-header\">{t(\"CS_COMMON_CHOOSE_LANGUAGE_HEADER\")}</div>\n <div className=\"language-selector\" style={{ justifyContent: \"space-around\", 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} disabled={isChangingLanguage} />\n {isChangingLanguage && <Loader variant={\"OverlayLoader\"} loaderText={\"CORE_LOADING\"} />}\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 <\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 >\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n {\n key: \"employeeSsoLoginOptions\",\n type: \"component\",\n disable: false,\n component: \"EmployeeSSOLoginOptions\",\n populators: {\n name: \"employeeSsoLoginOptions\"\n },\n isMandatory: false,\n withoutLabel: true,\n renderAfterSubmit:true\n },\n ],\n\n // If you just want to show a popup when clicked on forgot password\n // forgotPasswordScreen: {\n // mode: \"popup\",\n // popupFields: {\n // heading: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n // description: \"CORE_FORGOT_PASSWORD_POPUP_DESCRIPTION\",\n // buttonLabel: \"CORE_FORGOT_PASSWORD_POPUP_OK\",\n // },\n // },\n // If you dont want to show tenant infromation before the logo icon in login page\n // showTenant : false\n },\n];\n","export const LoginOtpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"Sandbox\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n },\n];\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ForgotPasswordDialog = ({ onDismiss, heading, description, buttonLabel, PopupStyles }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>{t(description)}</CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(buttonLabel)}\n onClick={onDismiss}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(heading)}\n footerChildren={footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-forgot-password-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default ForgotPasswordDialog;\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\";\nimport ForgotPasswordDialog from \"../../../components/Dialog/ForgotPasswordDialog\";\n// import SkipToMainContent from \"../SkipToMainContent/SkipToMainContent\";\nimport withAutoFocusMain from \"../../../hoc/withAutoFocusMain\";\n\n// Used only if forgotPasswordScreen.mode is \"popup\" but popupFields isn't fully specified.\nconst DEFAULT_FORGOT_PASSWORD_POPUP = {\n heading: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"CORE_FORGOT_PASSWORD_POPUP_DESCRIPTION\",\n buttonLabel: \"CORE_FORGOT_PASSWORD_POPUP_OK\",\n};\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 {\n data: storeData,\n isLoading: isStoreLoading,\n } = Digit.Hooks.useStore.getInitData();\n const {\n data: ssoMDMSData,\n isLoading: isSSOMDMSLoading,\n } = Digit.Hooks.useSSOConfig(Digit.ULBService.getStateId(), {\n select: (data) => {\n const config =\n data?.MdmsRes?.[\"SSO\"]?.IdentityProviders ||\n data?.[\"SSO\"]?.IdentityProviders ||\n data?.[\"IdentityProviders\"] ||\n [];\n return Array.isArray(config) ? config : [];\n },\n });\n const { stateInfo } = storeData || {};\n const [user, setUser] = useState(null);\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n const [loginLoader, setLoginLoader] = useState(false);\n const [showForgotPasswordPopup, setShowForgotPasswordPopup] = useState(false);\n const forgotScreenConfig = propsConfig?.forgotPasswordScreen;\n const navigate = useNavigate();\n const DynamicLoginComponent = Digit.ComponentRegistryService?.getComponent(\n \"DynamicLoginComponent\",\n );\n\n /* Generic SSO Callback Handler - runs on mount / when disable/user/stateInfo change */\n useEffect(() => {\n const hashParams = new URLSearchParams(window.location.hash.slice(1));\n const searchParams = new URLSearchParams(window.location.search);\n const idToken = hashParams.get(\"id_token\") || searchParams.get(\"id_token\");\n const accessToken =\n hashParams.get(\"access_token\") || searchParams.get(\"access_token\");\n const code = searchParams.get(\"code\");\n\n const error = searchParams.get(\"error\") || hashParams.get(\"error\");\n const errorDescription =\n searchParams.get(\"error_description\") ||\n hashParams.get(\"error_description\") ||\n searchParams.get(\"errorDescription\") ||\n hashParams.get(\"errorDescription\");\n\n // If we are not on an SSO callback URL, never keep the SSO overlay loader.\n // Important: we intentionally don't set the loader before redirecting to the provider,\n // so browser back (including bfcache restores) won't get stuck with a stale loader.\n // Note: do NOT reset `disable` here — it is also used for form-validation gating and\n // resetting it would fight FormComposerV2's onFormValueChange, causing an infinite loop.\n if (!idToken && !code && !error) {\n if (loginLoader) setLoginLoader(false);\n return;\n }\n\n if (error && !showToast) {\n setShowToast(errorDescription || \"SSO Login Failed!\");\n setTimeout(closeToast, 5000);\n setLoginLoader(false);\n setDisable(false);\n return;\n }\n\n if (!stateInfo?.code) {\n // Tenant/state not ready yet; wait and retry when stateInfo arrives.\n return;\n }\n\n if ((idToken || code) && !user && !disable) {\n if (idToken) {\n handleDigitLogin(idToken, accessToken);\n } else if (code) {\n setDisable(true);\n setLoginLoader(true);\n Digit.UserService.microsoftAuthenticate({ code })\n .then(({ UserRequest: info, ...tokens }) => {\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n setDisable(false);\n setLoginLoader(false);\n })\n .catch((err) => {\n setShowToast(\n err?.response?.data?.error_description || \"Login Failed!\",\n );\n setTimeout(closeToast, 5000);\n setDisable(false);\n setLoginLoader(false);\n });\n }\n }\n\n }, [user, disable, stateInfo, loginLoader, showToast]);\n\n /* Post-login redirect and user setup */\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 (\n user?.info?.roles &&\n user?.info?.roles?.every((e) => e.code === \"NATADMIN\")\n ) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/NURT_DASHBOARD`;\n }\n\n /* RAIN-6489 Logic to navigate to National DSS home incase user has only one role [NATADMIN]*/\n if (\n user?.info?.roles &&\n user?.info?.roles?.every((e) => e.code === \"STADMIN\")\n ) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/home`;\n }\n\n navigate(redirectPath, { replace: true });\n }, [user]);\n\n /* Generic Token Exchange with DIGIT Backend */\n const handleDigitLogin = async (idToken, accessToken = null) => {\n setDisable(true);\n setLoginLoader(true);\n try {\n const response = await fetch(\"/user/oauth/token\", {\n method: \"POST\",\n headers: {\n Authorization: `Basic ${\n window?.globalConfigs?.getConfig(\"JWT_TOKEN\") ||\n \"ZWdvdi11c2VyLWNsaWVudDo=\"\n }`,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: new URLSearchParams({\n grant_type: \"jwt_exchange\",\n scope: \"read\",\n userType: \"EMPLOYEE\",\n assertion: idToken,\n ...(accessToken && { access_token: accessToken }),\n tenantId: stateInfo?.code,\n }),\n });\n\n if (!response.ok) {\n const raw = await response.text();\n let parsed;\n try {\n parsed = raw ? JSON.parse(raw) : null;\n } catch (e) {\n parsed = null;\n }\n const message =\n parsed?.error_description ||\n parsed?.errorDescription ||\n parsed?.message ||\n parsed?.error ||\n raw ||\n \"DIGIT Login Failed\";\n throw new Error(message);\n }\n\n const data = await response.json();\n const { UserRequest: info, ...tokens } = data;\n\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (error) {\n console.error(\"DIGIT Login Error:\", error);\n setShowToast(error?.message || \"DIGIT Login Failed\");\n setTimeout(closeToast, 5000);\n\n\n // If token exchange fails, force Microsoft to prompt credentials on next SSO click.\n try {\n window.sessionStorage.setItem(\"sso.force.prompt.login\", \"true\");\n } catch (e) {\n // no-op\n }\n\n // Prevent retry loop: clear `id_token`/`code` from URL (stay on same page).\n try {\n window.history.replaceState({}, document.title, window.location.pathname);\n } catch (e) {\n // no-op\n }\n }\n setDisable(false);\n setLoginLoader(false);\n };\n\n const buildOIDCAuthorizeUrl = (uiConfig) => {\n const {\n authorizeUrl,\n clientId,\n scopes = [\"openid\", \"profile\", \"email\"],\n responseType = \"id_token\",\n responseMode = \"fragment\",\n nonceRequired = true,\n redirectPath = \"employee/user/login\",\n resource,\n provider,\n prompt,\n } = uiConfig || {};\n\n if (!authorizeUrl || !clientId) {\n throw new Error(\"Missing authorizeUrl or clientId for OIDC login\");\n }\n\n const nonce = nonceRequired\n ? Math.random().toString(36).substring(2)\n : undefined;\n const redirectUri = `${window.location.origin}/${window?.contextPath}/${redirectPath}`;\n\n const params = new URLSearchParams();\n params.set(\"client_id\", clientId);\n params.set(\"response_type\", responseType);\n params.set(\"redirect_uri\", redirectUri);\n if (nonce) params.set(\"nonce\", nonce);\n if (responseMode) params.set(\"response_mode\", responseMode);\n if (scopes && scopes.length) params.set(\"scope\", scopes.join(\" \"));\n if (resource) params.set(\"resource\", resource);\n\n // Handle prompt parameter with priority:\n // 1. Use configured prompt from SSO config (respects admin configuration)\n // 2. Fall back to forced login only if no prompt is configured AND a previous login failed\n try {\n const forcePromptLogin = window.sessionStorage.getItem(\"sso.force.prompt.login\") === \"true\";\n\n if (prompt) {\n // Respect configured prompt (e.g., \"select_account\", \"consent\")\n params.set(\"prompt\", prompt);\n // Clear the force flag since we're using configured prompt\n if (forcePromptLogin) {\n window.sessionStorage.removeItem(\"sso.force.prompt.login\");\n }\n } else if (forcePromptLogin) {\n // Only force login if no prompt is configured\n params.set(\"prompt\", \"login\");\n window.sessionStorage.removeItem(\"sso.force.prompt.login\");\n }\n } catch (e) {\n // If prompt is configured, still set it even if sessionStorage fails\n if (prompt) {\n params.set(\"prompt\", prompt);\n }\n }\n\n return `${authorizeUrl}?${params.toString()}`;\n };\n\n const onSSOLogin = async (ssoConfig) => {\n // For OIDC-like providers (MICROSOFT, GOOGLE, etc.), use generic OIDC login\n const ui = ssoConfig?.ui || {};\n const hasOidcConfig = Boolean((ui.authorizeUrl || ssoConfig?.authorizeUrl) && ui.clientId);\n\n if (ui.authStrategy === \"OIDC_POPUP\" || ui.provider === \"MICROSOFT\" || hasOidcConfig) {\n return onOIDCLogin(ssoConfig);\n }\n\n // If the config doesn't match any known SSO strategy, don't leave the overlay loader stuck.\n setShowToast(\"SSO configuration is invalid or unsupported\");\n setTimeout(closeToast, 5000);\n };\n\n const onOIDCLogin = async (ssoConfig) => {\n try {\n const ui = { ...(ssoConfig?.ui || {}) };\n // Backward-compatibility for older configs where authorizeUrl/resource\n // might be on the top level instead of inside ui.\n ui.authorizeUrl = ui.authorizeUrl || ssoConfig?.authorizeUrl;\n ui.resource = ui.resource || ssoConfig?.resource;\n // For Microsoft, if resource is not explicitly provided, default it to clientId (v1 behavior).\n if (ui.provider === \"MICROSOFT\" && !ui.resource) {\n ui.resource = ui.clientId;\n }\n // Persist provider + logout-relevant info for later use during logout\n if (ui.provider) {\n localStorage.setItem(\"sso-provider\", ui.provider);\n }\n if (ui.logoutUrl) {\n localStorage.setItem(\"sso-logout-url\", ui.logoutUrl);\n }\n if (ui.logoutRedirectParam) {\n localStorage.setItem(\"sso-logout-redirect-param\", ui.logoutRedirectParam);\n }\n if (ui.tenantId) {\n localStorage.setItem(\"sso-tenant-id\", ui.tenantId);\n }\n if (ui.authority) {\n localStorage.setItem(\"sso-authority\", ui.authority);\n }\n const url = buildOIDCAuthorizeUrl(ui);\n // Simple implementation: redirect for OIDC if no library is present\n // For a better experience, a popup and message bridge should be used\n window.location.href = url;\n } catch (error) {\n console.error(\"OIDC Login Error:\", error);\n setShowToast(error.message || \"OIDC Login Failed\");\n setTimeout(closeToast, 5000);\n setLoginLoader(false);\n }\n };\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 setLoginLoader(true);\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 setLoginLoader(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\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 navigate(`/${window?.contextPath}/employee/user/login/otp`, {\n state: {\n email: inputEmail,\n tenant: Digit?.ULBService?.getStateId(),\n },\n });\n },\n },\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = () => {\n if (forgotScreenConfig?.mode === \"popup\") {\n setShowForgotPasswordPopup(true);\n return;\n }\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(\n `TENANT_TENANTS_${defaultTenant}`,\n ),\n };\n\n const ssoConfigs = ssoMDMSData?.map((sso) => ({\n ...sso,\n provider: sso.ui?.provider || sso.provider || \"sso\",\n label: t(`SSO_PROVIDER_${sso.ui?.name || sso.id}`),\n icon: sso.ui?.logo ? (\n <img\n src={sso.ui.logo}\n alt={sso.ui?.name}\n className=\"employee-login-sso-logo\"\n />\n ) : sso.ui?.provider === \"MICROSOFT\" ? \"Microsoft\" : sso.ui?.icon,\n onLogin: (ssoConfig) => {\n onSSOLogin(ssoConfig);\n },\n }));\n\n let config = [\n {\n body: propsConfig?.inputs?.map((field) =>\n field?.component === \"EmployeeSSOLoginOptions\"\n ? {\n ...field,\n customProps: {\n ...field.customProps,\n ssoConfigs,\n },\n }\n : field,\n ),\n },\n ];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (\n mode === \"admin\" &&\n config?.[0]?.body?.[2]?.disable == false &&\n config?.[0]?.body?.[2]?.populators?.defaultValue == undefined\n ) {\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(\n () =>\n Object.fromEntries(\n config[0].body\n .filter(\n (field) =>\n field?.populators?.defaultValue && field?.populators?.name,\n )\n .map((field) => [\n field.populators.name,\n field.populators.defaultValue,\n ]),\n ),\n [],\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 description={propsConfig?.texts?.description}\n className={`${wrapperClass}`}\n cardSubHeaderClassName=\"loginCardSubHeaderClassName\"\n cardClassName={cardClassName}\n buttonClassName=\"buttonClassName\"\n defaultValues={defaultValues}\n className=\"digit-login-screen-form\"\n >\n {stateInfo?.code && propsConfig?.showTenant !== false ? <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 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 {showForgotPasswordPopup && (\n <ForgotPasswordDialog\n heading={forgotScreenConfig?.popupFields?.heading || DEFAULT_FORGOT_PASSWORD_POPUP.heading}\n description={forgotScreenConfig?.popupFields?.description || DEFAULT_FORGOT_PASSWORD_POPUP.description}\n buttonLabel={forgotScreenConfig?.popupFields?.buttonLabel || DEFAULT_FORGOT_PASSWORD_POPUP.buttonLabel}\n onDismiss={() => setShowForgotPasswordPopup(false)}\n />\n )}\n {renderFooter(\"EmployeeLoginFooter\")}\n </div>\n </div>\n ) : (\n <Background>\n {loginLoader && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"100vh\",\n background: \"rgba(0,0,0,0.35)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 9999,\n }}\n >\n <Loader />\n </div>\n )}\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 {showForgotPasswordPopup && (\n <ForgotPasswordDialog\n heading={forgotScreenConfig?.popupFields?.heading || DEFAULT_FORGOT_PASSWORD_POPUP.heading}\n description={forgotScreenConfig?.popupFields?.description || DEFAULT_FORGOT_PASSWORD_POPUP.description}\n buttonLabel={forgotScreenConfig?.popupFields?.buttonLabel || DEFAULT_FORGOT_PASSWORD_POPUP.buttonLabel}\n onDismiss={() => setShowForgotPasswordPopup(false)}\n />\n )}\n {renderFooter(\"employee-login-home-footer\")}\n </Background>\n );\n \n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default withAutoFocusMain(Login, \".login-form-container\");\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\"; // Updated imports for v6\nimport { loginConfig as defaultLoginConfig } from \"./config\";\nimport { LoginOtpConfig as defaultLoginOtpConfig } from \"./ConfigOtp\";\nimport LoginComponent from \"./login\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeLogin = ({ stateCode }) => {\n const { t } = useTranslation();\n const [loginConfig, setloginConfig] = useState(defaultLoginConfig);\n const [loginOtpConfig, setloginOtpConfig] = useState(defaultLoginOtpConfig);\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n const loginType = window?.globalConfigs?.getConfig(\"OTP_BASED_LOGIN\") || false;\n const { data: mdmsData, isLoading } = useLoginConfig(stateCode);\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix,\n });\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) { \n setloginConfig(mdmsData?.config);\n } else {\n setloginConfig(defaultLoginConfig);\n }\n }, [mdmsData, isLoading]); \n\n const loginParams = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginConfig]\n )\n );\n\n const loginOtpParams = useMemo(\n () =>\n loginOtpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginOtpConfig]\n )\n );\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n return (\n <Routes> {/* Replaced Switch with Routes */}\n <Route\n path=\"/\" \n element={ \n loginType ? (\n <LoginComponent config={loginOtpParams[0]} t={t} loginOTPBased={loginType} />\n ) : (\n <LoginComponent config={loginParams[0]} t={t} />\n )\n }\n />\n </Routes>\n );\n};\n\nexport default EmployeeLogin;","import React, { useState, useEffect } from \"react\";\nimport { BackLink, CardLabel, Loader, Toast } from \"@egovernments/digit-ui-components\";\nimport { FormComposerV2 } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\"; // Updated imports for v6\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\n/* set employee details to enable backward compatible */\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Otp = ({ isLogin = false }) => {\n const { t } = useTranslation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(false);\n const [user, setUser] = useState(null);\n const [params, setParams] = useState(location?.state?.data || {});\n const [ifSuperUserExists, setIfSuperUserExist] = useState(false);\n // In v6, location.state is directly available, no need for destructuring within another object\n const { email, tenant } = location.state || {}; \n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const config = [\n {\n body: [\n {\n type: \"component\",\n component: \"OtpComponent\",\n key: \"OtpComponent\",\n withoutLabel: true,\n isMandatory: false,\n customProps: {\n email: email,\n tenant: tenant,\n },\n populators: {\n required: true,\n },\n },\n ],\n },\n ];\n\n const OtpConfig = [\n {\n texts: {\n // header: t(\"CORE_COMMON_OTP_LABEL\"),\n header: t(\"SANDBOX_OTP_VERIFICATION\"),\n submitButtonLabel: \"CORE_COMMON_SUBMIT\",\n },\n },\n ];\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.globalPath}/user/setup`;\n\n const getRedirectPathOtpLogin = (locationPathname, user, MdmsRes, RoleLandingUrl) => {\n const userRole = user?.info?.roles?.[0]?.code;\n const isSuperUser = userRole === \"SUPERUSER\";\n const contextPath = window?.contextPath;\n\n switch (true) {\n case locationPathname === \"/sandbox-ui/user/otp\" && isSuperUser:\n return `/${contextPath}/employee/sandbox/landing`;\n\n case isSuperUser && MdmsRes?.[0]?.rolesForLandingPage?.includes(\"SUPERUSER\"):\n return `/${contextPath}${RoleLandingUrl}`;\n\n default:\n return `/${contextPath}/employee`;\n }\n };\n\n // Usage\n const redirectPathOtpLogin = getRedirectPathOtpLogin(location.pathname, user, MdmsRes, RoleLandingUrl);\n\n if (isLogin) {\n navigate(redirectPathOtpLogin); // Replaced history.push with navigate\n return;\n } else {\n navigate(\n {\n pathname: redirectPath,\n },\n { state: { tenant: tenant } } // Pass state as a separate options object\n );\n return;\n }\n }, [user]);\n\n const onSubmit = async (formData) => {\n const requestData = {\n username: email,\n password: formData?.OtpComponent?.otp,\n tenantId: tenant,\n userType: \"EMPLOYEE\",\n };\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => navigate(-1)} /> {/* navigate(-1) for going back */}\n </div>\n <FormComposerV2\n onSubmit={onSubmit}\n noBoxShadow\n inline\n submitInForm\n onFormValueChange={(setValue, formValue) => {\n const otpValue = formValue[\"OtpComponent\"];\n if (otpValue?.otp?.length === 6) {\n setIsOtpValid(true);\n } else {\n setIsOtpValid(false);\n }\n }}\n isDisabled={!isOtpValid}\n config={config}\n label={OtpConfig[0].texts.submitButtonLabel}\n heading={OtpConfig[0].texts.header}\n headingStyle={{ textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"sandbox-onboarding-wrapper\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default Otp;","export const SignUpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_SIGN_UP\",\n submitButtonLabel: \"CORE_COMMON_SIGN_UP_BUTTON\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n maxLength: 64,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n label: \"CORE_SIGNUP_ACCOUNT_NAME\",\n type: \"text\",\n key: \"accountName\",\n isMandatory: true,\n populators: {\n name: \"accountName\",\n validation: {\n required: true,\n pattern: /^[A-Za-z]+( [A-Za-z]+)*$/,\n maxLength: 50,\n },\n error: \"ERR_ACCOUNT_NAME_REQUIRED\",\n },\n infoMessage:\"SANDBOX_SIGNUP_ACCOUNT_NAME_TOOLTIP\"\n },\n {\n isMandatory: false,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"SandboxSignUp\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n bannerImages: [{\n id: 1,\n image: 'https://images.unsplash.com/photo-1746277121508-f44615ff09bb',\n title: 'A digital partner for frontline workers',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio nobis temporibus provident expedita consequuntur, repudiandae pariatur! Deleniti molestias vero, cumque vel error labore ipsam totam?\"\n },\n {\n id: 2,\n image: 'https://images.unsplash.com/photo-1581094271901-8022df4466f9',\n title: 'Feature 2 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 3,\n image: 'https://images.unsplash.com/photo-1624555130581-1d9cca783bc0',\n title: 'Feature 3 Title',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate aut autem aperiam et modi saepe obcaecati doloremque voluptatem iusto quidem!\"\n },\n {\n id: 4,\n image: 'https://images.unsplash.com/photo-1547481887-a26e2cacb5b2',\n title: 'Feature 4 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 5,\n image: 'https://images.unsplash.com/photo-1536782376847-5c9d14d97cc0',\n title: 'Feature 5 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 6,\n image: 'https://images.unsplash.com/photo-1490730141103-6cac27aaab94',\n title: 'Feature 6 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast, useCustomAPIMutationHook } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Login = ({ config: propsConfig, t, isDisabled }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n\n const navigate = useNavigate();\n\n const reqCreate = {\n url: `/tenant-management/tenant/_create`,\n params: {},\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onLogin = async (data) => {\n await mutation.mutate(\n {\n body: {\n tenant: {\n name: data.accountName,\n email: data.email,\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0]?.code ? `SANDBOX_SIGNUP_${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_SIGNUP_ERROR`,\n });\n },\n onSuccess: async (data) => {\n navigate({\n pathname: `/${window?.globalPath}/user/otp`,\n state: { email: data?.Tenants[0]?.email, tenant: data?.Tenants[0]?.code },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const onFormValueChange = (setValue, formData, formState) => {\n // Extract keys from the config\n const keys = config[0].body.map((field) => field.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || (key === \"check\" && value === false) || (key === \"captcha\" && value === false);\n });\n\n // Set disable based on the check\n setDisable(hasEmptyFields);\n };\n\n return isLoading || isStoreLoading ? (\n <Loader />\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={propsConfig?.texts?.secondaryButtonLabel}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className=\"sandbox-signup-form\"\n cardSubHeaderClassName=\"signupCardSubHeaderClassName\"\n cardClassName=\"signupCardClassName sandbox-onboarding-wrapper\"\n buttonClassName=\"buttonClassName\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast?.label)} onClose={closeToast} />}\n <div className=\"employee-login-home-footer\" style={{ backgroundColor: \"unset\" }}>\n <img\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default Login;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport { SignUpConfig as defaultSignUpConfig } from \"./config\";\nimport Login from \"./signUp\";\n\nconst SignUp = ({ stateCode }) => {\n const { t } = useTranslation();\n const [SignUpConfig, setSignUpConfig] = useState(defaultSignUpConfig);\n\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix\n });\n\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(\n stateCode,\n \"commonUiConfig\",\n [\"SignUpConfig\"],\n {\n select: (data) => ({\n config: data?.commonUiConfig?.SignUpConfig\n }),\n retry: false\n }\n );\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) {\n setSignUpConfig(mdmsData.config);\n } else {\n setSignUpConfig(defaultSignUpConfig);\n }\n }, [mdmsData, isLoading]);\n\n const SignUpParams = useMemo(\n () =>\n SignUpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [SignUpConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<Login config={SignUpParams[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default SignUp;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { BackLink, Button, Card, CardHeader, CardLabel, CardText, FieldV1, SVG, TextInput } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ViewUrl = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { tenant } = location.state || {};\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime:0,\n gcTime:0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n const handleCopyUrl = () => {\n navigator.clipboard.writeText(ref.current.value);\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <Card className=\"card-sandbox\">\n <Header showTenant={false} />\n <div className=\"sandbox-success-signup\">\n <SVG.TickMark fill={\"#fff\"} height={30} width={70} />\n </div>\n <CardHeader className=\"cardHeader-sandbox\" styles={{ color: \"#00703c\" }}>\n {t(\"SANDBOX_HEADER\")}\n </CardHeader>\n <CardText className=\"cardText-sandbox\">{t(\"SAMDBOX_URL_SUB\")}</CardText>\n <CardLabel> {t(\"SANDBOX_URL\")} </CardLabel>\n <div className=\"sandbox-url-wrapper\">\n <TextInput\n inputRef={ref}\n className={\"urlInputText\"}\n onChange={() => {}}\n nonEditable={true}\n value={`${window.location.host}/${window?.globalPath}/${tenant}/employee`}\n />\n <Button className=\"copyButton\" variation={\"secondary\"} onClick={() => handleCopyUrl()} label={t(\"COPY_URL\")}></Button>\n </div>\n <div className=\"sandbox-url-footer\">{t(\"SANDBOX_URL_FOOT\")}</div>\n <Button isDisabled={buttonDisabled} onClick={onButtonClick} label={t(\"SIGN_IN\")}></Button>\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nexport default ViewUrl;\n","import React from \"react\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"./DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-change-password\" */ \"../pages/employee/ChangePassword/index\"),\n () => require(\"../pages/employee/ChangePassword/index\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-forgot-password\" */ \"../pages/employee/ForgotPassword/index\"),\n () => require(\"../pages/employee/ForgotPassword/index\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst AppHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-home\" */ \"./Home\").then(module => ({ default: module.AppHome })),\n () => require(\"./Home\").AppHome,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes?.map?.((item) => item.code).includes(tenant.code));\n};\n\nexport const AppModules = ({ stateCode, userType, modules, appTenants, additionalComponent }) => {\n const location = useLocation();\n const user = Digit.UserService.getUser();\n\n if (!user || !user?.access_token || !user?.info) {\n return <Navigate to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }} replace />;\n }\n\n // Create app routes with dynamic module loading and loading states\n const appRoutes = modules?.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType={userType}\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n return (\n <div className=\"ground-container digit-home-ground\">\n <Routes>\n {appRoutes}\n <Route\n path=\"login\"\n element={\n <Navigate\n to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }}\n replace\n />\n }\n />\n <Route path=\"forgot-password\" element={<ForgotPassword />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"*\"\n element={\n <AppHome\n userType={userType}\n modules={modules}\n additionalComponent={additionalComponent}\n />\n }\n />\n </Routes>\n </div>\n );\n};","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate, Navigate } from \"react-router-dom\";\nimport { AppModules } from \"../../components/AppModules\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport { PrivateRoute } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport withAutoFocusMain from \"../../hoc/withAutoFocusMain\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-change-password\" */ \"./ChangePassword\"),\n () => require(\"./ChangePassword\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-forgot-password\" */ \"./ForgotPassword\"),\n () => require(\"./ForgotPassword\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-language-selection\" */ \"./LanguageSelection\"),\n () => require(\"./LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst EmployeeLogin = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-otp\" */ \"./Otp\"),\n () => require(\"./Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"user-profile\" */ \"../citizen/Home/UserProfile\"),\n () => require(\"../citizen/Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst userScreensExempted = [\"user/landing\", \"user/profile\", \"user/error\", \"user/productPage\"];\n\nconst EmployeeApp = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname, // This prop seems unused, consider removing\n initData,\n noTopBar = false,\n}) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const showLanguageChange = location?.pathname?.includes(\"language-selection\");\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n\n useEffect(() => {\n Digit.UserService.setType(\"employee\");\n }, []);\n\n const additionalComponent = initData?.modules?.filter((i) => i?.additionalComponent)?.map((i) => i?.additionalComponent);\n\n return (\n <div className=\"employee\">\n <Routes>\n <Route path=\"user/*\" element={\n <>\n {isUserProfile && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showSidebar={isUserProfile ? true : false}\n showLanguageChange={!showLanguageChange}\n />\n )}\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile\n ? { padding: 0, paddingTop: \"0\", marginLeft: mobileView ? \"0\" : \"0\" }\n : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path=\"login\" element={<EmployeeLogin stateCode={stateCode} />} />\n <Route path=\"login/otp\" element={<Otp isLogin={true} />} />\n <Route path=\"forgot-password\" element={<ForgotPassword stateCode={stateCode} />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"profile\"\n element={ <UserProfile stateCode={stateCode} userType={\"employee\"} cityDetails={cityDetails} />}\n />\n <Route\n path=\"error\"\n element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n }\n />\n <Route path=\"language-selection\" element={<LanguageSelection />} />\n <Route path=\"*\" element={<Navigate to=\"language-selection\" replace />} />\n </Routes>\n </div>\n </>}\n />\n\n <Route path=\"*\" element={\n <>\n {!noTopBar && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n modules={modules}\n />\n )}\n <div className={!noTopBar ? `main digit-home-main` : \"\"}>\n <div className=\"employee-app-wrapper digit-home-app-wrapper\">\n <ErrorBoundary initData={initData}>\n <AppModules\n stateCode={stateCode}\n userType=\"employee\"\n modules={modules}\n appTenants={appTenants}\n additionalComponent={additionalComponent}\n />\n </ErrorBoundary>\n </div>\n <div className=\"employee-home-footer\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.1em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n </>\n }/>\n\n <Route path=\"*\" element={<Navigate to={`user/language-selection`} replace />} />\n </Routes>\n </div>\n );\n};\n\nexport default withAutoFocusMain(EmployeeApp, \".digit-home-main\");","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n var mql;\n\n // matchMedia will return null in FF when it's called in a hidden iframe\n // ref: https://stackoverflow.com/a/12330568\n if(dynamicMatch && !forceStatic) mql = dynamicMatch.call(window, query);\n\n if (mql) {\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","/* 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","module.exports = __WEBPACK_EXTERNAL_MODULE__6243__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5053__;","module.exports = __WEBPACK_EXTERNAL_MODULE__338__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4456__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4883__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5953__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2148__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4442__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2247__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7122__;","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst 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\tconst 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\tconst 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};","// wrap a concatenated module body as a lazy, memoized accessor; mod is\n// set before the body runs so re-entrant calls (require cycles) observe\n// the partial exports like Node.js\n__webpack_require__.cw = (body) => {\n\tvar mod;\n\treturn () => {\n\t\tif (body) {\n\t\t\tvar fn = body;\n\t\t\tbody = 0;\n\t\t\tmod = { exports: {} };\n\t\t\tfn.call(mod.exports, mod, mod.exports);\n\t\t}\n\t\treturn mod.exports;\n\t};\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tvar descriptor = binding === 0 ? { enumerable: true, value: definition[i++] } : { enumerable: true, get: binding };\n\t\t\tif(!__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, descriptor);\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\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\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"CORE_LOADING_CITIZEN_APP\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"CORE_LOADING_EMPLOYEE_APP\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"CORE_LOADING_SIGN_UP\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"CORE_LOADING_VIEW_URL\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"CORE_LOADING\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>•</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'}}>•</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 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 from \"react\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeSSOLoginOptions = ({ t, props }) => {\n const { ssoConfigs = [] } = props || {};\n\n if (!ssoConfigs?.length) {\n return null;\n }\n\n const hasMultipleOptions = ssoConfigs.length > 1;\n\n return (\n <div className=\"employee-login-sso\">\n <div className=\"employee-login-sso-divider\">\n <span>{hasMultipleOptions ? t(\"CORE_COMMON_OR_SIGN_IN_WITH\") : t(\"CORE_COMMON_OR\")}</span>\n </div>\n {hasMultipleOptions ? (\n <div className=\"employee-login-sso-icons\">\n {ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label=\"\"\n variation=\"secondary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-icon ${sso.provider?.toLowerCase() || \"provider\"}-login-icon`}\n onClick={() => sso.onLogin?.(sso)}\n title={t(sso.label)}\n ariaLabel={t(sso.label)}\n style={{width:\"100%\"}}\n />\n ))}\n </div>\n ) : (\n ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label={t(sso.label)}\n variation=\"primary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-button ${sso.provider?.toLowerCase() || \"provider\"}-login-btn`}\n onClick={() => sso.onLogin?.(sso)}\n style={{width:\"100%\"}}\n />\n ))\n )}\n </div>\n );\n};\n\nexport default EmployeeSSOLoginOptions;\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\";\nimport EmployeeSSOLoginOptions from \"./components/EmployeeSSOLoginOptions\";\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 if(!Digit.ComponentRegistryService.getComponent(\"EmployeeSSOLoginOptions\")){\n Digit.ComponentRegistryService.setComponent(\"EmployeeSSOLoginOptions\", EmployeeSSOLoginOptions);\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 EmployeeSSOLoginOptions\n};\n\nexport const initCoreComponents = () => {\n // Ensure hooks introduced in newer libraries versions are always available.\n // Old deployments (e.g. digit-ui-libraries@1.8.8) won't have useSSOConfig,\n // so we register a no-op fallback so login.js never crashes with \"not a function\".\n if (!Digit.Hooks.useSSOConfig) {\n Digit.Hooks.useSSOConfig = () => ({ data: [], isLoading: false });\n }\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, 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","undefined","this","__WEBPACK_EXTERNAL_MODULE__6243__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","__WEBPACK_EXTERNAL_MODULE__7122__","_ref","children","_jsx","className","stringReplaceAll","str","arguments","length","searcher","replaceWith","_str","includes","_str2","replace","prop","_selectCityData$","_stringReplaceAll2","_useState2","_slicedToArray","useState","dropDownData","setDropDownData","_useState4","selectCityData","setSelectCityData","_useState6","navigate","useNavigate","isMultiRootTenant","dropdown","Digit","Utils","getMultiRootTenant","useEffect","_userloggedValues$inf","userloggedValues","SessionStorage","get","teantsArray","filteredArray","info","roles","forEach","role","push","tenantId","unique","filter","item","i","ar","indexOf","uniCode","_stringReplaceAll","label","concat","toUpperCase","value","select","style","mobileView","color","CardText","Dropdown","t","option","selected","find","cityValue","optionKey","showArrow","city","_Digit$SessionStorage","_window$location","_window","loggedInData","filteredRoles","set","UserService","setUser","window","location","href","contextPath","_location$state","_window2","redirectPath","state","from","reload","error","console","warn","freeze","customSelector","_languages$find","isDropdown","_Digit$Hooks$useStore","Hooks","useStore","getInitData","storeData","data","isLoading","languages","stateInfo","useTranslation","selectedLanguage","StoreData","getCurrentLanguage","setselected","handleChangeLanguage","language","LocalizationService","changeLanguage","code","_jsxs","React","marginBottom","map","index","Button","onClick","variation","props","useLocation","config","imgUrl","infoHeader","infoMessage","buttonInfo","action","globalPath","Background","Card","Header","showTenant","CardHeader","isSuffix","e","preventDefault","onSelect","onCancel","onDismiss","PopupStyles","isDisabled","hideSubmit","footer","type","size","formId","footerWithoutSubmit","PopUp","heading","footerChildren","sortFooterButtons","onClose","onOverlayClick","equalWidthButtons","DummyLoaderScreen","currentStep","setCurrentStep","tenant","steps","stepInterval","setInterval","prev","clearInterval","navigateTimeout","setTimeout","_window3","roleForLandingPage","getUserRoles","MdmsRes","pathname","RoleLandingUrl","clearTimeout","useRef","setButtonDisabled","useCustomMDMS","name","enabled","staleTime","cacheTime","_data$SandBoxLanding","url","_getUserRoles$","some","page","rolesForLandingPage","step","CheckCircle","fill","moduleCode","stateCode","userType","tenants","_ref$maxRetries","maxRetries","_ref$retryDelay","retryDelay","_ref$initialDelay","initialDelay","loading","retryCount","initialDelayComplete","moduleState","setModuleState","retryTimeout","initialTimeout","loadModule","_ref2","Module","ComponentRegistryService","getComponent","_objectSpread","delay","Math","pow","message","apply","loadingText","defaultValue","Loader","variant","loaderText","textAlign","marginTop","Navigate","to","encodeURIComponent","Redircter","getType","path","currentHref","navigationError","replaceError","ErrorBoundary","constructor","super","errorStack","hasError","getDerivedStateFromError","stack","componentDidCatch","errorInfo","setState","render","ErrorComponent","initData","errorData","goToHome","_Digit","_Digit$getType","call","__WEBPACK_DEFAULT_EXPORT__","ErrorConfig","maintenance","notfound","ModuleBasedErrorConfig","sandbox","_props$errorData","_Digit$Hooks$useQuery2","useQueryParams","ImageComponent","src","alt","_props$errorData2","_props$goToHome","_stateInfo$code","_ref$showTenant","headerSvgSecondaryUrl","globalConfigs","getConfig","logoUrl","borderRight","fontSize","Components","RoleBasedEmployeeHome","modules","additionalComponent","_Object$keys","sortedConfigEmployeesSidebar","_Digit$Hooks$useAcces","useAccessControl","ULBService","getStateId","mdmsOrderData","setMdmsOrderData","_Digit$Hooks$useCusto","_data$HomeScreenOrder","_Digit$Hooks$useCusto2","moduleConfigData","getLinkByType","moduleData","moduleConfig","moduleName","linkKey","links","displayName","getFilteredLinks","_moduleData$links","isNotConfigureMaster","isNotHowItWorks","howItWorksLink","isNotUserManual","userManualLink","configEmployeeSideBar","actions","parentModule","reduce","acc","kpis","icon","leftIcon","iconRender","iconName","iconFill","CustomSVG","digit_ui_components_","locale","getTransformedLocale","linkUrl","_url","transformURL","navigationURL","queryParamIndex","link","queryParams","substring","Object","keys","sort","a","b","_mdmsOrderData$find","_mdmsOrderData$find2","moduleType","order","_configEmployeeSideBa","sortedLinks","linkA","linkB","_mdmsOrderData$find3","_mdmsOrderData$find4","labelA","labelB","sortCardAndLink","current","_sortedConfigEmployee","_moduleData$links2","configureData","howItWorks","userManual","propsForModuleCard","metrics","centreChildren","open","padding","endChildren","LandingPageCard","buttonSize","_Fragment","LandingPageWrapper","child","FaqComponent","question","isLabelLink","answer","content","lastIndex","isOpen","toggleOpen","ListTag","justifyContent","display","float","ArrowForward","CardSectionSubText","listStyleType","margin","fulllink","baseURL","hostname","description","CardC","title","CardSectionHeader","FAQ","key","faqs","width","faq","QuickStart_QuickSetup","_ref3","cardConfig","height","overflowY","flexWrap","id","BreakLine","border","Config","formData","control","formState","_objectWithoutProperties","_excluded","QuickSetup","processLinkData","newData","obj","i18nKey","newObj","reverse","header","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","iconSelector","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","CitizenHome","getCitizenMenu","fetchedCitizen","isMobile","browser","parentModules","isApplyLink","toLowerCase","_mdmsDataObj$links","_mdmsDataObj$links2","mdmsDataObj","seenLinks","Set","dedupedLinks","ele","x","y","orderNumber","has","add","borderRadius","Devices","Divider","LinkIcon","handleNavigate","SVG","AddExpense","ListAlt","Boolean","BackLink","history","back","_mdmsDataObj$links3","_mdmsDataObj$links4","handleLinkClick","EmployeeHome","_ref4","Component","AppHome","_ref5","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","QuickSetupConfigComponent","_ref$alt","_ref$decorative","decorative","_ref$ariaLabel","ariaLabel","_ref$ariaLabelledby","ariaLabelledby","accessibilityProps","tabIndex","onKeyDown","_window$getConfig","focus","propTypes","PropTypes","isRequired","TopBarSideBar_TopBar","_userDetails$info2","_Digit$ComponentRegis","_userDetails$info3","_userDetails$info4","_window4","_cityDetails$city","_cityDetails$city2","toggleSidebar","isSidebarOpen","handleLogout","userDetails","CITIZEN","cityDetails","userOptions","handleUserDropdownSelection","logoUrlWhite","_ref$showLanguageChan","showLanguageChange","_React$useState2","profilePic","setProfilePic","app","_userDetails$info","getCurrentTenantId","uuid","usersResponse","userSearch","user","_userDetails$photo","thumbs","photo","split","at","_Digit$UserService","_Digit$UserService2","CitizenHomePageTenantId","getCitizenCurrentTenant","_Digit$Hooks$useNotif","useNotificationCount","getUser","_Digit$Hooks$useNotif2","unreadNotificationCount","unreadCount","notificationCountLoaded","isSuccess","TopBarComponent","img","updateSidebar","clikOusideFired","onLogout","notificationCount","cityOfCitizenShownBesideLogo","onNotificationIconClick","hideNotificationIconOnSomeUrlsWhenNotLoggedIn","_Digit$UserService3","access_token","urlsToDisableNotificationIcon","ChangeLanguage","loggedin","CustomEmployeeTopBar","TopBarComponentMain","actionFields","ChangeCity","userInfo","menuStyles","theme","onHamburgerClick","logoWidth","logoHeight","logo","logoId","statelogo","onImageClick","onLogoClick","showDeafultImg","ulb","ulbGrade","defaultImage","sidebar_menu","SideBarMenu","closeSidebar","redirectToLoginPage","isEmployee","element","text","LogoutIcon","populators","Profile","stateName","mobileNumber","emailId","IconsObject","CommonPTIcon","propertyIcon","PropertyHouse","CaseIcon","WSIcon","CollectionIcon","BirthIcon","DeathIcon","FirenocIcon","HomeIcon","EditPencilIcon","Phone","SideBar_StaticCitizenSideBar","_user$info","_menuItems","linkData","islinkDataLoading","isFetched","showDialog","setShowDialog","handleOnCancel","showProfilePage","menuItems","profileItem","_window5","_window6","_storeData$tenants","_storeData$tenants$fi","_storeData$tenants$","_storeData$tenants$fi2","_storeData$tenants$2","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_window7","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","top","backgroundColor","pointerzevents","flexDirection","zIndex","LogoutDialog","handleOnSubmit","logout","CitizenSideBar","_menuItems2","_menuItems3","_user$info2","_user$info3","_user$info4","_ref3$isMobile","_ref3$isEmployee","userProfile","search","_useState8","_useState0","_useState10","fetchUserProfile","_asyncToGenerator","_usersResponse$user2","_usersResponse$user3","userData","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","styles","hideUserManuals","profile","isSearchable","_ref7","_ref6","_window8","_window9","parentIndex","handleChangeCity","onItemSelect","StaticCitizenSideBar","SideBar_EmployeeSideBar","EmployeeSideBar","extractLeftIcon","Array","isArray","subResult","mergeObjects","obj1","obj2","hasOwnProperty","_item$path","_item$path2","hierarchicalMap","sortDataByOrderNumber","Infinity","transformedData","transformItem","navigationUrl","childKey","iconKey","transformData","objectArray","entries","fromEntries","splitKeyValue","sortedTransformedData","MediaQuery","minWidth","SideNav","hideAccessbilityTools","test","hostUrl","origin","fallbackError","navigateToRespectiveURL","expandedWidth","collapsedWidth","onBottomItemClick","TopBarSideBar_SideBar","components_TopBarSideBar","_ref$showSidebar","showSidebar","handleSSOLogout","provider","localStorage","getItem","normalizedProvider","logoutUrlFromConfig","redirectParamName","token","_window$google","google","accounts","disableAutoSelect","fetch","method","headers","removeItem","postLogoutRedirectUri","URL","searchParams","toString","handleSidebar","func","TopBar","SideBar","WrappedComponent","mainSelector","handleFirstTab","main","document","querySelector","setAttribute","outline","removeEventListener","addEventListener","callback","savedCallback","timer","useLoginConfig","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","FAQs_FaqComponent","FAQs","_data$MdmsRes$common","_Digit$Hooks$useGetFA","useGetFAQsJSON","moduleFaqs","Fragment","BackButton","marginLeft","HeaderComponent","paddingTop","LanguageSelection","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","texts","useMemo","submitBarLabel","RadioButtonProps","options","optionsKey","additionalWrapperClass","selectedOption","PageBasedInput","onSubmit","RadioButtons","LocationSelection","uiHomePage","redirectURL","_Digit$Hooks$useTenan","useTenants","cities","selectedCity","setSelectedCity","showError","setShowError","selectCity","redirectBackTo","SearchOnRadioButtons","placeholder","CardLabelError","ImageUpload_UploadDrawer","closeDrawer","removeProfilePic","showToast","setUploadedFile","file","setFile","setError","_response$data","response","UploadServices","Filestorage","files","_response$data2","fileStoreId","err","position","left","right","bottom","onOverlayBodyClick","alignItems","flex","gap","for","cursor","GalleryIcon","accept","onChange","target","removeimg","RemoveIcon","DEFAULT_TENANT","_Digit$getStateId","defaultValidationConfig","UserProfileValidationConfig","password","Home_IndividualUserProfile","_Digit$UserService$ge","_mdmsValidationData$U2","_defaultValidationCon","_errors$userName","_errors$emailAddress","_mdmsValidationData$U3","_defaultValidationCon2","_errors$userName2","_mdmsValidationData$U4","_defaultValidationCon3","_errors$mobileNumber","_errors$emailAddress2","_mdmsValidationData$U5","_defaultValidationCon4","_errors$currentPasswo","_mdmsValidationData$U6","_defaultValidationCon5","_errors$newPassword","_mdmsValidationData$U7","_defaultValidationCon6","_errors$confirmPasswo","stateId","setUserDetails","setName","email","setEmail","gender","setGender","permanentCity","setCity","setMobileNo","_useState12","_useState14","profileImg","setProfileImg","_useState16","openUploadSlide","setOpenUploadSide","_useState18","changepassword","setChangepassword","_useState20","currentPassword","setCurrentPassword","_useState22","newPassword","setNewPassword","_useState24","confirmPassword","setConfirmPassword","_useState26","toast","setToast","_useState28","setLoading","innerWidth","windowWidth","setWindowWidth","_React$useState4","errors","setErrors","individualServicePath","mapConfigToRegExp","_config$UserProfileVa","startsWith","lastIndexOf","lastSlashIndex","pattern","slice","flags","RegExp","_useState30","validationConfig","setValidationConfig","commonUiConfig","mdmsValidationData","isValidationConfigLoading","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","_response$Individual","CustomService","getResponse","useCache","userService","params","limit","offset","body","Individual","userUuid","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","userName","setUserEmailAddress","emailAddress","duration","updateProfile","_userDetails$name","_userDetails$name2","_responseInfo","trim","JSON","stringify","responseInfo","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","individualPayload","givenName","familyName","otherNames","isDeleted","isSystemUser","isSystemUserActive","status","requestData","existingPassword","username","changePasswordResponseInfo","changePassword","_error$Errors","Errors","errorObj","parse","_error$response","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","thumbnails","getThumbnails","_x","ids","res","Filefetch","fileStoreIds","o","images","getFileUrl","_x2","_x3","BreadCrumb","crumbs","internalLink","show","boxShadow","background","maxWidth","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","CardLabel","TextInput","isMandatory","disable","ErrorMessage","truncateMessage","maxLength","wrapperClassName","showIcon","disabled","borderBottom","MobileNumber","_validationConfig$mob","setUserMobileNumber","required","getOTPBasedLogin","TogleforPassword","paddingLeft","_e$target","_e$target2","_e$target3","fontWeight","Footer","SubmitBar","setactionFieldsToRight","Toast","UploadDrawer","Home_UserProfile","useAnIndividual","IndividualUserProfile","handleResize","_yield$Digit$UserServ","updateUser","Home","_window3$includes","_window4$includes","_citizenServicesObj$s","_citizenServicesObj$p","_citizenServicesObj$p3","_citizenServicesObj$p5","_citizenServicesObj$p7","_infoAndUpdatesObj$si","_infoAndUpdatesObj$pr","_infoAndUpdatesObj$pr3","_infoAndUpdatesObj$pr5","_infoAndUpdatesObj$pr7","_whatsNewSectionObj$s2","conditionsToDisableNotificationCountTrigger","_Digit$Hooks$useEvent","useEvents","EventsData","EventsDataLoading","appBannerWebObj","appBannerDesktop","appBannerMobObj","appBannerMobile","citizenServicesObj","citizenServicesCard","infoAndUpdatesObj","informationAndUpdatesCard","whatsAppBannerWebObj","whatsAppBannerDesktop","whatsAppBannerMobObj","whatsAppBannerMobile","whatsNewSectionObj","whatsNewSection","handleClickOnWhatsAppBanner","allCitizenServicesProps","headerLabel","sideOption","_citizenServicesObj$s2","Icon","ComplaintIcon","_citizenServicesObj$p2","_citizenServicesObj$p4","_citizenServicesObj$p6","_citizenServicesObj$p8","allInfoAndUpdatesProps","_infoAndUpdatesObj$si2","_infoAndUpdatesObj$pr2","Calender","_infoAndUpdatesObj$pr4","DocumentIcon","_infoAndUpdatesObj$pr6","_infoAndUpdatesObj$pr8","bannerUrl","CardBasedOptions","_whatsNewSectionObj$s","WhatsNewCard","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","xmlns","d","_Digit$Hooks$useGetHo","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","CustomButton","videosJson","videos","onClickVideo","vidObj","pdfHeader","pdfDesc","PDFSvg","DownloadImgIcon","CloseSvg","controls","autoPlay","otp","onOtpChange","onResend","_ref$userType","canSubmit","timeLeft","setTimeLeft","useInterval","handleResendOtp","OTPInput","FormStep","loginSteps","cardText","nextText","inputs","validation","minlength","maxlength","Login_SelectMobileNumber","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","Login_SelectName","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","Login_IndividualLogin","_ref$isUserRegistered","isUserRegistered","isOtpValid","setIsOtpValid","setParams","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","_location$state2","setCitizenDetail","userObject","_JSON$parse","sessionStorage","setItem","stepItems","selectMobileNumber","_yield$sendOtp2","sendOtp","selectName","registerURL","IndividualRegister","requestType","auth","Error","selectOtp","authenticate","ResponseInfo","UserRequest","tokens","resendOtp","_yield$sendOtp4","AppContainer","Routes","Route","SelectMobileNumber","event","showRegisterLink","SelectOtp","SelectName","TYPE_REGISTER","citizen_Login","_location$state7","IndividualLogin","_location$state4","_location$state3","_location$state5","_yield$sendOtp6","_location$state6","roleInfo","userRole","otpReference","_yield$Digit$UserServ2","registerUser","_excluded2","_yield$sendOtp0","_yield$sendOtp8","isCitizenDesktop","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","getEventValue","checked","isNameInFieldArray","names","getNodeParentName","isWeb","HTMLElement","cloneObject","copy","Blob","FileList","tempObject","prototypeCopy","prototype","isPlainObject","compact","isUndefined","val","object","result","isBoolean","isKey","stringToPath","input","tempPath","newValue","objValue","isNaN","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","external_React_","createContext","useFormContext","useContext","getProxyFormState","localProxyFormState","isRoot","defaultValues","_defaultValues","defineProperty","_key","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","subject","subscribe","next","unsubscribe","isString","generateWatchOutput","_names","formValues","isGlobal","watch","fieldName","watchAll","Controller","methods","shouldUnregister","isArrayField","array","_name","_subjects","values","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","isValid","_updateFormState","_updateValid","useFormState","_registerProps","register","rules","_shouldUnregisterField","_options","updateMounted","field","_fields","_f","mount","_state","unregister","_updateDisabledField","fields","useCallback","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","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","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","defaultChecked","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","context","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","setValue","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","Number","shouldSkipValidation","deps","skipValidation","watched","previousErrorLookupResult","errorLookupResult","previousFieldError","delayError","updateErrors","wait","updatedFormState","shouldRenderByError","_focusInput","fieldNames","executeSchemaAndUpdateState","Promise","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","then","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","Search_SearchFields","previousPage","SearchField","DatePicker","date","Search_MobileSearchApplication","_data$roles","tabledata","settabledata","DownloadBtn","DownloadBtnCommon","returnObject","convertEpochToDate","timestamp","convertEpochToTimeInHours","dataView","dataViewedBy","dateEpoch","dateFromApi","month","getMonth","day","getDate","year","getFullYear","hour","getHours","getMinutes","period","_useReducer2","useReducer","currentlyActiveMobileModal","setActiveMobileModal","closeMobilePopupModal","MobilePopUpCloseButton","searchFormFieldsComponentProps","CurrentMobileModalComponent","SearchForm","SearchFormFields","MobileComponentDirectory","propsMobileInboxCards","_data$roles$slice","tabData","Download","Excel","handleExcelDownload","SearchAction","handleActionClick","DetailsCard","Search","count","_useForm","_formControl","_values","useForm","sortOrder","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","Table","totalRecords","getCellProps","cellInfo","column","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","SearchApp","_data$ElasticSearchDa","_data$ElasticSearchDa2","setPayload","convertDateToEpoch","dateString","dayStartOrEnd","parts","DateObj","UTC","setMinutes","getTimezoneOffset","setHours","setSeconds","getSeconds","storedPayload","k","_Digit$Hooks$useAudit","useAudit","filters","AuditSearchApplication","_data","sortBy","fromDate","toDate","ElasticSearchData","_mdmsData$MdmsRes$com","_mdmsConfigResult$hel","_mdmsConfigResult$hel2","_mdmsConfigResult$hel3","_mdmsConfigResult$hel4","_mdmsConfigResult$hel5","_mdmsConfigResult$hel6","_staticData","_staticData2","_staticData3","_staticData4","_staticData5","_staticContent","_staticContent2","_staticContent3","_Digit$Hooks$useStati","useStaticData","isMdmsLoading","mdmsData","_Digit$Hooks$useDynam","useDynamicData","isSearchLoading","dynamicData","IconComponent","StaticData","StaticDataIconComponentOne","TimerIcon","StaticDataIconComponentTwo","RupeeSymbol","staticContent","staticCommonContent","validity","staticData","staticDataOne","staticDataOneHeader","staticDataTwo","staticDataTwoHeader","payViaWhatsApp","handleClickOnWhatsApp","WhatsappIconGreen","helpline","HelpLineIcon","contactOne","contactTwo","serviceCenter","ServiceCenterIcon","viewMapLocation","dynamicDataOne","dynamicDataTwo","ValidityTimeIcon","SideBar_CitizenSideNav","isLoggedIn","handleLogoutCancel","buildItems","isDigitStudio","orderCounter","_moduleEntries$","moduleEntries","entry","_entry$sidebar","endsWith","rawIcon","seen","navigateToUrl","enableSearch","handleLogoutSubmit","lazyWithFallback","resolve","__webpack_require__","FAQsSection","UserProfile","HowItWorks","Login","StaticDynamicCard","sidebarHiddenFor","getTenants","codes","citizen","_Digit$ComponentRegis2","_Digit$ComponentRegis3","_window7$getConfig","DSO","appTenants","sourceUrl","_data$ACCESSCONTROLA","el","_a$b$parentModule","isLinkDataFetched","classname","useRouteSubscription","hideSidebar","CitizenLandingPage","ServiceLandingPage","ServiceActionsPage","appRoutes","DynamicModuleLoader","ModuleLevelLinkHomePages","bannerImage","CitizenHomeCard","Info","CitizenInfoLabel","isInfo","TopBarSideBar","CitizenSideNav","_window8$getConfig","ChangePasswordComponent","_window3$getConfig","propsConfig","_Digit$Hooks$useQuery","mobile_number","setOtp","setShowToast","getUserType","setType","closeToast","onResendOTP","_err$response","error_description","onChangePassword","navigateToLogin","_err$response2","_propsConfig$inputs","FormComposer","noBoxShadow","inline","submitInForm","submitButtonLabel","cardStyle","CardSubHeader","_window4$getConfig","loginParams","defaultProps","ChangePassword","EmployeeChangePassword","loginConfig","ForgotPassword","_window6$getConfig","_mdmsData$config$","bannerImages","onForgotPassword","alert","Carousel","FormComposerV2","secondaryActionLabel","secondaryButtonLabel","onSecondayActionClick","headingStyle","descriptionStyles","secondaryActionId","_window5$getConfig","forgotPassword","employee_ForgotPassword","ForgotPasswordComponent","defaultLanguage","_Digit$getDefaultLang","getDefaultLanguage","_loginMdmsData$config","_defaultLanguages","_window2$getConfig","loginMdmsData","loginScreenConfig","defaultLoginConfig","defaultLanguages","isChangingLanguage","setIsChangingLanguage","getLocale","hasMultipleLanguages","now","_loginConfig$","_ref$bannerImages","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","mdmsConfig","masterName","localePrefix","component","customProps","renderAfterSubmit","LoginOtpConfig","Dialog_ForgotPasswordDialog","buttonLabel","DEFAULT_FORGOT_PASSWORD_POPUP","_Digit2","_config$","_config$2","_forgotScreenConfig$p","_forgotScreenConfig$p2","_forgotScreenConfig$p3","_forgotScreenConfig$p4","_forgotScreenConfig$p5","_forgotScreenConfig$p6","loginOTPBased","isStoreLoading","_Digit$Hooks$useSSOCo","useSSOConfig","_data$MdmsRes","_data$SSO","IdentityProviders","ssoMDMSData","setDisable","loginLoader","setLoginLoader","showForgotPasswordPopup","setShowForgotPasswordPopup","forgotScreenConfig","forgotPasswordScreen","DynamicLoginComponent","hashParams","URLSearchParams","hash","idToken","accessToken","errorDescription","handleDigitLogin","microsoftAuthenticate","catch","_user$info5","_user$info6","setEmployeeDetail","decodeURIComponent","Authorization","grant_type","scope","assertion","ok","_parsed","_parsed2","_parsed3","_parsed4","parsed","raw","json","replaceState","onSSOLogin","ssoConfig","ui","hasOidcConfig","authorizeUrl","clientId","authStrategy","onOIDCLogin","resource","logoutUrl","logoutRedirectParam","authority","uiConfig","_ref5$scopes","scopes","_ref5$responseType","responseType","_ref5$responseMode","responseMode","_ref5$nonceRequired","nonceRequired","_ref5$redirectPath","prompt","nonce","random","redirectUri","forcePromptLogin","buildOIDCAuthorizeUrl","onLogin","_ref8","_requestData$city","_excluded3","_x4","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_ref9","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","_error$response2","onSuccess","_Digit4","_x6","_x5","_window0","defaultTenant","ssoConfigs","sso","_sso$ui","_sso$ui2","_sso$ui3","_sso$ui4","_sso$ui5","_sso$ui6","_field$populators","_field$populators2","onFormValueChange","hasEmptyFields","renderLoginForm","_propsConfig$texts","_propsConfig$texts2","_propsConfig$texts3","_propsConfig$texts4","extraClasses","cardClassName","wrapperClass","cardSubHeaderClassName","buttonClassName","renderFooter","footerClassName","_window1","_window1$getConfig","_window10","_window10$getConfig","ForgotPasswordDialog","popupFields","login","withAutoFocusMain","employee_Login","setloginConfig","defaultLoginOtpConfig","loginOtpConfig","loginType","_useLoginConfig","Services","modulePrefix","loginOtpParams","LoginComponent","_ref$isLogin","isLogin","OtpConfig","redirectPathOtpLogin","getRedirectPathOtpLogin","locationPathname","_MdmsRes$","isSuperUser","_formData$OtpComponen","OtpComponent","formValue","_otpValue$otp","otpValue","SignUpConfig","accountName","_data$Tenants$","_data$Tenants$2","Tenants","signUp","employee_SignUp","defaultSignUpConfig","setSignUpConfig","_Digit$Hooks$useCommo","_data$commonUiConfig","SignUpParams","ViewUrl","buttonDisabled","gcTime","TickMark","nonEditable","host","navigator","clipboard","writeText","onButtonClick","default","_codes$map","AppModules","EmployeeLogin","Otp","userScreensExempted","employee","_location$pathname","_initData$modules","_ref$noTopBar","noTopBar","isUserProfile","_location$pathname2","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","number","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","Y","mediaQuery","query","captures","RE_MEDIA_QUERY","modifier","expressions","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","staticMatch","css_mediaquery_namespaceFn","dynamicMatch","matchMedia","Mql","forceStatic","mql","self","update","evt","matches","media","addListener","listener","removeListener","dispose","uppercasePattern","msPattern","cache","toHyphenLower","hyphenate_style_name","hName","stringOrNumber","prop_types_default","esm_types","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","esm_type","featureMatchers","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","mq","Context","hyphenateKeys","useIsUpdate","useQuery","settings","getQuery","v","realKey","keyVal","toQuery","makeQuery","setQuery","newQuery","useMediaQuery","device","deviceSettings","deviceFromProps","deviceFromContext","getDevice","setDevice","newDevice","objA","objB","aKeys","bKeys","len","shallowEqualObjects","useDevice","getMatchMedia","matchmediaquery_default","setMq","isUpdate","newMq","useMatchMedia","setMatches","updateMatches","ev","useMatches","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","cw","mod","fn","definition","binding","descriptor","r","Symbol","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","_ref$defaultLanding","defaultLanding","_ref$allowedUserTypes","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_window11","_ref3$defaultLanding","_location","middleware","thunk","enhancer","composeEnhancers","compose","applyMiddleware","store","defaultStore","moduleReducers","createStore","getRootReducer","combineReducers","common","defaultData","components_PrivacyComponent","isChecked","setIsChecked","showPopUp","setShowPopUp","privacy","PrivacyPolicy","policy","_props$props","CheckBox","footerclassName","sortFooterChildren","contents","getElementById","scrollIntoView","behavior","isSpaceRequired","descriptions","subIndex","isBold","subDescriptions","subDesc","subSubIndex","components_EmployeeSSOLoginOptions","_ref2$ssoConfigs","hasMultipleOptions","_sso$provider","_sso$onLogin","_sso$provider2","_sso$onLogin2","DigitUIWrapper","_initData$stateInfo","_initData$stateInfo2","_initData$stateInfo3","enabledModules","_Digit$Hooks$useInitS","useInitStore","_Digit$Hooks$useInitS2","getStore","getI18n","setComponent","PrivacyComponent","EmployeeSSOLoginOptions","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","A","_props$props4","_props$props2","_props$props3","ForgotOrganizationTooltip","showTip","setShowTip","wrapperRef","handleClickOutside","contains","whiteSpace","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"main.js","mappings":"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","sources":["webpack://@egovernments/digit-ui-module-core/webpack/universalModuleDefinition","webpack://@egovernments/digit-ui-module-core/./src/components/Background.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeCity.js","webpack://@egovernments/digit-ui-module-core/./src/components/ChangeLanguage.js","webpack://@egovernments/digit-ui-module-core/./src/components/CustomErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/Dialog/LogoutDialog.js","webpack://@egovernments/digit-ui-module-core/./src/components/DummyLoader.js","webpack://@egovernments/digit-ui-module-core/./src/components/DynamicModuleLoader.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorBoundaries.js","webpack://@egovernments/digit-ui-module-core/./src/components/ErrorComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/Header.js","webpack://@egovernments/digit-ui-module-core/./src/components/RoleBasedEmployeeHome.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/QuickSetup.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/QuickStart/Config.js","webpack://@egovernments/digit-ui-module-core/./src/components/Home.js","webpack://@egovernments/digit-ui-module-core/./src/components/ImageComponent.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/TopBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/utils.js","webpack://@egovernments/digit-ui-module-core/./src/config/sidebar-menu.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/CitizenSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/EmployeeSideBar.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/index.js","webpack://@egovernments/digit-ui-module-core/./src/hoc/withAutoFocusMain.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useInterval.js","webpack://@egovernments/digit-ui-module-core/./src/hooks/useLoginConfig.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FaqComponent.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/FAQs/FAQs.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LanguageSelection.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/LocationSelection.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/ImageUpload/UploadDrawer.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/IndividualUserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/UserProfile.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Home/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/HowItWorks/howItWorks.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectOtp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectMobileNumber.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/SelectName.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/IndividualLogin.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/Login/index.js","webpack://@egovernments/digit-ui-module-core/javascript/node_modules/react-hook-form/dist/index.esm.mjs","webpack://@egovernments/digit-ui-module-core/./src/components/Search/SearchFields.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/MobileSearchApplication.js","webpack://@egovernments/digit-ui-module-core/./src/components/Search/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/SearchApp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js","webpack://@egovernments/digit-ui-module-core/./src/components/TopBarSideBar/SideBar/CitizenSideNav.js","webpack://@egovernments/digit-ui-module-core/./src/pages/citizen/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/changePassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ChangePassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/forgotPassword.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ForgotPassword/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/LanguageSelection/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/Carousel/Carousel.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/ConfigOtp.js","webpack://@egovernments/digit-ui-module-core/./src/components/Dialog/ForgotPasswordDialog.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/login.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/signUp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ViewUrl/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/AppModules.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/matchmediaquery/index.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/external umd \"@egovernments/digit-ui-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-react-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-svg-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@tanstack/react-query\"","webpack://@egovernments/digit-ui-module-core/external umd \"React\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-i18next\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-router-dom\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux-thunk\"","webpack://@egovernments/digit-ui-module-core/external umd {\"commonjs\":\"react/jsx-runtime\",\"commonjs2\":\"react/jsx-runtime\"}","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/concatenation wrap","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/components/ForgotOrganizationTooltip.js","webpack://@egovernments/digit-ui-module-core/./src/components/EmployeeSSOLoginOptions.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/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(\"@egovernments/digit-ui-react-components\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@tanstack/react-query\"), require(\"React\"), require(\"react-i18next\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"redux\"), require(\"redux-thunk\"), require(\"react/jsx-runtime\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"@egovernments/digit-ui-react-components\", \"@egovernments/digit-ui-svg-components\", \"@tanstack/react-query\", \"React\", \"react-i18next\", \"react-redux\", \"react-router-dom\", \"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(\"@egovernments/digit-ui-react-components\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@tanstack/react-query\"), require(\"React\"), require(\"react-i18next\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"redux\"), require(\"redux-thunk\"), require(\"react/jsx-runtime\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"@egovernments/digit-ui-svg-components\"], root[\"@tanstack/react-query\"], root[\"React\"], root[\"react-i18next\"], root[\"react-redux\"], root[\"react-router-dom\"], root[\"redux\"], root[\"redux-thunk\"], root[undefined]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__, __WEBPACK_EXTERNAL_MODULE__7122__) => {\nreturn ","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { CardText, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n};\n\nconst ChangeCity = (prop) => {\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); \n const navigate = useNavigate();\n const isDropdown = prop.dropdown || false;\n let selectedCities = [];\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: `TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`,\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n // if (isDropdown) {\n return (\n <div style={prop?.mobileView ? { color: \"#767676\" } : {}}>\n {\n (isMultiRootTenant && selectCityData.length==1) ? \n <CardText style={{color:\"#363636\"}}>{selectCityData?.[0]?.value}</CardText>\n :\n <Dropdown\n t={prop?.t}\n option={selectCityData}\n selected={selectCityData.find((cityValue) => cityValue.value === dropDownData?.value)}\n optionKey={\"label\"}\n showArrow={true}\n select={handleChangeCity}\n freeze={true}\n customSelector={\n <label className=\"cp\">\n {prop?.t(`TENANT_TENANTS_${stringReplaceAll(Digit.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`)}\n </label>\n }\n />\n}\n </div>\n );\n // } else {\n // return (\n // <React.Fragment>\n // <div style={{ marginBottom: \"5px\" }}>City</div>\n // <div className=\"language-selector\" style={{display: \"flex\", flexWrap: \"wrap\"}}>\n // {selectCityData?.map((city, index) => (\n // <div className=\"language-button-container\" key={index}>\n // <CustomButton\n // selected={city.value === Digit.SessionStorage.get(\"Employee.tenantId\")}\n // text={city.label}\n // onClick={() => handleChangeCity(city)}\n // ></CustomButton>\n // </div>\n // ))}\n // </div>\n // </React.Fragment>\n // );\n // }\n};\n\nexport default ChangeCity;\n","import { Button, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguage = (prop) => {\n const isDropdown = prop.dropdown || false;\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n const { t } = useTranslation();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n if (isLoading) return null;\n\n if (isDropdown) {\n return (\n <div>\n <Dropdown\n className={\"language-dropdown\"}\n option={languages}\n selected={languages?.find((language) => language?.value === selectedLanguage)}\n optionKey={\"label\"}\n select={handleChangeLanguage}\n freeze={true}\n showArrow={true}\n customSelector={<label className=\"cp\">{t(languages?.find((language) => language?.value === selected)?.label)}</label>}\n />\n </div>\n );\n } else {\n return (\n <React.Fragment>\n <div style={{ marginBottom: \"5px\" }}>Language</div>\n <div className=\"language-selector\">\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <Button\n label={language.label}\n onClick={() => handleChangeLanguage(language)}\n variation={language.value === selected ? \"primary\" : \"\"}\n />\n </div>\n ))}\n </div>\n </React.Fragment>\n );\n }\n};\n\nexport default ChangeLanguage;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Background from \"./Background\";\nimport { Button, Card, CardHeader, CardText } from \"@egovernments/digit-ui-components\";\nimport Header from \"./Header\";\n\nconst CustomErrorComponent = (props) => {\n const { state = {} } = useLocation();\n // const module = state?.module;\n const { t } = useTranslation();\n const stateInfo = props.stateInfo;\n\n const navigate = useNavigate();\n const ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://s3.ap-south-1.amazonaws.com/egov-qa-assets/error-image.png`,\n infoHeader: \"WRONG_TENANT_SIGN_UP\",\n infoMessage: \"WRONG_TENANT_SIGN_UP_MESSAGE\",\n buttonInfo: \"WRONG_TENANT_SIGN_UP_BUTTON\",\n action: () => {\n navigate(`/${window.globalPath}/`);\n },\n },\n };\n const config = ModuleBasedErrorConfig[\"sandbox\"];\n\n return (\n <Background>\n <Card className={`digit-employee-card customError`}>\n <Header showTenant={false} />\n <CardHeader className={\"center\"}>{t(config.infoHeader)}</CardHeader>\n <CardText className={\"center\"}>{t(config.infoMessage)}</CardText>\n <Button\n className=\"customErrorButton\"\n label={t(config?.buttonInfo)}\n variation={\"primary\"}\n isSuffix={true}\n onClick={(e) => {\n e.preventDefault();\n config?.action();\n }}\n />\n </Card>\n </Background>\n );\n};\n\nexport default CustomErrorComponent;\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoutDialog = ({ onSelect, onCancel, onDismiss, PopupStyles, isDisabled, hideSubmit }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>\n {t(\"CORE_LOGOUT_WEB_CONFIRMATION_MESSAGE\") + \" \"}\n <strong>{t(\"CORE_LOGOUT_MESSAGE\")}</strong>\n </CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"CORE_LOGOUT_WEB_YES\")}\n formId={\"modal-action\"}\n onClick={onSelect}\n isDisabled={isDisabled}\n />\n ];\n\n const footerWithoutSubmit = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"digit-action-cancel\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(\"CORE_LOGOUT_WEB_HEADER\")}\n footerChildren={hideSubmit ? footerWithoutSubmit : footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-logout-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default LogoutDialog;","import React, {useRef, useEffect, useState } from \"react\";\nimport { CheckCircle } from \"@egovernments/digit-ui-svg-components\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DummyLoaderScreen = () => {\n const [currentStep, setCurrentStep] = useState(0);\n const navigate = useNavigate();\n const location = useLocation();\n const { t } = useTranslation();\n const { tenant } = location.state || {};\n const steps = [\n \"SANDBOX_GUIDE_SETUP_ACCOUNT\",\n \"SANDBOX_GUIDE_DEFAULT_MASTER_DATA\",\n \"SANDBOX_GUIDE_CONFIGURING_COMPLAINTS\",\n \"SANDBOX_GUIDE_CONFIGURING_EMPLOYEE_MANAGEMENT\",\n \"SANDBOX_GUIDE_SETTING_UP_CITIZEN_PORTAL\",\n \"SANDBOX_GUIDE_SETTING_UP_EMPLOYEE_PORTAL\",\n \"SANDBOX_GUIDE_LOADING_CONFIGURATION_INTERFACE\",\n \"SANDBOX_GUIDE_CREATING_DASHBOARD\",\n \"SANDBOX_GUIDE_ALL_SETUP_DONE\",\n ];\n useEffect(() => {\n const stepInterval = setInterval(() => {\n if (currentStep < steps.length) {\n setCurrentStep((prev) => prev + 1);\n }\n }, 2000); // 1 second delay for each step\n\n if (currentStep === steps.length) {\n clearInterval(stepInterval); // Clear the interval to stop further updates\n const globalPath = typeof window !== 'undefined' ? window?.globalPath : '';\n\n const navigateTimeout = setTimeout(() => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}${RoleLandingUrl}`,\n state: { tenant: tenant },\n });\n\n } else {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}/employee`,\n state: { tenant: tenant },\n });\n }\n }, 1000);\n\n return () => clearTimeout(navigateTimeout); // Cleanup timeout\n }\n\n return () => {\n clearInterval(stepInterval);\n };\n }, [currentStep]);\n\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n return (\n <div className=\"sandbox-loader-screen\">\n <div className=\"sandbox-loader\"></div>\n <ul className=\"sandbox-installation-steps\">\n {steps.map((step, index) => (\n <li key={index} className={`sandbox-step ${index < currentStep ? \"sandbox-visible\" : \"\"}`}>\n <span className=\"sandbox-step-text\">{t(step)}</span>\n {index < currentStep && <CheckCircle fill=\"#00703C\" />}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nexport default DummyLoaderScreen;\n","import React, { useState, useEffect } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * DynamicModuleLoader handles loading of modules from the ComponentRegistryService\n * with loading states, retries, and graceful error handling\n */\nconst DynamicModuleLoader = ({ \n moduleCode, \n stateCode, \n userType, \n tenants, \n maxRetries = 5, \n retryDelay = 1500,\n initialDelay = 100 // Initial delay before first check to allow modules to register\n}) => {\n const [moduleState, setModuleState] = useState({\n module: null,\n loading: true,\n error: null,\n retryCount: 0,\n initialDelayComplete: false\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n let retryTimeout;\n let initialTimeout;\n\n const loadModule = async () => {\n try {\n // Check if module is available in ComponentRegistryService\n const Module = Digit.ComponentRegistryService.getComponent(`${moduleCode}Module`);\n \n if (Module) {\n setModuleState({\n module: Module,\n loading: false,\n error: null,\n retryCount: 0,\n initialDelayComplete: true\n });\n } else {\n // Module not found, check if we should retry\n if (moduleState.retryCount < maxRetries) {\n setModuleState(prev => ({\n ...prev,\n retryCount: prev.retryCount + 1\n }));\n \n // Retry after delay (exponential backoff)\n const delay = retryDelay * Math.pow(1.5, moduleState.retryCount);\n retryTimeout = setTimeout(() => {\n loadModule();\n }, delay);\n } else {\n // Max retries reached\n setModuleState({\n module: null,\n loading: false,\n error: `Module \"${moduleCode}\" not found after ${maxRetries} attempts`,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n }\n } catch (error) {\n console.error(`Error loading module ${moduleCode}:`, error);\n setModuleState({\n module: null,\n loading: false,\n error: error.message,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n };\n\n // Start with initial delay to allow modules to register\n if (!moduleState.initialDelayComplete) {\n initialTimeout = setTimeout(() => {\n setModuleState(prev => ({ ...prev, initialDelayComplete: true }));\n loadModule();\n }, initialDelay);\n } else {\n loadModule();\n }\n\n // Cleanup timeouts on unmount\n return () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout);\n }\n if (initialTimeout) {\n clearTimeout(initialTimeout);\n }\n };\n }, [moduleCode, moduleState.retryCount, moduleState.initialDelayComplete, maxRetries, retryDelay, initialDelay]);\n\n // Show loading state\n if (moduleState.loading) {\n const loadingText = !moduleState.initialDelayComplete\n ? t(\"CORE_INITIALIZING_MODULE\", { moduleCode, defaultValue: \"Initializing {{moduleCode}} module...\" })\n : t(\"CORE_LOADING_MODULE\", { moduleCode, defaultValue: \"Loading {{moduleCode}} module...\" });\n\n return (\n <div className=\"module-loading-container\">\n <Loader \n page={true} \n variant=\"PageLoader\" \n loaderText={loadingText}\n />\n {moduleState.retryCount > 0 && moduleState.initialDelayComplete && (\n <div className=\"retry-info\" style={{ textAlign: 'center', marginTop: '1rem', color: '#666' }}>\n {t(\"CORE_MODULE_RETRY_ATTEMPT\", { retryCount: moduleState.retryCount, maxRetries, defaultValue: \"Retry attempt {{retryCount}}/{{maxRetries}}\" })}\n </div>\n )}\n </div>\n );\n }\n\n // Show error state and redirect\n if (moduleState.error || !moduleState.module) {\n console.warn(`Module loading failed for ${moduleCode}:`, moduleState.error);\n return (\n <Navigate\n to={`/${window?.contextPath}/employee/user/error?type=notfound&module=${moduleCode}&reason=${encodeURIComponent(moduleState.error || 'Module not found')}`}\n replace\n />\n );\n }\n\n // Render the loaded module\n const Module = moduleState.module;\n return (\n <Module \n stateCode={stateCode} \n moduleCode={moduleCode} \n userType={userType} \n tenants={tenants} \n />\n );\n};\n\nexport default DynamicModuleLoader;","import React from \"react\";\nimport ErrorComponent from \"./ErrorComponent\";\n\nconst Redircter = () => {\n // Add safety checks for window object\n if (typeof window === 'undefined') {\n return <span></span>;\n }\n\n try {\n const contextPath = window?.contextPath || '';\n const userType = Digit.UserService.getType();\n const path = userType === \"employee\" \n ? `/${contextPath}/employee/user/error` \n : `/${contextPath}/citizen/error`;\n \n const currentHref = window.location.href;\n \n // Check if we're already on an error page or in development\n if (\n currentHref.includes(\"employee/user/error\") ||\n currentHref.includes(\"citizen/error\") ||\n process.env.NODE_ENV === \"development\"\n ) {\n // Do nothing - already on error page or in development\n return <span></span>;\n }\n \n // Safe navigation with error handling\n try {\n window.location.href = path;\n } catch (navigationError) {\n console.warn('Navigation failed in error boundary:', navigationError);\n // Fallback: try using replace instead\n try {\n window.location.replace(path);\n } catch (replaceError) {\n console.error('Both href and replace failed:', replaceError);\n }\n }\n } catch (error) {\n console.error('Error in Redircter component:', error);\n }\n\n return <span></span>;\n};\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorStack: null, hasError: false, module: null, action: null, info: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { error: error?.message, hasError: true, errorStack: error?.stack, module: error?.module, action: error?.action, info: error?.info };\n }\n\n componentDidCatch(error, errorInfo) {\n // Catch errors in any components below and re-render with error message\n this.setState({ \n error: error?.message, \n hasError: true, \n errorStack: error?.stack,\n module: error?.module,\n action: error?.action,\n info: errorInfo\n });\n \n // Enhanced error logging with safety checks\n try {\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.group('🚨 Error Boundary Caught Error');\n console.error('Error:', error);\n console.error('Error Info:', errorInfo);\n console.error('Component Stack:', errorInfo?.componentStack);\n console.groupEnd();\n }\n \n // You can also log error messages to an error reporting service here\n // Example: errorReportingService.captureException(error, { extra: errorInfo });\n \n } catch (loggingError) {\n console.warn('Failed to log error in ErrorBoundary:', loggingError);\n }\n }\n\n render() {\n if (this.state.hasError) {\n // (\"UI-errorInfo\", this.state?.errorStack);\n // (\"UI-component-details\", this.props);\n // You can render any custom fallback UI\n return (\n <div className=\"error-boundary\">\n <Redircter />\n <ErrorComponent initData={this.props.initData} errorData={this.state} goToHome={() => {\n window.location.href = `/${window?.contextPath}/${Digit?.UserService?.getType?.()}`; // Use navigate\n }}/>\n\n {/* <summary>Something went wrong</summary>\n <details style={{ whiteSpace: \"pre-wrap\" }}>\n {this.state?.errorStack && this.state.errorStack.toString().substring(0, 600)}\n {this.state?.error}\n </details> */}\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst ErrorConfig = {\n error: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"CORE_SOMETHING_WENT_WRONG\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n maintenance: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/maintainence-image.png`,\n infoMessage: \"CORE_UNDER_MAINTENANCE\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n notfound: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/PageNotFound.png`,\n infoMessage: \"MODULE_NOT_FOUND\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n};\n\nconst ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"WRONG_TENANT_SIGN_UP\",\n buttonInfo: \"CREATE_TENANT_ERROR_BUTTON\",\n },\n};\n\nconst ErrorComponent = (props) => {\n const { type = \"error\" } = Digit.Hooks.useQueryParams();\n const module = props?.errorData?.module;\n const { t } = useTranslation();\n const config = module ? ModuleBasedErrorConfig[module] : ErrorConfig[type];\n const stateInfo = props.stateInfo;\n\n return (\n <div className=\"error-boundary\">\n <div className=\"error-container\">\n <ImageComponent src={config.imgUrl} alt=\"error\" />\n <h1>{t(config.infoMessage)}</h1>\n <button\n onClick={() => {\n module ? props?.errorData?.action() : props?.goToHome?.();\n }}\n >\n {t(config.buttonInfo)}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ErrorComponent;\n","import { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst Header = ({ showTenant = true }) => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const { t } = useTranslation();\n\n if (isLoading) return <Loader />;\n\n //If HEADER_SVG config exists, return the custom block\n const headerSvgSecondaryUrl = window?.globalConfigs?.getConfig(\"SVG_HEADER_SECONDARY_LOGO_URL\");\n if (headerSvgSecondaryUrl) {\n return (\n <div className=\"bannerHeader secondaryBannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n <span style={{fontSize: \"xx-large\"}}>|</span>\n <ImageComponent\n className=\"svgHeaderLogo\"\n src={headerSvgSecondaryUrl}\n alt=\"DIGIT Logo\"\n />\n </div>\n );\n }\n\n // Default logic\n return (\n <div className=\"loginScreen bannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n {showTenant && stateInfo?.code && (\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n )}\n </div>\n );\n};\n\nexport default Header;","import React, { Fragment, useState, useEffect } from \"react\";\nimport { Button, LandingPageCard, LandingPageWrapper } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\n\nimport { CustomSVG } from \"@egovernments/digit-ui-components\";\nconst Components = require(\"@egovernments/digit-ui-svg-components\");\n\nexport const RoleBasedEmployeeHome = ({ modules, additionalComponent }) => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate= useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n let sortedConfigEmployeesSidebar = null;\n const [mdmsOrderData, setMdmsOrderData] = useState([{}]);\n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"HomeScreenOrder\",\n [\n {\n name: \"CardsAndLinksOrder\",\n },\n ],\n {\n select: (data) => {\n return data?.[\"HomeScreenOrder\"]?.[\"CardsAndLinksOrder\"];\n },\n }\n );\n\n\n\n const { data: moduleConfigData, isLoading: isModuleConfigLoading } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"SandBoxLanding\",\n [\n {\n name: \"AdditionalModuleLinks\",\n },\n ],\n {\n \n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"AdditionalModuleLinks\"];\n },\n }\n );\n \n useEffect(() => {\n setMdmsOrderData(MdmsRes);\n }, [MdmsRes]);\n\n const transformURL = (url = \"\") => {\n if (url == \"/\") {\n return;\n }\n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n let updatedUrl = null;\n if (isMultiRootTenant) {\n url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n updatedUrl = url;\n } else {\n updatedUrl = url;\n }\n return updatedUrl;\n } else {\n return url;\n }\n };\n\n const getLinkByType = (moduleData, type) => {\n if (!moduleData || !type) return null;\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n const linkKey = moduleConfig?.[type];\n const links = moduleData?.links;\n return links?.find((item) => item?.displayName === linkKey) || null;\n };\n\n // Function to filter links dynamically based on module config\n const getFilteredLinks = (moduleData) => {\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n return moduleData?.links?.filter((item) => {\n const displayName = item.displayName;\n const isNotConfigureMaster = displayName !== \"Configure_master\";\n const isNotHowItWorks = displayName !== moduleConfig?.howItWorksLink;\n const isNotUserManual = displayName !== moduleConfig?.userManualLink;\n\n return isNotConfigureMaster && isNotHowItWorks && isNotUserManual;\n });\n };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n kpis: [],\n icon: item.leftIcon ? Digit.Utils.iconRender({iconName: item.leftIcon, iconFill: \"white\",CustomSVG,Components}) : \"\",\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = transformURL(item.navigationURL);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: linkUrl,\n icon: item.leftIcon,\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n displayName: item.displayName,\n });\n return acc;\n }, {});\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n\n const sortCardAndLink = (configEmployeeSideBar) => {\n const sortedModules = Object.keys(configEmployeeSideBar)\n .sort((a, b) => {\n const cardOrderA = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === a)?.order || null;\n const cardOrderB = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === b)?.order || null;\n return cardOrderA - cardOrderB;\n })\n .reduce((acc, module) => {\n const sortedLinks = configEmployeeSideBar?.[module]?.links?.sort((linkA, linkB) => {\n const labelA = linkA?.displayName;\n const labelB = linkB?.displayName;\n const orderA =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelA.replace(/\\s+/g, \"_\")}`)?.order || null;\n const orderB =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelB.replace(/\\s+/g, \"_\")}`)?.order || null;\n\n return orderA - orderB;\n });\n\n acc[module] = {\n ...configEmployeeSideBar[module],\n links: sortedLinks,\n };\n\n return acc;\n }, {});\n\n return sortedModules;\n };\n\n if (isMultiRootTenant) {\n sortedConfigEmployeesSidebar = sortCardAndLink(configEmployeeSideBar);\n } else {\n sortedConfigEmployeesSidebar = configEmployeeSideBar;\n }\n\n const children = Object.keys(sortedConfigEmployeesSidebar)?.map((current, index) => {\n const moduleData = sortedConfigEmployeesSidebar?.[current];\n const configureData = moduleData?.links?.find((item) => item?.displayName === \"Configure_master\");\n const howItWorks = getLinkByType(moduleData, \"howItWorksLink\");\n const userManual = getLinkByType(moduleData, \"userManualLink\");\n\n const propsForModuleCard = {\n icon: \"SupervisorAccount\",\n moduleName: t(moduleData?.label),\n metrics: [],\n links: Digit.Utils.getMultiRootTenant() ? getFilteredLinks(moduleData) : moduleData?.links,\n centreChildren: [\n <div>{t(Digit.Utils.locale.getTransformedLocale(`MODULE_CARD_DESC_${current}`))}</div>,\n howItWorks && (\n <Button\n variation=\"teritiary\"\n label={howItWorks?.label}\n icon={howItWorks?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(howItWorks?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ],\n endChildren: Digit.Utils.getMultiRootTenant()\n ? [\n configureData && (\n <Button\n variation=\"teritiary\"\n label={configureData?.label}\n icon={configureData?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => navigate(configureData?.link)}\n style={{ padding: \"0px\" }}\n />\n ),\n userManual && (\n <Button\n variation=\"teritiary\"\n label={userManual?.label}\n icon={userManual?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(userManual?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ]\n : null,\n };\n\n return <LandingPageCard buttonSize={\"medium\"} {...propsForModuleCard} />;\n });\n\n return (\n <>\n <LandingPageWrapper>{React.Children.map(children, (child) => React.cloneElement(child))}</LandingPageWrapper>\n </>\n );\n};","import React from \"react\";\nimport{ useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardHeader, LinkLabel, Card, Button } from \"@egovernments/digit-ui-components\";\nimport { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport { CardSubHeader, CardSectionHeader, BreakLine, CardSectionSubText } from \"@egovernments/digit-ui-react-components\";\n\nconst FaqComponent = (props) => {\n const { question,isLabelLink, answer,type,actions,content, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getStateId();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {isLabelLink ? (\n action?.label ? (\n <Button\n variation=\"teritiary\"\n label={t(action?.label)} \n type=\"button\"\n size={\"medium\"}\n onClick={() => {\n if (action?.fulllink) {\n window.open(action?.link, \"_blank\");\n } else {\n const baseURL = `https://${window.location.hostname}/${window?.globalPath}/${tenantId}`;\n window.open(`${baseURL}/${action?.link}`, \"_blank\");\n }\n }}\n style={{ padding: \"0px\" }}\n />\n ) : null\n ) : (\n action?.label ? <strong>{t(action?.label)}:</strong> : null\n )} \n {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nconst CardC = ({ type, title, content, actions, style }) => {\n const { t } = useTranslation();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div>\n {/* <div style={{ border: \"1px solid #ccc\", borderRadius: \"8px\", padding: \"16px\", margin: \"16px\", ...style }}> */}\n <CardSectionHeader>{t(title)}</CardSectionHeader>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {action?.label ? <strong>{t(action?.label)}:</strong> : null} {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n );\n};\n\nconst FAQ = ({ key, title, content, faqs ,type}) => {\n const { t } = useTranslation();\n return (\n <div style={{ width: \"100%\" }}>\n <div style={{ width: \"100%\" }}>\n {faqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} isLabelLink={faq.isLabelLink} type ={type} actions={faq.answer} content ={faq.content}lastIndex={i === faqs?.length - 1} />\n ))}\n </div>\n </div>\n );\n};\nconst QuickSetup = ({ cardConfig }) => {\n const { t } = useTranslation();\n\n const moduleFaqs = [\n {\n question: \"SANDBOX_FAQ_QUES_ONE\",\n answer: \"SANDBOX_FAQ_ANS_ONE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_TWO\",\n answer: \"SANDBOX_FAQ_ANS_TWO\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_THREE\",\n answer: \"SANDBOX_FAQ_ANS_THREE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_FOUR\",\n answer: \"SANDBOX_FAQ_ANS_FOUR\",\n },\n ];\n return (\n <Card className={\"sandbox-guide\"} style={{ width: \"25rem\", height: \"47rem\", overflowY: \"scroll\" }}>\n {/* <Card style={{ height: \"47rem\", overflowY: \"scroll\" }}> */}\n <CardHeader>{t(\"GUIDE_TO_SETUP\")}</CardHeader>\n <div style={{ display: \"flex\", flexWrap: \"wrap\" }}>\n {cardConfig.map((config, index) => {\n return config?.type === \"faqs\" ? (\n <FAQ key={config.id} title={config.title} type = {config?.type} content={config.content} faqs={config.actions} />\n ) : (\n <React.Fragment>\n <CardC\n type={config?.type}\n key={config.id}\n title={config.title}\n content={config.content}\n actions={config.actions}\n style={config.style}\n />\n {index !== cardConfig?.length - 1 && <BreakLine style={{ width: \"100%\", border: \"1px solid #d6d5d4\" }} />}\n </React.Fragment>\n );\n })}\n </div>\n </Card>\n );\n};\n\nexport default QuickSetup;","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardLabelError, Toast, CardLabel, Card, CardHeader, LinkLabel, Loader } from \"@egovernments/digit-ui-components\";\nimport QuickSetupComponent from \".\";\nimport QuickSetup from \"./QuickSetup\";\n\nconst QuickSetupConfigComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit.ULBService.getStateId();\n\n // const transformURL = (url = \"\") => {\n // if (url == \"/\") {\n // return;\n // }\n // if (Digit.Utils.isContextPathMissing(url)) {\n // let updatedUrl = null;\n // if (isMultiRootTenant) {\n // url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n // updatedUrl = url;\n // } else {\n // updatedUrl = DIGIT_UI_CONTEXTS?.every((e) => url?.indexOf(`/${e}`) === -1) ? \"/employee/\" + url : url;\n // }\n // return updatedUrl;\n // } else {\n // return url;\n // }\n // };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = Digit.Utils.transformURL(item.navigationURL, tenantId);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: queryParamIndex === -1 ? linkUrl : linkUrl.substring(0, queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n description: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}_DESCRIPTION`)),\n });\n return acc;\n }, {});\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n const QuickSetupConfig = [\n {\n sectionHeader: \"WELCOME_TO_SANDBOX\",\n sections: [\n {\n label: \"SANDBOX_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_3\",\n },\n ],\n },\n {\n sectionHeader: \"QUICK_SETUP\",\n links: configEmployeeSideBar,\n },\n ];\n\n const cardConfig = [\n {\n id: 1,\n type: \"faqs\",\n actions: [\n {\n question: \"SANDBOX_FAQ_QUES_14\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_14_LABEL_1\",\n fulllink:true,\n link:\"https://egov-digit.gitbook.io/digit-sandbox/specifications/user-manual/walkthrough-videos\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_1\",\n content: \"SANDBOX_FAQ_CONTENT_1\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_1\",\n link:\"citizen/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_2\",\n link: \"employee/user/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_2\",\n content: \"SANDBOX_FAQ_CONTENT_2\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_3\",\n content: \"SANDBOX_FAQ_CONTENT_3\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_4\",\n content: \"SANDBOX_FAQ_CONTENT_4\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_5\",\n content: \"SANDBOX_FAQ_CONTENT_5\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_4\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_5\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_5\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_6\",\n content: \"SANDBOX_FAQ_CONTENT_6\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_7\",\n content: \"SANDBOX_FAQ_CONTENT_7\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_8\",\n content: \"SANDBOX_FAQ_CONTENT_8\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_4\",\n },\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_9\",\n content: \"SANDBOX_FAQ_CONTENT_9\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_10\",\n content: \"SANDBOX_FAQ_CONTENT_10\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_11\",\n content: \"SANDBOX_FAQ_CONTENT_11\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_12\",\n content: \"SANDBOX_FAQ_CONTENT_12\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_13\",\n content: \"SANDBOX_FAQ_CONTENT_13\",\n } \n ],\n },\n ];\n\n // return <QuickSetupComponent config={QuickSetupConfig}></QuickSetupComponent>;\n return <QuickSetup cardConfig={cardConfig}></QuickSetup>;\n};\n\nexport default QuickSetupConfigComponent;\n","import {\n CitizenHomeCard,\n CitizenInfoLabel,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\n\nimport { BackLink, CustomSVG, SVG, LandingPageWrapper, Card, Divider } 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 const isMobile = window.Digit.Utils.browser.isMobile();\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 \n\n const handleNavigate = (link) => {\n if (!link) return;\n link?.includes(`${window?.contextPath}/`) ? navigate(link) : (window.location.href = link);\n };\n\n const renderApplyIcon = () => (\n <SVG.AddExpense fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const renderMyAppIcon = () => (\n <SVG.ListAlt fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const isApplyLink = (link) => {\n const name = (link.name || link.displayName || \"\").toLowerCase();\n return name.includes(\"apply\") || name.includes(\"_apply\");\n };\n \n\n // Desktop: LandingPageWrapper + custom cards with icons (same grid as employee)\n if (!isMobile) {\n const children = parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (!mdmsDataObj?.links?.length) return null;\n\n const seenLinks = new Set();\n const dedupedLinks = mdmsDataObj.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .filter((link) => {\n const key = link.link;\n if (seenLinks.has(key)) return false;\n seenLinks.add(key);\n return true;\n });\n\n return (\n <Card key={code} className=\"digit-landing-page-card\" style={{ borderRadius: \"1rem\" }}>\n <div className=\"icon-module-header\">\n <div className=\"digit-landingpagecard-icon\">\n <CustomSVG.Devices fill=\"#C84C0E\" width=\"1rem\" height=\"1rem\" />\n </div>\n <div className=\"ladingcard-moduleName\" role=\"heading\" aria-level=\"2\">\n {t(mdmsDataObj?.header)}\n </div>\n </div>\n <Divider className=\"digit-landingpage-divider\" variant=\"small\" />\n {dedupedLinks.map((link, i) => {\n const LinkIcon = link.leftIcon && link.leftIcon !== \"TLIcon\" && CustomSVG[link.leftIcon] ? CustomSVG[link.leftIcon] : null;\n return (\n <button\n key={i}\n className=\"digit-button-teritiary medium\"\n type=\"button\"\n style={{ padding: \"0px\" }}\n onClick={() => handleNavigate(link.link)}\n >\n <div className=\"icon-label-container teritiary medium\">\n {LinkIcon ? <LinkIcon fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" /> : (isApplyLink(link) ? renderApplyIcon() : renderMyAppIcon())}\n <h2 className=\"digit-button-label\">{link.i18nKey}</h2>\n </div>\n </button>\n );\n })}\n </Card>\n );\n }).filter(Boolean);\n\n return (\n <div className=\"citizen-all-services-wrapper\">\n <div className=\"employee-app-container digit-home-employee-app\">\n <LandingPageWrapper>{children}</LandingPageWrapper>\n </div>\n </div>\n );\n }\n\n // Mobile: Original vertical card layout\n return (\n <div className=\"citizen-all-services-wrapper\">\n {location.pathname.includes(\n \"sanitation-ui/citizen/all-services\"\n ) || (location.pathname.includes(\"sandbox-ui\") && location.pathname.includes(\"all-services\")) ? null : (\n <BackLink onClick={() => window.history.back()}/>\n )}\n <div className=\"citizenAllServiceGrid\">\n {parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <div className=\"CitizenHomeCard\" key={code}>\n <div className=\"header\">\n <h2>{t(mdmsDataObj?.header)}</h2>\n {iconSelector(code)}\n </div>\n <div className=\"links\">\n {mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .map((link, i) => (\n <div className=\"linksWrapper\" key={i}>\n <a\n href={link.link}\n onClick={(e) => handleLinkClick(e, link.link)}\n >\n {link.i18nKey}\n </a>\n </div>\n ))}\n </div>\n </div>\n );\n }\n return null;\n })}\n </div>\n </div>\n );\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* <div className=\"ground-container moduleCardWrapper gridModuleWrapper digit-home-moduleCardWrapper\"> */}\n <LandingPageWrapper>\n {modules?.map(({ code }, index) => {\n const Card =\n Digit.ComponentRegistryService.getComponent(`${code}Card`) ||\n (() => <React.Fragment />);\n return <Card key={index} />;\n })}\n </LandingPageWrapper>\n {/* </div> */}\n </div>\n\n {additionalComponent &&\n additionalComponent?.length > 0 &&\n additionalComponent.map((i) => {\n const Component =\n typeof i === \"string\"\n ? Digit.ComponentRegistryService.getComponent(i)\n : null;\n return Component ? (\n <div className=\"additional-component-wrapper\">\n <Component />\n </div>\n ) : null;\n })}\n </>\n );\n};\n\nexport const AppHome = ({\n userType,\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n additionalComponent,\n}) => {\n if (userType === \"citizen\") {\n return (\n <CitizenHome\n modules={modules}\n getCitizenMenu={getCitizenMenu}\n fetchedCitizen={fetchedCitizen}\n isLoading={isLoading}\n />\n );\n }\n const isSuperUserWithMultipleRootTenant = Digit.UserService.hasAccess(\"SUPERUSER\") && Digit.Utils.getMultiRootTenant()\n return Digit.Utils.getRoleBasedHomeCard() ? (\n <div className={isSuperUserWithMultipleRootTenant ? \"homeWrapper\" : \"\"}>\n <RoleBasedEmployeeHome modules={modules} additionalComponent={additionalComponent} />\n {isSuperUserWithMultipleRootTenant && !window.Digit.Utils.browser.isMobile() ? <QuickSetupConfigComponent /> : null}\n </div>\n ) : (\n <EmployeeHome modules={modules} additionalComponent={additionalComponent} />\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ImageComponent = ({\n src,\n alt = \"Image not found\",\n decorative = false,\n ariaLabel = \"No Image description set\",\n ariaLabelledby = \"no-image-description\",\n ...props\n}) => {\n // Determine the appropriate attributes based on the props\n const accessibilityProps = {};\n\n if (decorative) {\n // For decorative images\n accessibilityProps.alt = \"\";\n } else if (alt) {\n // Provide meaningful alt text if available\n accessibilityProps.alt = alt;\n } else if (ariaLabel) {\n // Use aria-label if alt is not provided\n accessibilityProps[\"aria-label\"] = ariaLabel;\n } else if (ariaLabelledby) {\n // Use aria-labelledby for descriptive associations\n accessibilityProps[\"aria-labelledby\"] = ariaLabelledby;\n } else {\n console.warn(\"AccessibleImage: Missing alt, aria-label, or aria-labelledby for non-decorative image.\");\n }\n\n return (\n <img\n src={src}\n {...accessibilityProps}\n {...props}\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }\n }}\n />\n );\n};\n\nImageComponent.propTypes = {\n src: PropTypes.string.isRequired, // The source URL for the image\n alt: PropTypes.string, // Alternative text for the image\n decorative: PropTypes.bool, // If true, image is decorative\n ariaLabel: PropTypes.string, // Custom label for screen readers\n ariaLabelledby: PropTypes.string, // Association with another descriptive element\n};\n\nexport default ImageComponent;\n","import { 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","export const defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";","import React from \"react\";\nimport { LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon } from \"@egovernments/digit-ui-react-components\";\nimport ChangeLanguage from \"../components/ChangeLanguage\";\n\nconst SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee) => [\n {\n type: \"component\",\n element: \"LANGUAGE\",\n action: <ChangeLanguage />,\n icon: \"LanguageIcon\",\n },\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n];\n\nexport default SideBarMenu;\n","import React, { useEffect, useState } from \"react\";\nimport {\n HomeIcon,\n EditPencilIcon,\n LogoutIcon,\n AddressBookIcon,\n PropertyHouse,\n CaseIcon,\n CollectionIcon,\n PTIcon,\n OBPSIcon,\n PGRIcon,\n FSMIcon,\n WSICon,\n MCollectIcon,\n Phone,\n BirthIcon,\n DeathIcon,\n FirenocIcon,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport SideBarMenu from \"../../../config/sidebar-menu\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport ImageComponent from \"../../ImageComponent\";\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nconst Profile = ({ info, stateName, t }) => (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent className=\"img-responsive img-circle img-Profile\" src={defaultImage} alt=\"Profile Logo\" />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") && <ChangeCity t={t} mobileView={true} />}\n </div>\n);\nconst IconsObject = {\n CommonPTIcon: <PTIcon className=\"icon\" />,\n OBPSIcon: <OBPSIcon className=\"icon\" />,\n propertyIcon: <PropertyHouse className=\"icon\" />,\n TLIcon: <CaseIcon className=\"icon\" />,\n PGRIcon: <PGRIcon className=\"icon\" />,\n FSMIcon: <FSMIcon className=\"icon\" />,\n WSIcon: <WSICon className=\"icon\" />,\n MCollectIcon: <MCollectIcon className=\"icon\" />,\n BillsIcon: <CollectionIcon className=\"icon\" />,\n BirthIcon: <BirthIcon className=\"icon\" />,\n DeathIcon: <DeathIcon className=\"icon\" />,\n FirenocIcon: <FirenocIcon className=\"icon\" />,\n HomeIcon: <HomeIcon className=\"icon\" />,\n EditPencilIcon: <EditPencilIcon className=\"icon\" />,\n LogoutIcon: <LogoutIcon className=\"icon\" />,\n Phone: <Phone className=\"icon\" />,\n};\nconst StaticCitizenSideBar = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n const { pathname } = location;\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const [isEmployee, setisEmployee] = useState(false);\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n if (Digit.Utils.getMultiRootTenant()) {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n } else {\n Digit.UserService.logout();\n setShowDialog(false);\n }\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const redirectToLoginPage = () => {\n \n navigate(`/${window?.contextPath}/citizen/login`);\n };\n const showProfilePage = () => {\n navigate(`/${window?.contextPath}/citizen/user/profile`);\n };\n\n const closeSidebar = () => {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n };\n\n let menuItems = [...SideBarMenu(t, showProfilePage, redirectToLoginPage, isEmployee)];\n\n menuItems = menuItems.filter((item) => item.element !== \"LANGUAGE\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const MenuItem = ({ item }) => {\n const leftIconArray = item?.icon || item.icon?.type?.name;\n const leftIcon = leftIconArray ? IconsObject[leftIconArray] : IconsObject.BillsIcon;\n let itemComponent;\n if (item.type === \"component\") {\n itemComponent = item.action;\n } else {\n itemComponent = item.text;\n }\n const Item = () => (\n <span className=\"menu-item\" {...item.populators}>\n {leftIcon}\n <div className=\"menu-label\">{itemComponent}</div>\n </span>\n );\n if (item.type === \"external-link\") {\n return (\n <a href={item.link}>\n <Item />\n </a>\n );\n }\n if (item.type === \"link\") {\n return (\n <Link to={item?.link}>\n <Item />\n </Link>\n );\n }\n\n return <Item />;\n };\n let profileItem;\n\n if (isFetched && user && user.access_token && user?.info?.type === \"CITIZEN\") {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n menuItems = [\n ...menuItems,\n {\n type: \"link\",\n icon: \"HomeIcon\",\n element: \"HOME\",\n text: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n link: isEmployee ? `/${window?.contextPath}/employee` : `/${window?.contextPath}/citizen`,\n populators: {\n onClick: closeSidebar,\n },\n },\n {\n text: t(\"EDIT_PROFILE\"),\n element: \"PROFILE\",\n icon: \"EditPencilIcon\",\n populators: {\n onClick: showProfilePage,\n },\n },\n {\n text: t(\"CORE_COMMON_LOGOUT\"),\n element: \"LOGOUT\",\n icon: \"LogoutIcon\",\n populators: { onClick: handleLogout },\n },\n {\n text: (\n <React.Fragment>\n {t(\"CS_COMMON_HELPLINE\")}\n <div className=\"telephone\" style={{ marginTop: \"-10%\" }}>\n {storeData?.tenants?.length > 0 && (\n <div className=\"link\">\n <a href={`tel:${\n storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || ''\n }`}>\n {storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || t(\"CS_NA\")}\n </a>\n </div>\n )}\n </div>\n </React.Fragment>\n ),\n element: \"Helpline\",\n icon: \"Phone\",\n}\n ];\n }\n Object.keys(linkData || {})\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === `${window.contextPath}-links`) {\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n }\n });\n\n return (\n <React.Fragment>\n <div>\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n top: \"0px\",\n backgroundColor: \"rgba(0, 0, 0, 0.54)\",\n pointerzevents: \"auto\",\n }}\n ></div>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: isMobile ? \"calc(100vh - 56px)\" : \"auto\",\n zIndex: \"99\",\n }}\n >\n {profileItem}\n <div className=\"drawer-desktop\">\n {menuItems?.map((item, index) => (\n <div className={`sidebar-list ${pathname === item?.link || pathname === item?.sidebarURL ? \"active\" : \"\"}`} key={index}>\n <MenuItem item={item} />\n </div>\n ))}\n </div>\n </div>\n <div>{showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}</div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default StaticCitizenSideBar;\n","// import { 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 isDigitStudio = window.location.href.includes(\"digit-studio\");\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 // DIGIT Studio: citizen services are reached from the home/landing tiles —\n // module links are dropped from the sidebar (web parity: CitizenSideNav).\n if (!isDigitStudio) {\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 }\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 // DIGIT Studio: no \"Modules\" group — remaining entries (e.g. Login) surface\n // as top-level items instead.\n ...(isDigitStudio\n ? transformedMenuItems || []\n : [\n {\n label: t(\"Modules\"),\n icon: \"DriveFileMove\",\n children: transformedMenuItems,\n },\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};","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\n const clearSSOLogoutMarkers = () => {\n localStorage.removeItem(\"sso-provider\");\n localStorage.removeItem(\"sso-client-id\");\n localStorage.removeItem(\"sso-tenant-id\");\n localStorage.removeItem(\"sso-authority\");\n localStorage.removeItem(\"sso-logout-url\");\n localStorage.removeItem(\"sso-logout-redirect-param\");\n };\n\n const getSSOPostLogoutRedirectUri = () => `${window.location.origin}/${window?.contextPath || \"\"}/employee`;\n\n const handleSSOLogout = async () => {\n const provider = localStorage.getItem(\"sso-provider\");\n const normalizedProvider = provider?.toUpperCase();\n const logoutUrlFromConfig = localStorage.getItem(\"sso-logout-url\");\n const redirectParamName = localStorage.getItem(\"sso-logout-redirect-param\") || \"post_logout_redirect_uri\";\n\n // Perform provider-specific cleanup before logout\n if (normalizedProvider === \"GOOGLE\") {\n const token = localStorage.getItem(\"google_access_token\");\n\n try {\n if (window.google?.accounts?.id) {\n window.google.accounts.id.disableAutoSelect();\n }\n\n if (token) {\n await fetch(`https://oauth2.googleapis.com/revoke?token=${encodeURIComponent(token)}`, {\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n },\n });\n localStorage.removeItem(\"google_access_token\");\n }\n } catch (error) {\n console.error(\"Provider cleanup error\", error);\n }\n }\n\n // Generic SSO logout handler\n if (logoutUrlFromConfig) {\n const postLogoutRedirectUri = getSSOPostLogoutRedirectUri();\n clearSSOLogoutMarkers();\n\n try {\n await Digit.UserService.logout();\n } finally {\n try {\n const url = new URL(logoutUrlFromConfig);\n url.searchParams.set(redirectParamName, postLogoutRedirectUri);\n window.location.href = url.toString();\n } catch (error) {\n window.location.href = `${logoutUrlFromConfig}?${redirectParamName}=${encodeURIComponent(postLogoutRedirectUri)}`;\n }\n }\n\n return true;\n }\n\n return false;\n };\n\n const handleOnSubmit = async () => {\n const handledBySSO = await handleSSOLogout();\n if (!handledBySSO) {\n Digit.UserService.logout();\n }\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","import React, { useEffect } from 'react';\n\nconst withAutoFocusMain = (WrappedComponent, mainSelector = '.digit-home-main') => {\n return function WithAutoFocusWrapper(props) {\n useEffect(() => {\n const handleFirstTab = (e) => {\n if (e.key === 'Tab') {\n const main = document.querySelector(mainSelector);\n if (main) {\n main.setAttribute('tabindex', '-1');\n main.style.outline = 'none';\n main.focus();\n }\n window.removeEventListener('keydown', handleFirstTab);\n }\n };\n\n window.addEventListener('keydown', handleFirstTab);\n return () => window.removeEventListener('keydown', handleFirstTab);\n }, []);\n\n return <WrappedComponent {...props} />;\n };\n};\n\nexport default withAutoFocusMain;","import React, { useEffect, useRef } from \"react\";\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const timer = setInterval(tick, delay);\n return () => clearInterval(timer);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n","export const useLoginConfig = (stateCode) => {\n const moduleName = Digit.Utils.getConfigModuleName();\n\n return Digit.Hooks.useCommonMDMS(\n stateCode,\n moduleName,\n [\"LoginConfig\"],\n {\n select: (data) => ({\n config: data?.[moduleName]?.LoginConfig,\n }),\n retry: false,\n }\n );\n};\n","import { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FaqComponent = (props) => {\n const { question, answer, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <span>{t(answer)}</span>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nexport default FaqComponent;\n","import { BackButton, HeaderComponent, Loader ,SearchIconSvg} from \"@egovernments/digit-ui-components\";\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport FaqComponent from \"./FaqComponent\";\n\nconst FAQsSection = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId = user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n const SearchImg = () => {\n return <SearchIconSvg className=\"signature-img\" />;\n };\n\n const { isLoading, data } = Digit.Hooks.useGetFAQsJSON(Digit.ULBService.getStateId());\n\n const moduleFaqs = data?.MdmsRes[\"common-masters\"]?.faqs[0]?.[`${module}`].faqs;\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"faq-page\">\n <BackButton style={{ marginLeft: \"unset\" }}></BackButton>\n <div style={{ marginBottom: \"15px\" }}>\n <HeaderComponent styles={{ marginLeft: \"0px\", paddingTop: \"10px\", fontSize: \"32px\" }}>{t(\"FAQ_S\")}</HeaderComponent>\n </div>\n <div className=\"faq-list\">\n {moduleFaqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} lastIndex={i === moduleFaqs?.length - 1} />\n ))}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default FAQsSection;\n","import { PageBasedInput, Loader, RadioButtons, CardHeader } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst LanguageSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LANGUAGE\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n const RadioButtonProps = useMemo(\n () => ({\n options: languages,\n optionsKey: \"label\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: (language) => Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n selectedOption: languages?.filter((i) => i.value === selectedLanguage)[0],\n }),\n [selectedLanguage, languages]\n );\n\n function onSubmit() {\n navigate(`/${window?.contextPath}/citizen/select-location`);\n }\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <PageBasedInput texts={texts} onSubmit={onSubmit}>\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LANGUAGE\")}</CardHeader>\n <RadioButtons {...RadioButtonProps} />\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LanguageSelection;\n","import { BackLink } from \"@egovernments/digit-ui-components\";\nimport { CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from \"@egovernments/digit-ui-react-components\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\n\nconst LocationSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\nconst {\n data: { stateInfo, uiHomePage } = {},\n isLoading: initisLoading,\n} = Digit.Hooks.useStore.getInitData();\n\nconst redirectURL = uiHomePage?.redirectURL;\n\nconst { data: cities, isLoading } = Digit.Hooks.useTenants();\n\n\n const [selectedCity, setSelectedCity] = useState(() => ({ code: Digit.ULBService.getCitizenCurrentTenant(true) }));\n const [showError, setShowError] = useState(false);\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LOCATION\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n function selectCity(city) {\n setSelectedCity(city);\n setShowError(false);\n }\n\n const RadioButtonProps = useMemo(() => {\n return {\n options: cities,\n optionsKey:\"i18nKey\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: selectCity,\n selectedOption: selectedCity,\n };\n }, [cities, t, selectedCity]);\n\n function onSubmit() {\n if (selectedCity) {\n Digit.SessionStorage.set(\"CITIZEN.COMMON.HOME.CITY\", selectedCity);\n const redirectBackTo = location.state?.redirectBackTo;\n if(redirectURL){\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n else{\n if (redirectBackTo) {\n navigate(redirectBackTo, {replace:true});\n } else navigate(`/${window?.contextPath}/citizen`);\n }\n } else {\n setShowError(true);\n }\n }\n\n return isLoading ? (\n <loader />\n ) : (\n <div>\n <BackLink onClick={() => window.history.back()}/>\n <PageBasedInput texts={texts} onSubmit={onSubmit} className=\"location-selection-container\">\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LOCATION\")}</CardHeader>\n <SearchOnRadioButtons {...RadioButtonProps} placeholder={t(\"COMMON_TABLE_SEARCH\")} />\n {showError ? <CardLabelError>{t(\"CS_COMMON_LOCATION_SELECTION_ERROR\")}</CardLabelError> : null}\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LocationSelection;\n","import React, { useState, useEffect } from \"react\";\nimport { GalleryIcon, RemoveIcon } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) {\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(\"\");\n const [error, setError] = useState(null);\n const { t } = useTranslation();\n const selectfile = (e) => setFile(e.target.files[0]);\n const removeimg = () => {removeProfilePic(); closeDrawer()};\n const onOverlayBodyClick = () => closeDrawer();\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 1000000) {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"))\n setError(t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(`${userType}-profile`, file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n const fileStoreId = response?.data?.files[0]?.fileStoreId;\n setUploadedFile(fileStoreId);\n setProfilePic(fileStoreId);\n } else {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"))\n setError(t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n showToast(\"error\",t(\"CORE_COMMON_PROFILE_INVALID_FILE_INPUT\"))\n // setError(t(\"PT_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n return (\n <React.Fragment>\n <div\n style={{\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"rgba(0,0,0,.5)\",\n // zIndex: \"9998\",\n }}\n onClick={onOverlayBodyClick}\n ></div>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n display: \"flex\",\n backgroundColor: \"white\",\n alignItems: \"center\",\n position: \"fixed\",\n left: \"0\",\n right: \"0\",\n height: \"20%\",\n bottom: userType === \"citizen\" ? \"2.5rem\" : \"0\",\n zIndex: \"1000\",\n }}\n >\n <div\n style={{ display: \"flex\", flex: \"1\", flexDirection: \"column\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", gap: \"8px 0\" }}\n >\n <label for=\"file\" style={{ cursor: \"pointer\" }}>\n {\" \"}\n <GalleryIcon />\n </label>\n <label style={{ cursor: \"pointer\" }}> Gallery</label>\n <input type=\"file\" id=\"file\" accept=\"image/*, .png, .jpeg, .jpg\" onChange={selectfile} style={{ display: \"none\" }} />\n </div>\n\n <div\n style={{ display: \"flex\", flex: \"1\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: \"8px 0\" }}\n >\n <button onClick={removeimg}>\n <RemoveIcon />\n </button>\n <label style={{ cursor: \"pointer\" }}>Remove</label>\n </div>\n </div>\n </React.Fragment>\n );\n}\n\nexport default UploadDrawer;\n","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_TENANT = Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"/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\";\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 = (eventOrValue) => {\n // The TextInput eye-toggle calls onChange with the raw value prop instead of an event\n const value = typeof eventOrValue === \"string\" ? eventOrValue : eventOrValue?.target?.value ?? \"\";\n setCurrentPassword(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 = (eventOrValue) => {\n const value = typeof eventOrValue === \"string\" ? eventOrValue : eventOrValue?.target?.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 = (eventOrValue) => {\n const value = typeof eventOrValue === \"string\" ? eventOrValue : eventOrValue?.target?.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 if (responseInfo && responseInfo.status === \"successful\") {\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 console.error(\"Change password failed:\", error);\n throw JSON.stringify({\n type: \"error\",\n message:\n error?.Errors?.[0]?.description ||\n error?.response?.data?.Errors?.[0]?.description ||\n \"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 === \"successful\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n console.error(\"Profile update failed:\", error);\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message:\n error?.response?.data?.Errors?.[0]?.description ||\n error?.Errors?.[0]?.description ||\n \"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(-1)} />\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: \"var(--digitv2-lightTheme-primary, #008080)\",\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 value={currentPassword}\n onChange={setUserCurrentPassword}\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 value={newPassword}\n onChange={setUserNewPassword}\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 value={confirmPassword}\n onChange={setUserConfirmPassword}\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: \"var(--digitv2-lightTheme-primary, #008080)\",\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 \"/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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (eventOrValue) => {\n // The TextInput eye-toggle calls onChange with the raw value prop instead of an event\n const value = typeof eventOrValue === \"string\" ? eventOrValue : eventOrValue?.target?.value ?? \"\";\n setCurrentPassword(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 = (eventOrValue) => {\n const value = typeof eventOrValue === \"string\" ? eventOrValue : eventOrValue?.target?.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 = (eventOrValue) => {\n const value = typeof eventOrValue === \"string\" ? eventOrValue : eventOrValue?.target?.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 console.error(\"Change password failed:\", error);\n throw JSON.stringify({\n type: \"error\",\n message:\n error?.Errors?.[0]?.description ||\n error?.response?.data?.Errors?.[0]?.description ||\n \"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 console.error(\"Profile update failed:\", error);\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message:\n error?.response?.data?.Errors?.[0]?.description ||\n error?.Errors?.[0]?.description ||\n \"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 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: \"var(--digitv2-lightTheme-primary, #008484)\",\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 value={currentPassword}\n onChange={setUserCurrentPassword}\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 value={newPassword}\n onChange={setUserNewPassword}\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 value={confirmPassword}\n onChange={setUserConfirmPassword}\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: \"var(--digitv2-lightTheme-primary, #008080)\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default UserProfile;","import {\n Calender,\n CardBasedOptions,\n CaseIcon,\n ComplaintIcon,\n DocumentIcon,\n HomeIcon,\n OBPSIcon,\n PTIcon,\n Loader,\n WhatsNewCard,\n} from \"@egovernments/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCitizenCurrentTenant(true);\n const { data: { stateInfo, uiHomePage } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (!Digit.UserService?.getUser()?.access_token) return false;\n return true;\n };\n\n const { data: EventsData, isLoading: EventsDataLoading } = Digit.Hooks.useEvents({\n tenantId,\n variant: \"whats-new\",\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n if (!tenantId) {\n navigate(`/${window?.contextPath}/citizen/select-language`);\n }\n\n const appBannerWebObj = uiHomePage?.appBannerDesktop;\n const appBannerMobObj = uiHomePage?.appBannerMobile;\n const citizenServicesObj = uiHomePage?.citizenServicesCard;\n const infoAndUpdatesObj = uiHomePage?.informationAndUpdatesCard;\n const whatsAppBannerWebObj = uiHomePage?.whatsAppBannerDesktop;\n const whatsAppBannerMobObj = uiHomePage?.whatsAppBannerMobile;\n const whatsNewSectionObj = uiHomePage?.whatsNewSection;\n const redirectURL = uiHomePage?.redirectURL;\n /* configure redirect URL only if it is required to overide the default citizen home screen */\n if (redirectURL) {\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n /* fix for sanitation ui & sandbox*/\n if (window?.location?.href?.includes?.(\"sanitation-ui\") || window?.location?.href?.includes?.(\"sandbox-ui\")) {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n }\n\n const handleClickOnWhatsAppBanner = (obj) => {\n window.open(obj?.navigationUrl);\n };\n\n const allCitizenServicesProps = {\n header: t(citizenServicesObj?.headerLabel),\n sideOption: {\n name: t(citizenServicesObj?.sideOption?.name),\n onClick: () =>\n navigate(citizenServicesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(citizenServicesObj?.props?.[0]?.label),\n Icon: <ComplaintIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[1]?.label),\n Icon: <PTIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[2]?.label),\n Icon: <CaseIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[2]?.navigationUrl),\n },\n // {\n // name: t(\"ACTION_TEST_WATER_AND_SEWERAGE\"),\n // Icon: <DropIcon/>,\n // onClick: () => history.push(`/${window?.contextPath}/citizen`)\n // },\n {\n name: t(citizenServicesObj?.props?.[3]?.label),\n Icon: <OBPSIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[3]?.navigationUrl),\n },\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n const allInfoAndUpdatesProps = {\n header: t(infoAndUpdatesObj?.headerLabel),\n sideOption: {\n name: t(infoAndUpdatesObj?.sideOption?.name),\n onClick: () => navigate(infoAndUpdatesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(infoAndUpdatesObj?.props?.[0]?.label),\n Icon: <HomeIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[1]?.label),\n Icon: <Calender />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[2]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[2]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[3]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[3]?.navigationUrl),\n },\n // {\n // name: t(\"CS_COMMON_HELP\"),\n // Icon: <HelpIcon/>\n // }\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"HomePageContainer\">\n {/* <div className=\"SideBarStatic\">\n <StaticCitizenSideBar />\n </div> */}\n <div className=\"HomePageWrapper\">\n {\n <div className=\"BannerWithSearch\">\n {isMobile ? (\n <ImageComponent src={appBannerMobObj?.bannerUrl} alt=\"Banner Image\" />\n ) : (\n <ImageComponent src={appBannerWebObj?.bannerUrl} alt=\"Banner Image\" />\n )}\n {/* <div className=\"Search\">\n <StandaloneSearchBar placeholder={t(\"CS_COMMON_SEARCH_PLACEHOLDER\")} />\n </div> */}\n <div className=\"ServicesSection\">\n <CardBasedOptions style={{ marginTop: \"-30px\" }} {...allCitizenServicesProps} />\n <CardBasedOptions style={isMobile ? {} : { marginTop: \"-30px\" }} {...allInfoAndUpdatesProps} />\n </div>\n </div>\n }\n\n {(whatsAppBannerMobObj || whatsAppBannerWebObj) && (\n <div className=\"WhatsAppBanner\">\n {isMobile ? (\n <ImageComponent\n src={whatsAppBannerMobObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerMobObj)}\n alt=\"Whatsapp Banner\"\n />\n ) : (\n <ImageComponent\n src={whatsAppBannerWebObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerWebObj)}\n alt=\"Whatsapp Banner\"\n />\n )}\n </div>\n )}\n\n {conditionsToDisableNotificationCountTrigger() ? (\n EventsDataLoading ? (\n <Loader />\n ) : (\n <div className=\"WhatsNewSection\">\n <div className=\"headSection\">\n <h2>{t(whatsNewSectionObj?.headerLabel)}</h2>\n <p onClick={() => navigate(whatsNewSectionObj?.sideOption?.navigationUrl)}>{t(whatsNewSectionObj?.sideOption?.name)}</p>\n </div>\n <WhatsNewCard {...EventsData?.[0]} />\n </div>\n )\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Home;\n","import {\n BackButton,\n HeaderComponent,\n Loader,\n CloseSvg,\n DownloadImgIcon,\n PDFSvg,\n} from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HowItWorks = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId =\n user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const storeData = Digit.SessionStorage.get(\"initData\");\n const stateInfo = storeData.stateInfo;\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n const [videoPlay, setVideoPlay] = useState(false);\n const [vidSrc, setVidSrc] = useState(\"\");\n\n const ViDSvg = () => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 24C5.38053 24 0 18.6143 0 12C0 5.38054 5.38053 1.90735e-06 12 1.90735e-06C18.6143 1.90735e-06 24 5.38054 24 12C24 18.6143 18.6143 24 12 24ZM16.3488 10.7852L11.3855 7.25251C11.1263 7.0701 10.8238 6.97889 10.5214 6.97889C10.291 6.97889 10.0557 7.03172 9.83976 7.14202C9.34054 7.40118 9.02857 7.91006 9.02857 8.46694L9.02877 15.5323C9.02877 16.0892 9.34076 16.5979 9.83996 16.8572C10.3344 17.1116 10.9296 17.0732 11.3857 16.7467L16.349 13.214C16.7426 12.9356 16.9778 12.4795 16.9778 11.9996C16.9776 11.5197 16.7426 11.0636 16.3489 10.7852L16.3488 10.7852Z\"\n fill=\"white\"\n />\n </svg>\n );\n const onClickVideo = (vidObj) => {\n if (selected === \"hi_IN\") {\n setVidSrc(vidObj[\"hi_IN\"]);\n } else {\n setVidSrc(vidObj[\"en_IN\"]);\n }\n setVideoPlay(true);\n };\n const onClose = () => {\n setVideoPlay(false);\n };\n\n const { isLoading, data } = Digit.Hooks.useGetHowItWorksJSON(\n Digit.ULBService.getStateId()\n );\n\n const mdmsConfigResult =\n data?.MdmsRes[\"common-masters\"]?.howItWorks[0]?.[`${module}`];\n const languages = [\n {\n label: \"ENGLISH\",\n value: \"en_IN\",\n },\n {\n label: \"हिंदी\",\n value: \"hi_IN\",\n },\n ];\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"how-it-works-page\">\n <BackButton></BackButton>\n <div className=\"how-it-works-page-header\">\n <HeaderComponent>\n {t(\n mdmsConfigResult.screenHeader\n ? mdmsConfigResult.screenHeader\n : \"HOW_IT_WORKS\"\n )}\n </HeaderComponent>\n </div>\n <div className=\"language-selector\" style={{ margin: \"10px\" }}>\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={language.label}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n {mdmsConfigResult.videosJson.map((videos, index) => (\n <div>\n <div\n className=\"WhatsNewCard\"\n style={{\n float: \"left\",\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n }}\n >\n <div className=\"video-icon\" onClick={() => onClickVideo(videos)}>\n <div className=\"vid-svg\">\n <ViDSvg></ViDSvg>\n </div>\n </div>\n <div className=\"how-it-works-header-description\">\n <h2>{t(videos.headerLabel)}</h2>\n <p>{t(videos.description)}</p>\n </div>\n </div>\n </div>\n ))}\n {mdmsConfigResult.pdfHeader && mdmsConfigResult.pdfDesc && (\n <div\n className=\"WhatsNewCard\"\n style={{\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n display: \"inline-block\",\n }}\n >\n <div className=\"how-it-works-pdf-section\">\n <div className=\"pdf-icon-header-desc\">\n <div className=\"pdf-icon\">\n <PDFSvg></PDFSvg>\n </div>\n <div className=\"pdf-header-desc\">\n <h2>{t(mdmsConfigResult.pdfHeader)}</h2>\n <p>{t(mdmsConfigResult.pdfDesc)}</p>\n </div>\n </div>\n <div className=\"download-icon\">\n <DownloadImgIcon />\n </div>\n </div>\n </div>\n )}\n {videoPlay && (\n <div className=\"how-it-works-video-play\">\n <div className=\"close-button\">\n <CloseSvg onClick={onClose}></CloseSvg>\n </div>\n <video width={500} height={500} controls autoPlay>\n <source src={vidSrc} type=\"video/mp4\"></source>\n </video>\n </div>\n )}\n </div>\n </Fragment>\n );\n};\n\nexport default HowItWorks;\n","import { CardText, CardLabelError, FormStep } from \"@egovernments/digit-ui-components\";\nimport React, { Fragment, useState } from \"react\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\n\nconst SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = \"citizen\", canSubmit }) => {\n const [timeLeft, setTimeLeft] = useState(30);\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleResendOtp = () => {\n onResend();\n setTimeLeft(2);\n };\n\n if (userType === \"employee\") {\n return (\n <Fragment>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p\n className=\"card-text-button resend-otp\"\n role=\"button\"\n tabIndex={0}\n onClick={handleResendOtp}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleResendOtp();\n }\n }}\n >\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\n className=\"card-text-button\"\n role=\"button\"\n tabIndex={0}\n onClick={handleResendOtp}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleResendOtp();\n }\n }}\n >\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </FormStep>\n );\n};\n\nexport default SelectOtp;\n","export const loginSteps = [\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_MOBILE_NUMBER\",\n cardText: \"CS_LOGIN_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"text\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOB_NO\",\n validation: {\n required: true,\n minlength: 10,\n maxlength: 10,\n },\n },\n ],\n },\n {\n texts: {\n header: \"CS_LOGIN_OTP\",\n cardText: \"CS_LOGIN_OTP_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n },\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_NAME\",\n cardText: \"CS_LOGIN_NAME_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_NAME\",\n type: \"text\",\n name: \"name\",\n error: \"CORE_COMMON_NAME_VALIDMSG\",\n validation: {\n required: true,\n minlength: 1,\n maxlength: 50,\n // pattern: /^[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}$/i,\n // pattern: /^(?!\\s)[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}(?!\\s)$/i\n pattern: \"^[A-Za-z]+( [A-Za-z]+)*$\",\n },\n },\n ],\n },\n];\n","import { InputCard, TextBlock, FieldV1, LinkLabel } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo, useState } from \"react\";\n\nconst SelectMobileNumber = ({ t, onSelect, mobileNumber,emailId, onMobileChange,onEmailChange, config, canSubmit }) => {\n const [isEmail, setIsEmail] = useState(emailId? true : false);\n const [error, setError] = useState(\"\");\n\n const core_mobile_config = window?.globalConfigs?.getConfig(\"CORE_MOBILE_CONFIGS\") || {};\n const EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const rawPattern = core_mobile_config?.mobileNumberPattern || \"^\\\\d+$\";\n const mobileNumberPattern = new RegExp(rawPattern);\n\n const isEmailValid = useMemo(() => EMAIL_REGEX.test(emailId), [emailId]);\n const isMobileValid = useMemo(() => mobileNumberPattern.test(mobileNumber || \"\"), [mobileNumber, mobileNumberPattern]);\n\n const handleSubmit = () => {\n if (isEmail) {\n if (!isEmailValid) {\n setError(t(\"ERR_INVALID_EMAIL\"));\n return;\n }\n onSelect({ userName: emailId });\n } else {\n if (!isMobileValid) {\n setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n return;\n }\n onSelect({ mobileNumber });\n }\n };\n\n const handleChange = (e) => {\n const value = e.target.value;\n setError(\"\");\n if (isEmail) {\n onEmailChange(e)\n if (value && !EMAIL_REGEX.test(value)) setError(t(\"ERR_INVALID_EMAIL\"));\n } else {\n onMobileChange(e);\n if (value && !mobileNumberPattern.test(value)) setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n }\n };\n\n const switchMode = () => {\n setIsEmail(!isEmail);\n setError(\"\");\n if(isEmail)\n onEmailChange({ target: { value: \"\" } });\n else\n onMobileChange({ target: { value: \"\" } }); // clear mobile input\n };\n\n const isDisabled = useMemo(() => {\n return isEmail ? !(isEmailValid && canSubmit) : !(isMobileValid && canSubmit);\n }, [isEmail, isEmailValid, isMobileValid, canSubmit]);\n\n const mobileViewStyles = {\n marginLeft:\"0px\",\n userSelect: \"none\",\n color: \"inherit\", \n cursor: \"pointer\", // keeps it clickable\n textDecoration: \"underline\",\n };\n\n // Responsive label\n const linkLabel = useMemo(() => {\n if (window.innerWidth <= 768) {\n return isEmail ? t(\"LOGIN_WITH_MOBILE\") : t(\"LOGIN_WITH_EMAIL\");\n }\n return isEmail ? t(\"CS_USE_MOBILE_INSTEAD\") : t(\"CS_LOGIN_REGISTER_WITH_EMAIL\");\n }, [isEmail, t]);\n\n return (\n <InputCard\n t={t}\n texts={config?.texts}\n submit\n onNext={handleSubmit}\n isDisable={isDisabled}\n >\n <div>\n <FieldV1\n key={isEmail ? \"email\" : \"mobile\"}\n withoutLabel\n charCount\n error={error}\n onChange={handleChange}\n placeholder={isEmail ? t(\"ENTER_EMAIL_PLACEHOLDER\") : t(\"ENTER_MOBILE_PLACEHOLDER\")}\n populators={{\n name: isEmail ? \"userName\" : \"mobileNumber\",\n prefix: isEmail ? \"\" : core_mobile_config?.mobilePrefix,\n validation: {\n maxlength: isEmail ? 256 : (core_mobile_config?.mobileNumberLength || 10),\n pattern: isEmail ? EMAIL_REGEX : mobileNumberPattern,\n },\n }}\n props={{ fieldStyle: { width: \"100%\" } }}\n type=\"text\"\n value={isEmail ? emailId : mobileNumber}\n />\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"1rem\", marginBottom: \"1.5rem\", marginTop: \"-24px\" }}>\n <LinkLabel style={{ display: \"inline\", ...mobileViewStyles }} onClick={switchMode}>\n {linkLabel}\n </LinkLabel>\n </div>\n </InputCard>\n );\n};\n\nexport default SelectMobileNumber;","import { FormStep } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\n\nconst SelectName = ({ config, onSelect, t, isDisabled }) => {\n return <FormStep config={config} onSelect={onSelect} t={t} isDisabled={isDisabled}></FormStep>;\n};\n\nexport default SelectName;\n","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nlet DEFAULT_REDIRECT_URL = `/${window?.contextPath || window?.globalConfigs?.getConfig(\"CONTEXT_PATH\")}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst IndividualLogin = ({ stateCode, isUserRegistered = false }) => {\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 \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 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 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 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 citizen-form-center\">\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 const isCitizenDesktop = window.location.href.includes(\"citizen\") && !window.Digit.Utils.browser.isMobile();\n\n return (\n <div className={`citizen-form-wrapper${isCitizenDesktop ? ' citizen-form-center' : ''}`}>\n <AppContainer>\n {/* BackLink now uses navigate(-1) for going back */}\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => navigate(-1)} />}\n <Routes> {/* Replaced Switch with Routes */}\n {/* Route path is now relative to the parent <Routes> */}\n <Route\n path=\"/\" // This will match the base path where this component is rendered (e.g., /citizen/login if mounted there)\n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n onMobileChange={handleMobileChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered && !location.state?.role}\n t={t}\n />\n }\n />\n <Route\n path=\"otp\" // This will match /path/to/current/route/otp\n element={\n <SelectOtp\n config={{ ...stepItems[1], texts: { ...stepItems[1].texts, cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || \"\"}` } }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n }\n />\n <Route\n path=\"name\" // This will match /path/to/current/route/name\n element={<SelectName config={stepItems[2]} onSelect={selectName} t={t} isDisabled={canSubmitName} />}\n />\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </Routes>\n </AppContainer>\n </div>\n );\n};\n\nexport default Login;","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: React.useCallback((elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n }, [control._fields, name]),\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { DatePicker, SearchField, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { Controller } from \"react-hook-form\";\nconst SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => {\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_FROM_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"fromDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_TO_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"toDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-search-action-submit\">\n <Button\n style={{ marginTop: isMobile ? \"510px\" : \"25px\", marginLeft: isMobile ? \"0\" : \"-30px\", maxWidth: isMobile ? \"100%\" : \"240px\" }}\n label={t(\"ES_COMMON_APPLY\")}\n submit\n />\n </SearchField>\n </>\n );\n};\nexport default SearchFields;\n","import {\n BackButton,\n DetailsCard,\n HeaderComponent,\n Loader,\n PopUp,\n SearchAction,\n SearchForm,\n CloseSvg,\n DownloadBtnCommon,\n} from \"@egovernments/digit-ui-components\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useState,\n} from \"react\";\nimport SearchFormFields from \"./SearchFields\";\n// import { convertEpochToDateDMY } from \"../../utils\";\n\nconst MobileSearchApplication = ({\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n isLoading,\n}) => {\n function activateModal(state, action) {\n switch (action.type) {\n case \"set\":\n return action.payload;\n case \"remove\":\n return false;\n default:\n break;\n }\n }\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [currentlyActiveMobileModal, setActiveMobileModal] = useReducer(\n activateModal,\n false\n );\n\n const closeMobilePopupModal = () => {\n setActiveMobileModal({ type: \"remove\" });\n };\n\n const MobilePopUpCloseButton = () => (\n <div\n className=\"InboxMobilePopupCloseButtonWrapper\"\n onClick={closeMobilePopupModal}\n >\n <CloseSvg />\n </div>\n );\n const searchFormFieldsComponentProps = {\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n };\n\n const MobileComponentDirectory = ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) => {\n const { closeMobilePopupModal } = props;\n switch (currentlyActiveMobileModal) {\n case \"SearchFormComponent\":\n return (\n <SearchForm {...props}>\n <MobilePopUpCloseButton />\n <div className=\"MobilePopupHeadingWrapper\">\n <h2>{t(\"PRIVACY_AUDIT_REPORT\")}:</h2>\n </div>\n <SearchFormFields\n {...searchFormFieldsComponentProps}\n {...{ closeMobilePopupModal, tenantId, t }}\n />\n {/* <SearchField className=\"submit\">\n <SubmitBar label={t(\"ES_COMMON_SEARCH\")} submit form=\"search-form\"/>\n <p onClick={onResetSearchForm}>{t(`ES_COMMON_CLEAR_ALL`)}</p>\n </SearchField> */}\n </SearchForm>\n );\n default:\n return <span></span>;\n }\n };\n const CurrentMobileModalComponent = useCallback(\n ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) =>\n MobileComponentDirectory({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props,\n }),\n [currentlyActiveMobileModal]\n );\n let roles = [];\n data?.roles?.forEach((item) => {\n roles.push(item?.name);\n });\n const propsMobileInboxCards = useMemo(() => {\n if (data?.display) {\n return [];\n }\n if (data === \"\") {\n return [];\n }\n return data?.map((data) => ({\n [t(\"AUDIT_DATE_LABEL\")]: convertEpochToDate(data.timestamp),\n [t(\"AUDIT_TIME_LABEL\")]: convertEpochToTimeInHours(data.timestamp),\n [t(\"AUDIT_DATAVIEWED_LABEL\")]: data.dataView[0] + \",\" + data.dataView[1],\n [t(\"AUDIT_DATAVIEWED_BY_LABEL\")]: data.dataViewedBy,\n [t(\"AUDIT_ROLE_LABEL\")]: data.roles\n .slice(0, 3)\n ?.map((e) => e.name)\n .join(\",\"),\n }));\n }, [data]);\n\n return (\n <React.Fragment>\n <BackButton />\n <div\n className=\"sideContent\"\n style={{ marginLeft: \"70%\", marginTop: \"-12%\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}:</HeaderComponent>\n <div className=\"digit-search-box\">\n <SearchAction\n text={t(\"ES_COMMON_SEARCH\")}\n handleActionClick={() =>\n setActiveMobileModal({\n type: \"set\",\n payload: \"SearchFormComponent\",\n })\n }\n {...{ tenantId, t }}\n />\n </div>\n {currentlyActiveMobileModal ? (\n <PopUp>\n <CurrentMobileModalComponent\n onSubmit={(data) => {\n setActiveMobileModal({ type: \"remove\" });\n onSubmit(data);\n }}\n handleSubmit={handleSubmit}\n id=\"search-form\"\n className=\"rm-mb form-field-flex-one inboxPopupMobileWrapper\"\n {...{\n searchFormFieldsComponentProps,\n currentlyActiveMobileModal,\n closeMobilePopupModal,\n tenantId,\n }}\n />\n </PopUp>\n ) : null}\n {isLoading && <Loader />}\n <DetailsCard\n {...{\n data: propsMobileInboxCards,\n }}\n />\n </React.Fragment>\n );\n};\n\nexport default MobileSearchApplication;\n","import {\n DownloadBtnCommon,\n Table,\n} from \"@egovernments/digit-ui-react-components\";\nimport {\n BackButton,\n Loader,\n SearchForm,\n HeaderComponent\n} from \"@egovernments/digit-ui-components\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport MobileSearchApplication from \"./MobileSearchApplication\";\nimport SearchFields from \"./SearchFields\";\n\nconst SearchApplication = ({ tenantId, t, onSubmit, data, count }) => {\n const initialValues = Digit.SessionStorage.get(\n \"AUDIT_APPLICATION_DETAIL\"\n ) || {\n offset: 0,\n limit: 5,\n sortOrder: \"DESC\",\n };\n const {\n register,\n control,\n handleSubmit,\n setValue,\n getValues,\n reset,\n } = useForm({\n defaultValues: initialValues,\n });\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n register(\"offset\", 0);\n register(\"limit\", 5);\n register(\"sortOrder\", \"DESC\");\n }, [register]);\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const onSort = useCallback((args) => {\n if (args.length === 0) return;\n setValue(\"sortBy\", args.id);\n setValue(\"sortOrder\", args.desc ? \"DESC\" : \"ASC\");\n }, []);\n\n function onPageSizeChange(e) {\n setValue(\"limit\", Number(e.target.value));\n handleSubmit(onSubmit)();\n }\n\n function nextPage() {\n setValue(\"offset\", getValues(\"offset\") + getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n function previousPage() {\n setValue(\"offset\", getValues(\"offset\") - getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isMobile) {\n return (\n <MobileSearchApplication\n {...{\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n }}\n />\n );\n }\n\n //need to get from workflow\n const GetCell = (value) => <span className=\"cell-text\">{value}</span>;\n const columns = useMemo(\n () => [\n {\n Header: t(\"AUDIT_DATE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToDate(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: t(\"AUDIT_TIME_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToTimeInHours(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_LABEL\")\n : t(\"AUDIT_DATAVIEWED_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataView}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_BY_LABEL\")\n : t(\"AUDIT_DATAVIEWED_BY_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataViewedBy}`);\n },\n },\n {\n Header: t(\"AUDIT_ROLE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.roles.slice(0, 3)?.map((e) => e.name)}`);\n },\n },\n ],\n []\n );\n\n return (\n <React.Fragment>\n <div style={{ marginRight: \"-70px\" }}>\n {\" \"}\n <BackButton />{\" \"}\n </div>\n <div style={{ marginTop: \"30px\", marginLeft: \"30px\" }}>\n {\" \"}\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}</HeaderComponent>{\" \"}\n </div>\n <SearchForm\n className=\"audit-card\"\n onSubmit={onSubmit}\n handleSubmit={handleSubmit}\n >\n <SearchFields\n {...{ register, control, reset, tenantId, t, previousPage }}\n />\n </SearchForm>\n <div\n style={{\n marginTop: \"240px\",\n marginLeft: \"-55%\",\n maxWidth: \"80%\",\n marginRight: \"52px\",\n }}\n >\n {data?.display ? (\n <div\n style={{\n marginTop: \"20x\",\n width: \"1025px\",\n marginLeft: \"25px\",\n backgroundColor: \"white\",\n height: \"60px\",\n }}\n >\n {t(data.display)\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </div>\n ) : data !== \"\" ? (\n <div\n style={{\n backgroundColor: \"white\",\n marginRight: \"-30px\",\n marginLeft: \"30px\",\n }}\n >\n <div\n className=\"sideContent\"\n style={{ float: \"right\", padding: \"10px 30px\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <Table\n t={t}\n data={data}\n totalRecords={count}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n minWidth:\n cellInfo.column.Header === t(\"ES_INBOX_APPLICATION_NO\")\n ? \"240px\"\n : \"\",\n padding: \"20px 18px\",\n fontSize: \"16px\",\n },\n };\n }}\n onPageSizeChange={onPageSizeChange}\n currentPage={getValues(\"offset\") / getValues(\"limit\")}\n onNextPage={nextPage}\n onPrevPage={previousPage}\n manualPagination={false}\n pageSizeLimit={getValues(\"limit\")}\n onSort={onSort}\n disableSort={false}\n sortParams={[\n {\n id: getValues(\"sortBy\"),\n desc: getValues(\"sortOrder\") === \"DESC\" ? true : false,\n },\n ]}\n />\n </div>\n ) : (\n <Loader />\n )}\n </div>\n </React.Fragment>\n );\n};\n\nexport default SearchApplication;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport AuditSearchApplication from \"../../components/Search\";\nconst Search = ({ path }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant()\n const [payload, setPayload] = useState({});\n const convertDateToEpoch = (dateString, dayStartOrEnd = \"dayend\") => {\n //example input format : \"2018-10-02\"\n try {\n const parts = dateString.match(/(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n const DateObj = new Date(Date.UTC(parts[1], parts[2] - 1, parts[3]));\n DateObj.setMinutes(DateObj.getMinutes() + DateObj.getTimezoneOffset());\n if (dayStartOrEnd === \"dayend\") {\n DateObj.setHours(DateObj.getHours() + 24);\n DateObj.setSeconds(DateObj.getSeconds() - 1);\n }\n return DateObj.getTime();\n } catch (e) {\n return dateString;\n }\n };\n function onSubmit(_data) {\n Digit.SessionStorage.set(\"AUDIT_APPLICATION_DETAIL\", {\n offset: 0,\n limit: 5,\n sortBy: \"commencementDate\",\n sortOrder: \"DESC\",\n });\n const data = {\n ..._data,\n fromDate: convertDateToEpoch(_data?.fromDate),\n toDate: convertDateToEpoch(_data?.toDate),\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key] : data[key] }), {})\n );\n }\n useEffect(() => {\n const storedPayload = Digit.SessionStorage.get(\"AUDIT_APPLICATION_DETAIL\") || {};\n if (storedPayload) {\n const data = {\n ...storedPayload,\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key].code : data[key] }), {})\n );\n }\n }, []);\n const config = {\n enabled: !!(payload && Object.keys(payload).length > 0),\n };\n const newObj = { ...payload };\n \n const {\n isLoading,\n data,\n} = Digit.Hooks.useAudit({\n tenantId,\n filters: {\n ...newObj,\n },\n config,\n });\n\n return (\n <AuditSearchApplication\n t={t}\n tenantId={tenantId}\n onSubmit={onSubmit}\n data={\n !isLoading\n ? data?.ElasticSearchData?.length > 0\n ? data?.ElasticSearchData\n : { display: \"ES_COMMON_NO_DATA\" }\n : \"\"\n }\n count={data?.ElasticSearchData?.length}\n />\n );\n };\n export default Search;","import {\n Card,\n Loader,\n CaseIcon,\n ComplaintIcon,\n HelpLineIcon,\n MCollectIcon,\n PTIcon,\n RupeeSymbol,\n ServiceCenterIcon,\n TimerIcon,\n ValidityTimeIcon,\n WhatsappIconGreen,\n} from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StaticDynamicCard = ({ moduleCode }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant();\n const {\n isLoading: isMdmsLoading,\n data: mdmsData,\n } = Digit.Hooks.useStaticData(Digit.ULBService.getStateId());\n const {\n isLoading: isSearchLoading,\n error,\n data: dynamicData,\n isSuccess,\n } = Digit.Hooks.useDynamicData({\n moduleCode,\n tenantId: tenantId,\n filters: {},\n t,\n });\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const IconComponent = ({ module, styles }) => {\n switch (module) {\n case \"TL\":\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"PT\":\n return <PTIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"MCOLLECT\":\n return (\n <MCollectIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n case \"PGR\":\n return (\n <ComplaintIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n default:\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n }\n };\n const mdmsConfigResult =\n mdmsData?.MdmsRes[\"common-masters\"]?.StaticData[0]?.[`${moduleCode}`];\n\n const StaticDataIconComponentOne = ({ module }) => {\n switch (module) {\n case \"PT\":\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const StaticDataIconComponentTwo = ({ module }) => {\n switch (module) {\n case \"PT\":\n return (\n <span className=\"rupeeSymbol\">\n <RupeeSymbol />\n </span>\n );\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const staticContent = (module) => {\n switch (module) {\n case \"TL\":\n case \"PT\":\n case \"MCOLLECT\":\n return {\n staticCommonContent: t(\"COMMON_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n case \"PGR\":\n return {\n staticCommonContent: t(\"ACTION_TEST_COMPLAINT_TYPES\"),\n };\n case \"OBPS\":\n return {\n staticCommonContent: t(\"BUILDING_PLAN_PERMIT_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n \" \" +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n default:\n return {\n staticCommonContent: \"\",\n };\n }\n };\n\n const staticData = (module) => {\n switch (module) {\n case \"PT\":\n return {\n staticDataOne:\n mdmsConfigResult?.staticDataOne + \" \" + t(\"COMMON_DAYS\"),\n staticDataOneHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n staticDataTwo: mdmsConfigResult?.staticDataTwo,\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_FEE\"),\n };\n case \"WS\":\n return {\n staticDataOne: \"\",\n staticDataOneHeader:\n t(\"PAY_WATER_CHARGES_BY\") +\n \" \" +\n mdmsConfigResult?.staticDataOne +\n \" \" +\n t(\"COMMON_DAYS\") +\n \" \" +\n t(\"OF_BILL_GEN_TO_AVOID_LATE_FEE\"),\n staticDataTwo:\n mdmsConfigResult?.staticDataTwo + \" \" + t(\"COMMON_DAYS\"),\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n };\n default:\n return {};\n }\n };\n\n if (isMdmsLoading || isSearchLoading) {\n return <Loader />;\n }\n return mdmsConfigResult ? (\n <React.Fragment>\n {mdmsConfigResult && mdmsConfigResult?.payViaWhatsApp ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div\n className=\"pay-whatsapp-card\"\n onClick={() =>\n handleClickOnWhatsApp(mdmsConfigResult?.payViaWhatsApp)\n }\n >\n <div className=\"pay-whatsapp-text\">{t(\"PAY_VIA_WHATSAPP\")}</div>\n <div className=\"whatsAppIconG\">\n <WhatsappIconGreen />\n </div>\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.helpline ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CALL_CENTER_HELPLINE\")}\n </div>\n <div className=\"helplineIcon\">\n <HelpLineIcon />\n </div>\n </div>\n <div className=\"call-center-card-text\">\n {mdmsConfigResult?.helpline?.contactOne ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactOne}`}>\n {mdmsConfigResult?.helpline?.contactOne}\n </a>\n </div>\n ) : null}\n {mdmsConfigResult?.helpline?.contactTwo ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactTwo}`}>\n {mdmsConfigResult?.helpline?.contactTwo}\n </a>\n </div>\n ) : null}\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.serviceCenter ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CITIZEN_SERVICE_CENTER\")}\n </div>\n <div className=\"serviceCentrIcon\">\n <ServiceCenterIcon />\n </div>\n </div>\n <div className=\"service-center-details-card\">\n <div className=\"service-center-details-text\">\n {mdmsConfigResult?.serviceCenter}\n </div>\n </div>\n {mdmsConfigResult?.viewMapLocation ? (\n <div className=\"link\">\n <a href={mdmsConfigResult?.viewMapLocation}>{t(\"VIEW_ON_MAP\")}</a>\n </div>\n ) : null}\n </Card>\n ) : (\n <div />\n )}\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataOne === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataOne}\n </span>\n </div>\n </div>\n )}\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataTwo === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataTwo}\n </span>\n </div>\n </div>\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataOne ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentOne module={moduleCode} />\n <span className=\"static-data-content\">\n <span\n className=\"static-data-content-first\"\n style={{\n marginTop:\n staticData(moduleCode)?.staticDataOne === \"\"\n ? \"8px\"\n : \"unset\",\n }}\n >\n {staticData(moduleCode)?.staticDataOneHeader}\n </span>\n <span className=\"static-data-content-second\">{`${\n staticData(moduleCode)?.staticDataOne\n }`}</span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataTwo ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentTwo module={moduleCode} />\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticData(moduleCode)?.staticDataTwoHeader}\n </span>\n <span className=\"static-data-content-second\">\n {staticData(moduleCode)?.staticDataTwo}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.validity ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {staticContent(moduleCode)?.validity}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {error ||\n dynamicData == null ||\n !dynamicData?.staticData ||\n dynamicData?.staticData === null ? (\n <div />\n ) : (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n {moduleCode === \"PGR\" ? (\n <IconComponent\n module={moduleCode}\n styles={{\n width: \"24px\",\n height: \"24px\",\n marginLeft: \"13px\",\n marginTop: \"12px\",\n }}\n />\n ) : (\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n )}\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {dynamicData?.staticData}\n </span>\n </span>\n </div>\n </div>\n )}\n </Card>\n </React.Fragment>\n ) : (\n <React.Fragment />\n );\n};\n\nexport default StaticDynamicCard;\n","import React, { 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\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\n\nconst CitizenSideNav = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit?.ULBService?.getStateId();\n const user = Digit.UserService.getUser();\n const isLoggedIn = user && user.access_token && user?.info?.type === \"CITIZEN\";\n\n // Tenant + language switchers — parity with the mobile hamburger (CitizenSideBar).\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogoutSubmit = () => {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n };\n\n const handleLogoutCancel = () => {\n setShowDialog(false);\n };\n\n const navigateToUrl = (url) => {\n if (!url || url === \"/\") return;\n\n const isExternal = /^https?:\\/\\//i.test(url);\n if (isExternal) {\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/citizen`, `/${contextPath}/${tenantId}/citizen`);\n navigate(url);\n } else {\n const updatedUrl = hostUrl + url;\n try {\n window.location.href = updatedUrl;\n } catch (error) {\n console.warn(\"Navigation failed, attempting fallback:\", error);\n window.location.replace(updatedUrl);\n }\n }\n } else {\n navigate(url);\n }\n };\n\n // Same behaviour as the mobile hamburger's city switch: narrow the logged-in\n // user's roles/tenant to the picked city and reload.\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = loggedInData?.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 try {\n window.location.reload();\n } catch (error) {\n console.warn(\"Failed to reload page:\", error);\n }\n };\n\n const handleChangeLanguage = (language) => {\n Digit.LocalizationService.changeLanguage(language.value, stateInfo?.code);\n };\n\n const onItemSelect = ({ item }) => {\n if (item?.type === \"custom\") {\n if (item.key === \"city\") handleChangeCity(item);\n else if (item.key === \"language\") handleChangeLanguage(item);\n return;\n }\n if (item?.navigationUrl) {\n navigateToUrl(item.navigationUrl);\n }\n };\n\n const onBottomItemClick = (item) => {\n if (item === \"Logout\") {\n setShowDialog(true);\n }\n };\n\n const buildItems = () => {\n const isDigitStudio = window.location.href.includes(\"digit-studio\");\n const items = [];\n let orderCounter = 1;\n\n if (isLoggedIn) {\n items.push({\n label: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n icon: { icon: \"Home\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen`,\n orderNumber: orderCounter++,\n });\n\n items.push({\n label: t(\"EDIT_PROFILE\"),\n icon: { icon: \"Edit\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen/user/profile`,\n orderNumber: orderCounter++,\n });\n }\n\n // DIGIT Studio only: city + language switchers (parity with the mobile\n // hamburger), since Studio drops the module-links section below. Stock\n // DIGIT keeps its original sidebar contents unchanged.\n if (isDigitStudio) {\n // Options come from the logged-in user's role tenants; without options\n // (logged out) the item still shows the current city, like mobile.\n const cityCodes = [\n ...new Set(\n (Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles || [])\n .map((role) => role.tenantId)\n .filter(Boolean)\n ),\n ];\n const cityChildren = cityCodes.map((code) => ({\n label: t(`TENANT_TENANTS_${code.replace(/\\./g, \"_\").toUpperCase()}`),\n value: code,\n type: \"custom\",\n key: \"city\",\n icon: { icon: \"LocationCity\", width: \"1.5rem\", height: \"1.5rem\" },\n }));\n const currentCityLabel = isMultiRootTenant\n ? t(`TENANT_TENANTS_${tenantId}`)\n : t(`TENANT_TENANTS_${(Digit.ULBService.getCurrentTenantId() || \"\").replace(/\\./g, \"_\").toUpperCase()}`);\n items.push({\n label: currentCityLabel,\n icon: { icon: \"LocationCity\", width: \"1.5rem\", height: \"1.5rem\" },\n children: cityChildren.length > 0 ? cityChildren : undefined,\n orderNumber: orderCounter++,\n });\n\n items.push({\n label: t(\"Language\"),\n icon: { icon: \"Language\", width: \"1.5rem\", height: \"1.5rem\" },\n children:\n languages?.length > 0\n ? languages.map((language) => ({\n ...language,\n type: \"custom\",\n key: \"language\",\n icon: { icon: \"Language\", width: \"1.5rem\", height: \"1.5rem\" },\n }))\n : undefined,\n orderNumber: orderCounter++,\n });\n }\n\n // DIGIT Studio: citizen services are reached from the home/landing tiles —\n // the module links section is dropped from the sidebar entirely (mobile\n // parity: CitizenSideBar's hamburger drops its \"Modules\" group).\n if (!isDigitStudio) {\n Object.keys(linkData || {})\n ?.sort((x, y) => x.localeCompare(y))\n ?.forEach((key) => {\n const moduleEntries = linkData[key];\n if (!moduleEntries || moduleEntries.length === 0) return;\n\n // Check if any entry in this module has a sidebar value ending with \"-links\"\n const hasSidebarLink = moduleEntries.some((entry) => entry.sidebar?.endsWith(\"-links\"));\n if (!hasSidebarLink) return;\n\n const rawIcon = moduleEntries[0]?.leftIcon;\n const leftIcon = rawIcon || \"ViewModule\";\n\n // Deduplicate entries by name to avoid duplicate children\n const seen = new Set();\n const uniqueEntries = moduleEntries.filter((entry) => {\n if (seen.has(entry.name)) return false;\n seen.add(entry.name);\n return true;\n });\n\n // Build children from all entries (Apply, My Applications, etc.)\n const children = uniqueEntries.map((entry) => ({\n label: t(entry.displayName || entry.i18nKey),\n icon: { icon: entry.leftIcon || \"ViewModule\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: entry.navigationURL || entry.link,\n orderNumber: entry.orderNumber,\n }));\n\n // Sort children by orderNumber\n children.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n if (children.length === 1) {\n // Single entry — render as flat item (no parent/child nesting)\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: children[0].navigationUrl,\n orderNumber: orderCounter++,\n });\n } else {\n // Multiple entries — render as parent with children\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n orderNumber: orderCounter++,\n });\n }\n });\n }\n\n items.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n return items;\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const items = buildItems();\n\n return (\n <React.Fragment>\n <MediaQuery minWidth={768}>\n <SideNav\n items={items}\n hideAccessbilityTools={!isLoggedIn}\n onSelect={onItemSelect}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"light\"}\n enableSearch={true}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{ position : \"unset\"}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={onBottomItemClick}\n />\n </MediaQuery>\n {showDialog && (\n <LogoutDialog\n onSelect={handleLogoutSubmit}\n onCancel={handleLogoutCancel}\n onDismiss={handleLogoutCancel}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default CitizenSideNav;\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 CitizenSideNav from \"../../components/TopBarSideBar/SideBar/CitizenSideNav\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"../../components/DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst FAQsSection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-faqs\" */ \"./FAQs/FAQs\"),\n () => require(\"./FAQs/FAQs\").default,\n { loaderText: \"CORE_LOADING_FAQS\" }\n);\n\nconst CitizenHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-home\" */ \"./Home\"),\n () => require(\"./Home\").default,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-language-selection\" */ \"./Home/LanguageSelection\"),\n () => require(\"./Home/LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst LocationSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-location-selection\" */ \"./Home/LocationSelection\"),\n () => require(\"./Home/LocationSelection\").default,\n { loaderText: \"CORE_LOADING_LOCATION_SELECTION\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-user-profile\" */ \"./Home/UserProfile\"),\n () => require(\"./Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst HowItWorks = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-how-it-works\" */ \"./HowItWorks/howItWorks\"),\n () => require(\"./HowItWorks/howItWorks\").default,\n { loaderText: \"CORE_LOADING_HOW_IT_WORKS\" }\n);\n\nconst Login = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Search = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-search\" */ \"./SearchApp\"),\n () => require(\"./SearchApp\").default,\n { loaderText: \"CORE_LOADING_SEARCH\" }\n);\n\nconst StaticDynamicCard = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-static-dynamic-card\" */ \"./StaticDynamicComponent/StaticDynamicCard\"),\n () => require(\"./StaticDynamicComponent/StaticDynamicCard\").default,\n { loaderText: \"CORE_LOADING_DYNAMIC_CONTENT\" }\n);\n\nconst sidebarHiddenFor = [\n `${window?.contextPath}/citizen/register/name`,\n `/${window?.contextPath}/citizen/select-language`,\n `/${window?.contextPath}/citizen/select-location`,\n `/${window?.contextPath}/citizen/login`,\n `/${window?.contextPath}/citizen/register/otp`,\n];\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes.map((item) => item.code).includes(tenant.code));\n};\n\nconst Home = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl, // This prop seems unused, consider removing\n pathname, // This prop seems unused, `useLocation().pathname` is used directly\n initData,\n}) => {\n const { isLoading: islinkDataLoading, data: linkData, isFetched: isLinkDataFetched } = Digit.Hooks.useCustomMDMS(\n Digit.ULBService.getStateId(),\n \"ACCESSCONTROL-ACTIONS-TEST\",\n [\n {\n name: \"actions-test\",\n filter: `[?(@.url == '${Digit.Utils.getMultiRootTenant() ? window.globalPath : window.contextPath}-card')]`,\n },\n ],\n {\n select: (data) => {\n const formattedData = data?.[\"ACCESSCONTROL-ACTIONS-TEST\"]?.[\"actions-test\"]\n ?.filter((el) => el.enabled === true)\n .reduce((a, b) => {\n a[b.parentModule] = a[b.parentModule]?.length > 0 ? [b, ...a[b.parentModule]] : [b];\n return a;\n }, {});\n return formattedData;\n },\n }\n );\n const classname = Digit.Hooks.useRouteSubscription(pathname);\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const hideSidebar = sidebarHiddenFor.some((e) => window.location.href.includes(e));\n\n // DIGIT Studio configurable citizen pages — rendered inside the citizen Home\n // shell so they inherit the real DIGIT top bar + footer (routes added below).\n const CitizenLandingPage = Digit.ComponentRegistryService?.getComponent(\"CitizenLandingPage\");\n const ServiceLandingPage = Digit.ComponentRegistryService?.getComponent(\"ServiceLandingPage\");\n const ServiceActionsPage = Digit.ComponentRegistryService?.getComponent(\"ServiceActionsPage\");\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>\n <CitizenSideNav 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={\n <div className=\"citizen-location-selection-wrapper\">\n <LocationSelection />\n </div>\n } />\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 {/* DIGIT Studio configurable citizen pages */}\n {CitizenLandingPage && <Route path=\"user/citizen-landing\" element={<CitizenLandingPage />} />}\n {ServiceLandingPage && <Route path=\"user/service-landing\" element={<ServiceLandingPage />} />}\n {ServiceActionsPage && <Route path=\"user/service-actions\" element={<ServiceActionsPage />} />}\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={\n <div className=\"citizen-user-profile-wrapper\">\n <UserProfile stateCode={stateCode} userType={\"citizen\"} cityDetails={cityDetails} />\n </div>\n } />\n\n <Route path=\"Audit\" element={<Search />} />\n\n {/* Dynamic App Routes and Module Level Link Home Pages */}\n {appRoutes}\n {ModuleLevelLinkHomePages}\n </Routes>\n </div>\n <div className=\"citizen-home-footer\" style={window.location.href.includes(\"citizen/obps\") ? { zIndex: \"-1\" } : {}}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.2em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Home;","import { CardSubHeader, FormComposer,CardText} from \"@egovernments/digit-ui-react-components\";\nimport { BackLink,Toast} from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport SelectOtp from \"../../citizen/Login/SelectOtp\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ChangePasswordComponent = ({ config: propsConfig, t }) => {\n const [user, setUser] = useState(null);\n // Forgot-password navigates here with ?USERNAME=...; mobile_number is kept\n // as a fallback for any older links that still use it.\n const { mobile_number: mobileNumber, USERNAME: userName, tenantId } = Digit.Hooks.useQueryParams();\n const userIdentifier = userName || mobileNumber;\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 userName: userIdentifier,\n mobileNumber: userIdentifier,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId,\n },\n };\n\n try {\n await Digit.UserService.sendOtp(requestData, tenantId);\n setShowToast(t(\"ES_OTP_RESEND\"));\n } catch (err) {\n setShowToast(err?.response?.data?.error_description || t(\"ES_INVALID_LOGIN_CREDENTIALS\"));\n }\n setTimeout(closeToast, 5000);\n };\n\n const onChangePassword = async (data) => {\n try {\n if (data.newPassword !== data.confirmPassword) {\n return setShowToast(t(\"ERR_PASSWORD_DO_NOT_MATCH\"));\n }\n const requestData = {\n ...data,\n otpReference: otp,\n tenantId,\n type: getUserType().toUpperCase(),\n };\n\n const response = await Digit.UserService.changePassword(requestData, tenantId);\n navigateToLogin();\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || t(\"ES_SOMETHING_WRONG\"));\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/user/login`, {replace:true});\n };\n\n const [username, password, confirmPassword] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(username.label),\n type: username.type,\n populators: {\n name: username.name,\n },\n isMandatory: true,\n },\n {\n label: t(password.label),\n type: password.type,\n populators: {\n name: password.name,\n },\n isMandatory: true,\n },\n {\n label: t(confirmPassword.label),\n type: confirmPassword.type,\n populators: {\n name: confirmPassword.name,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink variant=\"primary\" style={{ borderBottom: \"none\" }} />\n </div>\n <FormComposer\n onSubmit={onChangePassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeChangePassword\"\n >\n <Header />\n <CardSubHeader style={{ textAlign: \"center\" }}> {propsConfig.texts.header} </CardSubHeader>\n <CardText>\n {`${t(`CS_LOGIN_OTP_TEXT`)} `}\n <b>\n {\" \"}\n {`${t(`+ 91 - `)}`} {mobileNumber}\n </b>\n </CardText>\n <SelectOtp t={t} userType=\"employee\" otp={otp} onOtpChange={setOtp} error={isOtpValid} onResend={onResendOTP} />\n {/* <div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_SENT_MESSAGE\")}</CardLabel>\n <CardLabelDesc style={{ marginBottom: \"0px\" }}> {mobileNumber} </CardLabelDesc>\n <CardLabelDesc style={{ marginBottom: \"8px\" }}> {t(\"CORE_EMPLOYEE_OTP_CHECK_MESSAGE\")}</CardLabelDesc>\n </div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_OTP\")} *</CardLabel>\n <TextInput className=\"field\" name={otpReference} isRequired={true} onChange={updateOtp} type={\"text\"} style={{ marginBottom: \"10px\" }} />\n <div className=\"flex-right\">\n <div className=\"primary-label-btn\" onClick={onResendOTP}>\n {t(\"CORE_OTP_RESEND\")}\n </div>\n </div> */}\n </FormComposer>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nChangePasswordComponent.propTypes = {\n loginParams: PropTypes.any,\n};\n\nChangePasswordComponent.defaultProps = {\n loginParams: null,\n};\n\nexport default ChangePasswordComponent;\n","export const config = [\n {\n texts: {\n header: \"CORE_COMMON_RESET_PASSWORD_LABEL\",\n submitButtonLabel: \"CORE_COMMON_CHANGE_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n name: \"userName\",\n error: \"ERR_HRMS_INVALID_USERNAME\",\n },\n {\n label: \"CORE_LOGIN_NEW_PASSWORD\",\n type: \"password\",\n name: \"newPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n {\n label: \"CORE_LOGIN_CONFIRM_NEW_PASSWORD\",\n type: \"password\",\n name: \"confirmPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n ],\n },\n];\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport ChangePasswordComponent from \"./changePassword\";\nimport { config } from \"./config\";\n\nconst EmployeeChangePassword = () => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n config.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [config]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ChangePasswordComponent config={params[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeChangePassword;\n","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"ES_FORGOT_PASSWORD_DESC\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"mobileNumber\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOBILE_NUMBER\",\n },\n {\n label: \"CORE_COMMON_CITY\",\n type: \"dropdown\",\n name: \"city\",\n error: \"ERR_HRMS_INVALID_CITY\",\n },\n ]\n },\n];\n","// import { FormComposer } from \"@egovernments/digit-ui-react-components\";\nimport { BackLink, Dropdown, Loader, Toast, FormComposerV2 } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport Carousel from \"../Login/Carousel/Carousel\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\n\nconst ForgotPassword = ({ config: propsConfig, t, stateCode }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const [user, setUser] = useState(null);\n const navigate = useNavigate();\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n \n const { data : mdmsData } = useLoginConfig(stateCode);\n \n if(mdmsData?.config){\n const bannerImages = mdmsData?.config[0]?.bannerImages;\n propsConfig.bannerImages = bannerImages;\n }\n\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = async (data) => {\n if (!data.city) {\n alert(\"Please Select City!\");\n return;\n }\n const requestData = {\n otp: {\n userName: data.username,\n mobileNumber: 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: \"var(--digitv2-lightTheme-primary, #363636)\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\", fontWeight: \"normal\", fontSize: \"18px\" }}\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: \"var(--digitv2-lightTheme-primary, #363636)\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\", fontWeight: \"normal\", fontSize: \"18px\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nForgotPassword.propTypes = {\n loginParams: PropTypes.any,\n};\n\nForgotPassword.defaultProps = {\n loginParams: null,\n};\n\nexport default ForgotPassword;","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { loginConfig } from \"./config\";\nimport ForgotPasswordComponent from \"./forgotPassword\";\n\nconst EmployeeForgotPassword = ({ stateCode }) => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ForgotPasswordComponent config={params[0]} t={t} stateCode={stateCode} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeForgotPassword;\n","import { Button, Card, SubmitBar, Loader } from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport { loginConfig as defaultLoginConfig } from \"../Login/config\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\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 // Same LoginConfig (MDMS override, else local default) the Login screen uses for showTenant.\n const { data: loginMdmsData } = useLoginConfig(Digit.ULBService.getStateId());\n const loginScreenConfig = loginMdmsData?.config?.[0] || defaultLoginConfig?.[0];\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 [isChangingLanguage, setIsChangingLanguage] = useState(false);\n const handleChangeLanguage = async (language) => {\n setselected(language.value);\n setIsChangingLanguage(true);\n await Promise.all([\n Digit.LocalizationService.getLocale({ modules: [\"digit-ui\", \"digit-privacy-policy\"], locale: language.value, tenantId: stateInfo.code }),\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n ]);\n setIsChangingLanguage(false);\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 if (isChangingLanguage) return;\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 language-selector\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} alt=\"Digit Banner Image\" />\n\n {loginScreenConfig?.showTenant !== false && <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>}\n </div>\n <div className=\"language-selector-header\">{t(\"CS_COMMON_CHOOSE_LANGUAGE_HEADER\")}</div>\n <div className=\"language-selector\" style={{ justifyContent: \"space-around\", 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} disabled={isChangingLanguage} />\n {isChangingLanguage && <Loader variant={\"OverlayLoader\"} loaderText={\"CORE_LOADING\"} />}\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 <\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 >\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n {\n key: \"employeeSsoLoginOptions\",\n type: \"component\",\n disable: false,\n component: \"EmployeeSSOLoginOptions\",\n populators: {\n name: \"employeeSsoLoginOptions\"\n },\n isMandatory: false,\n withoutLabel: true,\n renderAfterSubmit:true\n },\n ],\n\n // If you just want to show a popup when clicked on forgot password\n // forgotPasswordScreen: {\n // mode: \"popup\",\n // popupFields: {\n // heading: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n // description: \"CORE_FORGOT_PASSWORD_POPUP_DESCRIPTION\",\n // buttonLabel: \"CORE_FORGOT_PASSWORD_POPUP_OK\",\n // },\n // },\n // If you dont want to show tenant infromation before the logo icon in login page\n // showTenant : false\n },\n];\n","export const LoginOtpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"Sandbox\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n },\n];\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ForgotPasswordDialog = ({ onDismiss, heading, description, buttonLabel, PopupStyles }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>{t(description)}</CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(buttonLabel)}\n onClick={onDismiss}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(heading)}\n footerChildren={footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-forgot-password-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default ForgotPasswordDialog;\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\";\nimport ForgotPasswordDialog from \"../../../components/Dialog/ForgotPasswordDialog\";\n// import SkipToMainContent from \"../SkipToMainContent/SkipToMainContent\";\nimport withAutoFocusMain from \"../../../hoc/withAutoFocusMain\";\n\n// Used only if forgotPasswordScreen.mode is \"popup\" but popupFields isn't fully specified.\nconst DEFAULT_FORGOT_PASSWORD_POPUP = {\n heading: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"CORE_FORGOT_PASSWORD_POPUP_DESCRIPTION\",\n buttonLabel: \"CORE_FORGOT_PASSWORD_POPUP_OK\",\n};\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 {\n data: storeData,\n isLoading: isStoreLoading,\n } = Digit.Hooks.useStore.getInitData();\n const {\n data: ssoMDMSData,\n isLoading: isSSOMDMSLoading,\n } = Digit.Hooks.useSSOConfig(Digit.ULBService.getStateId(), {\n select: (data) => {\n const config =\n data?.MdmsRes?.[\"SSO\"]?.IdentityProviders ||\n data?.[\"SSO\"]?.IdentityProviders ||\n data?.[\"IdentityProviders\"] ||\n [];\n return Array.isArray(config) ? config : [];\n },\n });\n const { stateInfo } = storeData || {};\n const [user, setUser] = useState(null);\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n const [loginLoader, setLoginLoader] = useState(false);\n const [showForgotPasswordPopup, setShowForgotPasswordPopup] = useState(false);\n const forgotScreenConfig = propsConfig?.forgotPasswordScreen;\n const navigate = useNavigate();\n const DynamicLoginComponent = Digit.ComponentRegistryService?.getComponent(\n \"DynamicLoginComponent\",\n );\n\n /* Generic SSO Callback Handler - runs on mount / when disable/user/stateInfo change */\n useEffect(() => {\n const hashParams = new URLSearchParams(window.location.hash.slice(1));\n const searchParams = new URLSearchParams(window.location.search);\n const idToken = hashParams.get(\"id_token\") || searchParams.get(\"id_token\");\n const accessToken =\n hashParams.get(\"access_token\") || searchParams.get(\"access_token\");\n const code = searchParams.get(\"code\");\n\n const error = searchParams.get(\"error\") || hashParams.get(\"error\");\n const errorDescription =\n searchParams.get(\"error_description\") ||\n hashParams.get(\"error_description\") ||\n searchParams.get(\"errorDescription\") ||\n hashParams.get(\"errorDescription\");\n\n // If we are not on an SSO callback URL, never keep the SSO overlay loader.\n // Important: we intentionally don't set the loader before redirecting to the provider,\n // so browser back (including bfcache restores) won't get stuck with a stale loader.\n // Note: do NOT reset `disable` here — it is also used for form-validation gating and\n // resetting it would fight FormComposerV2's onFormValueChange, causing an infinite loop.\n if (!idToken && !code && !error) {\n if (loginLoader) setLoginLoader(false);\n return;\n }\n\n if (error && !showToast) {\n setShowToast(errorDescription || \"SSO Login Failed!\");\n setTimeout(closeToast, 5000);\n setLoginLoader(false);\n setDisable(false);\n return;\n }\n\n if (!stateInfo?.code) {\n // Tenant/state not ready yet; wait and retry when stateInfo arrives.\n return;\n }\n\n if ((idToken || code) && !user && !disable) {\n if (idToken) {\n handleDigitLogin(idToken, accessToken);\n } else if (code) {\n setDisable(true);\n setLoginLoader(true);\n Digit.UserService.microsoftAuthenticate({ code })\n .then(({ UserRequest: info, ...tokens }) => {\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n setDisable(false);\n setLoginLoader(false);\n })\n .catch((err) => {\n setShowToast(\n err?.response?.data?.error_description || \"Login Failed!\",\n );\n setTimeout(closeToast, 5000);\n setDisable(false);\n setLoginLoader(false);\n });\n }\n }\n\n }, [user, disable, stateInfo, loginLoader, showToast]);\n\n /* Post-login redirect and user setup */\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 (\n user?.info?.roles &&\n user?.info?.roles?.every((e) => e.code === \"NATADMIN\")\n ) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/NURT_DASHBOARD`;\n }\n\n /* RAIN-6489 Logic to navigate to National DSS home incase user has only one role [NATADMIN]*/\n if (\n user?.info?.roles &&\n user?.info?.roles?.every((e) => e.code === \"STADMIN\")\n ) {\n redirectPath = `/${window?.contextPath}/employee/dss/landing/home`;\n }\n\n navigate(redirectPath, { replace: true });\n }, [user]);\n\n /* Generic Token Exchange with DIGIT Backend */\n const handleDigitLogin = async (idToken, accessToken = null) => {\n setDisable(true);\n setLoginLoader(true);\n try {\n const response = await fetch(\"/user/oauth/token\", {\n method: \"POST\",\n headers: {\n Authorization: `Basic ${\n window?.globalConfigs?.getConfig(\"JWT_TOKEN\") ||\n \"ZWdvdi11c2VyLWNsaWVudDo=\"\n }`,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: new URLSearchParams({\n grant_type: \"jwt_exchange\",\n scope: \"read\",\n userType: \"EMPLOYEE\",\n assertion: idToken,\n ...(accessToken && { access_token: accessToken }),\n tenantId: stateInfo?.code,\n }),\n });\n\n if (!response.ok) {\n const raw = await response.text();\n let parsed;\n try {\n parsed = raw ? JSON.parse(raw) : null;\n } catch (e) {\n parsed = null;\n }\n const message =\n parsed?.error_description ||\n parsed?.errorDescription ||\n parsed?.message ||\n parsed?.error ||\n raw ||\n \"DIGIT Login Failed\";\n throw new Error(message);\n }\n\n const data = await response.json();\n const { UserRequest: info, ...tokens } = data;\n\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (error) {\n console.error(\"DIGIT Login Error:\", error);\n setShowToast(error?.message || \"DIGIT Login Failed\");\n setTimeout(closeToast, 5000);\n\n\n // If token exchange fails, force Microsoft to prompt credentials on next SSO click.\n try {\n window.sessionStorage.setItem(\"sso.force.prompt.login\", \"true\");\n } catch (e) {\n // no-op\n }\n\n // Prevent retry loop: clear `id_token`/`code` from URL (stay on same page).\n try {\n window.history.replaceState({}, document.title, window.location.pathname);\n } catch (e) {\n // no-op\n }\n }\n setDisable(false);\n setLoginLoader(false);\n };\n\n const buildOIDCAuthorizeUrl = (uiConfig) => {\n const {\n authorizeUrl,\n clientId,\n scopes = [\"openid\", \"profile\", \"email\"],\n responseType = \"id_token\",\n responseMode = \"fragment\",\n nonceRequired = true,\n redirectPath = \"employee/user/login\",\n resource,\n provider,\n prompt,\n } = uiConfig || {};\n\n if (!authorizeUrl || !clientId) {\n throw new Error(\"Missing authorizeUrl or clientId for OIDC login\");\n }\n\n const nonce = nonceRequired\n ? Math.random().toString(36).substring(2)\n : undefined;\n const redirectUri = `${window.location.origin}/${window?.contextPath}/${redirectPath}`;\n\n const params = new URLSearchParams();\n params.set(\"client_id\", clientId);\n params.set(\"response_type\", responseType);\n params.set(\"redirect_uri\", redirectUri);\n if (nonce) params.set(\"nonce\", nonce);\n if (responseMode) params.set(\"response_mode\", responseMode);\n if (scopes && scopes.length) params.set(\"scope\", scopes.join(\" \"));\n if (resource) params.set(\"resource\", resource);\n\n // Handle prompt parameter with priority:\n // 1. Use configured prompt from SSO config (respects admin configuration)\n // 2. Fall back to forced login only if no prompt is configured AND a previous login failed\n try {\n const forcePromptLogin = window.sessionStorage.getItem(\"sso.force.prompt.login\") === \"true\";\n\n if (prompt) {\n // Respect configured prompt (e.g., \"select_account\", \"consent\")\n params.set(\"prompt\", prompt);\n // Clear the force flag since we're using configured prompt\n if (forcePromptLogin) {\n window.sessionStorage.removeItem(\"sso.force.prompt.login\");\n }\n } else if (forcePromptLogin) {\n // Only force login if no prompt is configured\n params.set(\"prompt\", \"login\");\n window.sessionStorage.removeItem(\"sso.force.prompt.login\");\n }\n } catch (e) {\n // If prompt is configured, still set it even if sessionStorage fails\n if (prompt) {\n params.set(\"prompt\", prompt);\n }\n }\n\n return `${authorizeUrl}?${params.toString()}`;\n };\n\n const onSSOLogin = async (ssoConfig) => {\n // For OIDC-like providers (MICROSOFT, GOOGLE, etc.), use generic OIDC login\n const ui = ssoConfig?.ui || {};\n const hasOidcConfig = Boolean((ui.authorizeUrl || ssoConfig?.authorizeUrl) && ui.clientId);\n\n if (ui.authStrategy === \"OIDC_POPUP\" || ui.provider === \"MICROSOFT\" || hasOidcConfig) {\n return onOIDCLogin(ssoConfig);\n }\n\n // If the config doesn't match any known SSO strategy, don't leave the overlay loader stuck.\n setShowToast(\"SSO configuration is invalid or unsupported\");\n setTimeout(closeToast, 5000);\n };\n\n const onOIDCLogin = async (ssoConfig) => {\n try {\n const ui = { ...(ssoConfig?.ui || {}) };\n // Backward-compatibility for older configs where authorizeUrl/resource\n // might be on the top level instead of inside ui.\n ui.authorizeUrl = ui.authorizeUrl || ssoConfig?.authorizeUrl;\n ui.resource = ui.resource || ssoConfig?.resource;\n // For Microsoft, if resource is not explicitly provided, default it to clientId (v1 behavior).\n if (ui.provider === \"MICROSOFT\" && !ui.resource) {\n ui.resource = ui.clientId;\n }\n // Persist provider + logout-relevant info for later use during logout\n if (ui.provider) {\n localStorage.setItem(\"sso-provider\", ui.provider);\n }\n if (ui.logoutUrl) {\n localStorage.setItem(\"sso-logout-url\", ui.logoutUrl);\n }\n if (ui.logoutRedirectParam) {\n localStorage.setItem(\"sso-logout-redirect-param\", ui.logoutRedirectParam);\n }\n if (ui.tenantId) {\n localStorage.setItem(\"sso-tenant-id\", ui.tenantId);\n }\n if (ui.authority) {\n localStorage.setItem(\"sso-authority\", ui.authority);\n }\n const url = buildOIDCAuthorizeUrl(ui);\n // Simple implementation: redirect for OIDC if no library is present\n // For a better experience, a popup and message bridge should be used\n window.location.href = url;\n } catch (error) {\n console.error(\"OIDC Login Error:\", error);\n setShowToast(error.message || \"OIDC Login Failed\");\n setTimeout(closeToast, 5000);\n setLoginLoader(false);\n }\n };\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 setLoginLoader(true);\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 setLoginLoader(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\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 navigate(`/${window?.contextPath}/employee/user/login/otp`, {\n state: {\n email: inputEmail,\n tenant: Digit?.ULBService?.getStateId(),\n },\n });\n },\n },\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = () => {\n if (forgotScreenConfig?.mode === \"popup\") {\n setShowForgotPasswordPopup(true);\n return;\n }\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(\n `TENANT_TENANTS_${defaultTenant}`,\n ),\n };\n\n const ssoConfigs = ssoMDMSData?.map((sso) => ({\n ...sso,\n provider: sso.ui?.provider || sso.provider || \"sso\",\n label: t(`SSO_PROVIDER_${sso.ui?.name || sso.id}`),\n icon: sso.ui?.logo ? (\n <img\n src={sso.ui.logo}\n alt={sso.ui?.name}\n className=\"employee-login-sso-logo\"\n />\n ) : sso.ui?.provider === \"MICROSOFT\" ? \"Microsoft\" : sso.ui?.icon,\n onLogin: (ssoConfig) => {\n onSSOLogin(ssoConfig);\n },\n }));\n\n let config = [\n {\n body: propsConfig?.inputs?.map((field) =>\n field?.component === \"EmployeeSSOLoginOptions\"\n ? {\n ...field,\n customProps: {\n ...field.customProps,\n ssoConfigs,\n },\n }\n : field,\n ),\n },\n ];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (\n mode === \"admin\" &&\n config?.[0]?.body?.[2]?.disable == false &&\n config?.[0]?.body?.[2]?.populators?.defaultValue == undefined\n ) {\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(\n () =>\n Object.fromEntries(\n config[0].body\n .filter(\n (field) =>\n field?.populators?.defaultValue && field?.populators?.name,\n )\n .map((field) => [\n field.populators.name,\n field.populators.defaultValue,\n ]),\n ),\n [],\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 description={propsConfig?.texts?.description}\n className={`${wrapperClass}`}\n cardSubHeaderClassName=\"loginCardSubHeaderClassName\"\n cardClassName={cardClassName}\n buttonClassName=\"buttonClassName\"\n defaultValues={defaultValues}\n className=\"digit-login-screen-form\"\n >\n {stateInfo?.code && propsConfig?.showTenant !== false ? <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 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 {showForgotPasswordPopup && (\n <ForgotPasswordDialog\n heading={forgotScreenConfig?.popupFields?.heading || DEFAULT_FORGOT_PASSWORD_POPUP.heading}\n description={forgotScreenConfig?.popupFields?.description || DEFAULT_FORGOT_PASSWORD_POPUP.description}\n buttonLabel={forgotScreenConfig?.popupFields?.buttonLabel || DEFAULT_FORGOT_PASSWORD_POPUP.buttonLabel}\n onDismiss={() => setShowForgotPasswordPopup(false)}\n />\n )}\n {renderFooter(\"EmployeeLoginFooter\")}\n </div>\n </div>\n ) : (\n <Background>\n {loginLoader && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100vw\",\n height: \"100vh\",\n background: \"rgba(0,0,0,0.35)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 9999,\n }}\n >\n <Loader />\n </div>\n )}\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 {showForgotPasswordPopup && (\n <ForgotPasswordDialog\n heading={forgotScreenConfig?.popupFields?.heading || DEFAULT_FORGOT_PASSWORD_POPUP.heading}\n description={forgotScreenConfig?.popupFields?.description || DEFAULT_FORGOT_PASSWORD_POPUP.description}\n buttonLabel={forgotScreenConfig?.popupFields?.buttonLabel || DEFAULT_FORGOT_PASSWORD_POPUP.buttonLabel}\n onDismiss={() => setShowForgotPasswordPopup(false)}\n />\n )}\n {renderFooter(\"employee-login-home-footer\")}\n </Background>\n );\n \n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default withAutoFocusMain(Login, \".login-form-container\");\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\"; // Updated imports for v6\nimport { loginConfig as defaultLoginConfig } from \"./config\";\nimport { LoginOtpConfig as defaultLoginOtpConfig } from \"./ConfigOtp\";\nimport LoginComponent from \"./login\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeLogin = ({ stateCode }) => {\n const { t } = useTranslation();\n const [loginConfig, setloginConfig] = useState(defaultLoginConfig);\n const [loginOtpConfig, setloginOtpConfig] = useState(defaultLoginOtpConfig);\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n const loginType = window?.globalConfigs?.getConfig(\"OTP_BASED_LOGIN\") || false;\n const { data: mdmsData, isLoading } = useLoginConfig(stateCode);\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix,\n });\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) { \n setloginConfig(mdmsData?.config);\n } else {\n setloginConfig(defaultLoginConfig);\n }\n }, [mdmsData, isLoading]); \n\n const loginParams = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginConfig]\n )\n );\n\n const loginOtpParams = useMemo(\n () =>\n loginOtpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginOtpConfig]\n )\n );\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n return (\n <Routes> {/* Replaced Switch with Routes */}\n <Route\n path=\"/\" \n element={ \n loginType ? (\n <LoginComponent config={loginOtpParams[0]} t={t} loginOTPBased={loginType} />\n ) : (\n <LoginComponent config={loginParams[0]} t={t} />\n )\n }\n />\n </Routes>\n );\n};\n\nexport default EmployeeLogin;","import React, { useState, useEffect } from \"react\";\nimport { BackLink, CardLabel, Loader, Toast } from \"@egovernments/digit-ui-components\";\nimport { FormComposerV2 } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\"; // Updated imports for v6\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\n/* set employee details to enable backward compatible */\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Otp = ({ isLogin = false }) => {\n const { t } = useTranslation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(false);\n const [user, setUser] = useState(null);\n const [params, setParams] = useState(location?.state?.data || {});\n const [ifSuperUserExists, setIfSuperUserExist] = useState(false);\n // In v6, location.state is directly available, no need for destructuring within another object\n const { email, tenant } = location.state || {}; \n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const config = [\n {\n body: [\n {\n type: \"component\",\n component: \"OtpComponent\",\n key: \"OtpComponent\",\n withoutLabel: true,\n isMandatory: false,\n customProps: {\n email: email,\n tenant: tenant,\n },\n populators: {\n required: true,\n },\n },\n ],\n },\n ];\n\n const OtpConfig = [\n {\n texts: {\n // header: t(\"CORE_COMMON_OTP_LABEL\"),\n header: t(\"SANDBOX_OTP_VERIFICATION\"),\n submitButtonLabel: \"CORE_COMMON_SUBMIT\",\n },\n },\n ];\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.globalPath}/user/setup`;\n\n const getRedirectPathOtpLogin = (locationPathname, user, MdmsRes, RoleLandingUrl) => {\n const userRole = user?.info?.roles?.[0]?.code;\n const isSuperUser = userRole === \"SUPERUSER\";\n const contextPath = window?.contextPath;\n\n switch (true) {\n case locationPathname === \"/sandbox-ui/user/otp\" && isSuperUser:\n return `/${contextPath}/employee/sandbox/landing`;\n\n case isSuperUser && MdmsRes?.[0]?.rolesForLandingPage?.includes(\"SUPERUSER\"):\n return `/${contextPath}${RoleLandingUrl}`;\n\n default:\n return `/${contextPath}/employee`;\n }\n };\n\n // Usage\n const redirectPathOtpLogin = getRedirectPathOtpLogin(location.pathname, user, MdmsRes, RoleLandingUrl);\n\n if (isLogin) {\n navigate(redirectPathOtpLogin); // Replaced history.push with navigate\n return;\n } else {\n navigate(\n {\n pathname: redirectPath,\n },\n { state: { tenant: tenant } } // Pass state as a separate options object\n );\n return;\n }\n }, [user]);\n\n const onSubmit = async (formData) => {\n const requestData = {\n username: email,\n password: formData?.OtpComponent?.otp,\n tenantId: tenant,\n userType: \"EMPLOYEE\",\n };\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => navigate(-1)} /> {/* navigate(-1) for going back */}\n </div>\n <FormComposerV2\n onSubmit={onSubmit}\n noBoxShadow\n inline\n submitInForm\n onFormValueChange={(setValue, formValue) => {\n const otpValue = formValue[\"OtpComponent\"];\n if (otpValue?.otp?.length === 6) {\n setIsOtpValid(true);\n } else {\n setIsOtpValid(false);\n }\n }}\n isDisabled={!isOtpValid}\n config={config}\n label={OtpConfig[0].texts.submitButtonLabel}\n heading={OtpConfig[0].texts.header}\n headingStyle={{ textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"sandbox-onboarding-wrapper\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default Otp;","export const SignUpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_SIGN_UP\",\n submitButtonLabel: \"CORE_COMMON_SIGN_UP_BUTTON\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n maxLength: 64,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n label: \"CORE_SIGNUP_ACCOUNT_NAME\",\n type: \"text\",\n key: \"accountName\",\n isMandatory: true,\n populators: {\n name: \"accountName\",\n validation: {\n required: true,\n pattern: /^[A-Za-z]+( [A-Za-z]+)*$/,\n maxLength: 50,\n },\n error: \"ERR_ACCOUNT_NAME_REQUIRED\",\n },\n infoMessage:\"SANDBOX_SIGNUP_ACCOUNT_NAME_TOOLTIP\"\n },\n {\n isMandatory: false,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"SandboxSignUp\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n bannerImages: [{\n id: 1,\n image: 'https://images.unsplash.com/photo-1746277121508-f44615ff09bb',\n title: 'A digital partner for frontline workers',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio nobis temporibus provident expedita consequuntur, repudiandae pariatur! Deleniti molestias vero, cumque vel error labore ipsam totam?\"\n },\n {\n id: 2,\n image: 'https://images.unsplash.com/photo-1581094271901-8022df4466f9',\n title: 'Feature 2 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 3,\n image: 'https://images.unsplash.com/photo-1624555130581-1d9cca783bc0',\n title: 'Feature 3 Title',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate aut autem aperiam et modi saepe obcaecati doloremque voluptatem iusto quidem!\"\n },\n {\n id: 4,\n image: 'https://images.unsplash.com/photo-1547481887-a26e2cacb5b2',\n title: 'Feature 4 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 5,\n image: 'https://images.unsplash.com/photo-1536782376847-5c9d14d97cc0',\n title: 'Feature 5 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 6,\n image: 'https://images.unsplash.com/photo-1490730141103-6cac27aaab94',\n title: 'Feature 6 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast, useCustomAPIMutationHook } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Login = ({ config: propsConfig, t, isDisabled }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n\n const navigate = useNavigate();\n\n const reqCreate = {\n url: `/tenant-management/tenant/_create`,\n params: {},\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onLogin = async (data) => {\n await mutation.mutate(\n {\n body: {\n tenant: {\n name: data.accountName,\n email: data.email,\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0]?.code ? `SANDBOX_SIGNUP_${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_SIGNUP_ERROR`,\n });\n },\n onSuccess: async (data) => {\n navigate({\n pathname: `/${window?.globalPath}/user/otp`,\n state: { email: data?.Tenants[0]?.email, tenant: data?.Tenants[0]?.code },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const onFormValueChange = (setValue, formData, formState) => {\n // Extract keys from the config\n const keys = config[0].body.map((field) => field.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || (key === \"check\" && value === false) || (key === \"captcha\" && value === false);\n });\n\n // Set disable based on the check\n setDisable(hasEmptyFields);\n };\n\n return isLoading || isStoreLoading ? (\n <Loader />\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={propsConfig?.texts?.secondaryButtonLabel}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className=\"sandbox-signup-form\"\n cardSubHeaderClassName=\"signupCardSubHeaderClassName\"\n cardClassName=\"signupCardClassName sandbox-onboarding-wrapper\"\n buttonClassName=\"buttonClassName\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast?.label)} onClose={closeToast} />}\n <div className=\"employee-login-home-footer\" style={{ backgroundColor: \"unset\" }}>\n <img\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default Login;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport { SignUpConfig as defaultSignUpConfig } from \"./config\";\nimport Login from \"./signUp\";\n\nconst SignUp = ({ stateCode }) => {\n const { t } = useTranslation();\n const [SignUpConfig, setSignUpConfig] = useState(defaultSignUpConfig);\n\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix\n });\n\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(\n stateCode,\n \"commonUiConfig\",\n [\"SignUpConfig\"],\n {\n select: (data) => ({\n config: data?.commonUiConfig?.SignUpConfig\n }),\n retry: false\n }\n );\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) {\n setSignUpConfig(mdmsData.config);\n } else {\n setSignUpConfig(defaultSignUpConfig);\n }\n }, [mdmsData, isLoading]);\n\n const SignUpParams = useMemo(\n () =>\n SignUpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [SignUpConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<Login config={SignUpParams[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default SignUp;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { BackLink, Button, Card, CardHeader, CardLabel, CardText, FieldV1, SVG, TextInput } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ViewUrl = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { tenant } = location.state || {};\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime:0,\n gcTime:0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n const handleCopyUrl = () => {\n navigator.clipboard.writeText(ref.current.value);\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <Card className=\"card-sandbox\">\n <Header showTenant={false} />\n <div className=\"sandbox-success-signup\">\n <SVG.TickMark fill={\"#fff\"} height={30} width={70} />\n </div>\n <CardHeader className=\"cardHeader-sandbox\" styles={{ color: \"#00703c\" }}>\n {t(\"SANDBOX_HEADER\")}\n </CardHeader>\n <CardText className=\"cardText-sandbox\">{t(\"SAMDBOX_URL_SUB\")}</CardText>\n <CardLabel> {t(\"SANDBOX_URL\")} </CardLabel>\n <div className=\"sandbox-url-wrapper\">\n <TextInput\n inputRef={ref}\n className={\"urlInputText\"}\n onChange={() => {}}\n nonEditable={true}\n value={`${window.location.host}/${window?.globalPath}/${tenant}/employee`}\n />\n <Button className=\"copyButton\" variation={\"secondary\"} onClick={() => handleCopyUrl()} label={t(\"COPY_URL\")}></Button>\n </div>\n <div className=\"sandbox-url-footer\">{t(\"SANDBOX_URL_FOOT\")}</div>\n <Button isDisabled={buttonDisabled} onClick={onButtonClick} label={t(\"SIGN_IN\")}></Button>\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nexport default ViewUrl;\n","import React from \"react\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"./DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-change-password\" */ \"../pages/employee/ChangePassword/index\"),\n () => require(\"../pages/employee/ChangePassword/index\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-forgot-password\" */ \"../pages/employee/ForgotPassword/index\"),\n () => require(\"../pages/employee/ForgotPassword/index\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst AppHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-home\" */ \"./Home\").then(module => ({ default: module.AppHome })),\n () => require(\"./Home\").AppHome,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes?.map?.((item) => item.code).includes(tenant.code));\n};\n\nexport const AppModules = ({ stateCode, userType, modules, appTenants, additionalComponent }) => {\n const location = useLocation();\n const user = Digit.UserService.getUser();\n\n if (!user || !user?.access_token || !user?.info) {\n return <Navigate to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }} replace />;\n }\n\n // Create app routes with dynamic module loading and loading states\n const appRoutes = modules?.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType={userType}\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n return (\n <div className=\"ground-container digit-home-ground\">\n <Routes>\n {appRoutes}\n <Route\n path=\"login\"\n element={\n <Navigate\n to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }}\n replace\n />\n }\n />\n <Route path=\"forgot-password\" element={<ForgotPassword />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"*\"\n element={\n <AppHome\n userType={userType}\n modules={modules}\n additionalComponent={additionalComponent}\n />\n }\n />\n </Routes>\n </div>\n );\n};","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate, Navigate } from \"react-router-dom\";\nimport { AppModules } from \"../../components/AppModules\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport { PrivateRoute } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport withAutoFocusMain from \"../../hoc/withAutoFocusMain\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-change-password\" */ \"./ChangePassword\"),\n () => require(\"./ChangePassword\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-forgot-password\" */ \"./ForgotPassword\"),\n () => require(\"./ForgotPassword\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-language-selection\" */ \"./LanguageSelection\"),\n () => require(\"./LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst EmployeeLogin = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-otp\" */ \"./Otp\"),\n () => require(\"./Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"user-profile\" */ \"../citizen/Home/UserProfile\"),\n () => require(\"../citizen/Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst userScreensExempted = [\"user/landing\", \"user/profile\", \"user/error\", \"user/productPage\"];\n\nconst EmployeeApp = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname, // This prop seems unused, consider removing\n initData,\n noTopBar = false,\n}) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const showLanguageChange = location?.pathname?.includes(\"language-selection\");\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n\n useEffect(() => {\n Digit.UserService.setType(\"employee\");\n }, []);\n\n const additionalComponent = initData?.modules?.filter((i) => i?.additionalComponent)?.map((i) => i?.additionalComponent);\n\n return (\n <div className=\"employee\">\n <Routes>\n <Route path=\"user/*\" element={\n <>\n {isUserProfile && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showSidebar={isUserProfile ? true : false}\n showLanguageChange={!showLanguageChange}\n />\n )}\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile\n ? { padding: 0, paddingTop: \"0\", marginLeft: mobileView ? \"0\" : \"0\" }\n : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path=\"login\" element={<EmployeeLogin stateCode={stateCode} />} />\n <Route path=\"login/otp\" element={<Otp isLogin={true} />} />\n <Route path=\"forgot-password\" element={<ForgotPassword stateCode={stateCode} />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"profile\"\n element={ <UserProfile stateCode={stateCode} userType={\"employee\"} cityDetails={cityDetails} />}\n />\n <Route\n path=\"error\"\n element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n }\n />\n <Route path=\"language-selection\" element={<LanguageSelection />} />\n <Route path=\"*\" element={<Navigate to=\"language-selection\" replace />} />\n </Routes>\n </div>\n </>}\n />\n\n <Route path=\"*\" element={\n <>\n {!noTopBar && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n modules={modules}\n />\n )}\n <div className={!noTopBar ? `main digit-home-main` : \"\"}>\n <div className=\"employee-app-wrapper digit-home-app-wrapper\">\n <ErrorBoundary initData={initData}>\n <AppModules\n stateCode={stateCode}\n userType=\"employee\"\n modules={modules}\n appTenants={appTenants}\n additionalComponent={additionalComponent}\n />\n </ErrorBoundary>\n </div>\n <div className=\"employee-home-footer\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.1em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n </>\n }/>\n\n <Route path=\"*\" element={<Navigate to={`user/language-selection`} replace />} />\n </Routes>\n </div>\n );\n};\n\nexport default withAutoFocusMain(EmployeeApp, \".digit-home-main\");","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n var mql;\n\n // matchMedia will return null in FF when it's called in a hidden iframe\n // ref: https://stackoverflow.com/a/12330568\n if(dynamicMatch && !forceStatic) mql = dynamicMatch.call(window, query);\n\n if (mql) {\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","/* 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","module.exports = __WEBPACK_EXTERNAL_MODULE__6243__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5053__;","module.exports = __WEBPACK_EXTERNAL_MODULE__338__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4456__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4883__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5953__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2148__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4442__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2247__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7122__;","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst 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\tconst 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\tconst 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};","// wrap a concatenated module body as a lazy, memoized accessor; mod is\n// set before the body runs so re-entrant calls (require cycles) observe\n// the partial exports like Node.js\n__webpack_require__.cw = (body) => {\n\tvar mod;\n\treturn () => {\n\t\tif (body) {\n\t\t\tvar fn = body;\n\t\t\tbody = 0;\n\t\t\tmod = { exports: {} };\n\t\t\tfn.call(mod.exports, mod, mod.exports);\n\t\t}\n\t\treturn mod.exports;\n\t};\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tvar descriptor = binding === 0 ? { enumerable: true, value: definition[i++] } : { enumerable: true, get: binding };\n\t\t\tif(!__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, descriptor);\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\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\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"CORE_LOADING_CITIZEN_APP\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"CORE_LOADING_EMPLOYEE_APP\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"CORE_LOADING_SIGN_UP\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"CORE_LOADING_VIEW_URL\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"CORE_LOADING\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>•</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'}}>•</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 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 from \"react\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeSSOLoginOptions = ({ t, props }) => {\n const { ssoConfigs = [] } = props || {};\n\n if (!ssoConfigs?.length) {\n return null;\n }\n\n const hasMultipleOptions = ssoConfigs.length > 1;\n\n return (\n <div className=\"employee-login-sso\">\n <div className=\"employee-login-sso-divider\">\n <span>{hasMultipleOptions ? t(\"CORE_COMMON_OR_SIGN_IN_WITH\") : t(\"CORE_COMMON_OR\")}</span>\n </div>\n {hasMultipleOptions ? (\n <div className=\"employee-login-sso-icons\">\n {ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label=\"\"\n variation=\"secondary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-icon ${sso.provider?.toLowerCase() || \"provider\"}-login-icon`}\n onClick={() => sso.onLogin?.(sso)}\n title={t(sso.label)}\n ariaLabel={t(sso.label)}\n style={{width:\"100%\"}}\n />\n ))}\n </div>\n ) : (\n ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label={t(sso.label)}\n variation=\"primary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-button ${sso.provider?.toLowerCase() || \"provider\"}-login-btn`}\n onClick={() => sso.onLogin?.(sso)}\n style={{width:\"100%\"}}\n />\n ))\n )}\n </div>\n );\n};\n\nexport default EmployeeSSOLoginOptions;\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\";\nimport EmployeeSSOLoginOptions from \"./components/EmployeeSSOLoginOptions\";\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 modulePrefix = window?.globalConfigs?.getConfig(\"CORE_UI_MODULE_LOCALE_PREFIX\") || \"rainmaker\";\n const { isLoading, data: initData={} } = Digit.Hooks.useInitStore(stateCode, enabledModules, modulePrefix);\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 if(!Digit.ComponentRegistryService.getComponent(\"EmployeeSSOLoginOptions\")){\n Digit.ComponentRegistryService.setComponent(\"EmployeeSSOLoginOptions\", EmployeeSSOLoginOptions);\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 EmployeeSSOLoginOptions\n};\n\nexport const initCoreComponents = () => {\n // Ensure hooks introduced in newer libraries versions are always available.\n // Old deployments (e.g. digit-ui-libraries@1.8.8) won't have useSSOConfig,\n // so we register a no-op fallback so login.js never crashes with \"not a function\".\n if (!Digit.Hooks.useSSOConfig) {\n Digit.Hooks.useSSOConfig = () => ({ data: [], isLoading: false });\n }\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, 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","undefined","this","__WEBPACK_EXTERNAL_MODULE__6243__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","__WEBPACK_EXTERNAL_MODULE__7122__","_ref","children","_jsx","className","stringReplaceAll","str","arguments","length","searcher","replaceWith","_str","includes","_str2","replace","prop","_selectCityData$","_stringReplaceAll2","_useState2","_slicedToArray","useState","dropDownData","setDropDownData","_useState4","selectCityData","setSelectCityData","_useState6","navigate","useNavigate","isMultiRootTenant","dropdown","Digit","Utils","getMultiRootTenant","useEffect","_userloggedValues$inf","userloggedValues","SessionStorage","get","teantsArray","filteredArray","info","roles","forEach","role","push","tenantId","unique","filter","item","i","ar","indexOf","uniCode","_stringReplaceAll","label","concat","toUpperCase","value","select","style","mobileView","color","CardText","Dropdown","t","option","selected","find","cityValue","optionKey","showArrow","city","_Digit$SessionStorage","_window$location","_window","loggedInData","filteredRoles","set","UserService","setUser","window","location","href","contextPath","_location$state","_window2","redirectPath","state","from","reload","error","console","warn","freeze","customSelector","_languages$find","isDropdown","_Digit$Hooks$useStore","Hooks","useStore","getInitData","storeData","data","isLoading","languages","stateInfo","useTranslation","selectedLanguage","StoreData","getCurrentLanguage","setselected","handleChangeLanguage","language","LocalizationService","changeLanguage","code","_jsxs","React","marginBottom","map","index","Button","onClick","variation","props","useLocation","config","imgUrl","infoHeader","infoMessage","buttonInfo","action","globalPath","Background","Card","Header","showTenant","CardHeader","isSuffix","e","preventDefault","onSelect","onCancel","onDismiss","PopupStyles","isDisabled","hideSubmit","footer","type","size","formId","footerWithoutSubmit","PopUp","heading","footerChildren","sortFooterButtons","onClose","onOverlayClick","equalWidthButtons","DummyLoaderScreen","currentStep","setCurrentStep","tenant","steps","stepInterval","setInterval","prev","clearInterval","navigateTimeout","setTimeout","_window3","roleForLandingPage","getUserRoles","MdmsRes","pathname","RoleLandingUrl","clearTimeout","useRef","setButtonDisabled","useCustomMDMS","name","enabled","staleTime","cacheTime","_data$SandBoxLanding","url","_getUserRoles$","some","page","rolesForLandingPage","step","CheckCircle","fill","moduleCode","stateCode","userType","tenants","_ref$maxRetries","maxRetries","_ref$retryDelay","retryDelay","_ref$initialDelay","initialDelay","loading","retryCount","initialDelayComplete","moduleState","setModuleState","retryTimeout","initialTimeout","loadModule","_ref2","Module","ComponentRegistryService","getComponent","_objectSpread","delay","Math","pow","message","apply","loadingText","defaultValue","Loader","variant","loaderText","textAlign","marginTop","Navigate","to","encodeURIComponent","Redircter","getType","path","currentHref","navigationError","replaceError","ErrorBoundary","constructor","super","errorStack","hasError","getDerivedStateFromError","stack","componentDidCatch","errorInfo","setState","render","ErrorComponent","initData","errorData","goToHome","_Digit","_Digit$getType","call","__WEBPACK_DEFAULT_EXPORT__","ErrorConfig","maintenance","notfound","ModuleBasedErrorConfig","sandbox","_props$errorData","_Digit$Hooks$useQuery2","useQueryParams","ImageComponent","src","alt","_props$errorData2","_props$goToHome","_stateInfo$code","_ref$showTenant","headerSvgSecondaryUrl","globalConfigs","getConfig","logoUrl","borderRight","fontSize","Components","RoleBasedEmployeeHome","modules","additionalComponent","_Object$keys","sortedConfigEmployeesSidebar","_Digit$Hooks$useAcces","useAccessControl","ULBService","getStateId","mdmsOrderData","setMdmsOrderData","_Digit$Hooks$useCusto","_data$HomeScreenOrder","_Digit$Hooks$useCusto2","moduleConfigData","getLinkByType","moduleData","moduleConfig","moduleName","linkKey","links","displayName","getFilteredLinks","_moduleData$links","isNotConfigureMaster","isNotHowItWorks","howItWorksLink","isNotUserManual","userManualLink","configEmployeeSideBar","actions","parentModule","reduce","acc","kpis","icon","leftIcon","iconRender","iconName","iconFill","CustomSVG","digit_ui_components_","locale","getTransformedLocale","linkUrl","_url","transformURL","navigationURL","queryParamIndex","link","queryParams","substring","Object","keys","sort","a","b","_mdmsOrderData$find","_mdmsOrderData$find2","moduleType","order","_configEmployeeSideBa","sortedLinks","linkA","linkB","_mdmsOrderData$find3","_mdmsOrderData$find4","labelA","labelB","sortCardAndLink","current","_sortedConfigEmployee","_moduleData$links2","configureData","howItWorks","userManual","propsForModuleCard","metrics","centreChildren","open","padding","endChildren","LandingPageCard","buttonSize","_Fragment","LandingPageWrapper","child","FaqComponent","question","isLabelLink","answer","content","lastIndex","isOpen","toggleOpen","ListTag","justifyContent","display","float","ArrowForward","CardSectionSubText","listStyleType","margin","fulllink","baseURL","hostname","description","CardC","title","CardSectionHeader","FAQ","key","faqs","width","faq","QuickStart_QuickSetup","_ref3","cardConfig","height","overflowY","flexWrap","id","BreakLine","border","Config","formData","control","formState","_objectWithoutProperties","_excluded","QuickSetup","processLinkData","newData","obj","i18nKey","newObj","reverse","header","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","iconSelector","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","CitizenHome","getCitizenMenu","fetchedCitizen","isMobile","browser","parentModules","isApplyLink","toLowerCase","_mdmsDataObj$links","_mdmsDataObj$links2","mdmsDataObj","seenLinks","Set","dedupedLinks","ele","x","y","orderNumber","has","add","borderRadius","Devices","Divider","LinkIcon","handleNavigate","SVG","AddExpense","ListAlt","Boolean","BackLink","history","back","_mdmsDataObj$links3","_mdmsDataObj$links4","handleLinkClick","EmployeeHome","_ref4","Component","AppHome","_ref5","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","QuickSetupConfigComponent","_ref$alt","_ref$decorative","decorative","_ref$ariaLabel","ariaLabel","_ref$ariaLabelledby","ariaLabelledby","accessibilityProps","tabIndex","onKeyDown","_window$getConfig","focus","propTypes","PropTypes","isRequired","TopBarSideBar_TopBar","_userDetails$info2","_Digit$ComponentRegis","_userDetails$info3","_userDetails$info4","_window4","_cityDetails$city","_cityDetails$city2","toggleSidebar","isSidebarOpen","handleLogout","userDetails","CITIZEN","cityDetails","userOptions","handleUserDropdownSelection","logoUrlWhite","_ref$showLanguageChan","showLanguageChange","_React$useState2","profilePic","setProfilePic","app","_userDetails$info","getCurrentTenantId","uuid","usersResponse","userSearch","user","_userDetails$photo","thumbs","photo","split","at","_Digit$UserService","_Digit$UserService2","CitizenHomePageTenantId","getCitizenCurrentTenant","_Digit$Hooks$useNotif","useNotificationCount","getUser","_Digit$Hooks$useNotif2","unreadNotificationCount","unreadCount","notificationCountLoaded","isSuccess","TopBarComponent","img","updateSidebar","clikOusideFired","onLogout","notificationCount","cityOfCitizenShownBesideLogo","onNotificationIconClick","hideNotificationIconOnSomeUrlsWhenNotLoggedIn","_Digit$UserService3","access_token","urlsToDisableNotificationIcon","ChangeLanguage","loggedin","CustomEmployeeTopBar","TopBarComponentMain","actionFields","ChangeCity","userInfo","menuStyles","theme","onHamburgerClick","logoWidth","logoHeight","logo","logoId","statelogo","onImageClick","onLogoClick","showDeafultImg","ulb","ulbGrade","defaultImage","sidebar_menu","SideBarMenu","closeSidebar","redirectToLoginPage","isEmployee","element","text","LogoutIcon","populators","Profile","stateName","mobileNumber","emailId","IconsObject","CommonPTIcon","propertyIcon","PropertyHouse","CaseIcon","WSIcon","CollectionIcon","BirthIcon","DeathIcon","FirenocIcon","HomeIcon","EditPencilIcon","Phone","SideBar_StaticCitizenSideBar","_user$info","_menuItems","linkData","islinkDataLoading","isFetched","showDialog","setShowDialog","handleOnCancel","showProfilePage","menuItems","profileItem","_window5","_window6","_storeData$tenants","_storeData$tenants$fi","_storeData$tenants$","_storeData$tenants$fi2","_storeData$tenants$2","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_window7","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","top","backgroundColor","pointerzevents","flexDirection","zIndex","LogoutDialog","handleOnSubmit","logout","CitizenSideBar","_menuItems2","_menuItems3","_user$info2","_user$info3","_user$info4","_ref3$isMobile","_ref3$isEmployee","userProfile","isDigitStudio","search","_useState8","_useState0","_useState10","fetchUserProfile","_asyncToGenerator","_usersResponse$user2","_usersResponse$user3","userData","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","styles","hideUserManuals","profile","isSearchable","_ref7","_ref6","_window8","_window9","parentIndex","handleChangeCity","onItemSelect","StaticCitizenSideBar","SideBar_EmployeeSideBar","EmployeeSideBar","extractLeftIcon","Array","isArray","subResult","mergeObjects","obj1","obj2","hasOwnProperty","_item$path","_item$path2","hierarchicalMap","sortDataByOrderNumber","Infinity","transformedData","transformItem","navigationUrl","childKey","iconKey","transformData","objectArray","entries","fromEntries","splitKeyValue","sortedTransformedData","MediaQuery","minWidth","SideNav","hideAccessbilityTools","test","hostUrl","origin","fallbackError","navigateToRespectiveURL","expandedWidth","collapsedWidth","onBottomItemClick","TopBarSideBar_SideBar","components_TopBarSideBar","_ref$showSidebar","showSidebar","handleSSOLogout","provider","localStorage","getItem","normalizedProvider","logoutUrlFromConfig","redirectParamName","token","_window$google","google","accounts","disableAutoSelect","fetch","method","headers","removeItem","postLogoutRedirectUri","URL","searchParams","toString","handleSidebar","func","TopBar","SideBar","WrappedComponent","mainSelector","handleFirstTab","main","document","querySelector","setAttribute","outline","removeEventListener","addEventListener","callback","savedCallback","timer","useLoginConfig","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","FAQs_FaqComponent","FAQs","_data$MdmsRes$common","_Digit$Hooks$useGetFA","useGetFAQsJSON","moduleFaqs","Fragment","BackButton","marginLeft","HeaderComponent","paddingTop","LanguageSelection","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","texts","useMemo","submitBarLabel","RadioButtonProps","options","optionsKey","additionalWrapperClass","selectedOption","PageBasedInput","onSubmit","RadioButtons","LocationSelection","uiHomePage","redirectURL","_Digit$Hooks$useTenan","useTenants","cities","selectedCity","setSelectedCity","showError","setShowError","selectCity","redirectBackTo","SearchOnRadioButtons","placeholder","CardLabelError","ImageUpload_UploadDrawer","closeDrawer","removeProfilePic","showToast","setUploadedFile","file","setFile","setError","_response$data","response","UploadServices","Filestorage","files","_response$data2","fileStoreId","err","position","left","right","bottom","onOverlayBodyClick","alignItems","flex","gap","for","cursor","GalleryIcon","accept","onChange","target","removeimg","RemoveIcon","DEFAULT_TENANT","_Digit$getStateId","defaultValidationConfig","UserProfileValidationConfig","password","Home_IndividualUserProfile","_Digit$UserService$ge","_mdmsValidationData$U2","_defaultValidationCon","_errors$userName","_errors$emailAddress","_mdmsValidationData$U3","_defaultValidationCon2","_errors$userName2","_mdmsValidationData$U4","_defaultValidationCon3","_errors$mobileNumber","_errors$emailAddress2","_mdmsValidationData$U5","_defaultValidationCon4","_errors$currentPasswo","_mdmsValidationData$U6","_defaultValidationCon5","_errors$newPassword","_mdmsValidationData$U7","_defaultValidationCon6","_errors$confirmPasswo","stateId","setUserDetails","setName","email","setEmail","gender","setGender","permanentCity","setCity","setMobileNo","_useState12","_useState14","profileImg","setProfileImg","_useState16","openUploadSlide","setOpenUploadSide","_useState18","changepassword","setChangepassword","_useState20","currentPassword","setCurrentPassword","_useState22","newPassword","setNewPassword","_useState24","confirmPassword","setConfirmPassword","_useState26","toast","setToast","_useState28","setLoading","innerWidth","windowWidth","setWindowWidth","_React$useState4","errors","setErrors","individualServicePath","mapConfigToRegExp","_config$UserProfileVa","startsWith","lastIndexOf","lastSlashIndex","pattern","slice","flags","RegExp","_useState30","validationConfig","setValidationConfig","commonUiConfig","mdmsValidationData","isValidationConfigLoading","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","_response$Individual","CustomService","getResponse","useCache","userService","params","limit","offset","body","Individual","userUuid","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","userName","setUserEmailAddress","emailAddress","duration","updateProfile","_userDetails$name","_userDetails$name2","_responseInfo","trim","JSON","stringify","responseInfo","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","individualPayload","givenName","familyName","otherNames","isDeleted","isSystemUser","isSystemUserActive","ResponseInfo","status","requestData","existingPassword","username","changePasswordResponseInfo","changePassword","_error$Errors","_error$response","Errors","errorObj","parse","_error$response2","_error$Errors2","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","thumbnails","getThumbnails","_x","ids","res","Filefetch","fileStoreIds","o","images","getFileUrl","_x2","_x3","BreadCrumb","crumbs","internalLink","show","boxShadow","background","maxWidth","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","CardLabel","TextInput","isMandatory","disable","ErrorMessage","truncateMessage","maxLength","wrapperClassName","showIcon","disabled","borderBottom","MobileNumber","_validationConfig$mob","setUserMobileNumber","required","getOTPBasedLogin","TogleforPassword","paddingLeft","eventOrValue","_eventOrValue$target$","_eventOrValue$target","_eventOrValue$target$2","_eventOrValue$target2","_eventOrValue$target$3","_eventOrValue$target3","fontWeight","Footer","SubmitBar","setactionFieldsToRight","Toast","UploadDrawer","Home_UserProfile","useAnIndividual","IndividualUserProfile","handleResize","_yield$Digit$UserServ","updateUser","Home","_window3$includes","_window4$includes","_citizenServicesObj$s","_citizenServicesObj$p","_citizenServicesObj$p3","_citizenServicesObj$p5","_citizenServicesObj$p7","_infoAndUpdatesObj$si","_infoAndUpdatesObj$pr","_infoAndUpdatesObj$pr3","_infoAndUpdatesObj$pr5","_infoAndUpdatesObj$pr7","_whatsNewSectionObj$s2","conditionsToDisableNotificationCountTrigger","_Digit$Hooks$useEvent","useEvents","EventsData","EventsDataLoading","appBannerWebObj","appBannerDesktop","appBannerMobObj","appBannerMobile","citizenServicesObj","citizenServicesCard","infoAndUpdatesObj","informationAndUpdatesCard","whatsAppBannerWebObj","whatsAppBannerDesktop","whatsAppBannerMobObj","whatsAppBannerMobile","whatsNewSectionObj","whatsNewSection","handleClickOnWhatsAppBanner","allCitizenServicesProps","headerLabel","sideOption","_citizenServicesObj$s2","Icon","ComplaintIcon","_citizenServicesObj$p2","_citizenServicesObj$p4","_citizenServicesObj$p6","_citizenServicesObj$p8","allInfoAndUpdatesProps","_infoAndUpdatesObj$si2","_infoAndUpdatesObj$pr2","Calender","_infoAndUpdatesObj$pr4","DocumentIcon","_infoAndUpdatesObj$pr6","_infoAndUpdatesObj$pr8","bannerUrl","CardBasedOptions","_whatsNewSectionObj$s","WhatsNewCard","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","xmlns","d","_Digit$Hooks$useGetHo","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","CustomButton","videosJson","videos","onClickVideo","vidObj","pdfHeader","pdfDesc","PDFSvg","DownloadImgIcon","CloseSvg","controls","autoPlay","otp","onOtpChange","onResend","_ref$userType","canSubmit","timeLeft","setTimeLeft","useInterval","handleResendOtp","OTPInput","FormStep","loginSteps","cardText","nextText","inputs","validation","minlength","maxlength","Login_SelectMobileNumber","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","Login_SelectName","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","Login_IndividualLogin","_ref$isUserRegistered","isUserRegistered","isOtpValid","setIsOtpValid","setParams","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","_location$state2","setCitizenDetail","userObject","_JSON$parse","sessionStorage","setItem","stepItems","selectMobileNumber","_yield$sendOtp2","sendOtp","selectName","registerURL","IndividualRegister","requestType","auth","Error","selectOtp","authenticate","UserRequest","tokens","resendOtp","_yield$sendOtp4","AppContainer","Routes","Route","SelectMobileNumber","event","showRegisterLink","SelectOtp","SelectName","TYPE_REGISTER","citizen_Login","_location$state7","IndividualLogin","_location$state4","_location$state3","_location$state5","_yield$sendOtp6","_location$state6","roleInfo","userRole","otpReference","_yield$Digit$UserServ2","registerUser","_excluded2","_yield$sendOtp0","_yield$sendOtp8","isCitizenDesktop","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","getEventValue","checked","isNameInFieldArray","names","getNodeParentName","isWeb","HTMLElement","cloneObject","copy","Blob","FileList","tempObject","prototypeCopy","prototype","isPlainObject","compact","isUndefined","val","object","result","isBoolean","isKey","stringToPath","input","tempPath","newValue","objValue","isNaN","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","external_React_","createContext","useFormContext","useContext","getProxyFormState","localProxyFormState","isRoot","defaultValues","_defaultValues","defineProperty","_key","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","subject","subscribe","next","unsubscribe","isString","generateWatchOutput","_names","formValues","isGlobal","watch","fieldName","watchAll","Controller","methods","shouldUnregister","isArrayField","array","_name","_subjects","values","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","isValid","_updateFormState","_updateValid","useFormState","_registerProps","register","rules","_shouldUnregisterField","_options","updateMounted","field","_fields","_f","mount","_state","unregister","_updateDisabledField","fields","useCallback","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","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","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","defaultChecked","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","context","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","setValue","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","Number","shouldSkipValidation","deps","skipValidation","watched","previousErrorLookupResult","errorLookupResult","previousFieldError","delayError","updateErrors","wait","updatedFormState","shouldRenderByError","_focusInput","fieldNames","executeSchemaAndUpdateState","Promise","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","then","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","Search_SearchFields","previousPage","SearchField","DatePicker","date","Search_MobileSearchApplication","_data$roles","tabledata","settabledata","DownloadBtn","DownloadBtnCommon","returnObject","convertEpochToDate","timestamp","convertEpochToTimeInHours","dataView","dataViewedBy","dateEpoch","dateFromApi","month","getMonth","day","getDate","year","getFullYear","hour","getHours","getMinutes","period","_useReducer2","useReducer","currentlyActiveMobileModal","setActiveMobileModal","closeMobilePopupModal","MobilePopUpCloseButton","searchFormFieldsComponentProps","CurrentMobileModalComponent","SearchForm","SearchFormFields","MobileComponentDirectory","propsMobileInboxCards","_data$roles$slice","tabData","Download","Excel","handleExcelDownload","SearchAction","handleActionClick","DetailsCard","Search","count","_useForm","_formControl","_values","useForm","sortOrder","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","Table","totalRecords","getCellProps","cellInfo","column","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","SearchApp","_data$ElasticSearchDa","_data$ElasticSearchDa2","setPayload","convertDateToEpoch","dateString","dayStartOrEnd","parts","DateObj","UTC","setMinutes","getTimezoneOffset","setHours","setSeconds","getSeconds","storedPayload","k","_Digit$Hooks$useAudit","useAudit","filters","AuditSearchApplication","_data","sortBy","fromDate","toDate","ElasticSearchData","_mdmsData$MdmsRes$com","_mdmsConfigResult$hel","_mdmsConfigResult$hel2","_mdmsConfigResult$hel3","_mdmsConfigResult$hel4","_mdmsConfigResult$hel5","_mdmsConfigResult$hel6","_staticData","_staticData2","_staticData3","_staticData4","_staticData5","_staticContent","_staticContent2","_staticContent3","_Digit$Hooks$useStati","useStaticData","isMdmsLoading","mdmsData","_Digit$Hooks$useDynam","useDynamicData","isSearchLoading","dynamicData","IconComponent","StaticData","StaticDataIconComponentOne","TimerIcon","StaticDataIconComponentTwo","RupeeSymbol","staticContent","staticCommonContent","validity","staticData","staticDataOne","staticDataOneHeader","staticDataTwo","staticDataTwoHeader","payViaWhatsApp","handleClickOnWhatsApp","WhatsappIconGreen","helpline","HelpLineIcon","contactOne","contactTwo","serviceCenter","ServiceCenterIcon","viewMapLocation","dynamicDataOne","dynamicDataTwo","ValidityTimeIcon","SideBar_CitizenSideNav","isLoggedIn","handleLogoutCancel","buildItems","orderCounter","cityChildren","currentCityLabel","_moduleEntries$","moduleEntries","entry","_entry$sidebar","endsWith","seen","navigateToUrl","_loggedInData$info","enableSearch","handleLogoutSubmit","lazyWithFallback","resolve","__webpack_require__","FAQsSection","UserProfile","HowItWorks","Login","StaticDynamicCard","sidebarHiddenFor","getTenants","codes","citizen","_Digit$ComponentRegis2","_Digit$ComponentRegis3","_window7$getConfig","DSO","appTenants","sourceUrl","_data$ACCESSCONTROLA","el","_a$b$parentModule","isLinkDataFetched","classname","useRouteSubscription","hideSidebar","CitizenLandingPage","ServiceLandingPage","ServiceActionsPage","appRoutes","DynamicModuleLoader","ModuleLevelLinkHomePages","bannerImage","CitizenHomeCard","Info","CitizenInfoLabel","isInfo","TopBarSideBar","CitizenSideNav","_window8$getConfig","ChangePasswordComponent","_window3$getConfig","propsConfig","_Digit$Hooks$useQuery","mobile_number","USERNAME","userIdentifier","setOtp","setShowToast","getUserType","setType","closeToast","onResendOTP","_err$response","error_description","onChangePassword","navigateToLogin","_err$response2","_propsConfig$inputs","FormComposer","noBoxShadow","inline","submitInForm","submitButtonLabel","cardStyle","CardSubHeader","_window4$getConfig","loginParams","defaultProps","ChangePassword","EmployeeChangePassword","loginConfig","ForgotPassword","_window6$getConfig","_mdmsData$config$","bannerImages","onForgotPassword","alert","Carousel","FormComposerV2","secondaryActionLabel","secondaryButtonLabel","onSecondayActionClick","headingStyle","descriptionStyles","secondaryActionId","_window5$getConfig","forgotPassword","employee_ForgotPassword","ForgotPasswordComponent","defaultLanguage","_Digit$getDefaultLang","getDefaultLanguage","_loginMdmsData$config","_defaultLanguages","_window2$getConfig","loginMdmsData","loginScreenConfig","defaultLoginConfig","defaultLanguages","isChangingLanguage","setIsChangingLanguage","getLocale","hasMultipleLanguages","now","_loginConfig$","_ref$bannerImages","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","mdmsConfig","masterName","localePrefix","component","customProps","renderAfterSubmit","LoginOtpConfig","Dialog_ForgotPasswordDialog","buttonLabel","DEFAULT_FORGOT_PASSWORD_POPUP","_Digit2","_config$","_config$2","_forgotScreenConfig$p","_forgotScreenConfig$p2","_forgotScreenConfig$p3","_forgotScreenConfig$p4","_forgotScreenConfig$p5","_forgotScreenConfig$p6","loginOTPBased","isStoreLoading","_Digit$Hooks$useSSOCo","useSSOConfig","_data$MdmsRes","_data$SSO","IdentityProviders","ssoMDMSData","setDisable","loginLoader","setLoginLoader","showForgotPasswordPopup","setShowForgotPasswordPopup","forgotScreenConfig","forgotPasswordScreen","DynamicLoginComponent","hashParams","URLSearchParams","hash","idToken","accessToken","errorDescription","handleDigitLogin","microsoftAuthenticate","catch","_user$info5","_user$info6","setEmployeeDetail","decodeURIComponent","Authorization","grant_type","scope","assertion","ok","_parsed","_parsed2","_parsed3","_parsed4","parsed","raw","json","replaceState","onSSOLogin","ssoConfig","ui","hasOidcConfig","authorizeUrl","clientId","authStrategy","onOIDCLogin","resource","logoutUrl","logoutRedirectParam","authority","uiConfig","_ref5$scopes","scopes","_ref5$responseType","responseType","_ref5$responseMode","responseMode","_ref5$nonceRequired","nonceRequired","_ref5$redirectPath","prompt","nonce","random","redirectUri","forcePromptLogin","buildOIDCAuthorizeUrl","onLogin","_ref8","_requestData$city","_excluded3","_x4","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_ref9","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","onSuccess","_Digit4","_x6","_x5","_window0","defaultTenant","ssoConfigs","sso","_sso$ui","_sso$ui2","_sso$ui3","_sso$ui4","_sso$ui5","_sso$ui6","_field$populators","_field$populators2","onFormValueChange","hasEmptyFields","renderLoginForm","_propsConfig$texts","_propsConfig$texts2","_propsConfig$texts3","_propsConfig$texts4","extraClasses","cardClassName","wrapperClass","cardSubHeaderClassName","buttonClassName","renderFooter","footerClassName","_window1","_window1$getConfig","_window10","_window10$getConfig","ForgotPasswordDialog","popupFields","login","withAutoFocusMain","employee_Login","setloginConfig","defaultLoginOtpConfig","loginOtpConfig","loginType","_useLoginConfig","Services","modulePrefix","loginOtpParams","LoginComponent","_ref$isLogin","isLogin","OtpConfig","redirectPathOtpLogin","getRedirectPathOtpLogin","locationPathname","_MdmsRes$","isSuperUser","_formData$OtpComponen","OtpComponent","formValue","_otpValue$otp","otpValue","SignUpConfig","accountName","_data$Tenants$","_data$Tenants$2","Tenants","signUp","employee_SignUp","defaultSignUpConfig","setSignUpConfig","_Digit$Hooks$useCommo","_data$commonUiConfig","SignUpParams","ViewUrl","buttonDisabled","gcTime","TickMark","nonEditable","host","navigator","clipboard","writeText","onButtonClick","default","_codes$map","AppModules","EmployeeLogin","Otp","userScreensExempted","employee","_location$pathname","_initData$modules","_ref$noTopBar","noTopBar","isUserProfile","_location$pathname2","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","number","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","checkPropTypes","Y","mediaQuery","query","captures","RE_MEDIA_QUERY","modifier","expressions","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","staticMatch","css_mediaquery_namespaceFn","dynamicMatch","matchMedia","Mql","forceStatic","mql","self","update","evt","matches","media","addListener","listener","removeListener","dispose","uppercasePattern","msPattern","cache","toHyphenLower","hyphenate_style_name","hName","stringOrNumber","prop_types_default","esm_types","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","esm_type","featureMatchers","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","mq","Context","hyphenateKeys","useIsUpdate","useQuery","settings","getQuery","v","realKey","keyVal","toQuery","makeQuery","setQuery","newQuery","useMediaQuery","device","deviceSettings","deviceFromProps","deviceFromContext","getDevice","setDevice","newDevice","objA","objB","aKeys","bKeys","len","shallowEqualObjects","useDevice","getMatchMedia","matchmediaquery_default","setMq","isUpdate","newMq","useMatchMedia","setMatches","updateMatches","ev","useMatches","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","cw","mod","fn","definition","binding","descriptor","r","Symbol","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","_ref$defaultLanding","defaultLanding","_ref$allowedUserTypes","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_window11","_ref3$defaultLanding","_location","middleware","thunk","enhancer","composeEnhancers","compose","applyMiddleware","store","defaultStore","moduleReducers","createStore","getRootReducer","combineReducers","common","defaultData","components_PrivacyComponent","isChecked","setIsChecked","showPopUp","setShowPopUp","privacy","PrivacyPolicy","policy","_props$props","CheckBox","footerclassName","sortFooterChildren","contents","getElementById","scrollIntoView","behavior","isSpaceRequired","descriptions","subIndex","isBold","subDescriptions","subDesc","subSubIndex","components_EmployeeSSOLoginOptions","_ref2$ssoConfigs","hasMultipleOptions","_sso$provider","_sso$onLogin","_sso$provider2","_sso$onLogin2","DigitUIWrapper","_initData$stateInfo","_initData$stateInfo2","_initData$stateInfo3","enabledModules","_Digit$Hooks$useInitS","useInitStore","_Digit$Hooks$useInitS2","getStore","getI18n","setComponent","PrivacyComponent","EmployeeSSOLoginOptions","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","A","_props$props4","_props$props2","_props$props3","ForgotOrganizationTooltip","showTip","setShowTip","wrapperRef","handleClickOutside","contains","whiteSpace","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"sourceRoot":""}
|